一种控制机器人运动的方法、装置及机器人转让专利
申请号 : CN201811591566.0
文献号 : CN111360808B
文献日 : 2021-12-17
发明人 : 熊友军 , 聂鹏 , 胡旭 , 黄祥斌
申请人 : 深圳市优必选科技有限公司
摘要 :
权利要求 :
1.一种控制机器人运动的方法,其特征在于,包括:当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置;
基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径;
获取所述移动路径的移动路径单元的包容圆和虚拟墙的虚拟墙单元的包容圆,其中,所述移动路径单元的包容圆为以所述移动路径单元的中心点为圆点,以所述移动路径单元的长度为直径的圆;所述虚拟墙单元的包容圆为以所述虚拟墙单元的中心点为圆点,以所述虚拟墙单元的长度为直径的圆;
基于所述移动路径单元的包容圆的半径长度、所述虚拟墙单元的包容圆的半径长度、所述移动路径单元的包容圆圆心和所述虚拟墙单元的包容圆圆心之间的距离,判断所述移动路径与预设的虚拟墙对应的线段是否相交;
当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与非工作区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;
当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动路径移动至目标点位置。
2.如权利要求1所述的控制机器人运动的方法,其特征在于,所述当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,包括:当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的工作区域的位置信息;
基于所述工作区域的位置信息、所述目的地位置,确定所述机器人的通行资格信息,其中,当所述目标点位置位于所述工作区域内时,所述通行资格信息标识允许机器人穿越虚拟墙。
3.如权利要求1所述的控制机器人运动的方法,其特征在于,所述当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,包括:当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述虚拟墙的方向标识,其中,所述虚拟墙的方向标识用于指示所述机器人穿过虚拟墙,所述方向标识由所述非工作区域指向所述工作区域;
基于所述虚拟墙的方向标识和所述移动路径的方向确定所述机器人的通行资格信息,其中,当所述虚拟墙的方向标识和所述移动路径的方向满足预设条件时,所述机器人的通行资格信息标识允许机器人穿越虚拟墙。
4.如权利要求3所述的控制机器人运动的方法,其特征在于,在所述当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述虚拟墙的方向标识之前,包括:接收设置虚拟墙方向指令,基于所述设置虚拟墙方向指令在所述虚拟墙上设置所述方向标识。
5.如权利要求3所述的控制机器人运动的方法,其特征在于,在所述当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述虚拟墙的方向标识之前,包括:基于所述非工作区域以及所述工作区域之间的方位信息,在所述虚拟墙上设置所述方向标识。
6.一种控制机器人运动的装置,其特征在于,包括:第一获取单元,用于当检测到移动指令时,获取机器人的当前起始点位置以及目的地位置;
确定单元,用于基于所述当前起始点位置和所述目的地位置确定所述机器人的移动路径;
第三获取单元,用于获取所述移动路径的移动路径单元的包容圆和虚拟墙的虚拟墙单元的包容圆,其中,所述移动路径单元的包容圆为以所述移动路径单元的中心点为圆点,以所述移动路径单元的长度为直径的圆;所述虚拟墙单元的包容圆为以所述虚拟墙单元的中心点为圆点,以所述虚拟墙单元的长度为直径的圆;
判断单元,用于基于所述移动路径单元的包容圆的半径长度、所述虚拟墙单元的包容圆的半径长度、所述移动路径单元的包容圆圆心和所述虚拟墙单元的包容圆圆心之间的距离,判断所述移动路径与预设的虚拟墙对应的线段是否相交;
第二获取单元,用于当所述移动路径与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚拟墙用于将预设的工作区域与非工作区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;
移动单元,用于当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动路径移动至目标点位置。
7.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
说明书 :
一种控制机器人运动的方法、装置及机器人
技术领域
背景技术
在工作区域进行移动,无法移动至非工作区域。
人的实际位置在虚拟墙附近的工作区域时,也可能发生获取到的定位偏移至虚拟墙另一侧
的非工作区域,此时,由于机器人无法移动到虚拟墙另一侧的区域,当接收到移动指令时,
机器人无法移动;另外,当机器人被人为搬动到非工作区域时,由于虚拟墙的存在,机器人
也无法返回至工作区域。上述情况,会导致机器人自主导航工作的效率低,可靠性低。
发明内容
资格信息用于标识是否允许机器人穿越虚拟墙;
区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;
第一方面所述的控制机器人运动的方法的步骤。
动的方法的步骤。
与预设的虚拟墙对应的线段相交时,获取所述机器人的通行资格信息,其中,所述预设的虚
拟墙用于将预设的工作区域与所述非工作区域隔离开,所述通行资格信息用于标识是否允
许机器人穿越虚拟墙;当所述通行资格信息标识允许机器人穿越虚拟墙时,基于所述移动
路径移动至所述目标点位置。上述方法,通过获取通行资格信息,使得机器人在出现异常的
情况下可以从非工作区域返回工作区域,同时保证机器人不会从工作区域主动跨越到非工
作区域。
附图说明
实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些
附图获得其他的附图。
具体实施方式
细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电
路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
的方法可包括:
的移动指令,例如,当扫地机器人接收到的工作指令为清洁打扫房间时,扫地机器人可以通
过对清洁打扫房间这一工作指令进行分析,分析后获取到移动指令。
这三个定位锚点之间的距离,再根据空间坐标关系,确定机器人的位置,实现机器人的定
位,获取机器人的当前起始点位置。本领域技术人员可以理解,此处获取机器人的当前起始
点位置的方法并不限于以上的定位方式。
不作限制。
度越快。公式表示为:f(n)=g(n)+h(n),其中,f(n)是从初始节点经由节点n到目标节点的
距离估计;g(n)是在节点空间中从初始节点到节点n的实际距离;h(n)是从节点n到目标节
点的最佳路径的估计距离。
径单元包含两个端点以及一个表征方向的状态量,每个移动路径单元的数学模型如下所
示:
动路径单元从起点到终点的线段方向,如果法线方向位于线段方向顺时针方向,定义Dir为
正,反之为负。即Dir为通过线段终点,垂直于该线段的单位向量。
述通行资格信息用于标识是否允许机器人穿越虚拟墙。
区域。其中,设置虚拟墙的指令可以为用户在地图编辑的应用程序(Application,APP)中的
地图层上使用虚拟墙画笔工具来绘制虚拟墙,绘制的方式可以采用画图的方式,画出的虚
拟墙的形状可以为直线段,也可以为曲线段。预设的虚拟墙对应的线段可以是封闭式的,也
可以是非封闭式的。
元的数学模型如下所示:
从起点到终点的线段方向,如果法线方向位于线段方向顺时针方向,定义Dir为正,反之为
负。即Dir为通过线段终点,垂直于该线段的单位向量。
墙对应的线段是否相交。第二种实施方式中,可以获取所述移动路径的第一坐标集合和所
述预设的虚拟墙对应的线段的第二坐标集合,获取第一坐标集合和第二坐标集合的交集,
当获取到第一坐标集合和第二坐标集合的交集时,移动路径与预设的虚拟墙对应的线段相
交。
器人穿越虚拟墙,机器人可以移动穿越虚拟墙;当通行资格信息标识为“0”时,标识不允许
机器人穿越虚拟墙,机器人不能移动穿越虚拟墙。通行资格信息也可以采用箭头来标识,预
先设定箭头的方向来标识通行资格信息。
别在于S203~S205,本实施例中S201~S202与上一实施例中的S101~S102相同,S206与上
一实施例中的S104相同,S203~S205具体如下:
移动路径单元的长度为直径的圆;所述虚拟墙单元的包容圆为以所述虚拟墙单元的中心点
为圆点,以所述虚拟墙单元的长度为直径的圆。
略大而形状简单的包容盒代替复杂的集合对象参加碰撞干涉检查。通过包容盒之间的相交
测试快速的排除不相交的基本集合元素,以减少相交测试的次数,若包容盒不相交,则不发
生干涉。
移动路径单元中心点为圆点,以移动路径单元长度为直径生成包容圆,其中,将移动路径以
点集的形式表示,划分得到移动路径单元。以虚拟墙单元中心点为圆点,以虚拟墙单元长度
为直径生成包容圆。获取移动路径单元的包容圆和虚拟墙单元的包容圆,其中,将虚拟墙以
点集的形式表示,划分得到虚拟墙单元。
离,判断所述移动路径与预设的虚拟墙对应的线段是否相交。
和。
于当前移动路径单元的包容圆和当前虚拟墙单元的包容圆的半径之和,则当前移动路径单
元和当前虚拟墙单元之间存在相交的可能,此时,机器人进一步判断当前移动路径单元和
当前虚拟墙单元之间是否存在交点,获取当前移动路径单元的坐标信息集合和当前虚拟墙
单元的坐标信息集合,判断当前移动路径单元的坐标信息集合和当前虚拟墙单元的坐标信
息集合是否存在交集,如果存在交集,则当前移动路径单元和当前虚拟墙单元之间存在交
点。如果当前移动路径单元和当前虚拟墙单元之间存在交点,那么说明移动路径与预设的
虚拟墙对应的线段相交。
述通行资格信息用于标识是否允许机器人穿越虚拟墙。
置限制区域的方式设置工作区域和非工作区域,也可以通过设置虚拟墙的方式来规范机器
人的移动,通过不允许机器人通过虚拟墙的设置,从而划出工作区域和非工作区域。
括工作区域和非工作区域的坐标信息、工作区域和非工作区域的面积等等。
所述工作区域内且所述起始点位置位于所述非工作区域内时,所述通行资格信息标识允许
机器人穿越虚拟墙。
非工作区域的,当机器人获取到当前位置位于非工作区域时,说明机器人可能是由于传感
器的测量误差或者工作环境变化等原因,机器人的实时定位信息的准确性会受到影响,也
可能是机器人被人为搬动到非工作区域。所以只有当机器人的起始点位置位于非工作区域
时,机器人才会需要穿越虚拟墙,返回工作区域,进行正常的工作。所以,当目标点位置位于
工作区域内且起始点位置位于非工作区域内时,确定通行资格信息标识为允许机器人穿越
虚拟墙。
发明另一实施例提供的一种控制机器人运动的方法中S205的实现流程图。S2053~S2054如
下:
述非工作区域指向所述工作区域。
向向量,为垂直于虚拟墙单元线段的单位向量,虚拟墙的方向标识用于指示机器人穿过虚
拟墙,由于机器人只能从非工作区域返回工作区域,无法从工作区域穿越虚拟墙到非工作
区域,所以虚拟墙方向标识为由非工作区域指向工作区域。
置所述方向标识。
虚拟地图上以画笔的方式直接画出方向的方式来生成设置虚拟墙方向指令,用户在设置的
过程中,机器人可以在虚拟地图上显示工作区域和非工作区域对用户进行提醒。
的方向标识:基于所述非工作区域以及所述工作区域之间的方位信息,在所述虚拟墙上设
置所述方向标识。
回工作区域,无法从工作区域穿越虚拟墙到非工作区域,所以虚拟墙方向标识为由非工作
区域指向工作区域。机器人获取非工作区域以及工作区域之间的方位信息,非工作区域以
及工作区域之间的方位信息是指两者之间的相对位置关系,例如非工作区域在工作区域的
左边或者右边,虚拟墙的方向标识为由非工作区域指向工作区域,如果非工作区域在工作
区域的左边,则虚拟墙的方向标识为垂直于虚拟墙单元且指向右侧,由非工作区域指向工
作区域。
机器人的通行资格信息标识允许机器人穿越虚拟墙。
允许机器人穿越虚拟墙。
定为当相交的虚拟墙单元的方向向量和移动路径单元的方向向量之间的夹角小于90度。当
相交的虚拟墙单元的方向向量和移动路径单元的方向向量之间的夹角小于90度时,机器人
的通行资格信息标识允许机器人穿越虚拟墙;当相交的虚拟墙单元的方向向量和移动路径
单元的方向向量之间的夹角大于90度时,机器人的通行资格信息标识不允许机器人穿越虚
拟墙。
定。
的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图8,控制机
器人运动的装置8包括:
作区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;
为圆点,以所述移动路径单元的长度为直径的圆;所述虚拟墙单元的包容圆为以所述虚拟
墙单元的中心点为圆点,以所述虚拟墙单元的长度为直径的圆;
的距离,判断所述移动路径与预设的虚拟墙对应的线段是否相交。
越虚拟墙。
工作区域指向所述工作区域;
的通行资格信息标识允许机器人穿越虚拟墙。
程序92,例如控制机器人的程序。所述处理器90执行所述计算机程序92时实现上述各个控
制机器人的方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器90执行
所述计算机程序92时实现上述各装置实施例中各单元的功能,例如图8所示模块810至840
的功能。
元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程
序92在所述机器人9中的执行过程。例如,所述计算机程序92可以被分割成第一获取单元、
确定单元、第二获取单元、移动单元,各单元具体功能如下:
区域隔离开,所述通行资格信息用于标识是否允许机器人穿越虚拟墙;
或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人还可以包括输入输出
设备、网络接入设备、总线等。
(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑
Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等。
盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡
(Flash Card)等。进一步地,所述存储器91还可以既包括所述机器人9的内部存储单元也包
括外部存储设备。所述存储器91用于存储所述计算机程序以及所述机器人所需的其他程序
和数据。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上
描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可
以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的
单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单
元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统
中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本发明的范围。
述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如
多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另
一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置
或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计
算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上
述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序
代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介
质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、
磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,
Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述
计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增
减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电
信信号。
实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改
或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应
包含在本发明的保护范围之内。