PX4、APM无人机仿真连接QGC地面站记录(udp连接、更改home点等)

本文介绍PX4与APM两种飞行控制系统在Gazebo环境下的仿真设置过程,包括执行仿真指令、连接地面站及更改Home点等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文仅记录仿真指令,搭建安装不在此…

一. PX4

首先给飞控源码和子目录权限

chmod -R 777 PX4-Autopilot

1. gazebo 仿真

PX4 中 使用 gazebo 仿真,一般对应机型的指令如下:

Quadrotor                                                  make px4_sitl gazebo
Quadrotor with Optical Flow                                make px4_sitl gazebo_iris_opt_flow
3DR Solo (Quadrotor)                                       make px4_sitl gazebo_solo
Typhoon H480 (Hexrotor) (supports video streaming)         make px4_sitl gazebo_typhoon_h480
Standard Plane                                             make px4_sitl gazebo_plane
Standard Plane (with catapult launch)                      make px4_sitl gazebo_plane_catapult
Standard VTOL                                              make px4_sitl gazebo_standard_vtol
Tailsitter VTOL                                            make px4_sitl gazebo_tailsitter
Ackerman vehicle (UGV/Rover)                               make px4_sitl gazebo_rover
HippoCampus TUHH (UUV: Unmanned Underwater Vehicle)        make px4_sitl gazebo_uuv_hippocampus
Boat (USV: Unmanned Surface Vehicle)                       make px4_sitl gazebo_boat
Cloudship (Airship)                                        make px4_sitl gazebo_cloudship

1)旋翼测试

make px4_sitl gazebo

执行后,将会直接弹出如下:
在这里插入图片描述

第一次可能会卡主,不行的话,重新执行一遍就好

2)小车测试

make px4_sitl gazebo_rover

执行后,将会直接弹出如下:

在这里插入图片描述

2. 连接地面站

与APM连接相似,命令略有不同

① Ubuntu 平台

ubuntu 中运行QGC地面站软件,勾选了udp会自动连接的:
在这里插入图片描述
在这里插入图片描述

② Windows、Android 手机等平台(暂时没测试过不在同一网段的设备)

首先地面站也需要勾选udp的自动连接

然后创建Windows的 UDP 连接:(也可Android 手机等)

mavlink start -t 192.168.85.248 -u 14444

192.168.85.248 为Windows IP , 14444 为端口号,记得不能14550,因为会重复

在这里插入图片描述
QGC 连接后如下,截个双屏的:
在这里插入图片描述

3. 更改 Home点

此处定位到长沙的经纬度:

export PX4_HOME_LAT=28.197539
export PX4_HOME_LON=112.903970
export PX4_HOME_ALT=0
make px4_sitl gazebo       //执行仿真    

其它命令如更改飞行速度、风速参考官方:

官方参考的 http://docs.px4.io/master/zh/simulation/gazebo.html

二、APM 仿真

1. 执行仿真指令

在APM源码,ArduCopter 下:

../Tools/autotest/sim_vehicle.py -f X --console --map  
#加入-c是重新全部编译
-f X #旋翼
-f Rover

执行后:
在这里插入图片描述

2. 连接地面站

① Ubuntu 平台

ubuntu 中运行QGC地面站软件,勾选了udp会自动连接的:
在这里插入图片描述
在这里插入图片描述
② Windows、Android 手机等平台(暂时没测试过不在同一网段的设备)

首先地面站也需要勾选udp的自动连接

然后创建 UDP 连接:(IP 为Windows、手机下的 IP 地址,端口号默认14550)

#output add 主机IP地址:UDP端口号
output add 192.168.85.148:14550

在这里插入图片描述
Windows下自动连接:
在这里插入图片描述

可以添加多个udp,同时连接多个地面站。

● 连接gazebo

记得都安装好后,

① 在APM源码中执行:

../Tools/autotest/sim_vehicle.py -f gazebo-iris --console --map
../Tools/autotest/sim_vehicle.py -f gazebo-iris --console --map -L Changsha

② 另开终端启动 gazebo:

gazebo --verbose worlds/iris_arducopter_runway.world

之后,QGC 会自动连接…

3. 更改 Home 点

如图所示 在 locations.txt 中添加新的定位点:

Changsha=28.197539,112.903970,0,0

在这里插入图片描述
执行命令:

../Tools/autotest/sim_vehicle.py -L Changsha -f x --console --map
../Tools/autotest/sim_vehicle.py -L Changsha -f Rover --console --map

在这里插入图片描述
已经修改完定位点了,连接QGC即可!

可以参考这个:

ArduPilot+mavros+gazebo+QGC 联合仿真初体验

03-09
<think>好的,我需要回答用户关于SITL(Software In The Loop)的使用教程配置指南的问题。首先,我得确保自己正确理解SITL的概念。根据用户提供的引用,SITL是一种软件在环模拟技术,允许在模拟环境中运行真实代码,比如在无人机开发中,PX4固件可以在Gazebo等模拟器中测试,而无需硬件[^1][^3][^4]。 接下来,我应该整理SITL的基本概念。用户提供的引用中提到,SITL通过硬件抽象层(如AP_HAL)实现跨平台兼容,模拟传感器硬件接口[^2]。这可能意味着配置时需要设置环境变量或特定库来模拟硬件。 然后,用户需要教程配置指南。根据引用,QGroundControl与AirSim的整合指南可能是一个起。同时,CrazySim的例子说明可能需要使用Gazebo模型预测控制进行测试。此外,PX4的SITL配置提到模拟器后台运行,只需轻量级进程重启,这减少了调试时间[^4]。 我需要分步骤解释配置过程。可能包括安装依赖项、下载固件、配置模拟器(如Gazebo)、设置环境变量、启动SITL实例,以及连接地面控制站如QGroundControl。还要提到调试技巧,比如快速重启PX4进程[^4]。 同时,用户可能遇到的问题包括环境配置错误、模拟器与固件版本不兼容,或者传感器数据模拟不准确。需要提醒用户检查日志,确保依赖项版本匹配,并参考官方文档。 最后,生成相关问题时要涵盖SITL的优势、硬件抽象层的作用、常用工具、调试技巧以及与HITL的区别。这些可以帮助用户进一步理解相关概念应用。</think>### Software In The Loop (SITL) 使用教程配置指南 #### 1. SITL 基本概念 SITL 是一种通过软件模拟硬件环境的测试方法,允许开发者在计算机上直接运行嵌入式代码(如无人机飞控系统),无需依赖物理硬件。其核心是通过硬件抽象层(如 AP_HAL)实现代码的跨平台兼容性,模拟传感器输入执行器输出。例如,PX4 飞控的 SITL 模式可在 Gazebo 或 AirSim 中运行,实时验证控制算法传感器数据处理逻辑[^3]。 #### 2. 配置步骤 **环境准备**(以 PX4-SITL 为例): 1. **安装依赖项**: ```bash sudo apt-get install git cmake python3-pip pip3 install px4tools ``` 2. **下载 PX4 固件**: ```bash git clone https://github.com/PX4/PX4-Autopilot.git cd PX4-Autopilot make submodulesclean ``` 3. **配置模拟器**(如 Gazebo): ```bash source Tools/setup_gazebo.bash make px4_sitl_default gazebo ``` 4. **启动 SITL 实例**: ```bash ./Tools/sitl_run.sh ./build/px4_sitl_default/bin/px4 none gazebo iris ``` 此时 Gazebo 将加载无人机模型,并显示传感器数据与控制信号。 **连接地面站**: - 使用 QGroundControl 连接本地 UDP 端口(默认 14550),实时监控飞行状态或发送指令。 #### 3. 调试与优化 - **快速迭代**:修改代码后仅需重启 PX4 进程,无需重新启动模拟器[^4]。 - **日志分析**:通过 `ulog` 文件记录飞行数据,使用 `pyulog` 工具解析异常。 - **传感器模拟**:在 `init.d-posix/rcS` 中调整模拟传感器的噪声参数,贴近真实场景。 #### 4. 典型问题 - **端口冲突**:若 QGroundControl 无法连接,检查防火墙或更换 UDP 端口。 - **依赖版本冲突**:确保 Gazebo 版本与 PX4 兼容(推荐 Gazebo 9 或 11)。 - **硬件抽象层配置**:若控制逻辑异常,检查 AP_HAL 的模拟执行器响应函数。 --- ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值