satopikac's site

Back

Lecture 2- Robot Control & Markov Decision Processes NotesBlur image

Part 1: Robot Control#

1.1 核心问题#

1780908552752

不同形态的机器人(四足、灵巧手、无人机等)共享一个根本约束:将高层目标转化为特定形态所需的电机力矩。要构建通用的机器人基础模型,必须理解适用于所有机器人的控制框架。

1.2 刚体表示(Rigid Body)#

大多数机器人可描述为一组刚体在空间中运动。刚体假设:物体上任意两点间距离在运动过程中保持不变(不压缩、不拉伸)。

  • SE2(Special Euclidean Group):平面运动,3自由度(x, y, θ),适用于地面车辆/机器人
  • SE3:空间运动,6自由度(x, y, z + roll, pitch, yaw),适用于无人机等

1.3 齐次变换矩阵(Homogeneous Transformation Matrix)#

用于在代码中表示 SE2/SE3 变换:

SE2SE3
自由度36
组成2D旋转矩阵 + 2D平移向量3D旋转矩阵 + 3D平移向量

旋转矩阵的合法条件

  1. 正交性:R^T = R^(-1)
  2. 行列式为1:det(R) = 1(确保不发生拉伸/压缩)

1.4 坐标系链与变换#

机器人通常拥有多层坐标系层级(如基座坐标系、传感器坐标系)。通过链式相乘齐次变换矩阵,可将感知信息从传感器坐标系转换到基座坐标系:

例:自动驾驶车辆的激光雷达感知到行人 → 通过变换矩阵转换到车辆基座坐标系 → 用于控制决策

1.5 铰接刚体(Articulated Rigid Bodies)#

真实机器人不是单一刚体,而是铰接刚体链,由三部分组成:

组件说明
连杆(Links)各个独立的刚体
关节(Joints)连接连杆的约束,最常见为旋转关节(Revolute Joint)
末端执行器(End Effector)与环境交互的部分(夹爪等)

铰接机器人本质上是坐标系链——通过链式变换可计算末端执行器相对于基座的位置。

1.6 末端执行器类型#

类型自由度特点
吸附夹爪(Suction)二值(开/关)动作空间简单,常用于工业抓放
平行夹爪(Parallel Gripper)1 DOF需要考虑物体宽度,需更高精度
灵巧手(Dexterous Hand)20+ DOF动作空间极大,控制复杂

1.7 自由度(Degrees of Freedom)#

定义:完全确定机器人位姿所需的独立参数数量

Kutzbach 公式

DOF=刚体总可能维度各关节约束数DOF = \text{刚体总可能维度} - \sum \text{各关节约束数}

例:Franka 机械臂 = 7 DOF

1.8 三大空间#

空间定义Franka 示例
构型空间(C-space)机器人所有可能构型的集合7维流形(7个关节角)
工作空间(Workspace)末端执行器在物理世界中可达的点集XYZ 空间中的可达区域
任务空间(Task Space)任务目标自然定义的流形,与机器人形态无关末端执行器的6D位姿

C-space 的拓扑取决于关节类型:

  • 平面点 → 欧几里得空间
  • 两个旋转关节 → 环面(Torus)

环面上两点间距离不是直线——从356°到1°,最短路径是2°而非355°。神经网络策略必须尊重这种拓扑。

冗余与零空间运动:当任务空间维度 < 构型空间维度时,存在冗余——机器人可在保持末端不动的情况下移动其他关节(如保持咖啡杯不动时移动肘部),可用于避障。

1.9 运动学(Kinematics)#

正运动学(Forward Kinematics)#

  • 问题:已知所有关节角度 → 计算末端执行器位置
  • 性质:确定性过程,一个构型对应唯一末端位置
  • 非双射:多个不同构型可能对应同一末端位置

逆运动学(Inverse Kinematics)#

  • 问题:已知目标末端位姿 → 求解关节角度
  • 难点:解通常不唯一,复杂机器人可能无解析解
  • 实用方法:基于优化的逆运动学
    • 定义代价函数(当前位姿与目标位姿的距离)
    • 添加辅助约束(避障等)
    • 使用梯度下降求解
    • 雅可比方法:通过雅可比矩阵(关节角微小变化对末端位置的影响)迭代逼近目标

1.10 轨迹插值(Trajectory Interpolation)#

机器人不会瞬移,需要在路径点之间插值。

线性插值(Linear Interpolation)#

  • 简单直接,但问题严重:
    • 第一步就达到全速度
    • 加速度存在 Dirac delta 尖峰
    • 对硬件产生巨大应力

五次样条插值(Quintic Splines)#

  • 每个关节轨迹用五阶多项式表示
  • 6个边界条件:起止速度=0,起止加速度=0
  • 运动平滑、启停柔和
  • 工业机器人(如 Franka)常用方法

1.11 PID 控制器#

由于摩擦、重力、空气阻力等干扰,机器人无法完美跟踪轨迹。PID 控制器用于纠正偏差:

分量作用
P(比例)误差越大,纠正力越大——将机器人拉回目标轨迹
I(积分)补偿持续偏差(如重力影响)
D(微分)抑制超调,提供阻尼

Part 2: Markov Decision Processes (MDP)#

2.1 从控制到决策#

