I’m would like to change gimbal max velocity ? I want to send gimbal position but I don’t want gimbal to go too fast. I would like to know if we can configure CamController with something like DEFAULT, SOFT, AGGRESIVE, DYNAMIC, etc.
I didn’t undersand POSITION_VELOCITY was a position command with max_velocity.
Is TrajectoryPoint works the same (Messages list - 7.2) ? x is the position you want to reach, and dx and ddx are the max acceleration and the max velocity ? I thought it was a target point where we want the drone to reach it with the state [x, dx, ddx].
An other point: the filtering process takes into account position and velocity but it does not involve to accurately match the given velocity. To precisely reach a velocity value, VELOCITY ctrl_mode should be used.
The position velocity relies on an internal dynamic model that realize state integration (such as drone TrajectoryPoint), so position and velocity must be consistent. Also the given velocity in POSITION_VELOCITY doesn’t represent the maximal value.
If you want to set a maximal velocity, you could set the following parameter while sending a POSITION reference:
Thank you for this max_vel argument. Where is the doc of this argument ?
Moreover, I understand POSITION_VELOCITY doesn’t represent the maximal value, but do you know why in the three examples I sent just above, the position target is 0° and regarding the velocity value, the end position of gimbal is different in the three examples …
Also, where can I find the doc about filtered and locked boolean meaning ?
(but the generation of the documentation was not handling the comments correctly. It will be fixed in the next release).
Here is the source of the AxisConfig message:
// Axis configuration.
message AxisConfig {
// Specify if axis reference will be used or discarded.
oneof optional_locked {
bool locked = 1;
}
// Enable filtering to have a smoother movement.
oneof optional_filtered {
bool filtered = 2;
}
// The filtering magnitude applied to the axis.
oneof optional_smoothness {
float smoothness = 3;
}
// The maximum velocity of the axis.
oneof optional_max_vel {
float max_vel = 4;
}
}
I still don’t understand why the three examples of POSITION_VELOCITY don’t reach same 0° target, but at least I know the max_vel parameter, and it was the main question on this issue