@@ -346,8 +346,8 @@ void AC_AttitudeControl::input_euler_angle_roll_pitch_euler_rate_yaw_cd(float eu
346
346
{
347
347
// Convert from centidegrees on public interface to radians
348
348
float euler_roll_angle_rad = euler_roll_angle_cd * radians (0 .01f );
349
- float euler_pitch_angle_rad = euler_pitch_angle_cd * radians (0 .01f );
350
- float euler_yaw_rate_rads = euler_yaw_rate_cds * radians (0 .01f );
349
+ const float euler_pitch_angle_rad = euler_pitch_angle_cd * radians (0 .01f );
350
+ const float euler_yaw_rate_rads = euler_yaw_rate_cds * radians (0 .01f );
351
351
352
352
// update attitude target
353
353
update_attitude_target ();
@@ -400,8 +400,8 @@ void AC_AttitudeControl::input_euler_angle_roll_pitch_yaw_cd(float euler_roll_an
400
400
{
401
401
// Convert from centidegrees on public interface to radians
402
402
float euler_roll_angle_rad = euler_roll_angle_cd * radians (0 .01f );
403
- float euler_pitch_angle_rad = euler_pitch_angle_cd * radians (0 .01f );
404
- float euler_yaw_angle_rad = euler_yaw_angle_cd * radians (0 .01f );
403
+ const float euler_pitch_angle_rad = euler_pitch_angle_cd * radians (0 .01f );
404
+ const float euler_yaw_angle_rad = euler_yaw_angle_cd * radians (0 .01f );
405
405
406
406
// update attitude target
407
407
update_attitude_target ();
@@ -461,9 +461,9 @@ void AC_AttitudeControl::input_euler_angle_roll_pitch_yaw_cd(float euler_roll_an
461
461
void AC_AttitudeControl::input_euler_rate_roll_pitch_yaw_cds (float euler_roll_rate_cds, float euler_pitch_rate_cds, float euler_yaw_rate_cds)
462
462
{
463
463
// Convert from centidegrees on public interface to radians
464
- float euler_roll_rate_rads = euler_roll_rate_cds * radians (0 .01f );
465
- float euler_pitch_rate_rads = euler_pitch_rate_cds * radians (0 .01f );
466
- float euler_yaw_rate_rads = euler_yaw_rate_cds * radians (0 .01f );
464
+ const float euler_roll_rate_rads = euler_roll_rate_cds * radians (0 .01f );
465
+ const float euler_pitch_rate_rads = euler_pitch_rate_cds * radians (0 .01f );
466
+ const float euler_yaw_rate_rads = euler_yaw_rate_cds * radians (0 .01f );
467
467
468
468
// update attitude target
469
469
update_attitude_target ();
@@ -507,9 +507,9 @@ void AC_AttitudeControl::input_euler_rate_roll_pitch_yaw_cds(float euler_roll_ra
507
507
void AC_AttitudeControl::input_rate_bf_roll_pitch_yaw_cds (float roll_rate_bf_cds, float pitch_rate_bf_cds, float yaw_rate_bf_cds)
508
508
{
509
509
// Convert from centidegrees on public interface to radians
510
- float roll_rate_bf_rads = roll_rate_bf_cds * radians (0 .01f );
511
- float pitch_rate_bf_rads = pitch_rate_bf_cds * radians (0 .01f );
512
- float yaw_rate_bf_rads = yaw_rate_bf_cds * radians (0 .01f );
510
+ const float roll_rate_bf_rads = roll_rate_bf_cds * radians (0 .01f );
511
+ const float pitch_rate_bf_rads = pitch_rate_bf_cds * radians (0 .01f );
512
+ const float yaw_rate_bf_rads = yaw_rate_bf_cds * radians (0 .01f );
513
513
514
514
// update attitude target
515
515
update_attitude_target ();
@@ -548,9 +548,9 @@ void AC_AttitudeControl::input_rate_bf_roll_pitch_yaw_cds(float roll_rate_bf_cds
548
548
void AC_AttitudeControl::input_rate_bf_roll_pitch_yaw_2_cds (float roll_rate_bf_cds, float pitch_rate_bf_cds, float yaw_rate_bf_cds)
549
549
{
550
550
// Convert from centidegrees on public interface to radians
551
- float roll_rate_bf_rads = roll_rate_bf_cds * radians (0 .01f );
552
- float pitch_rate_bf_rads = pitch_rate_bf_cds * radians (0 .01f );
553
- float yaw_rate_bf_rads = yaw_rate_bf_cds * radians (0 .01f );
551
+ const float roll_rate_bf_rads = roll_rate_bf_cds * radians (0 .01f );
552
+ const float pitch_rate_bf_rads = pitch_rate_bf_cds * radians (0 .01f );
553
+ const float yaw_rate_bf_rads = yaw_rate_bf_cds * radians (0 .01f );
554
554
555
555
// Compute acceleration-limited body frame rates
556
556
// When acceleration limiting is enabled, the input shaper constrains angular acceleration about the axis, slewing
@@ -574,9 +574,9 @@ void AC_AttitudeControl::input_rate_bf_roll_pitch_yaw_2_cds(float roll_rate_bf_c
574
574
void AC_AttitudeControl::input_rate_bf_roll_pitch_yaw_3_cds (float roll_rate_bf_cds, float pitch_rate_bf_cds, float yaw_rate_bf_cds)
575
575
{
576
576
// Convert from centidegrees on public interface to radians
577
- float roll_rate_bf_rads = roll_rate_bf_cds * radians (0 .01f );
578
- float pitch_rate_bf_rads = pitch_rate_bf_cds * radians (0 .01f );
579
- float yaw_rate_bf_rads = yaw_rate_bf_cds * radians (0 .01f );
577
+ const float roll_rate_bf_rads = roll_rate_bf_cds * radians (0 .01f );
578
+ const float pitch_rate_bf_rads = pitch_rate_bf_cds * radians (0 .01f );
579
+ const float yaw_rate_bf_rads = yaw_rate_bf_cds * radians (0 .01f );
580
580
581
581
// Update attitude error
582
582
Vector3f attitude_error;
@@ -657,9 +657,9 @@ void AC_AttitudeControl::input_rate_bf_roll_pitch_yaw_no_shaping_cds(float roll_
657
657
void AC_AttitudeControl::input_angle_step_bf_roll_pitch_yaw_cd (float roll_angle_step_bf_cd, float pitch_angle_step_bf_cd, float yaw_angle_step_bf_cd)
658
658
{
659
659
// Convert from centidegrees on public interface to radians
660
- float roll_angle_step_bf_rad = roll_angle_step_bf_cd * radians (0 .01f );
661
- float pitch_angle_step_bf_rad = pitch_angle_step_bf_cd * radians (0 .01f );
662
- float yaw_angle_step_bf_rad = yaw_angle_step_bf_cd * radians (0 .01f );
660
+ const float roll_angle_step_bf_rad = roll_angle_step_bf_cd * radians (0 .01f );
661
+ const float pitch_angle_step_bf_rad = pitch_angle_step_bf_cd * radians (0 .01f );
662
+ const float yaw_angle_step_bf_rad = yaw_angle_step_bf_cd * radians (0 .01f );
663
663
664
664
// rotate attitude target by desired step
665
665
Quaternion attitude_target_update;
@@ -937,10 +937,10 @@ void AC_AttitudeControl::thrust_vector_rotation_angles(const Quaternion& attitud
937
937
// attitude_target and attitude_body are passive rotations from target / body frames to the NED frame
938
938
939
939
// Rotating [0,0,-1] by attitude_target expresses (gets a view of) the target thrust vector in the inertial frame
940
- Vector3f att_target_thrust_vec = attitude_target * thrust_vector_up; // target thrust vector
940
+ const Vector3f att_target_thrust_vec = attitude_target * thrust_vector_up; // target thrust vector
941
941
942
942
// Rotating [0,0,-1] by attitude_target expresses (gets a view of) the current thrust vector in the inertial frame
943
- Vector3f att_body_thrust_vec = attitude_body * thrust_vector_up; // current thrust vector
943
+ const Vector3f att_body_thrust_vec = attitude_body * thrust_vector_up; // current thrust vector
944
944
945
945
// the dot product is used to calculate the current lean angle for use of external functions
946
946
thrust_angle_rad = acosf (constrain_float (thrust_vector_up * att_body_thrust_vec,-1 .0f ,1 .0f ));
@@ -1044,7 +1044,7 @@ void AC_AttitudeControl::ang_vel_limit(Vector3f& euler_rad, float ang_vel_roll_m
1044
1044
euler_rad.y = constrain_float (euler_rad.y , -ang_vel_pitch_max_rads, ang_vel_pitch_max_rads);
1045
1045
}
1046
1046
} else {
1047
- Vector2f thrust_vector_ang_vel (euler_rad.x / ang_vel_roll_max_rads, euler_rad.y / ang_vel_pitch_max_rads);
1047
+ const Vector2f thrust_vector_ang_vel (euler_rad.x / ang_vel_roll_max_rads, euler_rad.y / ang_vel_pitch_max_rads);
1048
1048
float thrust_vector_length = thrust_vector_ang_vel.length ();
1049
1049
if (thrust_vector_length > 1 .0f ) {
1050
1050
euler_rad.x = thrust_vector_ang_vel.x * ang_vel_roll_max_rads / thrust_vector_length;
@@ -1246,11 +1246,11 @@ float AC_AttitudeControl::max_rate_step_bf_roll()
1246
1246
// Return pitch rate step size in centidegrees/s that results in maximum output after 4 time steps
1247
1247
float AC_AttitudeControl::max_rate_step_bf_pitch ()
1248
1248
{
1249
- float dt_average = AP::scheduler ().get_filtered_loop_time ();
1250
- float alpha = MIN (get_rate_pitch_pid ().get_filt_E_alpha (dt_average), get_rate_pitch_pid ().get_filt_D_alpha (dt_average));
1251
- float alpha_remaining = 1 - alpha;
1249
+ const float dt_average = AP::scheduler ().get_filtered_loop_time ();
1250
+ const float alpha = MIN (get_rate_pitch_pid ().get_filt_E_alpha (dt_average), get_rate_pitch_pid ().get_filt_D_alpha (dt_average));
1251
+ const float alpha_remaining = 1 - alpha;
1252
1252
// todo: When a thrust_max is available we should replace 0.5f with 0.5f * _motors.thrust_max
1253
- float throttle_hover = constrain_float (_motors.get_throttle_hover (), 0 .1f , 0 .5f );
1253
+ const float throttle_hover = constrain_float (_motors.get_throttle_hover (), 0 .1f , 0 .5f );
1254
1254
float rate_max = 2 .0f * throttle_hover * AC_ATTITUDE_RATE_RP_CONTROLLER_OUT_MAX / ((alpha_remaining * alpha_remaining * alpha_remaining * alpha * get_rate_pitch_pid ().kD ()) / _dt + get_rate_pitch_pid ().kP ());
1255
1255
if (is_positive (_ang_vel_pitch_max_degs)) {
1256
1256
rate_max = MIN (rate_max, get_ang_vel_pitch_max_rads ());
@@ -1261,11 +1261,11 @@ float AC_AttitudeControl::max_rate_step_bf_pitch()
1261
1261
// Return yaw rate step size in centidegrees/s that results in maximum output after 4 time steps
1262
1262
float AC_AttitudeControl::max_rate_step_bf_yaw ()
1263
1263
{
1264
- float dt_average = AP::scheduler ().get_filtered_loop_time ();
1265
- float alpha = MIN (get_rate_yaw_pid ().get_filt_E_alpha (dt_average), get_rate_yaw_pid ().get_filt_D_alpha (dt_average));
1266
- float alpha_remaining = 1 - alpha;
1264
+ const float dt_average = AP::scheduler ().get_filtered_loop_time ();
1265
+ const float alpha = MIN (get_rate_yaw_pid ().get_filt_E_alpha (dt_average), get_rate_yaw_pid ().get_filt_D_alpha (dt_average));
1266
+ const float alpha_remaining = 1 - alpha;
1267
1267
// todo: When a thrust_max is available we should replace 0.5f with 0.5f * _motors.thrust_max
1268
- float throttle_hover = constrain_float (_motors.get_throttle_hover (), 0 .1f , 0 .5f );
1268
+ const float throttle_hover = constrain_float (_motors.get_throttle_hover (), 0 .1f , 0 .5f );
1269
1269
float rate_max = 2 .0f * throttle_hover * AC_ATTITUDE_RATE_YAW_CONTROLLER_OUT_MAX / ((alpha_remaining * alpha_remaining * alpha_remaining * alpha * get_rate_yaw_pid ().kD ()) / _dt + get_rate_yaw_pid ().kP ());
1270
1270
if (is_positive (_ang_vel_yaw_max_degs)) {
1271
1271
rate_max = MIN (rate_max, get_ang_vel_yaw_max_rads ());
0 commit comments