BetaFlight深入传感设计之八:坐标系

关于坐标系、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

其实就飞行器在空中飞行,比较重要的几大坐标系统:

  1. Geographic Coordinate System
  2. Navigation Coordinate System
  3. Body frame Coordinate System

注:矢量运算遵循的是右手系法则。

1. 坐标系统应用

这里针对BetaFlight/iNav/CleanFlight所使用的坐标系统罗列出来,方便理解实际代码操作中+/-问题。

1.1 Geographic Coordinate System: LLH, Longitude-Latitude-Height

Height: altitude above the mean sea level.
LLH, Longitude-Latitude-Height

1.2 Navigation Coordinate System: xNorth-yEast-zUp, left-handed (LH) cartesian 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

xEast-yNorth-zUp, right-handed (RH) cartesian coordinate system

2. 实际飞控应用

实际飞控程序计算层面:

  1. 在垂直方向使用了Body frame(zUp) + Geographic(Altitude)
  2. 在水平方向使用了Body frame(xEast-yNorth) + Navigation(xNorth-yEast)
  3. 在误差方面使用了右手系叉乘运算

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高度数据融合

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值