What is crab steering??

What is crab steering or do I not want to know?? Is this in anyway related to ackerman steering because the word crab tends to pop its way up in discussions about ackerman steering.

Crab steering makes all the wheels turn to one direction, so you can drive diagonally/vertically/horizontally.

Ackerman is just how they turn. You know how the inside wheel turns tighter than the outer wheel so it has better control over driving, and is more efficient.

With crab steering you wouldn’t need ackerman steering.

And you know what is even better than turning all your wheels toghether? Turning all your wheels independently! and driving them independently too. If you do that you can (with the proper software) move in any imaginable pattern across the playing field, with no loss in stability or friction (as would be associated with omni-wheels). It is simply a matter of assigning a vector to every wheel on your robot, then turning and driving it to that vector.

Fun huh?

Ummm…if u control everywheel independantly you run the risk of running them in opposite direction due to either driver or programing error and either stalling ur motors or ripping ur bot appary…sounds way to risky for the very very little advantage it gives over crab steering

If you want to see a robot that pulled it off, look in the archive under the 2001 Chief Delphi Robot, it had 4 tread steer, 4 tread independent drive. The only drawback I see is 8 motors needed to do it. Otherwise you can get most of the advantages with6 motors having the front/rear independent or side/side independent. If you want more info on it, leave me a message, I can provide prints and Code for it.

B.T.W. The most difficult part for us last year was getting the vector off the rectangular coordinates that the joystick provides, then you steer the wheels with a feedback loop to match.

Last year (2002) Delphi ELITE did just what u are wondering… we had a 4 wheel independent drive/independent steer robot… it took 8 motors to get it to do all the kewl shtuff but it performed like a charm after all the bugs were worked out… we had 4 different “fronts” of the robot so that it would translate horizontally without having to mess with the joystick. we also had a front for the goal so we could turn around the goal instead of turning the goal around us… if u have any questions er anything i can help out with jus email me at [email protected]

*Originally posted by Gope *
**Ummm…if u control everywheel independantly you run the risk of running them in opposite direction due to either driver or programing error and either stalling ur motors or ripping ur bot appary…sounds way to risky for the very very little advantage it gives over crab steering **

There are many different ways of successfully incorporating crab steering into a design. The two many ways are either 5 or 8 motor designs.

Each unit/wheel is mounted on a vertical shaft, and consists of a wheel driven by a motor. The motors need to be geared so that they all spin at approximately the same RPM. Then, for the 8 motor design, each vertical shaft is driven by a motor so that the shafts can be rotated independently. This design requires a potentiometer on each shaft to recieve the direction of the wheels. Because of this, the wheels cannot be rotated a full 360 degrees, or the potentiometer will be damaged.

The 5 motor design uses the same wheel unit, but uses sprockets on the vertical shafts. Then, all the shafts are connected by a chain, which is driven by 1 single motor. I remember one bot that used this. They used 2 Fisher Prices, 2 drills on their wheel units, and then used the extra drill for rotating the wheels. The cons of this design, is if the chain “skips”, one wheel will be thrown off. I’m not sure if it’s necessarily lighter because of the chain (I would probabaly use 3/8" to be safe, but I think they used 1/4"). The advantage is that it is simpler, and you would only need 1 potentiometer to tell the direction of the wheels, and less motors and gears need to be used.

WildStang CAD Drawing Picture 2nd Picture WildStang Website

Check the whitepapers section.

We used the 5 motor setup exactly as stated with 1/4" chain, no problems for the entire season, no hint of any issues with the chain skipping since it was tensioned pretty tight and all of the vertical ‘turrets’ were built with ball bearing for up/down and delrin for side to side play.

247 did this last year but with 4 motors instead of 5. If you saw it, we were a prymid shaped 3 wheel bot. We used a drill motor on each wheel for actual powering and I believe the FP’s for the turret spin of them. Through software we only allowed a 160º range of motion (So as to protect the wiring from a full spin) which in turn gave us 320º availible motion.

We also, through software, set up ‘entry points’ for how our “claws” were alligned to go in and grab goals effectively. Having 3 drill motors on each wheel (then later a pneumatic shift attached to the transmission) gave us ample speed to get a goal first and then enough pushing power to steal goals from some of the beefier competition (Such as Truck Town Thunder and the Red Baron).

[edit]
On the topic: Crab steering is moreso defined in previous years as a 90º flip to all wheels.


    __||__        __||__
   |]  ]|      |==  ==|
   |      |  TO  |      |
   |]  ]|      |==  ==|
    ¯¯¯¯¯¯        ¯¯¯¯¯¯

[/edit]

I thought I should throw in some more information about our robot since last year we did use a 4-wheel crab system.

Crab steering simply put is omnidirectional steering. On your ordinary car the front two wheels are rotated clockwise or counterclockwise about their Y-axis to give you the ability to steer. Crab steering uses this concept, but instead rotates all the wheels in the same direction to move in a line in that direction.

