匿名飞控笔记(三)

2023-05-16

姿态解算

  1. 四元数表示方向余弦矩阵
  2. 误差的求解
  3. PI误差补偿
  4. 四元数的求解
  5. 欧拉角的求解

以下参考:https://blog.csdn.net/zhiyu_buliang/article/details/88936541

1.明确一个概念,我们所说的姿态解算不过是进行姿态检测而已,就是利用传感器得出我们所需要的信息。
而后还有姿态控制,PID当仁不让。而姿态检测就是为了为姿态控制提供足够的信息。
所以首先给自己定位,处在姿态检测这个阶段,姿态控制后面再说。

2.我们姿态解算的目的是什么?
就是为了得出三个欧拉角,pitch roll yaw,因为姿态控制的输入只能是三个欧拉角。
(来自Crazypony,由于本人还没做到控制所以也不是很清楚,不过给自己找个理论支撑是必要的,哪怕之后颠覆重建)
真搞不懂有些人一直叫嚷着姿态解算姿态解算,但是最后对自己想要得出什么东西一无所知,连主次都分不清,真可怕。

3.为什么要进行坐标系转换?
显然,地理坐标系和机体坐标系两者明显不同。我们处在地理坐标系中而无人机处在机体坐标系中,都是相对的。
很简单如果我们想让无人机往前飞,但是无人机怎么知道是让它往前飞呢?不妨将机体坐标系变换到地理坐标系中,
明显需要将两个坐标系联系在一起。

4.欧拉角,四元数,正交余弦矩阵三者有什么关系?为什么都说使用四元数更简便?
事实上三者都是一样的,只不过是不同的表达形式而已,哪种适合用那种。
至于网上都说使用四元数来计算更简便,我的看法是:其实这三种都使用到了,在坐标变换过程中使用了DCM,然后
DCM可以用欧拉角来表示,也可以用四元数来表示,而我们最后的需求也是欧拉角。但是DCM在推导过程中起到了
很大的作用,尤其是对帮助理解很有作用。四元数不过是在代码中应用比较方便而已,而欧拉角作为姿态控制的入口参数
也很重要。也就是说,四元数不过是起过渡的作用,也没有那么神秘。

5.姿态解算的大致过程是什么?
目的即是为了求出欧拉角,首先进行坐标系变换,而转换矩阵就将两者联系在一起,而由理论可以推导出转换矩阵可以由
欧拉角来表示,同样由理论,转换矩阵也可以由四元数来表示,由于四元数在代码中使用比较方便,因此我们可以求出四元数,
而求解四元数也有一定的工程方法,最后由四元数和欧拉角的关系解出欧拉角。

6.基于Mahony的互补滤波算法挺有意思,可以好好研究下,先飞起来,再改进研究其他的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

