CN111595340B - 路径确定方法、装置及电子设备 - Google Patents
路径确定方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111595340B CN111595340B CN202010312281.XA CN202010312281A CN111595340B CN 111595340 B CN111595340 B CN 111595340B CN 202010312281 A CN202010312281 A CN 202010312281A CN 111595340 B CN111595340 B CN 111595340B
- Authority
- CN
- China
- Prior art keywords
- target
- path
- node
- wall surface
- 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.)
- Active
Links
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
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- 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)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种路径确定方法、装置及电子设备,涉及导航技术领域。其中,该方法包括:分别获取机器人在目标房间中的第一工作路径的起始路径节点及在目标房间中的第二工作路径的终止路径节点;分别获取经过起始路径节点且垂直于第一墙面的第一垂线、经过终止路径节点且垂直于第一墙面的第二垂线、经过起始路径节点且垂直于第二墙面的第三垂线及经过终止路径节点且垂直于所述第二墙面的第四垂线;从第一垂线、第二垂线、第三垂线以及第四垂线的交点中,获取除起始路径节点和终止路径节点之外的其他交点作为目标节点;根据目标节点确定第一工作路径与第二工作路径之间的路径衔接点。如此,可以减少不同工作路径间的冗余衔接点。
Description
技术领域
本申请涉及导航技术领域,更具体地,涉及一种路径确定方法、装置及电子设备。
背景技术
随着人工智能的发展,机器人在各行各业的应用越来越广泛。一些场景中,机器人可以用于执行一些室内任务。目前,用于为机器人生成执行室内任务的工作路径的方式有许多,但是这些方式计算路径节点准确率不高,导致生成的工作路径包含大量冗余的路径节点,对机器人运动电量和运动时间造成了不必要的消耗。因此,需要为机器人在执行室内任务时进行合理的室内路径规划,以减少机器人的行走路径上的冗余路径节点。
发明内容
有鉴于此,本申请提出了一种路径确定方法、装置及电子设备,以改善上述问题。
第一方面,本申请实施例提供了一种路径确定方法,包括:分别获取机器人在目标房间中的第一工作路径的起始路径节点及在所述目标房间中的第二工作路径的终止路径节点,其中,所述第一工作路径与所述目标房间中的第一墙面对应,所述第二工作路径与所述目标房间中的第二墙面对应;分别获取经过所述起始路径节点且垂直于所述第一墙面的第一垂线、经过所述终止路径节点且垂直于所述第一墙面的第二垂线、经过所述起始路径节点且垂直于所述第二墙面的第三垂线及经过所述终止路径节点且垂直于所述第二墙面的第四垂线;从所述第一垂线、所述第二垂线、所述第三垂线以及所述第四垂线的交点中,获取除所述起始路径节点和所述终止路径节点之外的其他交点作为目标节点;根据所述目标节点确定所述第一工作路径与所述第二工作路径之间的路径衔接点。
第二方面,本申请实施例提供了一种路径确定装置,包括:第一获取模块,用于分别获取机器人在目标房间中的第一工作路径的终止路径节点及在所述目标房间中的第二工作路径的起始路径节点,其中,所述第一工作路径与所述目标房间中的第一墙面对应,所述第二工作路径与所述目标房间中的第二墙面对应;第二获取模块,用于分别获取经过所述起始路径节点且垂直于所述第一墙面的第一垂线、经过所述终止路径节点且垂直于所述第一墙面的第二垂线、经过所述起始路径节点且垂直于所述第二墙面的第三垂线及经过所述终止路径节点且垂直于所述第二墙面的第四垂线;路径确定模块,用于从所述第一垂线、所述第二垂线、所述第三垂线以及所述第四垂线的交点中,获取除所述起始路径节点和所述终止路径节点之外的其他交点作为目标节点;根据所述目标节点确定所述第一工作路径与所述第二工作路径之间的路径衔接点。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述的方法。
本申请提供的方案,分别获取机器人在目标房间中的第一工作路径的起始路径节点和第二工作路径的终止路径节点;分别获取经过起始路径节点且垂直于所述第一墙面的第一垂线、经过终止路径节点且垂直于第一墙面的第二垂线、经过起始路径节点且垂直于所述第二墙面的第三垂线及经过终止路径节点且垂直于第二墙面的第四垂线;从第一垂线、第二垂线、第三垂线以及第四垂线的交点中,获取除起始路径节点和终止路径节点之外的其他交点作为目标节点;根据目标节点确定第一工作路径与第二工作路径之间的路径衔接点。相较于通过机器学习等方式确定的路径衔接点,通过本申请的方案确定的路径衔接点中存在的冗余节点较少,对应地,后续通过该路径衔接点来衔接第一工作路径和第二工作路径所形成的路径包含的冗余节点也比较少。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提供的路径确定方法的流程示意图。
图2示出了根据本申请实施例提供的一种建筑物模型的局部结构示意图。
图3示出了目标房间的墙面位置信息的一种提取方向示意图。
图4示出了一个例子中的目标节点示意图。
图5示出了本申请另一实施例提供的路径确定方法的流程示意图。
图6示出了图5所示实施例中确定墙面对应的工作路径的流程示意图。
图7示出了图5所示步骤S601的子步骤示意图。
图8A示出了一个例子中的两个墙面形成的阴角示意图。
图8B示出了图8A所示的墙面S1和S2的墙线示意图。
图8C示出了另一个例子中的两个墙面形成的阳角示意图。
图8D示出了图8C中的墙面S3和S4的墙线示意图。
图9A示出了一个例子中机器人与目标墙面的位置关系示意图。
图9B示出了另一个例子中机器人与目标墙面的位置关系示意图。
图10示出了图5所示步骤S604的子步骤示意图。
图11A示出了墙线endc与startc平行并且方向相同的示意图。
图11B示出了墙线endc与startc平行但方向相反的示意图。
图11C示出了墙线endc与startc垂直形成阳角的示意图。
图11D示出了一个例子中墙线endc与startc垂直且形成阴角的意图。
图11E示出了墙线endc与startc垂直但不相邻的示意图。
图11F示出了另一个例子中墙线endc与startc垂直且形成阴角的意图。
图11G示出了另一个例子中墙线endc与startc垂直且形成阴角的意图。
图12示出了图5所示实施例中旋转检查的流程示意图。
图13示出了图5所示实施例中平移检查的流程示意图。
图14示出了一个例子中机器人的边界线示意图。
图15示出了一个例子中下发至机器人的任务数据格式的示意图。
图16示出了机器人旋转角度Angle的示意图。
图17是本申请实施例的用于执行根据本申请实施例的路径生成方法的电子设备的框图。
图18是根据本申请实施例的路径生成装置的框图。
图19是本申请实施例的用于保存或者携带实现根据本申请实施例的路径生成方法的程序代码的存储单元。
附图标号:100-电子设备;101-处理器;102-存储器;110-路径确定装置;111-第一获取模块;112-第二获取模块;113-路径确定模块;1900-计算机可读存储介质;1910-程序代码。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
一些实施方式中,移动机器人的室内路径规划可以通过以下方式实现:一、基于传感器的实时路径规划;二、基于机器学习算法的路径规划。前述方式中,若采用方式一,移动机器人难以获取其周围的全局环境信息,因而无法进行合理的路径规划,寻路效率较低。若采用方式二,由于房间内的情况太多,采用机器学习类的算法来计算路径节点的准确率比较低,所确定的路径衔接点中存在大量的冗余节点。
针对上述问题,本申请实施例提出一种路径确定方法、装置及电子设备,可以减少机器人的行走路径上的冗余路径节点,从而有效地减少对机器人运动电量和运动时间的不必要消耗。
请参照图1,图1为本申请一实施例提供的一种路径确定方法的流程示意图,该方法可以应用于任意具有数据处理功能、图像处理功能的电子设备。下面对该方法包括的步骤进行阐述。
步骤S110,分别获取机器人在目标房间中的第一工作路径的起始路径节点及在所述目标房间中的第二工作路径的终止路径节点,其中,所述第一工作路径与所述目标房间中的第一墙面对应,所述第二工作路径与所述目标房间中的第二墙面对应。
其中,电子设备可以从建筑物信息模型(Building Information Modeling,BIM)提取目标房间中构件的位置信息,构件可以是卧室、厨房、客厅等房间,还可以是走廊、过道等开放式的空间。
示例性地,请参照图2,在建筑物模型中,可以提取到玄关、过道、卫生间等构件的位置信息。本实施例中,以构件是房间为例,构件的位置信息可以包括房间内墙面的位置信息、天花板位置信息、地面位置信息、门窗位置信息等。其中,墙面的位置信息可以包括墙面的墙线位置信息、墙面高度信息、墙面长度信息、墙面对应的踢脚线顶部高度信息等。天花板位置信息可以包括天花板底部高度信息,门窗位置信息可以包括门窗长度信息。此外,还可以从建筑物模型中提取房间内的障碍物的位置信息,其中,障碍物例如可以是房间内的柱子等。
本实施例中,可以按照相对于室内的目标方向来依次对房间内每个墙面的墙线位置信息进行提取。其中,目标方向可以是顺时针方向或逆时针方向。比如,在图3所示的目标房间ABCD中,墙线AB、BC、CD、AD分别表示一个墙面的墙线。如果按照相对于室内的顺时针方向依次提取每个墙面的墙线位置信息,则目标房间ABCD中墙线位置信息的提取顺序可以是:AD、AB、BC、CD。其中,这里的墙线可以理解为墙面的一条边线,通常可以是墙面与地面共线的边线。
示例性地,可以获取墙线在建筑物模型中的起点和终点的坐标,来作为墙线的位置信息。
本实施例中,提取的每条墙线具有方向向量,用于指示该墙线的方向,该方向向量可以根据墙线位置信息的提取方向确定。比如,当按照顺时针方向提取时,墙线AD的方向向量为a1,墙线AB的方向向量为a2,墙线BC的方向向量为a3,墙线CD的方向向量为a4。
基于从建筑物模型提取到的构件信息,可以得到机器人在目标房间中针对每个墙面执行室内任务时的工作路径,该工作路径可以包括至少两个路径节点。对应地,第一工作路径可以是机器人针对目标房间中的第一墙面执行室内任务时的工作路径,第二工作路径可以是机器人针对目标房间中的第二墙面执行室内任务时的工作路径。
其中,每个工作路径中的路径节点是按次序排列的,所述次序表示机器人按照该工作路径执行室内任务时的行进方向。工作路径的起始路径节点可以是该工作路径上的第一个路径节点。工作路径的终止路径节点可以是该工作路径上的最后一个工作节点。
本实施例中,机器人可以按照一定次序对目标房间中的墙面执行室内任务。所述次序可以是随机确定的,也可以是预先配置的,本实施例不做限制。S110中,第一墙面和第二墙面可以是室内任务执行次序相邻的两个墙面,其中,第二墙面的执行次序在前,第一墙面的执行次序在后。
步骤S120,分别获取经过所述起始路径节点且垂直于所述第一墙面的第一垂线、经过所述终止路径节点且垂直于所述第一墙面的第二垂线、经过所述起始路径节点且垂直于所述第二墙面的第三垂线及经过所述终止路径节点且垂直于所述第二墙面的第四垂线。
本实施例中,电子设备可以获取起始路径节点、终止路径节点、第一墙面和第二墙面的位置,进而依据获取的位置得到第一垂线、第二垂线、第三垂线和第四垂线的位置信息。
例如图4所示,其中示出了两个墙面endc和startc,机器人可以依次对墙面endc和startc执行室内任务,因此,startc可以视为第一墙面,startc对应的工作路径是第一工作路径;endc可以视为第二墙面,endc对应的工作路径是第二工作路径。startc对应的工作路径上的第一个路径节点是D1,则D1可以视为第一工作路径的起始路径节点;endc对应的工作路径上的最后一个路径节点可以视为第二工作路径的终止路径节点。
在确定上述的D1、Dn、endc和startc的情况下,电子设备可以获取到经过D1且垂直于startc的垂线L1、经过Dn且垂直于startc的垂线L2、经过D1且垂直于endc的垂线L3、经过Dn且垂直于endc的垂线L4。其中,L1可以视为第一垂线,L2可以视为第二垂线,L3可以视为第二垂线,L4可以视为第四垂线。
步骤S130,从所述第一垂线、所述第二垂线、所述第三垂线以及所述第四垂线的交点中,获取除所述起始路径节点和所述终止路径节点之外的其他交点作为目标节点。
本实施例中,通过第一垂线、第二垂线、第三垂线以及第四垂线可以确定四个交点,由于第一垂线和第二垂线都经过了起始路径节点,第三垂线和第四垂线都经过了终止路径节点,因此,四个交点的其中两个是起始路径节点和终止路径节点。因此,除了起始路径节点和终止路径节点,第一垂线、第二垂线、第三垂线以及第四垂线所形成的交点还剩下两个其他交点。
比如图4所示场景中,四条垂线L1、L2、L3、L4分别相交于四个交点Dn、D1、A、B,除终止路径节点Dn和起始路径节点D1,交点A和交点B即为剩下的其他交点,可以作为步骤S130所述的目标交点。
步骤S140,根据所述目标节点确定所述第一工作路径与所述第二工作路径之间的路径衔接点。
本实施例中,可以从上述确定的目标节点中选择至少一个作为路径衔接点,从而可以根据终止路径节点和起始路径节点分别与路径衔接点的连线,得到从第二墙面的终止路径节点到第一墙面的起始路径节点的衔接路径。
由于室内机器人通常是沿水平或竖直方向移动,而通过上述方式确定的目标节点(即,剩下的其他交点)分别与起始路径节点和终止路径节点的连线,是位于第一墙面或第二墙面的垂线上的线段,因此可以作为机器人行走的路径。并且,对于沿水平或垂直方向移动的室内机器人而言,目标节点与起始路径节点的联系以及目标节点与终止路径节点的连线组成的路径,是从第二墙面的终止路径节点到第一墙面的起始路径节点最短路径。
相较于机器学习等方式确定的路径,本实施例提供的路径确定方法,可以避免室内复杂情况所造成的干扰,直接基于第二墙面的终止路径节点和第一墙面的起始路径节点的位置,确定用于形成所述终止路径节点和起始路径节点之间最短路径的路径衔接点。换言之,通过本实施例提供的路径确定方法,可以减少目标房间中不同墙面对应的工作路径之间的冗余衔接点,从而可以减少机器人不必要的运动,节约电量。
请参照图5,图5为本申请另一实施例提供的路径确定方法。该方法可以由任意具有数据处理功能、图像处理功能的电子设备执行。下面对该方法的步骤进行阐述。
步骤S210,分别获取机器人在目标房间中的第一工作路径的起始路径节点及在所述目标房间中的第二工作路径的终止路径节点,其中,所述第一工作路径与所述目标房间中的第一墙面对应,所述第二工作路径与所述目标房间中的第二墙面对应。
其中,S210的详细实现流程与S110类似,具体可以参照上文对S110的相关描述。
本实施例中,目标房间中的每个墙面都具有对应的工作路径。该工作路径可以通过图6所示的流程确定。
步骤S601,确定目标墙面与相邻墙面的夹角的类型,夹角的类型为阴角或阳角,目标墙面为第一墙面或第二墙面。
其中,目标房间中每个需要机器人执行室内任务的墙面均可以作为目标墙面,比如,如果当前需要确定的是机器人对第一墙面执行室内任务的工作路径,则第一墙面可以是目标墙面。又比如,如果当前需要确定的是机器人对第二墙面执行室内任务的工作路径,则第二墙面可以是目标墙面。相邻墙面是指与目标墙面相邻的墙面,通常,相邻墙面与目标墙面相连,并形成一定大小的夹角。实际应用中,该夹角可以分为阴角或阳角两类。
可选地,本实施例中,目标墙面与相邻墙面的夹角所属的类型可以通过图7示流程确定。详细描述如下。
步骤S601-1,获取所述目标墙面与所述目标房间的地面的重叠边线作为第一边线,所述第一边线具有第一方向向量。
步骤S601-2,获取所述相邻墙面与所述地面的重叠边线作为第二边线,所述第二边线具有第二方向向量。
在本实施例中,目标墙面作为目标房间中的一个墙面,存在一条边与地面的一条边共线,这条边共线就是S601-1和S601-2中的重叠边线。其中,目标墙面与地面共线的那一条边线即为第一边线。
示例性地,假设目标墙面是图8A所示的墙面S1,则S1的边线L5与地面G1的一条边线共线,则L5是S1与地面G1的重叠边线,可以作为第一边线。对应地,墙面S1的相邻墙面是S2,墙面S2的边线L6与地面G1的一条边线共线,则边线L6是强S2与地面G1的重叠边线,可以作为第二边线。
通常情况下,上述的第一边线是目标墙面的墙线,第二边线时相邻墙面的墙线。因此,实施过程中,电子设备也可以直接获取目标墙面的墙线作为第一边线,获取相邻墙面的墙线作为第二边线。参照上文对图3的描述,每条墙线都具有方向向量。对应地,获取的第一边线和第二边线也具有方向向量,该方向向量与墙线提取顺序有关。比如图8A所示场景中,如果是按照相对于室内的顺时针方向提取的墙线位置信息,则墙面S1的边线L5的方向向量(及,第一方向向量)可以是b1,墙面S2的边线L6的方向向量(即,第二方向向量)可以是b2。
图8B为从图8A所示的墙面模型中提取出的,具有第一方向向量b1的第一边线L5以及具有第二方向向量b2的第二边线L6的平面示意图。
步骤S601-3,获取所述第一方向向量沿所述目标方向旋转90度后得到的第三方向向量,确定以所述第一边线的中点为起点、且与所述第三方向向量共线的射线,并从所述射线上确定第一点,所述第一点与所述第一边线的中点的距离等于所述第二边线的长度的一半。
S601-4,获取所述第一边线和所述第二边线的交点作为第二点,并根据所述第一点和所述第二点确定目标线段。
步骤S601-5,分别计算所述第一边线和所述第二边线与所述目标线段的夹角,并计算得到的夹角之和。
步骤S601-6,若所述夹角之和小于或等于90度,则确定所述夹角的类型为阴角。
步骤S601-7,若所述夹角之和大于90度,则确定所述夹角的类型为阳角。
以图8A和图8B所示的场景为例,目标方向为顺时针方向,则可以将第一方向向量b1沿顺时针方向旋转90度得到第三方向向量b1’,则可以以第一边线L5的中点M1为起点确定方向与第三方向向量b1相同的射线L7。则可以从射线L7上可以确定第一点M2,第一点M2与第一边线L5的中点M1的距离,等于第二边线L6的长度的一半。此外,基于第一边线L5和第二边线L6也可以确定一个交点M3,则M3为第二点。本实施例中,可以将第一点M2和第二点M3界定的线段确定为目标线段。即,图8B所示的线段M2M3为目标线段。
然后,可以分别计算M2M3与L5的夹角a1,以及M2M3与L6的夹角a2,可以计算出两个夹角的和为90度,从而可以确定墙面S1和墙面S2形成的夹角是阴角。
另一个例子中,如图8C和图8D所示,其中,墙面S3可以为目标墙面,墙面S4为相邻墙面。则,墙面S3的边线L9与地面G2的一条边线共线,可以被确定为第一边线,其具有第一方向向量b3。墙面S4的边线L10与地面G2的一条边线共线,可以被确定为第二边线,其具有第二方向向量b4。
L9和L10的平面示意图如图8D所示,其中,以目标方向是顺时针方向为例,可以将第一方向向量b3沿顺时针方向旋转90度,得到第三方向向量b3’。然后,可以以第一边线L9的中点M4为起点确定与第三方向向量b3’的方向相同的射线L11。从射线L11上可以确定第二点M5,M5到M4的距离等于第二边线L10的长度的一半。此外,第一边线L9和第二边线L10的交点M6可以作为第二点。
本实施例中,可以第一点M 5和第二点M6界定的线段为目标线段。然后,分别计算目标线段M5M6与第一边线L9的夹角a3,以及目标线段M5M6与第二边线L10的夹角a4,可以确定夹角a3和a4和大于90度。因此,可以确定墙面S3墙面S4的夹角为阳角。
步骤S602,根据夹角的类型从目标墙面上确定机器人的作业起点和作业条件。
本实施例中,当目标墙面与相邻墙面的夹角属于不同类型时,机器人在目标墙面上执行室内任务的作业起点和作业条件有所不同。以室内任务是墙纸铺贴任务为例,若夹角为阳角,机器人在铺贴墙纸时,墙纸铺贴的起点至墙边距离通常不小于150mm;若夹角类型为阴角,则机器人侧边缘距离墙边保持100mm,作业时机器前端距墙40mm,机器底盘中点距墙600mm。
例如图9A所示,夹角类型为阳角时,墙纸铺贴的起端与墙边的距离为150mm,机器人的前端距离墙面40mm,机器人的底盘中点距离墙面600mm。例如图9B所示,夹角类型为阴角时,机器人的前端距离墙面40mm,机器人侧边缘距离墙边100mm。
步骤S603,根据机器人的作业起点和作业条件,确定目标工作路径的起始路径节点,目标工作路径为第一工作路径或第二工作路径。
其中,当第一墙面作为目标墙面时,第一工作路径可以视为目标工作路径;当第二墙面为目标墙面时,第二工作路径可以视为目标工作路径。
再次以室内任务是墙纸铺贴任务为例,在确定机器人对目标墙面执行墙纸铺贴任务的作业起点之后,根据目标墙面与相邻墙面的夹角所属的类型对应的作业条件,可以知道机器人相对于作业起点的位置,该位置即为目标工作路径的起始路径节点。
比如,在已确定机器人在目标墙面的作业起点的情况下,如果基于目标墙面和相邻墙面的夹角的类型,确定机器人需要距离目标墙面40mm(毫米),且机器人需要朝向目标墙纸的中央位置进行墙纸铺贴。那么,从作业起点向远离目标墙面的方向垂直移动40mm后可以确定与作业起点对应的点S,再将点S沿着墙纸铺贴方向移动墙纸宽度的1/2,即可得到目标工作路径的起始路径节点。
步骤S604,确定目标工作路径的路径节点数量。
仍旧以室内任务是墙纸铺贴任务为例,目标工作路径上的路径节点数量可以根据目标墙面需要铺贴的墙纸数量来确定。详细地,例如可以通过图10所示流程图实现。
步骤S604-1,确定目标墙面的长度与待铺贴的目标墙纸的宽度的商。
步骤S604-2,获取小于或等于所述商的正整数作为第一数量,获取所述第一数量与1的差值作为第二数量。
本实施例中,L/W的是目标墙面上可以完整铺设的目标墙纸的数量。但是,L/W可能是一个小数,因此,可以将小于或等于L/W的整数初步确定为目标墙面上需要铺设的目标墙纸的数量。其中,小于或等于所述商的正整数可以通过取下整数的方式获得,例如可以通过如下公式(1)获得:
N=Ceil(L/W) 公式(1)
其中,N即为小于或等于L/W的正整数。
步骤S604-3,根据所述目标墙纸的宽度及相邻两个所述目标墙纸的搭接宽度,确定在所述目标墙面上铺贴所述第二数量的所述目标墙纸后,所述目标墙面上未铺贴墙纸的区域的长度。
实际应用中,通常会为目标墙面铺贴多个墙纸,相邻的两个墙纸存在一定重叠区域,该区域的宽度可以称为墙纸的搭接宽度。
本实施例中,在将N确定为第一数量的情况下,第二数量为N-1。下面假设目标墙纸的搭接宽度为P(可以灵活配置,例如可以为10毫米),则可以通过如下公式(2)确定铺贴第二数量N-1的目标墙纸后,目标墙面上没有铺贴墙纸的区域的长度,即剩余未铺贴宽度R:
R=L-W*(N-1)+P*(N-2) 公式(2)
可以理解,上述的R是铺贴N-1个目标墙纸后的剩余未铺贴宽度。则在此情况下,可以判断剩余未铺贴宽度R是否足以铺贴剩余的1个目标墙纸,即,可以将剩余未铺贴宽度R与铺贴一个墙纸所需的宽度W-P进行比较。
步骤604-4,若长度小于所述目标墙纸的宽度与搭接宽度的差,则将所述第二数量确定为目标工作路径的路径节点数量。
其中,如果R<W-P,表示在铺贴N-1个目标墙纸后,目标墙面的剩余未铺贴宽度已经不足以再铺贴一个完整的目标墙纸,则可以将需要铺贴的墙纸数量确定为N-1。即,共铺贴列数N=N-1。
S605,从所述起始路径节点开始,按照所述路径节点数量及存储的作业间距依次确定所述目标工作路径的每个路径节点。
本实施例中,可以将铺贴每一墙纸的中央位置作为目标工作路径上的一个路径节点。对应地,相邻两个路径节点间距可以根据墙纸宽度及相邻两个墙纸的搭接宽度来确定,在上述示例中,W-P可以视为目标工作路径中两个相邻的路径节点之间的间距。从起始路径节点开始,沿着墙纸铺贴方向每移动一个所述间距,可以确定目标工作路径的一个路径节点。对应地,假设工作路径节点序号为i=1,2...N,那么墙面工作路径节点Di,路径节点的位置计算公式如下:
其中,S+W/2表示从S点沿着墙纸铺贴方向移动W/2。Di-1+W-P则表示从Di-1沿着墙纸铺贴方向移动W-P。
步骤S220,分别获取经过起始路径节点且垂直于第一墙面的第一垂线、经过终止路径节点且垂直于第一墙面的第二垂线、经过起始路径节点且垂直于第二墙面的第三垂线及经过终止路径节点且垂直于所述第二墙面的第四垂线。
本实施例中,S220的详细实现过程与S120类似。详细地,第一墙面和第二墙面的位置关系可以有多种。下面将以第一墙面是startc、第二墙面是endc为例进行介绍。
第一种情形下,如图11A和图11B所示,第一墙面startc和第二墙面endc可以是相互平行的。其中,图11A示出的是机器人在第一墙面startc和第二墙面endc同一侧执行室内任务的情况,图11B示出的是机器人在第一墙面startc和第二墙面endc的不同侧执行室内任务的情况。
第二种情形下,如图11C和图11D所示,第一墙面startc和第二墙面endc相邻,且相互垂直。其中,图11C示出的是第一墙面startc和第二墙面endc形成的夹角为阳角的情形。图11D示出的是第一墙面startc和第二墙面endc形成的夹角为阴角的情形。
第三种情形下,如图11E所示,第一墙面startc和第二墙面endc可以相互垂直,但不相邻。
步骤S230,从第一垂线、第二垂线、第三垂线以及第四垂线的交点中,获取除起始路径节点和终止路径节点之外的其他交点作为目标节点。
本实施例中,S230的详细实现过程与S130类似,在此不再赘述。
步骤S240,若机器人在所述目标节点进行旋转操作时,不会与所述目标房间中的障碍物发生碰撞,则将所述目标节点确定为用于执行旋转操作的第一路径衔接点。
S250,若机器人在所述目标节点进行平移操作时,不会与所述目标房间中的障碍物发生碰撞,若否,则将所述目标节点确定为用于执行平移操作的第二路径衔接点。
实施过程中,机器人在从第二墙面的终止路径节点移动至第一墙面的起始路径节点的过程中,可能会进行平移操作和旋转操作,为了避免机器人在沿着路径衔接点行走时,与障碍物发生碰撞,本实施例中,可以基于所确定的目标节点对机器人进行碰撞检查,所述碰撞检查可以包括旋转检查和平移检查中的至少一者。
其中,旋转检查可以通过图12所示的步骤实现。详细描述如下。
步骤S1201,获取所述目标房间中的所述障碍物的曲线。
其中,电子设备可以从建筑物信息模型中提取获取到的目标房间中的障碍物的位置信息。本实施例中,障碍物可以包括柱子、狭窄空间里无法铺贴墙纸的墙面等地方构件,障碍物的位置信息可以通过用曲线集合{C1,C2,C3,…,Cn}表示所提取到的障碍物曲线。
步骤S1202,确定所述目标节点到所述障碍物的曲线的最短距离,并判断所述最短距离与所述机器人的最大旋转半径的大小关系。
步骤S1203,若所述最短距离大于所述最大旋转半径,则确定所述机器人在所述目标节点进行旋转操作时不会与所述障碍物发生碰撞。
步骤S1204,若所述最短距离小于或等于所述最大旋转半径,则确定所述机器人在所述目标节点进行旋转操作时会与所述障碍物发生碰撞。
示例性地,假设机器人最大旋转半径为r,目标节点的坐标为c,则可以分别计算目标节点c到{D1,D2,D3,…,Dn}中每一曲线的距离,并从中确定最小值,所述最小值即为目标节点到障碍物的最短距离。为了便于描述,在此采用min{D1,D2,D3,…,Dn}表示目标节点到障碍物的最短距离。
实施时,电子设备可以判断r与最短距离min{D1,D2,D3,…,Dn}的大小关系。其中r值可以根据机器人的不同进行灵活设置,比如可以为692mm。如果min{D1,D2,D3,…,Dn}小于或等于r,表示机器人在目标节点旋转时会与障碍物碰撞,则该目标节点不适合作为机器人旋转的路径衔接点。如果min{D1,D2,D3,…,Dn}大于r,表示机器人在目标节点旋转时不会与障碍物发生碰撞,则可以将目标节点作为机器人执行旋转操作的路径衔接点,即第一路径衔接点。
进一步地,本实施例中,考虑到机器人在移动时可能会有20mm至30mm的误差,为了防止因误差导致机器人与墙面发生碰撞的情况,在进行碰撞检查时,可以将机器人的真实旋转半径增大20mm至30mm,来替代机器人的真实旋转半径,并在S1204中将增大后的旋转半径与目标节点到障碍物曲线的最短距离比较。
平移检查可以通过图13所示的步骤实现,详细描述如下。
步骤1301,确定所述机器人位于所述目标节点时的边界线。
随着机器人的移动,其边界线的位置也将发生变化。本实施例中,可以根据机器人的尺寸和机器人当前所处的路径节点来确定机器人的边界线。
例如图14所示,假设机器人平移方向向量为p,向量p旋转90度得到的向量为w向量,机器人长宽为{2*len,2*wid},路径节点的坐标为c,则通过如下公式可以得到机器人的边界线{L1,L2,L3,L4}:
步骤S1302,判断所述边界线与所述障碍物的曲线是否存在交点。若是,则执行S1303;若否,则执行S1304。
步骤S1303,确定所述机器人在所述目标节点进行平移操作时会与所述障碍物发生碰撞。
步骤S1304,确定所述机器人在所述目标节点进行平移操作时不会与所述障碍物发生碰撞。
如果机器人处于目标节点时的边界线,与障碍物的曲线存在交点,表示机器人的边界会碰到该障碍物,即机器人在该目标节点进行平移时与障碍物会发生碰撞,则该目标节点不适合作为机器人进行平移的路径衔接点。如果与障碍物的曲线不存在交点,即机器人在目标节点进行平移时与障碍物不会发生碰撞,则可以将该目标节点作为机器人执行平移操作的路径衔接点,即第二路径衔接点。
示例性地,在获得机器人的边界线{L1,L2,L3,L4}后,可以计算该边界线{L1,L2,L3,L4}与障碍物曲线{C1,C2,C3,C4}是否有交点。
S260,若所述机器人在所述目标节点进行平移操作或旋转操作时,会与所述目标房间中的所述障碍物发生碰撞,则从所述目标房间中,获取与所述第一墙面的距离大于所述目标节点与所述第一墙面的距离、且与所述第二墙面的距离大于所述目标节点与所述第二墙面的距离的至少一个节点,作为新的目标节点。
本实施例中,当目标节点没有通过上述的旋转检查或平移检查时,可以从目标房间中确定新的目标节点。确定新的目标节点的方式例如可以是在目标房间中,以当前未通过碰撞检查的目标节点为起点朝着远离第一墙面和第二墙面的方向遍历新的节点,并将新的节点作为所述新的目标节点。然后,按照S240-S260对新的目标节点进行处理。如果新的目标节点通过旋转检查,则可以将新的目标节点作为第一路径衔接点。如果新的目标节点通过平移检查,则可以将新的目标节点作为第二路径衔接点。
可以理解,本实施例中,电子设备可以执行一次或多次上述的旋转检查过程和平移检查过程,本实施例对此没有限制。
下面参照图11A-图11G所示的场景,对不同情形下第一工作路径和第二工作路径之间的第一路径衔接点和第二路径衔接点进行介绍。
示例性地,参照图11A,第二墙面endc和第一墙面startc方向平行且在机器人的同侧时,位置1这个点可以同时作为第一路径衔接点,因为从Dn移动到D1只需要平移,位置1这个点就为平移路径衔接点。在这一场景下,可以不必确定第二路径衔接点。
参照图11B,Endc与startc方向平行但分别在机器人的两侧时,从Dn移动到D1既需要平移也需要旋转,所以位置1这个点为可以是用于平移操作的第二路径衔接点,位置2这个点可以是机器人进行旋转的第一路径衔接点。可见,通过平移检查和碰撞检查可以为机器人分别确定用于进行平移的第二路径衔接点以及用于进行旋转的第一路径衔接点。避免机器人在执行不同操作时发生碰撞。
参照图11C,位置1这个点既可以作为第一路径衔接点,也可以作为第二路径衔接点。
参照图11D,位置1表示的点可以同时作为第一路径衔接点和第二路径衔接点。如图11E所示,从Dn移动到D1如果直接在步骤S130里得到的两个目标交点进行旋转,会与endc、startc和第三面墙发生碰撞,所以需要重新确定目标节点,并对目标节点再次进行碰撞检查,最终确定位置2这个点为第一路径衔接点,位置1这个点为第二路径衔接点。如图11F所示,同样地,从Dn移动到D1如果直接在步骤S130里得到的两个目标交点进行旋转,会与endc、startc和第三面墙发生碰撞,所以需要重新确定目标节点,并对目标节点再次进行碰撞检查,最终确定位置2这个点为第一路径衔接点,位置1这个点为第二路径衔接点。
在本实施例中,目标房间的工作路径是机器人按照一定顺序对每个墙面执行室内任务时的路径,每个墙面对应的工作路径是由一个一个路径节点相连形成的,任务执行顺序相邻的两个墙面对应的工作路径可以通过所确定的路径衔接点相连,也就是说,每个墙面的工作节点和相邻墙面的路径衔接点共同构成的路径即为目标房间的工作路径。
在确定目标房间的工作路径之后,可以将工作路径携带在任务数据中下发至机器人或是配置到机器人上,以使机器人按照该任务数据运行。
如图15所示,下发给机器人的任务数据可以包括地图服务编号、路径节点数据、机器人原始位置和路径节点,其中机器人原始位置包括空间坐标和旋转角度,路径节点包括空间位置坐标、旋转角度、工作状态、路径节点序号、机器人工作数据,机器人工作数据包括机器人作业方式、强纸铺贴宽度、预留字段和铺贴高度。
在本实施例中,机器人旋转角度Angle的定义请参照图16,本实施例中,可以按照机器人的旋转方向对角度的正负进行配置,例如可以将机器人逆时针旋转的角度配置为正的角度,将机器人顺时针旋转的角度配置为负的角度,以便用于根据输出的旋转角度的正负来判断到机器人旋转的方向。
请参照图17,其中示出了本申请实施例提供的一种电子设备100的结构框图,本申请实施例提供的路径生成方法可以由该电子设备100执行。所述电子设备可以是任意具有数据处理功能和图像处理功能的设备,例如可以是服务器、个人计算机等。
本申请实施例中的电子设备100可以包括一个或多个如下部件:处理器101、存储器102、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1202中并被配置为由一个或多个处理器101执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器101可以包括一个或者多个处理核。处理器101利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器102内的指令、程序、代码集或指令集,以及调用存储在存储器102内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器101可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器101可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器101中,单独通过一块通信芯片进行实现。
存储器102可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器102可用于存储指令、程序、代码、代码集或指令集。存储器102可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如上述的墙面位置信息)等。
请参照图18,其中示出了本申请实施例提供的一种路径确定装置110的结构框图,该装置可以应用于图17所示的电子设备100。从功能上划分,该装置110可以包括第一获取模块111、第二获取模块112和路径确定模块113。
其中,第一获取模块111用于分别获取机器人在目标房间中的第一工作路径的终止路径节点及在所述目标房间中的第二工作路径的起始路径节点,其中,所述第一工作路径与所述目标房间中的第一墙面对应,所述第二工作路径与所述目标房间中的第二墙面对应。
第二获取模块112用于分别获取经过所述起始路径节点且垂直于所述第一墙面的第一垂线、经过所述终止路径节点且垂直于所述第一墙面的第二垂线、经过所述起始路径节点且垂直于所述第二墙面的第三垂线及经过所述终止路径节点且垂直于所述第二墙面的第四垂线。
路径确定模块113用于从所述第一垂线、所述第二垂线、所述第三垂线以及所述第四垂线的交点中,获取除所述起始路径节点和所述终止路径节点之外的其他交点作为目标节点;根据所述目标节点确定所述第一工作路径与所述第二工作路径之间的路径衔接点。
路径确定模块113具体可以用于:若机器人在所述目标节点进行旋转操作时,不会与所述目标房间中的障碍物发生碰撞,则将所述目标节点确定为用于执行旋转操作的第一路径衔接点;或者,若机器人在所述目标节点进行平移操作时,不会与所述目标房间中的障碍物发生碰撞,则将所述目标节点确定为用于执行平移操作的第二路径衔接点。
路径确定模块113具体还可以用于:当所述机器人在所述目标节点进行平移操作或旋转操作,会与所述目标房间中的所述障碍物发生碰撞,则从所述目标房间中,获取与所述第一墙面的距离大于所述目标节点与所述第一墙面的距离、且与所述第二墙面的距离大于所述目标节点与所述第二墙面的距离的至少一个节点,作为新的目标节点。
装置110还可以包括碰撞检查模块。碰撞检查模块可以用于:在路径确定模块113根据所述目标节点确定所述第一工作路径与所述第二工作路径之间的路径衔接点之前,获取所述目标房间中的所述障碍物的曲线;确定所述目标节点到所述障碍物的曲线的最短距离,并判断所述最短距离与所述机器人的最大旋转半径的大小关系;若所述最短距离大于所述最大旋转半径,则确定所述机器人在所述目标节点进行旋转操作时不会与所述障碍物发生碰撞;若所述最短距离小于或等于所述最大旋转半径,则确定所述机器人在所述目标节点进行旋转操作时会与所述障碍物发生碰撞。
碰撞检查模块还可以用于:在路径确定模块113根据所述目标节点确定所述第一工作路径与所述第二工作路径之间的路径衔接点之前,确定所述机器人位于所述目标节点时的边界线;判断所述边界线与所述障碍物的曲线是否存在交点;若存在交点,则确定所述机器人在所述目标节点进行平移操作时会与所述障碍物发生碰撞;若不存在交点,则确定所述机器人在所述目标节点进行平移操作时不会与所述障碍物发生碰撞。
路径确定模块113可以通过以下方式确定目标房间中的目标墙面对应的目标工作路径:确定所述目标墙面与相邻墙面的夹角的类型,所述夹角的类型为阴角或阳角,所述目标墙面为所述第一墙面或所述第二墙面;根据所述夹角的类型从所述目标墙面上确定所述机器人的作业起点和作业条件;根据所述机器人的作业起点和作业条件,确定所述目标工作路径的起始路径节点,所述目标工作路径为所述第一工作路径或所述第二工作路径;确定所述目标工作路径的路径节点数量;从所述起始路径节点开始,按照所述路径节点数量及存储的作业间距依次确定所述目标工作路径的每个路径节点。
可选地,目标工作路径可以为所述机器人对所述目标墙面执行墙纸铺贴任务的路径。对应地,路径确定模块113确定所述目标工作路径的路径节点数量的方式可以是:确定所述目标墙面的长度与待铺贴的目标墙纸的宽度的商;获取小于或等于所述商的正整数作为第一数量,获取所述第一数量与1的差值作为第二数量;根据所述目标墙纸的宽度及相邻两个所述目标墙纸的搭接宽度,确定在所述目标墙面上铺贴所述第二数量的所述目标墙纸后,所述目标墙面上未铺贴墙纸的区域的长度;若所述长度小于所述目标墙纸的宽度与所述搭接宽度的差,则将所述第二数量确定为所述目标工作路径的路径节点数量。
可选地,目标方向中的每个墙面的边线相对于所述目标房间内部沿目标方向依次首尾相连,所述目标方向为顺时针方向或逆时针方向。对应地,路径确定模块113确定目标墙面与相邻墙面的夹角的类型的方式可以是:
获取所述目标墙面与所述目标房间的地面的重叠边线作为第一边线,获取所述相邻墙面与所述地面的重叠边线作为第二边线,所述第一边线具有第一方向向量,所述第二边线具有第二方向向量;
获取所述第一方向向量沿所述目标方向旋转90度后得到的第三方向向量,确定以所述第一边线的中点为起点、且与所述第三方向向量共线的射线,并从所述射线上确定第一点,所述第一点与所述第一边线的中点的距离等于所述第二边线的长度的一半;获取所述第一边线和所述第二边线的交点作为第二点,并根据所述第一点和所述第二点确定目标线段;分别计算所述第一边线和所述第二边线与所述目标线段的夹角,并计算得到的夹角之和;若所述夹角之和小于或等于90度,则确定所述夹角的类型为阴角;若所述夹角之和大于90度,则确定所述夹角的类型为阳角。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图19,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质1900中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质1900可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1900包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1400具有执行上述方法中的任何方法步骤的程序代码1910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1910可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种路径确定方法,其特征在于,所述方法包括:
分别获取机器人在目标房间中的第一工作路径的起始路径节点及在所述目标房间中的第二工作路径的终止路径节点,其中,所述第一工作路径与所述目标房间中的第一墙面对应,所述第二工作路径与所述目标房间中的第二墙面对应;
分别获取经过所述起始路径节点且垂直于所述第一墙面的第一垂线、经过所述终止路径节点且垂直于所述第一墙面的第二垂线、经过所述起始路径节点且垂直于所述第二墙面的第三垂线及经过所述终止路径节点且垂直于所述第二墙面的第四垂线;
从所述第一垂线、所述第二垂线、所述第三垂线以及所述第四垂线的交点中,获取除所述起始路径节点和所述终止路径节点之外的其他交点作为目标节点;
根据所述目标节点确定所述第一工作路径与所述第二工作路径之间的路径衔接点,其中,确定路径衔接点的步骤包括:若机器人在所述目标节点进行旋转操作时,不会与所述目标房间中的障碍物发生碰撞,则将所述目标节点确定为用于执行旋转操作的第一路径衔接点;或者,若机器人在所述目标节点进行平移操作时,不会与所述目标房间中的障碍物发生碰撞,则将所述目标节点确定为用于执行平移操作的第二路径衔接点;又或者,若所述机器人在所述目标节点进行平移操作或旋转操作时,会与所述目标房间中的所述障碍物发生碰撞,则从所述目标房间中,获取与所述第一墙面的距离大于所述目标节点与所述第一墙面的距离、且与所述第二墙面的距离大于所述目标节点与所述第二墙面的距离的至少一个节点,作为新的目标节点。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述目标节点确定所述第一工作路径与所述第二工作路径之间的路径衔接点之前,所述方法还包括:
获取所述目标房间中的所述障碍物的曲线;
确定所述目标节点到所述障碍物的曲线的最短距离,并判断所述最短距离与所述机器人的最大旋转半径的大小关系;
若所述最短距离大于所述最大旋转半径,则确定所述机器人在所述目标节点进行旋转操作时不会与所述障碍物发生碰撞;
若所述最短距离小于或等于所述最大旋转半径,则确定所述机器人在所述目标节点进行旋转操作时会与所述障碍物发生碰撞。
3.根据权利要求1所述的方法,其特征在于,在所述根据所述目标节点确定所述第一工作路径与所述第二工作路径之间的路径衔接点之前,所述方法还包括:
确定所述机器人位于所述目标节点时的边界线;
判断所述边界线与所述障碍物的曲线是否存在交点;
若存在交点,则确定所述机器人在所述目标节点进行平移操作时会与所述障碍物发生碰撞;
若不存在交点,则确定所述机器人在所述目标节点进行平移操作时不会与所述障碍物发生碰撞。
4.根据权利要求1所述的方法,其特征在于,所述目标房间中的目标墙面对应的目标工作路径通过以下方式确定:
确定所述目标墙面与相邻墙面的夹角的类型,所述夹角的类型为阴角或阳角,所述目标墙面为所述第一墙面或所述第二墙面;
根据所述夹角的类型从所述目标墙面上确定所述机器人的作业起点和作业条件;
根据所述机器人的作业起点和作业条件,确定所述目标工作路径的起始路径节点,所述目标工作路径为所述第一工作路径或所述第二工作路径;
确定所述目标工作路径的路径节点数量;
从所述起始路径节点开始,按照所述路径节点数量及存储的作业间距依次确定所述目标工作路径的每个路径节点。
5.根据权利要求4所述的方法,其特征在于,所述目标工作路径为所述机器人对所述目标墙面执行墙纸铺贴任务的路径,确定所述目标工作路径的路径节点数量,包括:
确定所述目标墙面的长度与待铺贴的目标墙纸的宽度的商;
获取小于或等于所述商的正整数作为第一数量,获取所述第一数量与1的差值作为第二数量;
根据所述目标墙纸的宽度及相邻两个所述目标墙纸的搭接宽度,确定在所述目标墙面上铺贴所述第二数量的所述目标墙纸后,所述目标墙面上未铺贴墙纸的区域的长度;
若所述长度小于所述目标墙纸的宽度与所述搭接宽度的差,则将所述第二数量确定为所述目标工作路径的路径节点数量。
6.根据权利要求4所述的方法,其特征在于,所述目标房间中的每个墙面的边线相对于所述目标房间内部沿目标方向依次首尾相连,所述目标方向为顺时针方向或逆时针方向,所述确定所述目标墙面与相邻墙面的夹角的类型,包括:
获取所述目标墙面与所述目标房间的地面的重叠边线作为第一边线,获取所述相邻墙面与所述地面的重叠边线作为第二边线,所述第一边线具有第一方向向量,所述第二边线具有第二方向向量;
获取所述第一方向向量沿所述目标方向旋转90度后得到的第三方向向量,确定以所述第一边线的中点为起点、且与所述第三方向向量共线的射线,并从所述射线上确定第一点,所述第一点与所述第一边线的中点的距离等于所述第二边线的长度的一半;
获取所述第一边线和所述第二边线的交点作为第二点,并根据所述第一点和所述第二点确定目标线段;
分别计算所述第一边线和所述第二边线与所述目标线段的夹角,并计算得到的夹角之和;
若所述夹角之和小于或等于90度,则确定所述夹角的类型为阴角;
若所述夹角之和大于90度,则确定所述夹角的类型为阳角。
7.一种路径生成装置,其特征在于,包括:
第一获取模块,用于分别获取机器人在目标房间中的第一工作路径的终止路径节点及在所述目标房间中的第二工作路径的起始路径节点,其中,所述第一工作路径与所述目标房间中的第一墙面对应,所述第二工作路径与所述目标房间中的第二墙面对应;
第二获取模块,用于分别获取经过所述起始路径节点且垂直于所述第一墙面的第一垂线、经过所述终止路径节点且垂直于所述第一墙面的第二垂线、经过所述起始路径节点且垂直于所述第二墙面的第三垂线及经过所述终止路径节点且垂直于所述第二墙面的第四垂线;
路径确定模块,用于从所述第一垂线、所述第二垂线、所述第三垂线以及所述第四垂线的交点中,获取除所述起始路径节点和所述终止路径节点之外的其他交点作为目标节点;当机器人在所述目标节点进行旋转操作时,不会与所述目标房间中的障碍物发生碰撞,则将所述目标节点确定为用于执行旋转操作的第一路径衔接点;或者,当机器人在所述目标节点进行平移操作时,不会与所述目标房间中的障碍物发生碰撞,则将所述目标节点确定为用于执行平移操作的第二路径衔接点;又或者,当所述机器人在所述目标节点进行平移操作或旋转操作时,会与所述目标房间中的所述障碍物发生碰撞,则从所述目标房间中,获取与所述第一墙面的距离大于所述目标节点与所述第一墙面的距离、且与所述第二墙面的距离大于所述目标节点与所述第二墙面的距离的至少一个节点,作为新的目标节点。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-6中任意一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010312281.XA CN111595340B (zh) | 2020-04-20 | 2020-04-20 | 路径确定方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010312281.XA CN111595340B (zh) | 2020-04-20 | 2020-04-20 | 路径确定方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111595340A CN111595340A (zh) | 2020-08-28 |
CN111595340B true CN111595340B (zh) | 2023-03-21 |
Family
ID=72185212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010312281.XA Active CN111595340B (zh) | 2020-04-20 | 2020-04-20 | 路径确定方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111595340B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610006B (zh) * | 2020-11-24 | 2024-07-12 | 广东博智林机器人有限公司 | 一种地坪设备的工作方法、装置、地坪设备及存储介质 |
CN113205601B (zh) * | 2021-05-27 | 2024-06-21 | 北京有竹居网络技术有限公司 | 漫游路径生成方法、装置、存储介质及电子设备 |
CN114995435A (zh) * | 2022-06-09 | 2022-09-02 | 上海灵筑智能科技有限公司 | 一种凹形房间墙面喷涂遍历算法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009053927A (ja) * | 2007-08-27 | 2009-03-12 | Panasonic Electric Works Co Ltd | 自律移動のための経路生成装置および該装置を用いた自律移動装置 |
JP2009237901A (ja) * | 2008-03-27 | 2009-10-15 | Zenrin Co Ltd | 路面標示地図生成方法 |
CN103697896A (zh) * | 2014-01-13 | 2014-04-02 | 西安电子科技大学 | 一种无人机路径规划方法 |
CN106515722A (zh) * | 2016-11-08 | 2017-03-22 | 西华大学 | 一种垂直泊车轨迹规划方法 |
CN108387234A (zh) * | 2018-02-06 | 2018-08-10 | 广州科语机器人有限公司 | 基于激光测距传感器的移动机器人的地图创建方法 |
CN109432777A (zh) * | 2018-10-26 | 2019-03-08 | 网易(杭州)网络有限公司 | 路径生成方法及装置、电子设备、存储介质 |
CN109634284A (zh) * | 2019-01-15 | 2019-04-16 | 安徽工程大学 | 基于嵌套三分算法的机器人执行端避障的路径规划方法 |
JP2020021007A (ja) * | 2018-08-03 | 2020-02-06 | キヤノン株式会社 | クリーニング装置、プロセスカートリッジ及び画像形成装置 |
-
2020
- 2020-04-20 CN CN202010312281.XA patent/CN111595340B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009053927A (ja) * | 2007-08-27 | 2009-03-12 | Panasonic Electric Works Co Ltd | 自律移動のための経路生成装置および該装置を用いた自律移動装置 |
JP2009237901A (ja) * | 2008-03-27 | 2009-10-15 | Zenrin Co Ltd | 路面標示地図生成方法 |
CN103697896A (zh) * | 2014-01-13 | 2014-04-02 | 西安电子科技大学 | 一种无人机路径规划方法 |
CN106515722A (zh) * | 2016-11-08 | 2017-03-22 | 西华大学 | 一种垂直泊车轨迹规划方法 |
CN108387234A (zh) * | 2018-02-06 | 2018-08-10 | 广州科语机器人有限公司 | 基于激光测距传感器的移动机器人的地图创建方法 |
JP2020021007A (ja) * | 2018-08-03 | 2020-02-06 | キヤノン株式会社 | クリーニング装置、プロセスカートリッジ及び画像形成装置 |
CN109432777A (zh) * | 2018-10-26 | 2019-03-08 | 网易(杭州)网络有限公司 | 路径生成方法及装置、电子设备、存储介质 |
CN109634284A (zh) * | 2019-01-15 | 2019-04-16 | 安徽工程大学 | 基于嵌套三分算法的机器人执行端避障的路径规划方法 |
Non-Patent Citations (4)
Title |
---|
Wall following using angle information measured by a single ultrasonic transducer;Yata T等;《1998 IEEE International Conference on Robotics and Automation》;19881231;第1590-1596页 * |
基于动态窗口和绕墙走的自动垂直泊车轨迹规划;郭奕璀 等;《交通信息与安全》;20171231;第35卷(第01期);第92-97页 * |
未知环境下势场法路径规划的局部极小问题研究;朱毅 等;《自动化学报》;20100831;第36卷(第08期);第1122-1130页 * |
机器人避障路径规划优化控制仿真[;张海燕 等;《计算机仿真》;20170930;第34卷(第09期);第325-330页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111595340A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111595340B (zh) | 路径确定方法、装置及电子设备 | |
CN112823084B (zh) | 动态概率运动规划 | |
CN111369066B (zh) | 路径规划方法、装置、电子设备及可读存储介质 | |
CN111158384B (zh) | 机器人建图方法、设备及存储介质 | |
US20220412770A1 (en) | Map construction method for autonomous driving and related apparatus | |
CN107837044B (zh) | 清洁机器人的分区清洁方法、装置及机器人 | |
CN108415420B (zh) | 一种用于移动机器人搜索路径的方法及设备 | |
CN110806218A (zh) | 泊车路径规划方法、装置和系统 | |
CN112149217B (zh) | 三维室内导航场景的生成方法、装置、电子设备及存储介质 | |
CN113189988B (zh) | 一种基于Harris算法与RRT算法复合的自主路径规划方法 | |
CN110737944A (zh) | 一种基于Revit生成楼板的方法及生成装置 | |
CN111744199B (zh) | 图像处理方法及装置、计算机可读存储介质、电子设备 | |
CN106934842A (zh) | 闭合区域的识别方法和装置 | |
CN110472323B (zh) | 坡道三维模型构建方法、装置和电子设备 | |
CN113205601B (zh) | 漫游路径生成方法、装置、存储介质及电子设备 | |
CN105701555A (zh) | 用于划分路网的方法和系统 | |
CN116503262A (zh) | 户型图的矢量化处理方法、装置和电子设备 | |
CN114329706A (zh) | 自动布线方法及装置 | |
CN116484487B (zh) | 墙板配筋方法、装置、设备及存储介质 | |
Wang et al. | A partitioning-based approach for robot path planning problems | |
CN113885531B (zh) | 用于移动机器人的方法、移动机器人、电路、介质和程序 | |
CN115779424A (zh) | 一种导航网格寻路方法、装置、设备及介质 | |
CN112509132B (zh) | 一种面向船舶应用的立体路径计算方法 | |
CN109246606B (zh) | 机器人定位网络的扩展方法、装置、终端设备及存储介质 | |
Elizondo-Leal et al. | An exact euclidean distance transform for universal path planning |
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 |