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

机器人运动方法、装置和电子设备与流程

2021-10-09 01:58:00 来源:中国专利 TAG:机器人 电子设备 装置 控制 运动


1.本发明涉及机器人控制的技术领域,尤其是涉及一种机器人运动方法、装置和电子设备。


背景技术:

2.移动机器人一般具有行人跟随的功能,即通过视觉等技术锁定行人位置并始终跟随行人运动。其中,机器人需具有视觉检测系统和运动控制系统,以实现行人跟随功能。当跟随运动中机器人和行人之间有障碍物时,如果机器人不具有识别障碍物并主动避障能力,则会直接撞到障碍物,导致跟随运动停止,甚至引起机器人损坏。因此机器人做行人跟随时,还应具有障碍物检测以及智能避障功能。
3.然而,现有移动机器人的行人跟随功能,其特点是单自由度跟随,行人距离较远,视觉fov(field of view,视场角)较大,一般使用uwb(ultra wide band,超宽带)定位技术。需要测量出障碍物两个边界点,对机器人的传感器系统要求较高,需要为了避障添加中转位置,没有提及避障后如何恢复跟随新的目标位置。
4.因此,现有机器人针对行人跟随时的自动避障方法,具有对传感器系统要求高、需要地图和定位,以及避障规划不连续不清晰等缺点。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种机器人运动方法、装置和电子设备,可以快速准确地实现机器人的避障功能,避障规划连续清晰,对传感器系统的要求较低,并且不需要地图和定位。
6.第一方面,本发明实施例提供了一种机器人运动方法,应用于机器人跟随目标进行运动的场景,场景中包括至少一个障碍物;方法包括:生成机器人跟随目标的跟随路径;测量机器人与障碍物的距离和角度关系;基于距离和角度关系生成势场函数,基于势场函数生成机器人躲避障碍物的避障路径;基于跟随路径和避障路径生成机器人的行走路径;控制机器人按照行走路径进行运动。
7.在本发明较佳的实施例中,上述生成机器人跟随目标的跟随路径的步骤,包括:在机器人进行运动的过程中,持续获取目标在机器人坐标系中的坐标;基于获取的多个机器人坐标系中的坐标生成机器人跟随目标的跟随路径。
8.在本发明较佳的实施例中,上述在机器人进行运动的过程中,持续获取目标在机器人坐标系中的坐标的步骤,包括:在机器人进行运动的过程中,通过机器人的摄像头模组获取目标在摄像头坐标系中的坐标;对摄像头坐标系中的坐标进行坐标转换,得到目标在机器人坐标系中的坐标。
9.在本发明较佳的实施例中,上述基于获取的多个机器人坐标系中的坐标生成机器人跟随目标的跟随路径的步骤,包括:通过下述算式生成机器人跟随目标的跟随路径:p1=pr(xr,yr) p(x,y)

