基础知识
刚体的自由度:物体能够对坐标系进行独立运动的数目称为自由度(DOF,degree of freedom);也就是说刚体沿任一个坐标轴移动或者绕任一个坐标系转动,我们称为一个自由度。

1)如何描述刚体在平面的运动问题呢?
对于在平面内运动的刚体,我们需要三个参数(自由度)来描述它的运动,2个参数(自由度)来描述刚体的移动(上下左右),1个参数(自由度)描述刚体的转动(旋转轴是固定的,垂直平面,描述的是角速度的大小)。

2)如何描述刚体在空间的运动问题呢?
对于一个在空间内运动的刚体来说,我们需要六个参数(自由度)来描述刚体的运动状态:用三个自由度来描述刚体沿三个坐标轴的移动状态(前后,上下,左右的移动),三个自由度来描述围绕坐标轴三个方向的转动(描述角速度)。

一般来说一个物体可以相对于坐标系,进行三个平移和三个旋转运动,即一个简单的物体有六个自由度。当两个物体间确立起某种关系时,每一物体就对另一物体失去一些自由度,这种关系也可以用两物体间由于建立连接关系而不能进行的移动或转动来表示(在机器人系统中,相邻的连杆和关节由于约束关系,只有一个自由度)。

空间中的刚体有六个自由度,运动可以简单的分为移动和转动,用什么简单的方法把这两种状态混合在一起表达???
答案就是:直接在刚体本身(质心)建立一个坐标系(body frame),利用坐标的信息来代替描述刚体的运动状态(移动与转动)

3)如何利用body frame 的信息去描述刚体的运动状态呢?
对于移动的部分,我们可以知道建立的坐标是跟着刚体在运动的,换句话说就是刚体运动到哪里,坐标就会运动到哪里;我们可以通过判定坐标的原点位置,就能知道刚体的移动状态(刚体和建立的body frame是一直重合的)
对于转动的部分,可以通过建立的body frame的三个主轴方向相对于世界坐标系的姿态,我们就能够得到刚体在世界坐标系下面的转动状态。

总结:利用在刚体上面建立的自身坐标轴(body frame)的原点的相对位置各主轴的相对姿态就可以用来描述一个刚体在空间中移动和转动两个部分的运动状态。

上面描述的只是一个瞬间或者几何状态下的,我们需要描述的是一个运动的状态,如何去描述呢?

随着不同的时刻,刚体的质心会在不同的位置,我们把不同时刻的轨迹位置记录下来,如上图,我们把这个轨迹位置微分就可以得到刚体质心运动速度的状态,再次微分就可以得到刚体质心加速度的状态;转动方面也是如此,我们知道这个刚体的姿态之后,经过微分和二次微分就可以得到刚体的角速度和角加速度。

所以,我们只要知道了刚体本身的几何的状态,包含三个自由度的移动和三个自由度的转动,由这六个状态的微分,就可以知道整个刚体的运动状态

4)刚体移动部分具体的描述——坐标向量

建立一个世界坐标(world frame),然后在刚体质心位置建立一个坐标(body frame),原点和质心重合,只要追踪到body frame原点的移动状态,就能得到刚体(质心)的移动状态,如何去量化这个原点的移动状态呢?

我们把质心以一个向量的方式和world frame做一个连接,如上图绿线所示,假设为p向量。通过向量p来描述body frame的原点在world frame中的空间状态。
向量用法1:代表一个点,一个空间中绝对的位置,描述body frame 原点/质心——用来描述移动。
向量用法2:代表一个方向,例如body frame中的三个主轴就是代表的三个方向——用来描述转动。

5)刚体转动部分具体的描述——欧拉角和旋转矩阵

建立一个世界坐标(world frame),然后在刚体质心位置建立一个坐标(body frame),原点和质心重合,通过上面介绍的向量的用法二我们知道body frame上面的三个主轴可以代表一个方向,我们可以利用这三个主轴来代表刚体在空间中的姿态,如何去具体描述呢?
我们可以利用旋转矩阵(ratation natrix)的方式去描述,就是body frame相对于world frame的状态,旋转矩阵里面的每一个列(column)代表了body frame三个主轴在world frame中各自指向的方向

具体就是把body frame的三个主轴投影到world frame的三个轴向上面,看各自的分量是多少。

旋转矩阵在乘以一个向量的时候有改变向量的方向但不改变大小的效果,旋转矩阵可以直接运算,它是用9个量来表达一个旋转,但实际上一次旋转只有3个自由度。因此旋转矩阵表达式是冗余的。同时,对于旋转矩阵自身也有约束,它必须是正交矩阵,且行列式为1,这些约束会使求解变得困难。

如何去投影body frame到world frame上面呢?
我们先介绍一下欧拉角:它是描述刚体姿态的一组3个角值的参量,同时需要指定三个角度转动时分别围绕的坐标轴,以及旋转的顺序,一旦确定了这些,那么这个欧拉角的描述就可以分解为三个基本的旋转,三个基本旋转的旋转矩阵为:

任何关于刚体旋转的旋转矩阵均可以由上面三个基本旋转矩阵复合而成。

工业机器人——1如何描述刚体的运动状态?(台大机器人学学习笔记)相关推荐

  1. 工业机器人——4 正运动学(台大机器人学学习笔记)

    前面几篇文章,我们对于如何描述刚体的运动状态进行了具体的讲解,今天开始我们学习机械手臂的正向运动学. 1)定义 运动学(kinematics):讨论运动状态的本身,不涉及产生运动的力. 具体描述就是位 ...

  2. 台大李宏毅课程笔记3——New Optimization for Deep Learning深度学习新优化

    台大李宏毅课程笔记3 SGD with Momentum(SGDM) RMSProp Adam SWATS AdaXXX Adam分析 AMSGrad AdaBound SGDM分析 Cyclical ...

  3. MATLAB教程_11方程式求根_台大郭彦甫课程笔记

    MATLAB教程_11方程式求根_台大郭彦甫课程笔记 一.符号寻根法(解析法) 1.使用sym()或syms()创建符号变量 2.符号根查找:solve() 3.解多重方程 4.求解用符号表示的方程 ...

  4. OpenCV4学习笔记(47)——BRISK特征提取描述算法

    今天要整理记录的是OpenCV中BRISK特征提取描述算法的运用. BRISK特征提取描述算法全称为 Binary Robust Invariant Scalable Keypoints(二进制鲁棒不 ...

  5. 平移刚体上各点的加速度和速度_大物学习笔记(一)——刚体力学

    第一次写笔记,或多或少都会有很多的不足.疫情期间一直都是网课的学习,书本也没有带回来,经常都是在草稿本上随手推导一下公式,隔几天翻了几页,自己推导的东西就不见了.所以总想着来总结一下,把学的东西稍稍理 ...

  6. 【必收藏】台大李宏毅老师课程 | 资源汇总、笔记总结与索引

    2020年7月20日至2020年8月18日,我刷完了台大李宏毅老师的深度学习/机器学习相关课程,我分为了 64 个大课时,记录了 64 篇笔记. 我对于李老师课程感到惊讶又欣喜: 惊讶在于,李老师能把 ...

  7. 台大李宏毅Machine Learning 2017Fall学习笔记 (6)Logistic Regression

    台大李宏毅Machine Learning 2017Fall学习笔记 (6)Logistic Regression 做Logistic Regression回归,需要3步. Step 1: Funct ...

  8. 台大李宏毅Machine Learning 2017Fall学习笔记 (3)Bias and Variance (v2)

    台大李宏毅Machine Learning 2017Fall学习笔记 (3)Bias and Variance (v2) 这节课主要讲解了训练模型的误差来源及相应的解决方案. 模型的误差主要来源于数据 ...

  9. 台大机器学习基石学习笔记

    台大机器学习基石学习笔记 标签(空格分隔): 机器学习 目录 台大机器学习基石学习笔记 目录 Lecture 1 The Learning Problem Course Introduction Wh ...

最新文章

  1. python批量读取dbf_Python 读取DBF/FPT 文件
  2. Springboot : RequestContextHolder
  3. Android中级教程之--------Android应用程序的生命周期(一定要理解,面试会问的哦!)
  4. eureka架构图原理
  5. Topshelf创建Windows服务
  6. 新视窗java_《计算机组成原理实验》教学大纲 - 兰州大学信息科学与工程学院.DOC...
  7. 二叉树的深度优先遍历原理及python实现
  8. jQuery子窗体取得父窗体的元素
  9. xml矢量图:svg的viewBox和vml的coordsize决定的虚坐标系简说
  10. user.php act profile,user.php
  11. RK3399 ALC5640芯片配置
  12. rgss3a解包器_Rgss3a解包器下载
  13. Tensorflow-wavenet生成模拟声音
  14. 【云原生】—— 学习云计算应用开发你需要掌握的五大技能
  15. Vue packages version mismatch解决方案
  16. 蒙特卡洛算法求矩形内切圆面积
  17. 网络安全实验室|网络信息安全攻防学习平台(脚本关)
  18. .py文件与.ipynb文件互相转换
  19. 教培行业正在开启新纪元
  20. Gitee图床迁移阿里云

热门文章

  1. ffmpeg 日志系统av_log()
  2. C语言常用字符串函数及模拟实现
  3. pc全屏网页布局小技巧
  4. 纯干货:线上出现fullGC次数很多的排查思路以及实践总结
  5. 联想rd650管理口地址_MegaRAID Storage Manager RAID管理工具基本操作
  6. 如何使用Office 365安装Office 2013
  7. BlenderSubstance Painter流程:高模(Blender/Substance Painter)
  8. 爱数:以全域数据管理能力,助推智慧城市落地
  9. 整形在c语言中作用,C语言里面长整型起到什么作用?长整型的位数是怎么确定的?长整型...,C语言中长整形干什么用的...
  10. Java开发在线购物推荐网 购物商城推荐系统 基于用户、物品的协同过滤推荐算法 京东商城爬虫 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、人工智能、机器学习项目开发