Does this project spark your interest?

Become a member to follow this project and don't miss any updates


robot lawn mower on steroids

Similar projects worth following

This project was created on 07/06/2014 and last updated 2 months ago.

autoCut is an automatic lawn mower. The goals are:
- Fully automatic operation
- Battery changing station instead of charging
- Long term: Do not drive through the garden in a random manner but with a plan

- Four weel drive with kink steering
- Electric mowing height leveling
- Two 85 watt mowing motors, each equipped with two very sharp blades, able to snap back on hard obstacles
- On the fly interchangeable LiPo-battery with voltage monitoring, about 1 hour of battery live on active mowing
- Wifi network connection for web interface which includes gamepad/joystick remote control
- Modular electronics: a cuple of modules, connected with a power- and I²C-bus with a Raspberry Pi as master

System design of the robot itself:

Overview of the whole system:

  • 1 × Raspberry Pi B (first version) Running Arch Linux; soon to be replaced due to I2C issues (hardware related)
  • 1 × TP-Link USB Wifi dongle with wide range antenna
  • 1 × Power supply module provides UBat, 5V; Battery voltage monitoring, 5V fallback system, fuses
  • 1 × Driving module 4 H-Bridges, Back-EMF speed measurement; hinge angle measurement, automatic drive regulation
  • 1 × Mowing module 2 H-Bridges + ADC for electronic mowing heigt setting, 4 FET driven PWM channels with Back-EMF for mowing motors
  • 2 × 14.8V 5Ah rechargeable LiPo batteries Main power supply
  • 2 × 5V USB power bank Fallback for the system to run even if main batteries disconnected (change batteries)
  • 4 × 6-24VDC geared motors for driving (CHM-2435-1)
  • 2 × 12VDC mowing motors (CHM-2435-1)
  • 1 × 12VDC geared motor for setting mowing height

See all components

Project logs
  • Testing the new mowing system

    2 months ago • 0 comments

    The last few days I was busy with rebuilding the mowing system. Now there's a lot less noise and vibration. It also got the laser cut hood mounted with springs to make it flexible.

    The gain in power is just astonishing:

  • New embedded Linux computer

    3 months ago • 2 comments

    No doubt that the Raspberry Pi was the Board bringing embedded Linux to hobbyists and tinkerers. In fact I was one of the very early birds purchasing one. As you might remember RS and Farnell got DDOS'ed very badly - it was an awesome feeling seeing the Rapberry gathering that much attention.

    But at the moment I'm a bit fed up with it:

    • Slow CPU
    • Very limited RAM (remember that the first version had 256mb only)
    • Power consumption is not particularly low
    • Most annoying: A terrible hardware related I²C bug which makes communication with AVRs very hard. If an AVR can't handle an I²C event immediately it uses clock stretching, but this can screw up the Raspberry's I²C-bus hardware wise.

    I checked all the boards supported by ArchLinux ARM and settled with cubieboard 2:

