DC Motor Velocity Control, Robot Odometry and Path Planning
After completing my third year in engineering, I got my summer internship at ThinkLABS, a division of The Robotics Institute(TRI) @ IIT Bombay. It was a truly memorable and an eventful 😉 experience for me. From designing cute little robots to being bitten by a dog :-P, I had seen it all in that time span of two months.
My work was to design robot prototypes using off the shelf ‘mechano’ parts and TRI’s processor boards which incorporated DC motor velocity control, odomerty and some smart path planning.
Introduction from the report is given below, complete report, presentation and software files can be downloaded from the links listed at the bottom of this page.
Pics of the robot prototypes I designed are also given.
In the field of robotics, DC motors play a very important part. Being very light and powerful, they offer the best power-to-weight ratio while consuming minimal amounts of current. This makes them the obvious choice for any robotics application over Stepper motors.
The problem lies in controlling the DC motors, whose movements are ‘continuous’ in nature, unlike that of stepper motors which takes discrete steps. This necessitates some kind of feedback structure in the system in order to control the motor. A good place to start with is the industry standard PID controller. Digital PID technique has been used in the project.
Robot odometry deals with the calculation of x, y co-ordinates and heading angle by processing feedback data from the wheel encoders only. Odometry forms the base of path planning for robots, which can be a pretty complex if studied in its entirety.
Path planning usually involves processing a set of datum read from the sensors (encoders in this case) and then carrying out the calculations to make the robot follow some predefined/optimal path to reach some known destination.
The three robot prototypes
1. The Chariot I, for testing PID Velocity Control of the DC motors.
2. Viper, for testing Odometry Equations and X-Y co-ordinate navigation.
3. The Chariot II, the final prototype, used velocity control and odometry to implement the algorithms.