-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mission command timeout #3495
base: main
Are you sure you want to change the base?
Mission command timeout #3495
Conversation
## Gimbal Control in Missions | ||
|
||
[Gimbal Manager commands](https://mavlink.io/en/services/gimbal_v2.html#gimbal-manager-messages) may be used in missions if supported by the vehicle type. | ||
For example [MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW) is supported in [multicopter mission mode](../flight_modes_mc/mission.md). | ||
|
||
In theory you can address commands to a particular gimbal, specifying its component id using the "Gimbal device id" parameter. | ||
However at time of writing (December 2024) this is [not supported](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/gimbal/input_mavlink.cpp#L889): all commands are sent to the gimbal with id [MAV_COMP_ID_GIMBAL (154)](https://mavlink.io/en/messages/common.html#MAV_COMP_ID_GIMBAL) | ||
|
||
Gimbal movement is not immediate. | ||
To ensure that the gimbal has time to move into position before the mission progresses to the next item (if gimbal feedback is not provided or lost), you should set [MIS_COMMAND_TOUT](../advanced_config/parameter_reference.md#MIS_COMMAND_TOUT) to be greater than the time taken for the gimbal to traverse its full range. | ||
After this timeout the mission will proceed to the next item. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@julianoes Is this accurate? Specifically, my assumption is that all gimbal commands are sent to MAV_COMP_ID_GIMBAL but I couldn't find where.
## Mission Command Timeouts | ||
|
||
Some mission commands/items can take time to complete, such as a gripper opening and closing, a winch extending or retracting, or a gimbal moving to point at a region of interest. | ||
|
||
Where provided PX4 may use sensor feedback from the hardware to determine when the action has completed and then move to the next mission item. | ||
If not provided, or if the feedback is lost, a mission command timeout can be used to ensure that these kinds of actions will progress to the next mission item rather than blocking progression. | ||
|
||
The timeout is set using the [MIS_COMMAND_TOUT](../advanced_config/parameter_reference.md#MIS_COMMAND_TOUT) parameter. | ||
This should be set to be a small amount greater than the time required for the longest long-running action in the mission to complete. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note, add this to all the vehicle mission mode sections.
No flaws found |
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: https://discuss.px4.io/t/params-since-v1-15-20241204/42717/1 |
Some hardware can take time to reach the state commanded by a corresponding mission item, such as gimbals, grippers, winches.
Ideally you'd trigger transition to the next step on feedback from a sensor on the hardware, but many grippers etc don't have that, and in any case it is possible you will miss it. So for grippers the
MIS_PD_TO
timeout was created - it basically ensures that if you miss feedback (or if there is none) the mission will wait this amount of time before progressing.PX4/PX4-Autopilot#23960 renames
MIS_PD_TO
withMIS_COMMAND_TOUT
, which applies to all of these long running mission items - it also uses this delay to give the gimbal time to move into position on a mission item.This provides the corresponding docs.