语义栅格图(四)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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
ORB-SLAM2栅格图是指在ORB-SLAM2算法中使用的一种环境表示方式。ORB-SLAM2是一种基于特征点的视觉里程计算法,用于实时三维环境建模和相机定位任务。栅格图是ORB-SLAM2中的一部分,用于表示环境中的障碍物和路径。 栅格图可以看作是一个二维网格,每个网格单元代表一个小区域。栅格图是通过将环境划分为离散的小区域来表示环境。每个小区域可以被设定为两个状态中的一个,比如表示空闲或占据状态。空闲状态表示该区域可以自由通过,而占据状态表示该区域被障碍物所占据,无法通过。 ORB-SLAM2中的栅格图主要用于实时的障碍物检测和路径规划。通过将环境离散化为小区域,栅格图可以快速地检测到障碍物,并生成可行的路径。栅格图可以在建模和调整过程中不断更新,以反映环境中的变化。 使用栅格图可以帮助ORB-SLAM2算法在复杂的环境中更准确地进行定位和建模。栅格图可以提供环境中各个小区域的状态信息,包括是否为障碍物或可通过区域。基于这些信息,ORB-SLAM2可以对机器人的运动进行路径规划和避障,从而实现更可靠和鲁棒的导航能力。 总之,ORB-SLAM2栅格图是一种在图像处理和机器人导航领域应用广泛的环境表示方法,通过离散化环境为小区域,可以实时地检测障碍物并生成可行路径,从而提高系统的定位和导航性能。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值