image_pdfimage_print

Micro – ROS Servo

CPS presents a guide to setup the communication between Micro – ROS and ROS2 and control multiple servos attached to a PWM/Servo Driver board. Therefor the installation of ROS2, the setup of a Micro – ROS workspace, the establishment of the communication with a custom message and the implementation of third party libraries as well as the usage of two different RTOS system will be described step for step.

By combining the power of Micro ROS Foxy, ESP32 and a PCA9685 board, this project provides a way of controlling multiple servos. The setup has been tested on a Linux Ubuntu 20.04.6 LTS environment, allowing seamless communication and accurate servo positioning. The linked guide give some information about Micro – ROS and walks through the installation of ROS2, the setup of a Micro-ROS workspace, and the establishment of the communication between Micro-ROS and ROS2 using a custom message format called “ServoMessage”. Additionally, the guide covers the implementation of third-party libraries and the usage of two different RTOS systems. The code includes examples of how to use the Micro ROS Foxy framework to send and receive ServoMessages over the ROS2 network to control the attached servos. 

Components

Electronics:
  • Micro USB Cable
  • ESP32 Developement Board
  • 2 x 4,7 kΩ resistors 
  • PCA9685 PWM/Servo Board
  • Servos
  • 5V Power Supply

Links