Building a home robot: Part 7 - the front RGB LED display

(see all parts of "building a home robot")

A Raspberry Pi touchscreen is used to show Rooberts face. So it can´t be used to show status information like battery state or the “feelings” of its python finite state machine.

Fortunately the body front was still missing – so this seemed to be a good place to mount additional optical output.

I tried several small LCD- and OLED Displays, but they didn’t please me.

In the end I used an 8x8 Neopixel array, a 24 Neopixel ring and a 1 Neopixel lighted big button.

In the beginning the 8x8 pixel array was too bright to see the 8x8 pixel as one image. After attaching a 3d printed cover it looked like quadratic pixels.

The python code can read a GIF file and display it on the 8x8 pixel display. When in idle mode, Roobert shows a beating heart GIF.

The outer ring of Neopixels shows the battery state when driving around and the buttons Neopixel glows up when it seems to be a good idea to press it now.

(see all parts of "building a home robot")

Building a home robot: Part 6 - the 3d room sensor

(see all parts of "building a home robot")

The built in Roomba distance sensors can´t prevent damage when driving around because Roobert is larger than the original vacuum cleaner. My first idea was to use an old Microsoft Kinect sensor. This worked very well – even the usage in python.

But the battery power went low very quick when driving around the first times. So I needed a solution without such high power consumption.

For this I used an ultrasonic distance sensor and two mini servos.

The servos can move the sensor on x-  and y- axis – like a 2 dimensional radar system.

The detection speed is slower than the Kinect version and depends on the chosen resolution: It can reach 2 FSP when using 4x3 measure points.

Just for fun I tried a resolution of 30x20 points. That takes 10 seconds for a frame but I was impressed how well you can “see” the shapes of obstacle objects.

(see all parts of "building a home robot")

Just playing around with the ultimaker...

Now I have the Ultimaker for over a year and have only the 0.4 mm nozzle used so far.

Time to try out the 0.23 mm nozzle ...


First tries with Nikola Tesla, Mario and the 0.23 mm nozzle.


Some more Nikola Tesla in 0.23mm...


... and with the 0.4mm nozzle (left: raw PLA, right: painted)


A Bitcoin and a Pirates of the Caribbean Medallion - both painted and printed using the 0.23mm nozzle.


I am Groot! Painted and using the 0.4mm nozzle.

 

Building a home robot: Part 1 - introduction and head

(see all parts of "building a home robot")

Since I was a child and saw the tomy omnibot I was fascinated about robot companions. In the following years I took some tries to get or build one – for example the Sony Aibo in 2001 or my Cobra Robot.

Some weeks ago I started my first serious project of a self driving, self charging home robot - including things like face detection and voice output.

My girlfriend was not sure if it would be a little bit scary to live together with a home robot. So I decided to create a first prank design for the robot head especially for her ;-)


(A scary prank design created from old animatronics parts)

The real head will be much more cute and abstract, using a small monitor instead of physical eyeballs.

As the robot “brain” I choose a Raspberry PI 3 because it is small, fast and with low power consumption.  Other reasons were: cheap and native camera, hardware connections via the PIO port and the available official touchscreen monitor.

To create most of the body parts I want to use my 3D printer.

In the past I often used 3d editor programs like Autodesk 3D Studio or Cinema 4D – but never real CAD programs. After some research for a low cost but useful CAD program I found OpenSCAD.

This free open source tool and its unusual approach to create objects by writing program code suits perfect to my needs.

Only 3 hours later I had finished my first CAD model of a head prototype and started the 3d printer. (I plan to upload all the STL files to thingiverse.com to share them with other makers who want to built their own home robots)

The first prototype of the robot front head:

The following 4 improved prototypes:

An early prototype showing the complete head shape:

The final front part without raspberry pi...

...and with raspberry pi and the touchscreen monitor:


The next step will be the neck design and the motors for moving the head and the neck.

Continue reading: Part 2 - Neck design and movement