使用者——初见Pixhawk

2023-05-16

    • 是什么 Pixhawk简单介绍
      • 直接使用
      • 二次开发
    • Pixhawk总体概述
    • 怎么用 Pixhawk初次使用
      • 搭建调试环境
      • 初始化配置
      • 测试试飞
      • 调整参数提高性能

(是什么) Pixhawk简单介绍

这里写图片描述
PixHawk是著名飞控厂商3DR推出的新一代独立、开源、高效的飞行控制器,前身为APM飞控,不仅提供了丰富的外设模块和可靠的飞行体验,有能力的爱好者还可在其基础上进行二次开发
3DR 推出的Pixhawk的系列的多种飞控

直接使用

Pixhawk作为一个非常稳定的自动驾驶仪,可以作为固定翼、多旋翼、直升机、船舶、汽车模型的主控,通过连接外部的电机驱动,和无线遥控的接收机,实现多种模型的无线遥控驾驶。

二次开发

同时Pixhawk作为非常优秀的开源飞控,又给我们留了很多接口,用于二次开发。Pixhawk提供开源代码,我们可以直接基于代码进行二次开发;或者仅把Pixhawk作为无人驾驶仪的控制器,通过MAVLink协议与Pixhawk通信,进行二次开发
(二次开发结合后面的二次开发来讲)

Pixhawk总体概述

硬件配置

  • 主处理器:32位STM32F427,主频168 MHz ,256 KB RAM,2 MB Flash
  • 备用处理器:独立供电32位STM32F103故障保护协处理器
  • 传感器:双 3轴加速度计(据说可确保绝大部分情况下可剔除单加速度计可能产生的混淆噪声,极大改善飞行稳定性)、磁力计(确认外部影响和罗盘指向)、双陀螺仪(测量旋转速度)、气压计(测高)、内置罗盘、支持外置双GPS
    集成的备份、超控、故障保险处理器
  • microSD 插槽用于日志等用途,
  • 5个 UARTs, CAN, I2C, SPI, ADC,等

接口描述
这里写图片描述

这里写图片描述

这里写图片描述

(怎么用) Pixhawk初次使用

搭建调试环境

组装飞机
烧写固件
初始化配置
PixHawk飞控和Mission Planner地面站安装调试

初始化配置

(初始化配置,应该单独另出一节,讲四轴搭建)

测试、试飞

飞鱼飞控地面站(Android & IOS)

调整参数,提高性能

PID参数整定

P(比例):【回复力】是一个增益因子,修正偏差力度的一个比例值
当多旋翼受风等其他外界因素影响向一边倾斜时,P值直接决定了多旋翼抵抗这种倾斜力的大小。较高的P值会产生较强的修正力去抵抗飞行器位置的偏移
增大P值,飞行器会逐渐变得稳定,但P值太高会造成振荡和失控
P越大,多轴飞行器抵抗意外倾斜的能力越强,
如果P值太高,在飞行器返回初始位置的过程中会过冲然后再次往反方向修正,接着再次进行回到初始位置的补偿。这会 导致飞行器出现持续振荡,严重的话会完全破坏平衡。
但P过于大时会引起多轴飞行器抖动甚至猛烈侧翻 高频抖动
P越小,多轴飞行器抵抗意外倾斜的能力越弱,
但P过小时会引起多轴飞行器自平衡能力不足甚至朝一边侧翻(如顺着风的方向) 荡秋千式的慢慢晃动
P的理想值 是推油门悬停比较稳定
特技飞行:需要的P值稍高。
普通飞行:需要的P值稍低。

I(积分):这个参数决定了飞行控制器对过往飞行状态的依赖程度。(反应速度)
增大I值: 减小漂移和提升稳定效果,但过大的I值会延长稳定过程的周期,同时也会降低P的效果。
减小I值: 增强反应速度,但会增加漂移和降低稳定效果,同时会提升P的效果。
如果I值太小,会使飞行器过度依赖当前的误差,不能抑制“过敏”现象,从而造成飞行颠簸;如果I值太大,则会过度削弱系统对误差的反应能力,造成反应迟缓。
特技飞行:需要的I值稍低。
普通飞行:需要的I值稍高。

