We get a lot of of enquiries from Robot Wars contestants who don’t know where to start building their robot. I sometimes get the impression that they are starting with the robot control system – which is the wrong end of the design chain. As a general rule, when designing a machine, you should design the mechanical mechanism that will do what is required before you start working out how to control it.
A robot is a complicated system where mechanics and electronics interact with a human to give the required result. In all mechanical/electronic systems you must first consider the mechanics. However good the electronics, it will not compensate for a poor mechanical design.
This page is here as a general guide to robots, to give you some ideas and to help you understand your options.
Types of drive/control system
There are two main families of drive systems for a machine such as a robot:
- To use a single drive motor with a separate steering system. This is how most radio controlled cars are designed and is the market most radio controllers are aimed at. This is a ‘Drive and Steer’ machine.
- To use two drive motors and to control the steering by differential speed control, using two reversing speed controllers. It is this system which seems to suit most robot builders – it has the benefit of giving better manoeuvrability. This is a ‘Differential Drive’ or ‘Skid steer’ machine.
Of course variations on the above are possible, such as 4 wheel drive, walking machines etc.
It is probably useful to note that the mechanisms, as listed, are in increasing order of control complexity.
1. Drive and Steer
Here a single drive wheel is pivoted so that drive is in any direction, as shown in the drawing. The body of the machine sorts itself out, depending on friction and centre of mass, following the pivoted drive wheel.
If the drive wheel is free to rotate continuously (which would need slip rings for the drive motor power) the drive requires no direction control as this is done simply by pivoting the wheel 180 degrees. For most such machines the steering ‘pivot’ could be motorised at constant speed, so such a machine would require a very simple control system consisting of two relays (one for forward, one for reverse) and one motor speed control without reversing.
This is the original steering system used for autos with rear wheel drive and separate front wheel steering. Not very manoeuvrable for a robot! Modern autos use front wheel drive, where the drive wheels are steered and this system, used in a robot, could be mechanically very similar to a differential drive machine! It would have a simple control system consisting of a steering actuator [or servo] and a single reversing motor controller such as one of our DNO series.
Of course for robot use it would be simpler to make a high powered servo actuator. After all the radio control servo simply moves an arm through an angle and you should be able to link this to a steering system!
All of these suggestions do not, you will note, involve speed control! Which means that 4QD cannot get usefully involved in individual solutions.
2. Differential Drive
When a machine with two spaced wheels (on a common axle or separated) goes round a corner, the outer wheel has to travel further than the inner, as shown in the diagram. This is the reason why autos have to have a differential gear.
This difference in distance travelled is not only the reason a differential gear is needed but is also the mechanism that causes differential drive to work. In the differential drive, a pair of wheels (one each side) are powered and under individual control, so that the two may be operated at different speed. If one wheel is rotated faster than the other, then the machine is forced to turn as shown in the diagram above.
It should be obvious from the above that a differential control system requires two motor speed controllers – although these may be in a common box masquerading as a single controller. Moreover if the machine is to turn ‘on the spot’ then each controller must be able to reverse direction totally independently. There are in essence two types of system for controlling such a vehicle.
Tank mode – or Independent control.
Otherwise called ‘tank style’ where two separate channels are used, each with a single ‘stick’. Moving one stick speeds or slows one motor only. Such a system might use two DNO controllers with two separate Joystick interfaces (JSB-001 or JSA-002). The basic controller has a speed input (which might be used with a throttle pedal) and a reversing input (from a forward/reverse switch). A combined speed and direction lever (aka Joystick or wig-wag control) is a potentiometer which causes zero speed in the centre. Move the lever forward to move forward and back to move backwards. The ‘Joystick interface’ contains the simple circuit to translate this centre-zero control into the required speed and direction input.
It should be noticed that a true tracked vehicle can take a lot of power (motor current) to turn ‘on the spot’ as the diagram should make clear.
The green arrows show the machine turning about its centre. At the ends of the tracks the arrows are nearly at right angles to the track: movement along the track’s running direction is minimal and the ends of the track are having to slide sideways, so if the track has a good grip, a lot of turning force will be needed. Only near the centre of the track is the track not sliding sideways.
Clearly the longer the track is, the worse the effect and the wider the tracks are apart, the better the turning ability. If the tracks are wide enough apart (in relation to their length) then the nearer they behave to two normal wheels.
To reduce the turning friction, drive on two wheels and allow the non driven wheel(s) to pivot, castor style, so they don’t slide sideways. Don’t forget that there is a similar drag effect with wide wheels!
‘Speed and Steer’ control [aka differential control]
Two drive wheels are each controlled each by their own motor and motor speed controller. A joystick is used as the control: moving this front to back alters the speed (and direction) of both motors together so the machine moves in a straight line. Moving the stick from side to side reduces the speed of one motor whilst increasing the speed of the other, causing the vehicle to turn.
If the machine’s speed is slow, the controller will need to reverse one wheel to cause a turn. Our Dual Channel Radio Control Interface [DMR-203] looks after all of this. This is a very popular method of motor speed control which has been used a lot. The most popular system is a DMR-203 with two DNO-10 controllers. Heavier robots [such as the house robots in RW] have used two 4QD-300s.
Now let us look in more detail at the available controllers and the ways you can implement (and enhance) various systems. 4QD offer quite a lot of components and selection can seem quite complicated. However this ‘building block’ system does mean that you can assemble almost any control system from a simple, economical, single quadrant control system to a full two channel 4 quadrant system capable of handling 300 amps per channel!
Motor speed controllers
If you are not used to motor speed controller ‘jargon’ then we suggest you look at our Guided Tour of controller features.
You can reverse a permanent magnet motor simply by swapping over the wires with a double-pole changeover switch. However if you do that at speed, all the mechanical energy is ‘dumped’ into the switch or the controller. It would be a bit like throwing your car into reverse at 90 mph. The problem is that, whereas nobody would dream of doing that to a car, electrical machines are different and people do expect to do exactly that with an electric motor. So reversing controllers have to reverse safely. We use a ‘dual ramp’ reversing system in all controllers.
We have four families of two and four quadrant controllers.
The bottom of our range is the Porter, this is a single direction controller and thus not especially suitable for robots
Next come the DNO series reversing controllers, a good mid-range controller used in a lot of robot applications.
The Pro-150 is programable for more subtle control over performance parameters.
Our top end four quadrant are the 4QD series, these are heavy duty, all mosfet controllers for the bigger, or more powerful robot.
Radio control Interface
Our two channel DMR-203 lets you drive one or two controllers from two channels of a standard PPM radio control system. It can do the direction / steering mixing for you, or it can be used as two independent channels.
Most popular choices
So which controllers are we selling? By far the most popular choice is a DMR-203 radio control interface with two DNO-10s. Most commonly used with two Bosch 750w motors.
We’ve also sold 4QD series controllers for robot use and we know of more than one than using two Lynch motors in their robot.
A sophisticated robot can get quite complex and it is possible to ue a microcontroller to process the pulses from the receiver and to measure parameters in the robot and to control the motors (and weapons) in a far more sophisticated fashion. In such a machine you would simply use 4QD’s controllers as a ‘power amplifier’ to interface between the micro and the motors. Most of our controllers can be driven via a PWM output from a Raspberry Pi or Arduino.
One thing that bothers roboteers is interference. 4QD controllers are used in a high proportion of the larger robots and we have never been able to identify a case of interference caused by the controllers. However it is advisable to suppress the motors. The recommendation is that you connect some small ceramic capacitors (10n) across the brushes. If there are more than two brushes, fit one capacitor across each pair of brushes as close to the motor body as possible. Do not connect any capacitor from motor terminals to the chassis: this is only good practise if you can be sure of the radio frequency characteristics of the chassis. In most robots that is an unknown! Such capacitors may cause problems rather than cure them.
A properly designed RFI suppression system will have a box that is a complete Faraday cage, with no holes, and with all metalwork bonded carefully together. All electronics will be within the cage and special attention is paid to any wires that penetrate the cage. It is for this type of shielding system that the admonition to connect capacitors from brushes to chassis exists, but in practise, I believe that no robot I have seen on Robot Wars is thus designed and if the cage is imperfect, interference coupled to it via these chassis connected capacitors is more likely to increase radiated interference than to reduce it.
If the motor wires are long enough to allow it, twist them together. Same with the battery wires. Also remember that motor and battery wires are high current, pulsing. Keep them well away from other wiring, and well away from the receiver.
Put ferrite beads on the motor leads.
The network which was recommended by the RW hints and tips includes a 470n capacitor across the brushes. At 20kHz (the switching frequency used) a 470n has an impedance of only 17 ohms, so as the switching waveform is a squarewave, several amps of pwm switching will flow through it causing it maybe to get hot! It is far too large a value. In any case, such a high value will be polyester, wound from foil. This construction is not good at high frequencies because it can have a high self-inductance.
Furthermore, one end of the motor is connected to battery positive (which end depends on which direction the robot’s going) and the other is switching between battery positive and battery negative (because of the pwm switching). Two 47n capacitors form a reasonably low impedance (170 ohms each to 20kHz) potential divider, so the junction will try to be a pwm waveform at 20hHz of half the battery voltage. You do not really want that sort of voltage/current on your robot’s chassis!
Fourier analysis of a squarewave says that the waveform consists of the fundamental frequency (in our case 24v p-p of 20kHz) plus 1/3 of its amplitude of 3rd harmonic (8v p-p at 60kHz), plus 1/5 5th harmonic (5v p-p at 100kHz) and so on. Since the capacitors impedance reduces in proportion to the frequency, you can see that the harmonic currents flowing in these capacitor can get quite large at higher frequencies. Suppression is meant to remove unwanted signals – not to put wanted signals in the wrong place.
RFI suppression is an art more than a science: there are good things to do and bad things, but in the end it’s always down to empirical testing! Get a portable radio and see how close to the robot you can get it before interference totally drowns out the reception. Try various things to see what improves the situation and what makes it worse.
There’s a whole page in our application notes on hints about wiring your robot