APP下载

基于STM32小型智能搬运起重机的优化设计

2022-09-19林立雨陈泓池肖颖旗

起重运输机械 2022年16期
关键词:行走机构控制算法起重机

林立雨 陈泓池 肖颖旗 王 欣

大连理工大学 大连 116024

0 引言

起重机不仅在核电、风电、石油化工的大型吊装中被使用,也在物流仓储的中小型搬运中发挥着重要作用。在当前自动化、智能化发展的时代背景下,市场对起重机的智能化需求在逐步提升。众多学者与企业不断地致力于起重机的自动化与智能化的研究与实施,目前较容易实现及需求较大的多是小型物料搬运起重机。林健全等[1]设计了一款小车,使用红外传感器和激光模块进行循迹和定位,通过Openmv摄像头来读取信息和识别物料能够完成小型货物的识别与搬运任务。姚思嘉等[2]设计的STM32室内搬运机器人通过摄像头、光电开关、编码器和传感器实现自主定位、避障、自动搬运物品等功能。张译等[3]研究的智能搬运机器人通过红外线、超声波等传感器获取外界信息,使用履带式行走机构和高自由度机械臂可以实现避障、循迹、定距抓取等任务。妥志良等[4]基于STM32单片机的四驱智能搬运小车,运用光电管传感器配合二维码识别模块进行路径规划,通过Openmv完成物料识别,控制机械手对物料的抓取、搬运和重新摆放等功能。上述研究都是通过传感器实时进行路径循迹,适用于路径变化的作业情况,增加了小车的复杂度。对于既定路线的作业,可以通过少量的传感器与算法结合来实现,这使得小车更为简便而实用。

为此,本文从教学实践角度,研制开发了一款基于既定路线、可实现反复搬运的小型智能起重机,以STM32为控制处理器,应用Openmv视觉识别模块,识别货物标识符上的颜色与形状,进行顺序分拣,并自动抓取和提升货物。通过PID控制起重机运行速度与方向,按既定路线将货物从卸货区无障碍地搬运到存放区。

1 系统总体构成

本起重机主要用于仓储中的小型物料搬运,整体为框架结构,如图1所示。便于携带一定数量的物料一起运行。框架顶端为矩形,4个角连接有垂直支腿。为保证矩形及与支腿间的结构稳定性,在各杆件间连接的直角上均连接有角码,提高局部的刚性。

图1 智能搬运起重机

为完成对货物的搬运需求,设置了起升机构、抓取机构和行走机构。起升机构固定在框架结构上平面,采用齿轮齿条传动方式实现货物的升降。起升机构的底端连接有抓取机构,抓取机构(如图2所示)通过舵机实现对货物提袋的抓取与松开。行走机构采用麦克纳姆轮(以下简称麦轮),分别布置在框架的4个支腿末端。4个麦轮形式采用O形布置方式,如图3所示,可实现任意转向。考虑到地面存在不平整和起重机的安装误差,在支腿末端与麦轮之间增加弹簧及固定装置,通过弹簧作用使得4个麦轮始终着地,如图4所示。

图2 抓取机构

图3 麦轮O形布置方式

图4 麦轮旁的弹簧装置

2 控制系统与算法

起重机控制系统主要实现对抓取机构、起升机构和行走机构的运动控制,同时还需识别货物标识符的颜色与形状。为此,选取广泛应用的STM32单片机作为处理器,采用不同通信方式连接各机构及视觉识别模块。控制系统组成如图5所示。

图5 控制系统组成

为实现精准定位、准确的路线运行及标识符的识别,对行走机构的PID控制算法、坐标控制算法和视觉识别算法进行研究。

2.1 行走机构的PID控制算法

目前常用的小车路径识别控制算法包括比例积分差分算法(Proportion Integral Differential,PID)、线性二次型调节器算法 (linear quadratic regulator,LQR)、模型预测控制算 (Model Predictive Control,MPC)等[4]。其中,以PID算法应用最为广泛。该算法模型简单、参数少,可使小车控制具有很好的鲁棒性,且对非正常状态的反应非常灵敏。根据Matlab simulink模块[5]建立了PID仿真控制模型,如图6所示。通过调整比例、积分和微分参数,实现运行速度的快速平稳。图7为PID参数调整后的仿真波形图,此波形图对应的比例、积分和微分参数分别为70.0,0.2和0.4,运算周期Ts=0.001 s,积分项的系数ki=0.2/Ts=200。可以看出,曲线在0.13 s的短时间内趋于设定值,表明了参数设置的合理性。

