ArduPilot / ArduPilot/ardupilot
AP_Gripper: support HOLD command option
- Dominant language
- C++
- Stars
- 15.9k
- Forks
- 21.4k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 119
Description
## Feature request
**Is your feature request related to a problem? Please describe.**
Explicit gripper control is currently limited to active releasing and grabbing, which leaves out stopped/neutral operation. The EPM gripper driver seemingly has an option to automatically return to neutral some fixed time after a grab or release, but that is privately scoped and has no direct control action.
**Describe the solution you'd like**
1. MAVLink [now supports a HOLD command for grippers](https://github.com/mavlink/mavlink/pull/2393), which I think should be used to trigger stopped / neutral functionality of the gripper.
2. With drivers that expose that functionality, it could also be integrated into AUX functions / joystick button function support, as the return point when a grab or release button stops being held.
**Describe alternatives you've considered**
We could just not implement this, but it's a missing functionality that seems useful for certain gripper types and applications.
**Platform**
[x] All
[ ] AntennaTracker
[ ] Copter
[ ] Plane
[ ] Rover
[ ] Submarine
**Additional context**
The lack of this functionality is what has thus far stopped ArduSub from regularly using ArduPilot's gripper functionality (opting to instead use momentary servo commands via joystick buttons), so this would reduce ArduSub's reliance on joystick button functions, while also making gripper configuration more intuitive.
Contributor guide
Research direction
Start by tracing the EPM gripper driver and the existing gripper control entry points, then inspect AUX functions and joystick button support. Check how MAVLink gripper commands are handled and define done as supporting HOLD for neutral operation, with compatible drivers optionally returning to neutral when grab or release input stops.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot, robotics
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100