机器人-轨迹规划

旋转矩阵

旋转矩阵--R--一个3*3的矩阵,其每列的值时B坐标系在A坐标系上的投影值。

代表B坐标系相对于A坐标系的姿态。

旋转矩阵的转置矩阵

其实A相对于B的旋转矩阵就相当于把B的列放到行上就行。

视频

 (将矩阵的行列互换得到的新矩阵称为转置矩阵。)

所以说B相对于A的旋转矩阵就是A相对于B的旋转矩阵的转置矩阵,反过来也一样。

旋转矩阵和逆矩阵

下面的推导是相对于单位向量的。

一个向量旋转一定角度之后的新的向量值怎么计算

旋转矩阵的用途

多步骤旋转的旋转矩阵

每一次的旋转的旋转矩阵相乘起来得到的就是最终的旋转矩阵;

移动和转动的先后顺序

移动的先后顺序可以互换,比如先x轴移动3,再y轴移动5,或者先y轴移动5,再x轴移动3,结果都一样。

转动的先后顺序不可以互换。

欧拉角:

固定角和欧拉角建立的旋转矩阵

固定角--相对基轴转

后转的先乘

(矩阵乘法一般不满足交换律)

原因是:

由旋转矩阵推算各个旋转角

欧拉角--相对自己的轴转

先转的先乘

(矩阵乘法一般不满足交换律)

原因:

因为旋转不可以交换先后顺序,而新的向量p(B)只有先乘R3,再R2,再R1才能回到p(A)。

由旋转矩阵推算各个旋转角

欧拉角和固定角实现的旋转矩阵关系

也就是固定角先转后乘所得的结果和欧拉角后转先乘所得的结果一致。

反正这两方法都是实现旋转矩阵的方法,得到的结果肯定要一致。

也就是无论哪种方式实现的姿态的变动,最终都会得到一个相同的姿态。

固定角的12中实现方式和欧拉角的12中实现方式

都可以实现同一种姿态。

为什么每一种有12种

第一次:可以任意旋转一个轴转动--有3种选择方式;

第二次:不能和上一次选择一样的轴--有2种选择方式;

第三次:不能和上一次选择一样的轴--有2种选择方式;

所以:3*2*2=12种;

为什么不能选择同一个轴,因为同一个轴实现相同的转动,没必要选择两次。

位姿

位置+姿态=位姿;

变换矩阵--transformation matrix

T=R和B原点到A的位置组成的四维矩阵

注意四维矩阵是旋转矩阵和B源端坐标系相对于A坐标系的位置组成的。

怎么利用位置向量和旋转矩阵描述物体的位姿?

只有移动

则旋转矩阵为单位矩阵;

只有旋转

三个值全0;

B到A坐标系中间经过多个坐标系

连续的移动和转动。

先移动再旋转和先旋转再移动

我们之前所有描述的都是先旋转再移动的清情况。

刚体本身的位置向量是相对于本身的坐标系B,而移动则是表示自己本身坐标系源端相对于世界坐标系A的位置向量。

变换矩阵的逆矩阵

视频

变换矩阵用固定角和欧拉角实现

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

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

相关文章

MySQL的SQL文件转换为适用于SQLite的SQL文件

最近了解到一个较小众的数据库SQLite,打算拿来玩一玩,但手上目前只有MySQL的一些库表文件无法直接导入使用,所以出一期记录,手动进行二者转换 分析SQL语句 首先要明确,MySQL和SQLite两者格式差别不止限于字段类型、特…

C++二维数组arr[3][4]与arr(3, vector<int>(4))的差异

int arr[3][4] 和 vector<vector<int>> arr(3, vector<int>(4)) 都是用于存储二维数组的数据结构&#xff0c;但它们之间有以下几个差异&#xff1a; 1. 内存管理&#xff1a;int arr[3][4] 是一个静态数组&#xff0c;它在编译时就分配了连续的内存空间&am…

flask+uwsgi+nginx+cerbot配置

配置步骤 安装flask和uwsgi pip install Flask uwsgi 创建一个简单的flask应用&#xff08;app.py&#xff09;或者是自己的flask项目 from flask import Flask app Flask(__name__)app.route(/) def hello_world():return Hello, World! 配置uwsgi&#xff0c;这里我给出…

C# Solidworks二次开发:枚举应用实战(第五讲)

大家好&#xff0c;今天是我们枚举应用的第五讲。 下面是今天要介绍的枚举&#xff1a; &#xff08;1&#xff09;第一个枚举为swConStraintType_e&#xff0c;这个枚举为草图约束&#xff0c;下面是官方的具体枚举值&#xff1a; MemberDescriptionswConstraintType_ALONG…

【AI】探索 Prompt:如何与 ChatGPT 对话

工作中 忙的太久 不觉间 已三十个年头 挑剔着 轮换着 你再三选择 那么寒冬后 炎夏前 谁会给你春一样的爱恋 日落后 最美的 时光已溜走 日落后 最美的 已溜走 &#x1f3b5; 赵雷《三十岁的女人》 在人工智能和用户交互领域&#xff0c;“prompt” 是一个至关重要的概念。它不仅…

SQLite尽如此轻量

众所周知&#xff0c;SQLite是个轻量级数据库&#xff0c;适用于中小型服务应用等&#xff0c;在我真正使用的时候才发现&#xff0c;它虽然轻量&#xff0c;但不知道它却如此轻量。 下载 官网&#xff1a; SQLite Download Page 安装 1、将下载好的两个压缩包同时解压到一个…

十大排序算法之——堆排序算法(Java实现)及思路讲解

堆排序是一种非常有效的排序算法&#xff0c;它利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构&#xff0c;并同时满足堆积的性质&#xff1a;即子节点的键值或索引总是小于&#xff08;或者大于&#xff09;它的父节点。堆排序可以分为两个主要部分&a…

【PG-2】PostgreSQL存储管理器

2. PostgreSQL存储管理器 src/backend/storage (base) torrestorresの机革:~/codes/postgresql-16.2/src/backend/storage$ ls Makefile buffer file freespace ipc large_object lmgr meson.build objfiles.txt page smgr sync存储管理器—smgr 通用存储管理器 …

航拍图像拼接 | 使用C++实现的无人机航拍图像拼接

项目应用场景 面向无人机航拍图像拼接场景&#xff0c;项目使用 C 实现&#xff0c;使用 harris 角点查找特征点 非极大值抑制&#xff0c;由于航拍图像没有严重的尺度旋转变化&#xff0c;使用了 berief 描述子&#xff0c;然后使用 RANSAC 求 H&#xff0c;最后进行图像拼接…

linux 中 make 和 gmake的关系

1. 关系 gmake特指GNU make。 make是指系统默认的make实现; 在大多数Linux发行版中&#xff0c;make就是GNU make&#xff0c;但是在其他unix中&#xff0c;gmake可以指代make的某些其他实现&#xff0c;例如BSD make或各种商业unix的make实现。 gmake是GNU Make的缩写。 Linux…

【算法一则】【贪心】数组中的数可以拼装成的最大数

题目 给定一组非负整数 nums&#xff0c;重新排列每个数的顺序&#xff08;每个数不可拆分&#xff09;使之组成一个最大的整数。 注意&#xff1a;输出结果可能非常大&#xff0c;所以你需要返回一个字符串而不是整数。 示例 1&#xff1a; 输入&#xff1a;nums [10,2] …

【UnityRPG游戏制作】RPG项目的背包系统商城系统和BOSS大界面

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

二分查找-在排序数组中查找元素的第一个和最后一个位置

给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 输入&#xf…

程序链接步骤2:重定位

一、链接步骤 链接步骤1“符号解析”&#xff1a; 将符号引用和符号定义建立关联后&#xff1b; 链接步骤2“重定位”&#xff1a; 将引用符号的地址“重定位”为相关联的符号定义的地址。 二、原文链接&#xff1a;https://www.jianshu.com/p/7d13ec4735ba 符号解析完成后&…

ZooKeeper 搭建详细步骤之二(伪集群模式)

ZooKeeper 搭建详细步骤之一&#xff08;单机模式&#xff09; ZooKeeper 及相关概念简介 伪集群搭建 ZooKeeper 伪集群是指在一个单一的物理或虚拟机环境中模拟出一个由多个 ZooKeeper 节点构成的集群。尽管这些节点实际上运行在同一台机器上&#xff0c;但它们通过配置不同的…

字节秋招高频算法汇总(高级篇)

更多大厂面试内容可见 -> http://11come.cn 字节秋招高频算法汇总 接下来讲一下 字节秋招 中的高频算法题&#xff0c;分为三个部分&#xff1a; 基础篇 、 中级篇 、 进阶篇 目的就是为了应对秋招中的算法题&#xff0c;其实过算法题的诀窍就在于 理解的基础上 背会 看…

【ARMv9 DSU-120 系列 5 -- CHI Interface】

请阅读【Arm DynamIQ™ Shared Unit-120 专栏 】 文章目录 DSU-120 CHI BUSAddress Target Groups配置步骤映射和管理Hashing for CHI transaction distribution散列过程和地址目标组识别散列函数定义两个地址目标组的散列四个地址目标组的散列八个地址目标组的散列架构框图

与Apollo共创生态:我和Apollo七周年大会的心路历程

一、写在前面 前几天观看了Apollo七周年大会&#xff0c;给我带来了超多的惊喜&#xff0c;博主想将这份惊喜分享给大家&#xff01; 二、Apollo开放平台 Apollo开放平台秉承其核心理念——开放能力、共享资源、加速创新、持续共赢&#xff0c;致力于推动自动驾驶技术的革新…

《HCIP-openEuler实验指导手册》1.2Apache主页面配置

一、配置服务器监听IP及端口 注释主配置文件“监听IP及端口”部分 cd /etc/httpd/conf cp httpd.conf httpd.conf.bak vim httpd.conf可以在普通模式下搜索Listen关键字 :/Listen按n键继续向后搜索 在/etc/httpd/conf.d中新建子配置文件port.conf&#xff1a; touch /etc…

新质生产力的内涵

新质生产力是以科技创新为先导&#xff0c;摆脱传统增长路径、符合高质量发展要求的生产力跃迁新形态&#xff0c;是数字时代更具有融合性、更体现新内涵的生产力组合。如果说传统生产力是人类已经掌握并正在使用的生产力&#xff0c;那么&#xff0c;新质生产力就是以大数据、…