D(微分):【打舵后刹车】 【阻尼器】
较高的D值(数值与效果相反,较高的D值参数上会更接近0)意味着飞行器会快速返到回初始位置
增大D值:(请记住,增大效果等于减小设定的参数值) 提升修正的速度,也会提升产生修正过量与振荡的几率,同时也会提升P的效果。
减小D值:(请记住,减小效果等于增大设定的参数值) 降低由偏差状态返回初始位置的振荡,恢复到稳定效果的时间变长,同时也会降低P的效果。
特技飞行:增大D值(请注意是减小参数值)。
普通飞行:减小的D值(请注意是增大参数值)。
一旦多轴飞行器发生倾斜,则认为多轴飞行器会继续向同一方向倾斜,合适的D参数的能有效抑制未来可能发生的倾斜。
如果D值太小,您会觉得多轴飞行器反应不够灵敏;(打完舵后,松手,慢慢才回中)
如果D值太大,也会引起“过敏”。相较于P而言,D反映 得更多的是灵敏度,而P反映的是纠正误差的力度。(打完舵后,松手,回中有点抖)
D的理想值 (打完舵后,松手,迅速回中)


当多轴飞行器在PITCH/ROLL/YAW轴上有任意角度变化时,
1 外界环境(如风)导致变化,但是期望值没有变
2 用遥控打舵来改变,遥控给的就是期望
陀螺仪输出的实时值会与期望值比较,求出偏差角度值。再使用“PID”程序算法驱动电机,不断地纠正这个误差,让多轴飞行器回到期望的姿态。

首先调节P
用手抓着飞行器(小心),或者记在杆上固定好一个轴向
调(roll_P)增大油门,直到接近起飞的位置,左右晃动飞行器,增大P值,直到出现抖动,再回小一点
同理调节(Pitch_P)增大油门,直到接近起飞的位置,前后晃动飞行器,增大P值,直到出现抖动,再回小一点

航向yaw先不要动

