[关闭]
@yanbo01haomiao 2020-07-02T21:18:57.000000Z 字数 1661 阅读 664

运行vacuum_sim_ros的rtabmap方法的问题记录

记录


1、[运行问题] 终端运行ros命令出现错误:Failed to contact master at [localhost:11311]

需要检查~/.bashrc文件末尾添加如下内容:

  1. # set ros kinetic
  2. source /opt/ros/kinetic/setup.bash
  3. source ~/catkin_ws/devel/setup.bash
  4. # set ros network
  5. export ROS_HOSTNAME=localhost
  6. export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311
  7. #set ros alias command
  8. alias cw='cd ~/catkin_ws'
  9. alias cs='cd ~/catkin_ws/src'
  10. alias cm='cd ~/catkin_ws $$ catkin_make'

刷新

  1. source ~/.bashrc

同时检查hosts文件127.0.0.1别名是否为localhost

  1. sudo gedit /etc/hosts

文件如下:

  1. 127.0.0.1 localhost
  2. 127.0.1.1 zz-Ideapad-V460
  3. ::1 ip6-localhost ip6-loopback
  4. fe00::0 ip6-localnet
  5. ff00::0 ip6-mcastprefix
  6. ff02::1 ip6-allnodes
  7. ff02::2 ip6-allrouters

另外在启动ros命令时需要先运行roscore命令,否则会出现找不到master的问题。

2、 [待完成]运行bag文件,并检查topic,在stata center数据集上测试其他输入。

3、 ROS-找不到launch文件的解决办法

4、 [运行问题]出现ResourceNotFound: gazebo2rviz

gazebo2rvizgit源码

安装出现pysdf缺失,这里把其CMakeLists中的find_package内容注释掉即可。但是后续运行时候会遇到问题,所以行不通。这里需要在git一下pysdf的包

先安装pysdf,再安装gazebo2rviz就没有问题了。

5、 [特殊问题]:运行仿真之后,roomba机器人在地板下面。导致无法正常移动和输出图像以及其他topic。

在切换了之前的2dtof_slam_ros,是之前没有重构的架构,然后移植到新版本的 vacuum_sim_ros两个版本下的都是同样的问题,目前把问题定位在indoor.launch时候出现的问题。此问题仅仅在复杂室内场景下出现。

6、 [配置问题]点云方向问题已解决。

原因在ros的kinect插件读取frame按照zxy的顺序,而ros这边按照xyz读取,条横kinect插件的frame的pose即可解决方向朝向天上的问题。

7、[遗留问题]在碰到障碍物重新规划时,没有将已经走过的路径去掉

rtabmap目前使用激光进行建图是出现地图的拼接偏移问题,障碍物的边缘识别不清楚——亟待解决!

8、[遗留问题]碰到的低矮障碍物是长期保存在地图中,还是只是用于下一次重新规划中,还没有确定

9、[迭代问题]墙检使用单点tof进行障碍物的环绕存在bug——在rtabmap中是否需要此模块需要讨论

为了环绕低矮的障碍物,目前沿墙传感器使用的斜向下的单点tof,根据墙检数据(激光距离)、设定的最小距离、最大距离两个阈值,来决定扫地机当前的决策(左转远离墙、直行、右转贴近墙),问题在于,由于障碍物高度不同,最小阈值难以确定。如果最小阈值设置的较小,对于低矮障碍物,会直接导致扫地机撞在障碍物上。如果最小阈值设置的较大,又由于gazebo的旋转误差大(2°左右),左转至少要旋转3°左右,导致扫地机在面对高的障碍物,频繁的左转、右转、左转、右转...根本原因在于gazebo旋转误差大,如果旋转误差小,设置一个较大的最小阈值即可解决。

在rtabmap中准备是不使用单点tof而改用3dtof传感器,避障模块也就势必不能使用。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注