1.下载sonar_layer的代码
实际只需要其中的range_sensor_layer放到工作空间catkin_make。实验时放置于src中,可以考虑放置于navigation文件夹中进行尝试。
2.将plugin插入ros系统
实际上下载的源码配置已完善,编译通过时range_sensor_layer已插入ros系统,在此只需要source一下cartkin_ws,验证一下即可:rospack plugins --attrib=plugin costmap_2d。
3.sonar_layer在costmap_2d(navigation)中的使用
3.1.在costmap_common_params.yaml中配置sonar_layer的参数
sonar_layer:
ns ( string , default : ”” ) : 命名空间,用作所有topic的前缀;
topics(Array of strings , default : [‘/sonar’] ) : 列举可以订阅的距离topic;
no_readings_timeout ( double , default : 0.0 ) : 如果是0,该参数不起作用,否则如果层在该参数指定时间内没有收到传感器任何数据,层会给出warning并被标记为没有数据流;
clear_threshold( double, default : .2 ) : 概率比clear_threshold低的cell在master costmap中被标记为free空间;
mark_threshold ( double , default : .8 ) : 概率比mark_threshold高的cell在master costmap中被标记为lethal obstaclesÿ