Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   Mechanum Wheels? (http://www.chiefdelphi.com/forums/showthread.php?t=100750)

Ether 20-01-2012 22:03

Re: Mechanum Wheels?
 
Quote:

Originally Posted by SuperNerd256 (Post 1110164)
I mean when you go into the real nitty gritty coding stuff. THe code they give you is fine, but to make it better takes some work.

This is just what I've been told by our programmers

Could you please ask your programmers to tell us how they made it better than the WPI code.


Andrew Lawrence 20-01-2012 22:05

Re: Mechanum Wheels?
 
Quote:

Originally Posted by Djur (Post 1110167)
  • We've been using Mecanums for the psat three years and have found no huge loss of traction
  • Usually, but this depends on the drivetrain.
  • Definitely; Mecanums are a lot heavier than conventional wheels.
  • I think most teams use 4 CIMs to drive anyway because it gives the robot a ton of power.
  • Mecanums powered by Toughboxes don't get pushed around as much as people think, but it's defeinitely soemthing to consider.
  • Agreed, a lot of practice is needed with Mecanums to be extremely good at them.
  • Not a lot of engineering, it's really only the initial one-time assembly that matters in the long run.
  • Actually, my team uses all of 20 characters for our Mecanum code, not counting the button to turn it on ;)

Just my experiences with Mecanums.

Thanks for posting this! I like the other opinions. :)

Andrew Lawrence 20-01-2012 22:06

Re: Mechanum Wheels?
 
Quote:

Originally Posted by Ether (Post 1110171)
Could you please ask your programmers to tell us how they made it better than the WPI code.


The themselves haven't programmed it, but from reading the WPI code and looking at how to make it better, they said getting it perfect (not 100%, but a close 99%) would take some extra code.

I'll ask them at our next meeting, though. Now I'm interested, too. :)

EricH 20-01-2012 22:20

Re: Mechanum Wheels?
 
Quote:

Originally Posted by the man (Post 1110148)
I dont get it. As long as your not going mock 5, ok ok at fast speed in terms of robotics competitions, the back wheels will continue to push as you some what gently push your self over the bump. But we will test this tomorrow.

When you hit the bump with an 8" wheel, that wheel's entire force on the bump is vertical until you get some lift off the ground on that end. So your back wheels have to work twice as hard.

An easy way to deal with this is to put an angle leading down below your axle from the edge of the frame; this allows the front wheels to get some horizontal tractive force in addition to the vertical, which allows them to help the back wheels out a bit. Do that on both sides of all four wheels, and it'll help you out a lot.

Chris Fultz 20-01-2012 22:24

Re: Mechanum Wheels?
 
Quote:

Originally Posted by EricH (Post 1110142)
8" wheels, 4" bump, your axle hits smack-dab on the top of the bump. That makes it a little bit tricky to get up and over; I'd put a set of skid plates to knock the bump under the axle to help the robot get over the barrier.

I don't understand what you are saying here.

When the wheel hits the bump, it will roll up and over. When the wheel is then sitting on top of the bump, the axle is then 4" above the bump. How does the axle hit the top?

EricH 20-01-2012 22:27

Re: Mechanum Wheels?
 
Quote:

Originally Posted by Chris Fultz (Post 1110185)
I don't understand what you are saying here.

When the wheel hits the bump, it will roll up and over. When the wheel is then sitting on top of the bump, the axle is then 4" above the bump. How does the axle hit the top?

On the moment of contact, the front wheels hit with the axle at the top level of the bump. They won't roll up and over without help--their force at that point will be entirely vertical once they leave the ground, but without something to push them horizontally, they'll fall back down. The back wheels are what provide the horizontal force to get the wheel up on top of the bump.

the man 20-01-2012 22:29

Re: Mechanum Wheels?
 
Something else to consider when talking about the bump is the rollers on the mechanum wheels. Oh something else I was wondering, Is the bump 4inches tall measured from the floor or from the lip on the bump?

nitneylion452 20-01-2012 22:37

Re: Mechanum Wheels?
 
Quote:

Originally Posted by EricH (Post 1110188)
On the moment of contact, the front wheels hit with the axle at the top level of the bump. They won't roll up and over without help--their force at that point will be entirely vertical once they leave the ground, but without something to push them horizontally, they'll fall back down. The back wheels are what provide the horizontal force to get the wheel up on top of the bump.

