Pixhawk学习7——位置解算

2023-05-16

Pixhawk的位置解算分为两部分,第一部分主要为传感器的数据获取,而该部分最主要的就是GPS数据的提取。第二部分为与惯性器件之间的组合导航。组合导航的好处我就不用多说了。

Pixhawk代码中目前主要有两处组合导航的代码:
1)Firmware/src/examples/ekf_att_pos_estimator
2)Firmware/src/modules/ekf2 + Firmware/src/lib/ecl/ekf

第一个状态变量的维数为22,第二个是24,整体上没有太大区别。以第一个为例:

该部分代码完全是按照惯性导航与组合导航的方法进行姿态和位置解算的,起到了类似于大型无人机捷联组合导航系统的作用。

该部分卡拉曼滤波组合导航采用22阶kalman,所需要估计的状态矩阵为:
Index // State vector: 注释
// 0-3: quaternions (q0, q1, q2, q3) 四元数
// 4-6: Velocity - m/sec (North, East, Down) 地理系速度
// 7-9: Position - m (North, East, Down) 地理系位置
// 10-12: Delta Angle bias - rad (X,Y,Z) 陀螺漂移
// 13: Delta Velocity Bias - m/s (Z) 加计零偏
// 14-15: Wind Vector - m/sec (North,East) 地理水平风速
// 16-18: Earth Magnetic Field Vector - gauss (North, East, Down) 地理系磁场
// 19-21: Body Magnetic Field Vector - gauss (X,Y,Z) 机体系磁场

量测量包括: GPS速度位置、磁力计、空速、光流、

整体程序分为以下几个部分:

1、 捷联惯性导航

该部分内容完全是规规矩矩的捷联惯性导航的步骤,在这里不多做解释。代码内容可以看以光衢的《惯性导航原理》或者秦永元的《惯性导航》。
经过惯性导航解算,采用陀螺和加计的原始数据,得到了状态0-9的更新。

2、 数据提取

在task_main()中,首先进行了数据提取。

3、 Kalman滤波

在进行kalman滤波之前,首先判断了量测量是否可靠,需要根据量测量的可靠与否,在更新测量矩阵H,旨在决定是否要引入或者舍弃某些量测量信息。

4、 Publish组合导航的数据

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

