Finishing Touches

Drawing pictures in a CAD program is fun, but when the rubber meets the road and you start fabricating something, you quickly notice some areas that weren’t too well thought out. Lately I’ve been backfilling those issues as we discover them at the shop. Here are some things I’ve tweaked over the past few weeks. Hopefully we’ll have a finished robot lawn mower soon!

Mower Deck to Chassis Interface

When the deck is stationary in my CAD program, chains look like a great way to support it. I can flip the model upside down and they don’t even move! But when the robot lawn mower starts rolling in reality, what keeps the deck from swaying all over the place? Well, if it hangs from chains, the answer is nothing.

IMG_5142
The turnbuckle that will replace the chain used to attach the mower deck to the chassis.

Unfortunately, the chassis weldment and the mower deck weldments are pretty much complete. So whatever fix we come up with has to interface with those features like the chain did. The solution? Turnbuckles! Some really small turnbuckles, to be exact.

The eye on these little guys is 0.26in ID, perfect for the 1/4-20 screw I had planned on using. The length is adjustable from 3.375in to 4.625in long. They’re rated for 36lb, a strangely specific number, but with three of them they should work fine. The mower deck weighs just over 30lb.

Steel Mower Blades

Another issue the shop made me aware of was the mower blades. I don’t remember if I mentioned it or not, but the reason I designed the robot lawn mower out of aluminum was to avoid any compass interference issues. You may recall I ditched the compass a few months ago, but I never went back and changed the design to steel.

The shop thought that aluminum mower blades were a goofy idea. They’re not wrong, but at least I had a reason for making them that way. Kenny Trussell discovered that when the blades spool up to speed, they interact with the earth’s magnetic field in a way that skews your apparent compass heading.

Making them out of aluminum would avoid that issue, as they’d be non-ferrous. But since we’re not using the compass anymore, it seemed like a reasonable change to make. Besides, all the mower blades you see out in the wild are made from steel.

And if there’s one thing I’ve learned working with fabrication guys, if they make a suggestion that doesn’t impact your design significantly and doesn’t cost much, change it. It’s an easy way to show them you value their input, and they’ll do whatever it takes to get your design working now that their finger prints are on not just the physical parts, but the design, too.

A Legit GNSS Antenna Enclosure

On the wheelchair robot, I had the two GNSS modules velcroed to the top of the robot. That doesn’t seem befitting of a robot I’ve spent a year and a few thousand dollars making. So I designed a small 3D printed enclosure for the RTK GNSS antenna and the UBlox M8N module. It sits on top of a small ground plane disk, mounting to the lid of the electronics enclosure.

gnss enclosure
A 3D printed GNSS antenna enclosure. The larger GNSS antenna is for the Ardusimple RTK GNSS module. The smaller one is a UBlox M8N.

Everybody I talk to says you need a really good ground plane for your antennas. That’s what the circular disk is below the enclosure. The screws for the lid of the enclosure are plastic. Hopefully this doesn’t create any reception issues. I also hope that the antennas don’t have to be perfectly concentric with the ground plane. If anybody has experience with ground planes, I’ll take any advice or feedback you can give me!

Mower Deck Discharge Chute

For some reason I had it on the left side of the mower deck. The shop mentioned that most mowers have the discharge chute on the right side of the deck. I don’t want people latching on to minor quirks of my design, so changing it to the right side seemed like a good idea.

Mower Deck Progress

Here’s the progress on the mower deck last time I visited the shop. We’re a few roll formed parts short of a robot lawn mower!

mower deck
The mower deck weldment just before Christmas, 2019.

Innovators in the Autonomous Lawn Mower Realm

As I’ve been working on the mower project, I find myself returning to a few blogs and websites to see how other people are trying to automate lawn mowers. It’s fun seeing different solutions to the problem, and I use their successes and failures to spur my own creativity.

This is a list of innovators that I’m aware of in the autonomous lawn mower realm. If you know of some folks that I haven’t found yet, post a comment and I’ll add them to this list!

MowBotix

These guys had automated a fully autonomous riding lawn mower back in 2017, so I think they win the prize for first large scale autonomous lawn mower. They went silent about a year ago and recently posted on their blog that they’re moving toward a more holistic terrestrial software solution that isn’t just for mowers.

Greenzie

Every once in a while I’ll do a Google search for “autonomous lawn mower” to see what I can find. That was how I found the folks out at Greenzie. They appear to be taking the same approach MowBotix did: start with a riding lawn mower and retrofit it with a suite of electronics and sensors. Their solution looks a lot more robust than MowBotix’s, but also quite a bit more expensive. Their Twitter account is a fun time, lots of cool demonstration videos.

Left Hand Robotics

As far as I can tell, the folks over at Left Hand Robotics started out trying to make an automated snow plow. Based in Longmont, Colorado, I’m sure that’s a very welcome solution. It appears they took their snow plow platform and put a mower deck on the front. Voila! Instant mowing platform.

The downside? It appears these bad boys cost an arm and a leg. Or perhaps just a left hand? I’ll show myself the door. This source says their snow plow solution costs $55,000 and has an annual subscription fee of $4,250. However, for that price I’m sure the system works very well. Their videos are quite impressive.

Deep South Robotics

Robo Robby over at Deep South Robotics has a full up riding mower automated with linear actuators to run the steering arms. With his software and hardware chops it appears to be a very robust solution. I admire his willingness to share his methods along with his successes and failures. The comments on his blog are quite informative. Every time he posts, I learn something new.

Evatech

Well, kind of. Evatech makes a series of radio controled lawn mowers, and BitDog from the ardupilot forums took one and added some special sauce to automate it. I admire the simplicity of this solution. It seems to be quite plug and play. But I’m left wondering why Evatech doesn’t take the leap and automate their platform themselves. Their machines are on the pricy side, but being gas powered are probably pretty reliable.

Kenny Trussell

Kenny was the first person I know of (other than possibly the folks at MowBotix) that used an RTK GPS system on a riding lawn mower. He continues to improve his mower, and I look forward to some updates of his progress soon! Kenny shared a very useful waypoint generation program for creating a mower mission in Mission Planner. If I ever get my mower finished, I will likely be trying it.

The Ardupilot Forum

There are quite a few folks on the Ardupilot forum that are working on their own solutions. I won’t post names here, but a cursory search will bring up several of them.

Mean Green Mowers

autonomous_mower_fmt
Mean Green Mower’s autonomous mower. Great minds think alike?

These guys have partnered with a company called Kobi to build an autonomous robot whose anatomy looks surprisingly familiar. I think the solar panel is a bit over the top though. When your deck motors pull multiple kW’s of power, a 200W solar panel isn’t going to be very helpful in my opinion. But it’s great marketing, especially when your company has “green” in the name.

One thing is for sure, it’s an exciting time to be working on autonomous lawn mowers!

A New Addition to the Mr. Mower Family

68993112_10157592162359312_6153332179632914432_n
The Mr. Mower family is growing! Timing both a lull in the Kansas wind with a smile on Mr. Mower Jr.’s face for a picture is quite challenging.

The lack of activity here on MowerProject.com hasn’t been due to a lack of autonomous lawn mower development. This June we were blessed with a baby boy, and he has been taking up a lot of our time! Posting to the blog in the meantime has been difficult.

Juggling my 8 to 5, the mower project, and making time for Mr. Mower Jr. has been quite challenging. I owe a special thanks to my wonderful wife for letting me run errands for the project and work on it in the evenings. She is truly something special! Having her to bounce ideas off of and to encourage me along the way has been invaluable. I love you so much Mrs. Mower!

As I’ve done in the past, I find it’s good to set goals. Even if I don’t achieve them, they focus my mind and give me a sense of accomplishment and purpose as I work toward them. Below are some goals I have for the next few months.

Finish Procurement and Begin Assembly

I have all of the parts to build the prototype robot lawn mower except for two more SLA batteries and new enclosures for the electronics. The SLA batteries are so cheap that I think it’s worth a gamble on them instead of ponying up the $1,000+ I’d need for some good quality LiFePo4’s.

Once those items arrive I will start to wire up the enclosures and get the subassemblies put together. I will probably need to make another wiring diagram showing how everything connects and functions before I get too far along.

