多轴机械臂/正逆解/轨迹规划/机器人运动学/Matlab/DH法 学习记录01——数学基础

news2025/1/22 12:58:59

系列文章目录

本科毕设正在做多轴机械臂相关的内容,这里是一个学习机械臂运动学课程的相关记录。
如有任何问题,可发邮件至layraliu@foxmail.com问询。
1. 数学基础

文章目录

  • 系列文章目录
  • 一、空间位置、姿态描述
  • 二、旋转矩阵(Rotation matrix)
    • 1.特性
    • 2.用法
    • 3.旋转矩阵与转角(旋转的前后顺序不能互换)
  • 三、变换矩阵
    • 1.如何将移动和转动整合在一起
    • 2.transformation matrix运算
  • 总结

一、空间位置、姿态描述

  1. 运动学建模分类
    正运动学:根据协作机器人的关节角度,计算末端位姿。
    逆运动学:已知机器人末端位置,反解其关节角,涉及多解问题。
  2. 空间某点位置
    3 x 1的位置矢量
    空间点p=[x0 y0 z0]T(列向量)
  3. 一个刚体的姿态如何描述
    平面:移动2 DOFs(degree of freedom)、转动1 DOFs(两个面一个转动,c22=1)
    空间:移动3 DOFs(degree of freedom)、转动3 DOFs(两个面一个转动,c32=3)
    在这里插入图片描述
    由上图可知(红色为刚体质心随时间变化的轨迹),刚体的移动由body frame的原点位置判定;刚体的转动由body frame的姿态判定。
    利用各个DOF的微分/二次微分,将位移和姿态转换到速度和加速度的运动状态。
  4. 转动(旋转矩阵)
    描述B相对于A的姿态。(觉得湾湾翻译不太一样哈哈哈,其中direct cosines应为direction cosines?我理解就是方向余弦)
    那其实也可以很显然的发现,旋转矩阵是一个正交矩阵。其每一列都是单位矩阵,并且两两正交(坐标轴不就是互相垂直的嘛)。
    在这里插入图片描述

二、旋转矩阵(Rotation matrix)

1.特性

(其实就是正交矩阵的转置亦为其逆)
在这里插入图片描述
在这里插入图片描述
其实此矩阵的秩=3(阶数),所以转动具有3个DOFs。

2.用法

  1. 描述一个frame相对于另外一个frame的姿态

  2. 将point由某个frame的表达,转换到另一个frame。(可以联想一下线代里面有关于基向量那部分的知识,同一个向量在不同坐标系中的表达)
    在这里插入图片描述

  3. 将point在同一个frame中进行转换。
    在这里插入图片描述

3.旋转矩阵与转角(旋转的前后顺序不能互换)

  1. 两个拆解方式
    Fixed angles:对方向固定不动的转轴旋转;
    Euler angles:对转动的frame当下所在的转轴方向旋转。
  2. 把旋转矩阵所表达的姿态,拆解成3次旋转角度需注意:
    多次旋转的先后顺序需定义;
    旋转转轴需要明确定义。
  3. 对应于绕x,y,z轴旋转θ角度的位姿变化,对应的旋转矩阵分别为:(逆时针为正方向)

在这里插入图片描述
在这里插入图片描述

  1. Fixed angles(按照x——y——z顺序转)
    已知各轴分别较之Fixed angles的旋转角度,如何推算旋转矩阵?
    (新变换要左乘)
    在这里插入图片描述
    已知旋转矩阵,如何推算各轴分别较之Fixed angles的旋转角度?
    注意:atan2是一个函数,在C语言里返回的是指方位角,C 语言中atan2的函数原型为 double atan2(double y, double x) ,返回以弧度表示的 y/x 的反正切。y 和 x 的值的符号决定了正确的象限。也可以理解为计算复数 x+yi 的辐角,计算时atan2 比 atan 稳定。
    在这里插入图片描述
  2. Euler angles(按照z——y——x顺序转)
    (新变换要右乘,其实就是绝对坐标左乘,相对坐标右乘)这样就保证了,虽然Euler和fixed angles变换的转轴不一致,但仍能得到相同的公式。
    已知各轴分别较之Fixed angles的旋转角度,如何推算旋转矩阵?
    在这里插入图片描述
    已知旋转矩阵,如何推算各轴分别较之Fixed angles的旋转角度?
    在这里插入图片描述
  3. Euler/Fixed angles
    三次转动共有322=12个拆解方法(只要前后两个不一致即可)
    Euler正转和Fixed angles反转是有一致性的
  4. Angle-axis表达法
  5. Quaternion表达法(四元素法)
    在这里插入图片描述

三、变换矩阵

1.如何将移动和转动整合在一起

Homogenous transformation matrix
(以下为mapping角度)
在这里插入图片描述
以下图片为Homogenous transformation matrix的证明:(org为B原点)
在这里插入图片描述
并且可以做连乘
在这里插入图片描述

(以下为operator角度)
在这里插入图片描述
(先转动再移动)
在这里插入图片描述
其实可见,移动是加法,转动是乘法。
以下是对两个的理解:
Operators: mapping理解为定位(本身不动,将point由某个frame的表达换到另一个frame来表达),operator理解为变换(本身变了,将point在同一个frame中进行移动和转动)
operator只有一个坐标系,mapping是在二个或多个坐标系。
也就是说对于一个旋转矩阵(我们的本质需求),我们有两种理解方式,一种是线性代数几何应用的Operation,一种是矩阵分析中过渡矩阵的mapping。(来源:)

因为运动是相对的,所以当Homogenous transformation matrix当operator时对向量/点进行移动或转动的操作,也可以想象成是对frame进行反向的。即为point向前/顺时针移,frame往后/逆时针移。

2.transformation matrix运算

  1. 连续运算
    在这里插入图片描述

  2. 反矩阵
    在这里插入图片描述

  3. 连续运算,求未知之相对关系
    在这里插入图片描述

  4. 连续运算法则
    mapping可以理解为映射,而operator可以理解为变化。在这里插入图片描述

总结

以上就是今天要讲的内容,本文仅仅简单介绍了 多轴机械臂/正逆解/轨迹规划/机器人运动学/Matlab/DH法的学习记录01——数学基础,而Matlab提供了大量能使我们快速便捷地处理数据的函数和方法。如有任何问题,可发邮件至layraliu@foxmail.com问询。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1576416.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里Qwen1.5-32B开源,评测超Mixtral MoE,挑战SOTA性价比

前言 阿里巴巴近日震撼开源其最新力作——Qwen1.5-32B大语言模型。在当前AI领域,大模型的开发与应用已成为评估技术进步的重要标尺。Qwen1.5-32B的问世,不仅再次证明了阿里在AI技术研发领域的深厚实力,更是在性能与成本之间找到了一个新的平…

Linux云计算之Linux基础3——Linux系统基础2

1、终端 终端(terminal):人和系统交互的必要设备,人机交互最后一个界面(包含独立的输入输出设备) 物理终端(console):直接接入本机器的键盘设备和显示器虚拟终端(tty):通过软件方式虚拟实现的终端。它可以…

计算机网络-文件传输及IP协议——沐雨先生

实验内容 编写请求文件的客户Java应用程序编写响应文件请求的服务器Java应用程序利用Wireshark查看和分析IP包 基本要求 使用Java语言建立请求文件的客户应用程序使用Java语言建立响应文件请求的服务器应用程序了解IP协议的工作过程了解IP包首部各字段及含义 对Java应用程序…

java理论小作业(2)--类

第一题 1.题目: 2.解析: 首先,我们来分析Hello1类的结构和给定代码的执行流程: Hello1类中有两个成员变量,一个静态的a和一个非静态的b。静态变量a属于类本身,而非静态变量b属于类的每一个实例&#xff…

MySQL-5.函数

5.1 统计函数(聚合函数) # 统计数学成绩大于 90 的学生有多少个? SELECT COUNT(*) FROM student WHERE math > 90;# 求一个班级总分平均分 SELECT AVG(math english chinese) FROM student;# 统计一个班级数学总成绩 SELECT SUM(math) F…

Windows系统C盘空间优化进阶:磁盘清理与Docker日志管理

Windows系统C盘空间优化进阶:磁盘清理与Docker日志管理 文章目录 Windows系统C盘空间优化进阶:磁盘清理与Docker日志管理磁盘清理工具 使用“运行”命令访问磁盘清理利用存储感知自动管理空间清理WinSxS文件夹结合手动清理策略 小结删除临时文件总结&…

JWT在单点登录系统中的应用

JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许使用JWT在用户和服务器之间传递安全可靠的信息。 来假想一下一个场景。在A用户关注了B用户的时候,系统发邮件给B用户,并且附有一个链接“点此关注A用户”。链接的地址可以…

XML HTTP传输 小结

what’s XML XML 指可扩展标记语言(eXtensible Markup Language)。 XML 被设计用来传输和存储数据,不用于表现和展示数据,HTML 则用来表现数据。 XML 是独立于软件和硬件的信息传输工具。 应该掌握的基础知识 HTMLJavaScript…

Elastic:加速生成式人工智能体验

作者:Matt Riley 搜索驱动的人工智能和开发人员工具专为速度和规模而打造。 在大型语言模型(LLM)和生成式 AI 的每日突破中,开发者站在了这场运动的最前沿,影响着它的方向和可能性。在这篇博客中,我将分享…

【研发管理】产品经理知识体系-数字化战略

导读: 数字化战略对于企业的长期发展具有重要意义。实施数字化战略需要企业从多个方面进行数字化转型和优化,以提高效率和创新能力,并实现长期竞争力和增长。 目录 1、定义 2、数字化战略必要性 3、数字战略框架 4、数字化转型对产品和服务设计的影响…

chrome 浏览器 有自带的自动字幕功能,支持英文,控制您的音乐、视频等媒体内容

chrome 浏览器 有自带的自动字幕功能,支持英文,控制您的音乐、视频等媒体内容

蚁剑修改特征性信息

前言 我们首先得知道蚁剑的流量特征: 编码器和解码器的特征:蚁剑自带的编码器和解码器具有明显的特点,可以通过更改配置文件来达到流量加密的目的1。例如,蚁剑支持多种编码方式,如base64、chr、rot13等,这…

C++中的inline用法

1. 引入inline关键字的原因 在c/c中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程序的局部数据(也就是函数内数据&#xf…

初识Java中的NIO

1.概述 Java NIO 全称java non-blocking IO ,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出新特性,被统称为 NIO(即 New IO),是同步非阻塞的。NIO采用内存映射文件的方式来处理输入输出,NI…

【C++进阶】哈希表(哈希函数、哈希冲突、开散列、闭散列)

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:c大冒险 总有光环在陨落,总有新星在闪烁 引言: 我们之前…

CSS 学习笔记 总结

CSS 布局方式 • 表格布局 • 元素定位 • 浮动布局(注意浮动的负效应) • flex布局 • grid布局(感兴趣的可以看下菜鸟教程) 居中设置 元素水平居中 • 设置宽度后,margin设置为auto • 父容器设置text-alig…

鸿蒙原生应用已超4000个!

鸿蒙原生应用已超4000个! 来自 HarmonyOS 微博近期消息,#鸿蒙千帆起# 重大里程碑!目前已有超4000个应用加入鸿蒙生态。从今年1月18日华为宣布首批200多家应用厂商正在加速开发鸿蒙原生应用,到3月底超4000个应用,短短…

【ARMv7-M】| 01——阅读笔记 | 简介|应用程序级编程和内存模型

系列文章目录 【ARMv7-M】| 01——阅读笔记 | 简介|应用程序级编程和内存模型 失败了也挺可爱,成功了就超帅。 文章目录 前言1、简介2、应用程序级编程模型2.1 编程模式和访问等级2.2 数据类型和运算操作2.3 寄存器和执行状态1.2.4 异常和中断1.2.5 浮点单元寄存器…

android 资源文件混淆

AGP7.0以上引用AndResGuard有坑 记录下 在项目的build.gradle中添加如下 buildscript {ext.kotlin_version "1.4.31"repositories {google()jcenter()maven {url "https://s01.oss.sonatype.org/content/repositories/snapshots/"}}dependencies {class…

【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(七)- 向量算术指令格式

1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容: 这是一份关于向量扩展的详细技术文档,内容覆盖了向量指令集的多个关键方面,如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…