跟踪路径的方法、装置、电子设备、及存储介质与流程

文档序号:24041660发布日期:2021-02-23 16:59阅读:155来源:国知局
跟踪路径的方法、装置、电子设备、及存储介质与流程

[0001]
本公开实施例涉及路径跟踪技术领域,具体涉及一种跟踪路径的方法、装置、电子设备、及存储介质。


背景技术:

[0002]
智能移动机器人是一类能够通过传感器感知环境和自身状态,实现在有障碍物的环境中面向目标的自主移动,从而完成一定的作业功能的机器人系统。移动机器人导航技术的研究内容主要包括同步定位与地图创建、路径规划等若干方面的内容。


技术实现要素:

[0003]
有鉴于此,本公开实施例提供一种跟踪路径的方法、装置、电子设备、及存储介质,以提高路径移动的精确度。
[0004]
本公开实施例的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开实施例的实践而习得。
[0005]
在本公开的第一方面,本公开实施例提供了一种跟踪路径的方法,包括:
[0006]
获取环境地图上当前待跟踪路径上的坐标点序列;
[0007]
根据当前位置与所述坐标点序列中各点的距离,确定当前跟踪点;
[0008]
对所述当前跟踪点进行跟踪;
[0009]
若所述当前待跟踪路径发生变化,获取环境地图上下一待跟踪路径上的坐标点序列,确定所述下一待跟踪路径上的坐标点序列上与所述当前位置相对应的点为下一当前位置;
[0010]
以所述当前位置和所述下一当前位置为起始点和终点,根据所述当前位置和所述下一当前位置的距离、距离夹角以及全局朝向,进行路径规划;
[0011]
根据所述下一当前位置与所述下一待跟踪路径上的坐标点序列中各点的距离,确定下一跟踪点,对所述下一跟踪点进行跟踪,直至所述下一跟踪点为目标终点。
[0012]
于一实施例中,若所述当前待跟踪路径未发生变化,对所述当前跟踪点进行跟踪,直到所述当前位置与所述当前跟踪点之间的距离等于或小于所述设定距离阈值时的当前位置为下一当前位置;根据所述下一当前位置,确定下一跟踪点并进行跟踪。
[0013]
于一实施例中,所述对所述当前跟踪点进行跟踪,根据所述当前跟踪点与所述当前位置的距离,得到下一当前位置的步骤包括:
[0014]
对所述当前跟踪点进行跟踪,直到所述当前位置与所述当前跟踪点之间的距离等于或小于所述设定距离阈值时的当前位置为下一当前位置;
[0015]
将所述当前跟踪点以及所述当前跟踪点之前的坐标点从所述坐标点序列中删除。
[0016]
于一实施例中,所述根据当前位置与所述坐标点序列中各点的距离,确定当前跟踪点的步骤包括:从所述坐标点序列中查找距离当前位置最近且距离当前位置大于设定距离阈值的坐标点作为当前跟踪点。
[0017]
于一实施例中,在所述根据所述下一当前位置与所述下一待跟踪路径上的坐标点序列中各点的距离,确定下一跟踪点,对所述下一跟踪点进行跟踪,直至所述下一跟踪点为目标终点的步骤之后,还包括步骤:
[0018]
对所述目标终点进行跟踪直至到达所述目标终点时速度为零。
[0019]
于一实施例中,对所述目标终点进行跟踪直至到达所述目标终点时速度为零包括:
[0020]
确定当前在所述环境地图上的位置朝向角度;
[0021]
确定当前位置与所述目标终点之间的跟踪距离;
[0022]
确定当前位置相对于所述目标终点的位置夹角;
[0023]
若当前位置距离所述目标终点大于预定距离,则根据所述位置朝向角度、所述跟踪距离、以及所述位置夹角确定当前前进速度和当前旋转速度,若当前位置距离所述目标终点小于或等于所述预定距离,则控制所述旋转速度递减直至到达所述目标终点时速度为零。
[0024]
于一实施例中,所述对当前跟踪点进行跟踪包括:
[0025]
确定当前在所述环境地图上的位置朝向角度;
[0026]
确定当前位置与当前跟踪点之间的跟踪距离;
[0027]
确定当前位置相对于当前跟踪点的位置夹角;
[0028]
根据所述位置朝向角度、所述跟踪距离、以及所述位置夹角确定当前前进速度和当前旋转速度。
[0029]
在本公开的第二方面,本公开实施例还提供了一种跟踪路径的装置,包括:
[0030]
坐标点序列获取单元,用于获取环境地图上当前待跟踪路径上的坐标点序列;
[0031]
跟踪点确定单元,用于根据当前位置与所述坐标点序列中各点的距离,确定当前跟踪点;
[0032]
跟踪单元,用于对所述当前跟踪点进行跟踪;
[0033]
下一当前位置确定单元,用于若所述当前待跟踪路径发生变化,获取环境地图上下一待跟踪路径上的坐标点序列,确定所述下一待跟踪路径上的坐标点序列上与所述当前位置相对应的点为下一当前位置;
[0034]
路径规划单元,用于以所述当前位置和所述下一当前位置为起始点和终点,根据所述当前位置和所述下一当前位置的距离、距离夹角以及全局朝向,进行路径规划;
[0035]
循环跟踪单元,用于根据所述下一当前位置与所述下一待跟踪路径上的坐标点序列中各点的距离,确定下一跟踪点,对所述下一跟踪点进行跟踪,直至所述下一跟踪点为目标终点。
[0036]
于一实施例中,所述下一当前位置确定单元还用于:若所述当前待跟踪路径未发生变化,对所述当前跟踪点进行跟踪,直到所述当前位置与所述当前跟踪点之间的距离等于或小于所述设定距离阈值时的当前位置为下一当前位置;根据所述下一当前位置,确定下一跟踪点并进行跟踪。
[0037]
于一实施例中,所述下一当前位置确定单元用于对所述当前跟踪点进行跟踪,直到所述当前位置与所述当前跟踪点之间的距离等于或小于所述设定距离阈值时的当前位置为下一当前位置包括,用于:
[0038]
对所述当前跟踪点进行跟踪,直到所述当前位置与所述当前跟踪点之间的距离等于或小于所述设定距离阈值时的当前位置为下一当前位置;
[0039]
将所述当前跟踪点以及所述当前跟踪点之前的坐标点从所述坐标点序列中删除。
[0040]
于一实施例中,所述跟踪点确定单元用于:从所述坐标点序列中查找距离当前位置最近且距离当前位置大于设定距离阈值的坐标点作为当前跟踪点。
[0041]
于一实施例中,所述循环跟踪单元还用于,在对所述下一跟踪点进行跟踪,直至所述下一跟踪点为目标终点之后,对所述目标终点进行跟踪直至到达所述目标终点时速度为零。
[0042]
于一实施例中,所述循环跟踪单元用于对所述目标终点进行跟踪直至到达所述目标终点时速度为零包括,用于:
[0043]
确定当前在所述环境地图上的位置朝向角度;
[0044]
确定当前位置与所述目标终点之间的跟踪距离;
[0045]
确定当前位置相对于所述目标终点的位置夹角;
[0046]
若当前位置距离所述目标终点大于预定距离,则根据所述位置朝向角度、所述跟踪距离、以及所述位置夹角确定当前前进速度和当前旋转速度,若当前位置距离所述目标终点小于或等于所述预定距离,则控制所述旋转速度递减直至到达所述目标终点时速度为零。
[0047]
于一实施例中,所述跟踪单元用于:
[0048]
确定当前在所述环境地图上的位置朝向角度;
[0049]
确定当前位置与当前跟踪点之间的跟踪距离;
[0050]
确定当前位置相对于当前跟踪点的位置夹角;
[0051]
根据所述位置朝向角度、所述跟踪距离、以及所述位置夹角确定当前前进速度和当前旋转速度。
[0052]
在本公开的第三方面,提供了一种电子设备。该电子设备包括:处理器;以及存储器,用于存储可执行指令,所述可执行指令在被所述处理器执行时使得所述电子设备执行第一方面中的方法。
[0053]
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面中的方法。
[0054]
本公开实施例提出的技术方案的有益技术效果是:
[0055]
本公开实施例通过获取环境地图上当前待跟踪路径上的坐标点序列,根据当前位置与所述坐标点序列中各点的距离,确定当前跟踪点进行跟踪,若当前跟踪路径发生变化,则获取环境地图上下一待跟踪路径上的坐标点序列,确定下一待跟踪路径上的坐标点序列上与当前位置相对应的点为下一当前位置,也就是说,在对当前跟踪点进行跟踪过程中,待跟踪路径发生变化,则在下一待跟踪路径上确定与跟踪过程中的当前位置相对应的点为下一当前位置,再进行路径规划,行走至下一当前位置上,再进行跟踪,依次循环,直至下一跟踪点为目标终点,从而能够实时进行跟踪,能够提高路径移动的精确度和灵活性,能够避免与待跟踪路径偏移过大而使跟踪装置卡在虚拟墙中而无法自主移动。此外,以当前位置和下一当前位置为起始点和终点,根据当前位置和下一当前位置的距离、距离夹角以及全局朝向,进行路径规划,考虑到朝向以及距离夹角,不仅提高路径移动的精准度,还能减少路
径移动的时间。
附图说明
[0056]
为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本公开实施例中的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本公开实施例的内容和这些附图获得其他的附图。
[0057]
图1是根据本公开实施例提供的一种跟踪路径的方法的流程示意图;
[0058]
图2是根据本公开实施例提供的一种示例性的跟踪路径的流程示意图;
[0059]
图3是根据本公开实施例提供的一种跟踪路径的方法中确定机器人的位置参数的示意图;
[0060]
图4是根据本公开实施例提供的另一种跟踪路径的方法的流程示意图;
[0061]
图5是根据本公开实施例提供的一种跟踪路径的装置的结构示意图;
[0062]
图6示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
[0063]
为使本公开实施例解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本公开实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本公开实施例中的一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
[0064]
需要说明的是,本公开实施例中术语“系统”和“网络”在本文中常被可互换使用。本公开实施例中提到的“和/或”是指包括一个或更多个相关所列项目的任何和所有组合。本公开的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于限定特定顺序。
[0065]
还需要说明是,本公开实施例中下述各个实施例可以单独执行,各个实施例之间也可以相互结合执行,本公开实施例对此不作具体限制。
[0066]
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0067]
下面结合附图并通过具体实施方式来进一步说明本公开实施例的技术方案。
[0068]
图1示出了本公开实施例提供的一种跟踪路径的方法的流程示意图,本实施例可适用于控制电了设备跟踪指定路径的情况,该方法可以由配置于电子设备中的跟踪路径装置来执行,所述电子设备包括但不限于机器人等可移动设备。如图1所示,本实施例所述的跟踪路径的方法包括:
[0069]
在步骤s110中,获取环境地图上当前待跟踪路径上的坐标点序列。其中所述坐标点序列的起始坐标点为所述当前待跟踪路径的起点,所述坐标点序列的最后坐标点为所述当前待跟踪路径的目标终点。
[0070]
需要说明的是,所述环境地图根据应用场景不同而不同,可以为室外地图,例如汽车导航、送货机器人导航等,也可为室内地图,例如可以为医院内部地图,用于医院用的机
器人配送医用耗材等。其中所述环境地图的数据形式可为多种,例如可为栅格地图、矢量地图、拓扑地图等,本实施例对环境地图的具体形式不作限定。所述环境地图可为预先给定,也可在本步骤之前创建,例如可利用执行该方法的电子设备上的机身传感器,例如机器人上的机身传感器,结合slam技术构建所述环境地图。
[0071]
本实施例中当前待跟踪路径为预先指定路径,例如当前待跟踪路径可为从起点到目标终点之间的最优路径,用于执行该方法的电子设备尽可能严格地跟踪该预先指定的最优路径从起点移动到目标终点。又如当前待跟踪路径可为历史轨迹,用于执行该方法的电子设备尽可能严格地按照该历史轨迹对应的路线从起点移动到目标终点。
[0072]
例如,获取在所述环境地图上从起点到目标终点的全局最优路径作为当前待跟踪路径,顺次记录当前待跟踪路径上的坐标点得到当前坐标点序列。
[0073]
需要说明的是,据环境地图的类型不同,最优路径的获取方法可能会有所不同,例如,以栅格型的环境地图为例,可使用a星算法或迪杰斯特拉算法获取在所述环境地图上从所述起点到所述目标终点的全局最优路径作为当前待跟踪路径。
[0074]
图2是根据本公开实施例提供的一种示例性的跟踪路径的流程示意图,例如待跟踪路径如图2所示,起点为ps,目标终点为pt,所述待跟踪路径上从起点到目标终点的坐标点依次为ps
--
>pa
--
>pb
--
>pc
--
>pd
--
>pe
--
>pt。以图2为例,待跟踪路径上的坐标点序列记为[ps,pa,pb,pc,pd,pe,pt]。在本实施例中,以执行该方法的电子设备行进前确定的第一次路径规划得到的全局路径为当前待跟踪路径,也就是说,当前待跟踪路径为第一次路径规划得到的全局路径。
[0075]
在步骤s120中,根据当前位置与所述坐标点序列中各点的距离,确定当前跟踪点。
[0076]
例如,可从所述坐标点序列中查找距离当前位置最近的坐标点作为当前跟踪点。例如,以图2为例,待跟踪路径上的坐标点序列记为[ps,pa,pb,pc,pd,pe,pt],执行该方法的电子设备从ps出发,从[pa,pb,pc,pd,pe,pt]中找出离当前位置最近的坐标点,例如pa。
[0077]
在步骤s130中,对当前跟踪点进行跟踪。
[0078]
例如,执行该方法的电子设备以该当前跟踪点点作为临时目标点,根据该局部路径规划进行行走。
[0079]
在步骤s140中,若当前待跟踪发生变化,获取环境地图上下一待跟踪路径上的坐标点序列,确定下一待跟踪路径上的坐标点序列上与当前位置相对应的点为下一当前位置。
[0080]
具体地,实际过程中,由于环境比较复杂,执行该方法的电子设备可能有多个,可能需要调整当前待跟踪路径。若当前待跟踪路径发生变化,获取环境地图上下一待跟踪路径上的坐标点序列。即,起始点和目标点之间的全局路径发生变化,以变化后的全局路径作为下一待跟踪路径。在本实施例中,下一待跟踪路径为第二次路径规划得到的全局路径。
[0081]
此时,执行该方法的电子设备在跟踪当前跟踪点过程中所到达的点为当前位置,也就是说,在跟跟踪点pa过程中,获得下一待跟踪路径,则执行该方法的电子设备此刻所到达的点即为当前位置,在ps和pa之间。在一实施例中,将下一待跟踪路径上的坐标点序列上距离当前位置最近的点作为下一当前位置。
[0082]
在步骤s150中,以当前位置和下一当前位置为起始点和终点,根据当前位置和下一当前位置的距离、距离夹角以及全局朝向,进行路径规划。
[0083]
具体地,执行该方法的电子设备根据该路径规划进行行走,至下一当前位置。以当前位置和下一当前位置的距离、距离夹角以及全局朝向为参数,结合执行该方法的电子设备的朝向,规划的路径非直线,为曲线,从而执行该方法的电子设备行走至下一当前位置时,已经修正其行走方向,节省时间,也使得其定位更加精准。
[0084]
到达所述当前跟踪点,或者执行该方法的电子设备的当前位置与所述当前跟踪点非常靠近(例如距离小于或等于设定距离阈值),则可将执行本实施例方法的电子设备所在位置作为下一当前位置,以执行步骤s140继续追踪下一跟踪点。
[0085]
其中,所述设定距离阈值可设置为一个较小值,例如可设置为0.5米,目的在于使执行该方法的电子设备在追踪路径时,在非常接近目标跟踪点后,改跟踪下一跟踪点,而不必绝对地到达目标跟踪点,能够使跟踪路线更加平滑顺畅。
[0086]
在步骤s160中,根据所述下一当前位置与所述下一待跟踪路径上的坐标点序列中各点的距离,确定下一跟踪点,对所述下一跟踪点进行跟踪,直至所述下一跟踪点为目标终点。
[0087]
依此方法可依次追踪pb、pc、pd、以及pe,直至下一当前追踪点为目标终点pt。
[0088]
本实施例通过获取环境地图上待跟踪路径上的坐标点序列,根据当前位置与所述坐标点序列中各点的距离,确定当前跟踪点进行跟踪,并根据当前跟踪点与当前位置的距离得到下一当前位置,并根据该下一当前位置确定下一当前跟踪点并进行跟踪,直至所述下一当前跟踪点为所述目标终点能严格遵循待跟踪路径移动,能够提高路径移动的精确度,能够避免与待跟踪路径偏移过大而使跟踪装置卡在虚拟墙中而无法自主移动。
[0089]
进一步地,在步骤s130和步骤s160跟踪的过程中,可实时调整执行该方法的电子设备的位姿,以使该电子设备移动时更加平滑,例如可确定执行该方法的电子设备当前在所述环境地图上的位置朝向角度,确定当前位置与当前跟踪点之间的跟踪距离,确定当前位置相对于当前跟踪点的位置夹角,根据所述位置朝向角度、所述跟踪距离、以及所述位置夹角确定当前前进速度和当前旋转速度。
[0090]
图3是根据本公开实施例提供的一种跟踪路径的方法中确定机器人的位置参数的示意图,图3以机器人跟踪为例说明本步骤的一种示例性方案,需要说明的是,图3仅是一个示例,本公开实施例的执行主体包括但不限于机器人,对跟踪点的跟踪方法也包括但不限于图3所示的方法。
[0091]
如图3所示,根据机器人当前位置点坐标v(x0,y0)与跟踪点坐标g(x1,y1),获得机器人相对跟踪点g的位置夹角φ(即图3中与角度β方向相反的角,即φ=-β),与跟踪点坐标g共同组成跟踪位姿(x1,y1,φ)。此外,设定跟踪距离ρ为机器人当前位置点坐标v距离该跟踪点g的欧式距离,根据坐标关系可知:
[0092]
(1)机器人在全局坐标系下的当前位置朝向θ;
[0093]
(2)跟踪距离
[0094]
(3)在全局坐标系下,机器人相对跟踪点的位置夹角
[0095]
其中δx=x
1-x0,δy=y
1-y0[0096]
为了控制机器人最终的姿态,首先将机器人在全局坐标系中的速度表示为(vcos
θ,vsinθ)则可写成下述矩阵形式:
[0097][0098]
其中v、ω分别为机器人在全局坐标系中前进速度与旋转速度。
[0099]
然后使用图3中的符号将其变换成极坐标系下的形式,可对变量做如下转换:
[0100][0101][0102]
β=-θ-α
[0103]
执行本实施例所述方法的机器人根据所述跟踪距离ρ、朝向角度θ、以及位置夹角β,确定机器人在全局坐标系中前进速度v与旋转速度ω。具体调整方法包括多种,例如根据上述参数可以得到:
[0104]

