ArduPilot / ArduPilot/ardupilot

AP_Gripper: support HOLD command option

Open
#31,107 9 comments 0 reactions 0 assignees View on GitHub
good first issue
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.