Component Overview
This section outlines the key hardware, software, and communication modules used in our project "Coordinated Autonomy: Goal-Oriented Navigation with TurtleBot and ESP32".
📦 Hardware Components
| Component | Purpose |
|---|---|
| TurtleBot 4 | Mobile robot platform (LiDAR, IMU, Camera included) |
| Raspberry Pi 4 (on TurtleBot) | Main onboard computer, runs ROS2 |
| ESP32 Microcontroller with IMU | Sends wireless goal coordinates and orientation data to the Raspberry Pi |
| LiDAR Sensor (on TurtleBot) | Real-time mapping and obstacle detection |
| Camera (on TurtleBot) | Obstacle detection, path planning |
| IMU (on TurtleBot) | Orientation and stability sensing |
💻 Software Components
| Component | Purpose |
|---|---|
| Operating System: Ubuntu 22.04 | OS running on Raspberry Pi |
| Robotics Framework: ROS2 (Humble) | Communication, navigation, and robot control |
| SLAM Toolbox | Real-time mapping of the environment |
| Nav2 Stack | Path planning and obstacle avoidance |
| RViz2 | 3D visualization of robot data |
| rqt | GUI plugins for ROS2 monitoring and visualization |
| Custom PyQt GUI | Displays real-time sensor data and robot status |
| Low-pass filter (software) | Filtering noise from ESP32 IMU data |
| Custom ROS2 Nodes | For communication, sensor parsing, navigation control |
📡 Communication Components
| Component | Purpose |
|---|---|
| Wireless ROS2 Topic Transmission | ESP32 → Raspberry Pi communication of goal coordinates and IMU data |
| Local ROS2 Topics | Raspberry Pi internal communication between LiDAR, camera, IMU, and navigation stack |