APP下载

AGV在复杂线路下运行控制研究

2021-08-18张家琪

机器人技术与应用 2021年2期
关键词:工位起点双向

张家琪 刘 祺

(天津理工大学,天津,300384)

0 引言

随着自动化物流系统、智能工厂的发展,自动引导车(Automated Guided Vehicle,AGV)作为运输系统的关键工具之一,得到了越来越多的应用[1]。

目前主流的AGV导航方式有:磁导航、光学导航、惯性导航、激光导航。其中,磁导航是一种传统导航方式,也是目前应用最为广泛的导航方式。磁导航的原理是:预先在AGV的行驶路径上敷设磁条,AGV通过磁条感应信号实现导引。磁导航AGV在复杂线路下运行时,其路径选择以及交通控制是影响转运效率的关键因素,也是运行控制中需要解决的主要问题。

1 基本信息设置

首先,需要根据AGV的运行线路、工艺流程等因素设置基本信息,主要包括点(Point)表、路径(Path)表、任务(Task) 、区域(Area)表。

1.1 点表

1.1.1 点的分类

点用来描述AGV运行路线上的关键位置,根据用途,点可分为两类:磁钉点和非磁钉点。

为了获得AGV的位置,在AGV的运行路线上,根据需要,设置编号不同的磁钉,这种设置磁钉的点称为磁钉点,主要用于准确停位、路由控制等;当AGV运行到磁钉点上方时,读取磁钉编号,就可知AGV当前位置。磁钉点主要布置在以下位置。

1)停止点:AGV需要停止进行工作的点;

2)多任务分配点:以该点为起点的任务有多个,需要在该点根据条件分配任务;

3)AGV反向运行点: AGV在该点由正向运行转为反向运行,或由反向运行转为正向运行;

4)路径三叉点;

5)路径终点或需要交通管制的点;

6)减速点:为了在停止点停位准确,根据需要在停止点的前方适当位置设置减速点;

不设置磁钉的点称为非磁钉点,主要用于地图显示、路径添加,设置在线路拐弯处、增加路径处等。

1.1.2 点的主要属性

1) 编号:点的序号,用于区别各个点;

2) X坐标:点位置的X坐标,用于地图显示和AGV位置计算和显示;

3) Y坐标:点位置的Y坐标,用于地图显示和AGV位置计算和显示;

4) 磁钉点:是否为磁钉点(1-磁钉点,0-非磁钉点);

5) 叉点:是否为三叉点或十字叉点(1-叉点,0-非叉点);

6) 加锁区域:是否属于某个加锁区域(0-不属于加锁区域,非0-加锁区域编号);叉点与加锁区域不能同时设置;

7) 叉点加锁标志:叉点时,是否已被AGV加锁(1-已被加锁,0-未被加锁);

8) 叉点加锁AGV编号:叉点被AGV加锁时,对应的AGV编号(0-未被加锁,非0-AGV编号);

9) 工位点加锁标志:若该点是任务终点,是否已被AGV加锁(1-已被加锁,0-未被加锁)。

需要注意的是,上述属性第1)-6)项的属性值需要预先定义;属性第7)-9)项在运行控制过程中动态写入。

1.2 路径表

路径指以相邻的两个点为端点的有向线段,路径有起点、终点;起点、终点相反的路径互为反向路径,也称双向路径。路径的主要属性如下。

1) 编号:路径的序号,用于区别各个路径;

2) 起点:路径起点编号;

3) 终点:路径终点编号;

4) 长度:路径长度;

5) 车头方向:AGV在路径上运行时的车头方向;AGV车头方向与路径方向一致时,为正向前进;否则,为反向后退(1-正向,0-反向);

6) 转向(左中右):当路径终点为三叉点时,转向为左或右;当路径终点为非三叉点时,转向为中;

7) 速度:AGV在路径上的运行速度;

8) 反向路径:当前路径的反向路径编号(0-无反向路径,非0-反向路径编号);

9) 象限:当路径为圆弧时,圆弧相对于圆心所在的象限,这用于计算AGV在圆弧上的位置和方向(0-直线,1~4-象限);

10)双向加锁标志:双向路径时,是否已被AGV加锁(1-已被加锁,0-未被加锁);

11)双向加锁AGV编号:双向路径被AGV加锁时,对应的AGV编号(0-未被加锁,非0-AGV编号)。

