An overview on my project, to share opinion and experience.

venerdì 25 ottobre 2013

venerdì 9 agosto 2013

Complete coverage path planner

The main question of the project: how to be sure that all the surface I want will be visited by the robot?

When I start the project I didn't know how to solve this so, looking for something that could integrate the motor driver, a laser scanner for mapping purpose and a navigation tool, I found ROS.

 Bingo! I said, everithing is done! Not yet really, some time is needed to setup my robot with ROS but following the tutorials and asking on the dedicated answers site the robot is right now at a good point.

Now is the moment to look on how my robot will move inside the field. One way to do this job is give to the robot random goals, that could be given from an input by the kinect or bumper sensor or sending it from a software. This is how the monstly robotmower work, but in my opinion this could not work for large area like mine, or it will take to much time to statistically complete it. What I prefer is somenthing that could create a path that cover all the area I want to mow, possibly visit at least one time each tile of the field.
ROS have enough code to be able to add a little piece that could do this.
In this way my idea on how to improve this on ROS is create a package the could:

- read the map;
- divide it in tiles larger like the robot tool;
- create a list of this tiles, sorted by the travelling salesman problem (TSP);
- send this list of goals to the ROS navigation stack;

This is the idea, and will be improved with other task, but for the moment I'm yet on the first step.

How to add cheap encoder to a garage door motor

One of the more important things on a robot like the one I'm trying to build, is that it needs to know where it is. To improve this task on the robot what I need is something that count (forward and backward) the distance the robot has traveled.
There are a lot of way to get this information, but one of the more simple, is to use an encoder.  

On the motors I mounted on my robot (a garage door 24V 18A peak, gear worm reduced),  there was an encoder, but was mono directional, in the meaning that it counts only in one way and you cannot know if it is going forward or backward, unless you merge it with the input signal of the motor to know in which way the encoder is going to. Do this job could be quite hard, and unnecessary.
In this way I decide to add to my motors 2 incremental encoder that provide the correct ticks count.
There are a lot of kind of encoders, with the formula more ticks you want per round more you will pay.
After a lot of surfing on the internet , I found a middle way on ebay, that consist in a

OAK GRIGSBY 9 series

that provide me 400 ticks per round with a max of 3000 rpm for less then 10$ each.

The problem now is how to add the encoder to the motor. The first solution I found is remove the gear from the encoder and fix it axially in one of the two motor shaft. The encoder could run up to 3000 rpm and none of the both shaft could go over that threshold.
Thinking on this solution, at least 2 problem remain:

-work on the fast shaft could be quite hard, the material could be heat treatment, and cause the "high" velocity we need to hit the centre of the axle, and in a post tooling could be very stressful and will compromise the correct working of the motor.

-the slow axle is directly fixed on the gear, that provide a little nipple that is used  like a axial bearing so make an hole in that point will remove it, and make the motor useless.

Looking better on the slow shaft I see that the "nipple" give enough space to fit in a gear and preserve the part that touch the case.

Mounted the gear on the motor shaft I drilled the little one and fix it on the encoder, after this I cut 3 holes on the metal frame a little larger to fit the  encoder.

The gears provide 2 good things that are a little slack between the gear to avoid tooling imprecision, and a ticks multiplier.

This is how the work finally appear.

I'm trying it now and it work perfectly, but I don't know how long could survive.

Thanks to anyone who want to share is opinion or ask something about it.

Robo mower videos

Hi everyone,

I added some videos on youtube of the robot, here one of them

lunedì 29 luglio 2013

E-Graz, an elettric revisitation of Graziella like bike

Hi Everibody,

here we are with an other DIY hack, modify an '80s Italian folding bike (for italian people is a Graziella) and put on it an e-bike kit disassembled from an old 24" wheel e-bike my friend founded without some pieces in a bike shop for less then 100€.

