刚体运动 (位置向量 - 旋转矩阵) 笔记 1.1~1.3 (台大机器人学-林沛群)
目录
1. 理解刚体的“自由度”(Degrees of Freedom, DOF)
1.1 平面运动 (2D)
1.2 空间运动 (3D)
2. 统一描述:引入“体坐标系”(Body Frame)
3. 从“状态”到“运动”:引入微分
3.1 补充:如何理解微分
4. 移动状态 - 位置向量 (Position Vector)
4.1 关于向量的两种含义
5. 转动姿态 - 旋转矩阵 (Rotation Matrix)
5.1 旋转矩阵与投影 (Direct Cosines)
5.1.1 点积 “⋅” (内积) 得到投影
5.1.2 一句话概括 (旋转矩阵)
5.2 计算旋转矩阵实例
5.2.1 例1 (简单情况) :
5.2.2 例2 (需要投影计算) :
6. 随堂测试 (姿态->世界坐标)
- 台大公开课链接:機器人學一 (Robotics (1)) - 物體在空間運動之描述 (一) - 第 1 周 | Coursera
- 视频链接:1-1 导论_哔哩哔哩_bilibili
- 上回书说到:机器人学入门 (从机械手臂开始的智能世界) 笔记 0.1 (台大机器人学-林沛群)-CSDN博客
- 以下是视频课程的详细笔记(后续会持续更新)
本系列课程将深入探讨机械手臂的运动学与操作。在正式进入机械手臂的具体内容之前,我们需要补充一些必备的数学基础,核心在于如何精确地描述一个“刚体”(Rigid Body)的运动状态。这是因为在后续分析中,我们通常将机械手臂的各个部件视为刚体来处理。
补充:
- 刚体是一个理想化的固体,其大小和形状在受到力的作用时保持不变,用于牛顿力学中对真实物体进行建模
1. 理解刚体的“自由度”(Degrees of Freedom, DOF)
我们先从最简单的情况入手:如何描述一个刚体的运动?
1.1 平面运动 (2D)
想象一个在平面上运动的物体,例如PPT上展示的那个绿色椭圆 。我们可以在平面上定义一个“世界坐标系”(World Frame),通常用 {W} 或 {A} 表示,它有X和Y两个轴 。
要描述这个物体在平面上的运动,需要多少个参数呢?
- 移动 (Translation):物体可以在平面上沿X轴(水平)和Y轴(竖直)移动 。因此,需要两个参数来确定其位置。这对应两个移动自由度 (3 DOFs)。
- 转动 (Rotation):物体还可以在平面内绕着某个点旋转(顺时针或逆时针)。这需要一个参数来描述其朝向 。这对应一个转动自由度 (1 DOF)。
总结来说,描述一个平面刚体的运动状态,总共需要 3个自由度(2个移动 + 1个转动)。
1.2 空间运动 (3D)
现在考虑空间中的刚体。世界坐标系相应地增加一个Z轴,变为三维坐标系 {W} (或 {A}) 。
- 移动 (Translation):物体的质心可以在空间中沿X轴(左右)、Y轴(上下)和Z轴(前后)移动 。因此,需要三个参数来描述其位置。对应三个移动自由度 (3 DOFs)。
- 转动 (Rotation):物体可以分别绕着X轴、Y轴和Z轴进行旋转 。这需要三个参数来描述其姿态。对应三个转动自由度 (3 DOFs)。
因此,描述一个空间刚体的运动状态,总共需要 6个自由度(3个移动 + 3个转动)。
2. 统一描述:引入“体坐标系”(Body Frame)
既然刚体运动包含移动和转动两部分,有没有一种简洁的方法能将它们统一起来表达呢?
答案是在 刚体本身 上建立一个坐标系,我们称之为“体坐标系”(Body Frame),通常用 {B} 表示 。这个坐标系是固定在刚体上的,会随着刚体一起运动。通常,我们会将体坐标系的原点建立在刚体的一个固定点上,比如质心 (被视为质量的中心) 。如上图所示,在绿色刚体上画上了一个橘色的坐标系统 {B} 。
通过引入体坐标系 {B},我们可以这样描述刚体的状态 :
- 移动状态:通过追踪体坐标系 {B} 的原点 (质心) 相对于世界坐标系 {A} (或称为{W}) 的位置来确定。
- 转动状态(姿态):通过观察体坐标系 {B} 的三个坐标轴(
,
,
)相对于世界坐标系 {A} (或称为{W}) 的朝向或姿态来确定 。
这样,借助体坐标系的原点位置和三个轴的姿态,我们就能同时描述刚体的移动和转动状态了 。
3. 从“状态”到“运动”:引入微分
前面讨论的是某个瞬间的几何状态(位置和姿态)。而“运动”是状态随时间的变化。如何描述这种变化呢 ?
- 速度与加速度:记录下刚体质心(即体坐标系原点)在不同时间点的位置,形成一条运动轨迹(如PPT中的红色曲线)。对这条轨迹(位置向量)关于时间进行一次微分,得到质心的速度;进行二次微分,得到质心的加速度 。
- 角速度与角加速度:类似地,通过对描述姿态的参数(我们稍后会详细介绍,如旋转矩阵)进行一次和二次微分,可以得到刚体的角速度和角加速度 。
3.1 补充:如何理解微分
- 图中曲线 f(x) 在 x0 处有一条切线,微分 dy 就基于这条切线来近似表示函数的变化
- 当 x 产生微小变化 △x 时,切线上对应的变化量就是 dy,它是对函数实际变化 △y 的近似
- 这种用切线的线性变化(微分 dy)“以直代曲” 来描述微小变化,正是微分的本质
因此,只要能精确描述刚体在任意时刻的几何状态(6个自由度),通过微分运算,就能掌握其完整的运动状态(速度、加速度、角速度、角加速度)。
4. 移动状态 - 位置向量 (Position Vector)
我们来更具体地量化描述移动。如前所述,我们在刚体(绿色椭圆)上建立了体坐标系 {B}(橘色),并在旁边设置了世界坐标系 {A} 。要描述移动,关键是追踪体坐标系 {B} 原点(通常设在质心)的位置 。
在三维空间中,这个向量有三个分量:,
和 Pz。例如,上图中的例子 向量 P = [10,3,3]
,意味着体坐标系原点在世界坐标系 X轴 上的投影距离是10,Y轴上是3,Z轴上也是3 。只要我们知道在任何时刻这三个分量的值,就能精确掌握刚体重心在空间中的位置 。
4.1 关于向量的两种含义
- 表示空间中的一个点 (Position):如我们刚才使用的位置向量
,它定义了体坐标系原点(或质心)在世界坐标系中的绝对位置 。
- 表示一个方向和大小 (Vector/Displacement):向量也可以仅表示一个方向和大小,例如体坐标系 {B} 的三个主轴
各自指向一个方向 。描述这些方向是理解刚体转动的关键,我们将在下一部分详细讨论 。
5. 转动姿态 - 旋转矩阵 (Rotation Matrix)
接下来,我们深入探讨如何描述转动,也就是刚体的姿态。我们利用体坐标系 {B} 的三个主轴 来代表刚体在空间中的姿态 。这三个轴向量都是从世界坐标系 {A} 的角度观察和描述的 。
我们可以将这三个单位向量(表示方向)作为列向量,排列起来形成一个3x3的矩阵。这个矩阵被称为旋转矩阵 (Rotation Matrix),记作 (表示{B}(体坐标系)相对于{A}(世界坐标系) 的旋转):
这里, 表示 {B} 的X轴单位向量在 {A} 坐标系下的三个分量,
和
同理 。左上角的 'A' 明确了参考坐标系 。
这个旋转矩阵 包含了 {B} 相对于 {A} 的完整姿态信息 。
5.1 旋转矩阵与投影 (Direct Cosines)
如何确定 这三个列向量呢?可以通过投影的方式 。例如,
的三个分量分别是
向量在 {A} 的
三个轴上的投影长度 。其中,“⋅” 代表向量点积。
5.1.1 点积 “⋅” (内积) 得到投影
5.1.2 一句话概括 (旋转矩阵)
- 用 {B}(体坐标系) 在 {A}(世界坐标系) 上的 (点积) 投影,来实现 体坐标系 (体姿态) 到 世界坐标系 的转换
其他两列 也是如此计算 。将所有九个点积(投影)结果组合起来,就得到了完整的旋转矩阵 :
这种用 (体姿态) 向量在 (世界) 坐标轴上投影长度(方向余弦)来表示姿态的方法,也称为 Direct Cosines (直接余弦)。
5.2 计算旋转矩阵实例
5.2.1 例1 (简单情况) :
5.2.2 例2 (需要投影计算) :
6. 随堂测试 (姿态->世界坐标)
- 结合三视图,不难看出姿态的x''向量与世界坐标系的z轴重合,大小为-1,因此排除C和D
- 又因为姿态y''在y上的投影是负方向的,因此可以排除A
- 因此答案是B
相关文章:

刚体运动 (位置向量 - 旋转矩阵) 笔记 1.1~1.3 (台大机器人学-林沛群)
目录 1. 理解刚体的“自由度”(Degrees of Freedom, DOF) 1.1 平面运动 (2D) 1.2 空间运动 (3D) 2. 统一描述:引入“体坐标系”(Body Frame) 3. 从“状态”到“运动”:引入微分 3.1 补充:…...

openAICEO山姆奥特曼未来预测雄文之三个观察
《三个观察》 山姆奥特曼 这篇文章主要讲的是关于AGI(人工通用智能)的未来发展及其对社会的影响,用大白话总结如下: 核心观点: AGI是什么? AGI是一种能像人类一样解决各种复杂问题的智能系统,比…...
Java 异常 SSLException: fatal alert: protocol_version 全解析与解决方案
在 Java 网络通信中,SSLException: fatal alert: protocol_version 是典型的 TLS/SSL 协议版本不兼容异常。本文结合 Java 官方规范、TLS 协议标准及实战经验,提供体系化解决方案,帮助开发者快速定位并解决协议版本冲突问题。 一、异常本质&…...

比象AI创作系统,多模态大模型:问答分析+AI绘画+管理后台系统
比象AI创作系统是新一代集智能问答、内容创作与商业运营于一体的综合型AI平台。本系统深度融合GPT-4.0/GPT-4o多模态大模型技术,结合实时联网搜索与智能分析能力,打造了从内容生产到商业变现的完整闭环解决方案。 智能问答中枢 系统搭载行业领先的对话…...
【2025 最新前沿 MCP 教程 03】基础构建模块:工具、资源与提示
文章目录 1. 开始啦2. 工具(模型控制):赋予 AI 行动能力3. 资源(应用控制):为 AI 提供关键上下文4. 提示(用户可控):优化 AI 交互5. 它们如何协同工作 1. 开始啦 欢迎来…...

