|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
Re: how to program mecanum wheel drive?
what do we put in the rotation?
|
|
#2
|
|||
|
|||
|
Re: how to program mecanum wheel drive?
rotation is the, well, rotation of the robot. If you have a joystick that can be twisted, you can use that (for our joystick its axis 4, but it could be different for other joysticks). If your joystick does not support twisting, you will need to have buttons that are wired in (for example, put in a case structure that determines which button is being pressed, that then outputs a 1 or -1 depending on which way you want to rotate it).
|
|
#3
|
|||
|
|||
|
Re: how to program mecanum wheel drive?
My team has been using mecanums for a few years and at the beginning of the year an alumni asked me to make a program that could take full advantage of the mecanum wheels instead of our usual tank drive with trigger strafe boringness. after much thought and many matrices i realized that if you subtract the y axis form the x axis for the front right and back left and add y and x axes for the front right and back left we could make what i like to call omnidrive. it basically made it so that the robot would move in any direction the stick was pointing. after some more finagling i put the controls on two sticks and fixed a few value issues and now we have 2 stick mecanum omnidrive. its pretty difficult to explain but its fantastic to drive. if anyone needs any help i am also available for assistance
|
|
#4
|
||||
|
||||
|
Re: how to program mecanum wheel drive?
Quote:
Also, I assume there's a typo in there, because you said "front right and back left" twice. |
|
#5
|
|||
|
|||
|
Re: how to program mecanum wheel drive?
![]() That picture should make it fairly obvious. If not, look below. mainJoy is the one used for forward/back and strafing, rotJoy is used for rotation (pretty much like a FPS game, we even wired our camera's tilt up to rotJoy's Y axis so it is exactly like the usual FPS controls ) For best results, use an Xbox/PS3 controller. Remember forward is -1.Assuming you get -1..1: front_Left = -mainJoy.getY() - rotJoy.getX() + mainJoy.getX() front_Right = -mainJoy.getY() + rotJoy.getX() - mainJoy.getX() back_Left = -mainJoy.getY() - rotJoy.getX() - mainJoy.getX() back_Right = -mainJoy.getY() + rotJoy.getX() + mainJoy.getX() |
|
#6
|
||||
|
||||
|
Re: how to program mecanum wheel drive?
Quote:
1) I would think it would be more intuitive if pushing rotJoy to the right would cause clockwise rotation*. 2) You need to normalize the 4 wheel commands, in a way that preserves their holonomic relationship, before sending them to the motors. * I am assuming that the motors are set up so that issuing a + command causes the wheels to rotate in the "forward" direction |
|
#7
|
|||
|
|||
|
Re: how to program mecanum wheel drive?
Quote:
Didn't know about the handy PDF, though. Thanks ![]() |
|
#8
|
||||
|
||||
|
Re: how to program mecanum wheel drive?
Quote:
Code:
front_Left = -mainJoy.getY() + rotJoy.getX() + mainJoy.getX() front_Right = -mainJoy.getY() - rotJoy.getX() - mainJoy.getX() back_Left = -mainJoy.getY() + rotJoy.getX() - mainJoy.getX() back_Right = -mainJoy.getY() - rotJoy.getX() + mainJoy.getX() |
|
#9
|
|||
|
|||
|
Re: how to program mecanum wheel drive?
so, how do I program this? |
|
#10
|
||||
|
||||
|
Re: how to program mecanum wheel drive?
Just like any other motor: it depends on what you want to do with it.
|
|
#11
|
|||
|
|||
|
Re: how to program mecanum wheel drive?
ok, thanks
|
|
#12
|
|||
|
|||
|
Re: how to program mecanum wheel drive?
our team is trying to use the relay to control the window motor, how do we program this?
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|