基于开源飞控 Pixhawk 的无人机装调与测试
基于开源飞控 Pixhawk 的无人机装调与测试全流程。涵盖无人机硬件组成与选型、飞控固件(PX4/ArduPilot)配置、地面站(QGC/Mission Planner)使用、航路规划、飞行模式详解、参数调试(PID/滤波)、日志分析及常见问题排查。内容包括 RTK 模块设置、4G 图数传、传感器校准、电机控制分配、安全保护机制及室内视觉定位等关键技术点,旨在帮助开发者与飞手掌握无人机系统的集成与调试技能。

基于开源飞控 Pixhawk 的无人机装调与测试全流程。涵盖无人机硬件组成与选型、飞控固件(PX4/ArduPilot)配置、地面站(QGC/Mission Planner)使用、航路规划、飞行模式详解、参数调试(PID/滤波)、日志分析及常见问题排查。内容包括 RTK 模块设置、4G 图数传、传感器校准、电机控制分配、安全保护机制及室内视觉定位等关键技术点,旨在帮助开发者与飞手掌握无人机系统的集成与调试技能。

适用人群:希望进一步掌握无人机装调的飞手、从零搭建无人机硬件平台的学生/教师、无人机爱好者及开发者。
可以通过串口助手配置 RTK 模块的参数,配置指令是 ASCII 格式 (支持字母大小写),每发送一条语句都需回车换行发送才有效,配置完毕最后要发送 SAVECONFIG 保存指令。 将模块通过 USB 连接电脑,如果识别不到 USB 端口,可以安装 CH340 驱动。 打开串口助手,选择模块的端口,波特率默认 115200,然后进入多条发送。 清除设置,恢复出厂设置:
freset
配置为移动站:
mode rover
设置串口 1 的波特率为 230400:
config com1 230400
设置串口 1 发送 GGA 语句,发送间隔为 0.05 秒(20Hz):
gpgga com1 0.05
设置串口 1 发送 THS 语句,发送间隔为 0.05 秒(20Hz):
gpths com1 0.05
设置串口 1 发送 HDT 语句,发送间隔为 0.05 秒(20Hz):
gphdt com1 0.05
设置串口 1 发送 RMC 语句,发送间隔为 0.05 秒(20Hz):
gprmc com1 0.05
设置串口 1 发送 UNIHEADINGA 语句,发送间隔为 0.05 秒(20Hz):
UNIHEADINGA com1 1 0.05
设置串口 1 发送 AGRICA 语句,发送间隔为 0.05 秒(20Hz):
AGRICA com1 1 0.05
保存设置:
saveconfig
注意:USB 口对应的是模块的串口 2,所以设置串口 2 输出的语句也会同时从 USB 口输出,并且如果修改了串口 2 的波特率,USB 口的波特率也随之改变,此时如果要保存设置,需要将串口助手波特率改成新设置的波特率再发送 saveconfig 命令保存。
4.6.0 以前老版本固件 修改 GPS_TYPE 为 25。 修改串口和波特率,例如 RTK 接到飞控的 TELEM2 口,则设置如下: SERIAL2_BAUD 设置为 RTK 配置的波特率 SERIAL2_PROTOCOL 设置为 GPS。 修改天线偏移: 先设置 GPS_MB1_TYPE 为 1,然后重启飞控。 可以看到下面三个参数:GPS_MB1_OFS_X, GPS_MB1_OFS_Y, GPS_MB1_OFS_Z。 天线偏移采用'前右下'坐标系,以机头为前方,以从天线为原点,单位为米。 主天线在从天线前边,GPS_MB1_OFS_X 为正;主天线在从天线右边,GPS_MB1_OFS_Y 为正;主天线在从天线下边,GPS_MB1_OFS_Z 为正;反之为负。 设置主天线位置:主天线位置也是'前右下'坐标系,以机头为前方向,机体中心为原点,单位为米。 更新频率根据 RTK 的设置来设置,单位为 Hz。
4.6.0 以后更新版本固件 修改 GPS1_TYPE 为 25。 修改串口和波特率,例如 RTK 接到飞控的 TELEM2 口,则设置如下: SERIAL2_BAUD 设置为 RTK 配置的波特率 SERIAL2_PROTOCOL 设置为 GPS。 修改天线偏移: 先设置 GPS1_MB_TYPE 为 1,然后重启飞控。 可以看到下面三个参数:GPS1_MB_OFS_X, GPS1_MB_OFS_Y, GPS1_MB_OFS_Z。 天线偏移采用'前右下'坐标系,以机头为前方,以从天线为原点,单位为米。 主天线在从天线前边,GPS1_MB_OFS_X 为正;主天线在从天线右边,GPS1_MB_OFS_Y 为正;主天线在从天线下边,GPS1_MB_OFS_Z 为正;反之为负。 设置主天线位置:主天线位置也是'前右下'坐标系,以机头为前方向,机体中心为原点,单位为米。 更新频率根据 RTK 的设置来设置,单位为 ms,例如 20Hz 就设置为 50ms。
建议使用新版的 PX4 固件,1.13 及更老版本的 PX4 固件对 UM982 的支持不完善。 教程是基于 PX4 1.16.1。 假设模块接在 GPS1 口,模块设置完成。 GPS_1_CONFIG 设置成 GPS1(或者手动输入数字 201)。 GPS_1_PROTOCOL 设置为 NMEA(或者手动输入 6)。 SER_GPS1_BAUD 设置为 230400。 使能双天线航向,EKF2_GPS_CTRL 参数勾选第四个。 设置 GPS 航向偏移:GPS_YAW_OFFSET。主天线在前,从天线在后的情况下设置为 0 度,主天线在右,从天线在左设置为 90 度,以此类推。
无人机的基本常识
无人机轴距是怎么定义的
电机的 KV 值是怎么定义的
电调的作用
电池的放电倍率是怎么定义的
桨叶的 CW 和 CCW 代表的转向是
IMU 包含哪些
飞控为什么需要校准 IMU
电调的协议有哪些,PWM 协议和 Dshot 协议的区别
磁罗盘的干扰源有哪些
同型号电机,KV 值对耗电,效率的影响
振动大会导致哪些问题 引起振动的原因 如何降低振动,硬件/软件 PID 的 P、I、D 对飞机的影响
无人机常见问题排查 RTK 在室外一直显示零颗星,应该怎么排查 双天线 RTK 航向不准,应该怎么排查 无人船跑航线原地打转,应该怎么排查 日志中的常见数据的含义 如何分析震动 震动的来源 如何消除震动 怎么看 PID 怎么调 PID 无人机起飞后侧翻的可能原因,怎么排查 无人机没法垂直起飞,可能的原因,怎么排查 无人机飞的时候电机声音尖锐,电机温度很高,可能的原因 室外定点飞行时,无人机原地转圈,越转越大,可能的原因 室外定点飞行时,一直往一个方向飘,可能的原因 无人机解锁失败,应该怎么解决 无人机无法记录日志,应该怎么解决。 新的 pix2.4.8 飞控无法下载 fmuv3 固件,可能的原因 飞控连不上 mavros,可能的原因 PX4 参数 定位来源参数: 串口波特率参数: 解锁检查参数: mavlink 模式参数及作用: 列一些其他你用过的 PX4 常用参数并说明其作用
飞控的作用相当于无人机的大脑,它内部集成了姿态传感器,气压高度计等传感器,同时通过外接 GPS,VIO 等可以或者位置信息,在飞控内部经过对这些传感器数据的处理获取无人机的状态信息,同时通过 PID 控制算法可以计算出每个电机的输出,进而控制无人机平稳的飞控。 飞控的接口定义:https://docs.holybro.com/autopilot/pixhawk-6c-mini/pixhawk-6c-mini-ports 关键参数: 处理器 IMU
GPS 的作用是在室外为无人机提供定位(室内由于遮挡,GPS 会搜不到卫星信号),为保证定位精度,一般搜到 10 颗星以上再使用。 关键参数: gps 芯片,外置罗盘型号
接收机的作用是接收遥控器的遥控信号,通过 sbus/ppm 协议发送给飞控,从而让无人机可以按照遥控指令飞行。M1 无人机采用的是图数一体接收机,不仅能传输遥控信号,还能传输飞控的数据,只需要把接收机的串口接到飞控的数传口即可。 协议类型: ppm/sbus/pwm
电流计的作用是将电池电压转成 5V 给飞控供电,同时可以测量电池的电压和飞行时耗电电流。 关键参数: 支持的最大电压/电流
电调(电子调速器)的作用是接收飞控的控制信号(PWM/Dshot),并控制电机按照飞控期望的转速旋转。 关键参数: 支持的最大电压/电流,驱动协议(pwm/dshot)
电机带动桨叶旋转为无人机提供升力。电机有正反之分,顺时针旋转为正,逆时针旋转为反,安装桨叶时,顺时针旋转的电机装正桨,逆时针旋转的电机装反桨。 关键参数: KV 值,支持的最大电压/电流,cw/ccw,尺寸(常见标注方式如'2208'表示定子直径 22mm、厚度 8mm)
电池的作用是给无人机供电,航模锂电池的放电倍率较高,存在一定的危险性,因此要小心使用。需要注意以下事项:
螺旋桨的作用是为无人机提供升力和扭力,桨叶有正反之分,顺时针方向旋转的电机装正桨,逆时针方向旋转的电机装反桨。不同正反的电机通常带有不同的标号,有 CW(正桨,顺时针方向旋转)和 CCW(反桨,逆时针方向旋转)两种。还有'5045'和'5045R'标签,像这样标记时,缺少 R 的表示是 CW,而有'R'字母的则代表 CCW。 关键参数: 尺寸(例如'1045':前两位数字:代表螺旋桨的直径,单位为英寸。后两位数字:表示螺距(螺旋桨旋转一周前进的垂直距离),单位为英寸),cw/ccw
UBEC 的作用是将电池电压转成机载设备(板载计算机 Jeston nano、舵机等)的供电电压,从而给机载设备供电,由于不同的机载设备供电电压可能不一样。因此一架无人机上可能会带多个 UBEC。 关键参数: 支持的最大电压/电流
无人机硬件的选型需要考虑的因素比较多,例如载重,续航,速度,轴距等 无人机的轴距和桨叶尺寸是关联的,例如 450mm 轴距的无人机通常用 9 寸或者 10 寸桨。
固件是是烧录在飞控硬件中的软件,pixhawk 飞控支持 PX4 和 ArduPilot 两种版本的固件。 本次课程重点以 PX4 固件为基础进行讲解
注意航路规划时,设置完航点后,页面左下角有一个'地形高度'那一栏,标红的航点说明对应的航点高度不可达。默认的高度是相对于起飞点的高度,例如起飞点的高度是 5 米,那么每个航点的高度至少要大于 5 米才不会标红,如果小于 5 米就会标红,标红的话就无法执行任务模式了。 如果标红的话,可以把高度改高一点,或者改成相对于地形的高度。
点击文件 -》空白 默认必须先设置 takeoff 点,才能设置其他航点 如果想不设置 takeoff 点直接设置航点(例如无人船等载具),可以在地面站常规设置中勾选下图选项: 然后就可以不用设置起飞点直接设置航点了。 点击'takeoff'后,会在无人机当前位置生成起飞点,然后再点击'航点'按钮,然后在地图上点击即可设置航点位置。设置完的航点也可以鼠标左键选中后进行拖动改变其位置。 点击相应航点左侧的小垃圾桶图标可以删除航点。 点击小垃圾桶图标右侧的 Waypoint 可以设置点的类型,默认是 Basic 类别,下面有 Waypoint(航点)、Return To Launch(返回起飞点)、Land(降落)、Takeoff(起飞) 四种,分别对应到达该航点后执行的动作。 上面四种点对于普通四旋翼的使用来说已经够了,但是如果需要执行一些高级一些的动作(如垂起模式切换),需要在下面的其他类别中去找。 在 Mission Start 那一栏可以设置航点高度和飞行速度等值,这一栏的设置会对所有任务点都有效。 在每个任务点里面也可以设置高度和停留时间等值,但这里的设置只对该任务点有效,在每个任务点的右侧有一个三道杠的图标,可以点击该图标设置该任务点的更多信息。 '编辑位置'可以对位置进行详细编辑 '显示所有值'可以对任务点的所有参数进行编辑
点击图案 -》测绘 点击勾画,然后在地图上点多边形的顶点 点完后点勾画完毕 点击下图进行编辑 可以设置间隔,角度,转弯距离等 如果想把下图设置航线距离的单位换成米 可以把相机禁用就行了
通过设置调参通道,可以将遥控器的某一个通道(如旋钮)映射到 PX4 的一个参数当中,从而可以通过遥控器旋钮实时的调整 PX4 参数的值。 在下图先设置参数对应的遥控器通道,最多可以同时设置三个参数通道。 例如我这里遥控旋钮对应的是通道 9,我将参数 1 的调参通道设置为遥控器的通道 9. 然后将内环俯仰角速率映射到参数 1 上,点击下面的高级设置 -》将遥控设到参数… 然后设置缩放倍数即可。设置完毕后可以动一下旋钮看看参数变化是否正常 其中遥控遥控通道的 1000 对应 -1,1500 对应 0,2000 对应 1,对应线性的归一化。 对应参数为:归一化的遥控通道值*Scale+Center Value Scale 就是缩放的系数, Center Value 是遥控通道为中位值时的参数值 Min Value 对应参数的最小值 Max Value 对应参数的最大值 例如参数 MC_PITCHRATE_P 的 Center Value 为 0.15,Scale 为 0.1 那么遥控通道值为 1500 时,MC_PITCHRATE_P 为 0.15,通道值为 1000 时,则对应参数 MC_PITCHRATE_P 为 0.05,通道值为 2000 时,则对应参数 MC_PITCHRATE_P 为 0.25.通道值为 1750 时,则对应参数 MC_PITCHRATE_P 为 0.2.
围栏是一个虚拟边界,用于定义机体可以在哪些地方行驶。围栏可用于防止机体飞出遥控器的范围,或进入不安全或受限制的空域。 PX4 提供了两个独立的机制来指定围栏: 一个是基本的'故障保护'地理围栏,定义了一个简单的圆柱体。 一个是可以使用围栏规划 (QGroundControl) 定义更复杂的几何图形。 地理围栏适用于所有模式,包括任务和手动飞行。
故障保护围栏定义了一个圆心在 home 点的圆柱,它具有指定的最大半径和高度。 设置中还包括越界时的故障保护动作。可能只是一个警告通知,但更常见的是机体会立即返回一个安全位置。 设置了电子围栏后,飞机必须要有 GPS 信号才能解锁,如果想在没有 GPS 的情况下解锁,需要将电子围栏的动作设置维 Disable
PX4 支持由多个圆形和多边形区域组成的复杂地理围栏边界,这些区域可以定义为禁出或禁入区域。 围栏规划 打开 QGroundControl > Plan View. 选择规划类型为 Fence。这将显示地理围栏编辑器。 选择多边形围栏或圆形围栏按钮,可将添加所需基本类型的围栏到地图中。这也在编辑器中增加了此类围栏的条目。 在地图上调整围栏的形状和位置。 围栏中心的圆点可以用来调整围栏的位置。 边界上的圆点可以用来调整半径。 角(顶点)上的圆点可以用来改变多边形的形状。点击线段中间可以在两个顶点中添加新的顶点。 围栏编辑器可以设置围栏是禁出或禁入区域,还可以通过(编辑单选按钮)选择一个围栏来编辑或者通过删除按钮来删除。 可添加任意数量的围栏 完成后,点击 (右上角) 上传 按钮向车辆发送围栏 (连同集结和任务)。 在围栏故障保护中需要设置越界动作。
此保护用于设置在丢失遥控信号后的动作,在 Safety->RC Loss Failsafe Trigger 里面设置保护动作和信号丢失的最大时间
在 Safety->Low Battery Failsafe Trigger 设置三个低电量水平的阈值和触发的动作。
PX4 的遥测数据流数是固定的。只能对 APM 的遥测数据流进行设置: 设置页面如下,如果勾选了'所以控制流由载具设置控制',则数据流的速率有飞控的参数设置,如果没有勾选的话,载具的参数设置是没有作用的
先不连接飞控,点击地面站左上角图标 -》载具设置 -》固件 然后用 USB 将飞连接电脑,注意飞控不要用电池或其他 USB 以外的设备供电,确保电脑识别到了飞控的 usb 端口,然后会弹出下面的页面(如果没有弹出下面的页面,可以点此解决),直接下载的话默认下载的是最新稳定版 也可以选择下载 master 分支,这是最新的,但可能会有 bug。 不同的版本的固件代码可以从下面的网址下载:https://github.com/PX4/PX4-Autopilot/releases[固件下载地址] 下载二进制文件后,可以通过地面站进行下载,确定后选择.px4 文件即可。 下载好固件后,我们能够在概括里看到固件版本
推荐使用 QGC 下载固件,如果 QGC 无法下载固件,可以尝试用 Mission Planner 下载 飞控先不连地面站 点击初始设置 -》安装固件 Legacy-》加载自定义固件,然后选择需要下载的固件(.px4 文件) 点击 OK,然后插上飞控 地面站会自动识别飞控并下载固件,下载完后如图
(一)pixhawk2.4.8 飞控只能下载 fmu v2 版本固件解决办法 pixhawk2.4.8 飞控是可以下载 fmu v3 版本固件的,但是有的 pixhawk2.4.8 飞控会出现只能下载 fmu v2 版本固件的问题,如下图,v2 版本支持的载具很少,属于阉割版固件,因此建议使用 fmu v3 版本固件 解决办法是在下载固件之间,先刷写 Bootloader,勾选'高级'复选框,就会出现'刷写 ChibiOS Bootloader"按钮,如下图。点击此按钮,然后再刷写固件,此时刷写的就是 fmuv3 版本固件 如果没有上图的刷 bootloader 按钮,也可以修改飞控的参数 SYS_BL_UPDATE,将其改成 1,然后重启飞控,再下载固件,就可以下载 V3 固件了。 (二)无法弹出下载固件页面解决办法 1、电脑识别不到 USB 端口 首先排查电脑是否识别到 USB 口,在设备管理器里查看,PX4 固件会出现下面的端口 APM 固件会出现下面的端口 如果没有出现上面的端口,说明没有识别到飞控的 USB 端口,可以尝试换根 USB 线 2、用虚拟机里的 QGC 下载固件 如果用虚拟机里的 QGC 下载固件,需要将飞控连接到虚拟机,如果虚拟机里的系统无法识别到飞控的端口。电脑插上飞控,然后点击下图的'连接'即可将飞控连接到虚拟机。 然后再下载固件,下载方法与 windos 相同,在下图页面重新插上飞控 USB 即可
将飞控连接至地面站,四旋翼无人机将机架设置为 Geneic Quadcopter 然后点击右上方'应用并重启' 重启后,在概括里能够看到选择的机型,如图:
将飞控通过 usb 线连接 QGC 地面站 1、校准罗盘 在校准罗盘时,如果有使用外置罗盘(常见的 GPS 中都带有外置罗盘),请确保外置罗盘的方向和飞控内置罗盘的方向一致 选择传感器->罗盘->确定,开始校准 将无人机置于红色所示的任何方向,并保持静止。出现提示后(方向图像变为黄色),沿任意/两个方向绕指定轴旋转。当前方向校准完成后,屏幕上的相关图像将变为绿色。 对所有方向重复校准过程。 在所有方向校准完毕后,QGroundControl 将显示 Calibration complete(校准完成)(所有方向图像将显示为绿色,进度条将完全填满)。然后可以继续下一个传感器。 2、校准陀螺仪 单击陀螺仪传感器按钮,将无人机水平放在地面上,保持静止。单击'确定'开始校准。顶部的条形图满代表校准成功 3、校准加速度计 单击加速计传感器按钮,单击'确定'开始校准。 根据屏幕上的方向提示,当方向图像变为黄色,保持无人机静止。当前方向校准完成后,屏幕上的相关图像将变为绿色。 对所有向重复校准过程。在所有位置校准车辆后,QGroundControl 将显示 Calibration complete(校准完成)(所有方向图像将显示为绿色,进度条将完全填满)。 4、校准地平线 如果不校准地平线,无人机在非定点飞行中位置可能持续的漂移。 将无人机置于水平面上,点击校平地平线->OK,然后保持静止,直到绿色进度条满 5、校准遥控器 切换到遥控器页面,检查右下角是否能识别到通道,如果能识别到通道,就可以进行校准,选择右上角的操作方式,然后点击校准 然后点击'确定' 再点击'下一步' 将遥控器摇杆移动到下图中指示的位置。 当杆就位时,地面站会提示下一个需要拨的位置,拨完所有位置后,按两次'下一步'保存设置。
切换到飞行模式页面,可以先拨一下需要设置的遥控器拨码开关,看其在地面站中对应的是哪个通道 设置遥控器拨码开关 切换到飞行模式页面,可以先拨一下需要设置的遥控器拨码开关,看其在地面站中对应的是哪个通道。 设置飞行模式切换开关 点击'模式频道'右侧的复选框,设置相应的遥控器拨码开关通道。 然后分别设置三档对应的飞行模式。 设置其他切换开关 其他的开关通道在飞行模式右侧,如下,需要设置哪个,就把这个开关右侧的遥控器通道进行设置即可,我这里设置了一个刹车(Kill switch),通道为遥控器的第六个通道。刹车的作用是使电机直接停转,可根据需要进行设置
PX4 1.13.3 以上版本的 PX4 固件才可以支持控制分配功能,其中 1.13.3 需要使能 Control allocate 参数才能使用,设置参数如下,1.14 及更新版本固件不需要设置此参数,直接即可使用此功能 设置好参数后重启飞控,进入到飞控的 Actuators 页面,点击对应通道右侧的复选框,选择对应的电机即可 无人机我们选择 AUX 通道(快速响应) 校准 PWM 协议的电调时,可选择对应的电调协议以及电机,将最小输出先设置成 1000,然后打开使能滑块,将所有电机拉到最大,此时再给无人机上电(一定不要安装桨叶),上电后能听到嘀嘀两声后,将所有电机拉到最小,能听到长滴的一声,这个是正确的校准点击。 Dshot 协议电调不需要校准。 设置好 4 个电机的输出通道后如下图:我这里使用的是 AUX 通道,对应飞控的辅助通道 如果想使用 main 通道,则设置如下: 电调的输出协议可以在下图的页面设置,只有 AUX 通道才可以设置 DShot 协议 调整电机转向 电调校准完毕后,给电机设置 10% 的油门作为它的怠速。重新接上电池 注意:测电机转向的时候,不要所有电机一起拉,一个一个检查转向 PWM 协议的电调:检查电机转向是否和下图一致,如果不一致,将电调与电机的三根连接线的任意两根互换顺序即可调整转向。 Dshot 协议的电调可以在地面站中直接设置电机的转向,如下图,set Spin Direction 1 表示顺时针方向,set Spin Direction 2 表示逆时针方向 例如想设置 motor1 的方向为逆时针,先点击 Set Spin Direction 2,然后在弹出来的 4 个电机里点击 Motor1 即可,如果设置后没有生效,重启一下飞控即可。
注意:刷写固件、选择机型、校准传感器及遥控器可参照本篇第三章的 PX4 基础配置
将电调的黑色地线焊接在分电板负极(-),电调的红色火线焊接在分电板正极(+),焊接时的温度尽量不要太高(300°-350°左右),需做到焊点光滑、不虚焊不短路原则。 焊接完成之后,需要用万用表检查是否短路
将电机安装在无人机机臂上,注意:螺丝不宜过长,如果抵着电机线圈,可能会短路和堵转。 如果自锁电机,需要注意电机的正反。 反桨(可作为 1、2 号电机) 正桨(可作为 3、4 号电机) 电机的转向及电机接线顺序如下: 为了保证在飞行过程中判断机头朝向,我们将白色机臂当作机头方向,黑色机臂当作机尾 电机与电调连线 这是使用的电调遵循 PWM 协议,可以直接将这三根线任意方式连接,后面通过地面站测电机转向。如果转向不对,可任意交换两根线来改变转向。PWM 协议是模拟脉冲信号,通过改变这三根线的电压来调整电机转向和转速。 如果电调遵循 Dshot 协议,这三根线可以任意方式连接,如果转向不对,可以直接在地面站里点击设置旋转方向修改,不用插拔线。
飞控箭头的方向与机头一致 使用电流计给飞控 power 口供电 1-4 号电机信号线接到飞控的 AUX9-AUX12 口,1 号电机对应 AUX9,依次类推 注意:飞控的最上面一排是信号线,中间一排是火线,最下面一排是地线
这里采用的是云卓 T10 图数传一体的遥控器 安装接收机 可以先将接收机的老安卓口对着下方,接收机右上方的有'— T R',我们拿出一根 6P 带卡扣的线(卡扣朝下)自左向右依次为:GND、RX、TX、VCC(一定不要接错线)。 GND 连接接收机的—,RX 接接收机的 T,TX 接接收机的 R,VCC 接第二排的 +。 6P 带卡扣连接飞控的 TELEME 1 端口。 准备三根杜邦线,将接收机的'— + P/S'与飞控 SBUS IN 引脚的'— + 信号线'连接 老安卓左侧第一个小孔是指示灯,第二个小孔是对频按钮(如需对频,长按对频两秒,待指示灯绿灯快闪,此时再打开遥控器,指示灯会绿色常亮,即代表遥控器已与接收机对上频) 接收机两根天线分别安装到两条不同机臂,不要让桨叶打到、扎带绑紧即可。
GPS 箭头方向与飞控箭头方向和机头一致,GPS 连接到飞控的 GPS 端口。
飞行员可以使用遥控上的开关或地面站来切换飞行模式。 并非所有飞行器都可以使用所有飞行模式,并且某些模式在不同飞行器类型上表现不同。 一些飞行模式仅在飞行前和飞行中某些特定条件下起作用(如 GPS 锁定,空速传感器,某个轴的姿态感测)。除非满足合适的条件,否则 PX4 不会允许切换到这些模式。 在多旋翼自主模式下,遥控器摇杆移动将默认将车辆更改为位置模式(除非处理关键的电池故障保护)。对于自主固定翼飞行,操纵杆运动被忽略。
一般来说,飞行模式是手动或自主的。手动模式是指用户通过遥控操纵杆(或操纵杆)控制车辆移动的模式,而自主模式完全由自动驾驶仪控制,不需要遥控控制输入。 提示 某些手动模式可能具有自驾辅助机制,以便更容易获得或恢复受控飞行。如当遥控摇杆居中时,大部分飞行模式将使飞行器水平。 手动模式可以进一步分为'自稳'和'特技'模式。在自稳模式下,滚动和俯仰杆设置车辆角度,从而在水平面上左右和前后移动。这将不仅可以使运动变得可预测,而且因为角度受控,飞行器无法翻转。在特技模式中,RC 摇杆控制角度旋转的速率(绕相应轴)。飞行器可以翻转,虽然机动性更强,但更难飞行。
固定翼: 手动:自稳,位置,高度,特技 自动:保持,返航,任务,起飞,降落,Offboard 多旋翼: 手动:自稳,位置,高度,特技 自动:保持,返航,任务,起飞,降落,跟随,Offboard
1.位置模式(多旋翼) [飞行难度:简单] [需要手动/遥控器控制] [需要定位锁定(例如 GPS)] 位置是一种易于飞行的 RC 模式,其中滚动和俯仰杆控制车辆左右和前后方向上的地面加速度(类似于汽车的油门),油门控制升降速度。当摇杆释放/居中时,机体将主动制动,保持水平,并锁定到 3D 空间中的位置 — 补偿风和其他力。摇杆打满时,机体以 MPC_ACC_HOR_MAX 开始加速到达最终的速度 MPC_VEL_MANUAL。 提示 位置模式对于新手是最安全的手动模式。不同于定高模式和手动/自稳模式,机体在摇杆中位时会停止,而不是继续直到风阻使其减速。::: 下图直观地显示了遥感对应的操作(对于美国手的遥控器)。 该模式中降落是很容易的: 使用横滚和俯仰杆控制无人机水平位置于降落点上方。 松开横滚和俯仰杆并给予足够的时间使其完全停止。 轻轻下拉油门杆直到机体触碰地面。 将油门杆一直向下拉以促进和加快着陆检测。 机体将降低螺旋桨推力,检测地面并自动落锁(默认)。 注意 虽然在校准良好的机体上非常罕见,但有时着陆可能会出现问题。 如果机体无法停止水平移动: 您仍然可以在高度模式下在控制降落。方法与上述相同,除了您必须使用横滚和俯仰杆手动确保机体保持在降落点上方。 降落后检查 GPS 和磁罗盘方向,并校准。 如果机体未检测到地面/降落并自动加锁。可以等机体落地后切换到手动/自稳模式,保持油门杆低位,并使用遥控器手动落锁。或者,当机体已经在地面上时,您也可以使用刹车开关。 1.1 技术摘要 遥控模式下,横滚、俯仰、油门 (RPT) 杆控制相应轴/方向的运动。摇杆居中使机体水平并将其保持在固定的高度和位置并抗风。 摇杆处于滚动、俯仰、油门杆中位(遥控死区 MPC_HOLD_DZ 内)时,机体保持 x、y、z 位置稳定,抵抗任意干扰,如风。 中位以外: 横滚/俯仰杆控制机体左右和前后方向(分别)在地面上的水平加速度。 油门杆控制上升下降速度。 偏航杆控制水平面上方的角旋转速率。 起飞: 在地面时,如果油门杆升高到 62.5% 以上(从底部的全范围),机体将起飞。 注解 遥控输入信号是必须的(遥控器,或通过 MAVLink 的游戏手柄/拇指摇杆)。 此模式需要 GPS。 1.2 参数 多旋翼位置控制组的所有参数都与位置模式有关。下面列出了一些特别值得注意的参数。 参数 描述 MPC_HOLD_DZ 启用位置保持的摇杆死区。默认值:0.1(摇杆全行程的 10%)。 MPC_Z_VEL_MAX_UP 最大垂直上升速度。默认:3 m/s。 MPC_Z_VEL_MAX_DN 最大垂直下降速度。默认:1 m/s。 MPC_LAND_ALT1 触发第一阶段降速的高度。低于此高度,下降速度限制在 MPC_Z_VEL_MAX_DN (或 MPC_Z_V_AUTO_DN) 和 MPC_LAND_SPEED(需大于 MPC_LAND_ALT2)之间。默认 10 米 MPC_LAND_ALT2 触发第二阶段降速的高度。低于此高度,下降速度限制在 MPC_LAND_SPEED(需小于 MPC_LAND_ALT1)默认 5 米。 RCX_DZ 通道 X 的遥控死区。油门的 X 值取决于 RC_MAP_THROTTLE 的值。例如,如果油门是通道 4,则 RC4_DZ 指定死区。 MPC_XXXX 大多数 MPC_xxx 参数会影响此模式下的飞行行为(至少在某种程度上)。例如,MPC_THR_HOVER 定义飞机悬停时的推力。 MPC_POS_MODE 从摇杆输入到机体动作的转换策略。从 PX4 v1.12 开始,默认值 (4) 是操纵杆位置控制加速度(类似于汽车油门踏板)。其他选项允许操纵杆偏转直接控制地面速度,有或没有平滑和加速度限制。 MPC_ACC_HOR_MAX 最大水平加速度。 MPC_VEL_MANUAL 最大水平速度。 MPC_LAND_SPEED 着陆下降率。默认 0.7 m/s. 1.3 位置丢失/安全 位置模式依赖于一个可接受的位置估计。如果估计值低于可接受的水平,例如由于 GPS 丢失,这可能会触发位置 (GPS) 丢失故障保护 根据配置,是否有遥控器,以及是否有足够的高度估计,PX4 可能会切换到高度模式、手动模式、降落模式或终止。
2.定高模式(多旋翼) [飞行难度:简单] [需要手动/遥控器控制] [需要高度传感器(例如气压计、测距仪)] 高度模式是一种相对容易飞行的 RC 模式,其中滚动和俯仰杆控制车辆在左右和前后方向(相对于车辆的'前部')上的运动,偏航杆控制水平面上的旋转速度,油门控制升降速度。 当操纵杆松开/居中时,车辆将保持水平并保持当前高度。如果在水平面上运动,机体将继持续运动直到任何动量被风阻力消散。如果刮风,飞机会向风的方向漂移。 提示 高度模式是新飞行员最安全的非 GPS 手动模式。就像手动/自稳模式,但是在松开摇杆时也可以锁定机体高度。 下图直观的展示了该模式(以美国手的遥控器举例)。 多旋翼高度控制 -美国手遥控器 2.1 技术总结 与手动/自稳模式类似,但具有高度稳定(居中操纵杆使车辆保持水平并保持在固定高度)。 回正摇杆(内带死区): RPY 摇杆使飞机水平。 油门(~50%)抗风保持当前姿态。 外部中心: 翻滚/俯仰摇杆控制各自方向的倾斜角,导致左右和前后的移动。 油门摇杆以预定的最大速率(和其他轴上的移动速度)控制上升速度。 偏航摇杆控制水平面上方的角度旋转速率。 起飞: 如果将油门杆抬高至 62.5%(从油门杆最低开始的整个范围),无人机将起飞。 注解 需要手动输入(遥控器,或者通过 MAVLink 连接的游戏手柄/拇指摇杆)。 通常使用气压计测量高度,在极端天气条件下可能会变的不准确。带有激光雷达/距离传感器的飞机将能够以更高的可靠性和准确性控制高度。 2.2 参数 该模式受以下参数影响: MPC_Z_VEL_MAX_UP 最大垂直上升速度。默认:3m/s。 MPC_Z_VEL_MAX_DN 最大垂直下降速度。默认:1m/s。 RCX_DZ 通道 X 的遥控死区。油门的 X 值取决于 RC_MAP_THROTTLE 的值。例如,如果油门是通道 4,则 RC4_DZ 指定死区。 MPC_XXXX 大多数 MPC_xxx 参数会影响此模式下的飞行行为(至少在某种程度上)。例如,MPC_THR_HOVER 定义飞机悬停时的推力。
3.手动/自稳模式(多旋翼)
[飞行难度:中等] [需要手动/遥控器控制]
当 RC 控制杆居中时,手动/稳定模式可稳定多旋翼。要手动使机体移动/飞,您可以移动摇杆使其偏离居中位置。
注解
在手动/自稳控制下,侧倾杆和俯仰杆控制车辆绕各自轴的角度(姿态),偏航杆控制水平面上方的旋转速度,油门控制高度/速度。
一旦释放摇杆,它们将会返回中心死区。一旦横滚和俯仰摇杆居中,多旋翼无人机将平稳并停止运动。然后机体将悬停在适当的位置/保持高度 - 前提是平衡得当,油门设置适当,并且没有施加任何外力(例如风)。飞行器将朝着任何风的方向漂移,您必须控制油门以保持高度。
3.1 技术描述
飞手的输入通过横滚和俯仰角度以及偏航角速率指令传递给自驾仪。自动驾驶仪控制着姿态,这意味着当遥控器摇杆居中时,它调整飞机的横滚和俯仰角为零(因此使姿态变平)。自动驾驶仪不能补偿由于风(或其他来源)引起的漂移。
3.2 参数
MPC_THR_HOVER 当油门杆居中输出的悬停油门,默认值为 MPC_THR_CURVE。
MPC_THR_CURVE 定义油门缩放比例。默认情况下,这被设置为重新缩放悬停推力,这意味着当油门杆居中时,油门输出为悬停油门(MPC_THR_hover),并且杆输入被线性地重新缩放到低于和高于该值(允许自稳和高度/位置控制之间的平滑过渡)。
在动力很强的机体上,悬停油门可能非常低(例如低于 20%),因此重新调整会使油门输入变形 - 对应上面举例,80%的推力将仅由摇杆输入的中位以上部分控制,20%的推力由中位以下的部分来控制。如果需要,可以将 MPC_THR_CURVE 设置为 No Rescale(无重缩放),以便不进行重缩放
4.特技模式(多旋翼)
[飞行难度:困难] [需要手动/遥控器控制]
特技模式是用于执行特技动作的 RC 模式,例如翻转、翻滚。
横滚、俯仰和偏航杆控制围绕各自轴的角速率,油门直接传递至控制分配。当操纵杆居中时,飞机将停止旋转,但保持其当前姿态并根据当前动量移动。
4.1 技术描述
用于执行特技动作的 R 遥控/手动模式,例如翻转,滚转和环绕。
RPY 摇杆输入控制围绕各自轴的角度旋转速率。当操纵杆居中时,飞机将停止旋转,但保持其当前朝向(不一定是水平)。
4.2 摇杆输入映射
特技模式下默认的滚转、俯仰和偏航操纵杆输入映射如下所示。该曲线使得在最大杆输入处具有大转弯速率能够进行特技动作,在靠近杆回中位置的区域具有较低灵敏度以进行微调。
可以使用 MC_ACRO_EXPO 和 MC_ACRO_SUPEXPO 参数调整滚转和俯仰轴杆输入响应,同时使用 MC_ACRO_EXPO_Y 和 MC_ACRO_SUPEXPOY 调整偏航轴杆输入响应。MC_ACRO_EXPO 和 MC_ACRO_EXPO_Y 参数用于调整线性曲线和三次曲线之间的曲线,如下所示。MC_ACRO_SUPEXPO 和 MC_ACRO_SUPEXPOY 允许进一步调整曲线形状,修改低灵敏度区域的宽度。
数学关系是:
其中 y 是纵轴,x 是横轴,f = MC_ACRO_EXPO 或 MC_ACRO_EXPO_Y,g = MC_ACRO_SUPEXPO 或 MC_ACRO_SUPEXPOY,r 为最大速率。
您可以在此处进行试验。
4.3 参数
MC_ACRO_EXPO 特技模式'指数'因子,用于调整滚转和俯仰轴的杆输入曲线形状。值:0 表示纯线性输入曲线,1 表示纯三次输入曲线。默认:0.69
MC_ACRO_EXPO_Y 特技模式'指数'因子,用于调整偏航轴的杆输入曲线形状。值:0 表示纯线性输入曲线,1 表示纯三次输入曲线。默认:0.69
MC_ACRO_SUPEXPO 特技模式'超级指数'因子,用于精细调整滚动轴和俯仰轴的杆输入曲线形状(使用 MC_ACRO_EXPO 进行调整)。值:0——纯指数函数,0.7——合理增强直观操纵感的形状,0.95——非常弯曲的输入曲线,仅在最大值附近有效。默认:0.7
MC_ACRO_SUPEXPOY 特技模式'超级指数'因子用于精细调整偏航轴的杆输入曲线形状(使用 MC_ACRO_EXPO_Y 进行调整)。值:0——纯指数函数,0.7——合理增强直观操纵感的形状,0.95——非常弯曲的输入曲线,仅在最大值附近有效。默认:0.7
MC_ACRO_P_MAX 最大特技俯仰速率 默认:每秒 2 转(720 度/秒)
MC_ACRO_R_MAX 最大特技滚转速率 默认:每秒 2 转(720 度/秒)
MC_ACRO_Y_MAX 最大特技偏航速率 默认:1.5 转每秒(540 度/秒)
5.环绕模式(多旋翼) [易于飞行] [需要定位修复(例如 GPS)] 默认情况下,轨道引导飞行模式允许您命令多旋翼机(或多旋翼模式下的垂直起降)绕圆飞行,偏航始终朝向中心。 环绕模式 - 多旋翼 QGroundControl(或其他兼容的 GCS 或 MAVLink API)需要启用该模式,并设置轨道的中心位置、初始半径和高度。一旦启用后,无人机将尽快飞到控制的圆周轨迹上的最近点,并在规划的圆周上朝中心方向缓慢(1 m/s)顺时针旋转。 环绕模式的启动方式为: 解锁并起飞后,左键点击飞行视图页面的地图。选择下图的 Orbit at location 然后滑动地图底部的确认按钮,无人机会进入环绕模式绕圈飞行 注解 该模式下遥控器是可选的,如果没有遥控,则环绕模式如上所述。无法使用遥控来切换该模式(如果使用遥控切换该模式,无人机会处于空闲状态)。 遥控可以用于改变绕圈的高度,半径,速度和绕圈方向: 左摇杆: 上/下:控制上升/下降速度,如位置模式。当在中部死区时,高度被锁定。 左/右:无影响。 右摇杆: 左/右:控制顺时针/逆时针方向的轨道加速度。当居中时,当前速度被锁定。 最大速度为 10 m/s,进一步的限制是将向心加速度保持在 2 m/s^2 以下。 上/下:控制轨道半径(更小/更大)。当居中时,当前半径被锁定。 最小半径是 1 米。最大半径是 100 米。 下图直观的显示了模式行为(对于一个美国手遥控器)。 切换到其他飞行模式(使用遥控或 QGC 地面站)可以停止此模式。 5.1 参数/限制 没有特定的环绕模式参数。 下面的限制是写死的: 初始/默认是顺时针方向 1 m/s 旋转。 最大加速度限制在 2 m/s^2。 优先保持控制的圆周轨迹而不是地速(即,如果加速度超过 2 m/s^2 无人机将减速以达到正确的圆周)。 最大半径是 100 米。 环绕模式可以使用以下 MAVLink 命令: MAV_CMD_DO_ORBIT:启动一个指定中心点,半径,方向,高度,速度和偏航方向的轨道(无人机默认朝向轨道中心)。 ORBIT_EXECUTION_STATUS:在环绕模式发出的环绕状态。
6.定点模式(固定翼) [易于使用] [需要手动或遥控控制] [需要定位修复(例如 GPS)] 位置模式是一种易于飞行的 RC 模式,在该模式下,当杆释放/居中时,飞机将水平并沿当前方向直线飞行,以补偿风和其他力。 油门取决于空速(在 50%油门时,飞机将以预设的巡航速度保持其当前高度)。俯仰用于爬升或下降。翻滚、俯仰和偏航是角度控制的(因此不可能实现飞机滚转或环绕)。 提示 位置模式对于新手是最安全的固定翼手动模式。 下图直观的显示了该模式(对于一个美国手的发射机)。
7.定高模式(固定翼) [易于飞行] [需要手动或遥控控制] [所需高度(例如巴罗、测距仪)] 高度飞行模式使用户更容易控制车辆高度,尤其是达到和保持固定高度。该模式不会试图抵抗风扰保持航向。 爬升/下沉率通过俯仰/升降舵杆操纵杆来控制。操纵杆一旦回中,自动驾驶仪就会锁定当前的高度,并在偏航/滚转和任何空速条件下保持高度。 油门通道输入控制空速。滚动和俯仰是角度控制的(因此不可能实现飞机滚转或环绕)。 当所有遥控输入都居中时(无滚动、俯仰、偏航,油门约 50%),飞机将恢复直线水平飞行(受风影响)并保持其当前高度。 下图直观的显示了该模式(对于一个美国手的发射机)。 7.1 技术总结 遥控/手动模式,如自稳模式,但具有高度稳定性(杆回中使飞机进入直线和水平飞行并保持当前高度)。但是飞行过程并不稳定,可能被风吹飘离。 回中的滚动/俯仰/偏航输入(在死区内): 自动驾驶仪使飞机/机翼水平并且维持高度。 如果空速传感器已连接,油门杆控制飞机速度。在没有空速传感器的情况下,用户无法控制油门(在这种情况下,飞机将在巡航油门下 (FW_THR_CRUISE) 水平飞行,根据需要增加或减少油门以上升或下降。 外部中心: 俯仰摇杆控制高度。 油门杆控制飞机的空速(如回中输入 横滚/俯仰/偏航)。 横滚摇杆控制横滚角度。自动驾驶仪将保持协调飞行。这和自稳模式一样。 偏航摇杆操纵会驱动方向舵(指令将被加到自动驾驶仪计算的指令中以维持协调飞行。这和自稳模式一样。 注解 需要手动输入(遥控器,或者通过 MAVLink 连接的游戏手柄/拇指摇杆)。 通常使用气压计测量高度,在极端天气条件下可能会变的不准确。带有激光雷达/距离传感器的飞机将能够以更高的可靠性和准确性控制高度。 7.2 参数 该模式受以下参数影响: FW_MAN_P_MAX 在高度稳定模式下手动控制的最大俯仰角。默认:45 度。 FW_MAN_R_MAX 在高度稳定模式下手动控制的最大滚转角。默认:45 度。
8.自稳模式(固定翼) [中等飞行难度] [需要手动或遥控控制] 当 RC 杆居中时,稳定模式使车辆进入直线和水平飞行,保持水平姿态迎风(但不包括车辆航向和高度)。 如果横滚/俯仰摇杆杆不为零,则无人机根据俯仰输入进行爬升/下降并执行协调的转弯。横滚和俯仰是角度控制的(不能上下滚动或翻滚)。 提示 稳定模式比手动模式更容易飞行,因为你不能翻滚或翻转它,而且通过对中控制杆很容易调平车辆。 如果油门降至 0%(电机停止),飞机将滑行。为了执行转弯,必须在整个操纵过程中保持命令,因为如果释放横滚摇杆,则飞机将停止转动并自行调平(对于俯仰和偏航命令也是如此)。 下图直观的显示了该模式(对于一个美国手发射机)。 8.1 技术描述 遥控/手动模式,横滚和俯仰摇杆回中使飞机改平。 摇杆回中会使飞机进入定直平飞。但是飞行航向和高度并不稳定,可能被风吹飘离。 如果滚转/俯仰杆输入非零,则飞机进行协调转弯(手动偏航输入被添加到方向舵控制输入以控制侧滑)。
9.特技模式(固定翼)
[很难飞] [需要手动或遥控控制]
杂技模式是用于执行杂技动作的 RC 模式,例如翻滚、翻转、失速和杂技动作。
侧倾、俯仰和偏航杆控制围绕各自轴的角旋转速率,油门直接传递至控制分配。当操纵杆居中时,飞机将停止旋转,但保持其当前朝向(在其侧面,倒置或任何其他方向)并根据当前动量移动。
9.1 技术描述
用于执行特技动作的遥控模式,例如滚动、翻转。
RPY 摇杆输入被转换为角速度命令,通过自动驾驶仪稳定。油门直接传递到电机输出。
9.2 参数
FW_ACRO_X_MAX 机体轴 x 轴最大速率(用户在 acro 模式下施加滚转轴满杆操纵时,控制器试图达到的机体轴 x 轴速率)默认:90 度
FW_ACRO_Y_MAX 机体轴 y 轴最大速率(用户在 acro 模式下施加俯仰轴满杆操纵时,控制器试图达到的机体轴 y 轴速率)默认:90 度
FW_ACRO_Z_MAX 机体轴 z 轴最大速率(用户在 acro 模式下施加偏航轴满杆操纵时,控制器试图达到的机体轴 z 轴速率)默认:45 度
10.手动模式(固定翼) [很难飞] [需要手动或遥控控制] 手动模式将摇杆输入直接发送至控制分配,以实现完全手动控制。 提示 这是最难飞行的模式,因为什么都不稳定。不同于特技模式,如果 RP(俯仰和横滚)摇杆居中,无人机不会自动停止绕轴转;飞手实际上必须移动摇杆向另一个方向施力。 注解 这是唯一忽略 FMU(命令通过安全协处理器发送)的飞行模式。该模式提供了一个安全机制,允许在 FMU 固件故障时通过遥控器完全控制油门,升降舵,副翼和方向舵。 10.1 技术描述 遥控模式,其中摇杆输入直接发送到混控(用于'完全'手动控制)。 这是唯一忽略主处理器(命令通过安全协处理器发送)的飞行模式。该模式提供了一个安全机制,允许在 FMU 固件故障时通过遥控器完全控制油门,升降舵,副翼和方向舵。 10.2 参数 FW_MAN_P_SC 手动俯仰控制比例。在完全手动模式下应用于所需俯仰舵机指令的比例因子。此参数允许调整控制舵偏的偏转。默认:1.0 FW_MAN_R_SC 手动滚转控制比例。在完全手动模式下应用于所需横滚舵机指令的比例因子。此参数允许调整控制舵偏的偏转。默认:1.0 FW_MAN_Y_SC 手动偏航控制比例。在完全手动模式下应用于所需偏航舵机指令的比例因子。此参数允许调整控制舵偏的偏转。默认:1.0
起飞模式 [需要定位(例如 GPS)] 起飞飞行模式使无人机起飞到指定高度并等待进一步指令。 注解 该模式需要一个良好的位置估计(如,从 GPS 中获取)。 使用此模式前必须先解锁。 This mode is automatic - no user intervention is required to control the vehicle. 遥控开关可以在任何无人机上更改飞行模式。 在多旋翼中移动遥控器摇杆(或 VTOL 在多旋翼模式下)默认情况下会将无人机切换到位置模式,除非是处理电池失效保护。 如果起飞时出现问题,故障检测器将自动停止电机。 下面描述每种类型飞机的具体行为。 1.多旋翼(MC) 多旋翼上升到 MIS_TAKEOFF_ALT 中定义的高度并保持位置。 遥控器摇杆移动会把无人机切换到位置模式(默认)。 起飞受以下参数影响: MIS_TAKEOFF_ALT 起飞期间的目标高度 (默认值:2.5 米) MPC_TKO_SPEED 上升速度 (默认值:1.5 m/s) COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动量来切换到位置模式。可以分别为自动模式和 offboard 模式启用此功能,默认情况下在自动模式下启用此功能。 COM_RC_STICK_OV 导致发射机切换到位置模式的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。 2.固定翼(FW) 飞机使用弹射器/手抛起飞模式或跑道起飞模式沿当前方向起飞。模式默认为弹射/手动起飞,但可以使用 RWTO_TKOFF 设置为跑道起飞。在这两种情况下,遥控操作都被忽略。 弹射/手抛起飞 在弹射器/手抛起飞模式下,车辆等待检测起飞(基于加速触发)。在起飞时,它在大约 2 秒内升到全油门(RWTO_MAX_THR),然后执行全油门爬升,最小起飞俯仰 10 度。 一旦它达到 FW_CLMBOUT_DIFF 它将过渡到保持模式和悬停。 除了上面讨论的行为之外,还有一个启动检测器可以阻止启动程序开始直到满足某些条件。对于弹射器发射,这是一些加速度阈值。 跑到起飞 跑道起飞模式有以下阶段: 加速滑行:在跑道上加速(俯仰固定,无侧倾,航向保持),直到达到起飞的最小空速(FW_AIRSPD_MIN x RWTO_AIRSPD_SCL)。 起飞:增加俯仰并继续,直到车辆高度>导航高度(RWTO_NAV_ALT)。 爬升:爬升至高于地面高度>FW_CLMBOUT_DIFF。在此阶段中,将移除滚转和航向限制。 固定翼起飞参数 起飞受以下参数影响:高于地平面(AGL)的高度,留有足够的离地间隙以允许一些滚转。在达到 RWTO_NAV_ALT 之前,飞机保持水平,并且仅使用方向舵来保持航向(参见 RWTO_HDG)。 起飞时,无人机总是遵循正常的固定翼最大/最小油门设置(FW_THR_MIN,FW_THR_MAX)。 垂直起降(VTOL) VTOL 在启动时默认为多旋翼模式,通常可以在多旋翼模式下起飞(而且也更安全)。 也就是说,如果在起飞前切换到固定翼,将以固定翼模式起飞。
着陆模式 [需要定位估计(例如 GPS)] 使无人机降落在开启此模式时的位置。降落后,无人机将会在一小段时间后上锁(默认情况下)。 注解 该模式需要有效的位置估计,除非由于失效保护进入该模式,这种情况下仅需要高度估计(通常飞控内置一个气压计)。 此模式为自动模式 - 无需用户干预即可控制飞机。 遥控器开关可以用于更改任何无人机的飞行模式。 在多旋翼中移动遥控器摇杆(或 VTOL 在多旋翼模式下)默认情况下会将无人机切换到位置模式,除非是处理电池失效保护。 下面描述每种类型飞机的具体行为。 1.多旋翼(MC) 无人机将降落在模式所指定的位置。无人机以 MPC_LAND_SPEED 指定的速度下降,降落后会上锁(默认)。 遥控器摇杆移动会把无人机切换到位置模式(默认)。 着陆受以下参数影响: MPC LAND_SPEED 着陆过程中的下降速率。鉴于地面情况未知,这个值应该设得相当小。 COM_DISARM_LAND 降落后自动上锁的超时时间,以秒为单位。如果设定为 -1,无人机将不会在着陆时上锁。 COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动是否将控制权交给位置模式下的飞手。可以分别为自动模式和 offboard 模式启用此功能,默认情况下在自动模式下启用此功能。 COM_RC_STICK_OV 导致发射机切换到位置模式的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。 2.固定翼(FW) 无人机将转弯并降落在该模式指定的位置。遥控器摇杆操作被忽略。 通常固定翼无人机会遵循固定的着陆轨迹到地面(它不会尝试拉平着陆)。这是因为在着陆模式下,飞机可能不知道地面高度并且将假设它处于海平面。由于地面高度可能会高得多,因此飞机通常会在高于拉平辑逻辑的高度处到达地面。 着陆受以下参数影响 COM_DISARM_LAND 降落后自动上锁的超时时间,以秒为单位。如果设定为 -1,无人机将不会在着陆时上锁。 垂直起降(VTOL) 当处于固定翼模式时,VTOL 遵循 LAND 行为和固定翼的参数,而当处于多旋翼模式时,VTOL 遵循多旋翼的参数。当设置 NAV_FORCE_VT(默认:开)时,固定翼模式下的 VTOL 将在着陆前切换回多旋翼模式。
返航模式 [需要定位(例如 GPS)] 返航飞行模式用于将车辆在无障碍的路径上安全飞行至安全目的地,在那里可以等待(悬停或盘旋)或降落。 PX4 提供了几种机制来选择安全的返航路径,以下章节解释了如何配置返航类型,返航高度和降落/抵达行为。最后有章节解释了每种机型的默认(预配置)行为。 注解 该模式需要 GPS。 遥控开关可以在任何无人机上更改飞行模式。 在多旋翼中移动遥控器摇杆(或 VTOL 在多旋翼模式下)默认情况下会将无人机切换到位置模式,除非是处理电池失效保护。 1.返航类型(RTL_TYPE) PX4 提供了四种替代方法(RTL_TYPE),用于找到通向安全目的地和/或着陆的畅通路径: 返航到起始位置/集结点(RTL_TYPE=0): 上升到安全高度并直接路径返回到最近的集结点或起始地点。 任务着陆/集结点返回(RTL_TYPE=1):上升到安全高度,直接飞到离家最近的目的地:集结点或任务着陆开始。如果未定义任务着陆点或集结点,则直接返回起始位置。 任务路径返航(RTL_TYPE=2):使用任务模式的路径并沿原路径返回。如果未定义任务降落,则将快速回退到任务起始位置。如果未定义任务,直接返航到起始位置(集结点将被忽略)。 最近的安全目的地返航(RTL_TYPE = 3):上升到安全高度并通过直接路径返回最近的起始位置,任务着陆点的开始位置或集结点。 以下各节提供了每种类型的更详细说明。 2.起始位置/集结点返航类型(RTL_TYPE=0) 无人机在该返航类型中: 爬升到一个安全的返航高度(高于任何可预期的障碍物)。 通过直接路径飞往起始位置或集结点(以最近者为准)。 降落或等待处于下降高度(取决于着陆参数)。 注解 如果未定义集结点,这与返回起飞点(RTL)/返回原点(RTH)相同。 3.任务着陆/集结点返航类型 (RTL_TYPE=1) 无人机在该返航类型中: 爬升到一个安全的返航高度(高于任何可预期的障碍物)。 直接飞行到一个集结点或任务着陆模式的起点(以最近者为准)。如果未定义任务降落或集结点,无人机通过直接路径返回到起始位置。 如果目的地是飞行任务着陆模式,则按照该模式降落。 如果目的地是集结点或者起始位置,无人机将在降落高度(取决于着陆参数)降落或等待。
保持模式 [需要定位(例如 GPS)] 等待飞行模式(也称为'悬停')使车辆停止并保持其当前的 GPS 位置和高度(MC 车辆将在 GPS 位置悬停,而 FW 车辆将在其周围盘旋)。 提示 保持模式可用于暂停任务或帮助您在紧急情况下重新控制车辆。它通常通过预编程开关激活。 注解 该模式需要 GPS。 此模式为自动模式 - 无需用户干预即可控制车辆。 遥控开关可以在任何无人机上更改飞行模式。 在多旋翼中移动遥控器摇杆(或 VTOL 在多旋翼模式下)默认情况下会将无人机切换到位置模式,除非是处理电池失效保护。 下面描述每种类型飞机的具体行为。 1.多旋翼(MC) 多旋翼无人机悬停在当前位置和高度。 遥控器摇杆移动会将无人机切换到位置模式(默认)。 可以使用以下参数配置此动作。 MIS_LTRMIN_ALT 留待模式的最小高度(如果模式在较低的高度进行,则飞行器将上升到此高度)。 COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动量来切换到位置模式。可以分别为自动模式和 offboard 模式启用此功能,默认情况下在自动模式下启用此功能。 COM_RC_STICK_OV 导致发射机切换到位置模式的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。 2.固定翼(FW) 飞机在当前高度并在 GPS 保持的位置绕圈飞行。如果在低于这个高度使用该模式,无人机会首先上升 MIS_LTRMIN_ALT。 遥控器摇杆操作被忽略。 可以使用以下参数配置此动作。 NAV_LOITER_RAD 留待圈的半径。 MIS_LTRMIN_ALT 留待模式的最小高度(如果模式在较低的高度进行,则飞行器将上升到此高度)。 3.垂直起降(VTOL) 当处于固定翼模式时,VTOL 遵循固定翼的参数,而当处于多旋翼模式时,VTOL 遵循多旋翼的参数。
任务模式 [需要定位(例如 GPS)] 任务模式使车辆执行已上传至飞行控制器的预定义自主任务(飞行计划)。任务通常由地面控制站(GCS)应用程序(如 QGroundControl)创建并上传 注解 此模式需要 3d 位置信息(如 GPS)。 使用此模式前必须先解锁。 遥控器开关可以用于更改任何无人机的飞行模式。 在多旋翼中移动遥控器摇杆(或 VTOL 在多旋翼模式下)默认情况下会将无人机切换到位置模式,除非是处理电池失效保护。 参数描述 任务通常在地面控制站规划,并在启动前上传。它们也可以由开发者 API 创建,和/或在飞行中上传。个别任务指令的处理方式取决于每种飞行器的飞行特性(例如,直升机的悬停飞行和固定翼的盘旋飞行)。VTOL 飞机在固定翼模式下遵循固定翼的行为和参数,在多旋翼模式下遵循旋翼机的行为和参数。 注解 任务上传到 SD 卡上,需要在启动自动驾驶仪之前插入 SD 卡。 在高级别上,所有无人机类型在使用 MISSION 模式时表现相同: 如果任务被开始并且无人机正在飞行,则它将从当前步骤执行任务/飞行计划。 如果开始了任务,并且无人机在地面: 多旋翼无人机将执行任务/飞行计划。如果任务没有 TAKEOFF 命令,则在从当前步骤执行飞行计划的剩余部分之前,无人机将飞行到最小高度。 在固定翼飞行器上,无人机不会自动起飞(自动驾驶仪将检测运动并将油门设置为零)。如果在任务模式下手动或弹射发射,飞机可以开始执行任务。 如果停止任务,或者无人机已完成所有任务并且无人机正在飞行,飞机将会留待。 可以通过激活 HOLD 模式暂停任务。当您重新激活 MISSION 飞行模式时,任务将从当前任务命令继续执行。在任务模式下飞行时,如果决定中止任务,并且切换到了其他飞行模式,如位置模式,通过遥控器讲无人机飞到了其他地方,然后切换回任务模式,无人机将从当前位置继续执行任务,并会飞往下一个未访问的任务航点。 注意 在切换到其他遥控器模式之前,确保油门摇杆不为零(否则无人机将坠毁)。我们建议您在切换到任何其他模式之前将摇杆置中。 有关任务规划的更多信息,请参阅: 任务参数 任务行为受许多参数的影响。下面列出了一个很小的子集。 NAV_RCL_ACT 遥控信号丢失失效保护模式(如果断开遥控无人机会怎样)- 例如进入保持模式,返航模式,终止等。 NAV_LOITER_RAD 固定翼悬停半径。 COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动是否将控制权交给位置模式下的飞手。可以分别为自动模式和 offboard 模式启用此功能,默认情况下在自动模式下启用此功能。 COM_RC_STICK_OV 导致发射机切换到位置模式的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。 注意: 对于任务命令,PX4 不支持本地坐标系(例如,MAV_FRAME_LOCAL_NED)
跟随模式
[需要定位(例如 GPS)]
跟随模式允许多旋翼机自主保持相对于另一个系统的位置和高度,该系统使用 Follow_TARGET 广播其位置(可选速度)MAVLink 消息。
跟随的概念
根据高度控制模式,车辆将从指定的相对角度、距离、高度和高度自动偏转到目标面并跟随目标。
默认情况下,它将直接从目标后面跟随,距离为 8 米,高度为起始(待命)位置上方 8 米。
用户可以使用如上所示的遥控器调整跟随角度、高度和距离:
跟随高度由上下输入('油门')控制。将棍子居中,以恒定的高度跟踪目标。升高或降低摇杆以调整高度。
跟随距离由前后输入('俯仰')控制。向前推操纵杆会增加跟随距离,向后拉则会减少距离。
跟随角度由左右输入('滚动')控制。移动是从用户的角度出发的,所以如果你面对无人机并向左移动棍子,它就会向你的左边移动。从上方看,如果向左移动操纵杆,无人机将逆时针移动。
跟随角度定义为相对于目标航向(0 度)沿顺时针方向增加
跟随角度图
注解
退出跟随模式时,将放弃使用 RC 控制器设置的角度、高度和距离值。如果退出跟随模式并再次激活,则值将重置为默认值。
在带有 GPS 模块和 MAVSDK 的 Android 设备上,QGroundControl 支持跟随模式。
注解
此模式需要 GPS。
此模式目前仅在多旋翼上受支持。
跟踪目标还必须能够提供位置信息。
QGroundControl 仅在具有 GPS 的 Android 设备上支持此模式。
1.安全须知
注意
跟车模式不实施任何类型的障碍物回避。使用此模式时必须特别小心。
应遵守以下飞行预防措施:
跟我走模式只能在没有树木、电线、房屋等遮挡的开阔区域使用。
将跟随高度设置为远高于任何周围障碍物的值。默认情况下,该位置高于原始(待命)位置 8 米。
在启用跟我模式之前手动飞到安全高度比在着陆时启用跟我方式更安全(即使该模式实现自动起飞)。
为无人机留出足够的制动空间,尤其是在无人机快速行驶时。
如果出现问题,准备切换回位置模式,特别是第一次使用跟随模式时。
您不能使用摇杆移动来关闭跟随我模式(因为这将调整属性)。您需要有一个可以发送飞行模式开关信号的地面站,或者在 RC 发射机中配置一个飞行模式开关。
2.通过 QGroundControl 使用跟随模式
使用 QGroundControl 作为具有 GPS 模块的地面站硬件上的目标,支持跟随模式。推荐的配置是一个能使用 USB OTG 的安卓设备,配备两个数传。
设置跟随模式:
将遥测无线电连接到地面站设备,将另一个连接到车辆(这允许在两个无线电之间中继定位信息)。
禁用 Android 设备上的睡眠模式:
此设置通常可以在'设置'>'显示'下找到。
禁用 Android 设备上的睡眠模式很重要,因为这可能会导致 GPS 信号停止定期发射。
起飞高度至少为 2-3 米(即使支持自动起飞,也建议如此)。
将无人机放在地面上,按下安全开关并后退至少 10 米。
解锁车辆并起飞。
切换到跟随我模式。
根据距离传感器的存在,直升机将首先上升到离地面或家 1 米的最低安全高度。
在水平移动之前,它将一直上升到跟随高度 3 米以内,以避免潜在的碰撞。
飞机会一直调整航向以面对目标
此时,你可以开始移动,无人机将跟踪你。
3.通过 MAVSDK 使用跟随模式
MAVSDK 支持跟随模式,允许您创建一个无人机应用程序,该应用程序设置跟随的目标。
有关更多信息,请参见'跟随我'类(打开新窗口)文档以及'跟随我'示例(打开新窗口)。
配置高度控制模式
高度控制模式确定车辆高度是否相对于原位置、地形高度或跟随目标报告的高度。
2D 跟踪(默认高度模式)使无人机在相对于固定起始位置(起飞高度)的高度跟随。无人机到目标的相对距离将随着你的上升和下降而改变(在丘陵地形中小心使用)。
2D+地形使用来自距离传感器的信息,使无人机以相对于其下方地形的固定高度跟随。如果车辆没有距离传感器,跟踪将与 2D 跟踪相同。距离传感器并不总是准确的,在这种模式下飞行时,车辆可能会'跳跃'。请注意,该高度相对于车辆下方的地面,而不是跟随目标。无人机可能无法跟踪目标的高度变化!
3D 跟踪模式使无人机在其 GPS 传感器提供的相对于跟踪目标的高度上跟踪。这会适应目标高度的变化,例如当你上山时。
注意
当使用 QGC for Android 时,在未检查 FOLLOW_TARGET.altitude 是 AMSL 高度的情况下,请勿将高度模式(FLW_TGT_ALT_M)设置为 3D 跟踪.MAVLink 跟踪目标消息定义期望相对于平均海平面(AMSL)的高度,而 Android 上的 QGC 正在发送相对于 GPS 椭球的高度。这可以相差 200 米!
由于内置的最低安全高度限制(1 米),无人机可能不会坠毁,但它可能会飞得比预期高很多。如果无人机的高度与规定的高度相差很大,假设地面站的高度输出错误,请使用 2D 跟踪。
4.参数
可以使用以下参数配置跟随我的行为:
FLW_TGT_HT 跟随高度,单位为米。请注意,此高度相对于起始/待命位置(而非目标车辆)是固定的。默认和最小高度为 8 米(约 26 英尺)
FLW_TGT_DST 水平(x,y)平面内的无人机/地面站间距,单位为米。最小允许间距为 1 米。默认距离为 8 米(约 26 英尺)。
FLW_TGT_FA 相对于目标航向的跟随角度,单位为度。如果输入的值超出范围 [-180.0,+180.0],则会自动转换并应用(例如 480.0 将转换为 120.0)
FLW_TGT_ALT_M 高度控制模式。
0=二维跟踪(高度固定)
1=2D 跟踪 + 地形跟踪
2=目标 GPS 高度的 3D 跟踪警告:请勿与 Android 的 QGC 一起使用。
FLW_TGT_MAX_VEL 围绕目标的轨道运动的最大相对速度,单位为 m/s。
10 米/秒已被证明是最佳点。
FLW_TGT_RS 过滤传入目标位置的动态过滤算法响应性。
0.0=对运动和位置、速度和加速度的噪声估计非常敏感。
1.0=非常稳定但没有响应的滤波器
5.提示和技巧
将跟随距离设置为 12 米以上('建议最小距离'为 8 米)。
目标和无人机的 GPS 传感器之间存在固有的位置偏差(3~5 米),这使得无人机在接近实际目标的地方跟踪'幽灵目标'。当跟车距离很小时,这一点更为明显。我们建议将跟随距离设置得足够大,以使 GPS 偏差不显著。
使用 RC 调整高度、距离和角度,您可以获得一些创造性的相机镜头。
已知的问题
已知 SiK 915 兆赫数传会干扰某些安卓设备的全球定位系统信号接收。保持数传和安卓设备之间尽可能远的距离,避免使用跟随模式时受到干扰。
QGC for Android 报告了错误的海拔高度(高于椭球面而非 AMSL 的海拔高度)。跟随高度可以偏离 200 米!
Offboard 模式 [需要定位修复(例如 GPS)] 飞机遵守 MAVLink 提供的位置,速度或姿态设定值。设定值可以由机载计算机上运行的 MAVLink API(例如 MAVSDK 或 MAVROS)提供(通常通过串口或 wifi 连接)。 提示 并非所有设置点消息和车辆都支持 MAVLink 允许的所有坐标系和值。仔细阅读以下章节,确保只使用支持的值。还请注意,在进入模式之前以及模式运行期间,必须以>2Hz 的频率流发布定值。 注解 此模式需要位置或位/姿信息 - 例如 GPS、光流、视觉惯性里程计、mocap 等。 除了更改模式外,禁止遥控器控制。 使用此模式前必须先解锁。 在启用此模式之前,车辆必须已经接收到目标设定点流(>2Hz)。 如果未以>2Hz 的速率接收到目标设定值,则无人机将退出模式。 不支持 MAVLink 允许的所有坐标系和字段值。:: 1.描述 Offboard 模式主要用于控制飞机运动和姿态,目前仅支持 MAVLink 消息的一个有限子集(未来将支持更多)。 其他操作,如起飞、降落、返航,最好使用适当的模式来处理。像上传、下载任务这样的操作可以在任何模式下执行。 在进入该模式之前,无人机必须收到设定值数据流,并且保持在该模式下(如果消息速率降至 2Hz 以下,无人机将停止)。为了在此模式下保持位置,必须向无人机提供一个包含当前位置设定值的数据流。 Offboard 模式需要主动连接到远程 MAVLink 系统(例如机载计算机或 GCS)。如果连接丢失,在超时 (COM_OF_LOSS_T) 后,无人机将尝试降落或执行其他故障失效保护操作。该动作定义在参数 COM_OBL_ACT 和 COM_OBL_RC_ACT 中。 2.支持的消息 3.多旋翼/垂直起降 SET_POSITION_TARGET_LOCAL_NED 支持以下输入组合: 位置设置值(仅 x,y,z) 速度设置值 (仅 vx, vy, vz) 加速度设定值(仅 afx,afy,afz) PX4 支持以下 coordinate_frame 值 MAV_FRAME_LOCAL_NED MAV_FRAME_BODY_NED SET_POSITION_TARGET_GLOBAL_INT 支持以下输入组合: 位置设定值(仅 lat_int,lon_int,alt) Velocity setpoint (only vx, vy, vz) Thrust setpoint (only afx, afy, afz) 注解 PX4 支持以下 coordinate_frame 值 (仅限): MAV_FRAME_GLOBAL SET_ATTITUDE_TARGET 支持以下输入组合: 带有推力设定值(SET_ATTITUDE_TARGET.thrust)的姿态和方向(SET_ATTITUDE_TARGET.q)。 带有推力设定值(SET_ATTITUDE_TARGET.thrust)的机身速率(SET_ATTITUDE_TARGET.body_roll_rate,.body_pitch_rate,.body_yaw_rate)。 4.Offboard 参数 COM_OF_LOSS_T 丢失 Offboard 连接时的等待超时时间(以秒为单位),然后将触发 offboard 丢失的失效保护措施 (COM_OBL_ACT 和 COM_OBL_RC_ACT) COM_OBL_ACT 当未连接到 RC 时,如果失去 offboard 控制,则切换到的模式(值为 -0:着陆,1:保持,2:返回)。 COM_OBL_RC_ACT 当仍连接到 RC 控制时,如果失去 offboard 控制,则切换到的模式(值为 -0:位置,1:高度,2:手动,3:返回,4:降落)。 COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的摇杆移动量来切换到位置模式。默认情况下未启用此功能。 COM_RC_STICK_OV 导致发射机切换到位置模式的摇杆移动量(如果 COM_RC_OVERRIDE 已启用)。
PX4 1.10 以上固件 QGC
将飞控链接地面站,在下图页面点击'刷新',即可看到保存的日志(前提是要有 TF 卡) 选择需要下载的日志,点击右侧的'下载',然后选择目录即可进行下载,如果想擦除所有的日志,可以点击右侧的'擦除全部'
ubuntu 下先安装 pyulog
pip install pyulog
然后重启电脑
PX4 的日志是二进制的 ulog 文件,如果想转换成 CSV 文件在 matlab 里绘图,可以在需要转化的 ulog 文件目录下
执行
ulog2csv XXX.ulog
会自动在当前目录下生成一系列 csv 文件
将 csv 文件拖到 matlab 界面中,会弹出下面的页面,点击导入
会提示导入到工作区,这时可以调用画线函数 plot 进行划线
调用
plot(log520201010105015sensormag0.timestamp,log520201010105015sensormag0.x)
可以得到一条线
如果要在同一个页面画多条线,可以用 hold on
plot(log520201010105015sensormag0.timestamp,log520201010105015sensormag0.x) hold on plot(log520201010105015sensormag0.timestamp,log520201010105015sensormag0.y) 得到下图 给曲线添加注释可以通过
legend('UAV1','UAV2','UAV3','UAV4','UAV5');
下载下面两个软件,地址 链接:https://pan.baidu.com/s/14mN28Fn0IlSA4vDu_dATKA 提取码:yi3g 复制这段内容后打开百度网盘手机 App,操作更方便哦 先安装 jdk,然后就可以双击打开 flightplot 软件 点击打开日志 选择日志 这个时候不会显示数据曲线 点击下图选项 选择需要显示的数据 以 x 位置为例 选择 Simple 类型 即可看到曲线 如果要把四元数转成欧拉角显示 先同时选中四个四元数,按住 ctl 即可多选 然后点击 add 选择从四元数到欧拉角 点击 ok 即可
参考视屏 https://www.bilibili.com/video/BV1mi4y1s7q6
第一步:
git clone --recursive https://github.com/PX4/FlightPlot.git
第二步:
sudo apt-get install openjdk-8-jdk
第三步:
flightplot 需要用 java8,而 ubuntu18.04 默认是 java11,需要更换
sudo update-alternatives --config java
出现如下页面,如果不是 java-8。输入 2,回车,配置成 java-8
重启电脑
安装 flightplot
cd FlightPlot ant gen_deb sudo dpkg -i out/production/FlightPlot.deb
注意在上面配置成 java-8 之后如果没有重启电脑,会导致安装的 flightplot 不能显示日志的信息,如下
此时需要重启电脑清除重新安装
ant clean
再执行安装 flightplot 步骤
安装完成后可以添加到收藏夹
下载地址 https://github.com/facontidavide/PlotJuggler ubuntu 下下载 appimage 文件然后添加一下可执行权限,然后双击打开即可. 点击下图图标打开日志文件 如下图 打开后如下图所示,选中需要显示的数据,如果想在一幅图中显示多个数据,则按住 Ctrl 再同时选中多个数据.然后鼠标左键将选中的数据拖到右边的显示矿中,数据就可以显示. 如下图 如果要在该图右侧分出一栏,则鼠标右键该图,点击如下选项 如下图 如果要在该图下侧分出一栏,则鼠标右键该图,点击如下选项 如下图 如果要删除某一副图,则点击该图右上角×号即可 如果想放大图中的某些部分,则鼠标左键长按框选相应区域即可,如下图
搜索参数 SDLOG_MODE 如果要上电后就开始记录日志,需要设置成 from boot until shutdown
固件版本 1.11 一、将要观察的数据声明成 uORB 消息,并发布。我这里随便添加了一个 在 logged_topics.cpp 里的 add_default_topics 函数里加上一行 add_topic("fanbu",100);或者 add_topic("fanbu");双引号里的就是 uORB 的消息 ID. 在需要的地方发布 uORB 消息,即可自动的记录到日志里,发布时必须赋值时间戳 在 flightplot 里搜索自己添加的消息,然后添加显示
PX4 1.13 以上版本
PX4 所有参数都在 firmware-build/src/lib/parameters/px4_parameters.h 文件里 注意,修改某些参数可能使飞机不稳定,本文仅供交流学习,不负相关责任。具体修改时请自行权衡。
解锁检查参数的主要作用是设置飞控解锁的条件。常用的有以下几个。 根据具体的报错进行排查,常见的报错及解决办法如下:
出现这个报错是因为使能了刹车开关 解决方法:将刹车开关拨到未使能状态。 或者关掉刹车开关,下图设置为 unassigned,
如果出现下面的报错 ● 或者出现 check battery 错误 这个参数是检查解锁时是否有电池供电,默认是需要插电流计供电才可以解锁。如果想通过其他方式(如 ESC 供电)给飞控供电进行解锁,则需要设置该参数为 894281。
这个参数是检查起飞时是否有 USB 连接,默认情况下有 USB 连接时是无法解锁的,如果需要插 USB 解锁,需要设置为 197848
默认情况下安全开关是慢闪状态,设置该参数蔚 22027 时,上电后安全开关自动切换为双闪。
如果报错加速度偏移过大,high Accelerometer bios 可以把 com_arm_ekf_ab 这个参数调大一些,在 1.13 以后版本的固件中,把 EKF2_ABL_LIM 调大。
同理可以通过改下面这个参数把陀螺仪的起飞检查阈值该大一些,com_arm_ekf_gb
如果报罗盘某个度数没包含的错误,COM_ARM_MAG_ANG 设为 -1
如果 GPS 搜星少,长时间没有进入 GPS 定位,可以把下面 EKF2_GPS_CHECK 改成 0
把下面这个 COM_ARM_IMU_ACC 改大一些,图中以加速度计为例,如果陀螺仪出现类似报错也是修改相应的参数
解决办法是校准陀螺仪
当来自不同 IMU 单元的加速度测量值不一致时,会产生此错误消息。 此检查仅适用于具有多个 IMU 的板。 解决办法 将 COM_ARM_IMU_ACC 参数改大 (可能要超限强制保存)。 同理
检查 COM_ARM_IMU_GYR 参数
如果水平 GPS 速度、偏航角、垂直 GPS 速度或者垂直位置传感器(气压计默认情况下可以使测距仪或 GPS,如果使用非标准参数)其中之一新息过多,会产生此错误消息。新息指的是惯性导航计算预测值与传感器测量值之间的差异。 用户应检查日志文件中新息级别以确定原因。这些可以在 ekf2_innovations 消息下找到。常见问题 / 解决方案包括: IMU 启动时漂移。可以通过重启自驾仪来解决。可能需要 IMU 加速度计和陀螺仪校准。 相邻磁干扰在飞行器运动中。通过等待或者重新上电解决。 磁力计校准不良在飞行器运动中。。通过重新校准解决。 启动时的初始冲击或快速移动导致惯性导航失败。通过重新启动飞行器并在前 5 秒内最大限度地减少移动来解决此问题。
当使用陀螺仪数据估计的偏航角和来自磁力计或外部视觉系统的偏航角不一致时,产生该误差。 检查 IMU 数据是否存在较大的偏航率漂移,并检查磁力计的对准和校准。 可以修改 COM_ARM_EKF_YAW 关闭此检查
当 IMU 和位置测量数据(GPS 或外部视觉)不一致时会产生此问题。 检查位置传感器数据是否存在不真实的数据跳转。如果数据质量看起来不错,请执行加速度计和陀螺仪校准并重新启动飞行器。 可以通过 COM_ARM_EKF_POS 参数禁用
当 IMU 和 GPS 速度测量数据不一致时会产生此错误。 检查 GPS 速度数据是否存在不真实的数据跳转。如果 GPS 质量看起来没有问题,请执行加速度计和陀螺仪校准并重新启动飞行器。 可以通过 COM_ARM_EKF_VEL 参数禁用
当 IMU 和高度测量数据不一致时会产生此错误。 执行加速度计和陀螺仪校准并重新启动飞行器。如果错误仍然存在,请检查高度传感器数据是否存在问题。 可以通过 COM_ARM_EKF_HGT 参数禁用
如果报错 yaw estimate error,则把下面参数改大 COM_ARM_EKF_YAW
COM_CPU_MAX 该参数设置为 -1 将禁用 CPU 利用率检查,如果改参数大于 0,当飞控 CPU 利用率大于该值或者检测不到 CPU 信息时,将不能解锁,报下面的错: Fail: No CPU load information 或者 Fail: CPU load too high:
如果报错: Crash dumps present on SD,vehicle needs service 将 COM_ARM_HFLT_CHECK 改为 Disabled
参考第二节禁用电源检查
检查是否关闭避障
在地面站的安全设置中,低电量保护有如下三种动作,警告(只发出警告,不执行任何动作),降落(在电量低于故障保护水平时,直接降落),在临界水平时返航,在紧急水平时降落(在电量低于故障保护水平时返航,在电量低于紧急水平时降落)
在遥控信号丢失超过超时时间后,会出发遥控器丢失保护,可以设置为不使能,返航,降落等模式
地理围栏是指以无人机设置围栏时的位置为圆心,设置的最大半径和最大高度为半径和高度的一个圆柱体范围,如果无人机飞行过程超出了这个范围,就会出发相应的故障保护动作,有不使能,警告,保持,返航,停止等动作。如果设置了相应的动作,那么无人机必须需要在有 GPS 信号的时候才能解锁
与地面站或者板卡的 mavlink 数据丢失时间超过设置的超时时间,会触发该保护,保护动作有:保持、返航、降落等
下图可以设置返航后爬升的高度,无人机在返航时,先原地爬升到设置的返航高度,再飞回起飞点,返回起飞点上空后根据设置,可以选择立即着陆、留待但不着陆,留待一定的时间后着陆
设置着陆时的下降速率,以及着陆后几秒加锁电机
NAV_ACC_RAD
此参数设置判断到达航点的置信半径
故障保护检查,以防止在新的起飞位置执行先前飞行中存储的飞行任务。将值设置为零或更小以禁用。如果当前航路点距离起始位置的距离大于 MIS_DIST_1WP,则不会启动任务。
MIS_DIST_1WP
故障保护检查,以防止运行路径太远的任务。将值设置为零或更小以禁用。如果两个后续航路点之间的任何距离大于 MIS_DIST_WPS,任务将不会开始
MIS_DIST_WPS
这是系统将始终遵守的最小高度值。其目的是避开地面效应。如果不应该有最小悬停高度,则将其设为 -1
MIS_LTRMIN_ALT
如果启用,偏航命令将发送到机体,载具将沿着其飞行方向前进。如果禁用,载具机头将转向感兴趣区域(ROI),(仅影响多翼机和感兴趣区域(ROI)任务项)
MIS_MNT_YAW_CTL
这是起飞模式下系统将起飞到的最小高度。
MIS_TAKEOFF_ALT
如果设置,任务可行性检查器将检查任务中是否有起飞点。
MIS_TAKEOFF_REQ
MIS_YAW_ERR
指定自动模式下的偏航航向,有指向航点、指向 home 点、远离 home 点、沿轨迹、指向航点(偏航优先)五种
MPC_YAW_MODE
默认航点的置信半径,如果设置,如果航点中也设置了置信半径,则将被航路中的置信半径覆盖。对于固定翼,L1 转弯距离被用于水平置信半径。
NAV_ACC_RAD
固定翼着陆前最后一个航路点的高度置信半径。这通常小于标准垂直置信半径,因为靠近地面需要更高的精度。
NAV_FW_ALTL_RAD
固定飞行高度的置信半径。
NAV_FW_ALT_RAD
任务、保持模式、返航模式等的盘旋半径默认值(仅限固定翼)。
NAV_LOITER_RAD
如果想让无人机在室内通过视觉进行定位,需要修改两个参数,
一个是 EKF2_AID_MASK,改成 24,位置和航向用视觉的数据。如下:
另一个是 EKF2_HGT_MODE,改成 Vison,如下:
无人机在室外,位置数据来源为 GPS,且 GPS 正常,但长时间无法进定点 确认 EKF2_AID_MASK 为 1, 修改 EKF2_GPS_CHECK 为 0,然后重启飞控
CBRK_BUZZER改为 782097
SYS_MC_EST_GROUP,该参数可以指定飞控状态估计的算法,有单四元数互补滤波,四元数互补滤波加 LPE,EKF2,默认采用 EKF2,使用 ekf2 所需的最低传感器配置为加速度计、陀螺仪、磁力计、气压计。如果缺少任意一个,则 EKF2 无法运行,如果缺少磁力计和气压计,可以使用四元数互补滤波进行姿态解算,如果有位置传感器(如 GPS),可以采用四元数互补滤波加 LPE 进行位姿估计。
如果报 Disarmed by auto preflight disarming
将 COM_DISARM_PRFLT 禁用或改大一点
将此参数设置为 162128 将禁用空速传感器检查。
CBRK_AIRSPD_CHK
将此参数设置为 284953 将禁用发动机故障检测
CBRK_ENGINEFAIL
将此参数设置为 159753 将允许 VTOL 在固定翼模式下解锁
CBRK_VTOLARMING
需要检测到所有电调才能解锁,此参数只正对可以返回状态的电调。正常电调配置不受此参数更改的影响。
COM_ARM_CHK_ESCS
启用/禁用 DShot 电调。不同的模式定义不同的速度,例如 DShot150=150kb/s。并非所有 ESC 都支持所有模式。注:这将启用 FMU 输出上的 DShot。对于带有 IO 的飞控板,需要禁用 IO,将 DShot 电调接到 FMU 通道
DSHOT_CONFIG
DShot 的最小输出值(以百分比为单位)。该值取决于电调。确保将其设置得足够高,以便电机在怠速时始终旋转
DSHOT_MIN
配置要在哪个串行端口上运行主 GPS。
GPS_1_CONFIG
选择 GPS 协议(基于串口的数据协议)。选择自动检测将探测所有协议,因此速度较慢。
GPS_1_PROTOCOL
配置要在哪个串口上运行 MAVLink
MAV_0_CONFIG
配置 MAVLink 流的最大发送速率(字节/秒)。如果配置的数据流超过最大速率,则会自动降低每个数据流的发送速率。如果该值设置为 0,则为理论值最大速率的一半。这对应于波特率/20(字节/秒)(波特率/10=8N1 配置链路上的最大数据速率)
MAV_0_RATE
成功起飞后的模式转换。
COM_TAKEOFF_ACT
ekf2_hgt_mode
SDLOG_MODE
如果要上电后就开始记录日志,需要设置成从 boot 到 shutdown
COM_DISARM_LAND
这个参数设置在地面解锁无人机后不打油门自动加锁的时间 -1 表示不自动加锁
可以将下面的参数设置成 Enabled
多旋翼位置控制模式
先找一架正常能飞的无人机连接地面站 在参数页面右上角点击工具->保存到文件 保存的时候文件名注明参数的相关信息 然后将需要加载参数的无人机连接至地面站,注意需要加载参数的无人机必须和保存的参数脚本的固件版本、机架类型,飞控硬件等信息一致,否则可能炸机。 如果固件版本不一致,就先刷一下相应的固件,再加载参数,固件一致后,点击重置参数为固件的默认值 然后点击从文件载入 选择需要导入的参数文件 导入正常的话地面站上面所有的参数都是正常的,没有红色的提示 这个时候可以不用校准传感器,但是需要校准电调,如果用的遥控器和导入参数脚本所用的无人机的不一致,则需要校准遥控器。
(1)随便找一个定义参数的文件,我这里以 mc_att_control_params.c 为例
仿造其他的参数定义,添加一行 PARAM_DEFINE_INT32(SYS_MC_CTL_GROUP, 0);
(2)在 DEFINE_PARAMETERS 里添加下面这条语句定义
(ParamIntpx4::params::SYS_MC_CTL_GROUP)_param_mc_roll_p1
(3)在 Firmware 路径执行 make parameters_metadata
(4)然后编译固件下载到飞控
连接地面站,刷新参数就可以找到添加的参数
注意一点我这里是在 mc_att_control_params 里定义的,所以用到这个参数的线程必须执行,才会显示这个参数,也就是 mc_att_control start 要执行。
可以在启动脚本或者程序里使用自定义的参数
可以仿造 SYS_MC_EST_GROUP 来写
仿写如下:
if param compare SYS_MC_CTL_GROUP 0 then a start else b start fi
PX4 1.13 及以上版本 日志分析软件:flight review https://logs.px4.io/
产生震动的原因: 1,桨叶损坏、动平衡差 2,电机桨座不垂直,电机动平衡差 3,机架刚性不足 4,部件松动 降低震动的方法: 软件滤波:调低通滤波或者陷波滤波器参数 硬件减震:调减震球的软度或者加配重 调参时可以用自稳模式飞行 在调滤波器参数之前,可以先大致调一下 PID 的参数,角度率环的 P 和 D 不要设置的太高,能飞并且没有明显超调和振荡就可以 通常默认 PID 参数就可以 建议先调完滤波参数再精调 PID,因为如果传感器噪声较大且没有被滤掉的话,会导致电机输出噪声大,导致下面的现象 1 电机和电调可能会变热,甚至损坏。 2 续航时间变少,因为电机不断改变速度。 3 可见的随机小抽搐。 此时只调 PID 很难达到理想的控制效果。 PX4 里面可以调整低通滤波器的截止频率参数来过滤掉高频噪声。截止频率越小,过滤的越彻底,但是带来的控制延时越大。截止频率越大,延时越小,但是会使噪声变大。 延时会影响控制效果。如果控制延时较大,则相应的 PID 的 P 项就不能设置的太大。同样的 PID 参数,低延时的飞机可能飞行很好,延时大的飞机可能直接发散,只能调小 PID 才能飞起来,相应的控制效果也会变差。影响延时的因素如下: 1.机身较软,或者安装有减震板(这相当于硬件滤波) 2.软件上的低通滤波 3.PX4 固件从数据读取到控制输出的计算延时 4.陀螺仪的最大输出频率,(使用参数 IMU_GYRO_RATEMAX 配置)。较高的速率减少了延迟,但可能会占用其他进程计算资源。仅建议使用 STM32H7 处理器或更新处理器的控制器使用 4 kHz 或更高频率(2 kHz 值接近功能较差处理器的极限)。 5.与使用 AUX 引脚相比,IO 芯片(MAIN 引脚)增加了约 5.4 毫秒的延迟。为避免 IO 延迟,请禁用 SYS_USE_IO 并将电机连接到 AUX 引脚。 6.PWM 输出信号:启用 Dshot 或 One Shot 以减少延迟。 7.执行器的控制延时,一般小轴距飞机的电机相应快,大轴距飞机的电机 KV 低,响应慢。因此大轴距的飞机 PID 不能太大。 滤波器参数 陀螺仪数据的陷波滤波器,用于滤除窄带噪声,例如桨叶频率处的谐波。可以使用 IMU_GYRO_NF0_BW 和 IMU_GYROC_NF0_FRQ 配置此滤波器。 陀螺仪传感器数据的低通滤波器。可以使用 IMU_GYRO_CUTOFF 参数进行配置。 陀螺仪 D 项上的一个单独的低通滤波器。D 项最容易受到噪声的影响,而稍微增加的延迟不会对性能产生负面影响。因此,D 项具有可单独配置的低通滤波器 IMU_DGYRO_CUTOFF。 电机输出(MOT_SLEW_MAX)上的滑动滤波器。一般不使用。 调参前需要配置日志记录参数:SDLOG_PROFILE,勾选 High rate。 调参数 IMU_GYRO_CUTOFF。 看陀螺仪数据的 FFT 频谱图 以下图为例,在 40HZ 以后的噪声比较多,可以设置 IMU_GYRO_CUTOFF 为 35。 调参数 IMU_DGYRO_CUTOFF。 看角加速度的 FFT 图 以下图为例,在 40Hz 以后有一个噪声高峰,可以设置 IMU_DGYRO_CUTOFF 为 35 调参数 IMU_ACCEL_CUTOFF。 看加速度数据的 FFT 图。 以下图为例,在 35Hz 以后的振动比较大,可以设置 IMU_ACCEL_CUTOFF 为 30 调完参数可以看 actuator_control 的 FFT,查看控制输出的噪声是否在可接受的范围。 除了软件上的滤波,还需要在硬件上减少振动,例如飞控安装减震,飞机上的所有部件都安装牢固,桨叶动平衡。机架尽量用强度高,轴距小的的机架,电机用高 KV 值电机(高频振动更好滤除) 陷波滤波器调参 有的时候 FFT 在一个较低的频率处有个尖峰,如果想用低通滤波将其滤除的话,需要将截止频率设置的很低,会使延时增大,此时可以通过陷波滤波器将其滤除。 需要注意的是,这种尖峰可能是由于飞机部件松动引起的振动,加固飞机可能比调滤波参数更有效果 上图需要设置两个陷波滤波器,上图的 IMU_GYRO_CUTOFF 可以设置为 120. 第一个: 频率参数 IMU_GYRO_NF0_FRQ 设置为 20 陷波区间 IMU_GYRO_NF0_BW 设置为 10 第二个: 频率参数 IMU_GYRO_NF0_FRQ 设置为 26.5 陷波区间 IMU_GYRO_NF0_BW 设置为 2 陷波滤波后的效果如下: 一般穿越机的 IMU_GYRO_CUTOFF 可以设置为 120,IMU_DGYRO_CUTOFF 可以设置为 50 到 80 大的机架就根据 FFT 具体设置。
如果使用自动调参,需要使用新版的 QGC 地面站 PX4 自动调参可以用 hold 模式调参,先起飞,然后切换到 hold 模式,调角速率环的话,点击下图的 Autotune,飞机会自动进行 roll/pitch/yaw 角速率 PID 的调整。调整期间可以看到飞机会自动执行一些动作。 调整完后,可以看到地面站提示降落飞机,自动调参的进度条提示 wait for disarm,此时降落飞机 降落后可以看到地面站提示 Autotune successful,说明调参成功。 角度环的自动调参同角速率环
首先调角速率环,然后姿态环,再速度环,最后位置环。
PX4 角速率环 PID 流程如下 基于上图,有两种调参形式 1.并行形式 相当于 K 取常数 2.标准形式 相当于 P 取常值,这种形式在数学上等同于并行形式,但主要优点是它将比例增益调谐与积分和导数增益解耦。这意味着,通过利用具有类似尺寸/惯性的无人机的增益,并简单地调整 K 增益,就可以很容易地调整新飞机,使其正常飞行。 在调角速率 PID 时可以在自稳/特技模式下飞行,特技模式能更容易的看出调参效果,但更难操控,新手建议用自稳模式。 一开始可以把 roll/pitch 的 PID 设置成一样,等调的差不多了,然后再对 roll 和 pitch 的 PID 单独细调,如果飞机是对称的,则 roll 和 pitch 的 PID 一样就可以了。yaw 的调参方法和 roll/pitch 类似,但是 yaw 的 D 项一般为 0. P 项调节 将角速率环的 I 和 D 都置 0,K 置为 1,然后调节 P 项,从小到大开始调。 P 项过高:高频振荡 如下图,红色是当前角速率,绿色是期望角速率,大概以 10Hz 频率振荡 P 项过低:对操纵反映迟缓,在特技模式下可以看到姿态的漂移。 如下图,红色是当前角速率,绿色是期望角速率,可以看到当前角速率曲线的相位明显滞后于期望的角速率 每次增加 20-30% 的增益,最终微调时减少到 5-10%。 较好的 P 如下图,红色的为期望角速度,蓝色为当前角速度。相应较快,且没有明显的超调和振荡(两者还存在较大的静差,这是由于现在的 I 项为 0) I 项调节 调好 P 后,就可以调节 I I 项过高:低频振荡 如下图,红色是当前角速率,蓝色是期望角速率,几乎没有静差,但过高的 I 也会导致振荡 I 项过低:静差较大,如下图,红色是当前姿态,蓝色是期望姿态 较好的 I 效果如下,没有振荡,也没有明显的静差。 D 项调节 D 项的主要作用是抑制超调,但不宜过大,因为会放大噪声 D 项过大:电机会发烫,并且电机会抽搐(听声音就是高频的忽高忽低声音),并且对操纵的反映比较迟钝。 可以看到电机的输出变化非常剧烈。 D 项过小:在阶跃输入后会出现超调,例如在自稳模式猛打杆后立刻将杆回中,可以看到飞机来会振荡几次后才恢复水平。此时可以调大 D,直到飞机能够直接恢复水平而没有明显振荡。
姿态环只有比例项,调参比较简单,如果 P 太小,操纵会比较迟钝,P 太大也会出现振荡或超调,一般默认值就可以用。
官网地址 https://ardupilot.org/planner/ 可以直接点击下载 或者从网盘下载 链接:https://pan.baidu.com/s/1SkMIzohJRO25GWbo_J944A 提取码:nw1s –来自百度网盘超级会员 V5 的分享 下载完双击安装 一路 next 即可
飞控先不连地面站 点击初始设置 -》安装固件 Legacy-》加载自定义固件,然后选择需要下载的固件(.apj 文件) 点击 OK,然后插上飞控, 地面站会自动识别飞控并下载固件,下载完后如图
第一排选四旋翼,下面的选型
点击校准加速度计 将飞控水平放置,然后点'完成时点击' 然会回提示左侧放,此时将飞控左侧放 然后依次朝六个面放置并点完成,就可以完成加速度计校准
将飞控水平放置不动,然后点校准水平即可
点击指南针 可以看到会显示当前识别到的指南针(飞控里面有一个,如果外接了会显示两个或者三个) 可点击右边箭头调整优先级,一般外置的放在高优先级。然后勾选需要使用的罗盘。最后点击 Start 开始校准 校准的时候,手拿飞控朝不同的方向不停的旋转,直到进度条到达 100% 即校准完成,然后重启即可。
点击遥控器校准页面,点击校准遥控按钮,然后将摇杆朝各通道拨到最大,然后点完成即可
到下面的页面,点击开始,然后给飞控断电,然后插上电池,无人机会在下次上电的时候自动校准电调
进入下面的页面,先设置测试的油门,然后点 Test motor A,1 号电机会转,motor B 对应 4 号电机,motor C 对应 2 号电机,motor D 对应 2 号电机
EK3_SRC1_POSXY 设置为 6 EK3_SRC1_POSZ 设置为 6 EK3_SRC1_YAW 设置为 6 VISO_TYPE 设置为 1 设置视觉传感器噪声
无人机最大倾斜角度 ANGLE_MAX 这个参数决定了无人机在各模式下的最大倾斜姿态,如果想水平飞的速度快一些,可以把角度改大 无人机最大上升下降速度 loiter 模式的最大速度限制 apm 固件里只有 loiter 模式下,在拨杆的时候会限制最大速度,在 poshold 模式下拨杆限制的时倾斜角度 解锁后电机延时转动时间
在撞到物体后触发保护 FS_CRASH_CHECK
可以将任意的串口设置成接收机的输入端口,例如将 sbus 协议的接收机接 serial7 口上,将波特率手动输入成 100,协议设置成 RCIN
硬件: pix2.4.8 差速无人车 软件: rover 4.4.0 qgc
mb12xx 超声波 设置 RNGFND1_TYPE 为 MaxbotixI2C PRX_TYPE 设置为 4 将超声波接到 i2c 口即可 纳雷 MR72 毫米波雷达 (新版的 MR72 毫米波雷达可能存在设置完参数识别不到的问题,这个是雷达出厂刷的固件不对,需要刷一下雷达的固件) 接 serial4 口 SERIAL4_PROTOCOL 设置为 Lidar360,SERIAL4_BAUD 设置为 115200 PRX_TYPE 设置为 6 tfmini plus 激光雷达 串口版本 SERIAL4_PROTOCOL = 9 (Lidar)这个具体 SERIAL 几看接的是飞控的哪个口 SERIAL4_BAUD = 115 (115200 baud) RNGFND1_TYPE = 20 (Benewake-Serial) RNGFND1_MIN = 30 for TFmini, 10 for TFminiPlus RNGFND1_MAX = 1000 for indoor use OR 600 for outdoors. This is the distance in centimeters that the rangefinder can reliably read. RNGFND1_GNDCLR = 10 I2C 版本 RNGFND1_TYPE = 25 (Benewake TFminiPlus-I2C) RNGFND1_ADDR = 16 (I2C address of lidar in decimal, equivalent to 0x10 hexadecimal) RNGFND1_MIN = 30 for TFmini, 10 for TFminiPlus RNGFND1_MAX = 1000 for indoor use OR 600 for outdoors. This is the distance in centimeters that the rangefinder can reliably read. RNGFND1_GNDCLR = 10
AVOID_BEHAVE: 0,绕行 1,停止
先上传电子围栏 然后设置这两个参数
SERVO_RATE:输出 PWM 的频率 MOT_SLEWRATE 油门转换速率占每秒总行程的百分比。值为 100 时,电机可以在一秒钟内改变其全部范围。设置为 0 可以禁用 MOT_SPD_SCA_BASE 使用常规转向/油门无人船(车)时,速度高于该速度时转向将按比例降低。零表示禁用速度缩放 THR_THR_MAX 最大推力 MOT_STR_THR_MIX 转向与油门优先。较高的数字优先考虑转向,较低的数字优先考虑油门。仅适用于滑移转向无人船(车) MOT _ THST _ASYM 推力不对称。用于打滑转向。2.0 意味着你的马达向前运动的速度是向后运动的两倍
将最后一个航点设置为 jump to item item 设置为 1,表示跳回到 1 点重新执行航线,Repeat 设置为 10 表示循环 10 次
ANGLE_MAX 这个参数决定了无人机在各模式下的最大倾斜姿态,如果想水平飞的速度快一些,可以把角度改大
apm 固件里只有 loiter 模式下,在拨杆的时候会限制最大速度,在 poshold 模式下拨杆限制的时倾斜角度
总是如果报错 ek3 line switch 1,然后位置固件出现问题。可以把 EK3_PRIMARY 改成 1. 总是如果报错 ek3 line switch 0,然后位置固件出现问题。可以把 EK3_PRIMARY 改成 0. 这种情况和震动可能有关,可以再做一些减震。
PSC_JERK_XY,PSC_JERK_Z。这个两个参数越小,位置控制越平滑,越大越激进
先设置动作和电压 然后设置时间,注意时间不能设置为 0,否则会禁用低电量保护
如果在室内使用,可以使用视觉或者光流 假设定位来源及航向来源为视觉(通过 mavros 的 vision_pose 发送),设置如下: EK3_SRC1_POSXY 6 EK3_SRC1_POSZ 6 EK3_SRC1_VELXY 0 EK3_SRC1_VELZ 0 EK3_SRC1_YAW 6 VISO_TYPE 1 假设使用光流测距一体模组,需要将水平速度来源设置为光流,垂直高度来源设置为测距传感器。设置如下: AHRS_EKF_TYPE 3 EK3_SRC_OPTIONS 0 EK3_SRC1_POSXY 0 EK3_SRC1_POSZ 2 EK3_SRC1_VELXY 5 EK3_SRC1_VELZ 0 EK3_SRC1_YAW 1 假设在室外使用 GPS 作为水平位置来源,气压计作为高度来源,罗盘作为航向来源。设置如下: EK3_SRC1_POSXY 3 EK3_SRC1_POSZ 1 EK3_SRC1_VELXY 3 EK3_SRC1_VELZ 3 EK3_SRC1_YAW 1 假设在室外使用 RTK 作为水平位置,高度,航向来源。设置如下: EK3_SRC1_POSXY 3 EK3_SRC1_POSZ 3 EK3_SRC1_VELXY 3 EK3_SRC1_VELZ 3 EK3_SRC1_YAW 2
例如: SR1_ADSB 0 4 SR1_EXTRA1 10 SR1_EXTRA2 10 SR1_EXTRA3 3 SR1_EXT_STAT 2 SR1_PARAMS 0 SR1_POSITION 3 SR1_RAW_CTRL 0 SR1_RAW_SENS 1 SR1 代表 serial1,如果设置 serial2 则为 SR2,以此类推,具体的参数就是频率。 具体的每个参数包含的消息如下: SRx_ADSB ADSB_VEHICLE
SRx_EXT_STAT SYS_STATUS POWER_STATUS MEMINFO MISSION_CURRENT GPS_RAW_INT GPS_RTK GPS2_RAW GPS2_RTK NAV_CONTROLLER_OUTPUT FENCE_STATUS POSITION_TARGET_GLOBAL_INT
SRx_EXTRA1 ATTITUDE SIMSTATE AHRS2 AHRS3 PID_TUNING
SRx_EXTRA2 VFR_HUD
SRx_EXTRA3 AHRS HWSTATUS SYSTEM_TIME RANGEFINDER DISTANCE_SENSOR TERRAIN_REQUEST BATTERY2 (deprecated, use BATTERY_STATUS) BATTERY_STATUS MOUNT_STATUS OPTICAL_FLOW GIMBAL_REPORT MAG_CAL_REPORT MAG_CAL_PROGRESS EKF_STATUS_REPORT VIBRATION RPM ESC_TELEMETRY_1_TO_4 ESC_TELEMETRY_5_TO_8 ESC_TELEMETRY_9_TO_12
SRx_PARAMS(不用改) SRx_POSITION GLOBAL_POSITION_INT LOCAL_POSITION_NED
SRx_RAW_CTRL(没用到) SRx_RAW_SENS RAW_IMU SCALED_IMU2 SCALED_IMU3 SCALED_PRESSURE SCALED_PRESSURE2 SCALED_PRESSURE3 SENSOR_OFFSETS
SRx_RC_CHAN SERVO_OUTPUT_RAW RC_CHANNELS RC_CHANNELS_RAW (only sent on mavlink1 links)
如果飞控带网口,可以使用网口做 mavlink 通信 首先使能网口功能 然后把下面的参数改成 0 如果使用 udp 进行通信,把 p1_type 改成 1 常用的参数的含义如下,主要改的是飞控的 ip 以及目标 ip 和端口 设置完之后,需要将电脑的 ip 设置成目标 ip 然后地面站设置 UDP 通信,端口设置成 P1_PORT 即可。 如果要连接多个飞控,需要把每个飞控自身的 IP 设置成不一样(但在同一个网段) 如 192.168.1.33
解决方法: 禁用 GPS,将 GPS1_TYPE 设置为 0
参考 https://ardupilot.org/copter/docs/common-gps-for-yaw.html 主天线相对从天线偏移 GPS1_MB_TYPE = 1 GPS1_MB_OFS_X: GPS1_MB_OFS_Y: GPS1_MB_OFS_Z: 以从天线为参考中心,前右下坐标系 例如: 主天线相对机体中心偏移 GPS1_POS_X: GPS1_POS_Y: GPS2_POS_Z: 前右下坐标系 例如:
将电池充满电,点击下图的计算按钮 将电池的实际电压输入(可以观察充电器上显示的电压或者用万用表/bb 响测),点击计算并设置。
首先连接上飞控 然后在下图页面下载日志: 点击下图下载日志 下载的日志会存放在下图目录中
点击下图按钮,选择日志 然后勾选要看的数据即可
将视觉(vision pos)数据用于位置和航向来源 参数名称:EKF2_EV_CTRL 将 GPS 数据用于位置速度和航向来源 参数名称:EKF2_GPS_CTRL 最下面那个是使用 GPS 的航向数据,只有在使用双天线 RTK 的时候才需要勾选 高度来源 参数名称:EKF2_HGT_REF
(1)搜索不到蓝牙
首先看下设备管理器,里面有没有识别到飞控的端口
(1)ArduPilot 固件 先检查飞控的 PWM 输出是否正常 到 MAVLINK 检测,查看 SERVO_OUTPUT_RAW 数据 servo1 到 servo8 对应的是 main 通道的 1 到 8,servo9 到 servo16 对应的是 aux 的 1 到 8. 1,如果所有的输出都是 0,则检查安全开关参数,把安全开关禁用。 2,如果对应端口的输出正常,例如电调接的是 aux1 到 4,servo9 到 servo12 输出是正常的。则做如下检查
(2)PX4 固件 PX4 固件默认是禁用开关开关的。 主要检查
如何判断振动问题 1,无人机飞的时候电机声音尖锐,电机温度很高,姿态不稳,随机的小抽搐。 2,通过分析日志中的原始加速度数据/陀螺仪数据,噪声大则代表振动大 解决方法
原因:水平方向定位的坐标系不正确,航向不准。 解决方法: 1,如果是采用的 NED 坐标系,无人机静止状态下,航向稳定后,检查飞控航向和手机罗盘相差的度数,如果超过 20 度说明误差较大。此时如果采用罗盘作为航向数据来源,可以只使能外置罗盘,然后重新校准罗盘。如果采用双天线 RTK 作为航向数据来源,可以修改天线偏移参数。 2,如果无人机静止状态下,显示的罗盘航向一直在飘,可以重新校准陀螺仪和罗盘。 3,如果起飞前航向是准的,起飞后航向不准,可能是电流产生的磁场干扰了罗盘。
原因:定位不准 解决方法:检查 GPS 信号,不要靠近高大的建筑物。
本质上,数传是一种无线数据传输工具,其性能受限于传输功率、通信距离和数据带宽。地面站加载参数不全的问题,整体解决思路可以概括为'开源节流': 一方面,通过提升数传功率,确保其在满功率下运行;另一方面,通过削减不必要的数据传输,降低带宽压力。具体措施包括将 PX4 的 MAVLink 消息发送等级调整为 NORMAL,以减少冗余数据。 此外,建议为数传模块单独供电,以避免因供电不足而影响功率输出。 在数传参数配置方面,需重点关注两个速率:空速率(即数传模块之间的无线通信速率)和串口速率(即数传与飞控或地面站之间的通信速率)。两者应尽可能调至设备支持的最高值,以提高单位时间内的有效数据吞吐量。下图为当前使用的 P900 数传模块的选项 另一个可优化的小设置是关闭自动重发功能。部分数传模块内置了错误检测机制,会自动重发丢失的消息,但这也可能造成带宽浪费。在 P900 模块中,该功能可通过设置命令 ATS113=0 来关闭,以进一步释放通信资源。 经测试,在这种情况下,p900 能有效传输 3~4 台载具信息,再多就也加载不过来了
一、地面站不显示 0 颗星 1.检查接线是否正确 2.检查端口,波特率,GPS 协议参数
二、在室外空旷的地方一直显示零颗星,或者搜星很低 1,检查天线头子或者馈线 2,检查是否有干扰,如果 USB3.0 线
三、双天线 RTK 航向不准 1,检查搜到的星数,如果搜星低,参考第二节。 2,如果搜星正常,检查航向来源参数还有天线偏移参数
四、无人船跑航线原地打转,应该怎么排查 检查航向
可能是上升下降的速度限制的太小,一般采用精度高的传感器定位时,可以将最大速度限制的小一点,如果使用精度低的传感器定位,需要将最大速度限制改大,否则会出现即使打满杆也控制不了无人机的现象。
一、PX4 固件 1.检查解锁开关 gest(enabled) 2.解锁时无报错信息:遥控器是否正确配对,检查遥控器通道是否正确;(内八解锁时一定要对准凹槽) PX4 固件的解锁方式默认是摇杆解锁,美国手的遥控器,将左边摇杆打到右下 45 度并保持(右边摇杆不用拨)即可解锁。 也可以设置解锁开关来控制飞控解锁,如果设置了解锁开关(如下图),则无法通过拨杆的方式解锁飞控。 这种情况下如果想使用摇杆解锁。可以禁用解锁开关,同时使能摇杆解锁。 3.看地面站具体报什么错; 4.室外版的飞机在室内需要检查电子围栏是否; 5.USB 连接检查 CBRK_USB_CHK(USB 相关报错),检查起飞时是否有 USB 连接,默认情况下有 USB 连接时是无法解锁的,如果需要插 USB 解锁,需要设置为 197848 6.飞机插 USB 能解锁,拔掉 USB 不能解锁 原因:电源检查未通过 解决方法:关掉电源检查,设置下面参数
二、APM 固件 解决方法: 1,如果有报错,把解锁检查关掉,搜参数 ARM_CHECK,改成 0 2,如果没有报错,检查遥控器有没有识别到。
原因:罗盘干扰 解决办法:禁用内置罗盘,使用外置罗盘,重新校准罗盘
原因:地面检测判断错误,在空中判断成在地面,导致自动进入怠速,在下坠后有判断成在空中,重新复飞。 解决办法: 将这个参数改小一点,降低地面检测判断错误的可能性
有些参数(telem2 波特率)是条件参数,只有用到相应的端口才能设置对应端口的波特率 以 telem2 为例,其他的也类似,先把参数设为默认 点击右上角'工具'按钮,点击'重置为载具的默认值' 然后 设置 Gps1 的接口为 telem2,重启飞控,再查看 serial 参数,即可找到 telem2 设置好 telem2 的波特率后记得把 GPS 的接口再设回到 GPS1 如果使用了端口 telem2,但是还是没法设置波特率,检查是否将 telem2 设置为 TFMINI(因为 tfmini 的波特率是写死的,不需要设置)
现象:在没有拨遥感或者飞控没有解锁的情况下,电机突然时断时续的自己转动,舵机自己高频的抖动 原因:信号受到干扰 解决方法:将电调的信号线和舵机的信号线(特别是和飞控连接的接头处)远离天线或者电源线
原因:可能是因为没有设置机型参数 sys_auto_config,或者设置的机型参数不存在。 解决办法:重新烧录固件,并且在烧录完固件连上地面站后设置一下机型
检查 SD 卡是否损坏:尝试在电脑上读取,格式化
例如数传接的 mav0 口将参数 MAV_0_FLOW_CTRL 改成 Force off
解决办法:换其他的通道做刹车
把 mpc_z_vel_max_dn mpc_z_v_auto_dn 两个参数改大
修改下面的参数设置数据发送的频率,例如 telem1 口就是 SR1 开头
AHRS_EKF_TYPE = 3 (to use EKF3) EK2_ENABLE = 0 (to disable EKF2) EK3_ENABLE = 1 (to enable EKF3) EK3_MAG_CAL is not used for this feature so it can be left at its default value ('0' for Plane, '3' for Copter, '2' for Rover) EK3_SRC1_YAW = 2 ('GPS') or 3 ('GPS with Compass Fallback') if a compass(es) is also in the system
检查地面站有没有使能虚拟摇杆
修改参数 BRD_TYPE 为响应的板子类型
检查电调信号线接线,如果接线没问题,检查安全开关有没有打开,如果没有装安全开关,可以在参数里将安全开关禁用,将下面两个参数改成 0。
重新校准 IMU,校准的时候要比较标准,特别是加速度计
检查航向
答:可以修改上升下降的速度(修改后速度可能比较快,需要注意一下)
1,油门杆打满响应跟不上,随机往上或者往下飘。原因可能是定位来源是气压计,但是上升下降的速度限制的比较小,定高本身误差就比大,但是打杆的时候本身期望很小,pid 控制的话很难控制,可以尝试把起飞时候的上升速度调高一点(可以改成 1 及以上) 2,如果不拨油门杆,高度会自己往下掉,可以尝试重新校准遥控器
如果测深仪的深度数据以 NMEA 的 DPT 语句输出,可以用飞控去读取 首先设置端口协议和波特率,假如测深仪的波特率是 4800,接在飞控的 Telem2 口,则设置如下: 然后设置测距仪的协议为 NMEA 范围可以根据测深仪的范围设置,方向设置为朝下 然后再 MAVLINK 检测里能看到 Distance 数据,再在主界面设置一下就行
软件驱动安装 搭建 LinkTrack 系统前,前往 Nooploop 官网下载以下三个软件 www.nooploop.com/download/ 也可以在网盘下载: 通过网盘分享的文件:空循环 UWB 链接:https://pan.baidu.com/s/1UwEutDJOfH06F49Nf04__A?pwd=cwkj 提取码:cwkj –来自百度网盘超级会员 v8 的分享 下载产品手册 下载 NAssistant 上位机软件 下载串口驱动,不同'USB 转 TTL 模块'下载不同驱动 带 USBType-C 接口——Windows 安装 CP210x 和 CH343 驱动,Ubuntu 安装 CH343 驱动 Nooploop 公司 NUTT 系列型号——Windows 安装 CP210x 和 CH343 驱动,Ubuntu 安装 CH343 驱动 其它型号——网上找对应的串口驱动 NAssistant 操作 用 USB 线连接模块与电脑 设置端口号为 COM 几(打开设备管理器,查看端口中 USB 对应的 COM 几) 设置波特率为 921600(所有模块的出厂默认通信速率) 点击连接 然后点击 LinkTack 设置 配置 TAG 移动端 UWB 模块,按下图配置,配置完点击写入参数 一套 UWB 里的 System ID 需要保持一致,TX Gain 是发射功率,如果使用范围较小,并且周围反射较多(如玻璃),可以将 TX Gain 调小避免杂波,如果使用范围较大,且周围空旷,可以将 TX Gain 调到最大。标签的角色设置为 TAG,ID 每个标签设置的不一样,协议设置成 NMEA,滤波因子可以改成 0。 配置 ANCHOR 按下图进行配置,id 依次为 0、1、2、3,依次对应基站 A0、A1、A2、A3。TX Gain 是发射功率,如果使用范围较小,并且周围反射较多(如玻璃),可以将 TX Gain 调小避免杂波,如果使用范围较大,且周围空旷,可以将 TX Gain 调到最大。基站波特率和标签保持一致 配置 CONSOLE 可以将一个 UWB 模块配置成 CONSOLE 用于接受基站和标签的数据 基站标定 四个基站端按下图摆放各接一个充电宝,四个基站端需保持在同一高度,四个模块距离根据实际需求决定,一般是 几米×几米,摆放形状是矩形即可,在基站范围内定位精度最佳,超出范围精度逐渐降低直至消失。如果基站布置呈长方形,且长宽比较大,可以在长的那一边加两个基站采用 6 基站的方式进行标定。 如果飞控采用罗盘做航线来源,在布置基站的时候,A0 到 A3(X 轴正方向)需要指向地理的正东,A0 到 A1(Y 轴正方向)需要指向地理的正北,否则在定点模式飞行时,无人机会自己转圈,越转越大。 点击无线设置,其中 C0 为控制台,A0、A1、A2、A3 为基站端,T0 为移动站(此时六个模块全部供电且插天线) 如果六个节点查找不全,全部断电重启试试 点击一键标定进,观察右侧 A0-A3 坐标变化,其中基站 z 轴坐标恒为 0,A0 基站 x、y 坐标为 0,A3 基站 y 坐标为 0。标定成功的话,会显示每个基站的坐标值 然后打开下面的界面 正常的话能看到连续的四个基站的距离数据,如果断断续续,可以检查标签供电 然后打开 2D 视图,正常的话标签的位置应该在 20cm 范围内波动,如果波动范围大,检查周围环境,如果环境的反射比较多,如墙面,玻璃,且空间狭小,可以将发射功率调小,并且将基站的天线往场地中心弯折 45 度。 检查配置成败 重新设置 TAG 为 NMEA 协议 连接 TAG 的 USB 端口与上位机,打开串口调试助手,设置正确的波特率与串口号 测试是否能收到 GPGSA 字样,收到则说明配置成功
UWB 标签使用 NEMA 协议输出时,飞控的设置和使用 NMEA 协议的 GPS 设置一样,罗盘要正常教程,确保飞控的航向是准的。 飞控固件版本:Copter4.6.0 以 UWB 标签接在飞控的 TELEM2 口为例,标签建议用 5V 稳压单独供电,飞控串口的 5V 可能会供电不稳 设置 GPS1_TYPE 为 5(NMEA) 设置 SERIAL2_BUAD 为 921600 设置 SERIAL2_PROTOCAL 为 GPS 设置定位来源如下: 关闭 GPS 信号检查
安装方向: 飞控固件:APM Copter4.6.0 MTF-01 模块输出协议需要设置成 mav_apm(或购买产品时直接选择 ardupilot 版本) SERIALn_BAUD 115 SERIALn_OPTIONS 1024(Don't forward) SERIALn_PROTOCOL 1 FLOW_TYPE 5 RNGFND1_TYPE 10 (n 取决于实际连接的物理端口) 重启飞控 RNGFND1_MAX_CM 800 RNGFND1_MIN_CM 1 RNGFND1_ORIENT 25 配置 EKF 参数 (只使用光流) AHRS_EKF_TYPE 3 EK3_SRC_OPTIONS 0 EK3_SRC1_POSXY 0 EK3_SRC1_POSZ 2 EK3_SRC1_VELXY 5 EK3_SRC1_VELZ 0 EK3_SRC1_YAW 1 正常的话会看到光流和测距仪的数据,以及本地位置

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online