热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LinuxUbuntu16.04下安装VScode编译ROSloam_velodyne全过程

一.安装VScode安装Ubuntumakesudoapt-getinstallubuntu-make安装VScodeumakeidevisual-studio-code中间会确认




一. 安装 VScode


  1. 安装Ubuntu make

sudo apt-get install ubuntu-make

  1. 安装VScode

umake ide visual-studio-code

  1. 中间会确认安装VScode,输入a即可
    在这里插入图片描述

  2. 确保安装可以重启

sudo reboot

  1. 运行VScode

cd ~/.local/share/umake/ide/visual-studio-code
./code

为了方便可以右键将其固定在启动器
在这里插入图片描述


二. loam_velodyne源码以及编译展示


  1. loam_velodyne 源码github地址
    loam_velodyne
  2. 港大老师改进版本
    a-loam
  3. loam_velodyne代码解析
    loam_velodyne代码解析1
    loam_velodyne代码解析2
    loam_velodyne中文注解版源码以及论文
  4. 编译 loam_velodyne(直接按照github上的操作就行)

#创建放程序的目录(自己可以随意选择创建,但需要有src文件夹)
mkdir -p ~/catkin_ws/src

#转到刚创建好的源文件下
cd ~/catkin_ws/src/

#克隆源码 方式一 (若失败则问题出在反代上,具体可百度。省时间先用第二种)
git clone https://github.com/laboshinl/loam_velodyne.git
#克隆源码 方式二
git clone git://github.com/laboshinl/loam_velodyne.git

#转到刚创建好的根目录下
cd ~/catkin_ws

#catkin_make (catkin_make其实就是 cmake .. make 两个步骤的缩写)
catkin_make -DCMAKE_BUILD_TYPE=Release

catkin_make 后此根目录就变为ROS工作空间,并且已经编译好源码,在此工作空间下就有build devel src三个文件

在这里插入图片描述

#将此工作空间的路径添加到环境变量下(此命令只对此打开的终端有效)
source ~/catkin_ws/devel/setup.bash

上述想要一劳永逸可以修改./bashrc 文件 (gedit可以换成你熟悉的文本编辑器如vim nano等)

sudo gedit ~/.bashrc

然后把上一步的路径添加到最后,保存退出

在这里插入图片描述


  1. 更新下

source ~/.bashrc

  1. 运行

roslaunch loam_velodyne loam_velodyne.launch

自动弹出RViz
在这里插入图片描述


  1. 在RViz 中按下 ctrol + o ,选择工作空间下的 src/loam_velodyne/rviz_cfg/loam_velodyne.rviz 文件
  2. 打开新终端 跑bag包

#这个是我自己的路径,使用时候换成自己的bag包路径
rosbag play ~/MyCode/testdata/nsh_indoor_outdoor.bag

回到RViz中,已经跑起来了
在这里插入图片描述


三. 通过VScode build loam_velodyne源码

若使用VScode进行ROS开发,也可以直接在上一步操作下直接打开文件


  1. VScode安装ROS插件
    在扩展中搜索ROS并安装,顺带安装C++
    在这里插入图片描述
    在这里插入图片描述

  2. 创建ROS工作空间

#创建工作空间
mkdir -p ~/Mycode/ros_test/src
cd ~/Mycode/ros_test/
#catkin_make
catkin_make
#添加路径到环境变量
sudo echo "source ~/Mycode/ros_test/devel/setup.bash" >> ~/.bashrc
#更新下
source ~/.bashrc

  1. 将源码放在工作空间下的src文件夹下
    在这里插入图片描述

  2. VScode 从文件打开工作区
    在这里插入图片描述

  3. 有如下文件(launch.json除外,此后在dug上用到)
    在这里插入图片描述

  4. 直接在终端中输入

catkin_make

在这里插入图片描述
编译若是报 Re-run cmake with a different source directory 的错误
在这里插入图片描述
则找到工作空间下 build 文件夹下的 CMakeCache.txt文件

sudo gedit ~/build.CMakeCache.txt

在gedit 编辑器下 按 ctrl + f 弹出搜索框搜索 CMAKE_HOME_DIRECTORY
将如下路径

CMAKE_HOME_DIRECTORY:INTERNAL=/home/muta/MyCode/myroscode/test1/src

修改为

CMAKE_HOME_DIRECTORY:INTERNAL=/home/muta/MyCode/myroscode/test1/src/loam_velodyne

保存退出
再次在终端中输入

catkin_make

成功编译
在这里插入图片描述

7.在终端中输入

roslaunch loam_velodyne loam_velodyne.launch

在RViz 中按下 ctrol + o ,选择工作空间下的 src/loam_velodyne/rviz_cfg/loam_velodyne.rviz 文件
打开新终端 跑bag包

#这个是我自己的路径,使用时候换成自己的bag包路径
rosbag play ~/MyCode/testdata/nsh_indoor_outdoor.bag

回到RViz中,已经跑起来了

在这里插入图片描述


四.VScode ROS 中的 debug

未完待续



推荐阅读
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 缤果串口网络蓝牙调试助手的特点和下载链接
    本文介绍了缤果串口网络蓝牙调试助手的主要特点,包括支持常用的波特率、校验、数据位和停止位设置,以及以ASCII码或十六进制接收或发送数据或字符的功能。该助手还能任意设定自动发送周期,并能将接收数据保存成文本文件。同时,该软件支持网络UDP/TCP和蓝牙功能。最后,提供了腾讯微云和百度网盘的下载链接。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • Windows 7 部署工具DISM学习(二)添加补丁的步骤详解
    本文详细介绍了在Windows 7系统中使用部署工具DISM添加补丁的步骤。首先需要将光驱中的安装文件复制到指定文件夹,并进行挂载。然后将需要的MSU补丁解压并集成到系统中。文章给出了具体的命令和操作步骤,帮助读者完成补丁的添加过程。 ... [详细]
  • 本文介绍了包的基础知识,包是一种模块,本质上是一个文件夹,与普通文件夹的区别在于包含一个init文件。包的作用是从文件夹级别组织代码,提高代码的维护性。当代码抽取到模块中后,如果模块较多,结构仍然混乱,可以使用包来组织代码。创建包的方法是右键新建Python包,使用方式与模块一样,使用import来导入包。init文件的使用是将文件夹变成一个模块的方法,通过执行init文件来导入包。一个包中通常包含多个模块。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
author-avatar
帅气zxc_925
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有