We had a major problem keeping our robot from overheating in matches at worlds. I’d really like to solve the problem so we know how to build a better drivetrain for next year.
The robot is 12.5 lbs and uses 4 omni wheels in the ‘x’ pattern. Each wheel is driven directly 1:1 by a 269 motor. The wheel is supported on both sides with bearings and we just used an axle straight through everything right into the motor; its extremely simple mechanically.
Unfortunately in almost every match we played in worlds one or more of the motors would eventually stop working (seems to be the internal thermal breakers were tripping). Even in matches where we tried to be careful not to get into pushing matches this would happen. Before the eliminations we bought brand new 269s and were able to replace 3 of the old ones with new ones and the drive still quit in our elimination match.
We’ve checked the wheels and there doesn’t seem to be any undue “drag” on the wheels or anything like that. Earlier in the year, we had the old 3 wire motors on this robot and they never quit in this way. With the 3 wire motors, we even had them driving gears speeding up the wheels by a ratio of 84:60 to get a little more speed and never had the robot quit on us in a match. When we replaced the 3wires with 269s we immediately noticed that we had to reduce the gearing but apparently going to 1:1 wasn’t enough.
So what do we do differently for next year? Use the 3 wire motors? Keep the weight even lower (last year we had 1:1 drive with an almost 20lb steel robot and never had the 3wire motors quit on us). Any other ideas? We have the robot with a chunk of field right now so we can do experiments.
this year there seemed to be a lot of overheating issues with the new motors. the vex engineers said that they would look into this issue for next year and let us know what we should do about it. just hang on to see what they find out about them. we had motors overheat in matches that did not ever during practice or on their practice fields.
we had the exact same issue with our two holonomic drive robots our motors would over heat and we wouldn’t be able to move… after the first day we changed our robots its tank drive and they worked perfectly.
We had a similar problem with the 393 motors geared internally for speed on a holo drive. I would assume that they overheat on a holo and not a tank because of the added stress the motors are under when at a 45 degree angle. This was expounded by the increase in friction of the field tiles at worlds, causing motors to overheat. I’m not an expert but that’s my educated guess.
The 269 stall torque is 8.6 in*lbs and we’ve got 2" radius wheels. 8.6/2 = 4.3lbs pushing force (max). 4 wheels and 4 motors = 17.2 lbs total. If you multiply by .707 due to the fact that the wheels are all angled we get right around 12lbs pushing (and around 12lbs of robot). So I guess this robot is designed too close to the stall torque of the motor.
With the lower torque 3-wire motors we do get less pushing force (less acceleration) but we never over heat. e.g. we’re abusing them even more but the robot always kept running. Given these tradeoffs, the 3 wire motors worked a lot better for us.
Its making more sense but I hope they find a way to improve this situation. If anyone from vex needs a beta tester let us know
It’s something else – it shouldn’t take much force to make a wheeled robot move, even if it is holonomic. Get a scale from a physics class, tie a string to it and your robot, then measure the force. Even with unpowered motors hooked to the wheels, I doubt it will take 12 pounds of force to move the robot.
With small motors and 4" wheels I would have thought that you were over-geared, but direct-driving (1:1) that combination should be fine with a 12-pound robot. All I can suggest is the usual – check the friction, make sure it really weighs what you think it weighs, and check all the motors to make sure they are all working well. Good luck.
Its true that we don’t need that much force to just drive. The robot drives great but I think the calculation shows that whenever we drive against something immovable, the motors will stall rather than spin the wheels and we’ll be pulling the max current of the motors. It would seem that we have to avoid that with these motors.
There is a way to write stall protection code.
If you have an encoder on your drive wheels you can write code that simple looks at the encoder value every half second or so (while your joysticks are in a position that would command the robot to drive) and makes sure that the value has changed. If the value has changed then that is great, the code will allow you to continue diving as usual. However (this is the important part) if the value has not changed then you are stalled and what you would want to do is have the code disable your driving controls until the joysticks are allowed to return to their centered position at which point you can carry on driving as usual. It takes some tweaking to get it right but once you have it it is really nice.
Ok we tried the robot with clutches and I think it does help a bit. These motors can make the clutches pop way faster and more frequently than the old 3 wire ones for sure! We still hit the thermal limit fairly easily by ramming into something like a weighted goal for a few seconds though. You get a crazy racket of clutches popping to indicate that you’re doing that though which might encourage the drivers to stop
Unfortunately, we really liked how our autonomous became far more reliable when we went to the new motors and no clutches. With clutches, you can often get one or more of them to pop a couple times when you start a move and it throws the robot off a little. We can solve that with more gradual ramping of the motor commands in code I guess but it was nice to be able to ditch the clutches.
The field tiles at worlds are soft, really soft, I have been lead to believe it has something to do with the anti-static spray but it is definitely something to consider.
I was running a holo drive with 393s geared for speed internally which should give them about the same stall torque as the 269s (.2in/lbs less to be exact) with a 12-13 pound robot and i didn’t have any issues unless I got really aggressive. If i pushed a goal i was going to trip a thermal breaker and i knew. If I hit another bot and kept pushing I was going to trip a thermal breaker. A big part of not tripping breakers is just driving in a way that suites your drive-train, if you have a beastly drive-train you can be really aggressive, if you have a quicker holo drive-train (as I did) getting in a pushing match was a bad idea and I had to avoid them and remember that by running away and scoring elsewhere I could make up for it later by just driving around the opponents faster. You have to remember as a driver how you should be driving as to really use your drive-train to its strength.
And maybe as designers teams should think about making a drive-train that not only works well for the game but works well for the drivers and their driving style. I have learned this past season that I no longer want to run away from a pushing match, I want to be an aggressive driver and to do that I need to have an aggressive drive-train.
My goal each year is generally to make the robot near idiot-proof to drive, however with my teams’ experimentation with holonomic, i can only say that it was anything but easy to drive. For gateway, I will be returning to a 4-wheel tank style drive.
I work alone which means driver try-outs are easy. This year i went with holo for maneuverability but now that the season is over i realize it really held me back. I am not the greatest driver and i am very practiced with tank drive so learning holo was ok but i still wasn’t totally comfortable with it by worlds. Also the autonomous “drift” of holo really held back my autonomous mode.
Overall I am happy to say I did the holo thing this year though. I feel better saying that i have done holo now. I would hate to finish off my HS robotics career and not be able to say that I have competed with a holo drive-train.
My team used one in Clean Sweep, so we didn’t have to worry about pushing fights. It worked great. If you wanted to have an “isolation zone only” robot, holonomic drive might be pretty good. However, I think I’m going to stay with tank drive (but arcade steering on the joystick). At maximum, I might have a strafe wheel, but I don’t think so…
I plan on skipping the strafe wheel because it does weird things to some point turns. for Gateway, 1900’s main programmer and I (I do some, but I’m less experienced) have a fantastic idea to create a framework whose details I cannot release yet that relies on the Gyro and point turns that if successful will make autonomous coding a cinch. If all goes well, we will consider posting the code.