01机器人空间描述与坐标变换
1. 简介
在机器人学中,描述物体在空间中的位置和姿态(位姿)是所有后续分析的基础。本模块详细介绍了如何使用旋转矩阵和平移向量来描述刚体运动,以及如何通过齐次变换矩阵 (Homogeneous Transformation Matrix) 将两者结合。
2. 核心理论
2.1 旋转矩阵 (Rotation Matrix)
二维或三维空间中的旋转可以通过正交矩阵描述。以绕轴旋转角为例,其旋转矩阵为:
2.2 齐次变换矩阵 (Homogeneous Transformation)
为了将旋转 () 和平移 () 统一在通过线性运算中,引入了的齐次变换矩阵:
3. 架构流程 (Mermaid)

4. Python 代码验证
下面的代码演示了如何使用 numpy 构建齐次变换矩阵,并将一个点从局部坐标系变换到全局坐标系。
代码块
Python
import numpy as np
def get_rotation_z(theta_deg):
"""生成绕Z轴的旋转矩阵"""
theta = np.radians(theta_deg)
c, s = np.cos(theta), np.sin(theta)
return np.array([
[c, -s, 0],
[s, c, 0],
[0, 0, 1]
])
def get_homogeneous_matrix(R, P):
"""组合旋转和平移生成4x4齐次变换矩阵"""
T = np.eye(4)
T[:3, :3] = R
T[:3, 3] = P
return T
# --- 场景模拟 ---
# 机器人末端坐标系 {B} 相对于基坐标系 {A}:
# 1. 绕 Z 轴旋转 90 度
# 2. 沿 X 轴平移 2 米, 沿 Y 轴平移 1 米
# 1. 定义旋转和平移