# Mahony Kalman陀螺仪 **Repository Path**: ibst/mahony-gyroscope ## Basic Information - **Project Name**: Mahony Kalman陀螺仪 - **Description**: BMI088 Mahony传感器融合算法 静态误差小于0.0011度/s - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-10-18 - **Last Updated**: 2025-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: IMU, 陀螺仪, 传感器融合, BMI088, mcu ## README # Mahony 陀螺仪姿态解算项目 ![输入图片说明](Kalman%20VS%20Mahony.png) ![输入图片说明](Mahony%20VS%20no%20filiter.png) ## 项目简介 本项目基于 STM32 平台,使用 Mahony 滤波算法实现陀螺仪姿态解算,适用于嵌入式系统中的姿态估计应用。 ## 功能特性 - 支持 IMU 数据采集与校准 - 实现 Mahony 互补滤波算法 - 提供四元数到欧拉角的转换 - 支持 CAN 总线通信接口 - 包含电机控制与底盘运动控制模块 ## 文件结构 ``` /App /Inc # 应用头文件 /Src # 应用源文件 /Bsp # 板级支持包驱动 /Core # 核心 STM32 配置 /Drivers # CMSIS DSP 库与硬件驱动 ``` ## 主要模块 ### Mahony 滤波器 (mahony.c) - 实现姿态解算核心算法 - 支持陀螺仪数据融合 - 提供误差校正与自适应调整功能 ### IMU 数据处理 (imu.c) - IMU 初始化与数据校准 - 加速度计与陀螺仪数据融合 - 使用低通滤波与贝塞尔滤波提升数据稳定性 ### 电机控制 (M3508.c) - 支持多种电机类型控制 - 提供速度、位置、扭矩多模式控制 - 包含 PID 控制器实现 ### 底盘控制 (omni_wheel.c) - 实现全向轮运动控制 - 支持遥控器输入解析 - 提供底盘运动管理功能 ## 开发环境 - STM32F4 系列 MCU - Keil MDK 或 STM32CubeIDE - CMSIS DSP 数学库 ## 使用说明 1. 初始化系统时钟与外设 2. 配置 CAN 总线通信 3. 调用 `Mahony_exe()` 执行姿态解算 4. 使用 `IMU_exe()` 获取传感器数据 5. 通过 `omni_wheel_execute()` 控制底盘运动 ## 依赖库 - STM32 HAL 库 - CMSIS DSP 库 ## 注意事项 - 使用前需进行传感器校准 - Mahony 算法参数需根据实际硬件调整 - 电机控制需注意电流限制与过热保护 ## 版权信息 本项目使用 MIT 许可证,请参见 LICENSE 文件。