Welcome to Daniels blog

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

Roobert

a raspberry pi home robot


>> visit robert project page

Cobra robot

industry robot projects and restoration


>> see all cobra roboto posts

holoGaito

a holographic desktop assistant


>> visit the holoGaito project page

iGoBot

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

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.

Building a home robot: Part 3 - the chassis

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

If you want to build an autonomous robot there are at least two things to solve: Battery power and automatic charging.
Nobody wants to build a robot which needs to be charged by hand.  But building and programming a chassis that can find its docking station and charge automatic is complex and/or expensive.

So it is great that there is an existing consumer product you can use: The roomba vacuum robot from iRobot. You can get a used one for round about 150 €. If its vacuum or brush unit is broken it may cost less - and you don’t need these units.

The Roomba also supports an official and well documented serial port to control it and read its sensors.

So for my robot project I used an old iRobot Roomba.It was originally white color – but after some years of usage and sunlight some sort of ugly yellow instead.

To refurbish it I sanded it, painted it in my favorite color and bought a new battery.


In my case I wanted to use MakerBeans to build the main body of the home robot. So I mounted a small base of MakerBeans to the iRobot chassis. 

To find Roombas serial port you have to remove the robots cover. Next to the serial port there are some screws you can use to attach your own robot parts to the chassis: