CN113050659B - 一种多台传菜机器人避让调度的方法 - Google Patents
一种多台传菜机器人避让调度的方法 Download PDFInfo
- Publication number
- CN113050659B CN113050659B CN202110423236.6A CN202110423236A CN113050659B CN 113050659 B CN113050659 B CN 113050659B CN 202110423236 A CN202110423236 A CN 202110423236A CN 113050659 B CN113050659 B CN 113050659B
- Authority
- CN
- China
- Prior art keywords
- dish
- node
- path
- robot
- map
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000005540 biological transmission Effects 0.000 claims abstract description 30
- 230000033001 locomotion Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 230000009471 action Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 description 3
- 101100014539 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) get-1 gene Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Acoustics & Sound (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本发明提供了一种多台传菜机器人避让调度的方法,所述方法包括以下步骤:步骤S1、提供一传菜***,传菜***获取待规划路径的目标区域图像,根据目标区域的图像生成目标区域的路径地图,在地图界面上编辑地图,并保存在数据库内;步骤S2、传菜***运行时加载所编辑的地图,生成对应的节点资源、路径资源和自定义资源;步骤S3、通过传菜***规划传菜机器人的行走路径;步骤S4、传菜***根据传菜机器人当前运行速度计算安全距离,根据安全距离获取范围内的地图节点,并根据距离从近到远将每个节点分配给当前机器人;步骤S5、当某个节点未能分配,则使传菜机器人运动到上一个节点并停下避让;本发明能够实现传菜机器人在传菜时进行避让调度。
Description
技术领域
本发明涉及机器人调度技术领域,特别是一种多台传菜机器人避让调度的方法。
背景技术
传菜机器人属于传菜***,在专用平台上移动,负责执行菜品的运输任务,并配合传菜***的其他模块进行有序高效的运作。根据餐厅的面积大小,传菜***下可能有几十台到上百台传菜机器人同时工作,如果不能有效的避让调度,机器人之间可能相撞、互相死锁,造成***停机,因此多个传菜机器人的避让调度必须稳定高效。
目前,机器人采用超声波传感器感应,主动检测并在检测到其他机器人时停下避让。这种避让方法有以下不足:
1.每个机器人都要使用超声波传感器,容易互相干扰;
2.无法提前预知,无法提前规划改变机器人的行走路线,容易造成机器人路径互相死锁,使***运行效率变低。
发明内容
有鉴于此,本发明的目的是提供一种能够实现传菜机器人在传菜时进行避让调度的多台传菜机器人避让调度的方法。
本发明采用以下方法来实现:一种多台传菜机器人避让调度的方法,所述方法包括以下步骤:
步骤S1、提供一传菜***,传菜***获取待规划路径的目标区域图像,根据目标区域的图像生成目标区域的路径地图,在地图界面上编辑地图,并保存在数据库内;
步骤S2、传菜***运行时加载所编辑的地图,生成对应的节点资源、路径资源和自定义资源;
步骤S3、通过传菜***规划传菜机器人的行走路径;
步骤S4、传菜***根据传菜机器人当前运行速度计算安全距离,根据安全距离获取范围内的地图节点,并根据距离从近到远将每个节点分配给当前机器人;
步骤S5、当某个节点未能分配,则使传菜机器人运动到上一个节点并停下避让;
所述步骤S1进一步具体包括以下步骤:
步骤S11、在传菜***内输入比例、楼层和目标区域图像创建一张地图;
步骤S12、在地图上输入节点名称、类型、二维码和坐标,依次添加出菜点、餐桌、充电点和转弯点;
步骤S13、选中任意两个节点,输入长度,从而得到路径,将路径添加至传菜***内;
步骤S14、将节点坐标和节点之间的对应关系进行对齐和填充;
步骤S15、根据目标区域的路径地图要求,添加自定义的资源;
步骤S16、将所有数据保存至传菜***的数据库内;
所述步骤S2进一步具体包括以下步骤:
步骤S21、从数据库中载入编辑的节点列表和路径列表,生成一个有向图;
步骤S22、生成节点资源列表,每个节点资源包含1个节点,容纳一个传菜机器人;
步骤S23、生成短路径资源列表,每个短路径资源包含2个节点,容纳一个传菜机器人;
步骤S24、生成自定义资源列表,每个自定义资源包含的节点数量与所包含的节点数量相同,容纳的传菜机器人数量根据用户设置的值确定;
所述步骤S3进一步具体包括以下步骤:
步骤S31、通过Floyd最短路径算法计算有向图中任意两点间的最短路径,并将结果以起点-终点-经过的节点-路径长度的形式保存为最短路径表;
步骤S32、根据传菜机器人的当前位置和目标位置,查找最短路径表,获取传菜机器人的最短行走路径;
步骤S33、根据传菜机器人任务的优先级,发送行走路径,便于传菜机器人的行动;
所述步骤S33中的优先级为从大到小依次排序为传菜任务、充电任务和待机任务;
所述步骤S4进一步具体包括以下步骤:
步骤S41、传菜机器人根据行走路径进行运动,将传菜机器人的当前每秒移动距离乘以安全数值范围,得出安全避让距离;
步骤S42、根据传菜机器人的尺寸、当前位置、运动方向和安全距离,计算出传菜机器人需使用的区域;
步骤S43、获取地图内所有的节点列表,并获取资源列表和节点列表的交集;
步骤S44、将每个资源分配给当前传菜机器人。
进一步的,所述步骤S41中的安全数值范围为10-15。
本发明的有益效果在于:本发明不需要在传菜机器人上安装超声波传感器,降低成本并且避免了超声波之间的相互干扰;因为传菜机器人的运动由传菜***实时控制,不再需要自行判断;能提前预判,避免碰撞与死锁;因为所有传菜机器人都连接上传菜***,传菜机器人只负责执行指令。
附图说明
图1为本发明的方法流程示意图。
图2为节点列表的示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明提供了一实施例:一种多台传菜机器人避让调度的方法,所述方法包括以下步骤:
步骤S1、提供一传菜***,传菜***获取待规划路径的目标区域图像,根据目标区域的图像生成目标区域的路径地图,在地图界面上编辑地图,并保存在数据库内;
步骤S2、传菜***运行时加载所编辑的地图,生成对应的节点资源、路径资源和自定义资源;
步骤S3、通过传菜***规划传菜机器人的行走路径;
步骤S4、传菜***根据传菜机器人当前运行速度计算安全距离,根据安全距离获取范围内的地图节点,并根据距离从近到远将每个节点分配给当前机器人;
步骤S5、当某个节点未能分配,则使传菜机器人运动到上一个节点并停下避让。
下面通过一具体实施例对本发明进行说明:
输入名称、比例、楼层创建一张新的地图。名称用于区分场景;比例表示每个像素代表多少个毫米,用于地图界面的显示,值越大则一个屏幕内显示的内容越多、元素越密集,取值一般在5-10之间;楼层表示该场景总共有多少层,因为有的餐厅包含多个楼层,有多少个楼层就要有多少张子地图,假设比例为10,则与实际场景的比例是:则1个像素等于10个毫米。
1、在地图上输入节点名称、类型、编号、坐标等信息,依次添加出菜点、餐桌、充电点、转弯点;编号是一个数字,表示二维码图片包含的内容,全地图唯一不重复,
比如这个节点编号是1,我们使用数字1生成一个二维码,然后贴在地上;机器人走到该点,扫码并解析得到数字1,***就可以知道机器人当前位置。
2、选中两个节点,根据实际场地的距离,输入长度(单位毫米),添加短路径,然后依次添加所有短路径;
3、此时的地图还未对齐与填充,依次对齐和填充;
对齐操作的作用:根据节点坐标和节点之间的对应关系进行对齐,提高后续避让的准确性(因为计算避让需要用到节点坐标,要保证地图上的节点坐标准确)。
对齐操作的实现:
(1)坐标系左上角为(0,0), 节点坐标用x和y表示,xy都大于0。计算每个节点的x*x+y*y,找到该值最小的点,将其设置为地图上最左上角的点,并加入已对齐的节点数组AlignNodes中。
(2)对节点列表进行遍历
a)如果当前节点c已在AlignNodes数组中,跳过;
b)如果节点c与AlignNodes中的任意节点e存在短路径连接,判断(c.X-e.X)的绝对值是否大于(c.Y-e.Y)的绝对值。如果是,则判定该短路径为水平的;否则判定该短路径是垂直的。
c)如果短路径p是垂直的,则将c的x坐标修改为e的x坐标,将c的y坐标修改为e.y+p的长度/地图比例。如果短路径p是水平的,则将c的x坐标修改为e.x+p的长度/地图比例,将c的y坐标修改为e的外坐标。
d)节点c对齐成功,加入AlignNodes数组。
(3)全部节点都遍历或对齐,对齐操作结束。
填充操作的作用:因为机器人行走过程中需要通过二维码不断校准定位,所以150mm到500mm左右布置一个二维码是比较合适的,否则会影响机器人的行走。手动加二维码太繁琐,所以使用程序进行填充。
填充操作的实现:
(1)找出所有长度大于500的短路径,加入数组edges中
(2)遍历edges数组,计算填充的路径长度列表fills.
a)如果当前短路径e的长度length减去500大于150,则向该路径中***一个500长度的路径,并向fills数组添加一个值为500的元素。将length修改为length-500;重复本步骤,直到条件不满足。
b)如果e的长度length大于500,fills数组加入两个e/2。
c)获取x方向的像素单位xUnit=e的终点X坐标-e的起点X坐标
d)获取y方向的像素单位yUnit=e的终点Y坐标-e的起点Y坐标
e)遍历fills数组,依次向地图添加填充的节点
i.获取当前遍历次数n,获取当前fills数组的前n项之和fill_length.
ii.将节点x坐标设置为e的起点X坐标+fill_length*xUnit
iii.将节点y坐标设置为e的起点Y坐标+fill_length*yUnit
iv.随机生成一个节点名称和一个二维码(不重复即可)
v.将该节点加入到地图中,并加入到fillNodes数组中。
f)删除当前的短路径e。
从i=0开始至i<fillNodes.Count,遍历fillNodes数组,在第i个节点fillNodes[i]和第i+1节点fillNodes[i+1]之间创建短路径,长度设置为fills[i],并加入到地图中。
4、根据场地的特殊要求(比如某个区域只能容纳一个机器人等),手动添加自定义资源,属性包括:节点列表,行走方向,可容纳机器人数量等。
5、将所有数据保存到数据库中。
6、加载地图,生成资源
6.1 从数据库载入之前编辑的节点列表、短路径列表,生成一个有向图。有向图是一组节点和边的对应关系,在这里的作用是支持后续Floyd最短路径算法的计算。是指一个有序三元组(V(D),A(D),ψD),其中ψD)为关联函数,它使A(D)中的每一个元素(称为有向边或弧)对应于V(D)中的一个有序元素(称为顶点或点)对。总的来说无向图就是两个点之间如果有路径,肯定可以双向通行;有向图两个点之间如果有路径,可能双向通行,也可能只能单向通行。
6.2 生成节点资源列表,每个节点资源包含1个节点,可容纳一个机器人。
6.3 生成短路径资源列表,每个短路径资源包含2个节点,可容纳一个机器人。
6.4 生成自定义资源列表,每个自定义资源包含的节点数量与所包含的节点数量相同,可容纳的机器人数量根据手动设置的值确定。
7、规划机器人行走路径
7.1 通过Floyd最短路径算法初始化有向图中任意两点间的最短路径,并将结果以【起点-终点-经过的节点-路径长度】的形式保存为最短路径表。
初始化的过程如下:
a. 创建一个邻接矩阵Dist,用来存放两个点之间的距离,如果两个点没有直接相连那么默认为int的最大值(2147483647),表示不可到达)。
b. 创建一个矩阵P,用来存放两点之间的中间点的编号middle。
c. 遍历图中每一个点对点的关系(i-j),尝试***一个中间点,如果距离因为加入的点而发生最小距离变化,那么将Dist[i,j]修改为新的最小距离,将P[i,j]修改为中间点的编号
d.重复上述操作,直到所有点都判断完成。
7.2 根据机器人的当前位置和目标位置,查找最短路径表,获取最短的行走路径。
查找的过程如下:
1.获取起始点的编号start,获取终点的编号end。
2.判断矩阵P[start,end]的值。如果大于-1,则起始点到终点之间有中间点,继续获取起始点到中间点的最短路径P[start,middle],以及中间点到终点的最短路径P[middle,end];如果小于等于-1,则起始点到终点之间的直接路径就是最短路径。
3.递归第2步,得到最终的最短路径。
举例:
假设机器人当前在[出菜点],要前往餐桌2。
使用出菜点和餐桌2,查找最短路径表,得到中间节点R1,表示要经过R1。
使用出菜点和R1,查找最短路径表,得到-1,表示已经为最短路径。
使用R1和餐桌2,查找最短路径表,得到-1,表示已经为最短路径。
得到最短路径 出菜点-R1-餐桌2。
7.3 根据机器人任务的类型和创建时间,按照传菜任务>充电任务>待机任务、创建时间越早越优先的优先级,发送行走路径,控制机器人运动。
8、机器人根据行走路径开始运动,将机器人的当前每秒移动距离乘以10,得到安全避让距离。距离*10得到一个10倍长的距离,这个值可以调整,值越大则受网络的影响越小,但是会降低效率
8.1根据机器人尺寸、当前位置、运动方向、安全距离,计算出一个矩形区域,该区域表示机器人当前要使用的场地。
矩形区域的具体的计算过程如下:
假设机器人长度为L、宽度为W,当前坐标位置为X、Y,运动方向为A【范围为0到270之间】,安全距离为D。
根据Y-W/2得到机器人的顶部位置Top
根据Y+W/2得到机器人的底部位置Bottom
根据X-L/2得到机器人的左侧位置Left
根据X+L/2得到机器人的右侧位置Right
判断运动方向A的值
如果为0:将Top的值减去安全距离D并更新
如果为180:将Bottom的值加上安全距离D并更新
如果为90:将Right的值加上安全距离D并更新
如果为270:将Left的值减去安全距离D并更新
将最新的Top、Bottom、Left、Right,作为矩形的顶部边位置、底部边位置、左侧边位置、右侧边位置,得到一个矩形区域。
8.2获取该场地内所有的节点列表,并获取资源列表与节点列表的交集。
8.3尝试将每个资源分配给当前机器人。如果所有资源都分配成功,则控制机器人运动到终点;如果某个节点所含的资源分配失败,则命令机器人在上一个节点停下避让。
举例:假设当前机器人A长宽为500mm,位置在节点F-8(坐标为1000,300),朝向为向右,速度为500mm每秒。
1、计算该机器人的使用场地;
计算安全距离为500*10=5000mm。
矩形区域的顶部为当前y坐标-250=50;
矩形区域的底部为当前y坐标+250=550;
矩形区域的左侧为当前x坐标-250=750;
矩形区域的右侧位当前x坐标+安全距离5000=6000;
2、获取坐标在该区域内的节点列表,请参阅图2所示,
得到F-8、F-9、F-10、F-11、R1、F-12、R2;
3、获取资源列表与节点列表的交集
得到节点资源F-8、节点资源F-9、节点资源F-10、节点资源F-11、节点资源R1、节点资源F-12、节点资源R2;路径资源[F-8,F-9]、路径资源[F-9,F-10]、路径资源[F-10,F-11]、路径资源[F-11,R1]、路径资源[R1,F-12]、路径资源[F-12,R2];
4、分配资源
第3步得到的全部资源都可以分配给当前机器人,进行分配,并将每个资源标记为正在被A使用中。此时B机器人从F-22向上运动,由于无法分配到节点资源R1,所以停下等待;直到A机器人行走至F-12,资源R1被释放并分配给B机器人,B机器人才能继续行走,避免了碰撞。
总之,在传菜***中,有几十台传菜机器人同时工作,如果使用***实时控制每台机器人,而不是让机器人自行处理,就可以提高***的整体运行效率;传菜机器人通过摄像头识别场地上地图节点的二维码进行精确定位,因此传菜***将每个地图节点转为***资源,并对其进行合理共享与分配,就可以实现多台机器人的避让调度。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (2)
1.一种多台传菜机器人避让调度的方法,其特征在于,所述方法包括以下步骤:
步骤S1、提供一传菜***,传菜***获取待规划路径的目标区域图像,根据目标区域的图像生成目标区域的路径地图,在地图界面上编辑地图,并保存在数据库内;
步骤S2、传菜***运行时加载所编辑的地图,生成对应的节点资源、路径资源和自定义资源;
步骤S3、通过传菜***规划传菜机器人的行走路径;
步骤S4、传菜***根据传菜机器人当前运行速度计算安全距离,根据安全距离获取范围内的地图节点,并根据距离从近到远将每个节点分配给当前机器人;
步骤S5、当某个节点未能分配,则使传菜机器人运动到上一个节点并停下避让;
所述步骤S1进一步具体包括以下步骤:
步骤S11、在传菜***内输入比例、楼层和目标区域图像创建一张地图;
步骤S12、在地图上输入节点名称、类型、二维码和坐标,依次添加出菜点、餐桌、充电点和转弯点;
步骤S13、选中任意两个节点,输入长度,从而得到路径,将路径添加至传菜***内;
步骤S14、将节点坐标和节点之间的对应关系进行对齐和填充;
对齐操作的实现:
(1)坐标系左上角为(0,0),节点坐标用x和y表示,xy都大于0; 计算每个节点的x*x+y*y,找到该值最小的点,将其设置为地图上最左上角的点,并加入已对齐的节点数组AlignNodes中;
(2)对节点列表进行遍历
a)如果当前节点c已在AlignNodes数组中,跳过;
b)如果节点c与AlignNodes中的任意节点e存在短路径连接,判断(c.X-e.X)的绝对值是否大于(c.Y-e.Y)的绝对值。如果是,则判定该短路径为水平的;否则判定该短路径是垂直的;
c)如果短路径p是垂直的,则将c的x坐标修改为e的x坐标,将c的y坐标修改为e.y+p的长度/地图比例; 如果短路径p是水平的,则将c的x坐标修改为e.x+p的长度/地图比例,将c的y坐标修改为e的外坐标;
d)节点c对齐成功,加入AlignNodes数组;
(3)全部节点都遍历或对齐,对齐操作结束;
填充操作的作用:因为机器人行走过程中需要通过二维码不断校准定位,所以150mm到500mm左右布置一个二维码是比较合适的,否则会影响机器人的行走; 手动加二维码太繁琐,所以使用程序进行填充。
填充操作的实现:
(1)找出所有长度大于500的短路径,加入数组edges中
(2)遍历edges数组,计算填充的路径长度列表fills;
a)如果当前短路径e的长度length减去500大于150,则向该路径中***一个500长度的路径,并向fills数组添加一个值为500的元素; 将length修改为length-500;
重复本步骤,直到条件不满足;
b)如果e的长度length大于500,fills数组加入两个e/2;
c)获取x方向的像素单位xUnit=e的终点X坐标-e的起点X坐标
d)获取y方向的像素单位yUnit=e的终点Y坐标-e的起点Y坐标
e)遍历fills数组,依次向地图添加填充的节点
i.获取当前遍历次数n,获取当前fills数组的前n项之和fill_length.
ii.将节点x坐标设置为e的起点X坐标+fill_length*xUnit
iii.将节点y坐标设置为e的起点Y坐标+fill_length*yUnit
iv.随机生成一个节点名称和一个二维码(不重复即可)
v.将该节点加入到地图中,并加入到fillNodes数组中;
f)删除当前的短路径e;
从i=0开始至i<fillNodes.Count,遍历fillNodes数组,在第i个节点fillNodes[i]和第i+1节点fillNodes[i+1]之间创建短路径,长度设置为fills[i],并加入到地图中;
步骤S15、根据目标区域的路径地图要求,添加自定义的资源;
步骤S16、将所有数据保存至传菜***的数据库内;
所述步骤S2进一步具体包括以下步骤:
步骤S21、从数据库中载入编辑的节点列表和路径列表,生成一个有向图;
步骤S22、生成节点资源列表,每个节点资源包含1个节点,容纳一个传菜机器人;
步骤S23、生成短路径资源列表,每个短路径资源包含2个节点,容纳一个传菜机器人;
步骤S24、生成自定义资源列表,每个自定义资源包含的节点数量与所包含的节点数量相同,容纳的传菜机器人数量根据用户设置的值确定;
所述步骤S3进一步具体包括以下步骤:
步骤S31、通过Floyd最短路径算法计算有向图中任意两点间的最短路径,并将结果以起点-终点-经过的节点-路径长度的形式保存为最短路径表;
步骤S32、根据传菜机器人的当前位置和目标位置,查找最短路径表,获取传菜机器人的最短行走路径;
步骤S33、根据传菜机器人任务的优先级,发送行走路径,便于传菜机器人的行动;
所述步骤S33中的优先级为从大到小依次排序为传菜任务、充电任务和待机任务;
所述步骤S4进一步具体包括以下步骤:
步骤S41、传菜机器人根据行走路径进行运动,将传菜机器人的当前每秒移动距离乘以安全数值范围,得出安全避让距离;
步骤S42、根据传菜机器人的尺寸、当前位置、运动方向和安全距离,计算出传菜机器人需使用的区域;
步骤S43、获取地图内所有的节点列表,并获取资源列表和节点列表的交集;
步骤S44、将每个资源分配给当前传菜机器人。
2.根据权利要求1所述的一种多台传菜机器人避让调度的方法,其特征在于:所述步骤S41中的安全数值范围为10-15。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110423236.6A CN113050659B (zh) | 2021-04-20 | 2021-04-20 | 一种多台传菜机器人避让调度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110423236.6A CN113050659B (zh) | 2021-04-20 | 2021-04-20 | 一种多台传菜机器人避让调度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113050659A CN113050659A (zh) | 2021-06-29 |
CN113050659B true CN113050659B (zh) | 2022-05-31 |
Family
ID=76519839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110423236.6A Active CN113050659B (zh) | 2021-04-20 | 2021-04-20 | 一种多台传菜机器人避让调度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113050659B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114170847B (zh) * | 2021-11-09 | 2023-10-27 | 浙江柯工智能***有限公司 | 一种移动机器人***的交通管制方法 |
CN114706393A (zh) * | 2022-03-30 | 2022-07-05 | 上海擎朗智能科技有限公司 | 多机器人运行场景的避让方法以及应用其的机器人 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593110A (zh) * | 2009-06-17 | 2009-12-02 | 厦门敏讯信息技术股份有限公司 | 一种判断坐标点是否属于区域的方法 |
CN106123898A (zh) * | 2016-06-15 | 2016-11-16 | 成都新橙北斗智联有限公司 | 基于图片解析的室内路径规划方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10386200B2 (en) * | 2014-01-28 | 2019-08-20 | Aisin Aw Co., Ltd. | Map display system, method, and program |
CN106646513A (zh) * | 2016-12-29 | 2017-05-10 | 上海遥薇(集团)有限公司 | 一种基于智能机器人的地图构建***和地图导航方法 |
JP6811335B2 (ja) * | 2017-09-29 | 2021-01-13 | 日立オートモティブシステムズ株式会社 | 自動運転シミュレータ及び自動運転シミュレータ用地図生成方法 |
CN109269506A (zh) * | 2018-10-31 | 2019-01-25 | 北京猎户星空科技有限公司 | 移动机器人的地图创建方法、装置、机器人及*** |
CN109883418A (zh) * | 2019-01-17 | 2019-06-14 | 中国科学院遥感与数字地球研究所 | 一种室内定位方法及装置 |
CN112083722B (zh) * | 2020-08-27 | 2023-08-04 | 广州赛特智能科技有限公司 | 一种移动机器人多机多楼层调度***及调度方法 |
-
2021
- 2021-04-20 CN CN202110423236.6A patent/CN113050659B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593110A (zh) * | 2009-06-17 | 2009-12-02 | 厦门敏讯信息技术股份有限公司 | 一种判断坐标点是否属于区域的方法 |
CN106123898A (zh) * | 2016-06-15 | 2016-11-16 | 成都新橙北斗智联有限公司 | 基于图片解析的室内路径规划方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113050659A (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113050659B (zh) | 一种多台传菜机器人避让调度的方法 | |
JP7518098B2 (ja) | 倉庫保管タスク処理方法と装置、倉庫保管システム、およびストレージ媒体 | |
Liu et al. | Task and path planning for multi-agent pickup and delivery | |
US20210311475A1 (en) | Method, system and apparatus for handling operational constraints for control of unmanned vehicles | |
JP7161040B2 (ja) | コンテキスト拡張マップ・レイヤを与えるためのゾーン・エンジン | |
CN109144100B (zh) | 喷洒控制方法、装置、地面站及存储介质 | |
CN109196433A (zh) | 使用规划的机器人行进路径的导航 | |
CN110989582A (zh) | 基于路径预先占用的多agv自动避让式智能调度方法 | |
CN109146159A (zh) | 一种机器人的配送方法及服务器 | |
JP2019516949A (ja) | 屋内ナビゲーションのための方法、装置及びシステム | |
CN112947414B (zh) | 机器人调度方法、装置、计算机设备及存储介质 | |
CN112198880B (zh) | 一种agv任务分配方法、物流分拣方法及*** | |
CN111539574B (zh) | 用于多机器人的订单派送方法及*** | |
CN111752296B (zh) | 无人机航线控制方法及相关装置 | |
US11468770B2 (en) | Travel control apparatus, travel control method, and computer program | |
CN116442245A (zh) | 服务机器人的控制方法、装置、***及存储介质 | |
JP2024045465A (ja) | 走行制御装置、走行制御方法及びコンピュータプログラム | |
CN113759894A (zh) | 信息处理装置、信息处理方法、信息处理***以及计算机程序 | |
CN113654549A (zh) | 导航方法、导航***、导航设备、搬运***及存储介质 | |
CN113256050A (zh) | 一种机器人环形存储***与agv混合调度方法及*** | |
Kushleyev et al. | Planning for landing site selection in the aerial supply delivery | |
US12007239B2 (en) | Information processing apparatus, information processing method, computer program, and travel management system | |
CN114442608A (zh) | 一种写字楼物流机器人及其控制方法 | |
US11113777B1 (en) | Techniques for detecting and managing congestion within a workspace | |
KR102364312B1 (ko) | 시뮬레이션 장치, 제어 장치 및 시뮬레이션 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |