Best gear for starting ArduPilot Mower

The 3B Heading board is very slick and easy to use. It’s just hard to justify the cost over two Zed-F9P based modules.

The 2B+Heading kit is cleverly designed for applications that aren’t ArduPilot. It’s a nightmare to configure in the ArduPilot ecosystem.

Steve, yes exactly, I spent hours searching for the best servo attachment place. One of the main criteria was the ease of the visual inspection. To make it even more complicated, it had to be attached without any new holes in the frame. My hydros have fans on the top, this leaves even less room for the rods.
I still want to make it easily controllable manually, ideally with OEM sticks. As disconnecting rod-ends is tedious, one option is somehow generating PWM servo control signal from the OEM stick movements instead of having them physically linked to the hydros. RC is too sensitive for me

I am not sure about all of the details in what @Max_G is building but it is very interesting and it seems like a great idea. However, I still think it involves still having the servos physically linked to the hydraulic control valves. I think the encoders on the sticks allow for a person to drive the mower manually using the encoder values to generate the correct movement on the servos driving the valves. I don’t think his sticks are being used while he is in auto. If I have this wrong Max, please correct me. We are all just learning about your new approach.

I am familiar with Max’s approach, and you are correct, Steve. He’s using encoders on all physical controls to drive servos/actuators/relays, which adds a lot of complexity but removes the requirement for physical linkage changes when transitioning from auto to manual (ride-on) control. The physical control sticks/levers will not have to move during auto operation. It’s a novel and interesting approach!

With this approach, it’s important to consider the Developer Code of Conduct, which states:

ArduPilot is NOT certified for use in applications where ArduPilot is effectively in control of human lives. Members of the development team must not knowingly assist in projects where ArduPilot will be in control of human lives. “In control of human lives” includes but isn’t limited to manned aircraft.

At face value, that indicates that the development team would shy away from involvement with or endorsement of such a vehicle. However, Randy made an excellent point of clarification regarding a possible wheelchair application in post 6, here:

Wheelchair guidance - ArduRover / Miscellaneous - ArduPilot Discourse

So as long as you’re careful to implement appropriate safety mechanisms, there shouldn’t be much resistance to discussing, implementing, and receiving help with a manual/automatic mower.

I can’t see my approach violating any rules (or the cited rule).
All I do is replacing physical linkages with ‘drive-by-wire’ , which quite a few modern cars use (including steer-by-wire; that is without a physical steering rack).

My Arduino does not provide any automation to the normal operation of the mower.

Imagine a main switch, that changes the mower from manual to ArduPilot controlled mode.
The Arduino will switch over all digital lines from it to the flight controller. At this point my mower behaves like yours or any other I have seen on this forum.

I could, and would add the safety feature that if a human sits on the seat, autonomous mode will be disabled.

As I said elsewhere, while I simplify the wiring by running cables directly from any switches (brake, seat, PTO, etc.) to the micro-controller (Arduino), all safety features will be realised fail-safe in code. By flicking the switch it can no longer be manually operated.

I am not sure, but am happy for people to point out to me, where I could improve my posts to be easier understood or be clearer.

And yes, my ‘extra’ bits will enable a very simple way of changing from manual to auto and back, by means of flicking a switch (have to think, if this will be a mechanical key-switch).

To clear up any confusion on my post, I wasn’t being critical of your approach at all, Max, and I think it’s exciting that there is some precedent for including ArduPilot automation on a Rover that a human can ride. I don’t think you’ll get any negative feedback on your mower in that regard.

1 Like

(Assume you know me, then you know) I was neither offended or else :slight_smile:

I read (or perceived) some confusion and simply wanted to make sure (that after all as English-as-second-language speaker) that I do express myself for others to easily understand what I am saying (writing).

So no confusion about your post :slight_smile:

1 Like

Given Randy’s sentiment from the other topic, I think my approach to a similar design would be to keep the autopilot in the loop during manual control. I’d write the microcontroller code to take input from the onboard controls and output the same RC protocol as used by whatever receiver I chose (ExpressLRS, most likely). Then I’d simply put a switch on the RC receiver signal line(s) to toggle between the actual RC receiver and my surrogate microcontroller “receiver.” I’d make sure to keep the “flight mode” channel switched to MANUAL mode in the microcontroller code and likely include a couple of layers of failsafes, including a big emergency stop button to kill all motion/power.

