ROS1即将退出历史舞台,ROS2的出现又给了我们新的惊喜。虽然从ROS1迁移到ROS2可能会面临一些挑战,但ROS2的通信实时性、系统稳定性、安全性、跨平台兼容性和DDS通信机制等优势,将实现更高效、可靠和安全的机器人应用。
ROS2是主流,更是未来的趋势,越来越多的企业和项目将会转向ROS2,我们有理由相信ROS2将推动机器人行业的发展,并促使更多领域的机器人落地应用。
发布时间:2023-07-21
亚博智能部分产品现已全面支持ROS2,用户可以根据自身需求和项目要求,选择适合的ROS版本来入门ROS或进行二次开发应用。
众所周知,大家最熟悉的ROS Melodic已经在今年5月停止了维护,而ROS Noetic将成为ROS1的最后一个版本,并且将于2025年停止维护。换句话说,官方将不再继续维护和发布ROS1!
在过去的16年里,ROS1存在许多使用上的缺陷,尽管ROS1在教育和科研机器人领域得到了广泛应用,并因其易用性和丰富的机器人功能库而受到推崇,但也仅局限于教育、科研、原型机这些小范围的应用。
ROS1的通信实时性有限、系统稳定性不够满足工业级要求、缺乏安全保护措施、仅支持Linux(Ubuntu)等缺陷严重限制了ROS1在商业和工业机器人等领域的发展。作为开发者来说,我们需要一个更强大、更可靠、更适应商业和工业需求的机器人开发框架。
为了解决这些问题,ROS2应运而生。ROS2在构建于ROS1基础之上的同时,引入了新的机制。经过多个版本的迭代,ROS2不仅解决了实时通信、安全性和稳定性等问题,还具备多语言支持和跨平台兼容等特点。如今,ROS2已经成为ROS版本的主流,其性能和生态系统也得到了相当成熟的发展。
* ROS1与ROS2科普视频
ROS2的前身是ROS,ROS即机器人操作系统(Robot Operating System ),ROS本身并不是一个操作系统,而是一个软件库和工具集。ROS的出现解决了机器人各个组件的通信问题,后来越来越多的机器人算法也集成到了ROS中,ROS2继承了ROS,相比ROS更强大更优秀。
ROS2在ROS1架构基础上取消了应用层Master管理,修改了中间层DDS以增强通讯实时性,结合了C++和Python3语言特性,设计了更具通用性的API,增加了对Windows、macOS和微处理器的适配。
图1:ROS1和ROS2架构
ROS的一个初衷就是提高机器人研发中的软件复用率。围绕这个初衷,ROS在自身的设计上也尽量做到了模块化,由通信机制、开发工具、应用功能、生态系统四大部分组成。而ROS2在继承ROS1的各种优势的同时,又增加了许多新的特点。
支持多种操作系统:ROS2不仅支持Linux,还支持Windows、macOS、Android、iOS等其他操作系统。
支持实时性和可靠性:ROS2引入了一种名为DDS的新通信机制,提供了更可靠、更高效的数据传输和通信。
支持安全性和隐私性:ROS2提供了一套安全策略和工具,以保护机器人应用程序的安全性和隐私性。
更易于学习和使用:ROS2简化了一些概念和接口,让开发者可以更容易地理解和使用ROS2。
更易于扩展和集成:ROS2采用了一种模块化和插件化的设计,让开发者可以更容易地扩展和集成不同的功能和组件。
更易于协作和共享:ROS2提供了一套标准化和规范化的接口和协议,让开发者可以更容易地协作和共享机器人应用程序。
ROS2的发展目标是成为一款适用于绝大多数机器人的操作系统,目前几乎所有机器人公司立项的项目都直接采用ROS2了。
Foxy是ROS2版本中发布时间较长的一个版本,这意味着它已经经历了一定的稳定性测试和改进,可以提供相对较稳定的使用体验。其次Foxy是目前广泛应用的ROS2版本,相较于其他的ROS2版本,Foxy具有稳定性强,案例教程多等特点。
亚博智能解决了机器人小车ROS2适配问题,采用了稳定性强、资料丰富的ROS2版本,无需担心机器人硬件不兼容,并为ROS2适配全功能玩法。
比如ROSMASTER系列,不仅有多款车型结构可以选择,还提供ROS1和ROS2两套教程资料,用户可以根据自身需求和项目要求,选择适合的ROS版本来入门ROS或进行二次开发应用。
手机APP可同时支持ROS1和ROS2系统,支持IOS/安卓手机
提供ROS1/ROS2两套教程资料,内含完整功能的ROS2系统教程。
ROS1即将退出历史舞台,ROS2的出现又给了我们新的惊喜。虽然从ROS1迁移到ROS2可能会面临一些挑战,但ROS2的通信实时性、系统稳定性、安全性、跨平台兼容性和DDS通信机制等优势,将实现更高效、可靠和安全的机器人应用。
ROS2是主流,更是未来的趋势,越来越多的企业和项目将会转向ROS2,我们有理由相信ROS2将推动机器人行业的发展,并促使更多领域的机器人落地应用。