• ardupilot开发 --- 起飞前后 篇


    起飞前检查

    • 电机响应是否正确(转向)
    • 姿态响应是否正常(roll pitch yaw)
    • GPS数据是否正常(星数,RTK解)
    • 电源电压
    • 安全检测(arming check)

    起飞前的必调参数

    • 机架类型;

    • 加速度计校正,磁罗盘,遥控器校准,电调校准

    • 故障保护

    • 关闭或开启安全开关 BRD_SAFETY_DEFLT = 0,1

    • 飞行模式 FLTMODE_CH = 5,默认选第5通道

    • 急停 RCx_OPTION = 32或31

    • 刹车延迟
      LOIT_BRK_DELAY=0

    • Land后电机上锁延迟
      DISARM_DELAY=5

    • 飞行控制 RCMAP_x

    • 拉力曲线形变系数 MOT_THST_EXPO,根据桨叶尺寸(长度)配置
      在这里插入图片描述

    • 电机/电调参数
      1)MOT_PWM_MAX = 2000
      2)MOT_PWM_MIN = 1000
      3)MOT_SPIN_ARM = 0.1 空转油门
      4)MOT_SPIN_MAX = 0.95
      5)MOT_SPIN_MIN = 0.15 最小油门(要大于空转油门)
      6)MOT_THST_HOVER: 悬停油门,取默认值,将悬停油门学习打开
      在这里插入图片描述

    • AHRS和EKF3

      • AHRS_EKF_TYPE = 3
      • EK3_ENABLE = 1
    • 高度源
      EK3_SRC1_POSZ=3

    • 偏航源
      EK3_SRC1_YAW =2或3

    • RTK GPS

      • 使用雷迅9PS
        https://blog.csdn.net/weixin_43321489/article/details/133900305
      • 雷迅2HP
        • 串口连接: https://blog.csdn.net/weixin_43321489/article/details/133900305
        • can 连接:
          GPS_TYPE = 9
          CAN_P1_DRIVER = 1
          EK3_SRC1_YAW = 2
          GPS_MB1_TYPE = 1 设置后刷新或重启才会显示偏置参数
          GPS_MB1_OFS_X 主天线(天线1)相对于从天线(天线2)的坐标,FRD系
          GPS_MB1_OFS_Y
          GPS_MB1_OFS_Z
          GPS_POS1_X 主天线(天线1)相对于重心的坐标,FRD系
          GPS_POS1_Y
          GPS_POS1_Z
          2HP固件中的参数
          与ardupilot中的参数相同,但是GPS_TYPE要设置为25而不是9
          注意:
          这个地方千万不要点,一点就会生成两个相同NODE ID GPG drivers,而且删不掉,导致报警告:Node ID 冲突
          在这里插入图片描述
          万一不小心点了?解决办法:重置全部参数!!
          在这里插入图片描述
    • 电源监视器
      使用雷迅的CAN PMU 或 CAN PMU LITE(买飞控时携带的附属品)
      接线:连接飞控的 POWER C
      CAN_P1_DRIVER = 1
      CAN_P2_DRIVER = 1 (可不配置?)
      BATT_MONITOR=8(如果使用监视器1)
      Uavcan_enble设置为sensors Automatic config(自动配置)
      https://blog.csdn.net/weixin_43321489/article/details/133900305

    • 图数传(MK32天空端)、雷迅P8数传
      建议接串口2,串口1接S1雷达!
      SERIAL2_PROTOCOL = 2 MAVLink2
      SERIAL2_BAUD = 57 波特率

    • S1雷达
      ardupilot开发 — 避障篇

    • 最大倾角
      ANGLE_MAX=1000~8000 centidegrees

    • 悬停油门学习
      MOT_HOVER_LEARN: 2 learn and save ,悬停油门学习,悬停30s以上。

    • IMU低通滤波器参数
      据桨叶尺寸来设置剪切频率:80Hz for 5 inch props, 40Hz for 10 inch props, 20Hz for 20 inch props (or larger)
      1)INS_ACCEL_FILTER = 20
      2)INS_GYRO_FILTER = 20

    • roll pitch yaw 角加速度限幅
      1)ATC_ACCEL_P_MAX
      pitch通道最大角加速度,根据桨叶尺寸(长度)来设置!
      110000 for 10 inch props, 50000 for 20 inch props, 20000 for 30 inch
      2)ATC_ACCEL_R_MAX
      110000 for 10 inch props, 50000 for 20 inch props, 20000 for 30 inch props
      3)ATC_ACCEL_Y_MAX
      27000 for 10 inch props, 18000 for 20 inch props, 9000 for 30 inch props
      在这里插入图片描述

    • 控制量滤波参数
      1)ATC_RAT_PIT_FLTD = INS_GYRO_FILTER / 2
      其中 INS_GYRO_FILTER 是陀螺仪低通滤波器的剪切频率,要先设置。
      Pitch axis rate controller derivative frequency in Hz
      2)ATC_RAT_PIT_FLTT = INS_GYRO_FILTER / 2
      Pitch axis rate controller target frequency in Hz
      3)ATC_RAT_RLL_FLTD = INS_GYRO_FILTER / 2
      4)ATC_RAT_RLL_FLTT = INS_GYRO_FILTER / 2
      5)ATC_RAT_YAW_FLTE: 2
      Yaw axis rate controller error frequency in Hz
      6)ATC_RAT_YAW_FLTT = INS_GYRO_FILTER / 2
      Yaw axis rate controller target frequency in Hz
      在这里插入图片描述

    • 打开陷波滤波采样功能(用于后续设置陷波滤波器)
      1)INS_LOG_BAT_OPT 采样选项
      在这里插入图片描述
      2)INS_LOG_BAT_MASK 采样源
      在这里插入图片描述
      注意:保证有SD卡,保持飞行或悬停至少30 second;

    • 解锁电机是否需要油门保持最低位
      RC_OPTION 参数取消勾选
      在这里插入图片描述

    飞行中

    • 高度源
      EK3_SRC1_POSZ
    • 偏航源
      EK3_SRC1_YAW
    • RTK 基站
      千寻账号稳定一些
    • 配平
      自稳模式下,飞机如果漂移得很厉害,则手动微调 AHRS_TRIM_X 和 AHRS_TRIM_Y 的值。
      在这里插入图片描述
      如何自动微调?
    • PID参数
      自稳模式
      1)最大倾角
      ANGLE_MAX = 1000~8000 centidegrees
      2)角度环、角速度环 PID
      在这里插入图片描述
      3)最大偏航角速度限值
      PILOT_Y_RATE
      在这里插入图片描述
      4)最大横滚俯仰角速度(没有找到这个参数?)
      ANGLE_RATE_MAX

    定高模式
    1)上升下降最大速率
    PILOT_SPEED_UP
    PILOT_SPEED_DN
    2)油门中位值死区
    THR_DZ 默认值
    3)高度通道串级PID
    注意:Throttle Accel PID 的参数,要保持 I 是 P 的两倍;
    在这里插入图片描述
    4)最大偏航角速度限值
    PILOT_Y_RATE
    在这里插入图片描述
    5)最大横滚俯仰角速度(没有这个参数?)
    ANGLE_RATE_MAX

    定点模式
    1)位置环速度环 PID,水平速度限值
    在这里插入图片描述
    2)刹车参数
    在这里插入图片描述
    3)最大角度
    在这里插入图片描述
    4)最大水平加速度
    在这里插入图片描述
    自动任务模式
    在这里插入图片描述
    其他参数:
    在这里插入图片描述

    起飞后

    • 设置陷波滤波器,调整低通滤波器截切频率:
      • 据桨叶尺寸来设置剪切频率:80Hz for 5 inch props, 40Hz for 10 inch props, 20Hz for 20 inch props (or larger)
      • 设置陷波滤波器后可以适当增加陀螺仪低通滤波器的频率,以增加跟随性能;
      • 加速度计的低通滤波则保持不变或适当降低频率以滤除加速度震动噪声!!!
    • 设置陷波滤波器参数
      1)INS_HNTCH_MODE = 1 设置模式为Throttle Based Dynamic Notch
      2)INS_HNTCH_ENABLE = 1 开启陷波滤波器
      3)INS_HNTCH_REF = 0 设置为静态陷波滤波器
      参数含义是频率的放大系数,mode不同该参数的设法不同,请参考文档;
      4)INS_HNTCH_FREQ = 要滤除的噪声频率,陷波滤波器中心频率;
      5)INS_HNTCH_BW = INS_HNTCH_FREQ / 2, 陷波滤波器的带宽;
      6)INS_HNTCH_FM_RAT 保持默认值;
      7)INS_HNTCH_HMNCS 保持默认值;
      要滤除的谐波,以INS_HNTCH_FREQ 为基波;例如INS_HNTCH_HMNCS设为3,则要滤除的信号包括:基波、1次2次3次4次谐波??
      在这里插入图片描述
    • 震动分析,以确定 INS_HNTCH_FREQ 的取值
      • 1)下载日志
      • 2)初始设置
      • 3)高级
      • 4)FFT
      • 5)IMU Batch Sample
      • 6)分析
        只采样一个IMU时(通过INS_LOG_BAT_MASK 来配置采样哪些IMU),曲线的含义如下:
        ACC0:滤波前的加速度信号
        ACC1低通滤波后的加速度信号
        GYR0 :滤波前的陀螺仪信号
        GYR1低通滤波后的陀螺仪信号
        在这里插入图片描述
        震动噪声来自于旋转的电机:震动噪声主频率小飞机在200Hz左右,大飞机在100Hz左右,除了主噪声还会伴随主噪声的2,3,4次谐波噪声,如:
        在这里插入图片描述
      • 7)确定 INS_HNTCH_FREQ
        找到 GYR0 曲线,寻找最高峰的位置,横坐标即所寻目标,如上图中的180Hz.
      • 8)注意事项
        陷波滤波器只作用陀螺仪,加速度计还是使用的低通滤波!
        设置陷波滤波器的频率后,要适当增加陀螺仪低通滤波的剪切频率!
        100Hz以上的震动噪声会导致位置、姿态控制性能恶化!
        低通滤波器虽然可以显著降低了噪声,但代价是显著的相位滞后,这将导致控制效果的严重滞后!
      • 9)参考
        Measuring Vibration with IMU Batch Sampler
        Notch Filtering

    自动调参

    一些概念

    • AutoTune尝试自动调整Stabilize P、Rate P和D以及最大旋转加速度,以提供最高响应,而不会出现明显的超调。
    • 在自动调参之前应该确保 AltHold 模式基本可用;
    • 待续。。。https://ardupilot.org/copter/docs/autotune.html

    遥控器映射说明

    • 自稳模式
      roll杆:roll期望角;
      pitch杆:pitch期望角;
      yaw杆:偏航角速度期望值;
      油门杆:控制电机的转速;
    • 定高模式
      roll杆:roll期望角;
      pitch杆:pitch期望角;
      yaw杆:偏航角速度期望值;
      油门杆:上升/下降的期望速度,上下限可以在 PILOT_SPEED_UP、PILOT_SPEED_DN 中配置;
      什么时候上升?什么时候下降?
      当油门杆超过中位值的 deadband (或称deadzone)区域时飞机上升,反之则下降,deadband 一般设置为油门杆 40% ~ 60%位置,根据自稳模式下飞机悬停时候的油门pwm位置而定,由THR_DZ 配置;
    • 定点模式
      roll杆:水平速度 x 分量期望角;最大最小值可配置;当摇杆回归中位值时,会触发位置控制器,位置期望值是rol、pitch摇杆回归中位值时刻的位置量;
      pitch杆:水平速度 y 分量期望角;最大最小值可配置;
      yaw杆:与定高模式相同;
      油门杆:与定高模式相同;

    电调校准

    • 电调需要校准,这样它们才能知道飞控发出的最小与最大的PWM范围值;
    • 每种品牌的电调可能校准方式都有所差异,具体需要查看电调说明书,有可能音调或者提示方式不同,不过一般都是大同小异。
    • 确保你已经把电调装好了,并插好好了相关信号线到飞控。
    • 校准必须拆除螺旋桨!
    • 不要使用USB连接电脑
    • 一般电调校准步骤:
      • 0)遥控器接收器和飞控要分开独立供电,过程中遥控器接收器的电源保持接通!
      • 1)打开遥控器,将油门推到最大,直到第五步。
      • 2)飞行器插上电池,解开安全开关,此时PIX状态灯应该是红色、蓝色、黄色循环闪烁,进入电调校准程序。
      • 3)拔掉电池,然后重新插入电池,三色灯会继续闪烁,马上长按安全开关进行解锁,数秒后,安全开关常亮后松手。
      • 4)等待你的电调发出声音,常规的哗哗声响说明你的电池数量(例如3S响三声,4S响4声),然后接着会有2声,说明最大油门被识别。
      • 5)将遥控器油门打到最低值,此时,电机应该会发出长响,说明最低油门也被识别和记录。
      • 6)接着尝试推油门,看看是否全部电机都可以正确转起来,而且是同步的,如果是,说明校准完成。
      • 7)油门保持最低,断开电池,完成校准过程。
    • 参考文献:
      https://doc.cuav.net/tutorial/copter/calibration/esc-calibration.html
  • 相关阅读:
    SwiftUI Xcode技巧大全之最喜欢的 Xcode 快捷方式和技巧这帮助我加快了我的日常发展
    阿里云ecs使用docker安装nacos
    安装配置 IDE
    vSLAM中IMU预积分的作用--以惯性导航的角度分析
    Miller-Rabin素数测试法 学习笔记
    【allegro 17.4软件操作保姆级教程六】布线操作基础之一
    Graph Convolutional Module for Temporal Action Localization in Videos GCM论文阅读笔记
    设计模式之迭代器模式
    【Java】<泛型>,在编译阶段约束操作的数据结构,并进行检查。
    20+ 波卡生态项目齐聚 TOKEN2049,参会指南请收好
  • 原文地址:https://blog.csdn.net/weixin_43321489/article/details/133883897