PixHawk 4用作四旋翼DIY调试部分笔记

2023-05-16

PixHawk 4用作四旋翼DIY调试部分笔记

    • 所使用的设备器件
    • 问题整理
    • 短暂结语

这是用于记录DIY组装的基于PixHawk 4的四旋翼时所遇到的部分有趣的而又比较耗时才能查找或者仍未能查找到解决方案,自行针对当下所处环境进行调试后的总结笔记。
目前包括Pix官网和CSDN在内,仍有部分问题的解决没有太过明了,笔者遇到过的部分已解决的问题会整理归纳在本文中,以便之后学习复查使用,也欢迎大家交换学习意见和经验。
另,笔者为初次做有关无人机的设计,也借鉴了很多前辈的经验,如有不正确的地方可以留言交流。本次设计过程最有感触的一点就是,网上人家都遇到的问题看起来和自己的一样,但是解决方法可能是两个思路,在有条件的情况下,还是建议多尝试、多思考才能找出自己的环境中的症结所在。
——2021年4月12日

所使用的设备器件

基于实验室的大力支持,我们采取了一些创新的设计,但是总体而言标准固件仍是用的比较易获取的和常用的版本,部分列举如下:

  1. 飞控采用Pixhawk 4;
  2. 电机曾用过致盈的BISON野牛(纯属初入坑分不清类别而导致的无用消费,这款电机飞小型的穿越机比较适合,整机重量最好不要超过1kg,电机不选好,炸机少不了,续航也别想跑)后来换成了LD power的MT2213(便宜皮实得劲);
    3.电调可以尝试幻蜂的四合一飞塔;
  3. 桨叶后期为8045或者精灵3(新入坑的飞手推荐加保护套);
  4. 遥控为乐迪AT9搭配R9DS;

问题整理

1.时刻注意飞控的方向,包括校正调节的时候。
2.PX4的地面站调试如果采用Mission Planner的话推荐参考下面的文章,很细致也很有帮助:https://blog.csdn.net/iracer/article/details/52718346.
3.如果采用QGC的话CSDN中资料文章也比较齐全,可自行解决。
4.对于四旋翼而言,顺序非常重要,参考下图:时刻注意电机、电调及飞控的顺序是否匹配
要将电机、电调都配合飞控安装在适当的、正确的位置,如果有起飞不成功就侧翻那么除了常规的加速度计校准及水平仪校准和电调行程量校准以外,没有安装合理的顺序安装电机和电调可能是暗含的大坑。
5.1对于乐迪AT9遥控,虽然现在用的不多了,但是还是有些坑没有具体文章(包括使用说明书)讲清楚。首先如果你是左手油,那么先再MODE的系统设置中讲摇杆模式改为2;如果是右手油,那么想做到常规的类左手油控制(即油门与机身自旋方向采用同一摇杆控制,前后左右四个行进方向采用同一摇杆控制)那么将摇杆模式改为3。如下图所示:摇杆模式3的设置

5.2此外关于PX4的遥控解锁一直众说纷纭,常规左手油自然是左摇杆右下打住3s解锁,左下打住3s上锁。但如果你是右手油,**而又有幸采用了摇杆模式1,那么你的解锁并不会是油门摇杆,而仍是左侧摇杆,这会产生一个致命的问题!!**即为飞行时如果想采用左摇杆向左旋并后移调整方向,那么会在3s的时间后直接让飞机上锁,更惊险的是在某些紧急状况下,如果你的电机转速仍未降低或者油门未拉倒最低不得不快速上锁时,一旦你采用了左摇杆上锁,那么你的左后电机会瞬间加速到最大,同时其余三个电机由于采取了降速操作则不会有很高转速,那么直接会导致无人机整体迅速右翻造成事故。
**补充:如果在飞控中搭载了GPS及安全开关的集成模块那么右手油门在成功校正GPS之后,采用的起飞解锁方式是右侧油门摇杆向右下打住3s,上锁同样为右侧摇杆向左下打住3s。**即为5.2提到的情况对于补充内容所述情况不适用。
5.3在调节解锁方式的问题上甚至你问客服也不一定能得到全面的答案,可能会被告知需要更改PX4飞控内部的默认设置才能更改解锁方式,但就笔者亲身实验而言,仅需要将摇杆模式更改为3便可以让解锁和上锁方式换到右手的油门摇杆上。
6.在无人机甚至无法正常起飞时不要先想着调节PID参数,PID影响的是起码能够完成正常起飞的飞行器的稳定性。先确定诸如校准是否均已完成,信号线是否按顺序插放,机身物理平衡是否基本达标,螺旋桨风力是否为向下等。
7.对于轴距为380—450mm的四旋翼,那么采取默认MP中的PID参数一般便可满足稳定性需求。如下图:MP中PID默认参数
8.对于搭配PX4FLOW光流时出现Bad OptFlow Health的问题,至今搜集到的资料仍然无法有效解决,留待之后补充。问题如下图:光流未解决问题1
光流未解决问题2
补充:光流问题原因为PX4FLOW未能采集到超声波回传的信息,故需另配一个超声波模块进行声呐信息采集,推荐Maxbotix1242,这虽然不是官方的原产件,但还是官方推荐的比较好用且实用的一款,比PX4FLOW光流可选配自带的Maxbotix1403适配性更好。详细的光流及超声波模块设置方法可以参考下面的文章:PX4FLOW光流及超声波模块安装设置方案参考。

短暂结语

暂时先归纳这些问题,之后的学习中遇到的问题可能会再次更新。烦请注意不一定笔者的方法就适用于每一种环境,之所以有这篇文章便是因为笔者曾遇到了很多所谓通俗性的问题且看似有统一的解决方案却不适用于目前所处的实验环境,故而不断根据原理及前辈经验猜想推导出的解决方案。最后,还是希望读者多尝试、多思考。文章若能对人有些许帮助,便算是回报CSDN的诸位前辈的经验所带给本次设计的帮助了。
更新日志:2022.6.11更新一次。

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

PixHawk 4用作四旋翼DIY调试部分笔记 的相关文章

  • 【STM32】STM32F103C8T6使用外部中断法和输入捕获法进行编码器测速

    系列文章目录 STM32 新建工程模板及配置 STM32 STM32与PC端 HC 06 ROS进行USART串口通信 ROS ROS上位机使用Serial库和boost asio库与STM32进行USART通讯 STM32 STM32F1
  • 【STM32】STM32F103C8T6实现直流电机速度PID控制

    系列文章目录 STM32 新建工程模板及配置 STM32 STM32与PC端 HC 06 ROS进行USART串口通信 ROS ROS上位机使用Serial库和boost asio库与STM32进行USART通讯 STM32 STM32F1
  • Linux配置Supervisor 配置遇到的坑

    在linux中web 应用部署到线上后之后发现退出终端后网站就无法访问了 所以需要用Supervisor来守护进程 xff0c 它可以保证应用一直处于运行状态 xff0c 在遇到程序异常 报错等情况 xff0c 导致 web 应用终止时 x
  • 【基于MATLAB的数字图像处理】第四章·图像增强

    系列文章 基于MATLAB的数字图像处理 第一章 绪论 基于MATLAB的数字图像处理 第二章 视觉系统与图像处理系统 基于MATLAB的数字图像处理 第三章 基本图像变换 基于MATLAB的数字图像处理 第四章 图像增强 基于MATLAB
  • 【ROS】学习路线与方法-个人感悟篇

    文章目录 目录 文章目录 前言 视频学习 书籍学习 个人建议 前言 前前后后 xff0c 对于ROS的学习已经很多遍了 xff0c 可以说走的弯路有点多 xff0c 导致浪费了很多时间 xff0c 其实ROS不应该是一个专门需要去学习的东西
  • 【基于FreeRTOS的STM32F103系统】Heap_4内存管理机制程序详解

    系列文章目录 基于FreeRTOS的STM32F103系统 简介及官方文件移植 基于FreeRTOS的STM32F103系统 编写FreeRTOS程序 基于FreeRTOS的STM32F103系统 内存管理及任务调度 基于FreeRTOS的
  • 【问题解决】虚拟机打开gazebo黑屏、闪退、模型加载不出来

    1 缺少模型库 可以在github上下载模型库 xff0c 但是速度极慢 xff0c 因为服务器在国外 此处提供快速下载方法 xff0c 通过码云快速git clone cd gazebo git clone https gitee com
  • 【ROS】package.xml文件解析

    文章目录 文章目录 前言 一 基本格式 1 基本结构 2 必要标签 3 依赖关系 二 Metapackage包 总结 前言 ros每个功能包中都有一个包清单 xff0c 它是一个名为package xml的XML 文件 xff0c 它必须包
  • 【ROS】dynamic_reconfigure配置详细说明

    文章目录 文章目录 前言 一 编写 cfg文件 二 为节点配置dynamic reconfigure 总结 前言 dynamic reconfigure配置是ROS中为了方便用户对程序中的参数进行实时调整而推出的工具 xff0c 配置好自己
  • 【ROS】使用pluginlib自定义costmap地图层

    文章目录 文章目录 前言 一 重写地图层 1 包含头文件 2 onInitialize 3 updateBounds 4 updateCosts 二 向ROS注册 1 插件描述文件 2 向ROS注册插件 3 在costmap配置文件中使用
  • 【问题解决】Ubuntu20.04下move_base发送目标Bug

    项目场景 xff1a 虚拟机 xff1a Linux的Ubuntu20 04 ROS版本 xff1a Noetic 场景 xff1a 使用虚拟机在gazebo中进行差速机器人仿真 问题描述 在自己编写多目标导航功能包时 xff0c 选择好目
  • ESP8266学习笔记一 互联网通讯协议

    互联网协议 TCP IP协议 协议作用简单来说 就是规范不同的语言 xff1b 包含的协议有 TCP IP实际上是一个协议组 不同的协议处于不同的层次上 xff08 由下到上 xff09 链路层WIFI 网络层IP 传输层TCP UDP 应
  • 谷粒学院项目笔记10——SpringCloud

    尚硅谷谷粒学院项目第十天内容之SpringCloud 概念 微服务 xff1a 是一种架构风格 xff0c 指将一个服务拆分成多个独立的服务模块 xff0c 从而解耦合 SpringCloud不是一个技术 xff0c 而是多种技术的总称 x
  • workman部署后,连接不上

    1 去阿里云的安全规则增加2个端口 xff0c 这两个端口是workman里面配置的 2 去宝塔开放4435端口 xff1b 3 到api文件夹下执行 xff1a php think worker gateway start 4 后台常驻
  • RuntimeError: DataLoader worker (pid 4499) is killed by signal: Segmentation fault.检查内存条!

    报错 首先放上报错图 xff1a 根据报错内容 xff0c 上网查阅资料 xff0c Pytorch dataloader 错误 DataLoader worker pid xxx is killed by signal 解决方法 按照教程
  • ()、[]、{}、(())、[[]]等各种括号的使用

    欢迎关注微信 xff1a 生信小博士 1 小括号 圆括号 xff08 xff09 1 1 单小括号 命令组 括号中的命令将会新开一个子shell顺序执行 xff0c 所以括号中的变量不能够被脚本余下的部分使用 括号中多个命令之间用分号隔开
  • FastQC原始安装

    1 下载fastqc wget http www bioinformatics babraham ac uk projects fastqc fastqc v0 11 5 zip 2 解压 unzip fastqc v0 11 5 zip
  • r语言中六种方法查看R函数源代码—— 鼠标放在函数上,按下F2

    欢迎关注微信 xff1a 生信小博士 加油 1 最直接的方法当然是直接键入函数 不加括号 xff0c 大部分函数源代码就可以直接显现出来 我以PerformanceAnalytics包中的函数chart Correlation 为例 2 在
  • 空间转录组学(Spatial Transcriptomics)

    01 空间转录组技术的发展 近年来单细胞转录组测序技术的应用大大拓宽了人们的视野 xff0c 使人们能够深入了解组织中细胞的构成的多样性和基因表达状态 众所周知 xff0c 基因表达具有时间和空间的特异性 xff0c 通过对不同时间点的样本
  • 修改R语言安装包的默认路径 r包安装位置

    修改R语言安装包的默认路径 r包安装位置 一次性 xff08 每次都需要设置 xff09 xff1a 运行命令 xff1a libPaths 查看已经安装的r包位置 libPaths 34 yourpath 34 设置新的r包位置 或者 i

