With the rapid development of robotics technology, ROS robot operating system has become one of the hottest topics in the global developer community.
With better cross-platform features, abundant software package resources and unified development framework, ROS become the preferred platform for robot development.
Last year, the Chinese Society of Automation teamed up with event organizers to launch the ROS Smart Car Competition. ROS solutions have been widely used in products such as unmanned vehicles, service robots, and industrial automation.
However, the cost of traditional ROS on development boards is relatively high.
Users cannot develop ROS robots on some low-cost, low-power MCU, which to a certain extent limits students learn and practical application of ROS robots.
How can rezlize ROS robot applications on low-cost MCU such as Arduino, STM32, and ESP32?
It is an embedded version of ROS2 specifically designed to run in embedded systems to support real-time control and communication of robots and embedded devices.
The goal of microROS is to extend ROS2 to resource-constrained embedded platforms.
This means that we can learn and apply ROS robots on Arduino, STM32, ESP32 and other microcontrollers to realize classic ROS functions such as radar mapping, navigation and positioning.
As a lightweight and efficient embedded ROS version,
microROS has the following features:
microROS brings all the core functions in ROS2 to the microcontroller (MCU), including nodes, publish and subscribe message mechanisms, client and service calls, node graphs, and life cycle management.
The microROS agent can seamlessly connect microROS nodes on microcontrollers (MCUs) and ROS2 systems.
User can use ROS2 tools and APIs to easily access and manage microROS nodes just like operating ordinary ROS nodes.
microROS can communicate with other ROS2 systems. It supports serial port, WIFI-UDP, Ethernet and other communication methods.
microROS supports real-time requirements and ensures system reliability and response speed.
It can adapt to a variety of microcontroller architectures, such as ESP32, Arduino, Raspberry Pi Pico, STM32, etc.
Compared with traditional ROS robots, microROS robots do not need to perform a large amount of data processing operations. While maintaining a smaller size, they also have lower energy consumption and a more compact size.
In the field of traditional ROS robots, if the robot device wants to access the ROS development environment, it needs at least a computer, a development board that can run ROS(Raspberry Pi or Jetson Nano), and a ROS expansion board.
Then, connect it to a peripheral driver board. Control the robot.
The product control process is long and costly, and real-time performance cannot be guaranteed.
But with microROS, you only need a computer and a microROS driver board, which reduces intermediate communication losses, makes the product smaller and more convenient, and reduces mass production costs.
The core advantage of microROS is that it can fully utilize the ROS2 ecosystem and run on various MCU, enabling the integration of embedded devices and complex robotic systems.
Through such a software and hardware co-design strategy, learning efficiency can be greatly improved and learning costs reduced.
Currently, there are already products on the market equipped with microROS technology, such as Yahboom microROS Robot, which uses the microROS platform to communicate with PC virtual machines through WiFi-UDP mode to implement ROS applications.
It is also equipped with MS200 lidar, metal motor with encoder and full-vehicle aluminum alloy bracket.
microROS Robot can not only be used to learn the ROS2 robot operating system, but also provides hardware driver tutorials to help developers fully master ROS2 robot development.
For more details about MicroROS Robot Car: https://www.robotshop.com/products/yahboom-micro-ros-virtual-machine
MicroROS-Pi5 Robot Car:https://www.robotshop.com/products/yahboom-microros-pi5