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!
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:
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.
(Assume you know me, then you know) I was neither offended or else
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).
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.
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.
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.
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 but happily pottering along with welding the frame for the electronic box that houses the flight-controller and all that goes with it.
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.
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.
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.
Yes, I can fit three Raspberry Pi SBCs if need be; hopefully not, one should do… and I could still stack them.
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.
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.
Hello everyone, I am happy to say that some of the gear required for the mover has come.
Current gear list :
Orange Cube+ standard set
Two HiTec D845WP Servos
SiK Telemetry Radio V3
Flysky fs-i6x 10 CH Radio
I will try to start mounting servos to my mower to be able to drive it manually with the remote. My question now is maybe for Christopher because my mower doesn’t have an automatic starting system and so it doesn’t have a battery. I want to ask what battery, fuses, dc-dc converters, and all other electronics to buy. Also maybe if you have any wiring diagrams for connecting and powering all electronics that would be much appreciated.
After this conversion is done I will purchase Gear for GPS.
First paddock worked - the mower has an 800mm (31.1/2") cut width, i made a 0.78m flight plan, so any errors stand out, mostly good but a long way from all good. I was slightly surprised when i loaded in 850+ waypoints into the FC without any drama. The mower is slow - 0.7m/s and that was the biggest learning, need to run RC gear, laptops for extended durations… 4hours + for a large paddock, full fuel tank etc.
Failsafe’s all passed their tests - which is good because chasing a runaway mower sounds like no fun.
I suggest you start by sketching out your electrical subsystem. Draw the components and how they connect to each other. Draw both power (+12, +5, GND) connections and the signal connections. I suspect this diagram will have some or all of these components on it.
Main battery
Main power switch
DC-DC converter to power 5v electronics
Autopilot
GPS Boards
Companion Computer
Servos
RC Receiver
Telemetry radio
I myself wouldn’t worry about fuses for this particular set of components. You don’t have high voltage or high current.
(I’m not familiar with your servos. Do they take a +12v power rail and also a standard R/C PWM input as output by most autopilots? Others on this thread know the answer to this.)