mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-06 16:58:48 +08:00
test ground speed loop
This commit is contained in:
@@ -48,7 +48,7 @@
|
||||
<go wp="TARGET" approaching_time="0"/>
|
||||
<set value="MAX_PPRZ" var="ap_state->commands[COMMAND_HATCH]"/>
|
||||
</block>
|
||||
<block name="Poles 2">
|
||||
<block name="Poles 2" pre_call="nav_ground_speed_loop()">
|
||||
<oval p1="C1" p2="C2" radius="nav_radius" until="nav_oval_count>=nav_poles_count"/>
|
||||
</block>
|
||||
<block name="Land Right AF-TD" strip_button="Land right (wp AF-TD)" strip_icon="land-right.png">
|
||||
|
||||
+10
-5
@@ -205,11 +205,16 @@ static inline void nav_follow(uint8_t _ac_id, float _distance, float _height);
|
||||
#ifdef NAV_GROUND_SPEED_PGAIN
|
||||
/** \brief Computes cruise throttle from ground speed setpoint
|
||||
*/
|
||||
static bool_t nav_ground_speed_loop( void ) {
|
||||
float err = estimator_hspeed_mod - nav_ground_speed_setpoint;
|
||||
v_ctl_auto_throttle_cruise_throttle += nav_ground_speed_pgain*err;
|
||||
Bound(v_ctl_auto_throttle_cruise_throttle, V_CTL_AUTO_THROTTLE_MIN_CRUISE_THROTTLE, V_CTL_AUTO_THROTTLE_MAX_CRUISE_THROTTLE);
|
||||
return FALSE;
|
||||
static void nav_ground_speed_loop( void ) {
|
||||
if (MINIMUM_AIRSPEED < nav_ground_speed_setpoint
|
||||
&& nav_ground_speed_setpoint < MAXIMUM_AIRSPEED) {
|
||||
float err = estimator_hspeed_mod - nav_ground_speed_setpoint;
|
||||
v_ctl_auto_throttle_cruise_throttle += nav_ground_speed_pgain*err;
|
||||
Bound(v_ctl_auto_throttle_cruise_throttle, V_CTL_AUTO_THROTTLE_MIN_CRUISE_THROTTLE, V_CTL_AUTO_THROTTLE_MAX_CRUISE_THROTTLE);
|
||||
} else {
|
||||
/* Reset cruise throttle to nominal value */
|
||||
v_ctl_auto_throttle_cruise_throttle = V_CTL_AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user