Electronic – Finding distance travelled by differential drive robot

homeworkmobile robotrobotics

In a two wheeled differential drive robot, with wheel radius 7cm. bot starts from rest and the two motors are randomly actuated. Left wheel has rotated by 270 degrees, and the right wheel rotates by 320 degrees both in the clockwise direction. Find the distance travelled by the centre of the bot?
I am new to robotics, please help me the way such questions are tackled. Thanks

Best Answer

Draw out a path for each wheel as the robot turns continuously. You will draw two concentric circles whose difference in radius is the wheel spacing. Stare at it for long enough and you will eventually realize the path traveled is the circumference of a circle that sits in the middle of the circumference of the two other circles tracing out the wheel path. In other words, a circle whose radius is the average of the circles traced out by the wheels.

enter image description here

Therefore, the distance traveled is the average of the distance traveled by each wheel.

You can also figure out the angle that it has turned by in a similar way. If you know the distance traveled by each wheel you can figure out the radius of the two circles that maintain the wheel spacing. From there, you can average the radius of the two circles tracing out the wheel path to get the circle of movement of the body.

Since you know the distance traveled by the body, you can figure out how much arc it has traveled along the body circle and that lets you know the angle by which it has turned.