Mecanum Drive Not Strafing

We need help, badly.

For our robot this year, we chose a mecanum drive so we are able to move in any which way possible. However, our mecanum drive is not able to strafe meaning our drive is useless.

We are using VEX 8" mecanum wheels power by one CIM motor each through a 11:72 gear ratio. The wheels, from the top down view, is in an X orientation meaning the rollers of each wheel, from the top, is pointed toward the center of the robot, as show in the pictures below.

We were thinking weight distribution may be the problem, or that the gear ratio isn’t providing enough torque. Does anyone know of any other possible problems we could be having, either mechanical or programming wise?

Pictures:
https://drive.google.com/open?id=0B_wFkfFVRXXzb3RxU3dHLU9KV28
https://drive.google.com/open?id=0B_wFkfFVRXXzaGNRT3A3VXRtclE
https://drive.google.com/open?id=0B_wFkfFVRXXzbjNnd05FcllQbzg

I assume you have each wheel hooked up to a separate motor controller?
Can you post the relevant sections of your code please?

What occurs when you try to strafe? No wheel motion / no robot motion / poor robot motion / wrong robot motion?

What joystick axes are you using? 1 3-axis stick or 2 joysticks? If absolutely nothing is happening, I’d check that you are checking the correct joystick axis.

To check if the problem is programming or not, put the robot on blocks so that the wheels are not on the ground and try to strafe.

It looks like your wheels are oriented properly, which is the first step.

What does the robot actually do when you attempt to strafe? This will help diagnose if its a torque/current issue or a possible code issue.

I did a quick drawing to remind myself, but if you have an X pattern facing up on the mecanums, to strafe left the wheels should be moving in the following pattern:

Front Left: Forward
Front Right: Backward
Back Left: Backward
Back Right Forward

Strafing right all above directions would be reversed.

I’d recommend putting the chassis on blocks to confirm the wheel directions. Verifying that this is all correct would be the first step from my perspective.

If the drive is acting twitchy when trying to strafe, you might have a torque/current problem.

Can it move normally like forwards and backwards? If this is the case it should not be the ratio. Have you taken the wheels off of the ground to make sure they we spinning in the right direction?

Put the robot on blocks so the wheels aren’t contacting the ground.

Mechanical:
Without power on the robot,
Check that the rollers on the wheels spin freely by hand.
Check that the wheels spin by hand, and nothing is binding mechanically. Verify that it takes the same amount of force to spin each wheel.

Verify that each wheel touches the floor, ideally each wheel will provide approximately the same normal force from the floor.

Electrical:
With power on the robot, still on blocks
Verify the motors spin the wheels when you apply power (just in general).

Programming:
Also verify that the wheels move the correct direction when you move forward/backward and spin clockwise/counter clockwise.
Also verify the wheels turn correctly left and right as ASmith posted.

EDIT - A picture is worth a thousand words. A video is 30 pictures / second.

We know that from a programming aspect it is working correctly. We have put the robot up on blocks and checked for correct motor/wheel movement. We also checked motor output to make sure the motor was outputting at full speed.

Once we put it on the ground, it attempts to move in the right motion and you can hear the motors making a high pitched noise and all, but it’s not able to only strafe right and left. When we are moving forward or backward and then try to strafe, it does strafe. Also, the controller station does show a voltage drop when the robot tries to strafe, giving us further evidence that the robot attempts to strafe, but just is not able to.

Please clarify this. Are you saying that the wheels are spinning faster than the motor shaft?

Yes, the motor shaft has a 11 tooth gear meshed with the wheel which has a 72 tooth gear.

Here is a video of it trying to strafe from standstill left and right, as well as it strafing when moving forward and backwards.
https://drive.google.com/open?id=0B_wFkfFVRXXzbm9tbUZtZ1ktZnc

How heavy is your robot?

Our robot weighs 110 lbs without the battery, but the weight is not distributed evenly.

Then the answer would be “No”. The wheels are spinning slower than the motor shaft. Which is the way you want it.

This is normally expressed as 72:11

11:72 is not the correct notation.

You’re gearing down 6.55:1. Every 6.55 rotations of the drive gear is 1 rotation of the driven gear.

From the JVN calculator, with 8" wheels you’re drawing somewhere around 25amps per wheel in a “pushing match”, which is close to what strafing is for a robot. Its fighting against itself.

It is likely you don’t have the torque to turn the wheels.

I quickly punched in your numbers to http://www.wcproducts.net/how-to-drivetrain/

You appear to be geared for 25 ft/sec at full speed (presuming vex single-speed at 11:72, 8" wheels, one cim). Our robot is also mechanum this year, but is only geared for 14 ft/sec (and we are working our drivetrain motors extremely hard). I suspect the gear ratio/wheel size combination you chose might be problematic… Note that for mechanum (especially the vex wheels), side-to-side motion requires a lot more effort than forward reverse. FYI, our robot is geared for 14 ft/sec, but can only get 10 ft/sec side-to-side.

Gear ratios are very commonly expressed in terms of the 11:72 format in FRC, even though it is not correct nor is it consistent with other usage within FRC. For example, Vex’s website lists the reduction as 11:72.

FTFY.

*Check all the rollers on each wheel. Are all the rollers free spinning? Or are some too tight.

FTFY