CN113390415A - 机器人的定位方法、定位装置、管理系统和存储介质 - Google Patents
机器人的定位方法、定位装置、管理系统和存储介质 Download PDFInfo
- Publication number
- CN113390415A CN113390415A CN202110627563.3A CN202110627563A CN113390415A CN 113390415 A CN113390415 A CN 113390415A CN 202110627563 A CN202110627563 A CN 202110627563A CN 113390415 A CN113390415 A CN 113390415A
- Authority
- CN
- China
- Prior art keywords
- robot
- coordinate
- node
- determined
- determining
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012850 discrimination method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000004927 fusion Effects 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- 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/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请公开了一种机器人的定位方法,所述方法包括:接收机器人上传的实际位置坐标,并将所述实际位置坐标转化为所述机器人所处地图对应的有向加权图中的第一坐标,其中所述有向加权图由若干节点和若干边组成;读取预先记录的节点坐标,并根据所述第一坐标以及所述节点坐标确定所述机器人是否处于节点上;当确定所述机器人不处于节点上时,确定所述机器人在所述有向加权图的边上的位置坐标。本申请还提供一种定位装置、管理系统以及计算机可读存储介质。实现了快速准确的机器人定位,提高机器人定位的效率。
Description
技术领域
本申请涉及人工智能控制以及定位技术领域,尤其涉及一种机器人的定位方法、定位装置、管理系统和计算机可读存储介质。
背景技术
随着人工智能技术的发展和不断完善,智能机器人越来越广泛的被应用在人们的生活和工作中。比如在消防领域替代消防人员完成危险的任务,再比如代替人们完成日常工作以提高日常工作效率。
而在控制机器人完成相关的工作时,合理且准确的对机器人进行调度和管理是即为重要的,比如如何准确的知晓机器人在执行任务时所处的位置。
现有的机器人的定位方式中,使用定位与导航的融合实现对机器人位置的确定,而这种方式的处理效率较低,并不能快速的实现对机器人位置的定位。再者会在轨迹的某些点位上设置扫描,来确定机器人的位置,而这种方式在机器人数量较多时会存在计算处理效率较低的情况。
因此,现在亟需一种提高定位准确定和效率的机器人定位方法。
发明内容
本申请提供一种机器人的定位方法、定位装置、管理系统和计算机可读存储介质,以实现快速准确的机器人定位,提高机器人定位的效率。
第一方面,本申请提供的一种机器人的定位方法,所述方法包括:
接收机器人上传的实际位置坐标,并将所述实际位置坐标转化为所述机器人所处地图对应的有向加权图中的第一坐标,其中所述有向加权图由若干节点和若干边组成;
读取预先记录的节点坐标,并根据所述第一坐标以及所述节点坐标确定所述机器人是否处于节点上;
当确定所述机器人不处于节点上时,确定所述机器人在所述有向加权图的边上的位置坐标。
第二方面,本申请还提供一种定位装置,所述定位装置包括处理器和存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现如上述所述的机器人的定位方法。
第三方面,本申请还提供一种管理系统,所述系统包括若干机器人以及如上述所述的定位装置。
第四方面,本申请还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述的机器人的定位方法的步骤。
本申请描述的机器人的定位方法中,在对机器人的位置进行定位时,首先接收到机器人所上传的实际位置坐标,并将所接收到的实际位置坐标转为在机器人所处地图对应的有向加权图中的第一坐标,然后读取预先记录的节点坐标以构建KD Tree进行搜索,以确定机器人当前是否在节点上,而在确定机器人不在节点上时,将会根据所转化得到的第一坐标在有向加权图中确定此时机器人的具体位置,即在有向加权图的某一边上的位置坐标,进而实现对机器人在有向加权图中的位置定位。实现了机器人坐标到自定义地图上的映射关系,快速准确的完成对机器人位置的确定和定位。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施例提供的管理系统的框图示意图;
图2为本申请一个实施例提供的一种机器人的定位方法的流程示意图;
图3为本申请一实施例提供的确定机器人是否处于节点上的步骤的流程示意图;
图4为本申请一实施例提供的确定机器人位置坐标的步骤的流程示意图;
图5为本申请一实施例提供的确定机器人是否脱轨的步骤的流程示意图;
图6为本申请另一实施例提供的确定机器人的位置坐标的步骤的流程示意图;
图7为本申请一个实施例提供的定位装置的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种机器人的定位方法、定位装置、管理系统和存储介质,以提高机器人定位的准确性。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1为本申请一个实施例提供的管理系统的框图示意图。
具体地,该系统包含有若干机器人以及定位装置。在实际应用中,在管理系统接收到机器人所上传的实际位置坐标时,确定此时机器人在有向加权图上的实际位置,确定是在有向加权图的节点上还是在边上,同在确定不再节点上时,由于并不一定完全的处于边上,因此将确定机器人在有向加权图的边上的位置坐标,以便于后续在对机器人进行控制时,比如路径规划,可以快速的完成控制操作。
在本申请所对应的管理系统中,该管理系统100包括若干机器人,如第一机器人101、第二机器人102……第N机器人10n,以及定位装置10,定位装置10通过对所接收机器人所上传的实际位置坐标,并确定实际位置坐标在预设的有向加权图中的所对应的第一位置坐标,然后通过分析处理确定此时机器人的是否处于有向加权图的节点上,具体地通过KDTree进行索引搜索确定此时所得到的第一位置坐标是否处于节点上,也就是确定第一位置坐标是否为节点坐标,进而在确定不处于节点上时,确定其在有向加权图的边上的位置坐标,以实现对机器人在有向加权图中的位置的行为。
请参阅图2,图2为本申请一个实施例提供的一种机器人的定位方法的流程示意图。
步骤S201、接收机器人上传的实际位置坐标,并将所述实际位置坐标转化为在所述机器人所处地图对应的有向加权图中的第一坐标。
机器人的实际位置坐标是可以实时获取的,机器人在运行过程中,实时对自身的位置信息进行采集和获取,然后将获取到的机器人的位置信息上传给控制管理系统,以使得管理系统知晓机器人的在地图中的具体位置,进而合理且准确的实现对机器人的控制。
需要说明的是,对应机器人获取自身的位置信息的方式不限,可以是通过设置在机器人上的位置采集装置,如GPS定位装置,来获取的,还可以是其他的方式来得到的。
在一实施例中,在接收到机器人所上传的实际位置坐标时,为了实现对机器人位置的定位,此时将会将机器人的实际位置坐标进行转化,以转化为系统可以识别和使用的位置信息,具体地,将所接收到的实际位置坐标转化为该机器人所处地图对应的有向加权图中的第一坐标,也就是机器人在实际的空间中的实际位置坐标,通过坐标转化可以确定机器人在所处地图对应的有向加权图中的坐标,即第一坐标。
其中,有向加权图是对地图进行自定义处理之后的地图。具体地,有向加权图是在有向图的基础上,通过给边的赋予相应的权重信息而得到,且有向图是由一些小圆点(称为顶点或节点,对应地图中的任务点、枢纽点、拐点等)和连接这些小圆点的直线或曲线(称为边,对应地图中的可供机器人同行的路径等)组成。当然,在有向加权图中,对于不属于节点和边上的位置,也会有其对应的坐标。而在一实施例中,有向加权图中包含有两部分:节点和边,其中,边可以是直线也可以是曲线,然后通过在进行路径规划时通过赋予路径相应的权重,以实现对机器人的路径规划。
对于实际的空间地图与有向加权图之间的关系,就是将空间地图进行融合以得到一个有向加权图。示例性的,由于机器人所处空间并不一定是一个平面环境,也就是机器人的工作环境可能是一个具有不同层的空间,比如一个具有多层的仓库,而为了更加快速的实现对机器人的控制,如路径规划,将会将各个层的地图信息进行融合,以得到包含有所有地图的一个有向加权图。具体地,在进行空间地图的融合时,以地图之间的连接点作为在一张地图上的共用点,然后将每个地图添加到所融合的地图中,进而还可以通过转化得到进行融合之后的地图的有向加权图。
而在接收到机器人所上传的实际位置坐标时,通过融合得到有向加权图的融合方式,可以确定机器人在有向加权图中所对应的坐标。示例性的,在进行融合时,对于处于同一平面上的不同位置,可以是通过比例放缩所得到的,而对于处于不同平面上的位置,则需要进行特定的标记。因此在确定实际位置坐标在有向加权图中的坐标时,此时可以通过融合时所设定的放缩比例以及相对位置关系,确定在有向加权图中的第一坐标。
比如,实际位置坐标可以使用经纬度方式表示,此时可以选择一个固定位置,通过确定实际位置坐标与固定位置之间的相对位置关系,以得到其在有向加权图中的第一坐标。
步骤S202、读取预先记录的节点坐标,并根据所述第一坐标以及所述节点坐标确定所述机器人是否处于节点上。
在有向加权图中,机器人的位置可以分为两类,一类为机器人的位置在节点上,另一类为机器人的位置在边上。当然在机器人的实际运动过程中,并不一定能保证机器人完完全全的在节点上或者边上,而是会在节点或者边的周围。
以节点为例,在确定机器人处于节点上时,并不一定是要机器人的坐标与节点的坐标完全一致,而是两者之间的坐标差在所设定的范围内,便确定此时机器人在某一个节点上。
同样地,以边为例,有向加权图中的边代表着机器人的可运行轨迹,而通常对于轨迹道路的设定是会设定一个宽度,但是在有向加权图中,边的设定通常会设定为一个中间状态,也就是选择道路的中间为连接两个节点的边,因此在实际的坐标转化过程中,即使机器人在正确的轨道上运行,也可能会存在第一坐标并不完全在边上。而在进行机器人路径规划时,是利用节点和边来实现路径规划的,因此需要准确的定位机器人在边上的具体位置,进而才能更好的实现路径的规划以及作业任务的执行。
在一实施例中,在通过转化得到了机器人在有向加权图中的第一坐标之后,将会确定机器人是否处于节点上。具体地,在确定机器人是否处于节点上时,通过对有向加权图中的节点坐标的搜索和对比计算,确定第一坐标与各节点坐标之间的位置关系,进而确定机器人是否在节点上。
实际上,确定机器人是否处于节点上,可以转化为在有向加权图中找到与机器人的第一坐标最近的节点坐标,然后根据两者之间的距离判断机器人是否在该节点上。参照图3,图3为本申请一实施例提供的确定机器人是否处于节点上的步骤的流程示意图。
其中,该过程包括步骤S301至步骤S303。
步骤S301、获取预先记录的节点坐标,并根据所述节点坐标构建KD Tree;
步骤S302、根据所述第一坐标在所述KD Tree中进行搜索和计算,得到与所述第一坐标距离最近的临近坐标;
步骤S303、计算所述第一坐标与所述临近坐标之间的点距离,并根据所述点距离确定所述机器人是否处于节点上。
KD Tree是k-dimensional树的简称,是一种分割k维数据空间的数据结构,用来解决邻搜索的问题。而在一实施例中,利用KD Tree来确定机器人的当前位置与节点位置之间的关系,具体地,通过构建KD Tree实现基于机器人当前位置的最近邻搜索,以确定机器人当前是否靠近节点以及靠近哪一个节点。
在使用KD Tree的方式实现确定机器人的当前位置是否处于节点上时,首先需要构建KD Tree,然后在利用所构建的KD Tree实现对节点的搜索,进而确定机器人当前位置的准确位置。
而在实际应用中,建立KD Tree的步骤可以如下:
1、建立一维数组,存储每一个点的索引,并进行随机打乱;
2、定义合适的KD Tree函数定义,方便进行递归建树;
3、编写分割维度函数;
4、编写选择分割节点函数;
5、KD Tree函数功能实现:选择分割维度,选择分割节点,将节点左边的数据进行递归建立左子树,将节点右边的数据进行递归建立右子树。
在一实施例中,由于机器人的坐标是一个二维坐标,因此只需要构建一个二维的KD Tree,然后利用KD Tree对机器人进行最近邻搜索,可以加速机器人的定位计算过程。
在整个的有向加权图中,节点代表任务和作业的执行位置,并且每一个节点都存在一个坐标,通常情况下,在一个平面地图上,只需要用二维坐标即可将某一个点的位置进行表示,而在一个多维空间中,比如一个三层的仓库中,此时各个点的位置可以使用三维坐标来表示,但是也可以转化为在同一层上的坐标表示,比如将节点中表示层的值去掉,然后使用该层所对应的有向加权图来进行坐标的转化,也就是可以转化为一个二维空间中的点搜索。
在一实施例中,在进行搜索和确定时,首先利用有向加权图中所有的节点构建一个数据结构KD Tree,然后再使用所转化得到的第一坐标在所构建的数据结构KD Tree中进行搜索,确定在KD Tree中各点中与第一坐标相距最近的临近坐标,接着通过计算第一坐标与临近坐标之间的点距离,进而通过点距离来确定是否可以将机器人的位置定位在此时所得到的临近坐标所对应的节点处。
实际上,在数据结构KD Tree中确定所第一坐标距离最近的临近坐标时,通过其所被赋予的最邻近查找算法来实现对临近坐标的获取,比如二叉搜索,通过顺着路径在KDTree中进行搜索确定一个最近的近似点,然后在通过所找到的最近的近似点进行回溯,以确定该点是否为最终的临近点,其中回溯操作为:沿搜索路径反向查找是否有距离查询点更近的数据点。
而在确定了临近坐标之后,将会计算第一坐标与临近坐标之间的点距离,以通过点距离来确定是否可以将第一坐标定位在该临近坐标上,也就是确定机器人是否处于节点上。其中计算两个坐标点之间的距离是直接在坐标系中计算两个点之间的直线距离值,具体为:且第一坐标为(x0,y0),临近坐标为(x1,y1)。
在一实施例中,在得到点距离之后确定机器人是否处于节点上时,通过确定点距离的大小来判断的,具体的包括:将所述点距离与预设阈值进行比较,以根据比较结果确定所述机器人是否处于节点上;其中,若确定所述点距离小于或者等于所述预设阈值,则确定所述机器人处于节点上,并将所述临近坐标作为所述机器人在所述有向加权图中的位置坐标;若确定所述点距离大于所述预设阈值,则确定所述机器人不处于节点上。
由于机器人在实际的运行过程中,并不一定会完完全全的有向加权图的节点或者边上,而通常会存在一定的偏差,但只要机器人没有出现脱轨即可,因此在确定机器人是否处于节点上时,只要确定机器人的位置在节点周围的某一范围内即可,那么在利用点距离进行判断时,将点距离与预设阈值进行比较,通过实际的比较结果确定是否在节点上,其中,若点距离小于或者等于预设阈值,则确定机器人处于节点上,反之则确定机器人不处于节点上。
进一步地,在一实施例中,在确定机器人处于节点上时,也就是确定此时所得到的点距离小于或者等于预设阈值,将会读取所得到的临近坐标,并将所得到的临近坐标作为该机器人在有向加权图中的位置坐标,即利用临近坐标代替机器人所上传的实际位置坐标所对应的第一坐标。
需要说明的是,在确定机器人是否处于节点上时,机器人也可能会出现脱轨的情况,由于在确定机器人处于节点上时机器人不会脱轨,而在机器人不在节点上时才可能会出现脱轨的情况,但是由于在确定机器人不处于节点上时,还会对机器人的位置进行进一步的确定,以确定其是处于边上还是脱轨,因此在根据点距离进行判断时,只需要确定其是否处于节点上,而不需要确定其是否脱轨。
步骤S203、当确定所述机器人不处于节点上时,确定所述机器人在所述有向加权图的边上的位置坐标。
在确定机器人不在节点上,而是处在有向加权图的边上时,根据机器人的实际运行情况,此时将会根据实际的第一坐标确定机器人在有向加权图的边上的位置坐标,以实现对机器人在有向加权图中的定位。
在一实施例中,机器人所处的位置通常会存在又三种情况,包括有:处于节点上、处于边上以及脱轨,因此在确定了机器人不处于节点上的时候,将会确定机器人当前在有向加权图中是处于边上还是处于脱轨状态,而在处于脱轨状态时可以对进行及时的位置调整,避免危险事情的发生。
因此,在确定机器人不处于节点上以确定机器人在有向加权图中的实际位置时,参照图4,图4为本申请一实施例提供的确定机器人位置坐标的步骤的流程示意图,其中该过程包括步骤S401至步骤S402。
步骤S401、当确定所述机器人不处于节点上时,确定所述机器人是否脱轨;
步骤S402、当确定所述机器人未脱轨时,确定所述机器人在所述有向加权图的边上的位置坐标。
在根据机器人在有向加权图中的第一坐标确定机器人不处于节点上时,此时机器人的位置状态还存在两种情况,分别为脱轨状态以及处于边上的状态,因此在确定机器人不处于节点上时,首先确定机器人是否处于脱轨状态,然后在确定机器人不处于脱轨状态时,根据预先得到的机器人所对应的第一坐标确定机器人在有向加权图中的位置坐标。
在一实施例中,确定机器人是否脱轨的方式有很多,比如可以是通过机器人与边的实际距离来确定是否脱轨,在机器人距离边的距离过大时确定脱轨,而在机器人距离边的距离在所设定的范围内时说明机器人并未脱轨。
而在确定机器人是否脱轨时,除了通过机器人据边的实际距离来确定,还可以采用几何学上的交叉点数判别法来确定,而在实际的使用过程中,通常是采用水平/垂直交叉点数判别法去判断,其中主要的思想为:如果从P作水平向左的射线的话,如果P在多边形内部,那么这条射线与多边形的交点必为奇数,如果P在多边形外部,则交点个数必为偶数或者零。因此通过该方式也可以快速的确定机器人是否脱轨。
具体的,参照图5,图5为本申请一实施例提供的确定机器人是否脱轨的步骤的流程示意图。
其中,该过程包括步骤S501值步骤S503。
步骤S501、当确定所述机器人不处于节点上时,在所述有向加权图中根据所述第一坐标获取目标边所对应的边信息;
步骤S502、获取预设脱轨阈值,并根据所述边信息以及所述脱轨阈值构建包络图形;
步骤S503、根据交叉点数判别法确定所述机器人在所述包络图形内,以确定所述机器人是否脱轨;其中
若确定所述机器人在所述包络图形内,则确定所述机器人未脱轨;
若确定所述机器人在所述包络图形外,则确定所述机器人脱轨。
在采用交叉点数判别法来确定机器人是否脱轨时,首先需要构建一个图形的环境,因此,在确定机器人不在节点上时,首先根据机器人所对应的第一坐标确定所关联对应的目标边,进而读取预先所存储的与目标边相对应的边信息,其中边信息可以包括由边的起点和终点以及边所对应的边函数等等,在确定了此时所对应的目标边之后,根据预先所设置的脱轨阈值构建一个包络图形,进而在根据交叉点数判别法来确定第一坐标是否在所构建的包络图形中,也就是确定机器人是否脱轨。
在一实施例中,在确定第一坐标所对应的目标边时,可以根据实际的路径规划和实际的任务完成情况来确定。示例性的,在机器人执行所分配的作业时,系统可以对机器人的任务完成状态进行监测,进而确定此时所对应的目标边。在规划好机器人的路径之后,在机器人的运行过程中,每到一个节点(作业点)执行作业时,会将作业执行状态进行记录和上传,比如在进行记录时确定前一个完成作业的节点为节点2,然后根据所规划的路径确定节点2所连接的下一个边为此时所对应的目标边。
示例性的,有向加权图中各边可以分为直线和曲线两种,而曲线可以采用贝塞尔曲线来表述,在实际确定机器人是否脱轨时,贝塞尔曲线的等距曲线并不一定是贝塞尔曲线。此时可以结合计算机的优势,将贝塞尔曲线进行离散分割,针对贝塞尔曲线上每一个分割的点,计算出点的法线方向向量,沿着法线方向向量的方向上下移动d个单位可以创个两个点,其中d为脱轨阈值,将这些点按照顺序连接组成贝塞尔曲线上下包络线,而包络线是一个包含很多点的多边形,该多边形近似为贝塞尔曲线的等距曲线,也就是会组成一个包络多边形,最后再采用水平/垂直交叉点数判别法可以快速判断第一坐标是否在该多边形内。
显然,在确定机器人是否脱轨时会存在有两种情况,一种为未脱轨,另一种为脱轨。在确定机器人脱轨时,可以结合机器人所分配的作业和任务给工作人员发送相关的提示信息,以使得工作人员可以及时的对机器人进行控制和调整。而在确定机器人未脱轨时,将需要确定机器人在目标边上的具体位置,也就是确定机器人的位置在目标边上的等价位置。
参照图6,图6为本申请另一实施例提供的确定机器人的位置坐标的步骤的流程示意图。
其中,该过程包括步骤S601值步骤S603。
步骤S601、当确定所述机器人未脱轨时,读取据所述边信息所包含的边函数;
步骤S602、根据所述第一坐标以及所述边函数,确定所述第一坐标与所述边信息所对应的特征值;
步骤S603、根据所述特征值得到所述机器人在所述目标边上的位置坐标。
步骤S601、当确定所述机器人未脱轨时,确定所述第一坐标在所处的目标边上的投影点;
步骤S602、确定所述第一坐标与所述投影点的距离值;
步骤S603、根据所述对应点及距离值,得到所述机器人在所述目标边上的位置坐标。
在确定机器人未脱轨时,此时将需要确定机器人在对应的目标边上的具体位置,可以通过在目标边上找到与机器人的第一坐标相距最近的投影点,然后通过该点与第一坐标的距离实现对机器人的定位,具体为读取目标边所对应的边函数,然后根据所得到的第一坐标和边函数,计算得到第一坐标与该目标边所对应的点,也就是投影点,进而根据所得到的投影点和距离确定机器人在该目标边上的位置坐标,以实现对机器人在有向加权图中的定位。
在实际应用中,对应点的位置可以通过坐标表达,也可以通过在边函数的特征值表达,可以通过计算该点与第一坐标的欧拉距离确定距离值。以目标边为曲线为例,其所对应的三阶贝塞尔曲线的一般方程为:
B(t)=P0(1-t)3+3P1(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]
其中,P0、P1、P2以及P3为三阶贝塞尔曲线的四个已知的控制点,可以唯一确定一条三阶贝塞尔曲线,t用于描述贝塞尔曲线上点的位置,即特征值,其取值范围为[0,1],随着t值的增大,该点将由曲线的一端滑向另一端。而在确定机器人的位置时,只需要确定此时所对应的t值(即特征值)便可以得到机器人的位置坐标。
而在确定机器人的位置坐标时,需要在对应的目标边上找到近似点,而在寻找近似点时,通过点到线的距离的确定结果来实现近似点的查找。在确定第一坐标与目标边之间的距离值时,采用欧拉距离的方式来计算,其中,距离计算公式如下:
f(t)=||B(t)-P||
其中,P为第一坐标。
那么,此时的t值为:
t=min(f(a),f(b),f(xi))
其中,a和b为贝塞尔曲线的左右端点(t的左右端点),即a=0、b=1,f′(xi)=0,即xi为距离函数f(t)导函数的零点。
而为了求解导函数的零点,可以采用牛顿迭代法、弦截法以及牛顿区间二分法等方法来实现,而为了提高处理效率和稳定性,可采用二分法求解的方式来实现,但在实际的使用过程中是都可以使用的。
此时,求解的重点是f(t)导函数的形式,由于f(t)取最小值时,f2(t)也会是最小值(f(t)>0),因此本项目中以距离函数的平方项g(t)=f2(t)作为目标函数,其计算公式如下:
其中,Bx(t)、By(t)分别是贝塞尔曲线上点的横纵坐标,Px、Py分别是机器人位置的横纵坐标。
在一实施例中,在得到的特征值t之后,可以得到在此特征值t时所对应的在贝塞尔曲线上的坐标值,也就是Bx(t)、By(t),那么此时坐标(Bx(t)、By(t))为机器人在有向加权图的边上的位置坐标。
需要说明的是,而直线是一种特殊的曲线,其所对应的计算方式是三阶贝塞尔曲线对应的一种特殊方式,在此不做具体描述。
另外,在计算得到第一坐标与目标边的距离值时,可以使用该距离值来确定机器人是否脱轨,由于所设定的脱轨阈值为d,那么在计算得到距离值l之后,通过将d与l进行比较,也可以确定机器人是否脱轨。
在上述描述的机器人的定位方法、装置、系统以及存储介质中,在对机器人的位置进行定位时,首先接收到机器人所上传的实际位置坐标,并将所接收到的实际位置坐标转为在机器人所处地图对应的有向加权图中的第一坐标,然后读取预先记录的节点坐标以构建KD Tree进行搜索,以确定机器人当前是否在节点上,而在确定机器人不在节点上时,将会根据所转化得到的第一坐标在有向加权图中确定此时机器人的具体位置,即在有向加权图的某一边上的位置坐标,进而实现对机器人在有向加权图中的位置定位。实现了机器人坐标到自定义地图上的映射关系,快速准确的完成对机器人位置的确定和定位。
如图7所示,图7为本申请一个实施例提供的定位装置的结构示意性框图。该定位装置10包括存储器11和处理器12,处理器11和存储器12通过系统总线13连接,其中,存储器11可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器11执行任意一种机器人的定位方法。
处理器12用于提供计算和控制能力,支撑整个云端服务器的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一机器人的定位方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器12可以是中央处理单元(Central Processing Unit,CPU),该处理器12还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器12可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述存储器中存储有计算机程序,计算机程序被处理器12执行时,使得处理器执行所述计算机程序时实现以下步骤:
接收机器人上传的实际位置坐标,并将所述实际位置坐标转化为所述机器人所处地图对应的有向加权图中的第一坐标,其中所述有向加权图由若干节点和若干边组成;
读取预先记录的节点坐标,并根据所述第一坐标以及所述节点坐标确定所述机器人是否处于节点上;
当确定所述机器人不处于节点上时,确定所述机器人在所述有向加权图的边上的位置坐标。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
获取预先记录的节点坐标,并根据所述节点坐标构建KD Tree;
根据所述第一坐标在所述KD Tree中进行搜索,得到与所述第一坐标距离最近的临近坐标;
计算所述第一坐标与所述临近坐标之间的点距离,并根据所述点距离确定所述机器人是否处于节点上。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
将所述点距离与预设阈值进行比较,以根据比较结果确定所述机器人是否处于节点上;其中
若确定所述点距离小于或者等于所述预设阈值,则确定所述机器人处于节点上;
若确定所述点距离大于所述预设阈值,则确定所述机器人不处于节点上。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
读取所述临近坐标,并将所述临近坐标作为所述机器人在所述有向加权图中的位置坐标进行记录。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
当确定所述机器人不处于节点上时,确定所述机器人是否脱轨;
当确定所述机器人未脱轨时,确定所述机器人在所述有向加权图的边上的位置坐标。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
当确定所述机器人不处于节点上时,在所述有向加权图中根据所述第一坐标获取目标边所对应的边信息;
获取预设脱轨阈值,并根据所述边信息以及所述脱轨阈值构建包络图形;
根据交叉点数判别法确定所述机器人在所述包络图形内,以确定所述机器人是否脱轨;其中
若确定所述机器人在所述包络图形内,则确定所述机器人未脱轨;
若确定所述机器人在所述包络图形外,则确定所述机器人脱轨。
在一个实施例中,所述处理器执行所述计算机程序时还实现以下步骤:
当确定所述机器人未脱轨时,读取据所述边信息所包含的边函数;
根据所述第一坐标以及所述边函数,确定所述第一坐标与所述边信息所对应的目标边的距离值;
确定所述距离值所对应的特征值,并根据所述特征值得到所述机器人在所述目标边上的位置坐标。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的云端服务器的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项机器人的定位方法。
其中,所述计算机可读存储介质可以是前述实施例所述的管理系统的内部存储单元,例如所述管理系统的硬盘或内存。所述计算机可读存储介质也可以是所述管理系统的外部存储设备,例如所述管理系统上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种机器人的定位方法,其特征在于,所述方法包括:
接收机器人上传的实际位置坐标,并将所述实际位置坐标转化为所述机器人所处地图对应的有向加权图中的第一坐标,其中所述有向加权图由若干节点和若干边组成;
读取预先记录的节点坐标,并根据所述第一坐标以及所述节点坐标确定所述机器人是否处于节点上;
当确定所述机器人不处于节点上时,确定所述机器人在所述有向加权图的边上的位置坐标。
2.根据权利要求1所述的方法,其特征在于,所述读取预先记录的节点坐标,并根据所述第一坐标以及所述节点坐标确定所述机器人是否处于节点上,包括:
获取预先记录的节点坐标,并根据所述节点坐标构建KD Tree;
根据所述第一坐标在所述KD Tree中进行搜索,得到与所述第一坐标距离最近的临近坐标;
计算所述第一坐标与所述临近坐标之间的点距离,并根据所述点距离确定所述机器人是否处于节点上。
3.根据权利要求2所述的方法,其特征在于,所述根据所述点距离确定所述机器人坐标是否处于节点上,包括:
将所述点距离与预设阈值进行比较,以根据比较结果确定所述机器人是否处于节点上;
若确定所述点距离小于或者等于所述预设阈值,则确定所述机器人处于节点上;
若确定所述点距离大于所述预设阈值,则确定所述机器人不处于节点上。
4.根据权利要求3所述的方法,其特征在于,所述若确定所述点距离小于或者等于所述预设阈值,则确定所述机器人处于节点上之后,包括:
读取所述临近坐标,并将所述临近坐标作为所述机器人在所述有向加权图中的位置坐标进行记录。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述当确定所述机器人不处于节点上时,确定所述机器人在所述有向加权图的边上的位置坐标,包括:
当确定所述机器人不处于节点上时,确定所述机器人是否脱轨;
当确定所述机器人未脱轨时,确定所述机器人在所述有向加权图的边上的位置坐标。
6.根据权利要求5所述的方法,其特征在于,所述当确定所述机器人不处于节点上时,确定所述机器人是否脱轨,包括:
当确定所述机器人不处于节点上时,在所述有向加权图中根据所述第一坐标获取目标边所对应的边信息;
获取预设脱轨阈值,并根据所述边信息以及所述脱轨阈值构建包络图形;
根据交叉点数判别法确定所述机器人在所述包络图形内,以确定所述机器人是否脱轨;
若确定所述机器人在所述包络图形内,则确定所述机器人未脱轨;
若确定所述机器人在所述包络图形外,则确定所述机器人脱轨。
7.根据权利要求6所述的方法,其特征在于,所述当确定所述机器人未脱轨时,确定所述机器人在所述有向加权图的边上的位置坐标,包括:
当确定所述机器人未脱轨时,确定所述第一坐标在所处目标边上的投影点;
确定所述第一坐标与所述投影点的距离值;
根据所述对应点及距离值,得到所述机器人在所述目标边上的位置坐标。
8.一种定位装置,其特征在于,所述定位装置包括处理器和存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的机器人的定位方法。
9.一种管理系统,其特征在于,所述管理系统包括若干机器人以及如权利要求8所述的定位装置。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述的机器人的定位方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110627563.3A CN113390415B (zh) | 2021-06-04 | 2021-06-04 | 机器人的定位方法、定位装置、管理系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110627563.3A CN113390415B (zh) | 2021-06-04 | 2021-06-04 | 机器人的定位方法、定位装置、管理系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113390415A true CN113390415A (zh) | 2021-09-14 |
CN113390415B CN113390415B (zh) | 2024-03-01 |
Family
ID=77618311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110627563.3A Active CN113390415B (zh) | 2021-06-04 | 2021-06-04 | 机器人的定位方法、定位装置、管理系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113390415B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090197617A1 (en) * | 2008-02-05 | 2009-08-06 | Madhavi Jayanthi | Client in mobile device for sending and receiving navigational coordinates and notifications |
CN102564424A (zh) * | 2011-12-29 | 2012-07-11 | 上海电机学院 | 一种基于多传感器的数据融合方法 |
CN105676172A (zh) * | 2016-01-11 | 2016-06-15 | 无锡知谷网络科技有限公司 | 簇式磁场定位的方法、装置和系统 |
CN110618688A (zh) * | 2019-11-12 | 2019-12-27 | 深圳优艾智合机器人科技有限公司 | 一种巡检机器人系统及其控制方法 |
CN110865393A (zh) * | 2019-11-29 | 2020-03-06 | 广州视源电子科技股份有限公司 | 基于激光雷达的定位方法及系统、存储介质和处理器 |
-
2021
- 2021-06-04 CN CN202110627563.3A patent/CN113390415B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090197617A1 (en) * | 2008-02-05 | 2009-08-06 | Madhavi Jayanthi | Client in mobile device for sending and receiving navigational coordinates and notifications |
CN102564424A (zh) * | 2011-12-29 | 2012-07-11 | 上海电机学院 | 一种基于多传感器的数据融合方法 |
CN105676172A (zh) * | 2016-01-11 | 2016-06-15 | 无锡知谷网络科技有限公司 | 簇式磁场定位的方法、装置和系统 |
CN110618688A (zh) * | 2019-11-12 | 2019-12-27 | 深圳优艾智合机器人科技有限公司 | 一种巡检机器人系统及其控制方法 |
CN110865393A (zh) * | 2019-11-29 | 2020-03-06 | 广州视源电子科技股份有限公司 | 基于激光雷达的定位方法及系统、存储介质和处理器 |
Non-Patent Citations (1)
Title |
---|
彭鹤,等: "一种基于LabView的水质监测系统设计", 中国科技信息, no. 23, pages 88 - 90 * |
Also Published As
Publication number | Publication date |
---|---|
CN113390415B (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020134082A1 (zh) | 一种路径规划方法、装置和移动设备 | |
JP2019512668A (ja) | ルート逸脱認識方法、端末、および記憶媒体 | |
EP3531069A1 (en) | Context based path planning for vector navigation in hexagonal spatial maps | |
CN106441303A (zh) | 一种基于可搜索连续邻域a*算法的路径规划方法 | |
CN109668561B (zh) | 一种室内路径规划方法、终端及可读存储介质 | |
CN110967028A (zh) | 导航地图构建方法、装置、机器人及存储介质 | |
CN113052152A (zh) | 一种基于视觉的室内语义地图构建方法、装置及设备 | |
Bastani et al. | Machine-assisted map editing | |
Agarwal | Robust graph-based localization and mapping | |
Ding et al. | Persistent stereo visual localization on cross-modal invariant map | |
CN112347983B (zh) | 车道线检测处理方法、装置、计算机设备和存储介质 | |
Fermin-Leon et al. | TIGRE: Topological graph based robotic exploration | |
Xu et al. | An efficient algorithm for environmental coverage with multiple robots | |
CN114692357A (zh) | 基于改进元胞自动机算法的三维航路网络规划系统及方法 | |
CN114594772A (zh) | 机器人、路径规划方法、装置和存储介质 | |
Portugal et al. | Extracting Topological Information from Grid Maps for Robot Navigation. | |
Feng et al. | Floorplannet: Learning topometric floorplan matching for robot localization | |
CN110749325B (zh) | 航迹规划方法和装置 | |
Muravyev et al. | Evaluation of topological mapping methods in indoor environments | |
Naumann et al. | Lanelet2 for nuscenes: Enabling spatial semantic relationships and diverse map-based anchor paths | |
Steiner et al. | Location utility-based map reduction | |
CN113390415A (zh) | 机器人的定位方法、定位装置、管理系统和存储介质 | |
Tovar et al. | Using a robot to learn geometric information from permutations of landmarks | |
Tas et al. | High-definition map update framework for intelligent autonomous transfer vehicles | |
Saarinen et al. | Best-first branch and bound search method for map based localization |
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 |