匿名飞控笔记(三) 的相关文章

  • Android studio 使用记录

    一 常用技巧 1 代码格式化 Code gt Reformat Code 2 自动删除多余的import Code gt Optimize imports 3 从工程中查找某个字符串 Edit gt Find gt Find in path
  • 嵌入式C语言基础知识 -- 函数指针&回调函数&结构体指针

    目录 一 函数指针 xff1a 什么是函数指针 xff1f 函数指针的三种定义方式 xff1a xff08 1 xff09 先定义出函数的类型 xff0c 再通过类型定义函数指针变量 xff08 2 xff09 先定义出函数指针的类型 xf
  • 常见的SSL证书错误代码及解决方法

    有时候SSL证书明明安装了 xff0c 但是为什么不出现绿色小锁呢 xff1f 浏览器总是报错 xff0c SSL证书明明已经安装好了 xff0c 怎么突然访问不显示绿色安全锁呢 xff1f 针对这些问题 xff0c 整理出一些常见的SSL
  • Tomcat 8.5和Tomcat 9安装SSL证书的教程

    第一步 xff1a 准备好所需要的证书文件 xff0c Tomcat8 5和Tomcat9部署ssl证书一般使用JKS文件 xff0c 如果有Pem和key文件 xff0c 也需要合成JKS文件 第二步 xff1a 打开tomcat配置文件
  • 浅谈人工智能(AI)

    人工智能 AI 一 人工智能简介 1 1 人工智能定义和发展历史 人工智能 xff08 Artificial Intelligence xff09 xff0c 英文缩写为AI 它是研究 开发用于模拟 延伸和扩展人的智能的理论 方法 技术及应
  • 睿智的目标检测31——非极大抑制NMS与Soft-NMS

    注意事项 Soft NMS对于大多数数据集而言 xff0c 作用比较小 xff0c 提升效果非常不明显 xff0c 它起作用的地方是大量密集的同类重叠场景 xff0c 大量密集的不同类重叠场景其实也没什么作用 xff0c 同学们可以借助So
  • ubuntu18.04 安装Pangolin

    按照Github上面的教程走即可 xff0c 非常简单 https github com stevenlovegrove Pangolin 首先要安装一些必要的库 Glew xff1a sudo apt get install libgle
  • freertos 学习 资源整理

    1 freertos 官方网站 freertos 官方网站 https www freertos org index html 源码下载 xff1a https sourceforge net projects freertos 2 如何下
  • openwrt: ipq4019 路由 资料汇总

    参考网站 https openwrt org 代码 https github com openwrt openwrt releases tag v18 06 1 wget https github com openwrt openwrt a
  • IT行业ToB销售为什么这么难

    IT行业ToB销售为什么这么难 华东企业服务IT圈 4天前 背景 xff1a 笔者IT行业从业14年 xff0c 干过售后 售前 销售 创过业 xff0c 属于那种基本出去拜访客户不需要售前那种 xff0c 复杂的技术方案自己操刀才放心 x
  • 【Linux编程】守护进程(daemon)详解与创建

    本文主要参考自 xff1a linux系统编程之进程 xff08 八 xff09 xff1a 守护进程详解及创建 xff0c daemon 使用 一 概述 Daemon xff08 守护进程 xff09 是运行在后台的一种特殊进程 它独立于
  • Android studio svn使用方法

    步骤 一 设置忽略文件 可参考工程目录下的 gitignore文件 iml DS Store externalNativeBuild local properties idea libraries idea modules xml idea
  • linux lsusb命令的安装及简单使用

    在 Linux 中我们可以使用 lsusb 来列出 USB 设备和它的属性 xff0c lsusb 会显示驱动和内部连接到你系统的设备 直接在控制台输入 lsusb 即可 安装 如果无法运行 lsusb xff0c 使用以下命令安装 xff
  • 算法总结

    在2020年的时候 xff0c 我第一次接触了C 43 43 编程 xff0c 那时的我是一位四年级的小学生 xff0c 觉得挺好玩的 xff0c 爸爸就给我推荐了一门课程 程序设计与算法 xff08 一 xff09 C语言程序设计 xff
  • ubuntu16.04安装docker

    ubuntu16 04安装docker 开始安装 开始安装 由于apt官方库里的docker版本可能比较旧 xff0c 所以先卸载可能存在的旧版本 xff1a span class token function sudo span span
  • docker命令中的/bin/bash

    docker run i t tomcat bin bash 中的 bin bash的作用是因为docker后台必须运行一个进程 xff0c 否则容器就会退出 xff0c 在这里表示启动容器后启动bash
  • 如何将文件从本机上传到docker容器

    1 如何从docker容器中下载文件 xff1a docker span class token function cp span container created path span class token operator lt sp
  • libjpeg.so.8: cannot open shared object file: No such file or directory.

    在docker容器里执行carla的PythonAPI报错 xff1a libjpeg so 8 cannot span class token function open span shared object file No such s
  • Docker容器图形界面显示的配置方法

    参考博客 0 环境说明 Ubuntu 16 04 docker 19 03 12 因为要在docker中用pygame xff0c 要用到显示器 xff0c 这个时候需要解决这个Docker 可视化 的问题 原理简介 原理上可以把docke
  • 在docker中运行carla

    参考carla文档 ubuntu18 04 carla0 9 9 docker19 03 12 Docker Installation Docker CE For our tests we used the Docker CE versio

