第 5 阶段 · 第 23 章 · 理论23. 机械臂数学基础与坐标系
本章节介绍的内容属于传统控制,即通过"死编程"来控制机械臂。传统控制应用在绝大多数已落地的项目中。它的好处是稳定可靠,在工业生产场景中,这点尤为可贵 。它的不足之处就是在一个新场景中,需要重新调试,才能稳定运行。在本章节,将着重介绍运动控制。建立运动学、手眼标定和视觉抓取所需的数学基础。
本阶段需要的硬件
本阶段需要准备的硬件如下。全部阶段的完整清单见 第 3 章。
主控单元
另外还需要一台台式机或笔记本:Ubuntu 22.04、GTX 4080 以上(12G 显存以上)、16GB 以上内存。
本阶段
教学目的
本章节介绍的内容属于传统控制,即通过"死编程"来控制机械臂。传统控制应用在绝大多数已落地的项目中。它的好处是稳定可靠,在工业生产场景中,这点尤为可贵 。它的不足之处就是在一个新场景中,需要重新调试,才能稳定运行。在本章节,将着重介绍运动控制。建立运动学、手眼标定和视觉抓取所需的数学基础。
向量与矩阵基础
在正逆运动学(下一章会讲)的计算中存在大量向量和矩阵,因此打好矩阵数理基础很重要。在实际控制中,我们并不需要亲自参与底层的运算,所以本章只是提供参考
世界坐标系和基坐标系
世界坐标系,可以理解为机械臂所处的环境的坐标系,基坐标系以机器人底座建立的坐标系。在rebot arm 的设计中,因为机器人底座是固定的,所以世界坐标系和基坐标系重合。
例如:机械臂放在桌子上,以机械臂底座中心为原点,桌面为 xy 平面,桌脚垂直方向为 z 轴方向,建立世界坐标系,坐标系遵守右手准则。而基坐标系也与世界坐标系重合。(常用笛卡尔坐标系)
机器人/视觉领域的 XYZ 三轴颜色约定(RGB = XYZ)
| 轴 | 颜色 | 英文 |
|---|
| X | 🔴 红 | Red |
| Y | 🟢 绿 | Green |
| Z | 🔵 蓝 | Blue |
关节空间坐标系和末端坐标系
关节空间坐标系是在机器人控制中最常用到的坐标系。它建立于机器人的关节上,机器人有多少关节,就有多少维度。
末端坐标系
末端坐标系建立在机器人的末端上,另外还有工具坐标系。当我们需要让末端抵达某个位置,则需要关心末端坐标,如果末端上装了夹爪,则我们会关心夹爪的坐标。
一句话概括:世界坐标是人最直观理解的坐标系,而机器人依靠关节空间坐标系来改变末端夹爪的位置,所以我们需要通过世界坐标设置目标,而使用关节空间坐标系来实现机器人按照我们的想法运动。这其中的联系,就是坐标变换。
相机坐标系
相机坐标系和末端坐标系通常通过一个平移变化来获得。
- 原点:相机光心
- 约定:z 轴沿光轴向前,x 右、y 下(OpenCV 惯例;OpenGL/ROS 某些工具是 y 上)
坐标变换的矩阵表示
齐次表示把"线性变换 + 平移"统一成一个矩阵乘法,
非齐次下平移是矩阵之外的一次加法,没法跟旋转拼成单个矩阵。
平移变换
| 非齐次 | 齐次 |
|---|
| p′=p+t | T=100001000010txtytz1 |
| x′y′z′=xyz+txtytz=x+txy+tyz+tz | x′y′z′1=100001000010txtytz1xyz1=x+txy+tyz+tz1 |
旋转变换
| 非齐次 | 齐次 |
|---|
| X 轴 | Rx(θ)=1000cosθsinθ0−sinθcosθ | Rx(θ)=10000cosθsinθ00−sinθcosθ00001 |
| Y 轴 | Ry(θ)=cosθ0−sinθ010sinθ0cosθ | Ry(θ)=cosθ0−sinθ00100sinθ0cosθ00001 |
| Z 轴 | Rz(θ)=cosθsinθ0−sinθcosθ0001 | Rz(θ)=cosθsinθ00−sinθcosθ0000100001 |
欧拉角和四元数
欧拉角和四元数对比
- 欧拉角:3 个数,直观,有万向锁
- 四元数:4 个数(1 个约束),不直观,没万向锁
工程上:给人看用欧拉角,给机器算用四元数。