38 comments on “The New Autonomous Lawn Mower (Version 2.0)!

  1. Hello!

    I have been waited this postage after I read RC mower project! Months, really. You decided to make everything by yourself. What was the reason for that? I mean Arduino.

    Because, I thought you had a plan to use APM 2.5 autopilot (today Pixhawk is better, I think). Why you didn’t use that?

    I have planning to make similar project, but much bigger scale so I hoped I could get experience from your project. To use Piksi was good idea. I understood that they have made integration for Pixhawk.

    Do you have plan to test also Pixhawk?
    There are really nice features like Follow Me, satellite maps etc. Even ground station software for Android (example DroidPlanner).

    Best regards

    • I decided to go with the Swift navigation solution because the Ardupilot (with regular GPS) simply wasn’t accurate enough to mow straight lines in the lawn. When I tried it, the best accuracy I could get was a single waypoint on one side of the lawn, with a second waypoint somewhere on the other side. I’ll probably keep working on this design for now, but I may expand to other technologies as time and money permits. Good luck with your work!

      • Dear Alligator,

        I own a company who produce RC mowers for professional in ITALY
        I’m going to buy the Piksy to test it on our mowers.
        Do you think we can find a way to share your job on our products.

        Thanks a lot


        • I think it’s great you are going to try this. I’m still working on my code, so there isn’t much to share at this time.

  2. I’m curious how much money (rough estimate) you have in Version 2.0 of the mower? Are you still rocking the original electric mower? Also – I’m on a pretty steep hill, how does it (or do you think) it might handle hills with the better tires?



    • I probably have about 50 hours of time into this project. It’s hard to add up since it has been spread out so much. With version 2.0, I completely disassembled the first version. The new tires provide a LOT more traction, so much now that I am not worried about wheel slip. The worst is with wet grass, so if I mow on dry days, I’m generally safe.

  3. I’ve been trying to figure out how to do this and also found Swift Navigation GPS. My concern was still that it might be thrown off if the mower were drive under a tree or other obstacle. Have you had any issues with that?

    In regards to your issues with accurate turns, have you seen this video: https://www.youtube.com/watch?v=ZONORxZOxZw

    He states this functions using GPS and a compass. Have a you tried a compass? My thought was to use rotation sensors at the wheels, but he is getting very accurate 180 turns with a compass…

    • That video is great! My next step is going to be to add a compass, although I understand they drift over time. However, for my purposes, I’m hoping the error won’t be significant. I am concerned about dropping the GPS signal from the Swift Navigation GPS, but I figure with some extra sensors, I can compensate for this until I get my lock back.

  4. Great project, thanks for sharing the details! Do you now have it running fully autonomous using GPS waypoints? If so, how’s it working out?

    • I’m still working on the code. I have the GPS getting data, but I’m having trouble with the turns. I just picked up a new compass module and will add that to try to get accurate turns.

  5. Great Job! Thanks for sharing the work! I’ve been doing some research on the internet and I am glad found this on going project! I hope to be able to build the “Autonomous Lawn Mower” and “Autonomous Snow Blower” as well soon. Just ordered some hardware including two 350w motors and the 2×30 Sabertooth driver. I am in the process to choose a computer platform and I am wondering why you don’t use the Raspberry Pi or BeagleBone like boards? Would you think the following new product would be helpful as seen on http://www.emlid.com/reach/ ?

    • Looks like an interesting device. Anything that gets better resolution than a GPS would be worth investigating. I chose a full PC instead of a Raspberry Pi or BeagleBone Black (I’ve used both) simply because I had more USB ports available on the PC. I wanted to plug in an HD webcam and have some extra processing power for machine vision, which is down the road as I continue to work on this project. Have fun!

      • Thanks for the Reply. What kind of Robotic related development software do you use and customized it to control the mower on Windows 8? Is it “Microsoft Robotics Developer Studio” ?

        • I had considered several different robotics software packages, but ultimately I decided to use Python. It’s free, I knew how to program using it, and it works well. If you have the skills, I’d certainly encourage people to use alternative environments.

  6. Would you be willing to share step-by-step plans and instructions? The whole robotics theme fascinates me, but I know nothing of electronics not electronics, and only know intermediate levels of .NET

    • Sorry, I haven’t put together step-by-step instructions. I made it up as I went, and posted as much as I had on this site. I often find the best source of help is to find a forum for what you are using (microprocessor, computer, programming language, etc.) and ask other experienced users for some assistance.

    • Sorry, I don’t have any plans, other than what you see on this site. You will certainly want to improve on this design, so I’d encourage you to build off of any portions of the project that look like they might fit your needs.

  7. I kinda want to have your children. Thats hard cause im a guy and not gay. But with our combined skills, I am sure we can make something happen.

    In other words; great job. Thanks for documenting it. I had been planning something similar for a while and I just started down the path. I did not realize how hard the autonomous part would be until I read your blog and its comments. I had assumed I could record the movements and then have it play them back – and that would work for some of the time. But it would never be autonomous (or shouldnt be) because you could never trust it. I just dont think GPS will ever be the answer. Obviously its part of the sensor package, but I think you will need offsite processing (computer) or something else…maybe infrared borders. I thought the roomba would be a good idea to follow…but a lawnbot is just too dangerous. I always have in mind: what if my son was asleep on the grass, spread out. If I cannot trust it to mow around him without issue, it is not autonomous.

    • Thanks! I am disappointed with the performance of the GPS I selected for this project. Perhaps if I had a clear plot of land without trees, then this would work better. However, I am considering detaching the mower and adding a snow plow, and then trying it out on a rectangular driveway to see if I can fine-tune the pattern first. Once that is working, then perhaps I’ll increase the pattern complexity.

  8. The Piksi looks to be about ~$1000. Pricey but cheap for RTK. Without a compass it’d be hard to have straight rows (even with RTK). Have you had much luck by adding a compass? When you said “I am disappointed with the performance of the GPS I selected for this project” were you referring to the Piksi?

    • Yes, I was referring to the Piksi. I had a hard time with the GPS losing the signal due to trees and multi-path signals. If I had a clear view of the sky, I believe it would have performed better.

  9. I have been thinking about autonomous mowing and am thinking about the mower as a gigantic CNC router and the lawn as a gigantic work piece. There are lots of software programs that will compute tool paths which would allow you to mow all sorts of patterns in the lawn. From your experience it looks like direction would be the sticking point. Perhaps your camera would be a way to determine the heading direction accurately.

    Good work, I will be bookmarking this site to follow your progress.

    • This is a really interesting idea! This would solve the problem where mowing passes for some areas of the lawn are not adjacent to other mowing passes (boustrophedon decomposition). I’m continuing to experiment in this space and will have updates from time to time as things are developed.

  10. Frist of all, great project!!
    I have a few question regarding the motors.
    Which kind of motors do you use? (I guess stepper motors) And how did you connect the motors to the tires?

    Can you provide more picture please?
    Thank you,

    • The motors were used motors which I purchased online. They come from an electric wheelchair, and are already fully geared so they run at the correct speed. The motors had a bracket to connect to the tires already on them, so I used that. I believe you can buy other connectors from Super Droid Robots if you don’t have them already. Sorry, those are all the photos I have at this time.

    • It uses skid steer, similar to how a tank drives. One of the rear wheels turns while the other goes in the opposite direction. It works, but does dig up the grass a little from time to time. It’s all controlled by the motor controller.

  11. Do you have anything in place for stabilizing the camera/video feed while driving over bumps in the lawn? Shocks? software stabilizing?

    • No, mainly due to the added cost such a stabilization system would add. If you were so inclined, I imagine you might be able to use something similar to the stabilization systems used on drones. Another option might be some type of shocks for the wheels. I am fortunate enough to have a fairly smooth lawn, so this wasn’t a necessity.

    • It would be fun to turn this into a business, but I think the design needs optimization for manufacturing and some additional development.

      • Hello i am building a autonomous/RC controlled lawn mower similar to yours and i was looking at the version one post you made and im having a hard time keeping track of all the wires you have going from each electronics device. Do you have a schematic from version one that i could look at?

        • I’m sorry, I looked back through my files and was not able to locate a schematic I could share. I’m guessing I either hand wrote one out while assembling it, or worked it out as I went along. Each component was used as intended, so you just have to think about how you would lay it out and wire it up if you were adding one component at a time. Once you reach a problem area, stop and consider whether you can share connections with other components, or whether you need to add another device to solve that problem. Good luck with your build!

Leave a Reply

Your email address will not be published. Required fields are marked *