In this part of the tutorial we will be talking about the two main ways sychronous vehicles use of steering:
It's Differential steering and Ackerman steering. Also omni wheels have been lately introduced to robotics but I haven't seen any big vehicle using them. If you have information please contact me at my email at the end or the tutorial if these wheels have been used lately in any vehicle so we can make the tutorial even more reliable.
Still before talking about steering methods we need to talk about degrees of freedom also known as DOF and 2D systems of coordinates.
Degrees Of Freedom (DOF)
The degrees of freedom describe the way a vehicle can move in a given space. We can however categorize the movements that the robot can do in this space into two major classes. The rotational degree of freedom and the lineal displacement degree.
The rotational as the name suggests is the ability of the vehicle to make a movement in it's given space around a given point in this space, while keeping the distance of itself and the point the same. With other words, it's the ability of the vehicle to make a controlled circling movement around a point.
By this time I think you will be a little like, WT#... Ok... looking at the photos we can understand that it really doesn't matter where this point is... It can be on the physical mass of the object or not, who cares. For example, an engine does has one degree of freedom (and by this time let me only say DOF) cause the shaft of the engine can rotate clockwise and opposite. Of course we can (by our hand) move the engine anywhere in a place but this movement can not be controlled by the engine. To be more correct the engine doesn't have any DOF, but it's shaft has. It can rotate around a single point which happens to be the center of the shaft. For a car if we turn the steering wheel, it can move around a single point that it is outside of the car. Still it has one rotational DOF. A tank can also drive around a single point. However this single point can be anywhere in space including the center of the tank. But this doesn't mean that it has more degrees of freedom. It also has only one degree of Freedom. It's a little bit blurry I know but should things be a little better in time we finish this part of the tutorial.
The lineal displacement degree of freedom is much easier to understand. This involves the ability of the vehicle or any moving part, to make a controlled movement in one and only direction. Example can be any vehicle moving forwards or backwards or any lineal actuator contracting or expanding.
Now before we talk about the DOF of ground vehicles let's talk about how we can position ourselves in a 2D space. Since ground vehicles on a flat terrain only have to worry about 2D the 3D analysis would be pointless and even more tiring... so we stick it there. ( I know that probably this is one of the most boring tutorials you have ever read but controlling a car in a 2D space isn't as easy as it looks cause to complete parallel displacement it must do a series of complex movements so prepare some good coffee and easy up )
There are mainly two systems of coordinates in 2D space:
The cartesian and most commonly used system that it's point in the 2D space is described by two distances, the distance from the X axis and the distance from the Y axis. Of course when we describe a point there is not only distance but also direction (or better if it's at the left or right side of the axis) So values grater than zero are above or at the right side of the axis and values lesser than zero are below or at the left side of the axis. Values that are equal to zero are representing points that are on that particular axis. Let's do an example here so we can better understand this. Let's say we have two points in the 2D space. One that is on the right side of the Y axis and it's distance from it is 3 and is above the X axis and the distance is 4. This is the "tricky" part. The distance is not measured on the same axis but on the other axis instead So for this point let's say P1( x = 3, y = 4). And for another point let's say P2( x = -1, y = -3). This means that this point P2 is below the X axis and it's distance from it is 3 and is on the left side of Y axis and its distance from it is 1. And all these would look like this on the paper (not toilet paper, cause they start not to be single points... :-P )
The polar coordinates are a little bit more complex both on math and calculating since they involve triangular functions to measure distances from Cartesian axis but that's only for doing the transformation. So polar coordinates instead of the distances from two axis, you got the distance from a single point, which point is called a pole, and an axis from which me measure the angle that forms from the line that crosses both particular point and the pole and this fixed axis. This axis is called a polar axis. Polar coordinated are used in systems that you are more concerted about the angle at which the point is, or the distance. It also makes life easier with integrals but well, I need the readers to keep reading and not throwing stuff at me, of jumping outside their browsers. Mercy! Ok, so let us give a simple example of what these coordinates look like. First of all the distance coordinate or R is a positive number or equal to zero, distance can never be negative. Secondly the angle fi (or theta) coordinate is 0 <= fi <= 2pi, or 0 <= fi <= 360o. The official S.I. unit is RAD, so it will be better if you get used to pi, or whatever. The transformation from rads to degrees is quite easy. x (rads) = (180/pi) * y (degrees). So for now an example on how to characterize a point in the polar coordinates. Let's say that we have two point's, P1 is at an angle of pi/3 (or 60 degrees) and it's distance from the pole is 3, and another one P2 that its angle is 7pi/6 (or 210 degrees) and it's distance from the pole is 4, what this would look like? Well, I bet something like this
Ok, I know this is getting hell boring but it's the best I can do really, a parking algorithm is a rather complex algorithm, cause not only you got to include the geometrical body of the car, but got also know the true point of steering of the car. This is basically determined by the ackerman angle of the car steering system, but hey, I've gone too far already. Let's get down to basics. How vehicles today, steer or move around a 2D space.
The most know type of steering today is the ackerman steering, used in every modern car today, or at least it's basic principles cause today's car steering system use to be far more complex, and ignore some of the dynamics of ackerman steering, but by know I really hate to elaborate on these things ( camber angle, toe angle etc etc etc ). So in this type of steering, we have the two wheels (the front wheels usually) of a four or three wheeled vehicle that they can change their angle or direction to the desired one, forcing the car ( that force is called friction, and is produced by the tires being with contact to the ground ) to change direction. Change in direction means that this force is ideally vertical to the main axis of the car, on which the car goes forward or backwards. But we don't leave in an ideal world so, the force isn't only vertical so, in real cars when steering we are also breaking the car ( I don't mean hitting the breaks, I mean reducing speed of the car). But if this breaking becomes to great for the cars inertia we start to lose grip and our car is out of control, so in FWD and mostly 4WD vehicles it's better, if not best to break before the corner and accelerate through it, something that most drivers ignore and have their cars tipped over. But don't do this with RWD cars, especially if they don't have ESP, cause you gonna look like a merry-go-round unless you know how to truly drive. But enough with driving lessons. We are here to learn car geometry, yup, correct...
Now, we need to elaborate what toe angle is. And how it affects ackerman steering, in order to fully understand the whole concept. By this time I gotta say, that I think the picture on the wikipedia about ackerman streering is wrong, but I gotta talk with a engineer about that and correct it. In ackerman steering the two, usually front wheels, connect to the main body with one rotating joint, so we can say that the steering wheels have one degree of freedom. Then each wheel have its own steering arm, which arm connects to a rail that can move freely. So we have two arms connected to a rail, so the two arms can't move independently. The rail is connected with a simple gear system, that today is hydraulically or electronically assisted, to the steering wheel, so the rail goes where ever you want and wee!!! the car is steering. And nice things can happen, xexexe... But now comes the toe angle, what is the toe angle, well, we talked about the arms that wheels have, but these arms don't necessarily are parallel to each other. If they aren't parallel they form an angle with the main axis of the vehicle which is called toe angle. The toe angle changes the geometry of the steering of the vehicle. So basically there are three conditions you may meet when dealing with toe angles.
Zero Toe Angle, True Ackerman Steering, and parallel arms.
That is when the two arms are parallel to each other, or for better explanation when the axis that forms from the joint of the arm with the main body and the joint with the steering rail is parallel to the axis of the main body. When this set up is selected, the two wheels always form the same angle with the main body. This is the first set up ever used in cars. Up to some certain speeds this set up can be used without serious problems, but in higher speeds the loss of grip of the outer wheel and the tire wear can not be neglected so for high steering performance and less braking friction. Toe angle in changed. This is how the car steering system should look like when the arms are parallel to the main body axis.
And when the car steers the cycles that car wheels follow will look like this:
Now there are two occasions that can occur when changing the toe angle,toe out (or more ackerman steering) and toe in (or less ackerman steering). For example a car set for more ackerman steering will look like this:
And it look like this when steering:
Now, when we have more ackerman steering set up or toe out, the inner corner wheel is set up to follow a closer inner angle ( or tries to follow a circle with less diameter ) resulting into harder cornering ( the vehicle cornering force vertical to the main body axis is greater ), but you can also expect increased tire wear and in some occasions oversteer ( the car steers more than it's inertia allows it ). This set up is increases steering performance when tight cornering so it's the most common set up you can meet in cars today. When the car steers the cycles that car wheels follow will look like this:
The final set up is the toe in, less ackerman steering. In this set up, the inner wheel tends to follow the outer cycle that the outer wheel follows. This of course decreases the capabilities of the vehicle in low speed cornering but also decreases sensitivity to the steering wheel. So such configurations are often seen at NASCARs and/or dragsters where high speed cornering and wheel needing to enter only small corrections is crucial.
Finally for conclusion we gotta say that ackerman steering has 2DOF or Degrees of freedom, one rotational degree of freedom and on lineal degree of freedom, the fact that parallel displacement does require complex maneuvers doesn't degrease the degrees of freedom.
Of course there are other methods of steering except from ackerman steering. The secondly most know and used in almost every heavy armored vehicle a.k.a tanks and/or some personnel carriers, is differential drive. Differential drive consists of two independent wheels of tracks that move freely (on the will of the user but without interfering each other ). The major difference from ackerman steering is that the vehicle can rotate on its center of rotation which is near or the same as the center of mass of the vehicle enabling a turn without any forward speed, then again, some may consider that it has more DOF than ackerman steering but this is wrong. It also has only one lineal degree of freedom, cause it can forward/backward move only in one axis, and one rotational axis. Vehicle examples of differential drive are the tanks and the segways. (Segway is a registered mark or its company and mentioned only as an example etc etc etc)
Finally, there is also the kinda newly introduced omniwheel drive, or kiwi drive or whatever. It uses some specially designed wheels that produce less to none friction when turned vertically to their drive axis. This enables with the use of three or four wheels on the vehicle but most importantly this set up gains an additional DOF. With this set up lineal displacement is possible on both axis, and still the rotational degree of freedom exists. So we have 3 DOF, and it's the easiest way to move in the 2D space, but the algorithm does require some trig factions to have a nice head locking ( or direction locking ). Still the purpose of this tutorial isn't omni drive so, I'm not gonna elaborate. And this is the look of an omni drive robot (there are some experimental clarks but nothing big sized really, this type of steering or driving is used for the extra DOF in tight situations and not high speed cornering):
So these are the basic steering methods used today, the most efficient one is of course the ackerman steering, with 2DOF, thus so commonly used today, in almost every car, or at least some of its principles. Secondly and most used due to its maneuverability comes the differential drive also with 2DOF. Omni drive is the most maneuverable but also the one that cost the most to materialize, it's fairly new to the market and hasn't seen almost any heavy duty action, despite the most useful 3DOF, so we can only hope for the future.
In the next chapter we are going to see the most simple control algorithm we can easily all use named the P.I.D. and what these letters mean. That probably means more mathematics, but hey you are trying out some fuzzy logic here not a coffee machine...
Disclaimer: The photos are taken from:
And some from this own forum. I do not own these photos and I mean no copy of someone else work.
My task is to make a tutorial for everyone, if anyone is disturbed by the photos being used here, please
leave a comment and an email and we can talk this over.
Again no infriction is meant and this is for educational
purposes only. Please let me know if there is anything wrong.
Also have a look at some of the rest of the member pages and of course the forum tutorials:
This one should help if you want to know about omni drive better.