mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-07 00:53:41 +08:00
*** empty log message ***
This commit is contained in:
@@ -97,8 +97,8 @@
|
||||
|
||||
<section name="GUIDANCE_V" prefix="BOOZ2_GUIDANCE_V_">
|
||||
<define name="HOVER_POWER" value="81"/>
|
||||
<define name="HOVER_KP" value="-500"/>
|
||||
<define name="HOVER_KD" value="-200"/>
|
||||
<define name="HOVER_KP" value="-300"/>
|
||||
<define name="HOVER_KD" value="-150"/>
|
||||
<define name="HOVER_KI" value="0"/>
|
||||
</section>
|
||||
|
||||
|
||||
+1
-1
@@ -791,7 +791,7 @@
|
||||
<field name="est_zd" type="int32" alt_unit="m/s" alt_unit_coef="0.0000019"/>
|
||||
<field name="est_zdd" type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
|
||||
<field name="ref_z" type="int32" alt_unit="m" alt_unit_coef="0.0039063"/>
|
||||
<field name="red_zd" type="int32" alt_unit="m/s" alt_unit_coef="0.0000019"/>
|
||||
<field name="ref_zd" type="int32" alt_unit="m/s" alt_unit_coef="0.0000019"/>
|
||||
<field name="ref_zdd" type="int32" alt_unit="m/s2" alt_unit_coef="0.0009766"/>
|
||||
<field name="adp_inv_m" type="int32" alt_unit="foo" alt_unit_coef="0.0000038"/>
|
||||
<field name="adp_cov" type="int32" alt_unit="foo" alt_unit_coef="0.0000038"/>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<dl_settings NAME="Vert Loop">
|
||||
<dl_setting var="booz2_guidance_v_kp" min="-600" step="1" max="0" module="booz2_guidance_v" shortname="kp"/>
|
||||
<dl_setting var="booz2_guidance_v_kd" min="-600" step="1" max="0" module="booz2_guidance_v" shortname="kd"/>
|
||||
<dl_setting var="booz2_guidance_v_z_sp" min="-20" step="1" max="10" module="booz2_guidance_v" shortname="sp"/>
|
||||
<dl_setting var="booz2_guidance_v_z_sp" min="-2560" step="1" max="1024" module="booz2_guidance_v" shortname="sp"/>
|
||||
</dl_settings>
|
||||
|
||||
<dl_settings NAME="Horiz Loop">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "booz2_ins.h"
|
||||
#include "booz_geometry_mixed.h"
|
||||
|
||||
#define BOOZ2_FMS_TEST_SIGNAL_DEFAULT_PERIOD 200;
|
||||
#define BOOZ2_FMS_TEST_SIGNAL_DEFAULT_PERIOD 300;
|
||||
#define BOOZ2_FMS_TEST_SIGNAL_DEFAULT_AMPLITUDE 20;
|
||||
#define BOOZ2_FMS_TEST_SIGNAL_DEFAULT_AXE 0
|
||||
|
||||
|
||||
@@ -36,6 +36,15 @@ int32_t booz2_guidance_v_ki;
|
||||
|
||||
int32_t booz2_guidance_v_z_sum_err;
|
||||
|
||||
|
||||
#define Booz2GuidanceVSetRef(_pos, _speed, _accel) { \
|
||||
b2_gv_set_ref(_pos, _speed, _accel); \
|
||||
booz2_guidance_v_z_ref = _pos; \
|
||||
booz2_guidance_v_zd_ref = _speed; \
|
||||
booz2_guidance_v_zdd_ref = _accel; \
|
||||
}
|
||||
|
||||
|
||||
static inline void run_hover_loop(bool_t in_flight);
|
||||
|
||||
|
||||
@@ -60,7 +69,7 @@ void booz2_guidance_v_read_rc(void) {
|
||||
switch (booz2_guidance_v_mode) {
|
||||
case BOOZ2_GUIDANCE_V_MODE_DIRECT:
|
||||
booz2_guidance_v_z_sp = booz_ins_position.z;
|
||||
b2_gv_set_ref(booz_ins_position.z, 0, 0);
|
||||
Booz2GuidanceVSetRef(booz_ins_position.z, 0, 0);
|
||||
break;
|
||||
case BOOZ2_GUIDANCE_V_MODE_HOVER:
|
||||
if (booz_fms_on && booz_fms_input.v_mode >= BOOZ2_GUIDANCE_V_MODE_HOVER)
|
||||
@@ -84,6 +93,7 @@ void booz2_guidance_v_mode_changed(uint8_t new_mode) {
|
||||
case BOOZ2_GUIDANCE_V_MODE_HOVER:
|
||||
booz2_guidance_v_z_sum_err = 0;
|
||||
booz2_guidance_v_z_sp = booz_ins_position.z;
|
||||
Booz2GuidanceVSetRef(booz_ins_position.z, 0, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -136,7 +146,7 @@ static inline void run_hover_loop(bool_t in_flight) {
|
||||
else
|
||||
booz2_guidance_v_z_sum_err = 0;
|
||||
|
||||
/* our nominal command : (g + zdd)/m */
|
||||
/* our nominal command : (g + zdd)*m */
|
||||
// const int32_t inv_m = BOOZ_INT_OF_FLOAT(0.140, IACCEL_RES);
|
||||
const int32_t inv_m = b2_gv_adapt_X>>(B2_GV_ADAPT_X_FRAC - IACCEL_RES);
|
||||
booz2_guidance_v_ff_cmd = (BOOZ_INT_OF_FLOAT(9.81, IACCEL_RES) - booz2_guidance_v_zdd_ref) / inv_m;
|
||||
|
||||
@@ -48,7 +48,7 @@ void print_ref(int i) {
|
||||
|
||||
int32_t get_sp (int i) {
|
||||
// return BOOZ_INT_OF_FLOAT(i>512 ? -50.0 : 0, IPOS_FRAC);
|
||||
return BOOZ_INT_OF_FLOAT((i>512&&i<3072) ? 10.0 : 0, IPOS_FRAC);
|
||||
return BOOZ_INT_OF_FLOAT((i>512&&i<3072) ? -5.0 : 0, IPOS_FRAC);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user