ardupilot开发 --- 坐标变换 篇

在这里插入图片描述

Good Morning, and in case I don't see you, good afternoon, good evening, and good night!

  • 0. 一些概念
  • 1. 坐标系的旋转
    • 1.1 轴角法
    • 1.2 四元素
    • 1.3 基于欧拉角的旋转矩阵
      • 1.3.1 单轴旋转矩阵
      • 1.3.2 多轴旋转矩阵
  • 2. 齐次变换矩阵
  • 3. visp实践

0. 一些概念

  • 相关概念:旋转矩阵、平移矩阵、单应矩阵、齐次变换矩阵。
  • 坐标变换包括旋转变换和平移变换。
  • 为什么要坐标变换?引入坐标变换可以解决哪些问题?应用场景?
    • 已知一点p在坐标系A中的坐标,计算p在坐标系B中的坐标。
    • 已知一向量v在坐标系A中的值,计算v在坐标系B中的值。
    • 描述坐标系A和坐标系B之间的位姿关系(姿态和位置)。
    • 一向量v绕坐标系A的xyz轴旋转 θ ϕ ψ \theta \phi \psi θϕψ角度并进行一定平移后在坐标系A中的新坐标。
    • 在数学建模过程中,往往需要将不同的物量量表示在同一个坐标系内才能列出等式。
    • 刚体运动学。
    • 图像的投影。

1. 坐标系的旋转

描述坐标系的旋转常用的方法包括:

  • 轴角法
  • 旋转矩阵
  • 欧拉角
  • 四元数

这几种旋转表示方法有各自的优缺点和应用场景,这里不作赘叙。

1.1 轴角法

不常用,略…

1.2 四元素

待续…

1.3 基于欧拉角的旋转矩阵

在这里插入图片描述
欧拉角指:横滚角 ϕ \phi ϕ,俯仰角 θ \theta θ,偏航角 ψ \psi ψ
ϕ , θ , ψ \phi, \theta, \psi ϕ,θ,ψ在不同的领域有不同的定义规则:主要的区别是旋转顺序的不同,绕旧坐标轴轴旋转还是绕新坐标轴的不同(也称外旋或内旋)。
航天航空领域的欧拉角:

  • 内旋
  • Z–>Y–>X
  • 右手系

1.3.1 单轴旋转矩阵

在这里插入图片描述
其中 ϕ θ ψ \phi \theta \psi ϕθψ满足右手定则,绕右手坐标系的正方向旋转时为正。
举例:
坐标系A中有一点p,坐标为 [ x a , y a , z a ] T [x_a,y_a,z_a]^T [xa,ya,za]T.
系A绕系A的正x轴旋转 θ \theta θ角度得到新坐标系B,那么点p在坐标系B中的坐标为: [ x b , y b , z b ] T = R A B ( θ ) [ x a , y a , z a ] T [x_b,y_b,z_b]^T=R_A^B(\theta)[x_a,y_a,z_a]^T [xb,yb,zb]T=RAB(θ)[xa,ya,za]T,其中 R A B ( θ ) = R x ( θ ) R_A^B(\theta)=R_x(\theta) RAB(θ)=Rx(θ)称为A到B的旋转矩阵!
A到B的旋转矩阵可以有多种符号表示方式,通常有:
R A B R_A^B RAB
R B A R_{BA} RBA
B R A ^BR_A BRA
都表示 A ~> B 的旋转关系矩阵!!
注意上下标的位置!

1.3.2 多轴旋转矩阵

待续…

2. 齐次变换矩阵

将两个坐标系的旋转关系和平移关系整合成一个4x4的矩阵。
[ x b y b z b 1 ] = b T a [ x a y a z a 1 ] = [ b R a O a b 0 1 ] [ x a y a z a 1 ] \begin{bmatrix} x_b \\ y_b \\ z_b \\ 1 \end{bmatrix}={^bT_a} \begin{bmatrix} x_a \\ y_a \\ z_a \\ 1 \end{bmatrix}= \begin{bmatrix} ^bR_a&O_a^b \\ 0&1 \\ \end{bmatrix} \begin{bmatrix} x_a \\ y_a \\ z_a \\ 1 \end{bmatrix} xbybzb1 =bTa xayaza1 =[bRa0Oab1] xayaza1
b T a = [ b R a O a b 0 1 ] {^bT_a} = \begin{bmatrix} ^bR_a&O_a^b \\ 0&1 \\ \end{bmatrix} bTa=[bRa0Oab1]
其中:
b T a ^bT_a bTa称为坐标系 a 到坐标系 b 的齐次变换矩阵;
b R a ^bR_a bRa是系a到系b的旋转矩阵;
O a b O_a^b Oab是系a原点在系b中的坐标;
坐标系 a 到坐标系 b 的齐次变换矩阵为 b T a ^bT_a bTa,那么坐标系 b 到坐标系 a 的齐次变换矩阵为 a T b = ( b T a ) − 1 ^aT_b=(^bT_a)^{-1} aTb=(bTa)1,根据齐次矩阵的性质,可知:
a T b = ( b T a ) − 1 = [ a R b − a R b O a b 0 1 ] ^aT_b=(^bT_a)^{-1}= \begin{bmatrix} ^aR_b&-^aR_bO_a^b \\ 0&1 \\ \end{bmatrix} aTb=(bTa)1=[aRb0aRbOab1]

3. visp实践

待续…

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

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

相关文章

charls抓包工具 mumu模拟器抓包apk

1.先安装mumu 官网添加链接描述 2.配置 设置,点进互联网,点编辑,选择手动代理 主机名写自己电脑的ip地址,端口随便,只要不被占用,一般参考其他人都是8888 3.下载charls 参考这个添加链接描述 先官网…

项目验收测试有必要找第三方软件测试机构吗?

在当今信息技术飞速发展的时代,软件测试成为了确保软件质量的重要环节。而在项目的验收测试中,很多企业都面临一个问题,那就是是否有必要找第三方软件测试机构进行验收测试?今天,我们就来探讨一下这个问题。 第三方软件测试机构…

【别再用Excel了!】这款免费可视化工具能帮你轻松提升效率

现代数据分析和展示的需求已经远远超出了传统工具的能力,尤其是在需要快速、直观和高效地处理复杂数据的情况下。山海鲸可视化通过其强大的功能和易用性,成为了设计师以及各类新手用户的理想选择。下面我就以一个可视化设计师的角度,和大家简…

2024年6月计算机视觉论文推荐:扩散模型、视觉语言模型、视频生成等

6月还有一周就要结束了,我们今天来总结2024年6月上半月发表的最重要的论文,重点介绍了计算机视觉领域的最新研究和进展。 Diffusion Models 1、Autoregressive Model Beats Diffusion: Llama for Scalable Image Generation LlamaGen,是一个…

合合信息智能文档抽取:赋能不良资产管理行业的数字化转型

官.网地址:合合TextIn - 合合信息旗下OCR云服务产品 随着数字化浪潮的汹涌澎湃,全球各行各业正经历着前所未有的变革。人工智能技术的快速发展,以其独特的创新能力和应用潜力,正在深刻地改变着业务模式,推动产业效率的…

把动漫幻想变为现实:一键生成真实图像,让你的动漫梦想成为现实!

大家好我是安琪!你能想到一个动漫图片可以转换成真实图像吗?其实,这就是所谓的漫改真人。有很多非常出名的动漫画或者动漫剧,改成由真人去饰演,就叫做漫改影视。 对于很多的动漫爱好者来说,如果一部漫改影…

css控制整个div下的所有元素中的文字放大缩小

css控制文字放大缩小 话不多说,直接上代码,我用了最简单粗暴的方法,找个下面所有的元素,然后遍历放大所有文字 add() {var div this.$refs[myDiv];var elements div.querySelectorAll("*");for (var i 0; i < elements.length; i) {var fontSize parseInt(win…

还不到6个月,GPTs黄了

相比起来&#xff0c;人们还不如使用一个足够强大、灵活且通用的AI助手来满足各类复杂需求。更严重的是一些独立GPTs显露出的安全隐患。除此之外&#xff0c;最大的问题在于OpenAI模糊不清的货币化政策。 文章正文 上周&#xff0c;不少人发现微软官网忽然更新了一条“GPT Bu…

深度解析拆分盘到底是怎样的运行逻辑!

一、引言 在数字经济的蓬勃发展中&#xff0c;拆分盘投资方式逐渐崭露头角&#xff0c;引起了广大投资者的关注。不同于传统的投资模式&#xff0c;拆分盘以其独特的拆分策略&#xff0c;为投资者提供了一种看似能够持续增值的新途径。本文将深入探讨拆分盘的基本原理、运作实…

BW:CP里添加信息对象小问题记录

之前做视图直接添加进CP里&#xff0c;以为不能直接往CP里加信息对象&#xff0c;还专门建了一个带信息对象的模型&#xff0c;把信息对象拖到CP里&#xff0c;然后再链接视图的字段 今天发现原来不用这样&#xff0c;直接加就可以&#xff0c;小记一下 如图直接诶创建&#x…

Linux驱动开发-02字符设备驱动开发初步

一、驱动开发的前期准备 在进入驱动开发之前&#xff0c;需要烧写UBoot、内核、设备树&#xff0c;做一些前期的准备工作&#xff0c;确保我们开发板上的内核版本和Ubuntu上是一致的才能进行正式开发 1.U-Boot 2.内核版本 3.使用TFTP挂载的内核和设备树 二、Linux驱动开发与裸机…

记一次elementui时间线的实现

实现效果 点击展开&#xff0c;每次累加五条数据进行展示 实现思路 起始本质上就是一个分页查询&#xff0c;只不过按新的形式展示&#xff0c;然后也不统计总数&#xff0c;每次只展示固定的5条数据点击加载更多&#xff0c;就展示下一页&#xff0c;页的页数进行1&#xff…

ONLYOFFICE 文档 8.1 发布:重塑文档处理

官网链接&#xff1a;ONLYOFFICE官网 一、PDF编辑器功能强大&#xff1a;创造跟随想象 在追求无界办公与高效创作的今天&#xff0c;ONLYOFFICE再次引领风潮&#xff0c;正式发布了其桌面编辑器的最新版本——ONLYOFFICE桌面编辑器8.1。这一版本不仅巩固了其作为顶级办公套件…

python3使用ast.parse详解

使用ast库分析python3脚本, 并对脚本进行一些处理, 比如注释pirnt语句 一.基础知识 官方网址连接 ast — Abstract Syntax Trees ast库可以方便的分析python代码结构, 并做一些处理, 很适合对大量脚本文件做批量处理, 比如把print语句全部注释等. 直观的打印出代码结构 impo…

简述Java项目中VO,BO,PO,DO,DTO之类的文件概念、易混点

VO&#xff0c;BO&#xff0c;PO&#xff0c;DO&#xff0c;DTO 概念易混点一&#xff1a;VO和DTO- 让我们通过一个实例来阐释DTO和VO的概念及其应用差异&#xff1a;小结&#xff1a;VO专注于展示&#xff0c;而DTO则用于数据的传输和业务逻辑的处理。 二&#xff1a;BO和PO小…

公益培训|半导体与集成电路项目制培训项目

关于我们 硬蛋产业学院&#xff0c;基于硬蛋创新(http://00400.HK)在芯片产业的资源和技术优势&#xff0c;引进全球领先的芯片应用技术&#xff0c;为国内培养芯片应用技术人才&#xff0c;助力芯片应用产业发展。 硬蛋产业学院在国家各主管部门、广东省、深圳市及社会各界的大…

AI 激发算力需求暴增,施耐德电气解码智算中心发展

随着全球碳达峰目标的持续推进&#xff0c;各行各业都在加速绿色转型的步伐&#xff0c;尤其是高耗能产业更是备受关注。人工智能行业以其迅猛的发展速度令人瞩目&#xff0c;它所带来的不仅是算力需求的飙升&#xff0c;更是日益凸显的能耗问题。 目前&#xff0c;人工智能预…

AVI 是什么格式,AVI 格式用什么播放器打开?

AVI 是什么格式&#xff1f;提到 AVI 格式想必大家多数会想到在 DVD 横行的年代&#xff0c;光盘中所包含的媒体视频格式多是以 AVI 格式存储。AVI 是一个非常通用的容器格式&#xff0c;支持多种视频和音频编解码器。这意味着从DVD中提取视频内容时&#xff0c;可以通过转码为…

发电机保护屏产品介绍,组成

发电机保护屏产品介绍&#xff0c;组成 发电机保护屏是用于保护发电机组的电气装置。它根据发电机的类型和实际运行要求&#xff0c;将多种保护装置组合在一起&#xff0c;形成一个保护屏柜。发电机保护测控屏是指把发电机类保护装置集中在安装在一个控制柜里&#xff0c;主要用…

Java程序递归及mybatis递归查询

之前项目组有个需求&#xff0c;定时同步机构的信息。已知三方接口由于返回数据量很大&#xff0c;所以最后需要三方提供一个可根据机构编号获取当前机构及子机构信息的接口。而不是一次性返回全部机构信息&#xff01; 由于这次需求也用到了递归&#xff0c;所以记录下&#…