ArduPilot / ArduPilot/ardupilot

Set Servo options triggered by failsafe

Open
#23,927 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Copter good first issue
Dominant language
C++
Stars
15.9k
Forks
21.4k
Avg merge
3d 17h
Merged PRs (30d)
119

Description

Feature request

For UAS which perform a function controlled by Set_servo outputs, such as crop spraying, it would be desirable for the UAS to stop doing the function if a failsafe mode is triggered. It is not clear if the Sprayer functionality includes this but it may be useful for other applications such as vectored thrust VTOLs etc

Currently the consequence of RC signal loss while spraying would be the UAS performing a RTL while still spraying. This would be VERY BAD as the spray would be released at a high altitude and subsequently drift to unintended locations.

Describe the solution you'd like
A clear and concise description of what you want to happen.

A parameter to set servo outputs should failsafe be triggered Eg SERVOXX_FS_VALUE = 1000

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Lua scripting?

checked the Sprayer functionality in ardupilot, it is unclear if this issue is addressed.

(Also documentation on "SPRAY_SPINNER Spinner rotation speed: Spinner's rotation speed in PWM (a higher rate will disperse the spray over a wider area horizontally)" is inaccurate and could cause serious issues, increased RPM actually creates smaller droplets. see https://en.wikipedia.org/wiki/Rotary_atomizers)

Platform
[ x ] All
[x ] AntennaTracker
[ x ] Copter
[ x] Plane
[ x ] Rover
[ x] Submarine

Additional context
Add any other context or screenshots about the feature request here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing failsafe handling and Sprayer functionality, including how Set_servo outputs are controlled. Compare the proposed SERVOXX_FS_VALUE behavior with the Lua scripting alternative and the SPRAY_SPINNER documentation concern. Done means a clearly defined failsafe response across the affected vehicle types, with the related documentation clarified.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot, robotics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.