语义栅格图(四)semantic slam 安装测试

1.放到catkin_ws后,要执行catkin_make

1)这里需要根据Readme文件安装相关的依赖

2)由于SB的绿霸,导致无法apt-get install相关包,所以只能手动下载安装,并添加到findpackage里,package.xml里

就是这三个包:

ros-kinetic-octomap-msgs

ros-kinetic-octomap-rviz-plugins

ros-kinetic-openni2-launch

这是几个ros包,catkin_make后还要catkin_make install

(更新于2019.07.19)

由于编译其他包导致这个包坏掉了,重新编译时又遇到了其他的坑,具体问题是编译orb-slam时一直提示librealsense.so找不到,

No rule to make target `/usr/lib/x86_64-linux-gnu/librealsense2.so', needed by `../lib/libORB_SLAM2.so'.  Stop.

这种问题就是原因有两种:1.真的没有安装,肯定找不到; 2.安装了但是没有按照他的名字进行连接,那也找不到

1)进入usr/lib/x86....文件夹,看看是不是因为这个库没有装,发现存在该库,但是通过命令行ls的时候发现该库颜色为闪红,说明有问题

ls时文件蓝色为动态库,白色为源文件,红色为压缩文件,反色红色为错误的库文件

2)卸载该库重新安装,依然闪红,该库是realsense的库,也不知道为什么orbslam需要这个库,另一台电脑上安装的是librealsense2.19,是好使的,所以我们也安装这个版本看一看

3)需要下载源文件进行安装,下载好

cmake..

make

make install

(cmake,make 是把源码进行编译,make install才是安装成可以用的库)

但是这个库默认安装的位置不一样,所以还需要把这写库拷贝到指定文件夹

4)通过 ls -l 查看文件详细信息,得到这三个文件的连接关系

可以看到只有2.19.0是源文件,所以把它拷贝到指定文件夹,执行以下命令添加动态链接库

 

再次显示所有librealsense文件,发现和默认安装目录相同了,执行orb-slam里的./build.sh

安装成功 

因为之前把realsen有关的包都删了,sdk也删了,所以realsense打不开了,重新安装sdk

https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md

不用安装dev了,因为已经手动安装这个包了,只安装前两个就行了

sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-util

执行 

roslaunch realsense2_camera rs_camera.launch filters:=pointcloud

测试点云输出成功

2.安装python中处理图像的包

sudo pip install scikit-image

运行roslaunch semantic_slam semantic_mapping.launch会提示缺少许多python包,挨个安就完了。


3.运行时遇到的问题

当Ubuntu运行程序多,而且监控的文件过多的时候,再运行其他程序的时候可能会提示:

QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: 设备上没有空间

这里涉及到Linux文件系统事件监控框架的概念

解决办法:

添加最大监控文件数量

临时解决:(重启之后恢复)

命令设置:sudo sysctl fs.inotify.max_user_watches=524288

生效: sudo sysctl -p

 

4.需要numpy 1.31以上

 

5.好多python包都没有安装,缺什么安什么就好了

 

6.需要下载他训练好的模型

 

7.不能打开多个rviz是因为建立节点时用了一样的名字,这是查看log文件时发现的,所以Log文件还是很重要的

8.ORB-SLAM2安装时要把ROS的cmakelist里findpackage的cmakmodule去掉

9.关于为什么没有运行build_ros.sh就可以加载semantic_slam,因为使用了catkin_make,所以整个包里的小功能包都被编译了,其中就包括ROS目录下的那个包,被编译为orb_slam2(注意是小写),semantic_slam的launch就是加载的这个功能包。

参考链接:

https://blog.csdn.net/robot_starscream/article/details/88564694

你可能感兴趣的:(移动机器人导航)