机器人中的协调框架和转型:一个明确的指南
了解机器人世界,机器人基础,工具和摄像头框架的坐标框架和同质变化,并提供转换示例.
[←学习]
机器人系统中的几乎每一个导致手臂朝错误的方向移动的错误都是坐标框架错误.
为什么协调框架是重要的
每个传感器,每一个机器人链接,以及环境中的每个对象都有自己的坐标系统,它有自己的"前进","上",和"右".当你的相机在相机框架中检测到一个位置 (0.1, -0.05, 0.3) 的对象时,机器人不能直接对此采取行动.它需要对象在机器人框架中的位置来控制臂.
转换位置和方向是坐标转换的任务.误导是机器人系统中最常见的难去调试错误的唯一来源.
同性变化
T = [[R, t], [0, 0, 0, 1]]
在此,
标记
转换代表
转换是3DOF数量,但可以用多种方式表达它.选择错误的数量会导致错误.
- 旋转矩阵 (3×3): 几何最正确的表示.直角性限制 (9值为3DOF) 使它过于参数化.当需要编写许多转换时使用
矩阵乘法是数值稳定的. - ** 艾勒角 (滚动,音速,
):** 直观: "绕z轴旋转45°".但在某些配置上,两个轴对齐,你会失去一定程度的自由. ** 在硬件上连续运行的代码中不要使用艾勒角.**仅用于人类可读的记录. - 四分之一 (qx, qy, qz, qw): 4个值 (单位限制为3DOF).没有
门.紧 . 顺利插曲 (SLERP). 机器人软件的标准. ** 在你的代码中使用这个. ** 注意双盖:q和 -q代表相同的旋转. - **6D旋转 (R的两个列):**最适合神经网络输出
连续表示,无间断.通过Gram-Schmidt重建完整R.用于现代机器人学习政策.
常见的机器人框架
典型的操纵设置至少包括四个坐标框架:
- 世界框架: 固定的全球参考. 通常定义在机器人安装点或在桌面上的校准目标.所有其他框架最终都与此相对.
- **机器人基架:**机器人的
架中心的起源.机器人的前进动力学与这个框架相比计算. - 终端效果器/工具框架: 源自抓
的尖端 ("工具中心点"或TCP).当指定卡特西亚目标时,您命令此. - 摄像头
:** 起源于摄像头的光学中心.Z轴沿着摄像头的光学轴 (进入场景) 点.对象检测最初表达在这个 中.
转换链
为了将在相机框架中检测到的物体姿势转换为世界框架,链接转换:
T_world_obj = T_world_robot × T_robot_ee × T_ee_camera × T_camera_obj
读一读:首先把对象转化为摄像头框架 (身份
每个转换都是4×4矩阵;链接只是矩阵乘法.在ROS2中,
手眼校准
为了使用上述变换链,您需要相机相对于机器人的终端效应器的姿势.
过程:将机器人移动到许多不同的联合配置 (至少15
每当: 摄像头被物理移动或撞击,安装了新的摄像头,或者你观察到系统的抓取偏移错误.
实际的Python工具
- **scipy.space.transform.rotation:**转换转换矩阵,四角,尤勒角和轴角之间.
- **ROS2 tf2 (Python rclpy):**实时转换树管理. 使用
T13 发布转换和 T14 查找它们. - pytransform3d: 纯Python库适用于所有SE(3) 操作,可用于调试错误的视觉化.
子: 子的矩阵乘法是4×4同质变化的 子.
更多机器人资源和教程请参阅 [RCSV资源部分]