Support Fabrication of the Prototype Weldments

Originally I had planned to fabricate a lot of the robot lawn mower components myself. The idea was that it would be cheaper to purchase my own tools and make the parts myself. Unfortunately, that plan requires a lot of time, a resource I’m very much short on these days with Mr. Mower Jr. in the picture. The economics of paying someone to make the parts suddenly looks attractive again.

To this end I’ve found a local gentleman who is helping me make the weldments. I find myself over at his shop every week or so answering questions about the design, and working with him has been very productive. His feedback has been quite helpful in helping simplify and refine the design so that it is easy to fabricate.

Functional Testing

I have a litany of questions I need to get answered about the performance of the prototype before we even cut grass. A few questions I need to get answered:

  1. How long can the mower run on four 12V, 35Ah SLA batteries?
  2. How well does the prototype handle pivot turns?
  3. How much current does the entire robot draw at typical operation?
  4. We need to verify emergency stop and safety features function correctly.
  5. How much air flow does the current mower deck and blade design create?

Once I’m satisfied the design adequately answers these questions, we can start cutting grass. Stay tuned for some pictures of the fabrication so far!

The Sky is the Limit

Manned Versus Unmanned
An MQ-9 Reaper military drone comparted to the T-6 Texan II. Both aircraft are similar in size.

The primary advantage of autonomy is obvious: the removal of a human from the machine. But that’s not where the benefits stop. Think about what a military drone looks like compared to a fighter jet. If you can get rid of the pilot, you can get rid of the seats, the yoke, the visual instruments in the cockpit. You don’t have to pressurize the cabin anymore. Shoot, now you can change the whole configuration of the aircraft to gain efficiencies you never even imagined when you had to design around a human in the cockpit. Notice how the propeller is on the back side of the drone, whereas it’s on the front of the manned aircraft?

I’ve been watching several folks develop autonomous lawn mowing solutions over the past few years. Back in 2014, Alligator over at the Rusty Nails Workshop attempted to make an autonomous lawn mower using an electric push mower deck with a Piksi RTK GNSS module, the cutting edge in positioning technology in 2014.

More recently I’ve watched the venerable Kenny Trussell and Robby over at Deep South Robotics fully automate a ZTR mower for their acreages. I’ve also been paying attention to the folks out at MowBotix who are attempting to commercialize their solution, which appears to be similar to what Kenny and Robby have come up with.

Each one of these solutions begins with an off the shelf mower. That seems to be a logical place to start: cutting grass is kind of a solved problem. And if you use a riding mower, you get the drive wheels for free, eliminating the need to come up with a way to propel your mower like Alligator and I had to.

Along the way I have questioned whether making a clean sheet design was the right way to approach this problem. There’s no doubt it will be more expensive in the short run. I’ve spent close to 300 hours designing the robot lawn mower over the past year and a half, and once everything is finished I will probably have close to $4,000 tied up in it.

But there is one thing that you can’t beat with a clean sheet design: The opportunity to toss out all the baggage that existing mowers come with and explore what an autonomous lawn mower could look like if you take the person out of the equation.

The Baggage

61XTWHN+JRS._SL1000_
A typical 36in zero turn radius riding lawn mower.

If you look at a typical ZTR riding mower, you see many familiar features: a nice plush seat to sit in, foam covered control handles, a deck to place your feet on with a nice grippy surface.

Look closer and you’ll find some very deliberately designed safety features, such as a dead man switch under the seat and some guards placed in areas you might get your foot too close to the mower blade.

If you look even closer you’ll discover that because of all the features described above, you kind of have to put the engine far away from the deck spindles. And that forces you to have an intricate pulley system to transmit power to the mower blades.

And your wheel base has to be pretty large in order to create room for a person to drive the thing. Your tires and engine have to be oversized in order to support the weight of an operator that could possibly weigh 200lb+.

Long story short, mowers manufactured today are designed with a significant constraint in mind: the operator. If you remove the operator, you can eliminate those constraints, and you end up with a machine that is much more efficient in almost every respect. The table below is just the weight and size differences between the prototype robotic lawn mower and the mower pictured above.

