|
|
|
@ -455,13 +455,13 @@ void ModeGuided::pos_control_run()
@@ -455,13 +455,13 @@ void ModeGuided::pos_control_run()
|
|
|
|
|
// call attitude controller
|
|
|
|
|
if (auto_yaw.mode() == AUTO_YAW_HOLD) { |
|
|
|
|
// roll & pitch from waypoint controller, yaw rate from pilot
|
|
|
|
|
attitude_control->input_euler_angle_roll_pitch_euler_rate_yaw(wp_nav->get_roll(), wp_nav->get_pitch(), target_yaw_rate); |
|
|
|
|
attitude_control->input_thrust_vector_rate_heading(wp_nav->get_thrust_vector(), target_yaw_rate); |
|
|
|
|
} else if (auto_yaw.mode() == AUTO_YAW_RATE) { |
|
|
|
|
// roll & pitch from waypoint controller, yaw rate from mavlink command or mission item
|
|
|
|
|
attitude_control->input_euler_angle_roll_pitch_euler_rate_yaw(wp_nav->get_roll(), wp_nav->get_pitch(), auto_yaw.rate_cds()); |
|
|
|
|
attitude_control->input_thrust_vector_rate_heading(wp_nav->get_thrust_vector(), auto_yaw.rate_cds()); |
|
|
|
|
} else { |
|
|
|
|
// roll, pitch from waypoint controller, yaw heading from GCS or auto_heading()
|
|
|
|
|
attitude_control->input_euler_angle_roll_pitch_yaw(wp_nav->get_roll(), wp_nav->get_pitch(), auto_yaw.yaw(), true); |
|
|
|
|
attitude_control->input_thrust_vector_heading(wp_nav->get_thrust_vector(), auto_yaw.yaw()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -518,13 +518,13 @@ void ModeGuided::vel_control_run()
@@ -518,13 +518,13 @@ void ModeGuided::vel_control_run()
|
|
|
|
|
// call attitude controller
|
|
|
|
|
if (auto_yaw.mode() == AUTO_YAW_HOLD) { |
|
|
|
|
// roll & pitch from waypoint controller, yaw rate from pilot
|
|
|
|
|
attitude_control->input_euler_angle_roll_pitch_euler_rate_yaw(pos_control->get_roll(), pos_control->get_pitch(), target_yaw_rate); |
|
|
|
|
attitude_control->input_thrust_vector_rate_heading(pos_control->get_thrust_vector(), target_yaw_rate); |
|
|
|
|
} else if (auto_yaw.mode() == AUTO_YAW_RATE) { |
|
|
|
|
// roll & pitch from velocity controller, yaw rate from mavlink command or mission item
|
|
|
|
|
attitude_control->input_euler_angle_roll_pitch_euler_rate_yaw(pos_control->get_roll(), pos_control->get_pitch(), auto_yaw.rate_cds()); |
|
|
|
|
attitude_control->input_thrust_vector_rate_heading(pos_control->get_thrust_vector(), auto_yaw.rate_cds()); |
|
|
|
|
} else { |
|
|
|
|
// roll, pitch from waypoint controller, yaw heading from GCS or auto_heading()
|
|
|
|
|
attitude_control->input_euler_angle_roll_pitch_yaw(pos_control->get_roll(), pos_control->get_pitch(), auto_yaw.yaw(), true); |
|
|
|
|
attitude_control->input_thrust_vector_heading(pos_control->get_thrust_vector(), auto_yaw.yaw()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -583,13 +583,13 @@ void ModeGuided::posvel_control_run()
@@ -583,13 +583,13 @@ void ModeGuided::posvel_control_run()
|
|
|
|
|
// call attitude controller
|
|
|
|
|
if (auto_yaw.mode() == AUTO_YAW_HOLD) { |
|
|
|
|
// roll & pitch from waypoint controller, yaw rate from pilot
|
|
|
|
|
attitude_control->input_euler_angle_roll_pitch_euler_rate_yaw(pos_control->get_roll(), pos_control->get_pitch(), target_yaw_rate); |
|
|
|
|
attitude_control->input_thrust_vector_rate_heading(pos_control->get_thrust_vector(), target_yaw_rate); |
|
|
|
|
} else if (auto_yaw.mode() == AUTO_YAW_RATE) { |
|
|
|
|
// roll & pitch from position-velocity controller, yaw rate from mavlink command or mission item
|
|
|
|
|
attitude_control->input_euler_angle_roll_pitch_euler_rate_yaw(pos_control->get_roll(), pos_control->get_pitch(), auto_yaw.rate_cds()); |
|
|
|
|
attitude_control->input_thrust_vector_rate_heading(pos_control->get_thrust_vector(), auto_yaw.rate_cds()); |
|
|
|
|
} else { |
|
|
|
|
// roll, pitch from waypoint controller, yaw heading from GCS or auto_heading()
|
|
|
|
|
attitude_control->input_euler_angle_roll_pitch_yaw(pos_control->get_roll(), pos_control->get_pitch(), auto_yaw.yaw(), true); |
|
|
|
|
attitude_control->input_thrust_vector_heading(pos_control->get_thrust_vector(), auto_yaw.yaw()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|