news 2026/4/15 10:35:48

第2章 空间描述和变换

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第2章 空间描述和变换

本系列课程将深入探讨机械手臂的运动学与操作。在正式进入机械手臂的具体内容之前,我们需要补充一些必备的数学基础,核心在于如何精确地描述一个“刚体”(Rigid Body)的运动状态。这是因为在后续分析中,我们通常将机械手臂的各个部件视为刚体来处理。

2.1 概述

问题1:一个刚体的状态是如何描述的?

(1)、在平面上:

·移动 (Translation):物体可以在平面上沿X轴(水平)和Y轴(竖直)移动 。因此,需要两个参数来确定其位置。这对应两个移动自由度 (2 DOFs)。

·转动 (Rotation):物体还可以在平面内绕着某个点旋转(顺时针或逆时针)。这需要一个参数来描述其朝向 。这对应一个转动自由度 (1 DOF)。

总结来说,描述一个平面刚体的运动状态,总共需要 3个自由度(2个移动 + 1个转动)。

(2)、在空间上

现在考虑空间中的刚体。世界坐标系相应地增加一个Z轴,变为三维坐标系 {W} (或 {A})。

·移动 (Translation):物体的质心可以在空间中沿X轴(左右)、Y轴(上下)和Z轴(前后)移动 。因此,需要三个参数来描述其位置。对应三个移动自由度 (3 DOFs)。

·转动 (Rotation):物体可以分别绕着X轴、Y轴和Z轴进行旋转 。这需要三个参数来描述其姿态。对应三个转动自由度 (3 DOFs)。

因此,描述一个空间刚体的运动状态,总共需要 6个自由度(3个移动 + 3个转动)

2.2 描述:位置、姿态与坐标系

既然刚体在空间中运动包含移动和转动两部分,有没有一种简洁的方法能将它们统一起来表达呢?

如何整合表示刚体的状态?

在刚体上建立frame,常建立在其坐标系。这个坐标系一般叫body frame

(1)、移动:由body frame的原点位置判断(确定位置)

(2)、转动:就是指body frame坐标系相对world坐标系的转动,这个叫姿态描述(确定方向)

解析:

答案是在 刚体本身 上建立一个坐标系,我们称之为“体坐标系”(Body Frame),通常用 {B} 表示 。这个坐标系是固定在刚体上的,会随着刚体一起运动。通常,我们会将体坐标系的原点建立在刚体的一个固定点上,比如质心 (被视为质量的中心) 。如上图所示,在绿色刚体上画上了一个橘色的坐标系统 {B} 。

通过引入体坐标系 {B},我们可以这样描述刚体的状态 :

·移动状态:通过追踪体坐标系 {B} 的原点 (质心) 相对于世界坐标系 {A} (或称为{W}) 的位置来确定。

·转动状态(姿态):通过观察体坐标系 {B} 的三个坐标轴(XB,YB,ZB)相对于世界坐标系 {A} (或称为{W}) 的朝向或姿态来确定。

这样,借助体坐标系的原点位置和三个轴的姿态,我们就能同时描述刚体的移动和转动状态了。

2.2.1 位置的描述(移动的描述)

如何确定刚体的移动?

我们来更具体地量化描述移动。如前所述,我们在刚体(绿色椭圆)上建立了体坐标系 {B}(橘色),并在旁边设置了世界坐标系 {A} 。要描述移动,关键是追踪体坐标系 {B} 原点(通常设在质心)的位置。

在三维空间中,这个向量有三个分量:,Px、Py和 Pz。例如,上图中的例子 向量P = [10,3,3]T,意味着体坐标系原点在世界坐标系 X轴 上的投影距离是10,Y轴上是3,Z轴上也是3 。只要我们知道在任何时刻这三个分量的值,就能精确掌握刚体重心在空间中的位置 。

2.2.2 位姿的描述(转动的描述)

接下来,我们深入探讨如何描述转动,也就是刚体的姿态。我们利用体坐标系 {B} 的三个主轴来代表刚体在空间中的姿态 。这三个轴向量都是从世界坐标系 {A} 的角度观察和描述的 。

我们可以将这三个单位向量(表示方向)作为列向量,排列起来形成一个3x3的矩阵。这个矩阵被称为旋转矩阵 (Rotation Matrix),记作(表示{B}(体坐标系)相对于{A}(世界坐标系) 的旋转):

为什么会有点积出现?

其实就是将body frame坐标系的某个轴投影到A坐标系。例如:将B坐标系的XB轴投影到A坐标系的XA、YA、ZA轴上,就是XB与A坐标系三个轴的点积。

因此,旋转矩阵:用 {B}(体坐标系) 在 {A}(世界坐标系) 上的 (点积) 投影,来实现体坐标系 (体姿态) 到世界坐标系的转换。

例题:

旋转矩阵的特性1:

特性1:

坐标系 {B}相对于坐标系{A} 的旋转矩阵与坐标系 {A}相对于坐标系{B} 的旋转矩阵差一个转置

与下面对比:

旋转矩阵特性2:

拓展:一个刚体的运动如何描述?

前面讨论的是某个瞬间的几何状态(位置和姿态)。而“运动”是状态随时间的变化。如何描述这种变化呢 ?

·速度与加速度:记录下刚体质心(即体坐标系原点)在不同时间点的位置,形成一条运动轨迹(如PPT中的红色曲线)。对这条轨迹(位置向量)关于时间进行一次微分,得到质心的速度;进行二次微分,得到质心的加速度 。

·角速度与角加速度:类似地,通过对描述姿态的参数(我们稍后会详细介绍,如旋转矩阵)进行一次和二次微分,可以得到刚体的角速度和角加速度 。

因此,只要能精确描述刚体在任意时刻的几何状态(6个自由度),通过微分运算,就能掌握其完整的运动状态(速度、加速度、角速度、角加速度)。

小结:

2.2.3 坐标系描述

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 18:16:37

Kalidokit与Three.js VRM渲染器:虚拟角色动作捕捉完整解决方案

Kalidokit与Three.js VRM渲染器:虚拟角色动作捕捉完整解决方案 【免费下载链接】harmonyos-tutorial HarmonyOS Tutorial. 《跟老卫学HarmonyOS开发》 项目地址: https://gitcode.com/GitHub_Trending/ha/harmonyos-tutorial 在虚拟角色应用快速发展的今天&a…

作者头像 李华
网站建设 2026/4/14 4:40:44

3倍效率提升:ThingsBoard批量管理终极指南

3倍效率提升:ThingsBoard批量管理终极指南 【免费下载链接】thingsboard Open-source IoT Platform - Device management, data collection, processing and visualization. 项目地址: https://gitcode.com/GitHub_Trending/th/thingsboard 你是否也曾面临这…

作者头像 李华
网站建设 2026/4/13 6:59:07

3大痛点解析:Flink监控体系为何总是失效?终极解决方案来了!

你是否经历过Flink作业突然卡死却找不到原因?背压监控数据一片空白?检查点频繁失败却无从下手?这些困扰开发者的监控难题,本文将为你一一解决!🚀 【免费下载链接】flink 项目地址: https://gitcode.com/…

作者头像 李华
网站建设 2026/4/15 6:36:42

Latest:macOS应用更新的终极完整指南

Latest:macOS应用更新的终极完整指南 【免费下载链接】Latest A small utility app for macOS that makes sure you know about all the latest updates to the apps you use. 项目地址: https://gitcode.com/gh_mirrors/la/Latest Latest 是一款专为 macOS …

作者头像 李华
网站建设 2026/4/9 22:50:16

多语言代码质量检测神器:fuck-u-code的国际化实践解析

在全球化协作日益普及的软件开发环境中,代码质量工具的国际化支持已成为提升开发效率的关键要素。GitHub精选项目"fuck-u-code"作为一款基于Go语言构建的代码质量检测器,不仅能够精准评估代码的"屎山等级",更通过完善的国…

作者头像 李华
网站建设 2026/4/14 8:22:00

终极伺服系统设计指南:5步快速掌握电机控制核心技术

终极伺服系统设计指南:5步快速掌握电机控制核心技术 【免费下载链接】伺服系统设计指导PDF资源说明分享 《伺服系统设计指导》是一本专门针对电机运动控制领域的参考书籍。本书深入浅出地介绍了伺服系统的设计精髓,涵盖了从基础理论到实际应用的广泛知识…

作者头像 李华