小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
ros2 costmap 如何配置使用超声波或者红外数据
-
yaml里面的
voxel_layer:
plugin: "nav2_costmap_2d::VoxelLayer"
enabled: True
publish_voxel_map: True
origin_z: 0.0
z_resolution: 0.05
z_voxels: 16
max_obstacle_height: 2.0
mark_threshold: 0
observation_sources: scan
scan:
topic: /scan
max_obstacle_height: 2.0
clearing: True
marking: True
data_type: "LaserScan"
raytrace_max_range: 3.0
raytrace_min_range: 0.0
obstacle_max_range: 2.5
obstacle_min_range: 0.0这里只使用了2d激光作为障碍物数据源
我手动发布了sensor::msg::range这个数据 作为超声波检测到的障碍物数据,想加入到代价地图源中作为障碍物信息该怎么加入呢 有没有范例呢
-
@王涛 http://fishros.org/doc/nav2/configuration/packages/costmap-plugins/range.html
range layerrange_sensor_layer: plugin: "nav2_costmap_2d::RangeSensorLayer" enabled: True topics: /topic mark_threshold: 0.7 inflate_cone: 0.99
-
@小鱼 还是没跑起来
这是ranger的源码测试文件, 我用ros2 topic echo这个话题已经能正确输出话题数据了
我操作的流程是
1 用原有的yaml配置文件,没有加入ranger配置
2开启gazebo rviz nav2
gazebo能正确显示urdf 后面的小方块就是我新设置的RI_range_link 说明urdf应该是没有问题了
rviz2里面 勾选range显示以后 后面并没有东西显示出来
同时命令框提示
数据已满 应该是没有读取到 不知道什么原因如果按照大佬的方法把配置的这几句加上的话
gazebo依旧没错
但是rviz2无法初始化位置了
希望大佬解惑 -
@小鱼 我继续测试
我现在用gazebo已经模拟出超声波 和已经在rviz2里能显示出来了,说明tf和话题数据已经正确了
但是我的nav2 使用的配置文件并没有把超声波加入到costmap里面
如果加入进去就报错
我觉得问题就出在yaml这几个参数这里有可能是写法不对我的ros2版本 是galactic
-
@小鱼大佬我已经解决了 谢谢
-
@王涛 TF树不对应该