图6 Simulink仿真模型

图7 PID仿真后的波形图

PID算法的部分代码为

2.2 行走机构的坐标控制算法

为准确得知起重机的运行位置,通过电动机增量编码器,确定起重机的位置坐标。考虑起重机在行走过程会因惯性不能立即止步的情况,在进行定位、转向时,需要将预定的麦轮转数进行一定的减少处理,并实时与增量编码器获取的麦轮转数进行对比。经调试,行走机构在横向运行时需减少1个转数,在纵向运行时需减少2个转数。以横向运行为例的坐标控制算法流程如图8所示。

图8 横向运行时的坐标控制算法流程

2.3 视觉识别算法

OpenMV是一款在STM32控制器上集成了摄像头,并支持Python的机器视觉模块。借助Python的图像识别算法库函数,可以进行颜色识别从而实现循迹、避障等功能,通过 I/O端口对机器系统进行控制,可以将采集到的信号通过串口送给其他控制器[6]。

本算法中,颜色的识别可以使用已封装的 find_blobs()函数,形状识别可以使用已封装的 find_circles()、find_rects()函数,来识别圆形和矩形。但其他形状的识别需要自己编写算法。例如对三角形的识别,本文采用色块占空比法进行识别,即根据三角形与矩形和圆形的对比,结合颜色识别,对相应色块,做最小外接矩形,然后根据色块的面积与外接矩形面积的比值,来判别其形状。当比值介于0.45与0.55之间时可判断是三角形。具体的算法代码为:

根据此算法,获得的识别效果如图9所示,可以看出,算法能够准确识别出三角形,并用十字进行标识。同时根据封装的函数识别出的方形和圆形图案,用边界线进行标识。

图9 识别效果图

3 实例分析

根据上述设计,本文研制了如图10所示的智能搬运起重机实物,其框架结构高为425 mm,长与宽分别为790 mm和450 mm,每个起升机构选用GW4058型的无刷电动机,功率为30 W,扭矩可达到3 500 N·mm。每个抓取机构选用TD-8120型舵机作为动力源,扭矩可达到1 980 N·mm。行走机构中各麦轮直径为100 mm,选用M2006型电动机,功率为44 W。为验证起重机搬运的可行性,设置了如图11所示的搬运场景,搬运的物体为3个各1 kg的矩形箱子。

图10 起重机实物

图11 实验场地示意图

起重机首先站立在图中的起始点处,然后自行到取物区,对货物的标识进行颜色与形状的识别,通过算法依据堆码区的要求顺序抓取多个相应颜色和形状的货物(本起重机实物设置了3个抓取机构和起升机构),并将货物提升到一定高度。然后按图中弧形既定路线,避开障碍,搬运货物到堆码区,根据颜色与形状要求将货物放到指定的位置。随后再按既定路线自行到取物区,将余下的货物依次搬运到堆码区。在搬运过程中,运用了前述的PID控制算法和坐标控制算法,实现起重机的定位与路线的运行。在运行过程中,仍存在一定的偏差,通过反复调整PID参数,采取分段方式确定了相对合理的PID参数,最终实现偏差的减小,满足运行路线的要求。起重机在抓取货物、运送货物截图如图12所示。通过此场景实际的搬运,可以看出本起重机运行的可行性和控制算法的有效性。

图12 起重机自行识别、取货与放货实验

4 结语

本文设计的智能搬运起重机,基于STM32处理器,结合视觉识别模块实现货物的快速识别、抓取、搬运。对行走机构的PID控制算法、运动位置的坐标控制算法和视觉识别算法进行了研究。通过实物场景的运行,验证了起重机运行的可行性和算法的有效性。

猜你喜欢

行走机构控制算法起重机
草莓采摘机器人行走机构设计
基于山地丘陵地区农机行走机构设计研究*
一种电动旋转的大车行走机构
对起重机“制动下滑量”相关检验要求的探讨
MYQ型5000t门式起重机简介
基于ARM+FPGA的模块化同步控制算法研究
大型起重机集中润滑的研究与改善
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
行星履带式越障行走机构的有限元分析
特雷克斯 拓能Powerlift 3000履带式起重机