当前位置: 首页 > news >正文

ardupilot开发 --- 安装与调参篇

解锁电机前的安全检查 Pre-arm Safety Checks

安全检查包括:是否未校准、配置或传感器数据是否正确等等,某一项不通过则不允许解锁电机;
目的:防止炸机;
如何禁用这些安全检查?配置 ARMING_CHECK;
在标准参数Tab menu中,或直接配置ARMING_CHECK;

安全检查失败和修复

LED flashing yellow;
地面站的控制台会提示:The first cause of the Pre-Arm Check failure will be displayed in red on the HUD window;
常见的失败提示和原因:
AHRS: waiting for home :GPS信号弱,室内?
EKF3 Roll/Pitch inconsistent by X degs :室内?
EKF3 Yaw inconsistent by x degs :罗盘有金属靠近?
AHRS: not using configured AHRS type:AHRS_EKF_TYPE配置不正确?
EKF3 waiting for GPS config data:GPS未连接或未正确配置?
其他安全检查失败:
Any failsafe (RC, Battery, GCS,etc.) will display a message and prevent arming
请参考https://ardupilot.org/copter/docs/common-prearm-safety-checks.html

解锁电机 Arming the motors

解锁电机,让电机开始运转,油门在中位值时是空转;

  • 先启动遥控器,地面站;
  • 接通飞机电源,等待陀螺仪校正完成(蓝灯,红灯闪烁);
  • 飞控进行安全检查,若有失败项目则黄灯闪烁;
  • 检查当前飞行模式是否是Stabilize, ACRO, AltHold, Loiter, or PosHold 其一;
  • 如果有安全开关,长按安全开关直到指示灯长亮;
  • 如果是自动模式或需要GPS信号的模式,则等待GPS锁定;
  • 解锁电机(油门杆右下推?);
    如何上锁电机??
    在任何飞行模式下?油门杆拉到最小值15秒;

在有的,模式下是解锁不了电机的:
在这里插入图片描述

几点注意事项

  • 确保桨叶旋转方向;
  • 确保陀螺仪能正常检查倾斜;
  • 确保故障保护已经正确配置,radio, battery, and ekf/gps.
  • auto模式下,确保GPS锁定;
  • loiter前确保Stabilize正常,RTL前确保loiter正常,auto前确保RTL正常;
  • 如果在其他模式飞行时出现意外或故障,要迅速切换到Stabilize或Acro 模式;
  • 要保证电池高于80%再飞行;
  • 上电前要保持飞机水平放置,以进行上电后的陀螺仪校准;
  • 不要设置Radio Trim;
  • 飞控会在电机解锁时将当前位置作为Home点;
  • 配置一个RC通道作为电机的紧急停机开关;
  • 其他;

调参

根据桨叶尺寸配置MOT_THST_EXPO

要保证控制品质,就必须保证电机推理曲线的线性;
引起电机推力曲线非线性的原因主要有:

  • 油门增加,电压下降;
  • ESCs 的 PWM range 配置不合理;
  • 螺旋桨、ESC和电机组合产生的推力非线性

thrust expo是啥?
MOT_THST_EXPO决定了推力(拉力)曲线的形状,是直线(线性)还是曲线(非线性),如下图:

  • MOT_THST_EXPO为0表示推力曲线是直线;
  • MOT_THST_EXPO为1推力曲线是最弯曲;
  • 默认值一般为0.5; 不要相信制造商的推力曲线数据,因为它们经常不准确;
    注意:Some ESCs have built-in linearizing curves and the default EXPO value of “0.65” will cause stability issues, requiring thrust stand measurements to adjust the EXPO. Typically, values of “0” to “0.2” will result.
    thrust stand:译为推力测量台;
    在这里插入图片描述
    说明:
    横坐标应该是推力,纵坐标是pwm;before0、0.5、1三条曲线是相同的,为了对比弯曲程度而已; 不要相信制造商的推力曲线数据,因为它们经常不准确;

MOT_THST_EXPO与螺旋桨叶尺寸的关系,下图可以作为参考,不一定准确,如果想要更准确请使用推力推量仪器进行具体测量:
在这里插入图片描述
总结:根据螺旋桨尺寸来配置MOT_THST_EXPO,默认取0.5;