ds;其中,p1为跟随路径,pr为机器人的实时路径,坐标为(xr,yr);p为
目标相对于机器人的路径,坐标为(x,y);ds为机器人与目标之间的预设的安全距离。
10.在本发明较佳的实施例中,上述测量机器人与障碍物的距离的方法,包括:通过机器人的障碍物检测传感器测量机器人的外轮廓与障碍物的外轮廓的最短距离,作为机器人与障碍物的距离。
11.在本发明较佳的实施例中,上述角度关系包括:机器人和障碍物最短距离的连线与机器人接触障碍物时x轴的夹角。
12.在本发明较佳的实施例中,上述基于距离和角度关系生成势场函数的步骤,包括:通过下述算式生成势场函数:其中,f
x
、f
y
和f
rz
为各个方向的势场函数;k
x
(d)、k
y
(d)、k
rz
(d)均为预先设定的以d为变量的函数,用于表征各个方向的势场的强弱程度;d为距离;θ为机器人和障碍物连线与机器人接触障碍物时x轴的夹角;d0为预设的机器人到障碍物的避障距离的阈值。
13.在本发明较佳的实施例中,上述基于势场函数生成机器人躲避障碍物的避障路径的步骤,包括:通过下述算式生成避障路径或者,其中,p2为避障路径;表征机器人的外轮廓与障碍物的外轮廓的最短距离的连线。
14.在本发明较佳的实施例中,上述基于跟随路径和避障路径生成机器人的行走路径的步骤,包括:将跟随路径和避障路径叠加,得到机器人的行走路径。
15.在本发明较佳的实施例中,上述控制机器人按照行走路径进行运动的步骤,包括:控制机器人的位置环和速度环,以使机器人按照行走路径进行运动。
16.第二方面,本发明实施例还提供一种机器人运动装置,应用于机器人跟随目标进行运动的场景,场景中包括至少一个障碍物;装置包括:跟随路径生成模块,用于生成机器人跟随目标的跟随路径;障碍物检测模块,用于测量机器人与障碍物的距离和角度关系;避障路径生成模块,用于基于距离和角度关系生成势场函数,基于势场函数生成机器人躲避障碍物的避障路径;行走路径生成模块,用于基于跟随路径和避障路径生成机器人的行走路径;机器人运动模块,用于控制机器人按照行走路径进行运动。
17.第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述的机器人运动方法的步骤。
18.第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述的机器人运动方法的步骤。
19.本发明实施例带来了以下有益效果:
20.本发明实施例提供一种机器人运动方法、装置和电子设备,首先生成机器人跟随
目标的跟随路径,之后测量机器人与障碍物的距离和角度关系,基于测量结果生成机器人躲避障碍物的避障路径,最后基于跟随路径和避障路径生成机器人的行走路径,并控制机器人按照行走路径进行运动。该方式中,可以快速准确地实现机器人的避障功能,避障规划连续清晰,对传感器系统的要求较低,并且不需要地图和定位。
21.本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
22.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
23.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1为本发明实施例提供的一种机器人运动方法的流程图;
25.图2为本发明实施例提供的另一种机器人运动方法的流程图;
26.图3为本发明实施例提供的一种机器人的跟随与避障系统的示意图;
27.图4为本发明实施例提供的一种机器人跟随与避障运动控制原理的示意图;
28.图5为本发明实施例提供的一种机器人障碍物检测与避障的示意图;
29.图6为本发明实施例提供的一种控制原理的示意图;
30.图7为本发明实施例提供的另一种控制原理的示意图;
31.图8为本发明实施例提供的另一种控制原理的示意图;
32.图9为本发明实施例提供的另一种控制原理的示意图;
33.图10为本发明实施例提供的一种机器人运动装置的结构示意图;
34.图11为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
35.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.目前,现有移动机器人的行人跟随功能,其特点是单自由度跟随,行人距离较远,视觉fov(field of view,视场角)较大,一般使用uwb(ultra wide band,超宽带)定位技术。需要测量出障碍物两个边界点,对机器人的传感器系统要求较高,需要为了避障添加中转位置,没有提及避障后如何恢复跟随新的目标位置。因此,现有机器人针对行人跟随时的自动避障方法,具有对传感器系统要求高、需要地图和定位以及避障规划不连续不清晰等缺点。
37.基于此,本发明实施例提供的一种机器人运动方法、装置和电子设备,该技术可以应用于机器人系统中,具体涉及一种服务机器人连续流畅的行人跟随时自动避障的方法。
该技术可采用相应的软件和硬件实现,以下对本发明实施例进行详细介绍。
38.为便于对本实施例进行理解,首先对本发明实施例所公开的一种机器人运动方法进行详细介绍。
39.实施例一:
40.本实施例提供了一种机器人运动方法,应用于机器人跟随目标进行运动的场景,场景中包括至少一个障碍物,参见图1所示的一种机器人运动方法的流程图,该机器人运动方法包括如下步骤:
41.步骤s102,生成机器人跟随目标的跟随路径。
42.本实施例中的机器人可以理解为具有跟随目标功能的设备,例如:各类服务机器人。本实施例的目标可以为人或者物体,本实施例后续均以人为例,此后不再赘述。跟随路径用于机器人跟随目标,可以理解为机器人向目标前进的路径,跟随路径中不考虑该路径中是否设置有障碍物,即不会躲避障碍物,如果机器人沿跟随路径跟随目标,并且跟随路径中设置有障碍物,此时机器人很有可能与障碍物发生碰撞。因此,机器人还需要根据障碍物的位置进行避障运动。
43.步骤s104,测量机器人与障碍物的距离和角度关系。
44.机器人中内置有多种传感器,可以通过内置的传感器感知水平方向的障碍物,并且测量机器人与障碍物的距离和角度关系。其中,上述距离可以理解为机器人的外壳与障碍物的外壳在水平方向的距离,在测量时,上述距离一般在坐标系中以向量的形式表示,因此,可以确定上述向量与坐标系中各个坐标轴的角度,作为机器人与障碍物的角度关系。
45.步骤s106,基于距离和角度关系生成势场函数,基于势场函数生成机器人躲避障碍物的避障路径。
46.基于上述距离和角度关系可以构建势场函数,本实施例中,可以将上述距离和角度关系作为势场函数的输入,避障路径作为势场函数的输出。其中,避障路径可以指机器人为躲避障碍物而调整的路径,即机器人沿避障路径运动就可以躲避障碍物。
47.步骤s108,基于跟随路径和避障路径生成机器人的行走路径。
48.跟随路径可以使机器人跟随目标,避障路径可以使机器人躲避障碍物,基于跟随路径和避障路径生成机器人的行走路径,行走路径既可以使机器人跟随目标,又可以使机器人躲避障碍物。
49.步骤s110,控制机器人按照行走路径进行运动。
50.本实施例中的机器人可以为头部固定机器人或者头部可自由运动机器人。其中,对于头部固定机器人,可以控制机器人底盘运动模块以使机器人按照行走路径进行运动。对于头部可自由运动机器人,可以控制底盘运动和头部运动模块以使机器人按照行走路径进行运动。
51.本发明实施例提供一种机器人运动方法,首先生成机器人跟随目标的跟随路径,之后测量机器人与障碍物的距离和角度关系,基于测量结果生成机器人躲避障碍物的避障路径,最后基于跟随路径和避障路径生成机器人的行走路径,并控制机器人按照行走路径进行运动。该方式中,可以快速准确地实现机器人的避障功能,避障规划连续清晰,对传感器系统的要求较低,并且不需要地图和定位。
52.实施例二:
53.实施例提供了另一种机器人运动方法,该方法在上述实施例的基础上实现;本实施例重点描述生成机器人跟随目标的跟随路径的具体实施方式。参见图2所示的另一种机器人运动方法的流程图,本实施例中的机器人运动方法包括如下步骤:
54.步骤s202,在机器人进行运动的过程中,持续获取目标在机器人坐标系中的坐标。
55.本实施例提供的方案可以用于实现机器人在室内环境中的视觉跟随行人功能,涉及视觉检测技术、路径规划技术、运动控制技术与智能避障技术。参见图3所示的一种机器人的跟随与避障系统的示意图,本实施例的机器人的跟随与避障系统可以至少包括以下模块:视觉检测模块、决策规划模块、障碍物检测模块、智能避障模块、运动合成模块以及运动控制模块。
56.如图3所示,视觉检测模块中包括摄像头组,用于检测行人,然而摄像头组采集到坐标是摄像头坐标系中坐标,而非机器人坐标系中的坐标,因此需要进行坐标转换,例如:在机器人进行运动的过程中,通过机器人的摄像头模组获取目标在摄像头坐标系中的坐标;对摄像头坐标系中的坐标进行坐标转换,得到目标在机器人坐标系中的坐标。
57.摄像头模组检测目标行人,根据行人特征(比如面部、身体高度宽度等)锁定跟随目标,持续计算目标在摄像头坐标系中坐标xyz,其中z表示目标与摄像头的空间距离。这里需要说明的是,摄像头坐标系中z轴是水平方向的,指向正前方;xy平面是摄像头的外表面,通常摄像头是对着前方的,因此xy平面是垂直地面的平面。而机器人坐标系中z轴代表高度,是垂直方向的,而xy平面是平行于地面的平面。
58.确定摄像头坐标系和机器人坐标系的变换关系,即在机器人坐标系中,摄像头坐标系原点的坐标是多少,可以通过设计值确定或者专用标定方法来标定。有了上述坐标系变换关系,就可以实现镜头局部坐标到机器人全局坐标的转换。
59.步骤s204,基于获取的多个机器人坐标系中的坐标生成机器人跟随目标的跟随路径。
60.如图3所示,决策规划模块中可以具有下述3个功能:1)控制行人跟随功能的启动与停止;2)视觉检测模块输出的摄像头坐标系中的坐标xyz转换为机器人坐标系中的坐标xyz;3)根据持续生成的xyz坐标,规划一条平滑跟随路径p1,向目标行人前进。其中,平面运动不考虑z坐标。当机器人可以全向移动,则p1包含坐标x和y。当机器人不能做全向移动,比如差速驱动方式,则p1包含坐标x和rz,旋转坐标rz由xy计算得出。
61.其中,可以通过下述算式生成机器人跟随目标的跟随路径:p1=pr(xr,yr) p(x,y)

