Quadcopter/User/module/quad_pos_control.h
2025-10-03 14:32:06 +08:00

44 lines
1001 B
C

#ifndef _QUAD_POS_CONTROL_H_
#define _QUAD_POS_CONTROL_H_
#include "quad_pos_control_math.h"
#include "component/pid.h"
// 速度控制器参数
typedef struct {
KPID_Params_t xy; // XY轴PID参数
KPID_Params_t z; // Z轴PID参数
float hover_thrust; // 悬停推力
float thr_min; // 最小推力
float thr_max; // 最大推力
float thr_xy_margin; // 水平推力裕度
float g; // 重力加速度
} VelControlParams_t;
typedef struct
{
struct {
float x;
float y;
float z;
} pos_desire,
pos_now,
vel_forward,
vel_desire,
vel_now, // 当前速度
vel_dot, // 速度微分
thr_sp; // 推力设定值
} QuadPosition_t;
typedef struct
{
float a;
} QuadPosture_t;
// 函数声明
void QuadPosControl_Init(void);
void PositionControl(QuadPosition_t *quad_pos, float dt);
void VelocityControl(QuadPosition_t *quad_pos, float dt);
#endif // _QUAD_POS_CONTROL_H_