ROS自主导航机器人

ROS机器人底盘(34)-laser_filters的使用(2)

2019-04-29  本文已影响3人  PIBOT导航机器人

前面ROS机器人底盘(30)-laser_filters的使用(1)讲了如何使用laser_filters,本文在hades上试下如何使用laser_filters屏蔽车身的摄像头支架

1.车体支架干扰

首先启动建图

pibot_gmapping

虚拟机启动RVIZ

pibot_view

可以看到受到摄像头支架干扰,雷达在车体上检测到障碍,这会直接干扰到建图和导航

2.屏蔽支架干扰

2.1添加laser_filters

pibot_bringup/launch/box_filter_example.launch
pibot_bringup/params/box_filter.yaml

根据车上宽度(200mm)和长度(300mm)分别修改box_filter.yaml中的参数

设置稍微超出一点 x方向我们设置-0.15之0.15,y方向设置-0.2至0.2

scan_filter_chain:
- name: box_filter
  type: laser_filters/LaserScanBoxFilter
  params:
    box_frame: laser_link
    min_x: -0.15
    max_x: 0.15
    min_y: -0.20
    max_y: 0.20
    min_z: -0.1
    max_z: 0.1

这里z值忽略

2.2测试添加效果

如果提示下图错误需要安装laser_filters包, 使用pibot_install_ros.sh或者sudo apt-get install ros-kinetic-laser-filters

修改后可以看到车体再无干扰点出现

2.3修改订阅参数

刚才修改的只是Rviz的订阅参数,真正导航和建图还是用的之前就的scan

可以通过rosnode info xxx查看订阅node订阅topic情况,如rosnode info xxx

rostopic info /scan

可以看到除了被rviz订阅外还被laser_filter,move_baseslam_gmapping订阅,我们只需要把move_baseslam_gmapping中订阅scantopic改为laser_filter发出的topic
roscd pibot_navigation
grep -rn scan

修改相应文件并重启pibot_gmapping即可

上一篇 下一篇

猜你喜欢

热点阅读