Durring testing before crating up(sadly our only day we were able to get the bot on the ground), we noticed an issue with our drive, when moving sideways, our front wheesls sweep out, esentially making us pivot around the rears, also turning is very poor. I apologize, I have no video of the tests to demonstrate, but I can provide any other information that might be needed. Thank you all in advance for any help you can provide my team.
our wheels are layed out as such (lines reprresent the rollers):
Is that diagram from the top or the bottom? From the top of the robot, the rollers should form an X, or looking up from the bottom they should form a diamond (<>).
The rollers touching the ground should be able to roll toward and away from the center of the robot. If you can spin your robot in place without any of the wheels moving, you’ve got your wheels backwards.
It helps if you think of the wheels applying forces perpendicular to the axis of the rollers. when the rollers are arranged as you had them, the diagonals were applying forces in the same directions, which led to problems. You can either arrange the roller axis as an X across the bot, or an ‘O’ around the bot… not quite sure which one is better, as flipping the bot upside down will result in the other configuration.
See my previous post. The axis of the rollers must be radial to the robot, not tangent to it. If the rollers are tangent to the robot, 90 degrees to the rollers will always be pointing out from or in to the robot’s center, hence, you cannot turn your robot, or prevent others from turning it.
Currently, we are just using PWM’s. I tried in the code to reduce power to several different permutations of wheels, and it made little or no change to the behavior of the system(it still pivoted on the rear wheels), I don’t think the problem lies in wheel speed. But thank you for the suggestion.
If you can get some feedback happening you are going to be a lot happier with your handling, I think. We use shaft encoders to ensure the wheels are all turning at the correct speed to give us the motion we want, while I know of other teams who have reported success using the gyro to stabilize their heading.
If you’ve got the banebots encoders and divider cards on board, we’ve developed some code that might be able to help, which we are willing to share. Drop me a PM. If not, it is probably easier to just tack on a gyro… perhaps there is someone willing to share their techniques for gyro stabilization of a mecanum drive.
P.S. Some posts surrounding mecanum drives insist that you need a suspension to have a working mecanum drive system. While that may be true on a rough surface, we are quite satisfied with just having a bit of flex in the frame.
this may come too late to really help you, but by changing the wheels, you will have to flip your side-to-side controller, otherwise you will go right when you wanto to go left. all other driving functions (forwards, backwards, and spin) like regular tank drive, so it will ramain unaffected.