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.
Advantages
- 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
Advantages
- 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.
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).
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.
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.
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.
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!
To stay updated, subscribe to this site and/or grab the RSS Feeds! See you soon! :)
Acknowledgments
Some (not all) images and information has been taken from the materials of Technology Robotix Society, IIT Kharagpur.
Reblogged this on roboVITics.
Thanks Mayank, excellent work as always
Thanks! :)
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.
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! :)
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,
Thank you for the reply.
I am measuring the angle of rotation by taking (current angle – previous angle).
E.g If the robot is currently at 60 degrees then I can turn it to 150 degrees by adding 90 degrees to 60.
Regards
Dickson
Yes, but which sensor are you using to measure your angle? Accelerometer or gyroscope?
Even here, the concepts of PID would remain the same. Your reference angle would be 90 degrees, and your input angle is your current angle. Makes sense?
In car type drive,how many motors are being used?Are front wheels also having motors?If so,then how will they rotate when the wheels will rotate?