富斯(i6s)遥控器+PX4+AirSim仿真

富斯(i6s)遥控器+QGC+PX4+AirSim仿真

一、概念介绍

QGC
QGC地面站是Dronecode地面控制站称为QGC地面站 。它是基于 Qt 开发的。本次仿真使用的是PX4_sitl ,支持QGC地面站 。使用者可以用QGroundControl将PX4加载到飞行器仿真飞机上,可以设置飞行器,更改不同参数,获取实时飞行信息以及创建和执行完全自主的任务。QGroundControl是跨平台的,可以在Windows,Android,MacOS或Linux上运行。

PX4

所谓无人机的飞控,就是无人机的飞行控制系统。无人机飞控能够稳定无人机飞行姿态,并能控制无人机自主或半自主飞行,是无人机的大脑。而PX4是自动驾驶仪软件(或称为固件),它是Pixhawk 的原生固件,基于Nuttx实时操作系统开发的,可以驱动无人机或无人车。PX4与地面站(地面控制站QGC)在一起组成一个完全独立的自动驾驶系统。

AirSim

AirSim是一个基于虚幻引擎(我们还有一个支持Unity的试验性版本)以模拟汽车、无人机的模拟器。AirSim仿真模拟平台是开源、跨平台、支持诸如PX4等常见的硬件在环(hardware-in-loop)飞行遥控器。AirSim是一个虚幻引擎插件,所以它可被移植到任意的虚幻环境中。

二、环境安装及配置

  • QGC的安装

打开https://docs.qgroundcontrol.com/master/en/qgc-user-guide/getting_started/download_and_install.html选择适合自己的版本进行安装,本文的操作系统是Win10

安装好后,打开可以看到:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

打开后如图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • WLS2安装

(1)启用所需Windows功能:使用Windows+R快捷键,在打开的「运行」窗口中直接执行optionalfeatures打开「Windows 功能」。勾选 适用于Linux的Windows子系统虚拟机平台

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(2)通过PowerShell或者cmd依次使用下面的命令。

wsl -l -v

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

(3)安装Liunx内核更新包

下载地址如下 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

下载完成后点击.msi文件即可。</

### i6x遥控器解锁飞行操作指南 i6X是一款常见的入门级遥控器,广泛应用于无人机和其他模型飞机的控制。根据提供的引用内容和专业知识,以下是关于如何使用i6X遥控器解锁并安全飞行的操作说明。 #### 1. **遥控器与飞控连接** 在开始之前,确保遥控器已正确绑定至接收机,并且接收机已经成功接入飞控板。通常情况下,这种绑定可以通过按住特定按键完成,具体步骤可以参考遥控器说明书[^1]。 #### 2. **初始化配置** 在飞控软件中(如Betaflight、CleanFlight或其他固件),需要确认以下设置: - 设置输入模式为PPM或SBUS,这取决于所使用的接收机类型。例如,在`Drv_BspInit()`函数中调用`Remote_Control_Init()`时,默认选择了PPM模式[^2]。 - 初始化GPIO端口以匹配实际硬件连线情况。此部分可能需要依据原理图调整代码中的初始化逻辑[^1]。 #### 3. **解锁条件** 为了保障飞行安全性,大多数现代飞控都会实现解锁机制。对于采用“美国手”的遥控器而言,标准解锁动作通常是将两个摇杆置于指定位置形成“内八字”或“外八字”。具体来说: - 将左摇杆推向左下角; - 同时右摇杆推向下右侧; 保持该姿势数秒直到听到提示音表示成功解锁。 #### 4. **执行解锁流程** 当满足下列前提条件下才能尝试解锁: - 动力电源电压处于合理范围内; - IMU模块自检通过; - 气压计读数稳定; - 所有惯性测量单元正常运作; 一旦上述检查均合格,则可通过如下方式实施解锁: ```c if (isBatteryVoltageNormal && isImuCalibrated && isBarometerStable && areSensorsOperational){ unlock(dT_ms); } ``` #### 5. **注意事项** - 不要在任何参数正在被修改期间进行解锁操作,因为这样可能导致不稳定甚至坠毁风险[^1]。 - 如果当前状态已经是解锁状态下再次做出相同手势将会重新进入锁定状态,请务必小心避免误触造成意外停止电机运转而掉落损坏设备。 - 建议不要随意改动涉及核心功能的部分源码除非完全理解其作用及其后果。 --- ### 提供一段伪代码用于演示整个过程: ```python def main(): initialize_system() while True: read_rc_input() if check_unlock_condition(): perform_unlock_action() process_stick_functions() monitor_fail_safe_status() def initialize_system(): configure_gpio_pins_based_on_schematic() # According to select_ppm_or_sbus_mode_as_needed() # Referenced from [^2] def check_unlock_condition(): return all([ battery_voltage_is_normal(), imu_self_test_passed(), barometric_sensor_readings_are_consistent(), inertial_measurement_units_operate_normally() ]) def perform_unlock_action(): execute_unlock_logic_with_delayed_confirmation() def process_stick_functions(): detect_and_calibrate_sensors_according_to_channel_values() def monitor_fail_safe_status(): implement_multi-check_failure_detection_mechanism_before_activating_failsafe_response() ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值