Friday, May 8, 2015

Raspberry Pi Robot (RaPiRo)

Ok, after spending almost a month doing many things not related to Raspberry Pi and home automation, I wish to  show one of the latest projects about RPi: RaPiRo (contraction of Raspberry Pi Robot).

This is a really nice small robot that can be 3d printed at home without too much trouble (if you wish you can also buy the full kit, but it will cost you much more).
By printing the shell and using many parts I had at home, I got this nice item at a really low cost.

But you may ask what this robot has to do with home automation.... Well, let's se how it could be used.



Let's take a look at the specifics of this robot:
  • 12 servo motors
  • 2 rgb leds for eyes color
  • Arduino controller
  • Can accomodate a Raspberry Pi board and PiCamera

Having an Arduino for piloting servos and leds means that the Raspberry Pi can be used for just the high level processing, leaving the hard tasks to the controller.

Here you can see a RPi (model A+) inside the RaPiRo head, with two speakers and the leds board:


In the post about 3D printer remote control I put a photo taken when printing part of the head. Here is that photo:


Printing the shell was not too easy. Several parts needed adjustment and for some of the biggest pieces I had to find the best orientation (so I printed them more times).
Furthermore it needed time. The front part of the head you can see above took about 6 hours for printing and it wasn't at high resolution!

Now I have to thanks mr.Kenny Zhuo Ming LU. I saw how he coloured his RaPiRo and I really liked it, so I decided to make mine almost the same (originally it was just white).

When I started buidling RaPiRo, my goal was to use it as a home automation server, but now I decided to use something else.

Using a robot for automation server could have just few advantages... First of all is cool! Ok, not so useful feature, but it can be a really nice thing to see.

This robot can mount a PiCamera, so it can be used for remote home surveillance. Having it mounted on a robot means you have a movable webcam and you can look at different places with just a single hardware.

Also a robot can follow you, so it could be used for telepresence and you can also interact with it everywhere in your house.

For home automation I think there is nothing or little more.

Using this kind of robot for home automation as instead some issues. The worst is probably power consumption.
RaPiRo is really hungry of power and even using high capacity batteries it could operate maybe one hour... The only way to use it effectively is powering it using one house plug, but this means that it's mobility would be quite limited.

When moving it cannot detect movement with the camera, so it must be steady for checking the environment.

Another issue is it's "speed". It can walk, but it's really slow and it's also difficult to make it go on a straight line.

It also should be considered that 12 servo motors are a bit noisy.


Definitely it's not the best "enclosure" for a home automation server.

Now I'm planning a custom device as a server (always using a RPi of course) and I will probably put some info in the blog when ready.

Finally I'm sharing with you a short video showing the start-up of my RaPiRo after a bit of coding:


Just after switching on the power, it makes some check, than looks around for a known face and when it sees me it speaks some useful info (in italian, sorry, but you can use english subtitles).
It also has a Whatsapp script (not used in this video) and webcam streaming.

Unfortunately RPi and Python together are not fast enough to make everything flawless, so it would be better to use C language...

4 comments:

  1. Thanks for the mentioning, really cool stuff! Did you measure the power consumption of the Pi A+?

    ReplyDelete
  2. No, I didn't measure it. Anyway it's a quite low part of the whole consumption! :)

    ReplyDelete
  3. great project. are you sharing source files and codes?

    ReplyDelete
    Replies
    1. Sorry, but I don't think I will release them. The code has never been finished and it's quite buggy, and I do not know if and when I can fix that.

      Delete

Note: Only a member of this blog may post a comment.