增大P值直到出现振荡,然后稍微减小一点。
改变I值直到偏差程度达到无法接受的程度,然后稍微增大一点。
减小D值(请注意是增大参数值)直到出现大动作控制时回中速度变慢,然后稍微增大一点D值(请注意是减小参数


使用Mission Play 在线调参,
把遥控的第六通道映射到一个旋钮,在扩展设置里进行单个参数在线调试
Rate Roll/Pitch

好的调试原则是在不产生震动的情况下P尽可能高。(这样会很跟手,飞机容易操控)P值越高力度越大,控制力越大,值越小控制力越小。I和D负责修正P值大了造成的错误

I修正P的累计错误(什么叫累计,就是长时错误,表现在飞机上就是漂移,你让飞机成一定角度飞出去,没打杆,但是飞机自己就栽头或者上扬,这就是累计错误。记住I只管这个事儿,除了漂移啥都不管)

D值关系到飞机的某个轴是不是太快的达到目标值。如果飞机在打杆时非常快速的响应,那么它有可能超过了需要响应的预定位置,然后自己再向回纠正,这就造成了抖动,增加D值可以修正这种抖动。(引用原文的话bounce back{跳回},D只管跳回,其他的啥都不管。我下面详细讲。)D值尽可能小,太高的D值会导致电动机噪声太大(啥是电动机噪声,我下面详细说)。

PID三个参数的直观作用:

教你手动调节APM/PIXHAWK的PID

官网PID 设置

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

使用者——初见Pixhawk 的相关文章

  • Pixhawk之姿态解算篇(4)_补充篇

    一 开篇 大家期待已久的第四篇来了 xff0c 但是本篇可能比较水啊 见谅 首先 xff0c 上一周没有什么收获 xff0c 虽然看了不少的论文 xff0c 但是却没有什么质的飞越 看的论文都是关于姿态解算的 xff0c 用的算法大部分也都
  • Pixhawk之学习杂谈

    一 开篇 距离上一篇博文已经很久了 xff0c 最近主要就是参加了几家公司的电话面试 xff0c 思考了一些问题 xff0c 本身就是半路杀进无人机领域的门外汉 对整个飞行控制部分理解的也是皮毛的皮毛 xff0c 经过几家面试之后 xff0
  • pixhawk px4 添加自定义mavlink消息

    首先添加一个 uORB topic xff0c 然后添加一个 mavlink 解析程序 xff0c 这将会将一个输入的 mavlink 消息解析并传入 uORB topic 中 注 xff1a 本例程 xff0c nsh仍然看不到消息 xf
  • pixhawk使用WiFi模块

    pixhawk使用WiFi 前期准备刷固件安装刷固件软件进入刷固件模式下载固件刷固件 使用接线飞控参数更改使用方法 在使用pixhawk的时候有时候在无人机上不方便搭载处理器 xff0c 这个时候进行外部控制 或者QGC有线方式连接无人机不
  • 搜一下会发现CSDN上有不少树莓派连接Pixhawk的,或者ROS连接Pixhawk的

    搜一下会发现CSDN上有不少树莓派连接Pixhawk的 xff0c 或者ROS连接Pixhawk的 xff0c 来进行相对应的实验 看来大家基本都是用Pixhawk 有很多人已经做成了 xff0c 做出来了 xff0c 所以甚至感觉没必要去
  • 通过pixhawk飞行日志读取飞行路线以及对应地图

    px4飞行日志为 bin文件或者 log文件 xff0c 将文件数据导入到flightplot中 xff0c 输出轨迹 xff08 export track xff09 xff0c 下载一个Google地图 xff0c 将保存成的文件在Go
  • pixhawk调试过程中QGC报错显示问题及解决方案汇总

    1 室内环境下解锁无人机 xff0c 报错 xff1a Not arming geofence RTL requiers valid home 解决 xff1a 去掉安全设置里面的地理围栏 xff0c 否则只能在有GPS的环境下解锁
  • Pixhawk学习1——CMakeList.txt的解析

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

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

    ulg是目前最新版px4固件生成的log格式 xff0c 下载最新版的flightplot即可对内部数据进行预览分析 xff0c flightplot中支持部分函数和运算符操作 xff0c 但对带 数据的操作不支持 xff0c 如需要对某些
  • Pixhawk-开篇

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

    由于笔者没学过Linux等系统 xff0c 对make文件所知甚少 xff0c 本节分析可能有大量错误 xff0c 只提供参考 xff0c 随着技术积累 xff0c 以后会回过头改正错误的地方 xff0c 也非常欢迎提出指导意见 其中分析大
  • pixhawk PX4FMU和PX4IO最底层启动过程分析

    首先 xff0c 大体了解PX4IO 与PX4FMU各自的任务 PX4IO STM32F100 为PIXHAWK 中专用于处理输入输出的部分 输入为支持的各类遥控器 PPM SPKT DSM SBUS 输出为电调的PWM 驱动信号 它与PX
  • pixhawk mc_pos_control.cpp源码解读

    好久没跟新blog了 xff0c 这段时期边调试边看程序 xff0c 所以有点慢 要开始着手调试了 这篇blog是顺着上一篇pixhawk 整体架构的认识写的 xff0c 接下来看程序的话 xff0c 打算把各个功能模块理解一遍 xff0c
  • 飞行控制器Pixhawk简介

    作者 xff1a 华清远见讲师 Pixhawk是一款由PX4开源项目设计并由3DR公司制造生产的高级自动驾驶仪系统 其前身是APM xff0c 由于APM的处理器已经接近满负荷 xff0c 没有办法满足更复杂的运算处理 xff0c 所以硬件
  • 搭建pixhawk飞控无人小车--替换自带遥控器

    因为小车原装遥控器接收机和电调版整合在一个小板子上 xff0c 且没有相关资料 xff0c 无法接入飞控 因此单独购买遥控器 在某宝上购买富斯遥控器i6 xff0c 总共六个通道 三个双向开关 一个三向开关 遥控器简单入门视频如下 xff0
  • win7下 pixhawk (ardupilot) 的编译

    前几天都在搞pixhawk源码编译问题 xff0c 什么在window下用Console或者eclipse xff0c 还是在Ubuntu下 xff0c 都做了 xff0c 而且把 mk文件都看了 xff0c 结果还是有bug 总结一下三种
  • 我设计了一款开源飞控,性能远超Pixhawk,运行APM固件-怒飞垂云

    从2009年到现在 xff0c 我从事无人机研发将近11年了 xff0c 中途设计过很多飞控 xff0c 有闭源的无人飞艇飞控 大型固定翼无人机飞控 xff0c 也有在开源飞控Pixhawk基础上修改的飞控 xff0c 如今 xff0c 基
  • pixhawk 整体架构的认识

    此篇blog的目的是对px4工程有一个整体认识 xff0c 对各个信号的流向有个了解 xff0c 以及控制算法采用的控制框架 PX4自动驾驶仪软件 可分为三大部分 xff1a 实时操作系统 中间件和飞行控制栈 1 NuttX实时操作系统 提
  • pixhawk之NSH调试

    一 ardupilot固件 windows环境 前期准备 1 xff1a pix烧录程序 xff0c Arducopter或者library中的example都可以实现 2 xff1a 拔掉SD卡 xff08 脚本中提到的没有SD卡进入ns

随机推荐

  • 稀疏傅里叶变换(sparse FFT)

    作者 xff1a 桂 时间 xff1a 2018 01 06 14 00 25 链接 xff1a http www cnblogs com xingshansi p 8214122 html 前言 对于数字接收来讲 xff0c 射频域随着带
  • 根据select出来的数据进行update

    update t tbl desc set num 61 b num from t tbl desc a select distinct name as name count name num from t col desc group b
  • 细说Unicode(三) Unicode 番外之附加字符

    在各种论坛上 xff0c 经常会看到一些奇怪的字符 xff0c 它们的内容会超出显示范围 xff0c 举个例子 xff1a 39 Z A L G O 39 常见的还有一些有泰文字符组成的 这里就不举例子了 这些看似乱文的字符是怎么形成的呢
  • Linux 永久修改主机名(转载)

    Linux修改主机名 xff0c 永久生效 linux查看主机名 查看主机命令 xff1a root 64 linux epm2 hostname localhost localdomain localhost localdomain即为默
  • 安装centos7 报错[FAILED] Failed to start Switch Root. see 'systemctl status initrd-switch-root.service' ...

    背景 xff1a 在VMware上安装虚拟机 系统 xff1a CentOS 7 x86 64 Minimal 1804 目前最新的版本 报错截图 xff1a 在安装步骤就报错 xff0c 说明要么是硬件问题 xff0c 要么是系统文件有问
  • 微信聊天记录备份到电脑上还是不能看

    版权声明 xff1a 本文为 testcs dn 微wx笑 原创文章 xff0c 非商用自由转载 保持署名 注明出处 xff0c 谢谢 https blog csdn net testcs dn article details 801241
  • 四种滤波方式

    1 均值滤波 均值滤波 xff0c 是最简单的一种滤波操作 xff0c 输出图像的每一个像素是核窗口内输入图像对应像素的像素的平均值 所有像素加权系数相等 xff0c 其实说白了它就是归一化后的方框滤波 下面开始讲均值滤波的内容吧 均值滤波
  • python中文件处理--判断文件读取结束方法

    一 readline函数 按行遍历读取文件的方法 xff0c 通过这个方法 xff0c readline 每次只读取一行 xff0c 通常比 readlines 慢得多 仅当没有足够内存可以一次读取整个文件时 xff0c 才应该使用 rea
  • 4G模块网络通信

    硬件平台驱动安装AT指令调试 采用内部协议栈 ppp拨号上网 硬件平台 HUAWEI ME909s 821 Windows7操作系统 43 Ubuntu Kylin 14 04操作系统 嵌入式开发板 驱动安装 Windows系统下的模块驱动
  • 如何使用NSOperations和NSOperationQueues(二)

    34 每一个应用程序至少有一个主线程 线程的工作就是去执行一系列的指令 在Cocoa Touch中 xff0c 主线程包含应用程序的主运行回路 几乎所有你写的代码都会在主线程中执行 xff0c 除非你特别创建 34 线程 每一个应用程序至少
  • [转注自官网]Cocos2d-x Tutorial 5 - 碰撞检测(Glede Edition for 2.0.3)

    Chapter5 碰撞检测 主人公能够放子弹了 xff0c 虽然子弹看起来很美 xff0c 但是怎么样来打到妖怪 xff1f 在这一章我们介绍一下最简单的碰撞检测方法去实现它 首先第一个 xff0c 我们有必要保存每个妖怪和子弹的指针 xf
  • Access check table exist before drop it.

    If drop an un exist table will get error 34 Table 39 TempTable 39 does not exist 34 use the following function Here is a
  • 腾讯赵建春:AI浪潮下的高效运维思考及实践

    GOPS 全球运维大会暨首届金牌运维峰会于11月17日 18日在上海圆满举行 腾讯 SNG 助理总经理 GOPS 金牌讲师赵建春老师受邀出席大会 xff0c 并带来精彩演讲 AI 浪潮下的高效运维思考与实践 本文根据此演讲实录整理而成 AI
  • 虚拟机开机连接的时候显示novnc_Linux-KVM虚拟化+websockify(noVNC)

    kvm安装 环境 xff1a centos7 1 查看CPU是否支持inter或AMD的虚拟技术 cat proc cpuinfo grep E 34 vmx svm 34 支持显示 2 安装kvm yum install qemu kvm
  • 云计算部署与管理----Openstack(一)

    一 云计算介绍 基于互联网的相关服务的增加 使用和交付模式 xff1b 这种模式提供可用的 便捷的 按需的网络访问 进入可配置的计算资源共享池 资源包括网络 服务器 存储 应用软件 服务 xff1b 这些资源能够被快速提供 只需投入很少的管
  • 嵌入式软件工程师需要哪些知识

    最近想不到好的专题 xff0c 所以与大家一起聊聊 xff0c 在我眼中 xff0c 一名优秀的嵌入式软件工程师需要具备哪些能力 嵌入式软件工程师需要哪些知识 基本职业技能 编码能力 xff1a 至少精通C C 43 43 语言进行codi
  • Docker 更新镜像

    docker镜像如下 xff1a 今天在运行的容器内使用 apt get update 命令进行更新时 xff0c 发下很多404错误 1 Err http archive ubuntu com wily updates restricte
  • 普通用户crontab -e报错

    root crontab e 34 crontab u5u4Zm crontab 34 34L 1478C written crontab installing new crontab var spool cron mkstemp Perm
  • 读书笔记之《Windows内核原理与实现》

    最近学习 Windows内核原理与实现 发现其博大精深 xff0c 粗略过了一遍 xff0c 很多东西比较茫然 xff0c 看书之余把书中涉及的函数 xff0c 结构 xff0c 全局变量的所在页数总结出来 xff0c 便于以后查阅 由于半
  • 使用者——初见Pixhawk

    是什么 Pixhawk简单介绍 直接使用二次开发 Pixhawk总体概述怎么用 Pixhawk初次使用 搭建调试环境初始化配置测试试飞调整参数提高性能 xff08 是什么 Pixhawk简单介绍 PixHawk是著名飞控厂商3DR推出的新一