Awesome
micro-ROS demos for Renesas e<sup>2</sup> studio
This package provides example projects for using micro-ROS in a Renesas e<sup>2</sup> studio. All demos target Renesas RA family, an ARM Cortex-M based MCU series, enabling a full micro-ROS compatibility for developing robotics and IoT applications.
Target platform
MCU | Family | Reference board | Transports |
---|---|---|---|
RA6M5 | RA Series | EK-RA6M5 | USB-CDC <br /> Serial UART <br /> UDP (FreeRTOS + TCP) <br /> UDP (ThreadX + NetX) <br /> TCP (AWS Secure Sockets) <br /> CAN FD |
RA6T2 | RA Series | MCK-RA6T2 | Serial UART <br /> CAN FD |
Requirements
- Renesas e<sup>2</sup> studio for Linux<sup>1</sup>
- FSP v5.6.0 board packs for Renesas e<sup>2</sup> studio: Details.
- GNU Arm Embedded Toolchain v10.3.1.20210824 (Other compatible toolchain may work).
- Install colcon and dependencies, for example with:
pip3 install colcon-common-extensions catkin_pkg lark-parser empy
<sup>1</sup> Currently only support for Linux is available
Available demos
Board | RTOS | Transport | Description | Folder |
---|---|---|---|---|
EK-RA6M5 | Bare Metal | CAN FD | micro-ROS using a CAN FD transport | micro_ros_can |
Bare Metal | UART | micro-ROS using a serial UART transport | micro_ros_uart | |
Bare Metal | USB | micro-ROS using a serial USB-CDC transport | micro_ros_usb | |
FreeRTOS | UDP | micro-ROS using a network transport and FreeRTOS + TCP | micro_ros_udp_freertos | |
FreeRTOS | UDP | micro-ROS using a network transport and FreeRTOS + TCP in a multithread approach | micro_ros_udp_freertos_multithread | |
FreeRTOS | TCP | micro-ROS using a wifi network transport and AWS Secure Sockets | micro_ros_tcp_freertos | |
ThreadX | UDP | micro-ROS using a network transport and ThreadX + NetX | micro_ros_udp_threadx | |
MCK-RA6T2 | Bare Metal | CAN FD | micro-ROS using a CAN FD transport | micro_ros_can |
Bare Metal | UART | micro-ROS using a serial UART transport | micro_ros_uart |
Demo Videos
A set of step-by-step demonstration videos for micro-ROS with Renesas e2studio
Board | Description | Link |
---|---|---|
EK-RA6M5 | micro-ROS getting started video | link |
EK-RA6M5 | micro-ROS Service demo | link |
EK-RA6M5 | micro-ROS over Wifi | link |
EK-RA6M5 | micro-ROS publisher demo | link |
EK-RA6M5 | micro-ROS parameter demo | link |
MCK-RA6T2 | BLDC Motor Controller using Microros over CAN FD | link |
Getting started
For using those demos, just clone recursively this repository in your computer with:
git clone --recurse-submodules https://github.com/micro-ROS/micro_ros_renesas_demos
Open Renesas e<sup>2</sup> studio, import some of them, and finally build and flash
Using the micro-ROS Agent
It is possible to use a micro-ROS Agent just by using this docker command:
# UDPv4 micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO udp4 --port 8888 -v6
# TCPv4 micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO tcp4 --port 8888 -v6
# Serial micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO serial --dev [YOUR BOARD PORT] -v6
# CAN FD micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO canfd --dev [YOUR CAN INTERFACE] -v6
There are some other options for using the micro-ROS Agent:
- Building it in a ROS 2 environment: Details.
- Using a snap package.
License
This repository is open-sourced under the Apache-2.0 license. See the LICENSE file for details. To find a list of other open-source components included in this repository, see the file 3rd-party-licenses.txt.
Known Issues / Limitations
There are no known limitations.