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 5 - arms and hands

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

I wanted Roobert to get two identical hands with separate moveable fingers.

Because of this (and the small size) I decided to use a commercial construction kit instead of designing and constructing the hands on my own.

Although it was a construction kit it was fun for hours to assemble the hands:

Each arm is constructed from the hand construction kit, 3 servos, 3d printed servo brackets and an I2C servo controller. Because the servo controller seemed to be unable to shut down the servo power, I attached a relays for each arm to turn the servo power on/on.

The servo holder for the upper arm parts are printed in 3D:

The complete arms:

The right arm:

A roobert-hand-assembling-workplace :-)