compare
A comparison of size and weight between the prototype robotic lawn mower and the 36in Swisher ZTR mower.

The prototype robotic lawn mower is half the weight and less than half the foot print of the ZTR mower, while featuring a deck that is the same width. With the right deck motors and batteries, the 14.5hp power rating could be matched, too. However, I suspect part of the reason you need so much power on a riding mower is because it’s larger, and you have to have a person sitting on it the whole time.

The biggest advantage to automating lawn mowers is obvious: you don’t need a person controlling the mower anymore. But if we’re going to remove the person from the equation, let’s take that leap all the way to it’s conclusion. There are huge design efficiencies you can gain by eliminating the operator. Let’s redo the whole system to take advantage of all of them.

Combined Battery Bays

version 5 and 6 compare
Version 5 compared to version 6 of the robot lawn mower.

I started drawing up what the robot lawn mower would look like if we didn’t care about separating the compass from the electric motors. Removing this constraint allows several design efficiencies, some of which I was not expecting.

I decided to use two battery bays on version 5 because I had to mount a mast smack dab in the middle of the chassis. I didn’t want to mount it on a removable lid because it would be cumbersome to remove to get access to the batteries. Instead, I put hinged doors on both bays.

It looks neat in the picture above, but what you don’t see is all the wires running through my chassis tubes between bays to connect the batteries and all the signal wires run through the mast weldment up to the control enclosure. It started getting ridiculous drawing all of that up.

A separate design constraint I’ve been trying to achieve is to keep the wheel base of the robot to a minimum for handling reasons. Unfortunately, the mower deck design I settled on has a motor in the middle of the deck that is a pain to locate such that it doesn’t interfere with the battery bays.

Because I was splitting the battery bays anyway, I positioned the mower deck the way you see in the version 5 picture above. One downside to doing this is that the mower deck is pointing backward from what you see on virtually every riding mower.

bottom compare
The bottom view of version 5 and version 6.

Combining the battery bays let me rotate the mower deck 180º. In the back of my mind I have been worrying the backward orientation of the mower deck might cause performance issues. Now we won’t have to find out.

Additionally, both power and control enclosures can be mounted directly to the battery bay, which will drastically shorten the wire runs I’ll have to make. I’m actually excited to start drawing wires again. Things aren’t so claustrophobic anymore.

And on top of all the benefits above, the chassis weldment went from having 28 total parts to 15. Not too bad!

Where Does All That Power Go?

I’m estimating the electric deck motors on the robot lawn mower will use about 168A of current collectively, and at 24V that means they consume just over 4kW or 5.3hp of power. Even in a worst case scenario, saying that aloud sounds ridiculous. Really? Where is all of that power going?

Remember that power is equal to torque times angular velocity. The angular velocity of the mower blade is governed by the blade tip speed limitation of 19,000ft/min. The linear velocity of the blade can’t exceed this value. If we know the blade length, we can do the math and determine the necessary angular velocity to achieve that blade tip speed.

velocity
The maximum angular velocity of a 21in mower blade for compliance with ANSI B71.1-1990. Don’t forget the calculation between radians and revolutions.

So we have a very good handle on angular velocity. The mystery variable in the power equation is then torque. The amount of torque we need when the blade is spinning is going to determine how much power the motors are going to consume.

In my previous power calculations, I made a huge assumption:

I have no clue how much torque a mower blade needs. Let’s just use whatever my 21in Toro push mower outputs. It mows grass pretty good. Close enough.

-Me, making poor decisions

The engineer in me loves that assumption. Find the appropriate RPM, pull up the power curve for the engine and boom, there’s your torque value on a silver platter.

The problem is that the robot lawn mower and my Briggs and Stratton push mower are two different animals. I should have made this chart a long time ago, but here is the performance curves for the E30-400 electric motor compared to a Briggs and Stratton 450e gasoline engine, typical of a push mower with a 21in wide deck:

Gas Versus Electric Comparison

The chart above makes more sense when you remember that the 450e gasoline engine is paired with a 21in long blade, but the robot lawn mower has 12in blades. This is why the electric motor curves go all the way to 5,700RPM whereas the gasoline engine curves end at 3,600RPM. Their respective blade length gets you close to the allowable blade tip speed.