ds;其中,p1为跟随路径,pr为机器人的实时路径,坐标为(xr,yr);p为目标相对于机器人的路径,坐标为(x,y);ds为机器人与目标之间的预设的安全距离。
62.目标跟随路径p1的计算方法如下:在决策规划模块中,机器人坐标系中目标行人相对于机器人的路径记为p,p的坐标即上述的xyz。上述路径p是由一系列点组成,每个点都有坐标xyz,本实施例中的路径实际是路径上实时更新的点,不是规则曲线、也不能用确定的函数表示,而是直接用xyz坐标表示。
63.以全向移动机器人为例,不考虑高度,即只考虑xy坐标,忽略z。参见图4所示的一种机器人跟随与避障运动控制原理的示意图,机器人实时路径pr上累积位移记为xryr,机器人运动目标路径记为pd,坐标xdyd,有pd=pr p,即pd(xd,yd)=pr(xr,yr) p(x,y)。根据p的时间序列构建pd的时间序列,xdyd作为机器人运动的设定值输入。对于非全向移动机器
人,上述xy坐标替换为xrz,其中rz=arctan(y/x),同时x坐标更新为考虑机器人与目标行人之间有一个预设的安全距离ds,当实际距离小于ds时,机器人不做跟随,实际距离大于ds时,机器人跟随,因此运动目标值修改为p1=pd

