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

相关推荐
zh路西法15 天前
【10天速通ROS2-PX4无人机】(四) 关掉GPS和气压计,纯激光定位还能飞吗
c++·无人机·px4·ros2·卡尔曼滤波·fastlio2
zh路西法17 天前
【10天速通ROS2-PX4无人机】(一) 从零搭建仿真环境,妈妈再也不用担心我炸机了!
无人机·仿真·px4·ros2·gazebo
火山上的企鹅2 个月前
Codex实战:APP远程升级服务搭建(三)后台管理页面(APK 上传、版本管理、多应用页签)
服务器·网络·数据库·oracle·qgc
JaydenAI2 个月前
[对比学习LangChain和MAF-07]如何引入人机交互的审批流程
python·ai·langchain·c#·agent·hitl·maf
火山上的企鹅2 个月前
Codex实战:APP远程升级服务搭建(四)Node 服务端自动识别 APK 信息
android·服务器·git·github·qgc
火山上的企鹅2 个月前
Codex实战:APP远程升级服务搭建(五)App端远程升级接入
android·服务器·远程升级·qgc
火山上的企鹅2 个月前
Codex实战:APP远程升级服务搭建(二)阿里云ECS部署Node升级服务_Ubuntu_systemd_Nginx
nginx·ubuntu·阿里云·qgc
提伯斯6462 个月前
Fast-Lio和LIO-SAM分别在有gps情况下与PX4融合的过程
ros·px4·fast-lio·lio-sam
imkaifan2 个月前
20250601
hitl