力螺旋理论及力封闭抓取的评价指标

目录

  • 前言
  • 1 基础概念
    • 1.1 接触点的力空间
    • 1.2 刚体运动的力螺旋理论——screw, twist, and wrench
      • 1.2.1 Screw(旋量运动/螺旋运动)
      • 1.2.2 Twist(运动旋量/运动螺旋)
      • 1.2.3 Wrench(力旋量/力螺旋)
    • 1.3 刚体与物体之间的摩擦
      • 1.3.1 无摩擦接触点( Frictionless contact point)
      • 1.3.2 有摩擦接触点(Frictional contact point)
      • 1.3.3 软接触(Soft contact)
      • 1.3.4 一般接触情况
    • 1.4 多指抓取的抓取矩阵
      • 1.4.1 多指抓取的抓取矩阵
      • 1.4.2 多指无摩擦接触
      • 1.4.3 多指软接触
  • 2 形封闭与力封闭(Form closure & Force closure)
    • 2.1 形封闭
    • 2.2 力封闭
  • 3. 力封闭抓取的评价指标 Ferrari-Canny Metric
    • 3.1 计算指标前提:力封闭
    • 3.2 力封闭抓取的评价指标的定义
    • 3.3 评价指标具体计算
  • 参考文献:


前言

本文针对抓取任务中的一个关键问题——力封闭(Force closure)展开了较为详尽的叙述。

讲解力封闭前,本文首先介绍了力空间、力螺旋等基础概念,接着引入形封闭、力封闭的概念。

最后,本文介绍了力封闭抓取的评价指标。

1 基础概念

1.1 接触点的力空间

力螺旋理论及力封闭抓取的评价指标_第1张图片

假设现在有这样一个场景(如上图),机械手 H H H 需要抓取到物体 B B B ,那么在二者之间必定会产生“接触”。而对于一个手可能有多个手指(两指手、五指手等),因此设有 n c n_c nc个接触点,第 i i i 个接触点为 n i n_i ni

在接触点 n i n_i ni 处的力可以分解为:沿着垂直于 B B B 切平面的轴 n i n_i ni 方向(即法线方向);以及都在切线平面上的另外两个轴方向。

由此,每个接触点的力空间定义为切平面与接触点处法线构成的3D空间

1.2 刚体运动的力螺旋理论——screw, twist, and wrench

刚体运动是指物体上任意两点之间距离保持不变的运动。机器人运动学、动力学及其控制,实际上就是研究刚体的运动问题。

运⽤力螺旋理论(或者称为旋量理论)来描述刚体运动学问题有两个主要优点:

  1. 可以从整体上来描述刚体的运动,这样可以避免用局部坐标系描述时所造成的奇异性,如用欧拉角来描述旋转时这种奇异性就不可避免;
  2. 力螺旋理论可以对刚体运动进行几何描述,从而可大大简化对结构的分析。

1.2.1 Screw(旋量运动/螺旋运动)

有如下定理:

  • 沙勒定理(Chasles theorem):刚体的任意运动都可分为平移与旋转的组合。

因此,任意的刚体运动方式都可以用这三个量表达:

  1. a \mathbf{a} a ,即刚体旋转轴;
  2. 角度 θ \theta θ ,即刚体绕旋转轴 a \mathbf{a} a 旋转角度;
  3. 位移 d d d ,即刚体沿旋转轴 a \mathbf{a} a平移位移。

然而,通常不提供位移 d d d ,而是定义节距(或称螺距) h = d / θ h={d}/{\theta} h=d/θ

【旋量运动的定义】

旋量运动的三要素:

  1. a \mathbf{a} a ,即刚体旋转轴;
  2. 节距(或称螺距) h h h ,即刚体平移位移与绕轴旋转角度的比值(平动与转动的比值)。
  3. 大小 ρ \rho ρ

旋量运动表示绕轴 a \mathbf{a} a 旋转 ρ = θ \rho=\theta ρ=θ ,再沿该轴平移距离为 h θ h\theta hθ 的合成运动。

特例:

  • h→∞时,旋量运动是沿旋转轴 a \mathbf{a} a 距离为 ρ \rho ρ 的纯平移;
  • h=0时,旋量运动是绕旋转轴 a \mathbf{a} a 旋转 ρ = θ \rho=\theta ρ=θ 的纯旋转。

