Android 端 QGroundControl 控制 PC 端Gazebo Sim 仿真无人机
Android 端 QGroundControl 控制 PC 端Gazebo Sim 仿真无人机
- 环境说明
- 操作步骤
- 一、根据 PX4 的开发文档,在电脑端安装 PX4-Autopilot
- 二、在电脑端安装 QGroundControl 软件
- 三、Android 端安装 QGroundControl 软件
- 四、Android 端控制电脑端的 Gazebo Sim 软件中的无人机
环境说明
电脑系统是 Ubuntu 22.04
手机是普通 Android 系统
操作步骤
一、根据 PX4 的开发文档,在电脑端安装 PX4-Autopilot
- 第一部是用 git 命令下载 PX4-Autopilot 的代码
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
- 执行 bash 命令
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
- 完成后重启计算机
- 构建模拟器目标,启动 PX4 控制台以及 Gazebo Sim 仿真软件
make px4_sitl gz_x500
到这里就完成了第一步操作,而且桌面上启动了 Gazebo Sim 软件,并且软件中有一个无人机
PS: 我用 Ubuntu 20.04 的版本执行命令时,make px4_sitl gz_x500 会执行失败,提示少一些依赖,但是 Ubuntu 22.04 直接编译通过,不需要再安装什么,这一点文档中也有说明。
官方文档连接地址:
Ubuntu LTS/Debian Linux 的开发环境
构建 PX4 软件
二、在电脑端安装 QGroundControl 软件
-
这个操作步骤比较简单,因为 QGroundControl 软件是一个编译好的 AppImage 包,直接下载即可,下载链接见后面官方文档
-
赋予执行权限
chmod +x QGroundControl-<arch>.AppImage
-
直接运行
./QGroundControl-<arch>.AppImage
-
这样就在电脑端启动了 QGroundControl 软件,并且会自动的与电脑端的 Gazebo Sim 软件通信,在界面上显示无人机的一些状态信息
官方文档连接地址:
QGroundControl下载地址
三、Android 端安装 QGroundControl 软件
- 这个操作步骤更加简单,直接下载 apk 文件,手机安装就可以,下载链接和上一步一样
四、Android 端控制电脑端的 Gazebo Sim 软件中的无人机
- Gazebo Sim 软件启动后,同时 Ubuntu 的命令窗口会变成 Gazebo 的控制台,在控制台输入
mavlink start -o 14550 -t 192.168.124.87 -p
-o 是远端端口号
-t 是 无人机 的 IP 地址,设置为电脑的 IP 就可以
-p 是启动广播
具体的参数见后面官方文档链接 - 手机端启动 App 程序,点击左上角图标标志,选择 Application Setting -> Comm Links -> Links 菜单
- 选择 Add New Link,在对话框中输入 Link 名字,Type 选择 UDP,Port 输入 14550, Server Address 输入电脑的 IP,点击 Save 保存配置。
- 点击连接,这样手机端就和电脑端的 Gazebo 控制台的无人机建立通信了
PS: ① 这一步倒是折腾了不少,一开始我是在 Window 电脑的虚拟机中启动 Gazebo 软件,这就涉及到手机如何和虚拟机通信,毕竟手机只是和 Window 电脑同一局域网,又不和虚拟机在统一局域网,所以一直没调通,才换的 Ubuntu 电脑
② Gazebo 软件启动后,默认 IP 地址是 127.0.0.1,找修改 Gazebo 无人机 IP 的地方又折腾半天,最后才发现命令窗口变成了控制台,可以在控制台输入相关命令
③ 如果mavlink start -o 14550 -t 192.168.124.87 -p
命令中,不加 -p 配置,手机也是收不到电脑端 Gazebo 无人机消息的
官方文档连接地址: PX4 模块&命令
后续步骤是调试 Android 端的代码,分析 Android 端怎样与 Gazebo 无人机通信…