MicroROS-ESP32-WiFi-Controlled-Robot
MicroROS-ESP32-WiFi-Controlled-Robot copied to clipboard
ESP32 based differential drive mobile robot with MicroROS interface for Wifi controlling
MicroROS ESP32 WiFi Controlled Robot
Welcome to the MicroROS ESP32 WiFi controlled robot project! This repository contains all the necessary files and instructions to build, program, and integrate a fully functional robot using the ESP32 and MicroROS with ROS2.
Introduction
If you're passionate about robotics and eager to dive into hands-on hardware and ROS2 projects, this course is perfect for you. We'll guide you step-by-step in building a fully functional robot using the ESP32 and MicroROS with ROS2 over Wifi.
Course Overview
Section 1: Building the Robot
- Assemble your robot from the ground up
- Utilize 3D-printed parts and resources we provide
- Learn about electronic connections and power distribution
Section 2: Basic Programming
- Get started with programming using PlatformIO to control your robot's movements
- Write simple code to drive the robot and navigate basic paths
- Create your custom libraries for motor driving
- Integrate the OLED display into your robot
Section 3: MicroROS Integration
- Integrate MicroROS with your ESP32 robot
- Enhance your robot’s capabilities with advanced communication using ROS2
By the end of this course, you'll have a deeper understanding of robotics, from hardware assembly to software integration, and you'll walk away with a robot that you built and programmed yourself.
Directory Details
-
microROS_bot/include: This directory contains the README file for the include directory, where you can provide information about the headers and any specific instructions or documentation.
-
microROS_bot/lib: This directory houses different libraries used in the project.
-
motor_control: Contains
motor_control.cpp
andmotor_control.h
files for controlling the robot's motors. -
oled_display: Contains
oled_display.cpp
andoled_display.h
files for managing the OLED display integration. -
ros_communication: Contains
ros_communication.cpp
andros_communication.h
files for integrating ROS communication capabilities. - README: Provides information about the libraries and their usage.
-
motor_control: Contains
-
microROS_bot/platformio.ini: This is the PlatformIO configuration file, which contains the settings and dependencies for the project.
-
microROS_bot/src: Contains the main source code file
main.cpp
, which is the entry point of the robot's program. -
microROS_bot/test: Contains a README file for providing information about any tests or testing framework used in the project.
-
resources: This directory includes all the resources needed for building the robot.
-
3d models: Contains STL files for 3D printing the robot parts.
-
base.stl
,caster_holder.stl
,cover.stl
,motor_holder.stl
-
- circuit_design.png: Image of the circuit design for the robot.
- robot_model.png: Image of the complete robot model.
-
3d models: Contains STL files for 3D printing the robot parts.
How to Run
-
Assemble the Robot: Follow the instructions provided in the
resources
directory. Use the 3D models and the circuit design to assemble your robot. -
Set Up Your Development Environment:
- Install PlatformIO in your preferred IDE (e.g., VSCode).
- Clone this repository to your local machine.
- Open the project folder in your IDE.
-
Program the Robot:
- Navigate to the
microROS_bot
directory. - Modify the
src/main.cpp
file as needed to customize the robot's behavior. - Use PlatformIO to build and upload the code to your ESP32.
- Navigate to the
-
Integrate MicroROS:
- Ensure you have ROS2 installed on your computer.
- Follow the instructions in the
lib/ros_communication
directory to integrate MicroROS with your ESP32 robot.