【睿尔曼-RealMan】机械臂ROS2升级,全面提升智能操作!
Forrest 2023-12-14
Realman 睿尔曼智能的机械臂,正式支持 ROS2 的 ROS 包,ROS1 发布至今已经经历了十几年的发展,如今 ROS 已在机器人领域大量应用,包括科研机器人、工业机器人、轮式机器人、自动驾驶汽车、航天无人驾驶设备等等,其原来的功能设计已经不能满足海量应用对于某些性能(如实时性、安全性、嵌入式移植等)的需求,ROS2 在这样的背景下被设计和开发,应运而生。
ROS 是一个易用且完备的机器人开发框架,海量的机器人项目(涵盖感知、控制、定位、可视化等几乎所有机器人领域)均使用 ROS 作为基础,以自动驾驶为代表的新的机器人应用场景对于中间层和开发框架的实时性、可靠性、伸缩性、跨平台可移植等方面提出了大量新的需求,ROS1 显然不能满足这些需求,ROS2 因此产生,在经历了若干年的迭代后,ROS2 目前已经相对完备和稳定,可以说凭借 ROS2,机器人的开发者能够快速开发系统原型并做测试和验证,如果说 ROS1 为科研和原型开发提供了很好的生态的话,那么 ROS2 就是用于实际产品的部署环境的开发框架和相应的工具链。
ROS 在机器人领域中被广泛使用并发展为目前流行的机器人软件生态体系之一。然而 ROS1研发的初衷注定了该框架存在以下缺陷:
无实时性(real-time)
嵌入式设备不友好
对于网络通信的重依赖(需要大带宽且稳定的网络连接)
多用于学术应用
超高的灵活性带来的不规范的编程模式
原生的 ROS 仅支持单机器人
ROS1 和 ROS2 版本区分如下:
系统层面:
当前 ROS1 所支持的 Linux 系统最高为 Ubuntu20.04,对于更高版本的 Linux 系统 ROS1 并没有适配的版本进行支持,Ubuntu20.04 已经是三年前的系统了。对于很多紧跟潮流的开发者而言,其功能的丰富度和对于一些新的软件、设备的支持度上可能都有些力不从心了,而ROS2 适配的 Linux 版本为 Ubuntu22.04,是继 Ubuntu20.04 之后的下一个长期支持版正好可以填补这一空缺。
支持时间层面:
在 ROS 不断的发展中其版本也在不断地更新迭代,如今 ROS1 的维护也越来越接近尾声,如下图:ROS1 最终的两个版本 Melodic 和 Noetic,Melodic 于 2023 年就停止维护了,Noetic预计也只维护到 2025 年。而 ROS2 的长期支持版 Humble 会一直支持到 2027 年
系统特性层面:
系统架构进行了颠覆性的变化:ROS1 中所有节点都需要在节点管理器 ROS Master 的管理下进行工作,一旦 Master 出现问题,系统就面临宕机的风险,ROS2 实现了真正的分布式,不再有 Master 这个角色,借助一种全新的通信框架 DDS,为所有节点的通信提供可靠保障。
软件 API 进行了重新设计:ROS1 原有的接口已经无法满足需求,ROS2 结合 C++最新标准和Python3 语言特性,设计了更具通用性的 API,虽然导致原有 ROS1 的代码无法直接在 ROS2中运行,但是尽量保留了类似的使用方法,同时提供了大量移植的说明。
编译系统进行了升级:ROS1 中使用的 rosbuild 和 catkin 问题诸多,尤其是针对代码较多的大项目以及 Python 编写的项目,编译、链接经常会出错,ROS2 对这些问题也进行了优化,重新优化后的编译系统叫做 ament 和 colcon。虽然 ROS2 有诸多优势但其发展时间尚短,还有一些不足,比如其功能的丰富度目前比 ROS1 还是有欠缺的,网上的教程数量可能也不如ROS1 的多,在 github 等开源代码网站上的代码贡献量和可参考量也是处于追赶 ROS1 的过程中。
总而言之,ROS1 是一个相对更加成熟稳定的选择,但是它有一些无法克服的“硬伤”,ROS2解决了 ROS1 的许多问题,目前已经获得大家认可,还在不断发展,属于未来的大趋势。
ROS 自诞生开始,其用户量与日俱增,其广受推崇的原因在于其对于开发者极度友好,在 ROS的开源库中有许许多多现成的机器人功能供大家使用,比如想要使用导航,ROS 中就集成了许多导航的算法,想要操控机械臂,ROS 中的 Moveit 又集成了许多机械臂的正逆解和路径规划算法,得益于 ROS 为我们做的大量工作,我们不必在这些方面“重复造轮子”,为我们开发一款机器人省去了大量的时间,没有用过的小伙伴强烈推荐。
在 realman 睿尔曼追求创新、易用性、高品质、可持续发展、让机械臂成为通用的智能化工具的道路上,我们将不断努力,为您提供更好的产品和服务。感谢您一直以来的支持与关注,欢迎前往睿尔曼技术论坛,共同探讨新科技,新未来。
论坛入口:https://bbs.realman-robotics.cn/questions/zone_id/1.html。
撰写评论