BetaFlight深入传感设计之八:坐标系
BetaFlight深入传感设计之八:坐标系
- 1. 坐标系统应用
- 1.1 Geographic Coordinate System: LLH, Longitude-Latitude-Height
- 1.2 Navigation Coordinate System: xNorth-yEast-zUp, left-handed (LH) cartesian coordinate system
- 1.3 Body frame Coordinate System: xEast-yNorth-zUp, right-handed (RH) cartesian coordinate system
- 2. 实际飞控应用
- 2.1 导航方向角
- 2.2 磁力计方向角
- 2.3 误差右手系
- 3. 参考资料
关于坐标系、BF代码中的+/-问题,搞了一段时间,始终没有搞清楚,有点晕头转向的。在Git Hub也发起了一些问题,不过真的一针见血的答复也没有看到。
不过通过专家们对问题的反馈信息,逐步的琢磨出一些端倪。
【1】What type of coordinates is used in iNav code, and why comments “x axis of accelerometer is pointing backwards”? #8483
【2】Flight controller is different from the airframe coordinate system? #11903
【3】iNav, Cullen Jennings 27 Jul 2020 · 3 revisions, Developer info
【4】Comparison of 3-D Coordinate Systems
【5】About Aerospace Coordinate Systems
其实就飞行器在空中飞行,比较重要的几大坐标系统:
- Geographic Coordinate System
- Navigation Coordinate System
- Body frame Coordinate System
注:矢量运算遵循的是右手系法则。
1. 坐标系统应用
这里针对BetaFlight/iNav/CleanFlight所使用的坐标系统罗列出来,方便理解实际代码操作中+/-问题。
1.1 Geographic Coordinate System: LLH, Longitude-Latitude-Height
Height: altitude above the mean sea level.
1.2 Navigation Coordinate System: xNorth-yEast-zUp, left-handed (LH) cartesian coordinate system
1.3 Body frame Coordinate System: xEast-yNorth-zUp, right-handed (RH) cartesian coordinate system
2. 实际飞控应用
实际飞控程序计算层面:
- 在垂直方向使用了Body frame(zUp) + Geographic(Altitude)
- 在水平方向使用了Body frame(xEast-yNorth) + Navigation(xNorth-yEast)
- 在误差方面使用了右手系叉乘运算
2.1 导航方向角
这里还是和BetaFlight深入传感设计之五:MahonyAHRS & 方向余弦矩阵理论中5.1章节中的问题一样,叉乘的结果没有问题,关键在于“Compute heading vector in EF from scalar CoG,x axis of accelerometer is pointing backwards.”,具体源由没有搞明白。
注:有兴趣的朋友可以看下这里的分析BetaFlight深入传感设计之九:传感坐标系/机体坐标系/导航坐标系/经纬度坐标系
2.2 磁力计方向角
2.3 误差右手系
测量→×计算→\overrightarrow{测量} \times \overrightarrow{计算}测量×计算 = 误差→\overrightarrow{误差}误差
注:归一化前提下。
3. 参考资料
【1】BetaFlight深入传感设计:传感模块设计框架
【2】BetaFlight深入传感设计之五:MahonyAHRS & 方向余弦矩阵理论
【3】BetaFlight深入传感设计之六:四元数计算方法
【4】BetaFlight深入传感设计之七:GPS&Baro高度数据融合
BetaFlight深入传感设计之八:坐标系相关推荐
- BetaFlight深入传感设计之九:传感坐标系/机体坐标系/导航坐标系/经纬度坐标系
BetaFlight深入传感设计之九:传感坐标系/机体坐标系/导航坐标系/经纬度坐标系 1. 问题症结 2. 入手分析 2.1 传感坐标系 2.2 机体坐标系 2.3 导航坐标系 2.4 经纬坐标系 ...
- BetaFlight深入传感设计:传感模块设计框架
BetaFlight深入传感设计:传感模块设计框架 1. BetaFlight传感器简介 2. BetaFlight传感器嵌入式软件设计 3. HwPreInit/HwInit阶段 4. HwIo阶段 ...
- BetaFlight深入传感设计之十:传感器物理特性方向对齐
BetaFlight深入传感设计之十:传感器物理特性方向对齐 1. 对齐定义 2. 常见对齐方式 3. 自定义对齐方式 4. 总结 5. 参考资料 6. 补充:gyro + mag对齐方式 AHRS( ...
- BetaFlight深入传感设计之六:四元数计算方法
BetaFlight深入传感设计之六:四元数计算方法 1. 四元数理论 1.1 定义 1.2 基本运算 1.2.1 矢量加减 1.2.2 标量乘法 1.3 矢量点叉乘 1.3.1 矢量点乘 1.3.2 ...
- BetaFlight深入传感设计之四:GPS传感模块
BetaFlight深入传感设计之四:GPS传感模块 1. HwPreInit/HwInit阶段 1.1 [业务HwPreInit]gpsInit 1.2 [业务HwInit]gpsInitHardw ...
- BetaFlight深入传感设计之五:MahonyAHRS 方向余弦矩阵理论
BetaFlight深入传感设计之五:MahonyAHRS & 方向余弦矩阵理论 1. 基础预备知识 1.1 机体坐标系 1.2 欧拉角 1.2.1 概念解释 1.2.2 动态概念 1.2.3 ...
- BetaFlight深入传感设计之三:IMU传感模块
BetaFlight深入传感设计之三:IMU传感模块 1. HwPreInit/HwInit阶段 1.1 [业务HwPreInit]gyroPreInit 1.2 [业务HwInit]gyroInit ...
- BetaFlight深入传感设计之七:GPSBaro高度数据融合
BetaFlight深入传感设计之七:GPS&Baro高度数据融合 1. 现象 2. 分析 2.1 程序逻辑 2.2 GPS精度 2.3 数值分析 3. 总结 传感器数据融合最主要的目的是为了 ...
- BetaFlight模块设计之八:GPS任务分析
BetaFlight模块设计之八:GPS任务分析 GPS任务 gpsUpdate函数分析 gpsNewData函数分析 gpsNewFrame函数分析 onGpsNewData 函数分析 基于Beta ...
最新文章
- List再整理,从代码底层全面解析List(看完后保证收获满满)
- 华为秘密作战计划曝光,重注研发AI芯片挑战英伟达,轮值董事长挂帅
- 会计有必要学python吗-工作三年却被实习生抢了饭碗,学会Python到底有多吃香?...
- ESPCMS基本导航操作
- Sonya and Queries CodeForces - 714C
- Spring 的 BeanFactory 和 FactoryBean 傻傻分不清?
- vscode 新建cpp文件_Visual Studio Code (vscode)编译C++
- 【Python】30天进阶Python!这个Github项目你值得拥有!
- Boost:清理cleanup测试程序
- c 正则表达式替换html,正则表达式替换html元素属性的方法
- JavaScript跳转到页面某个锚点#
- 支付宝小程序面向个人开发者公测
- 系统分析师视频教程下载
- Qt的特性——信号和槽
- 火爆全球的区块链到底是怎么一回事?一文带你看懂
- 易语言大漠透明图制作与使用
- 解读 AppStore 新功能:自定义产品页面和 A/B Test 工具
- 【小技巧】苹果手机获取UDID的方法【两种UID的获取方法,非常实用】
- vue项目+高德地图
- 2.3 万 Star!直追微软 Visio,这个简洁实用的在线绘图工具必须推荐给你
热门文章
- 基于单片机的防盗门窗系统设计(#0451)
- KDJ如何找买卖点?KDJ买卖运用实战图解
- 第一篇:SLAM-Gmapping 代码阅读(源码详细注释)
- websocket+php socket实现聊天室
- 【UI设计】—界面设计原则
- http://jingyan.baidu.com/album/d8072ac47baf0eec95cefdca.html?picindex=4
- 不用计算机怎么连接无线,电脑不用网线怎么连接无线网 不用无线网卡连接WiFi教程...
- uvalive 4997 ABCD Tiles
- 考研英语词汇文章3-Salt
- java数据结构家族族谱_java数据结构41:家谱处理