Remember that these curves represent the maximum torque and power created at a given speed. When you’re mowing your lawn, how often does your mower bog down? Not much, hopefully. If it’s designed well and your grass isn’t a foot tall your mower probably isn’t operating at it’s maximum torque or power.

Because you shouldn’t often need the maximum torque or power out of your mower engine, the guys that engineered them installed a cleverly designed throttle governor, which varies the amount of fuel and air fed into the engine in such a way that its speed stays in a narrow RPM band.

Instead of letting the engine spool up to the fastest speed it can achieve under a given load, the governor limits speed of the engine, and subsequent power output, making it more efficient. If you need more torque or power, it adjusts the air and fuel mixture accordingly. The governor also ensures the blade tip speed stays safe.

This is where my power calculations go off the rails. I’m using the maximum torque values from these curves (measured in laboratory conditions no less) and sizing an electric motor such that it can achieve this torque value. This is inflating the estimated current these motors will consume.

Remember the motor from the electric push mower I got off Craigslist? It doesn’t appear quite so undersized now, given that our gasoline engine is likely operating somewhere below those maximum torque and power curves.

Our E30-400 electric motor, on the other hand, has no throttle control. This makes the analysis simple: it will always be operating at the curves on the chart above. A brief look at the chart shows that it should still perform very well.

Under no load, it will spin at 5,700RPM. As the required torque increases, the motor speed will drop, but the total power output from the motor increases until the motor is spinning at 2,900RPM. At this power output, one single motor is almost generating the power created by the 450e gasoline engine. Nice!

So realistically, the 168A of current for all three motors is probably on the high side. By how much, I am unsure. But I suspect it’s a significant amount. The robot lawn mower uses three of these motors. Collectively, I would imagine they won’t need too much torque to spin through whatever resistance they encounter.

This is looking more and more like a problem best solved by experimentation, not analysis…

Is a Compass Even Necessary?

bad compass health
My favorite Mission Planner error message: Bad Compass Health.

The compass drives two very costly design constraints into the robot lawn mower:

  1. The need to minimize the number and size of steel or ferrous parts in the design.
  2. The need to separate the compass from the motors to prevent electro-magnetic interference.

To address the first constraint, I selected a 5000 or 6000 series aluminum for the robot chassis and deck. That is quite costly both from a material standpoint and from a fabrication standpoint. And ultimately, you’re going to have some amount of steel in your robot. You can’t avoid it.

The second constraint requires the compass to be raised above the motors to a level high enough to get it out of the magnetic field created by the motors. Because I’ve placed the flight controller and other electronics in the same control box with the compass, several wires have to be run between this box and the power box. Shielding those wires is going to be tricky. Long story short, it creates lots of secondary design inefficiencies.

Reading through the forums and in my own research, I’ve come across a few interesting anecdotes:

  1. Kenny Trussell reports that when steel mower blades begin to spin at high RPMs, the compass heading begins to drift by some amount, about 20º.
  2. Christopher Milner had to place a 4ft tall mast on his vehicle to sufficiently separate his compass from the noise created by two drive motors and one brushless DC motor.
  3. Unplugging and disabling all compasses on my wheelchair robot doesn’t cause any EKF errors, and after traveling a few feet in the wrong direction, the robot corrects its heading somehow, without the compass. I suspect the wheel encoders aid this process.

In light of this information, I am beginning to question whether I even need a compass. It seems to be creating more problems that it solves. The bad compass health error messages in Mission Planner are starting to get very annoying, even though they don’t usually seem to impact the robot wheelchair’s ability to navigate properly.

According to U-Blox, you can use two ZED-F9P modules configured as a moving base-rover combination to calculate the vehicle’s heading. Even with a spread between the antennas of 10in, U-Blox says the heading accuracy is 0.8º. Some folks on the Ardupilot forum are starting to investigate using the modules in this way, and I suspect it will be a much more accurate way to obtain the vehicle’s heading.

I’ve had enough bad luck with compasses that I’m willing to get rid of them altogether and use the ZED-F9Ps for heading exclusively. This allows some significant improvements to the robot design. I guess I’ll head back to the drawing board for the time being…