infantry_gimbal/modules/algorithm/algorithm.md

1.0 KiB
Raw Blame History

algorithms

neozng1@hnu.edu.cn

TODO:

  1. 实现麦轮和全向轮的速度解算
  2. 实现一些通用的滤波器,如指数平均,窗平均,低通等

总览和使用

module层的algorithm提供了一些供其他模块以及app的应用层使用的算法包括

  1. PID控制器controller.h
  2. crc8 crc16循环冗余校验
  3. 卡尔曼滤波器kalman_filter.h,可以通过用户自定义函数配置为扩展卡尔曼滤波
  4. LQR.h,线性二次型调节器
  5. QuaterninoEKF.h,用于ins_task的四元数姿态解算和扩展卡尔曼滤波融合
  6. user_lib.h,一些通用的函数,包括限幅、数据类型转换、角度弧度转换、快速符号判断以及优化开方等功能。多个模块都会使用的、不好区分的函数可以放置于此

代码结构

.c 为算法的实现,.h为算法对外接口的头文件

在编写应用的时候,你基本不会使用这里的函数,或是修改其实现。

若发现bug或需要增加功能联系组长讨论。