ds=pr(xr,yr) p(x,y)

ds。
64.步骤s206,测量机器人与障碍物的距离和角度关系。
65.如图3所示,障碍物检测模块包括障碍物检测传感器,可以感知水平方向障碍物,并实时测量机器人与障碍物的距离,具体来说,是测量机器人外轮廓与障碍物外轮廓的最短距离,例如:通过机器人的障碍物检测传感器测量机器人的外轮廓与障碍物的外轮廓的最短距离,作为机器人与障碍物的距离。其中,障碍物检测传感器具体可以是:2d激光雷达、多组红外传感器环形布局、多组超声波传感器环形布局、多组线激光雷达环形布局等。
66.步骤s208,基于距离和角度关系生成势场函数,基于势场函数生成机器人躲避障碍物的避障路径。
67.如图3所示,智能避障模块可以用于构建势场函数,其中,角度关系包括:机器人和障碍物的最短距离的连线与机器人接触障碍物时x轴的夹角。例如,输入是障碍物检测模块得到的障碍物距离,以及机器人和障碍物连线与机器人接触障碍物时x轴的夹角,输出是机器人为避障而调整的路径p2。
68.如图4所示,对于全向移动机器人,p2包含坐标x和y。对于非全向移动机器人,p2包含坐标x和rz。特殊的,如果保持x方向位移不受影响,则避障功能可以只调节一个自由度,比如仅调整坐标y或者角度rz。可以通过下述算式生成势场函数:
[0069][0070]
其中,f
x
、f
y
和f
rz
为各个方向的势场函数;k
x
(d)、k
y
(d)、k
rz
(d)均为预先设定的以d为变量的函数,用于表征各个方向的势场的强弱程度;d为距离;θ为机器人和障碍物的最短距离连线与机器人接触障碍物时x轴的夹角;d0为预设的机器人到障碍物的避障距离的阈值。
[0071]
避障路径p2的计算方法如下:首先定义障碍物检测模型。参见图5所示的一种机器人障碍物检测与避障的示意图,机器人的前进方向为x轴,z轴向上,y轴按右手系定义。机器人检测到障碍物,其外轮廓与障碍物外轮廓的最短距离连线记为人检测到障碍物,其外轮廓与障碍物外轮廓的最短距离连线记为的方向由障碍物指向机器人。最短距离是实时变化的,每个时刻传感器检测一次,确定的位置。的长度为d,与x轴夹角记为θ。在x轴的分量rx=d*cosθ,y轴的分量ry=d*sinθ。
[0072]
本实施例的势场函数又称为避障势场函数,避障势场函数定义了机器人与障碍物的实时最短距离对机器人避障路径p2的影响,可以通过下述算式生成避障路径或者,其中,p2为避障路径;表征机器人的外轮廓与障碍物的外轮廓的最短距离的连线。
[0073]
考虑2维避障,即同时对xy或者xrz产应势场作用,则:
[0074][0075][0076]
避障势场函数具体形式,举例如下:
[0077]
f
x
=k
x
(d)
·
(sgn(

cosθ)
·
d
·
cosθ d0), |d
·
cosθ|<d0[0078]
f
y
=k
y
(d)
·
d
·
sinθ,|d
·
cosθ|<d0[0079]
f
rz
=k
rz
(d)
·
sinθ/d,|d
·
cosθ|<d0[0080]
其中,k
x
(d),k
y
(d),k
rz
(d)是以d为变量的函数,表示各方向势场的强弱程度。
[0081]
其中,d0是定义的机器人到障碍物的避障距离的阈值,是个预定义的参数,即实时测量的障碍物距离d大于这个参数d0,则不启动避障功能,正常跟随;如果实时测量的障碍物距离d小于等于这个参数d0,则启动避障功能,用势场函数计算避障路径p2。
[0082]
k
x
(d),k
y
(d),k
rz
(d)是以d为变量的函数,表示各方向势场的强弱程度。这些函数需要实际调试确定数值,通过实测取一些数据,画曲线图生成避障路径,依据该路径相对障碍物的偏离程度,基于较优的避障效果来确定避障路径,进而确定上述3个函数取值。
[0083]
特殊地,考虑1维避障,即仅对y或者rz方向产应势场作用,而不影响x向运动位移。此时只需考虑的长度d,无需测量计算与x轴夹角θ,有:
[0084]
p2=p2(y)=f
y
(d)
[0085]
p2=p2(rz)=f
rz
(d)
[0086][0087]
步骤s210,基于跟随路径和避障路径生成机器人的行走路径。
[0088]
如图4所示,决策规划模块输出目标跟随路径p1,智能避障模块输出避障路径p2,运动合成模块可以将跟随路径p1与避障路径p2二者叠加,输出机器人行走的合成路径p12,例如:将跟随路径和避障路径叠加,得到机器人的行走路径。
[0089]
跟随路径p1和避障路径p2叠加,生成机器人运动目标路径p12=p1 p2,输入运动控制系统,实现机器人跟随行人并且自动避障。
[0090]
本发明实施例提供的上述方法,可以检测障碍物距离,通过势场函数,生成避障路径,再叠加到已有目标路径上,输出合成路径进行运动,实现避障。
[0091]
该方式中,当发现障碍物时,避障路径自动生成,叠加到跟随路径上,改变原有跟随路径,距离越近偏移越多,实现绕着障碍物行走;当绕过障碍物并远离障碍物时,避障偏移会自动减小,直到消失,机器人回到正常跟随路径上,继续跟随目标人体。因此,不需要测量出障碍物整体边界点,只需要测量局部范围,找出该范围内最短距离即可。
[0092]
相应地,本实施例中的传感器只需测量障碍物距离机器人的大致距离,精度和范围要求并不高。不需要地图和定位功能,只靠传感器实现避障和越障,实时跟随目标路径,
避障后自动回到最新的目标路径上。
[0093]
步骤s212,控制机器人按照行走路径进行运动。
[0094]
如图3所示,运动控制模块可以控制控制机器人按照行走路径进行运动,例如:控制机器人的位置环和速度环,以使机器人按照行走路径进行运动。
[0095]
运动控制模块可以接收位置设定值和反馈值,通过pid(proportion integration differentiation,比例微分积分)控制器控制机器人沿设定的行走路径运动。对于头部固定机器人,本运动控制模块指机器人底盘运动模块。对于头部可自由运动机器人,本运动控制模块包括底盘运动和头部运动模块。
[0096]
运动控制系统对于底盘来说可以包括两个环路控制:底盘车身的位置环和车轮驱动的速度环。车身位置环设定值即p12,反馈值来自于位置测量传感器。车轮速度环设定值来自位置环中控制器输出,反馈值来自于电机编码器。
[0097]
如图4所示,运动控制系统结构上分为3部分:位置环控制器、驱动模块和传感器位置反馈模块。位置环控制器包括轴控制器和运动学分解模块。轴控制器做环路增益调节,常用pid控制器实现。运动学分解负责将车身速度分解为车轮速度,不同的驱动方式有不同的运动学模型。驱动模块指车轮速度环控制器,每个车轮对应1个驱动模块。传感器位置反馈模块包含传感器信号采集和运动学合成两部分。对于底盘,传感器是车轮电机编码器和车身上的惯导元件,对于头部是电机编码器。运动学合成,将传感器原始信号经过计算和融合得到车身位置和姿态,用于位置环路计算。
[0098]
一般地,服务机器人底盘做平面运动,车身具有3自由度。对于双轮差速驱动结构,车身控制自由度降至2个。机器人头部自由度,可以是0个(无自由度)、1个自由度(左右旋转)、2个自由度(左右旋转 俯仰旋转)。对于底盘和头部的任意组合,通过采用上述控制方法,均可实现视觉跟随功能,同时做到主动避障。其中,底盘:全向驱动结构、双轮差速结构;头部:0个(无自由度)、1个自由度(左右旋转)、2个自由度(左右旋转 俯仰旋转),以下分为不同的示例进行分析。
[0099]
示例1:头部无自由度 全向驱动结构。
[0100]
参见图6所示的一种控制原理的示意图,机器人底盘与头部之间固定,不能做相对运动,底盘是全向驱动结构,比如3轮全向轮或者4轮麦克纳姆轮,其运动采用混合模式——跟随路径和避障路径叠加方式。模块1视觉检测行人xyz,模块21将xyz转换到机器人坐标系中坐标xyz。平面运动只考虑xy。模块22输出跟随路径p1,包含xy两个自由度。避障方面,模块3检测前方障碍物,实时计算机器人与障碍物的最短距离连线。模块4采用2维避障,依据避障势场函数计算避障路径p2,包含xy两个自由度。
[0101]
模块5合成器中,跟随路径p1的x设定值和避障路径p2的x设定值做叠加计算,p1的y设定值和p2的y设定值也做叠加计算,跟设定值x可以采用相同的处理方式,不管避障功能启动与否,跟随方向的x和y设定值都生效工作。
[0102]
模块6运动控制,有x轴和y轴两个位置环路,对x和y向运动轨迹做闭环控制。611和612分别为x轴和y轴控制器,可用pid控制器实现。613做运动学分解,将车身速度分解为车轮速度。常见的全向驱动结构,包括3轮全向轮结构和4轮麦克娜姆轮结构,其分解公式为行业公知,此处不赘述。621~624为4个麦克纳姆轮的驱动模块,采用速度环控制模式。631传感器信号采集,包括驱动电机编码器和车身上的惯导元件。632运动学合成,根据电机编码
器值计算出车身位置和姿态,再与惯导元件进行数据融合,得到更稳定的车身位置和姿态。模块7是机器人本体。
[0103]
示例2:头部无自由度 双轮差速结构。
[0104]
参见图7所示的另一种控制原理的示意图,机器人底盘与头部之间固定,不能做相对运动,底盘是双轮差速结构,其运动采用混合模式——跟随路径和避障路径叠加方式。
[0105]
模块1视觉检测行人xyz,模块21将xyz转换到机器人坐标系中坐标xyz。平面运动只考虑xy。模块22输出跟随路径p1,包含xrz两个自由度,rz由xy计算得出,rz=arctan(y/x),同时x坐标更新为避障方面,模块3检测前方障碍物,实时计算机器人与障碍物的最短距离连线。模块4采用2维避障,依据避障势场函数计算避障路径p2,包含xrz两个自由度。
[0106]
模块5合成器中,跟随路径p1的x设定值和避障路径p2的x设定值做叠加计算,p1的rz设定值和p2的rz设定值也做叠加计算,跟设定值x采用相同的处理方式,不管避障功能启动与否,跟随方向的x和rz设定值都生效工作。
[0107]
模块6运动控制,有x轴和rz轴两个位置环路,对x和rz向运动轨迹做闭环控制。611和612分别为x轴和rz轴控制器,可用pid控制器实现。613做运动学分解,将车身速度分解为车轮速度。双轮差速驱动结构,其分解公式为行业公知,此处不赘述。621~624为4个麦克纳姆轮的驱动模块,采用速度环控制模式。631传感器信号采集,包括驱动电机编码器和车身上的惯导元件。632运动学合成,根据电机编码器值计算出车身位置和姿态,再与惯导元件进行数据融合,得到更稳定的车身位置和姿态。
[0108]
示例3:头部1个左右旋转自由度 双轮差速结构。
[0109]
参见图8所示的另一种控制原理的示意图,机器人底盘与头部之间有1个自由度,头部可左右旋转,底盘是双轮差速结构,其运动采用混合模式——跟随路径和避障路径叠加方式。
[0110]
头部做rz旋转运动,是1自由度位置闭环控制。模块1视觉检测行人xyz,模块21将xyz转换到机器人坐标系中坐标xyz。平面运动只考虑xy。模块22输出跟随路径p1,包含xrz两个自由度,rz由xy计算得出,rz=arctan(y/x),同时x坐标更新为rz是目标跟随值,即头部环路设定值。头部环路包括:模块81rz轴控制器,模块82驱动模块,模块83rz电机角度反馈。模块9是机器人头部。
[0111]
底盘方面,其控制方法与示例二类似,区别在于:1)模块5合成器之前,rz设定值是跟随路径p1的rz设定值和避障路径p2的rz设定值之和;2)合成器中,与示例1和2类似,x和rz都做叠加计算,采用相同的处理方式,输出新的x和rz,作为x轴和rz轴的环路设定值。
[0112]
本示例中,机器人头部可实时对着行人做跟随运动。底盘运动,当无障碍物时,会实时调整rz角度,对着行人做跟随运动;当遇到障碍物时,会自动调整rz角度进行避障,同时保持头部对着行人,做跟随运动,障碍物越过后,会自动恢复到原rz角度(大多数时是0),继续跟随运动。
[0113]
示例4:头部1个左右旋转 1个上下旋转 双轮差速结构。
[0114]
参见图9所示的另一种控制原理的示意图,机器人底盘与头部之间有2个自由度,头部可左右旋转和上下旋转,底盘是双轮差速结构,其运动采用混合模式——跟随路径和
避障路径叠加方式。
[0115]
头部做ry和rz旋转运动,是2自由度位置闭环控制。模块1视觉检测行人xyz,模块21将xyz转换到机器人坐标系中坐标xyz。本示例中考虑3维运动。模块22输出跟随路径p1,包含xryrz两个自由度,ry由xz计算得出,ry=arctan(x/z);rz由xy计算得出,rz=arctan(y/x),同时x坐标更新为ry和rz是目标跟随值,即头部环路设定值。头部环路包括:模块81rz轴控制器,模块82驱动模块,模块83rz电机角度反馈,模块84ry轴控制器,模块85驱动模块,模块86ry电机角度反馈。模块9是机器人头部。
[0116]
底盘方面,其控制方法与示例3类似。本示例中,机器人头部可实时对着行人做跟随运动,包括左右和上下调整角度。底盘运动,当无障碍物时,会实时调整rz角度,对着行人做跟随运动;当遇到障碍物时,会自动调整rz角度进行避障,同时保持头部对着行人,做跟随运动,障碍物越过后,会自动恢复到原rz角度(大多数时候是0),继续跟随运动。
[0117]
实施例三:
[0118]
对应于上述方法实施例,本发明实施例提供了一种机器人运动装置,应用于机器人跟随目标进行运动的场景,场景中包括至少一个障碍物。参见图10所示的一种机器人运动装置的结构示意图,该机器人运动装置包括:
[0119]
跟随路径生成模块1001,用于生成机器人跟随目标的跟随路径;
[0120]
障碍物检测模块1002,用于测量机器人与障碍物的距离和角度关系;
[0121]
避障路径生成模块1003,用于基于距离和角度关系生成势场函数,基于势场函数生成机器人躲避障碍物的避障路径;
[0122]
行走路径生成模块1004,用于基于跟随路径和避障路径生成机器人的行走路径;
[0123]
机器人运动模块1005,用于控制机器人按照行走路径进行运动。
[0124]
本发明实施例提供一种机器人运动装置,首先生成机器人跟随目标的跟随路径,之后测量机器人与障碍物的距离和角度关系,基于测量结果生成机器人躲避障碍物的避障路径,最后基于跟随路径和避障路径生成机器人的行走路径,并控制机器人按照行走路径进行运动。该方式中,可以快速准确地实现机器人的避障功能,避障规划连续清晰,对传感器系统的要求较低,并且不需要地图和定位。
[0125]
上述跟随路径生成模块,用于在机器人进行运动的过程中,持续获取目标在机器人坐标系中的坐标;基于获取的多个机器人坐标系中的坐标生成机器人跟随目标的跟随路径。
[0126]
上述跟随路径生成模块,用于在机器人进行运动的过程中,通过机器人的摄像头模组获取目标在摄像头坐标系中的坐标;对摄像头坐标系中的坐标进行坐标转换,得到目标在机器人坐标系中的坐标。
[0127]
上述跟随路径生成模块,用于通过下述算式生成机器人跟随目标的跟随路径:p1=pr(xr,yr) p(x,y)

