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 联合仿真初体验

### QGroundControl (QGC) 仿真使用教程 #### 1. 单机仿真的配置与运行 为了在 QGroundControl 中实现单机仿真,需按照 PX4 官方文档中的指导完成初步设置[^1]。具体操作如下: - 访问官方指南页面并参照说明搭建 Gazebo PX4 的开发环境。 - 执行以下命令启动单机仿真: ```bash make px4_sitl_default gazebo ``` 此过程会加载默认的无人机模型,并初始化仿真环境。 #### 2. 多机仿真的扩展 当单机仿真成功后,可进一步尝试多机仿真。以下是基于 XTDrone 平台的多机路径规划配置方法[^4]: - 创建自定义 launch 文件用于描述多个无人机实例。 - 将生成的 `multi_vehicle.launch` 文件复制至 PX4 固件目录下的 `launch` 文件夹中: ```bash cp ~/XTDrone/coordination/launch_generator/multi_vehicle.launch ~/PX4_Firmware/launch/ ``` - 启动多机仿真程序: ```bash cd ~/PX4_Firmware/ roslaunch px4 multi_vehicle.launch ``` #### 3. 实时调整控制器参数 除了基本的仿真功能外,QGC 还支持实时调整控制器参数以优化飞行性能[^3]。这一特性对于硬件在环仿真尤为重要。通过 RflySim 接口,可以将 Simulink 设计的控制模型参数导入 QGC,并允许用户动态修改这些参数。 #### 4. SITL 仿真的优势 SITL(Software In The Loop)是一种高效的测试工具,它能够将真实的飞行控制软件置于虚拟环境中运行[^2]。其主要优包括但不限于以下几个方面: - **安全性高**:无需实际飞行即可验证算法的有效性稳定性。 - **成本低廉**:减少了因物理损坏带来的经济负担。 - **灵活性强**:可以轻松模拟多种复杂场景,如不同天气条件、地形特征以及传感器噪声影响等。 --- ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值