机器人不仅需要跟踪轨迹,更需要在不确定环境中做出决策以达成长期目标。MDP 是连接低层运动控制与高层目标的统一数学框架。

MDP 的核心价值:将复杂的物理机器抽象为计算智能体,使得27自由度的人形机器人与棋盘游戏可用同一套学习算法处理。

2.2 策略(Policy)#

策略 π 是从观测到动作的映射:

πθ:OA\pi_\theta: O \rightarrow A
  • 类似图像分类器(X→Y),但关键区别:分类错误不改变输入,但策略错误会改变世界状态
  • 随机策略(Stochastic Policy):输出动作的概率分布
  • 确定性策略(Deterministic Policy):单一动作概率为1,其余为0

2.3 状态(State)vs 观测(Observation)#

状态 s观测 o
性质世界的完整真实描述状态的有损映射
是否变化不变(同一世界状态下恒定)随环境条件变化(如天气、遮挡)
例子车辆精确位置、速度、朝向摄像头图像(可能因雪天/夜间而不同)

机器人通常在观测空间中操作(如摄像头图像),只能获取状态的部分信息。

2.4 马尔可夫性质(Markov Property)#

P(st+1st,st1,,s0)=P(st+1st)P(s_{t+1} | s_t, s_{t-1}, \ldots, s_0) = P(s_{t+1} | s_t)
  • 已知当前状态后,历史状态不提供额外信息
  • 因为状态已包含确定未来所需的全部信息
  • 但由于随机性,即使知道状态,预测未来仍可能困难

注意:本课使用 s(状态)、a(动作)的符号体系(源自 Bellman 的动态编程),与控制理论中的 x(状态)、u(动作)等价。奖励/代价函数上存在对应关系。

2.5 MDP 的形式化定义#

MDP 由五元组定义:

M=(S,A,T,r,γ)\mathcal{M} = (\mathcal{S}, \mathcal{A}, T, r, \gamma)
符号含义
S状态空间
A动作空间
T(s’|s,a)转移概率(状态转移函数/动力学模型)
r(s,a)奖励函数
γ折扣因子

2.6 状态空间#

类型特点例子
离散有限个状态,可枚举棋盘
连续无穷多状态,实数定义关节角度

对学习的影响

  • 离散空间:可构建状态-值表
  • 连续空间:必须使用函数逼近器(神经网络)

2.7 动作空间#

类型例子
离散键盘控制(上下左右)
连续VR 动作控制器(平滑连续输入)

2.8 转移模型(Transition Model)#

  • 确定性转移:给定动作,结果唯一(如方向盘转5° → 精确弧线)
  • 随机性转移:现实世界中存在不确定性(路面湿滑、轮胎磨损、电机超调、传感器噪声)

2.9 奖励函数(Reward Function)#

类型说明效果
稀疏奖励仅在 episode 结束或条件满足时给出(如:抓起物体=1,否则=0)学习困难,探索效率低
密集奖励持续反馈(如:末端执行器到目标物体的欧氏距离)加速学习,显著提升性能

2.10 轨迹(Trajectory)#

轨迹 τ 是状态-动作的序列:

τ=(s0,a0,s1,a1,)\tau = (s_0, a_0, s_1, a_1, \ldots)

轨迹概率由三部分决定:

P(τ)=P(s0)tπ(atst)T(st+1st,at)P(\tau) = P(s_0) \cdot \prod_t \pi(a_t|s_t) \cdot T(s_{t+1}|s_t, a_t)
因子含义
P(s₀)初始状态概率
π(a_t|s_t)策略在该状态选择该动作的概率
T(s_{t+1}|s_t, a_t)给定动作后转移到下一状态的概率

2.11 视界(Horizon)#

类型说明例子
有限视界严格时间限制,到期重新开始5秒内抓取移动物体
无限视界持续到无穷或到达终止状态自主导航、长期任务

折扣因子 γ(Discount Factor)

  • 取值 [0, 1]
  • 确保近期奖励权重高于远期奖励
  • 解决无限视界下累积奖励无限大的问题
  • γ 越小 → 越短视;γ 越大 → 越重视长期回报

2.12 学习目标:最优策略#

累积回报(Return)

  • 有限视界:R=t=0TrtR = \sum_{t=0}^{T} r_t
  • 无限视界:R=t=0γtrtR = \sum_{t=0}^{\infty} \gamma^t r_t

期望回报(Expected Return)

J(π)=Eτπ[tγtrt]J(\pi) = \mathbb{E}_{\tau \sim \pi} \left[ \sum_t \gamma^t r_t \right]

由于世界的随机性,回报建模为所有可能轨迹的期望值。

最优策略

π=argmaxπJ(π)\pi^* = \arg\max_\pi J(\pi)

即最大化期望回报的策略。


关键概念总结#

机器人控制链:
  高层目标 → 逆运动学(关节角) → 轨迹插值(路径点) → PID控制(电机力矩)

MDP 框架:
  状态/观测 → 策略(π) → 动作 → 转移函数(T) → 新状态 + 奖励(r)
  目标:最大化期望累积折扣奖励
plaintext
Lecture 2- Robot Control & Markov Decision Processes Notes
https://satopikac.github.io/blog/robotlearning
Author satopikac
Published at 2026年6月8日
Comment seems to stuck. Try to refresh?✨