一种空间机器人机械臂的控制方法
技术领域
本发明属于航空航天
技术领域
,尤其涉及一种空间机器人机械臂的控制方法。背景技术
对于空间机器人来说,轨迹规划是最为常见的执行任务,因而对其的研究十分广泛。空间机械臂的广义雅可比矩阵(GJM),可以在不影响机器人基本姿态的情况下实现机器人手臂的轨迹规划。然而,GJM在某些情况下可能存在奇异点,这将限制GJM逆方法进行运动学规划的可行空间。由于空间机器人在进行路径规划时,在路径中存在动态奇异点的位置,该位置处无法实现有限的关节速度,因此会造成规划路径的长度增大。所以传统的空间机器人轨迹规划方案主要解决的是求解中存在的奇异解问题。近些年来也有一些利用智能优化的方法来解决空间机器人动态奇异问题。如Wu等人是用DDPG算法实现了对双臂空间机器人的单目标点的轨迹规划任务,参见Wu,Yun-Hua,et al.Reinforcement learningindual-arm trajectory planning for a free-floating space robot[J].AerospaceScience andTechnology,2020,98:105657。
然而对于目标的位姿获取仍然需要单独设计控制器实现,这样的基于模型且模块化的设计,存在一定的缺点。首先,有限的建模细节限制了模型的精度,建模误差和约束条件会降低控制效果。其次,模块化控制器的设计是非常费力的,需要手动调整每个模块的控制参数。因此对于自由漂浮空间机器人控制,采用端到端的无模型强化学习,即直接从原始的图像像素中学习控制器,可以很好的解决传统方法中存在的奇异解及建模误差问题,并将感知与决策统一到一个方法,以避免模块化的控制器设计。
发明内容
本发明的目的是提出一种空间机器人机械臂的控制方法,对已有的自由漂浮空间机器人控制方法进行改进,以实现空间机器人抓捕太空垃圾和失效卫星的目的。
本发明提出的空间机器人机械臂的控制方法,首先获取空间机器人基座相机采集的图像,设定用于机械臂控制过程中的奖励函数;构建机械臂控制策略网络、状态动作价值网络和状态价值网络,通过向控制策略网络输入图像,输出动作信息控制机械臂,并多次交互积累交互信息对形成经验池;根据最大熵强化学习构建各个网络训练所需的目标函数,利用经验池中的交互信息对实用梯度下降算法对各个网络参数进行训练,得到训练后的机械臂控制策略网络,输入图像信息,输出动作信息控制机械臂。
本发明提出的一种空间机器人机械臂的控制方法,其特点和优点是:
本发明的一种空间机器人机械臂的控制方法,采用端到端的无模型强化学习,即直接从原始的图像像素中学习控制器,可以很好的解决传统方法中存在的奇异解及建模误差问题,并将感知与决策统一到一个方法,避免了模块化的控制器设计。端到端的无模型强化学习可以很好的解决传统方法中存在的奇异解及建模误差问题,并将感知与决策统一到一个方法,避免了模块化的控制器设计过程中人工调整参数的问题。
附图说明
图1是本发明提出的空间机器人机械臂的控制方法的流程框图。
具体实施方式
本发明提出的空间机器人机械臂的控制方法,首先获取空间机器人基座相机采集的图像,设定用于机械臂控制过程中的奖励函数;构建机械臂控制策略网络、状态动作价值网络和状态价值网络,通过向控制策略网络输入图像,输出动作信息控制机械臂,并多次交互积累交互信息对形成经验池;根据最大熵强化学习构建各个网络训练所需的目标函数,利用经验池中的交互信息对实用梯度下降算法对各个网络参数进行训练,得到训练后的机械臂控制策略网络,输入图像信息,输出动作信息控制机械臂。
上述空间机器人的机械臂控制方法,其流程框图如图1所示,具体步骤如下:
(1)根据马尔可夫决策过程建模机械臂的控制,获取空间机器人基座相机采集的图像,并定义t时刻的图像为状态信息st,形式为W*H*3的矩阵,其中3个维度包括了RGB三色的通道,每个维度的图像包换W*H个像素,其中W为图像的宽度,H为图像的高度;将空间机器人关节的角速度at作为动作信息,其中t代表采样时刻;
(2)设定一个用于机械臂控制过程中的奖励函数rt(st,at),完成马尔可夫决策过程的建模;奖励函数rt(st,at)的表达式如下:
rt(st,at)=-[β1d2+ln(β2d2+∈d)+β3||at-at-1||2]
其中,pe为空间机器人机械臂的末端位置,pt为目空间机器人机械臂的标位置,d为欧式距离,d=||pe-pt||,β1=10-3,β2=1,β3=10-1,∈d=0.001,防止ln函数出现奇异,上标T为矩阵转置;在奖励函数中加入-ln(β2d2+∈d)是为了鼓励距离d越小,可以获得更高的奖励,以此提高精度。此外,当末端执行器到目标抓捕点的距离较远时,-β1d2对奖励影响更大,这时机械臂可以进行较大幅度的动作,奖励值的改变不太剧烈,有助于进行充分探索。而-β3||at-at-1||2是为了让控制曲线更为平滑而引入的惩罚项。最后一项是为了尽可能降低机械臂输出的力矩,这样可以减少对基座的干扰。
(3)构建一个机械臂控制策略网络其中代表机械臂控制策略网络的参数,向机械臂控制策略网络输入图像st,以得到动作信息角速度at,具体包括以下步骤:
(3-1)机械臂控制策略网络的第一层为卷积神经网络,卷积神经网络的卷积核权重W1为一个Gw1*Lw1*Mw1矩阵,其中,Gw1为该卷积核的通道数,Lw1为该卷积核的宽度,Mw1为该卷积核的高度;
(3-2)机械臂控制策略网络的第二层为批次归一化层,批次归一化层将上一层中得到的多层特征层分别做归一化处理,归一化参数的数量与特征层的层数线性正相关;
(3-3)机械臂控制策略网络的第三层为最大值池化层,最大值池化层的滤波器P1为2*2的矩阵;
(3-4)机械臂控制策略网络的第四层为卷积神经网络,卷积神经网络的卷积核权重W2为一个Gw2*Lw2*Mw2矩阵,其中,Gw2为该卷积核的通道数,Lw2为该卷积核的宽度,Mw2为该卷积核的高度;
(3-5)机械臂控制策略网络的第五层为批次归一化层,批次归一化层将上一层中的到的多层特征层分别做归一化的处理,归一化参数的数量和特征层的层数线性正相关;
(3-6)机械臂控制策略网络的第六层为最大值池化层,最大值池化层的滤波器P2为2*2的矩阵
(3-7)机械臂控制策略网络的第七层为卷积神经网络,卷积神经网络的卷积核权重W3为一个Gw3*Lw3*Mw3矩阵,其中,Gw3为该卷积核的通道数,Lw3为该卷积核的宽度,Mw3为该卷积核的高度;
(3-8)机械臂控制策略网络的第八层为批次归一化层,批次归一化层将上一层中的到的多层特征层分别做归一化的处理,归一化参数的数量和特征层的层数有关;
(3-9)机械臂控制策略网络的第九层为最大值池化层,最大值池化层的滤波器P3为2*2的矩阵;
(3-10)机械臂控制策略网络的第十层为全连接神经网络,输入的神经元个数为上一层输出的特征层展平后的特征数量F9,输出的神经元个数为F10,神经元权重为W10;
(3-11)机械臂控制策略网络的第十一层为全连接神经网络,输入的神经元个数为上一层输出的F10,输出的神经元个数为F11,神经元权重为W11;
(3-12)机械臂控制策略网络的第十二层为全连接神经网络,输入的神经元个数为上一层输出的F11,输出的神经元个数为高斯分布的均值和方差神经元权重为W12;
(3-13)根据步骤(3-1)~(3-12),得到机械臂控制策略网络
(3-14)向步骤(3-13)的机械臂控制策略网络输入步骤(1)采集的RGB三通道图像st,机械臂控制策略网络输出得到高斯分布的均值μt和方差∑t,均值μt和方差∑t组合成空间机器人关节的角速度at的概率分布通过采样得到机械臂关节的角速度at;
(4)根据马尔可夫决策过程原理,构建一个机械臂状态价值网络Vψ,其中ψ代表机械臂状态价值网络的参数,通过输入图像st得到状态价值vt,具体包含以下步骤:
(4-1)重复步骤(3-1)-步骤(3-11),构建机械臂状态价值网络Vψ的第一层到第十一层的网络结构;
(4-2)机械臂状态价值网络Vψ的第十二层为全连接神经网络,输入的神经元个数为上一层输出的F11,输出的神经元为状态的价值函数vt,神经元权重为W12;
(4-3)根据步骤(4-1)-步骤(4-2),得到机械臂状态价值网络Vψ;
(5)根据马尔可夫决策过程原理,构建一个机械臂状态动作价值网络Qθ,其中θ代表机械臂状态动作价值网络的参数,向机械臂状态动作价值网络Qθ输入图像st和关节角速度at,得到状态动作价值qt的映射关系,具体包含以下步骤:
(5-1)重复步骤(3-1)-步骤(3-10),构建机械臂状态动作价值网络Qθ的第一层到第十层的网络结构;
(5-2)机械臂状态动作价值网络Qθ的第十一层为全连接神经网络,输入的神经元个数为上一层输出的F10和空间机器人的关节角速度at合并后的数量,输出的神经元个数为F11,神经元权重为W11;
(5-3)机械臂状态动作价值网络Qθ的第十二层为全连接神经网络,输入的神经元个数为上一层输出的F11,输出的神经元为状态动作价值函数qt,神经元权重为W12;
(5-4)根据步骤(5-1)-步骤(5-3),得到机械臂状态动作价值网络Qθ;
(6)向步骤(3)的机械臂控制策略网络输入步骤(1)采样时刻t采集的图像st,输出为机械臂的关节角速度at,将该关节角速度at输出到一个比例微分控制器C中,比例微分控制器C输出得到关节扭矩,实现对机器人的控制;将采样时刻t采集的图像st和关节跟踪期望的关节角速度at输入到步骤(2)的奖励函数,得到奖励值rt,并且得到t+1时刻的图像st+1,得到t时刻的交互信息对Et=<st,at,rt,st+1>;
(7)遍历T时段内采集的所有图像st=1:T,重复上述步骤(6),得到多组交互信息对,多组交互信息对构成一个经验回放池D,分别向步骤(4)的机械臂状态价值网络Vψ和步骤(5)的机械臂状态动作价值网络Qθ输入不同采样时刻采集的图像st,得到状态价值vψ(st)和状态动作价值qt(st,at);
(8)根据最大熵强化学习,建立优化目标,使策略的累积奖励和熵最大化:
其中,表示信息熵;最大化信息熵是为了提高算法的探索能力,使学习到的策略产生更大的随机性。学习的随机度α表示学习中策略的最大化程随机度。一般来说,通过引入策略的熵,并在最终实现较高的熵值,这会使得智能体能够更广泛地探索环境。
(9)根据策略迭代的原理,在最大熵强化学习框架下,通过策略评估和策略改进交替进行策略学习。采用最小化贝尔曼残差对机械臂状态动作价值网络Qθ的参数进行训练,得到机械臂状态动作价值网络Qθ在最优参数JQ(θ)的表达式:
(10)通过最小化平方损失值,对机械臂状态价值网络Vψ的参数训练,得到机械臂状态价值网络Vψ的最优参数JV(ψ)表达式:
(11)通过最小化期望的相对熵散度,对策略函数进行训练,得到策略函数优化参数表达式:
(12)以步骤(9)~步骤(11)得到的训练目标,使用梯度下降法,训练步骤(3)~步骤(5)的机械臂控制策略网络状态动作价值网络Qθ和状态价值网络Vψ,完成对网络的训练;
(13)实时采集搭载在空间机器人基座上的相机得到的图像st,将实时采集的图像st输入到步骤(12)的机械臂控制策略网络输出得到采样时刻t下的机械臂关节角速度at,实现对空间机器人机械臂的控制,并实现在T时段内轨迹规划任务。