2025-1-16(LQR调试)
仿真基本成功实现平衡车的模型,现在有几个潜在的问题导致实物轮腿无法正常运作:
1.转动惯量的整定,这个变量由于实体车的粗制滥造,导致我无法精确地测量转动惯量,这会导致lqr模型的不收敛?
2.陀螺仪,尽管陀螺仪在大体趋势上是正确的,但它的角度值实际上不够精确并且响应速度极慢,这大概率导致车体角速度的计算并不精确。需要重新调试和研究
3.电机的选择也许也是其中一个问题,但实际上并不清楚。
总结就是,我确定lqr在实体车上的部署是没有问题的,但由于lqr部署的非严谨和其它硬件的干扰下导致最后的模型并未收敛,寒假中将逐一解决
2025-1-20
使用pid对平衡轮腿进行调试调参一上午未果,总结如下
1.自主设计的轮腿结构存在问题,重心,和转动惯量分布及其抽象。
2.陀螺仪不知道是否有问题,但是感觉没啥大病。
经过思考,决定放弃现在的车直接开发逐飞车模
2025-2-9
再使用pid对轮腿进行调试,并将陀螺仪安装到地盘上(之前装在高处),进行参数调整后大体可以实现稳定平衡但不稳定。
推测原因仍旧为结构本身的问题,而陀螺仪本身没有问题。
2025-2-10
再次检查lqr仿真的建立,发现巨大问题,这也是实车跑出来有问题的最大原因,尽管模型本身经过校对没有问题但是忽略了重要细节,问题在于
1.模型本身存在巨大误差
2.并非搭建离散化仿真环境
计划明天进行结构的搭建和惯量的精确测量(solidworks)并优化仿真
2025-2-11
终于debug到仿真失败和实际部署的真正原因:
错误的将轮子积分得到的位移等效为实际的车辆位移导致仿真失败,但仍然不知道如何在实车上计算得到车辆位移。
也算是打破先入为主的思想了(四轮全相轮车调多了导致的)
2025-2-12
返校前的最后一天了
2025-2-14
开始调试飞卡的轮腿了,画了适配英飞凌tc377的控制板pcb
2025-2-20
牛魔的,板载的给无刷电机供电的mos管烧了,牛魔的,不是标称50A吗,绝对是虚标,不然就是mos的结电阻太小了,牛魔的难道我之后调车的电机就关不上了吗,暂时是不想再画一次核心板了,纯纯浪费时间,之后板子一定会遇到更多问题,到时候一口气解决完
2025-3-13
好久没有记录了。
也是习惯这个板子的调试了,硬件遇到如下问题:
1.下载器会反向给逐飞核心板供电,这个供电会冲到ldo上导致陀螺仪发电,之后再逐飞核心板的供电处加一个二极管
2.舵机的接口太脆了得重新搞
3.舵机的供电不稳,要重新画供电板,预计画一个可插接的金手指模块以便后面的比赛使用
4.两个串口还是太少了,起码再来俩,估计也不需要其他传感器了,但还是留俩iic吧,后面能全元素完赛再说。
估计最终版的板子都得在基本完赛的时候再出了
补充记录(LQR直立测试)
2025-3-14(跳跃调试)
就不说轮腿直立的lqr了,之前已经调通了,腿部运动也是姑且加上了,但是稍微有些奇怪(现在用的lqr输出)可能改成用角度来控制会更好?之后将这个腿部运动模式写到代码里以供调试。
最重要的是已经可以飞坡跳跃了,这无疑是突破(思路就是在跳跃的时候切换控制器为纯角速度闭环以保持空中角动量守恒)
控制系统还未完善,偏航的控制还没写好,横滚的控制环也还没搞好(属于是好高骛远了,正常控制都没调好就调跳跃),之后的调试进度得放缓了,要准备考试和考研了。
2025-3-18(偏航调试)
在调试丝滑轮腿偏航运行的时候
尝试将给lqr的车体速度观测值单独拆开为各个腿计算的值,出现不收敛的问题。原因分析如下:
蓝色线:左腿速度
黄色线:右腿速度
紫色线:左腿和右腿的和速度
- 如果将左右腿的速度单独给各个腿,那么在旋转的时候由于各个腿都想要保持对应腿的平衡,各个腿会有各自的想法(比如右腿会想要加速保持平衡,左腿想要加速保持平衡),就会出现死亡陀螺现象,但实际上,轮腿在原地旋转的时候,前向速度为0,故而使用左右腿的和速度是正确的选择,能有效避免轮腿的旋转,实际上也是这样的,轮腿有一个旋转抑制甚至是自恢复的过程.
那么如何解决偏航?解决方法如下:
- 使用角速度闭环算出偏航速度偏差,然后将这个偏差输入LQR的速度输入值
_velocity_bias = pid_calc(&pid_phi_w, gyr_.z*3.14/180, bwr_velocity_w);
// >设置车体的速度
mat_x_set_l[3] = bwr_velocity - _velocity_bias;
mat_x_set_r[3] = bwr_velocity + _velocity_bias;
2025-3-20(打滑调试)
在调试时经常遇到这样的问题:打滑后导致车体永久性失控(NO! ! !)
经过检查可以看到如下波形: