同步步兵代码,暂时关闭底盘跟随

This commit is contained in:
2025-11-02 21:21:11 +08:00
parent 456cc96c81
commit 3821589bed
693 changed files with 238044 additions and 2735 deletions

View File

@@ -0,0 +1,69 @@
#ifndef AHRS_H
#define AHRS_H
#include "AHRS_MiddleWare.h"
/**
* @brief 根据加速度的数据,磁力计的数据进行四元数初始化
* @author luopin
* @param[in] 需要初始化的四元数数组
* @param[in] 用于初始化的加速度计,(x,y,z)不为空 单位 m/s2
* @param[in] 用于初始化的磁力计计,(x,y,z)不为空 单位 uT
* @retval 返回空
*/
extern void AHRS_init(fp32 quat[4], const fp32 accel[3], const fp32 mag[3]);
/**
* @brief 根据陀螺仪的数据,加速度的数据,磁力计的数据进行四元数更新
* @author luopin
* @param[in] 需要更新的四元数数组
* @param[in] 更新定时时间固定定时调用例如1000Hz传入的数据为0.001f,
* @param[in] 用于更新的陀螺仪数据,数组顺序(x,y,z) 单位 rad
* @param[in] 用于初始化的加速度数据,数组顺序(x,y,z) 单位 m/s2
* @param[in] 用于初始化的磁力计数据,数组顺序(x,y,z) 单位 uT
* @retval 返回空
*/
extern bool_t AHRS_update(fp32 quat[4], const fp32 timing_time, const fp32 gyro[3], const fp32 accel[3], const fp32 mag[3]);
/**
* @brief 根据四元数大小计算对应的欧拉角偏航yaw
* @author luopin
* @param[in] 四元数数组不为NULL
* @retval 返回的偏航角yaw 单位 rad
*/
extern fp32 get_yaw(const fp32 quat[4]);
/**
* @brief 根据四元数大小计算对应的欧拉角俯仰角 pitch
* @author luopin
* @param[in] 四元数数组不为NULL
* @retval 返回的俯仰角 pitch 单位 rad
*/
extern fp32 get_pitch(const fp32 quat[4]);
/**
* @brief 根据四元数大小计算对应的欧拉角横滚角 roll
* @author luopin
* @param[in] 四元数数组不为NULL
* @retval 返回的横滚角 roll 单位 rad
*/
extern fp32 get_roll(const fp32 quat[4]);
/**
* @brief 根据四元数大小计算对应的欧拉角yawpitchroll
* @author luopin
* @param[in] 四元数数组不为NULL
* @param[in] 返回的偏航角yaw 单位 rad
* @param[in] 返回的俯仰角pitch 单位 rad
* @param[in] 返回的横滚角roll 单位 rad
*/
extern void get_angle(const fp32 quat[4], fp32 *yaw, fp32 *pitch, fp32 *roll);
/**
* @brief 返回当前的重力加速度
* @author luopin
* @param[in] 空
* @retval 返回重力加速度 单位 m/s2
*/
extern fp32 get_carrier_gravity(void);
#endif