当前位置: 首页 > news >正文

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

  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 无人机通信…

http://www.dtcms.com/a/357082.html

相关文章:

  • 龙迅#LT7642GX适用于4路HDMI2.1/DP/TPYE-C转HDMI+LVDS/MIPI混合开关应用,分辨率高达8K30HZ !
  • ADFS 和 OAuth 的区别
  • 第三届机械工程与先进制造智能化技术研讨会(MEAMIT2025)
  • 打造企业内部的“技术桥梁”:超级用户机制如何助力制造企业高效运维
  • “聚势同行・创赢未来”淮南高新区科技型企业沙龙——2025大数据企业专场成功举办
  • 解决RTX3070魔改16G在UBUNTU中黑屏问题
  • AI模型库哪个好?2025年主流AI模型选型指南与API成本对比推荐
  • 在现场把“数据”变成可用的力量 —— 谈EG8200Lite的实战价值
  • 七牛云灵矽AI实践:构建可扩展智能体的开放协议与架构
  • C++实现快速反转一个数的算法
  • “上门做饭”平台的核心技术栈与运营壁垒是什么?
  • linux系统学习(13.系统管理)
  • 【混合开发】Android+webview模拟crash崩溃补充说明
  • Electron 项目来实现文件下载和上传功能(AI)
  • Martin Fowler分享了他对大语言模型(LLM)与软件开发现状的一些思考
  • 【机器学习深度学习】Embedding 与 RAG:让 AI 更“聪明”的秘密
  • AC上网行为安全管理
  • 【完整源码+数据集+部署教程】停车位状态检测系统源码和数据集:改进yolo11-DCNV2-Dynamic
  • 深入理解会话状态管理:多轮对话与API最佳实践
  • 【AI】常见8大LLM大语言模型地址
  • 什么是策略模式?策略模式能带来什么?——策略模式深度解析:从概念本质到Java实战的全维度指南
  • VisualStudio 将xlsx文件嵌入到资源中访问时变String?
  • Apache服务器IP 自动跳转域名教程​
  • 前端网页源码模板 静态HTML源码网站
  • Dubbo 接口调用中使用 CompletableFuture 实现回调模式 非阻塞异步模式
  • SQL-Server分页查询多种方法讲解以及分页存储过程
  • 如何制作手感良好的移动算法?
  • 自动驾驶感知范式迁移:从BEV/向量化到高斯建模
  • Vue中的事件修饰符
  • uni-app 常用钩子函数:从场景到实战,掌握开发核心