[0001]
本发明涉及一种自动获取无人天车最优作业路径的方法,属于冶金自动控制技术领域。
背景技术:[0002]
随着冶金行业智能工厂的发展,仓库天车无人驾驶系统得到普遍关注。天车作业路径在无人驾驶系统中更加突出:仓库中障碍物类型不一,库区业务涉及广且包含人工打包区。所以作业路径的合理性直接决定着天车无人驾驶系统的性能,不合理的路径选择,作业效率低下、用户体验不佳且会有严重的安全隐患。如果将人工打包区按照障碍物处理,当天车与打包区作业相关时,按线段与矩形相交方法得出以打包区为基础的矩形端点坐标,将避过打包区,不能完成打包作业。这样将会制约无人天车作业,影响库区业务,所以急需一种新的路径规划方法以满足现场的需求。
技术实现要素:[0003]
本发明目的是提供一种自动获取无人天车最优作业路径的方法,通过应景式障碍物规避的方法获取无人天车作业路径的方法,即应景式障碍物规避方法,能够下发合理的、准确的、最优的作业路径,保证了库区业务顺利执行;缩短了天车作业路径上转折点的个数,同时降低了天车因路过转折点减速的概率,从而大大的提高了天车作业效率;适应了天车无人驾驶系统发展的未来需求,可持续对复杂程度日益增长的天车无人驾驶的顺畅、高效运行,有效地解决了背景技术中存在的上述问题。
[0004]
本发明的技术方案是:一种自动获取无人天车最优作业路径的方法,包含以下步骤:步骤一,数据信息设置,包含工单信息管理、天车状态信息管理和数据库配置;步骤二,采用应景式障碍物规避方法计算,通过综合参数设置与比较,天车工单类型和工单状态转变计算出当前应对的策略并给出作业路径;步骤三,方法执行,依据路径规划策略,对作业路径进行格式化并下发。
[0005]
所述步骤一中,工单信息管理设置天车要执行作业的信息,包括天车号、工单号、工单类型、工单状态、作业源地址x坐标值、作业源地址y坐标值、作业目的地址x坐标值、作业目的地址y坐标值和当前作业状态等工单的重要信息;天车状态信息管理设置天车当前的信息,包括天车号、当前位x坐标值、当前位y坐标值、天车作业方向和天车负载信息;数据库配置设置重要参数,包括天车初始化信息、库区配置信息、障碍物属性、过道位置信息和打包区设定信息。
[0006]
所述步骤二中,依据步骤一中的工单信息管理、天车状态信息管理和数据库配置,并结合基于几何点在矩形内条件数学模型计算出天车作业特征串;将天车作业特征模型化,定义天车作业特征串处理流程图,即由天车的当前位、作业源地址和作业目的地址是否位于人工打包区特征串构成的;有三组特征值:即天车当前位是否在人工打包区、天车作业源地址是否包含人工打包区和天车作业目的地址是否包含人工打包区,每一组特征值对应
一个分支,在分支前加上天车作业类型,即作业工单和移动工单,组成4位特征码,共有16个分支,分支定义为“0000”、“0001”、“0010”、“0011”、“0100”、“0101”、“0110”、“0111”、“1000”、“1001”、“1010”、“1011”、“1100”、“1101”、“1110”和“1111”;根据工单信息管理和天车状态信息管理中的天车作业源地址s、天车作业目的地址d和天车的当前位c,从数据库配置中获取天车初始化信息、库区配置信息、障碍物属性和打包区设定信息 p,需要分别验证天车作业源地址s、天车作业目的地址d和天车的当前位c是否位于打包区设定信息 p内,从而得到作业特征串,在打包区设定信息 p内特征值为1,不在打包区设定信息 p内特征值为0;再从工单信息管理获取天车的作业信息,结合作业特征值分情况生成作业路径。
[0007]
所述步骤三中,方法执行为天车执行作业路径,向天车无人驾驶系统发出作业路径信息。
[0008]
本发明的有益效果是:通过应景式障碍物规避的方法获取无人天车作业路径的方法,即应景式障碍物规避方法,能够下发合理的、准确的、最优的作业路径,保证了库区业务顺利执行;缩短了天车作业路径上转折点的个数,同时降低了天车因路过转折点减速的概率,从而大大的提高了天车作业效率;适应了天车无人驾驶系统发展的未来需求,可持续对复杂程度日益增长的天车无人驾驶的顺畅、高效运行。
附图说明
[0009]
图1是本发明的构成图;图2是本发明的天车作业特征串处理流程图;图中标记如下:工单信息管理11、天车状态信息管理12、数据库配置13、应景式障碍物规避方法14、天车执行作业指令15。
具体实施方式
[0010]
为了使发明实施案例的目的、技术方案和优点更加清楚,下面将结合实施案例中的附图,对本发明实施案例中的技术方案进行清晰的、完整的描述,显然,所表述的实施案例是本发明一小部分实施案例,而不是全部的实施案例,基于本发明中的实施案例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施案例,都属于本发明保护范围。
[0011]
一种自动获取无人天车最优作业路径的方法,包含以下步骤:步骤一,数据信息设置,包含工单信息管理11、天车状态信息管理12和数据库配置13;步骤二,采用应景式障碍物规避方法14计算,通过综合参数设置与比较,天车工单类型和工单状态转变计算出当前应对的策略并给出作业路径;步骤三,方法执行,依据路径规划策略,对作业路径进行格式化并下发。
[0012]
所述步骤一中,工单信息管理11设置天车要执行作业的信息,包括天车号、工单号、工单类型、工单状态、作业源地址x坐标值、作业源地址y坐标值、作业目的地址x坐标值、作业目的地址y坐标值和当前作业状态等工单的重要信息;天车状态信息管理12设置天车当前的信息,包括天车号、当前位x坐标值、当前位y坐标值、天车作业方向和天车负载信息;数据库配置13设置重要参数,包括天车初始化信息、库区配置信息、障碍物属性、过道位置
信息和打包区设定信息。
[0013]
所述步骤二中,依据步骤一中的工单信息管理11、天车状态信息管理12和数据库配置13,并结合基于几何点在矩形内条件数学模型计算出天车作业特征串;将天车作业特征模型化,定义天车作业特征串处理流程图,即由天车的当前位、作业源地址和作业目的地址是否位于人工打包区特征串构成的;有三组特征值:即天车当前位是否在人工打包区、天车作业源地址是否包含人工打包区和天车作业目的地址是否包含人工打包区,每一组特征值对应一个分支,在分支前加上天车作业类型,即作业工单和移动工单,组成4位特征码,共有16个分支,分支定义为“0000”、“0001”、“0010”、“0011”、“0100”、“0101”、“0110”、“0111”、“1000”、“1001”、“1010”、“1011”、“1100”、“1101”、“1110”和“1111”;根据工单信息管理11和天车状态信息管理12中的天车作业源地址s、天车作业目的地址d和天车的当前位c,从数据库配置13中获取天车初始化信息、库区配置信息、障碍物属性和打包区设定信息 p,需要分别验证天车作业源地址s、天车作业目的地址d和天车的当前位c是否位于打包区设定信息 p内,从而得到作业特征串,在打包区设定信息 p内特征值为1,不在打包区设定信息 p内特征值为0;再从工单信息管理11获取天车的作业信息,结合作业特征值分情况生成作业路径。
[0014]
所述步骤三中,方法执行为天车执行作业路径15,向天车无人驾驶系统发出作业路径信息。
[0015]
本发明分为三个主要部分:第一部分是数据信息设置,是本发明的基础,重要参数的来源,现场情况的梳理以及对应策略的建立;第二部分是方法的应景式障碍物规避计算,是本发明的核心,通过综合参数设置、比较,天车工单类型和工单状态转变计算出当前应对的策略并给出作业路径;第三部分是方法执行,依据路径规划策略,对作业路径进行格式化并下发。
[0016]
如图2所示,是本发明的应景式障碍物规避方法,包括如下步骤:步骤0、数据库配置,主要是库区内障碍物属性(障碍物类型、障碍物四个顶点坐标)、打包区设定。
[0017]
步骤1、输入所有天车的作业信息以及天车状态信息,包括天车当前位置、作业源地址坐标、作业目的地址坐标、天车作业方向。
[0018]
步骤2、通过步骤0、步骤1并结合基于几何点在矩形内条件数学模型计算出天车作业特征串。计算方法如下:1)用一对点(minx ,miny)(maxx ,maxy)来表示矩形,表达如下:rect1{(minx1 ,miny1)(maxx1 ,maxy1)}2)点p(x1,y1)是否在矩形内,判断方法如下: bool crossrectangle(rect r ,point p){if((p.x-r.x1>0)&&(p.x-r.x2<0)&&(p.y-r.y1>0)&&(p.y-r.y2<0)){ return true; }else{ return false; }}步骤3、根据天车作业特征串分支进行处理,运用应景式障碍物规避的方法,梳理出三
种情况。
[0019]
case1:天车作业工单、移动工单均不包含打包区:只需考虑障碍物,根据天车工单信息中天车当前位置(起点)与天车作业源地址坐标(终点),筛选出所有需要避让的障碍物信息集合;1)步骤1)中天车运动信息与天车作业运动范围障碍物信息集合作为基于线段与矩形相交模型天车作业路径计算的输入,首先根据天车作业方向对障碍物进行排序,然后依次判断障碍物矩形与天车运动起始点连线是否相交,如果相交则以天车当前位置(起点)与距作业源地址最近障碍物端点作为终点连线,判断与其余障碍物是否相交,如果不相交直接以该障碍物端点作为此次作业的唯一避让点;如果相交则在障碍物集合中剔除该障碍物,同时利用辗转算法继续判断其余障碍物,重复步骤1)与2),直到天车运动起点和终点之间没有任何障碍物,最终形成天车运动路径集合。
[0020]
case2:天车移动工单包含打包区:根据天车移动作业特征码,依次得出s、d、c与p的特征关系,并在特征值为1的点前加上与该点(指s、d、c当中的一点)x坐标相同,y坐标差2m的障碍点。根据天车当前位置(起点)与天车作业目的地址坐标(终点),确定天车运动方位,并根据天车运动方位范围筛选需要避让的障碍物信息集合;步骤1)中天车运动信息与天车作业运动范围障碍物信息集合作为基于线段与矩形相交模型天车空载作业路径计算的输入,首先根据天车作业方向对障碍物进行排序,然后依次判断障碍物矩形与天车运动起始点连线是否相交,如果相交则以天车当前位置(起点)与距作业源地址最近障碍物端点作为终点连线,判断与其余障碍物是否相交,如果不相交直接以该障碍物端点作为此次作业的唯一避让点;如果相交则在障碍物集合中剔除该障碍物,同时利用辗转算法继续判断其余障碍物,重复步骤1)与2),直到天车运动起点和终点之间没有任何障碍物,最终形成天车空载运动路径集合。
[0021]
case3:天车作业工单包含打包区:根据天车工单作业特征码,依次得出s、d、c与p的特征关系,并在特征值为1的点前加上与该点(指s、d、c当中的一点)x坐标相同,y坐标差2m的障碍点。首先根据天车当前位置(起点)与天车作业源地址坐标(终点),确定天车取卷运动方位,并根据天车取卷运动方位范围筛选起吊过程需要避让的障碍物信息集合。
[0022]
步骤1)中天车取卷运动信息与天车取卷作业运动范围障碍物信息集合作为基于线段与矩形相交模型天车取卷作业路径计算的输入,首先根据天车取卷作业方向对障碍物进行排序,然后依次判断障碍物矩形与天车运动起始点连线是否相交,如果相交则以天车当前位置为起点,与距作业源地址最近障碍物端点作为终点连线,判断与其余障碍物是否相交,如果不相交直接以该障碍物端点作为取卷作业的唯一避让点;如果相交则在障碍物集合中剔除该障碍物,同时利用辗转算法继续判断其余障碍物,重复步骤1)与2),直到天车取卷作业起点和终点之间没有任何障碍物,最终形成天车取卷运动路径集合。
[0023]
天车取卷作业路径计算完成后,再以天车作业信息管理中天车作业源地坐标为起点,目的地址坐标为终点,确定天车放卷运动方位,并根据天车放卷运动方位范围筛选起吊过程需要避让的障碍物信息集合;步骤3)中天车放卷运动信息与天车放卷作业运动范围障碍物信息集合作为基于线段
与矩形相交模型天车放卷作业路径计算的输入,首先根据天车放卷作业方向对障碍物进行排序,然后依次判断障碍物矩形与天车运动起始点连线是否相交,如果相交则以天车作业源地址为起点,与距作业目的地址最近障碍物端点作为终点连线,判断与其余障碍物是否相交,如果不相交直接以该障碍物端点作为放卷作业的唯一避让点;如果相交则在障碍物集合中剔除该障碍物,同时利用辗转算法继续判断其余障碍物,重复步骤3)与4),直到天车取卷作业起点和终点之间没有任何障碍物,最终形成天车放卷运动路径集合。
[0024]
步骤2)与步骤4)路径集合即是天车作业工单路径。
[0025]
步骤4、根据执行方案转换成作业路径下发。
[0026]
步骤5、结束。
[0027]
模型应用:1.线段与矩形相交模型1)用四个点(minx ,miny)、(maxx ,miny)、(minx ,maxy)、(maxx ,maxy)来表示矩形,矩形表达如下:a = new point(minx , miny);b = new point(maxx , miny); c = new point(minx , maxy);d = new point(maxx , maxy);2)起点:p1(x1,y1) 终点:p2(x2,y2)1)以线段定义向量,分别以起终点连线与矩形各边做叉乘,判断是否相交:int ppresult(block ablock, point p1, point p2){if (((ablock.a.x-p2.x).x * (p1.y-p2.y).y
ꢀ-ꢀ
(ablock.a.y-p2.y).y * (p1.x-p2.x).x) * ((ablock.a.x-p2.x).x * (p1.y-p2.y).y
ꢀ-ꢀ
(ablock.c.y-p2.y).y * (p1.x-p2.x).x) < 0 &&((p1.x-ablock.c.x).x * (ablock.a.y-ablock.c.y).y
ꢀ-ꢀ
(p1.y-ablock.c.y).y * (ablock.a.x-ablock.c.x).x) * ((p1.x-ablock.a.x).x * (ablock.a.y-ablock.c.y).y
ꢀ-ꢀ
(p2.y-ablock.c.y).y * (ablock.a.x-ablock.c.x).x) < 0){ppresult+=1;}else{ppresult+=0;}。