Grasping and Manipulation

Single Contact

We have composite configuration as \(q = (q_1,q_2)\). We define a distance function \(d(q)\) between the bodies that is positive when they are separated, 0 when they are touching, and negative when they are in penetration (穿透).

when \(d(q)>0\), we look at the time derivatives, \(\dot{d}\), \(\ddot{d}\) etc., to determine whether the bodies stay in contact or break apart as they follow a particular trajectory \(q(t)\).

首先,我们假设两个物体最初在一个点上接触 (d = 0)。

\[\dot{d} = \frac{\partial d}{\partial q} \dot{q} \tag{1.1} \]

\[\ddot{d} = \dot{q}^T \frac{\partial^2 d}{\partial q^2} \dot{q} + \frac{\partial d}{\partial q} \ddot{q} \tag{1.2} \]

  1. 接下来,给出了距离函数 d 的前两个时间导数:

    • 一阶导数: \(\dot{d} = \frac{\partial d}{\partial q} \dot{q}\) 这里,\(\frac{\partial d}{\partial q}\) 是 d 对广义坐标 q 的偏导数,\(\dot{q}\) 是广义速度。它表示 \(d\) 随时间变化的速率。
    • 二阶导数: \(\ddot{d} = \dot{q}^T \frac{\partial^2 d}{\partial q^2} \dot{q} + \frac{\partial d}{\partial q} \ddot{q}\) 这里,\(\frac{\partial^2 d}{\partial q^2}\)\(d\) 对广义坐标 \(q\) 的二阶偏导数,\(\ddot{q}\) 是广义加速度。它表示 \(d\) 随时间变化的加速度
  2. 术语 \(\frac{\partial d}{\partial q}\)\(\frac{\partial^2 d}{\partial q^2}\) 包含了局部接触几何的信息:

    • 梯度向量 \(\frac{\partial d}{\partial q}\) 对应于与接触法线相关的 q 空间中的分离方向(图 12.2, 补充)。
      • 接触法线(contact normal)是当两个物体在一个点上接触时垂直于接触表面的单位向量
      • 接触法线决定了两个物体在接触点处分离的方向
    • 矩阵 \(\frac{\partial^2 d}{\partial q^2}\) 编码了关于接触点处物体相对曲率 (relative curvature) 的信息
      • 曲率是描述曲面或曲线局部弯曲程度的度量
      • 当两个物体接触时,它们在接触点处的曲率可能不同。相对曲率描述了这种差异

Contact Type

Rolling, Sliding, and Breaking Free

首先来讨论两个物体在单点接触时候的滚动滑动运动。

  1. 保持接触的约束是完整约束,即 \(d(q) = 0\)

  2. 保持接触的必要条件是 \(\dot{d} = 0\)。我们希望将速度约束 \(\dot{d} = 0\) 写成基于contact normal的形式,而不需要显式的距离函数(图 12.2)。

  3. \(\hat{n} \in \mathbb{R}^3\) 为与接触法线对齐的单位向量,在世界坐标系中表示。令 \(p_A \in \mathbb{R}^3\)\(p_B \in \mathbb{R}^3\) 分别为物体 A 和物体 B 上接触点在世界坐标系中的表示

    • 数学表示中,\(\hat{n} \in \mathbb{R}^3\) 中的 3 表示向量 \(\hat{n}\) 属于三维欧几里得空间
    • \(\mathbb{R}\) 表示实数集合,而 \(\mathbb{R}^3\) 表示由三个实数组成的有序三元组 \((x, y, z)\) 的集合,其中 \(x\), \(y\), \(z\) 都是实数
    • 向量 \(\hat{n}\) 是一个三维向量,因为它表示三维空间中的接触法线方向。
  4. 虽然接触点向量 \(p_A\)\(p_B\) 最初是相同的,但速度 \(\dot{p}_A\)\(\dot{p}_B\) 可能不同。因此,条件 \(\dot{d} = 0\) 可以写成:

    \[\hat{n}^T(\dot{p}_A - \dot{p}_B) = 0 \tag{1.3} \]

物体 A 和 B 在空间坐标系中的旋量(twist) \(V_A = (\omega_A, v_A)\)\(V_B = (\omega_B, v_B)\) 表示。注意:

\[\dot{p}_A = v_A + \omega_A \times p_A = v_A + [\omega_A]p_A \]

\[\dot{p}_B = v_B + \omega_B \times p_B = v_B + [\omega_B]p_B \]

将不可穿透约束表示为旋量和螺旋的形式,其中旋量表示物体的速度和角速度,螺旋表示沿接触法线方向的单位力。这种表示方式将运动学和静力学的概念结合在一起。

重新总结一下,不然有点math dense.

想象你有两个物体,比如一个球和一个盒子,它们在某个点上接触。现在,如果我们想让球在盒子表面滚动或滑动,而不是穿透到盒子内部,我们需要满足一些条件。

  1. 首先,我们知道球和盒子在接触点处的速度可能不同。为了保持接触,我们要求球和盒子在垂直于接触面的方向上的相对速度为零。这就是所谓的"法线方向"。
  2. 接下来,我们考虑到球不能穿透到盒子内部。为了实现这一点,我们要求球相对于盒子在法线方向上的速度大于等于零。这意味着球可以沿着盒子表面移动,但不能向盒子内部移动。
  3. 为了更方便地描述物体的运动,我们引入了"旋量"的概念。旋量就像一个包含物体旋转和平移运动信息的数学工具。我们用旋量来表示球和盒子的运动。
  4. 另一个重要的概念是"螺旋",它包含了力和力矩的信息。我们定义了一个特殊的螺旋,它对应于沿接触面法线方向施加的单位力。(这里要扩展一些)
  5. 尽管在分析物体运动时,我们不一定需要考虑力,但引入螺旋的概念可以帮助我们更方便地分析接触力。
  6. 最后,我们将不可穿透条件表示为旋量和螺旋的关系。这个关系确保了球相对于盒子的运动满足接触约束,不会发生穿透。

Form Closure

"Form closure of a body is achieved if a set of stationary constraints prevents all motion of the body. If these constraints are provided by robot fingers, we call this a form-closure grasp".

posted @ 2024-03-27 11:04  kingchou007  阅读(2)  评论(0编辑  收藏  举报