Might it not be fair to assume (or at least hope) that the rollers on mecanum wheels or other deep crevices would catch the lip of the bump and then provide a stronger vertical component and thus be able to pick the robot up?

By virtue of mecanums having rollers, it would also be safe to assume that the roller will roll (gasp!) off the lip. Countered my own argument for mecanums, but not other wheels. Any opinions on that?

DavidGitz 20-01-2012 22:45

Re: Mechanum Wheels?
 
Quote:

Originally Posted by EricH (Post 1110188)
On the moment of contact, the front wheels hit with the axle at the top level of the bump. They won't roll up and over without help--their force at that point will be entirely vertical once they leave the ground, but without something to push them horizontally, they'll fall back down. The back wheels are what provide the horizontal force to get the wheel up on top of the bump.

I think what Chris is saying is that the axle would not hit the bump. Many other parts would hit the bump, and your argument is well founded but the axle itself will not hit, as it is within the perimeter of the mecanum wheel. Assuming of course that a) this is a *standard* mecanum setup b) the robot is attempting to drive straight on to the bump.

BJC 20-01-2012 23:02

Re: Mechanum Wheels?
 
Quote:

Originally Posted by DavidGitz (Post 1110209)
I think what Chris is saying is that the axle would not hit the bump. Many other parts would hit the bump, and your argument is well founded but the axle itself will not hit, as it is within the perimeter of the mecanum wheel. Assuming of course that a) this is a *standard* mecanum setup b) the robot is attempting to drive straight on to the bump.

What I believe he is saying is that the midpoint of the wheel is level with the top of the barrier. Because of this the forces exerted by the robot must be entirely up until the wheel gains some purchase on the barrier and will continue to be able to pull the robot forward (read: over) the barrier.

If when your robot is climbing the barrier where the initial wheel contact with the barrier is lower then the middle of the wheel more forces remain pushing in the forward direction. In the same way, when you are on flat ground the wheels are pushing entirely forward. As a good rule of thumb if you can get the initial contact point inside the bottom 1/3 of the wheel that wheel will fairly easily surmount the point of contact while maintaining its forward force.

This is why it was suggested to put little ramps or something in front of your wheels. So the initial contact point of the barrier to the wheel is as low to the wheel as possible and forward momentum can be maintained.

Regards, Bryan

jvriezen 20-01-2012 23:37

Re: Mechanum Wheels?
 
Quote:

Originally Posted by nitneylion452 (Post 1110200)
Might it not be fair to assume (or at least hope) that the rollers on mecanum wheels or other deep crevices would catch the lip of the bump and then provide a stronger vertical component and thus be able to pick the robot up?

By virtue of mecanums having rollers, it would also be safe to assume that the roller will roll (gasp!) off the lip. Countered my own argument for mecanums, but not other wheels. Any opinions on that?

Our tests with 8" mecanums over the bump is that yes, the crevices between the rollers will catch the top of the bump and aid in lifting the front wheels up. The rear wheels keep the forward force so the rollers don't roll off. However, while we got over the bump (well not really, we got the front wheels over but it was last year's bot and it bottomed due to lack of clearance) I would not recommend relying on just 8" mecanums. It worked much better when we had some help to get the wheels higher up before they encountered the bump.

372 lives on 20-01-2012 23:41

Re: Mechanum Wheels?
 
Quote:

Originally Posted by SuperNerd256 (Post 1110153)
I'm not saying no mecanums (or however you spell it), but these are some points made in previous threads:

-Less traction on the key
-As already said, loss in pushing power
-Heavy
-Forces you to use maximum number of motors for drivetrain (not usually an issue)
-While they may not affect your ability to go on the bridge, the ability to stay without being pushed off or falling off of the bridge tips your direction will beN tough to deal with
-You won't be driving circles around other's bots unless you have a lot of practice.
-In order to work to their fullest extent, require a lot of thorough engineering
-More complicated to code, even at the minimum level


Like I said, I'm not telling you not to use them, but when you do, be careful and engineer it through (Not meant to sound like most interesting man in the world meme, though I'm tempted. ;))


I always laugh when people make posts like these. We played defense in 2010 with mecanums and definetly didn't get pushed around.