That approach avoids the need to write code for servo drivers and switch all of their signal lines to another source, with the added benefit of having datalogging for all manual control, which could be a helpful tuning tool for the automated side of things. It does have the drawback that the autopilot becomes a single point of failure.

Moved post to: Approach to provisioning a manual mode in addition to standard automation

Why don’t we split this into another topic and continue there. It’s very application specific and strays a lot from the “gear” discussion here. I’ll take some time to answer tonight or tomorrow if you can essentially just copy that last post into a new thread. Feel free to use the “quote” feature to capture my post that spurred the questions.

1 Like

I have been thinking about your mounting problem and I was remembering what I went through. It is a tough problem and you have to do whatever it takes. I remember I was also running into the situation where I had to bend the linkage to make it work and I didn’t want to do that because if the all-thread I was using got rotated around the rod axis then the servo calibration would be off. I fixed my problem by fabricating a standoff bracket and attaching it to the hydraulic valve and then attaching the linkage to that. I have also been looking at your photo and I think that location can be made to work. You might have to fabricate a few little parts. It is not uncommon for people to build a bracket or housing to hold the servo where you need.

Im looking forward to the video of all these robot mowers working in a swarm…
The “6 hp autonomous track slope” mower is very similar to the 15hp one we are converting over. Ours has 3x PWM from an RC receiver easy connected into our flight controller - so no mechanical enginnering required for motion or height control. Ours has a starter motor also.

1 Like

Do you have pics of your 15hp slope mower?
Looking forward to seeing your machines.

couple of vids - First signs of life …

and driving around a paddock under RC control. grass grass grass…

I did a few auto missions yesterday - but the compass tune was way off, so drunken lawn mowing. We have a 3x ArduSimple2B’s on their way.

Note the mower we have has

  • power deck height servo 20mm to 130mm height via RC input.
  • 2 x 500w 24V drive servos and gears - which may extra wiring so may have encoders
  • Electric starter motor - so looking for ICE control for Rover so it doesnt start when running…

That looks great and it’s always good to see a project come to life. Well done! I like your setup.
I am also interested in how you do the ICE control for the starter. Most of us have this problem but never take the time to fix it. We get too busy going after the bigger problems.

Huh, just a life sign; I am not dead yet :slight_smile: but happily pottering along with welding the frame for the electronic box that houses the flight-controller and all that goes with it.

[Box located in the back, with engine remaining fully serviceable.]

[400 x 200 x 200 mm3 box]

[Base plate with 3D-printed support plates with M3 brass inserts for the electronic boards. Pixhawk 4 on rubber band prototype :slight_smile: ]

[Electronics fitted and partially wired.]

[Different angle of the electronics… GPSes stacked; flight-controller in dampened cradle.]

[Horn with M5 thread cut to secure Heim joint.]

Next in line are brackets for the servos, and mounting and adjusting these… soon ready for some action :slight_smile:


Thanks for sharing Max, it is really interesting and inspiring seing different approaches for the hardware setup. You have surely spent time designing mounting brackets, looks neat! I am using velcro stickers while hardware placement is not fully optimized.
Whereas box is attached directly onto the rollover protection bar with the 3D printed quick release brackets and a few rubber dampers.

1 Like

Hey @Max_G this is a very clean and professional looking build! I like the big electronics box. It gives you plenty of room for future expansion and it keeps all of your electronics in one spot so you can cool it with a fan.
I also like the location of the HydraGear hydraulic control valve on your mower. It looks like it gives you accessibility, which hopefully will give you good mounting options for the servo.

1 Like

Servos and linkages are in for the hydro-stats…

Will see how long the 3D-printed brackets will last. In case they break, a metal version will replace these. At least I have for the correct (and tested) measurements. :slight_smile:

Yes, I can fit three Raspberry Pi SBCs if need be; hopefully not, one should do… and I could still stack them. :person_facepalming:

The kicker so far is: I have not drilled any holes into the mower. All mounting points found pre-existing holes; all I had to do is cut threads in.

1 Like

Your build progress looks great! It will not be long until you are manually driving it around. There is an old video made by @ktrussell a few years ago which shows how to center the servos trough Ardupilot so you get good straight tracking. Changing Out a Servo and Calibrating the Servo Outputs - YouTube
It’s important for the mower to be able to drive a straight line so the computer doesn’t always have to fight just to keep it straight.

1 Like