首页 / 一种基于贝叶斯交互基元的双臂机器人技能学习方法

一种基于贝叶斯交互基元的双臂机器人技能学习方法有效专利 发明

技术领域

[0001] 本发明属于人工智能技术领域,特别是涉及一种基于贝叶斯交互基元的双臂机器人技能学习方法。

相关背景技术

[0002] 随着智能制造产业的发展以及具身智能机器人的推广,制造业和服务业许多场景的传统单臂协作机器人、工业机器人逐步被双臂机器人替代,如制造业中使用双臂机器人来完成协同搬运、飞机长桁装配等,智能居家服务场景中的叠衣服、打扫卫生、刷盘子等。双臂机器人拥有两个独立控制的机械臂,使其操作灵活性和适应性更强,双臂协作使其在执行任务时显著提升效率和精度。因此相较于单臂机器人,双臂机器人凭借自身优势能够更高效地处理负载更大、场景更复杂的任务。
[0003] 但是最近的一些研究表明,双臂机器人的操作技能的获取方法有待提高,目前机器人的技能学习方法主要包括依赖于精确控制、传感器反馈和预编程的传统方法和通过学习训练的机器学习方法。一些学者提出通过视觉伺服的方法,利用摄像头和图像处理技术来引导机器人的运动,通过力传感器来感知和调整机器人的操作力,在复杂的任务场景中采用预编程来规划双臂机器人的路径和动作序列来执行任务。这些方法虽然鲁棒性较高,但是需要耗费大量的时间和精力调整阻抗系数、预编程等,且无场景泛化能力,只能执行设定好的任务和操作对象。最近还有一些学者提出基于机器学习的方法来让双臂机器人获取操作技能,如使用模仿学习行为克隆人类操作技能的方法,虽然模仿学习能够高效的学习人类的操作经验,并且双臂协同地完成操作任务,但这种方法缺点在于当双臂机器人受到外界扰动或其他原因处于其未见过的状态时,无法像人类一样作出决策继续完成任务。强化学习是一种通过试错方式学习最佳策略的方法,双臂机器人在与环境交互的过程中,通过最大化奖励来获得最佳操作策略,这种方法虽然最终能够获得最佳操作策略,但是往往强化学习训练时间很长,且双臂的协同性不高,同时在训练过程中,双臂容易发生碰撞损坏设备、奖励函数难以塑造、损失函数不易收敛等。
[0004] 基于此,本发明提出一种基于贝叶斯交互基元的双臂机器人技能学习方法。

具体实施方式

[0018] 为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。
[0019] 在一个实施例中,如图1所示,一种基于贝叶斯交互基元的双臂机器人技能学习方法,所述方法包括以下步骤:S100:搭建双臂机器人技能学习平台,以实时高效地控制双臂机器人和采集数据;
S200:通过遥控操作对双臂机器人进行示教,采集专家示教数据;
S300:建立贝叶斯交互基元学习框架,使用基函数拟合示教轨迹,从而对人类专家的操作技能进行编码和学习;
S400:通过多传感器(视觉、位置、力等传感器)获取当前状态的多模态数据,采用序列对齐和动态捕捉的方法进行时空推理,得到当前状态的相位,贝叶斯交互基元根据当前相位输出双臂机器人未来动作序列的后验分布;
S500:每个时间步都根据当前和历史输出的动作序列的相应动作进行加权平均后执行,在感知‑预测‑执行的循环过程中,系统持续运行,直到相位估计任务已完成。
[0020] 上述一种基于贝叶斯交互基元的双臂机器人技能学习方法,针对双臂机器人技能学习,设计了一套融合专家示教和贝叶斯交互基元的框架,提高了双臂机器人技能学习的效率、协同操作能力、操作流畅性和鲁棒性。
[0021] 在一个实施例中,如图2所示,S100包括:S110:在机器人末端安装好二指夹爪,调试双臂机器人示教器,使硬件系统满足专家示教的各种任务操作;
S120:搭建双臂人控制器和夹爪控制器之间的通信架构,通过相关接口采集双臂机器人的示教数据,同时能够对其双臂和夹爪进行控制;
S130:编写机器人控制代码,实例化左右机械臂和左右末端夹爪,通过多线程的方式,保证双臂机器人操作系统能够实时高效协同运行。
[0022] 在一个实施例中,S110包括:S110:准备一个双臂机器人和两个示教器以及两个夹爪,将示教模式设置为笛卡尔空间操作模式,方便示教操作人员直观地控制机械臂,使其沿着期望的路径运动;
S120:将夹爪安装在机器人末端,并通过RS485进行串口通信来控制夹爪。
[0023] 在一个实施例中,S120包括:使用Socket和TCP通信来实现主机控制两台机械臂,首先要确保主机和左右机械臂的控制器在同一局域网内,并为主机和两台机械臂控制器分配固定的IP地址和端口号;
通过串口通信连接左右夹爪控制器,设置RS485通信参数;
调用机械臂和夹爪对应的接口采集机械臂关节角、关节力矩、末端位姿、夹爪开合状态,并通过机械臂和夹爪对应的接口对其进行控制。
[0024] 在一个实施例中,S200包括:S210:操作人员通过两台示教器对双臂机器人进行示教,完成预设的操作任务,采集示教过程中的示教数据,示教数据包括双臂机器人的关节角位置、关节速度、关节力矩、末端位姿和夹爪开合状态;
S220:确定右臂基坐标系相对于左臂基坐标系的变换矩阵,将双臂机器人右臂的末端位姿示教数据从右臂的基座标系统一转换到左臂的基坐标系下。
[0025] 在一个实施例中,S210具体为:示教人员通过示教器遥操作控制双臂机器人完成预设的操作任务,比如协同搬运、倒水等任务,同一种任务需要采集20 30组左右的示教数据,并对采集的示教数据进行~
预处理,舍弃掉质量不符合预设要求的示教数据,示教数据包括双臂机器人的关节角位置、关节角速度、关节力矩、末端位姿夹爪开合状态。
[0026] 在一个实施例中,S220具体为:S221:测量平移向量 ,平移向量 描述了右臂基坐标系原点相对于左臂基坐标系原点的位置;假设测得右臂基坐标系原点在左臂基坐标系中的位置为 ,则:

