Airsim+QGC的微空NxtPX4v2无人机硬件在环仿真

Airsim+QGC的微空NxtPX4v2无人机硬件在环仿真

问题现象:QGC电机输出无法设置;Airsim HITL时,无人机电机不转

在尝试结合无人机硬件和Airsim软件去做硬件在环仿真的时候发现,使用的**NxtPX4v2飞控本身的固件并不完全支持HITL**。
其官网用户手册表明,NxtPX4v2产品已经进入PX4官方硬件支持列表,因此本人首先是从PX4 官方release页面上找了v1.16至v1.18多个版本,先后通过QGC进行固件刷新,但是更新机架为HIL Quadcopter X后总是出现电机(Actuators)的输出无法设置的问题,如下图** 右侧所示的Actuator outputs, 下方是空的**;另外,发送Arm指令时,在** Airsim中无人机的旋翼也不转**,无法起飞。

解决方案:重编源码

顺着NxtPX4v2飞控用户手册找到项目Github源码,拉下源码后, 在PX4-Autopilot/boards/hkust/nxt-dual/default.px4board的末尾,添加一行CONFIG_MODULES_SIMULATION_PWM_OUT_SIM=y,然后在Nxt-FC/PX4-Autopilot目录下执行编译语句make hkust_nxt-dual,生成的.px4文件会放到PX4-Autopilot/build/hkust_nxt-dual_default/hkust_nxt-dual_default.px4

在QGC中选择该文件作为自定义固件,进行升级即可。

其他参数设置

后面本人还遇到的问题是一开始预飞检查会报错,ekf2 missing data 这样的问题,原因是NxtPX4v2 无板载磁力计,SYS_HAS_MAG这个参数默认为0,但是仿真的时候所有传感器数据来源于Airsim,这个参数是可以改为1的。EKF2 中默认是通过vehicle_magnetometer模块读取磁力计数据,进行数据融合,读不到的话就死锁了。

可以用listener estimator_status 1这个命令看一下当前状态,或者QGC的vehicle_setup->参数中看一下相关的设置。

效果展示

Airsim_HITL

相关推荐
thesky1234563 天前
智能体面试准备(六十三):智能体人在回路(HITL)与审批流工程——中断、审批、回滚与可审计闭环
智能体·回滚·审批流·hitl·人在回路·中断续跑·可审计
行智科技8 天前
PX4 EKF2 源码解析(二):接口层、算法层与符号生成层
无人机·px4·数据融合·ekf2
李燚13 天前
HITL 源码:8 种人机协同模式的设计(第85篇-E71)
ai·agent·ai编程·模式·rag·eino·hitl
zh路西法1 个月前
【10天速通ROS2-PX4无人机】(四) 关掉GPS和气压计,纯激光定位还能飞吗
c++·无人机·px4·ros2·卡尔曼滤波·fastlio2
zh路西法1 个月前
【10天速通ROS2-PX4无人机】(一) 从零搭建仿真环境,妈妈再也不用担心我炸机了!
无人机·仿真·px4·ros2·gazebo
火山上的企鹅3 个月前
Codex实战:APP远程升级服务搭建(三)后台管理页面(APK 上传、版本管理、多应用页签)
服务器·网络·数据库·oracle·qgc
JaydenAI3 个月前
[对比学习LangChain和MAF-07]如何引入人机交互的审批流程
python·ai·langchain·c#·agent·hitl·maf
火山上的企鹅3 个月前
Codex实战:APP远程升级服务搭建(四)Node 服务端自动识别 APK 信息
android·服务器·git·github·qgc
火山上的企鹅3 个月前
Codex实战:APP远程升级服务搭建(五)App端远程升级接入
android·服务器·远程升级·qgc