两个闭环保证直立:角速度环和角度环,这两个环互相反馈;
一个闭环保证不会乱跑:平动速度环;

这三个环都搞定了,剩下的就可以接个遥控器随便玩了。

怎么控制前进:平动速度环闭环设置一个偏差,该偏差“零点”控制前进速度;

怎么控制加速跑:角度环给个偏差,以 G 分量做加速。

高级控制可以加上 平动加速度环。
角速度闭环来自于陀螺仪,角度闭环来自于加速度计,平动闭环来自于编码器。

 

平衡小车总是轻微摇晃的原因?

不住的摇晃是可以避免的,这要在机械结构和电机上下功夫。
先假设电机是理想的无限细分类型,考虑传动部分:假设电机和轮子通过齿轮传动的,那么一个不可避免的问题就是齿轮存在死区,这个死区控制模型通常不考虑,那么计算并实施控制时,这个死区就会干扰控制的施行,类似插入一个分段函数,使得控制模型一段产生类似“交越失真”的效果,从外在来看,就是抖动;
再假设传送机构是理想的,考虑电机:假设电机是无刷的,无刷电机是有极对数的,在平衡车应用中,电机工作在超低速模式,这种模式下转矩输出不是恒定的(由于极对之间的换向,导致磁路发生变化所致),这种影响通常简单模型也不会考虑,所以也会产生额外的控制误差。

一般地,平衡车抖动最主要是这两个因素引起的,其他因素还有:控制系统不能很好的实施无差控制,存在一定的残差,在接近恒定点附近,控制实施较弱,有静态误差;还有一个影响在于,控制系统不能自主修正温漂等带来的“实时”误差,使得系统类似产生自激,并又收敛,反复的过程;另一方面,如果融合算法不够好,传感器自身特性会因为电机振动产生噪声,这些噪声在平衡点附近相当于系统信噪比大幅度下降,导致控制不够理想。

说白了,成本和精力在那里,首先我们都要活下去,活下去就要出东西,不是不能做精品,但肚子不答应,如是而已。