【针对问题】人机交互共融环境下仿人机器人的重大需求
【提出方法】一种基于强化学习的机器人手臂仿人运动规划方法
【具体细节】(1)基于结构特征,设计了与人相关的关节角:肩夹角、肘夹角和腕关节;(2)VICON系统对人体运动数据进行分析,获取相关特性;(3)设计不同的回报函数,采用强化学习进行训练(4)搭建仿真平台
【得到效果】仿人运动成功率是 91.25 % 91.25\% 91.25%
机械臂仿人运动的规划主要是从人体手臂出发,分析不同动作状态下的运动特征,并将其应用到机械臂中。
学者 | 工作 | 效果 |
---|---|---|
赵京 | 最小化机械臂运动过程中的势能 | 引导仿人轨迹的生成 |
陈盛 | 利用最小势能进一步确定机械臂肘部位置 | 实现仿人运动规划 |
Li | 最小化肌肉强度确定机械臂的拟人姿态 | 作为生成仿人轨迹的标准 |
学者 | 工作 | 效果 |
---|---|---|
Gong | 通过 4 个变量定义了不同的人臂运动原语 | None |
García和Rosell | 设计吸引因子和不同的抓握类型 | 引导机械臂生成仿人路径 |
Yang | 设计人臂末端刚度 | None |
【评价】
(1)针对某一类特定任务的仿人运动规划;
(2)仿人变量的设计单一;
(3)仿人参数的选定容易对仿人运动造成影响;
学者 | 工作 | 效果 |
---|---|---|
Zhu | 使用遗传算法 + 共享控制角度 | 控制机械臂实现仿人运动 |
Wei | 设计机械臂最佳的末端姿态 + 5个目标函数计算 | 优化仿人运动行为 |
Duarte | 设计不同的运动状态 + 高斯混合模型计算 | 对机器人仿人运动的控制 |
【评价】
(1)训练和示教数据不足;
(2)数据模型无法覆盖人体手臂运动模型;
(3)机械臂鲁棒性偏低;
将人体手臂运动特征融合到机械臂中是实现机械臂仿人运动的关键
这就要求获取人体手臂与机械臂之间的映射关系
6自由度 Kinova公司 Jaco2机械臂
人体手臂肩关节运动了 θ h s \pmb{θ_{hs}} θhsθhs 时,机械臂肩关节对应的角度为 θ j s = ( π - θ h s ) + π \pmb{θ_{js}} = ( \pmb{\pi} - \pmb{θ_{hs}} ) + \pmb{\pi} θjsθjs=(ππ-θhsθhs)+ππ。
人体手臂肘关节运动了 θ h e \pmb{θ_{he}} θheθhe 时,机械臂肘关节对应的角度为 θ j e = π - θ h e \pmb{θ_{je}} = \pmb{\pi} - \pmb{θ_{he}} θjeθje=ππ-θheθhe。
仿人运动范围论文:
HU H M,DU J M,HU X H,et al. The experimental research on joint range of motion[M]. Advances in Physical Ergonomics and Human Factors,2016,489: 265-274.
GATES D H,WALTERS L S,COWELEY J,et al. Range of motion requirements for upper-limb activities of daily living[J]. The American Journal of Occupational Therapy,2015,70( 1) : 1-10.
机械臂关节 2 的仿人运动范围为 [ 3.438 , 5.76 ] r a d [3.438,5.76]rad [3.438,5.76]rad
机械臂关节 3 的仿人运动范围为 [ 0.559 , π ] r a d [0. 559,\pi]rad [0.559,π]rad
机械臂关节 1 和腕关节的运动范围为 [ − 2 π , 2 π ] r a d [-2\pi,2\pi]rad [−2π,2π]rad(本身自身是环转运动)
本文采用 VICON 系统采集人体手臂达点运动的数据
获取手臂在达点运动过程中的典型规律和约束。
达点运动:到达目标点的运动。
本文研究限定范围:人体右臂右半空间中肩关节以上的位置,定义为 S M \pmb{S_{M}} SMSM
设计 3 个刚体标志块(肩膀、上臂和下臂)
由在不同位置下的 4 个相同的反光球构建
肩向量 V S \pmb{V_{S}} VSVS,上臂 V A \pmb{V_{A}} VAVA,下臂 V F \pmb{V_{F}} VFVF
做 100 次达点运动实验,并选用不同的实验者进行实验
手臂的初始位置为自然垂直向下
在人体坐标系 { H } \{ H \} {H}下的坐标
既体现了肩关节的运动情况,还描述了肩部和上臂的运动关系。
{ V S = ( x S 4 − x S 1 , y S 4 − x S 1 , z S 4 − x S 1 ) V A = ( x A 4 − x A 1 , y A 4 − x A 1 , z A 4 − x A 1 ) α 1 = arccos ( V S ⋅ V A / ∣ V S ∣ ⋅ ∣ V A ∣ ) \begin{cases} \pmb{V_{S}} &= (x_{S4}-x_{S1},y_{S4}-x_{S1},z_{S4}-x_{S1}) \\ \pmb{V_{A}} &= (x_{A4}-x_{A1},y_{A4}-x_{A1},z_{A4}-x_{A1}) \\ \alpha_{1} &= \arccos(\pmb{V_{S}} \cdot \pmb{V_{A}} / |\pmb{V_{S}}|\cdot|\pmb{V_{A}}|) \end{cases} ⎩ ⎨ ⎧VSVSVAVAα1=(xS4−xS1,yS4−xS1,zS4−xS1)=(xA4−xA1,yA4−xA1,zA4−xA1)=arccos(VSVS⋅VAVA/∣VSVS∣⋅∣VAVA∣)
它不仅体现了肘关节的运动情况,还能够描述上臂和前臂的运动关系。
{ V F = ( x F 4 − x F 1 , y F 4 − x F 1 , z F 4 − x F 1 ) α 2 = arccos ( V A ⋅ V F / ∣ V A ∣ ⋅ ∣ V F ∣ ) \begin{cases} \pmb{V_{F}} &= (x_{F4}-x_{F1},y_{F4}-x_{F1},z_{F4}-x_{F1}) \\ \alpha_{2} &= \arccos(\pmb{V_{A}} \cdot \pmb{V_{F}} / |\pmb{V_{A}}|\cdot|\pmb{V_{F}}|) \\ \end{cases} {VFVFα2=(xF4−xF1,yF4−xF1,zF4−xF1)=arccos(VAVA⋅VFVF/∣VAVA∣⋅∣VFVF∣)
腕关节与目标点的运动情况。
β 1 = ∣ arctan y g x g − arctan y F 4 x F 4 ∣ \beta_{1}=|\arctan{\frac{y_{g}}{x_{g}}}-\arctan{\frac{y_{F4}}{x_{F4}}}| β1=∣arctanxgyg−arctanxF4yF4∣
β w = arctan y F 4 x F 4 → \beta_{w}=\arctan{\frac{y_{F4}}{x_{F4}}}\rightarrow βw=arctanxF4yF4→ 腕关节的投影点与坐标原点相连形成的向量和x轴的夹角
β g = arctan y g x g → \beta_{g}=\arctan{\frac{y_{g}}{x_{g}}}\rightarrow βg=arctanxgyg→ 目标点 g = ( x g , y g , z g ) \pmb{g}=(x_{g},y_{g},z_{g}) gg=(xg,yg,zg)与坐标原点相连形成的向量和x轴的夹角
肩夹角 α 1 α_{1} α1 和肘夹角 α 2 α_{2} α2 能够描述人臂运动过程中各部位间的相互关系
因此人臂各部位间的制约关系可以通过 α 1 α_{1} α1 和 α 2 α_{2} α2 的运动范围来体现
QQ图:Quantile-Quantile,接近一条直线说明呈现正态分布的特点
α 2 \alpha_{2} α2的最小值是 0.552 > 0.05 = α 0.552 \gt 0.05=\alpha 0.552>0.05=α(显著性水平)
可以确定与正态分布没有关系
α 1 ∈ M s = [ 0.451 , 1.385 ] \alpha_{1}\in\pmb{M_{s}}=[0.451,1.385] α1∈MsMs=[0.451,1.385] 且 α 2 ∈ M e = [ 0.138 , 1.906 ] \alpha_{2}\in\pmb{M_{e}}=[0.138,1.906] α2∈MeMe=[0.138,1.906]
Mujoco平台
基于DDPG和HER算法
若检测到机械臂发生碰撞,则直接结束本回合的训练
将即时回报设置为 r t = − 100 r_{t} = -100 rt=−100
{ d i s = ∣ ∣ ( X E − X G ) × K ∣ ∣ r 1 = { − ln ( d i s ) , d i s > 1 0 , d i s ≤ 1 \begin{cases} dis &= ||(\pmb{X_{E}-\pmb{X_{G}}})\times\pmb{K}|| \\ r_{1} &= \begin{cases} -\ln(dis)&,dis\gt 1 \\ 0&,dis\le 1 \\ \end{cases} \end{cases} ⎩ ⎨ ⎧disr1=∣∣(XE−XGXGXE−XGXG)×KK∣∣={−ln(dis)0,dis>1,dis≤1
为了避免因单位过大导致的较小的数值变化
将距离信息 d i s dis dis 的阈值设定为以厘米为单位,即 K = 100 \pmb{K}=100 KK=100
r 2 = − ω 1 ⋅ arctan ( Δ α 1 ) π / 2 − ω 2 ⋅ arctan ( Δ α 2 ) π / 2 r_{2}=-\omega_{1}\cdot\frac{\arctan(\Delta\alpha_{1})}{\pi/2}-\omega_{2}\cdot\frac{\arctan(\Delta\alpha_{2})}{\pi/2} r2=−ω1⋅π/2arctan(Δα1)−ω2⋅π/2arctan(Δα2)
Δ α 1 → \Delta\alpha_{1}\rightarrow Δα1→肩夹角范围的偏差
Δ α 2 → \Delta\alpha_{2}\rightarrow Δα2→肘夹角范围的偏差
机械臂左右扰动: r 3 = − 1 r_{3}=-1 r3=−1
β 1 r ∈ M w → \beta_{1r}\in\pmb{M_{w}} \rightarrow β1r∈MwMw→ 具备仿人性 → \rightarrow → r 3 = 0 r_{3}=0 r3=0
β 1 r ∉ M w → \beta_{1r}\notin\pmb{M_{w}} \rightarrow β1r∈/MwMw→ 不具备仿人性 → \rightarrow → r 3 = − arctan ( β 1 r ) π / 2 r_{3}=-\frac{\arctan(\beta_{1r})}{\pi/2} r3=−π/2arctan(β1r)
r t = 10 r_{t}=10 rt=10
r t = ∑ i = 1 3 λ i ⋅ r i ; λ 1 = λ 2 = 1 ; λ 3 = 0.5 ; r_{t}=\sum_{i=1}^{3}\lambda_{i}\cdot r_{i}; \\ \lambda_{1}=\lambda_{2}=1; \\ \lambda_{3}=0.5; \\ rt=i=1∑3λi⋅ri;λ1=λ2=1;λ3=0.5;
本文最终将更新次数设为 200,即对应的训练回合数为 10 000,每回合的时间步数设为 20。
随着更新次数的增加,训练的成功率平均为 90.8 % 90. 8\% 90.8% 。
通过对比第 1. 1 节中机械臂各关节的仿人运动范围能够发现,在对上述目标点进行达点运动时,机械臂各关节的运动范围均满足仿人运动范围的要求,不存在超过人体手臂运动范围的运动。
根据机械臂的上述各项运动指标,即运动轨迹和关节角变化范围,能够初步判定,通过 HP 算法规划的运动具备仿人性的特征。
机械臂在每个卦限下的达点运动都具备仿人性
每一卦限下的成功率和仿人轨迹规划耗时的差距并不大