Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   2015: Year of the Mecanum (http://www.chiefdelphi.com/forums/showthread.php?t=131913)

Tom Line 06-01-2015 12:03

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by alopex_rex (Post 1422680)
Has anyone done anything with using a gyro to correct mecanum issues? People have mentioned it in this thread but I couldn't find any examples online (all I found were examples of how to use gyros for field-oriented control, which is cool too). It seems like it would be fairly simple to, say, store the current gyro angle whenever you start going straight (i.e. not rotating), and have a PID controller change the "rotate" value to maintain the same angle as long as you're trying not to turn. Has anyone done anything like this?

I don't think "mecanum" even has a correct pronunciation; on our team we say me-CAN-um /məˈkę.nəm/, but I think i've heard MEC-(a)-num /ˈmɛk.(ə.)nəm/, which presumably is where the "mecnum" spelling comes from.

Absolutely. It's not terribly complicated either. After all your meCHanum motor set speeds are calculated, mix in a component from the gyro useing a PID. Only do this when the driver is using the strafe functions. Disable it when he is turning.

Easy Peasy.

hrench 06-01-2015 12:29

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by alicen (Post 1419686)
Whenever we did mecanums, we always had suspension on each wheel so that all wheels were always in contact with the floor. They even went over the humps in Breakaway just fine!

We did mecanums for logo motion with a flat-floor and they worked fine, but for rebound rumble, trying to climb the 'bridge' in the middle they were really problematic, even with suspension.

Remember that with mecanums, the left wheel is always pushing against the right wheel to make it go straight. So if one wheel gets off of the ground, your robot turns by itself.

Methinks that with a stack of totes on a forklift, the back-two wheels will be bumping off the ground regularly, and if you try to cross a platform at any kind of angle other than 90, you'll lift a wheel.

Last year I saw four wheel mecanums in the IAM14U frame, and maybe more often in 'butterfly' and 'octanum' drives. That that was acompletely flat floor. My recommendation is that if your heart is set on mecanums, use a butterfly or octo so you can put regular wheels on the floor when you need to. Also, note, the new frames are much more stiff than the old channel sections ones, so you'll need to do Something to keep those wheels on the ground. Something like independent suspension.

Mecanums work really well with Banebot transmissions too.

Last thing. Mecanums running over a noodle a problem? I think so . You tell me?

Ether 06-01-2015 18:49

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by Tom Line (Post 1422726)
After all your meCHanum motor set speeds are calculated, mix in a component from the gyro useing a PID.

My interpretation of the above is:
1) calculate the 4 motor speeds using the X and Y translation commands

2) calculate the motor speeds for rotation using the output from a PID

3) add the the corresponding speeds from (1) and (2).
Wouldn't it be more straightforward to compute the 4 motors speeds just once directly from the X, Y, and rotation commands?


BTW, what's the significance of the CH in caps?


alopex_rex 06-01-2015 21:09

Re: 2015: Year of the Mecanum
 
What I was thinking was a way of dealing with imperfect results from mecanum, i.e., if simply using WPILib's mecanum drive function results in the robot turning when it's supposed to be straight strafing. When the driver is trying not to rotate (the "rotate" value would be zero), store the current gyro heading. Then have a PID controller that tries to maintain that gyro heading, by setting the "rotate" argument for the function. So the PID would find the value that counteracts any undesired rotation caused by mechanical issues.

Ben Wolsieffer 06-01-2015 21:11

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by alopex_rex (Post 1423237)
What I was thinking was a way of dealing with imperfect results from mecanum, i.e., if simply using WPILib's mecanum drive function results in the robot turning when it's supposed to be straight strafing. When the driver is trying not to rotate (the "rotate" value would be zero), store the current gyro heading. Then have a PID controller that tries to maintain that gyro heading, by setting the "rotate" argument for the function. So the PID would find the value that counteracts any undesired rotation caused by mechanical issues.

This is exactly what we did in the past for our mecanum drive, and it worked wonderfully. We didn't have to obsess nearly as much about perfect weight distribution.

Ether 06-01-2015 21:35