Pixhawk学习7——位置解算 的相关文章

  • Pixhawk之姿态解算篇(6)_Gradient Descent

    一 开篇 在多旋翼进行姿态估计的过程中 xff0c 最简单的就是直接使用gyro测量角速度进行积分求取欧拉角 xff08 RPY xff09 xff0c 但是由于gyro自身存在的bias和drift xff0c 导致直接测量过程随着时间的
  • Pixhawk ulog飞行日志分析

    在python下安装pyulog xff0c 在 ulog文件目录下输入ulog2csv即可将ulog转化为csv形式输出 ulog文件的保存时间 43 8即为飞行实际的时间 timestamp为时间戳 xff0c 除以10 6后单位为秒
  • PIXHAWK 4 中文资料 文档 PCB

    最先进的PX4自动驾驶仪开发工具包 PixHawk 4是PixHawk飞行控制器家族中最新最成功的产品 它是由Holybro 和 Auterion合作开发 xff0c 优化PX4 它预装了最新的PX4原生固件 它采用了目前最先进的STMic
  • PIXHAWK飞机侧翻原因

    转载自 xff1a http pix 1yuav com wen ti ji jin fei ji ce fan yuan yin html 飞机侧翻原因 飞机侧翻有以下几个原因 xff0c 请认真检查 1 电机顺序 xff0c 电机转向
  • Pixhawk之姿态控制篇(1)_源码算法分析(超级有料)

    摘自 xff1a https blog csdn net qq 21842557 article details 51439171 Pixhawk之姿态控制篇 xff08 1 xff09 源码算法分析 xff08 超级有料 xff09 20
  • pixhawk的日志分析似乎是用flightplot

    https blog csdn net sinat 39342174 article details 79982138 http blog sina com cn s blog 643af4310102wx3n html 我准备把今天飞的P
  • Pixhawk无人机教程-8.1 在Mission Planner中下载与分析日志(转载)

    摘自 xff1a https www ncnynl com archives 201608 491 html Pixhawk无人机教程 8 1 在Mission Planner中下载与分析日志 闪存日志 目录 闪存日志日志类型 闪存 VS
  • 关于pixhawk硬件IMU和compass那点事儿

    文章目录 前言一 IMU和compass是什么 xff1f 二 导航坐标系与机体坐标系三 安装IMU xff0c compasss四 hwdef中设置IMU xff0c compass朝向总结 前言 继上一篇讲解了pixhawk的硬件组成
  • apm、pixhawk、pixhack飞控航拍后pos数据提取流程

    apm pixhawk pixhack飞控pos数据提取流程 下载日志 打开log分析 区域omap地图验证 验证之前将log文件使用mission planner进行kml验证 筛选相机pos坐标 xff08 选择CAM xff09 很重
  • Pixhawk学习1——CMakeList.txt的解析

    在PX4的工程文件中 xff0c src modules下是具体的飞控代码 里面主要包含了传感器采集 姿态结算 姿态控制 xff0c 位置结算 位置控制等程序模块 在进行二次开发时 xff0c 需要添加的模块也是在这个文件夹里 每个文件夹里
  • Pixhawk-开篇

    Pixhawk 开篇 互联网上关于介绍Pixhawk的文章特别多 有心人自己去网上查看吧 本篇文章未完 可能会有更新 不足请指出 QQ 4862879 说重点 Pixhawk指的是一款开源的硬件 下图的那个 是把原来的PX4FMU 43 P
  • pixhawk commander.cpp的飞行模式切换解读

    commander cpp逻辑性太强了 xff0c 涉及整个系统的运作 xff0c 所以分别拆分成小块看 另此篇blog大部分是参考 xff08 Pixhawk原生固件解读 xff09 飞行模式 xff0c 控制模式的思路 xff0c 笔者
  • pixhawk PX4FMU和PX4IO最底层启动过程分析

    首先 xff0c 大体了解PX4IO 与PX4FMU各自的任务 PX4IO STM32F100 为PIXHAWK 中专用于处理输入输出的部分 输入为支持的各类遥控器 PPM SPKT DSM SBUS 输出为电调的PWM 驱动信号 它与PX
  • pixhawk: px4代码初学分析:追溯电机控制--pwm输出

    追溯电机控制 pwm输出 正常工作状态下pwm输出过程简述 xff1a 其他状态下pwm输出 xff1a 正常工作状态下pwm输出过程简述 xff1a 姿态解算部分得出姿态控制量通过px4io cpp把姿态控制量发送给IOIO串口读取姿态控
  • 飞行控制器Pixhawk简介

    作者 xff1a 华清远见讲师 Pixhawk是一款由PX4开源项目设计并由3DR公司制造生产的高级自动驾驶仪系统 其前身是APM xff0c 由于APM的处理器已经接近满负荷 xff0c 没有办法满足更复杂的运算处理 xff0c 所以硬件
  • [pixhawk笔记]2-飞行模式

    本文翻译自px4官方开发文档 xff1a https dev px4 io en concept flight modes html xff0c 有不对之处 xff0c 敬请指正 pixhawk的飞行模式如下 xff1a MANUAL xf
  • [pixhawk笔记]6-uORB流程及关键函数解析

    本文中将结合代码 文档及注释 xff0c 给出uORB执行流程及关键函数的解析 xff0c 由于uORB的机制实现较为复杂 xff0c 所以本文主要学习如何使用uORB的接口来实现通信 回到上一篇笔记中的代码 xff1a include l
  • 树莓派结合PIXHAWK飞控实现四轴双目视觉避障

    树莓派结合Pixhawk飞控实现四轴双目视觉避障 灰信网 xff08 软件开发博客聚合 xff09 无人机双目视觉避障的实现 本文将介绍如何使用树莓派结合PIX飞控实现无人机双目视觉避障的功能 主要硬件 我们以双目摄像头 43 树莓派 43
  • win7下 pixhawk (ardupilot) 的编译

    前几天都在搞pixhawk源码编译问题 xff0c 什么在window下用Console或者eclipse xff0c 还是在Ubuntu下 xff0c 都做了 xff0c 而且把 mk文件都看了 xff0c 结果还是有bug 总结一下三种
  • 树莓派3B使用mavlink串口连接PIXHAWK_V5

    参考网址 xff1a http ardupilot org dev docs raspberry pi via mavlink html https dev px4 io en robotics dronekit html https do

随机推荐

  • MFC:pic控件的矩形的left、right、top、bottom 坐标位置

    CRect rect 然后 获取矩形控件 那么这个矩形控件的左上 和右下 分别对应 xff0c left xff0c top xff1b right xff0c bottom left xff0c top为左上角的点坐标 right xff
  • ubuntu下对sd卡 分区和格式化 挂载sd卡

    一 sd卡分区和格式化 1 查看自己的设备号 命令 xff1a mount 可以看到 最后一行即为sd卡的挂载目录 2 umount 由于sd卡插上之后会自动mount xff0c 所以需要unmout 命令 xff1a umount 路径
  • linux c 线程间同步(通信)的几种方法--互斥锁,条件变量,信号量,读写锁

    Linux下提供了多种方式来处理线程同步 xff0c 最常用的是互斥锁 条件变量 信号量和读写锁 下面是思维导图 xff1a 一 互斥锁 xff08 mutex xff09 锁机制是同一时刻只允许一个线程执行一个关键部分的代码 1 初始化锁
  • IMX头部详细解析之一 头部组成

    镜像组成 完整的imx镜像由以下四部分组成 xff1a Image Vector Table xff08 映像向量表 xff09 Boot Data xff08 启动数据 xff09 Device Configuration Data xf
  • IMX头部详细解析之二 头部生成工具

    前言 在之前的文章中 xff0c 介绍了imx的头部组成部分 xff0c 本文将介绍u boot如何通过mkimage工具构建imx的头部 正文 在imx6平台上进行裸机程序开发时 xff0c 通常需要添加imx头部信息 xff0c 才能使
  • Linux命令查询工具 O-LinuxCmd

    Linux命令查询工具 O linuxCmd 前言 一直以来 xff0c 遇到不熟悉的Linux命令都会直接百度 xff0c 找到一些命令查询网站再进行查询 xff0c 比如这个man linuxde net网站就很不错 虽然加入收藏夹就能
  • 嵌入式Linux利用ppp实现4G模块联网

    之前做项目时需要用到SIM7100模块 xff0c 便快速了解下ppp拨号 xff0c 实现了功能 xff0c 但是功能虽然实现了 xff0c 却依然有许多疑问 xff0c 这段时间有点时间 xff0c 打算更加详细的研究下 编译ppp2
  • O-ComTool V2.0.0串口调试工具

    O ComTool V2 1 0更新 xff0c 点击访问 O ComTool V2 0 0 简介 本次更新带来了 船新 的串口助手 xff0c 相较于V1 0 0版本 xff0c 代码重构 xff0c 添加了更多实用功能 xff0c 如
  • Marvell交换芯片88E6321/88E6320驱动总结-硬件篇

    芯片特性 Marvell 88E6321 88E6320 是一个7 Port千兆以太网交换芯片 支持最新的IEEEE802 1 Audio Video Bridging标准 芯片包含两个10 100 1000三速以太网收发器 xff08 P
  • Marvell交换芯片88E6321/88E6320驱动总结-寄存器篇

    由于我在项目中将该芯片作为PHY和SERDES使用 xff0c 因此本文内容主要还是围绕PHY和SERDES的相关功能 xff0c 至于其他功能则没有进行深入研究 工作模式 在之前的硬件篇中有提到 xff0c 该芯片有两种寻址模式 xff1
  • 更新 O-ComTool V2.1.0 串口调试助手

    FBI再次WARNING 测试时间较短 xff0c 有问题留言反馈哟 xff01 本次更新如下 实现更加人性化的暂停显示 上一版本中 xff0c 点击暂停显示时间过久 xff0c 就会出现卡顿的现象 xff0c 现在舍弃原来的方法 xff0
  • 什么是PN结

    FBI WARNING xff1a 本文是个人对PN结的理解 xff0c 若有错误 xff0c 望不吝赐教 xff0c 谢谢 xff01 二极管 三极管作为电路中的常见元件 xff0c 了解其工作原理是非常必要的 xff0c 但是在此之前
  • struct termios结构体详解

    一 数据成员 termios 函数族提供了一个常规的终端接口 xff0c 用于控制非同步通信端口 这个结构包含了至少下列成员 xff1a tcflag t c iflag 输入模式 tcflag t c oflag 输出模式 tcflag
  • PISSTV 树莓派慢扫描电视

    连接硬件 硬件 xff1a 树莓派 有驱动的摄像头 调试时需要usb wifi 配置树莓派 配置树莓派时要开启树莓派摄像头的支持 因为需要安装软件 xff0c 将树莓派连接到外网 测试摄像头拍照 使用raspistill命令进行拍照 ras
  • PID控制参数整定(调节方法)原理+图示+MATLAB调试

    序 首先最重要的是了解每个参数调节了系统响应的那些属性 xff0c 通过观察响应从而调节参数改变属性 PID的作用概述 xff1a 1 P产生响应速度和力度 xff0c 过小响应慢 xff0c 过大会产生振荡 xff0c 是I和D的基础 2
  • 关于VSCODE的插件 一

    官方API文档 1 要学好TypeScript 官方教程 1 1TypeScript是一门弱类型语言 强类型和弱类型主要是站在变量类型处理的角度进行分类的 这些概念未经过严格定义 xff0c 它们并不是属于语言本身固有的属性 xff0c 而
  • Pixhawk学习1——CMakeList.txt的解析

    在PX4的工程文件中 xff0c src modules下是具体的飞控代码 里面主要包含了传感器采集 姿态结算 姿态控制 xff0c 位置结算 位置控制等程序模块 在进行二次开发时 xff0c 需要添加的模块也是在这个文件夹里 每个文件夹里
  • Pixhawk学习2——uORB微对象请求代理及规则

    在Pixhawk中 xff0c 所有的功能被独立以进程模块为单位进行实现并工作 而每个进程模块都有一个 xff08 或多个 xff1f xff09 主题信息topic xff08 topic可以在Firmware msg里查看到所有的可使用
  • Pixhawk学习4——Commander相关分析

    Commander文件夹中的内容的作用主要为Pixhawk飞行模式的切换 该段程序会根据遥控器上的开关状态以及飞机飞行状态和各传感器性能状态进行判断 xff0c 最终实现飞行模式的切换 飞行模式切换主要涉及到以下几个文件 xff1a src
  • Pixhawk学习7——位置解算

    Pixhawk的位置解算分为两部分 xff0c 第一部分主要为传感器的数据获取 xff0c 而该部分最主要的就是GPS数据的提取 第二部分为与惯性器件之间的组合导航 组合导航的好处我就不用多说了 Pixhawk代码中目前主要有两处组合导航的