一种控制机器人运动的方法、装置及机器人转让专利

申请号 : CN201811591566.0

文献号 : CN111360808B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 熊友军聂鹏胡旭黄祥斌

申请人 : 深圳市优必选科技有限公司

摘要 :

本发明适用于人工智能技术领域,提供了一种控制机器人运动的方法及装置,包括:当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置;基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径;当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与所述非工作区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动路径移动至所述目标点位置。通过获取通行资格信息,机器人在出现异常的情况下可从非工作区域返回工作区域,同时保证机器人不会从工作区域主动跨越到非工作区域。

权利要求 :

1.一种控制机器人运动的方法,其特征在于,包括:当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置;

基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径;

获取所述移动路径的移动路径单元的包容圆和虚拟墙的虚拟墙单元的包容圆,其中,所述移动路径单元的包容圆为以所述移动路径单元的中心点为圆点,以所述移动路径单元的长度为直径的圆;所述虚拟墙单元的包容圆为以所述虚拟墙单元的中心点为圆点,以所述虚拟墙单元的长度为直径的圆;

基于所述移动路径单元的包容圆的半径长度、所述虚拟墙单元的包容圆的半径长度、所述移动路径单元的包容圆圆心和所述虚拟墙单元的包容圆圆心之间的距离,判断所述移动路径与预设的虚拟墙对应的线段是否相交;

当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与非工作区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;

当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动路径移动至目标点位置。

2.如权利要求1所述的控制机器人运动的方法,其特征在于,所述当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,包括:当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的工作区域的位置信息;

基于所述工作区域的位置信息、所述目的地位置,确定所述机器人的通行资格信息,其中,当所述目标点位置位于所述工作区域内时,所述通行资格信息标识允许机器人穿越虚拟墙。

3.如权利要求1所述的控制机器人运动的方法,其特征在于,所述当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,包括:当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述虚拟墙的方向标识,其中,所述虚拟墙的方向标识用于指示所述机器人穿过虚拟墙,所述方向标识由所述非工作区域指向所述工作区域;

基于所述虚拟墙的方向标识和所述移动路径的方向确定所述机器人的通行资格信息,其中,当所述虚拟墙的方向标识和所述移动路径的方向满足预设条件时,所述机器人的通行资格信息标识允许机器人穿越虚拟墙。

4.如权利要求3所述的控制机器人运动的方法,其特征在于,在所述当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述虚拟墙的方向标识之前,包括:接收设置虚拟墙方向指令,基于所述设置虚拟墙方向指令在所述虚拟墙上设置所述方向标识。

5.如权利要求3所述的控制机器人运动的方法,其特征在于,在所述当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述虚拟墙的方向标识之前,包括:基于所述非工作区域以及所述工作区域之间的方位信息,在所述虚拟墙上设置所述方向标识。

6.一种控制机器人运动的装置,其特征在于,包括:第一获取单元,用于当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置;

确定单元,用于基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径;

第三获取单元,用于获取所述移动路径的移动路径单元的包容圆和虚拟墙的虚拟墙单元的包容圆,其中,所述移动路径单元的包容圆为以所述移动路径单元的中心点为圆点,以所述移动路径单元的长度为直径的圆;所述虚拟墙单元的包容圆为以所述虚拟墙单元的中心点为圆点,以所述虚拟墙单元的长度为直径的圆;

判断单元,用于基于所述移动路径单元的包容圆的半径长度、所述虚拟墙单元的包容圆的半径长度、所述移动路径单元的包容圆圆心和所述虚拟墙单元的包容圆圆心之间的距离,判断所述移动路径与预设的虚拟墙对应的线段是否相交;

第二获取单元,用于当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与非工作区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;

移动单元,用于当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动路径移动至目标点位置。

7.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。

8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。

说明书 :

一种控制机器人运动的方法、装置及机器人

技术领域

[0001] 本发明属于人工智能技术领域,尤其涉及一种控制机器人运动的方法、装置及机器人。