Read more »

  • Ultrasonic distance measurement master <-> node

    3 months ago • 4 comments

    Meanwhile I got a working master and node. The master can send a package (one byte so far) to the node, the node responds and the master calculates the distance:

    Keeping in mind that it is  calibrated rather loosely the results are very good. The distance value is very stable and +-0.5cm accuracy should be archieveable.

    What the data package looks like:

    • two start bits (both high)
    • four bits target address
    • four bits command (The master transmits 1=DoEcho and the node responds 2=EchoReply)
    • two parity bits
    • one stop bit

    I need to increase the number of parity bits, because two bits result in an easy 25% chance for the parity to be right anyways.

  • View all 11 project logs


    Stefan-Xp wrote 4 days ago null point
    Are you going to add a snow shield for winter? ;)
    Looks rather useful, if snow is coming ;-)

    Are you sure? [yes] / [no]

    Marcus Vinter wrote 2 months ago null point
    I know you are committed now but it might have been nice for you to make it drive-able while you mow the lawn once using a controller then it can record the journey and replay it back whenever you need to cut it again.

    Are you sure? [yes] / [no]

    schuhumi wrote 2 months ago null point
    Yeah, that's possible once the ultrasonic positioning system is working. Just replicating the input from the controller won't work because the lawn is a little different every time so after a few meters the robot would completely loose his track.
    Once positioning is working I want to implement that autoCut can mow a shape into the lawn which is drawn in beforehand on the computer.
    This feature will come, but sadly I'm running a little short on spare time for this project (school stuff) so it might take a bit.

    Are you sure? [yes] / [no]

    Peter McCloud wrote 2 months ago null point
    Great project, I'm impressed. Have you considered using the Piksi GPS?
    It could help with navigation since It's supposed to have centimeter level accuracy. The big downside is that's pricey.

    Are you sure? [yes] / [no]

    schuhumi wrote 2 months ago null point
    Thank you! I didn't look into Piksi in particular, but I'm familiar with the principles of differential GPS. I know how these are very pricy if done properly. And to be honest, 1k$ is far beyond what I am willing to pay for individual parts (Remember that I just did an apprenticeship and I'm now attending school again (to get permission to study at university)).
    Also if I get the ultrasonic positioning to work properly it would be a cheap alternative perfect for all kinds of hobbyist projects.

    Are you sure? [yes] / [no]

    Peter McCloud wrote 2 months ago null point
    Hah, I knew it was pricey but I didn't think about in a price per component aspect. That'd be more expensive than anything I've got on my project, including the gas motor.
    I agree, your ultrasonic positioning is a good alternative and great for other projects. I also like your new video. It looks pretty slick.

    Are you sure? [yes] / [no]

    Electronic Man wrote 2 months ago null point
    For your reference you can have a look on my mower :)
    I do not have a picture here of the electronics but until now i have made it like the ardumower project, all with finished boards. The cut width is approx. 60cm.
    I have changed the drive motor because they where to fast, and lost power at low RPM.
    I am using this motor know:
    I am following your project to get some more ideas... :)

    Are you sure? [yes] / [no]

    schuhumi wrote 2 months ago null point
    Hi :)
    Very nice mower you have there!
    I see you use 3 mowing motors. Do you experience any resonance effects when they run at the same speed as well? Although with the new mowing system it got better for autoCut, I'm still not completely satisfied with it...

    Are you sure? [yes] / [no]

    Electronic Man wrote 2 months ago null point
    No, i have not seen that, i am still on a wood plate, and it can maybe damp some of it.... i have a problem with one of the motor is not correctly balanced and it actually takes more power and the driver goes in temp. cut off. But i think i will have some smaller motor, i think they are to heavy...

    Are you sure? [yes] / [no]

    Joshua Crawley wrote 3 months ago null point
    Greetings, very cool project you have here!

    I'm curious: have you thought of using RobotOS for your project?
    It has many computer vision libraries built in, along with easy(ish) control of motors given the focus on a robot API.

    I'd be glad to give some assistance with the computer vision department.

    Are you sure? [yes] / [no]

    schuhumi wrote 3 months ago null point
    Thank you!

    I have to admit that I didn't look into ROS very much so far.

    My setup at the moment ist:
    [Arch Linux + Python3] --- i²C --- 3x [AVR µC + Bare metal C]

    I guess this is what you find on most (complex) robots, so ROS should be possible (?). I need to read more about ROS to see what advantages would actually come up for autoCut..

    As for computer vision: At the moment I'm upgrading to cubieboard 2 with A20 dualcore processor, so there should be enough power to have some fun. Didn't put any brainstorming into this so far, but I think it could improve object detection and safety a lot. Time to purchase some wide angle webcam I guess..

    Are you sure? [yes] / [no]

    Electronic Man wrote 3 months ago null point
    Then still keep the AVR for time critical stuff?

    Are you sure? [yes] / [no]

    VPugliese323 wrote 3 months ago null point
    If you are interested in utilizing computer vision, then the following is for you.

    In addition to using a single wide angle webcam, I recommend you use stereovision and make it so that the "eyes" can turn as it turns. While this will may require more processing power on your part, I feel that the benefits outweigh the costs.

    On a side note, I see you are using Python. I do not know much about ROS, however OpenCV (which I use often) supports both C/C++ and Python for creating vision code. If you are comfortable in Python I suggest looking into it.

    As it is a jump to add vision, I suggest you create a "version 2" of this project, tie up the loose ends in "version 1" and then start at the beginning of your design and see what improvements can be made and what needs to be upgraded to incorporate this new system. If you are clever enough in designing your vision code, you might be able to get away with running everything on a minicomputer (like the RasPi).

    If you need help with vision, I know there are at least two of us that can help you (myself and the gentleman above).

    All in all this is a very unique project and I look forward to seeing it evolve.

    Are you sure? [yes] / [no]

    Electronic Man wrote 3 months ago null point
    Do you have any part numbers or link to the motors you use?

    Are you sure? [yes] / [no]

    schuhumi wrote 3 months ago null point
    Mowing: JOHNSON HC685LG
    Setting height:
    Driving: CHM-2435-1

    Note on the driving motors: I'm not sure whether I got a bad charge or if the motors are assembled careless in general. The motors aren't properly mounted on the gear box but a bit loose (also the box can't be opened). Therefore they make some noise - You might find better motors here.

    Are you sure? [yes] / [no]

    David Cook wrote 3 months ago null point
    Your semifinal video is accidentally set to private.

    Are you sure? [yes] / [no]

    schuhumi wrote 3 months ago null point
    Yeah, it was still uploading. Sorry for inconvenience caused :)

    Are you sure? [yes] / [no]

    xaveriusarian wrote 3 months ago null point
    can i get full spesification aand sorce code ?

    Are you sure? [yes] / [no]

    schuhumi wrote 3 months ago null point
    Source -> Sure! Theres this GitHub link on the left:
    See "Software" folder for sourcecode for all the controllers/webserver/etc

    Specification -> I'm not sure what you mean by that.. In case you want schematics etc. -> same GitHub link. But most of the mechanics are crafted by staring at aluminium rods, having an idea and smashing it together. So there are barely any mechanic plans jet

    Are you sure? [yes] / [no] wrote 5 months ago null point
    Have you considered using a string trimmer instead of blades?

    Are you sure? [yes] / [no]

    schuhumi wrote 4 months ago null point
    No, but the idea is so good, that I actually tried it out. You can expect an video on that ;) (spoiler: It's to energy expensive)

    Are you sure? [yes] / [no]

    cBake wrote 4 months ago null point
    This. You should consider using the commercially available weed-whacker string, as they have already done all the leg-work figuring out what works well, and it is cheap and easily to find. The energy-expense aspect should be determined by the rotating mass, and the friction of the rotating assembly (given a constant grass inflow), not RPM. The key is gearing your motors down for the proper cutter RPM - figure out what a good cutting RPM is and then gear your motors to operate in their peak efficiency. See motor torque-RPM curves for more info on that.

    Are you sure? [yes] / [no]

    Adam Fabio wrote 5 months ago null point
    Great work schuhumi! Thanks for entering autoCut in The Hackaday Prize! A robot to mow the lawn has been the holy grail of every kid that spent an afternoon with a push mower! You're doing great so far - those mowing videos are impressive! Keep the updates coming, and make sure autCut is prepped for mowing in space!

    Are you sure? [yes] / [no]

    schuhumi wrote 4 months ago null point
    Thank you very much! Sorry for the gap in updates, you can expect more content soon

    Are you sure? [yes] / [no]

    J Groff wrote 6 months ago null point
    They have a system on some table saws that is some sort of capacitive meat detector and clutch that immediately stops the blade. I recall a dramatic demo where the guy jams a hotdog in fully spun up saw and it left nary a mark.

    Are you sure? [yes] / [no]

    Byron (odiekokee) wrote 5 months ago null point
    it's not exactly a's a spongy aluminum block that gets hard jammed into the blade and stops it in 3 blade teeth passing, destroying the aluminum block, blade, and sometimes motor shaft....but still better than a finger. Seen it demonstrated in person with a finger analogue (hotdog). Rather impressive. unless you were really carried away, 3 teeth will barely draw blood.

    Are you sure? [yes] / [no]

    PointyOintment wrote 5 months ago null point
    It's called SawStop.

    Are you sure? [yes] / [no]

    schuhumi wrote 5 months ago null point
    That is a brilliant idea! I used this technique in a POV-Clock before to start and stop it. It's rather easy to implement as long as the circuit ist connected to earth, just measure the time a microcntroller neds to charge a 0V-leveled detector-pin with the internal pull-up to high-level. long time -> someone touches the pin

    I will definitely do some testing on this.

    (BTW: I'm rather bussy at the moment, but I'll continue on this after thursday)

    Are you sure? [yes] / [no]

    PointyOintment wrote 6 months ago null point
    The blades fold when they hit hard obstacles, but what happens when they hit soft obstacles (like feet)?

    Are you sure? [yes] / [no]

    schuhumi wrote 6 months ago null point
    As you can see in the update I'm working on a cover/bumper. But I'm still concerned about this problem, since it's quite hard to tell the difference between bare feet and thick tufts of grass. I thought about IR LEDs and how grass and skin/stones/garden hose (<- all flat surfaces) reflect the light differently. Or something capacitive (did a few experiments some time ago, worked remarkably well) since feet/garden hoses contin lots of water, but I reckon this won't work on wet grass..

    Are you sure? [yes] / [no]

    jlbrian7 wrote 6 months ago null point
    Looks like it should be finding landmines instead of mowing the lawn.

    Are you sure? [yes] / [no]

    schuhumi wrote 6 months ago null point
    luckily landmines are a rare occurrence in my garden :) In fact I didn't plan on a mowing robot from the beginning, thus the kinda strange construction. But I like how it turned out and that it is not as boring as the usual designs.

    Are you sure? [yes] / [no]

    cBake wrote 6 months ago null point
    how terrifying. awesome.

    Are you sure? [yes] / [no]

    schuhumi wrote 6 months ago null point
    glad you like it ;-)

    Are you sure? [yes] / [no]

    Similar projects