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.

The new Piro2


In the summer of 2016, after we had moved to a new apartment, I began working on a new robot. Even though the original Piro was a resonably successful project, I realized that combining speech recognition with a self-balancing robot is not a very good idea. Self-balancing requires constant running of the wheel motors, which creates noise, which causes problems with the speech recognition. Thus, I decided to start working on a brand new robot that would not need dynamic balancing, so that I can focus on the interesting speech recognition and artificial intellegence routines.

In the early September of 2016 I purchased a 3D printer, so that I can easily build whatever parts I need for the robot.

Current status

See my blog for latest news about Piro2. I try to keep the blog up to date whenever I get something noteworthy done with it.

The Original Piro (from 2015)


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.

Current status

The old blog from 2015 gives the most up to date information about the status of the original Piro. In the end of 2015 we had to move away from our apartment, which turned out to have a serious mold problem. This had caused me to get rather seriously ill, so to be safe in our new apartment, we had to throw away all the mold-infested stuff. Sadly this included the original Piro robot.