两根手指向内夹紧物体,为什么可以“很用力却不推动物体”?轮子不能侧滑,小车为什么又能经过几次前后转向改变横向位置?这两个问题都在研究运动受到约束后,力与速度还可以怎样组合。本篇用一个两指抓取和一次四段小车运动,把矩阵的零空间与 Lie 括号变成可计算的过程。
系列学习地图 · 上一篇:03 动力学与控制 · 回看:01 刚体运动、02 运动学与雅可比
1. 两个接触点,合起来能产生什么力
在物体中心建立平面坐标,左右接触点分别为 p₁ = (−a, 0)、p₂ = (a, 0)。所有力都先用同一组坐标轴表达,并约定 f₁、f₂ 是手指施加给物体的力。
把两个接触力按固定顺序放入向量:
物体受到的合力是两力相加,绕中心的力矩由 p × f 得到。因此抓取映射为:
F_o = (F_x, F_y, τ_z) 是平面力旋量,对应本系列六维顺序 (f, τ) 的平面分量。第三行的负号可以直接检查:左侧向上的力会让物体顺时针转动,因此贡献 −a f_y1。
取 a = 0.5 m,先不考虑接触是否可实现,代入 f_c = (2, −1, −2, 1) N:
合水平力: 2 + (−2) = 0 N |
它形成一个净转矩。矩阵乘法不仅给出答案,也把每一项的物理来源保存下来。
2. 零空间:为什么夹紧却不移动物体
换成相向夹紧的力:
左手指向右推、右手指向左推,两力大小相同且作用线相同,合力与合力矩都为零。这就是内部力:落在 G 的零空间里,能改变接触载荷,却不改变物体的合力旋量。
“合力为零”不等于没有应力,更不等于可以无限加大夹紧力。物体强度、指尖接触、驱动器转矩和传感器量程都会给出实际边界。对只能推不能拉的接触,以上夹紧方向还要求 λ ≥ 0。
若某个 f₀ 已经能产生所需合力 F_o,那么 f₀ + f_int 仍给出同样的 F_o。这种自由度可以用于调节夹紧,但调节后的力还必须满足接触约束。
3. 力闭合不能只看矩阵秩
对理想点接触,通常不能随意选择四个力分量。假设左接触法向朝右、右接触法向朝左,采用平面库仑摩擦模型:
法向力非负表达“只能推”,摩擦不等式限制切向力。前面 f_c = (2, −1, −2, 1) 的例子若取 μ = 0.6,每边允许的切向力上限为 1.2 N,而实际为 1 N,所以在这个简化模型下可行。
力闭合讨论:允许的接触力能否合成任意方向的物体力旋量,以抵抗任意方向的外扰。G 满行秩只说明不受限制的代数力分量可以张成这些方向,不代表摩擦锥内的力也能做到。
例如把摩擦系数设为 0,两接触只剩水平方向的推力;即使上面那个未约束的 G 仍是满行秩,也无法抵抗竖直外力。实际执行器还有幅值限制,因此“方向上力闭合”也不意味着能抵抗任意大的扰动。
4. 同一个转置,连接抓取的力和速度
设物体平面速度为 V_o = (v_x, v_y, ω)。左接触点的速度是 (v_x, v_y − aω),右接触点是 (v_x, v_y + aω);堆叠起来恰好是:
另一方面,手指接触点速度由手的雅可比给出 v_c = J_h(q)q̇。在刚性接触、接触持续保持且无滑动的假设下,两侧接触速度必须一致:
这里的速度分量与前面接触力分量采用相同坐标和相同堆叠顺序。于是接触功率满足:
这与上一章的 τ = JᵀF 是同一种虚功对偶关系。若 f_c 定义为手施加给物体的力,则物体施加给手的反力是 −f_c,它在手关节上的广义外力为 −J_hᵀf_c;准静态忽略其他作用时,驱动器需要相应抵消它。
发生滑动、分离或接触模型改变时,不能继续无条件使用整组速度相等关系,而应重新写出允许的速度与力约束。
5. 轮子不能侧滑,为什么还能换到旁边
下面切换到一个理想差速底盘/独轮车运动学模型。配置为 q = (x, y, θ),控制输入为前进速度 v 和转向角速度 ω:
车体侧向速度必须为零:
这是瞬时速度约束。车头朝向 θ = 0 时,确实不能直接产生 ẏ;但可以先改变车头方向,再前进或后退。它一般不能被等价地写成一个仅约束当前位置的方程 h(x,y,θ)=0,因此属于非完整约束。
这个模型允许原地转向与倒退,不是带最小转弯半径的汽车模型。不同平台要从各自的轮式约束重新建模。
6. 四段运动,把横向位移算出来
从 (0, 0, 0) 开始,按顺序执行四段运动。转向时位置不变,直行时朝向不变。
| 段 | 动作 | 结束状态 (x, y, θ) |
|---|---|---|
| 1 | 前进距离 a |
(a, 0, 0) |
| 2 | 原地左转角度 b |
(a, 0, b) |
| 3 | 沿当前朝向倒退距离 a |
(a − a cos b, −a sin b, b) |
| 4 | 原地右转角度 b |
(a(1 − cos b), −a sin b, 0) |
取 a = 0.6 m、b = 0.45 rad,最后得到:
朝向回来了,位置却没有回来。这里有明显的负 y 位移,同时仍有约 0.06 m 的正 x 位移;有限步长的四段运动不是精确的纯横移。
点击“下一步”,依次观察这组固定参数下的中间状态与终点;用“上一步”和“重置”对照动作前后。每一段都满足不能侧滑的约束,但整段路径积累出一开始无法瞬时产生的横向位移。
7. Lie 括号:给“先后顺序产生的方向”命名
把前进和转向的向量场分别写成:
采用括号约定 [g₁,g₂] = Dg₂·g₁ − Dg₁·g₂,直接求导得到:
在起点 θ = 0,它指向负 y,正好对应上述“前进—左转—倒退—右转”的净位移主方向。交换动作顺序或交换括号的次序,方向符号也会改变。
当 b 很小时,sin b ≈ b、1 − cos b ≈ b²/2,所以:
若 a、b 都按小量 ε 缩小,横向主效应是二阶量,纵向残差是三阶量。这解释了为什么反复组合小动作可以积累侧向效果,也说明不能把有限转角时的近似当成精确公式。
在这个允许正反控制的无漂移模型中,前进、转向和括号方向能张成三个配置方向。它揭示了运动的可达能力;碰撞、转角与速度限制、执行误差等仍需在具体规划和控制中处理。
8. 两组练习,分别检查力与运动
- 两指例子中取
a = 0.5 m,把内部夹紧力从λ = 2 N增加到λ = 3 N,物体合力旋量怎样变化?若指尖摩擦系数为0.4,法向力为2 N时能否支持1 N切向力? - 小车四段动作保持
a = 0.6 m,把左转角改为b = −0.45 rad,终点的哪一项变号?把b改为0又会怎样?
展开检查答案
第一组:单纯增加内部夹紧,合力旋量仍为零;法向载荷和可用摩擦余量会改变。0.4 × 2 = 0.8 N 小于 1 N,因此该切向力不满足模型中的摩擦限制。第二组:cos 是偶函数、sin 是奇函数,所以 x 不变、y 变为正值;b = 0 时前进与倒退完全抵消,终点回到原位。
本篇使用原创数值例子与推导,对应 Murray、Li、Sastry 教材的多指手运动学和非完整运动主题。作者版本页面提供原书及勘误。