ArduPilot / ArduPilot/ardupilot

Gimbal enhancement list

Open
#20,985 14 comments 0 reactions 0 assignees View on GitHub
Enhancement Library
Dominant language
C++
Stars
15.9k
Forks
21.4k
Avg merge
3d 17h
Merged PRs (30d)
119

Description

This is a consolidated list of gimbal enhancements:

- [ ] https://github.com/ArduPilot/ardupilot/issues/26004
- [ ] https://github.com/ArduPilot/ardupilot/issues/24093
- [ ] https://github.com/ArduPilot/ardupilot/issues/24013
- [ ] MAVLink gimbals (e.g. Gremsy) should log gimbal information (vendor, model, etc) to the logs. currently this info is only in a send_text which is displayed to the user but won't appear in the logs because it is normally sent before the vehicle is armed
- [ ] MAVLink gimbals (e.g. Gremsy) should limit display of vendor and model to 32 characters (e.g. replace %u with %u.32).
- [ ] https://github.com/ArduPilot/ardupilot/issues/22148
- [ ] https://github.com/ArduPilot/ardupilot/issues/23149
- [ ] https://github.com/ArduPilot/ardupilot/issues/21665
- [ ] https://github.com/ArduPilot/ardupilot/issues/22900
- [ ] https://github.com/ArduPilot/ardupilot/issues/22440 (not sure if this is worth it)
- [ ] https://github.com/ArduPilot/ardupilot/pull/23092
- [ ] consume GIMBAL_MANAGER_SET_MANUAL_CONTROL messages
- [ ] enforce mavlink control only by sysid/compid received from MAV_CMD_DO_GIMBAL_MANAGER_CONFIGURE message

The corresponding Camera enhancement list is here https://github.com/ArduPilot/ardupilot/issues/23151
The [MavlinkV2 gimbal spec is here](https://mavlink.io/en/services/gimbal_v2.html)

Completed items
-----------------
- [x] log gimbal's reported angles and rates if available
- [x] https://github.com/ArduPilot/ardupilot/issues/26892
- [x] https://github.com/ArduPilot/ardupilot/issues/24571
- [x] https://github.com/ArduPilot/ardupilot/issues/7658
- [x] AP_Follow support for mounting following lead vehicle ([PR](https://github.com/ArduPilot/ardupilot/pull/23836))
- [x] support sending GIMBAL_MANAGER_STATUS (perhaps only if message-interval has been used to request it be sent) https://github.com/ArduPilot/ardupilot/pull/23737
- [x] https://github.com/ArduPilot/ardupilot/issues/23042
- [x] respond to requests for [GIMBAL_MANAGER_INFORMATION](https://mavlink.io/en/messages/common.html#GIMBAL_MANAGER_INFORMATION) (see https://github.com/ArduPilot/ardupilot/pull/23587)
- [x] consume [GIMBAL_MANAGER_SET_ATTITUDE](https://mavlink.io/en/messages/common.html#GIMBAL_MANAGER_SET_ATTITUDE) messages
- [x] health reporting and pre-arm check
- [x] increase rate control's maximum speed (see MNT_JSTICK_SPD parameter)
- [x] extend 60s timeout for discovering a gimbal. Perhaps allow the gimbal to be discovered as long as the vehicle is disarmed
- [x] DO_GIMBAL_MANAGER_PITCHYAW mission and immediate command should support
- [x] both earth-frame vs body-frame angles (currently always earth-frame)
- [x] earth-frame and body-frame rates (how can we do this? users would need to add NaN to angles?)
- [x] add GIMBAL_MANAGER_SET_PITCHYAW message support (not to be confused with MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW) -- cancelled
- [x] bring other gimbal drivers up to the same level as the Gremsy driver including
- [x] body-frame and earth-frame control during missions
- [x] pilot control of lock vs follow (during angle or rate control)
- [x] consume attitude information from gimbal
- [x] health reporting
- [x] send gimbal-device-attitude-status messages ([PR](https://github.com/ArduPilot/ardupilot/pull/21243))
- [x] Lua script support
- [x] set angle and rate (both body-frame and earth-frame)
- [x] set target position (aka ROI)
- [x] set gimbal mode (relaxed, ROI, mavlink targetting, etc)

These ground stations Issues and PRs should also be resolved/merged

- [x] [MissionPlanner PR : mavcmd: add DO_GIMBAL_MANAGER_PITCHYAW command](https://github.com/ArduPilot/MissionPlanner/pull/2882)
- [ ] [MissionPlanner Issue : Plan: ATTITUDE_TIME climb rate field reset to zero](https://github.com/ArduPilot/MissionPlanner/issues/2885)
- [x] [Mission Planner PR : MAVLinkInterface: scale DO_GIMBAL_MANAGER_PITCHYAW](https://github.com/ArduPilot/MissionPlanner/pull/2899)
- [x] [MAVProxy Issue : WP Editor corrupts command's Param5 if not Latitude ](https://github.com/ArduPilot/MAVProxy/issues/1069)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the unchecked linked issues and the MAVLink gimbal v2 specification referenced in this checklist. The scope includes logging vendor and model details, limiting their display length, consuming manual-control messages, and enforcing sysid/compid control. Done means the selected checklist items are implemented and their corresponding issues can be marked complete.

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
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.