Piro - Main Page
What is Piro?
Piro is the name of my Raspberry Pi robot project. My plan is to use this small robot to learn about robotics programming, and also to learn ARM NEON programming. In my x86 emulator projects like rpix86 there are not very many features that can be improved by using NEON assembly, but in the area of robotics there are a lot of interesting algorithms in Computer Vision, Speech Recognition, Deep Learning and so on where a lot of matrix calculations are needed and which can thus be enhanced using NEON assembly.
I have also always been interested in robots, I almost purchased a Sony Aibo back in the early 2000's, but I was afraid that I might soon lose interest in it, or that it would not allow me to program it properly (using Assembler, for example). Sadly it was discontinued in 2006 before I had made up my mind about purchasing one. More recently I ran across Nao by Aldebaran Robotics, but that too seems to be about to be discontinued. In the end I decided that instead of paying thousands of Euros for a ready-built robot, why not make my own robot? I would save a lot of money, and be certain it has the features I want.
As I mentioned above, Sony Aibo and Aldebaran Nao were the main targets of my robotics interest. Bipedal robotic locomotion would certainly be a challenging thing to attempt to do, but it seemed somewhat too difficult as a starting project for a hobbyist. Also, it seems that even the serious robotics scientists have trouble making a bipedal robots walk fast or run. I wanted my robot to be able to move around at reasonable speeds, so I decided to forget about it having legs.
On the other hand I did not want to build too simple a robot, like a toy car for example. After seeing some Youtube videos about various interesting robotics projects, I thought a two-wheeled balancing robot would be an interesting type of a robot to build. I already had both the original Raspberry Pi Model B, and a new Raspberry Pi 2. The latter has a quad-core processor, so it should have enough power to run all those interesting algorithms like image processing and speech recognition, while keeping the robot balanced and even running some higher-level behavioral emulation.
The most influential YouTube video was the Self Balancing Raspberry Pi OpenCV image processing robot by 74Samy. This was pretty much what I decided to try to do myself, except that I plan to also add speech recognition and text-to-speech capability to the robot. Samy has nice blog posts about the progress of his robot at http://roboticssamy.blogspot.pt/ if you are interested in his robot.
See my blog for latest news about Piro. I try to keep the blog up to date whenever I get something noteworthy done with it.