ur16e 机械臂 moveit octomap不显示的问题

正确的应该是怎么样的?

1.首先直观上能直接看到对应的octomap,例如如下图像。
在这里插入图片描述
2.tf关系必须将机械臂的坐标系和激光雷达点云的坐标系关联起来。例如下图是baselink坐标系和livox_frame直接关联起来,实际应用时可能两者之间有若干坐标系,但只有两者在同一棵tf树上就可以。注意此处的livox_frame这个名字要和ur16e_robot_moveit_sensor_manager.launch.xml中的octomap_frame的value值一致。

<!--//这个参数是octomap所在坐标系,可以自己指定-->
  <param name="octomap_frame" type="string" value="livox_frame" />           
<!--//octomap的分辨率,越小分辨率越高,越消耗系统资源。-->
<param name="octomap_resolution" type="double" value="0.05" />                        
<param name="max_range" type="double" value="15.0" />
<!--//将yaml文件里的参数传到ros参数服务器-->

在这里插入图片描述

3.有点云的话题送入move_group节点。类似与下图这样,此处是自己录了一个rosbag,自己写了一个cpp文件读取rosbag文件,并将其发布成/livox/lidar的点云话题。此处的点云话题名注意检查是否和
在这里插入图片描述
此处的点云话题名字要和配置的octomap的yaml中的参数一致。
sensors:

  • sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater
    point_cloud_topic: /livox/lidar
    max_range: 25 # max_range控制octomap的范围,如果设置得过小,将看不到对应的octomap,此处单位是m
    point_subsample: 2
    padding_offset: 0.1 #此处不能设置过大,设置过大也看不到octomap
    padding_scale: 1.0
    max_update_rate: 0.05 #单位是Hz,注意不要和点云发布的频率差太多。
    filtered_cloud_topic: filtered_cloud
    ns: kinect

可能的错误原因

1.官方的ocotmap demo也会存在一定概率不出现octomap的问题;
2.自己在写launch文件的时候,不要将点云的发布的launch和机械臂官方的demo.launch文件放到同一个launch文件中启动,否则可能出现不成功。
分析原因可能是:demo.launch文件启动加载时间较长,发布点云的launch文件启动比较快;坐标转换关系还没有启动成功。
3.检查坐标关联起来没有,机械臂的坐标系要和点云的坐标系关联起来,并且这个转换要可靠,如果时间戳不一样也会有问题,例如实际Livox传感器发布的点云的话题,其时间戳使用的是传感器的时间戳,这时候即使使用static transformer将world坐标系和livox_frame关联起来了,但是livox传感器时间戳不是ROS时间戳,同样在rviz中无法找到octomap;如果是录制的点云包,不能直接rosbag play,因为时间戳是用的录制时的时间戳,必须写一个cpp文件,将其重新发布,并添加新的ROS时间戳。
4.参数设置得不合适,例如max_range设置过小,同时点云所在范围没在范围内,例如padding_offset修改为不合适的值。

3.解决方案:
1.先启动demo.launch,然后再启动点云发布的节点和坐标转换的节点(static_transform_publisher)

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值