需要注意的是,上述属性第1)-9)项的属性值需要预先定义;属性第10)-11)项在运行控制过程中动态写入。

1.3 任务表

任务由多个依次相连的路径组成,也可理解为由多个依次相连的点组成,表示AGV运行路线。任务的主要属性如下。

1) 起点:要求为磁钉点;

2) 中间点1~中间点10:(0-不使用或无,非0-中间点编号);

3) 终点:要求为磁钉点;

4) 终点停止:AGV到达任务终点时是否停止进行等待;

5) 终点加锁:任务终点是否需要加锁(1-需要加锁,0-不需要加锁);

6) 解锁点:到达该点时,是否解锁任务起点;用于特殊工位点交通控制。

需要注意的是,上述属性的属性值需要预先定义。

1.4 区域表

把两个或多个相邻的点定义为一个区域;用于交通管制。

区域的主要属性如下:

1) 编号:区域的序号,用于区别各个区域;

2) 区域加锁标志:区域是否已被AGV加锁(1-已被加锁,0-未被加锁);

3) 区域加锁AGV编号:当区域被AGV加锁时,对应的AGV编号(0-未被加锁,非0-AGV编号)。

1.5 示例

本示例取某新能源汽车电池检测线路的一部分并简化为例进行说明,如图1所示。

图1 新能源汽车电池检测线简化图

示例图工作流程说明如下:

1) 点03:待测电池装载点;

2) 点09:任务分配点,根据点21、24的使用情况进行分配或等待;

3) 点21、24:电池检测点,检测完成后,根据检测结果(合格、不合格)和点26的使用情况进行分配或等待,检测合格时到点02结束下线,检测不合格且点26空闲时到点26进行维修,检测不合格且点26忙时等待点26空闲;

4) 点26:电池维修点,维修完成后,需要再次进行检测,根据点21、24的使用情况进行分配或等待;

5) 点02:检测完成电池卸载点。

根据工作流程,任务路径配置如下:

2 任务分配

一个任务执行完成,自动分配新任务,实现AGV的路径选择和自动连续运行。

2.1 任务分配时机

根据任务属性“终点停止”确定任务分配时机;当终点停止时,AGV到达任务终点停止等待放行信号,再分配新任务;当终点不停止时,AGV进入任务的最后路径开始分配新任务。

2.2 任务分配方式

根据任务终点确定任务分配方式;当以该点为任务起点的任务有多个时,称为多任务,需要根据条件进行逻辑判断再进行分配。这部分逻辑判断可以根据项目编写特定程序实现,也可以采用“通用程序+参数配置”方式实现。当以该点为任务起点的任务只有一个,称为单任务,编写通用程序实现。在实际项目应用中,大部分任务为单任务。

3 任务运行

控制AGV的基本命令有前进、后退、停止、速度、转向(左中右)。这些基本命令的参数设置在路径中,不同的路径可以设置不同的命令参数。

AGV实时反馈最新经过的磁钉编号以及经过该磁钉后运行的距离,任务运行逻辑根据这两个实时反馈值,确定AGV所在的路径,然后根据路径的命令参数及外界条件,控制AGV运行。

3.1 叉点交通控制

叉点是一种特殊的点,分为三叉点和十字叉点;图1中点18为三叉点;点10为十字叉点。

当两个AGV同时进入叉点时,会触发AGV雷达报警,造成障碍停止;为了避免这一情况发生,采用叉点独占方式进行交通控制。

叉点控制逻辑如下:

1)若终点不是叉点,则继续行驶;

2)若终点是叉点且未被加锁,则加锁终点;

3)若终点是叉点且被本AGV加锁,则继续行驶;

4)若终点是叉点且被其他AGV加锁,则停止等待;

5)当AGV到达路径终点时,若路径起点是叉点且被当前AGV锁定,则解锁起点;

例如图1中任务T4,当到达点22时,加锁点18;当到达点19时,解锁点18。

3.2 区域交通控制

由于AGV尺寸和路径长度的原因,当某一区域线路复杂,利用叉点交通控制不能满足要求时,可以把多个点定义为一个区域,使用区域加锁的方法进行控制。

区域控制逻辑如下。

1) 若路径终点不属于区域,则继续行驶;

