Android 端 QGroundControl 控制 PC 端Gazebo Sim 仿真无人机

Android 端 QGroundControl 控制 PC 端Gazebo Sim 仿真无人机

  • 环境说明
  • 操作步骤
      • [一、根据 PX4 的开发文档,在电脑端安装 PX4-Autopilot](#一、根据 PX4 的开发文档,在电脑端安装 PX4-Autopilot)
      • [二、在电脑端安装 QGroundControl 软件](#二、在电脑端安装 QGroundControl 软件)
      • [三、Android 端安装 QGroundControl 软件](#三、Android 端安装 QGroundControl 软件)
      • [四、Android 端控制电脑端的 Gazebo Sim 软件中的无人机](#四、Android 端控制电脑端的 Gazebo Sim 软件中的无人机)

环境说明

电脑系统是 Ubuntu 22.04

手机是普通 Android 系统

操作步骤

一、根据 PX4 的开发文档,在电脑端安装 PX4-Autopilot

  1. 第一部是用 git 命令下载 PX4-Autopilot 的代码
    git clone https://github.com/PX4/PX4-Autopilot.git --recursive
  2. 执行 bash 命令
    bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
  3. 完成后重启计算机
  4. 构建模拟器目标,启动 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 软件

  1. 这个操作步骤比较简单,因为 QGroundControl 软件是一个编译好的 AppImage 包,直接下载即可,下载链接见后面官方文档

  2. 赋予执行权限
    chmod +x QGroundControl-<arch>.AppImage

  3. 直接运行
    ./QGroundControl-<arch>.AppImage

  4. 这样就在电脑端启动了 QGroundControl 软件,并且会自动的与电脑端的 Gazebo Sim 软件通信,在界面上显示无人机的一些状态信息

官方文档连接地址:
QGroundControl下载地址

三、Android 端安装 QGroundControl 软件

  1. 这个操作步骤更加简单,直接下载 apk 文件,手机安装就可以,下载链接和上一步一样

四、Android 端控制电脑端的 Gazebo Sim 软件中的无人机

  1. Gazebo Sim 软件启动后,同时 Ubuntu 的命令窗口会变成 Gazebo 的控制台,在控制台输入
    mavlink start -o 14550 -t 192.168.124.87 -p
    -o 是远端端口号
    -t 是 无人机 的 IP 地址,设置为电脑的 IP 就可以
    -p 是启动广播
    具体的参数见后面官方文档链接
  2. 手机端启动 App 程序,点击左上角图标标志,选择 Application Setting -> Comm Links -> Links 菜单
  3. 选择 Add New Link,在对话框中输入 Link 名字,Type 选择 UDP,Port 输入 14550, Server Address 输入电脑的 IP,点击 Save 保存配置。
  4. 点击连接,这样手机端就和电脑端的 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 无人机通信...