This project is an embedded systems and robotics application that transforms a Roomba into a remotely navigable robot with real-time object detection and environment mapping capabilities.
The robot is equipped with:
- A sonar sensor and infrared sensor mounted on a servo motor at the front of the bot
- A Texas Instruments Tiva TM4C123GH6PM microcontroller to control motion, sensors, and communication
All register configurations and peripheral control were implemented directly using the microcontroller’s datasheet, without high-level abstraction libraries.
A Python-based GUI communicates with the robot over a Wi-Fi connection, continuously receiving telemetry data such as:
- Robot position and angle
- Detected objects
- Floor obstacles
- Sensor readings
The robot is designed to navigate an unknown test field with no prior knowledge of the environment, using only live sensor feedback and user input from the GUI.
[ Sensors (Sonar + IR) ]
↓
[ Servo Motor Sweep ]
↓
[ Tiva TM4C123GH6PM MCU ]
↓
[ Wi-Fi Module ] ⇄ [ Python GUI ]
- Roomba mobile robot base
- Texas Instruments TM4C123GH6PM microcontroller
- Ultrasonic distance sensor (sonar)
- Infrared proximity sensor
- Servo motor (for sensor sweep)
- Wi-Fi communication module
- Power distribution circuitry
- Bare-metal register configuration using TI documentation
- GPIO, UART, PWM, timers, and interrupts configured manually
- Sensor polling and servo sweep logic
- Motion control and obstacle detection
- Wi-Fi data transmission
- Real-time data reception over Wi-Fi
- Visualization of:
- Robot orientation
- Detected objects
- Floor obstacles
- Manual remote control of robot movement
- Field mapping display
- Real-time object detection
- Live environment mapping
- Servo-based scanning system
- Remote navigation via GUI
- Autonomous sensor feedback loop
- Wi-Fi telemetry streaming
- Low-level register-based MCU control
The system is designed to:
- Navigate a test field with no preloaded map
- Rely solely on live sensor data
- Be manually controlled through the GUI
- Track and display detected obstacles and robot orientation
This demonstrates:
- Embedded programming
- Sensor integration
- Networking
- GUI development
- Robotics control
- The servo sweeps the sonar and IR sensors across a range of angles
- Distance and obstacle data is collected
- Position and orientation are computed
- Data is transmitted over Wi-Fi
- The Python GUI displays the robot and detected objects
- User inputs control movement in real time