Motors 参数

MOT_PWM_MAX: Check ESC manual for fixed range or 2000us
MOT_PWM_MIN: Check ESC manual for fixed range or 1000us
MOT_SPIN_ARM: use the motor test feature to determine a value which will reliably start the motors spinning at a low rpm as an indication of the armed state.
MOT_SPIN_MAX: 0.95
MOT_SPIN_MIN: use the motor test feature and motor test data, if available, to set the lower range of linear thrust. The default value is usually adequate for hobby uses.
MOT_THST_HOVER: 0.25 or below the expected actual hover thrust percentage (lower is safe)

限幅参数,滤波器参数(起飞前)

  • INS_ACCEL_FILTER
    用于加速度计的低通滤波器的剪切频率
    10Hz
  • INS_GYRO_FILTER
    用于陀螺仪的低通滤波器的剪切频率
    80Hz for 5 inch props, 40Hz for 10 inch props, 20Hz for 20 inch props (or larger)
  • ATC_ACCEL_P_MAX:
    pitch通道允许的角加速度最大值
    110000 for 10 inch props, 50000 for 20 inch props, 20000 for 30 inch
  • ATC_ACCEL_R_MAX
    110000 for 10 inch props, 50000 for 20 inch props, 20000 for 30 inch props
  • ATC_ACCEL_Y_MAX
    27000 for 10 inch props, 18000 for 20 inch props, 9000 for 30 inch props
  • ATC_RAT_PIT_FLTD: INS_GYRO_FILTER / 2
    Pitch axis rate controller derivative frequency in Hz
  • ATC_RAT_PIT_FLTT: INS_GYRO_FILTER / 2
    Pitch axis rate controller target frequency in Hz
  • ATC_RAT_RLL_FLTD: INS_GYRO_FILTER / 2
  • ATC_RAT_RLL_FLTT: INS_GYRO_FILTER / 2
  • ATC_RAT_YAW_FLTE: 2
    Yaw axis rate controller error frequency in Hz
  • ATC_RAT_YAW_FLTT: INS_GYRO_FILTER / 2
    Yaw axis rate controller target frequency in Hz

以上参数的配置可以在:SETUP/Mandatory Hardware/Initial Parameter Setup

测试自稳,调节参数

以自稳模式尝试推动油门起飞;
如果飞机左右摇晃很厉害则尝试减小以下角速度环的参数50%:

  • ATC_RAT_PIT_P
  • ATC_RAT_PIT_I
  • ATC_RAT_PIT_D
  • ATC_RAT_RLL_P
  • ATC_RAT_RLL_I
  • ATC_RAT_RLL_D

减小到不来回震荡为止;

测试定高,调节参数

确保MOT_HOVER_LEARN为2;
以自稳模式起飞并保持在5m左右的高度;
让高度控制器持续作用30秒左右直到飞机高度稳定,飞机稳定后MOT_THST_HOVER参数会被自动设置???
将飞机Land,然后调节一下参数:

  • PSC_ACCZ_I :2 * MOT_THST_HOVER
  • PSC_ACCZ_P :MOT_THST_HOVER
    调节后如果飞机在定高模式下仍然上下起伏很明显,尝试调小一下参数50%,持续调小直到稳定:
  • PSC_POSZ_P
  • PSC_VELZ_P

陷波滤波参数

自稳,定高模式都没问题后,尝试调节陷波滤波参数以获得更好的飞行性能:
不同于上节提到的低通滤波器;
在配置如何配置陷波滤波前,先要测量那种频率的信号需要被滤除?一般哟啊滤除的是电机引起的震动信号,那如何测量这些震动信号的频率?
See the Measuring Vibration with IMU Batch Sampler page

Throttle Based Dynamic Notch Setup

测量震动噪声的频率 震动测量

IMU BatchSampler:用于记录IMU的高频数据到log中;
这些数据可用于FFT分析;

配置陷波滤波器参数

只针对陀螺仪?只有陀螺仪有陷波滤波?谐波陷波滤波?harmonic notch filter?
震动频率的来源:电机的旋转频率以及该旋转频率的谐波(2次3次?);
如果存在多个震动来源,并且震动频率不同,可以考虑启用多个陷波滤波器,但是每个滤波器就会占用一定cpu资源,要慎重启用;如INS_HNTCH_ENABLE = 1 启用滤波器1,INS_HNTC2_ENABLE = 1启用滤波器2;
关于陷波滤波器的参数:

  • 设置模式为Throttle Based Dynamic Notch
    INS_HNTCH_MODE = 1.
  • 开启陷波滤波器
    INS_HNTCH_ENABLE = 1
  • INS_HNTCH_REF
    频率的放大系数,这个参数决定了陷波频率随着油门变化而变化的程度;mode为1时一般将其设置为0;
    设为0时为静态陷波滤波器;mode不同该参数的设法不同,请参考文档;
  • INS_HNTCH_FREQ
    陷波滤波器的中心频率,即设置为要滤除的频率;
  • INS_HNTCH_BW
    陷波滤波器的带宽,一般设置为中心频率的一半,即 INS_HNTCH_FREQ / 2
  • INS_HNTCH_FM_RAT
    ???
  • INS_HNTCH_HMNCS
    要滤除的谐波,以INS_HNTCH_FREQ 为基波;例如INS_HNTCH_HMNCS设为3,则要滤除的信号包括:基波、1次2次3次4次谐波??

相关文章:

ardupilot开发 --- 安装与调参篇

解锁电机前的安全检查 Pre-arm Safety Checks 安全检查包括:是否未校准、配置或传感器数据是否正确等等,某一项不通过则不允许解锁电机; 目的:防止炸机; 如何禁用这些安全检查?配置 ARMING_CHECK&#xff…...

BC108 矩阵交换

