PX4项目学习::(七)飞控栈算法梳理

2023-05-16

无人机算法分为三种,分别为捷联式惯性导航系统、滤波算法和估计算法 (卡尔曼滤波器)、飞行控制算法(PID算法)。

Px4控制算法综述
1commander和navigator产生期望位置

2position_estimator是当前位置,attitude_estimator是当前姿态;LPE和EKF2融合了两个估算;三选一即可

3通过pos_ctrl产生期望姿态,通过att_ctrl产生pwm的数值

4最后通过mixer和motor_driver控制4个电机
 

Firmware/src/modules
【内部包含算法应用部分的代码实现,包含包含姿态结算、姿态控制、配置结算、位置控制、落地检测、sensor 初始化、系统配置、uORB、commander等】
modules中的 代码模块 && 各模块功能

  1. attitude_estimator_q使用mahony 的互补滤波算法实现姿态解算
  2. commander:实现整个控制模式代码;如起飞前的sensor的校准算法、安全开关使能、飞行模式切换、pixhawk硬件上的显示定义等
  3. land_detector:飞行过程中使用land模块检测降落以及着陆状态;并发布”vehicle_land_detected“的topic,内部会监测z轴速度和加速度等状态参数。考虑了使用不同机型(多旋翼、固定翼、垂直起降等)时机体状体、推力、运动不同(每种机型都有其各种的算法)
  4. local_position_estimatorLPE算法实现位置解算,类似简单的EKF,一个预测一个修正
  5. mavlink:和地面站的通讯协议,结合地面站QGC源代码配合修改或仅仅调用mavlink内部的API接口,即可通过无线信号将所需要的数据显示在地面站QGC上(该方法是一种实时监测”目标数据“的方法)
  6. mc_att_control:姿态控制的算法实现,姿态的内外环PID控制,外环控制角度,内环控制角速度
  7. mc_pos_control:位置控制的算法实现,位置的内外环PID控制,外环控制速度,内环控制加速度
  8. sensors各种传感器的相关参数(包含数据流中的异常检测、传感器校准、陀螺仪加速度计参数)
  9. systemlib:系统所需的参数列表。
  10. uORB:进程间的通信,系统中的数据流

px4算法研究之基础知识整理 - 程序员大本营 (pianshen.com)

(27条消息) 1.Px4控制算法综述_xiaoxilang的博客-CSDN博客_px4飞控算法

px4代码解析(一):航点位置到点判据 (360doc.com)

PX4算法解析(二):L1制导律进阶 (360doc.com)

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

