View Single Post
  #11   Spotlight this post!  
Unread 13-03-2011, 20:18
Nemo's Avatar
Nemo Nemo is offline
Team 967 Mentor
AKA: Dan Niemitalo
FRC #0967 (Iron Lions)
Team Role: Coach
 
Join Date: Nov 2009
Rookie Year: 2009
Location: Iowa
Posts: 803
Nemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond reputeNemo has a reputation beyond repute
Re: Arcade mecanum drive

Quote:
Originally Posted by jhellr13 View Post
I have been looking around at info regarding mecanum driving. I have seen you really need to use tank drive. I also found it can be done with arcade too. Except that rotating doesn't work like in tank drive. I was thinking if we used arcade drive with the logitech attack 3d extreme joystick that has a swivel joystick, would rotation then work if linked up to the swivel axis. Could this work?

Thanks
You could certainly set mecanum up as a tank drive with one x-axis (or both x-axes averaged together) used for strafing. You'd need to invent your own mixer code that tells the motors what to do when, for example, your driver hits up-left 50% on the left stick and down-left 25% on the right stick. It would need to output the four motor outputs that would make the robot do a combination of moving diagonally left-forward at a certain rate and rotating to the right at the appropriate rate.

Actually, I'm thinking about this, and maybe that would be relatively simple to try. If you just subtracted Y-axis 1 from Y-axis 2 and divided by 2, you'd have a rotation axis. You average Y-axis 1 and Y-axis 2 together to get your forward/backward axis. Then you average X-axis 1 and X-axis 2 together to get your strafing axis. Feed those three numbers into the mecanum code that all teams were given, and I think it would work as a tank drive.

Quote:
Originally Posted by Ether View Post
I could be wrong, but I would guess that field-oriented-control is what lets the 488 robot do what you saw in that video. You could just as easily do that with a single joystick with the rotation controlled by the twist axis if the translation commands (Y and X) are field-oriented.
of a 3-axis joy
Field oriented control would certainly make this easier. Our drivers have also practiced this maneuver using the regular arcade drive / robot-oriented control that is provided in the FRC LabView libraries with our own gyro feedback VI added in. This year we used an XBox controller to drive, which has two joysticks. One of the sticks does rotation (uses x axis only) and the other does forward/backward and strafing. We also set up the trigger buttons to strafe left/right (those are axes, not True/False inputs). To do the 180 maneuver in the video on robot centric control, you have to start the forward/backward joystick straight ahead. Then you have to start rotating it (go sideways on the rotation axis) and simultaneously roll the other joystick around from front to sideways to backwards.

Field-oriented control is easier to use in some ways but not strictly superior to robot-oriented control. For one thing, robot oriented control allows you to achieve the robot's maximum speed simply by hitting straight forward. Because you can't go as fast at an angle or sideways, that isn't always true on field oriented control. Also, moving the joystick straight forward always moves your manipulator straight forward (if it points forward), which can be preferable if you have the robot lined up to a field element and just need to move it closer. I talked to our driver for this year about the trade-offs, and he prefers robot oriented control. It does take some practice, particularly in a game like this year's where the robot is facing toward you so much of the time.

Last edited by Nemo : 13-03-2011 at 20:22.
Reply With Quote