Tell us more about your hackable gaming tank.
The PiPanther robot is a smart, fast vehicle that you control using the Ubotia app on your smartphone. As it explores rooms, you can set up battlefields anywhere and fight your friends using the Ubotia software. Plus you can customise the tank with your own attachments. But there’s just 15 minutes to go now [Ed: PiPanther’s Kickstarter clock is counting down] and we only have 22% [of €5,000/$5,900]. It’s not enough, unfortunately.
Have you got any further plans for PiPanther, once the Kickstarter campaign has come to an end?
Well it’s not 100 percent ready – I mean, it is ready but it needs a little
more work. When working on it I found several issues that needed to be fixed, both mechanical and electronic. My colleague and I (the electronics guy) spent hundreds, if not thousands of hours on this project but still something more needs to be done. To be honest, the biggest problem is the casing – this white casing is 3D-printed, but because I designed it using relatively thin and highly precise elements, I couldn’t use the cheaper 3D printers that you can buy for a few hundred pounds. Instead I had to order the casing in from a specialised company that used selective laser sintering. So it’s more expensive and the casing is very, very precise, but that expense is not acceptable for the production of the PiPanther on a large scale.
So what makes up the PiPanther – what are the main components?
Currently the chassis consists of four elements. Then there’s a Raspberry Pi, our PiPanther mainboard on top of that, two DC motors, two gearboxes, the tracks, one servo to rotate the turret. Then inside the turret there’s a mounted USB hub, because I designed PiPanther to use the Raspberry Pi Model A+, since it’s smaller and cheaper, but it only has one USB port. So on the turret you have two USB plugins and then the third USB port is for the Wi-Fi. We also have a Li- Po battery at the bottom of the chassis.
Can you tell me more about the PiPanther mainboard?
We designed it ourselves – it’s half the size of the Raspberry Pi and on it you have a DC-DC converter, which supplies 5V to the Pi, powerful motor drivers, a servo controller and a USB charger, so you can charge PiPanther directly using a microUSB cable – just plug it in, leave it for three hours and it’s charged.
This mainboard is going to be available separately for use in custom projects – is that right?
Exactly. To drive a tank, you need to drive two motors – the left track and the right track – but instead of using tracks you can just use two wheels, so you can build your own wheeled robot instead. The steering is exactly the same. If you want to go forward then you power the two motors and if you want to turn then you just regulate power between the left and right motors. So you can use this board to drive your own robot – just plug into your motors and use the same mainboard but with Pi and Ubotia software. The main part (and the hardest part) of the Ubotia software was to provide live video streaming from the PiPanther to the mobile interface. I made that at a time when nobody else was able to do it, but unfortunately in the meantime, several other robots were developed with video streaming as well. I didn’t have too much time because I have a small child, but you have to believe me – I was the first one to create a live video stream from the Raspberry Pi to Android at that time! We achieved a video delay of less than one second, so you can drive it around in real time.
So how much of all this is being handled by the Raspberry Pi?
The Pi runs Arch Linux and on that we have our PiPanther software, which is responsible for talking to the PiPanther mainboard using the serial interface, USART. Then that is used to control the motors, turret, status LEDs and give feedback from the USB charger. That software is written in C++ and also consists of a plugin controller. So if you have plugins then you can put in shared libraries that are loaded at runtime by this software, and using the API you can control your own attached plugins using standardised JSON-based protocols.
Your website says that these custom plugins could affect Ubotia gameplay – a robotic arm for a capture the flag match, for example.
Yes, currently we only have the standard gun plugin, but if someone is familiar with electronics (and I think a lot of Raspberry Pi fans out there are) they can easily create their own plugins. I put a lot of effort into making the API user friendly. You can create, for example, an LED torch to replace one of the two gun attachments and you can then drive around in the dark wherever you want – under your bed, behind your wardrobe – and hide to create sniper’s nests. Or you could create a simplified robotic arm for the back of the tank to throw other PiPanther tanks, knock them out of the game area. You can also make game elements like a landmine: you can create a small box that uses the same mechanism as the guns (infrared) and then put it in the arena so it explodes when people go near it.