We started disassembling the  24" wheel e-bike, the bike shop had used that to pickup some pieces like the battery (maybe it cost more than the bike itself) and the front wheel, but still have the hub motor, the motor controller, throttle and brake switch and was very cheap in place of an e-bay kit that cost about 300/400€ without the battery pack.
We also unmount the hub motor wheel from the rim, to send only the motor to a bike shop that can remount it on a 20" wheel suitable on the Graziella.

Meanwhile we was waiting the modified wheel, we starting modify the Graziella frame,  cutting the back part of the 24" wheel bike to get the original fork for the hub motor, cause the "Graziella" one is more close and cannot fit the new wheel.

On the "Graziella" we cut the 2 pipes that are between the pedals hub and the wheel fixing plate

to be able to fit the other fork.

As you can see in the picture below, we add the light grey piece that have 2 more pipes than the original, that goes from the main frame to the fixing plate of the wheel and give to the bike more stability.

To have a more comfortable use, also the front amortized fork is mounted but to fit the new wheel we need to create 2 plate that move the hole 6 cm upwards.

 Once arrived the hub motor mounted on the new 20" rim all the other parts could be mounted.

We use also the handlebar from the old bike that is a little bigger, but we take only the throttle and the brake and removed the tachometer and the lights, switching both on a lighter one.

The last step is the battery pack.
We found in a DIY shop a plastic toolbox that can  contain 3 x 12V 12Ah Pb battery and the motor controller. We had try this battery type, cause is economical and easy to find, but in the future they will update with a li-on type for more power with the same weight

The final results of the bike looks quite good,as you can see in the first, like a brand new one. It give us more than 40km autonomy at 22 km/h average with 28 km/h top speed. For the use it have is enough, it only runs 30 km a day, for the travel between home and work.

This project is a kind of test, to have an idea on how to make a more complex 4 wheel electrical vehicle, that will started as soon as possible, and added on this page to share the experience, so don't esitate to write your idea, sharing is the fuel.

A Special Thanks goes to Daniel for the "garage".

Good Bye guys.

sabato 27 luglio 2013


The main project of the site: THE ROBOT MOWER.

Necessity is the mother of invention, mine is not an invention but a try to create a DIY, low cost and flexible robot mower, that can autonomously cut my lawn for me. 

When I was thinking on how to put the cutter part on it, a quite lot of idea grows up. One in particular : why create a robot that can do only one thing? 

Why not create a robot where I can mount all this ideas?

In this way, the project evolved, still focused on a robot lawn mower but with an eye to the possibility to change the cutter part with other tools. 

I started an year ago creating the first prototype, made in wood, with a raspberry pi mounted on it. 

Just a try to understand how much hard could be realize it. Not so bad, a lot of information could be get from the internet. So lets start with the next one

Currently, all of the first prototype has been change, only the motor driver shield and the original shape idea is still in the new one but I don't exclude that can be also that changed .

Now, on the aluminium frame is mounted:

the core pc, one ASUS EEEPC with ROS (
the motor driver shield (SDC2130 from;
2 x motor 24V DC 18A max, from an automatic garage door, with 2 encoder after mounted;
2 x battery 12V 18Ah;
2 x led light;
one Kinect for laser scanning;

I choices the Kinect because is easy to find out and the ROS os is well documented on how to setup your robot (also the motor driver shield is supported) and use the Kinect.

 At the moment I'm trying to get ROS working, I'm still on the navigation stack and I need also to find/write a algorithm that can generate a path that cover all of the surface of the field.

If someone is interested on the project or want to help me is welcome.

How it will be

Hi guys,

this is an image on how I think my robot mower will be.
Is still under construction, and some parts will change, but have all the things I want to improve.

At this moment the robot is at a good point, so I'm looking on  how fix the various tools. For the moment, for simplify the problem, as you can see in the next photo, I use a 3point fixing like the tractor one. I will also automated that, so the robot could change it autonomously and choose for each kind of work the right one.

Thanks guys for attention and don't forget to share your opinions.