= = \ \ || || // // = =
= = \ \ || || // // = =

Crab steering is accomplished through potentiometers and massive amounts of code. As the motor turns the crab module, the potentiometer is rotated. When it turns to a certain value it is stopped so as not a turn past the limit of the potentiometer.

For our robot last year we added lots more neat features in our code to make the movements smoother. One of my favorites was what we called ‘quad drive’ or what some refer to as ‘monster truck drive’. In this the front wheels turn 45 degrees in one direction and the rear wheels turn 45 degrees in the other.
\ \
// //
The only problem with this is that the modules are put under a lot of stress because the outter wheels tend to drag on the carpet when turning. Your Ackerman steering would be very useful for this type of turning as it would stop wheels from turning. The best we could do for this is force the outter wheels to drive faster to keep up and drag less and keep the motors from stalling out. Ackerman steering could be accomplished by using four independently steered crab modules.

There’s a few different ways to accomplish ‘crab’.

  1. 4 independent crab modules using 4 crab motors
  2. 4 modules separated by front and back crab motors with both motors in either the front or back connected by a chain
  3. 2 independent crab modules using 2 crab motors
  4. 2 modules with one crab motor connected by a chain

If you have any additional questions please feel free to ask.

Crab Drive Motor, Crab Module, Crab Module Placement

The only problem with this is that the modules are put under a lot of stress because the outter wheels tend to drag on the carpet when turning. Your Ackerman steering would be very useful for this type of turning as it would stop wheels from turning. The best we could do for this is force the outter wheels to drive faster to keep up and drag less and keep the motors from stalling out. Ackerman steering could be accomplished by using four independently steered crab modules.

Hmmm… They way they fix that in the monster truck world would be to use a differential because the wheels should be moving at two differnt speeds. Of course you did that using programing. Thanks for the info… Im just not hip to this robotics lingo. Plus I couldn’t imagine what a crab would do that would give it this name:D

Chris A did a very good job of explaining “Crab” steering. Simply put the mechanism mimics the way a crab moves across the sand of a beach. It literally takes off in any direction with it’s eyes always fixed at the object it is running toward or away from. This is a term that is also used in broadcasting as it is the way a camera dolly is steered to move the camera across the studio floor with the lens always pointed at the talent.
Our first attempt at crab used two drive wheels coupled by chain and driven by a motor. The “front” wheels in that robot where casters just to follow the power delivered by the drive modules. We used this design in the year of floppies and puck.
This year we had independent front and rear coupled pairs. Each pair had a steering motor and pot and were couple from side to side by chain. The advantage to this steering is there is no need to turn the robot to drive in a particular direction.
As Chris stated above, there is a need for feedback and that comes in the form of a pot attached to one of the steering axis to provide a reference for which direction the module is turned to. Rotation is limited to less than 270 degrees (the max rotation of a pot) to simplify design. This year software design allowed the robot to steer using crab, normal two wheel steer but four wheel drive, or full up tank drive and since the front and rear pairs were independent, the front could be turned left while the rears were turned right providing a distinct center of rotation for controlling a goal in a struggle with another robot. With practice we were able to transfer the center of rotation from inside the robot to the center of a goal or the virtual center of two goals. (yes, we were able to grab and control two goals.)

I have a question about the speed of crab steering.

If 2 robots are about to hit head on, i.e. you are driving forward, and you move sideways (not turn but move the whole bot with the front still facing in the same direction), then backwards (with the front still facing in the same direction), how quickly does it turn? Is the reponse immediate, or does it take a second for the wheels to turn, and the robot kind of loops around? Does it also depend on the speed/torque of the turning motors?

i would make a diagram but it seems to mess it up when i post it.

*Originally posted by Ogre *
**I have a question about the speed of crab steering.

If 2 robots are about to hit head on, i.e. you are driving forward, and you move sideways (not turn but move the whole bot with the front still facing in the same direction), then backwards (with the front still facing in the same direction), how quickly does it turn? Is the reponse immediate, or does it take a second for the wheels to turn, and the robot kind of loops around? Does it also depend on the speed/torque of the turning motors?

**

This very much depends on your steering motors and your programmers. For our robot last year (226) we were using the third drill motor in low for the steering motor. We used Dr Joes robust drill shaft to a small (about 14 tooth) sprocket using a trantorque. The steering modules had a 60 tooth gear on each. In this scenario the steering is instant (<1 sec) our only problem is that the modules were set up in software to only steer from straight right to straight left (180 degrees) so if you went from straight right (0 degrees) to say 300 degrees the wheels flipped over to 120 degrees and the motors reversed direction. This move took about a second and the robot did a little crazy weave for a few feet until it took off in the opposite direction. We also tired some other things such as mounting a 10 turn pot on the chain to sense position, however this led to less accuracy than sensing the actual of the steering module. If we were to do it again we would split the front and back and mount the feedback directly to the steering modules. Also I think we overbuilt them with full bearings and such, using more delrin and bushings would probably stand up just as well. Here is a pic from the inside of the chassis during the build phase