描述 KiKi有一个矩阵,他想知道经过k次行变换或列变换后得到的矩阵。请编程帮他解答。 输入描述 第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10) 从2到n1行,每行输入m个整数(范围-…...

如何发现系统改进点,优化点,提高点,新系统 边界感不要太强

技术人员规划能力,如何规划新的系统_技术规划能力_个人渣记录仅为自己搜索用的博客-CSDN博客 1. 协作中, 双方系统对接, 边界感不要太强. 肯定会不爽, 不爽的点里可以挖掘改进点 肯定会有很多冲突,对方技能欠缺, 对方耽误你的时间, 可以想下有没有什么方案是可…...

5G无人露天矿山解决方案

1、5G无人露天矿山解决方案背景 ①2010.10,国家安监总局《金属非金属地下矿山安全避险“六大系统”安装使用和监督检查暂行规定》 ②2016.03,国家发改委《能源技术革命创新行动计划(2016-2030)》,2025 年重点煤矿区采…...

Datawhale Django入门组队学习Task01

Task01 一.创建虚拟环境 python -m venv django_learn (django_learn那里是自己定的环境名字) 之前一直用conda管理虚拟环境,没咋用过virtualenv,然后我的powershell之前也设置了默认启动了base环境,然后输入activat…...

【第二阶段】kotlin的函数类型作为返回类型

fun main() {//调用,返回的是一个匿名类型,所以info就是一个匿名函数val infoshow("",0)//info接受的返回值为匿名类型,此时info就是一个匿名函数println(info("kotlin",20)) }//返回类型为一个匿名函数的返回类型fun show(name:Str…...

C++之ostream与ifstream读写文件操作(一百八十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...

Unity - 从PackageManager中安装内置工具

1.MemoryProfiler 内存分析工具 add from git url :com.unity.memoryprofiler 使用地址记录:unity3d内存分析工具memory profiler_unity3d memory profile_Marco&GalaxyDragon的博客-CSDN博客 理解Unity Memory Profiler - 知乎...

wsl安装Linux kali

目录 1.启用“Hyper-V”和“~子系统” 2.启用虚拟化 3.安装发行版 4.升级原有系统到WSL2 5.kali换源与更新升级并安装工具集 6.kali安装图形界面~GUI 7.kali安装中文界面与中文输入法 8.wsl~kali位置迁移 1.启用“Hyper-V”和“~子系统” 打开控制面板---->>程序…...

ProtoBuf3语法详解

目录: 需求:字段规则消息类型的定义与使用通讯录2.0的写⼊实现TestRead.java(通讯录2.0)TestRead.java(通讯录2.0) 另⼀种验证⽅法--toString()enum类型升级通讯录⾄2.1版本Any类型oneof类型map类型默认值更新消息保留字段reserved未知字段选项option 通…...

尚硅谷css3笔记

目录 一、新增长度单位 二、新增盒子属性 1.border-box 怪异盒模型 2.resize 调整盒子大小 3.box-shadow 盒子阴影 案例:鼠标悬浮盒子上时,盒子有一个过度的阴影效果 三、新增背景属性 1.background-origin 设置背景图的原点 2.background-clip 设置背…...

ppt转pdf免费的工具哪个好用?免费PPT转换为PDF的方法分享

在我们的工作和学习中,将PPT文件转换为PDF格式对于分享和储存具有重要意义。PPT文件是一种常用的演示工具,用于展示和传达信息。然而,PPT文件在不同的平台和设备上可能存在格式兼容性的问题,而且文件大小较大,不方便共…...

IDEA常用工具配置

IDEA常用工具&配置 如果发现插件市场用不了,可以设置Http Proxy,在该界面上点击”Check connection“并输入的地址:https://plugins.jetbrains.com/ 。 一、常用插件 1、MybatisX Mybaits Plus插件,支持java与xml互转 2、F…...

hive--给表名和字段加注释

1.建表添加注释 CREATE EXTERNAL TABLE test(loc_province string comment 省份,loc_city string comment 城市,loc_district string comment 区,loc_street string comment 街道,)COMMENT 每日数据处理后的表 PARTITIONED BY (par_dt string) ROW FORMAT SERDEorg.apache.had…...

AutoSAR系列讲解(深入篇)13.4-Mcal Dio代码分析(上)

目录 一、文件结构 二、动态代码 1、arxml文件 2、Dio_Cfg.h 3、Dio_PBCfg.c 4、小结 考虑了一下,觉得还是有必要拿出一个代码来具体分析一下,所以我们以最简单的DIO来举例子。但是如果直接贴上源码,可能会有一些版权问题,...

基于Mybatis Plus的SQL输出拦截器。完美的输出打印 SQL 及执行时长、statement

我们需要想办法打印出完成的SQL,Mybatis为我们提供了 org.apache.ibatis.plugin.Interceptor接口,我们来实现该接口做一些打印SQL的工作 package org.springjmis.core.mp.plugins;import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; impor…...

C++ STL list

✅<1>主页&#xff1a;我的代码爱吃辣 &#x1f4c3;<2>知识讲解&#xff1a;C之 STL list介绍和模拟实现 ☂️<3>开发环境&#xff1a;Visual Studio 2022 &#x1f4ac;<4>前言&#xff1a;上次我们详细的介绍了vector&#xff0c;今天我们继续来介绍…...

Django图书商城系统实战开发-实现订单管理

Django图书商城系统实战开发-实现订单管理 简介 在本教程中&#xff0c;我们将继续基于Django框架开发图书商城系统&#xff0c;这次的重点是实现订单管理功能。订单管理是一个电子商务系统中非常重要的部分&#xff0c;它涉及到用户下单、支付、发货以及订单状态的管理等方面…...

POJ 3421 X-factor Chains 埃氏筛法+质因子分解+DFS

一、思路 我们先用埃氏筛法&#xff0c;找出1048576范围内的素数&#xff0c;其实找出1024以内的就够了&#xff0c;但是1048576也不大&#xff0c;所以无所谓了。 然后把输入的数字不断的判断与每个素数是否整除&#xff0c;然后把输入的数变为很多个素数相乘的形式&#xf…...

【积水成渊】9 个CSS 伪元素

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人_python人工智能视觉&#xff08;opencv&#xff09;从入门到实战,前端,微信小程序-CSDN博客 最新的uniapp毕业设计专栏也放在下方了&#xff1a; https://blog.csdn.net/lbcy…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目&#xff0c;设置虚拟环境&#xff0c;出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...