Skip to content

Latest commit

 

History

History
80 lines (54 loc) · 2.77 KB

File metadata and controls

80 lines (54 loc) · 2.77 KB

Micro-ROS Robot Projects

This repository contains three micro-ROS-enabled Arduino/ESP32 projects for robotics applications:

  • bot_control_twist_microros: Differential drive robot controller with PID motor control and ROS2 Twist command subscription.
  • imu_microros: Publishes IMU sensor data to ROS2 using micro-ROS.
  • oled_text_microros: Displays ROS2 String messages on an OLED screen.

1. bot_control_twist_microros

Description

Implements a differential drive robot controller. Receives velocity commands (geometry_msgs/msg/Twist) via micro-ROS, computes wheel speeds, and controls two DC motors with PID feedback and encoder support.

Key Files

Features

  • Differential drive kinematics
  • PID speed control for each motor
  • Quadrature encoder support
  • micro-ROS WiFi integration

2. imu_microros

Description

Reads data from an LSM6 IMU sensor and publishes it as sensor_msgs/msg/Imu messages to ROS2 via micro-ROS.

Key File


3. oled_text_microros

Description

Subscribes to a ROS2 topic and displays incoming std_msgs/msg/String messages on an SSD1306 OLED display.

Key File


Getting Started

Hardware Requirements

  • ESP32 or compatible Arduino board
  • DC motors with encoders (for bot_control_twist_microros)
  • Motor driver (H-bridge)
  • LSM6 IMU sensor (for imu_microros)
  • SSD1306 OLED display (for oled_text_microros)
  • WiFi network

Software Requirements

Setup

  1. Update WiFi Credentials
    Edit the .ino files and set your WiFi SSID, password, and micro-ROS agent IP address.

  2. Wiring
    Connect your hardware according to your setup. Update pin assignments in the code as needed.

  3. Build and Upload
    Open the desired .ino file in Arduino IDE, select your board, and upload.


License

This project is for educational and research purposes.