邓峰
(1.武汉软件工程职业学院,湖北武汉,430205;2.武汉广播电视大学,湖北武汉,430205)
在以往的各种竞赛中,多次出现要求实现小车进行高速循迹,识别、越过障碍物的命题。通常采用的办法为,通过运算放大器采集光电反射式传感器信号,以识别小车相对于循迹线的位置,并将此信号进行放大,再通过单片机和驱动电路直接反馈给电机进行速度补偿。此办法虽成熟,但对于底盘需要转向的任务而言,无疑耽误了非常多的时间,而且该方法无法克服地面反射物不均产生的干扰。因此本文设计了一种基于PID算法的高速循迹麦克纳姆轮底盘[1],该麦轮底盘可以在底盘朝向不变的情况下轻易完成各种路线的巡线以及避障功能,且采用灰度传感器差值补偿速度的算法,能使巡线过程更加平滑。
光电反射式传感器主要由光电发射和光敏接收器件并排组成,在被测物体反射光线后,接收端的输出经过后级电路调理后可以得到放大的电压。根据使用目的的不同,调理过后的电压可以有数字电平和模拟电平之分。在本例中,我们使用了输出量为模拟电平的反射式传感器,俗称灰度传感器[2]。
图1 灰度传感器的原理
循迹底盘上灰度传感器的分布有很多种方式,其中一种如图2所示。我们以黑色代表轨迹颜色,即其反射率相较非轨迹而言较小。在巡线过程中,当灰度传感器1压线时,其反射信号会立即减小,此处通过主控板输出信号让车向左侧行驶,传感器由此脱离巡线轨迹。若灰度传感器2压线时,主控会输出信号让车向右行驶,以此确保车体始终处于巡线轨迹上。
图2 灰度传感器两端分布
另外一种传感器分布如图3所示,将灰度传感器分布在巡线轨迹内,一旦有传感器移动到寻迹轨迹外,其反射会增强导致其输出信号发生变化,主控会根据传感器状态及时对运动轨迹做出调整。使用该方法时需要注意对左右两个传感器进行光信号隔离,否则可能有一侧光线对另外一侧产生干扰。亦可以通过软件算法对两侧传感器取差值,根据其正负范围进行循迹判断。
实际使用中,也可以将这两种方式结合起来进行循迹传感器分布设计。
图3 灰度传感器居中分布
Mecanum轮是瑞典麦克纳姆公司的专利,其一般由呈放射状的金属外轮毂和与轮轴呈45°夹角安装的可自由转动的辊子装配而成,如图4所示。
图4 麦克纳姆轮结构
麦轮的驱动方式为全驱,即所有的轮子均为主动轮。当轮毂向一个方向转动时,与地面接触的辊子与地面产生摩擦,且摩擦力和轮毂行进方向相反,即摩擦力会阻止麦轮轮毂的转动。此摩擦力可以分解成沿辊子周向力(F滚)和辊子轴向力(F轴)两个分量。其中轴向力作用于辊子侧边的轮毂,由于轮毂整体和电机、底盘连接,进而转变成整个总成的沿轮毂轴向的力。而作用在辊子上的周向力只能使辊子发生被动自转,其受力分析如图5所示,其中椭圆虚线框即为和地面接触的辊子方向。因此电机输出的扭矩,一部分成为辊子的转矩,这部分对于运动没有贡献。另一部分则使整个麦轮总成发生转动,让底盘获得轮毂径向以及轴向运动速度。而此处的轴向力,正是让麦轮底盘具备多种运动形式的基础。
图5 麦轮运动时的受力分析
利用四个麦轮构成如图6所示底盘,在此种驱动方式下,四个麦轮总成所受摩擦力的前后分量方向相反进而抵消,因此底盘没有前进或者后退的运动趋势。而所有辊子所受的轴向力合力方向向右,底盘在此力的作用下会获得向右运动的加速度。
图6 平行右移时麦轮底盘受力分析
在图7中,给出了麦轮组在不同速度方向组合下转动时的车体运动状态。其中箭头方向为轮毂运动方向,也即辊子所受摩擦力的方向。其他运动状态可由类似受力分析得到,此处不再赘述。
图7 不同麦轮运动组合下底盘运动状态
由于场地表面粗糙度和底盘悬挂、麦轮损耗的差别,速度闭环麦轮底盘未必能完成固定轨迹的巡航任务。而采取根据实时状态调整麦轮速度补偿的方案,反而有利于完成循迹工作。因此设计整体思路如下:底盘正常行进时,当左右灰度传感器的差值到达一定阈值后,将其差值送入PID运算器,并将PID计算结果返回给麦轮驱动器进行转速补偿,由此可以在不影响整个底盘朝向的情况下完成寻迹过程[3],车体无需提供转向速度分量而维持高速运行。当左右传感器差值到达阈值,但是经过延时后此差值再次低于阈值,可以认为这是由于地面反射程度差别导致的误差,应将其滤除。设计该阈值的好处在于,针对不同反射情况的地形,可以设定不同阈值以消除反射差别造成的影响,或者可以通过减小该阈值以提高循迹灵敏度。其程序设计流程图如图8所示。
图8 基于PID算法的速度补偿程序流程
部分源代码:
本系统采用了基于PID算法的电机速度补偿方法,灰度传感器差值可以设定为到达或者低于某个阈值后,再将其进行PID运算得到麦轮速度补偿值。由此可以克服地面反射情况不均造成的误判断,实现了高速巡线麦克纳姆轮底盘的驱动。今后可以结合电机编码器、陀螺仪或者激光雷达,对麦轮速度进行闭环控制,以实现更复杂的运动方式。