yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
MicroROS Robot Expansion Board📖
01. microROS control board development environment
  • 1. Introduction to microROS control board
  • 2. Set up ESP32-IDF development environment
  • 3. ESP32-IDF configuration tool
  • 4. Install ESP32-microros components
  • 5. Install and start microROS agent
  • 6. Flash-tool burning firmware
02. ESP32 basic course
  • 1. Turn on the LED light
  • 2. Button function
  • 3. Drive the buzzer
  • 4. Serial communication
  • 5. Battery voltage detection
  • 6. Drive PWM servo
  • 7. Drive motor
  • 8. Read motor encoder data
  • 9. PID controls car speed
  • 10. Read IMU data
  • 11. Read radar data
  • 12. Flash access data
  • 13. Partition table and memory
  • 14. Bluetooth communication
  • 15. WiFi networking
  • 16. Robot kinematics analysis
  • 17.Drive ESP32 WiFi camera
03. microros basic course
  • 1.Publish topic
  • 2. Subscribe topic
  • 3. Multi-topic subscribe and publish
  • 4. Subscribe buzzer topics
  • 5. Subscribe PWM servo topics
  • 6. Subscribe speed control topics
  • 7. Release speed topic
  • 8. Release IMU data topic
  • 9. Publish lidar data topics
  • 10. Customized transmission method
04.ROS2 basic course
  • 1. Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
05. Robot basic course
4.1 Robot information release
  • Robot information release
4.0 Preparation
  • 1. Write firmware
  • 2. How to install and use VM
  • 3. microROS control board configuration
  • 4. Connect to microROS agent
4.2 Robot keyboard control
  • Robot keyboard control
4.3 Robot handle control
  • Robot handle control
4.4 Robot state estimation
  • Robot state estimation
4.5 Line speed calibration
  • Line speed calibration
4.6 Angular velocity calibration
  • Angular velocity calibration
4.7 Robot URDF model
  • Robot URDF model
Download
  • Firmware And Code
  • VM_File
  • 3D Model File
  • ROS2_Basic_VM
Download ZIP

Welcome to MicroROS Robot Expansion Board repository

4. Install ESP32-microros components

Install ESP32-microros components

Install ESP32-microros components1、Download microros components2、Activate the ESP-IDF development environment3.、Install dependencies4、Modify microros configuration5、Compile and generate microros static library6、Instructions for use

Note: Since the micro_ros components are hosted on GitHub, downloading the file may fail due to network issues. The supporting virtual machine has already downloaded and compiled the microros component. There is no need to reinstall the ESP32-microros component unless necessary.

1、Download microros components

Download the microros component to ~/esp/Samples/extra_component. Here we take downloading the humble version as an example.

mkdir -p ~/esp/Samples/extra_components
cd ~/esp/Samples/extra_components
git clone -b humble https://github.com/micro-ROS/micro_ros_espidf_component.git
cd micro_ros_espidf_component

micro_ros component source code address:https://github.com/micro-ROS/micro_ros_espidf_component

 

2、Activate the ESP-IDF development environment

Run the following command in the terminal

xxxxxxxxxx
source ~/esp/esp-idf/export.sh

Note: Every time you open a new terminal, you need to activate the ESP-IDF development environment before you can compile the ESP-IDF project.

 

3.、Install dependencies

Run the following command in the terminal

xxxxxxxxxx
pip3 install catkin_pkg lark-parser empy colcon-common-extensions

Note: Be sure to activate the ESP-IDF development environment before running the above command.

 

4、Modify microros configuration

The default microros configuration only supports 1 node, 2 publishers, 2 subscribers, 1 service, 1 client, and 1 history record.

If you feel it is not enough, you can modify the microros configuration. If you do not modify it now and need to recompile if it does not meet the requirements for subsequent use, you can enter the following command to clear the files generated by microros compilation, and then recompile to generate a microros static library.

xxxxxxxxxx
cd ~/esp/Samples/extra_components/micro_ros_espidf_component/examples/int32_publisher
idf.py clean-microros

Modify the colcon.meta file in the micro_ros_espidf_component directory, find the "rmw_microxrcedds" column, and then modify it according to the actual situation. For ease of use, the publisher, subscriber, and history records are all modified to 3.

NOTE:Since the performance of the microcontroller is limited, it can just meet the needs to avoid wasting resources and affecting the communication speed.

xxxxxxxxxx
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_XML_BUFFER_LENGTH=400",
                "-DRMW_UXRCE_TRANSPORT=udp",
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=3",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=3",
                "-DRMW_UXRCE_MAX_SERVICES=1",
                "-DRMW_UXRCE_MAX_CLIENTS=1",
                "-DRMW_UXRCE_MAX_HISTORY=3"
            ]
        },

 

5、Compile and generate microros static library

Then run the following command in the terminal.

xxxxxxxxxx
cd ~/esp/Samples/extra_components/micro_ros_espidf_component/examples/int32_publisher
idf.py set-target esp32s3

After compilation is completed, "Configuring done" and "Generating done" are prompted.

image-20240116191115430

At this time, the system will automatically download the required files and compile and generate the libmicroros.a static library.

xxxxxxxxxx
ls ../../*.a

image-20240108192820638

 

6、Instructions for use

After compiling and generating the libmicroros.a static library, it means that the assembly and installation are complete. Next, you only need to add extra_components to the external components of the project.

Add the following content in the root CMakeLists.txt file of your project, where "../../extra_components" is replaced according to the actual path.

xxxxxxxxxx
set (EXTRA_COMPONENT_DIRS "../../extra_components")

If you need to modify the compilation parameters of microros, you can run the following command to clear the cache of microros, and then recompile to generate the libmicroros.a static library.

xxxxxxxxxx
idf.py clean-microros

 

ESP32-IDF configuration tool
Install and start microROS agent

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文