Log in

View Full Version : First team with swerve drive?


JamesCH95
07-01-2011, 10:45
I have been wracking my brain trying to think of the first team in FRC with a swerve drive system, can you help me out?

Edit: why not also mecanum, "kiwi", or other omni-drive setups.

thefro526
07-01-2011, 10:47
I have been wracking my brain trying to think of the first team in FRC with a swerve drive system, can you help me out?

Earliest one I know of was Team 47's in 2000.

http://www.chiefdelphi.com/media/photos/12949

I believe someone had one in 1998 or 1999 but I can't remember who it was.

Jared Russell
07-01-2011, 10:58
First mecanum drive in FRC I believe was in 2005, team 357 (showing my regional bias here...I want to say other teams had them in 2005 as well).

Joe G.
07-01-2011, 11:00
First mecanum drive in FRC I believe was in 2005, team 357 (showing my regional bias here...I want to say other teams had them in 2005 as well).

190 also had one that year

Al Skierkiewicz
07-01-2011, 11:16
I remember the big stir when Chief Delphi lifted up the hood on their robot that year. It was a coaxial drive as I remember. A lot of chain running around the top of the chassis.

JVN
07-01-2011, 11:30
Chief Delphi 1998 had a 2-wheel swerve. This was the first swerve drive...
Sometimes referred to as "delphi drive" in the old days.

-John

JamesCH95
07-01-2011, 12:51
Great info. Any idea when the first 4-wheel swerve was made?

Ether
07-01-2011, 12:55
Is there a shorter name, widely understood within the CD community, for a 4-wheel independent-steering and independent-driven drivetrain, with unlimited rotation of the wheels and sensors, and no gaps in the sensor feedback?

If not, could a longtimer here please invent one? It sure would be useful when discussing control methods.

JVN
07-01-2011, 12:58
Is there a shorter name, widely understood within the CD community, for a 4-wheel independent-steering and independent-driven drivetrain, with unlimited rotation of the wheels and sensors, and no gaps in the sensor feedback?

If not, could a longtimer here please invent one? It sure would be useful when discussing control methods.




The Unicorn drive?

EricH
07-01-2011, 12:58
I don't think there is one, so:

How about a "pod" drivetrain, where each wheel is in a pod and each pod is independent of the others?

BTW, don't just limit it to 4. 16 has done a 3-wheel pod drive for years.

Might not be unlimited rotation, but it sure gets the job done.

Alan Anderson
07-01-2011, 12:59
Is there a shorter name, widely understood within the CD community, for a 4-wheel independent-steering and independent-driven drivetrain, with unlimited rotation of the wheels and sensors, and no gaps in the sensor feedback?

If not, could a longtimer here please invent one? It sure would be useful when discussing control methods.

Some systems with most of those features have the name "pod" in them. Given the number of hypothetical features listed, though, I'm tempted to dub it a "spherical chicken drive".

Chris is me
07-01-2011, 13:02
Theory Drive, because you'll never get a robot like that in practice :rolleyes:

Ether
07-01-2011, 13:09
The Unicorn drive?

Well, that's what it is then, christened with JVN gravitas.

This will save me a whole lot of typing.

AdamHeard
07-01-2011, 13:18
The closest I know a team came to this task would be 469 in 2007.

4wd independently steered, independently driven (and 3 speed shifters).

However, it was motor in module so was not infinite rotation.

They did nail the control aspect well, which few teams with such drives do.

Chris Hibner
07-01-2011, 13:25
ChiefDelphi did 4wd swerve for the 1999 game, as well as the 2001 game.

Ether
07-01-2011, 14:14
The closest I know a team came to this task would be 469 in 2007.

4wd independently steered, independently driven (and 3 speed shifters).

However, it was motor in module so was not infinite rotation.



If slip rings were permitted, could this design be modified to be a true Unicorn drive ?

Jared Russell
07-01-2011, 14:49
This year, team 1640 had 4 pods, each driven coaxially by its own CIM and each steered by its own Window motor.

Ether
07-01-2011, 15:00
This year, team 1640 had 4 pods, each driven coaxially by its own CIM and each steered by its own Window motor.

