Note: 这个教程假设你已经完成了ROS教程。这个堆栈的代码可以在roch_robot中找到。. |
Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
使用roch_sensorpc包
Description: 使用roch_sensorpc包Keywords: PointCloud
Tutorial Level: BEGINNER
在开始我们的roch_sensorpc包教程之前,我们假设你已经完成了Point Cloud 教程,在这个包中使用到该教程。并且在roch_sensorpc包中找到代码。
例程
通常来说,roch_sensorpc和roch_safety_controller在roch_navigation用到,并且和roch_safety_controller一样, roch_sensorpc也提供了一个单独的例程。
运行roch_sensorpc例程步骤和roch_safety_controller一样。
- 确保开启Roch并且连接USB到Roch和PC。
- 确保运行了minimal.launch
roslaunch roch_bringup minimal.launch
- 运行roch_sensorpc包例程。
roslaunch roch_sensorpc standalone.launch
- 相比roch_safety_controller,额外的步骤用于检查点云信息。
rostopic echo /mobile_base/sensors/sensor_pointcloud
并且如果你距离Roch足够近或者挡住了Roch前面的传感器,你可以看到话题会发布一个数据。
话题 & 参数
对于roch_sensorpclaunch文件,你可以看到有一些话题和参数。
话题
我们需要两个话题。
- /pointcloud
- 这个话题是输出点云,默认是重映射到/mobile_base/sensors/sensor_pointcloud。
- /core_sensors
这个话题订阅roch_base并且得到传感器状态和数据,用于决定是否发布数据,默认重映射到/mobile_base/sensors/core。
参数
我们需要4个参数。
- pointcloud_radius
- 默认参数是Roch半径,所以我们选择默认值0.25。
- ult_enable
- 这个值决定是否启用超声波传感器数据。
- psd_enable
- 这个值决定是否启用psd传感器数据。
- cliff_enable
- 这个值觉得是否启用cliff传感器数据。