Implementing path tracking algorithm on a Differential drive robot

Reference path and actual path traced by the robot

This small project was a part of an assignment for the class Introduction to Robotics. I implemented a path tracking algorithm, known as "Pure Pursuit," on a differential drive robot. The pure pursuit is an algorithm the enables a differential drive robot to follow a pre-defined path.

The robot that I used was based on a Beaglebone microcontroller. Therefore, I chose C++ as the programming language. I programmed a closed-loop control to output the commands for motor drivers of the robot to control the speed of each motor according to the feedback from wheel encoders.

Finally, I tested the algorithm on the robot and the path traced by the robot was in close proximity with the reference path.

(Aug. 2015 - Nov. 2015)

Software utilized:

  • Linux
  • MATLAB