CN102799725A - 一种搬运机器人进行离线码垛时有效码垛区域的确定方法 - Google Patents

一种搬运机器人进行离线码垛时有效码垛区域的确定方法 Download PDF

Info

Publication number
CN102799725A
CN102799725A CN2012102400902A CN201210240090A CN102799725A CN 102799725 A CN102799725 A CN 102799725A CN 2012102400902 A CN2012102400902 A CN 2012102400902A CN 201210240090 A CN201210240090 A CN 201210240090A CN 102799725 A CN102799725 A CN 102799725A
Authority
CN
China
Prior art keywords
point
goods
polygon
summit
little
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012102400902A
Other languages
English (en)
Other versions
CN102799725B (zh
Inventor
陈友东
邹玉静
魏洪兴
刘鑫
闵华松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin best technology Co., Ltd.
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201210240090.2A priority Critical patent/CN102799725B/zh
Publication of CN102799725A publication Critical patent/CN102799725A/zh
Application granted granted Critical
Publication of CN102799725B publication Critical patent/CN102799725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提出一种搬运机器人进行离线码垛时有效码垛区域的确定方法,应用在用户需要自定义垛型数据文件的场景。该方法将货物有效区域的确定问题转换为多边形和矩形的合并问题,首先获取货物的顶点和相邻关系,然后根据相邻关系逐次合并与多边形具有相邻关系的矩形,最后遍历了所有的货物,得到有效玛多区域。在进行合并时,根据相邻的具体情况,设置了出去点和进入点,并通过逆时针矢量游走进行合并,本发明还给出了上面货物码放是否有效的判断方法。本发明方法能够获取自定义码垛时的当前层的有效码垛区域,方法简单快捷,适用于用户自定义垛型数据文件的应用场景中。

Description

一种搬运机器人进行离线码垛时有效码垛区域的确定方法
技术领域
本发明涉及搬运机器人离线码垛技术领域,具体是一种搬运机器人进行离线码垛时有效码垛区域的确定方法。
背景技术
搬运和码垛作业在现代企业的物流管理中占有重要地位。近年来,随着物流业的迅猛发展,研究机器人码垛技术具有十分重要的意义。使用机器人码垛搬运不仅可提高劳动生产率,降低生产成本,而且可以极大的保障人身安全,改善劳动环境,减轻劳动强度。
一般搬运机器人通过在线示教生成垛型,过程极为繁琐,并且占用大量设备时间,对极度追求效率的物流环节来说会形成很大的浪费,国内外解决此问题的方法是利用离线编程来生成。目前一些比较成熟的离线编程软件如GRASP仿真系统,OBCAD系统,这些软件已实现通用化,但是由于码垛作业有自己的特点,使用类似通用软件效率并不高,未必适合码垛作业的要求。
在码垛机器人码垛过程中,根据搬运机器人的功能需求,要求其能对不同的垛型都能进行码垛,系统在用户设置时候可以选择不同的垛型让机器人进行码垛。在在线示教的情况下,需要用户对奇数层和偶数层(通常为第一层和第二层)的每一步的位置信息进行示教,当离线编程时候,不需要示教那么多信息,只需要示教出托盘的位置,系统会自动提取垛型数据,根据托盘位置、垛型数据、以及根据设置要求计算出的所有的堆放位置点,生成工作文件。但是这种垛型数据文件比较复杂,它严格地定义了机器人的搬运次序,用户很难生成自己的垛型数据文件。尤其是现在工业产品的多样化,产品的尺寸变化比较大,这迫切要求用户能够根据不同尺寸的产品产生所需要的合理垛型。而目前市面上大部分码垛机器人系统只提供几个常见的垛型供用户选择,这极大地限制了机器人的功能。
除此之外,在构造离线垛型生成系统中,还面临很关键的一个问题,即货物摆放有效区域的确定。上层货物是摆放在下层货物的基础之上的,如何生成货物摆放的有效区域显得尤为重要。
发明内容
本发明所要解决的问题是:针对搬运机器人进行离线码垛,用户需要自定义垛型数据文件的情况时,如何确定下层货物的有效区域,以进行上层货物的摆放。本发明提供一种搬运机器人进行离线码垛时有效码垛区域的确定方法,以满足用户对特定产品垛型的需求。本发明所提供的方法应用于垛型生成系统时,要求该层货物具有相同的高度。
一种搬运机器人进行离线码垛时有效码垛区域的确定方法,具体包括如下步骤:
步骤1:读取当前货物层中,各货物顶面的顶点坐标以及货物之间的相邻关系。
步骤2:从当前货物层中随机选择一个货物h,将该货物h顶面的四个顶点逆向排序,加入多边形A中。
步骤3:建立队列Q,将与货物h相邻的所有货物加入队列Q中。
步骤4:判断当前队列Q中是否还有货物,若有,从队列Q前端取出第一个货物,标记为C,将与货物C相邻的所有未加入队列Q且未被合并的货物加入队列Q中,货物C顶面的矩形也标记为C,矩形C的四个顶点逆向排序设为b1b2b3b4,然后执行步骤5;若队列Q中没有货物了,转步骤7执行。
步骤5:设当前多边形A的顶点逆向排序为a1a2a3…an,n为多边形顶点个数,寻找当前多边形A与矩形C的相邻的边;步骤5具体包括如下子步骤。
步骤5.1:顺次从多边形A中取一条边aiai+1,初始取边a1a2
步骤5.2:标记当前所取的边为pq,p为起始点,q为终止点,开始进行相邻边的寻找。
步骤5.3:判断矩形C的4条边,是否存在与边pq共线且重叠的,若不存在,执行步骤5.5,若存在,设矩形C与边pq共线且重叠的边为ij,执行步骤5.4。
步骤5.4:若边pq与边ij共线且重叠,则边pq与边ij相邻,则:
若点p和点j在同一个顶点,点i位于点p和点q之间,则把点p标记为出去点,点p的下一个点指向点j,点j标记为重复点;
若点j位于点p和点q之间,点q位于点i和点j之间,则把点p标记为出去点,点p的下一个点指向点j;
若点i位于点p和点q之间,点p位于点i和点j之间,则把点p标记为出去点,置于点i和点j之间;点p的下一个顶点是pj方向边上的与点p最接近的多边形A与矩形C的交点;
若点q和点i在同一个顶点,点j位于点p和点q之间,则把点i标记为出去点,点i的下一个点指向点q,点q标记为重复点;
若点i位于点p和点q之间,点p位于点i和点j之间,则把点i标记为出去点,点i的下一个点指向点q;
若点j位于点p和点q之间,点q位于点i和点j之间,则把点i标记为出去点,点i的下一个点指向ij方向边上距离点i最近的多边形A与矩形C的交点;
若仅点j和点p重叠,则把点j标记为出去重复点,点j的下一点指向点p,点p为进入重复点;
若仅点i和点q重叠,则把点q标记为出去重复点,点q的下一点指向点i,点i标记为进入重复点。
步骤5.5:判断是否对多边形A中的所有边都进行了相邻边的寻找,若是,则执行步骤6,若否,转步骤5.1执行。
步骤6:合并当前多边形A和矩形C,从多边形A的顶点序列中随机取一顶点,根据顶点标记进行逆时针方向的矢量游走,遇到出去点,则按照标记遍历到下一个指向的点,如遇到重合点,则删除重复点,继续游走下一个指向的点,如果矩形C和多边形A中尚有顶点未遍历,则从未遍历的顶点中随机寻找一点,继续进行矢量游走,直到所有顶点都被遍历,将所得到的多边形都保存在多边形集合Z1中;当前多边形A和矩形C合并完成后转步骤4执行。
步骤7:将多边形A保存到,然后查看当前货物层中所有的货物是否都已合并,如果存在未合并的货物,则取任一未合并的货物,标记为h,将该货物h顶面的四个顶点逆向排序,形成初始的多边形A,然后转步骤3执行;直至所有货物都已合并,执行步骤8。
步骤8:将多边形集合Z1输出,集合Z1中所有多边形组成了当前货物层的有效码垛区域,开始新的一层的货物放置。
本发明方法的优点和积极效果在于:针对用户自定义垛型数据的应用场景,可有效获取当前已放置好货物的层的有效码垛区域,从而能够进行新一层的货物码放。本发明方法将货物有效区域的确定问题转换为多边形和矩形的合并问题,且根据具体相邻情况,设置了出去点、进入点以及重复点等,通过矢量逆向游走合并多边形区域。所给出的相邻边的判断简单,能快速判断多边形与矩形的关系。所给出的合并方法快捷,能根据多边形与矩形的关系,快速完成合并操作,得到货物有效区域。且本发明还给出了上面货物码放是否有效的判断方法,简单有效,保证用户自定义码垛时货物码放的有效性和安全性。
附图说明
图1是本发明的有效码垛区域确定方法的整体流程图;
图2是本发明有效码垛区域确定方法的中多边形和待合并矩形的相邻边的示意图;
图3是多边形内部存在环的示意图。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
码垛机器人进行码垛过程中,在垛型生成的时候,上层的货物总是摆放在下层的货物之上,应用本发明方法在垛型生成时,要求该层货物具有相同的高度,货物是矩形,且货物之间不存在干涉情况。于是,对于如何确定当前层有效码垛区域,就可转换为如何将一个平面上的矩形合并,由于矩形排放的多样性,在进行部分矩阵的合并后,合并了的矩形集合可能是一个不规则的多边形。因此,本发明方法的基本思想是基于一个多边形合并方法,将如何确定有效码垛区域转化为如何将一个矩形加入到一个多边形的问题。下面首先将本发明方法所使用到的理论进行说明,如下:
(1)任意给定一条有向线段L,其始末端点P0(x0,y0),P1(x1,y1),从平面上任选一点P(x,y),然后将各点代入下面公式(1):
F(x,y)=(y0-y1)x+(x1-x0)y+x0y1-x1y0                (1)
F(x,y)是用来判断点P是否在线段L所确定的直线上的函数。当点P(x,y)使得F(x,y)=0,则表明P点在线段L确定的直线上。当式(1)的计算结果不为0,则表明P点不在线段L确定的直线上。本发明中在寻找矩形和多边形的相邻关系时,根据该方法,判断矩形的顶点是否在多边形某条边所在的直线上,若矩形一条边上的两个顶点都在多边形某条边所在的直线上,则矩形和多边形可能存在相邻关系。
(2)如果线段L1与线段L2共线,L1的始末端点为P1和P2,L2的始末端点为P3和P4,假若P1P2与P3P4同向,将各点代入下面公式(2):
P4-P1=λ[(P2-P1)+(P4-P3)]                         (2)
如果计算得到的λ∈(0,1),则L1与L2必发生重叠。本发明在判断得到矩形某条边与多边形的某条边在一条直线上后,根据上式可判断是否存在重叠,若重叠,则说明两条边相邻。
本发明方法有应用的场景是,在当前层货物码放完毕之后,已经获得了该层货物的货物的顶点坐标和货物之间的相邻关系等信息,然后对该层货物所形成的有效区域进行确定。
如图1所示,本发明提供的一种搬运机器人进行离线码垛时有效码垛区域的确定方法,针对当前已放置好货物的层(简称当前货物层),需要确定待放置的上层货物的有效码垛区域,具体包括如下步骤:
步骤1:读取当前货物层中已放置的各货物顶面的顶点坐标以及货物之间的相邻关系。放置好货物后,将当前货物层的所有数据信息保存到一个文件中,当前货物层的数据信息包括:货物的编号,每个货物顶面的顶点坐标,以及每个货物的相邻货物的编号。所有的货物都是摆放在托盘上面的,依据托盘建立三维的托盘坐标系XYZ,Z轴垂直于托盘,当前货物层的所有数据信息都是相对托盘坐标系来的,在进行当前货物层的有效区域确定时,只考虑XY轴即可。
步骤2:从当前货物层中随机选择一个货物h,将该货物h顶面的四个顶点逆向排序,加入多边形A中。初始第一次选择货物之前,多边形A还不存在。第一次所选择的货物的四个顶点构成了初始多边形A。
步骤3:建立队列Q,将与货物h相邻的所有货物加入队列Q中。
步骤4:判断当前队列Q中是否还有货物,若有,从队列Q中取出第一个货物,标记所取货物为C,货物C顶面的矩形也标记为C,将与货物C相邻的所有未加入队列Q且未被合并的货物加入队列Q中,将货物C在坐标系中的四个顶点逆向排序设为b1b2b3b4,然后执行步骤5;若队列Q中没有货物了,转步骤7执行。
步骤5:寻找货物C与当前多边形A的相邻边,并确定相邻边的关系,设当前多边形A的顶点逆向排序为a1a2a3…an,n为多边形顶点个数,货物C的4条边为b1b2、b2b3、b3b4和b4b1
步骤5.1:顺次从多边形A中取一条边aiai+1,初始取边a1a2
步骤5.2:标记当前所取的边为pq,p为起始点,q为终止点。
步骤5.3:依次取货物C的4条边,判断是否存在一条边与边pq共线且重叠,若不存在,执行步骤5.5,若存在,设货物C与边pq共线且重叠的边为ij,执行步骤5.4。具体判断共线且重叠的方法就是依据公式(1)和(2)所记载的方法。实际中,在判断两条边共线时,是有误差处理的,例如,设定两条平行的边的误差距离为d,d可以由用户自行设定调节,在两条相邻边的距离不超过d时,就认为这两条边共线。
步骤5.4:两条边共线且重叠,也就是指两条边相邻,本步骤用于根据两条边相邻的情况,标记出去点、进入点等。
如图2所示,不规则矢量线表示是多边形,方框表示是待合并的矩形,相邻边有如下8种情况,对于每一种情况,具体进行的处理如下:
如图2中2-1所示,点p和点j在同一个顶点,点i位于点p和点q之间,则把点p标记为出去点,点p的下一个点指向点j,点j标记为重复点。
如图2中2-2所示,点j位于点p和点q之间,点q位于点i和点j之间,把点p标记为出去点,点p的下一个点指向点j。
如图2中2-3所示,点i位于点p和点q之间,点p位于点i和点j之间,也就是点j在有向边pq的反向延长线上,把点p标记为出去点,置于点i和点j之间。
图2的2-1,2-2,2-3中矢量在多边形中游走到顶点p时,须进入货物h的矩形中进行游历,故将点p标记为出去点。图2中的2-1和2-2的情况,显然下个遍历的顶点为点j,而2-3的情况,点p的下个顶点则是pj方向边上、与点p最接近的多边形A与矩形C的交点。
如图2中2-4所示,点q和点i在同一个顶点,点j位于点p和点q之间,则把点i标记为出去点,点i的下一个点指向点q,点q标记为重复点。
如图2中2-5所示,点i位于点p和点q之间,点p位于点i和点j之间,把点i标记为出去点,点i的下一个点指向点q。
2-4和2-5的情况,矢量游走到顶点i时,须进入多边形S中顶点q,故将点i标记为出去点。
如图2中2-6所示,点j位于点p和点q之间,点q位于点i和点j之间,则把点i标记为出去点,将点q置于点i和点j之间。2-6表明当矢量游走到顶点i时,必须查看ij方向的边上距离点i最近的矩形C与多边形A的交点,然后根据这个交点进入到多边形A中。
上面6种情况,都是边ij和边pq存在部分重叠的情况,下面为仅存在点重叠的情况。
如图2中2-7所示,点j和点p重叠,则把点j标记为出去重复点,点j的下一点指向点p,点p为进入重复点。
如图2中2-8所示,点i和点q重叠,则把点q标记为出去重复点,点q的下一点指向点i,点i标记为进入重复点。
出去重复点指该点既是出去点也是重复点,进入重复点指该点既是进入点也是重复点。
步骤5.5:判断是否对多边形A中的所有边都进行了相邻边的寻找,若是,则执行步骤6,若否,则转步骤5.1执行,顺次取多边形A中的下一条边,然后进行相邻边的寻找。
多边形A的边为a1a2、a2a3、…、an-1an、ana1,各边均为有向线段,在进行相邻边的寻找时,依次取边。
步骤6:合并多边形区域,然后转步骤4执行。从多边形A的顶点序列中随机取一顶点,根据顶点标记进行逆时针方向的矢量游走,遇到出去点,则按照标记遍历到下一个指定的点,如遇到重合点,则删除重复点,继续游走下一个指向的顶点。如果尚有顶点未遍历,则说明合并后多边形A中存在环,那么,从未遍历的顶点中随机寻找一点,继续进行矢量游走,直到所有顶点都被遍历。将所得到的多边形都保存在多边形集合Z1中。具体本步骤包括如下步骤6.1~步骤6.5。本发明实施例中矢量游走均是逆时针方向。
步骤6.1:设货物C的矩形四条边与多边形A相交的顶点有m个,将m个顶点按照矩形边矢量游走的方向进行排序。
步骤6.2:建立点集Z,初始将点集Z置为空。
步骤6.3:随机取多边形A中一个顶点ak,从点ak开始,进行遍历,1≤k≤n。本步骤进行下面过程:
步骤6.3.1:判断点ak是否被遍历,若是,则执行步骤6.5,若否,执行步骤6.3.2。
步骤6.3.2:顶点ak未被遍历,进行如下判断:
如果ak不是出去点也不是重复点,则将ak加入点集Z中,k=(k+1)%n,%为取余操作,n为当前多边形A的顶点个数,然后跳至步骤6.3.1,遍历下一个顶点ak
如果ak是出去点,且ak不是重复点,则将顶点ak加入点集Z中,然后遍历ak所指向的下一个点,设下一个点为货物C中的点bj,执行步骤6.4。
步骤6.4:从bj开始在货物C中遍历,进行下面过程:
步骤6.4.1:判断点bj是否被遍历过,若是,跳至步骤6.5,若否,执行步骤6.4.2;
步骤6.4.2:如果bj不是出去点,且bj不是重复点,则将bj加入点集Z中,然后令j=(j+1)%4,取新的顶点bj,转步骤6.4.1执行;
如果bj不是出去点,但bj是重复点,则不将bj加入点集Z中,令j=(j+1)%4,取新的顶点bj,转步骤6.4.1执行;
如果bj是出去点,且bj不是重复点,则将bj加入点集Z中,然后取边bjb(j+1)%4上距离点bj最近的交点ak,此时ak应该为进入点,如果ak不是重复点,则将ak加入集Z中,然后令k=(k+1)%n,跳至步骤6.3执行,若ak是重复点,则不将ak加入集Z中,令k=(k+1)%n,跳至步骤6.3执行。
如果bj是出去点,但bj是重复点,则不将bj加入点集Z中,取边bjb(j+1)%4上距离点bj最近的交点ak,此时ak应该为进入点,如果ak不是重复点,则将ak加入集Z中,然后令k=(k+1)%n,跳至步骤6.3执行,若ak是重复点,则不将ak加入集Z中,令k=(k+1)%n,跳至步骤6.3执行。
步骤6.5:判断多边形A和货物C中所有的顶点是否都被遍历过,若是,则将点集Z保存到多边行集合Z1中,执行步骤7。若否,存在未被遍历的顶点,说明存在内环,如图3所示,例如多边形A,顶点为a1a2a3a4a5,内部存在一个区域,该区域不属于多边形A。存在未被遍历的顶点时,将点集Z保存到多边行集合Z1中,从多边形A中随机选择一个未被遍历的点,然后跳至步骤6.2执行,直至多边形A和货物C中所有的顶点都被遍历。如果多边形集合Z1中,存在多个集合,则表示合并后的多边形存在环。
步骤7:查看当前货物层中所有的货物是否都已合并,如果没有合并,则存在孤立的货物,将多边形A保存,取此货物为当前货物跳至步骤3执行,直至所有货物都已合并。
查看当前货物层中所有的货物是否都已合并,就是判断是否存在未被合并在集合Z1中的货物。
步骤8:将多边形集合Z1输出,集合Z1中所有多边形组成了当前货物层的有效码垛区域。
本发明方法优先将相邻的货物合并成一个多边形,如果当前层中还存在未合并进来的货物即这个货物与多边形中货物都不相邻,那么这个货物将单独构成另外一个多边形,最终输出的多边形集合Z1中可能包含多个多边形。
在获得当前货物层的有效码垛区域之后,可开始新的一层的货物放置,当新放置一个货物时,会判断该货物是否在有效码垛区域之内。取该货物的四个顶点,判断这四个顶点是否都落在有效码垛区域内,若都落在,则可以放置该货物,否则,需要重新放置该货物。判断顶点是否落在有效码垛区域的方法是:设顶点为a,有效码垛区域为多边形B,以顶点a为端点,沿托盘坐标系的X轴正半轴作一条射线,如果射线与多边形B的交点个数为奇数,则顶点a在有效码垛区域之内,若为偶数则顶点a在有效码垛区域之外。上面货物码放是否有效的判断方法简单有效,可方便应用在用户自定义垛形数据的场景中。

Claims (3)

1.一种搬运机器人进行离线码垛时有效码垛区域的确定方法,用于用户自定义垛型数据时,需要确定当前已放置好货物的层的有效码垛区域的情况,其特征在于,包括如下步骤:
步骤1:读取当前货物层中,各货物顶面的顶点坐标以及货物之间的相邻关系;
步骤2:从当前货物层中随机选择一个货物h,将该货物h顶面的四个顶点逆向排序,加入多边形A中;
步骤3:建立队列Q,将与货物h相邻的所有货物加入队列Q中;
步骤4:判断当前队列Q中是否还有货物,若有,从队列Q前端取出第一个货物,标记为C,将与货物C相邻的所有未加入队列Q且未被合并的货物加入队列Q中,货物C顶面的矩形也标记为C,矩形C的四个顶点逆向排序设为b1b2b3b4,然后执行步骤5;若队列Q中没有货物了,转步骤7执行;
步骤5:设当前多边形A的顶点逆向排序为a1a2a3…an,n为多边形顶点个数,寻找当前多边形A与矩形C的相邻的边;步骤5具体包括如下子步骤:
步骤5.1:顺次从多边形A中取一条边aiai+1,初始取边a1a2
步骤5.2:标记当前所取的边为pq,p为起始点,q为终止点,开始进行相邻边的寻找;
步骤5.3:判断矩形C的4条边,是否存在与边pq共线且重叠的,若不存在,执行步骤5.5,若存在,设矩形C与边pq共线且重叠的边为ij,执行步骤5.4;
步骤5.4:若边pq与边ij共线且重叠,则边pq与边ij相邻,则:
若点p和点j在同一个顶点,点i位于点p和点q之间,则把点p标记为出去点,点p的下一个点指向点j,点j标记为重复点;
若点j位于点p和点q之间,点q位于点i和点j之间,则把点p标记为出去点,点p的下一个点指向点j;
若点i位于点p和点q之间,点p位于点i和点j之间,则把点p标记为出去点,置于点i和点j之间;点p的下一个顶点是pj方向边上的与点p最接近的多边形A与矩形C的交点;
若点q和点i在同一个顶点,点j位于点p和点q之间,则把点i标记为出去点,点i的下一个点指向点q,点q标记为重复点;
若点i位于点p和点q之间,点p位于点i和点j之间,则把点i标记为出去点,点i的下一个点指向点q;
若点j位于点p和点q之间,点q位于点i和点j之间,则把点i标记为出去点,点i的下一个点指向ij方向边上距离点i最近的多边形A与矩形C的交点;
若仅点j和点p重叠,则把点j标记为出去重复点,点j的下一点指向点p,点p为进入重复点;
若仅点i和点q重叠,则把点q标记为出去重复点,点q的下一点指向点i,点i标记为进入重复点;
步骤5.5:判断是否对多边形A中的所有边都进行了相邻边的寻找,若是,则执行步骤6,若否,转步骤5.1执行;
步骤6:合并当前多边形A和矩形C,从多边形A的顶点序列中随机取一顶点,根据顶点标记进行逆时针方向的矢量游走,遇到出去点,则按照标记遍历到下一个指向的点,如遇到重合点,则删除重复点,继续游走下一个指向的点,如果矩形C和多边形A中尚有顶点未遍历,则从未遍历的顶点中随机寻找一点,继续进行矢量游走,直到所有顶点都被遍历,将所得到的多边形都保存在多边形集合Z1中;当前多边形A和矩形C合并完成后转步骤4执行;
步骤7:将多边形A保存到,然后查看当前货物层中所有的货物是否都已合并,如果存在未合并的货物,则取任一未合并的货物,标记为h,将该货物h顶面的四个顶点逆向排序,形成初始的多边形A,然后转步骤3执行;直至所有货物都已合并,执行步骤8;
步骤8:将多边形集合Z1输出,集合Z1中所有多边形组成了当前货物层的有效码垛区域,开始新的一层的货物放置。
2.根据权利要求1所述的有效码垛区域的确定方法,其特征在于,所述的步骤6具体包括如下子步骤:
步骤6.1:设矩形C的四条边与多边形A相交的顶点有m个,将m个顶点按照矩形边矢量游走的方向进行排序;
步骤6.2:建立点集Z,初始将点集Z置为空;
步骤6.3:随机取多边形A中一个顶点ak,从点ak开始,进行遍历,1≤k≤n;本步骤进行下面过程:
步骤6.3.1:判断点ak是否被遍历,若是,则执行步骤6.5,若否,执行步骤6.3.2;
步骤6.3.2:顶点ak未被遍历,进行如下判断:
如果ak不是出去点也不是重复点,则将ak加入点集Z中,k=(k+1)%n,%为取余操作,n为当前多边形A的顶点个数,然后跳至步骤6.3.1,遍历下一个顶点ak
如果ak是出去点且不是重复点,则将ak加入点集Z中,然后遍历ak所指向的下一个点,设下一个点为货物C中的点bj,执行步骤6.4;
步骤6.4:从bj开始在货物C中遍历,进行下面过程:
步骤6.4.1:判断点bj是否被遍历过,若是,跳至步骤6.5,若否,执行步骤6.4.2;
步骤6.4.2:如果bj不是出去点,且bj不是重复点,则将bj加入点集Z中,若bj不是出去点,但bj是重复点,则不将bj加入点集Z中;然后令j=(j+1)%4,取矩形C下一个顶点bj,转步骤6.4.1执行;
如果bj是出去点,且bj不是重复点,则将bj加入点集Z中,若bj是出去重复点,则不将bj加入点集Z中;然后取边bjb(j+1)%4上距离点bj最近的交点,设为ak,判断ak是否是重复点,若是,则不将ak加入集Z中,否则将ak加入集Z中,然后令k=(k+1)%n,跳至步骤6.3执行;
步骤6.5:判断多边形A和货物C中所有的顶点是否都被遍历过,若是,则将点集Z保存到多边行集合Z1中,执行步骤7;若否,将点集Z保存到多边行集合Z1中,然后从多边形A中随机选择一个未被遍历的点,然后跳至步骤6.2执行,直至多边形A和货物C中所有的顶点都被遍历。
3.根据权利要求1所述的有效码垛区域的确定方法,其特征在于,所述的步骤8进行新的一层的货物放置时,当新放置一个货物时,判断该货物是否在有效码垛区域之内,判断方法是:取该货物的四个顶点,判断这四个顶点是否都落在有效码垛区域内,若都落在,则能放置该货物;判断顶点是否落在有效码垛区域的方法是:设顶点为a,有效码垛区域为多边形B,以顶点a为端点,沿托盘坐标系的X轴正半轴作一条射线,如果射线与多边形B的交点个数为奇数,则顶点a在有效码垛区域之内,若为偶数则顶点a在有效码垛区域之外。
CN201210240090.2A 2012-07-10 2012-07-10 一种搬运机器人进行离线码垛时有效码垛区域的确定方法 Active CN102799725B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210240090.2A CN102799725B (zh) 2012-07-10 2012-07-10 一种搬运机器人进行离线码垛时有效码垛区域的确定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210240090.2A CN102799725B (zh) 2012-07-10 2012-07-10 一种搬运机器人进行离线码垛时有效码垛区域的确定方法

Publications (2)

Publication Number Publication Date
CN102799725A true CN102799725A (zh) 2012-11-28
CN102799725B CN102799725B (zh) 2014-10-15

Family

ID=47198835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210240090.2A Active CN102799725B (zh) 2012-07-10 2012-07-10 一种搬运机器人进行离线码垛时有效码垛区域的确定方法

Country Status (1)

Country Link
CN (1) CN102799725B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205836A (zh) * 2015-09-30 2015-12-30 天脉聚源(北京)科技有限公司 碰撞检测的方法和装置
CN107511825A (zh) * 2017-08-31 2017-12-26 广州泰行智能科技有限公司 一种基于机械臂的路径规划方法和装置
CN107717984A (zh) * 2017-08-31 2018-02-23 广州泰行智能科技有限公司 一种基于空间坐标系的路径规划方法和装置
CN108275293A (zh) * 2017-01-06 2018-07-13 北京京东尚科信息技术有限公司 码垛方法、码垛装置、计算机可读存储介质及电子设备
CN108861619A (zh) * 2018-05-30 2018-11-23 武汉库柏特科技有限公司 一种半离线混合码垛方法、系统及机器人
CN110222862A (zh) * 2018-03-02 2019-09-10 北京京东尚科信息技术有限公司 码垛方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000057129A1 (fr) * 1999-03-19 2000-09-28 Matsushita Electric Works, Ltd. Procede de reconnaissance d'objet tridimensionnel et systeme de collecte de broches a l'aide de ce procede
CN101127076A (zh) * 2007-09-27 2008-02-20 上海交通大学 基于级联分类和哈夫圆变换的人眼状态检测方法
CN102509086A (zh) * 2011-11-22 2012-06-20 西安理工大学 一种基于目标姿态预测及多特征融合的行人目标检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000057129A1 (fr) * 1999-03-19 2000-09-28 Matsushita Electric Works, Ltd. Procede de reconnaissance d'objet tridimensionnel et systeme de collecte de broches a l'aide de ce procede
CN101127076A (zh) * 2007-09-27 2008-02-20 上海交通大学 基于级联分类和哈夫圆变换的人眼状态检测方法
CN102509086A (zh) * 2011-11-22 2012-06-20 西安理工大学 一种基于目标姿态预测及多特征融合的行人目标检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡洪国 等: "码垛技术综述", 《组合机床与自动化加工技术》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205836A (zh) * 2015-09-30 2015-12-30 天脉聚源(北京)科技有限公司 碰撞检测的方法和装置
CN105205836B (zh) * 2015-09-30 2018-09-25 天脉聚源(北京)科技有限公司 碰撞检测的方法和装置
CN108275293A (zh) * 2017-01-06 2018-07-13 北京京东尚科信息技术有限公司 码垛方法、码垛装置、计算机可读存储介质及电子设备
CN108275293B (zh) * 2017-01-06 2020-06-05 北京京东尚科信息技术有限公司 码垛方法、码垛装置、计算机可读存储介质及电子设备
CN107511825A (zh) * 2017-08-31 2017-12-26 广州泰行智能科技有限公司 一种基于机械臂的路径规划方法和装置
CN107717984A (zh) * 2017-08-31 2018-02-23 广州泰行智能科技有限公司 一种基于空间坐标系的路径规划方法和装置
CN110222862A (zh) * 2018-03-02 2019-09-10 北京京东尚科信息技术有限公司 码垛方法和装置
CN108861619A (zh) * 2018-05-30 2018-11-23 武汉库柏特科技有限公司 一种半离线混合码垛方法、系统及机器人

Also Published As

Publication number Publication date
CN102799725B (zh) 2014-10-15

Similar Documents

Publication Publication Date Title
CN102799725B (zh) 一种搬运机器人进行离线码垛时有效码垛区域的确定方法
CN103942670B (zh) 一种钢绞线产成品仓储与配运方法
CN101866179B (zh) 三维空间约束下的船舶分段吊装仿真系统
CN102774661B (zh) 一种用于搬运机器人的垛型生成方法
Wiese et al. Mathematical models and solution methods for optimal container terminal yard layouts
CN106773686B (zh) 同轨双车运行模式下堆垛机调度路径模型建立方法
CN107098095A (zh) 高密度立体仓库的出入库方法
CN105373909A (zh) 一种基于仿真软件的物流配送中心选址方法
CN103942400B (zh) 集装箱码头堆场箱区的箱量分配优化与仿真系统
CN104866986A (zh) 一种钢铁板坯入库控制方法
CN114862063B (zh) 一种在线混合码垛的方法、系统、电子装置和存储介质
CN105427064A (zh) 一种基于吊车定位系统的钢卷库存控制方法
CN105858043A (zh) 一种升降机与穿梭车结合的仓储系统优化调度方法
CN101533525B (zh) 一种用于地理信息系统中的点面叠加分析方法
CN105279797A (zh) 一种三维仓库组件模型建立方法
CN113298820B (zh) 一种料堆盘库的方法及系统
CN112699452A (zh) 一种提高大面积地坪平整度的施工方法
CN114692237B (zh) 基于多模态评估指标的混合码垛方法、装置、设备及介质
KR102001318B1 (ko) 3차원 저장소적재 모델 알고리즘을 이용한 블록배치 최적화 방법
CN114170847B (zh) 一种移动机器人系统的交通管制方法
CN103020355B (zh) 一种实现船舶曲面分段空间布局调度的方法
CN112100726B (zh) 平面正交多轴向承台钢筋智能化生成方法
CN103927618A (zh) 一种bom物料处理方法
CN211626614U (zh) 焦炉地面头尾焦斗料位的检测装置
CN102799712A (zh) 一种混凝土结构三维模型的快速配筋方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING CYB BOT SCIENCE + TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIHANG UNIVERSITY

Effective date: 20150820

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150820

Address after: 100070 Beijing city Fengtai District No. 2 floor seven room 815 Fung Fu Road

Patentee after: Beijing Sai Baite Science and Technology Ltd.

Address before: 100191 Haidian District, Xueyuan Road, No. 37,

Patentee before: Beihang University

CB03 Change of inventor or designer information

Inventor after: Yang Qing

Inventor after: Liu Guoliang

Inventor after: Wang Tingyou

Inventor before: Chen Youdong

Inventor before: Zou Yujing

Inventor before: Wei Hongxing

Inventor before: Liu Xin

Inventor before: Min Huasong

COR Change of bibliographic data
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160613

Address after: 3059 room 1, building 1, Lingang Economic Zone, Binhai New Area, Tianjin, 300450

Patentee after: Tianjin Sibert Technology Co. Ltd.

Address before: 100070 Beijing city Fengtai District No. 2 floor seven room 815 Fung Fu Road

Patentee before: Beijing Sai Baite Science and Technology Ltd.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wei Qi

Inventor after: Yang Qing

Inventor after: Liu Guoliang

Inventor after: Wang Tingyou

Inventor before: Yang Qing

Inventor before: Liu Guoliang

Inventor before: Wang Tingyou

CP03 Change of name, title or address

Address after: 301700 Tianjin District of Wuqing City Automobile Industrial Park Cloud View Road 916-19 Automotive Building 1 (central office)

Patentee after: Tianjin best technology Co., Ltd.

Address before: 3059 room 1, building 1, Lingang Economic Zone, Binhai New Area, Tianjin, 300450

Patentee before: Tianjin Sibert Technology Co. Ltd.

CP03 Change of name, title or address