S222:测量右臂基座标系相对于左臂基坐标系的旋转矩阵 ,若已知绕X轴旋转角度 、绕Y轴旋转角度 、绕Z轴旋转角度 ,则旋转矩阵 可表示为:

其中 分别是绕X、Y、Z轴的旋转矩阵;
若已知四元数 ,则旋转矩阵 可以通过以下公式计算:

S223:构建变换矩阵 将右臂末端在右臂基坐标系下的位姿转换到左臂基座标系下,由S221和S222可得转换矩阵如下:

此时假设右臂末端在右臂基坐标系下的位姿矩阵为 ,则将右臂末端转换到左臂基座标系下的位姿矩阵 为:

[0027] 在一个实施例中,S300包括:S310:定义随时间变化的序列Y:

其中T是示教数据的观测步长,D是示教数据的观测维度;
S320:序列Y的每一个状态维度维度 都使用含时间依赖项的非线性基函数的加权线性组合来近似:

其中,表示序列Y的第 个观测维度,表示时间,基函数 ,对应基函
数的权重 ,相对相位值 替代绝对时间 ,并且 , 表示近
似误差,基函数包括高斯函数、Sigmod函数等包含时间依赖项的非线性函数;
S330:通过最小二乘法来求得基函数的权重 ,每个维度的权重组合在一起得到一个双臂机器人技能的贝叶斯交互基元模型:

其中, ,权重可以通过线性回归的方法求解;
S340:从所有给定的示教中提取权重向量的概率分布 ,从这个分布中采样即可生成包含双臂机器人操作任务中所有观测到的传感器状态和控制的样本轨迹,因此,定义给定交互 的 次观察 ,基于机器人的先前状态来得到关于未来状态和控制的后验分布:

[0028] 在一个实施例中,如图3所示,S400包括:S410:根据当前感知到的多模态数据,使用序列对齐和动态捕捉的方法进行相位估计,得到双臂机器人当前操作任务的完成进度;
S420:贝叶斯交互基元根据S410的相位结果输出未来动作序列的后验分布,然后更新协方差和卡尔曼增益。
[0029] 在一个实施例中,S410具体为:给定长度为 的平均示教轨迹 和仅观测到T步的轨迹 ,通过动态捕捉来计算出最优对齐,即最小化距离函数 :



其中, 是从轨迹 的开始到第 步的累积距离, 是从平均示教轨迹
的开始到第 步的累积距离,递归计算 通过比较三种情况中的最小值加上当前的距离 来更新 、 、或 的路径选择;递归在计算
达到对 的最小累积距离后终止,其中 ,然后得到估计相位
,表示轨迹 在平均轨迹 中的位置,代表的是累积距离计算过程中的索引,用于遍历并累加从起点到当前点之间的距离。
[0030] 在一个实施例中,S420包括:S421:在S340的基础上,使用向量增广构造一个新的状态向量 ,状态向量包括基函数的权重 、相位 和相位速度 ,因此后验分布为:

其中,当前状态 的后验分布 是由两个因素决定的:当前状态 的
情况下,观测到 的概率 和给定先前所有t‑1步的观测数据 和初始状态 的情况下,对当前状态 预测的先验分布;
S422:定义一个包含 个成员的集合 ,其中集合的数量不少于示
教样本的数量,即 ,通过将每个集合元素向前传播一个时间步来近似
,状态传播公式即:

式中, 表示第j个成员在时间步t时的预测状态向量, 表示第j个成员在时间步t时的更新的状态向量, 是速度恒定的状态转换算子, 是噪声误差用于模拟真实系统中可能的随机扰动或不确定性;
S423:根据观测结果和非线性观测算子 更新集合成员:


上式对集合中的每一个成员 通过非线性观测算子 计算预测的观测值
,然后计算观测值偏差矩阵 ,其中包含每个成员与均值之间的偏差,其中j=
1,2,…,E;
S424:计算创新协方差:

式中, 表示时间步t的创新, 是观测噪声矩阵的偏差;
S425:计算卡尔曼增益:


式中, 是集合成员的偏差矩阵, 表示观测空间中的偏差矩阵的转置。
[0031] 在一个实施例中,S500包括:假设在t时间步,贝叶斯交互基元输出的未来3步的动作序列 ,且此时
t>2,而在t‑1和t‑2输出的的历史动作序列分别为 和
,那么当前的执行动作由当前输出的动作序列与历史输出的动
作序列的相应动作加权平均后执行,即:

若t<2,则 ,等待机器人执行完动作之后,继续执行S400和S500,在感
知‑预测‑执行的循环过程中,系统持续运行,直到相位估计任务已完成。
[0032] 与现有技术相比,本发明优点在于:(1)提出了一套基于双臂机器人系统的技能学习框架,能够更方便的采集双臂机器人的数据,同时也能够实时高效的控制双臂机器人。(2)在模仿学习的思想基础上,使用贝叶斯交互基元来学习人类专家的示教数据,大大的提高了技能学习效率和双臂的协同操作能力。(3)本发明针对原有的模仿学习方法不能够处理未见状态场景和抗干扰能力差的问题,采用了序列对齐和动态捕捉的方法进行时空估计,得到当前相位来代替绝对时间,避免了双臂机器人受到干扰后进入未见状态无法继续正确执行操作任务,提高了双臂机器人执行操作任务的鲁棒性。(4)本发明采用动作序列的思想,贝叶斯交互基元输出的是未来的动作序列,当前时间步的动作由历史预测和当前预测加权平均决定,每一个时间步都进行感知‑预测‑执行,提高了步骤之间离散切换的平滑性。
[0033] 本发明公开了一种基于贝叶斯交互基元的双臂机器人技能学习方法,针对双臂机器人技能学习,设计了一套融合专家示教和贝叶斯交互基元的框架,提高了双臂机器人技能学习的效率、协同操作能力、操作流畅性和鲁棒性。该方法首先搭建双臂机器人技能学习平台,以确保能够实时高效地控制双臂机器人和采集数据,通过Socket和TCP以及RS485通信架构方便地采集双臂机器人的关节角位置、速度、力矩、末端位姿、夹爪状态等示教数据。同时,通过多线程方式对双臂和夹爪进行控制,保证双臂机器人操作系统能够实时高效协同运行;通过遥操作对双臂机器人进行倒水、协同搬运等操作任务示教,采集关节角位置、速度、力矩以及末端位姿和夹爪开合状态等专家示教数据,并将右臂末端位姿数据从右臂的基坐标系转换到左臂的基坐标系下;接着,搭建贝叶斯交互基元学习框架,使用包含时间依赖项的非线性基函数拟合示教轨迹,对示教数据进行编码来获得贝叶斯交互基元生成贝叶斯交互基元,学习人类专家的操作技能。贝叶斯交互基元根据当前状态通过时空推理进行相位估计;随后,贝叶斯交互基元根据当前相位输出未来动作序列的后验分布,每个时间步都根据当前和历史输出的动作序列的相应动作进行加权平均后执行;在感知‑预测‑执行的循环过程中,系统持续运行,直到相位估计任务已完成。
[0034] 以上对本发明所提供的一种基于贝叶斯交互基元的双臂机器人技能学习方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页 第1页 第2页 第3页