Confused about Bevel Gears in Swerve

I’m designing a swerve drive for my team and I’m looking at designs with bevel gears, but not the ones where one of the bevel gears is on the wheel, we are looking at the other ones with bevel gears where the ratio tends to be 1:1 and there is another reduction after them (I realize thats explained poorly, but I don’t know a better way to say it). Anyway, I’m trying to understand how the bottom of the module can turn without the wheel driving. I’m imagining that the rotation of the module moves the vertical bevel gear so that it continues to be parallel to the wheel, but I can’t imagine a situation where this doesn’t result in the horizontal bevel gear being rotated as well. To prevent the wheel from driving in this situation do you have to run the driving motor (not the motor that rotates the module, the other motor) or is there something I am not understanding about how swerve and bevel gears work? Thanks!I’m going to design a swerve drive for my team and we are looking at designs with bevel gears, but not the ones where one of the bevel gears is on the wheel, we are looking at the other ones with bevel gears where the ratio tends to be 1:1 and there is another reduction after them (I realize thats explained poorly, but I don’t know a better way to say it). Anyway, I’m trying to understand how the bottom of the module can turn without the wheel driving. I’m imagining that the rotation of the module moves the vertical bevel gear so that it continues to be parallel to the wheel, but I can’t imagine a situation where this doesn’t result in the horizontal bevel gear being rotated as well. To prevent the wheel from driving in this situation do you have to run the driving motor (not the motor that rotates the module, the other motor) or is there something I am not understanding about how swerve and bevel gears work? Thanks!

typically when you rotate the module, yes, the wheel does turn. However I’ve never found this to be an issue. I don’t think you need to you need to compensate for that, but then again I’m not a programmer.

2 Likes

Because there is typically more reduction after the bevel gears (or in the case of a bevel beside wheel module, the bevel gears are an additional reduction) the actual amount the wheel rolls because of steering is very minimal. Because of these factors it does not have a noticeable effect during teleop driving and it is typically ignored in path following kinematics.

It is dependent on wheel size and gear ratios, but typically the amount the wheel rolls with a 90° change in module steering is less than 1". Of course this wheel roll out is not in a straight direction, rather an arc. The MK2 design actually slightly compensates for this effect by having the wheel offset in the correct direction slightly from the steering Axis.

An easy way to see how much your robot suffers from this effect is to steer all the modules together in circles with the drive motors in brake mode. The whole robot will continuously translate (but not rotate) in a very small circle like it’s trying to do a hula hoop.

TLDR: Yes, there is a small effect, but not something you typically need to compensate for.

6 Likes

Agree with everyone that turning the moudle does make the wheel spin slightly, but that’s only if you’re assuming that the motor input is held fixed. In reality, when the robot is on the carpet, it’s probably a lot easier to slightly backdrive the driving motor than to turn the wheel and move the whole robot. And if you have closed-loop control on both wheel speed and module angle then you can even programmatically speed up or slow down the commanded driving speed based on the speed of the rotation to reduce any effect even further.

1 Like

Yes, when you turn it drives the wheel. When driving around, you could ignore this problem. When trying to do a precision move (like move X inches this way) we did compensate for it. This year we moved more of the gearing after the bevel (on the wheel side) so we had 1:1 on the motor side, and this further decreased the amount of drive wheel motion when steering. It’s not zero but it’s effectively negligible. With field oriented control where the system is holding a heading per a gyro input, the gyro feedback will compensate for any slight drive motion caused by steering.

I feel, even if it were 1-1, the amount thw deive qheel moves when turned would be less than the slop from other holonomic solutions, is that correct?

I agree with other posters here that the impact of this issue is usually negligible. However, I believe it is possible to compensate for this phenomenon mechanicaly by putting the wheel off center along its axis by a very small amount.

This will make it so that if you power only the steering motor, the drive wheel will drive in a small circle, but the fixed part of the module will remain stationary. I have not proven it mathematically but I also think this same configuration would compensate for torque steer that comes from the drive motor.

To implement this in my past designs, I have calculated how far the wheel would drive when the module turned the steering through one rotation using the gear ratio. Then I would find the radius of a circle that had that circumference, and offset the wheel by that radius. To decide which direction to offset the wheel, I’ve just tried to visualize the module turning in place with the wheel offset in both directions but that is the hardest part.

I also think this offset should account for any minor odometry inaccuracies that could be caused by the wheel driving while turning.

Let me know what you think.

3 Likes

I was a little irritated by that offset when I first noticed it in CAD, but this is a great explanation for why it exists! I assumed it was a packaging constraint.

3 Likes

I dare someone to put a differential in the hub to deal with this minor displacement. It may as well be 2910 :wink:

On a (slightly) different note, this is a non-issue with diff swerves, so is the azimuthing induced wheel movement concerns you enough…