And your not going to do well with any robot without practice.

theprgramerdude 21-01-2012 00:08

Re: Mechanum Wheels?
 
Quote:

Originally Posted by SuperNerd256 (Post 1110173)
The themselves haven't programmed it, but from reading the WPI code and looking at how to make it better, they said getting it perfect (not 100%, but a close 99%) would take some extra code.

I'll ask them at our next meeting, though. Now I'm interested, too. :)

Code:

void RobotDrive::MecanumDrive_Polar(float magnitude, float direction, float rotation)
{
        // Normalized for full power along the Cartesian axes.
        magnitude = Limit(magnitude) * sqrt(2.0);
        // The rollers are at 45 degree angles.
        double dirInRad = (direction + 45.0) * 3.14159 / 180.0;
        double cosD = cos(dirInRad);
        double sinD = sin(dirInRad);

        double wheelSpeeds[kMaxNumberOfMotors];
        wheelSpeeds[kFrontLeftMotor] = sinD * magnitude + rotation;
        wheelSpeeds[kFrontRightMotor] = cosD * magnitude - rotation;
        wheelSpeeds[kRearLeftMotor] = cosD * magnitude + rotation;
        wheelSpeeds[kRearRightMotor] = sinD * magnitude - rotation;

        Normalize(wheelSpeeds);

        m_frontLeftMotor->Set(wheelSpeeds[kFrontLeftMotor] * m_invertedMotors[kFrontLeftMotor]);
        m_frontRightMotor->Set(wheelSpeeds[kFrontRightMotor] * m_invertedMotors[kFrontRightMotor]);
        m_rearLeftMotor->Set(wheelSpeeds[kRearLeftMotor] * m_invertedMotors[kRearLeftMotor]);
        m_rearRightMotor->Set(wheelSpeeds[kRearRightMotor] * m_invertedMotors[kRearRightMotor]);
}

This is straight from the RobotDrive source. What could possibly be improved?

Andrew Lawrence 21-01-2012 00:10

Re: Mechanum Wheels?
 
Quote:

Originally Posted by theprgramerdude (Post 1110264)
Code:

void RobotDrive::MecanumDrive_Polar(float magnitude, float direction, float rotation)
{
        // Normalized for full power along the Cartesian axes.
        magnitude = Limit(magnitude) * sqrt(2.0);
        // The rollers are at 45 degree angles.
        double dirInRad = (direction + 45.0) * 3.14159 / 180.0;
        double cosD = cos(dirInRad);
        double sinD = sin(dirInRad);

        double wheelSpeeds[kMaxNumberOfMotors];
        wheelSpeeds[kFrontLeftMotor] = sinD * magnitude + rotation;
        wheelSpeeds[kFrontRightMotor] = cosD * magnitude - rotation;
        wheelSpeeds[kRearLeftMotor] = cosD * magnitude + rotation;
        wheelSpeeds[kRearRightMotor] = sinD * magnitude - rotation;

        Normalize(wheelSpeeds);

        m_frontLeftMotor->Set(wheelSpeeds[kFrontLeftMotor] * m_invertedMotors[kFrontLeftMotor]);
        m_frontRightMotor->Set(wheelSpeeds[kFrontRightMotor] * m_invertedMotors[kFrontRightMotor]);
        m_rearLeftMotor->Set(wheelSpeeds[kRearLeftMotor] * m_invertedMotors[kRearLeftMotor]);
        m_rearRightMotor->Set(wheelSpeeds[kRearRightMotor] * m_invertedMotors[kRearRightMotor]);
}

This is straight from the RobotDrive source. What could possibly be improved?

They said something about advanced controls to make the omnidirectional drive more intuitive and easy to use.

theprgramerdude 21-01-2012 00:28

Re: Mechanum Wheels?
 
Quote:

Originally Posted by SuperNerd256 (Post 1110265)
They said something about advanced controls to make the omnidirectional drive more intuitive and easy to use.

Controls aren't part of the drive code; they're the parameters that are passed into the drive code. What your programmers don't seem to understand is it's their code, not the WPILib code, that can be improved.

It's like saying even though the motor controller is already set to 100%, the code can be improved to set it to 110% via "better controls". That doesn't happen.


All times are GMT -5. The time now is 07:31.

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