Robot Lawn Mower


5/29/2021-- Hey! I started to work on this site again. It has been at least 2 years since I have done any editing. I got busy with life and got a riding lawn mower. I still want to build a robot lawn mower, because it is cool, the idea is better than what is on the market, and the it will allow me to be even more lazy!

Robot Lawn Mower

Declaration of Purpose: I do not like mowing my yard as much as I have to. I have decided to build a robot lawn mower out of a power chair to do the work for me. This is my online documentation on what I have done and what I am doing. The purpose of this is to keep me motivated to keep working on it by writing about everything I have done--and to help any one else who is trying to do the same in the future. I will try log my work weekly until done and try to fix issues, typos, and errors with code as I find them. I am not too familiar with Robot Operating System (ROS), but hope to be good enough to make this work. Once all of the model files and the ROS codes are done, I will post them to thingiverse and gethub. If the machine works, and I am comfortable with everything, I may build add-ons to do other yard work I do not want to do (ie: weed eater/edger attachment, pressure washer, aerator, and seed spreader attachments).


I have been working on a robotic lawnmower. I have gathered parts and have decided it is plausible and should require less time to build and maintain than mowing the yard for the rest of time. An initial RC power wheels machine was built and acted as a proof of concept. The design was poor, due to the materials it was made from and thus had a poor center of balance, bad weight distribution, and no traction. I used an arduino, with a homemade relay shield, a joystick, and a cheap motor controller to make it work. It would move, and it would cut (as long as the power wheels wheels had traction and the motor controller didn't get too hot), but it was still me mowing the yard.


The new design will be using a more rigid frame, provide better traction, and has a larger base for battery and electronics. The machine will use Robot Operating System to control the machine.

The electronics gathered are:

  • Invacare Ranger X power chair

  • RazorIMU

  • Monocular USB camera

  • Two 600/rev encoders

  • Roboclaw 45A motor controller

  • Deep cycle battery


I have found drivers for motor controller and IMU devices and have designed STL files for the power chair. 3D-printed parts were used to mount the encoders on the power chair's motors where the brakes were mounted. There are videos on youtube that show how to remove the brakes from the motors. Here's one: https://www.youtube.com/watch?v=59DNyGYkW3A .


Here is the encoder mounted with 3D-printed parts on the motor:

The power chair was tested with a 6-channel RC transmitter and receiver connected to the Roboclaw motor controller. The controller has inputs for the encoders and a auto-calibration tool. The software for the Roboclaw only works on Windows and requires information on the max speed of the motors. I was unable to get any information on the max speed of the motors and had to look for motors that look like the one I am using. There were no datasheets on the model number, part number, or anything I can find from Invasare on the internet.


This is the motor that looks like mine: http://hobby.npcrobotics.com/store/npc-b81/ . It says it is a 18:1 ratio and 180 RPM. This means if the motor turns 18 times, the wheel turns once.... and I can turn the wheel once and and count the turns of the motor to make sure the gear ratio is the same. By doing this I feel that it can be assumed these motors are similar enough to use the information from the webpage.


For ROS, a visual representation has to be made before the machine can map an environment. I have made a model for the chair_base, drive_wheels, and caster_wheels. The combined models look like this:

ROS uses STL files for visualization, which means the cool color effects will be lost and it will be a boring single color model for each part. It almost looks like a piece of farm equipment with out the chair! I think I will try to make it a stand up riding mower until I get the hang of ROS.

1/29/17 modified 6/24/18.


Thinks to do:

  • Learn ROS - started 3/19/17 and still doing 6/24/18

  • Gather cutting parts (will wait till everything else works)

  • Make a map

  • Make it autonomous

Please send me a message if you like this, you want to help, or you are working on something similar.