本文作者:kaifamei

机器人的控制方法、装置、计算机存储介质以及机器人与流程

更新时间:2025-03-26 15:42:09 0条评论

机器人的控制方法、装置、计算机存储介质以及机器人与流程



1.本发明涉及机器人领域,具体而言,涉及一种机器人的控制方法、装置、计算机存储介质以及机器人。


背景技术:



2.目前移动机器人或者agv都具有人工遥控运动的功能。人工控制机器人可能存在一些安全隐患,例如刹车不及时、遥控预判不准确、控制人员精力不集中等,都有可能导致机器人或者agv碰撞障碍物,从而产生安全事故。
3.针对现有技术中人工遥控机器人容易发生碰撞导致生安全事故的问题,目前尚未提出有效的解决方案。


技术实现要素:



4.本发明实施例提供了一种机器人的控制方法、装置、计算机存储介质以及机器人,以至少解决现有技术中人工遥控机器人容易发生碰撞导致生安全事故的技术问题。
5.根据本技术实施例的一个方面,提供了一种机器人的控制方法,包括:获取机器人的遥控命令速度和障碍物对机器人的虚拟推力;在遥控命令速度和虚拟推力均不为0的情况下,基于虚拟推力、机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度;控制机器人按照安全运动速度移动。
6.根据本技术实施例的另一方面,还提供了一种机器人的控制方法,包括:获取机器人在多个方向的遥控命令速度和障碍物对机器人在多个方向的虚拟推力;在第一方向的目标遥控命令速度和第一方向的目标虚拟推力均不为0的情况下,对机器人在第一方向进行减速控制,其中,第一方向为多个方向中的任意一个方向。
7.根据本技术实施例的另一方面,还提供了一种机器人的控制装置,包括:获取模块,用于获取机器人的遥控命令速度和障碍物对机器人的虚拟推力;确定模块,用于在遥控命令速度和虚拟推力均不为0的情况下,基于虚拟推力、机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度;控制模块,用于控制机器人按照安全运动速度移动。
8.根据本技术实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法步骤。
9.根据本技术实施例的另一方面,还提供了一种机器人,包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的方法步骤。
10.在本发明实施例中,获取机器人的遥控命令速度和障碍物对机器人的虚拟推力;在遥控命令速度和虚拟推力均不为0的情况下,基于虚拟推力、机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度;控制机器人按照安全运动速度移动。上述方案在机器人移动的过程中检测器遥控命令速度以及障碍物对机器人的虚拟推力,从而在其遥控命令速度和障碍物对机器人的虚拟推力均不为0的情况下,确定安全运动速度,以对机器人进行减速控制,避免机器人与障碍物发生碰撞,进而解决了现有技术中人工遥控机器人
容易发生碰撞导致生安全事故的技术问题。
附图说明
11.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
12.图1是根据本技术实施例的一种机器人的控制方法的流程图;
13.图2是根据本技术实施例的一种对机器人进行避障控制的示意图;
14.图3是根据本技术实施例的一种对机器人的线速度进行控制的示意图;
15.图4是根据本技术实施例的一种对机器人进行避障控制的流程;
16.图5是根据本技术实施例的一种体素栅格的示意图;
17.图6是根据本技术实施例的另一种机器人的控制方法的流程图;
18.图7是根据本技术实施例的一种机器人的控制装置的示意图;
19.图8是根据本技术实施例的另一种机器人的控制装置的示意图。
具体实施方式
20.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
21.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.实施例1
23.根据本技术实施例,提供了一种机器人的控制方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
24.图1是根据本技术实施例的一种机器人的控制方法的流程图,如图1所示,该方法包括如下步骤:
25.步骤s102,获取机器人的遥控命令速度和障碍物对机器人的虚拟推力。
26.具体的,上述机器人可以为具有人工遥控功能的机器人或agv(automated guided vehicle,无人搬运车)。遥控命令速度为机器人的遥控器向机器人发送的控制速度,机器人的遥控器可以是任意用于对机器人进行控制的设备。
27.在上述方案中,将机器人周围的环境理解为一种抽象的人造力场,在机器人的遥
控命令速度不为0的情况下,周围的障碍物向机器人产生虚拟推力。
28.障碍物对机器人的虚拟推力,与障碍物与机器人之间的距离相关。可以设置一个安全距离,在障碍物与机器人之间的距离大于该安全距离的情况下,确定此时障碍物对机器人的虚拟推力为0,在障碍物与机器人之间的距离小于等于该安全距离的情况下,确定障碍物对机器人产生一定的虚拟推力。
29.步骤s104,在遥控命令速度和虚拟推力均不为0的情况下,基于虚拟推力、机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度。
30.在遥控命令速度和虚拟推力均不为0的情况下,说明在以机器人为中心的安全范围内出现了障碍物,且机器人仍然在根据遥控命令速度运动,也即机器人具有碰撞障碍物的风险,因此在这样的情况下需要对机器人的运动进行调整。
31.在上述方案中,基于虚拟推力、机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度,可以是在机器人当前的实际运动速度的基础上进行减速控制,且虚拟推力越大,说明障碍物距离机器人越近。例如,可以使用机器人的实际运动速度减去虚拟推力与预设的减速度参数的乘积,得到安全运动速度。
32.步骤s106,控制机器人按照安全运动速度移动。
33.由于机器人会持续检测其遥控命令速度和障碍物对机器人的虚拟推力,因此在机器人的速度减小为0之前,其会不断的计算安全运动速度,并控制机器人按照安全运动速度移动,因此机器人的实际运动速度会不断减小,直至减小为0。因此在上述步骤中,控制机器人按照步骤s104中确定的安全运动速度移动,以使机器人能够在与障碍物碰撞之前停止移动。
34.在一种可选的实施例中,以双轮差速机器人为例,双轮差速机器人的速度包括线速度v和角速度w。图2是根据本技术实施例的一种对机器人进行避障控制的示意图,结合图2所示,获取机器人的遥控命令速度(vm,wm),在遥控命令速度(vm,wm)和虚拟推力(f
x
,fy)均不为0的情况下,基于虚拟推力(f
x
,fy)、机器人当前的实际运动速度(vc,wc)以及预设的减速度参数,确定安全运动速度(vs,ws),其中,v表示线速度,ω表示角速度,(f
x
,fy)分别表示虚拟推力在机器人坐标系的x轴和y轴上的分力。
35.需要说明的是,在控制机器人将速度减小至0之后,如果障碍物排除,或向机器人发送了运动至其他方向(例如与障碍物所在方向相反的方向)的遥控命令,则机器人会重新开始运动。
36.本技术中的机器人自身不存在目标点,机器人的运动方向都是控制者的临时方向。但是机器人在运动的过程中还是会存在障碍物,由于人控制会有反应时间,如果控制不及时就会碰撞障碍物。本技术上述实施例获取机器人的遥控命令速度和障碍物对机器人的虚拟推力;在遥控命令速度和虚拟推力均不为0的情况下,基于虚拟推力、机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度;控制机器人按照安全运动速度移动。上述方案在机器人移动的过程中检测器遥控命令速度以及障碍物对机器人的虚拟推力,从而在其遥控命令速度和障碍物对机器人的虚拟推力均不为0的情况下,确定安全运动速度,以对机器人进行减速控制,避免机器人与障碍物发生碰撞,进而解决了现有技术中人工遥控机器人容易发生碰撞导致生安全事故的技术问题。
37.作为一种可选的实施例,基于虚拟推力、机器人当前的实际运动速度以及预设的
减速度参数,确定安全运动速度,包括:步骤s1041,获取虚拟推力、减速度参数和预设时间差的乘积;步骤s1042,确定机器人当前的实际运动速度与乘积的差值为安全运动速度。
38.在一种可选的实施例中,可以通过如下公式确定安全运动速度:vs=vc
‑△
t
·f·
α,其中,vs表示安全运动速度,vc为机器人当前的实际运动速度,

