The educational robot face now comes with a Raspberry Pi version. How educational is it, though?
We’ll be honest, the first time we saw the Ohbot we thought it was a little creepy. You can’t help but be drawn to the eyes on the almost skeletal face, especially when it’s not moving and forever unblinking. It’s like some kind of biology classroom specimen reject. The reason we’re bringing this up is because we expect other people might think the same and we can tell you, right off the bat, that this slight sense of unease does dissipate quite quickly when you’re up close and personal using one.
With that out the way, let’s actually look at the Ohbot. It’s a robot face that you can program in Windows and now with a Raspberry Pi. It has a series of motors you can control that give it a wide range of head-like movement – from a simple rotation of the head to even being able to replicate blinking and lip movement. Yes, it has (metal) lips.
The version we reviewed came pre-constructed, with the robot held snugly in its box to keep it intact. However, you can get a slightly cheaper version (£119/$164) that you can construct yourself. The instructions suggest that it might take an hour or so to build, which sounds about right if you’re an adult giving it your full attention. The parts are quite big and nothing is too fiddly, so supervising a younger maker would be a good way to get them to understand the device they’re building.
One of the motor connections on pre-constructed version we received had wiggled free in transit, so it’s worth giving the instructions a quick once over even if you did get the pre-constructed version, to make sure yours survived the trip. Once complete, though, it sits nice and sturdily on a surface, just waiting for you to connect it all up.
Connecting the Ohbot to a Raspberry Pi is pretty simple – all you need to do is hook it up via the special USB cable that comes in the box. This special cable splits on one end into two USB connectors – one with a red bead on the end that you need to plug into a USB power supply, and the other which goes into the Pi itself. There are no extra power supplies to connect and you don’t need to wire anything into the GPIO.
The Ohbot is controlled with Python code, and you can install all the necessary libraries from the Terminal. There are instructions on what you need to install in the kit and on the website and it won’t take you more than a couple of minutes to get ready.
Once installed, you can try out the example code or start programming your own routines by controlling the range of motion and speed of each individual motor. If you were counting during construction, you’ll have noticed there are seven motors in the head – all of which are under your control.
The Ohbot Python library is not the easiest thing to use, though. For example, if you want to turn the head, you’d need to use:
Here, 1 is the motor controlling the head, 3 is the new position of the motor, and 2 is the motor speed. You can substitute the motor number for a predetermined name, which in this instance would be ohbot.HEADTURN.
Perhaps this slightly tricky way of coding the robot will pay off in the long run with younger makers, forcing them to refer back to the documents and really learn how functions in Python work. At the very least, though, the text-to-speech function is automatic.
Using ohbot.say in a similar way to the Python 3 print command, the Ohbot will talk. Or at least, the string of text will be converted to sound and played through the speaker while the lips move to approximate the words being said. It works quite well, and it’s fun to watch Ohbot chat away. Of course, you can control this as well, turning off the lip sync and adding delays to the audio and such.
It’s definitely a very interesting and unique bit of kit. The presentation, design, and look of the Ohbot has grown on us during the course of this review and we think that kids will get a kick out of making it talk and move around. Hopefully they’ll learn something in the process as well.
A fun educational project with a lot of potential. However, the Python library could be slightly easier to use. It works well with the Pi, though.