(1)、参考资料:飞思卡尔官网1.0,2.0两个版本,有详细的原理和方案介绍;当然,我们采用的陀螺仪和加速度计以及相关芯片不一定是按照文档所述的方案进行,但是原理是相同的;重要的加点为:
A、我们小车要模型实质上单摆倒立模型,要平衡必须要有指向平衡点的回复力,平衡车同样需要,只不过这个里需要小车的电机加速来维持平衡;
B、要平衡,小车的模型与电机的转速转矩和轮子的大小有关系,要么轮子大些,要么电机转速快些,同时,姿态传感器最好放在小车的质心处;
C、具体细节而言,小车的电机运动过程分为加速过程和平衡过程,小车平衡必须在加速阶段完成;首先需要进行姿态检测,了解姿态信息,然后通过PD调接来控制电机的转速来维持平衡;
(2)、姿态检测是很重要的一环,需要加速度计(比较滞后)和陀螺仪(零点漂移)来完成,上述参考资料里面一种融合方案,当然还有卡尔曼滤波方案,互补滤波方案,三种,也许还有其他的。由于加速度计和陀螺仪各有缺点,所以需要进行数据融合,我选择的是互补滤波,也许大多数都选择这个方案,能够满足平衡要求并且消耗时间较少;匠人手记一书中,有介绍一阶滤波器的深入研究,可以参考学习下;
(3)、调试阶段,首先必须坚持的陀螺仪零点偏移,以及加速度计的零点偏角;
其次,融合后的波形需要,观察防止过冲以及过于滞后;
再其次,电机运行时,要测试出每个轮子的死区;
最后,在调整参数时,要先调整P参数,当感觉轮子来回摆动时,可适当增加微分D进行微调,P大电机来回摆动厉害,D过大小车会震动。
第一步完成,站起来了!!但是不能平衡。