Skip to content

micro-ROS/micro_ros_renesas_demos

Repository files navigation

banner banner

micro-ROS demos for Renesas e2 studio

micro-ROS HIL tests micro-ROS HIL agent

This package provides example projects for using micro-ROS in a Renesas e2 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
Serial UART
UDP (FreeRTOS + TCP)
UDP (ThreadX + NetX)
TCP (AWS Secure Sockets)
CAN FD
RA6T2 RA Series MCK-RA6T2 Serial UART
CAN FD

Requirements

  • Renesas e2 studio for Linux1
  • FSP v5.6.0 board packs for Renesas e2 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

1 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 e2 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:

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.

Releases

No releases published

Packages

No packages published

Languages