2) 若路径终点属于某个区域且该区域未被加锁,则加锁该区域;

3) 若路径终点属于某个区域且该区域被本AGV加锁,则继续行驶;

4) 若路径终点属于某个区域且该区域被其他AGV加锁,则停止等待;

5) 当AGV到达路径终点且路径终点不属于该区域时,若路径起点属于某个区域且该区域被本AGV加锁,则解锁该区域;

在图1中,点10、11、20组成区域定义为A1,点10、11、20的属性“加锁区域”都设为A1。例如任务T2,当到达点09时,加锁区域A1;当到达点21时,解锁区域A1。

3.3 特殊工位点交通控制

某些工位点不允许两个或多个AGV同时进入;为了避免同时进入而造成的错误,采用工位点独占方式进行交通控制。在图1中,点21、24、26属于这类特殊工位点。

1) 特殊工位点加锁。

AGV在任务分配时,查找符合条件且任务终点未加锁的任务,若找到,则加锁任务终点,并为AGV分配该任务。

例如图1中假设AGV在点21电池检测不合格需要维修,则任务T5满足条件,若任务T5的终点26未被加锁,则加锁点26,并为AGV分配任务T5;否则,等待。

2) 特殊工位点解锁。

当AGV当前任务执行完成,到达任务终点时,不能立即解锁任务终点,要确保AGV执行新任务离开并和另一进入的AGV不发生碰撞时,才能解锁。为了解决这一问题,采用在任务属性中设置解锁点的方法:当AGV离开到达解锁点时,解锁任务起点。

图1中以点26为起点的任务分别为T8、T9 、T10、T11,在这些任务中分别设置解锁点为点15。这样,当AGV执行这些任务,到达点15时解锁任务起点26。

3.4 双向交通控制

当两辆AGV沿互为反向的路径相对行驶时,如果不加控制,将产生交通堵塞。例如图1中,对于任务T3和T10,点11和点13之间的路径为需要双向交通控制的路径。

解决双向交通控制的问题有两种方法:一是在设计路线和任务时尽量减少或避免这种情况发生,这样可以减少AGV互相等待的时间;二是通过交通控制的方法解决,其控制逻辑如下。

1) 若下一路径不是双向路径,则继续行驶;

2) 若下一路径是双向路径且未被加锁,同时所有未完成路径中的双向路径的反向路径均未加锁时,对所有未完成路径中的双向路径加锁;否则,停止等待:

3) 若下一路径是双向路径且被本AGV加锁,则继续行驶;

4) 若下一路径是双向路径且被其他AGV加锁,则停止等待;

5) 当AGV到达路径终点时,若当前路径是双向路径,则解锁当前路径。

4 地图显示

4.1 计算AGV坐标及角度

为了计算简单,路径只有直线路径和标准四分之一圆弧路径两种;AGV实时反馈最新磁钉编号以及经过该磁钉后运行的距离,根据这两个实时反馈值,确定AGV所在的路径、坐标值及角度。

为了计算AGV在圆弧路径上的坐标和方向,需要在路径属性中定义圆弧相对于圆心所在的象限。

4.2 地图显示

为了在显示器或触摸屏上显示地图及AGV,需要把上面计算的实际坐标转换为显示器坐标。其转换公式如下:

M_X= (Act_X- LD_X)* M_W/ Act_W;

M_Y= M_H- (Act_Y- LD_Y)* M_H/ Act_H。

公式中各参数含义如下:

Act_X、ACt_Y:实际坐标;

Act_W、Act_H:运行路线的实际大小;

LD_X、LD_Y:运行路线左下角坐标;

M _X、M_Y:显示屏显示坐标;

M_W、M_H:显示屏分辨率。

5 结束语

AGV在复杂线路下按照工艺要求合理顺畅地运行是AGV运行控制系统的重要内容。同时,AGV运行控制系统也要实时反馈AGV的运行状态,特别是当AGV停止运行时,要反馈停止运行的原因。

猜你喜欢

工位起点双向
双向度的成长与自我实现
用“双向宫排除法”解四宫数独
LCA在焊装车间人工上件工位应用和扩展
精确WIP的盘点方法
工位大调整
弄清楚“起点”前面有多少
起点
我的“新”起点
一种软开关的交错并联Buck/Boost双向DC/DC变换器
滨江:全省首推工位注册