An autonomous mail delivery system built on the TurtleBot 3 Waffle Pi, combining Bayesian Localization, PID control, and ROS for precise navigation and reliable delivery in a simulated hallway environment.
-
Line Following:
- Implemented using a finely-tuned PID controller to ensure smooth and precise navigation along white tape paths.
- Dynamically adjusts angular velocity to minimize overshoot and improve tracking accuracy.
-
Office Recognition:
- Detects delivery locations using HSV color thresholds.
- Adapted to handle challenging lighting conditions by distinguishing colors based on hue and saturation.
-
Bayesian Localization:
- Employs a
BayesLoc
class to predict the robot's state and update probabilities based on observed colors. - Achieves convergence on the robot's position with >70% confidence.
- Employs a
-
Mail Delivery:
- Automates delivery maneuvers, including stopping, 90-degree turns, and simulated package drops.
- Executes actions only when localization confidence exceeds a threshold.
-
Real-Time Control:
- Utilizes ROS for seamless integration of hardware and software, including sensor processing and motor control.
- Platform: TurtleBot 3 Waffle Pi
- Microcontroller: OpenCR1.0 (ARM Cortex-M7)
- High-Level Processor: Raspberry Pi 3
- Motors: Dynamixel XM430-W210 actuators
- Sensors:
- Raspberry Pi Camera Module v2.1 (for line detection and office recognition)
- Programming Languages: Python (main logic), ROS (middleware)
- Control Algorithm: PID controller
- Localization Algorithm: Bayesian Localization
- Full report: Project Documentation
- Demo video: YouTube Link
This project is licensed under the MIT License.