风河携手eProsima推进ROS关键性机器人应用

新闻动态

风河携手eProsima推进ROS关键性机器人应用

- Andrei Kholodnyi (风河公司)& Katrin Kellnere (Prosima公司)

风河和eProsima两家公司正在展开合作,推动ROS(机器人操作系统)在关键性机器人领域的应用,具体方法是将ROS支持平台扩展到Wind River VxWorks实时操作系统(RTOS)和Linux 基金会的Zephyr项目。这将支持由运行VxWorks的微处理器和运行Zephyr的微控制器组成的异构实时系统来创建完整的ROS2架构。

风河和eProsima两家公司的工程师已经展开合作,将最新版本的ROS移植到业界领先的VxWorks RTOS和Zephyr之上,具备了性能、确定性、可靠性和安全性等完整功能,足以满足运行安全关键性机器人应用的最高标准。

为了展示这种富有创新的方法,风河公司选用了一个混合关键性ROS2栈实现,其基础是VxWorks、嵌入式Linux和风河的Hypervisor。Turtlebot3被用来作为一个机器人演示平台,由运行Hypervisor的SBC(单板计算机)控制,带有多个客户操作系统实例。

在风河的demo演示中,利用了两种不同的SBC硬件平台:基于Xilinx的Arm板和Intel UP2板,这足以证明不存在硬件平台的选型限制。Hypervisor将安全性与非安全性以及实时与尽可能高效的应用隔离开来,并支持使用多核SBC构建混合关键性系统。ROS2 Dashing版和Turtlebot3中间件被移植到VxWorks中。在顶部运行了一个避免碰撞的ROS2应用软件,这可以作为安全关键控制功能的一个例子。

嵌入式Linux分区用来做为外部世界的通信网关,并提供一个非关键性软件堆栈。风河公司的演示表明,如果非关键性部件发生故障并重新启动,则安全关键部件可以在不受那些发生故障的非安全部件干扰的情况下执行其控制功能。对于扩展的演示案例,eProsima增加了一个飞行时间激光测距传感器的应用场景,其中集成了在资源受限的嵌入式系统上运行的micro-ROS应用软件,在本例中,STM32F4板在Zephyr RTOS中起了作用。这个演示证明,micro-ROS与时间关键性ROS2堆栈实现了无缝集成。

如今,机器人不再是一个孤立的系统,而是一组分布式的传感器和执行器,很多时候都是运行在资源受限的小型嵌入式设备(微控制器)上,通过有线和无线连接方式进行通信。这类设备是由ROS的micro-ROS扩展所支持的。

Zephyr是一款最初由风河公司开发的小型RTOS,目标是为相互连接的资源受限设备提供一流的RTOS,旨在确保安全性和可靠性。Zephyr上的micro-ROS现已推出,并且正在将ROS扩展到广泛的物联网设备,目标市场包括工业、汽车、智慧城市和智能家居等领域。

这真是一个令人兴奋的时刻——成为机器人领域创新者!

如需这个演示的源代码,请参见labs.windriver.com