mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-19 00:23:33 +08:00
Remove euler angles from attitude setpoint (#23482)
* Remove euler angles from attitude setpoint message * Remove usage of euler angles in attitude setpoint messages This commit removes the usage of euler angles in the vehicle_attitude_setpoint messages * Fix standard vtol
This commit is contained in:
@@ -138,9 +138,10 @@ void UUVAttitudeControl::control_attitude_geo(const vehicle_attitude_s &attitude
|
||||
*/
|
||||
Eulerf euler_angles(matrix::Quatf(attitude.q));
|
||||
|
||||
float roll_body = attitude_setpoint.roll_body;
|
||||
float pitch_body = attitude_setpoint.pitch_body;
|
||||
float yaw_body = attitude_setpoint.yaw_body;
|
||||
const Eulerf setpoint_euler_angles(matrix::Quatf(attitude_setpoint.q_d));
|
||||
const float roll_body = setpoint_euler_angles(0);
|
||||
const float pitch_body = setpoint_euler_angles(1);
|
||||
const float yaw_body = setpoint_euler_angles(2);
|
||||
|
||||
float roll_rate_desired = rates_setpoint.roll;
|
||||
float pitch_rate_desired = rates_setpoint.pitch;
|
||||
@@ -227,9 +228,8 @@ void UUVAttitudeControl::Run()
|
||||
_vehicle_rates_setpoint_sub.update(&_rates_setpoint);
|
||||
|
||||
if (input_mode == 1) { // process manual data
|
||||
_attitude_setpoint.roll_body = _param_direct_roll.get();
|
||||
_attitude_setpoint.pitch_body = _param_direct_pitch.get();
|
||||
_attitude_setpoint.yaw_body = _param_direct_yaw.get();
|
||||
Quatf attitude_setpoint(Eulerf(_param_direct_roll.get(), _param_direct_pitch.get(), _param_direct_yaw.get()));
|
||||
attitude_setpoint.copyTo(_attitude_setpoint.q_d);
|
||||
_attitude_setpoint.thrust_body[0] = _param_direct_thrust.get();
|
||||
_attitude_setpoint.thrust_body[1] = 0.f;
|
||||
_attitude_setpoint.thrust_body[2] = 0.f;
|
||||
|
||||
Reference in New Issue
Block a user