I don’t know but you have given me another idea for my students!
I have done a lot of work on Raspberry Pi. I have at least 6 of them running things around the house. I have seen my fair share of SD filesystem corruption from bad shutdowns. I think an Arduino might be a more stabile platform for a companion/watchdog computer. I have found a few projects here that have mavlink working over UART on Arduino. The Arduino could be programed to watch the mavlink for flight mode, gps status, waypoint progress, and orientation of the mower and throw the kill switch when things go sideways. @ktrussell Nothing is more powerful than CS majors put to task. I am excited to see what they come up with.
I think I will start a new thread so as not to keep taking this one off too much. I am interested in ideas of others, for sure.
You can do it with lua scripting. Read roll and pitch and disarm if your set angle is reached.
Look in the lua scripting wiki, there are some examples.
I would use scripting in ardupilot or perhaps even on my RC, but the assumption is that there is a failure of hardware or software control. The autopilot can’t be trusted. We have seen them reboot. The RC can’t be trusted. We seen them lose contact. So I need a second control system onboard to monitor everything and kill the power when unexpected things happen. I am working on this project https://github.com/bitdog-io/restraining-bolt. It is designed to be installed on a Teensy 4.1 https://imgur.com/gallery/AzPJn4e This is how the mower is working so far https://youtu.be/frFU9pNqIiI
Sorry we are not on another thread yet…
I should have put a link here, but I did start a new thread: Ideas for Co-processor for Ardurover Autonomous Mower.
I like your idea of using a Teensy for the reasons you stated. I have many of the same issues and goals as you I think. I will certainly share anything worthwhile that I or the students who are helping me develop.
I have been motivated by you and Kenny Trussell and I am starting to plan out my zero turn mower conversion and buy some hardware. So far I have been just reading and learning a massive amount from you guys who have been blazing the trail. The mower reliably being guided by GPS seems like the real key and hopefully the Ardusimple F9P GPS with the RM3100 compass is the way to go. Is yours still working well for you? I would also like to know where to get the compass and if it plugs directly into the Pixihawk.
I am new to blogging and I am not sure if I should my questions related to getting started on rounding up the equipment belong in this topic area or I should be on a different thread. My mower will be a Hustler 54 inch zero turn that I routinely plan to mow about 4-5 acres with out here in East Texas where the grass grows so fast you can almost see it growing. I have a background in electronics and I retired about 10 years ago. Now I am really looking forward to jumping back into a fun project.
Welcome! I haven’t yet used the F9 GPS myself but everything I hear about it is good so I think that’s a good choice.
Welcome Steve! I have not used the RM3100 but I know this is one source: https://www.pnicorp.com/product/rm3100-breakout-board/
As far as connecting to the Pixhawk, you may have to provide the RM3100 board with 3.3V power rather than the 5V that is available from the Pixhawk. Other than that, I think it does connect fine. Perhaps someone else more familiar will shed some light on that.
I look forward to hearing more from you and seeing pictures!!!
(I had a total knee replacement about 7 weeks ago and have not been very active on here and have done nothing with my mower. I’m looking forward to getting it back rolling soon!)
Thanks for the information. I am confused because the RM3100 is often called a magnetometer. Is that the same as a compass for this application?
I think this project will take a while because of other time demands but I expect to be busy on it during the winter. It seems strange but one of the first things I am doing is modifying the mower deck to discharge out the back (much like the finish mowers I pull behind the tractor). It will require a bit of welding and general fabrication but it will make planning my mowing routes easier and it will not get clogged up as easy under the deck when mowing way overgrown grass. I did find out that the air/grass discharge ducting channels underneath also require changing.
The other thing I am going to be working on while I am ordering the general electronics is to install a fuel sensor in the fuel tank so I can have it display fuel level on the on the RC controller.
Before I start spending money, I plan on posting my list of electronics for feedback from you guys (people with way more experience than me).
Take care and a speedy recovery from your surgery.
I welcome your feedback. You guys are the experts and maybe you can help a newbie in the autonomous mower world stay out of trouble.
I have been reading and learning from the Ardupilot website/blogs for a while. Now it is time make something real happen and start engaging.
Yes, a magnetometer, defined as “an instrument used for measuring magnetic forces, especially the earth’s magnetism” is what sends readings of the magnetic field in 3 dimensions. Inside Ardupilot, these are stored in variables named mX, mY and mZ (for compass #1) and the Ardupilot calculates its heading from them.
And as you probably have seen, getting a stable accurate reading is difficult on a large metal body with electromechanical devices and moving metal parts, aka a mower!
Thanks for the information. That clears things up a bit. Supposedly the RM3100 magnetometer is a sensitive military grade magnetic sensor that will help this issue. We all want our mowers to be robust and reliable.
Although I’ve never actually used them, I think if you get two F9 GPSs it’s possible to use GPS-For-Yaw. There’s a video from Yuri at the bottom of the linked wiki page who seemed to have good success.
By the way, I don’t think the RM3100 will work any better than the compass built into most of the GPS/Compass units out there. Getting the compass away from metal seems to be the big issue, the particular model of compass is not so important.
In Rover-4.1 we think it may be possible that “GSF” will allow the Rover to get a heading estimate using a single GPS without needing a compass although this is not confirmed yet.
@SJohnson, I am eventually headed to the GPs for Yaw (Moving Base) that Randy is talking about. But I’m not in too big of a hurry to spend the $200+ for as another F9P because my mower is very functional as is. Turns are not perfect but repeatable, so pretty or not, the grass gets cut.
Been considering such a project for a long time. But the one big question stopping me is:
“What is the mower actually stopping from running over an injured animal or small child playing on the lawn ??”
I certainly don’t want to put a damper on such great project but for me safety has to come first.
Any push bar activated safety switch? Light barrier ahead of mower? …any safety device at all?
If it needs to be supervised all the time than the whole automation thing is little more than fun.
Yes, this worries me as well sometimes. We don’t need to be running over any baby partridges or other living things.
From a technical point of view, it’s tricky to recognise obstacles using a 360 lidar (or even the 3D depth cameras like the Intel RealSense 435) so I think the solution is most likely to be something like this blog discusses - using AI to recognise out-of-place obstacles and then the mower can avoid them.
ArduPilot already has path planning so there’s not much to do except add a new mavlink message to pass in the obstacles direction and distance in. The harder part is the AI part which would need to run on a companion computer (perhaps an NVidia or RPI4). AI is popular these days though so I suspect someone will show up at some point to work on this.
I was thinking of something much more basic, yet effective - at least until some other technology is easily available and reliable:
A bumper switch for example. - Having a flexible PVC tube / pipe across the front of lawnmower with tension spring keeping it away from front of lawnmower. Connected to the mounting arm is a micro- or lever switch which will kill the ignition of motor once a obstacle is being hit.
- Simple, yet effective.
I like your idea of the switch. I am concerned though especially on the big zero turn mowers with 25hp engines, if you have already made contact is too late.
This is great information. So getting another magnetic compass does not sound like the real long-term answer.