The GPIO pins on your Raspberry Pi are crying out for you to add some sort of robot chassis. Les Pounder finds the best for you.
On Test
4Tronix Agobo
RyanTeck Budget Robotics Kit
4Tronix Pi2Go Lite
Dawn Robotics Pi Camera Robot
PiBorg DiddyBorg
The human race has a certain love affair with robots. From the early days of film we have The Day The Earth Stood Still where an ominous robot named Gort protected his master. Moving forward to the 1970s and 1980s we have the loveable C-3PO, R2-D2 and a certain war machine turned pacifist called Johnny 5. In those early days we would dream of owning a robot that could do our bidding, as long as your bidding did not violate Isaac Asimov’s three laws of robotics.
Building a robots can be an incredibly personal project, from choosing the components to giving the robot a name. Each robot is unique and loved by its maker, and with the Raspberry Pi enabling anyone to build a robot it has never been easier to get started with robotics. There are many different robots on the market, from cheap and cheerful kits that retail for around £30, up to large sophisticated projects such as the Rapiro, which retail for many hundreds of pounds. Choosing the right robot can be a difficult task and that is where kits such as those in our group test can really help get you off to a flying start.
In late 2014 the Cambridge Raspberry Jam team, Michael Horne and Tim Richardson, created Pi Wars, an event that showcased many different robots from around the UK. Some were built from scratch using many different maker skills such as laser cutting, electronics and metalwork, while others were based on an existing platform that had been modified. Basing your robot project on an existing platform is a smart move for those new to robotics, as a lot of the hard component choices have been made for you and the maker has created a series of instructions for you to follow.
There are many different robotics packages on the market and we have chosen five of the best for all levels of roboteers.
How we tested
To keep things fair we have catergorised each of the robots to ensure the best fit for prospective users. We have robot kits that start from the beginner level and move on to the intermediate level of user and finally we have the advanced robot kits for experienced roboteers.
For each of the robots in this group test we used the Raspbian operating system as it is the most popular OS for the Raspberry Pi and comes with the best level of support.
For the code that powers the robots we have used the default recommendations given to us by the inventors of each robot. Finally, we tested all of the functions that are available for each of the robots.
Why use a kit?
BA Baracus used bits of old metal and a welding torch – why can’t you?
Using robotics kits from the suppliers in this group test offers you a great introduction to robotics. This is thanks largely to the supplier taking away some of the choices that you’d otherwise have to make. Finding the right motor controller can be difficult, for example: “Do I use the L293D or the SN754410NE series controller?”, “Does it have an H- Bridge?” these are both valid questions when delving into the world of robotics. A couple of years ago it was common for roboteers to create projects on breadboards using motor controllers. A common controller was the L293D, which can work with DC motors like those that come with RyanTeck’s kit, and stepper motors, which are precisely controlled motors that can be driven one step at a time using a pulse control method. The L293D is relatively expensive when compared to the SN754410NE range of controllers, which are cheap devices that come with two H-Bridges enabling the motors to work in two directions so your robot can spin on the spot and reverse away from an object.
As well as choosing the controller you also need to find the right motors and power supply, which can be trivial for those in the know but rather intimidating for beginners.
4tronix Agobo
As cute as WALL-E but with a Raspberry Pi at its heart.
When the Raspberry Pi Model A+ was announced in 2014, the Raspberry Pi Foundation made it very clear that the A+ was a stripped down platform for robotics projects. The A+ comes with the full 40-pin GPIO (General Purpose Input Output) but only one USB port and 256MB of RAM. But these cost savings reduce the price of the A+ to around £18, and enable cheaper robotics projects to become a reality.
The Agobo is a unique robotics platform for the Raspberry Pi in that it is solely based on the A+. The Agobo is from 4tronix, a company with a firm belief in providing a solid platform for development, both physically and in code.
Agobo comes as a PCB (Printed Circuit Board) onto which components are added. The use of a PCB as a chassis provides a rigid frame onto which components such as the two micro gear motors are attached. The motors are low speed but high torque, and are firmly attached to the chassis. Agobo won’t break any land speed records, but it does move with grace. Moving around the chassis we can see the mount points for the A+, which hangs upside down, and a socket to attach an ultrasonic sensor. There are also connections for serial and I2C (Inter-Integrated Circuit) communications to and from your A+. Underneath the chassis there’s a ball caster to balance Agobo and on either side of this there are two sensors used as input for Agobo to precisely follow a line.
Agobo is powered by a mobile phone portable charger that connects via a Micro USB port on the chassis; power is then shared between the Raspberry Pi and the motors via a motor control circuit.
To keep costs down, a Raspberry Pi model A+ is your best bet.
Programmability
All of this hardware is nothing without software, and Agobo comes with a robust Python module that enables quick development of a range of projects. Functions such as motor control can be fine tuned to deliver accurate responses. Tinkering with the speed of the motor is handled as an argument in the functions for forward, backward, left and right movement. Impressively the Agobo module also handles the rather tricky task of calculating distances using the ultrasonic sensor and the line-following sensors, which use infrared to detect a line draw before the Agobo. With these functions handled within in a Python wrapper the user can easily get started with coding their Agobo; in fact we were able to develop a simple maze-solving project within 30 minutes of putting it all together. Agobo is a platform for those that want results be they new users who are eager to have their robot move or experts who want a simple, robust platform for their next project. The initial restriction of basing the Agobo on the A+ is left behind by the simplicity of the package as a whole, and besides, you did need a reason to buy a new Raspberry Pi A+.
Verdict
The use of the PCB as a chassis gives the package great strength. 5/5
RyanTeck Robot Kit
A budget robot kit from a 17 year old whizz kid!
The RyanTeck board on test here comes as a kit (RTK-000-003) which can be bought ready made for a few extra pounds, or you can solder your own board which is remarkably easy to do. The kit comprises the motor control board, chassis, motors, wheels, Wi-Fi dongle and battery pack. Assembling the kit is straightforward, requiring only a screwdriver to build the chassis and secure any model of Raspberry Pi to the chassis.
The RyanTeck board was designed for the Raspberry Pi A and B models, and so comes with a 26-pin GPIO connection, but the board will work on all models of Raspberry Pi including the new Raspberry Pi 2 released in February 2015. The board also comes with a GPIO passthrough enabling access to the GPIO pins for components such as sensors.Programming the RyanTeck kit can be accomplished in two ways: using Simon Walters’ ScratchGPIO and via Python. For Scratch and Python, the manufacturer has chosen not to use a Python library to control the robot; instead the board uses the RPi.GPIO library to control the pins of the Raspberry Pi. To control the motors, the RyanTeck board uses an SN754410NE chip containing an H-Bridge, enabling bi-directional control of a single motor (in other words enabling a motor’s direction to be changed without any hardware modifications). By enabling the motors to work in two directions, the RyanTek robot is extremely fast and nimble, able to turn on the spot and change direction exceptionally quickly.
The RyanTeck RTK-000-003 is a great platform to build upon, the mix of a simple programming language and easy access to the GPIO is a great benefit to those that are looking to use the board in their own adventures.
You can control the RyanTeck RTK-000-003 though the Scratch programming language, so it’s great for kids.
Verdict
A solid and simple robot platform that works across all Pi models. 4/5
Pi2Go Lite
The big brother to Agobo comes with more of everything. But is bigger better?
Pi2Go Lite is another sturdy robotics platform from 4tronix. It is slightly older than the Agobo, but the Pi2Go does not scrimp on features – it’s got more sensors than the starship Enterprise. First of all the Pi2Go uses the same PCB chassis principle as the Agobo, and this sandwiches many layers of PCB around a Raspberry Pi, of which all models are supported. Pi2Go Lite requires assembly and this includes soldering components to the PCB, it took us around 1 hour to solder the kit, and this was due to the high number of components and sensors that come with it.
Pi2Go Lite has a plethora of sensors: from the bottom up we have infrared line sensors, an ultrasonic sensor and light-dependent resistors, to detect proximity to objects. Pi2Go Lite also comes with wheel sensors to enable extremely precise control of each wheel. Programming Pi2Go Lite is accomplished using ScratchGPIO, again thanks to Simon Walters’ great work on the project, and via a very detailed Python module that works with all the Pi2Go range of robots.
The Python library is similar to that used with the Agobo; in fact, the Agobo library is an evolution of the Pi2Go library. The Pi2Go library handles the use of the many sensors and provides a level of abstraction that benefits the user greatly. For example using the getDistance() function we can easily find the distance of an object from Pi2Go. Speed is also fully controllable thanks to the motor function and its PWM (Pulse Width Modulation), which provides fine control of both of the robot’s motors.
Despite its name, the Pi2Go Lite offeres far more in te way of sensors than the other 4tronix robot on test.
Lots going on
Pi2Go Lite is an expansive platform for robotics and is a pleasure to use. The main issue that some users will face is the assembly as it is rather involved but not impossible. If you are handy with a soldering iron then you have a great soldering and robotics project.
Verdict
Pi2Go Lite is a challenging platform that will test all of your maker skills. 4/5
Pi Camera Robot
Tinker tailor robot Pi?
Dawn Robotics has a long history of creating robots for the Raspberry Pi and its Pi Camera Robot is part of a long line of fully hackable robots. The Pi Camera Robot works with all models of Raspberry Pi and comes with an impressive array of motors and servos.
Starting with the basic chassis, we have two tiers that provide a stable platform for two DC motors, which are secured to the lower tier via an intricate series of struts. On the lower strut we have a battery box that supplies all the power for the Raspberry Pi, motors and servos. On the top layer we have the hardware that controls the robot.
The Pi Camera Robot provides an ideal platform for tinkerers to experiment.
Spy bot
We start with a Raspberry Pi (not included) and to the rear of the Pi is a motor controller board, which is Arduino powered. This motor control board comes with an Arduino sketch loaded on to it, so there is no need to write your own Arduino code – but you can if you wish, and this is the spirit of this robot kit, it is definitely for tinkerers. At the front of the robot we have a pan and tilt mechanism made up of two servos. This controls the Raspberry Pi Camera (not included) and enables the robot to be remotely controlled.
The hardware of the kit is just one side of the story. For a few extra pounds you can purchase an SD card which is configured to work out of the box, or you can setup the software yourself using the guide on Dawn Robotics’ website. Using a compatible Wi-Fi dongle the Pi Camera Robot creates an access point (AP) which enables a rather novel ability: remote control! Thanks to the Raspberry Pi camera and a Python script to stream the video, from the camera to a web page being run from a web server on the robot, we can control the robot remotely using a tablet or mobile phone. By connecting to the robot’s AP and navigating to the IP address of the robot you will see a simple series of controls for the motors and servos, along with a streamed video taken by the Pi camera. From the web interface you can easily control the robot and see where it’s going; you have full control over the direction of the motors and the servos for the camera.
The Pi Camera Kit comes with a Python library which can be used to program the robot to act autonomously, including streaming the video stream thus creating your own spy bot! The kit is a little tricky to put together but perseverance really does pay off.
Verdict
The sheer expandability of the platform provides a strong reference point for future projects. 4/5
Pi Wars
Awooga!
There are many Raspberry Pi roboteers around the world and each have built their own “perfect” robot. From lollipop sticks and glue to carbon fibre aerodynamic super robots, there’s a model of robot to suit every need. But where can these robots meet to compete and find the ultimate robot? Well that place is Pi Wars, an event inspired by the television series Robot Wars, but without Craig Charles and chainsaws.
Pi Wars was created by the Cambridge Raspberry Jam team, who are Michael Horne and Tim Richardson. Robots are entered into a series of tests including three-point turns, which is a tricky procedure when driving, so for a robot it requires careful planning plus motors that are controlled via an H-Bridge for reverse gear. Another test is straight-line speed, for which a light robot with low torque motors is a must. It would be foolish to enter the DiddyBorg in this test, but RyanTeck’s robot would do well. There are also points awarded for code quality and the aesthetics of your robot, and there were some wacky robots on display in 2014 including a robot pirate ship.
Pi Wars is free to enter and the team are thinking of putting on the event in 2015. Could your robot win and dominate the competition? There’s only one way to find out. You can learn more via the website at http://piwars.org and signing up to the mailing list: http://piwars.org/mailing-list.
Robotics is a really great way to learn electronics, programming and problem solving and would be a brilliant activity for schools to get involved with in a cross curricular activity.
Around 20 robots competed at the first Pi Wars competition, at the University of Cambridge’s Astronomy building.
Diddyborg
When the robot apocalypse happens, this will be leading the charge!
PiBorg is a specialist company whose area of expertise is robotics, so choosing its DiddyBorg for our advanced category was a no-brainer. We reviewed an earlier PiBorg robot, PiCy in issue LV002 and we found it to be an excellent introduction to the world of robotics.
What we have with DiddyBorg is a serious robot for serious roboteers. DiddyBorg is a six-wheeled robot that resembles a small tank. Each of the wheels is driven by a 6-volt low-speed but high-torque geared motor, so DiddyBorg isn’t fast but it can move across many different terrains. Each of the motors is connected to PiBorg’s own motor control board – PiBorg Reverse – which is a seriously powerful board that can control different types of motors such as those that come with DiddyBorg and stepper motors.
To supply power to the Raspberry Pi and the many other components, PiBorg provides BattBorg, a power converter that enables you to run the Raspberry Pi from four AA batteries. It will work with voltages between 7V and 36V, enabling you to use really large motors with your DiddyBorg. By coupling BattBorg to PiBorg Reverse we have a regulated and powerful platform on which the motors can be used.
The kit itself contains everything that you need to build DiddyBorg, comprising of laser cut perspex layers held together with chunky screws and metal plates, this robot is a tank.The 6V motors directly drive each wheel using a locking hub that attaches directly to the motor and also to the rather chunky “monster truck” tyres that provide stability for your robot. It takes around two to three hours to assemble DiddyBorg and does require a little soldering to connect the motors to PiBorg Reverse. Full build instructions are available from the PiBorg website and are best enjoyed with a cup of tea.
Unlike the other robots on test DiddyBorg does not come with a sensor platform, so you will not find any ultrasonics or line-following sensors. What DiddyBorg does use is the Raspberry Pi Camera to enable it to “see” the world around it; indeed one of the test programs that comes as standard is a ball-following script that enables DiddyBorg to track a coloured ball rolling around a room.
The DiddyBorg’s high-torque motors make it ideal for pushing and pulling, rather than speed.
Coding DiddyBorg
Python is the preferred language, and PiBorg provides a series of example applications that show the range of strengths that DiddyBorg has. The most basic test runs a pre programmed routine that sees DiddyBorg navigate a square in the room and then spins DiddyBorg in a circle. From this most basic test we move up to joystick control using Bluetooth and a Sony Playstation 3 controller, something that will undoubtedly keep the kids busy, and a few adults.
DiddyBorg is compatible with all models of Raspberry Pi, including the latest Pi 2. When it comes to GPIO (General Purpose Input Output) pins DiddyBorg is very frugal, using only six GPIO pins for all of its functionality, and this is thanks to PiBorg Reverse using I2C (Inter-Integrated Circuit), which needs only two wires to enable communication between PiBorg Reverse and your Raspberry Pi. I2C also enables many PiBorg Reverse boards to be “daisy chained” together thus creating a chain of motors controlled via a series of boards.
In our tests nothing stood in the DiddyBorg’s way – not even a chair leg, which it tried to climb and then promptly bounced off. DiddyBorg is a beast of a robot.
Verdict
A seriously powerful robot for advanced roboteers. Its rugged design and readily available replacement parts enable it to get anywhere. 5/5
Raspberry Pi robots
Each of the robots in this group test was chosen because it’s are the best in its (admittedly subjective) category. Rather than say “x is better than y” we chose robotics platforms that complement the level of the user.
For the beginner there’s no better starting point than 4Tronix’s Agobo, based on the Raspberry Pi Model A+ and coming in at under £60 this is a great way to cut your teeth. The mix of easy to use hardware and very simple Python code makes this ideal for children who want to start in robotics.
Users who need a little more flexibility would do well to choose RyanTeck’s great chassis, which provides a strong platform for invention no matter what version of Raspberry Pi you have. If you want a package that’s ready to go and tough enough to withstand wear and tear, then 4Tronix’s Pi2Go Lite offers a great sensor platform and strong construction thanks to its PCB based chassis. If your passion lies in creating a multipurpose robot that comes with servos and a seriously configurable control platform then Dawn Electronics’ Pi Camera Robot is a great starting point for advanced builds with skilled hands. Finally PiBorg’s DiddyBorg is a tough-as-nails platform for rugged projects that need motors with powerful torque as well as plenty of GPIO pins for sensors.
So which is the best robot? Well that answer relies on you dear reader. What would you like to do with a robot? Are you skilled with a soldering iron? Do you know which sensors you would like to use? The robots in this group test all have their pros and cons but each one is an ideal platform for various levels and ages of users.
Best for newcomers: 4Tronix Agobo
http://4tronix.co.uk/store/index.php
Simplicity itself to use and configure. Programmable via Scratch and Python and jam packed full of sensors.
Best for improvers: RyanTeck Robot Kit
http://store.ryanteck.uk/collections/ryanteck-ltd/products/ryanteck-budget-robotics-kit-for-raspberry-pi?variant=742664667
Simple to use thanks to its Scratch and Python libraries. But where this robot excels is providing a platform for experimentation.
Best for intermediate: Pi2Go Lite
http://4tronix.co.uk/store/index.php=400
The big brother of the PiBorg Agobo comes with plenty of sensors attached to its chassis and is a complete package from day one.
Best for intermediate / advanced: Camera Robot
www.dawnrobotics.co.uk/raspberry-pi-camera-robot-chassis-bundle
A flexible platform for adapting and creating your own robot package. Excellent use of Raspberry Pi and Arduino to provide such a plethora of possibilities.
Best for advanced: DiddyBorg
https://www.piborg.org/diddyborg
A six wheeled tank that shows no mercy – well, except for its easy to use Python library.
If you have £300+ to spare, the Rapiro has 12 servos to program with your Pi.
From Linux Voice issue 15. Click here to subscribe for more top-quality Linux learning every month!