Build a ‘real’ Mars roverFollow article
Most ‘hobby’ mobile robots on the market are usually of the 2-, 4-, or 6-wheeled variety with no suspension or steering systems. Changes in direction are achieved by varying wheel-speeds – so-called skid or tank steering. Movement is accurate and predictable for the two-wheeled plus castor type, but not the others.
The problem is that ‘real’ robots such as Mars rovers need to move with precision over difficult terrain. Skid steering is not precise, and a lack of suspension makes for more trouble than just a bumpy ride. That’s why you don’t see any tracked vehicles on the Moon or Mars despite the soft and potentially treacherous driving conditions. See my article on robot mobility control for some more detail on this topic. The purpose of suspension on a mobile robot is to ensure that all the wheels remain in contact with the ground at all times. Looking at Fig.1 below, it’s not difficult to see how the robot with six driven wheels and the rocker-bogie suspension is more able to traverse rough ground than one with fixed axles. The four ‘corner’ steerable wheels make for precise directional control too.
The 4tronix M.A.R.S. Rover
Given the above argument, why is it that most ‘hobby’ robots on the market have no suspension and feature only skid-steering? Partly to keep them simple and rugged, able to crash around at speed over rocks in the garden for no particular purpose. Have you noticed how slowly real rovers move? Imagine my delight when I heard about the M.A.R.S. rover kit from 4tronix. It bears more than just a passing resemblance to all the NASA Mars rovers from tiny Sojourner to the latest, Mars 2020, scheduled for launch next year. The classic rocker-bogie suspension really works, all wheels are powered and four also feature steering servomotors. You just need to provide the ‘brain’: a BBC micro:bit computer board. A Raspberry Pi Zero version is currently under development. The kit is supplied in a ‘flatpack’ form with all the main body panels and suspension parts being beautifully screen-printed PCBs with gold detailing. Everything is held together with machine screws in threaded inserts or nyloc nuts – no nasty self-tapping screws. My only slight carp concerns the various arms pivoting on threaded bolts, but heh, you could always ream out the pivot hole to take a thin steel sleeve. Both the PMDC traction motors and the steering servos have metal gearing. Nice. Oh, and you also get an ultrasonic rangefinder fitted to a scanning servomotor. A nice touch is the inclusion of a ServoZero tool. This little board is used to set the steering servos to the 90° position before steering arm assembly.
There are detailed assembly instructions on their website, but I would recommend you build individual sub-assemblies first then attach them to the main body. It’s a lot easier that way, with less risk of breakage!
The micro:bit is programmed using the block language MakeCode from Microsoft. A Windows 10 app is free to download and 4tronix supplies the Extensions for the rover on their website.
The following pictures show how the rocker-bogie system works. These static images show how a suspension system keeps all six wheels on the ground when encountering a sizable bump in the road, but only on one side of the robot.
The front wheel lifts, rotating the rocker arm about its pivot and pushing the differential rod back which in turn rotates the differential arm on the robot’s top deck. This causes the rocker arm on the other side to rotate, pushing the other front wheel down. This reduces the sideways tilt of the robot body. Meanwhile, both bogie arms rotate slightly on their central pivot keeping the rear four wheels on the ground.
When the centre wheel climbs on to the rock, the rocker arm position doesn’t change. Instead, the bogie arm rotates about its pivot allowing the rear wheel to stay on the ground. Nothing changes on the other side of the robot.
Now the front wheel is off the obstacle and the rear wheel has climbed on to it. Both bogie wheels now act to push the rocker arm up, and with the front wheel now back on the ground, the differential arm rotates the opposite way to push the other bogie down, lifting the front wheel and compensating for the sideways tilt.
Finally, with only the rear wheel left on top of the obstacle, the rocker arm has rotated almost back to the neutral position, but the bogie has pivoted returning the centre wheel to ground level.
At every stage, all six driving wheels are kept in contact with the ground. The best way to appreciate the effect of all this complication is to see it in action, not clambering over a garden rockery, but traversing a largely flat even surface strewn with small obstacles- just like the real surface of Mars. For a simple demonstration, I used that block of wood in the pictures on a smooth table. The rover hits the block on one side only, rattling over it with barely visible hesitation and is not deflected off course. That is very impressive – a fixed axle buggy would likely be all over the place.
It would be good to have a model of the ESA rover, Rosalind Franklin, scheduled for launch next year. It too has six wheels but with a very different suspension system.
If you're stuck for something to do, follow my posts on Twitter. I link to interesting articles on new electronics and related technologies, retweeting posts I spot about robots, space exploration, and other issues.