Token Lab搜索

← Physical AI · 机器人
PHYSICAL AI / 1 OF 8

01 · 坐标系、变换与机器人运动学

把相机观察变成机器人指令,明确坐标系、单位与旋转约定。

先修:向量、矩阵乘法、弧度。

理解机制

感知模型输出的是某坐标系中的数值,并非绝对位置。约定 T_AB 将 B 系坐标变到 A 系,复合时相邻坐标标签相消。正运动学把关节位置映射到工具位姿;逆运动学求关节解,可能多解或无解。Jacobian 是局部速度映射,不是全局逆函数。接近奇异位形时,很小的末端速度也可能需要过大的关节速度。

Text / 原始公式
p_A = R_AB p_B + t_AB
T_AC = T_AB T_BC;  T_AB⁻¹ = [R_ABᵀ, −R_ABᵀt_AB; 0, 1]
x = l₁ cos q₁ + l₂ cos(q₁+q₂)
y = l₁ sin q₁ + l₂ sin(q₁+q₂)
学习指南与本课目录LEARNING CONTRACT

理解 → 实现 → 研究

目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。

  • 理解层:写明假设、形状/单位和一个反例。
  • 实现层:复算数值例子并检查边界。
  • 研究层:在匹配预算下比较一个替代方法。

机制图与逐步推导

相机点与时间戳 → 标定坐标变换 → 逆解与关节限位检查 → 指令与实测位姿
原创机制示意图,按从上到下顺序阅读。 SVG ↓
符号与假设
符号含义
R, t旋转矩阵与以米计的平移
q, l以弧度计的关节角与连杆长度
  1. 相机点 p_,0,0) 米,R_BC 绕 z 轴正转 90°,t_,0,0) 米。先旋转得 (0,1,0),再平移得 p_,1,0)。
  2. 应用逆变换:先减平移,再反向旋转,应恢复 (1,0,0)。往返测试可以发现逆平移错误。
  3. 两连杆 =1、、π 时末端为 (1,1)。 时手臂伸直,平面 Jacobian 降秩。
实验检查点

实现正逆变换与差分 Jacobian。保存往返误差、单位测试与奇异性曲线,主动注入角度/弧度与坐标顺序错误。

原创面试练习与分析

先口述答案再展开分析,补充假设、反例和你会运行的测试。

为什么抓取像素正确仍会抓偏?

深度、内参、外参、工具偏移和同步均可能错误。先让已知标定点通过每级变换,再考虑重训策略。

如何处理不可达的逆解目标?

报告不可行性,保持关节限位,使用有边界回退,不能把巨大的最小二乘解直接下发。

阅读一手来源

Modern Robotics — Lynch & Park ↗

Token Lab 原创讲解与合成计算,不是机器人性能实测。来源链接核对于 2026-10-25,未锁版本的 arXiv 链接可能修订,复现时请记录版本。

MATHEMATICAL REVIEW · 2026-10-26

假设、参考实现与验收

Rᵀ 为逆要求 R 正交;刚体旋转还需 。采用右手坐标、统一长度单位,齐次变换作用于列向量。

已复核公式条件、单位及算例。实现隔离一个数值机制,不训练完整策略,也不控制真实硬件。

运行前:预测一个边界情况

往返变换恢复 p;非正交 R 不能用转置代替逆。

提示:隔离假设

固定基线输入,只改变一个参数或边界;同时比较数值与声明单位。单例通过仅验证该样例。

最小可运行算例

将算例及所链接模块保存在同一目录。使用 Node.js 22 或更高版本,然后运行 node frames-and-kinematics.mjs. 无需第三方运行依赖。

const solve=()=>{
const R=[[0,-1],[1,0]], t=[1,2], p=[1,0];
const world=R.map((row,i)=>row.reduce((s,x,j)=>s+x*p[j],0)+t[i]);
const recovered=p.map((_,i)=>R.reduce((s,row,j)=>s+row[i]*(world[j]-t[j]),0));return [...world,...recovered];
};
const actual=solve();
const expected=[1,3,1,0];
if(JSON.stringify(actual)===JSON.stringify(expected)){console.log('PASS',actual)}else{
const a=[actual].flat(), b=[expected].flat();
if(a.length!==b.length||a.some((v,i)=>!Number.isFinite(v)||Math.abs(v-b[i])>1e-10))throw Error('Numerical mismatch');
console.log('PASS within 1e-10',actual);
}
参考输出——先预测再展开
[
  1,
  3,
  1,
  0
]

测试与迁移

往返变换恢复 p;非正交 R 不能用转置代替逆。

在下方笔记记录输入、代码版本、期望值和实测值;再构造违反上述假设的反例,解释原结论为何不再成立。

下载完整代码包(.tar.gz) · 完整参考代码与回归检查

预测、检验与证据记录

展开答案前先预测一个结果;练习后记录差异和迁移测试。记录仅存本地,在不同语言版本间共用。

打开记录/导出/清除 →

数学复核范围逐篇记录,不代表完成论文实证复现;可在笔记中记录疑似错误。 复核范围