sentry_chassis_hzz/TODO.md

4.4 KiB
Raw Blame History

Work To be done & optimized

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

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

BSP

待完成

bsp_buzzer

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

待优化

bsp_buzzer

需要和daemon模块配合。

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

bsp_led

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

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

待添加

bsp_spi

  • 增加spi的板级支持包供IMU使用和其他外接模块使用

bsp_iic

  • 增加iic的板级支持包供磁力计和OLED屏等使用
  • 增加软件iic的支持包

bsp_gpio

  • 增加GPIO引脚的控制有待商榷是否需要单独添加HAL实际上已经提供较好的封装

bsp_usb

  • 增加usb的支持用于虚拟串口或和PC进行高速通信

bsp_blueteetch

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

bsp_wifi

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

Module

待完成

==servo_motor==

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

  • 编写舵机模块

==daemon==

应用和模块监视功能用于提供掉线和异常检测与应对机制和底层的buzzer、led、oled等配合提供快速的问题定位。

  • 编写daemon

LKMotor

LK系列电机目前仅用于平衡步兵驱动轮。后续可能使用其他瓴控电机。

  • 重构LKMotor模块

HTMotor

海泰04电机。目前仅用于平衡步兵关节电机。

  • 重构海泰电机模块

imu

  • 增加角速度的反馈,并且能够获取加速度值(目前看来修改反馈数据类型定义即可)

refereeUI

  • 提供UI绘制封装
  • 绘制电容剩余容量/当前底盘状态/当前云台状态/底盘位置/射表
  • 绘制视觉识别UI/识别状态/击打状态

==master_machine==

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

LQR

  • 通用的LQR控制器

待优化

imu

需要重写部分数据结构并在bsp_spi完成之后移植到新的bsp上。

  • 重构imu模块

motor_task

  • 给不同的伺服机构添加不同的执行频率

remote_control

  • 将键盘数据解析替换为位域操作

referee

  • 优化三个裁判系统模块的组织关系

message_center

  • 增加队列剩余信息和数据时间戳的支持

can_comm

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

controller

  • 增加前馈数据

user_lib

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

dji_motor

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

待添加

step_motor

  • 增加步进电机模块

referee_communication

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

controller

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

master_process

  • 兼容其他通信方式如canspiusb等

APP

待完成

==robot_cmd==

  • 键盘控制
  • 鼠标控制
  • 双板兼容

==chassis==

  • 根据裁判系统的功率数据和超级电容,进行输出限幅
  • 双板兼容

==shoot==

  • 优化单发模式的位置闭环(是否要改成速度闭环,然后定时?)

  • 增加卡弹检测和反转

  • 弹仓盖控制需待servo_motor完成

  • 双发射机构兼容

  • 42mm发射机构兼容

待优化

robot_cmd

  • 解耦各个应用的运行模式
  • 优化消息发布和接收性能

gimbal

  • 增加不同模式之间的过渡(是否有必要?)
  • 增加底盘速度前馈控制

chassis

  • 根据电机的实际速度计算底盘的真实运动

  • 若为双板根据IMU的数据对电机实际速度进行融合

  • 增加不同模式之间的过渡(是否有必要?)

shoot