马 凯,林义忠,覃尚活,王诗惠
(1.广西大学 机械工程学院,南宁530004;2.桂林电子科技大学 北海校区,北海536005)
近年来,随着机器人技术的快速发展,机器人的应用已经越来越广泛。 自动导引车AGV 作为一种轮式移动机器人,具有可靠性高、适应能力强、自动化程度高等优点,在现代制造系统和仓储物流系统中被广泛用于货物的运送与传输,是现代仓储系统及柔性制造系统的关键设备之一[1-3]。 导引与轨迹跟踪是实现AGV 自主移动的关键技术,铺设预定轨迹的方法具有使用方便、成本低的特点,目前被广泛应用于工程实际。由于AGV 车轮与地面之间属于非完整约束, 难以建立较为精确地运动学模型,很多经典成熟的控制算法(如PID 控制算法)较难实现[4]。 而模糊控制是一种基于实践经验通过语言描述的方式来进行分类的算法,无需建立精确的数学模型,容错能力强,应用于非线性系统、高耦合系统等控制系统时有着很好的效果。根据叉车式AGV 的结构特点设计了相应的模糊控制器,较好地解决了叉车式AGV 在不同路径下的磁导航问题。
叉车式AGV 的底盘结构主要有五轮式和三轮式。 三轮式叉车AGV 既不能自转也不能平移,灵活性和稳定性都较差[5]。 五轮式叉车AGV 相较于三轮式,在舵轮左右两侧各增加一个万向轮,既提升了支撑平衡的性能,也能辅助转向,综合性能优于三轮式。 在此所研究开发的五轮叉车式AGV 的相关尺寸如图1 所示。
图1 AGV 的底盘结构及尺寸Fig.1 Structure and size of AGV chassis
考虑到叉车式AGV 运行时的安全性, 通常需保证货叉在人的前方, 而AGV 的驱动轮位于整车的后部, 造成了其运动方式与别的车辆有些不同。以驱动轮和自由轮为代表, 对其运动特性进行分析,如图2 所示。 首先假定AGV 与地面间无滑动摩擦,且地面为水平面[6]。 当AGV 发生转动时,例如,需要AGV 往上方偏移一定位移的航线上行驶时。此时,驱动轮率先顺时针转动,再驱动AGV 往前行驶,将自由轮驱动到预定的航线上去,然后驱动轮再反向转动,将自身调整到航线上去。 该过程通过驱动轮的摆动效果将AGV 的运动轨迹调整到理想的航线上。 调整过程中沿理想航线上行驶的距离称为调整距离d, 调整距离与AGV 自由轮的转速、驱动轮转动速度以及2 条航线的偏距e 有关。
图2 叉车式AGV 底盘运动Fig.2 Forklift AGV chassis movement
AGV 的导航方式有多种,目前国内常见的有4种[7]:①激光导引 利用激光测距以及角度来确定自身定位,并实现按照期望的轨迹运动;②视觉导引 通过不断地获取周围的场景信息来定位,在运动过程中边定位边建立场景地图,最终建立整个环境的模型,从而实现自主导航;③惯性导航 根据已知位置信息,通过对运动过程中速度和方位的积分来获取自身定位,从而可达到导航的目的;④磁导航 通过在预设路径上铺设磁条的方法, 装在AGV 上的磁传感器获取磁条信息, 并通过实时纠偏,从而保证AGV 按照预设的轨道行进。 以上方式中,磁导航以使用方便、成本低等优点广泛应用于工程实际,故在此基于磁导航展开研究。
控制系统主要由三大部分构成, 即感知部分、决策部分和执行部分[8],如图3 所示。
图3 控制系统组成Fig.3 Control system composition
1)感知部分 作为信息的采集与输入,将底座与磁条的偏差信息传入承担决策作用的STM32 开发板。 主要有红外传感器、超声波传感器,经传感器信息融合后,可识别叉车周围的环境。
2)决策部分 是以STM32F103ZET6 嵌入式芯片为控制系统的核心芯片。该芯片是基于Cortex-M3的内核, 可以有效地处理感知部分传来的信息,并将分析计算后的结果传送到执行部分,如图4 所示。
图4 ARM 主控板Fig.4 ARM main control board
3)执行部分 主要由转向轮电机与直行轮电机以及货叉结构的液压马达组成,以实现叉车的移动和货物的运送。
该AGV 有2 种导航控制方式,基于预设磁条的自主导引控制和手动操作控制。 软件控制系统的架构如图5 所示。 其中,手动控制比较简单,通过电控驱动AGV 前进后退,用于AGV 的调试和人工驾驶。
图5 AGV 软件系统结构Fig.5 AGV software system architecture
自动控制模式下, 一方面需要实时获取AGV相对预设磁条的偏移量,并通过纠偏程序及时地减小偏差,另一方面基于安全考虑,当有意外发生或者磁条上有障碍物存在时,AGV 应能够自动紧急制动,并在障碍物移除后可以恢复运行状态。 此外,在实际工程中, 直线行驶是AGV 移动的主要运动状态,考虑到工程效率问题,还需要编写加减速程序。因此,在自动控制模式下主要需要编写自动纠偏程序、紧急制动程序、加减速程序、转弯程序以及货叉升降程序。
模糊控制是一种模拟人思维的过程,即通过对事物进行观察、分析,最终做出判断与决策。 L. A.Zadeh 提出不相容原理,随着系统的复杂度增大,系统的清晰程度就会逐渐降低, 当达到一定的阈值时,清晰性和复杂性将互相排斥,于是就产生了模糊控制[9]。 模糊控制是一种非线性控制,核心是利用模糊集合的理论知识,将控制算法转变为计算机语言所能描述的语言[10]。 由于模糊控制具有较强的鲁棒性,不需要建立精确的数学模型,尤其是在处理非线性、强耦合时变等控制系统时有较好的效果。
模糊控制器的工作原理是将输入的清晰信号经过模糊化接口变成模糊量,然后经过模糊推理算法计算, 经过模糊推理机处理后得到模糊集合,最后由去模糊化将模糊集合变成清晰量。 最基本的模糊控制系统结构如图6 所示。
图6 模糊控制器的结构Fig.6 Structure of fuzzy controller
纠偏程序是自动控制模式中的核心,纠偏程序越合理,AGV 的轨迹追踪性能就越好。当AGV 运行在直线及转弯角度不是很大的弧线上时,将调用纠偏程序。
该AGV 所采用的磁导航传感器具有16 个磁信号监测点,安装于AGV 前端,距离地面2 cm 处,选择的磁条宽度为3 cm。 在磁条竖直方向上,磁传感器可以同时接通4 个磁信号, 为确定AGV 相对磁条的位置, 将磁传感器各个监测点进行编号,H0—H15 分别为16 个监测点, 以低电势0 表示未检测到磁信号,以高电势1 表示检测到磁信号。 当检测到磁信号时,指示灯亮起,所有的电势信息依次存储在寄存器中,共占据16 字节。 纠偏程序中需要针对偏移情况采取继续直行、左偏、右偏的纠偏动作。 当正中间的4 个监测点对应的指示灯亮起时,此时对应电位为1,表示AGV 处于直行状态,见表1。
表1 磁传感器对应控制器I/O 端口Tab.1 Magnetic sensor corresponds to controller I/O port
考虑到地面不完全平整,应当允许一定的误差范围,当正中间4 个监测点左右两侧的另一个指示灯亮起时,也视为直行状态。 根据上述分析,可将传感器电位情况模糊化为3 种偏差状态,见表2。
表2 三种偏差状态Tab.2 Three deviation states
为使AGV 的运行轨迹与预设轨迹更加接近,在编写程序时,根据不同的偏移程度使转向电机的输出力矩有所不同, 且纠偏程序中的转向应与表2相反。
选取实验室改造的AGV 作为轨迹跟踪的试验对象,如图7 所示。
图7 叉车式AGV 试验装置Fig.7 Forklift AGV experimental device
图中,磁传感器位于AGV 驱动轮中轴线上,与地面间的距离为2 cm。 此外,设置了直行、转弯、叉货、卸货等位置的引导路径,所设路径可以满足一般货场的使用要求。 根据实际工程需要,预铺设磁导引线, 货叉轨迹路径规划如图8 所示。 空载的AGV 从停靠点A 出发,沿磁条移动到位置C,然后AGV 由位置C 运动到位置D 处, 然后直行至E 出仓库,将货叉叉入货物底部取料,托起货物后回退到位置F,然后沿磁条运行至位置F′,然后沿原路线返回至位置A。
图8 货叉轨迹路径规划Fig.8 Fork track path planning
AGV 的轨迹跟踪是指让AGV 沿着预铺设好的磁条移动。 其主要通过实时地调节速度矢量,使AGV保持在磁条上方移动。 根据磁传感器感应到的磁信号,可得到位移的偏移量——左偏1~4 位,右偏1~4位,根据偏移量的不同使转向电机输出不同的转向力矩和驱动力矩。AGV 性能测试借鉴姚建余对移载式实验型AGV 的研究方法[8],在磁引导线上面贴上20 cm×3 cm 的白色标志条(如图9 所示),另外将水性画笔固定在磁传感器的中心位置处,并使画笔笔芯刚好与标志条相接触,记录AGV 的实际运动轨迹。
图9 AGV 模糊控制自动导引系统测试Fig.9 AGV fuzzy automatic boot system test
在进行一次叉货,送货和卸货后,对各标志条上的笔记进行测量,分别记录各标志条笔迹的横向偏移距离,经MatLab 分析后得到的结果如图10所示。
图10 AGV 监测点横向误差Fig.10 Transverse error of AGV monitoring points
由图可见,AGV 在刚启动时偏差范围很小,最大偏差为2 cm;在走直线路段时,偏差依旧很小;当走转弯路段时,AGV 的偏差便增大,且增大到一定范围后开始减小,继而又增大。 因此,叉车式AGV 在走转弯路段时的行走路线是曲折的。 由试验结果可见,AGV的偏差范围为±6 cm,可以满足设计的偏差要求范围。
针对叉车式AGV 的运动和磁导引特点, 设计了一款模糊控制器。 对磁传感器检测获取的数字量偏差信号进行分析处理,按照模糊控制规则将结果输出给驱动电机;分析了实际工程中的各种路况工作轨迹,通过编写程序实现AGV 的自主导航,提高AGV 的纠偏能力。 试验结果表明,基于模糊控制的叉车式AGV 具有较好的轨迹跟踪性能。