sentry_gimbal_hzz/TODO.md

4.1 KiB
Raw Blame History

Work To be done & optimized

  • 待完成:不完成可能导致整车功能不完整
  • 待优化:对已有的功能进行性能提高/模块解耦/可维护性增强
  • 待添加:不紧急的/锦上添花的功能

==标为黄色高亮的代表紧急程度高。==

assorted

  • 由于我们读写和传递的数据结构都不大,基本不会发生读写时任务切换的情况。典型的数据读写时间都是~μs故没有对数据访问的接口添加互斥锁或关闭全局中断。后续有需求如大量数据复制可以添加。可以新增一个bsp_mutex或者module层的ds提供相应支持。实际上freertos提供了一些供线程任务间进行数据交互的类型和函数请查阅对应文档。

BSP

待完成

待优化

bsp_pwm

  • 是否允许修改预分频计数器?

待添加

bsp_iic

  • 添加10位地址的支持

bsp_blueteetch

  • 增加蓝牙功能,方便调试和测试

bsp_wifi

  • 增加无线网络功能,方便调试和测试

Module

待完成

  • 为键鼠/遥控器/ps手柄/视觉上位机等各种控制器提供一套统一的接口,把发来数据转化为标准的控制数据,包括底盘速度云台角度等等

  • 给每个模块增加调试的条件编译并增加bsp log的输出。或直接在运行时添加log等级输出不同的信息。

buzzer

  • 使用bsp_pwm添加buzzer模块

  • 添加初始化完成时的音乐播放

==servo_motor==

舵机模块需要预先定义90/180/360连续旋转的电机类型并且能够设定max和min位置。

  • 编写舵机模块(待测试和优化)

imu

  • 完善bmi088模块和算法的交互添加异步量测更新的SO3上的IEKF

==master_machine==

  • 增加IMU数据的时间戳
  • 增加加速度计数据
  • 重构seasky protocol的接口
  • 增加数据未更新的处理

待优化

buzzer

是否需要在module层就和daemon模块配合?

  • 增加错误或异常提示音
  • 增加功能提示音

led

是否需要和daemon模块配合这同时会影响到module层的led_task放在这一并解决。

  • 增加错误或异常流水灯
  • 增加功能点灯

BMI088

  • 完善和SO3 IEKF的交互增加异步任务的唤醒和数据传递IMU中断唤起任务

remote_control

  • 增加长按/短按检测

message_center

  • 增加队列剩余信息和数据时间戳的支持
  • 增加数据为空的处理
  • 提供直接传递指针的接口?

can_comm

  • 增加can_comm数据未更新的处理

controller

  • 将PID的初始化改写为PIDRegister的形式,在controller统一分配内存.

user_lib

  • 将所有通用的计算函数和常用函数汇集在此

dji_motor

  • 增加3508和2006的开环零位校准函数
  • 为实例增加低通滤波系数变量,使不同电机有不同的配置

LKmotor

  • 正反转标志位设置,需要修改反馈量和pid计算

HTmotor

  • 正反转标志位设置,需要修改反馈量和pid计算

待添加

unicomm

  • 完成初版构建

step_motor

  • 增加步进电机模块

referee_communication

  • 增加裁判系统多机通信功能

controller

  • 增加扰动观测器,可能需要新增模块
  • 增加模型控制器,可能需要新增模块

ws2816

  • 通过bsp_pwm添加支持

APP

待完成

all app

  • 增加调试的条件编译,使得在没有连接其他应用时也可以假装有那些应用而正常调试运行

==shoot==

  • 增加卡弹检测和反转

待优化

robot_cmd

  • 优化消息发布和接收性能若皆为异步并在robottask中执行实际上可以只传递指针

gimbal

  • 增加底盘速度前馈控制

chassis

  • 根据电机的实际速度计算底盘的真实运动(轮式里程计)
  • 若为双板根据IMU的数据对电机实际速度进行融合