我是靠谱客的博主 沉静蜻蜓,最近开发中收集的这篇文章主要介绍Moveit在场景中添加障碍物无法显示/无碰撞属性的解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

通过Moveit向场景中添加物体主要有三种方式:
1.编程
2.Rviz的MotionPlanning窗口选择导入
3.传感器数据导入

贴心的目录

    • 1. 编程添加物体
    • 2. 在Rviz里添加object
    • 3. 传感器数据导入

1. 编程添加物体

第一二种方法相对简单,因此网上教程可以搜到不少。但教程里有用的真不多,尤其是通过编程添加物体的方法,十个教程九个抄古月居。
重点就在:那篇代码是错误的!
所以大多数人都在跟着一篇错误的代码学编程,属实新时代行为艺术

先说错在哪:没有publisher发布消息。
ROS的入门级选手都知道发布/订阅这一个基础的通信模型,moveit_group节点也是通过在planning_scene主题上发布moveit_msgs::PlanningScene类型消息进行通信。
那篇广为流传的代码没有publisher,靠心灵感应进行通讯?
具体应该咋写可以参考:
Planning Scene ROS API
一个有用的教程

2. 在Rviz里添加object

在这里插入图片描述
打开Scene objects这个界面,左下角的加号可以添加对象,右侧可以修改对象的方向和大小。
添加/修改过对象后,如果使用Planning界面的plan,会跳出窗口问你要不要publish刚刚的改动,点Yes即可。
但是在rosrun自己写的节点之前,
要记得点Publish!
如果添加/修改过对象但没点publish就运行自己的节点,就会欣赏到机械臂穿物而过却不报错的绮丽景象。

3. 传感器数据导入

这个问题相对复杂,笔者正在研究中。完成之后会专写一篇博客详细阐述。

最后

以上就是沉静蜻蜓为你收集整理的Moveit在场景中添加障碍物无法显示/无碰撞属性的解决方法的全部内容,希望文章能够帮你解决Moveit在场景中添加障碍物无法显示/无碰撞属性的解决方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部