04力学与运动学
机器人怎么动的物理基础:位姿怎么表示、正逆运动学、雅可比、动力学和平衡。 · 168 条
- 4.1坐标系与位姿13
- 4.2旋转的多种表示19
- 4.3连杆、关节与机构19
- 4.4正运动学与逆运动学19
- 4.5速度与雅可比16
- 4.6力、静力学与惯量13
- 4.7动力学与振动21
- 4.8接触、摩擦与抓取21
- 4.9足式平衡与简化模型16
- 4.10步态与行走11
4.1坐标系与位姿
起点:用坐标系把物体「在哪、朝哪」写成数字,再学会在坐标系之间换算。
- 刚体Rigid Body受力后内部任意两点距离都不变、完全不变形的理想化物体。
- 自由度Degrees of Freedom确定系统各部分位置所需的最少独立变量数,机器人里常指能独立运动的关节数。
- 坐标系Coordinate Frame规定了原点和坐标轴朝向的参照,用来描述位置和方向。
- 右手坐标系与轴向约定Right-handed Frame & Axis Conventions (ROS REP 103: x forward / y left / z up; Z-up vs Y-up; camera optical frame)约定 x、y、z 怎么排、哪个轴朝上;各软件不统一,换算出错很常见。
- 世界坐标系World Frame整个场景共用、固定不动的参考坐标系,所有位置都可换算到它下面。
- 基坐标系Base Frame固定在机器人底座上的坐标系,机械臂末端的位置和朝向多以它为参照。
- 机体坐标系Body Frame固连在机器人身体上、随身体一起移动和转动的坐标系。
- 位姿Pose物体在空间里的位置加朝向,三维中共 6 个自由度。
- 旋转矩阵Rotation Matrix用行列式为 1 的 3×3 正交矩阵表示三维旋转,乘上向量就把它转过去。
- 特殊正交群 SO(3)Special Orthogonal Group SO(3)三维空间所有旋转构成的集合,元素是行列式为 1 的正交矩阵。
- 坐标变换Coordinate Transformation把点或位姿在一个坐标系下的数值,换算成另一个坐标系下的数值。
- 齐次变换矩阵Homogeneous Transformation Matrix把旋转和平移合成一个 4×4 矩阵,描述一个坐标系相对另一个的位姿。
- 投影重力Projected Gravity把竖直向下的重力方向换到机器人机体坐标系下表示,告诉策略身体歪了多少。
4.2旋转的多种表示
展开上一节的「朝向」:欧拉角、四元数、轴角、6D 各有利弊,再到李群与旋量。
- 欧拉角Euler Angles用依次绕坐标轴转动的三个角度来描述物体朝向。
- 横滚-俯仰-偏航角Roll-Pitch-Yaw用绕 x、y、z 轴的三个转角描述朝向:横滚、俯仰、偏航。
- 内旋与外旋Intrinsic vs. Extrinsic Rotations连续旋转时每步绕跟着转的新轴(内旋),还是绕固定不动的原轴(外旋)。
- 万向节死锁Gimbal Lock用欧拉角表示旋转时,某个角转到 90° 使两根转轴重合、丢掉一个自由度。
- 四元数Quaternion用 4 个数表示三维旋转,机器人软件里最常用的朝向格式。
- 四元数分量顺序约定(wxyz / xyzw)Quaternion Component Order Convention (scalar-first wxyz vs scalar-last xyzw; Hamilton vs JPL)四元数的实部 w 放第一位还是最后一位,各软件库并不统一。
- 球面线性插值Spherical Linear Interpolation在两个旋转之间沿最短弧、以恒定角速度平滑过渡的插值方法。
- 四元数双倍覆盖Quaternion Double Cover单位四元数 q 和 −q 表示同一个旋转,每个姿态都对应两个四元数。
- 6D 旋转表示6D Rotation Representation取旋转矩阵前两列共 6 个数表示旋转,适合神经网络学习。
- 9D 旋转表示9D Rotation Representation (SVD Orthogonalization)让网络直接输出 3×3 共 9 个数,再用 SVD 投影成最近的合法旋转矩阵。
- 旋转测地距离Geodesic Distance on SO(3)两个姿态之间最少还要转多少度,是衡量旋转误差的标准度量。
- 轴角Axis-Angle Representation用「绕哪根轴转、转多少角度」来表示一次三维旋转。
- 罗德里格斯公式Rodrigues' Rotation Formula已知旋转轴和转角,直接算出三维旋转矩阵的公式。
- 反对称矩阵Skew-Symmetric Matrix转置等于自身相反数的矩阵;3×3 时能把叉乘写成矩阵乘法。
- 李群Lie Group既是群又是光滑流形的数学对象,机器人里的旋转和位姿都属于李群。
- 指数映射Exponential Map把「转轴×转角」这类向量变成旋转或位姿的映射,对数映射反过来。
- 旋量理论Screw Theory把刚体任意运动看成绕某根轴转动、同时沿该轴平移的数学框架。
- Plücker 坐标(Plücker 射线嵌入)Plücker Coordinates (Plücker Ray Embedding)用方向加矩共 6 个数表示空间直线,也常用来编码每个像素的相机射线。
- 对偶四元数Dual Quaternion用 8 个数同时表示三维旋转和平移的代数工具。
4.3连杆、关节与机构
从单个刚体到整台机器人:连杆和关节怎样连成机构,一共有几个自由度。
- 连杆Link机器人身上被关节连起来的一节节刚性部件。
- 转动关节Revolute Joint只允许两节连杆绕一根固定轴相对转动的关节,1 个自由度。
- 移动关节Prismatic Joint只允许两个部件沿一根轴直线相对滑动、不能转动的单自由度关节。
- 球关节Spherical Joint允许绕一个固定点向任意方向转动、但不能平移的三自由度关节。
- 运动副(转动副 / 移动副 / 低副 / 高副)Kinematic Pair (Revolute / Prismatic Pair; Lower / Higher Pair)两个构件直接接触又能相对运动的连接,如铰链、滑轨、齿轮啮合。
- 屈伸与侧摆(外展/内收)Flexion/Extension and Abduction/Adduction (Lateral Swing)关节的两类基本动作:屈伸是弯曲和伸直,侧摆是左右张开和并拢。
- 关节限位Joint Limits每个关节允许转动或移动的范围,广义上还包括速度和力矩上限。
- 运动链Kinematic Chain用关节把刚体连杆一节节连起来形成的机构模型,分开链和闭链。
- 串联机构Serial Mechanism连杆用关节首尾依次相连、从底座到末端不形成闭环的机构。
- 并联机构Parallel Mechanism用多条运动链同时连接基座和末端平台的机构,刚度高、速度快但工作空间小。
- 四连杆机构Four-Bar Linkage四根杆用四个转动关节首尾连成闭环、只有 1 个自由度的机构。
- Grübler 公式Grübler's Formula (Chebychev–Grübler–Kutzbach Criterion)用连杆数、关节数和各关节自由度,算出一个机构有几个自由度的公式。
- 并联踝关节Parallel Ankle Mechanism (Closed-Chain Ankle)由两台电机经连杆共同驱动脚踝俯仰和侧摆的闭链脚踝结构。
- 运动学树Kinematic Tree以连杆为节点、关节为边的树形结构,从根部一路分叉到各个末端。
- 浮动基Floating Base机器人躯干不固定在地上,本身还有 6 个可自由移动和转动的自由度。
- 构型空间Configuration Space机器人所有可能姿态组成的空间,其中每个点对应一种完整姿态。
- 广义坐标Generalized Coordinates用一组最少的独立变量(如各关节角)唯一描述机器人整体构型。
- 主动自由度 / 被动自由度Active DoF / Passive DoF有电机独立驱动的自由度叫主动,没有独立驱动、靠联动或外力跟着动的叫被动。
- 欠驱动Underactuation电机没法直接产生任意方向的加速度,典型情况是驱动器比自由度少。
4.4正运动学与逆运动学
结构定了就能计算:关节角与末端位姿互相换算,以及建模、可达范围和标定。
- 运动学Kinematics只研究运动的几何关系(位置、速度、加速度),不管运动是什么力引起的。
- 关节空间Joint Space把全部关节角(或位移)当坐标的空间,一个点就是机器人的一种关节摆法。
- 任务空间Task Space直接描述任务关心的量的空间,通常指末端的位置和朝向。
- 末端位姿End-Effector Pose机械臂末端夹爪或工具在空间中的位置加朝向,通常相对基坐标系表示。
- 工具中心点Tool Center Point末端工具上真正干活的那个参考点,机器人按它而不是法兰去对准目标。
- 正运动学Forward Kinematics已知各关节角度,算出机械臂末端在空间中的位置和朝向。
- 逆运动学Inverse Kinematics已知末端要到达的位置和朝向,反推各关节应转到的角度。
- 工作空间Workspace机器人末端能到达的所有位置(和朝向)构成的区域。
- 臂展(工作半径)Reach (Arm Reach / Working Radius)机械臂伸展开时从底座中心能够到的最远距离,是选型基本参数。
- DH参数Denavit-Hartenberg Parameters每个关节只用四个数描述相邻连杆坐标系关系的机械臂建模约定。
- 改进 DH 参数Modified Denavit-Hartenberg ParametersDH 参数的一种变体:连杆坐标系放在连杆近端的关节轴上,变换顺序也不同。
- 指数积公式Product of Exponentials Formula把每个关节看作绕旋量轴的运动,连乘各关节矩阵指数得到末端位姿。
- 数值逆解Numerical Inverse Kinematics从初始猜测出发反复迭代修正关节角,逼近目标末端位姿的逆运动学解法。
- 解析逆解Analytical Inverse Kinematics事先推好公式,代入末端位姿就直接算出全部关节角的逆运动学解法。
- 球形手腕Spherical Wrist机械臂最后三个转动关节的轴线交于一点的手腕结构。
- 可达性地图 / 逆可达性地图Reachability Map / Inverse Reachability Map离线预存机械臂能到达哪些末端位姿;逆图反查底座放哪能够到目标。
- 零位标定(零点标定)Joint Zero-Position Calibration (Homing / Offset Calibration)测出每个关节读数为零时实际在哪个角度,让软件模型和实物对上号。
- 运动学标定Kinematic Calibration实测机器人末端位置,反推并修正模型里的连杆长度、关节零位等几何参数。
- 绝对定位精度Absolute Positioning Accuracy让机器人去一个算出来的坐标,它实际到达的位置和目标差多少。
4.5速度与雅可比
从位置推进到速度:雅可比把关节速度换成末端速度,奇异和冗余都由此而来。
- 微分运动学Differential Kinematics用雅可比矩阵把关节速度和末端速度联系起来的运动学。
- 雅可比矩阵Jacobian Matrix把各关节转速换算成末端执行器速度的矩阵,随机器人姿态变化。
- 运动旋量(速度旋量)Twist (Spatial Velocity)把刚体的角速度和线速度拼成一个 6 维向量,统一描述它怎么动。
- 几何雅可比与解析雅可比Geometric vs. Analytical Jacobian都把关节速度映射到末端速度,区别是姿态部分用角速度还是姿态坐标的导数。
- 奇异位形Kinematic Singularity雅可比矩阵降秩、末端在某些方向上动不了的机械臂姿态。
- 可操作度Manipulability衡量机械臂在当前姿态下末端往各方向动有多容易、离奇异有多远的指标。
- 雅可比伪逆Jacobian Pseudoinverse雅可比矩阵不可逆时用的「替代逆」,给出误差最小、关节动得最少的解。
- 阻尼最小二乘法Damped Least Squares数值逆解时给雅可比求逆加阻尼项,让机械臂在奇异位形附近不乱动。
- 雅可比转置法Jacobian Transpose Method用雅可比矩阵的转置代替逆来迭代求逆运动学,计算便宜但收敛较慢。
- 运动学冗余Kinematic Redundancy关节数多于任务所需自由度,同一个末端位姿对应无数种关节构型。
- 零空间Null Space让矩阵输出为零的全部输入;对冗余机械臂,指不改变末端位姿的关节运动。
- 臂型角(肘部自运动角)Arm Angle / Swivel Angle (7-DoF Redundancy Parameter)7 自由度手臂在手的位姿固定时,肘部绕肩-腕连线转过的角度
- 全身逆运动学Whole-Body Inverse Kinematics一次解出机器人全身关节角,让手、脚、躯干等多个部位同时到达目标。
- 差速驱动运动学Differential Drive Kinematics描述左右两轮转速如何决定底盘前进速度和转弯角速度的公式。
- 非完整约束Nonholonomic Constraint只限制速度方向、又不能积分成位置限制的约束,典型如轮子不能横移。
- 加加速度Jerk加速度随时间的变化率,也就是位置对时间的三阶导数,单位 m/s³。
4.6力、静力学与惯量
前面只管几何,这里开始算力:力矩、力旋量、静力平衡,以及质心和惯量。
- 力矩Torque力让物体绕轴转动的效果,大小等于力乘力臂,单位牛·米。
- 负载Payload机器人末端能稳定带着干活的最大质量,一般用千克标注。
- 力旋量Wrench把三维力和三维力矩打包成一个 6 维向量,描述刚体受到的完整载荷。
- 伴随变换Adjoint Map把速度旋量、力旋量从一个坐标系换到另一个坐标系的 6×6 矩阵
- 静力学Statics研究物体静止或匀速时,各个力和力矩如何相互平衡的力学分支。
- 虚功原理Principle of Virtual Work系统静平衡,当且仅当主动力在任意允许的微小虚位移上做功之和为零。
- 准静态假设Quasi-static Assumption假设运动足够慢,忽略惯性力,每一刻都按力平衡来分析。
- 质心Center of Mass各部分位置按质量加权平均得到的点,分析整体平移运动时可当作全部质量集中于此。
- 转动惯量Moment of Inertia物体绕某根轴转起来或停下来有多难的量,I = Σmr²。
- 惯性张量Inertia Tensor一个 3×3 对称矩阵,描述刚体绕任意方向转动时有多难转。
- 平行轴定理Parallel Axis Theorem由过质心轴的转动惯量求任一平行轴转动惯量的公式:I = I_c + md²。
- 惯性参数Inertial Parameters描述一个刚体有多重、重心在哪、绕各轴有多难转动的一组参数。
- 角动量Angular Momentum衡量物体转动「冲劲」的量,刚体绕轴时等于转动惯量乘角速度。
4.7动力学与振动
把力和运动连起来:写出运动方程、用递推算法高效求解,再看弹簧阻尼与振动。
- 动力学Dynamics研究力和力矩如何产生运动,回答「给多大力矩会有什么加速度」。
- 刚体动力学Rigid Body Dynamics研究力和力矩如何让一个或多个相连刚体产生加速与转动。
- 多体动力学Multibody Dynamics研究多个由关节相连的刚体或柔性体在受力下如何运动的学科。
- 正动力学Forward Dynamics已知当前状态和施加的力矩,算出机器人此刻的加速度和接下来的运动。
- 逆动力学Inverse Dynamics已知想要的运动(角度、速度、加速度),反算各关节需要出多大力矩。
- 牛顿-欧拉方程Newton-Euler Equations同时描述刚体平动(F = ma)和转动(欧拉方程)的一组动力学方程。
- 拉格朗日方程Euler-Lagrange Equations从动能和势能出发推导机器人运动方程的方法,不必逐个分析约束力。
- 质量矩阵Mass Matrix机器人动力学方程里描述各关节有多难被加速的矩阵 M(q)。
- 科里奥利力与离心力项Coriolis and Centrifugal Terms机器人动力学方程里与关节速度平方或速度乘积有关的力矩项。
- 递归牛顿-欧拉算法Recursive Newton-Euler Algorithm先由基座向末端推速度加速度,再由末端往回推力,算出关节力矩的逆动力学算法。
- 复合刚体算法Composite Rigid Body Algorithm把关节外侧连杆合成一个刚体来高效计算质量矩阵的算法
- 铰接体算法Articulated Body Algorithm已知关节力矩求关节加速度的 O(n) 递推算法,正动力学的经典解法
- 空间向量代数Spatial Vector Algebra把角量和线量合成 6 维向量来算多刚体动力学的记号体系。
- 动力学参数辨识Dynamic Parameter Identification让机器人按特定轨迹运动,从力矩数据反推各连杆的质量和惯量。
- 刚度Stiffness物体或关节抵抗变形的能力:受同样的力,变形越小刚度越大。
- 柔顺性Compliance机器人受外力时能顺势退让的程度,数值上是刚度的倒数。
- 阻尼Damping把运动或振动的能量逐渐耗散掉,让系统慢下来、稳下来的作用。
- 质量-弹簧-阻尼系统Mass-Spring-Damper System由质量、弹簧、阻尼器组成的最基础振动模型,控制和接触问题常用它近似。
- 固有频率Natural Frequency系统不受持续外力时自由振动的频率,外力频率接近它就会共振。
- 阻尼比Damping Ratio衡量振动衰减快慢的无量纲数,决定系统回到平衡时会不会来回晃。
- 柔性关节Flexible Joint电机和连杆之间有明显弹性的关节,电机转角不等于连杆实际转角。
4.8接触、摩擦与抓取
从机器人自身转向外界:接触力、摩擦和碰撞,再用它们分析怎样抓稳物体。
- 接触力Contact Force两个物体接触时相互施加的力,可拆成法向压力和切向摩擦力。
- 法向力与切向力(剪切力)Normal Force and Tangential (Shear) Force接触力垂直于接触面的分量叫法向力,平行于接触面的分量叫切向力(剪切力)。
- 摩擦系数Friction Coefficient (Coefficient of Friction)最大摩擦力与法向压力之比,决定接触面多不容易打滑。
- 库仑摩擦Coulomb Friction摩擦力不超过摩擦系数乘法向力、且与滑动速度无关的经典摩擦模型。
- 打滑Slip接触面之间出现相对滑动,通常因切向力超过摩擦力上限。
- 摩擦锥Friction Cone一个接触点在不打滑前提下能施加的全部力,构成一个圆锥形集合。
- 摩擦金字塔Friction Pyramid用多棱锥近似圆形摩擦锥,把摩擦约束变成线性不等式。
- 扭转摩擦与滚动摩擦Torsional and Rolling Friction分别阻止物体绕接触法线自转、阻止物体在表面上滚动的两种摩擦。
- 静摩擦与 Stribeck 效应Static Friction (Stiction) and Stribeck Effect起动前要先克服较大的静摩擦,刚动起来后摩擦反而先变小。
- 黏性摩擦Viscous Friction大小与相对速度成正比的摩擦,转得越快阻力越大。
- 碰撞冲击Impact两个物体相撞时,极短时间内出现很大接触力、使速度突变的过程。
- 恢复系数Coefficient of Restitution碰撞后分离速度与碰撞前接近速度之比,衡量碰撞有多「弹」
- 抓取分类(强力抓取 / 精确抓取 / 捏取)Grasp Taxonomy (Power Grasp vs. Precision Grasp / Pinch)按手和物体怎么接触来给抓法分类,最粗一层分强力抓取和精确抓取。
- 对跖抓取Antipodal Grasp两个接触点正面相对、连线落在两处摩擦锥内的两指夹持抓取。
- 力封闭Force Closure抓取点借助摩擦能抵抗任意方向的外力和力矩,物体不会被扯脱。
- 形封闭Form Closure只靠接触点的几何位置把物体卡死,完全不依赖摩擦的约束状态。
- 接触雅可比Contact Jacobian把关节速度映射成接触点速度、把接触力映射回关节力矩的矩阵
- 抓取矩阵Grasp Matrix把各接触点的接触力汇总成物体所受合力与合力矩的线性映射。
- 抓取质量指标Grasp Quality Metric给一个抓取打分的数值,衡量它能多好地抵抗外来扰动。
- 手部协同Hand Synergies人手众多关节常按少数固定组合一起动,可用几个协同参数描述手型。
- 指步态Finger Gaiting手指轮流松开换位、其余手指保持抓牢,从而在手里大角度转动物体。
4.9足式平衡与简化模型
上一节的接触力用到脚下:腿足机器人怎样判断站稳,以及规划平衡的简化模型。
- 支撑多边形Support Polygon机器人所有触地点在地面上围成的凸区域,各种平衡判据都以它为边界。
- 静态稳定Static Stability质心的竖直投影落在支撑多边形内,机器人停在当前姿态也不会倒。
- 动态稳定Dynamic Stability重心可暂时越出支撑范围,靠持续运动和下一步落脚把平衡找回来。
- 地面反作用力Ground Reaction Force地面反推在脚或足端上的力,腿足机器人站立、行走、跳跃都靠它。
- 压力中心Center of Pressure地面对脚底所有支撑力合成后的作用点,常用来判断是否站得稳。
- 零力矩点Zero Moment Point地面反力在水平方向不产生力矩的那个点,双足行走最经典的平衡判据。
- 点足 / 平足(足端形态)Point Foot vs. Flat Foot (Sole)足端和地面是点接触还是脚掌面接触,决定能否靠踝力矩保持平衡。
- 倒立摆模型Inverted Pendulum Model把机器人简化成支在地上的一根杆顶着一个质点,用来分析和控制平衡。
- 线性倒立摆模型Linear Inverted Pendulum Model把双足机器人简化成质心高度不变的倒立摆,用来快速规划行走。
- 小车-桌子模型Cart-Table Model把双足机器人看成桌面上跑的小车,用来联系质心运动和零力矩点
- 捕获点Capture Point机器人此刻一步踩到那里就能完全停住的地面点
- 发散运动分量Divergent Component of Motion双足质心运动中会指数发散的那部分,控住它就能保持平衡。
- 质心力矩枢轴点Centroidal Moment Pivot过质心作地面反作用力的平行线,与地面的交点
- 质心动力学Centroidal Dynamics只描述机器人质心和整体动量如何随外力变化的动力学
- 质心动量矩阵Centroidal Momentum Matrix把全身关节速度映射成质心线动量和角动量的矩阵
- 单刚体动力学模型Single Rigid Body Dynamics Model把腿足机器人整机当成一个刚体、忽略腿部质量的简化动力学模型。
4.10步态与行走
从站稳到走和跑:步态的相位与类型、跑跳模型,以及更自然、更省能的走法。
- 支撑相 / 摆动相Stance Phase / Swing Phase步态中脚着地承重的阶段叫支撑相,脚离地前摆的阶段叫摆动相。
- 腾空相Flight Phase (Aerial Phase)步态中所有脚同时离地、身体在空中的那一段时间。
- 步态周期与占空比Gait Cycle and Duty Factor步态周期是腿从着地到下次着地的一整轮,占空比是其中着地时间的占比。
- 踱步步态Pace Gait四足同侧前后两腿同时迈、左右两侧轮流支撑的两拍步态。
- 跳跃步态Bound Gait四足两条前腿一起着地、两条后腿一起着地,前后交替的奔跑步态
- 疾驰步态Gallop Gait四足最快的步态:四只脚依次错开落地,并带有全身腾空的阶段。
- 弹簧负载倒立摆Spring-Loaded Inverted Pendulum用一个质点加一根无质量弹簧腿来描述跑和跳的简化模型。
- 直膝行走Straight-Knee Walking (vs. Bent-Knee / Crouched Gait)人形机器人支撑腿接近伸直地走路,而不是一直弯着膝盖「蹲着走」。
- 被动动力学行走Passive Dynamic Walking不用电机,只靠重力和腿的自然摆动沿缓坡走下去的双足行走方式。
- 极限环Limit Cycle非线性系统里一条孤立的闭合周期轨迹,附近的状态会被吸引过去并绕它循环。
- 运输成本Cost of Transport单位重量移动单位距离消耗的能量,衡量走路跑步有多省能。