http://www.chiefdelphi.com/forums/pictures.php?s=&action=single&picid=2090&direction=DESC&sort=date&perrow=3&trows=4&quiet=verbose

http://www.wildstang.org/2002/video/video2002.htm

Above is a link to the WildStang videos page of our 2002 robot. If you watch some of those videos you may be able to get a good idea of how crab drive works. The first video on the page shows the drive pretty close up and might give you an idea of the speed.

As stated in the post previous to mine, the drive will turn as fast as the steering motors allow it to. The speed is also determined by how much friction lies between the wheels and the floor. A lighter robot with little tread will require less power to turn resulting in a possible greater turning speed.

For our robot we used two globe motors to turn the crab modules. One was used to turn the front two modules and one for the rear two.

To control our crab movement we set up two joysticks. One was set up to control our ‘regular’ drive movement (Forwards, Backwards, Turn Right, Turn Left). The other was used for ‘crabbing’ or ‘strafing’ (X-axis controlled modules rotating clockwise or counterclockwise). This made for greater control over robot movement and also easier driving.

ANother question:

How did you guys set up the controls for it, i know team 48 used the two joysticks as explained before, but how did other teams do it
So far the teams that i know have had crab steering are:
team 48 in 2002
team 111 in 2002
team 226 in 2002
and i remember 47 having it in 2000

Our Control System:

The CODE is posted here and on the CODEX

We tried to keep operation as simple as possible for the operator, since we knew it was going to be hard to control because of its speed (right around 12ft/s) so we stayed with only one joystick.

In normal mode if the operator pressed no buttons it locked all four wheels straight ahead and steered in a tank setup. The speed defaulted to somewhere around 50% of maximum.

The top button activated our 4 wheel steer, such that when it is held down the robot will keep its orientation but the drive will follow the joystick in any direction. Again another plug for LeoM, he came up with a really sweet algorythm for the steering angle in one line that works flawlessly since PBasic couldn’t do it.

The trigger then kicked everything into full speed, we usually came off the line in turbo 4 wheel steer to try and hit the center goal no matter where we were lined up at.

As a last helper for the driver, our operator interface board switched the orientation from front to back with a switch so that made figuring out the inputs when the robot is reversed no longer necessary.

Now that we have tried it somewhat successfully I would probably go to the mechanical setup more like Team 111 with independent front rear steering to give you more options. I doubt we will have to push like last year so the high speed setup might work this year. Last year we didn’t have the right ratio or traction to rotate a goal about the center of the robot, so we had to rotate around the goal then take off with it. A system like Team 111 where the front/rear oppose each other in direction would probably have worked better since we scrub off so much power to use tank steering.

I think the hardest part of using the single joystick was the inverse trig functions in pbasic and now those are available to all teams.

Team 217 used a steering wheel and a joystick for throttle. We tried the 1 joystick method and even used LeoM’s algorithm (thanks LeoM and Matt R.), but our drivers just had information overload. They had to shift (many ratios, not just one gear), switch between crab and monster truck steer all with one joystick. It was just too much. Our students love using the steering wheel, so we had 2 modes: Crab, and monster truck. In crab mode, the steering wheel turned all 4 wheels in the same direction from -90 to +90 degrees (0 is straight ahead). In monster truck mode (4 wheel steering), we turned the front wheels 3x as much as the rear wheels in opposite directions. Buses also use this steering. We could not use skid steer, because we had too much traction on all 4 wheels (we placed a priority on traction). The joystick was just used for throttle and switching gears. We had 2 gearboxes and 2 steering motors. The front wheels were combined in steering and shared the same gearbox. The rear wheels were combined in steering and shared the same gearbox.

We have been using the steering wheel for the last 2 years and love it. The steering wheel works great for skid steer too.

-Paul

One way to think of the response is that the center of motion for each drive wheel is the steering axis of the drive module not the steering center of the robot. With that said, the limiting factors on response are the momentum of the robot (plus weight of the robot and whatever it is attached to) and the friction with the floor, the speed of the steering motors and of course the reaction time of the driver. Since drivers are about the same average age and practice, we can assume the reaction time is under a second and far less than the other factors. Since your scenario generally does not take place at sustained maximum speed, the other factors are dominated by the speed of the steering mechanism and that is very fast in the robots I have seen. Low center of gravity is essential, of course, as these moves would generally lift the drive wheels off the floor or tip the robot over. The Michigan Tech Team had a unique method for crab steering involving three drive wheels (the wheels were the special design to grab in one direction and roll sideways) and they achieved steering by applying different power to each motor. It was very impressive to watch and a very simple design.