一种机器人智能控制方法与流程

文档序号:33621006发布日期:2023-03-25 11:48阅读:71来源:国知局
一种机器人智能控制方法与流程

1.本发明属于机器人技术领域,尤其涉及一种机器人智能控制方法。


背景技术:

2.为了灵活教学和演示,教育型机器人通常会采用部分运动模块可更换的机体结构。但运动模块更换后,机器人的控制输入有可能发生改变,之前的整机控制算法也就不再适用,需要建立新的控制模型,重新开发算法。这无疑会增加工作量,尤其是当机器人存在多种可更换的运动模块时,极为耗时耗力。


技术实现要素:

3.本发明实施例的目的在于提供一种机器人智能控制方法,旨在解决背景技术中提出的问题。
4.为实现上述目的,本发明实施例提供如下技术方案:一种机器人智能控制方法,所述方法具体包括以下步骤:在机器人a型状态下利用强化学习训练控制算法模型;基于所述控制算法模型,驱动机器人在任务场景运行,通过内态基准模块记录a型基准数据集;更换机器人运动模块,将机器人切换至b型状态,使用随机控制算法,随机控制b型状态机器人运动,通过内态基准模块记录b型采样数据集,综合所述a型基准数据集,处理得到动作空间转换基准数据集;基于所述动作空间转换基准数据集,建立并训练动作空间转换模型;利用所述控制算法模型和所述动作空间转换模型,在机器人b型状态下,控制机器人完成寻径任务。
5.作为本发明实施例技术方案进一步的限定,所述在机器人a型状态下利用强化学习训练控制算法模型具体包括以下步骤:确定机器人a型状态下的动作空间和状态空间;针对当前的寻径任务,确定机器人在强化学习时的奖励函数;使用所述动作空间、所述状态空间和所述奖励函数,利用强化学习算法,训练控制算法模型。
6.作为本发明实施例技术方案进一步的限定,所述动作空间为机器人执行的所有控制输入的集合;所述状态空间为机器人在当前环境下的状态集合。
7.作为本发明实施例技术方案进一步的限定,所述强化学习算法为ddpg,由actor网络、估计critic网络、目标actor网络和目标critic网络四个网络构成。
8.作为本发明实施例技术方案进一步的限定,所述基于所述控制算法模型,驱动机器人在任务场景运行,通过内态基准模块记录a型基准数据集具体包括以下步骤:将所述控制算法模型载入机器人控制模块;
在寻径任务的场景中,将a型状态机器人随机放置于不同的初始位置,随机朝向;通过内态基准模块记录机器人在运行过程中的内部状态和动作数据,得到a型基准数据集。
9.作为本发明实施例技术方案进一步的限定,所述更换机器人运动模块,将机器人切换至b型状态,使用随机控制算法,随机控制b型状态机器人运动,通过内态基准模块记录b型采样数据集,综合所述a型基准数据集,处理得到动作空间转换基准数据集具体包括以下步骤:更换机器人运动模块,将机器人切换至b型状态;使用随机控制算法,随机控制b型状态机器人运动,通过内态基准模块记录下每一个采样时刻的内部状态和动作数据,记为b型采样数据集;以a型基准数据集为参考,从b型采样数据集转化得到b型插值数据集;将a型基准数据集和b型插值数据集组合得到动作空间转换基准数据集。
10.作为本发明实施例技术方案进一步的限定,所述基于所述动作空间转换基准数据集,建立并训练动作空间转换模型具体包括以下步骤:建立动作空间转换ann网络模型;使用所述动作空间转换基准数据集作为输入训练数据,在所述动作空间转换ann网络模型中训练,得到动作空间转换模型。
11.作为本发明实施例技术方案进一步的限定,所述利用所述控制算法模型和所述动作空间转换模型,在机器人b型状态下,控制机器人完成寻径任务具体包括以下步骤:通过内态基准模块和外态交互模块获取b型状态机器人的状态数据;将所述状态数据输入至所述控制算法模型中,输出第一动作量;将所述第一动作量输入至所述动作空间转换模型中,输出第二动作量;以所述第二动作量控制b型运动模块运动,完成寻径任务。
12.作为本发明实施例技术方案进一步的限定,所述状态数据包括线速度、角速度、终点方位和最近障碍物方位。
13.与现有技术相比,本发明的有益效果是:本发明有效提高了更换模块情形下的开发效率,而且当存在多个可更换的运动模块时,效率提升尤为显著。相比于原来每更换一种运动模块就要重新设计强化学习模型进行训练,本发明方法只需进行一次强化学习训练获得任务的控制策略,然后以内态基准模块为桥梁,使用动态空间转换方法使控制算法能够适应新的运动模块。而且在训练动态空间转换模型时,获得数据集不再依赖于任务场景,数据随机采集更为便捷。此外,动态空间转换模型可以采用小型ann模型,相比于总的强化学习框架也更为轻量,训练更快,在更换运动模块后,获取相应控制算法所需要进行的工作也更少。
附图说明
14.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
15.图1示出了本发明实施例提供的机器人模块结构示意图。
16.图2示出了本发明实施例提供的寻径任务场景示意图。
17.图3示出了本发明实施例提供的机器人状态示意图。
18.图4示出了本发明实施例提供的动作空间转换ann网络模型示意。
具体实施方式
19.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
20.可以理解的是,现有的教育型机器人为了灵活教学和演示,通常会采用部分运动模块可更换的机体结构。但运动模块更换后,机器人的控制输入有可能发生改变,之前的整机控制算法也就不再适用,需要建立新的控制模型,重新开发算法。这无疑会增加工作量,尤其是当机器人存在多种可更换的运动模块时,极为耗时耗力。
21.为解决上述问题,本发明实施例通过在机器人a型状态下利用强化学习训练控制算法模型;驱动机器人在任务场景运行,通过内态基准模块记录a型基准数据集;更换机器人运动模块,切换至机器人b型状态,使用随机控制算法,随机控制b型状态机器人运动,处理得到动作空间转换基准数据集;基于动作空间转换基准数据集,建立并训练动作空间转换模型;利用控制算法模型和动作空间转换模型,在机器人b型状态下,控制机器人完成寻径任务。能够在运动模块更换时,不再重新开发整机控制算法,而只是将动作空间进行转换,以使新的运动模块适应当前机器人任务,并且动作空间转换过程以学习方式智能完成,大幅提高开发效率。
22.具体的,在本发明提供的一个优选实施方式中,一种机器人智能控制方法,所述方法具体包括以下步骤:步骤一、在机器人a型状态下利用强化学习训练控制算法模型。
23.在本发明实施例中,在机器人a型状态下利用强化学习训练控制算法模型的具体实施如下:机器人的动作空间表示机器人可执行的所有控制输入的集合,a型运动模块有三个控制输入量,两个电机(控制驱动轮转动)和一个舵机(控制从动轮朝向),均采用脉冲宽度调制(pwm)方式来控制,即动作空间包括三个变量,动作空间a={p1,p2,p3}, p1,p2,p3依次表示两个电机的pwm脉宽值和舵机的脉宽值,每个变量的取值区间为[0,1],如图1示出了本发明实施例提供的机器人模块结构示意图。
[0024]
机器人的状态空间表示机器人在当前环境下的所有可能状态的集合,针对寻径任务,选取机器人线速度、机器人角速度、终点方位、最近障碍物方位4个状态来构成状态空间。其中,机器人线速度、角速度通过内态基准模块获取,终点方位、最近障碍物方位通过外态交互模块获取,如图2示出了本发明实施例提供的寻径任务场景示意图。
[0025]
具体获取状态时,可以采用光电速度传感器、陀螺仪、激光雷达、超声波传感器等多种方式。比如,内态基准模块上可以安装光电速度传感器和陀螺仪,直接获取机器人的线速度和角速度;外态交互模块上可以安装激光雷达和信息处理模块,实时获取周围环境点云数据,识别障碍物和终点,计算终点、最近障碍物方位。图3为机器人状态的示意图,如图3示出了本发明实施例提供的机器人状态示意图,所采用的坐标系为外态交互模块上传感器
(激光雷达)的坐标系,设定沿机器人前进方向为x轴,俯视状态下x轴逆时针旋转90度为y轴,状态空间可以表示为s={v,w,xd,yd,xh,yh}。
[0026]
不同的任务需要设计不同的奖励函数,针对当前寻径任务,本实施例设计的奖励函数为:r
t
=k1r
da
+k2r
dd
+k3r
ha
+k4r
hdrda = [(x
dt+1
/sqrt((x
dt+1
)2+(y
dt+1
)2))
‑ꢀ
(x
dt
/sqrt((x
dt
)2+(y
dt
)2))]/2r
dd = arctan(sqrt((x
dt
)2+(y
dt
)2)/sqrt((x
dt+1
)2+(y
dt+1
)2)-1)/(pi/2)r
ha =
ꢀ‑
[(x
ht+1
/sqrt((x
ht+1
)2+(y
ht+1
)2))
‑ꢀ
(x
ht
/sqrt((x
ht
)2+(y
ht
)2))]/2r
hd = arctan(sqrt((x
ht+1
)2+(y
ht+1
)2)/sqrt((x
ht
)2+(y
ht
)2)-1)/(pi/2)其中,r
da
是终点方位角度奖励,r
dd
是终点方位距离奖励,r
ha
是最近障碍物角度奖励,r
hd
是最近障碍物距离奖励,k1,k2,k3,k4为每种奖励的权重系数。公式中下标t表示采样时刻,比如(x
dt
,y
dt
)表示t采样时刻终点方位,(x
dt+1
,y
dt+1
)表示t+1采样时刻终点方位。
[0027]
终点方位角度奖励r
da
表示了在t采样时刻执行控制动作后,机器人运动方向与终点方向夹角的变化所对应的奖励,奖励值域范围[-1,1]。机器人运动方向趋向终点方向,奖励为正值;机器人运动方向远离终点方向,奖励为负值。其中,x
dt
/sqrt((x
dt
)2+(y
dt
)2)是t采样时刻机器人运动方向与终点方向夹角的余弦值;x
dt+1
/sqrt((x
dt+1
)2+(y
dt+1
)2)是t采样时刻执行控制动作后,于t+1采样时刻得到的机器人运动方向与终点方向夹角的余弦值。
[0028]
终点方位距离奖励r
dd
表示了在t采样时刻执行控制动作后,机器人与终点距离的变化所对应的奖励,奖励值域范围[-0.5,1)。机器人距离终点越来越近,奖励为正值;机器人距离终点越来越远,奖励为负值。其中sqrt((x
dt
)2+(y
dt
)2)是t采样时刻机器人与终点距离,sqrt((x
dt+1
)2+(y
dt+1
)2)是t采样时刻执行控制动作后,于t+1采样时刻得到的机器人与终点距离,两者之间的比值即反映了机器人与终点距离的变化,比值小于1,说明机器人与终点越来越近,比值大于1,说明机器人与终点越来越远。利用arctan反正切运算将奖励值约束到[-0.5,1)区间,以使终点方位角度奖励r
da
和终点方位距离奖励r
dd
处于同一尺度量级,在均衡奖励的同时,也便于加权处理。
[0029]
最近障碍物角度奖励r
ha
表示了在t采样时刻执行控制动作后,机器人运动方向与最近障碍物方向夹角的变化所对应的奖励,奖励值域范围[-1,1]。机器人运动方向远离最近障碍物方向,奖励为正值;机器人运动方向趋向最近障碍物方向,奖励为负值。
[0030]
最近障碍物距离奖励r
hd
表示了在t采样时刻执行控制动作后,机器人与最近障碍物距离的变化所对应的奖励,奖励值域范围[-0.5,1)。机器人距离最近障碍物越来越远,奖励为正值;机器人距离最近障碍物越来越近,奖励为负值。
[0031]
当x
d = 0,y
d = 0时,即机器人到达终点时,r
da = 1,r
dd = 1;当x
h = 0,y
h = 0时,即机器人与障碍物碰撞时,r
ha =
ꢀ‑
1,r
hd =
ꢀ‑
0.5。
[0032]
在本实施例中,为了强化终点对机器人动作选择的影响(即为了到达终点可以适当靠近障碍物),取k1=2,k2=2,k3=1,k4=1。
[0033]
采用ddpg(deep deterministic policy gradient)强化学习方法进行训练。ddpg 是一种适用于连续动作空间任务的基于演员-评论家(actor-critic)的强化学习算法,本实施例中的机器人动作空间的控制输入量(pwm脉宽值)也均为连续型变量。ddpg由估计actor网络、估计critic网络、目标actor网络和目标critic网络四个网络构成,训练最终得
到满足任务要求的估计actor网络作为机器人实际运行时的控制算法模型。训练得到的控制算法网络模型记为bestactor,训练过程的采样间隔记为t(每隔t时长对机器人进行一次状态采集和动作控制)。bestactor控制算法模型输入为当前采样时刻状态s
t = {v
t
,w
t
,x
dt
,y
dt
,x
ht
,y
ht
},输出为当前采样时刻将要去执行的动作a
t
={p1
t
,p2
t
,p3
t
}。
[0034]
步骤二、基于所述控制算法模型,驱动机器人在任务场景运行,通过内态基准模块记录a型基准数据集。
[0035]
在本发明实施例中,基于所述控制算法模型,驱动机器人在任务场景运行,通过内态基准模块记录a型基准数据集的具体实施如下:将bestactor控制算法模型载入机器人控制模块,然后在寻径任务场景中,将a型状态机器人随机放置于不同的初始位置,随机朝向,让机器人在控制算法引导下自行完成寻径任务,控制时的采样间隔依旧为t。通过内态基准模块记录机器人在运行过程中的内部状态和动作数据,即记录下,每一个采样时刻t时的内部状态s
a-int = {v
at
,w
at
},动作a
at
={p1
at
,p2
at
,p3
at
},记为a型基准数据集。
[0036]
步骤三、更换机器人运动模块,将机器人切换至b型状态,使用随机控制算法,随机控制b型状态机器人运动,通过内态基准模块记录b型采样数据集,综合所述a型基准数据集,处理得到动作空间转换基准数据集。
[0037]
在本发明实施例中,更换机器人运动模块,将机器人切换至b型状态,使用随机控制算法,随机控制b型状态机器人运动,通过内态基准模块记录b型采样数据集,综合所述a型基准数据集,处理得到动作空间转换基准数据集的具体实施如下:将a型状态机器人的a型运动模块拆下,更换为b型运动模块,然后以随机控制的方式操作b型机器人随机运动,进行内部状态和动作数据采样。
[0038]
内态基准模块获取b型机器人的8个控制输入量和2个内部状态。内部状态和a型机器人一致,为线速度和角速度。b型运动模块有8个控制输入量,4个电机(控制驱动轮转动)和4个舵机(控制驱动轮朝向),均采用脉冲宽度调制(pwm)方式来控制,即动作空间包括8个变量,动作空间a={p1,p2,p3,p4,p5,p6,p7,p8},依次表示4个电机的pwm脉宽值和4个舵机的pwm脉宽值,每个变量的取值区间为[0,1]。即,对b型机器人而言,每一采样时刻,需要记录内部状态s
b-int = {v
bt
,w
bt
},动作a
bt
={ p1
bt
,p2
bt
,p3
bt
,p4
bt
,p5
bt
,p6
bt
,p7
bt
,p8
bt },记为b型采样数据集。
[0039]
对b型采样数据集进行重组,格式转化为插值预备格式,即:data1={v
bt
,w
bt
,v
bt+1
,w
bt+1
,p1
bt
},data2={v
bt
,w
bt
,v
bt+1
,w
bt+1
,p2
bt
},data3={v
bt
,w
bt
,v
bt+1
,w
bt+1
,p3
bt
},data4={v
bt
,w
bt
,v
bt+1
,w
bt+1
,p4
bt
},data5={v
bt
,w
bt
,v
bt+1
,w
bt+1
,p5
bt
},data6={v
bt
,w
bt
,v
bt+1
,w
bt+1
,p6
bt
},data7={v
bt
,w
bt
,v
bt+1
,w
bt+1
,p7
bt
},data8={v
bt
,w
bt
,v
bt+1
,w
bt+1
,p8
bt
},即以动作空间维度组成多组数据,每组的格式都为{t采样时刻内部状态,t+1采样时刻内部状态,t采样时刻当前维度动作},所表达的含义为机器人在t采样时刻内部状态下,执行对应维度动作,得到t+1采样时刻内部状态。
[0040]
b型采样数据集在插值预备格式下,共有8组数据,每组对应动作空间一个维度,每组数据则由多项数据组成,来自于b型采样数据对不同t-》t+1时刻的记录。然后将a型基准数据集进行格式转化,得到多组{v
at
,w
at
,v
at+1
,w
at+1
,p1
at
,p2
at
,p3
at
}。对于8组b型插值预备格式数据集的每一组,使用多维插值方法进行插值,插值出前4个数值等于(v
at
,w
at
,v
at+1
,wat+1
)情况下的第5个数值,多维插值方法可以是线性插值、b样条插值、临近插值、径向基插值等。对data1组数据而言,就是基于data1中的所有数据,插值出点(v
at
,w
at
,v
at+1
,w
at+1
,p1
it
),其中v
at
,w
at
,v
at+1
,w
at+1
为来自a型基准数据集的已知量,p1
it
为待插值量,可以理解为,在b型采样数据集中,插值出当t采样时刻和t+1采样时刻状态等于a型基准数据v
at
,w
at
,v
at+1
,w
at+1
时的动作p1
it
。完成8组b型插值预备格式数据的插值后,对于v
at
,w
at
,v
at+1
,w
at+1
,将得到8个插值结果p1
it
,p2
it
,p3
it
,p4
it
,p5
it
,p6
it
,p7
it
,p8
it
。综合a型基准数据集,整理后,得到:{v
at
,w
at
,v
at+1
,w
at+1
,p1
at
,p2
at
,p3
at
,p1
it
,p2
it
,p3
it
,p4
it
,p5
it
,p6
it
,p7
it
,p8
it
},记为动作空间转换基准数据集。
[0041]
可以理解为,机器人要从t采样时刻的v
at
,w
at
内部状态达到t+1采样时刻的v
at+1
,w
at+1
内部状态,对于a型运动模块的动作空间而言,需要执行p1
at
, p2
at
, p3
at
,对于b型运动模块的动作空间而言,需要执行p1
it
, p2
it
, p3
it
, p4
it
, p5
it
, p6
it
, p7
it
, p8
it
。利用这种对等关系,我们可以建立a型运动模块和b型运动模块之间的动作空间转换模型。
[0042]
步骤四、基于所述动作空间转换基准数据集,建立并训练动作空间转换模型。
[0043]
在本发明实施例中,基于所述动作空间转换基准数据集,建立并训练动作空间转换模型的具体实施如下:建立动作空间转换ann(artificial neural network)网络模型,输入层与a型机器人动作空间维度相同,输出层与b型机器人动作空间维度相同,基于动作空间转换基准数据集进行模型训练。如图4示出了本发明实施例提供的动作空间转换ann网络模型示意,输入层3个神经元,分别输入a型机器人的3种控制动作(2个电机,1个舵机),输出层8个神经元,分别输出b型机器人的8种控制动作(4个电机,4个舵机)。隐含层包括4个全连接层,每层神经元个数分别为400、300、200、40,均使用sigmoid作为激活函数。使用动作空间转换基准数据集{v
at
,w
at
,v
at+1
,w
at+1
,p1
at
,p2
at
,p3
at
,p1
it
,p2
it
,p3
it
,p4
it
,p5
it
,p6
it
,p7
it
,p8
it
}中的 p1
at ,p2
at ,p3
at
作为输入训练数据,p1
it
,p2
it
,p3
it
,p4
it
,p5
it
,p6
it
,p7
it
,p8
it
作为输出训练数据进行训练,得到a型机器人到b型机器人的动作空间转换模型,记为actiontransnet。
[0044]
步骤五、利用所述控制算法模型和所述动作空间转换模型,在机器人b型状态下,控制机器人完成寻径任务。
[0045]
在本发明实施例中,基于所述动作空间转换基准数据集,建立并训练动作空间转换模型的具体实施如下:b型机器人在执行寻径任务时,以t为采样间隔获取状态并控制机器人运动。对于任一采样时刻t而言,首先通过内态基准模块和外态交互模块获取当前状态,包括机器人线速度、角速度、终点方位和最近障碍物方位s
t = {v
t
,w
t
,x
dt
,y
dt
,x
ht
,y
ht
},然后将s
t
输入控制算法模型bestactor,输出第一动作量a
at
={p1
at
,p2
at
,p3
at
},然后将第一动作量再输入动作空间转换模型actiontransnet,输出第二动作量a
bt
={p1
bt
,p2
bt
,p3
bt
,p4
bt
,p5
bt
,p6
bt
,p7
bt
,p8
bt
},以第二动作量a
bt
控制b型运动模块运动,完成寻径任务。
[0046]
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不
必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0047]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0048]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0049]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
[0050]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1