ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

ROS2Go与Ubuntu+ROS+Gazebo等版本对应关系

2020-05-03 21:06:26  阅读:650  来源: 互联网

标签:LTS ROS2Go ROS2 Ubuntu ROS MoveIt2 MoveIt


目前,发行的ROS2Go主要有1.0和2.0,3.0已经开始测试研发中。

  Ubuntu ROS 1.0 ROS 2.0 Gazebo
ROS2Go 1.0 16.04 LTS Kinetic LTS Ardent 7.+
ROS2Go 2.0 18.04 LTS Melodic LTS Dashing LTS 9.+
ROS2Go 3.0 20.04 LTS Noetic LTS Foxy LTS 11.+

目前,系统驱动和仿真软件Gazebo11,已经测试完成,等待ROS1.0和ROS2.0新版发布即可开启预装和测试。

课程全部基于新版开发,旧版所有课程全部停止维护。

PC 1
PC 2

然后,为了使用中文,安装了汉语言支持:

PC 3

镜像通常即插即用,无需配置,启动界面如下:

Microsoft
Lenovo

 重要工具Navigation2和MoveIt2:

在工业开源应用中使用MoveIt2

  • 来自ROS工业公司

被称为MoveIt的ROS运动规划框架已经成功地应用于许多工业和研究领域,在这些领域中,需要复杂的无碰撞机器人运动来完成操作任务。最近几个月来,MoveIt在移植到ROS2中花费了大量的精力,因此,新的MoveIt2框架已经提供了许多在其前身中可用的核心特性和功能。虽然一些非常有用的设置工具仍在进行中(主要是MoveIt设置助手),但我能够将MoveIt2集成到协作机器人打磨应用(CRS)中,以便规划轨迹,然后在Gazebo模拟UR10机器人手臂上执行。

我的ROS2设置包括按照github中的描述从源码中建立MoveIt2仓库,然后在现有的CRS应用程序工作区之上叠加colcon工作区。我还建立并运行了一个简单的演示,它一开始就能正常工作,对我了解如何将MoveIt2集成到我自己的应用程序中非常有帮助。

C++集成非常直接,只需要使用两个新的类,MoveItCpp和PlanningComponent。在这个架构中,MoveItCpp用于加载机器人模型,从ROS2参数中配置规划管道,并初始化默认值;然后是PlanningComponent类,它与规划组相关联,用于设置运动规划请求,并调用低级规划器。此外,PlanningComponent类有一个类似于MoveIt中熟悉的MoveGroupInterface类的接口;但是这里的一个大的变化是,PlanningComponent类中的方法不仅仅是对moving_group节点提供的各种服务和动作的封装,而是直接对各种运动计划功能进行函数调用。我认为这是一个值得欢迎的改变,因为这种架构将允许在飞行中创建MoveIt2规划配置,可以适应应用中可能出现的各种规划情况。

另一方面,启动/yaml集成并不像许多ROS2的概念那样干净,对我来说还是比较新的概念。为了正确配置MoveIt2,需要将URDF文件以及驻留在多个yaml文件中的一些参数加载到MoveIt2应用程序中。幸运的是,大多数由MoveIt设置助手从原始MoveIt中生成的yaml文件只需稍作修改就可以使用,所以我在ROS1中运行设置助手并生成了所需的配置文件。此外,用python组装ROS2启动文件的能力在这里真的派上了用场,因为它允许我从YAML文件中实例化一个python字典,并将其元素作为参数传递给我的ROS2应用程序。除了学习MoveIt2之外,通过这个练习,我还看到了如何在不同的应用程序中重用同一个yaml文件来初始化参数,我认为这是ROS2中没有的功能。

我对MoveIt2的总体印象是非常积极的,我觉得架构上的变化对现有的MoveIt开发者来说并没有任何的破坏性,而且它还会带来新的有趣的框架使用方式;我很期待其他非常有用的MoveIt组件的移植。集成MoveIt2的项目分支可以在这里找到,下面是我在这里做的一个规划的短片。在这个应用中,机器人需要将摄像头移动到三个扫描位置,因此MoveIt2被用来规划到这些位置的无碰撞运动。


 

标签:LTS,ROS2Go,ROS2,Ubuntu,ROS,MoveIt2,MoveIt
来源: https://blog.csdn.net/ZhangRelay/article/details/105891422

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有