|
|
|
![]() |
|
|||||||
|
||||||||
We used an "octocanum" drive in 2011 and really liked what it offered to our drivers. We implemented mecanum drive better than most of what I've seen on the field and made good use of the traction wheels to get ourselves through or out of situations that the mecanum wheels couldn't.
The system, because we didn't so much as think about something like it before kickoff, was heavy, expensive and labor-intensive. I am trying to minimize those things in this version by using as many COTS parts as possible and minimizing machining work.
Ask questions and I'll answer them. 
06-11-2011 01:14
AllenGregoryIV
This looks really great I have a couple questions
1. Why did you choose to pivot the traction wheels down instead of moving the mecanum wheels?
2. What are the final gear ratios to each set of wheels?
3. Why did you choose to build under the kit frame instead of on top of it?What's the sub-frame made out of?
06-11-2011 08:01
Ether|
We implemented mecanum drive better than most of what I've seen on the field
|
06-11-2011 10:44
Madison
|
This looks really great I have a couple questions
1. Why did you choose to pivot the traction wheels down instead of moving the mecanum wheels? 2. What are the final gear ratios to each set of wheels? 3. Why did you choose to build under the kit frame instead of on top of it?What's the sub-frame made out of? |
|
What mecanum wheels are you using, why did you select them, and what (if any) issues have you had with them?
What makes your mecanum implementation better? |
06-11-2011 16:28
AllenGregoryIV
Thanks that cleared some things up.
Are the wheel assemblies and bearing blocks the only machined parts?
How do you avoid compressing the C-channel when you bolt the tough-boxes through it?
06-11-2011 17:25
Madison
The wheel assemblies are 1/4" ABS with .5x.5x.125" angle added for rigidity. We can laser cut the ABS parts in a few minutes; then it's simply a matter of cutting the angle to length and match drilling it to the ABS.
The bearing blocks are of similar construction, but are really ugly right now. I'm still working on those.
If possible, we'll bolt the transmissions through just one wall of the C-channel. Otherwise, we'll laser cut 1/2" ABS inserts to stick inside the C-channel to prevent it from buckling where it's bolted through.
06-11-2011 17:32
Woah.....
I have seen many amazing drive trains in my time (and I mean MANY), but this is just AMAZING! I love the idea! Are you going to implement it next year?
Just some questions:
1. How many KoP parts does it use?
2. How many other parts?
2.5 Where can these parts be obtained?
3. How easy is this to make (during build season, with a team of builders)
4. Is it open source? 
06-11-2011 17:53
Ether|
Our mecanum implementation worked. I didn't program it, so I can't speak too much to what made it work, but our programming team did a fantastic job there. We had accurate, fast, field-oriented drive that allowed us to fully use the movement capabilities of the mecanum wheel set. In my experience, most teams fail to achieve the level of control we managed.
|
06-11-2011 21:25
BJCComments/ questions are bolded
|
We pivot the traction wheels down for a few reasons. First, by putting them nearer to the center of the machine, it makes turning with four high-traction wheels a bit easier to accomplish. We also gear down further to that wheel set, so it makes sense for it to be at the end of the gear train.
I was always under the impression that the traction wheels were suppose to be on the outside to aid in pushing/ not being pushed; that not being able to turn was desired because you are only ever going straight when pushing? Also, if the mecanums are on the inside won't you rock up onto the mecanums when pushing someone? Additionally, are you concerned with your wheel pods being bent in when your traction wheels are down and someone T-bones you going 14+fps? The gear ratios are 8.45:1 at the mecanum wheels -- that's one of the options for the Toughbox Nano -- and about 25:1 at the traction wheels. The traction wheel ratio makes things pretty slow, but it's easy to swap in sprockets to speed things up as required. Any concerns about the gearbox ripping itself apart when you are switching wheels at full speed and both wheels are momentarily touching the ground or do the mecanums slip enough for this to not be a problem? The kit frame is 1.25" thick and the output of Toughbox is 1.5" from its edge, so when using a 6" mecanum wheel, we'd end up with just .25" of ground clearance if we built things the other way around. How high do the inner wheels pivot off of the ground, and how dropped are the traction wheels when they are down? The subframe, right now, is 1x1x.125" angle bolted to the perimeter of a .125" perforated PVC sheet and hung from the Toughbox Nano housings. It is intended to hold electronics and would need to be enhanced if it were going to see more substantial loading. This is based on AndyMark 6" mecanum wheels -- http://www.andymark.com/product-p/am-0136.htm We used this last season and I'm happy with the build quality and performance. They're heavy, but they're not as heavy as the 8" set we originally played with years ago and we're willing to deal with the weight and cost in place of building our own. Our mecanum implementation worked. I didn't program it, so I can't speak too much to what made it work, but our programming team did a fantastic job there. We had accurate, fast, field-oriented drive that allowed us to fully use the movement capabilities of the mecanum wheel set. In my experience, most teams fail to achieve the level of control we managed. |
06-11-2011 22:33
Jonathan Norris
Any thought into making the Mecanum wheels the pivoting ones?? Our team last year developed some CAD prototypes for this combination, and eventually didn't implement it due to the added complexity. However, we did use mecanum last year, and didn't have a great experience with it. I think one of the biggest problems we saw (other then malfunctioning Jaguars...), was that when all four wheels were not on the ground (due to an un-even playing field, and seams in the carpet) the controllability of the system declined, and even worse the power of the drive system declined. Some of this we could correct with programing, but loss in power and acceleration was really noticeable. The loss in acceleration is I believe the biggest downside of using mecanum, the reality I saw was that our robot was just far slower in accelerating, changing direction, and stopping (decelleration) then high traction based drive systems.
I was wondering if you pivoted around the traction wheels instead of the Mecanum wheels in the octocanum, if you would see any advantages because the pistons could act as a suspension system. I've been told that mecanum drive systems perform better with a suspension system, I would be interested in hearing from teams that have used suspension in their mecanum drives. But for me I would need to see a big improvement in acceleration/deceleration to advocate for using mecanum again.
06-11-2011 22:47
Ether|
The loss in acceleration is I believe the biggest downside of using mecanum, the reality I saw was that our robot was just far slower in accelerating, changing direction, and stopping (decelleration) then high traction based drive systems.
|
07-11-2011 18:17
JohnGilb|
Mecanum is not hard to program. It is very straightforward. The same is true of field-oriented drive.
If your robot had superior control, I suspect the reasons are probably: 1) superior craftsmanship and attention to detail of the mechanical design (wheel and frame alignment, leveling, weight distribution, minimal and consistent drivetrain friction, carefully assembled and adjusted mecanum wheels) 2) attention to detail of the electrical design (proper wiring to motors and gyro, selection of gyro with minimal drift, etc) 3) well-designed driver interface (match the driver interface to the driver) 4) skilled drivers with lots of practice |
07-11-2011 18:36
Ether|
There were many PID operations that more or less worked in concert to allow smooth robot control.
|
07-11-2011 18:59
JohnGilbInitially, we had 3 closed-loop systems:
Rotational - used a gyro to keep the robot on target heading
Translational - used encoders on "follow wheels" (unpowered wheels) to gauge ground speed and keep the robot translating on a target vector
Wheel Speed - used encoders on the drive wheels themselves to achieve precise wheel speed control
After a while, we actually disabled the wheel speed, as we didn't appear to get much performance improvement from it and we were looking to save on some CPU cycles.
07-11-2011 19:15
AdamHeard
|
Other than closed-loop speed control of the 4 wheels (did you do that?), what other closed loop controllers did you use for controlling the drivetrain?
|
07-11-2011 19:20
Ether|
Rotational - used a gyro to keep the robot on target heading
Translational - used encoders on "follow wheels" (unpowered wheels) to gauge ground speed and keep the robot translating on a target vector |
07-11-2011 20:45
JohnGilbThe driver had two joysticks:
1st: X/Y joystick movement controlled X/Y direction & magnitude of the robot relative to the field
2nd: X joystick movement controlled rotational rate relative to the robot
So, not exactly what you described, but fairly close.
07-11-2011 21:15
Ether|
The driver had two joysticks:
1st: X/Y joystick movement controlled X/Y direction & magnitude of the robot relative to the field 2nd: X joystick movement controlled rotational rate relative to the robot |
- You do closed-loop control of the vehicle speed as commanded by the radius1 of joystick #1
- You do closed-loop control of vehicle heading as commanded by the angle2 of joystick #1
- You do open-loop command of rotation rate as commanded by joystick #2 (X, Y, or Z axis?)
08-11-2011 03:08
JohnGilbSorry, I think something got lost in my description.
-We perform closed loop control of X translation as commanded by the X axis of Joystick1
-We perform closed loop control of Y translation as commanded by the Y axis of Joystick1
-We perform open loop control of Robot rotation rate as commanded by the X axis of Joystick2 (however, when desired rotation rate is 0, we perform closed-loop control of robot angle as commanded by the heading we were at when we stopped rotating)
This was accomplished with 3 follow wheels and a gyro. Two of the follow wheels were used to track the robot moving forward/backward, and one was placed directly under the center of rotation and used to track the robot strafing.
08-11-2011 08:48
pfreivaldAn interesting design! We've used mecanum for the past two years and were very satisfied with it in many respects, but know that it needs some push to really up our competition level. Thus, we've been working on our own drive (though I didn't know it had a cool name like 'octocanum') which is similar in idea to this.
Thanks for sharing! (And great questions everyone. This is a good thread to follow for anyone considering such shenanigans like we are!)
08-11-2011 10:56
Ether|
Sorry, I think something got lost in my description.
-We perform closed loop control of X translation as commanded by the X axis of Joystick1 -We perform closed loop control of Y translation as commanded by the Y axis of Joystick1 -We perform open loop control of Robot rotation rate as commanded by the X axis of Joystick2 (however, when desired rotation rate is 0, we perform closed-loop control of robot angle as commanded by the heading we were at when we stopped rotating) This was accomplished with 3 follow wheels and a gyro. Two of the follow wheels were used to track the robot moving forward/backward, and one was placed directly under the center of rotation and used to track the robot strafing. |
08-11-2011 13:17
JohnGilbEther, your follow wheel mounting assumption is correct. They were positioned as in your diagram, and they were omniwheels.
We did use them to calculate a rotation rate, let's call that Rotation_Follow. We also had rotation from the gyro, let's call that Rotation_Gyro.
We found that Rotation_Follow wasn't as good as the Rotation_Gyro, we suspect due to minute wheel scrub and small errors accumulating, but it did not suffer from drift. Consequently, we used Rotation_Gyro exclusively, but ignored any change in rotation while Rotation_Follow was 0 (typically at the start of the match before the robot was moving anywhere, or during testing when the robot spent a lot of time on a bench or disabled). This eliminated a large part of our gyro drift.
08-11-2011 13:55
Ether|
we used Rotation_Gyro exclusively, but ignored any change in rotation while Rotation_Follow was 0 (typically at the start of the match before the robot was moving anywhere, or during testing when the robot spent a lot of time on a bench or disabled). This eliminated a large part of our gyro drift.
|
08-11-2011 14:19
Jared Russell
|
Ether, your follow wheel mounting assumption is correct. They were positioned as in your diagram, and they were omniwheels.
We did use them to calculate a rotation rate, let's call that Rotation_Follow. We also had rotation from the gyro, let's call that Rotation_Gyro. We found that Rotation_Follow wasn't as good as the Rotation_Gyro, we suspect due to minute wheel scrub and small errors accumulating, but it did not suffer from drift. Consequently, we used Rotation_Gyro exclusively, but ignored any change in rotation while Rotation_Follow was 0 (typically at the start of the match before the robot was moving anywhere, or during testing when the robot spent a lot of time on a bench or disabled). This eliminated a large part of our gyro drift. |
08-11-2011 14:48
JohnGilbWe tried a number of filters (Kalman was unfortunately beyond my reach, never had a strong grasp on linear algebra), but they turned out to be unnecessary - the gyro we used (don't have the model # on me) was incredibly accurate - it usually only drifted ~3 degrees over the course of each match, even through collisions.
The "stationary detection" we did was only necessary when the robot was put on the field but the start of the match was delayed several minutes (yeah, we've all been there).
08-11-2011 14:52
AdamHeard
|
We tried a number of filters (Kalman was unfortunately beyond my reach, never had a strong grasp on linear algebra), but they turned out to be unnecessary - the gyro we used (don't have the model # on me) was incredibly accurate - it usually only drifted ~3 degrees over the course of each match, even through collisions.
The "stationary detection" we did was only necessary when the robot was put on the field but the start of the match was delayed several minutes (yeah, we've all been there). |
08-11-2011 15:04
Ether
The point midway between the translation follower wheels was said to be the center of rotation of the vehicle. To the extent that is true*, you could extract vehicle rotation while translating.
*The center of rotation likely shifts around especially if weight distribution changes as manipulators move.
08-11-2011 15:08
AdamHeard
|
The point midway between the translation follower wheels was said to be the center of rotation of the vehicle. To the extent that is true*, you could extract vehicle rotation while translating. *The center of rotation likely shifts around especially if weight distribution changes as manipulators move. |
08-11-2011 15:26
theprgramerdudeWhat's the maximum speed at which you can switch between Mecanums and high-traction wheels? Plus, about many switches can be performed before there becomes a serious air deficiency such that it is unreasonable to switch at all, assuming you have about 3-4 tanks at 120 PSI at the start.
08-11-2011 15:56
Ether
Imagine a robot going around a circular track at constant speed such that it completes one lap every minute. The robot has a gyro mounted on it. The gyro rate will be 1 rpm, the same as if the robot were spinning in-place at 1 rpm.
I'll have to check the math, but I believe that with 3 followers mounted as shown, you can extract the vehicle's rotation rate (the same rate measure by a gyro) for any vehicle motion.
08-11-2011 15:59
AdamHeard
|
Imagine a robot going around a circular track at constant speed such that it completes one lap every minute. The robot has a gyro mounted on it. The gyro rate will be 1 rpm, the same as if the robot were spinning in-place at 1 rpm. I'll have to check the math, but I believe that with 3 followers mounted as shown, you can extract the vehicle's rotation rate (the same rate measure by a gyro) for any vehicle motion. |
09-11-2011 10:30
Ed Law|
Mecanum is not hard to program. It is very straightforward. The same is true of field-oriented drive.
If your robot had superior control, I suspect the reasons are probably: 1) superior craftsmanship and attention to detail of the mechanical design (wheel and frame alignment, leveling, weight distribution, minimal and consistent drivetrain friction, carefully assembled and adjusted mecanum wheels) 2) attention to detail of the electrical design (proper wiring to motors and gyro, selection of gyro with minimal drift, etc) 3) well-designed driver interface (match the driver interface to the driver) 4) skilled drivers with lots of practice |
09-11-2011 10:52
Ether|
We use the gyro that comes in the KOP. Is there a better one that we should use?
|
09-11-2011 15:04
AllenGregoryIV
The Discobots used the kit gyro last year to do field oriented drive on our omni-drive. We didn't have to much issues with drift over the duration of the match. We did have it setup so that the driver could zero the gyro him self at any of the cardinal directions but he only needed to use it in a few matches.
Our biggest problem with the kit gyro was the initial calibration routine we were dead in the water during a few elimination matches at Lone Star because we didn't let the robot sit still when we turned it on.
09-11-2011 15:47
JohnGilbI've sent an email to the electrical lead on our team, I'll let you know once he digs up the model number of our gyro. =]
09-11-2011 19:34
Dad1279|
What's the maximum speed at which you can switch between Mecanums and high-traction wheels? Plus, about many switches can be performed before there becomes a serious air deficiency such that it is unreasonable to switch at all, assuming you have about 3-4 tanks at 120 PSI at the start.
|
09-11-2011 19:56
Dad1279|
....
I was wondering if you pivoted around the traction wheels instead of the Mecanum wheels in the octocanum, if you would see any advantages because the pistons could act as a suspension system. I've been told that mecanum drive systems perform better with a suspension system, I would be interested in hearing from teams that have used suspension in their mecanum drives. But for me I would need to see a big improvement in acceleration/deceleration to advocate for using mecanum again. |