That sounds like a true Unicorn drive (http://www.chiefdelphi.com/forums/showpost.php?p=992407&postcount=9), no?

MCahoon
07-01-2011, 15:45
The Unicorn drive?

Could you provide some context for this name?

Peter Matteson
07-01-2011, 16:00
Could you provide some context for this name?

It's unatainable.

Like a unicorn you can never attain it.

ajlapp
07-01-2011, 16:53
4 wheel swerve with independent steering and drive is called "King Crab."

It may have been coined that by Kaptain Krunch.

Chiefdelphi had this setup in 2001....plus it was a climbing swerve with triangular treads. Making it truly difficult was the motor selection. They had two drill motors, two FP motors, two window motors and two seat motors. :( I believe this exhausted their motor supply forcing them to deploy pneumatics for the first time since their inception in 1996.

That's tough.

Team 857 built the first "Kiwi" drive in 2002. They also coined the term kiwi....originally to disguise the Killough Drive Base origins. Design secrecy was a little more common back then.

Full disclosure, I was on 857 and coined the term kiwi with my fellow team members.

Ether
07-01-2011, 17:11
4 wheel swerve with independent steering and drive is called "King Crab."

So Unicorn would be King Crab with coaxial drive (or slip rings) and US MA3 or Austria Microsystems AS5030 encoders

Gdeaver
07-01-2011, 17:42
1640 did 4 wheel independent steering with each wheel independently driven and continuous rotation on all wheels with no gaps in the absolute rotary non-contact sensors and implemented a least distance algorithm to determine whether to reverse direction and rotate a little or make a longer rotation in 2010. It was a major effort but it worked and has amazing capabilities. However, we still need to work on the presentation of all those degree's of freedom to the driver. We call it the " PIVOT DRIVE". To any other team that wants to go down this path I would ask them to seriously evaluate their resources to accomplish it. A page with a little description.
http://wiki.team1640.com/index.php?title=DEWBOT_VI_Drive_Train

Yes, I am very proud of the group of students that made this happen.

Chris is me
07-01-2011, 17:56
Yes, I am very proud of the group of students that made this happen.

And for good reason! 1640's technical achievement is both underrated and can't be understated. Especially impressive is their extensive documentation - often more valuable in engineering than the design itself.

foozie
07-01-2011, 18:03
Team 1124 had swerve drive in 2010. There was a front and back window motor steering with four independent drive motors. It supported swerve, traverse, car drive, and 90 degree swerve drive. It worked pretty well, as it won us Rockwell Innovation in Automation at Hartford and Hartford Regional.

Hawiian Cadder
07-01-2011, 18:22
team 159 had one around 2001, although it was not co-axial and it did catch fire during finals.

PAR_WIG1350
07-01-2011, 18:27
team 159 had one around 2001, although it was not co-axial and it did catch fire during finals.

Flaming Unicorn Drive!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!

^that would make a good signature.

^ yes, I am aware that this wouldn't be true unicorn drive, but still.

Racer26
14-02-2011, 16:10
I believe 1334 had a Unicorn drive in 2010. It had 4 independently steered units, with independent speed control on a per wheel basis (IIRC).

1075 has only ever done 2+2 swerves, where the angular position of wheels is controlled in pairs. We did however invent DSSwerve.

Ether
14-02-2011, 16:17
I believe 1334 had a Unicorn drive in 2010. It had 4 independently steered units, with independent speed control on a per wheel basis (IIRC).

Did it also have :

- unlimited rotation of the steering mechanism and the wheel angle sensor

- no "dead zones" in the wheel angle sensor

? if not, it was not Unicorn.

Racer26
14-02-2011, 16:22
I believe so.

Al Skierkiewicz
14-02-2011, 17:16
Now that you have reopened this discussion, I can enter what I forget to add before. Wildstang has always referred to this drive system as "crab" as that is the term camera dollies use. King Crab is a good choice for infinite rotation.

COTS Slip Rings are legal this year under <R40>.

ratdude747
18-02-2011, 00:28
2783 EOT made a "unicorn drive" in 2009.


it had 4 pods. each had 1 cim coaxially driven (by way of a thin gates belt) and next to the cim was a globe for steering (also connected by a gates belt). each pod had 2 rover wheels, for a total of 8 wheels. steering position was determined by 4 analog encoders. no dead zones.

by definition and posted examples, this might have been the first "unicorn drive"

not bad for a rookie bot?

i do not have much in the way of good pictures. I can get some good ones tomorrow (it is still used as a demo bot).

I do have a couple from the Mt. Washington FLL regional (tickets were raffled for chances to drive it). They are attached.

Upon my move to the team, i was shocked that they built it as rookies. I surely thought that it had been done by a veteran team earlier (coxiaxial 4 wheel independ. swerve), but according to this thread this may have been the first. go figure.

Ether
18-02-2011, 00:44
2783 EOT made a "king crab" in 2009.

it had 4 pods. each had 1 cim coaxially driven (by way of a thin gates belt) and next to the cim was a globe for steering (also connected by a gates belt). each pod had 2 rover wheels, for a total of 8 wheels. steering position was determined by analog encoders

Was it programmed to be holonomic (all three degrees of freedom independently and simultaneously controllable) ?

ratdude747
18-02-2011, 01:17
if what you mean is arcade drive (one stick does f/b and l/r, the other controls rotation), then yes.

if not, it wasn't, but the programmer is good enough that he could have if he wanted to. hardware wise, it is the "unicorn drive".

Ether
18-02-2011, 01:58
if what you mean is arcade drive (one stick does f/b and l/r, the other controls rotation), then yes.

if not, it wasn't, but the programmer is good enough that he could have if he wanted to. hardware wise, it is the "unicorn drive".

Yes, it sounds like Unicorn. You mentioned that the steering angle sensors were analog encoders. Do you remember what the make and model number was?

Also, did your team ever post any technical information about the control algorithms?

spacepenguine
18-02-2011, 02:17
We certainly weren't the first, but 226 had a "unicorn" drive last year. I believe it was a belt driven coaxial system.

ratdude747
18-02-2011, 02:19
as far as i know no data was published. the signifigance of the bot was never really noted on the team.

they do have solidworks archives of the pod modules... and the engineering mentor who donated the use of his shop has a spare pod to it...

they do not know how special the bot is. they will tomorrow. Actually, the code for it may be lost... we are looking for a copy so we can convert it to CAN bus (yes, it is jaguar based. all 10 of them.)

the encoders are US digital analog encoders, model MA3-A10-125-B. they have a 1/8" shaft, with ball bearings. the cables are hand braided to reduce noise.

the nice thing is to make it fit on the shelf for storage, the top part of the bot is off, giving a nice view of the drivetrain.

Tristan Lall
18-02-2011, 03:16
2783 EOT made a "unicorn drive" in 2009.


it had 4 pods. each had 1 cim coaxially driven (by way of a thin gates belt) and next to the cim was a globe for steering (also connected by a gates belt). each pod had 2 rover wheels, for a total of 8 wheels. steering position was determined by 4 analog encoders. no dead zones.

by definition and posted examples, this might have been the first "unicorn drive"Independently steered? How many Globe motors?

ratdude747
18-02-2011, 06:59
4 globe motors.

Vikesrock
18-02-2011, 07:04
4 globe motors.

That makes the fact that it passed inspection the strangest part of all. Only 2 Globes were legal to use in 2009.

ratdude747
18-02-2011, 07:21
funny... 1024 used 4 globes for their crab that year.

Allison
18-02-2011, 07:26
1024's crab drive in 2009

The front wheels were steered independently and the back wheels were linked.

2 Globe motors (front steering)
1 Window motor (back steering)
2 Fisher Price (drive)

Hope this clears things up

Allison

aechmtwash11
18-02-2011, 07:57
As Larry said,

in 2009 we (2783) used a unicorn drive. Here is a run down of the specs:


4 CIMs
2 Globe
2 Fisher Price w/globe gearbox
8 rover wheels
4 analogue absolute encoder
8 Gates Belts
9 Jags


Originally we did have the code & CAD published but in got lost in the many revisions to the website. Also, being rookies our organization skills weren't that great so we are looking for the FINAL code we made right now so we can covert the drive system over to CAN.

I am looking in our picture archive on our web server for some pics right now. Will post if I find them.

aechmtwash11
18-02-2011, 08:18
Here are some pics of our 2009 crab drive named "Mac"

www.kyeot.com/photoViewer.php

NOTE: These pics were not orginally taken to show off the modules. We took them because we had to make some frame modifications between boilermaker and the Championship in Atlanta

2783, Engineers of Tomorrow

ratdude747
18-02-2011, 08:25
thanks Austin... I though i saw a couple FP's down there... yay, the school filter hasn't blocked CD YET.

sorry for getting 1024's drive wrong... i rembered 4 motors... obviously i remembered wrong!

Ether
18-02-2011, 08:37
Independently steered?

I believe the answer is implied in the quote below (emphasis mine):


it had 4 pods. each had 1 cim coaxially driven (by way of a thin gates belt) and next to the cim was a globe for steering (also connected by a gates belt). each pod had 2 rover wheels, for a total of 8 wheels. steering position was determined by 4 analog encoders. no dead zones.

and this:

if what you mean is arcade drive (one stick does f/b and l/r, the other controls rotation), then yes.

Andrew Schreiber
18-02-2011, 09:00
Did it also have :

- unlimited rotation of the steering mechanism and the wheel angle sensor

- no "dead zones" in the wheel angle sensor

? if not, it was not Unicorn.




What are the benefits of Unicorn Drive over any other holonomic steered wheel system?

Obviously continuous rotation allows you to do a shortest distance algorithm and speed up your reaction time (a real problem according to some people) but it requires precision machining and use of efficiency robbing bevel gears or at very least use of slip rings (or I guess you could wirelessly transmit power to your wheel pods and use an on board wireless network to feed sensor data back... ok, I'm just being silly).

Ether
18-02-2011, 09:08
What are the benefits of Unicorn Drive over any other holonomic steered wheel system?

Compared to a swerve without unlimited steering it simplifies the software and allows for "shortest-distance" steering, as you said.

Compared to omni or mec it has better traction.

but it requires precision machining and use of efficiency robbing bevel gears or at very least use of slip rings

That's the price you pay for the advantages.

Andrew Schreiber
18-02-2011, 09:29
Compared to a swerve without unlimited steering it simplifies the software and allows for "shortest-distance" steering, as you said.

How does implementing another check and more code simplify it? Saying, "I need to go in X direction, rotate wheel to that angle" is really simple (180 degrees of travel). I'm not saying that shortest-distance is prohibitively difficult just that it is an additional check and does not really simplify code.



That's the price you pay for the advantages.


Ok, I wanted to make sure there were no other benefits or disadvantages I was missing (I like to have my facts straight before doing analysis).

Ether
18-02-2011, 10:46
How does implementing another check and more code simplify it?

You don't have to implement "another check". With Unicorn, the code to calculate the shortest angle_error is very simple. You don't need to implement any conditional logic:

angle_error = joystick_command - encoder_angle;
angle_error -= 360*floor(0.5+angle_error/360);

Saying, "I need to go in X direction, rotate wheel to that angle" is really simple (180 degrees of travel).

Is it really that simple? Let's say you have steering limited to 360 degrees and an absolute encoder that reads 0 to 360 degrees (unless you add code to change it). Your Joystick angle command will be -180 to +180 (unless you add code to change it). Think about how you would code this to create the error angle necessary for your PID, and compare this code to the Unicorn code. Unlike the Unicorn, it will require conditional logic to deal with the limited steering.

Even worse (software-wise), suppose you have a more capable limited-steering vehicle that can rotate up to, say, 3 full turns. You want to take advantage of this capability to take the shortest-angle path to the setpoint whenever possible, but you must book-keep how many steering turns have been taken, and add code to control the steering differently when the limit has been reached.

Andrew Schreiber
18-02-2011, 10:57
You don't have to implement "another check". With Unicorn, the code to calculate the shortest angle_error is very simple. You don't need to implement any conditional logic:

angle_error = joystick_command - encoder_angle;
angle_error -= 360*floor(0.5+angle_error/360);



Is it really that simple? Let's say you have steering limited to 360 degrees and an absolute encoder that reads 0 to 360 degrees (unless you add code to change it). Your Joystick angle command will be -180 to +180 (unless you add code to change it). Think about how you would code this to create the error angle necessary for your PID, and compare this code to the Unicorn code. Unlike the Unicorn, it will require conditional logic to deal with the limited steering.

Even worse (software-wise), suppose you have a more capable limited-steering vehicle that can rotate up to, say, 2 full turns. You want to take advantage of this capability to take the shortest-angle path to the setpoint, but you must book-keep how many steering turns have been taken, and add code to control the steering differently when the limit has been reached.




For my projects dealing with crab drives I limit my angles to 180 so that I can pull the sign off and feed that into my motor and feed the direction to the steering. It does decrease response time though.* Because I never feed more than 180 into the steering motor control loop I should never need a software stop or any conditional logic.

Thanks. I didn't think of it this way. I have to plug in some numbers to understand what your pseudo code is doing but it looks like it would work.


*Disclaimer, my work so far has been with math not a physical system. I am building my physical system this week (I hope).

Ether
18-02-2011, 11:48
I have to plug in some numbers to understand what your pseudo code is doing but it looks like it would work.


Oh, it works. Here is the test code and the test results:

#include <math.h>
#include <stdio.h>

void test(double err){
printf("%12.3f",err);
err -= 360*floor(0.5+err/360.0);
printf(" %12.3f\n",err);
}


int main(void){

printf("\n\n2/18/2011 test of err -= 360*floor(0.5+err/360.0)\n\n");
test(0);
test(1);
test(179);
test(180);
test(181);
test(359);
test(360);
test(361);
test(719);
test(720);
test(721);

test(-1);
test(-179);
test(-180);
test(-181);
test(-359);
test(-360);
test(-361);
test(-719);
test(-720);
test(-721);

return 0;

}

/*

2/18/2011 test of err -= 360*floor(0.5+err/360.0)

0.000 0.000
1.000 1.000
179.000 179.000
180.000 -180.000
181.000 -179.000
359.000 -1.000
360.000 0.000
361.000 1.000
719.000 -1.000
720.000 0.000
721.000 1.000
-1.000 -1.000
-179.000 -179.000
-180.000 -180.000
-181.000 179.000
-359.000 1.000
-360.000 0.000
-361.000 -1.000
-719.000 1.000
-720.000 0.000
-721.000 -1.000

*/

Andrew Schreiber
18-02-2011, 15:56
Oh, it works. Here is the test code and the test results:

Wasn't saying it wouldn't, I admit the testing it was mostly so I could understand what it was doing.

Ether
18-02-2011, 16:06
testing it was mostly so I could understand what it was doing.

Understanding is a good thing :-) Test away.

Just to be clear though: this code is for Unicorn, not for limited-rotation steering. With limited-rotation steering, you will need to add some conditional logic.

ratdude747
18-02-2011, 16:42
yes, 4 wheel independent co-axial swerve drive.

there was some talk within the team today. after shipping on tuesday, we will try to create the logarithms and publish a lot more data on it.

for now, some pictures to be posted later will have to do.

Grim Tuesday
18-02-2011, 17:49
We worked with Cornell University to become the first with Omniwheels.

AdamHeard
18-02-2011, 18:03
We worked with Cornell University to become the first with Omniwheels.

I'm pretty sure teams had omniwheels years before your team was founded.

JVN
18-02-2011, 18:10
I'm pretty sure teams had omniwheels years before your team was founded.

True. I believe the first I know of were teams 67 and 45 who both had them in 1998.

Akash Rastogi
18-02-2011, 18:20
True. I believe the first I know of were teams 67 and 45 who both had them in 1998.

Who came up with it first? :p

But really I kinda want to know.

ratdude747
18-02-2011, 19:02
i have a picture of the spare module that a mentor brought to me for pictures. attached.

If anybody else wants a picture of either the bot or the module, I will be glad to take a shot or two and post it.

edit- picture attached was a fail. better ones later

JamesCH95
22-02-2011, 12:05
We worked with Cornell University to become the first with Omniwheels.

I would be surprised if that were true.

True. I believe the first I know of were teams 67 and 45 who both had them in 1998.

Darn, they beat us by 1 year. 95 had them in 1999.

Grim Tuesday
22-02-2011, 12:28
I guess I stand corrected, there were probably people with omni before us.

Another "urban myth" of the team :(