PX4项目学习::(七)飞控栈算法梳理 的相关文章

  • PX4与TX2通信

    PX4与TX2通信以及相关数据的获取 目录 1 PX4硬件接口 2 TELEM1 2接口线序 3 PX4与TX2通信 PX4 IO口定义 xff1a PX4硬件 xff1a 4 通信测试 5 RTPS 43 ROS Jetson TX2终端
  • PX4通过I2C方式添加自定义传感器(2)

    PX4 I2C通信方式传感器驱动分析 xff08 以ets airspeed为例 xff09 1 说明 这篇文章我们就来看看I2C传感器的驱动过程 xff0c 当然里面也有很多东西我不是很理解 xff0c 所以仅谈我领悟的一些东西 我就以e
  • PX4 Offboard Control with MAVROS--Takeoff(一键起飞)

    警告 xff1a 请先在仿真环境下进行测试 xff0c 能达到预期效果后在进行实际飞行测试 xff0c 以免发生意外 本篇文章只是用作学习交流 xff0c 实际飞行时如出现意外情况作者不予以负责 所需材料 1 PIXhawk或者Pixrac
  • px4自定义mavlink收不到消息的问题

    px4版本1 12稳定版 最近在做px4二次开发相关工作 按照网上的一些教程自定义了一个mavlink消息用来控制无人机 按照教程里面的单独开了一个xml来定义消息 最后生成的消息在px4端通过流传输的方式自己写的客户端可以收到消息 但是客
  • Ubuntu18.04安装PX4踩坑、报错及解决方案整理

    笔者最近需要跑无人机巡检大坝的仿真 xff0c 于是在自己的Ubuntu2018 04中开始安装PX4 xff0c 问过不少之前已经装过PX4的师兄和同学 xff0c 都曾在PX4安装过程中踩过许多坑 xff0c 耗费了不少时间 xff0c
  • 关于PX4中的高度若干问题

    飞行的高度是如何测量的 xff1f 地面的高度和海平面的高度差别很大 xff0c 飞控又是如何有效判别进行降落的 xff1f 这是我脑子里的疑问 搜索的一圈发现很少有人讨论这方面的问题 xff0c 于是本次我就直接看一下源代码 xff0c
  • PX4 GAZEBO无人机添加相机并进行图像识别

    PX4 GAZEBO无人机添加摄像头并进行图像识别 在之前完成了ROS的安装和PX4的安装 xff0c 并可以通过roslaunch启动软件仿真 接下来为无人及添加相机 xff0c 并将图像用python函数读取 xff0c 用于后续操作
  • Ubuntu20.04+MAVROS+PX4+Gazebo保姆级安装教程

    Ubuntu20 04 43 MAVROS 43 PX4 43 Gazebo 安装PX4步骤安装MAVROS安装QGCPX4仿真 安装PX4步骤 从github上clone源码 span class token function git s
  • PX4进入系统控制台以及运行程序

    这里提供进入控制台两种办法 1 运行 Tools mavlink shell py dev ttyACM0 是我进入Px4系统控制台的命令 xff0c 进入之后应该是这样 Pixhawk src Firmware Tools mavlink
  • PX4模块设计之十一:Built-In框架

    PX4模块设计之十一 xff1a Built In框架 1 Nuttx Built In框架2 PX4 Built In框架2 1 NSH Built In关联文件2 2 NSH Built In关联文件生成2 3 NSH Built In
  • PX4模块设计之二十四:内部ADC模块

    PX4模块设计之二十四 xff1a 内部ADC模块 1 内部ADC模块简介2 模块入口函数2 1 主入口board adc main2 2 自定义子命令custom command 3 内部ADC模块重要函数3 1 task spawn3
  • PX4模块设计之三十:Hysteresis类

    PX4模块设计之三十 xff1a Hysteresis类 1 Hysteresis类简介2 Hysteresis类成员变量介绍3 Hysteresis类迟滞逻辑4 Hysteresis类重要方法4 1 Hysteresis bool ini
  • PX4模块设计之三十三:Sensors模块

    PX4模块设计之三十三 xff1a Sensors模块 1 Sensors模块简介2 模块入口函数2 1 主入口sensors main2 2 自定义子命令custom command2 3 模块状态print status 重载 3 Se
  • 关于github px4 gps 驱动的开发的总结

    源码编译上边已经写过文章了 遇到的几个问题 1 解决虚拟机不能共享文件夹的问题 一开始虚拟机的更新 vmware tools 是灰色的 xff0c 不能点 xff0c 然后通过关掉虚拟机 xff0c 然后再开启的时候 xff0c 在没有启动
  • PX4 OffBoard Control

    终于还是走上了这一步 xff0c 对飞控下手 xff0c 可以说是一张白纸了 记录一下学习的过程方便以后的查阅 目录 一 ubuntu18 04配置px4编译环境及mavros环境 二 PX4的OffBoard控制 1 搭建功能包 2 编写
  • PX4之常用函数解读

    PX4Firmware 经常有人将Pixhawk PX4 APM还有ArduPilot弄混 这里首先还是简要说明一下 xff1a Pixhawk是飞控硬件平台 xff0c PX4和ArduPilot都是开源的可以烧写到Pixhawk飞控中的
  • PX4项目学习::(七)飞控栈:commander

    PX4的飞行控制程序通过模块来实现 xff0c 与飞控相关的模块主要有commander xff0c navigator xff0c pos control xff0c att control这几个 xff0c 分别可以在src modul
  • PX4项目学习::(五)模块代码启动流程

    54条消息 PX4 模块代码启动流程 zhao23333的博客 CSDN博客
  • 瑞吉外卖【后台管理系统篇】

    瑞吉外卖 一 软件开发整体介绍 1 软件开发流程 2 角色分工 3 软件环境 二 瑞吉外卖项目介绍 1 项目介绍 2 技术选型 3 功能架构 三 开发环境搭建 1 数据库环境搭建 2 maven项目搭建 四 后台功能开发 1 员工管理 1
  • cool-admin应对一个页面出现多个表格【element-ui解决】

    项目背景 在一个页面中引入三个表格的需求 这里以两个为例子好了 这里是失败的例子 cool admin中的cl表格可以实现出现这两个表格 这是data中return回来的 使用封装好的onload方法 调用server接口 实现从后端获取数

随机推荐