1.2.2 Twist(运动旋量/运动螺旋)

Twist 表示了物体的速度,它是一个六维向量:

t = [ v ω ] \mathbf{t}=\left[\begin{array}{c}\mathbf{v} \\\boldsymbol{\omega}\end{array}\right] t=[vω]

其中, v \mathbf{v} v 是平移速度, ω \boldsymbol{\omega} ω 是转速。 v \mathbf{v} v ω \boldsymbol{\omega} ω 都是三维向量。

1.2.3 Wrench(力旋量/力螺旋)

  • Wrench的意义:用于表示刚体表面作用力。
  • Wrench的定义:

F = [ f m ] F=\left[\begin{array}{c}\mathbf{f} \\\mathbf{m}\end{array}\right] F=[fm]

其中, f \mathbf{f} f 为力, m \mathbf{m} m 为力矩。 f \mathbf{f} f m \mathbf{m} m 都是三维向量。

1.3 刚体与物体之间的摩擦

1.3.1 无摩擦接触点( Frictionless contact point)

对于无摩擦接触点,仅考虑fn≥0型的力;fn是沿法线方向的力。

力螺旋理论及力封闭抓取的评价指标_第2张图片

上图展示了一个简单的接触物体模型,图中有三个坐标系—— P P P O O O C i C_i Ci,他们分别代表了世界坐标系、目标坐标系(通常以质心为原点)以及以第 i i i个接触点为原点定义的接触点坐标系。
接触点坐标系 C i C_i Ci中,其力螺旋 F c i F_{c_{i}} Fci可以表示为:

F c i = [ 0 0 1 0 0 0 ] f c i , f c i ≥ 0 F_{c_{i}}=\left[\begin{array}{l}0 \\0 \\1 \\0 \\0 \\0\end{array}\right] f_{c_{i}} ,\quad f_{c_{i}} \geq 0 Fci=001000fci,fci0

式中, f c i f_{c_i} fci f n f_n fn

显然我们可以注意到,在这个 [ 6 , 1 ] [6,1] [6,1]维的矩阵中前三项仅有第3行为1,后三项均为0。
前者很好理解:对于无摩擦接触仅存在沿法线方向的力;
对于后者,我们需注意到此处公式均考虑于接触点坐标系 C i C_i Ci中,而根据力矩的定义(力矩等于力的大小乘以力臂),且接触点处的三个分方向的力臂均为0,因此后三项均为0。

1.3.2 有摩擦接触点(Frictional contact point)

通过上文(1.1 接触点的力空间),我们知道:对于有摩擦接触点,需要考虑沿法线方向的力以及切平面的力。

此时,通过三个分力及其限制条件,可以定义出摩擦锥( friction cone, FC):

F C = { [ f 1 , f 2 , f n ] T ∈ R 3 ∣ f 1 2 + f 2 2 ≤ μ f n , f n ≥ 0 } \mathrm{FC}=\left\{\left[f_{1}, f_{2}, f_{n}\right]^{T} \in \mathbb{R}^{3} \mid \sqrt{f_{1}^{2}+f_{2}^{2}} \leq \mu f_{n} , f_{n} \geq 0\right\} FC={ [f1,f2,fn]TR3f12+f22 μfn,fn0}

上式中 f 1 2 + f 2 2 ≤ μ f n \sqrt{f_{1}^{2}+f_{2}^{2}} \leq \mu f_{n} f12+f22 μfn 限定了切平面方向的力要满足库伦定律; f n ≥ 0 f_{n} \geq 0 fn0 则限定了法线方向存在大于0的力,即存在沿着法线方向的分力。在这两个条件限制下, [ f 1 , f 2 , f n ] \left[f_{1}, f_{2}, f_{n}\right] [f1,f2,fn] 构成的力集合在空间中组成了如下图所示的圆锥,即摩擦锥:

力螺旋理论及力封闭抓取的评价指标_第3张图片

在接触点坐标系 C i C_i Ci中,其力螺旋 F c i F_{c_{i}} Fci可以表示为:

F c i = [ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 ] f c i , f c i ∈ F C c i , F C c i = { f ∈ R 3 : f 1 2 + f 2 2 ≤ μ f 3 , f 3 ≥ 0 } \begin{gathered} F_{c_{i}}=\left[\begin{array}{lll} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{array}\right] f_{c_{i}}, \quad f_{c_{i}} \in F C_{c_{i}}, \\ F C_{c_{i}}=\left\{f \in \mathbb{R}^{3}: \sqrt{f_{1}^{2}+f_{2}^{2}} \leq \mu f_{3}, f_{3} \geq 0\right\} \end{gathered} Fci=100000010000001000fci,fciFCci,FCci={ fR3:f12+f22 μf3,f30}

式中, f 3 f_{3} f3 f n f_n fn

1.3.3 软接触(Soft contact)

  • 软接触相比上述的情况多考虑了扭转力矩
  • 扭转力矩的强度 τ \tau τ 满足:

τ ≤ γ f n \tau \leq \gamma f_{n} τγfn

式中, γ \gamma γ 为扭转摩擦系数。

在接触点坐标系 C i C_i Ci中,其力螺旋 F c i F_{c_{i}} Fci可以表示为:

F c i = [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 ] f c i , f c i ∈ F C c i , F C c i = { f ∈ R 4 : f 1 2 + f 2 2 ≤ μ f 3 , f 3 ≥ 0 , ∣ f 4 ∣ ≤ γ f 3 } F_{c_{i}}=\left[\begin{array}{llll}1 & 0 & 0 & 0\\0 & 1 & 0 & 0 \\0 & 0 & 1 & 0 \\0 & 0 & 0 & 0 \\0 & 0 & 0 & 0 \\0 & 0 & 0 & 1\end{array}\right] f_{c_{i}}, \quad f_{c_{i}} \in F C_{c_{i}}, \\F C_{c_{i}}=\left\{f \in \mathbb{R}^{4}: \sqrt{f_{1}^{2}+f_{2}^{2}} \leq \mu f_{3}, f_{3} \geq 0,\left|f_{4}\right| \leq \gamma f_{3}\right\} Fci=100000010000001000000001fci,fciFCci,FCci={ fR4:f12+f22 μf3,f30,f4γf3}

式中, f 3 f_{3} f3 f n f_n fn ∣ f 4 ∣ \left|f_{4}\right| f4 表示扭转力矩的强度 τ \tau τ

此外,我们注意到上式矩阵中右下角变为了 1 1 1(即针对扭矩,只有法向分量为1,其余为0),这是为什么呢?

对于考虑于接触点坐标系 C i C_i Ci中的软接触情况,只考虑三个方向的力以及沿着法向的扭矩。其中,沿着法向的扭矩并非来自于这三个分力,而是由相当于多点接触的接触面之间扭转导致的。

1.3.4 一般接触情况

基于上述阐述,我们可以用力螺旋基(wrench basis) B c i B_{c_{i}} Bci及摩擦锥 F C c i F C_{c_{i}} FCci建立出表示一般接触情况的数学模型。即:

F c i = B c i f c i f c i ∈ F C c i F_{c_{i}}=B_{c_{i}} f_{c_{i}} \quad f_{c_{i}} \in F C_{c_{i}} Fci=BcifcifciFCci

其中,力螺旋基(wrench basis) B c i B_{c_{i}} Bci的维度为 [ 6 × m ] \left[6 \times m\right] [6×m] m m m为接触点力的个数。

总结各类接触类型与对应的力螺旋基以及力的约束,列表如下。其中,第一列是接触类型,第二列是示意图,第三列是力螺旋基,最后一列是力约束条件构成的摩擦锥。

力螺旋理论及力封闭抓取的评价指标_第4张图片

1.4 多指抓取的抓取矩阵

1.4.1 多指抓取的抓取矩阵

前文所讲的力螺旋均是在接触点坐标系下,为了研究多个接触力对物体的影响,我们需要将各个接触力、力螺旋等转换到同一个坐标系——目标坐标系下。

我们用 R o c i R_{o c_{i}} Roci p o c i p_{o c_{i}} poci表示第i个接触点坐标系相对于目标坐标系的RT变换,那么,对于之前分析的每个接触力的力螺旋,我们将其转换到目标坐标系:

F o = A d g o c i − 1 T F c i = A d g o c i − 1 T B c i f c i = [ R o c i 0 p ^ o c i R o c i R o c i ] B c i f c i , f c i ∈ F C c i \begin{aligned}F_{o}&=\mathrm{Ad}_{g_{o c_{i}}^{-1}}^{T} F_{c_{i}} \\&=\mathrm{Ad}_{g_{o c_{i}}^{-1}}^{T}B_{c_{i}} f_{c_{i}} \\&=\left[\begin{array}{c}R_{o c_{i}} & 0 \\\widehat{p}_{o c_{i}} R_{o c_{i}} & R_{o c_{i}}\end{array}\right] B_{c_{i}} f_{c_{i}}, \quad f_{c_{i}} \in F C_{c_{i}}\end{aligned} Fo=Adgoci1TFci=Adgoci1TBcifci=[Rocip ociRoci0Roci]Bcifci,fciFCci

式中, A d g o c i − 1 T \mathrm{Ad}_{g_{o c_{i}}^{-1}}^{T} Adgoci1T表示从接触点坐标系到目标坐标系下的力螺旋变换矩阵, p ^ o c i \widehat{p}_{o c{i}} p oci p o c i {p}_{o c{i}} poci的反对称阵。

反对称阵: w ^ = [ x y z ] ∧ = [ 0 − z y z 0 − x − y x 0 ] \widehat{w}=\left[\begin{array}{l} x \\ y \\ z \end{array}\right]^{\wedge}=\left[\begin{array}{rrr} 0 & -z & y \\ z & 0 & -x \\ -y & x & 0 \end{array}\right] w =xyz=0zyz0xyx0

  • 有关力螺旋坐标转换矩阵的推导:
    Briot-Khalil2015_Chapter_RepresentationOfVelocitiesAndF.pdf

我们将从接触力 f c i f_{c_{i}} fci到目标坐标系下力螺旋 F o F_{o} Fo的映射矩阵定义为 G i G_{i} Gi

G i : = A d g o c i − 1 T B c i G_{i}:=\mathrm{Ad}_{g_{o c_{i}}^{-1}}^{T} B_{c_{i}} Gi:=Adgoci1TBci

如果有 k k k 个手指接触到目标物体,那么该物体上总的力螺旋是由于每个手指产生的力螺旋的总和。由于每个接触点的映射矩阵都是线性的,并且力螺旋可以叠加(同一坐标系中),所以目标坐标系下总的力螺旋 F o F_{o} Fo

F o = G 1 f c 1 + ⋯ + G k f c k = [ G 1 ⋯ G k ] [ f c 1 ⋮ f c k ] \begin{aligned}F_{o}&=G_{1} f_{c_{1}}+\cdots+G_{k} f_{c_{k}} \\&=\left[\begin{array}{lll}G_{1} & \cdots & G_{k}\end{array}\right]\left[\begin{array}{c}f_{c_{1}} \\\vdots \\f_{c_{k}}\end{array}\right] \end{aligned} Fo=G1fc1++Gkfck=[G1Gk]fc1fck

此时,总的映射矩阵 G G G

G = [ Ad ⁡ g o c 1 − 1 T B c 1 ⋯ Ad ⁡ g o c k − 1 T B c k ] G=\left[\begin{array}{lll}\operatorname{Ad}_{g_{o c_{1}}^{-1}}^{T} B_{c_{1}} & \cdots & \operatorname{Ad}_{g_{o c_{k}}^{-1}}^{T} B_{c_{k}}\end{array}\right] G=[Adgoc11TBc1Adgock1TBck]

G : R m → R 6 , m = m 1 + ⋯ + m k G: \mathbb{R}^{m} \rightarrow \mathbb{R}^{6}, m=m_{1}+\cdots+m_{k} G:RmR6,m=m1++mk

其维度为 [ 6 × m ] [6 \times m] [6×m] m m m为所有接触点力的个数总和。

由此,我们将多指抓取情况下总的映射矩阵 G G G定义为多指抓取的抓取矩阵

那么基于此,目标坐标系下总的力螺旋 F o F_{o} Fo可以写为:

F o = G f c , f c ∈ F C F_o=G f_{c}, \quad f_{c} \in F C Fo=Gfc,fcFC

式中,

f c = ( f c 1 , … , f c k ) ∈ R m F C = F C c 1 × ⋯ × F C c k ⊂ R m m = m 1 + ⋯ + m k \begin{gathered}f_{c}=\left(f_{c_{1}}, \ldots, f_{c_{k}}\right) \in \mathbb{R}^{m} \\F C=F C_{c_{1}} \times \cdots \times F C_{c_{k}} \subset \mathbb{R}^{m} \\m=m_{1}+\cdots+m_{k}\end{gathered} fc=(fc1,,fck)RmFC=FCc1××FCckRmm=m1++mk

