Romi:

Collaborative Effort with Aiden D. Hall

For our Romi term project, we integrated various skills in robotics to create a robot capable of autonomously navigating an obstacle course. We started by familiarizing ourselves with the Romi chassis, including its motors, encoders, and additional sensors, which helped us understand how each component interacted and addressed key considerations like motor control, encoder resolution, and potential wheel slip. We developed Python classes for motor control and encoder readings, allowing us to accurately control the motors and track the robot’s position. To allow for navigation without a line, we added an IMU for orientation tracking. This enabled the robot to pivot to specific headings and maintain its orientation. For the rest of the autonomous movement, we implemented a line-following system using IR sensor with a feedback loop, allowing the robot to adjust its movement in real-time to follow a precise path. We also incorporated a multitasking scheduler, ensuring that tasks like motor control, sensor reading, and bumper task were managed concurrently. In the final demonstration, we successfully showed the robot’s ability to navigate and complete the obstacle course reliably.