[airborne] Guidance INDI add configurable maximum bank angle

This commit is contained in:
Freek van Tienen
2018-06-24 22:53:54 +02:00
parent 7cc979a695
commit 9b83ef65b0
3 changed files with 5 additions and 2 deletions
+1
View File
@@ -11,6 +11,7 @@
<dl_settings NAME="guidance_indi">
<dl_setting var="guidance_indi_pos_gain" min="0" step="0.1" max="10.0" shortname="kp_p" param="GUIDANCE_INDI_POS_GAIN" persistent="true"/>
<dl_setting var="guidance_indi_speed_gain" min="0" step="0.1" max="10.0" shortname="kp_p" param="GUIDANCE_INDI_SPEED_GAIN" persistent="true"/>
<dl_setting var="guidance_indi_max_bank" min="0" step="0.1" max="80.0" shortname="max_bank" param="GUIDANCE_H_MAX_BANK"/>
</dl_settings>
</dl_settings>
</settings>
@@ -107,6 +107,7 @@ struct FloatMat33 Ga_inv;
struct FloatVect3 control_increment; // [dtheta, dphi, dthrust]
float filter_cutoff = GUIDANCE_INDI_FILTER_CUTOFF;
float guidance_indi_max_bank = GUIDANCE_H_MAX_BANK;
float time_of_accel_sp_2d = 0.0;
float time_of_accel_sp_3d = 0.0;
@@ -255,8 +256,8 @@ void guidance_indi_run(float heading_sp)
#endif
//Bound euler angles to prevent flipping
Bound(guidance_euler_cmd.phi, -GUIDANCE_H_MAX_BANK, GUIDANCE_H_MAX_BANK);
Bound(guidance_euler_cmd.theta, -GUIDANCE_H_MAX_BANK, GUIDANCE_H_MAX_BANK);
Bound(guidance_euler_cmd.phi, -guidance_indi_max_bank, guidance_indi_max_bank);
Bound(guidance_euler_cmd.theta, -guidance_indi_max_bank, guidance_indi_max_bank);
//set the quat setpoint with the calculated roll and pitch
struct FloatQuat q_sp;
@@ -42,5 +42,6 @@ extern float guidance_indi_thrust_specific_force_gain;
// settings for guidance INDI
extern float guidance_indi_pos_gain;
extern float guidance_indi_speed_gain;
extern float guidance_indi_max_bank;
#endif /* GUIDANCE_INDI_H */