ROS 2 is a powerful framework for developing robot applications, while micro-ROS extends ROS 2 capabilities to microcontrollers, enabling robotics applications on a wider range of hardware.
- What is ROS 2?
- What is micro-ROS?
- What has improved since ROS 1
- What is micro-ROS?
- micro-ROS Project Components
- Webots Integration
- Installation Steps
ROS 2 is the second major version of the Robot Operating System (ROS), an open-source framework to build complex robot applications.
Key features of ROS 2 include:
- Distributed Computing: Nodes can be distributed across multiple machines.
- Real-Time Capabilities: Improved support for real-time systems.
- Cross-Platform: Runs on various operating systems, including Linux, Windows, and macOS.
- Modularity: Encourages modularity and reusability of code.
Major advancements from ROS (1) include improved real-time capability, more generic Data Distribution Service (DDS) than previously used TCPROS/UDPROS protocols.
List of key differences and new features:
- Middleware: ROS 2 uses DDS for better performance and QoS.
- Real-Time Support: ROS 2 offers enhanced real-time capabilities.
- Cross-Platform: ROS 2 supports multiple operating systems and RTOS.
- Distributed Computing: ROS 2 enables distributed node execution.
- QoS: ROS 2 provides extensive QoS settings.
- Lifecycle Management: ROS 2 introduces lifecycle management for nodes.
- API Stability: ROS 2 emphasizes stable and versioned APIs.
- Security: ROS 2 includes initial security features.
- Development Tools: ROS 2 builds on the ROS 1 ecosystem with new tools.
micro-ROS brings ROS 2 to microcontrollers, allowing developers to run ROS 2 applications on resource-constrained devices. This extension enables the integration of microcontrollers into ROS 2 networks, making it possible to create more complex and distributed robotic systems.
Key features of micro-ROS include:
- Small Footprint: Optimized for microcontrollers with limited resources.
- Real-Time Capabilities: Supports real-time operation on microcontrollers.
- ROS 2 Compatibility: Fully compatible with ROS 2, allowing seamless integration with larger ROS 2 systems. See
- Cross-Platform: Supports a variety of microcontroller platforms and RTOS (Real-Time Operating Systems).
micro-ROS supports a variety of external build system beyond the micro_ros_setup tool such as PlatformIO micro_ros_platformio. The following component diagram depi
This section describes the integration of micro-ROS in the existing workspace, extending it by implementing a ROS 2 node and the micro-ROS stack. The goal is to connect the ZumoComSystem with the DDS network using DDS-XRCE, making the robot controllable via ROS messages to mimic turtle graphics drawing using the robot.
The following diagram illustrates the component deployment of micro-ROS in the DroidControlSystem.