Posted by on Jun 28, 2012 in Getting Started, Robotics | 17 comments

# Robot Locomotion Principles

In my previous post, I had discussed about different parts of a robot viz. Locomotion System, Power Supply System, Actuator System, Control System, Signal Processing System and Sensor System. In this post, we will see the Locomotion System in detail.

# Locomotion System

We all know the relation between power, torque and angular velocity (shown below). Since torque (tau) is inversely proportional to angular velocity (omega), lower angular velocity will result in higher torque. Hence, Lower speed –> Greater torque

All that matters is the torque. Greater the torque, greater the pulling capacity and durability.

Traditional motors available in the market have very high angular velocity, undesirable for robotic usage (since torque is very low). Hence, we need to reduce the speed in order to increase its pulling capacity, and that’s why we use gear systems. Gear systems reduce the effective angular velocity of the motor, thus increasing its torque and pulling capacity. Hence, Reduce Speed –> Increase pulling capacity –> Use Gears

# Wheeled Locomotion Principles

There are different types of wheeled locomotion systems. They are listed below. Each locomotion system is unique, has some advantages and disadvantages. We will discuss them one by one.

• Differential Drive
• Car Type Drive
• Skid Steer Drive
• Articulated Drive
• Synchronous Drive
• Pivot Drive
• Dual Differential Drive

### Differential Drive

This is the most popular and widely used type of drive for wheeled robots, because it is the simplest and easiest to implement. There are two motors, each having an independent motion. In the first two diagrams shown above, both the motors are rotated in same direction of motion and thus the robot moves either forward or backward. In the last two diagrams, the two motors rotate such that they oppose each other’s motion, thus generating a couple and creating a turning effect.

Differential Drive

• Simple and easy to implement
• Arbitrary motion can be achieved
• In-place rotation (zero radius) can be done
• Difficult to maintain straight line due to independent motors

### Car Type Drive

This is the type of drive most common in real world but not in the robotic world. Here, we have a pair of wheels which direct where the robot should move, whereas movement is brought about by a different set of wheels. Translatory motion is provided by the rear wheels whereas rotational motion is provided by the front wheels. Though both motions are independent, but their interlinking results in greater accuracy.

Car Type Drive

• Replicates the real world
• Difficult path planning
• Inaccurate movement
• Slight inaccuracy results in huge errors
• No direct directional actuators available

### Skid Steer Drive

It is a close relative of the differential drive system. Here, all the motors of one side are tied together as one to increase traction (e.g. tanks). Only the center motors are connected. The remaining motors move due to the force of the central motors. During turning, the wheels skid/slip over the surface. Turning can occur due to difference in the motion of the two motors.

Skid Steer Drive

Its properties are similar to the differential drive system, except that it provides greater traction and has quite inaccurate position tracking.

### Articulated Drive

Here, the body/chassis of the robot is deformed to produce rotatory motion, whereas the translatory motion is provided by the wheels. Two motors are required, one for translatory motion (wheels) and another to change pivot angle (for the linear actuator).

Articulated Drive

Rest other features are similar to the car type drive.

### Synchronous Drive

Here, the robot can move in any direction without changing its alignment. Two sets of motors are required, one to drive the wheels, other to change their direction. This is clearly shown in the diagram above.

Synchronous Drive

It has synchronous operation and greater accuracy. It is a bit complex to build, but simpler to use!

### Pivot Drive

This is a unique type of drive system. There is a four wheeled chassis which gives translatory motion and a rotating platform which gives rotational motion. Thus, it achieves accurate straight line motion. While turning, the raised platform is lowered such that it lifts the chassis, rotates by desired angle, and then is raised again to keep the chassis back on the ground. This can be achieved using one/two motors, depending upon the complexity and requirement.

Pivot Drive

### Dual Differential Drive

This is similar to differential drive, but uses special gear assemblies, which increase the accuracy of straight line motion and on-spot turning.

Dual Differential Drive

So this was all about the different types of wheeled locomotion systems. In the next post, we will discuss about different types of actuators in brief. Please comment below if you would like to share some of your thoughts!

### Acknowledgments

Some (not all) images and information has been taken from the materials of Technology Robotix Society, IIT Kharagpur.

1. Thanks Mayank, excellent work as always

2. dude where is the artile related to ifferent types of actuators.. u ve mentioned in the article n i cant find it.. !

• Hi Vignesh
Actually after that post, I didn’t get time to write the actuator post. Sorry, but it isn’t there right npw. Currently I am writing Computer Vision tutorials. I will write it soon and post it. Till then, if you have any specific query, feel free to ask over here.

3. Hi Mayank,
Thanks! I found this post really interesting. I seem to have liked your Facebook page much earlier but I don’t know how I missed your blog. I am following it now though!
PS.I like the way you describe yourself.. :-)

• Hi Siddharth,
Thanks for the kind words. All the best for your endeavor as well! :)

4. Hi,
Thank you for always sharing very helpful posts.

I need help on how I can drive a robot in a square pattern using PID.
I can drive it on straight line (moving forward) but I have a challenge of making it move in a square pattern using PID.
I am using Atmel Studio 6.2.

Thank you.

• Where do you exactly need to use PID?
For PID, you need a reference signal. For example, if you’re making a line follower robot, the line is your reference that you must follow, whereas the path followed by your robot is the actual trajectory taken. PID is used to reduce the error between the reference and actual trajectory. So my question to you is, what is your reference in this case?

• Hi Max,
I am using Electronic Compass.
My reference is robot’s initial direction (before it start moving)i.e the initial angle from the Compass.

I initially get the initial direction of the robot then I make it to move. When it is moving and tends to deviate from the initial direction (angle from electronic compass) then using PID I correct it so that it can in the same direction.

Thanks

• Hi Dickson,
I suggest you look at this tutorial. It explains how you can make a PID based line follower robot. It should pretty much be the same for your case. Make sure you implement the PID equations correctly, and tune them properly.

• Hi Max,

Thank you.
I went across that tutorial before and I succeeded making the robot moving in a straight path.
Now the challenge I have is to make it move in a square path.

Regards
Dickson

• How are you measuring your angle of rotation?

• Hi Max,