背景技术

[0002] 在机器人自主导航的过程中,会通过设置虚拟墙来限制并且规范机器人的行动路线,虚拟墙一旦设置,机器人就无法移动到虚拟墙另一侧的区域,这样就可以限制机器人只
在工作区域进行移动,无法移动至非工作区域。
[0003] 但是,由于传感器的测量误差或者工作环境变化等原因,机器人的实时定位信息的准确性会受到影响,可能出现机器人主动从工作区域跨越到非工作区域的情况;当机器
人的实际位置在虚拟墙附近的工作区域时,也可能发生获取到的定位偏移至虚拟墙另一侧
的非工作区域,此时,由于机器人无法移动到虚拟墙另一侧的区域,当接收到移动指令时,
机器人无法移动;另外,当机器人被人为搬动到非工作区域时,由于虚拟墙的存在,机器人
也无法返回至工作区域。上述情况,会导致机器人自主导航工作的效率低,可靠性低。

发明内容

[0004] 有鉴于此,本发明提供了一种控制机器人的方法、装置及机器人,以解决机器人自主导航工作的效率低,可靠性低的问题。
[0005] 本发明第一方面提供了一种控制机器人的方法,包括:
[0006] 当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置;
[0007] 基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径;
[0008] 当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与所述非工作区域隔离开,所述通行
资格信息用于标识是否允许机器人穿越虚拟墙;
[0009] 当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动路径移动至所述目标点位置。
[0010] 本发明第二方面提供了一种控制机器人运动的装置,包括:
[0011] 第一获取单元,用于当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置;
[0012] 确定单元,用于基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径;
[0013] 第二获取单元,用于当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与所述非工作
区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;
[0014] 移动单元,用于当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动路径移动至所述目标点位置。
[0015] 本发明第三方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述
第一方面所述的控制机器人运动的方法的步骤。
[0016] 本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的控制机器人运
动的方法的步骤。
[0017] 本发明中,当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置;基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径;当所述移动路径
与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚
拟墙用于将预设的工作区域与所述非工作区域隔离开,所述通行资格信息用于标识是否允
许机器人穿越虚拟墙;当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动
路径移动至所述目标点位置。上述方法,通过获取通行资格信息,使得机器人在出现异常的
情况下可以从非工作区域返回工作区域,同时保证机器人不会从工作区域主动跨越到非工
作区域。

附图说明

[0018] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些
实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些
附图获得其他的附图。
[0019] 图1是本发明实施例提供的一种控制机器人运动的方法的实现流程图;
[0020] 图2是本发明实施例提供的移动路径单元的示意图;
[0021] 图3是本发明实施例提供的虚拟墙、工作区域和非工作区域的示意图;
[0022] 图4是本发明实施例提供的虚拟墙单元的示意图;
[0023] 图5是本发明另一实施例提供的一种控制机器人运动的方法的实现流程图;
[0024] 图6是本发明另一实施例提供的一种控制机器人运动的方法中S205的实现流程图;
[0025] 图7是本发明另一实施例提供的一种控制机器人运动的方法中S205的实现流程图;
[0026] 图8是本发明一实施例提供的一种控制机器人运动的装置的示意图;
[0027] 图9是本发明一实施例提供的机器人的示意图。

具体实施方式

