控制方案主要分为四个部分:车头转换,速度选择、灭灯转向和偏航选择,另外还需要考虑避障方案,减速方案。
图9.40 车头转换判定
(1)车头转换
车头转换的意思就是当车模灭完一个灯之后,根据此时的情况,来选择车头和车尾。为什么不用360°全方位方向呢?其原因有两个,第一是车模硬件结构不允许,车模提供商提供的麦克纳姆轮的重合度过低,使得运行时各个方向阻力不一样,向前和向后的阻力是最小的,所以使用前后变换,而不是万向控制;第二是实现难度太大,并且效果并不显著,车模姿态太难控制,信息采集精度不高。因此,使用前后变换。车头转换的流程框图如图9.40所示。
使用前后车头转换需要车模前后对称,意味着传感器数量是单个车头的两倍。前后变换主要是通过前后两个寻灯摄像头来进行的,当主机摄像头看到灯之后就以主机为前,反之,当从机摄像头看见图了就以从机为前。但进行速度配置的时候都是用主机方向来配置的,当从机为前的时候,只需要将速度对角线进行调换,符号反向就可以了,具体代码如下:
其中flag.M_NOpicture=1为主机无图,flag.S_NOpicture=0为从机有图。车头转换使用的场景如图9.41所示。
图9.41 车头转换场景
值得注意的是,当高速运动的情况下,主从车头转换时,车模起步可能会左右偏移。因此当速度较低时使用低力矩,对应于将电流大小限幅,可以在电流环代码中看见这一操作。如图9.42所示是车头速度交换示意图,实际上就是对角线的车轮速度大小交换,符号相反。
(2)速度、灭灯转向和偏航选择
速度选择就是选择此时的直线速度,当偏差较大的时候,如果直线速度过大,就会导致车模跑弧线。除了根据偏差的大小来选择此时的直线速度,当转向速度过大时,也需要使用较低的速度。这样,可以使转向更圆滑迅捷,效果十分明显,流程如图9.43所示。
图9.42 速度交换示意图
图9.43 速度选择
如图9.44所示是一个典型的转向场景,当灭完一个灯后下一个灯亮起,此使车模车头夹角较大,如果直接高速转向,会导致转向半径太大,使得车一直横向漂移,转向能力不行。因此当夹角较大时用低速,车身摆正后再加速。
图9.44 速度选择场景实例
以下是程序代码,此代码中将偏差大小分为4个等级,在具体应用当中,选择的划分偏差大小等级可以视情况而定。
(www.xing528.com)
偏航的选择可以通过此时灯在车的左边还是右边来确定,这样具有实时性,是最优的偏航。而对于灭灯转向,是通过上一次偏航来确定,如果上一次是左偏航,灭完灯后没有看见下一个灯就向左转,反之就右转。偏航与灭灯转向程序框图如图9.45所示。场景实例如图9.46所示。
图9.45 偏航及偏航后转向
图9.46 偏航选择实例
(3)避障方案
避障可以使用灰度摄像头来进行判断,通过图像处理得到此时应该向左避障还是向右避障。由于单片机运算能力不够,因此再单独使用一块单片机来进行避障的图像处理。具体处理方法将会在图像处理部分讲解。当得到避障结果后,就是避障速度的选取,避障速度是通过当前的直线速度来确定的。避障的速度就是水平方向上的速度,与转向速度的区别就是符号的不同。如图9.47所示是实际场景演示。
图9.47 避障实例场景
将直线速度模糊化,即通过此时的直线速度通过经验选择直线速度常数N,然后再使用避障距离RS和调节系数a来确定避障速度,调节速度是根据场地环境来确定,具体计算公式如下:
式中,V为避障的速度。
(4)减速方案
减速方案对于信标车模来说是最重要的方案之一,良好的减速意味着速度上限更高,维持高速时间更长,这对于以直线运动为主的信标车模来说,十分重要。
图9.48 减速判断逻辑框图
这里提出一个比较好的减速方案,通过V2=2ax这个简单的物理公式演变而来,其中V为此时的直线速度,a为车模能提供的加速度,x为减速距离。速度v和加速度a是根据经验测量的,它与车模轮胎的摩擦力、地面的摩擦力有关,这意味着需要不断去改变它以适应不同的场地。因此,每一次比赛前适应场地至关重要。得到v,a后,再通过公式
得到理论的减速距离x,此时再与灯的距离进行比较,如果实际距离X小于理论减速距离就进行减速,减速时通过电流环电流输出限幅固定力矩,如果限幅力矩取得合适的话,那么就可以避免轮胎打滑,以获得最大的减速加速度,加强减速效果。
实际距离X的测量方法是通过透射原理,由摄像头来进行标定。当车距离信标灯比较远的时候,那么图像中的亮点将会靠图像的上方,反之就在图像的下方,这样就可以通过计算亮点在图像中的y坐标来表示距离,由于坐标y和距离X是非线性的,可以通过离散化的方法来标定X。例如,当距离为120~130 cm时,坐标y为111;当距离为110~120 cm时,坐标y为112。减速程序框图如图9.48所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。