mode_attitude.h 837 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef __MODE_ATTITUDE_H
  2. #define __MODE_ATTITUDE_H
  3. #include "flt_butter.h"
  4. #include "lowpass_filter.h"
  5. #include "stdbool.h"
  6. struct controller_xy
  7. {
  8. float pc[2]; /* 当前位置 m */
  9. float vc[2]; /* 当前速度 m/s */
  10. float ac[2]; /* 当前加速度 m/s^2 */
  11. float pt[2]; /* 目标位置 m */
  12. float at[2]; /* 目标加速度 m/s^2 */
  13. float vt[2]; /* 目标速度 m/s */
  14. float ve_integ[2]; /* 速度误差积分 */
  15. LpfButter2 vt_ff_flt[2]; /* 目标速度微分前馈滤波器 */
  16. float pos_integ[2]; /* 位置误差积分 */
  17. bool reset; /* 控制器重置 */
  18. };
  19. extern struct controller_xy _cxy;
  20. extern float dist_comp[2];
  21. bool attitude_init(void);
  22. void attitude_run(void);
  23. void attitude_exit(void);
  24. #endif