2nd Nov 2015
Speed with control
The drivetrain of the robot plays a key role in many of the pi wars challenges: success in the speed challenge, line following, three point turn, proximity alert, obstacle course and pi noon all put demands on the drivetrain to do well. Some of these demands are somewhat conflicting, the proximity alert requires the drivetrain to allow very small, precise movements, the obstacle course requires great torque and off road ability, the line following and speed challenge is about acceleration and top speed whilst the three point turn needs very repeatable, controlled movements.
Starting with the speed challenge, let’s see what’s needed for the best possible performance. Ignoring aerodynamic aids to increase downforce, most grippy tyres can provide a coefficient of friction of about 1. What does this mean in practice? IIf the robot weighs 1kg (or 10N), the tyres can provide a maximum of 10N of grip before they’ll slip. From F= ma, this tells us our maximum possible acceleration would be 10m/s^2, or the robot could get 10m/s (~22mph) faster every second! So what if we accelerated that fast for the whole course? what time could we finish in? There are standard equations for constant acceleration that relate time, speed, acceleration and distance. The one we need is s=ut+1/2at^2 or the distance covered is the initial speed times time plus half the acceleration times the time squared. Re-arranging and using an initial speed of 0, we get time equals (2s/a)^0.5 or, for our 7.3m track, (2×7.3/10)^0.5 or 1.2seconds! That compares quite well to last years winning time of just over 3 seconds. What does that mean for our drive train? Well, it obviously needs to be able to provide enough torque to create 10N of traction, so for 50mm wheels that would be a total of 0.25Nm (which could be shared amongst multiple motors, e.g. 0.125Nm or ~1kg-cm each for two motors). But that’s not enough to identify suitable motors, we also need to know how fast they need to spin. From our initial figures, we know that if we accelerated at 10m/s^2 for the whole 1.2 seconds, then our finish speed would be 12m/s (~30mph!). Using our 50mm wheels again, this means we need motors that can rotate at ~3000rpm. Looking at the motors on [motor database], the low gear ratio banebots look the most suitable
But there’s more to choosing a motor than just its stall torque and no load speed. we need to know the weight, size and cost. Again the banebots look ok, all though they’re a little long, we wouldn’t be able to put them side by side and fit within the size constraints. The motor cost looks ok at £xx and the weight is xxkg, both acceptable. But we’ve overlooked something: the torque curve. Whilst the gearmotor can produce enough torque at zero speed, as the speed build the torque drops off, until the usable torque is zero at the ‘no load’ speed. So our initial acceleration would be as planned, it would soon drop off. What we actually need is a motor that outs out enough power to sustain the acceleration. With a constant torque requirement, the maximum power point occurs at the end of the run, when we’re at maximum speed. Providing a traction force of 10N at 12m/s requires a power output of Fxv=120watts, much more than the small banebots motors we selected earlier. Since the torque typically decreases linearly with speed, the peak power output of DC motors is usually at half of no load is 0.5 x max torque x 0.5 x max torque. Filtering our motor database result again with this new selection criteria, we can see that the new winners are the banebots 540 motors with low ratio 36mm gearboxes. These are much bigger than the 370 size motors (~50grams) we were looking at before, weighing 150g each, making two of them possibly weigh more than some of the competitors weigh in total.
Again, since we’re going for the ultimate solution, let’s see if we can make them work, even if they are a bit extreme. Since these motors are actually unavailable now and used to cost $43, is there a cheaper alternative we can test with? The 550 size motors are very common in RC cars, but they tend to have gearboxes with two outputs and a differential, not much use for the tank style driving we’ll be doing. Cordless drills also use that style motor, often with an integrated gearbox and bearings. It’s for this reason they’re quite common in the smaller with classes of combat robots
The only issue is their stock gearing is a little high for what we want, they tend to come with an output speed of ~500rpm for the cheap ones, or 350 and 1300rpm for the more expensive two stage gearing models.
Neither these really work for us but luckily for us the gearbox in drills tend to be two or three stage planetary gearboxes.
This actually makes it quite easy to remove a stage of gearing, making them much faster, back to our target speed of ~3000rpm. Ok, so they’re quite cheap (~£15), they’re very powerful (~100watts) and we think we can make them fit and the gearing is about right. Lets build a test chassis and see how it performs!
Here’s the first go at a layout, using two motors and belt drive. Once the bearings and wheels are accounted for, the drivetrain take up pretty much the full with allowance but they still fit.
Here’s more detail added, with a battery, speed controllers and screws added. It’s starting to look a bit difficult to package the electronics, sensors etc, with the tracks taking up so much space but let’s see if the motors are as good as the look on paper.
Here’s the first printed parts starting to be assembled.
See other blog post for details of making the tracks
And here’s some test videos:
So, as predicted, the drivetrain is large and stupidly powerful. But it looks like it’s a compromise too far: the other secondary requirements of the robot are going to suffer. The control electronics (pi, ADC etc) are going to be difficult to mount, the sensors and bolt-on modules are difficult but most importantly, it was impossible to make the small/slow/precise/repeatable movements required for the proximity and three point turn challenges. A future post will cover what we come up with.