一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

控制机器人运动的方法、装置、终端设备及存储介质与流程

2022-02-22 09:38:05 来源:中国专利 TAG:


1.本技术属于人工智能技术领域,尤其涉及一种控制机器人运动的方法、装置、终端设备及存储介质。


背景技术:

2.随着机器人技术的发展和人工智能研究的不断深入,服务机器人逐渐发成人类生活中不可或缺的角色,功能越来越智能化,广泛应用在餐饮、货物运输等领域中。
3.然而,由于服务机器人体积大、质量大,因此导航安全性要求更为严格,当服务机器人被困住时,通过持续碰撞障碍物来脱困的方式过于危险,而沿着障碍物外轮廓前进,直至脱困的方式也容易发生碰撞,均不利于服务机器人任务的执行。因此,亟待提供一种能够避免碰撞,又可以高效脱困的方法。


技术实现要素:

4.本技术实施例提供了一种控制机器人运动的方法、装置、终端设备及存储介质,以解决目前服务机器人被困时,容易发生碰撞的问题。
5.第一方面,本技术实施例提供了一种控制机器人运动的方法,包括:
6.当检测到机器人与障碍物之间的距离小于第一阈值,且所述机器人的导航模块处于目标状态时,在所述机器人当前所处位置的第一范围区域内检测目标位置点,所述目标位置点的第二范围区域内没有障碍物;
7.控制所述机器人向所述目标位置点移动,直至所述机器人与障碍物之间的距离大于第二阈值。
8.本技术实施例提供的控制机器人运动的方法,当检测到机器人与障碍物之间的距离小于设定阈值时,表示机器人可能已经被困,此时会在机器人当前所处位置的一定范围区域内检测四周无障碍物的目标位置点;然后,控制机器人向该目标位置点移动,从而使得机器人远离障碍物,在无碰撞的情形下实现脱困。
9.第二方面,本技术实施例提供了一种控制机器人运动的装置,包括:
10.检测模块,用于当检测到机器人与障碍物之间的距离小于第一阈值,且所述机器人的导航模块处于目标状态时,在所述机器人当前所处位置的第一范围区域内检测目标位置点,所述目标位置点的第二范围区域内没有障碍物;
11.控制模块,用于控制所述机器人向所述目标位置点移动。
12.第三方面,本技术实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法。
13.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法。
14.第五方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在终端
设备上运行时,使得终端设备执行上述第一方面中任一项所述的方法。
15.可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
16.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
17.图1是本技术一实施例提供的控制机器人运动的方法的流程示意图。
18.图2是本技术一实施例提供的控制机器人运动的方法的步骤s11的具体实现流程示意图。
19.图3是本技术另一实施例提供的控制机器人运动的方法的步骤s22的具体实现流程示意图。
20.图4是本技术另一实施例提供的控制机器人运动的方法的步骤s11的具体实现流程示意图。
21.图5是本技术另一实施例提供的控制机器人运动的方法的步骤s11的具体实现流程示意图。
22.图6是本技术实施例提供的控制机器人运动的装置的结构示意图。
23.图7是本技术实施例提供的终端设备的结构示意图。
具体实施方式
24.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。
25.在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0026]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0027]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0028]
为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。
[0029]
在实际应用中,机器人执行任务的过程时,时常会因为机器人的导航模块的定位
误差或控制误差或外部作用力的撞击,使得机器人陷入无法继续执行任务的状态。目前,为了使机器人能够脱离被困的状态,一般会沿着障碍物外轮廓前进,以使得机器人能够退出无法继续执行任务的状态,但该方式容易使得机器人与障碍物发生碰撞,且需要不断获取障碍物的外轮廓信息,计算量较大,使得脱困效率较低。
[0030]
为此,本技术提供了一种控制机器人运动的方法,能够使得机器人高效地脱困,和避免发生碰撞。
[0031]
请参阅图1,图1是本技术实施例提供的一种控制机器人运动的方法的实现流程图。本实施例中,控制机器人运动的方法用于在机器人运动过程中的梯度场切换控制,其执行主体为可以是机器人上自带的控制设备,也可以是机器人以外的其它终端设备。该终端设备与机器人之间可以进行数据通信,以实现两者之间的数据交互,以及对机器人的控制操作。
[0032]
以下以机器人上自带的控制设备作为执行主体,进行方法实施例的说明:
[0033]
如图1所示,本技术实施例提供的控制机器人运动的方法包括以下步骤s11-s12:
[0034]
s11:当检测到机器人与障碍物之间的距离小于第一阈值,且机器人的导航模块处于目标状态时,在机器人当前所处位置的第一范围区域内检测目标位置点,目标位置点的第二范围区域内没有障碍物。
[0035]
作为本技术的一个示例,第一阈值可以根据实际需求预先设置。
[0036]
目标状态指的是预先设置的指示需要检测目标位置点时,机器人的导航模块对应的工作状态。例如,机器人陷入困境时,导航模块停止导航路径规划的状态。
[0037]
第一范围区域指的是以机器人作为中心点,划分的一个区域。例如,以机器人为中心的0.3米的圆形范围区域。
[0038]
可以理解的是,由于目的是能够使得机器人脱离困境,以便于继续行驶来执行任务,所以,第一范围区域可以根据实际需求预先设置。
[0039]
目标位置点指的是当机器人能够退出被困状态时对应的位置点。
[0040]
可以理解的是,在机器人当前所处位置的第一范围区域内检测到的目标位置点可能为一个或多个。当检测到的第二范围区域内没有障碍物的位置点为多个时,从该多个第二范围区域内没有障碍物的位置点中确定目标位置点。
[0041]
在一些实施例中,当检测到的第二范围区域内没有障碍物的位置点为多个时,确定第二范围区域内没有障碍物的每个位置点与机器人的当前所处位置之间的距离,并将与机器人的当前所处位置的距离最小的第二范围区域内没有障碍物的位置点为目标位置点。
[0042]
在一些实施例中,当检测到的第二范围区域内没有障碍物的位置点为多个时,确定第二范围区域内没有障碍物的每个位置点与未检测目标位置点之前的机器人的正前方的相对角度值。为了机器人能够以最小地调整幅度成本,来完成机器人脱困,将最小的相对角度值所对应的第二范围区域内没有障碍物的位置点作为目标位置点。
[0043]
第二范围区域指的是当机器人能够退出被困状态时对应的位置点时,能够容纳机器人的范围区域。例如,地点a为目标位置点,而机器人的圆形底盘所占据的大小为0.3平方厘米,则目标位置点的第二范围区域至少为0.3平方厘米。
[0044]
可以理解的是,第二范围区域可以根据实际需求预先设置。
[0045]
在本实施例中,由于机器人在执行任务的过程中,可能会由于外部原因或机器人
自身的原因,当机器人与障碍物距离很小或已经碰撞在一起时,机器人的导航模块会判断机器人陷入障碍,从而停止路径的规划,以便避免可能的碰撞或继续碰撞,使得陷入无法继续执行任务的状态,所以,为了机器人能够较好地执行任务,机器人通过配置的设备来检测机器人与障碍物之间的距离,当检测到机器人与障碍物之间的距离小于第一阈值时,表示机器人过于贴近障碍物,陷入无法机继续执行任务的状态,而为了使得机器人能够继续执行任务,需要对机器人当前所处位置的第一范围区域内检测,以便于搜索到第二范围区域内没有障碍物的目标位置点,从而控制机器人移动到目标位置点,以使得机器人远离接近的障碍物,进而使得导航模块能够恢复工作状态。
[0046]
至于何时检测机器人与障碍物之间的距离,以便于当检测到机器人与障碍物之间的距离小于第一阈值时,在机器人当前所处位置的第一范围区域内检测目标位置点,可以包括但不限于以下两种场景:
[0047]
场景1:当确定机器人与将要通过的目标区域之间的距离小于第五距离时,开始检测机器人与障碍物之间的距离,且当检测到机器人与障碍物之间的距离小于第一阈值时,在机器人当前所处位置的第一范围区域内检测目标位置点。
[0048]
目标区域指的是可容纳机器人通行的道路的宽度与机器人的宽度的差值小于预设差值的区域。例如,机器人的宽度为0.3米,目标区域则是宽度为0.32米的狭长道路,机器人的宽度与该狭长道路的宽度的差值为0.02米,小于预设差值0.25米。
[0049]
第五距离可以按实际需求预先设置。
[0050]
预设差值可以按实际需求预先设置。
[0051]
示例的,在确定宽度为0.3米的机器人将要通过宽度为0.32米的1米长道路时,为了机器人在陷入被困状态时,能够及时地脱困,以继续执行任务,不断地检测机器人与障碍物之间的距离,且当检测到机器人与障碍物之间的距离小于0.01米时,在机器人当前所处位置的圆周范围内检测目标位置点。
[0052]
场景2:当机器人行驶至目标地点时,开始检测机器人与障碍物之间的距离,且当检测到机器人与障碍物之间的距离小于第一阈值时,在机器人当前所处位置的第一范围区域内检测目标位置点。
[0053]
需要说明的是,在应用中,在机器人当前所处位置的第一范围区域内检测目标位置点时,可以通过但不限于获取第一范围区域内每个位置点的图像信息,根据每个位置点的图像信息确定位置点是否存在障碍物,或向第一范围区域内的位置点发送探测光束,以根据探测光束的反馈光束来确定位置点是否存在障碍物等方式检测目标位置点。
[0054]
在一实施例中,由于机器人与障碍物逐渐靠近时,机器人与障碍物之间的距离变小,使得机器人与障碍物的空隙中的入射光线变少,进而的该空隙也会逐渐变暗,所以,当机器人与障碍物之间的空隙的光强度小于预设光强度时,获取空隙对应的光强度,并将所获取的光强度所对应的距离,并将该距离作为机器人与障碍物之间的距离。
[0055]
可以理解的是,通过设置在机器人中的亮度感应器来获取机器人与障碍物之间的空隙对应的光强度。
[0056]
在本实施例中,对于每个物理环境,预先地进行测试机器人与障碍物之间的每个距离时对应的光强度,并将每个距离与对应的光强度进行关联存储。
[0057]
在一实施例中,机器人指的是无前撞系统且安全要求更高的服务机器人。比如,餐
厅中送餐的机器人。
[0058]
可以理解的是,对于服务机器人来讲,由于其体积大质量大,因此导航安全性要求更为严格,行进过程中不允许发生碰撞,为了实现此目的,当服务机器人由于外部作用力或定位误差、控制误差等原因,使得服务机器人与障碍物之间的距离小于第一阈值时,服务机器人的导航模块判断服务机器人陷入障碍,并停止路径规划以避免可能的碰撞。
[0059]
在一实施例中,当检测到机器人与障碍物之间的距离小于第一阈值,且确定机器人的导航模块处于停止导航规划状态时,在机器人当前所处位置的第一范围区域内检测目标位置点。
[0060]
在本实施例中,检测到机器人与障碍物之间的距离小于第一阈值时,向导航模块发送停止导航规划的信息,以便于导航模块根据停止导航规划的信息,停止导航规划的操作,并将运行状态从导航规划状态修改为停止导航规划状态。
[0061]
s12:控制机器人向目标位置点移动。
[0062]
在本实施例中,由于机器人与障碍物之间的距离小于第一阈值,使得机器人可能陷入无法继续规划路径,以便于按所规划的路径来执行任务,所以,在机器人当前所处位置的第一范围区域内检测到目标位置点之后,控制机器人向目标位置点移动,以便于控制机器人远离障碍物。
[0063]
本技术实施例提供的控制机器人运动的方法,为了能够及时地确定机器人是否处于被困的状态,检测机器人与障碍物之间的距离是否小于第一阈值,且当检测到机器人与障碍物之间的距离小于第一阈值时,即表示机器人可能已经被困,所以,为了机器人能够脱困,在机器人当前所处位置的第一范围区域内检测四周无障碍物的目标位置点,以便于控制机器人向对应的第二范围区域内没有障碍物的目标位置点移动,从而避免机器人脱困的过程中发生碰撞,且能够避免较大的计算量,降低脱困的效率。
[0064]
在一实施例中,由于目标位置点可能距离机器人较近,所以,控制机器人以预设速度向目标位置点移动。
[0065]
结合图2,在本技术一个实施例中,在机器人当前所处位置的第一范围区域内检测目标位置点,包括:
[0066]
s21:检测机器人当前所处位置和机器人的预设规划路径之间的第一距离。
[0067]
s22:若第一距离小于第二阈值,则从预设规划路径中检测目标位置点。
[0068]
作为本技术的一个示例,预设规划路径指的是机器人执行当前任务时,已经规划好但机器人还未行驶经过的路径。
[0069]
在一些实施例中,预设规划路径指的是机器人执行当前任务时,从机器人的当前所处位置到任务终点的路径中的一部分。例如,机器人从当前所处位置a到任务终点d所对应的规划路径由轨迹点a、b、c、d确定,而预设规划路径是由轨迹点a、b确定的局部规划路径。
[0070]
第一距离用于描述机器人行驶过程中与预设规划路径的偏离距离。例如,机器人的当前所处位置与预设规划路径之间的第一距离为0.5米,即表示机器人已经偏离所应按着行走的路径0.5米。
[0071]
在一实施例中,第一距离指的是机器人行驶过程中与预设规划路径的偏离时,机器人与偏离的预设规划路径之间的最近距离。例如,机器人偏离还行驶经过的预设规划路
径时,与该预设规划路径中的3个轨迹点的距离分别为0.1米、0.2米、0.3米,则第一距离为0.1米。
[0072]
第二阈值可以按实际需求预先设置。
[0073]
在本实施例中,由于机器人在执行任务的过程中,可能由于外部的作用力撞击或自身的定位误差、控制误差,导致机器人没有完全跟随预设规划路径走,可能陷入被困的状态,所以,为了确定机器人是否有完全跟随预设规划路径走,检测机器人当前所处位置和机器人的预设规划路径之间的第一距离,以便于通过所检测到的第一距离来了解机器人偏离预设规划路径的程度,并将第一距离与第二阈值进行比较,且当确定第一距离小于第二阈值时,表示机器人偏离预设规划路径的程度较小,机器人脱困后可以较快地回到预设规划路径,所以,若第一距离小于第二阈值,则从预设规划路径中检测目标位置点。
[0074]
可以理解的是,由于预设规划路径对应的是物理环境中的多个位置点,所以,检测机器人当前所处位置和机器人的预设规划路径之间的第一距离时,先检测机器人的当前所处位置和机器人的预设规划路径之间的多个距离,且为了便于机器人能够更好地调整回预设规划路径中,将检测的机器人的当前所处位置和机器人的预设规划路径之间的多个距离中的最小距离作为第一距离。
[0075]
示例的,获取描述机器人所处环境的栅格地图,根据栅格地图中机器人的当前所处位置的坐标和预设规划路径中每个轨迹点的坐标,确定机器人的当前所处位置与每个轨迹点之间的距离,并将最小的距离作为机器人当前所处位置和机器人的预设规划路径之间的第一距离。
[0076]
在一实施例中,为了更好地便于机器人执行任务,预设规划路径包括多个规划轨迹点。
[0077]
结合图3,作为本实施例的一种可能实现方式,从预设规划路径中检测目标位置点的具体实现包括:
[0078]
s31:分别检测每个规划轨迹点和机器人当前所处位置之间的第二距离。
[0079]
s32:将多个规划轨迹点中第二距离小于第三阈值的规划轨迹点确定为第一目标轨迹点。
[0080]
s33:从第一目标轨迹点中检测目标位置点。
[0081]
作为本技术的一个示例,规划轨迹点指的是机器人所处环境中的物理位置点。
[0082]
第三阈值可以按实际需求预先设置。
[0083]
在本实施例中,在确定机器人偏离预设规划路径之后,为了机器人能够在脱困之后,快速地调整回到预设规划路径上,分别检测每个规划轨迹点和机器人当前所处位置之间的第二距离,以了解每个规划轨迹点与机器人的当前所处位置之间的距离情况,并将每个规划轨迹点对应的第二距离与第三阈值进行比较,以便于确定第二距离小于第三阈值的规划轨迹点确定为第一目标轨迹点。进一步地,从第一目标轨迹点中检测目标位置点。
[0084]
可以理解的是,可能多个规划轨迹点中第二距离小于第三阈值的规划轨迹点有多个,使得从第一目标轨迹点中检测目标位置点时,所检测到的目标位置点也有多个,所以,当检测到的目标位置点有多个时,将第二距离最小的第一目标轨迹点作为最终的目标位置点。
[0085]
结合图4,在本技术一个实施例中,在机器人当前所处位置的第一范围区域内检测
目标位置点的具体实现包括:
[0086]
s41:获取机器人的历史移动路径,历史移动路径包括多个历史轨迹点。
[0087]
s42:分别检测每个历史轨迹点和机器人当前所处位置之间的第三距离。
[0088]
s43:将多个历史轨迹点中第三距离落入设定距离范围内的历史轨迹点确定为第二目标轨迹点。
[0089]
s44:从第二目标轨迹点中检测目标位置点。
[0090]
作为本技术的一个示例,历史轨迹点指的是机器人与障碍物之间的距离小于第一阈值之前,机器人行进经过的位置点。
[0091]
在本实施例中,在确定机器人偏离预设规划路径之后,为了机器人能够在脱困之后,快速地调整回到预设规划路径上,获取机器人的历史移动路径,并分别检测每个历史轨迹点和机器人当前所处位置之间的第三距离,以便于从第三距离落入设定距离范围内的历史轨迹点中检测目标位置点,以便于机器人可以快速地从当前所处位置移动到目标位置点。
[0092]
可以理解的是,由于历史轨迹点距离机器人太近时,若机器人移动到该历史轨迹点,相当于在原地停止不动,并没有脱困,而历史轨迹点距离机器人太远时,则相当于机器人往回走,不利于任务的继续执行,即距离机器人太远的历史轨迹点为无效点,所以,为了使得机器人能够更好地脱困,且更好地执行任务,设定距离范围可以按实际需求预先设置。
[0093]
示例的,机器人与障碍物之间的距离小于第一阈值之前,机器人行进经过的位置点包括a、b、c。当机器人与障碍物之间的距离小于第一阈值时,为了使得机器人能够远离障碍物,并继续进行路径导航操作,获取由a、b、c确定的历史移动路径,并确定a、b、c分别和机器人当前所处位置的第三距离,为1米、0.5米、0.3米,而设定距离范围为以机器人当前所处位置为中心的0.4米的范围区域。进一步地,确定c对应的第三距离落入设定距离范围内,即c为第二目标轨迹点,所以,对位置点c进行检测,以便于确定位置点c有没有障碍物,如果位置点c处没有障碍物,则位置点c为目标位置点。
[0094]
可以理解的是,可能多个历史规划轨迹点中第三距离落入设定距离范围内的历史轨迹点有多个,使得从第二目标轨迹点中检测目标位置点时,所检测到的目标位置点也有多个,所以,当检测到的目标位置点有多个时,将第三距离最小的第二目标轨迹点作为最终的目标位置点。
[0095]
在一实施例中,根据所记录的每个历史轨迹点的位置信息和机器人的当前所处位置,确定每个历史轨迹点和机器人当前所处位置之间的第三距离。
[0096]
示例的,通过定位模块获取到的历史轨迹点1的位置为a,并记录该历史轨迹点1的位置,同时获取到机器人的当前所处位置的位置为b,通过位置a和位置b,得到历史轨迹点1和机器人的当前所处位置之间的第三距离。
[0097]
结合图5,在本技术一个实施例中,在机器人当前所处位置的第一范围区域内检测目标位置点,包括:
[0098]
s51:从机器人前方的探测范围区域内检测目标位置点。
[0099]
s52:若在探测范围区域内检测不到目标位置点,则控制机器人旋转设定角度,并返回执行从机器人前方的探测范围区域内检测目标位置点的步骤。
[0100]
作为本技术的一个示例,探测范围区域指的是机器人上的探测设备所对应的探测
范围区域。例如,探测设备为激光雷达时,该激光雷达的探测范围区域即为机器人的正前方,而机器人的相对后方,即不是该激光雷达的探测范围区域。
[0101]
设定角度可以按实际需求预先设置。例如,机器人上的探测设备的探测范围区域对应的角度范围为120度,则设定角度可以设置为120度。
[0102]
在本实施例中,在机器人与障碍物之间的距离小于第一阈值时,为了机器人能够在脱困之后,快速地调整回到预设规划路径上,对机器人前方的探测范围区域中包含的各个位置点进行检测,以便于根据每个位置点的检测结果,确定目标位置点。
[0103]
可以理解的是,当在探测范围区域内检测不到目标位置点,则控制机器人旋转设定角度,以便于在新的探测范围区域内,对该新的探测范围区域内的各个位置点进行检测。
[0104]
在一些实施例中,由于机器人与障碍物之间的距离小于第一阈值,可能使得机器人的活动空间较小,所以,根据机器人与障碍物之间的距离和机器人对应的环境信息,确定目标活动角度,并控制机器人旋转目标活动角度,并返回执行从机器人前方的探测范围区域内检测目标位置点的步骤。
[0105]
在一些实施例中,若从预设规划路径中检测不到目标位置点,则从机器人的历史移动路径中检测目标位置点。
[0106]
在一些实施例中,若从预设规划路径中检测不到目标位置点,则从机器人前方的探测范围区域内检测目标位置点。
[0107]
在一些实施例中,若从预设规划路径中检测不到目标位置点,且从机器人的历史移动路径中也检测不到目标位置点,则从机器人前方的探测范围区域内检测目标位置点。
[0108]
在一些实施例中,若从预设规划路径中检测不到目标位置点,且从机器人前方的探测范围区域内检测不到目标位置点,则从机器人的历史移动路径中也检测目标位置点。
[0109]
在本技术一个实施例中,控制机器人向目标位置点移动的具体实现包括:
[0110]
控制机器人朝着目标位置点的方向移动,直至机器人与障碍物之间的距离大于第四阈值;或者,控制机器人移动至目标位置点。
[0111]
作为本技术的一个示例,第四阈值可以按实际需求预先设置。
[0112]
在本实施例中,在检测到机器人与障碍物之间的距离小于第一阈值时,表示机器人随意活动时,可能会与障碍物发送碰撞,不利于执行任务,所以,在机器人当前所处位置的第一范围区域内检测目标位置点后,控制机器人朝着目标位置点的方向移动,以使得机器人远离障碍物,以便于机器人进行活动时不会与障碍物发送碰撞,或者使得机器人的导航模块不会再判断机器人陷入困境,无法继续进行路径规划。
[0113]
可以理解的是,当机器人与障碍物之间的距离小于第一阈值时,机器人的可活动空间受限,从而无法进行正常的路径规划,所以,控制机器人向目标位置点移动时,可能机器人与障碍物之间的距离大于第四阈值时,机器人即可恢复至可正常的进行路径规划的状态,或可能机器人移动至目标位置点时,机器人即可恢复至可正常的进行路径规划的状态。
[0114]
需要说明的是,第四阈值与第一阈值可能相同,也可能不相同。
[0115]
在本技术一个实施例中,在控制机器人移动至目标位置点之后,还包括:
[0116]
将机器人的航向角调整至沿着机器人的预设规划路径的方向。
[0117]
在本实施例中,由于控制机器人移动至目标位置点之后,可能机器人的航向角与机器人的预设规划路径所对应的方向存在偏差,所以,为了后续机器人能够沿着机器人的
预设规划路径继续进行导航行进,将机器人的航向角调整至沿着机器人的预设规划路径的方向。
[0118]
可以理解的是,为了将机器人的航向角调整至沿着机器人的预设规划路径的方向,在机器人移动至目标位置点之后,根据机器人的航向角和预设规划路径的方向确定目标旋转角度,根据目标旋转角度,控制机器人原地旋转目标旋转角度,以使得机器人的航向角调整至沿着机器人的预设规划路径的方向。
[0119]
在一实施例中,在将机器人的航向角调整至沿着机器人的预设规划路径的方向之后,向导航模块发送开始导航的指令,通过该指令来指示导航模块重新根据预设规划路径来控制机器人的导航行进。
[0120]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0121]
对应于上文实施例所述的控制机器人运动的方法,图6示出了本技术实施例提供的控制机器人运动的装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0122]
参照图6,该装置包括:
[0123]
检测模块101,用于当检测到机器人与障碍物之间的距离小于第一阈值,且机器人的导航模块处于目标状态时,在机器人当前所处位置的第一范围区域内检测目标位置点,目标位置点的第二范围区域内没有障碍物;
[0124]
控制模块102,用于控制机器人向目标位置点移动。
[0125]
在一实施例中,检测模块101,还用于检测机器人当前所处位置和机器人的预设规划路径之间的第一距离;若第一距离小于第二阈值,则从预设规划路径中检测目标位置点。
[0126]
在一实施例中,预设规划路径包括多个规划轨迹点。
[0127]
检测模块101,还用于分别检测每个规划轨迹点和机器人当前所处位置之间的第二距离;将多个规划轨迹点中第二距离小于第三阈值的规划轨迹点确定为第一目标轨迹点;从第一目标轨迹点中检测目标位置点。
[0128]
在一实施例中,检测模块101,还用于获取机器人的历史移动路径,历史移动路径包括多个历史轨迹点;分别检测每个历史轨迹点和机器人当前所处位置之间的第三距离;将多个历史轨迹点中第三距离落入设定距离范围内的历史轨迹点确定为第二目标轨迹点;从第二目标轨迹点中检测目标位置点。
[0129]
在一实施例中,检测模块101,还用于从机器人前方的探测范围区域内检测目标位置点;若在探测范围区域内检测不到目标位置点,则控制机器人旋转设定角度,并返回执行从机器人前方的探测范围区域内检测目标位置点的步骤。
[0130]
在一实施例中,控制模块102,还用于控制机器人朝着目标位置点的方向移动,直至机器人与障碍物之间的距离大于第四阈值;或者,控制机器人移动至目标位置点。
[0131]
在一实施例中,控制模块102,还用于将机器人的航向角调整至沿着机器人的预设规划路径的方向。
[0132]
本实施例提供的一种控制机器人运动的装置,用于实现方法实施例中任一种控制机器人运动的方法,其中各个模块的功能可以参考方法实施例中相应的描述,其实现原理
和技术效果类似,此处不再赘述。
[0133]
图7为本技术一实施例提供的终端设备的结构示意图。如图7所示,该实施例的终端设备7包括:至少一个处理器70(图7中仅示出一个处理器)、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个控制机器人运动的方法实施例中的步骤。
[0134]
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0135]
所述处理器70可以是中央处理单元(central processing unit,cpu),该处理器70还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0136]
所述存储器71在一些实施例中可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
[0137]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0138]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0139]
本技术实施例还提供了一种终端设备,该终端设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
[0140]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
[0141]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行
时,使得终端设备执行时可实现上述各个方法实施例中的步骤。
[0142]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。
[0143]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0144]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0145]
在本技术所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口、装置或单元的间接耦合或通讯连接,可以是电性、机械或其它的形式。
[0146]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0147]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献