Video Demonstration of Machine Learning Robot
- Python
- Machine Learning (Imitation Learning)
- Computer Vision (OpenCV)
- ROS
- Gazebo
- PID Control Loop
This project emerged as the collaborative effort of Tony Li and Hunter Ma for the Engineering Physics 353 (ENPH 353) Machine Learning Competition. ENPH 353 is a course that introduces the fundamental concepts of machine learning to students via a hands-on, self-directed, competition. In this contest, a randomized famous individual has been murdered, and students are tasked with creating a Gazebo Simulated autonomous robot detective, which not only self-navigates the simulation environment but interacts with it as well to solve this mystery. The detective will be tasked with driving around the simulation roadways (while avoiding pedestrians and other vehicles) and will read sign boards off the side of the road which contain hints as to who committed the murder and why. Once the detective robot reads the text on each signboard, it will communicate what it believes it reads to a score tracker. The score tracker will compare the predicted text to the actual ground truth clue on each board and distribute points for correct answers. In the end, the score tracker will utilize the Chat-GPT API to generate an overarching summary of the murder case with the clues gathered.
For team workflow and management/organization of the project tasks and objectives, we used Linear. With Linear, the team was able to coordinate and parallelize the workflow at every part of the project by creating tickets and visually representing the work needed for each task. The figure below showcases what the project board looked like a few days before the competition:
The figure below shows the overall software architecture of this project. The pink shapes represent all four preset ROS topics that were used to communicate with the detective car. The two essential components, autonomous driving, and clue board detection form the left and right graphs respectively.