[0028] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体
细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电
路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0029] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0030] 请参阅图1,图1是本发明实施例提供的一种控制机器人运动的方法的实现流程图。本实施例中控制机器人运动的方法的执行主体为机器人。如图所示的控制机器人运动
的方法可包括:
[0031] S101:当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置。
[0032] 机器人检测到移动指令,移动指令包括目的地位置。移动指令可以是用户远程向机器人发送的移动指令,也可以是机器人接收到工作指令后对工作指令进行分析后获取到
的移动指令,例如,当扫地机器人接收到的工作指令为清洁打扫房间时,扫地机器人可以通
过对清洁打扫房间这一工作指令进行分析,分析后获取到移动指令。
[0033] 机器人对自身进行定位,获取机器人的当前起始点位置,常见的定位方式为选取三个固定位置放置定位锚点,同时在移动机器人上安装一个标签节点,测量移动机器人到
这三个定位锚点之间的距离,再根据空间坐标关系,确定机器人的位置,实现机器人的定
位,获取机器人的当前起始点位置。本领域技术人员可以理解,此处获取机器人的当前起始
点位置的方法并不限于以上的定位方式。
[0034] 由于移动指令包括目的地位置,机器人从移动指令中获取目的地位置。
[0035] S102:基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径。
[0036] 机器人已知当前起始点位置和目的地位置,基于路径规划算法,规划出一条从起始点位置到目的地位置的移动路径。其中,路径规划算法可以为A*算法,D*算法等等,此处
不作限制。
[0037] A*算法,即A*(A‑Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近,最终搜索速
度越快。公式表示为:f(n)=g(n)+h(n),其中,f(n)是从初始节点经由节点n到目标节点的
距离估计;g(n)是在节点空间中从初始节点到节点n的实际距离;h(n)是从节点n到目标节
点的最佳路径的估计距离。
[0038] D*算法在动态环境中寻路非常有效,向目标点移动中,只检查最短路径上下一节点或临近节点的变化情况。
[0039] 机器人获取到的移动路径可以用地图上的点集来描述,移动路径可以包括多个移动路径单元,如图2所示,移动路径单元为起始点与终点两点构成的一条线段,每个移动路
径单元包含两个端点以及一个表征方向的状态量,每个移动路径单元的数学模型如下所
示:
[0040]
[0041] 其中,StartPt是移动路径单元的线段起始点,EndPt为移动路径单元的终点,Dir为移动路径单元方向向量。沿移动路径单元线段中点做垂直于该线段的垂直法线,定义移
动路径单元从起点到终点的线段方向,如果法线方向位于线段方向顺时针方向,定义Dir为
正,反之为负。即Dir为通过线段终点,垂直于该线段的单位向量。
[0042] 则移动路径为移动路径单元的集合,即:
[0043]
[0044] S103:当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与所述非工作区域隔离开,所
述通行资格信息用于标识是否允许机器人穿越虚拟墙。
[0045] 机器人预先设置虚拟墙,机器人接收设置虚拟墙的指令,根据设置虚拟墙的指令,预先设置虚拟墙,如图3所示,虚线部分为虚拟墙,虚拟墙将地图分割为工作区域和非工作
区域。其中,设置虚拟墙的指令可以为用户在地图编辑的应用程序(Application,APP)中的
地图层上使用虚拟墙画笔工具来绘制虚拟墙,绘制的方式可以采用画图的方式,画出的虚
拟墙的形状可以为直线段,也可以为曲线段。预设的虚拟墙对应的线段可以是封闭式的,也
可以是非封闭式的。
[0046] 虚拟墙可以包括多个虚拟墙单元,如图4所示,虚拟墙单元为起始点与终点两点构成一条线段,每个虚拟墙单元包含两个端点以及一个表征方向的状态量,每个移动路径单
元的数学模型如下所示:
[0047]
[0048] 其中,StartPt是虚拟墙单元的线段起始点,EndPt为虚拟墙单元的终点,Dir为虚拟墙单元方向向量。沿虚拟墙单元线段中点做垂直于该线段的垂直法线,定义虚拟墙单元
从起点到终点的线段方向,如果法线方向位于线段方向顺时针方向,定义Dir为正,反之为
负。即Dir为通过线段终点,垂直于该线段的单位向量。
[0049] 虚拟墙为虚拟墙单元的集合,即:
[0050]
[0051] 机器人判断移动路径与预设的虚拟墙对应的线段是否相交,一种实施方式是判断移动路径单元与虚拟墙单元是否相交;另一种实施方式是整体判断移动路径与预设的虚拟
墙对应的线段是否相交。第二种实施方式中,可以获取所述移动路径的第一坐标集合和所
述预设的虚拟墙对应的线段的第二坐标集合,获取第一坐标集合和第二坐标集合的交集,
当获取到第一坐标集合和第二坐标集合的交集时,移动路径与预设的虚拟墙对应的线段相
交。
[0052] 机器人获取通行资格信息,通行资格信息用于标识是否允许机器人穿越虚拟墙。通行资格信息可以采用“1”或“0”来标识,例如,当通行资格信息标识为“1”时,标识允许机
器人穿越虚拟墙,机器人可以移动穿越虚拟墙;当通行资格信息标识为“0”时,标识不允许
机器人穿越虚拟墙,机器人不能移动穿越虚拟墙。通行资格信息也可以采用箭头来标识,预
先设定箭头的方向来标识通行资格信息。
[0053] S104:当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动路径移动至所述目标点位置。
[0054] 机器人获取到通行资格信息,当通行资格信息标识允许机器人穿越虚拟墙时,机器人根据移动路径移动至目标点的位置。
[0055] 请参见图5,图5是本发明另一实施例提供的一种控制机器人运动的方法实现流程图。本实施例中控制机器人运动的方法的执行主体为机器人。本实施例与上一实施例的区
别在于S203~S205,本实施例中S201~S202与上一实施例中的S101~S102相同,S206与上
一实施例中的S104相同,S203~S205具体如下:
[0056] S203:获取所述移动路径的移动路径单元的包容圆和所述虚拟墙的虚拟墙单元的包容圆,其中,所述移动路径单元的包容圆为以所述移动路径单元的中心点为圆点,以所述
移动路径单元的长度为直径的圆;所述虚拟墙单元的包容圆为以所述虚拟墙单元的中心点
为圆点,以所述虚拟墙单元的长度为直径的圆。
[0057] 机器人采用包容盒检查干涉法来判断移动路径与预设的虚拟墙对应的线段是否相交。包容盒检查干涉法通过建立对象的包容盒来逐渐逼近对象的几何模型,从而用体积
略大而形状简单的包容盒代替复杂的集合对象参加碰撞干涉检查。通过包容盒之间的相交
测试快速的排除不相交的基本集合元素,以减少相交测试的次数,若包容盒不相交,则不发
生干涉。
[0058] 本实施例中的包容盒即为包容圆,移动路径单元的包容圆和虚拟墙单元的包容圆不相交,两个包容圆不发生干涉,即移动路径单元和虚拟墙单元没有相交的可能。机器人以
移动路径单元中心点为圆点,以移动路径单元长度为直径生成包容圆,其中,将移动路径以
点集的形式表示,划分得到移动路径单元。以虚拟墙单元中心点为圆点,以虚拟墙单元长度
为直径生成包容圆。获取移动路径单元的包容圆和虚拟墙单元的包容圆,其中,将虚拟墙以
点集的形式表示,划分得到虚拟墙单元。
[0059] S204:基于所述移动路径单元的包容圆的半径长度、所述虚拟墙单元的包容圆的半径长度以及所述移动路径单元的包容圆圆心和所述虚拟墙单元的包容圆圆心之间的距
离,判断所述移动路径与预设的虚拟墙对应的线段是否相交。
[0060] 计算每一个移动路径单元的包容圆和所有虚拟墙单元的包容圆之间圆心的距离,判断圆心距离是否大于当前移动路径单元的包容圆和当前虚拟墙单元的包容圆的半径之
和。
[0061] 如果圆心距离大于当前移动路径单元的包容圆和当前虚拟墙单元的包容圆的半径之和,则当前移动路径单元和当前虚拟墙单元之间不存在相交的可能;如果圆心距离小
于当前移动路径单元的包容圆和当前虚拟墙单元的包容圆的半径之和,则当前移动路径单
元和当前虚拟墙单元之间存在相交的可能,此时,机器人进一步判断当前移动路径单元和
当前虚拟墙单元之间是否存在交点,获取当前移动路径单元的坐标信息集合和当前虚拟墙
单元的坐标信息集合,判断当前移动路径单元的坐标信息集合和当前虚拟墙单元的坐标信
息集合是否存在交集,如果存在交集,则当前移动路径单元和当前虚拟墙单元之间存在交
点。如果当前移动路径单元和当前虚拟墙单元之间存在交点,那么说明移动路径与预设的
虚拟墙对应的线段相交。
[0062] S205:当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与所述非工作区域隔离开,所
述通行资格信息用于标识是否允许机器人穿越虚拟墙。
[0063] 本实施例中的S205与上一实施例中的S103相同,具体请参阅上一实施例中S103的相关描述。
[0064] 进一步地,在一实施方式中,S205可以包括S2051~S2052,如图6所示,具体如下:
[0065] S2051:当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的工作区域的位置信息和非工作区域的位置信息。
[0066] 机器人可以根据用户指令预先设置工作区域和非工作区域,工作区域为机器人在工作过程中的非工作区域为在工作过程中不允许机器人进入的区域。可以通过在地图上设
置限制区域的方式设置工作区域和非工作区域,也可以通过设置虚拟墙的方式来规范机器
人的移动,通过不允许机器人通过虚拟墙的设置,从而划出工作区域和非工作区域。
[0067] 当移动路径与预设的虚拟墙对应的线段相交时,获取机器人的工作区域的位置信息和非工作区域的位置信息,其中,工作区域的位置信息和非工作区域的位置信息可以包
括工作区域和非工作区域的坐标信息、工作区域和非工作区域的面积等等。
[0068] S2052:基于所述工作区域的位置信息、所述非工作区域的位置信息、所述目的地位置以及所述起始点位置,确定所述机器人的通行资格信息,其中,当所述目标点位置位于
所述工作区域内且所述起始点位置位于所述非工作区域内时,所述通行资格信息标识允许
机器人穿越虚拟墙。
[0069] 机器人根据基于工作区域的位置信息、非工作区域的位置信息、目的地位置以及起始点位置,确定机器人的通行资格信息。由于机器人在正常工作的过程中,是不会移动到
非工作区域的,当机器人获取到当前位置位于非工作区域时,说明机器人可能是由于传感
器的测量误差或者工作环境变化等原因,机器人的实时定位信息的准确性会受到影响,也
可能是机器人被人为搬动到非工作区域。所以只有当机器人的起始点位置位于非工作区域
时,机器人才会需要穿越虚拟墙,返回工作区域,进行正常的工作。所以,当目标点位置位于
工作区域内且起始点位置位于非工作区域内时,确定通行资格信息标识为允许机器人穿越
虚拟墙。
[0070] 进一步地,在另一实施方式中,为了获取到机器人的通行资格信息,S205可包括S2053~S2054。S2051~S2052与S2053~S2054为并列方案,择一执行。请参见图7,图7是本
发明另一实施例提供的一种控制机器人运动的方法中S205的实现流程图。S2053~S2054如
下:
[0071] S2053:当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述虚拟墙的方向标识,其中,所述虚拟墙的方向标识用于指示所述机器人穿过虚拟墙,所述方向标识由所
述非工作区域指向所述工作区域。
[0072] 机器人判断移动路径与预设的虚拟墙对应的线段是否相交,当移动路径与预设的虚拟墙对应的线段相交时,获取虚拟墙的方向标识。虚拟墙的方向标识为虚拟墙单元的方
向向量,为垂直于虚拟墙单元线段的单位向量,虚拟墙的方向标识用于指示机器人穿过虚
拟墙,由于机器人只能从非工作区域返回工作区域,无法从工作区域穿越虚拟墙到非工作
区域,所以虚拟墙方向标识为由非工作区域指向工作区域。
[0073] 进一步地,在一实施方式中,可以根据用户指令预先设置虚拟墙方向,在S2053之前可以包括:接收设置虚拟墙方向指令,基于所述设置虚拟墙方向指令在所述虚拟墙上设
置所述方向标识。
[0074] 机器人接收设置虚拟墙方向的指令,其中,设置虚拟墙方向的指令包括虚拟墙方向的信息。设置虚拟墙方向指令可以为用户输入,也可以机器人远程接收,用户可以通过在
虚拟地图上以画笔的方式直接画出方向的方式来生成设置虚拟墙方向指令,用户在设置的
过程中,机器人可以在虚拟地图上显示工作区域和非工作区域对用户进行提醒。
[0075] 机器人根据接收到的设置虚拟墙方向的指令在虚拟墙上设置方向标识,可以具体到为每一个虚拟墙单元设置单位向量。
[0076] 进一步地,在另一实施方式中,机器人可基于工作区域的信息以及非工作区域的信息预先设置虚拟墙方向,具体地,在S2053之前可以包括:可以通过以下方式设置虚拟墙
的方向标识:基于所述非工作区域以及所述工作区域之间的方位信息,在所述虚拟墙上设
置所述方向标识。
[0077] 由于虚拟墙的方向标识为虚拟墙单元的方向向量,为垂直于虚拟墙单元线段的单位向量,虚拟墙的方向标识用于指示机器人穿过虚拟墙,由于机器人只能从非工作区域返
回工作区域,无法从工作区域穿越虚拟墙到非工作区域,所以虚拟墙方向标识为由非工作
区域指向工作区域。机器人获取非工作区域以及工作区域之间的方位信息,非工作区域以
及工作区域之间的方位信息是指两者之间的相对位置关系,例如非工作区域在工作区域的
左边或者右边,虚拟墙的方向标识为由非工作区域指向工作区域,如果非工作区域在工作
区域的左边,则虚拟墙的方向标识为垂直于虚拟墙单元且指向右侧,由非工作区域指向工
作区域。
[0078] S2054:基于所述虚拟墙的方向标识和所述移动路径的方向确定所述机器人的通行资格信息,其中,当所述虚拟墙的方向标识和所述移动路径的方向满足预设条件时,所述
机器人的通行资格信息标识允许机器人穿越虚拟墙。
[0079] 机器人根据虚拟墙的方向标识和移动路径的方向确定机器人的通行资格信息,当虚拟墙的方向标识和移动路径的方向之间的满足预设条件时,机器人的通行资格信息标识
允许机器人穿越虚拟墙。
[0080] 其中,由于相交的虚拟墙单元的方向向量和移动路径单元的方向向量之间的夹角小于90度时,机器人的移动路径一定是由非工作区域到工作区域的,所以,预设条件可以设
定为当相交的虚拟墙单元的方向向量和移动路径单元的方向向量之间的夹角小于90度。当
相交的虚拟墙单元的方向向量和移动路径单元的方向向量之间的夹角小于90度时,机器人
的通行资格信息标识允许机器人穿越虚拟墙;当相交的虚拟墙单元的方向向量和移动路径
单元的方向向量之间的夹角大于90度时,机器人的通行资格信息标识不允许机器人穿越虚
拟墙。
[0081] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限
定。
[0082] 请参阅图8,图8是本发明一实施例提供的一种控制机器人运动的装置的示意图。包括的各单元用于执行图1~图7对应的实施例中的各步骤。具体请参阅图1~图7各自对应
的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图8,控制机
器人运动的装置8包括:
[0083] 第一获取单元810,用于当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置;
[0084] 确定单元820,用于基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径;
[0085] 第二获取单元830,用于当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与所述非工
作区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;
[0086] 移动单元840,用于当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动路径移动至所述目标点位置。
[0087] 进一步地,所述控制机器人运动的装置,还包括:
[0088] 第三获取单元,用于获取所述移动路径的移动路径单元的包容圆和所述虚拟墙的虚拟墙单元的包容圆,其中,所述移动路径单元的包容圆为以所述移动路径单元的中心点
为圆点,以所述移动路径单元的长度为直径的圆;所述虚拟墙单元的包容圆为以所述虚拟
墙单元的中心点为圆点,以所述虚拟墙单元的长度为直径的圆;
[0089] 判断单元,用于基于所述移动路径单元的包容圆的半径长度、所述虚拟墙单元的包容圆的半径长度、所述移动路径单元的包容圆圆心和所述虚拟墙单元的包容圆圆心之间
的距离,判断所述移动路径与预设的虚拟墙对应的线段是否相交。
[0090] 进一步地,所述第二获取单元,具体用于:
[0091] 当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的工作区域的位置信息;
[0092] 基于所述工作区域的位置信息、所述目的地位置,确定所述机器人的通行资格信息,其中,当所述目标点位置位于所述工作区域内时,所述通行资格信息标识允许机器人穿
越虚拟墙。
[0093] 进一步地,所述第二获取单元,具体用于:
[0094] 当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述虚拟墙的方向标识,其中,所述虚拟墙的方向标识用于指示所述机器人穿过虚拟墙,所述方向标识由所述非
工作区域指向所述工作区域;
[0095] 基于所述虚拟墙的方向标识和所述移动路径的方向确定所述机器人的通行资格信息,其中,当所述虚拟墙的方向标识和所述移动路径的方向满足预设条件时,所述机器人
的通行资格信息标识允许机器人穿越虚拟墙。
[0096] 进一步地,控制机器人运动的装置,还包括:
[0097] 第一设置单元,用于接收设置虚拟墙方向指令,基于所述设置虚拟墙方向指令在所述虚拟墙上设置所述方向标识。
[0098] 进一步地,控制机器人运动的装置,还包括:
[0099] 第二设置单元,用于基于所述非工作区域以及所述工作区域之间的方位信息,在所述虚拟墙上设置所述方向标识。
[0100] 图9是本发明一实施例提供的机器人的示意图。如图9所示,该实施例的机器人9包括:处理器90、存储器91以及存储在所述存储器91中并可在所述处理器90上运行的计算机
程序92,例如控制机器人的程序。所述处理器90执行所述计算机程序92时实现上述各个控
制机器人的方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器90执行
所述计算机程序92时实现上述各装置实施例中各单元的功能,例如图8所示模块810至840
的功能。
[0101] 示例性的,所述计算机程序92可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器91中,并由所述处理器90执行,以完成本发明。所述一个或多个单
元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程
序92在所述机器人9中的执行过程。例如,所述计算机程序92可以被分割成第一获取单元、
确定单元、第二获取单元、移动单元,各单元具体功能如下:
[0102] 第一获取单元,用于当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置;
[0103] 确定单元,用于基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径;
[0104] 第二获取单元,用于当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与所述非工作
区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;
[0105] 移动单元,用于当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动路径移动至所述目标点位置。
[0106] 所述控制机器人的设备可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是机器人9的示例,并不构成对机器人9的限定,可以包括比图示更多
或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人还可以包括输入输出
设备、网络接入设备、总线等。
[0107] 所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路
(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑
Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等。
[0108] 所述存储器91可以是所述机器人9的内部存储单元,例如机器人9的硬盘或内存。所述存储器91也可以是所述机器人9的外部存储设备,例如所述机器人9上配备的插接式硬
盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡
(Flash Card)等。进一步地,所述存储器91还可以既包括所述机器人9的内部存储单元也包
括外部存储设备。所述存储器91用于存储所述计算机程序以及所述机器人所需的其他程序
和数据。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
[0109] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的
功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上
描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可
以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的
单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单
元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统
中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0110] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0111] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本发明的范围。
[0112] 在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所
述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如
多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另
一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置
或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0113] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0114] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0115] 所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施
例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计
算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上
述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序
代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介
质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、
磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,
Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述
计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增
减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电
信信号。
[0116] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各
实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改
或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应
包含在本发明的保护范围之内。