Welcome to Daniels blog

Select one of the following projects or scroll down to the newest posts.


a raspberry pi home robot

>> visit robert project page

Cobra robot

industry robot projects and restoration

>> see all cobra roboto posts


a holographic desktop assistant

>> visit the holoGaito project page


a GO game playing robot ... using a raspberry pi, opencv and gnugo

>> visit the iGoBot project page

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 :-)

Building a home robot: Part 4 - moving the head up and down

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

Because the monitor and raspberry pi are placed in the front of the head most of weight is there. So the motors for up/down  movement have to be powerful enough to handle this.

I decided to use two stepper motors with built in gearboxes. They also are the axis for the head movement. I mounted them back to back into a 3d printed box ,so they are moving in contrariwise directions.

Putting together neck and front head:

Assembling including cables, Raspberry Pi and electronics:

The two stepper motors have much power - but still not enough to lift the head. To fix this problem I placed a counterbalance made from lead in the back of the head.

The first test with provisional counterbalance:

After some hours of testing another problem occurred. The mechanic connection between the two motors and the 3d printed part was very small.

Only 4mm PLA to connect  to the whole head wight and movement:

And the PLA material was not strong enough to handle this for a long time – so the freedom of movement increased.

To solve this I used two small parts of aluminum with holes matching to the axis of both stepper motors.