至此,可以用抓取矩阵 G G G和摩擦锥 F C FC FC完完全全地描述出一个多指抓取了。

1.4.2 多指无摩擦接触

对于每个无摩擦接触点,通过代入无摩擦接触的力螺旋基,得到其力螺旋 F o F_o Fo

F o = [ R o c i 0 p ^ o c i R o c i R o c i ] [ 0 0 1 0 0 0 ] f c i f c i ≥ 0 F_{o}=\left[\begin{array}{cc} R_{oc_{i}} & 0 \\ \widehat{p}_{oc{i}} R_{oc_{i}} & R_{oc_{i}} \end{array}\right]\left[\begin{array}{l} 0 \\ 0 \\ 1 \\ 0 \\ 0 \\ 0 \end{array}\right] f_{c_{i}} \quad f_{c_{i}} \geq 0 Fo=[Rocip ociRoci0Roci]001000fcifci0

通过矩阵乘法运算规则,可将力螺旋 F o F_o Fo写为如下形式:

F o = [ n c i p c i × n c i ] f c i F_{o}=\left[\begin{array}{c} n_{c_{i}} \\p_{c_{i}} \times n_{c_{i}}\end{array}\right] f_{c_{i}} Fo=[ncipci×nci]fci

式中, n c i n_{c_{i}} nci为目标坐标系下接触面向内的法方向。

对于多个无摩擦接触点,总的力螺旋 F o F_o Fo

F o = [ n c 1 ⋯ n c k p c 1 × n c 1 ⋯ p c k × n c k ] [ f c 1 ⋮ f c k ] = G f c , F o ∈ R 6 f c i ≥ 0 F_{o}=\left[\begin{array}{ccc} n_{c_{1}} & \cdots & n_{c_{k}} \\ p_{c_{1}} \times n_{c_{1}} & \cdots & p_{c_{k}} \times n_{c_{k}} \end{array}\right]\left[\begin{array}{c} f_{c_{1}} \\ \vdots \\ f_{c_{k}} \end{array}\right]=G f_{c}, \quad \begin{aligned} &F_{o} \in \mathbb{R}^{6} \\ &f_{c_{i}} \geq 0 \end{aligned} Fo=[nc1pc1×nc1nckpck×nck]fc1fck=Gfc,FoR6fci0

1.4.3 多指软接触

考虑由两个软指握住一个盒子的情况,如下图所示:

力螺旋理论及力封闭抓取的评价指标_第5张图片

两个接触点在目标坐标系的R和T如下:

R c 1 = [ 0 1 0 0 0 1 1 0 0 ] p c 1 = [ 0 − r 0 ] R c 2 = [ 1 0 0 0 0 − 1 0 1 0 ] p c 2 = [ 0 r 0 ] R_{c_{1}}=\left[\begin{array}{lll} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{array}\right] \quad p_{c_{1}}=\left[\begin{array}{c} 0 \\ -r \\ 0 \end{array}\right] \quad R_{c_{2}}=\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{array}\right] \quad p_{c_{2}}=\left[\begin{array}{l} 0 \\ r \\ 0 \end{array}\right] Rc1=001100010pc1=0r0Rc2=100001010pc2=0r0

对于每个软指,代入 力螺旋基 ,可得每个软指的抓取矩阵:

G i = [ R o c i 0 p ^ o c i R o c i R o c i ] [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 ] G_{i}=\left[\begin{array}{cc} R_{oc_{i}} & 0 \\ \widehat{p}_{oc{i}} R_{oc_{i}} & R_{oc_{i}} \end{array}\right]\left[\begin{array}{llll} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 1 \end{array}\right] Gi=[Rocip ociRoci0Roci]100000010000001000000001

代入 R o c i R_{o c_{i}} Roci p o c i p_{o c_{i}} poci后得到总的抓取矩阵:

G = [ 0 1 0 0 1 0 0 0 0 0 1 0 0 0 − 1 0 1 0 0 0 0 1 0 0 − r 0 0 0 0 + r 0 0 0 0 0 1 0 0 0 − 1 0 + r 0 0 − r 0 0 0 ] \\G=\left[\begin{array}{cccc|cccc} 0 & 1 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & -1 & 0 \\ 1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ \hline-r & 0 & 0 & 0 & 0 & +r & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & -1 \\ 0 & +r & 0 & 0 & -r & 0 & 0 & 0 \end{array}\right] G=001r0010000+r01000000001010000r001+r00010000000010

此外,接触力:

f c = ( f c 1 1 , f c 1 2 , f c 1 3 , f c 1 4 , f c 2 1 , f c 2 2 , f c 2 3 , f c 2 4 ) ∈ R 8 f_{c}=\left(f_{c_{1}}^{1}, f_{c_{1}}^{2}, f_{c_{1}}^{3}, f_{c_{1}}^{4}, f_{c_{2}}^{1}, f_{c_{2}}^{2}, f_{c_{2}}^{3}, f_{c_{2}}^{4}\right) \in \mathbb{R}^{8} fc=(fc11,fc12,fc13,fc14,fc21,fc22,fc23,fc24)R8

其构成的摩擦锥:

F C = F C c 1 × F C c 2 F C c 1 = { f c : ( f c 1 1 ) 2 + ( f c 1 2 ) 2 ≤ μ f c 1 3 , ∣ f c 1 4 ∣ ≤ γ f c 1 3 , f c 1 3 ≥ 0 } F C c 2 = { f c : ( f c 2 1 ) 2 + ( f c 2 2 ) 2 ≤ μ f c 2 3 , ∣ f c 2 4 ∣ ≤ γ f c 2 3 , f c 2 3 ≥ 0 } \begin{aligned} F C &=F C_{c_{1}} \times F C_{c_{2}} \\ F C_{c_{1}} &=\left\{f_{c}: \sqrt{\left(f_{c_{1}}^{1}\right)^{2}+\left(f_{c_{1}}^{2}\right)^{2}} \leq \mu f_{c_{1}}^{3},\left|f_{c_{1}}^{4}\right| \leq \gamma f_{c_{1}}^{3}, f_{c_{1}}^{3} \geq 0\right\} \\ F C_{c_{2}} &=\left\{f_{c}: \sqrt{\left(f_{c_{2}}^{1}\right)^{2}+\left(f_{c_{2}}^{2}\right)^{2}} \leq \mu f_{c_{2}}^{3},\left|f_{c_{2}}^{4}\right| \leq \gamma f_{c_{2}}^{3}, f_{c_{2}}^{3} \geq 0\right\} \end{aligned} FCFCc1FCc2=FCc1×FCc2={ fc:(fc11)2+(fc12)2 μfc13,fc14γfc13,fc130}={ fc:(fc21)2+(fc22)2 μfc23,fc24γfc23,fc230}

2 形封闭与力封闭(Form closure & Force closure)

在引入力封闭概念之前,我们需要先了解什么是形封闭。毕竟,形封闭一定是力封闭,但反之则不成立。换句话说,形封闭是力封闭的特例。

2.1 形封闭

那么到底什么是形封闭呢?有以下几种说法:

  1. 机械手包围住物体时,物体不能移动也不与手碰撞时,就形成了形封闭;
  2. 机械手与物体的接触可以防止物体的所有可能的运动,即使是微小的运动;

【形封闭的定义】

首先,定义距离函数表示机械手和物体之间的间隙:

ψ i ( u , q ) , 1 ≤ i ≤ n c \psi_{i}(\mathbf{u}, \mathbf{q}), 1 \leq i \leq n_{c} ψi(u,q),1inc

其中, u \mathbf{u} u q \mathbf{q} q 分别代表了物体和机械手, n c n_{c} nc 为机械手和物体接触点的数目。

那么上式值的正负分别代表了三种情况:

  1. 大于0时,即间隙大于0,说明机械手与物体未接触;
  2. 等于0时,说明机械手与物体接触了;
  3. 小于0时,说明机械手与物体之间发生了渗透。

基于距离函数的定义,可以给出形封闭的定义:

ψ ( u + d u , q ) ≥ 0 ⇒ d u = 0 \psi(\mathbf{u}+d \mathbf{u}, \mathbf{q}) \geq 0 \Rightarrow d \mathbf{u}=0 ψ(u+du,q)0du=0