随机推荐

  • 如何在ubuntu系统安装libboost-dev) and openmp libraries libboost-dev libomp-dev

    https blog csdn net qq 41854911 article details 119454212 You need to have boost e g sudo apt get install libboost dev a
  • Docker删除容器命令

    更多优质内容欢迎看看我的号 xff1a 生信小博士 删除容器 之前要先docker stop 容器 span class token number 1 span 删除指定容器 docker rm span class token opera
  • 生存分析原理简明教程 单因素生存分析 Kaplan-Meier、LogRank 只能针对单一的变量进行 多因素cox回归分析

    一 生存分析 狭义上来说 xff0c 生存分析用来分析病人的生存和死亡情况 广义上讲的是事件是否发生 在这里就用是否死亡来代替 一般来说 xff0c 生存的数据一般有两个变量 xff0c 一个事件是否发生 xff0c 病人是否死亡 xff0
  • R语言|4. 轻松绘制临床基线表Table 1 临床三线表绘制

    R语言 4 轻松绘制临床基线表Table 1 regular table regular 欢迎关注公众号 第四次考核 Jimmy 学徒考核 Linux安装软件 rnaseq上游分析 2 ascp kingfisher数据下载ena qq c
  • tinyarray 相关性cor.full

    R Documentation cor test for one variable with all variables Description cor test for all variables each two columns Usa
  • Mac升级node和npm

    直接下载安装覆盖 xff1a https nodejs org zh cn download
  • NanoStringQCPro: Quality metrics and data processing methods for NanoString mRNA gene expression dat

    addCodesetAnnotationAdd NanoString codeset annotation to an RccSetaddQCFlagsAdd sample QC flags to an rccSetallSumPlotal
  • 颜色 免疫荧光通道颜色色彩对应激发光发射光 488 546 647

    DAPI xff08 ex 350nm em 470nm xff09 检测通道 xff0c 荧光色 xff1a 蓝色 488绿色 546黄色 647红色 Fluorescence SpectraViewer Use the new inte
  • 【Git】gitee与github同步

    gitee与github同步 前言一 克隆远程库二 与github同步1 建立第二个远程库2 修改配置文件3 查看仓库权限 总结 前言 本章所讲内容有克隆远程库 xff08 填上章的坑 xff09 和两个远程库在本地同步上传的方法 接着我们
  • [imx6ull]Linux下的SocketCAN通信

    文章目录 一 CAN总线协议1 简介2 电气属性3 通信原理 数据帧的帧格式 xff1a 总线同步 总线竞争 数据保护 二 Linux下CAN的操作1 硬件连接 CAN电平转换器 扩展板使用CAN 2 查询 can 信息3 开启 关闭 ca
  • FreeRTOS-ARM架构、TCB结构体,调度机制

    ARM架构 对于ARM架构来说 xff0c 主要有3部分构成 xff1a CPU xff0c RAM xff0c FLASH CPU内部主要是运算单元和寄存器单元 xff0c 可以读写RAM xff0c 修改内存 xff0c 也可以读取FL
  • FreeRTOS--队列

    在讲队列前 xff0c 先思考一下这个问题 xff1a 下面这个程序 xff0c 如果用RTOS实现会出问题吗 xff1f c span class token punctuation span span class token keywo
  • 新手村——如何改变CSDN代码块背景样式

    1 在电脑上登录自己CSDN账号 xff1b 2 按如下指示操作 xff1a 鼠标滑动至头像处 xff0c 点击下方的内容管理 xff1b 3 在左方中一直下滑 xff0c 找到设置中的博客设置 xff1b 4 在代码样式片中选择自己喜欢的
  • antd的Form实例控制表格,表格可收集/回显数据

    大概就是如图的效果 xff0c 但是需要控制数据的收集和回显 首先看到这个页面 xff0c 第一眼就想到table表格 但是我翻阅了下antd的Table组件 xff0c 发现只能展示数据 也有可编辑单元格 但是我需要这里的表格 xff0c
  • 网络字节序、大小端模式

    多字节数据的存储顺序称为字节序 分为大 小端模式 xff1a 大端 xff1a 数据高位对应低地址 小端 xff1a 数据高位对应高地址 可以通过下面的程序 测试自己的机器是大端字节序还是小端字节序 用共用体的方式来测试 xff1a spa
  • C++运算符重载详解

    目录 什么是运算符重载 运算符重载的意义 运算符重载的语法格式 简单例子 43 运算符的重载 代码分析 运算符重载的两种方式 1 重载为类的成员函数 1 双目运算符 2 单目运算符 2 重载为类的友元函数 1 重载格式 2 调用格式 两种重
  • 微信登录老是间歇式失败

    在微信小程的开发中 xff0c 登录问题 xff0c 一定要按照这样的顺序 1 小程序请求login xff0c 拿到code 然后传给服务端 xff1b 2 服务端拿到code 到微信服务器拿到sessionKey xff1b 3 然后小
  • Python爬虫编程7——多线程爬虫

    目录 一 多线程基本介绍 程序中模拟多任务 二 多线程的创建 三 主线程与子线程的执行关系 四 查看线程数量 五 线程间的通信 xff08 多线程共享全局变量 xff09 六 线程间的资源竞争 互斥锁和死锁 互斥锁 死锁 七 Queue线程
  • 嵌入式蓝桥杯客观题总结(4.19)

    1 DMA xff08 1 xff09 DMA是否需要经过MCU访问内存 xff1f xff08 2 xff09 在STM32处理器中一个DMA请求 xff0c 至少占用 xff08 xff09 个周期的CPU访问系统总线时间 A 1 B
  • PixHawk 4用作四旋翼DIY调试部分笔记

    PixHawk 4用作四旋翼DIY调试部分笔记 序所使用的设备器件问题整理短暂结语 序 这是用于记录DIY组装的基于PixHawk 4的四旋翼时所遇到的部分有趣的而又比较耗时才能查找或者仍未能查找到解决方案 xff0c 自行针对当下所处环境