ds;其中,p1为跟随路径,pr为机器人的实时路径,坐标为(xr,yr);p为目标相对于机器人的路径,坐标为(x,y);ds为机器人与目标之间的预设的安全距离。
[0128]
上述障碍物检测模块,用于通过机器人的障碍物检测传感器测量机器人的外轮廓与障碍物的外轮廓的最短距离,作为机器人与障碍物的距离。
[0129]
上述角度关系包括:机器人和障碍物的最短距离连线与机器人接触障碍物时x轴的夹角。
[0130]
上述避障路径生成模块,用于通过下述算式生成势场函数:
[0131][0132]
其中,f
x
、f
y
和f
rz
为各个方向的势场函数;k
x
(d)、k
y
(d)、k
rz
(d)均为预先设定的以d为变量的函数,用于表征各个方向的势场的强弱程度;d为距离;θ为机器人和障碍物连线与机器人接触障碍物时x轴的夹角;d0为预设的机器人到障碍物的避障距离的阈值。
[0133]
上述避障路径生成模块,用于通过下述算式生成避障路径上述避障路径生成模块,用于通过下述算式生成避障路径或者,其中,p2为避障路径;表征机器人的外轮廓与障碍物的外轮廓的最短距离的连线。
[0134]
上述行走路径生成模块,用于将跟随路径和避障路径叠加,得到机器人的行走路径。
[0135]
上述机器人运动模块,用于控制机器人的位置环和速度环,以使机器人按照行走路径进行运动。
[0136]
本发明实施例所提供的机器人运动装置,其实现原理及产生的技术效果和前述机器人运动方法实施例相同,为简要描述,机器人运动装置实施例部分未提及之处,可参考前述机器人运动方法实施例中相应内容。
[0137]
本发明实施例还提供了一种电子设备,用于运行上述机器人运动方法;参见图11所示的一种电子设备的结构示意图,该电子设备包括存储器100和处理器101,其中,存储器100用于存储一条或多条计算机指令,一条或多条计算机指令被处理器101执行,以实现上述机器人运动方法。
[0138]
进一步地,图11所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
[0139]
其中,存储器100可能包含高速随机存取存储器(ram,random access memory),也可能还包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0140]
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field

programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理
器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
[0141]
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述机器人运动方法,具体实现可参见方法实施例,在此不再赘述。
[0142]
本发明实施例所提供的机器人运动方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
[0143]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和/或装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0144]
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0145]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0146]
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0147]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