APP下载

智能终端对AGV小车路径控制系统设计研究

2019-11-05

福建质量管理 2019年20期
关键词:画布按键小车

(北京物资学院 北京 101149)

一、引言

物流导引小车的主要导航模式包括电磁式导航[1]、激光导航[2]、惯性导航[3]、视觉导引式导航[4]。而本文设计的导航模式可以不依赖外部导航方式,依靠物流导引小车的自身的程序即可导航,降低了技术难度。这为无线通信技术提供了一种新的方法,同时也对将来AGV发展趋势和现代智能家居的设计提供了参考价值[5]。

本设计的思路是基于以下几个方面:以利用手机APP实现小车的任意路径规划,设计符合要求的手APP与控制程序。小车的控制程序主要通过Wi-Fi进行信号的传输与反馈软件基于Eclipse框架结构[6],使用Java语言进行开发。

首先,实现基本的物流导引小车的移动控制。之后,让小车完成正方形的路径,确保小车可以按照要求完成常规路径。最后实现在手机APP上可以画图控制物流导引小车路径,AGV能够按照给定的路径进行移动,就完成了设计目标。

二、控制端与物流导引小车的信号交流格式

Wi-Fi无线网络是由无线网卡和网络桥接器AP(Access Point)所组成的,对装有无线网卡的终端进入Wi-Fi覆盖区域能由AP来接入Internet,Wi-Fi接入技术具有高速传输和无线接入的优点,最高速度可达54Mbps[7]。同时Wi-Fi技术布网简单,成本低廉,速度快,定位精确,传输不失真。其控制代码格式如表1所示。

表1 控制代码格式

其控制代码主要分为4部分,包头包尾均为ff,首两位主要区分不同类型的功能,次两位分别同样部分的不同命令,最后两位主要区分同样指令不同的数据位。

三、物流导引小车的控制端设计

在物流导引小车的控制端(手机APP),具有的功能包括:

物流导引小车可以按照固定的路径进行移动。可以按照手机APP画出的路径进行移动,实时改变路径,摄像头可以传输画面。

(一)物流导引小车路径控制详细设计

物流导引小车主要有三块主板(Arduino2560主板、PWR电源板、Wi-Fi模块),插入摄像头上电源后由Wi-Fi模块建立无线热点,手机可直接连接此热点进行视频和控制。

1.手机APP的显示设计

利用Arduino进行硬件平台开发,首先,先确认我们使用的是Eclipse的ADT工具进行开发,同时其还提供了模拟器,可以在软件中模拟进程。

Android系统的总体架构主要分为4部分,分别为:核心操作系统底层、系统支持库层、Android应用框架层和应用、小部件层。

首先需要先搭建环境。在安装完成JDK后,再设置环境变量即可完成。建立一个开始界面,在设计界面的过程中,采用了线性布局,分别是主界面是垂直布局,次级界面是水平布局。垂直布局的主要代码为android:orientation=“horizontal”与android:orientation=“verticaltal”。采用的是xml。

手机控制AGV,需要有固定的程序,主要通过Activity实现,即按一下按键,就实现相应的功能。同时因为包含了发送自定义的功能,所以我们还需要用Edit Text,收集你所输入的内容。

2.手机APP端控制设计

按键前进来控制物流导引小车前行。不进行操作时物流导引小车停止。按键左转可以控制物流导引小车左转。按键右转可以控制物流导引小车右转。按键后退可以控制物流导引小车后退。

屏幕中间的按键CMD可以进入自定义的命令,按键长方形可以控制物流导引小车按照长方形路径进行移动,按键圆形路与按键正方形同理。按键路径规划可以进入下一级控制系统,如图1所示。

图1 手机自定义命令的发送界面

图2 路径规划初始界面

按路径规划键会弹出一张平面图,可以在上边画出物流导引小车的理想移动路径,点击开始执行就可以让物流导引小车按照你所输入的路径进行移动,如图2所示。

四、物流导引小车的驱动与路径规划

(一)电机的基本驱动

Arduino2560电源板集成了L298P。L298P是一款双全桥电机专用芯片,内部包含4信道逻辑驱动电路,接收标准TTL逻辑准确信号,可驱动46V、2A以下的步进电机或直流电机,并透过电源来调节输出电压;此芯片可以直接由单片机的IO来提供模拟时序信号。

表2直观的显示出了电机转动和其所需要的高低电平情况。

表2 电机转动逻辑表

物流导引小车前进要求电机1反转,电机2反转。

