mirror of
https://gitee.com/dlmu-cone/bf_original_balance_chassis
synced 2026-07-24 03:27:45 +08:00
重新组织了文件的防止
This commit is contained in:
@@ -57,7 +57,7 @@ attitude_t *INS_Init(void)
|
||||
|
||||
IMU_QuaternionEKF_Init(10, 0.001, 10000000, 1, 0);
|
||||
// imu heat init
|
||||
PID_Init_config_s config = {.MaxOut = 2000,
|
||||
PID_Init_Config_s config = {.MaxOut = 2000,
|
||||
.IntegralLimit = 300,
|
||||
.DeadBand = 0,
|
||||
.Kp = 1000,
|
||||
@@ -68,7 +68,7 @@ attitude_t *INS_Init(void)
|
||||
|
||||
// noise of accel is relatively big and of high freq,thus lpf is used
|
||||
INS.AccelLPF = 0.0085;
|
||||
return (attitude_t*)&INS.Roll;
|
||||
return (attitude_t*)&INS.Gyro; // @todo: 这里偷懒了,不要这样做! 修改INT_t结构体可能会导致异常,待修复.
|
||||
}
|
||||
|
||||
/* 注意以1kHz的频率运行此任务 */
|
||||
@@ -96,8 +96,8 @@ void INS_Task(void)
|
||||
IMU_Param_Correction(&IMU_Param, INS.Gyro, INS.Accel);
|
||||
|
||||
// 计算重力加速度矢量和b系的XY两轴的夹角,可用作功能扩展,本demo暂时没用
|
||||
INS.atanxz = -atan2f(INS.Accel[X], INS.Accel[Z]) * 180 / PI;
|
||||
INS.atanyz = atan2f(INS.Accel[Y], INS.Accel[Z]) * 180 / PI;
|
||||
// INS.atanxz = -atan2f(INS.Accel[X], INS.Accel[Z]) * 180 / PI;
|
||||
// INS.atanyz = atan2f(INS.Accel[Y], INS.Accel[Z]) * 180 / PI;
|
||||
|
||||
// 核心函数,EKF更新四元数
|
||||
IMU_QuaternionEKF_Update(INS.Gyro[X], INS.Gyro[Y], INS.Gyro[Z], INS.Accel[X], INS.Accel[Y], INS.Accel[Z], dt);
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
******************************************************************************
|
||||
* @attention INS任务的初始化不要放入实时系统!应该由application拥有实例,随后在
|
||||
* 应用层调用初始化函数.
|
||||
*
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
#ifndef __INS_TASK_H
|
||||
@@ -27,32 +27,36 @@
|
||||
|
||||
typedef struct
|
||||
{
|
||||
float Gyro[3]; // 角速度
|
||||
float Accel[3]; // 加速度
|
||||
// 还需要增加角速度数据
|
||||
float Roll;
|
||||
float Pitch;
|
||||
float Yaw;
|
||||
float YawTotalAngle;
|
||||
} attitude_t; //最终解算得到的角度,以及yaw转动的总角度(方便多圈控制)
|
||||
} attitude_t; // 最终解算得到的角度,以及yaw转动的总角度(方便多圈控制)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
float q[4]; // 四元数估计值
|
||||
|
||||
float Gyro[3]; // 角速度
|
||||
float Accel[3]; // 加速度
|
||||
float MotionAccel_b[3]; // 机体坐标加速度
|
||||
float MotionAccel_n[3]; // 绝对系加速度
|
||||
|
||||
float AccelLPF; // 加速度低通滤波系数
|
||||
|
||||
// 加速度在绝对系的向量表示
|
||||
// bodyframe在绝对系的向量表示
|
||||
float xn[3];
|
||||
float yn[3];
|
||||
float zn[3];
|
||||
|
||||
float atanxz;
|
||||
float atanyz;
|
||||
// 加速度在机体系和XY两轴的夹角
|
||||
// float atanxz;
|
||||
// float atanyz;
|
||||
|
||||
// IMU量测值
|
||||
float Gyro[3]; // 角速度
|
||||
float Accel[3]; // 加速度
|
||||
// 位姿
|
||||
float Roll;
|
||||
float Pitch;
|
||||
|
||||
Reference in New Issue
Block a user