Docker-高级使用
前言 书接上文Docker-初级安装及使用_用docker安装doccano-CSDN博客,我们讲解了Docker的基本操作,下面我们讲解的是高级使用,请大家做好准备! 大家如果是从初级安装使用过来的话,建议把之前镜像和搭载的容器数据卷里面…...

计算机网络 | Chapter1 计算机网络和因特网
💓个人主页:mooridy-CSDN博客 💓文章专栏:《计算机网络:自定向下方法》 大纲式阅读笔记_mooridy的博客-CSDN博客 🌹关注我,和我一起学习更多计算机网络的知识 🔝🔝 目录 …...
PowerBi中ALLEXCEPT怎么使用?
在 Power BI 的 DAX 中,ALLEXCEPT() 是一个非常重要的函数,用来实现**“在保留部分筛选条件的前提下,移除其他所有筛选器”**,它常用于 同比、占比、累计汇总 等分析中。 ✅ 一、ALLEXCEPT 是什么意思? 函数全称&…...

开源项目实战学习之YOLO11:ultralytics-cfg-datasets-Objects365、open-images-v7.yaml文件(六)
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 medical - pills.yaml 通常用于配置与医学药丸检测任务相关的参数和信息 Objects365.yaml 用于配置与 Objects365 数据集相关信息的文件。Objects365 数据集包含 365 个不同的物体类别…...

蚂蚁集团“Plan A”重磅登场,开启AI未来
近期,蚂蚁集团面向全球高潜AI人才,正式发布顶级专项招募计划——“Plan A”。作为其“蚂蚁星”校招体系的全新升级模块,Plan A聚焦人工智能领域科研精英,旨在与全球高校AI研究者协同突破AGI前沿,共绘技术未来图谱。 蚂…...

高中数学联赛模拟试题精选第18套几何题
在 △ A B C \triangle ABC △ABC 中, A B < A C AB< AC AB<AC, 点 K K K, L L L, M M M 分别是边 B C BC BC, C A C A CA, A B AB AB 的中点. △ A B C \triangle ABC △ABC 的内切圆圆心为 I I I, 且与边 B C BC BC 相切于点 D D D. 直线 l l l 经过线段…...
Kettle学习
一、Kettle 简介 Kettle(现称为 Pentaho Data Integration)是一款开源ETL工具,支持从多种数据源抽取、转换和加载数据,广泛应用于数据仓库构建、数据迁移和清洗。其核心优势包括: 可视化操作:通过拖拽组件设计数据处理流程(转换和作业)。多数据源支持:数据库(MySQL/…...
Synopsys 逻辑综合的整体架构概览
目录 一、DC Shell 逻辑综合的整体架构概览 ⛓️ 逻辑综合的主要阶段(Pipeline) 二、核心架构模块详解 1. Internal Database(设计对象数据库) 2. Scheduler(调度器) 3. Rewriting Engine(…...
Missashe考研日记-day27
Missashe考研日记-day27 0 写在前面 博主昨晚有事所以没学专业课,白天学了其他科,但是觉得不太好写博客,就合在今天一起写好了。 1 专业课408 学习时间:3h30min学习内容: 今天把内存管理部分剩下的关于分页分段和段…...

Java 富文本转word
前言: 本文的目的是将传入的富文本内容(html标签,图片)并且分页导出为word文档。 所使用的为docx4j 一、依赖导入 <!-- 富文本转word --><dependency><groupId>org.docx4j</groupId><artifactId>docx4j</artifactId&…...

多模态大语言模型arxiv论文略读(四十三)
InteraRec: Screenshot Based Recommendations Using Multimodal Large Language Models ➡️ 论文标题:InteraRec: Screenshot Based Recommendations Using Multimodal Large Language Models ➡️ 论文作者:Saketh Reddy Karra, Theja Tulabandhula …...

GPU加速-系统CUDA12.5-Windows10
误区注意 查看当前系统可支持的最高版本cuda:nvidia-smi 说明: 此处显示的12.7只是驱动对应的最高版本,不一定是 / 也不一定需要是 当前Python使用的版本。但我们所安装的CUDA版本需要 小于等于它(即≤12.7)因此即使…...

kafka课后总结
Kafka是由LinkedIn开发的分布式发布 - 订阅消息系统,具备高吞吐量、低延迟、可扩展性、持久性、可靠性、容错性和高并发等特性。其主要角色包括Broker、Topic、Partition、Producer、Consumer、Consumer Group、replica、leader、follower和controller。消息系统中存…...
排序算法(快排+推排序+归并排序)
一、快排(不稳定O(NlogN)) 分治思想,随机选一个数作为pivot,然后放到数组最后去,比这个元素小的放左边,比这个元素大的放右边。最后再交换左边放完后的下一个元素和pivot,这样就把一个元素排好…...

【股票系统】使用docker本地构建ai-hedge-fund项目,模拟大师炒股进行分析。人工智能的对冲基金的开源项目
股票系统: https://github.com/virattt/ai-hedge-fund 镜像地址: https://gitcode.com/gh_mirrors/ai/ai-hedge-fund 项目地址: https://gitee.com/pythonstock/docker-run-ai-hedge-fund 这是一个基于人工智能的对冲基金的原理验证项目。本项目旨在探讨利用人工智能进行…...

施工安全巡检二维码制作
进入新时代以来,人们对安全的重视程度越来越高。特别在建筑施工行业,安全不仅是关乎着工人的性命,更是承载着工人背后家庭的幸福生活。此时就诞生了安全巡检的工作,而巡检过程中内容庞杂,安全生产检查、隐患排查、施工…...
什么是函数依赖中的 **自反律(Reflexivity)**、**增广律(Augmentation)** 和 **传递律(Transitivity)?
文章目录 1. 自反律(Reflexivity Rule)规则定义实际例子应用意义 2. 增广律(Augmentation Rule)规则定义实际例子应用意义 3. 传递律(Transitivity Rule)规则定义实际例子应用意义 综合应用场景:…...

基于 Google Earth Engine (GEE) 的土地利用变化监测
一、引言 土地利用变化是全球环境变化的重要组成部分,对生态系统、气候和人类社会产生深远影响。利用遥感技术可以快速、准确地获取土地利用信息,监测其变化情况。本文将详细介绍如何使用 GEE 对特定区域的 Landsat 影像进行处理,实现土地利…...
Java基础语法10分钟速成
Java基础语法10分钟速成,记笔记版 JDKhello world变量字符串 类,继承,多态,重载 JDK JDK即Java development key,Java环境依赖包 在jdk中 编译器javac将代码的Java源文件编译为字节码文件(.classÿ…...
如何在Spring Boot中实现热加载以避免重启服务器
在 Spring Boot 开发中,频繁修改代码(如 Java 类、配置文件或静态资源)通常需要重启服务器,这会中断开发流程并降低效率。热加载(Hot Reloading)允许开发者在不重启服务器的情况下重新加载更改,…...

BT169-ASEMI无人机专用功率器件BT169
编辑:ll BT169-ASEMI无人机专用功率器件BT169 型号:BT169 品牌:ASEMI 封装:SOT-23 批号:最新 引脚数量:3 特性:单向可控硅 工作温度:-40℃~150℃ BT169单向可控硅ÿ…...
C++学习笔记(三十六)——STL之排序算法
一、STL 算法 C的STL(Standard Template Library) 提供了一组高效、通用的算法,这些算法适用于各种容器(如 vector、list、set、map)。 这些算法主要位于 <algorithm> 和 <numeric> 头文件中。 通用性&a…...

AI图像编辑器 Luminar Neo 便携版 Win1.24.0.14794
如果你对图像编辑有兴趣,但又不想花费太多时间学习复杂的软件操作,那么 Luminar Neo 可能就是你要找的完美工具。作为一款基于AI技术的创意图像编辑器,Luminar Neo简化了复杂的编辑流程,即使是没有任何图像处理经验的新手…...

发币流程是什么,需要多少成本?
这是一个专注于Web3相关开发的账号,具体会讲解步骤以及开发方案 偶尔会有科普,有兴趣的可以点右上角关注一下 发币(发行数字货币)的流程通常涉及技术实现、法律合规、经济模型设计等多个环节,以下是关键步骤的简要说明…...

【fork初体验】
文章目录 Linux 实验:深入理解 fork 系统调用一、实验目的二、实验环境三、实验内容与步骤(一)打印进程的进程 ID 和父进程 ID1. 编写程序2. 编译与运行3. 运行结果 (二)使用 fork 系统调用创建进程并加入循环语句1. 编…...