Re: 2015: Year of the Mecanum
 
1 Attachment(s)
Quote:

Originally Posted by alopex_rex (Post 1423237)
What I was thinking was a way of dealing with imperfect results from mecanum, i.e., if simply using WPILib's mecanum drive function results in the robot turning when it's supposed to be straight strafing. When the driver is trying not to rotate (the "rotate" value would be zero), store the current gyro heading. Then have a PID controller that tries to maintain that gyro heading, by setting the "rotate" argument for the function. So the PID would find the value that counteracts any undesired rotation caused by mechanical issues.

See attachment

alopex_rex 06-01-2015 21:42

Re: 2015: Year of the Mecanum
 
Nice chart--That's exactly what I was trying to describe!

Aedan Hawke 06-01-2015 21:43

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by Bruceb (Post 1419858)
never used macanums before but really considering it this year. what is the prefered gearbox for these?

We've used mechanums for the last couple of years with success. Last year we made our own gearboxes and built them into our chassis. They worked exceptionally well but, obviously, were a huge drain on time. Other years we used Andymark ToughBoxes and those worked well for us. I'd recommend them unless you'd like the challenge of the custom gearboxes.

forbes 06-01-2015 21:47

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by Ether (Post 1423251)
See attachment

Thanks, that diagram is helpful.

Mecanum Wheel 06-01-2015 21:59

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by Aedan Hawke (Post 1423259)
We've used mechanums for the last couple of years with success. Last year we made our own gearboxes and built them into our chassis. They worked exceptionally well but, obviously, were a huge drain on time. Other years we used Andymark ToughBoxes and those worked well for us. I'd recommend them unless you'd like the challenge of the custom gearboxes.

Hi Aedan. Just for future reference, it's spelled mecanum. It's an easy mistake to make.

Is anyone using 6 inch mecanum wheels with CIMple boxes? We will be and are going for ~11 ft./s.

dawonn 07-01-2015 00:41

Re: 2015: Year of the Mecanum
 
I think we may also going the CIMple Box route with the 6" standard Andymark mecanum wheels, with HTD belts geared for 12.5 fps.

In the past I have used a gyro just as stated above to keep the robot driving straight. It worked so well that we had a motor come disconnected and didn't notice for a few hours. :)

Saberbot 08-01-2015 13:28

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by Ether (Post 1423251)
See attachment

Wouldn't another option be to treat the feedback loop as the "rate controller" for the yaw axis? The rotation command from the joystick would be sent to the yaw controller. If it the command is zero then it will work as described in the attachment. If the command is greater than zero, then the controller will allow for more predictable rates of rotation based on the joystick command.

I believe this is how yaw control is managed on most RC Multicopters.

Ether 08-01-2015 14:16

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by Saberbot (Post 1424347)
Wouldn't another option be to treat the feedback loop as the "rate controller" for the yaw axis? The rotation command from the joystick would be sent to the yaw controller. If it the command is zero then it will work as described in the attachment.

What you've described1 would work; but if you're trying to hold position, it's best to close the loop on position, not velocity.


1 ... http://www.chiefdelphi.com/media/papers/download/2796 ...... http://www.chiefdelphi.com/media/papers/2390

Saberbot 08-01-2015 14:28

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by Ether (Post 1424372)
What you've described1 would work; but if you're trying to hold position, it's best to close the loop on position, not velocity.


1 ... http://www.chiefdelphi.com/media/papers/download/2796 ...... http://www.chiefdelphi.com/media/papers/2390

That makes sense. Thank you for creating these great resources.

holygrail 08-01-2015 15:24

Re: 2015: Year of the Mecanum
 
Quote:

Originally Posted by hrench (Post 1422738)
Last thing. Mecanums running over a noodle a problem? I think so . You tell me?

We have 6" VexPro mecanums on our 2013 robot and we drove it over several noodles with no problem. There is a bit of bumpiness when you go over, so you might want to either stabilize the stack or just drive around the noodles when loaded, but that is true with any wheels unless you have suspension of some sort.


All times are GMT -5. The time now is 05:12.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi