我们先明确一下这里所说的一些概念

IMU

IMU全称Inertial Measurement Unit,惯性测量单元,主要用来检测和测量加速度与旋转运动的传感器。起初只是用来测量角度的,后来随着其他传感器的加入,它的功能变得多样了,而很多情况下,其名称还是IMU,因此这也导致了:有的人认为IMU只能计算一些惯性力,进而获得旋转角度(加速度计);有些人发现有些叫IMU的产品还可以算偏航角(加速度计+磁力计);而更有甚者,IMU居然还能获得经纬度(加速度计+磁力计+GNSS)

1)IMU包含加速度计和磁力计
我们先设想,我们的加速度计是一个正方体,里面放置一个小球。初始状态是平方放在桌面,重力加速度g是垂直于平面的,即四周没有受力,其实我们的IMU没有绕x轴和y轴旋转。当我们绕x轴旋转后,我们会看到g被分摊到两个平面,原本不受力的垂直于y方面的平面有了一个力,原本垂直于z方面的平面由原来的受力g变为了小于g的力。
通过这些力的分析,我们就可以算出我们的倾角。
这里记住,加速度计并非是我们来计算我们运动物体的加速度,而是在物体匀速运动或者静止时,我们通过算出重力对受力平面的影响进而算出角度。
这里还要注意,偏航角定义为x轴投影到g垂直的平面后,与北方向的夹角,因此该角度和g无关,即加速度计无法获得偏航角。

俯仰角,横滚角,yaw角:来自加速度计
偏航角:磁力计

这里要注意,偏航角已经涉及了本体与地球北方向的夹角,即
如果你单纯研究机体,那么你不用偏航角,不用磁力计
如果你还需要把机体搞到大地坐标系,那么你需要偏航角

2)厂家为其集成了GNSS
GNSS(全球导航为习惯系统),可用于提供高经纬度信息
这里还涉及了一个坐标系转换的考虑
IMU坐标系的坐标原点在其质心
GNSS坐标系的坐标原点在其天线(蘑菇头)的中心位置
所以如果给IMU集成GNSS,需要将GNSS天线坐标系下获得的经纬度转换到IMU坐标系,以实现整体的统一。

旋转矩阵

首先我们先明确我们为什么要用旋转矩阵
因为旋转一个角度,它的旋转结果只有一种
但是旋转两个角度,它们的组合就会出现两种
R1R2;R2R1
如果三个角度,则会出现更多
一般情况下,三维的旋转矩阵是不满足交换律的,先绕哪个轴转,再绕哪个轴转,结果是不一样的

直接拿我们的俯仰,横滚和偏航为例,这三个角度,都是我们的机体坐标系与参考坐标系(大地坐标系)的夹角,这三个夹角都有明确的定义,和是我们自己想,我们会发现,这些角度的定义都是绕着机体坐标系定义的,而并非是参考坐标系。
俯仰:以飞机的翅膀为轴
横滚:以飞机的头为轴
偏航:飞机的航向与北方向的夹角

?????,前两个角都是以飞机为参考的,最后一个不是了???
其实这里定义的挺乱的
准确来说,我们在研究姿态时,是不应该引入偏航角的,而我们要用的是yaw角

偏航角是

左乘右乘——纯属坑人,看下面就知道了

绕z旋转如上图,(x,y,z)是我们当前需要旋转的坐标系的坐标点
绕z轴旋转,z保持不变,从旋转矩阵也可以看出,它让我们的z保持不变

然后我们再绕xnow轴旋转,如上图,(xnow,ynow,z)是我们绕z旋转后的新坐标系下的坐标点
绕xnow轴旋转,x保持不变,从旋转矩阵也可以看出,xnow没有发生变化。

这说明了什么?乘上一个旋转矩阵,其旋转轴都是我们当前坐标系的轴。
记住,这是当前坐标系。。。。。。。。!!!!!!!!!

这样一下就通顺了,你会发现,很多公司给出的旋转矩阵都是最后再转偏航角,因为前两次旋转把当前坐标系的xy0平面转换到了与世界坐标系的XY0平面平行,这个平行成立之后,那么
偏航角直接可以绕着当前坐标系的z轴旋转了。

偏航角≠yaw

按偏航角转过来,你会发现,你的x轴指向了北
按yaw转过来,你会发现,你的x轴指向没有实际的物理意义

旋转矩阵做了什么?


可以看到,我们的用途不同,旋转矩阵对于点的意义有所不同。

这也就是,在学习机器人运动时,我们听到的左乘为固定坐标系,右乘为变化坐标系,其实说的都是点的运动,真实的原坐标系并未发生变化,只是点动了,可能会生成新的坐标系作为新的参考,就有了右乘。

在点的观测时,我们只考虑坐标系的变化,它的变化都是绕当前坐标系转动,都是乘在左边,而并非大家说的左右乘。

这里也就好说明了,都是按照当前矩阵旋转,因此那些先转俯仰后转横滚和先转横滚后转俯仰的,两者可能结果相同,但是角度的大小肯定不一致,因此,用哪家的imu必须问清楚,其旋转矩阵怎么定义的,才能使用。

角度正负问题
正常右手坐标系,逆时针的都为正
看清商家的坐标系定义和角度定义,转换到和你自己坐标系匹配的关系,然后再求解。

关于矩阵中是-sinθ还是+sinθ,还有必要再谈一下
1)下图这一套旋转矩阵,准确来说应该是回退旋转矩阵
绕X和Z的转动都是右上角为负值
θ的正负是按如何转过来的定义


上式从左到右为惯性坐标系到物体坐标系,做了哪些旋转

1)拿飞机为例子,平地的飞机到空中的飞机,需要如何操作。
下式可以表示为飞机先绕大地的z轴转了γ角,即飞机偏航了γ角;然后绕y轴转了β角,即飞机逆时针横滚了β角,;最后飞机绕x轴转了α角,即飞机扬起了头,扬了α角。

上式从右到左为物体坐标系回退到惯性坐标系,需要回退的步骤

这时分清楚α、β和γ,哪个是当前坐标系定义的,很显然,飞机从地面到空中最后一次用的α角,那么从空中到地面第一个就要用该角,然后转β角,最后转γ角。
这里可能会有人异或,角度不应该是负值么,回退应该是往回转的?
这里需要明白一点

坐标点的对应

观测的点是绝对的,它对于世界来说是不动的;
点和坐标系的关系是相对的,坐标系顺时针转,点就逆时针转。
这里转坐标系是顺时针转了α,那么点就要逆时针转α,即上式的正值。

定位导航——旋转矩阵,IMU,左右乘相关推荐

  1. 精华文稿 | 工业场景中机器人定位导航技术

    本文总结于俞毓锋博士2021年10月20日在深蓝学院"大咖面对面"直播活动中的分享.俞毓锋博士毕业于北京大学,有十年SLAM领域研究经验,深入SLAM算法和工程化落地,目前担任极智 ...

  2. 无人驾驶汽车是如何实现定位导航的

    无人驾驶小白,最近看了一下无人驾驶汽车定位导航相关的资料,做了一些简单的科普,有不正确的,还请大神们指出,谢谢! 关于无人驾驶汽车的定位导航主要从下高精度地图,GNSS,IMU,Lidar,camer ...

  3. 九天创新智能科技有限公司诚招--SLAM/规划/控制/感知/定位/导航算法工程师

    公司团队:海归高层次人才团队创办,拥有国际领先的全栈式动驾驶核心技术.创始团队来自新加坡国立大学.新加坡南洋理工大学.中国科学技术大学等世界一流学府. 项目已经是面向园区---专注智慧清洁领域 一.控 ...

  4. 浅析服务机器人自主定位导航技术(一)

    智能服务机器人正成为行业的风口浪尖,从清扫机器人开始,家庭陪伴机器人.送餐机器人等陆续进入公众视线. 在讨论这类机器人是否能解决实际问题时,自主定位导航技术作为机器人智能化的第一步正不断引起行业内的重 ...

  5. 基于SLAM的机器人的自主定位导航解析

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文来源于新机器视觉,文章仅供学术交流,已获得授权. 来源: ht ...

  6. 《机器人GPS定位导航小车的制作》

    该书的最新名称为<轮式自主移动机器人编程实战>,认准清华大学出版社出版. 淘宝和京东皆可以购买了. 目录 第1章轮式机器人基础知识 5 1.1 什么是轮式机器人 5 1.2 认识轮式机器人 ...

  7. 移动机器人定位导航方式的演进

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:新机器视觉 在过去二十年时间里,移动机器人逐步进入到工业 ...

  8. php手机定位导航,js实现网页定位导航功能

    本文实例为大家分享了js网页定位导航的具体代码,供大家参考,具体内容如下 一个循环判断当前滚动到的位置,另一个循环遍历导航条判断其id是否与滚动到的位置相同 效果如图: 实现代码: 地狗购物网--网页 ...

  9. 重磅直播|基于激光雷达的感知、定位导航应用

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 大家好,本公众号现已开启线上视频公开课,主讲人通过B站直播间,对3D视觉领域相关知识点进行讲解,并在微 ...

最新文章

  1. R语言时间序列(time series)分析实战:简单指数平滑法预测
  2. 最好的电脑系统_安装电脑系统不求人,教你如何自己动手装系统!值得收藏学习...
  3. CSS3---选择器
  4. scapy安装and简介
  5. boost::units模块实现异构单元片段
  6. Eclipse基金会
  7. IOS7的蛋疼各种收集
  8. 单片机c语言检测压力值,基于单片机的压力检测系统设计论文.doc
  9. WAVE族函数的使用
  10. 大数据 | 从阿里核心场景看实时数仓的发展趋势
  11. java自动签到_原来实现钉钉自动签到如此简单,每天准时上下班不是梦
  12. 列出5个python标准库_5个常用 Python 标准库
  13. 鹰式价差matlab,期权价差
  14. 如何查询芯片 IC 元器件 的datasheet数据手册
  15. 6个优秀的图片素材网站,全部免费
  16. 中科大计算机辅助图形实验室,Prof. Ligang Liu at USTC (中科大刘利刚教授)
  17. 苹果笔记本计算机内存不足怎么办,苹果手机更新系统内存不够怎么处理-电脑内存不足怎么解决...
  18. Spreadsheet_Excel_Writer
  19. 【.Net实用方法总结】 整理并总结System.IO中MemoryStream类及其方法介绍
  20. 百度权重怎么查询?哪里可以查询百度权重?

热门文章

  1. 【论文笔记】Civil Rephrases Of Toxic Texts With Self-Supervised Transformers
  2. Echats关系图les-miserables的图表详细解析(和弦图)(二)
  3. node+express+mongodb初体验
  4. 无糖饮料难破“高端局”
  5. MODBUS-RS485布线的8条准则
  6. GDOI2018 涛涛摘苹果 [CDQ分治]
  7. mysql 查询练习——计算总订单价格大于100的订单号和总订单价格
  8. CSS选择器(nth-child)
  9. 2021年读书总结(持续更新中)
  10. 乐理基础知识-4.音程