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:
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).
So no confusion about your post
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.
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 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 ]
[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
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.
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.
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.
Results - needs tuning. - but we’re on track to having a really useful machine.
The electronics box will be tidied up once we’ve added a few bits in, then lid on and put into service.
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.
Thanks to all the folks in the forum for inspiration.