【上式含义】假设有这种情况:稍微移动物体(物体发生 d u d \mathbf{u} du 的变化),机械手与物体不碰撞渗透(距离函数大于等于0)。求解这个不等式,若得到 d u d \mathbf{u} du 的非零解,表示存在这种情况;反之若仅有 d u = 0 d \mathbf{u}=0 du=0 的解(物体状态不可变),表示不存在这种情况,即形成了形封闭。

2.2 力封闭

  • 何为力封闭?

    如果抓取能够平衡或者抵消施加在物体上的任何外部作用力,即实现力封闭。

  • 力封闭定义

    对于任何外力螺旋(例如:重力) w e \mathbf{w}_{e} we ,都存在满足摩擦锥约束的接触力向量 l l l ,使得:

    G l = − w e \mathbf{G} \mathbf{l}=-\mathbf{w}_{e} Gl=we

  • 力封闭成立的条件

    1. 充分必要条件:

      G ( F C ) = R 6 G(F C)=\mathbb{R}^{6} G(FC)=R6

      其中, G ( F C ) G(F C) G(FC) 是将抓取映射矩阵G应用于摩擦锥FC中的每个接触力向量 l l l 所得到的集合。

      【含义】当接触力向量取遍其摩擦锥空间的所有情况时,可以使产生的力螺旋填满整个 R 6 \mathbb{R}^{6} R6 空间,即可以抵消掉任何外部力。

    2. 必要非充分条件:

      对于任何力封闭情况,其抓取矩阵均需满足行满秩,即:

      rank ⁡ ( G ) = 6 \operatorname{rank}(\mathbf{G})=6 rank(G)=6

      【含义】仅抓取矩阵行满秩时,才能将力空间( R 3 \mathbb{R}^{3} R3)完整映射到力螺旋空间( R 6 \mathbb{R}^{6} R6)。

3. 力封闭抓取的评价指标 Ferrari-Canny Metric

3.1 计算指标前提:力封闭

  • 力封闭的判断方法:由所有接触点的primitive wrench在力螺旋空间构成的凸包包含零点及其邻域。
  • 这里的primitive wrench由primitive force计算力螺旋得到,primitive force是对摩擦锥边界的离散化,如下图所示。

力螺旋理论及力封闭抓取的评价指标_第6张图片

  • 因为3D空间中的力螺旋是6维向量(三维的力 + 三维的力矩),无法可视化。因此这里考虑2D空间中的抓取,其力螺旋是3维向量(二维的力 + 一维的力矩),可以通过可视化来直观地了解上述力封闭的判断方法
  • 如下图是2D平面空间中的一个三指抓取实例,可以看出一共有三个接触点。

力螺旋理论及力封闭抓取的评价指标_第7张图片

  • 这个抓取的力螺旋空间及三个接触点的primitive wrench如下图,其中垂直轴对应力矩,两个水平轴对应力。

力螺旋理论及力封闭抓取的评价指标_第8张图片

  • 下图是所有primitive wrench构成的凸包,可以看到力螺旋空间的原点在这个凸包内,因此这个抓取是力封闭的。
    力螺旋理论及力封闭抓取的评价指标_第9张图片

3.2 力封闭抓取的评价指标的定义

  • 局部的抓取质量(local grasp quality measure,LQ)指标定义为:

L Q W e = max ⁡ l ∥ W e ∥ ∥ l ∣ ∣ L Q_{W_{e}}=\max _{l} \frac{\left\|W_{e}\right\|}{\| l||} LQWe=lmaxlWe

其中,正如上文所讲的,

G l = − w e \mathbf{G} \mathbf{l}=-\mathbf{w}_{e} Gl=we

LQ表示外部力螺旋大小和施加的力大小的最大比值,表达了所施加力的有效性。

  • 根据局部抓取质量,容易得到全局的抓取质量指标(grasp quality measure,Q):

Q = min ⁡ w e L Q w e Q=\min _{w_{e}} L Q_{w_{e}} Q=weminLQwe

又因为 ∥ W e ∥ \left\|W_{e}\right\| We ∥ l ∥ \left\|l\right\| l 是线性的,所以不失一般性地,令 ∥ l ∥ = 1 \left\|l\right\|=1 l=1 ,可以得到对应的力螺旋空间 W e , ∥ l ∥ = 1 W_{e,\|l\|=1} We,l=1 ,定义该力螺旋空间为BG。重写LQ和Q的表达式得到:

L Q W = max ⁡ W ∈ B G ∥ W ∥ → L Q = ∥ w ∥ , w ∈ B d ( B G ) L Q_{W}=\max _{W \in B G}\|W\| \rightarrow L Q=\|w\|, w \in B d(B G) LQW=WBGmaxWLQ=w,wBd(BG)

Q = min ⁡ w ∈ B d ( B G ) ∥ w ∥ \boldsymbol{Q}=\min _{w \in Bd(\boldsymbol{B G})}\|\boldsymbol{w}\| Q=wBd(BG)minw

这里的 B d ( B G ) Bd(BG) Bd(BG)表示力螺旋空间BG的边界,以及由BG构成的凸包的边界。如下图分别表示2D空间的一个抓取对应的力螺旋空间所构成的凸包,左图对应 Q ∞ Q_{\infty} Q ,右图对应 Q 1 Q_{1} Q1,将在下一小节介绍。
力螺旋理论及力封闭抓取的评价指标_第10张图片

3.3 评价指标具体计算

  1. Q ∞ Q_{\infty} Q —— Minimize the max finger force

    其需满足:

    ∥ l ∥ ∞ = max ⁡ ( l 1 , . , n ) = 1 \|l\|{\infty}=\max \left(l{1, ., n}\right)=1 l=max(l1,.,n)=1

    B G = W L ∞ = W 1 ⊕ … ⊕ W n B \mathcal{G}=W_{L_{\infty}}=W_{1} \oplus \ldots \oplus W_{n} BG=WL=W1Wn

    W i = { w i ∣ w i = ∑ i = 1 m α i , j w i , j , α i , j ≥ 0 , ∑ j = 1 m α i , j ≤ 1 } W_{i}=\left\{\mathbf{w}{i} \mid \mathbf{w}{i}=\sum_{i=1}^{m} \alpha_{i, j} \mathbf{w}{i, j}, \quad \alpha{i, j} \geq 0, \sum_{j=1}^{m} \alpha_{i, j} \leq 1\right\} Wi={ wiwi=i=1mαi,jwi,j,αi,j0,j=1mαi,j1}

    上式中 ⊕ \oplus 表示闵可夫斯基求和 ,其表征了空间中两个点集求和的所有可能集合,如下图所示:

    力螺旋理论及力封闭抓取的评价指标_第11张图片

  2. 接着将得到的BG代入下式即可:

    Q = min ⁡ w ∈ B d ( B G ) ∥ w ∥ \boldsymbol{Q}=\min _{w \in Bd(\boldsymbol{B G})}\|\boldsymbol{w}\| Q=wBd(BG)minw

  3. Q 1 Q_{1} Q1 —— Minimize the total finger force

    对于 Q 1 Q_{1} Q1,需要满足:

    ∥ l ∥ 1 = sum ⁡ ( l 1 , , , n ) = 1 \|l\|{1}=\operatorname{sum}\left(l{1,,, n}\right)=1 l1=sum(l1,,,n)=1

    其对应的BG为:

    W L 1 =  Convex  Hull ⁡ ( ⋃ i = 1 n { w i , 1 , … , w i , m } ) W_{L_{1}}=\text { Convex } \operatorname{Hull}\left(\bigcup_{i=1}^{n}\left\{\mathbf{w}{i, 1}, \ldots, \mathbf{w}{i, m}\right\}\right) WL1= Convex Hull(i=1n{ wi,1,,wi,m})

    同理,代入下式即可:

    Q = min ⁡ w ∈ B d ( B G ) ∥ w ∥ \boldsymbol{Q}=\min _{w \in Bd(\boldsymbol{B G})}\|\boldsymbol{w}\| Q=wBd(BG)minw

参考文献:

[1] Carpin, Stefano, et al. “Multi-fingered robotic grasping: A primer.” arXiv preprint arXiv:1607.06620 (2016).

[2] 摩雷. 机器人操作的数学导论[M]. 机械工业出版社, 1998.

[3] Murray, Richard M., Zexiang Li, and S. Shankar Sastry. A mathematical introduction to robotic manipulation. CRC press, 2017.

[4] Ferrari, Carlo, and John F. Canny. “Planning optimal grasps.” ICRA. Vol. 3. No. 4. 1992.

你可能感兴趣的:(抓取,力学)