New here, but wanted to bounce a high-level question off the community.
I am looking for the best/quickest way to customize RTH/RTL functions in APM.
MISSIONS QUESTION:
So, if I want to customize my "mission" capability to have a more robust safety environment, would I be able to use just Python scripts or would I need to code and customize my own APM firmware for the PX4 board? Ideally I am looking to change the RTH (return to land) functions to include using battery levels to decide when to RTH and also provide "safe options" to the actual "HOME" location in case battery life will not allow a full RTH.
2ND QUESTION:
In the event that a custom APM Firmware needs to be written (modified), are there resources on here, or elsewhere that will do custom coding projects? I am not in a position to hire a full-time programmer but would have the need for adhoc "projects" where some coding work can be funded.
Thanks in advance
John
Replies
Hi John,
"using battery levels to decide when to RTH" - how would this differ from the existing battery failsafe functionality?
Can you give us more detail on the alternate 'home' locations - how would these be specified and what would determine the actual destination?
So currently, the battery level hits a limit and initiates RTL or LAND. What I would like to setup is logic in that calculation. Based on battery level and the next waypoint and the HOME location, determine if the next waypoint can be reached and still have enough battery to return to home when at that next waypoint. If so, continue to next waypoint, then RTL. If not, initiate RTL instead of proceeding to the next waypoint.
Also, as it relates to alternate RTL locations, it kind of ties into the above. If for some reason the battery is draining faster than normal (planned) and either prior to the RTL voltage limit or while during the RTL process, I would like to have it know that it will not be able to RTL at the "home" location. Until sensors are better developed to enable safe landing anywhere, a change would also have to be made to planner to allow for setting "alternate" RTL locations (maybe with python scripting?). So when you setup a mission, you can define alternate RTL locations along the route so in the event calculations deem a RTL not possible (based on estimated mah/sec or some other telemetry reading) it would calculate its path to the RTL Alternate it can safely reach.
Hope this helps clarify a little. I am looking to add logic into the autopilot to enable better and longer missions. Today, you have to spend most of your time planning and when planning in extra safety you lose the ability to maximize the mission duration. I want to move that safety "planning" into the autopilot as opposed to into the mission setup. Just trying to see if this can be done today with the available tools (python, etc) or whether customization of the firmware and planning software (or both) need to be made.
Thanks in advance for the help.
So. Any thoughts? Is this possible with scripting or will firmware and python scripting changes be needed? Firmware and Planner changes? Both?
Thanks in advance for the help.