7 Commits

Author SHA1 Message Date
SkyLiCoder 29e605abe8 docs: 新增 README.md,完善底盘模块文档 2026-06-07 21:01:27 +08:00
SkyLiCoder 7260fe9fba fix: 修复IMU采样频率不匹配导致yaw角积分偏小4倍的问题
根因:imu_init(200) 声明200Hz,但imu_update实际在50Hz任务中调用,
Mahony积分dt差4倍,导致转90度只测出22度。
修复:imu_update移至10ms任务(100Hz),传感器采集与控制频率对齐。

同时将任务周期全部参数化:
- Task.h 统一定义 TASK_10MS/20MS/50MS_FREQ_HZ
- 各子系统init改为传入频率(Hz),内部算周期(dt)
- PIT定时器周期由存储的dt自动计算,消除硬编码
2026-06-07 20:10:05 +08:00
SkyLiCoder 49b0dc637c 添加灰度传感器索引宏和右转90度位置环子任务
- GrayscaleSensor: 添加 GS_L4~GS_R4 枚举索引、GS_IS_ON_BLACK 阈值宏
- 提取 yaw_correct() 工具函数,消除角度修正重复代码
- 位置环新增 T型路口检测和自动右转90度子任务
2026-06-07 17:09:03 +08:00
SkyLiCoder 022e3424da 实现完整串口指令协议:模式切换、手动控制、PID在线调参
- 新增 PIDClear() 仅清运行时状态,保留 Kp/Ki/Kd 等配置
- 命令帧 0xA7 (3B): 自动/手动/调试三模式切换,带模式状态追踪
- 手动控制帧 0xA6 (8B): 解析 motor_speed_base(int16) + angle_velocity(float)
- 调试调参帧 0xA8 (38B): 在线更新全部9个 Kp/Ki/Kd 参数
- Command 解析纳入 Task_50ms (20Hz) 定时执行
- 添加通信协议文档 docs/通信协议.md
2026-06-07 16:23:10 +08:00
SkyLiCoder d120fa0d17 调通串口与上位机双向通信
- UART2 TX: 硬件FIFO+DMA+块传输模式,非阻塞发送
- UART2 RX: 硬件FIFO+中断+软件FIFO,状态机解析协议帧
- 协议: [SOF:0xA7][cmd:1][checksum:1],支持自动/手动/调试模式切换
- 更新.gitignore忽略*.log文件
2026-06-07 11:48:00 +08:00
SkyLi f28d129e11 init:全链路闭环控制调通 2026-06-06 21:26:08 +08:00
SkyLi b5be64b642 init:初始框架 2026-06-06 20:50:54 +08:00