“Sheepdog” Robot (ME375)

Project Description: This duo-based final lab project was for my Controls II class in Spring 2022. Every team had the same robot kit to assemble and program, with the goal of being able to follow lines along a course, then switch actions to a distance-based “herding” mode (hence the sheepdog title).

Software Used: LabVIEW

My Role: I assembled our kit which included soldering electronics and mechanical assembly. I also created the LabView VI (program) responsible for controlling our robot using a finite state machine and inputs from three infrared LEDs for line detection and an ultrasonic sensor to detect object distance while herding.

Other Roles: My partner focused on tuning the PID control parameters from my hand-calculated starting point to drive faster for the speed-based competition.

Big Wins: We created a custom 3D printed LED shroud which dramatically improved the reliability of our IR sensors which received ambient interference before the shroud. This update plus a well-tuned PID loop allowed our robot to complete a track race with the third fastest time out of around 60 groups.

Challenges: While trying to optimize our robot speed, we encountered issues with the motor jittering at low speeds.

Key Takeaways: Controlling motors is a rabbit hole when it comes to mechatronic systems. Trying to reduce jitter with filters, friction compensation, and the like helps but requires time to tune. Finite state machines are a good way to handle autonomous task programming.

Here is a video of our robot following a line, turning, and then “herding” (keeping a constant distance from a “sheep”)

Here is the 3D printed shroud we made to reduce light interference on our line-sensing LEDs

Here is the LabVIEW VI implementing our robot’s PID and finite state machine controls