Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   Mecanum drive on Einstein (http://www.chiefdelphi.com/forums/showthread.php?t=133288)

MrJohnston 22-01-2015 11:54

Re: Mecanum drive on Einstein
 
I've generally felt like the biggest drawback with a mecanum drive is that robots with other drive systems can push you around quite easily - if they can catch you. The last few years, it's been fairly easy to shut down a "high scoring" mecanum drive with a defensive bot... However, that disadvantage is gone this year... There is certain amount of attraction to a mecanum system with the fantastic mobility it offers. I do believe that it is the ideal drive system for this year's game.

However, I do not believe that the advantage is so great that teams should spend a lot of extra time building one if they are not already familiar with it. We discussed the issue passionately on kick-off weekend and ultimately chose a tank drive. Why? We have not built a mecanum drive for years and, this year, during our off-season training, we focused on improving our abilities with various tank drive configurations and chose not to build a mecanum. Realizing the potential problems when building a system with which we had little-to-no experience, we decided to build what we knew would do well and that we could build easily. This has given us a lot more time to work on our manipulators... And, for us, we'll have have a better overall robot because of it.... Generally we build a 6-wheel tank system - powered with six CIMs (we like to push folks around). However, this year, we went with a four-wheel tank (less tippy as we go over the scoring platform) with omni wheels in the front - powered by four CIMs. The four CIMs might be overkill for this game, but we were not convinced that two would be adequate if we were to get into a tugging match at the step or if we were trying to carry 6 totes + a container while maintaining balance/stability - especially if we were to have to go onto a scoring platform.

However, teams that have built mecanum systems in the past and can build a good one quickly should do so. There seem to be quite a few teams going in that direction - so, I would be fairly surprised if we don't see on on Einstein.

Monochron 22-01-2015 12:03

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by Gregor (Post 1432071)
Have you ever driven a well tuned field oriented mecanum drive? It's by far the easiest thing I have ever driven. It takes almost three seconds to get used to the "new found strafing ability," after which you literally just point and the robot goes where you want it to go. It's very intuitive.

While I think you are conceptually correct, every year we will see drivers treating mecanum drive like tank drive. They will stop to spin on the field, nearly always approach a game piece head on, generally orient themselves in the direction of travel for simple traversal of the field, etc. Mecanums benefits all lay in the type of driving that tank drive can't do. If you drive it like tank drive then you lose the benefits.

pfreivald 22-01-2015 12:54

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by Monochron (Post 1432182)
If you drive it like tank drive then you lose the benefits.

Except when you don't. You can drive it like a tank to get from point A to B, then use the omnidirectional capabilities to strafe/align with whatever objective you're going for.

Crossing the field omnidirectional capabilities don't matter, but when it comes to finer positioning they shine. So most of the time you'll be driving mecanum like a tank, and then using the added capability when and where you need it.

IronicDeadBird 22-01-2015 12:59

There are a few interesting things that can be done with mecanum that I have yet to see taken advantage of completely.
Yeah weight distribution is a problem but with this years game if you managed to center all the weight those totes provide you would get much better performance out of a mecanum.
Hopefully today I can mess around today with a way to change the turning point on a mecanum to each side and corner of the mecanum. It shouldn't be too hard in concept but I don't program so it could be misery. Ill post some stuffs when I get done.
As for drive practice every course I make the students run on a mecanum I make them do it atleast four times each time with a different orientation. The ideal is eight for diagonals too but time is definitely against me.

Tom Bottiglieri 22-01-2015 14:00

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by Thad House (Post 1431726)
Oh no. 254's going mecanum....

Hahahahahahahahahahahahaha.

That was a good one.

Ether 22-01-2015 14:12

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by IronicDeadBird (Post 1432207)
Hopefully today I can mess around today with a way to change the turning point on a mecanum to each side and corner of the mecanum. It shouldn't be too hard in concept but I don't program so it could be misery.

The inverse kinematics for what you want to do is not difficult.

Say you want to pivot the bot clockwise around the right front wheel at 90 degrees per second (pi/2 radians per second).

The inverse kinematics for mecanum are:
Code:

FrontRight = FWD - STR - K*omega

FrontLeft  = FWD + STR + K*omega

RearLeft  = FWD - STR + K*omega

RearRight  = FWD + STR - K*omega

... where:

omega = desired clockwise rotation around center of area, rad/sec

FWD = desired vehicle forward speed, ft/sec

STR = desired vehicle strafe_right speed, ft/sec

K = (W + L)/2, ft  (L=wheelbase; W=trackwidth)

FrontRight, FrontLeft, RearLeft, RearRight are wheel tangential speeds, ft/sec

...so you would need to command the following wheel speeds:

Code:

FrontRight = (pi/2)*(W/2) - (-(pi/2)*(L/2)) - K*(pi/2) = 0

FrontLeft  = (pi/2)*(W/2) + (-(pi/2)*(L/2)) + K*(pi/2)

RearLeft  = (pi/2)*(W/2) - (-(pi/2)*(L/2)) + K*(pi/2)

RearRight  = (pi/2)*(W/2) + (-(pi/2)*(L/2)) - K*(pi/2)



smart1 22-01-2015 14:30

Re: Mecanum drive on Einstein
 
I wouldn't say it takes that much time to make a mecanum drive we had our first in 2010 built in a week. I loved driving that thing, I was shocked it could climb the bumps. Just make sure you put them on in order.:D

Andrew Schreiber 22-01-2015 14:31

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by Ether (Post 1432236)
The inverse kinematics for what you want to do is not difficult.

Say you want to pivot the bot clockwise around the right front wheel at 90 degrees per second (pi/2 radians per second).

The inverse kinematics for mecanum are:
Code:

FrontRight = FWD - STR - K*omega

FrontLeft  = FWD + STR + K*omega

RearLeft  = FWD - STR + K*omega

RearRight  = FWD + STR - K*omega

... where:

omega = desired clockwise rotation around center of area, rad/sec

FWD = desired vehicle forward speed, ft/sec

STR = desired vehicle strafe_right speed, ft/sec

K = (W + L)/2, ft  (L=wheelbase; W=trackwidth)

FrontRight, FrontLeft, RearLeft, RearRight are wheel tangential speeds, ft/sec

...so you would need to command the following wheel speeds:

Code:

FrontRight = (pi/2)*(W/2) - (-(pi/2)*(L/2)) - K*(pi/2) = 0

FrontLeft  = (pi/2)*(W/2) + (-(pi/2)*(L/2)) + K*(pi/2)

RearLeft  = (pi/2)*(W/2) - (-(pi/2)*(L/2)) + K*(pi/2)

RearRight  = (pi/2)*(W/2) + (-(pi/2)*(L/2)) - K*(pi/2)




Probably a silly question but it's been mulling around my head long enough, I noticed that in order to handle field centric drive we're basically multiplying the input vector [fwd, str, omega] by a transformation matrix to rotate about the origin. What happens if we first apply a transform to go from the rotation point to the origin then apply our rotation transform, and then apply the transform back to the rotation point? Note, I flipped X and Y because I have a habit of specifying coordinates as Y is the FWD axis and X is the STR axis.

Translate from Rotation Point to Origin
[ [ 1 0 -Y]
[ 0 1 -X]
[ 0 0 1] ]

Rotation about Origin
[ [ cos(ø) -sin(ø) 0]
[ sin(ø) cos(ø) 0]
[ 0 0 1] ]

Translate back to Rotation Point
[ [ 1 0 Y]
[ 0 1 X]
[ 0 0 1] ]


Basically, is it valid to treat a drivetrain the same way I treat graphics on a screen?

Ether 22-01-2015 16:38

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by Andrew Schreiber (Post 1432245)
Probably a silly question but it's been mulling around my head long enough, I noticed that in order to handle field centric drive we're basically multiplying the input vector [fwd, str, omega] by a transformation matrix to rotate about the origin.

I'm not sure this answers your question, but...

If the only commands accessible to the driver are field-centric, the aforementioned "pivot around the right front wheel" maneuver would be considerably more difficult: the driver would have to continuously vary the field-centric FWD and STR commands as the bot executes the maneuver and its field-orientation changes

With robot-centric commands, the FWD, STR, and omega commands would be constant.



Nick.kremer 22-01-2015 16:45

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by IronicDeadBird (Post 1432207)
Yeah weight distribution is a problem but with this years game if you managed to center all the weight those totes provide you would get much better performance out of a mecanum.

^ This.

Correct me if I'm wrong, but isn't an absolutely crucial design consideration of running mecanum equal (or as near to as possible) weight distribution on each wheel? Now as you suggested teams could load totes near the center of the robot, but not everyone will want the added difficuly of loading/stacking totes this way.

It's because of this weight distribution problem that while many have cited this year as the year of mecanum, I immediately thought the opposite.


While I agree that many teams may dismiss macanum offhand as some someone suggested earlier on this thread, I'd be more than weary of selecting a mecanum robot that carries totes outside of its frame as an alliance partner.

Andrew Schreiber 22-01-2015 16:51

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by Ether (Post 1432306)
I'm not sure this answers your question, but...

If the only commands accessible to the driver are field-centric, the aforementioned "pivot around the right front wheel" maneuver would be considerably more difficult: the driver would have to continuously vary the field-centric FWD and STR commands as the bot executes the maneuver and its field-orientation changes

With robot-centric commands, the FWD, STR, and omega commands would be constant.




I'm mostly curious if my logic for treating the input as a vector and transforming it like I would any other vector into a different coordinate space is semi valid. Field Centric/Robot Centric withstanding.

After a bit more thinking on it, I'm not sure it's quite valid because my inputs are in terms of velocity and my rotation point is in terms of position. Basically, units don't match up. I think it just looked like field centric was a simple affline transform because it's actually the derivative of the matrix (which would put it in terms of velocity instead of position).

Dragonking 22-01-2015 16:52

Re: Mecanum drive on Einstein
 
I have a feeling we will see a 7 wheel mecanum swerve on einstein.

Andrew Schreiber 22-01-2015 16:53

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by Nick.kremer (Post 1432311)
^ This.

Correct me if I'm wrong, but isn't an absolutely crucial design consideration of running mecanum equal (or as near to as possible) weight distribution on each wheel? Now as you suggested teams could load totes near the center of the robot, but not everyone will want the added difficuly of loading/stacking totes this way.

It's because of this weight distribution problem that while many have cited this year as the year of mecanum, I immediately thought the opposite.


While I agree that many teams may dismiss macanum offhand as some someone suggested earlier on this thread, I'd be more than weary of selecting a mecanum robot that carries totes outside of its frame as an alliance partner.

From actual experiments (do not take this as 125 is doing mecanum) it is entirely possible to compensate for a weird CoG using omni directional drives.

lcoreyl 22-01-2015 18:06

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by Foster (Post 1432118)
...

And it will help to slow down the "fear mongering" that goes around. It's really depressing to hear "we don't do mechanum since we know a roboteer on a team that knows another roboteer on a different team and they talked about doing Mecanum in 2001 and couldn't get it to work."

Also depressing to think that many teams are not interested in learning more about any drivetrain that can really engage students in some real world applied physics due to the fact that this drivetrain "will not be competitive at world championships"...


Quote:

Originally Posted by Foster (Post 1432118)
Try a little engineering, Ether has done most of the hard work for you on the analysis.

Also, the wonderful folks who put together the WPI library have done most of the hard work for you on the programming.

lcoreyl 22-01-2015 18:42

Re: Mecanum drive on Einstein
 
Quote:

Originally Posted by Nick.kremer (Post 1432311)
...
Correct me if I'm wrong, but isn't an absolutely crucial design consideration of running mecanum equal (or as near to as possible) weight distribution on each wheel? Now as you suggested teams could load totes near the center of the robot, but not everyone will want the added difficuly of loading/stacking totes this way.

It's because of this weight distribution problem that while many have cited this year as the year of mecanum, I immediately thought the opposite.

...

consider a mecanum drive robot with tote lift that holds the totes outside the frame. I will call "forward" the side of the robot where the totes are located. The robot has a CoG centered left/right, and the lift is designed where the added tote weight shifts the CoG forward only (not left/right). Let's say the driver has loaded up a stack of totes and the weight actually shifts such that the back wheels have zero traction (and not pay attention to the rocking/tipping of the robot forward/backward). There is no gyro feedback/control.

desired action: drive forward
actual result: ???

desired action: rotate
actual result: ???

desired action: strafe
actual result: ???

Note: the "???"s above are meant as "what do you think?", not "mecanum sucks so much, you have no idea what will happen in this case"


All times are GMT -5. The time now is 22:42.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi