发明名称 一种搬运机器人进行离线码垛时有效码垛区域的确定方法
摘要 本发明提出一种搬运机器人进行离线码垛时有效码垛区域的确定方法,应用在用户需要自定义垛型数据文件的场景。该方法将货物有效区域的确定问题转换为多边形和矩形的合并问题,首先获取货物的顶点和相邻关系,然后根据相邻关系逐次合并与多边形具有相邻关系的矩形,最后遍历了所有的货物,得到有效玛多区域。在进行合并时,根据相邻的具体情况,设置了出去点和进入点,并通过逆时针矢量游走进行合并,本发明还给出了上面货物码放是否有效的判断方法。本发明方法能够获取自定义码垛时的当前层的有效码垛区域,方法简单快捷,适用于用户自定义垛型数据文件的应用场景中。
申请公布号 CN102799725B 申请公布日期 2014.10.15
申请号 CN201210240090.2 申请日期 2012.07.10
申请人 北京航空航天大学 发明人 陈友东;邹玉静;魏洪兴;刘鑫;闵华松
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 周长琪
主权项 一种搬运机器人进行离线码垛时有效码垛区域的确定方法,用于用户自定义垛型数据时,需要确定当前已放置好货物的层的有效码垛区域的情况,其特征在于,包括如下步骤:步骤1:读取当前货物层中,各货物顶面的顶点坐标以及货物之间的相邻关系;步骤2:从当前货物层中随机选择一个货物h,将该货物h顶面的四个顶点逆向排序,加入多边形A中;步骤3:建立队列Q,将与货物h相邻的所有货物加入队列Q中;步骤4:判断当前队列Q中是否还有货物,若有,从队列Q前端取出第一个货物,标记为C,将与货物C相邻的所有未加入队列Q且未被合并的货物加入队列Q中,货物C顶面的矩形也标记为C,矩形C的四个顶点逆向排序设为b<sub>1</sub>b<sub>2</sub>b<sub>3</sub>b<sub>4</sub>,然后执行步骤5;若队列Q中没有货物了,转步骤7执行;步骤5:设当前多边形A的顶点逆向排序为a<sub>1</sub>a<sub>2</sub>a<sub>3</sub>…a<sub>n</sub>,n为多边形顶点个数,寻找当前多边形A与矩形C的相邻的边;步骤5具体包括如下子步骤:步骤5.1:顺次从多边形A中取一条边a<sub>i</sub>a<sub>i+1</sub>,初始取边a<sub>1</sub>a<sub>2</sub>;步骤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中所有多边形组成了当前货物层的有效码垛区域,开始新的一层的货物放置。
地址 100191 北京市海淀区学院路37号