Repository Summary
Description | ROS2 on microcontrollers ! |
Checkout URI | https://github.com/astralien3000/riot-ros2.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-07-05 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
listener_c | 0.0.0 |
pub_int32_c | 0.0.0 |
sub_int32_c | 0.0.0 |
talker_c | 0.0.0 |
riot | 0.0.0 |
README
RIOT-ROS2
This project enables ROS2 to run on microcontrollers using the RIOT Operating System and the NDN protocol. More information about the design of this project is available in the wiki.
Package support
ROS2 is composed of several layers. Some have been modified to be able to run on microcontroller. Here is a summary of the main difference between the ROS2 stack and the RIOT-ROS2 stack :
Layer | Package | ROS2 | RIOT-ROS2 |
---|---|---|---|
ROS Client Library bindings | rclc | :heavy_check_mark: | :heavy_check_mark: |
rclcpp | :heavy_check_mark: | :x: | |
ROS Client Library | rcl | :heavy_check_mark: | :heavy_check_mark: |
ROS MiddleWare | rmw_fastrtps | :heavy_check_mark: | :x: |
rmw_ndn | :grey_question: | :heavy_check_mark: | |
ROS IDL Generators | generator_c | :heavy_check_mark: | :heavy_check_mark: |
generator_cpp | :heavy_check_mark: | :x: | |
ROS IDL Type Support | introspection_c | :heavy_check_mark: | :x: |
introspection_cpp | :heavy_check_mark: | :x: | |
cbor | :grey_question: | :heavy_check_mark: | |
ROS IDL Interfaces | common_interfaces | :heavy_check_mark: | :heavy_check_mark: |
rcl_interfaces | :heavy_check_mark: | :heavy_check_mark: |
Examples
All examples should be able to handle any RMW implementation (see Usage).
std_msgs::String
std_msgs::Int32
Usage
Requirements
Ubuntu
sudo apt install cmake git python3-pip python3-empy g++-multilib
pip3 install vcstool
If pyparsing is not installed :
pip3 install pyparsing
If your arm-none-eabi-gcc is too old (< gcc 5) :
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt-get update
sudo apt install gcc-arm-embedded
Required for RIOT (native) :
sudo apt install libc6-dev-i386
Fedora
Required for ROS2 :
sudo dnf install cmake git python3-pip python3-empy python3-pyparsing
pip3 install vcstool
# if g++ is not already installed
sudo dnf install gcc-c++
Required for RIOT (native) :
sudo dnf install glibc-devel.i686
Others
Please, follow the requirements for ros2 official installation instructions.
Get the sources
```sh mkdir -p ~/ros2_riot_ws/src cd ~/ros2_riot_ws wget https://raw.githubusercontent.com/astralien3000/riot-ros2/master/ros2.repos wget https://raw.githubusercontent.com/astralien3000/riot-ros2/master/ament2riot.cmake vcs import src < ros2.repos
File truncated at 100 lines see the full file