(专题一)视觉SLAM十四讲入门以及程序复现
本帖旨在记录一下学习高博《视觉SLAM》十四讲中的一些心得,尤其是复现代码的填坑过程记录。作者水平十分有限,仅仅分享一下复现代码、跑代码中遇到的问题以及解决办法,分享一些代码理解。欢迎各位小伙伴加入讨论~
目录
1.计算机环境与IDE配置
-
ubuntu16.04 LTS
-
ROS Kinetic(此处安装过程略去,基本操作啦~)
注意:建议不要装Anaconda3,否则容易引起python环境冲突,SLAM工程把python设定成系统自带的python2.7或者3.5似乎都行,安装了Anaconda3似乎会导致后续很多库文件产生干扰,比如opencv可能就找到anaconda3目录下的库文件,当然我遇到过其他很多库文件都都不对,甚至对QT也产生影响,后续的octovis和pcl_viewer要用到。
1.1 配置CLion
1)安装CLion
下载CLion,到安装完成我就不多说了。建议把IDE之类的软件全都安装到计算机的/opt目录下,然后把CLion目录写入.bashrc。这样在终端里直接输入clion.sh就可以打开CLion了建议创建一个入口到启动器。
## >>> clion path >>>
export PATH="/opt/clion-2019.2.3/bin/:$PATH"
## >>> pycharm path >>>
export PATH="/opt/pycharm-2019.1.2/bin/:$PATH"
2)CLion上安装ROS插件
进入clion的Files/Setting/;plugins中搜索安装一下四个插件。
ROS-RObot Operating System和Hatchery比较好用,建议安装。
打开CLion,等下方Scanning Files to Index啥的任务结束了在Files中会出现Import ROS Workspace;选择ROS工作空间打开,进入后查看CMake配置页应该如下:
里面的CMake options内容如下:
-DCATKIN_DEVEL_PREFIX=/home/wbzhang/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/wbzhang/catkin_ws/install
-DCATKIN_WHITELIST_PACKAGES="monovo;landing;offb"
Generation Path填工作目录下的build就行。
build option根据自己CPU的核数写-j8就行。
值得一提的是上面CMake options中可以用来选择CLion编译的功能包白名单,这对于一个工作空间中可能包含非catkin包是很有用的。
-DCATKIN_WHITELIST_PACKAGES=“pkg1;pkg2”
至此,CMake之后应该就会在右上角出现配置好的节点啥的了...每一个add_executable都会对应一个配置。右边是Hatchery提供的一些ROS插件的快捷入口,比如Gazebo\rqt_graph\ros_image_view\rqt_plot等等,还是比较好用的,我还没都全用过,等用了再写一些评述。
3)rqt工具箱
补充, 实际上这些都是rqt工具箱中的一些插件。
比较好用的工具如下:
- rqt_launch:可以看到本地所有的ROS package,以及里边的launch文件,加载参数启动。
- rqt_graph:可以看到当前运行的ros节点、话题以及数据流向,结构图很关键啊
- rqt_image_view:用于查看当前的图片话题消息。
- rqt_msg和rqt_srv:用于查看本地的消息和服务类型。
- rqt_bag:录制话题工具箱,可以自选话题进行录制~
- rqt_topic:查看当前的话题的详细信息。
- rqt_plot:话题消息曲线绘制。
其余的我就不多说了,有兴趣的自己上手用一用,上官网看rqt教程。
4)参考链接
1.2 cmake入门