[0105]
并假定当前跟踪点g在机器人前方,采用以下线性控制方法:
[0106]
v=k
ρ
ρ
[0107]
ω=k
α
α+k
β
β
[0108]
它将控制机器人到达一个唯一的平衡点,即(ρ,α,β)=(0,0,0)。该控制器的设计思路是采用k
ρ
ρ和k
α
α项控制机器人沿着一条直线向目标{g}运动,而k
β
β项则用来转动该直线从而使β

0。闭环控制系统为:
[0109][0110]
该系统稳定的前提是要满足以下条件:
[0111]
k
ρ
>0,k
β
<0,k
α-k
ρ
>0
[0112]
确定执行该方法的电子设备当前位置在所述环境地图上的位置朝向角度、当前位置与当前跟踪点之间的跟踪距离、当前位置相对于当前跟踪点的位置夹角,据此确定当前前进速度和当前旋转速度,以实时调整执行该方法的电子设备的位姿,能使该电子设备移动时更加平滑。
[0113]
上一实施例的基础之上,图4示出了本公开实施例提供的另一种跟踪路径的方法的流程示意图。如图4所示,本实施例所述的跟踪路径的方法包括:
[0114]
在步骤s410中,获取环境地图上待跟踪路径上的坐标点序列。其中所述坐标点序列的起始坐标点为所述待跟踪路径的起点,所述坐标点序列的最后坐标点为所述待跟踪路径的目标终点。
[0115]
例如待跟踪路径如图2所示,起点为ps,目标终点为pt,所述待跟踪路径上从起点到目标终点的坐标点依次为ps
--
>pa
--
>pb
--
>pc
--
>pd
--
>pe
--
>pt。以图2为例,待跟踪路径上的坐标点序列记为[ps,pa,pb,pc,pd,pe,pt]。
[0116]
在步骤s420中,从所述坐标点序列中查找距离当前位置最近且距离当前位置大于设定距离阈值的坐标点作为当前跟踪点。
[0117]
需要说明的是,所述设定距离阈值为一个较小值,例如可设置为0.5米,目的在于使执行该方法的电子设备在追踪路径时,在非常接近目标跟踪点后,改跟踪下一跟踪点,而不必绝对地到达目标跟踪点,能够使跟踪路线更加平滑顺畅。
[0118]
例如,以图2为例,待跟踪路径上的坐标点序列记为[ps,pa,pb,pc,pd,pe,pt],执行该方法的电子设备从ps出发,从[pa,pb,pc,pd,pe,pt]中找出离当前位置最近且距离当前位置大于设定距离阈值的坐标点,例如pa。
[0119]
在步骤s430中,判断所查找的当前跟踪点是否为目标终点,若是则执行步骤s460,否则执行步骤s440。
[0120]
例如若当前跟踪点为pa、pb、pc、pd、或pe不是终点,则执行步骤s440进行中间坐标点的跟踪。
[0121]
又如若当前跟踪点为pt,则执行步骤s460进行目标终点的跟踪。
[0122]
在步骤s440中,对当前跟踪点进行跟踪直到当前位置与当前跟踪点之间的距离等于或小于所述设定距离阈值。
[0123]
在跟踪的过程中,需要不时调整执行该方法的电子设备的位姿,以使该电子设备移动时更加平滑,例如可确定当前在所述环境地图上的位置朝向角度,确定当前位置与当前跟踪点之间的跟踪距离,确定当前位置相对于当前跟踪点的位置夹角,根据所述位置朝向角度、所述跟踪距离、以及所述位置夹角确定当前前进速度和当前旋转速度。
[0124]
在步骤s450中,将当前跟踪点以及当前跟踪点之前的坐标点从所述坐标点序列中删除,返回步骤s420。
[0125]
在步骤s460中,对所述目标终点进行跟踪直至到达所述目标终点时速度为零。
[0126]
确定当前在所述环境地图上的位置朝向角度;
[0127]
确定当前位置与所述目标终点之间的跟踪距离;
[0128]
确定当前位置相对于所述目标终点的位置夹角;
[0129]
若当前位置距离所述目标终点大于预定距离,则根据所述位置朝向角度、所述跟踪距离、以及所述位置夹角确定当前前进速度和当前旋转速度,若当前位置距离所述目标终点小于或等于所述预定距离,则控制所述旋转速度递减直至到达所述目标终点时速度为零。
[0130]
需要说明的是,跟踪目标终点的过程,可与跟踪待跟踪路径上其他的跟踪点相似,但是执行该方法的电子设备(机器人)到达终点时需要稳稳地停下,所以在跟踪目标终点的过程中,需要逐渐地控制执行该方法的电子设备的速度,尽可能地保证在达到目标终点时刚好停下。
[0131]
基于上述理由,在跟踪目标终点的过程中,可根据步骤s440所述的方法进行跟踪,例如若当前距离所述目标终点大于预定距离,则采用步骤s440所述的方法,确定当前在所述环境地图上的位置朝向角度,确定当前位置与所述目标终点之间的跟踪距离,确定当前
位置相对于所述目标终点的位置夹角,根据所述位置朝向角度、所述跟踪距离、以及所述位置夹角确定当前前进速度和当前旋转速度。若当前距离所述目标终点等于或小于所述预定距离,控制所述旋转速度递减直至到达所述目标终点时速度为零。
[0132]
本实施例在上一实施例的基础上,通过获取环境地图上待跟踪路径上的坐标点序列之后,从中查找距离当前位置最近且大于设定距离阈值的坐标点进行跟踪,直到距离等于或小于设定距离阈值,将当前跟踪点以及之前的坐标点从坐标点序列中删除,重复查找确定跟踪点进行跟踪直到跟踪到目标终点,既够使跟踪路线更加平滑顺畅,又能比较严格遵循待跟踪路径移动,能够避免与待跟踪路径偏移过大而使跟踪装置卡在虚拟墙中而无法自主移动。
[0133]
作为上述各图所示方法的实现,本申请提供了一种跟踪路径的装置的一个实施例,图5示出了本实施例提供的一种跟踪路径的装置的结构示意图,该装置实施例与图1至图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。如图5所示,本实施例所述的跟踪路径的装置包括坐标点序列获取单元510、跟踪点确定单元520、跟踪单元530、下一当前位置确定单元540、路径规划单元550和循环跟踪单元560。
[0134]
本实施例提供的跟踪路径的装置可执行本公开方法实施例所提供的跟踪路径的方法,具备执行方法相应的功能模块和有益效果。
[0135]
所述坐标点序列获取单元510被配置为,用于获取环境地图上当前待跟踪路径上的坐标点序列。
[0136]
所述跟踪点确定单元520被配置为,用于根据当前位置与所述坐标点序列中各点的距离,确定当前跟踪点。
[0137]
所述跟踪单元530被配置为,用于对所述当前跟踪点进行跟踪。
[0138]
所述下一当前位置确定单元540被配置为,用于若所述当前待跟踪路径发生变化,获取环境地图上下一待跟踪路径上的坐标点序列,确定所述下一待跟踪路径上的坐标点序列上与所述当前位置相对应的点为下一当前位置。
[0139]
所述路径规划单元550被配置为,用于以所述当前位置和所述下一当前位置为起始点和终点,根据所述当前位置和所述下一当前位置的距离、距离夹角以及全局朝向,进行路径规划。
[0140]
所述循环跟踪单元560被配置为,用于根据所述下一当前位置与所述下一待跟踪路径上的坐标点序列中各点的距离,确定下一跟踪点,对所述下一跟踪点进行跟踪,直至所述下一跟踪点为目标终点。
[0141]
根据本公开的一个或多中实施例,所述下一当前位置确定单元还用于:
[0142]
若所述当前待跟踪路径未发生变化,对所述当前跟踪点进行跟踪,直到所述当前位置与所述当前跟踪点之间的距离等于或小于所述设定距离阈值时的当前位置为下一当前位置;根据所述下一当前位置,确定下一跟踪点并进行跟踪。
[0143]
根据本公开的一个或多中实施例,所述下一当前位置确定单元540被配置为还用于:对所述当前跟踪点进行跟踪,直到所述当前位置与所述当前跟踪点之间的距离等于或小于所述设定距离阈值时的当前位置为下一当前位置;将所述当前跟踪点以及所述当前跟踪点之前的坐标点从所述坐标点序列中删除。
[0144]
根据本公开的一个或多中实施例,所述跟踪点确定单元520被配置为,还用于从所
述坐标点序列中查找距离当前位置最近且距离当前位置大于设定距离阈值的坐标点作为当前跟踪点。
[0145]
根据本公开的一个或多中实施例,所述循环跟踪单元560被配置为,还用于在对所述下一跟踪点进行跟踪,直至所述下一跟踪点为目标终点之后,对所述目标终点进行跟踪直至到达所述目标终点时速度为零。
[0146]
根据本公开的一个或多中实施例,所述循环跟踪单元560被配置为用于对所述目标终点进行跟踪直至到达所述目标终点时速度为零包括,用于确定当前在所述环境地图上的位置朝向角度;确定当前位置与所述目标终点之间的跟踪距离;确定当前位置相对于所述目标终点的位置夹角;若当前位置距离所述目标终点大于预定距离,则根据所述位置朝向角度、所述跟踪距离、以及所述位置夹角确定当前前进速度和当前旋转速度,若当前位置距离所述目标终点小于或等于所述预定距离,则控制所述旋转速度递减直至到达所述目标终点时速度为零。
[0147]
根据本公开的一个或多中实施例,所述跟踪单元530被配置为,还用于确定当前在所述环境地图上的位置朝向角度;确定当前位置与当前跟踪点之间的跟踪距离;确定当前位置相对于当前跟踪点的位置夹角;根据所述位置朝向角度、所述跟踪距离、以及所述位置夹角确定当前前进速度和当前旋转速度。
[0148]
下面参考图6,其示出了适于用来实现本公开实施例的电子设备600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0149]
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储装置608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0150]
通常,以下装置可以连接至i/o接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0151]
特别地,根据本公开实施例的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开实施例的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从rom 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
[0152]
需要说明的是,本公开实施例上述的计算机可读介质可以是计算机可读信号介质
或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0153]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0154]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取环境地图上当前待跟踪路径上的坐标点序列;根据当前位置与所述坐标点序列中各点的距离,确定当前跟踪点;对所述当前跟踪点进行跟踪;若所述当前待跟踪路径发生变化,获取环境地图上下一待跟踪路径上的坐标点序列,确定所述下一待跟踪路径上的坐标点序列上与所述当前位置相对应的点为下一当前位置;以所述当前位置和所述下一当前位置为起始点和终点,根据所述当前位置和所述下一当前位置的距离、距离夹角以及全局朝向,进行路径规划;根据所述下一当前位置与所述下一待跟踪路径上的坐标点序列中各点的距离,确定下一跟踪点,对所述下一跟踪点进行跟踪,直至所述下一跟踪点为目标终点。
[0155]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言诸如java、smalltalk、c++,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0156]
附图中的流程图和框图,图示了按照本公开实施例各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0157]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
[0158]
以上描述仅为本公开实施例的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1