CN110794849B - 路径的处理方法、装置、机器人、计算机设备和存储介质 - Google Patents
路径的处理方法、装置、机器人、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110794849B CN110794849B CN201911190711.9A CN201911190711A CN110794849B CN 110794849 B CN110794849 B CN 110794849B CN 201911190711 A CN201911190711 A CN 201911190711A CN 110794849 B CN110794849 B CN 110794849B
- Authority
- CN
- China
- Prior art keywords
- path
- point
- distance
- determining
- original
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 35
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000001514 detection method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 10
- 230000008859 change Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010408 sweeping Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G05D1/0253—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 extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Navigation (AREA)
Abstract
本发明实施例公开了一种路径的处理方法、装置、机器人、计算机设备和存储介质,该方法包括:确定原始路径,所述原始路径中具有多个路径点;确定环绕所述路径点的参考路径;确定所述参考路径与所述原始路径相交的交点;根据所述交点的数量在所述原始路径中识别折返的路段。通过判定原始路径与参考路径之间交点的数量可识别出在一个大致的范围内原始路径折叠的情况,从而判定原始路径是否存在折返的路段,无需计算曲率、方向变换等复杂的变量,计算简单,耗时小。
Description
技术领域
本发明实施例涉及路径规划的技术,尤其涉及一种路径的处理方法、装置、机器人、计算机设备和存储介质。
背景技术
随着计算机和自动化的发展,机器人在工业、交通、教育、生活等各个方面广泛应用,机器人执行户外巡逻、室内扫地等任务时,按照既定的路径进行移动。
目前,路径的设置一般有两种方法,其中一种方法是遥控器直接生成,另外一种方法则是通过人为遥控录制,即实时记录机器人运动的路径,并将该路径作为下次执行任务时需要跟踪的目标路径。
对于前一种方法,如果在绘制时出现折返的路段时,机器人在经过该折返的路段时出现反复前进后退或左右摆动的情况。
对于后一种方法,如果在录制时出现折返的路段时,该路段会被记录为以后执行任务的路径,机器人在经过该折返的路段时也会出现反复前进后退或左右摆动的情况。
机器人在执行任务的过程中反复前进后退或左右摆动一般是没有意义的,还会增加任务的耗时,为了防止机器人前进后退或左右摆动,通常使用曲线插值、贝塞尔曲线等方法对路径进行平滑。
但是,这些方法都是适用相对规整的路径,可规划出一条更加平滑的路径。如果路径存在折返的路段,平滑之后可能会拟合出一条含有圆圈的路径,机器人在执行任务时,经过该折返的路径会出现旋转的情况,任务执行效率低,甚至问题较为严重时,需要重新生成路径。
发明内容
本发明实施例提供一种路径的处理方法、装置、机器人、计算机设备和存储介质,以解决平滑之后的路径仍存在折返的路段的问题。
第一方面,本发明实施例提供了一种路径的处理方法,包括:
确定原始路径,所述原始路径中具有多个路径点;
确定环绕所述路径点的参考路径;
确定所述参考路径与所述原始路径相交的交点;
根据所述交点的数量在所述原始路径中识别折返的路段。
第二方面,本发明实施例还提供了一种路径的处理方法,包括:
确定原始路径,所述原始路径中具有多个路径点;
根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;
确定非折返的路段;
在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径。
第三方面,本发明实施例还提供了一种路径的处理方法,应用于机器人中,包括:
接收遥控器发送的任务,所述任务中具有原始路径,所述原始路径中具有多个路径点;
根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;
确定非折返的路段;
在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径;
沿所述目标路径移动,以执行所述任务。
第四方面,本发明实施例还提供了一种路径的处理装置,包括:
原始路径确定单元,用于确定原始路径,所述原始路径中具有多个路径点;
参考路径确定单元,用于确定环绕所述路径点的参考路径;
交点确定单元,用于确定所述参考路径与所述原始路径相交的交点;
折返路段识别单元,用于根据所述交点的数量在所述原始路径中识别折返的路段。
第五方面,本发明实施例还提供了一种路径的处理装置,包括:
原始路径确定模块,用于确定原始路径,所述原始路径中具有多个路径点;
折返路段检测模块,用于根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;
非折返路段确定模块,用于确定非折返的路段;
折返路段替换模块,用于在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径。
第六方面,本发明实施例还提供了一种机器人,包括:
任务接收模块,用于接收遥控器发送的任务,所述任务中具有原始路径,所述原始路径中具有多个路径点;
折返路段检测模块,用于根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;
非折返路段确定模块,用于确定非折返的路段;
折返路段替换模块,用于在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径;
任务执行模块,用于沿所述目标路径移动,以执行所述任务。
第七方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面、第二方面、第三方面中任一所述的路径的处理方法。
第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面、第二方面、第三方面中任一所述的路径的处理方法。
在本实施例中,确定原始路径,原始路径中具有多个路径点,确定环绕路径点的参考路径,确定参考路径与原始路径相交的交点,根据交点的数量在原始路径中识别折返的路段,对于离散的路径点的场景来说,通过判定原始路径与参考路径之间交点的数量可识别出在一个大致的范围内原始路径折叠的情况,从而判定原始路径是否存在折返的路段,无需计算曲率、方向变换等复杂的变量,计算简单,耗时小。
附图说明
图1为本发明实施例一提供的一种路径的处理方法的流程图;
图2是本发明实施例二提供的一种路径的处理方法的流程图;
图3是本发明实施例三提供的一种路径的处理方法的流程图;
图4是一种路径的处理方法的示例流程图;
图5A至图5F是一种原始路径的处理示例图;
图6A至图6B是一种原始路径的仿真优化的示例图;
图7A至图7B是一种机器人的移动仿真优化的示例图;
图8为本发明实施例四提供的一种路径的处理装置的结构示意图;
图9为本发明实施例五提供的一种路径的处理装置的结构示意图;
图10为本发明实施例六提供的一种机器人的结构示意图;
图11为本发明实施例七提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种路径的处理方法的流程图,本实施例可适用于通过交点识别路径中折返的路段的情况,该方法可以由路径的处理装置来执行,该路径的处理装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、个人电脑、遥控器、机器人(如扫地机器人、安防机器人、教育机器人等),等等,该方法具体包括如下步骤:
S101、确定原始路径。
在本实施例中,原始路径属于路径,该原始路径中具有多个(两个及两个以上)路径点,其中,该路径点具有序号、坐标等信息,其中,该序号表示路径点的顺序,原始路径的行进方式为按照顺序从上一个路径点行进至下一个路径点。
S102、确定环绕所述路径点的参考路径。
在本实施例中,可以顺序或逆序依次遍历路径点,针对该路径点,可生成环绕该路径点的参考路径。
在一个示例中,以路径点为圆点,确定圆形的参考路径。
在本示例中,参考路径的半径为常亮,可以针对应用该原始路径的设备设置,例如,针对户外巡逻的机器人,该半径可以为0.5米至1米。
当然,上述圆形的参考路径只是作为示例,在实施本实施例时,可以根据实际情况设置其他参考路径,例如,以路径点为中心,确定正多边形(如正五边形、正八边形等)的参考路径,或者,以路径点为两个焦点的中点,确定椭圆的参考路径,等等,本实施例对此不加以限制。另外,除了上述判断处理方法外,本领域技术人员还可以根据实际需要采用其它参考路径,本实施例对此也不加以限制。
S103、确定所述参考路径与所述原始路径相交的交点。
在同一个平面中,在参考路径经过原始路径时,参考路径与原始路径相交,此时,可将相交的位置称之为交点。
在一种确定交点的方式中,一方面,可确定路径点与参考点之间的第一距离,其中,参考点为未生成参考路径的路径点,对于顺序遍历参考点的情况,参考点为排序在该路径点之后的其他路径点,对于逆序遍历参考点的情况,参考点为排序在该路径点之前的其他路径点。
进一步而言,可确定该路径点的坐标、参考点的坐标,将路径点的坐标与参考点的坐标代入欧拉距离等距离公式中,可计算出路径点与参考点之间的第一距离。
另一方面,可确定路径点与参考路径之间的第二距离。
进一步而言,对于不同形状的参考路径,第二距离的含义有所不同,例如,对于圆形的参考路径,第二距离可以为半径,对于正多边形的参考路径,第二距离可以为路径点与交点的距离、或者路径点与边的距离,对于椭圆的参考路径,第二距离可以指长轴的一半或者短轴的一半,等等。
若参考路径与原始路径相交,则交点与部分路径点是相近的,此时,第一距离约等于第二距离,即在误差范围内,第一距离等于第二距离,因此,可基于第一距离与第二距离识别参考路径与原始路径在目标位置相交的交点。
在一种确定第一距离约等于第二距离的方式中,可确定距离范围,其中,该距离范围包含第二距离。
设该第二距离为D,则可生成长度为F的距离范围,如[D-F/2,D+F/2]、[D-F/3,D+2F/3]、[D-3F/4,D+F/4],等等,其中F为可调节的参数。
若第一距离在该距离范围内,则可以确定参考路径与原始路径之间存在相交的交点。
进一步而言,若第一距离小于第二距离,则在顺序上,交点位于参考点之后;若第一距离等于第二距离,则交点与参考点重叠;若第一距离大于第二距离,则在顺序上,交点位于参考点之前。
当然,上述通过比较第一距离、第二距离确定交点的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其他确定交点的方式,例如,联合表示原始路径的函数与表示参考路径的函数求解坐标,若求解坐标成功,则该坐标表示交点,等等,本实施例对此不加以限制。另外,除了上述确定交点的方式外,本领域技术人员还可以根据实际需要采用其它确定交点的方式,本实施例对此也不加以限制。
在本实施例中,确定路径点与参考点之间的第一距离,参考点为未生成参考路径的路径点,确定路径点与参考路径之间的第二距离,基于第一距离与第二距离识别参考路径与原始路径相交的交点,相对于联合表示原始路径的函数与表示参考路径的函数求解坐标,由于路径点的坐标、参考路径的函数表达已知,因此,第一距离与第二距离的计算简单,从而快速确定参考路径与原始路径是否存在相交的交点。
S104、根据所述交点的数量在所述原始路径中识别折返的路段。
在具体实现中,折返的路段,简称折返线,是原始路径中以某一方向到达一地点后再以反方向折回,继续前往下一地点,如此反复,呈一个或多个“Z”形、“之”字形等折返形状。
进一步而言,折返的路段中针对同一路径点,其存在多个与该路径点距离相等的点,因此,通过对交点的数量进行分析,与前述特征进行比较,可在原始路径中识别折返的路段。
在一种识别折返的路段的方式中,可统计交点的数量,将该数量与预设的阈值进行比较。
若数量大于或等于预设的阈值,则确定在原始路径中存在折返的路段。
若数量小于预设的阈值,则继续遍历下一个路径点,继续检查在原始路径中是否存在折返的路段。
其中,该阈值为3,此时,可识别出至少存在一个“Z”形、“之”字形等折返形状,从而确定折返的路段。
当然,某个路段可能并不具备路径点,该路段可能无法识别出交点,对此,可将阈值设置为2,以扩大检测的范围,本实施例对此不加以限制。
此外,上述通过交点的数量与阈值的比较识别折返的路段的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其他识别折返的路段的,例如,在交点的数量大于阈值的情况下,计算交点之间的距离,若该距离均小于预设的距离阈值,则确定存在折返的路段,否则,认为路段之间的跨度过大,确定不存在折返的路段,等等,本实施例对此不加以限制。另外,除了上述确定交点的方式外,本领域技术人员还可以根据实际需要采用其它确定交点的方式,本实施例对此也不加以限制。
进一步而言,为定位折返的路段,可确定目标点,目标点为位于交点之后的其他路径点,在原始路径中确定当前的路径点与目标点之间存在折返的路段,此时,折返的路段的起点为当前的路径点,终点为目标点。
当然,目标点除了为位于最后一个交点之后的其他路径点之外,还可以为为位于最后一个交点之前的其他路径点、最后一个交点,等等,本实施例对此不加以限制。
在本实施例中,将折返的路段定位至当前的路径点与目标点之间,目标点与交点临近甚至重叠,可保持折返的路段的精确度,减少对原始路径的影响,并且,相对于联合表示原始路径的函数与表示参考路径的函数求解交点的坐标,由于路径点的坐标已知,因此,折返的路段定位简单,可提高处理的速度,降低处理的耗时。
在本实施例中,确定原始路径,原始路径中具有多个路径点,确定环绕路径点的参考路径,确定参考路径与原始路径相交的交点,根据交点的数量在原始路径中识别折返的路段,对于离散的路径点的场景来说,通过判定原始路径与参考路径之间交点的数量可识别出在一个大致的范围内原始路径折叠的情况,从而判定原始路径是否存在折返的路段,无需计算曲率、方向变换等复杂的变量,计算简单,耗时小。
实施例二
图2为本发明实施例二提供的一种路径的处理方法的流程图,本实施例可适用于通过交点识别路径中折返的路段、并替换该折返的路段的情况,该方法可以由路径的处理装置来执行,该路径的处理装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、个人电脑、遥控器、机器人(如扫地机器人、安防机器人、教育机器人等),等等,该方法具体包括如下步骤:
S201、确定原始路径。
在本实施例中,原始路径属于路径,该原始路径中具有多个(两个及两个以上)路径点,其中,该路径点具有序号、坐标等信息,其中,该序号表示路径点的顺序,原始路径的行进方式为按照顺序从上一个路径点行进至下一个路径点。
S202、根据交点在所述原始路径中确定折返的路段。
其中,交点用于表示原始路径与环绕路径点的参考路径相交。
折返的路段,简称折返线,是原始路径中以某一方向到达一地点后再以反方向折回,继续前往下一地点,如此反复,呈一个或多个“Z”形、“之”字形等折返形状。
在本实施例中,交点可反映出原始路径中在同一区域中往返的情况,可以参考交点的情况,检测原始路径中是否存在折返的路段。
在本发明的一个实施例中,若交点的数量大于或等于预设的阈值,则确定在原始路径中存在折返的路段,此时,S202可以包括如下步骤:
S2021、确定环绕所述路径点的参考路径。
在本实施例中,可以顺序或逆序依次遍历路径点,针对该路径点,可生成环绕该路径点的参考路径。
在一个示例中,以路径点为圆点,确定圆形的参考路径。
在本示例中,参考路径的半径为常亮,可以针对应用该原始路径的设备设置,例如,针对户外巡逻的机器人,该半径可以为0.5米至1米。
当然,上述圆形的参考路径只是作为示例,在实施本实施例时,可以根据实际情况设置其他参考路径,例如,以路径点为中心,确定正多边形(如正五边形、正八边形等)的参考路径,或者,以路径点为两个焦点的中点,确定椭圆的参考路径,等等,本实施例对此不加以限制。另外,除了上述判断处理方法外,本领域技术人员还可以根据实际需要采用其它参考路径,本实施例对此也不加以限制。
S2022、确定所述参考路径与所述原始路径相交的交点。
在同一个平面中,在参考路径经过原始路径时,参考路径与原始路径相交,此时,可将相交的位置称之为交点。
在一种确定交点的方式中,一方面,可确定路径点与参考点之间的第一距离,其中,参考点为未生成参考路径的路径点,对于顺序遍历参考点的情况,参考点为排序在该路径点之后的其他路径点,对于逆序遍历参考点的情况,参考点为排序在该路径点之前的其他路径点。
进一步而言,可确定该路径点的坐标、参考点的坐标,将路径点的坐标与参考点的坐标代入欧拉距离等距离公式中,可计算出路径点与参考点之间的第一距离。
另一方面,可确定路径点与参考路径之间的第二距离。
进一步而言,对于不同形状的参考路径,第二距离的含义有所不同,例如,对于圆形的参考路径,第二距离可以为半径,对于正多边形的参考路径,第二距离可以为路径点与交点的距离、或者路径点与边的距离,对于椭圆的参考路径,第二距离可以指长轴的一半或者短轴的一半,等等。
若参考路径与原始路径相交,则交点与部分路径点是相近的,此时,第一距离约等于第二距离,即在误差范围内,第一距离等于第二距离,因此,可基于第一距离与第二距离识别参考路径与原始路径在目标位置相交的交点。
在一种确定第一距离约等于第二距离的方式中,可确定距离范围,其中,该距离范围包含第二距离。
设该第二距离为D,则可生成长度为F的距离范围,如[D-F/2,D+F/2]、[D-F/3,D+2F/3]、[D-3F/4,D+F/4],等等,其中F为可调节的参数。
若第一距离在该距离范围内,则可以确定参考路径与原始路径之间存在相交的交点。
进一步而言,若第一距离小于第二距离,则在顺序上,交点位于参考点之后;若第一距离等于第二距离,则交点与参考点重叠;若第一距离大于第二距离,则在顺序上,交点位于参考点之前。
当然,上述通过比较第一距离、第二距离确定交点的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其他确定交点的方式,例如,联合表示原始路径的函数与表示参考路径的函数求解坐标,若求解坐标成功,则该坐标表示交点,等等,本实施例对此不加以限制。另外,除了上述确定交点的方式外,本领域技术人员还可以根据实际需要采用其它确定交点的方式,本实施例对此也不加以限制。
在本实施例中,确定路径点与参考点之间的第一距离,参考点为未生成参考路径的路径点,确定路径点与参考路径之间的第二距离,基于第一距离与第二距离识别参考路径与原始路径相交的交点,相对于联合表示原始路径的函数与表示参考路径的函数求解坐标,由于路径点的坐标、参考路径的函数表达已知,因此,第一距离与第二距离的计算简单,从而快速确定参考路径与原始路径是否存在相交的交点。
S2023、根据所述交点的数量在所述原始路径中识别折返的路段。
在具体实现中,折返的路段,简称折返线,是原始路径中以某一方向到达一地点后再以反方向折回,继续前往下一地点,如此反复,呈一个或多个“Z”形、“之”字形等折返形状。
进一步而言,折返的路段中针对同一路径点,其存在多个与该路径点距离相等的点,因此,通过对交点的数量进行分析,与前述特征进行比较,可在原始路径中识别折返的路段。
在一种识别折返的路段的方式中,可统计交点的数量,将该数量与预设的阈值进行比较。
若数量大于或等于预设的阈值,则确定在原始路径中存在折返的路段。
若数量小于预设的阈值,则继续遍历下一个路径点,继续检查在原始路径中是否存在折返的路段。
其中,该阈值为3,此时,可识别出至少存在一个“Z”形、“之”字形等折返形状,从而确定折返的路段。
当然,某个路段可能并不具备路径点,该路段可能无法识别出交点,对此,可将阈值设置为2,以扩大检测的范围,本实施例对此不加以限制。
此外,上述通过交点的数量与阈值的比较识别折返的路段的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其他识别折返的路段的,例如,在交点的数量大于阈值的情况下,计算交点之间的距离,若该距离均小于预设的距离阈值,则确定存在折返的路段,否则,认为路段之间的跨度过大,确定不存在折返的路段,等等,本实施例对此不加以限制。另外,除了上述确定交点的方式外,本领域技术人员还可以根据实际需要采用其它确定交点的方式,本实施例对此也不加以限制。
进一步而言,为定位折返的路段,可确定目标点,目标点为位于交点之后的其他路径点,在原始路径中确定当前的路径点与目标点之间存在折返的路段,此时,折返的路段的起点为当前的路径点,终点为目标点。
当然,目标点除了为位于最后一个交点之后的其他路径点之外,还可以为为位于最后一个交点之前的其他路径点、最后一个交点,等等,本实施例对此不加以限制。
在本实施例中,将折返的路段定位至当前的路径点与目标点之间,目标点与交点临近甚至重叠,可保持折返的路段的精确度,减少对原始路径的影响,并且,相对于联合表示原始路径的函数与表示参考路径的函数求解交点的坐标,由于路径点的坐标已知,因此,折返的路段定位简单,可提高处理的速度,降低处理的耗时。
在本实施例中,确定原始路径,原始路径中具有多个路径点,确定环绕路径点的参考路径,确定参考路径与原始路径相交的交点,根据交点的数量在原始路径中识别折返的路段,对于离散的路径点的场景来说,通过判定原始路径与参考路径之间交点的数量可识别出在一个大致的范围内原始路径折叠的情况,从而判定原始路径是否存在折返的路段,无需计算曲率、方向变换等复杂的变量,计算简单,耗时小。
S203、确定非折返的路段。
非折返的路段,可以指除折返之外的路段,如直线、曲线等。
在一个示例中,可以通过直线插值的方式生成非折返的路段,即确定折返的路段中的起点(如当前的路径点)、终点(如目标点),在起点(如当前的路径点)与终点(如目标点)之间生成一线段,作为非折返的路段,使得折返的路段与非折返的路段的起点与终点相同。
假设折返的路段中的起点(如当前的路径点)的坐标为(x0,y0),终点(如目标点)的坐标为(x1,y1),通过直线插值的方式生成非折返的路段为:
当然,上述通过直线插值的方式生成非折返的路段的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其他生成非折返的路段的方式,例如,通过多项式或贝塞尔Beizer算法在折返的路段起点与终点之间拟合曲线,作为目标路段,等等,本实施例对此不加以限制。另外,除了上述确定交点的方式外,本领域技术人员还可以根据实际需要采用其它确定交点的方式,本实施例对此也不加以限制。
S204、在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径。
在本实施例中,在原始路径中去除折返的路段,将非折返的路段移入折返的路段所处的位置,并保持非折返的路段与前后衔接,将原始路径中所有折返的路段替换为非折返的路段之后,生成新的路径,作为目标路径。
需要说明的是,通过直线插值等方式生成的非折返的路段中含有一个或多个新的路径点,由于生成非折返的路段已保证并不会出现折返的路段,因此,新的路径点可以直接忽略,从折返的路段(非折返的路段)的终点继续遍历,以检查原始路段是否包含折返的路段。
在本实施例中,确定原始路径,原始路径中具有多个路径点,根据交点在原始路径中确定折返的路段,该交点用于表示原始路径与环绕路径点的参考路径相交,确定非折返的路段,在原始路径中将折返的路段替换为所述非折返的路段,以生成目标路径,对于离散的路径点的场景来说,通过分析原始路径与参考路径之间的交点即可判定原始路径是否存在折返的路段,无需计算曲率、方向变换等复杂的变量,计算简单,耗时小,并且,将折返的路段替换为非折返的路段,可在目标路段中保留原始路段的基本信息,保证目标路段的有效性,以及,降低重新生成路径的几率。
实施例三
图3为本发明实施例三提供的一种路径的处理方法的流程图,本实施例可适用于在机器人执行任务时通过交点识别路径中折返的路段、并替换该折返的路段的情况,该方法可以由路径的处理装置来执行,该路径的处理装置可以由软件和/或硬件实现,可配置在机器人中,如扫地机器人、安防机器人、教育机器人等等,该方法具体包括如下步骤:
S301、接收遥控器发送的任务。
在本实施例中,机器人可接收遥控器通过无线(如移动网络、Wi-Fi(无线保真)等)或有线等方式发送的任务,例如,户外巡逻、室内扫地,等等。
在该任务中,具有任务参数(如摄像头的拍摄角度、携带毛刷的机械臂的摇摆频率等)、原始路径等信息。
原始路径为机器人可读的路径,原始路径中具有多个(两个及两个以上)路径点,其中,该路径点具有序号、坐标等信息,其中,该序号表示路径点的顺序,原始路径的行进方式为按照顺序从上一个路径点行进至下一个路径点。
在具体实现中,该原始路径可以为按照预设的算法生成的路径,如Dijkstra算法、A*算法、蚁群算法、遗传算法等,该原始路径也可以是用户遥控录制的路径,本实施例对此不加以限制。
S302、根据交点在所述原始路径中确定折返的路段。
其中,交点用于表示原始路径与环绕路径点的参考路径相交。
折返的路段,简称折返线,是原始路径中以某一方向到达一地点后再以反方向折回,继续前往下一地点,如此反复,呈一个或多个“Z”形、“之”字形等折返形状。
在本实施例中,交点可反映出原始路径中在同一区域中往返的情况,可以参考交点的情况,检测原始路径中是否存在折返的路段。
在本发明的一个实施例中,若交点的数量大于或等于预设的阈值,则确定在原始路径中存在折返的路段,此时,S302可以包括如下步骤:
S3021、确定环绕所述路径点的参考路径。
在本实施例中,可以顺序或逆序依次遍历路径点,针对该路径点,可生成环绕该路径点的参考路径。
在一个示例中,以路径点为圆点,确定圆形的参考路径。
在本示例中,参考路径的半径为常亮,可以针对应用该原始路径的设备设置,例如,针对户外巡逻的机器人,该半径可以为0.5米至1米。
当然,上述圆形的参考路径只是作为示例,在实施本实施例时,可以根据实际情况设置其他参考路径,例如,以路径点为中心,确定正多边形(如正五边形、正八边形等)的参考路径,或者,以路径点为两个焦点的中点,确定椭圆的参考路径,等等,本实施例对此不加以限制。另外,除了上述判断处理方法外,本领域技术人员还可以根据实际需要采用其它参考路径,本实施例对此也不加以限制。
S3022、确定所述参考路径与所述原始路径相交的交点。
在同一个平面中,在参考路径经过原始路径时,参考路径与原始路径相交,此时,可将相交的位置称之为交点。
在一种确定交点的方式中,一方面,可确定路径点与参考点之间的第一距离,其中,参考点为未生成参考路径的路径点,对于顺序遍历参考点的情况,参考点为排序在该路径点之后的其他路径点,对于逆序遍历参考点的情况,参考点为排序在该路径点之前的其他路径点。
进一步而言,可确定该路径点的坐标、参考点的坐标,将路径点的坐标与参考点的坐标代入欧拉距离等距离公式中,可计算出路径点与参考点之间的第一距离。
另一方面,可确定路径点与参考路径之间的第二距离。
进一步而言,对于不同形状的参考路径,第二距离的含义有所不同,例如,对于圆形的参考路径,第二距离可以为半径,对于正多边形的参考路径,第二距离可以为路径点与交点的距离、或者路径点与边的距离,对于椭圆的参考路径,第二距离可以指长轴的一半或者短轴的一半,等等。
若参考路径与原始路径相交,则交点与部分路径点是相近的,此时,第一距离约等于第二距离,即在误差范围内,第一距离等于第二距离,因此,可基于第一距离与第二距离识别参考路径与原始路径在目标位置相交的交点。
在一种确定第一距离约等于第二距离的方式中,可确定距离范围,其中,该距离范围包含第二距离。
设该第二距离为D,则可生成长度为F的距离范围,如[D-F/2,D+F/2]、[D-F/3,D+2F/3]、[D-3F/4,D+F/4],等等,其中F为可调节的参数。
若第一距离在该距离范围内,则可以确定参考路径与原始路径之间存在相交的交点。
进一步而言,若第一距离小于第二距离,则在顺序上,交点位于参考点之后;若第一距离等于第二距离,则交点与参考点重叠;若第一距离大于第二距离,则在顺序上,交点位于参考点之前。
当然,上述通过比较第一距离、第二距离确定交点的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其他确定交点的方式,例如,联合表示原始路径的函数与表示参考路径的函数求解坐标,若求解坐标成功,则该坐标表示交点,等等,本实施例对此不加以限制。另外,除了上述确定交点的方式外,本领域技术人员还可以根据实际需要采用其它确定交点的方式,本实施例对此也不加以限制。
在本实施例中,确定路径点与参考点之间的第一距离,参考点为未生成参考路径的路径点,确定路径点与参考路径之间的第二距离,基于第一距离与第二距离识别参考路径与原始路径相交的交点,相对于联合表示原始路径的函数与表示参考路径的函数求解坐标,由于路径点的坐标、参考路径的函数表达已知,因此,第一距离与第二距离的计算简单,从而快速确定参考路径与原始路径是否存在相交的交点。
S3023、根据所述交点的数量在所述原始路径中识别折返的路段。
在具体实现中,折返的路段,简称折返线,是原始路径中以某一方向到达一地点后再以反方向折回,继续前往下一地点,如此反复,呈一个或多个“Z”形、“之”字形等折返形状。
进一步而言,折返的路段中针对同一路径点,其存在多个与该路径点距离相等的点,因此,通过对交点的数量进行分析,与前述特征进行比较,可在原始路径中识别折返的路段。
在一种识别折返的路段的方式中,可统计交点的数量,将该数量与预设的阈值进行比较。
若数量大于或等于预设的阈值,则确定在原始路径中存在折返的路段。
若数量小于预设的阈值,则继续遍历下一个路径点,继续检查在原始路径中是否存在折返的路段。
其中,该阈值为3,此时,可识别出至少存在一个“Z”形、“之”字形等折返形状,从而确定折返的路段。
当然,某个路段可能并不具备路径点,该路段可能无法识别出交点,对此,可将阈值设置为2,以扩大检测的范围,本实施例对此不加以限制。
此外,上述通过交点的数量与阈值的比较识别折返的路段的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其他识别折返的路段的,例如,在交点的数量大于阈值的情况下,计算交点之间的距离,若该距离均小于预设的距离阈值,则确定存在折返的路段,否则,认为路段之间的跨度过大,确定不存在折返的路段,等等,本实施例对此不加以限制。另外,除了上述确定交点的方式外,本领域技术人员还可以根据实际需要采用其它确定交点的方式,本实施例对此也不加以限制。
进一步而言,为定位折返的路段,可确定目标点,目标点为位于交点之后的其他路径点,在原始路径中确定当前的路径点与目标点之间存在折返的路段,此时,折返的路段的起点为当前的路径点,终点为目标点。
当然,目标点除了为位于最后一个交点之后的其他路径点之外,还可以为为位于最后一个交点之前的其他路径点、最后一个交点,等等,本实施例对此不加以限制。
在本实施例中,将折返的路段定位至当前的路径点与目标点之间,目标点与交点临近甚至重叠,可保持折返的路段的精确度,减少对原始路径的影响,并且,相对于联合表示原始路径的函数与表示参考路径的函数求解交点的坐标,由于路径点的坐标已知,因此,折返的路段定位简单,可提高处理的速度,降低处理的耗时。
在本实施例中,确定原始路径,原始路径中具有多个路径点,确定环绕路径点的参考路径,确定参考路径与原始路径相交的交点,根据交点的数量在原始路径中识别折返的路段,对于离散的路径点的场景来说,通过判定原始路径与参考路径之间交点的数量可识别出在一个大致的范围内原始路径折叠的情况,从而判定原始路径是否存在折返的路段,无需计算曲率、方向变换等复杂的变量,计算简单,耗时小。
S303、确定非折返的路段。
非折返的路段,可以指除折返之外的路段,如直线、曲线等。
在一个示例中,可以通过直线插值的方式生成非折返的路段,即确定折返的路段中的起点(如当前的路径点)、终点(如目标点),在起点(如当前的路径点)与终点(如目标点)之间生成一线段,作为非折返的路段,使得折返的路段与非折返的路段的起点与终点相同。
假设折返的路段中的起点(如当前的路径点)的坐标为(x0,y0),终点(如目标点)的坐标为(x1,y1),通过直线插值的方式生成非折返的路段为:
当然,上述通过直线插值的方式生成非折返的路段的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其他生成非折返的路段的方式,例如,通过多项式或贝塞尔Beizer算法在折返的路段起点与终点之间拟合曲线,作为目标路段,等等,本实施例对此不加以限制。另外,除了上述确定交点的方式外,本领域技术人员还可以根据实际需要采用其它确定交点的方式,本实施例对此也不加以限制。
S304、在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径。
在本实施例中,在原始路径中去除折返的路段,将非折返的路段移入折返的路段所处的位置,并保持非折返的路段与前后衔接,将原始路径中所有折返的路段替换为非折返的路段之后,生成新的路径,作为目标路径。
需要说明的是,通过直线插值等方式生成的非折返的路段中含有一个或多个新的路径点,由于生成非折返的路段已保证并不会出现折返的路段,因此,新的路径点可以直接忽略,从折返的路段(非折返的路段)的终点继续遍历,以检查原始路段是否包含折返的路段。
S305、沿所述目标路径移动,以执行所述任务。
在去除原始路径中的折返的路段,将原始路径优化为目标路径之后,机器人可执行在沿目标移动移动的过程中,执行遥控器下发的任务。
在本实施例中,接收遥控器发送的任务,任务中具有原始路径,原始路径中具有多个路径点,根据交点在原始路径中确定折返的路段,交点用于表示原始路径与环绕路径点的参考路径相交,确定非折返的路段,在原始路径中将折返的路段替换为非折返的路段,以生成目标路径,沿目标路径移动,以执行任务,对于离散的路径点的场景来说,通过分析原始路径与参考路径之间的交点即可判定原始路径是否存在折返的路段,无需计算曲率、方向变换等复杂的变量,计算简单,耗时小,并且,将折返的路段替换为非折返的路段,可在目标路段中保留原始路段的基本信息,保证目标路段的有效性,从而保证机器人正确执行任务,提高任务执行的效率,以及,降低重新生成路径的几率。
为使本领域技术人员更好地理解本实施例,以下通过具体的示例来说明本实施例中路径的处理方法。
如图4所示,在S401中,确定原始路径P。
在S402中,遍历原始路径P中的每一个路径点Pn(n为正整数),并以此为圆心绘制半径为R的圆形,作为参考路径。
在S403中,计算路径点Pn与路径点Pn+i(i为正整数)之间的距离L。
在S404中,判断是否L≈R。若是,则执行S405,若否,则执行S406。
在S405中,针对当前的路径点Pn,记录交点的数量加1。
在S406中,判断路径点Pn+i是否是原始路径P最后一个路径点。若是,则执行S407,若否,则返回执行S403。
在S407中,针对当前的路径点Pn,判断交点的数量是否大于等于3。若是,则执行S408,若否,则执行S409。
在S408中,在路径点Pn与位于最后一个交点之后的路径点Pn+i之间直线插值。
在S409中,以直线插值的线段替代路径点Pn与位于最后一个交点之后的路径点Pn+i之间的路段(即折返的路段),返回执行S402,继续遍历下一个路径点Pn。
在S410中,判断是否已检查完所有的路径点Pn。若是,则结束,获得目标路径,若否,则返回执行S402,继续遍历下一个路径点Pn。
如图5A所示,原始路径P存在21个路径点,标记为P1至P21,此时,原始路径P的行进顺序为P1→P2→P3→P4→P5→P6→P7→P8→P9→P10→P11→P12→P13→P14→P15→P16→P17→P18→P19→P20→P21。
依次遍历P1至P21,并依次以P1至P21为圆心绘制半径为R的圆形,作为参考路径。
如图5B所示,以P1为圆心绘制参考路径时,计算P1与P2之间的L,并判断P1与P2之间的L是否约等于R,在确定该P1与P2之间的L不约等于R时,判断P2是否为最后一个路径点,在确定P2不是最后一个路径点时,计算P1与P3之间的L,并判断P1与P3之间的L是否约等于R,在确定该P1与P3之间的L约等于R时,针对P1累计交点的数量加1,判断P3是否为最后一个路径点,在确定P3不是最后一个路径点时,计算P1与P4之间的L,如此反复,直至遍历完P2至P21。
此时,以P2为圆心的参考路径与原始路径P的交点的数量是否大于或等于3,由于交点为C1,数量为1,小于3,则继续遍历P2,以P2为圆心的参考路径与原始路径P的交点的数量也为1,则继续遍历P3。
如图5C所示,以P3为圆心的参考路径与原始路径P的交点为C2、C3、C4,数量为3,此时,P9为位于C4之后,P3→P4→P5→P6→P7→P8→P9为折返的路段。
如图5D所示,在P3与P9之间进行直线插值,生成新的线段(如5D中未示出插值的点)。
如图5E所示,在P3与P9之间将直线插值之后的线段替换P3→P4→P5→P6→P7→P8→P9。
如此遍历P9至P12,发现折返的线段,P12→P13→P14→P15→P16→P17,如5F所示,在P4与P21之间进行直线插值并将直线插值之后的线段替换P12→P13→P14→P15→P16→P17,继续遍历P17至P21,并未发现折返的线段。
此时,已遍历完所有的路径点,如5F所示,获得目标路径Q,目标路径Q的行进顺序为P1→P2→P3→(插值的线段)→P9→P10→P11→P12→(插值的线段)→P17→P18→P19→P20→P21。
在仿真设计中,原始路径如图6A所示,原始路径存在2个折返的路段,经过本实施例的方式对原始路径进行优化,获得的目标路径如图6B所示,该目标路径在保留原始路径的基本信息的情况下,消除了2个折返的路段。
在机器人仿真设计中,假设针对机器人设计的原始路径如图7A所示,原始路径存在3个折返的路段,机器人在经过第一个折返的路段会出现左右摇摆的情况,机器人在经过第二个折返的路段会出现前进后退的情况,机器人在经过第三个折返的路段会出现旋转的情况,经过本实施例的方式对原始路径进行优化,获得的目标路径如图7B所示,该目标路径在保留原始路径的基本信息的情况下,消除了三个折返的路径,机器人沿该目标路径移动,并不会出现前进后退、左右摇摆、旋转的情况。
实施例四
图8为本发明实施例四提供的一种路径的处理装置的结构示意图,该装置具体可以包括如下模块:
原始路径确定单元801,用于确定原始路径,所述原始路径中具有多个路径点;
参考路径确定单元802,用于确定环绕所述路径点的参考路径;
交点确定单元803,用于确定所述参考路径与所述原始路径相交的交点;
折返路段识别单元804,用于根据所述交点的数量在所述原始路径中识别折返的路段。
在本发明的一个实施例中,所述参考路径确定单元802包括:
圆形生成子单元,用于以所述路径点为圆点,确定圆形的参考路径。
在本发明的一个实施例中,所述交点确定单元803包括:
第一距离确定子单元,用于确定所述路径点与参考点之间的第一距离,所述参考点为未生成参考路径的路径点;
第二距离确定子单元,用于确定所述路径点与所述参考路径之间的第二距离;
距离识别子单元,用于基于所述第一距离与所述第二距离识别所述参考路径与所述原始路径相交的交点。
在本发明的一个实施例中,所述距离识别子单元还用于:
确定距离范围,所述距离范围包含所述第二距离;
若所述第一距离在所述距离范围内,则确定所述参考路径与所述原始路径之间存在相交的交点。
在本发明的一个实施例中,所述折返路段识别单元804包括:
数量统计子单元,用于统计所述交点的数量;
数量识别子单元,用于若所述数量大于或等于预设的阈值,则确定在所述原始路径中存在折返的路段。
在本实施例的一个示例中,所述阈值为3。
在本发明的一个实施例中,所述折返路段识别单元804包括:
目标点确定子单元,用于确定目标点,所述目标点为位于所述交点之后的其他路径点;
折返路段定位子单元,用于在所述原始路径中确定所述路径点与所述目标点之间存在折返的路段。
本发明实施例所提供的路径的处理装置可执行本发明任意实施例所提供的路径的处理方法,具备执行方法相应的功能模块和有益效果。
实施例五
图9为本发明实施例五提供的一种路径的处理装置的结构示意图,该装置具体可以包括如下模块:
原始路径确定模块901,用于确定原始路径,所述原始路径中具有多个路径点;
折返路段检测模块902,用于根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;
非折返路段确定模块903,用于确定非折返的路段;
折返路段替换模块904,用于在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径。
在本发明的一个实施例中,所述折返路段检测模块902包括:
参考路径确定单元,用于确定环绕所述路径点的参考路径;
交点确定单元,用于确定所述参考路径与所述原始路径相交的交点;
折返路段识别单元,用于根据所述交点的数量在所述原始路径中识别折返的路段。
在本发明的一个实施例中,所述参考路径确定单元包括:
圆形生成子单元,用于以所述路径点为圆点,确定圆形的参考路径。
在本发明的一个实施例中,所述交点确定单元包括:
第一距离确定子单元,用于确定所述路径点与参考点之间的第一距离,所述参考点为未生成参考路径的路径点;
第二距离确定子单元,用于确定所述路径点与所述参考路径之间的第二距离;
距离识别子单元,用于基于所述第一距离与所述第二距离识别所述参考路径与所述原始路径相交的交点。
在本发明的一个实施例中,所述距离识别子单元还用于:
确定距离范围,所述距离范围包含所述第二距离;
若所述第一距离在所述距离范围内,则确定所述参考路径与所述原始路径之间存在相交的交点。
在本发明的一个实施例中,所述折返路段识别单元包括:
数量统计子单元,用于统计所述交点的数量;
数量识别子单元,用于若所述数量大于或等于预设的阈值,则确定在所述原始路径中存在折返的路段。
在本实施例的一个示例中,所述阈值为3。
在本发明的一个实施例中,所述折返路段识别单元包括:
目标点确定子单元,用于确定目标点,所述目标点为位于所述交点之后的其他路径点;
折返路段定位子单元,用于在所述原始路径中确定所述路径点与所述目标点之间存在折返的路段。
在本发明的一个实施例中,所述折返路段检测模块902,还用于若交点的数量大于或等于预设的阈值,则确定在所述原始路径中存在折返的路段。
在本发明的一个实施例中,所述非折返路段确定模块903包括:
点确定单元,用于确定所述折返的路段中的起点、终点;
路线生成单元,用于在所述起点与所述终点之间生成一线段,作为目标路段。
本发明实施例所提供的路径的处理装置可执行本发明任意实施例所提供的路径的处理方法,具备执行方法相应的功能模块和有益效果。
实施例六
图10为本发明实施例六提供的一种机器人的结构示意图,该机器人具体可以包括如下模块:
任务接收模块1001,用于接收遥控器发送的任务,所述任务中具有原始路径,所述原始路径中具有多个路径点;
折返路段检测模块1002,用于根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;
非折返路段确定模块1003,用于确定非折返的路段;
折返路段替换模块1004,用于在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径;
任务执行模块1005,用于沿所述目标路径移动,以执行所述任务。
在本发明的一个实施例中,所述折返路段检测模块1002包括:
参考路径确定单元,用于确定环绕所述路径点的参考路径;
交点确定单元,用于确定所述参考路径与所述原始路径相交的交点;
折返路段识别单元,用于根据所述交点的数量在所述原始路径中识别折返的路段。
在本发明的一个实施例中,所述参考路径确定单元包括:
圆形生成子单元,用于以所述路径点为圆点,确定圆形的参考路径。
在本发明的一个实施例中,所述交点确定单元包括:
第一距离确定子单元,用于确定所述路径点与参考点之间的第一距离,所述参考点为未生成参考路径的路径点;
第二距离确定子单元,用于确定所述路径点与所述参考路径之间的第二距离;
距离识别子单元,用于基于所述第一距离与所述第二距离识别所述参考路径与所述原始路径相交的交点。
在本发明的一个实施例中,所述距离识别子单元还用于:
确定距离范围,所述距离范围包含所述第二距离;
若所述第一距离在所述距离范围内,则确定所述参考路径与所述原始路径之间存在相交的交点。
在本发明的一个实施例中,所述折返路段识别单元包括:
数量统计子单元,用于统计所述交点的数量;
数量识别子单元,用于若所述数量大于或等于预设的阈值,则确定在所述原始路径中存在折返的路段。
在本实施例的一个示例中,所述阈值为3。
在本发明的一个实施例中,所述折返路段识别单元包括:
目标点确定子单元,用于确定目标点,所述目标点为位于所述交点之后的其他路径点;
折返路段定位子单元,用于在所述原始路径中确定所述路径点与所述目标点之间存在折返的路段。
在本发明的一个实施例中,所述折返路段检测模块1002,还用于若交点的数量大于或等于预设的阈值,则确定在所述原始路径中存在折返的路段。
在本发明的一个实施例中,所述非折返路段确定模块1003包括:
点确定单元,用于确定所述折返的路段中的起点、终点;
路线生成单元,用于在所述起点与所述终点之间生成一线段,作为目标路段。
本发明实施例所提供的机器人可执行本发明任意实施例所提供的路径的处理方法,具备执行方法相应的功能模块和有益效果。
实施例七
图11为本发明实施例七提供的一种计算机设备的结构示意图。如图11所示,该计算机设备包括处理器1100、存储器1101、通信模块1102、输入装置1103和输出装置1104;计算机设备中处理器1100的数量可以是一个或多个,图11中以一个处理器1100为例;计算机设备中的处理器1100、存储器1101、通信模块1102、输入装置1103和输出装置1104可以通过总线或其他方式连接,图11中以通过总线连接为例。
存储器1101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的路径的处理方法对应的模块(例如,如图8所示的连接装置中的原始路径确定单元801、参考路径确定单元802、交点确定单元803和折返路段识别单元804;或者,如图9所示的连接装置中的原始路径确定模块901、折返路段检测模块902、非折返路段确定模块903和折返路段替换模块904;或者,如图10所示的机器人中的任务接收模块1001、折返路段检测模块1002、非折返路段确定模块1003、折返路段替换模块1004和任务执行模块1005)。处理器1100通过运行存储在存储器1101中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的路径的处理方法。
存储器1101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器1101可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器1101可进一步包括相对于处理器1100远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块1102,用于与显示屏建立连接,并实现与显示屏的数据交互。
输入装置1103可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。
输出装置1104可以包括扬声器等音频设备。
需要说明的是,输入装置1103和输出装置1704的具体组成可以根据实际情况设定。
本实施例提供的计算机设备,可执行本发明任一实施例提供的路径的处理方法,具体相应的功能和有益效果。
实施例八
本发明实施例八还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一种路径的处理方法。
在一种情况中,该方法包括:
确定原始路径,所述原始路径中具有多个路径点;
确定环绕所述路径点的参考路径;
确定所述参考路径与所述原始路径相交的交点;
根据所述交点的数量在所述原始路径中识别折返的路段。
在另一种情况中,该方法包括:
确定原始路径,所述原始路径中具有多个路径点;
根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;
确定非折返的路段;
在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径。
在又一种情况中,应用于机器人,该方法包括:
接收遥控器发送的任务,所述任务中具有原始路径,所述原始路径中具有多个路径点;
根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;
确定非折返的路段;
在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径;
沿所述目标路径移动,以执行所述任务。
当然,本发明实施例所提供的计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的路径的处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述路径的处理装置、机器人的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (14)
1.一种路径的处理方法,其特征在于,包括:
确定原始路径,所述原始路径中具有多个路径点;
确定环绕所述路径点的参考路径;
确定所述参考路径与所述原始路径相交的交点;
根据所述交点的数量在所述原始路径中识别折返的路段;
所述确定所述参考路径与所述原始路径相交的交点,包括:
确定所述路径点与参考点之间的第一距离,所述参考点为未生成参考路径的路径点;
确定所述路径点与所述参考路径之间的第二距离;
基于所述第一距离与所述第二距离识别所述参考路径与所述原始路径相交的交点。
2.根据权利要求1所述的方法,其特征在于,所述确定环绕所述路径点的参考路径,包括:
以所述路径点为圆点,确定圆形的参考路径。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一距离与所述第二距离识别所述参考路径与所述原始路径相交的交点,包括:
确定距离范围,所述距离范围包含所述第二距离;
若所述第一距离在所述距离范围内,则确定所述参考路径与所述原始路径之间存在相交的交点。
4.根据权利要求1-3任一所述的方法,其特征在于,所述根据所述交点的数量在所述原始路径中识别折返的路段,包括:
统计所述交点的数量;
若所述数量大于或等于预设的阈值,则确定在所述原始路径中存在折返的路段。
5.根据权利要求4所述的方法,其特征在于,所述阈值为3。
6.根据权利要求1-3任一所述的方法,其特征在于,所述根据所述交点的数量在所述原始路径中识别折返的路段,包括:
确定目标点,所述目标点为位于所述交点之后的其他路径点;
在所述原始路径中确定所述路径点与所述目标点之间存在折返的路段。
7.一种路径的处理方法,其特征在于,包括:
确定原始路径,所述原始路径中具有多个路径点;
根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;所述交点的确定方式包括:确定所述路径点与参考点之间的第一距离,所述参考点为未生成参考路径的路径点;确定所述路径点与所述参考路径之间的第二距离;基于所述第一距离与所述第二距离识别所述参考路径与所述原始路径相交的交点;
确定非折返的路段;
在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径。
8.根据权利要求7所述的方法,其特征在于,所述确定非折返的路段,包括:
确定所述折返的路段中的起点、终点;
在所述起点与所述终点之间生成一线段,作为目标路段。
9.一种路径的处理方法,应用于机器人中,其特征在于,包括:
接收遥控器发送的任务,所述任务中具有原始路径,所述原始路径中具有多个路径点;
根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;所述交点的确定方式包括:确定所述路径点与参考点之间的第一距离,所述参考点为未生成参考路径的路径点;确定所述路径点与所述参考路径之间的第二距离;基于所述第一距离与所述第二距离识别所述参考路径与所述原始路径相交的交点;
确定非折返的路段;
在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径;
沿所述目标路径移动,以执行所述任务。
10.一种路径的处理装置,其特征在于,包括:
原始路径确定单元,用于确定原始路径,所述原始路径中具有多个路径点;
参考路径确定单元,用于确定环绕所述路径点的参考路径;
交点确定单元,用于确定所述参考路径与所述原始路径相交的交点;
折返路段识别单元,用于根据所述交点的数量在所述原始路径中识别折返的路段;
所述交点确定单元包括:
第一距离确定子单元,用于确定所述路径点与参考点之间的第一距离,所述参考点为未生成参考路径的路径点;
第二距离确定子单元,用于确定所述路径点与所述参考路径之间的第二距离;
距离识别子单元,用于基于所述第一距离与所述第二距离识别所述参考路径与所述原始路径相交的交点。
11.一种路径的处理装置,其特征在于,包括:
原始路径确定模块,用于确定原始路径,所述原始路径中具有多个路径点;
折返路段检测模块,用于根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;
非折返路段确定模块,用于确定非折返的路段;
折返路段替换模块,用于在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径;
所述折返路段检测模块包括:
交点确定单元,用于确定所述参考路径与所述原始路径相交的交点;
其中,所述交点确定单元包括:
第一距离确定子单元,用于确定所述路径点与参考点之间的第一距离,所述参考点为未生成参考路径的路径点;
第二距离确定子单元,用于确定所述路径点与所述参考路径之间的第二距离;
距离识别子单元,用于基于所述第一距离与所述第二距离识别所述参考路径与所述原始路径相交的交点。
12.一种机器人,其特征在于,包括:
任务接收模块,用于接收遥控器发送的任务,所述任务中具有原始路径,所述原始路径中具有多个路径点;
折返路段检测模块,用于根据交点在所述原始路径中确定折返的路段,所述交点用于表示所述原始路径与环绕所述路径点的参考路径相交;
非折返路段确定模块,用于确定非折返的路段;
折返路段替换模块,用于在所述原始路径中将所述折返的路段替换为所述非折返的路段,以生成目标路径;
任务执行模块,用于沿所述目标路径移动,以执行所述任务;
所述折返路段检测模块包括:
交点确定单元,用于确定所述参考路径与所述原始路径相交的交点;
其中,所述交点确定单元包括:
第一距离确定子单元,用于确定所述路径点与参考点之间的第一距离,所述参考点为未生成参考路径的路径点;
第二距离确定子单元,用于确定所述路径点与所述参考路径之间的第二距离;
距离识别子单元,用于基于所述第一距离与所述第二距离识别所述参考路径与所述原始路径相交的交点。
13.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的路径的处理方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-9中任一所述的路径的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911190711.9A CN110794849B (zh) | 2019-11-28 | 2019-11-28 | 路径的处理方法、装置、机器人、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911190711.9A CN110794849B (zh) | 2019-11-28 | 2019-11-28 | 路径的处理方法、装置、机器人、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110794849A CN110794849A (zh) | 2020-02-14 |
CN110794849B true CN110794849B (zh) | 2023-07-25 |
Family
ID=69446601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911190711.9A Active CN110794849B (zh) | 2019-11-28 | 2019-11-28 | 路径的处理方法、装置、机器人、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110794849B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111220149B (zh) * | 2020-03-02 | 2022-01-28 | 腾讯科技(深圳)有限公司 | 移动设备的导航方法、装置、设备及计算机存储介质 |
CN115494833A (zh) * | 2021-06-18 | 2022-12-20 | 广州视源电子科技股份有限公司 | 机器人的控制方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107966953A (zh) * | 2017-11-24 | 2018-04-27 | 上海维宏电子科技股份有限公司 | 针对数控加工轨迹中折返线段处理的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2131259A1 (en) * | 2008-06-04 | 2009-12-09 | BAE Systems PLC | Vehicle System |
JP2010044637A (ja) * | 2008-08-14 | 2010-02-25 | Just Syst Corp | データ処理装置、方法、及びプログラム |
US20160008979A1 (en) * | 2013-03-07 | 2016-01-14 | Abb Technology Ag | Method for checking a robot path |
JP5800888B2 (ja) * | 2013-12-24 | 2015-10-28 | ファナック株式会社 | テーブル形式データによる運転でのスムージング機能を備えた数値制御装置 |
CN104751733B (zh) * | 2013-12-25 | 2017-06-16 | 携程计算机技术(上海)有限公司 | 地图的区域绘制方法及装置、路径距离分类方法及系统 |
CN107015563A (zh) * | 2016-12-29 | 2017-08-04 | 北京航空航天大学 | 移动机器人路径规划方法及装置 |
CN106780738B (zh) * | 2017-01-23 | 2020-02-11 | 国网山东省电力公司电力科学研究院 | 基于输变电工程环境敏感区的路径站址优化方法 |
CN106695800B (zh) * | 2017-03-02 | 2019-06-11 | 广州视源电子科技股份有限公司 | 机械臂运动路径生成方法和系统 |
CN107992964A (zh) * | 2017-11-24 | 2018-05-04 | 北京金风科创风电设备有限公司 | 地图路径生成方法、装置、系统和存储介质 |
US10976745B2 (en) * | 2018-02-09 | 2021-04-13 | GM Global Technology Operations LLC | Systems and methods for autonomous vehicle path follower correction |
CN109828607B (zh) * | 2019-04-03 | 2020-07-07 | 南京航空航天大学 | 一种面向不规则障碍物的无人机路径规划方法及系统 |
CN110322538B (zh) * | 2019-06-26 | 2023-09-05 | 广州视源电子科技股份有限公司 | 文字显示方法、装置,存储介质及处理器 |
-
2019
- 2019-11-28 CN CN201911190711.9A patent/CN110794849B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107966953A (zh) * | 2017-11-24 | 2018-04-27 | 上海维宏电子科技股份有限公司 | 针对数控加工轨迹中折返线段处理的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110794849A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017162036A1 (zh) | 偏航识别方法、终端和存储介质 | |
CN113155139B (zh) | 车辆轨迹纠偏方法、装置及电子设备 | |
CN108645411B (zh) | 基于粒子群算法的机器人路径规划方法、装置及终端设备 | |
CN110794849B (zh) | 路径的处理方法、装置、机器人、计算机设备和存储介质 | |
CN110375753A (zh) | 地图匹配方法、装置、服务器及存储介质 | |
CN103632542A (zh) | 交通信息处理方法、装置和相应设备 | |
CN111515953B (zh) | 路径规划方法、装置及电子设备 | |
CN109697875A (zh) | 规划行驶轨迹的方法及装置 | |
US11048262B2 (en) | Robot movement control method and apparatus and robot using the same | |
CN111750861B (zh) | 优选路径规划方法、装置及电子设备 | |
CN110850807B (zh) | 一种奇异点规避方法、装置、设备及介质 | |
CN111895999B (zh) | 一种基于结构化数据的路径规划方法 | |
CN112747755B (zh) | 道路线确定方法、装置、可读存储介质及地图更新系统 | |
Maddern et al. | Towards persistent indoor appearance-based localization, mapping and navigation using cat-graph | |
US20230063370A1 (en) | Multi-robot route planning | |
Chen et al. | Dynamic obstacle avoidance for uavs using a fast trajectory planning approach | |
CN113867356A (zh) | 机器人路径规划方法、装置及机器人 | |
CN113108806A (zh) | 路径规划方法、装置、设备及介质 | |
CN111380556B (zh) | 用于自动驾驶车辆的信息处理方法和装置 | |
CN112180947B (zh) | 一种移动机器人初始行进方向选择方法及其设备 | |
CN111688717B (zh) | 用于控制车辆通行的方法和装置 | |
CN114440874B (zh) | 基于光流和光栅的融合定位方法和装置 | |
Li et al. | Game Theory-Based Simultaneous Prediction and Planning for Autonomous Vehicle Navigation in Crowded Environments | |
CN112414428B (zh) | 导航信息的显示方法、装置、电子设备及存储介质 | |
CN113919582A (zh) | 一种站内路况的分析方法、装置、设备和存储介质 |
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 |