因为两个电机驱动的差异性,导致两个轮子转速不同,就使得小车本该直线行驶的轨迹发生偏移,也就是俗称的“走不直”。
首先,明确一点:两个电机驱动特性完全相同几乎是不可能的,尤其是在做智能小车这个层次的投入上。除了电机的特性差异外,减速机构的差异,以及运转过程中的扰动,如轮子瞬间打滑、有微小的障碍物等因素,都会导致左右轮不同速,从而“走偏”。
而且,这是开环控制无法消除的!因为上述扰动不论是程度、还是出现与否,都是随机的。所以,要想走直,只有引入闭环控制,即找到参照物,根据与参照物的偏差进行修正,从而保证小车走直线。
尤其是差分驱动的小车,舵机转向方式的小车(类似于汽车)略为好些,但也存在,只是原因不同,舵机控制不是绝对连续的,存在死区,也就是说,靠控制很难保证正中,微小的偏差角,通过长距离的行走必然会显现。此问题随舵机的精度而减小,但很难消除。
和开车类似,如果闭上眼,即便把方向盘调正,也很难保持长距离走直线。必须通过眼睛得到偏差,通过手转动方向盘修正,才可以走直线。
至此,得到一个结论:要想小车走直线,必须引入闭环控制。
至于用何种方式得到偏差,不是本文所讨论的内容,此处只略微探讨一下。
获取偏差有相对的和绝对的两种,所谓相对,即参照系和小车相关,或者说在小车上。所谓绝对的是指参照系在小车外,不受小车运动影响。相对而言,绝对参照系容易做好,但需要外部配合。相对参照系属于小车,做好较难,但由于不受制于环境,有其优势。选择哪种方式取决于小车的需求。
一定有人会问:同样是差分驱动,为什么有的小车就走得很直?
下面就讨论一下小车结构对此的影响。
差分驱动小车常见的有如下几种:
分别分析一下上述四种模式,其发生偏向时小车的受力情况:
1 号车:当驱动轮运动偏差带来转向时,导向轮需要做轴向移动,如果所用轮子是万向轮,则会转向为径向运动,无阻力,很容易偏向。如是球形轮,阻力也很小,同样易于偏向。只有使用定向轮,其轴向移动阻力很大,导致偏向的力被抵消或减弱,从而使小车易于走直,但代价是转向也不灵活,尤其地面阻力很大时。
2 号车:道理和1号车类似,但有几点差别,其一:由于这样布置,导向轮作为支点通常不会同时受力,有些像跷跷板,任意时刻只有一个受力,相对于1号车导向轮的垂直压力要小,因此其运动阻力就小,抵御偏向的能力也就弱。 其二:由于导向轮距离驱动轮肯定比1号车近,阻止偏向的力矩也小于1号车,所以相对于1号车,2号车更容易偏向。
3 号车:和1号车相比,其存在2个导向轮,通常这类结构的导向轮不会用万向轮和球形支点,多数使用定向轮,2个定向轮的轴向阻力肯定大于1个,所以这个结构很容易走直线,但其转向就很困难了,让其走一个流畅的弧线几乎是不可能的。
4 号车:和三号的差别在于4个都是主动轮,导致转向的中心从后轮移至小车中心,其偏向阻力和3号车一样,只是由于中心变化,导致偏向阻力矩减小,从这点上看,应该比3号容易偏向,但由于4个都是驱动,其偏差更为离散,不一定是同侧的偏差方向一致,所以应该是很难偏向,走直线应该容易。但和3号车一样,转向不会流畅,尤其是地面摩擦力较大时。
“不幸”的是,四代圆梦小车就是最易偏向的 2 号车结构,且由于体积小,结构对称,2 个不利因素都被放大了。所以,要控制好需要一些水平,几乎和做两轮平衡车一样。但作为学习应该是件好事,它能给你足够的发挥空间。
综上所述:小车的结构也会影响其走直线的偏差,可以根据需求选择合适的结构,以降低小车的控制难度。