By Andrei Kholodnyi/Wind River and Katrin Kellner/eProsima
Wind River and eProsima are collaborating to enable ROS (Robot Operating System) on critical applications by extending the platform support of ROS to the Wind River VxWorks real-time operating system (RTOS) and the Linux Foundation’s Zephyr Project. This will allow for the creation of a holistic ROS2 architecture across heterogeneous real-time systems composed of microprocessors running VxWorks and microcontrollers running Zephyr.
Engineers from both companies have teamed up to port the latest version of ROS to the industry leading VxWorks RTOS and Zephyr, delivering all the performance, determinism, reliability, and security capabilities one needs to meet the highest standards for running safety critical robotic applications.
In order to showcase this innovative approach Wind River chose a mixed-criticality ROS2 stack implementation based on VxWorks, embedded Linux, and hypervisor from Wind River. Turtlebot3 was selected as a robotic demo platform controlled by the SBC (single board computer) running Hypervisor with several guest OS instances.
Wind River demonstrates a hardware agnostic approach by utilizing two different SBC hardware platforms: Xilinx-based Arm board and Intel UP2 board. The hypervisor provides a separation of safety from non-safety and real-time from best-effort applications and allows to build a mixed-criticality system using multicore SBCs. ROS2 dashing release and turtlebot3 middleware were ported to VxWorks. On top runs a collision avoidance ROS2 application as an example of the safety critical control function.
The embedded Linux partition serves as a communication gateway to the external world and provides a non-critical software stack. Wind River demonstrates that if the non-critical part fails and gets rebooted the safety-critical one can perform its control function without any interference from the failed non-safety component. For the extended demo cases eProsima added a time of fly laser ranging sensor to the demonstration, integrating the micro-ROS application running on a resource constrained embedded system, in this case STM32F4 board featuring Zephyr RTOS. This proves the seamless integration of micro-ROS with a time critical ROS2 stack implementation.
Nowadays, a robot is no longer an isolated system, but a distributed set of sensors and actuators, many times running on small resource constrained embedded devices (microcontrollers), and connected through wired and wireless connections. These kinds of devices are supported by the micro-ROS extension of ROS.
Zephyr, a small RTOS originally developed by Wind River, strives to deliver a best-in-class RTOS for connected resource-constrained devices, built to be secure and safe. micro-ROS on Zephyr is available now, extending ROS to a wide range of IoT devices, targeting industrial, automotive, smart city, and smart home sectors among others.
It’s an exciting time to be an innovator in the robotics space!
Source code of this demo is available on labs.windriver.com.