如题。
前提:
1.要保证传感器节点正常运行,即发布到主题/scan(或者是laserscan)数据是ok的,可以通过rostopic echo /scan 查看是否有数据生成
2.通常使用的设备为kobuki+kinect(或者3d其他的设备)时,运行turtlebot_navigation中gmapping的例子就可以实现kobuki动态避障功能
3.运行例子后,运行命令
roslaunch turtlebot_rviz_launchers view_navigation.launch
查看运行的例子中各项数据是否会出现问题。要保证这里面显示的数据无warning或者error,如果有,请自行用wtf或rqt工具排查tf和topic数据,基本上如果出问题就是tf/坐标系的问题。
a.有可能是哪个father node运行不正常导致相应坐标系无transform数据,导致son node因为收不到数据而超时;
b.或者是tf分成两段,没有连接上;
4.ros中避障功能在move_base中实现,主要由costmap_2d组件实现,详细方式可见:ros中的costmap