随机推荐

  • Pyglet设置窗口标题

    Pyglet教程 Caption The window s caption appears in its title bar and task bar icon on Windows and some Linux window manage
  • Linux 解决远程连接的 “Gtk-WARNING **: cannot open display;”

    转发 ssh Y username 64 ip 使用 Y 参数实际上是授权了 X11 转发 xff0c 这样就可以看到来自远端的 gtk 图形窗口了 span class token function man span span class
  • android jni调试 - 堆栈分析

    一 环境 xff1a windows rk3399 android 7 1 二 奔溃信息 pid 13544 tid 13639 name no localmeeting gt gt gt com sino localmeeting lt
  • CFileDialog的使用[转]

    由于项目需要 xff0c 查阅了一下CFileDialog类 xff0c 以满足程序自动读取配置文件的需求 xff0c 现在小小记录一下 xff01 CFileDialog类封装了Windows常用的文件对话框 xff0c 提供个一种简单的
  • 记录一下c/c++的几种计时方式

    include lt iostream gt include lt string gt include lt chrono gt void Run for int i 61 0 i lt 10000000 i 43 43 void time
  • [转载] 强化学习开源框架整理

    转载 https zhuanlan zhihu com p 582396276 本篇主要是介绍了不同的 RL 开源工作 xff0c 包括环境开源工作和算法开源工作 xff0c 同时关注这些开源工作对于多机多卡并行分布式训练的支持 算法框架
  • tf模型在C++部署

    tensorflow训练好的模型使用ONNX Runtime在C 43 43 部署 tf模型转onnx使用tf2onnx 在前面的文章有讲到c 43 43 调用tf keras的模型 环境 ubuntu20 04cuda 11 6cudnn
  • Google Breakpad 之一,跨平台crash 处理上报系统简介

    C C 43 43 程序最棘手的时候就是一个字 挂 xff0c 总是经常和不经常的挂掉 xff0c 尤其是那些线上的不经常挂的情况 xff0c 光看日志定位问题真的很难 为解决C挂挂的问题 xff0c 有必要提供一个跨平台的crash处理系
  • ubuntu14.04更换内核为3.14

    查看ubuntu14 04支持的内核版本的命令 xff1a atp cache showpkg linux headers 现在Ubuntu14 04安装完成后为4 4 0的内核 xff0c 若要降低内核版本 xff0c 操作方法如下 xf
  • 回首2013,这一年的坚持

    2013年 xff0c 眨眼间已悄悄流逝 这一年回味起来 xff0c 总是那么美 xff0c 充满快乐 xff0c 令人陶醉 一 生活篇 2013年对我来说 xff0c 是快乐的一年 在这一年里 xff0c 遇见了很多美丽的景色 xff0c
  • 使用Cropper进行图片剪裁上传

    在项目中 xff0c 需要多上传的图片按照比例和尺寸进行裁剪 xff0c 这类场景在一些CMS系统中是比较常见的 xff0c 尤其是大部分的文章现在要适配PC Mobile两种平台 xff0c 文章的封面图等便需要按照尺寸做裁剪 xff0c
  • Element-UI消息提示组件Message在Vuex中的调用实现

    在最近的项目开发中 xff0c 前端部分使用 Vue 开发 xff0c 整个页面基于 Element UI 实现 由于是单页面多组件应用 xff0c 使用了 Vuex 做状态管理 为了页面交互的友好和风格的统一 xff0c 消息提醒使用 E
  • Fork原项目新增分支的同步和推送

    在 Github 或者 Gitlab Fork 项目以后 xff0c 原项目增加了新的分支 xff0c 我们可以通过以下流程将分支同步下来 本项目前提假设我们设置了 remote 的名称为 up 与源项目关联 git remote v or
  • Elasticsearch文档版本冲突原理与解决

    一般我们在更新文档时 xff0c 主要的操作流程时 xff1a 读取文档 gt 修改 gt 提交保存 数据中心等保存的都是最新一次提交的内容 大部分时候 xff0c 这都没有什么问题 但是如果两个或更多的请求同时修改一个文档时 xff0c
  • Protobuf3 使用笔记

    一 和protobuf2比 xff0c 更新的内容 xff1a 1 字段前取消了required和optional两个关键字 xff0c 目前可用的只有repeated关键字 2 不可以现设置默认值了 a string默认为空串 b 枚举默
  • 随笔

    沟通 跨部门沟通 xff0c 首先应确立沟通的目的是双方的有效配合和问题解决的方向 方法 xff0c 去除程序员们自带的问题责任论 xff0c 不能按照 不是我的问题 xff0c 我这OK xff0c 跟我无关 这样的思路去讨论和解决问题
  • Linux内存消耗

    原文 xff1a https web archive org web 20120520221529 http emilics com blog article mconsumption html 本文主要描述如何通过一个合理的方法来测量li
  • Linux安装Docker完整详细教程

    目录 Docker及系统版本 Docker的自动化安装 Docker的手动安装 xff08 CentOS7 xff09 1 1 卸载历史版本的Docker 1 2 安装依赖包 1 3 更新本地镜像源 也可以叫做 xff1a 设置源仓库 1
  • 匿名飞控笔记(一)

    四轴飞行器的控制原理 四轴飞行器的结构 xff08 待补 xff09 四轴飞行器的运动控制方法 xff08 待补 xff09 四轴飞行器各部分工作原理 飞行姿态与升力关系 1 绕y轴旋转 角度 2 绕x轴旋转 角度 3 绕z轴旋转 角度 飞
  • 匿名飞控笔记(三)

    姿态解算 四元数表示方向余弦矩阵误差的求解PI误差补偿四元数的求解欧拉角的求解 以下参考 xff1a https blog csdn net zhiyu buliang article details 88936541 1 明确一个概念 x