增加了readme
This commit is contained in:
parent
53fb7aa6dc
commit
5c4d0e7747
62
readme.md
Normal file
62
readme.md
Normal file
@ -0,0 +1,62 @@
|
||||
## 25/R1底盘
|
||||
|
||||
4.11修改了navi循迹函数,增加了20,100双重码盘距离判断
|
||||
|
||||
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的代码使之更加规范
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
目前存在的问题:
|
||||
|
||||
1,配合相机纠正yaw
|
||||
|
||||
2,加前馈pid来改进后轮压力不平衡导致电流过大6020发烫的问题
|
||||
|
||||
3,改进遥控器控制时6020会小幅度动的问题
|
||||
|
||||
4,锁死时5065能动,改进一下让5065锁死
|
||||
|
||||
5,加快导航速度
|
||||
|
||||
6,加一个防翻虚拟云台
|
||||
|
||||
|
||||
|
||||
经证实,后轮压力不平衡导致后轮6020锁死时转不到目标角度导致电流过大引起6020发烫,因为双环pid的out在动的瞬间已经达到最大值25000,但6020转不动,电控已经无能为力了。
|
||||
|
||||
目标效果:
|
||||
|
||||
1,最理想的情况,视觉相机测量距离以及偏角,距离发送给上层进行速度拟合,偏角发给底盘进行码盘纠正yaw,使得发射朝向篮筐,这样底盘只需要nuc和码盘,不需要sick,并且可以不拘泥于跑点
|
||||
|
||||
2,更理想的情况,相机不发送偏角而发送像素点,像素点作为vw进行对准,这样码盘和sick都不需要
|
||||
|
||||
3,跑点,码盘跑到目标点后sick微调位置并且纠正码盘数据(码盘的yaw还是准的,x,y随时间会有误差)(码盘的pos_x,pos_y加个offest,初始为0,矫正之后给个offest随时校准位置)(最好有一个按键能随时切换码盘校准和sick校准,目标位置为当前位置,角度为0这样)
|
||||
|
Loading…
Reference in New Issue
Block a user