Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   Most Graceful Mecanum Robots? (http://www.chiefdelphi.com/forums/showthread.php?t=154435)

Greg Marra 29-01-2017 14:56

Most Graceful Mecanum Robots?
 
We're building a mecanum drive train robot this year. I'm curious what the best examples of skilled mecanum driving in the past are, and how those robots have mapped xbox controller inputs into robot outputs.

What are some of the most graceful examples of mecanum robot driving in the past? I'm looking in particular for videos that highlight mecanum robots where the driver and the robot seem to be of one mind, demonstrating really great control of the robot.

Thanks!

wjd13 29-01-2017 15:06

Re: Most Graceful Mecanum Robots?
 
1519 was dominant with mecanum wheels in New England for Recycle Rush.

Here's a video from the NEDCMP: https://www.youtube.com/watch?v=EbsC4E76wUY

Here is a thread where they posted their code - take a close look at the subsystem called Drive. https://www.chiefdelphi.com/forums/s...code+r elease

wlaroche 29-01-2017 15:09

Re: Most Graceful Mecanum Robots?
 
One of the best Mecanum drivers I have ever seen was from 2052 back in 2013. Check out any matches for 2052 on TBA in 2013.

https://youtu.be/IMvT3ihrUaY

It also helped that the robot was well designed for that game.

SpecialBuilder 30-01-2017 08:19

Now, I may have a slight bias here, but team 2053 has used mechanum in almost every game, last year even combining mechanum and tank drive.

Sent from my SAMSUNG-SM-J320A using Tapatalk

jreneew2 30-01-2017 08:27

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by SpecialBuilder (Post 1638037)
Now, I may have a slight bias here, but team 2053 has used mechanum in almost every game, last year even combining mechanum and tank drive.

Sent from my SAMSUNG-SM-J320A using Tapatalk

*Mecanum

And here is a video

https://youtu.be/oCj6dN8oyGQ

Taylor 30-01-2017 08:59

Re: Most Graceful Mecanum Robots?
 
As far as controls, I've seen three main schools of thought:
1-joystick: front, back, left, right for translations, twist for turning
2-joystick: A front, back, left, right translations B turn (side-side)
2-joystick: A front, back, CW, CCW B left, right translations

jreneew2 30-01-2017 09:04

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Taylor (Post 1638045)
As far as controls, I've seen three main schools of thought:
1-joystick: front, back, left, right for translations, twist for turning
2-joystick: A front, back, left, right translations B turn (side-side)
2-joystick: A front, back, CW, CCW B left, right translations

We've found that if you are using an Xbox 360 like controller, then it's easiest to do.

Left joystick: forward backwards, left, right

Right joystick: rotate CW and CCW.

We also use field oriented drive and have buttons on the driver's controller to rotate to different angles.

https://github.com/team2053tigertronics/2017Code

You can find the rotate to angle code in the Tigerdrive folder and the actual drive command in /Commands/Drive

flemdogmillion 30-01-2017 09:13

Re: Most Graceful Mecanum Robots?
 
The standardized way to do mecanum drive comes from remote control aircraft, particularly helicopters. 2 sticks: A_y is y movement, A_x is x movement, and B_x is rotation. This leaves B_y open for a "throttle" typically, in this case a climber would make the most sense.

Also, if you square your inputs while maintaining the sign of the initial value, your driving becomes much more graceful. Cubing your inputs is often too much.

Typically, in mecanum years, I train my team's drivers to:
1: Rotate around a point while facing it, this is a very common task in-game when aligning the robot to anything.
2: Travel in a straight line while rotating half speed. Requires very good orientation.

That way, you never need to use field-oriented drive, and you never need to worry about gyro drift killing your endgame.

RoboChair 30-01-2017 13:29

Re: Most Graceful Mecanum Robots?
 
If you are going to do mecanum, please try and program it Field-Centric as you will get the greatest benefit from it that way.

I don't want to see another team make a tank drive with expensive fancy wheels. make strong use of them every time you move on the field.

Chris is me 30-01-2017 13:38

Re: Most Graceful Mecanum Robots?
 
Field-centric and a quality gyro do wonders to make a mecanum drive feel intuitive and accurate. It's just much harder if not impossible to get that kind of fluid driving + strafing with robot centric controls - that's when you get into "crappy tank drive" style driving.

Other than that, Halo controls - lateral movement on the left stick and rotation either on the right stick or on the shoulder buttons if you're feeling adventurous.

Check out 2052 from MN; their 2013 robot in particular had an excellent mecanum drive. I believe they were field centric and used these sort of controls. 2791's 2015 robot was a dream to drive with these controls, but it was pretty bad at everything else it did that year, so I don't have great video of it being dominant or anything.

Andrew_L 30-01-2017 13:54

Re: Most Graceful Mecanum Robots?
 
Here is a control scheme for omnidirectional robots that I developed earlier that, in my opinion, gives the driver the most useful control over the robot's position and orientation: https://docs.google.com/document/d/1...it?usp=sharing

I'd be happy to answer any questions about it.

flemdogmillion 30-01-2017 14:02

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by RoboChair (Post 1638155)
If you are going to do mecanum, please try and program it Field-Centric as you will get the greatest benefit from it that way.

I don't want to see another team make a tank drive with expensive fancy wheels. make strong use of them every time you move on the field.

I train my drivers to use mecanum effectively without field orientation. Running mecanum wheels like tank drive uses far less current, depending on the wheels.

Waz 30-01-2017 14:05

Re: Most Graceful Mecanum Robots?
 
In 2015 when I was mentoring team 4561 in Durham NC, we used two joysticks and field relative drive (could switch to robot relative if desired).

As with many such designs, one stick was for movement. We would move, relative to the field, in the direction the stick was pushed and at a speed relative to the deflection of the stick.

While we used the second stick for rotation, I think we did it a bit differently than most. We would use PID control to rotate the robot to the field relative direction that the stick was pushed. It was not just rotate CW or CCW. It would rotate CW or CCW depending on which way was the smaller angle (always less than or equal to 180 degrees) to the desired field relative angle.

This made it easy to move toward a location on the field and by the time you were there, be pointing in the direction you wanted. For example, to move somewhere straight up the field and be pointing to the right, push the movement stick forward and the rotation stick straight right.

I would not say we quite got it perfect, for example the drivers tended to have to push the rotation stick to an angle a bit past where they wanted the rotation to stop, but it was pretty slick.

Thanks,
Steve

Ken Streeter 02-02-2017 11:15

Re: Most Graceful Mecanum Robots?
 
BLUF (bottom line up front): For mecanum drive, it's real easy to code up field-centric drive as an option after getting robot-centric drive to work, and then use the one that works best for the combination of your driver, your robot, and your anticipated gameplay.

Quote:

Originally Posted by wjd13 (Post 1637816)
1519 was dominant with mecanum wheels in New England for Recycle Rush.

Thanks for the kudos. The 2015 game, Recycle Rush, with no defense, was a great opportunity for teams to explore mecanum drive. We thought our mecanum drivetrain worked very well for our 2015 game strategy.

Quote:

Originally Posted by RoboChair (Post 1638155)
If you are going to do mecanum, please try and program it Field-Centric as you will get the greatest benefit from it that way.

It's practically trivial to have field-centric controls on a mecanum drive robot. After determining the commanded direction vector from the operator's controls (that's the hard part, which has to be done already), one simply rotates the vector by the robot's current field-centric heading (the gyro value). For the actual code, see our mecanum code from 2015, as linked above.

In 2015 with our mecanum drive, we had an OI button that could switch between the sets of controls to allow drivers to experiment with either.

Quote:

Originally Posted by RoboChair (Post 1638155)
I don't want to see another team make a tank drive with expensive fancy wheels. make strong use of them every time you move on the field.

Quote:

Originally Posted by flemdogmillion (Post 1638187)
I train my drivers to use mecanum effectively without field orientation. Running mecanum wheels like tank drive uses far less current, depending on the wheels.

The above pair of comments are important to consider together. The first one faults mecanum drivers for not making sufficient use of mecanum capabilities. That's a readily-apparent common issue, especially for drivers that are accustomed to driving a tank-drive robot.

However, the second post is just as important, and it's not just about saving current -- it's about the speed of getting from point A to point B! flemdogmillion's point is particularly important to remember for drivers for whom the mecanum robot is the first one they've driven (and thus doesn't have to unlearn "tank drive habits") - there are times that it is better to drive the mecanum robot like a tank drive robot!

In particular, mecanum robots strafe much slower than they drive forwards and backwards.

What the speed difference means to the driver is that if the robot is currently pointed perpendicular to the field, and wants to move nearly all the way down the field, the fastest way to get to the other end of the field is not to just strafe 40 feet sideways (which would make "strong use" of the mecanum capability). The critic from the stands, seeing the mecanum bot driven like "a tank drive with expensive wheels" in this circumstance in order to get downfield as quickly as possible, might think the driver was wasting their mecanum capability, without realizing that the driver just executed the fastest maneuver possible for their drivetrain.

For short sideways movements, mecanum strafing is clearly much faster and a big win for mecanum. For long-distance field traversal, driving straight forwards is the fastest way to get there, whether the robot is mecanum or tank.

The crossover point will vary from situation to situation. We found in 2015 that for our mecanum robot that year, there were definitely parts of our routine for which it was faster to get our mecanum robot from point A to point B by "driving like a tank" instead of making "strong use of the [mecanum wheels] every time we move." There were also short strafing movements that were a key part of our approach to harvesting the landfill and fundamental to our robot design.

But, what does this have to do with field-centric drive? Well, the use of field-centric drive insulates the driver from some of the awareness of whether the robot is strafing and/or going forwards or backwards, making it difficult to drive the mecanum robot in such a way that takes advantage of the strafing capabilities when it matters, yet minimizes the disadvantage of the *slow* strafing speed when traveling long distances.

For what it's worth, in the 2015 game with our robot, our drivers found that field-centric drive enabled a novice driver to become a reasonable driver pretty quickly and easily. However, to get to the level of "excellent driver", the robot-centric drive mechanism was better. Having the field-centric drive abstract away the knowledge of whether the robot needed to move sideways or forwards (but just know that it needed to move laterally across the field) enabled the driver to progress to a reasonable level very quickly, but that knowledge needed to be taken into consideration by the driver in order to decide when to "drive like a mecanum" and when to "drive like a tank." Using robot-centric drive all the time built that awareness & skill in the driver more easily than that same awareness and skill was developed with field-centric drive, at least in our limited usage.

Your mileage may vary and a lot of the determination of robot-centric vs. field-centric is related to driver preference and prior learned styles.

Bottom line: for mecanum drive, it's real easy to code up field-centric drive as an option after getting robot-centric drive to work, and then use the one that works best for the combination of your driver, your robot, and your anticipated gameplay.

Chris is me 02-02-2017 11:33

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by flemdogmillion (Post 1638187)
I train my drivers to use mecanum effectively without field orientation. Running mecanum wheels like tank drive uses far less current, depending on the wheels.

You can also train your drivers to operate a field centric controls in the "tank drive direction" when going on long sprints. It's just a matter of remembering to turn and pointing in the right direction.

For a game like this one, I like having the option to switch between the two mid-match - dip into field centric for fine adjustments and robot centric for long sprints. But this of course requires even more training to be good.

rlance 02-02-2017 11:46

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Andrew_L (Post 1638179)
Here is a control scheme for omnidirectional robots that I developed earlier that, in my opinion, gives the driver the most useful control over the robot's position and orientation: https://docs.google.com/document/d/1...it?usp=sharing

I'd be happy to answer any questions about it.

What is the "Moon Maneuver"???

We are doing omni this year and are considering adding a button for a pre-programmed evasive maneuver. Is this one of those?

InFlight 02-02-2017 11:53

Re: Most Graceful Mecanum Robots?
 
We used a flight simulator type of joystick for our recycle rush Mecanum Drive. This enables you to control both direction, and rotation (via twist) simultaneously and intuitively. You could use this method for either field centric or robot centric control.

Logitech 963290-0403 is a very reasonably priced PC USB option.

Caleb Sykes 02-02-2017 12:12

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Chris is me (Post 1639454)
For a game like this one, I like having the option to switch between the two mid-match - dip into field centric for fine adjustments and robot centric for long sprints. But this of course requires even more training to be good.

Or have one driver trained with field centric and one trained with robot centric and switch control between the two as needed.

NShep98 02-02-2017 12:16

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by rlance (Post 1639459)
What is the "Moon Maneuver"???

We are doing omni this year and are considering adding a button for a pre-programmed evasive maneuver. Is this one of those?

A moon maneuver is a move in which you "orbit" around a fixed point, often an opposing robot, while facing that point at all times, much like the moon orbiting the Earth.

Chris is me 02-02-2017 12:21

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Caleb Sykes (Post 1639467)
Or have one driver trained with field centric and one trained with robot centric and switch control between the two as needed.

I'm not sure if you're joking, but this is a completely ridiculous idea. This is almost guaranteed to give you worse performance than giving the same driver double the stick time, and the speed lost in switching drivers mid-match completely negates the relatively minor speed advantage of switching between the styles of drive. Don't do this.

Ari423 02-02-2017 12:56

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Chris is me (Post 1639454)
You can also train your drivers to operate a field centric controls in the "tank drive direction" when going on long sprints. It's just a matter of remembering to turn and pointing in the right direction.

For a game like this one, I like having the option to switch between the two mid-match - dip into field centric for fine adjustments and robot centric for long sprints. But this of course requires even more training to be good.

With a bit of feedback control, you should be able to assign a button on the controller to "sprint mode" where driving is still field-centric, but the robot always drives with the front forward. I haven't tried it before, but that should give you the sprinting speed of robot-centric with the ease of control of field-centric.

JesseK 02-02-2017 12:58

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by NShep98 (Post 1639468)
A moon maneuver is a move in which you "orbit" around a fixed point, often an opposing robot, while facing that point at all times, much like the moon orbiting the Earth.

I was staying away from this thread until this. I love driving this maneuver in video games and robot demos. It's pretty fun. However, have yet to see it give an advantage in any FRC match videos.

---

This year Mecanum seems to give the most advantage during line up of receiving a gear and placing a gear. In field-centric mode, it does so by increasing margin of error and intuitiveness to do those tasks. The most graceful Mecanum bots this year will do just that, IMO. Juke moves with Mecanum under-perform 9 times out of 10.

In my experience, Mecanum doesn't seem to reduce the time it takes to do those tasks when compared to a practiced driver on a tank. Time is the differentiator in everything at high levels of play. I'd even say that a tank drive which sprints 16-18ft/s during the straightaways and shifts to a 6-7ft/s low gear for the line-up would still be a faster cycle time than a Mecanum drive at an overall 12-13ft/s.

So "graceful" Mecanum bots who can score well in a reasonable amount of time may find a home on my alliance in early events simply because I set goals for my team to do so well at our singular role that the Mecanum bot will be largely undefended. Or maybe I get that Mecanum bot on my alliance in order to absorb the defense since they're so easy to defend. Who knows :rolleyes:.

Caleb Sykes 02-02-2017 13:02

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Chris is me (Post 1639469)
I'm not sure if you're joking, but this is a completely ridiculous idea. This is almost guaranteed to give you worse performance than giving the same driver double the stick time, and the speed lost in switching drivers mid-match completely negates the relatively minor speed advantage of switching between the styles of drive. Don't do this.

Not joking, that is the control scheme we are currently planning to implement.

We still have plenty of time to abort if we discover this is more trouble than it is worth.

Tom Bottiglieri 02-02-2017 13:04

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Greg Marra (Post 1637813)
What are some of the most graceful examples of mecanum robot driving in the past?

None.

RoboChair 02-02-2017 13:50

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Tom Bottiglieri (Post 1639497)
None.

Something about "Going sideways is a waste of time"?

lenny8 02-02-2017 14:33

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Tom Bottiglieri (Post 1639497)
None.

I agree that we really haven't seen a perfect example YET on how you should drive mecanums but with the constant bashing of the drivetrain ( of people who never even tried it might I add ) it's going be hard to get there.

Kevin Sevcik 02-02-2017 14:42

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Ari423 (Post 1639490)
With a bit of feedback control, you should be able to assign a button on the controller to "sprint mode" where driving is still field-centric, but the robot always drives with the front forward. I haven't tried it before, but that should give you the sprinting speed of robot-centric with the ease of control of field-centric.

This, only I think it'd be better to have it pick the closest of forwards/backwards. Or maybe have that toggleable. It should be straightforward to implement. Hold down the print button, lock out rotation input, apply fixed amount of rotation command CW or CCW in direction of travel based on commanded vector and your current heading. Probably scale it down once you get very close to the correct heading, but capping it to a reasonable amount would probably make driving more stable for large corrections.

Field centric tank drive implemented in this fashion would be an interesting innovation.

CalTran 02-02-2017 14:52

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by lenny8 (Post 1639547)
I agree that we really haven't seen a perfect example YET on how you should drive mecanums but with the constant bashing of the drivetrain ( of people who never even tried it might I add ) it's going be hard to get there.

Can't tell if you're talking in general, or trying to call out 254 on having never tried an omnidirectional drivetrain. If the latter, I'd be immensely surprised if they've never dabbled with it in offseason. I assume their on field performance with a WCD needs no justification.

Caleb Sykes 02-02-2017 15:05

Re: Most Graceful Mecanum Robots?
 
Quote:

Originally Posted by Kevin Sevcik (Post 1639554)
This, only I think it'd be better to have it pick the closest of forwards/backwards. Or maybe have that toggleable. It should be straightforward to implement. Hold down the print button, lock out rotation input, apply fixed amount of rotation command CW or CCW in direction of travel based on commanded vector and your current heading. Probably scale it down once you get very close to the correct heading, but capping it to a reasonable amount would probably make driving more stable for large corrections.

Field centric tank drive implemented in this fashion would be an interesting innovation.

We are implementing this in our code this year, I had this same idea a few years back but haven't had a chance to implement it until now.

Strafing can be pretty useful in many situations, but it is an awful choice for travelling long distances quickly.

NolanGZ3452 02-02-2017 15:52

Re: Most Graceful Mecanum Robots?
 
I might be bias because this is my own team, but i beleave we got the most our of our mecanum drivetrain in 2015. I know its not the same because the games are so different, but i believe if you go with a mecanum drivetrain you need to use its abilities to your advantage or else you might as well just have gone with tank drive.

https://www.youtube.com/watch?v=7FJLMB58eVU


All times are GMT -5. The time now is 00:59.

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