物流导引小车后退要求电机1正转,电机2正转。

物流导引小车右转要求电机1正转,电机2反转。

物流导引小车左转要求电机1反转,电机2正转。

物流导引小车停止要求电机1与电机2均为0,及低电平。

其电机连线如图3所示。

图3 物流导引小车的电机接线图

四个电机的接线图主要就是相互靠近的电机相同的两极相连,并共同连到Arduino相应的部分。相互靠近的两个电机的正负极分别连接到同一M+与M-极。

首先,需要在Arduino中,将ENA、ENB、INPUT1、INPUT2、INPUT3、INPUT4都设置为输出,即输出属性。

其次,确认物流导引小车的指令,在Arduino中收到手机APP的命令之后,分辨他属于那种命令,驱动电机进行相对应的动作。0x01指令为前进,即电机1与电机2均反转,0x02为后退指令,即电机1与电机2均正转,以此类推。

之后,通过digitalWrite函数,作用是设置引脚的输出电压为高(低)电平,该函数无返回值,从而控制L298P驱动模块,即电机驱动板上,控制电机的正转与反转。由上面分析的物流导引小车的基本移动需要的电机转动方向。其流程如图4所示。

图4 电机驱动程序流程图

首先将ENA、ENB、input1、input2、input3、input4设置为输出,使其接电机时可以控制电机的正反转。

正方形路径步骤完全一样,只是驱动电机的程序不一样。将ENA、ENB设为高电平,使得物流导引小车可以按照设定固定完成路线,执行前进指令,前进,即回到了原点。物流导引小车就可完成了一个固定的正方形路径。

(二)物流导引小车的路径规划

AGVs在制造业中主要作用是物料运输、装配和加工制造等,尤其物料运输方面的应用更为广泛。对于现代制造业来讲,提高AGV系统的工作效率,使AGVs能快速、准确、高效地将物料运送目的地上是非常重要的。为了满足以上要求,AGV必须拥有流畅的行驶路径,因此,对AGV进行路径规划具有实际意义。物流导引小车的路径规划就是物流导引小车处于一个环境中,给定起点与终点或者给定路径,控制物流导引小车的能按照路径进行移动[8-11]。

如手机APP端控制设计,将物流导引小车的路径规划基础界面。当我们在手机上画出一个路径时,手机会把路径分为节点,近似的分为直线运动,当越弯的路径需要的节点数越多,在路径上遇到问题时,可以通过清空画布按键,停止小车,如果路径没有问题,你还可以让小车重复执行路径。

在画布上的程序,通过Wi-Fi模块与一定的规则,将相应的命令传输给物流导引小车。

首先,在画布上的路径被分为了若干节点,完成路径主要分为两部分,直行与转弯。其中转弯主要分为两个变量,转角与时间。

判断执行的命令,如果RevStatu==1(RevStatus等于1),那么判断物流导引小车进行左转的命令,其转角时间等于TurnAngle的数值乘以6,单位为毫秒。之后进行直走命令,时间为Golength的数值乘以10,单位为毫秒。达到下一节点,继续此流程。右转指令以此类推。具体流程如图5所示。

图5 路径规划程序的流程图

在手机画布上的路径与实际路径比例大约为1:100,即画布上1厘米,实际物流导引小车行进大概1米,方向与画布方向一致,即上方对应前进,下方对应后退,左侧代表左转,右侧代表右转。

五、结语

本文通过Wi-Fi进行信号的传输与反馈,APP的设计基于Eclipse框架结构,使用Java语言进行开发。经过多次试和修改代码,成功实现了Wi-Fi小车预设的功能,在Wi-Fi辐射范围内通信稳定,控制可靠灵活。经过不断优化代码最终实现“无障碍”通信、控制。

首先,实现了通过手机APP实时控制小车的运行状态。之后,通过预设,小车可以按照指定路径循环行走。最后,实现了小车按照已经画好的路径行走,并且可以实时更改行走线路。

设计的意义在于将单片机电子技术,Wi-Fi通信技术和智能终端设备有效结合,深化物联网的概念,本方案可推广到智能家居等领域。

猜你喜欢

画布按键小车
基于有限状态机的按键检测程序设计
大车拉小车
自制小车来比赛
在画布上做梦的画家 夏加尔
为什么要在画布上割一刀?
让鲜花在画布上盛开
刘老师想开小车
按键消抖在单片机和FPGA实验教学中的应用
两轮自平衡小车的设计与实现
一种多方向导光按键结构设计