t为预设时间差,f为虚拟推力,α为减速度参数。
39.作为一种可选的实施例,机器人为双轮差速机器人,遥控命令速度包括遥控命令线速度和遥控命令角速度,实际运动速度包括:实际运动线速度和实际运动角速度,虚拟推力由第一方向的第一虚拟推力和第二方向的第二虚拟推力合成得到,其中,第一方向为机器人的朝向,第二方向与第一方向垂直,安全运动速度包括:安全运动线速度和安全运动角速度。
40.对于双轮差速机器人,其所有的速度参数都可以包括线速度和角速度,而障碍物对机器人的虚拟推力也可以划分至第一方向和第二方向,得到两个方向上的分力。
41.具体的,上述第一方向和第二方向可以为机器人坐标系中的方向。在机器人坐标系中,机器人所在位置为坐标原点,机器人所面对的方向为x轴的正向,与x轴垂直的另一方向为y轴,机器人的左侧为y轴正向。也即上述第一方向可以为机器人坐标系中的x轴方向,第二方向可以为机器人坐标系中的y轴方向。
42.作为一种可选的实施例,在遥控命令速度和虚拟推力均不为0的情况下,基于虚拟推力、机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度,包括:
43.在遥控命令线速度和第一虚拟推力均不为0的情况下,基于第一虚拟推力、机器人当前的实际运动线速度以及预设的减速度参数,确定安全运动线速度;以及在遥控命令角速度和第二虚拟推力均不为0的情况下,基于第二虚拟推力、机器人当前的实际运动角速度以及预设的减速度参数,确定安全运动角速度。
44.在上述方案中,对机器人在每个方向上是否具有碰撞风险进行单独控制,如果遥控命令线速度和第一虚拟推力均不为0,则确定机器人在第一方向上具有发生碰撞的风险,则确定第一方向上的安全运动速度,即安全运动线速度;在该种情况下,机器人的安全运动角速度与这一方向的控制无关。
45.如果遥控命令角速度和第二虚拟推力均不为0,则确定机器人在第二方向上具有发生碰撞的风险,则确定第二方向上的安全运动速度,即安全运动角速度,类似的,在该种情况下,机器人的安全线速度与这一方向上的控制无法。
46.而安全运动线速度和安全运动角速度的确定方式可以是如上述步骤s041和步骤s1042所示。例如,在遥控命令线速度和第一虚拟推力均不为0的情况下,获取第一虚拟推力、减速度参数和预设时间差的乘积,并确定机器人当前的实际运动线速度与乘积的差值为安全运动线速度,即vs=v
c-δtf
x
α,其中,vs用于表示安全运动线速度,vc用于表示实际运动线速度,δt用于表示预设时间差,f
x
用于表示第一虚拟推力,α用于表示减速度参数。图3是根据本技术实施例的一种对机器人的线速度进行控制的示意图,结合图3所示,在f
x
和vm不为0时,确定vs=v
c-δtf
x
α,否则确定vs等于vm。
47.而在遥控命令角速度和第二虚拟推力均不为0的情况下,获取第二虚拟推力、减速度参数和预设时间差的乘积;确定机器人当前的实际运动角速度与乘积的差值为安全运动角速度。即ωs=ω
c-δtfyα,其中,ωs用于表示安全运动线速度,ωc用于表示实际运动线速
度,δt用于表示预设时间差,fy用于表示第一虚拟推力,α用于表示减速度参数。
48.上述方案可以使得当机器人处于遥控状态下,当遇到障碍物是,机器人可以自主的障碍物的方向减速,而不影响其它方向的运动,使得机器人在遥控状态下更加灵活可靠。
49.作为一种可选的实施例,获取障碍物对机器人的虚拟推力,包括:通过传感器获取预设避障范围内的初始二维点云数据,其中,预设避障范围以机器人为中心确定;对初始二维点云数据进行体素滤波,得到滤波后的目标二维点云数据;获取目标二维点云数据中的每一点对机器人的推力场;基于每一点对机器人的推力场确定每一点对机器人的单位虚拟推力;基于单位虚拟推力确定预设避障范围内的障碍物对机器人的虚拟推力。
50.具体的,上述传感器可以为超声传感器、碰撞开关、激光雷达、双目相机等,这些传感器可以设置在机器人上,也可以设置在机器人运动的环境中。在一种可选的实施例中,可以将多个传感器采集的数据进行数据融合,得到机器人周围的三维点云数据,然后将三维点云数据映射至平面,得到上述的初始二维点云数据。
51.上述体素滤波用于减少运算时的数据量,从而减少机器人的数据处理压力。
52.图4是根据本技术实施例的一种对机器人进行避障控制的流程,结合图4所示,通过机器人的避障传感器进行数据采集,对多传感器采集的数据进行数据融合,并计算出所有障碍物的推力和,即上述障碍物对机器人的虚拟推力。接收遥控命令速度,并根据步骤s102至s106计算安全运动速度,通过安全运动速度对机器人进行安全控制(控制机器人按照安全运动速度运动)。在对机器人进行安全控制的过程中,判断是否结束对机器人的控制,如果判断结果为是,则结束对机器人的控制,否则返回继续通过避障传感器进行数据采集。
53.下面对如何进行体素滤波、如何运算推力场,以及如何确定每个点的单位虚拟推荐进行详细说明。
54.作为一种可选的实施例,对初始二维点云数据进行体素滤波,得到滤波后的目标二维点云数据,包括:将预设避障范围按照预设的栅格大小进行栅格化处理,以使初始二维点云数据中的初始点云落入栅格内;获取落入同一个栅格的多个初始点云,基于多个初始点云的坐标确定出一个目标点云,并通过目标点云表示落入同一个栅格的多个初始点云;确定每个栅格对应的目标点云构成目标二维点云数据。
55.在一种可选的实施例中,将所有传感器采集到的数据转换到机器人本体坐标,并且垂直投影到2d平面,生成2d点云这些2d点云数据即为上述初始二维点云数据。然后对该初始二维点云数据进行体素滤波。
56.首先以机器人为中心,确定一避障范围q(上述预设避障范围可以是以机器人为中心,以2q为边长的方形),栅格大小r,将机器人周围栅格化,如图5所示。
57.栅格将初始二维点云数据划分在不同的体素栅格内,然后用体素栅格内所有点的重心来表示该栅格的环境数据。对于一个含有n个点的二维体素,经过体素滤波器处理后得到表示环境数据的目标点的公式为:其中,(x,y)为目标点在机器人坐标系中的坐标,(xi,yi)用于表示同一栅格内第i个点在机器人坐标系中的坐标。
58.本技术上述方案将t时刻的进行体素滤波,最后得到ct,体素滤波如图5所示。其中体素滤波的栅格大小为r,范围是q。r和q可以根据需要求调节,q越
大机器人的安全距离越大,r越大控制精度越小,r越小计算量越大。
59.作为一种可选的实施例,获取目标二维点云数据中的每一点对机器人的推力场,包括:根据预设避障范围确定推力场的最大距离;在目标点与机器人之间的目标距离大于最大距离的情况下,确定推力场为0,其中,目标点为目标二维点云数据中的每一点;在目标点与机器人之间的目标距离小于或等于最大距离的情况下,获取目标距离的第一平方值、最大距离与单位距离之比的第二平方值,以及四倍的目标距离与3的差值,获取第二平方值与差值之间的比值,并确定第一平方值与比值之差为目标点对机器人的推力场,其中,单位距离用于表示栅格的大小。
60.在一种可选的实施例中,障碍物对机器人的推力场可以通过如下公式计算得到:
[0061][0062]
其中,q点表示上述目标点,u(q)表示目标点对机器人的推力场,q表示上述最大距离,在该示例中,2q为预设避障范围的边长,d(q)表示目标点与机器人之间的目标距离,r为上述单位距离,即栅格分辨率。
[0063]
作为一种可选的实施例,基于每一点对机器人的推力场确定每一点对机器人的单位虚拟推力,包括:获取预设的推力场系数;确定每一点对机器人的推力场与推力场系数的乘积为每一点对机器人的单位虚拟推力。
[0064]
在一种可选的实施例中,单位虚拟推力可以通过如下公式计算得到:
[0065][0066]
其中,fq为q点的单位虚拟推力,η用于表示上述的推力场系数。
[0067]
作为一种可选的实施例,基于单位虚拟推力确定预设避障范围内的障碍物对机器人的虚拟推力,包括:获取预设避障范围内的每一点对应的单位虚拟推力的和值;确定和值为预设避障范围内的障碍物对机器人的虚拟推力。
[0068]
上述方案将t时刻所有的传感器数据融合成c
t
后,计算出c
t
中的障碍物的推力和,推力的大小和方向决定了机器人减速度的大小和方向,下面进行详细说明。
[0069]
作为一种可选的实施例,获取预设避障范围内的每一点对应的单位虚拟推力的和值,包括:获取每一点对应的单位虚拟推力在第一方向的第一分力和在第二方向上的第二分力,其中,第一方向为机器人的朝向,第二方向与第一方向垂直;获取预设避障范围内的每一点的第一分力的和值;以及获取预设避障范围内的每一点的第二分力的和值。
[0070]
在一种可选的实施例中,上述第一方向为机器人坐标系中的x方向,上述第二方向为机器人坐标系中的y方向,q点单位虚拟推力为fq,表示q点的第一分力,表示q点的第二分力,i表示预设避障范围内的第i个点,(q
x
,qy)表示q点在机器人坐标系中的坐标,f
x
,fy表示当前时刻机器人周围所有障碍物在机器人x,y轴上的推力,可以通过如下公式计算单位虚拟推力的和值。
[0071][0072][0073]
实施例2
[0074]
为了防止人工控制移动机器人或agv带来的安全隐患,还具有如下两种方案:方案一,遇到障碍物就急停然后再通过人工搬移机器人到无障碍物的区域;方案二,遇到障碍物就自动后退到无障碍区域。上述方案一存在的缺陷是控制不灵活,需要人工搬移机器人;方案二存在的缺陷是控制效果不佳,在机器人自动后退的过程中可能带来更多的安全隐患。为了解决这些问题,本发明又提供了一种机器人的控制方法的实施例,图6是根据本技术实施例的另一种机器人的控制方法的流程图,如图6所示,该方法包括如下步骤:
[0075]
步骤s602,获取机器人在多个方向的遥控命令速度和障碍物对机器人在多个方向的虚拟推力。
[0076]
具体的,上述机器人可以为具有人工遥控功能的机器人或agv(automated guided vehicle,无人搬运车)。遥控命令速度为机器人的遥控器向机器人发送的控制速度,机器人的遥控器可以是任意用于对机器人进行控制的设备。
[0077]
在一种可选的实施例中,在机器人为双轮差速机器人的情况下,上述多个方向可以包括机器人坐标系中的x方向和y方向,x方向的速度参数为线速度,y方向的速度参数为角速度。对于其他机器人,可以具有对应的其他多个方向。
[0078]
在上述方案中,将机器人周围的环境理解为一种抽象的人造力场,障碍物对机器人的虚拟推力包括多个方向的分力,也即上述多个方向的虚拟推力。
[0079]
步骤s604在第一方向的目标遥控命令速度和第一方向的目标虚拟推力均不为0的情况下,对机器人在第一方向进行减速控制,其中,第一方向为多个方向中的任意一个方向。
[0080]
上述第一方向为多个方向中,满足遥控命令速度和虚拟推力均不为0的方向。某个方向满足上述条件的情况下,则对上述这一方向的速度进行减速控制。
[0081]
在一种可选的实施例中,仍以上述双轮差速机器人为例,如果机器人坐标系中x轴方向的目标遥控命令速度和同一方向的目标虚拟推力均不为0,则对x轴方向上的速度,即线速度进行减速控制;如果机器人坐标系中y轴方向的目标遥控命令速度和同一方向的目标虚拟推力均不为0,则对y轴方向上的速度,即角速度进行减速控制。
[0082]
由此可知,本技术上述实施例获取机器人在多个方向的遥控命令速度和障碍物对机器人在多个方向的虚拟推力;在第一方向的目标遥控命令速度和第一方向的目标虚拟推力均不为0的情况下,对机器人在第一方向进行减速控制,其中,第一方向为多个方向中的任意一个方向。上述方案在对机器人的遥控过程中,控制机器人在受到障碍物的虚拟推力的方向进行减速控制,但在没有受到障碍物的虚拟推力的方向继续遥控运动,从而不仅解决了现有技术中人工遥控机器人容易发生碰撞导致生安全事故的技术问题,还使得机器人在遥控状态下更加灵活可靠。
[0083]
作为一种可选的实施例,对机器人在第一方向进行减速控制,包括:获取机器人当前在第一方向的目标实际运动速度以及预设的减速度参数;获取目标虚拟推力、减速度参
数和预设时间差的乘积;确定机器人当前的目标实际运动速度与乘积的差值为机器人在第一方向的目标安全运动速度。
[0084]
在一种可选的实施例中,确定上述第一方向为机器人的x方向,通过vs=v
c-δtf
x
α确定上述目标完全移动速度,其中,vs用于表示目标安全运动速度,vc用于表示目标实际运动速度,δt用于表示预设时间差,f
x
用于表示目标虚拟推力,α用于表示减速度参数。
[0085]
需要说明的是,在不冲突的情况下,本实施例中的方法还可以包括实施例1中的其他方法步骤,此处不再赘述。
[0086]
实施例3
[0087]
本发明提供了一种机器人的控制装置的实施例,图7是根据本技术实施例的一种机器人的控制装置的示意图,如图7所示,该装置包括:
[0088]
获取模块70,用于获取机器人的遥控命令速度和障碍物对机器人的虚拟推力;
[0089]
确定模块72,用于在遥控命令速度和虚拟推力均不为0的情况下,基于虚拟推力、机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度;
[0090]
控制模块74,用于控制机器人按照安全运动速度移动。
[0091]
作为一种可选的实施例,确定模块包括:第一获取子模块,用于获取虚拟推力、减速度参数和预设时间差的乘积;第一确定子模块,用于确定机器人当前的实际运动速度与乘积的差值为安全运动速度。
[0092]
作为一种可选的实施例,机器人为双轮差速机器人,遥控命令速度包括遥控命令线速度和遥控命令角速度,实际运动速度包括:实际运动线速度和实际运动角速度,虚拟推力由第一方向的第一虚拟推力和第二方向的第二虚拟推力合成得到,其中,第一方向为机器人的朝向,第二方向与第一方向垂直,安全运动速度包括:安全运动线速度和安全运动角速度。
[0093]
作为一种可选的实施例,在遥控命令速度和虚拟推力均不为0的情况下,确定模块包括:第二确定子模块,用于在遥控命令线速度和第一虚拟推力均不为0的情况下,基于第一虚拟推力、机器人当前的实际运动线速度以及预设的减速度参数,确定安全运动线速度;以及第三确定子模块,用于在遥控命令角速度和第二虚拟推力均不为0的情况下,基于第二虚拟推力、机器人当前的实际运动角速度以及预设的减速度参数,确定安全运动角速度。
[0094]
作为一种可选的实施例,获取模块包括:第二获取子模块,用于通过传感器获取预设避障范围内的初始二维点云数据,其中,预设避障范围以机器人为中心确定;滤波子模块,用于对初始二维点云数据进行体素滤波,得到滤波后的目标二维点云数据;第三获取子模块,用于获取目标二维点云数据中的每一点对机器人的推力场;第四确定子模块,用于基于每一点对机器人的推力场确定每一点对机器人的单位虚拟推力;第五确定子模块,用于基于单位虚拟推力确定预设避障范围内的障碍物对机器人的虚拟推力。
[0095]
作为一种可选的实施例,滤波子模块包括:栅格化处理单元,用于将预设避障范围按照预设的栅格大小进行栅格化处理,以使初始二维点云数据中的初始点云落入栅格内;表示单元,用于获取落入同一个栅格的多个初始点云,基于多个初始点云的坐标确定出一个目标点云,并通过目标点云表示落入同一个栅格的多个初始点云;第六确定子模块,用于确定每个栅格对应的目标点云构成目标二维点云数据。
[0096]
作为一种可选的实施例,第三获取子模块包括:第一确定单元,用于根据预设避障
范围确定推力场的最大距离;第二确定单元,用于在目标点与机器人之间的目标距离大于最大距离的情况下,确定推力场为0,其中,目标点为目标二维点云数据中的每一点;第三确定单元,用于在目标点与机器人之间的目标距离小于或等于最大距离的情况下,获取目标距离的第一平方值、最大距离与单位距离之比的第二平方值,以及四倍的目标距离与3的差值,获取第二平方值与差值之间的比值,并确定第一平方值与比值之差为目标点对机器人的推力场,其中,单位距离用于表示栅格的大小。
[0097]
作为一种可选的实施例,第四确定子模块包括:第一获取单元,用于获取预设的推力场系数;第四确定单元,用于确定每一点对机器人的推力场与推力场系数的乘积为每一点对机器人的单位虚拟推力。
[0098]
作为一种可选的实施例,第五确定子模块包括:第二获取单元,用于获取预设避障范围内的每一点对应的单位虚拟推力的和值;第五确定单元,用于确定和值为预设避障范围内的障碍物对机器人的虚拟推力。
[0099]
作为一种可选的实施例,第二获取单元包括:第一获取子单元,用于获取每一点对应的单位虚拟推力在第一方向的第一分力和在第二方向上的第二分力,其中,第一方向为机器人的朝向,第二方向与第一方向垂直;第二获取子单元,用于获取预设避障范围内的每一点的第一分力的和值;以及第三获取子单元,用于获取预设避障范围内的每一点的第二分力的和值。
[0100]
实施例4
[0101]
本发明提供了又一种机器人的控制装置的实施例,图8是根据本技术实施例的另一种机器人的控制装置的示意图,如图8所示,该装置包括:
[0102]
获取模块82,用于获取机器人在多个方向的遥控命令速度和障碍物对机器人在多个方向的虚拟推力;
[0103]
控制模块84,用于在第一方向的目标遥控命令速度和第一方向的目标虚拟推力均不为0的情况下,对机器人在第一方向进行减速控制,其中,第一方向为多个方向中的任意一个方向。
[0104]
作为一种可选的实施例,控制模块包括:第一获取子模块,用于获取机器人当前在第一方向的目标实际运动速度以及预设的减速度参数;第二获取子模块,用于获取目标虚拟推力、减速度参数和预设时间差的乘积;确定子模块,用于确定机器人当前的目标实际运动速度与乘积的差值为机器人在第一方向的目标安全运动速度。
[0105]
实施例5
[0106]
本发明提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如实施例1所述的方法步骤。
[0107]
实施例6
[0108]
本发明提供了一种机器人,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如实施例1所述的方法步骤。
[0109]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0110]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0111]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的
方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0112]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0113]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0114]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0115]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:


1.一种机器人的控制方法,其特征在于,包括:获取所述机器人的遥控命令速度和障碍物对所述机器人的虚拟推力;在所述遥控命令速度和所述虚拟推力均不为0的情况下,基于所述虚拟推力、所述机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度;控制所述机器人按照所述安全运动速度移动。2.根据权利要求1所述的方法,其特征在于,基于所述虚拟推力、所述机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度,包括:获取所述虚拟推力、所述减速度参数和预设时间差的乘积;确定所述机器人当前的实际运动速度与所述乘积的差值为所述安全运动速度。3.根据权利要求1所述的方法,其特征在于,所述机器人为双轮差速机器人,所述遥控命令速度包括遥控命令线速度和遥控命令角速度,所述实际运动速度包括:实际运动线速度和实际运动角速度,所述虚拟推力由第一方向的第一虚拟推力和第二方向的第二虚拟推力合成得到,其中,所述第一方向为所述机器人的朝向,所述第二方向与所述第一方向垂直,所述安全运动速度包括:安全运动线速度和安全运动角速度。4.根据权利要求3所述的方法,其特征在于,在所述遥控命令速度和所述虚拟推力均不为0的情况下,基于所述虚拟推力、所述机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度,包括:在所述遥控命令线速度和所述第一虚拟推力均不为0的情况下,基于所述第一虚拟推力、所述机器人当前的实际运动线速度以及预设的减速度参数,确定所述安全运动线速度;以及在所述遥控命令角速度和所述第二虚拟推力均不为0的情况下,基于所述第二虚拟推力、所述机器人当前的实际运动角速度以及预设的减速度参数,确定所述安全运动角速度。5.根据权利要求1所述的方法,其特征在于,获取障碍物对所述机器人的虚拟推力,包括:通过传感器获取预设避障范围内的初始二维点云数据,其中,所述预设避障范围以所述机器人为中心确定;对所述初始二维点云数据进行体素滤波,得到滤波后的目标二维点云数据;获取所述目标二维点云数据中的每一点对所述机器人的推力场;基于每一点对所述机器人的推力场确定所述每一点对所述机器人的单位虚拟推力;基于所述单位虚拟推力确定所述预设避障范围内的障碍物对所述机器人的虚拟推力。6.根据权利要求5所述的方法,其特征在于,对所述初始二维点云数据进行体素滤波,得到滤波后的目标二维点云数据,包括:将所述预设避障范围按照预设的栅格大小进行栅格化处理,以使所述初始二维点云数据中的初始点云落入所述栅格内;获取落入同一个栅格的多个初始点云,基于所述多个初始点云的坐标确定出一个目标点云,并通过所述目标点云表示落入同一个栅格的多个初始点云;确定每个栅格对应的目标点云构成所述目标二维点云数据。7.根据权利要求6所述的方法,其特征在于,获取所述目标二维点云数据中的每一点对所述机器人的推力场,包括:
根据所述预设避障范围确定所述推力场的最大距离;在目标点与所述机器人之间的目标距离大于所述最大距离的情况下,确定所述推力场为0,其中,所述目标点为所述目标二维点云数据中的每一点;在所述目标点与所述机器人之间的目标距离小于或等于所述最大距离的情况下,获取所述目标距离的第一平方值、所述最大距离与单位距离之比的第二平方值,以及四倍的目标距离与3的差值,获取所述第二平方值与所述差值之间的比值,并确定所述第一平方值与所述比值之差为所述目标点对所述机器人的推力场,其中,所述单位距离用于表示所述栅格的大小。8.根据权利要求5所述的方法,其特征在于,基于每一点对所述机器人的推力场确定所述每一点对所述机器人的单位虚拟推力,包括:获取预设的推力场系数;确定所述每一点对所述机器人的推力场与所述推力场系数的乘积为所述每一点对所述机器人的单位虚拟推力。9.根据权利要求5所述的方法,其特征在于,基于所述单位虚拟推力确定所述预设避障范围内的障碍物对所述机器人的虚拟推力,包括:获取所述预设避障范围内的每一点对应的单位虚拟推力的和值;确定所述和值为所述预设避障范围内的障碍物对所述机器人的虚拟推力。10.根据权利要求9所述的方法,其特征在于,获取所述预设避障范围内的每一点对应的单位虚拟推力的和值,包括:获取所述每一点对应的单位虚拟推力在第一方向的第一分力和在第二方向上的第二分力,其中,所述第一方向为所述机器人的朝向,所述第二方向与所述第一方向垂直;获取所述预设避障范围内的每一点的第一分力的和值;以及获取所述预设避障范围内的每一点的第二分力的和值。11.一种机器人的控制方法,其特征在于,包括:获取所述机器人在多个方向的遥控命令速度和障碍物对所述机器人在所述多个方向的虚拟推力;在第一方向的目标遥控命令速度和所述第一方向的目标虚拟推力均不为0的情况下,对所述机器人在第一方向进行减速控制,其中,所述第一方向为所述多个方向中的任意一个方向。12.根据权利要求11所述的方法,其特征在于,对所述机器人在第一方向进行减速控制,包括:获取所述机器人当前在第一方向的目标实际运动速度以及预设的减速度参数;获取所述目标虚拟推力、所述减速度参数和预设时间差的乘积;确定所述机器人当前的目标实际运动速度与所述乘积的差值为所述机器人在所述第一方向的目标安全运动速度。13.一种机器人的控制装置,其特征在于,包括:获取模块,用于获取所述机器人的遥控命令速度和障碍物对所述机器人的虚拟推力;确定模块,用于在所述遥控命令速度和所述虚拟推力均不为0的情况下,基于所述虚拟推力、所述机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度;
控制模块,用于控制所述机器人按照所述安全运动速度移动。14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1至11中任意一项的方法步骤。15.一种机器人,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1至11中任意一项的方法步骤。

技术总结


本发明公开了一种机器人的控制方法、装置、计算机存储介质以及机器人。其中,该方法包括:获取机器人的遥控命令速度和障碍物对机器人的虚拟推力;在遥控命令速度和虚拟推力均不为0的情况下,基于虚拟推力、机器人当前的实际运动速度以及预设的减速度参数,确定安全运动速度;控制机器人按照安全运动速度移动。本发明解决了现有技术中人工遥控机器人容易发生碰撞导致生安全事故的技术问题。碰撞导致生安全事故的技术问题。碰撞导致生安全事故的技术问题。


技术研发人员:

陈明建

受保护的技术使用者:

广州视睿电子科技有限公司

技术研发日:

2021.06.21

技术公布日:

2022/12/22


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-63517-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-26 11:41:02

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论