25_R1_chassis/readme.md

69 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 25/R1底盘
4.11修改了navi循迹函数增加了20100双重码盘距离判断
4.12码盘低速正常高速串口丢失原因:码盘主板和编码器的接线外皮裸露互相短路
4.13测试了与nuc的通信能发送能接收
4.15更改了舵轮运动学逆解算,现在能一边小陀螺一边走直线
4.16加上了sick接收
4.17更改了导航代码,能在目标点附近调整角度
4.24优化了代码把所有的extern换成了消息队列使代码更加规范更改了代码栏使得页面更加清晰
发现了一个很有意思的现象我的calc_task和chassis_task里都从消息队列接收cmd的数据但是两个如果同时接的话chassis会把calc里的接收给卡死掉。恶补了一下消息队列发现发送的一个消息只能被一个接收者接收
**单次消费**:默认情况下,当一个任务从消息队列获取(`osMessageQueueGet`)一条消息后,这条消息会从队列中移除,其他任务无法再获取同一条消息。
**先进先出(FIFO)**:消息按照发送顺序排队,最先发送的消息会被最先接收。
这也解释了为什么can_task中会发这么多条同样的can的消息队列而不合并成一个can消息队列发送出去
4.28增加了sick的微分代码但还出现sick数据跳变时微分数据更新不及时以及噪声问题
4.30改进了sick的微分代码通过降低采样频率得以实现
5.1测试sick纠正底盘成功
5.5遥控器一键切换成功更改了remote_control和cmd的代码使之更加规范
5.28历时5天把相机纠正yaw给搞出来了
6.14雷达sick校准代码改完了发现了同一个数据不能创建两个消息队列发送给两个任务
6.16发现每次遥控器回正时6020会小幅度抖动是因为底盘保持模式的keepangle我一直给的是反馈值改成jiesuan1后就好了
6.18发现![image-20250619005127648](C:/Users/Yodel/AppData/Roaming/Typora/typora-user-images/image-20250619005127648.png)
这个问题在接收频率为500hz时的处理方法对雷达的数据进行滤波效果非常显著
目前存在的问题:
1,sick辅助雷达校准点位,sick校准的好就很快
2三号舵轮6020总是发热
3,雷达纠正角度那块视觉的pid得改
4雷达跑点xy需要加个pid
56020双环pid发送out给can的那块有问题会导致手动转1号轮2号轮会跟着转手动转2号轮3号轮会跟着转以此类推手动转6020会导致两个电机的反馈变化目前还没有解决
6舵轮前后校准和左右校准不一样会导致前后校准后前后走的还可以但是左右会歪就像是转不够90度
目标效果:
1雷达精准定位篮筐sick辅助雷达校准
2相机动态调试时由于帧率太低导致车体震荡但是静态调试时又比较呆而且相机可能会在今年赛题比较受限
3码盘sick我觉得码盘负责调整yaw为0sick至少两个呈直角把模拟量与实际距离相拟合来得到自身距离进而实现全场定位有戏但奈何没多少时间来验证这一想法。
第二种是码盘和sick配合跑点也是比较受限