09-11-2011 22:14
Joe Ross
|
While I personally preferred the field-orientated driving, unfortunately (for me) mentors don't drive. Our driver preferred traditional controls, so that his orientation didn't change when swapping between traction and mecanums.
|
10-11-2011 01:29
JohnGilb
10-11-2011 01:37
AdamHeard
|
So, our electrical mentor says we used http://www.sparkfun.com/products/9410, and it looks pretty familiar.
|
10-11-2011 02:14
JohnGilbWe did that for a time, but it turned out the finer resolution was overkill and a bit noisy. The lower resolution (500 deg/sec max output) was accurate enough.
Actually, I thought the gyro was broken, because sometimes it wouldn't drift at all for long periods of time. Then I'd kick the robot and see it respond. The gyro combined with the default gyro libraries from WPI worked pretty well.
10-11-2011 08:32
Jared Russell
|
We did that for a time, but it turned out the finer resolution was overkill and a bit noisy. The lower resolution (500 deg/sec max output) was accurate enough.
Actually, I thought the gyro was broken, because sometimes it wouldn't drift at all for long periods of time. Then I'd kick the robot and see it respond. The gyro combined with the default gyro libraries from WPI worked pretty well. |
16-11-2011 12:55
Madison
Sorry for taking so long to reply -- I've been pretending to be very busy. Let me try to address some of the non-programming-related questions.
|
Woah.....
I have seen many amazing drive trains in my time (and I mean MANY), but this is just AMAZING! I love the idea! Are you going to implement it next year? Just some questions: 1. How many KoP parts does it use? 2. How many other parts? 2.5 Where can these parts be obtained? 3. How easy is this to make (during build season, with a team of builders) 4. Is it open source? ![]() |
|
Any thought into making the Mecanum wheels the pivoting ones??
I was wondering if you pivoted around the traction wheels instead of the Mecanum wheels in the octocanum, if you would see any advantages because the pistons could act as a suspension system. I've been told that mecanum drive systems perform better with a suspension system, I would be interested in hearing from teams that have used suspension in their mecanum drives. But for me I would need to see a big improvement in acceleration/deceleration to advocate for using mecanum again. |
|
What's the maximum speed at which you can switch between Mecanums and high-traction wheels? Plus, about many switches can be performed before there becomes a serious air deficiency such that it is unreasonable to switch at all, assuming you have about 3-4 tanks at 120 PSI at the start.
|
02-12-2011 15:56
lcoreylFirst off--very nice design, and very accessible. We're not very capable in terms of build complexity, but might prototype something like this next season.
One of our main concerns is the side loading.
|
The subframe, right now, is 1x1x.125" angle bolted to the perimeter of a .125" perforated PVC sheet and hung from the Toughbox Nano housings. It is intended to hold electronics and would need to be enhanced if it were going to see more substantial loading.
|
26-03-2012 20:00
pfreivaldI wanted to resurrect this thread to say the following to Madison:
THANK YOU SO MUCH!
We based our octocanum on your design for this year, and it's the most successful, awesome drivetrain we've ever built. We absolutely, completely love it -- and based on the feedback from a lot of other teams, many other people do, too. It is, hands down, one of the reasons we were as successful as we were this year.
Thanks again!
26-03-2012 20:26
lcoreyl|
I wanted to resurrect this thread to say the following to Madison:
THANK YOU SO MUCH! We based our octocanum on your design for this year, and it's the most successful, awesome drivetrain we've ever built. We absolutely, completely love it -- and based on the feedback from a lot of other teams, many other people do, too. It is, hands down, one of the reasons we were as successful as we were this year. Thanks again! |
26-03-2012 20:56
pfreivald|
Wow, I guess this should push us over the edge and get to work on this. Man, I'm kicking myself for not prototyping so we could have used it this year.
I could probably guess due to your absolute love, but did you encounter any serious side loading during competition? (That will save Madison from needing to bother so she can go work on her next bit of magic!) |
27-04-2012 14:13
kmcclaryA good design, Madison. I've tried to convince several of my teams to try something similar for quite a few years now (and in fact I suggested this exact config THIS year, too!) But many of them are younger, smaller, still developing teams, and were a bit afraid of attempting a complex drive train in addition to focusing on designing complex payloads (like programmable shooters, rotating turrets, and non-jamming ball lifts). 
|
This looks really great I have a couple questions [...]
1. Why did you choose to pivot the traction wheels down instead of moving the mecanum wheels? |
)
27-04-2012 14:53
yara92Madison
THANK YOU SO MUCH! allways you have nice things
28-04-2012 01:42
RyanCahoon|
IMHO, you should always hard mount the mecanum wheels to the frame, and never have them dangling on the end of a pivot arm.
|
28-04-2012 08:55
pfreivaldI'd be worried about wonky drive control on mecanums that weren't hard-mounted to the frame. Our steel pods show absolutely no sign of damage after two regionals of really abusive driving on both mecanum and traction wheels.
29-04-2012 04:51
RyanCahoon|
I'd be worried about wonky drive control on mecanums that weren't hard-mounted to the frame. Our steel pods show absolutely no sign of damage after two regionals of really abusive driving on both mecanum and traction wheels.
|
29-04-2012 09:46
pfreivald|
Patrick,
Are you referring to potential for the force vector of a wheel to change if the pods deflect under load, leading to the forces from the wheels not summing correctly? |
|
Do you think this could be solved with feedback from the follower wheels/gyro?
|
29-04-2012 13:21
kmcclaryOriginally Posted by kmcclary
> IMHO, you should always hard mount the mecanum wheels to the frame, and never have them dangling on the end of a pivot arm.
|
Definitely good points to raise, but I imagine you would see similar kinds of (and perhaps even greater in magnitude) stresses by putting the traction wheels on the end of the pivot arm and then being pushed sideways by a robot playing defense against you. Either way, you definitely want your frame to be pretty tough.
|
)
)
29-04-2012 13:41
Dad1279If you look at one of the modules we used last year, we mounted the transmissions directly driving the traction wheels to the chassis. The mecanum wheel modules pivoted on this axle, with acetal slides mounted alongside the wheel modules near the mecanum axle.
This worked fine for two regionals, through considerable robot-robot interaction, and a few off-seasons, demos, and testing this year.
With the higher COF, the traction wheels would put more sideways 'force' on the chassis, when being pushed sideways. I haven't measured it, but it takes considerable more force to push a roughtop traction wheel sideways than a robot on mecanums.
29-04-2012 14:19
kmcclaryOriginally, RyanCahoon wrote:
> Are you referring to potential for the force vector of a wheel to change if the pods deflect under load, leading to the forces from the wheels not summing correctly?
|
That, and our machine tolerance aren't precise enough for me to be able to guarantee that the weight distribution is exactly right. As long as your frame is square and the mecanum wheels are mounted to it, this isn't a problem.
|

|
In theory, every mechanical issue can be fixed by adding sensor feedback and offloading the issue to the programmers, right?
![]() |
... Actually, I agree that having an independent measurement of performance is always USEFUL (for precision guidance during Autonomous, Field-Centered Navigation [FCN], etc).
), then by all means add in the external sensors (follower wheels, gyros, etc) to support an independent "opinion" of where you are.
29-04-2012 15:03
pfreivaldOur octocanum drive this year did absolutely everything we wanted it to do, including take heaps of abuse with no signs of wear. We used one cylinder on each side of the robot, controlled with a single valve. Our mecanum wheels were hard-mounted to the chassis, and the traction wheels were on the ends of pivots just barely long enough to accommodate the wheel geometry.
We absolutely love everything about it except the weight, which we're going to play around with in the off-season.