PX4 无人机开发全流程指南:本地开发 + FTP 同步 + 云端编译与模拟,打造高效工作流!
完整流程:PX4 开发与测试从本地到云端的协同操作
1. 本地开发环境配置(Windows)
安装必要工具
- VSCode:作为主要开发工具,安装以下插件:
- Remote - SSH
- GitLens
- C/C++
- Git 客户端:下载并安装 Git for Windows。
- FTP 客户端:安装 WinSCP 或 FileZilla,用于上传代码到云服务器。
- Python 环境:安装 Python 3.8 或以上版本(建议用 Anaconda)。
- VSCode:作为主要开发工具,安装以下插件:
开发代码
- 在本地通过 VSCode 编辑 PX4 源码。
- 使用 Git 管理代码版本(可选,便于备份至 GitHub 或其他版本控制平台)。
上传代码至云服务器
- 打开 FTP 客户端(WinSCP 或 FileZilla)。
- 将本地开发的代码目录上传至云服务器的工作目录,例如
~/PX4-Workspace
。
2. 云服务器环境配置(Ubuntu 22.04)
首次配置(如未完成)
安装 PX4 工具链及依赖:
bashsudo apt update && sudo apt upgrade -y sudo apt install git cmake build-essential genromfs ninja-build -y bash ~/PX4-Autopilot/Tools/setup/ubuntu.sh
确保 SSH 和 FTP 服务可用:
bashsudo apt install openssh-server vsftpd -y sudo systemctl enable ssh sudo systemctl start ssh sudo systemctl enable vsftpd sudo systemctl start vsftpd
代码接收与更新
- 通过 SSH 登录云服务器:bash
ssh <your-user>@<server-ip>
- 确认 FTP 上传的文件:bash
cd ~/PX4-Workspace ls -la
- 将代码移动到目标目录(例如
~/PX4-Autopilot
):bashrm -rf ~/PX4-Autopilot/* mv ~/PX4-Workspace/* ~/PX4-Autopilot/
- 通过 SSH 登录云服务器:
编译 PX4
- 进入代码目录并清理旧的编译文件:bash
cd ~/PX4-Autopilot make clean
- 编译 PX4 固件:bash
make px4_sitl gazebo
- 进入代码目录并清理旧的编译文件:
3. 模拟飞行测试
启动模拟器
- 启动 PX4 和 Gazebo:bash
make px4_sitl gazebo
- 如果使用轻量级模拟器 JMAVSim:bash
make px4_sitl jmavsim
- 启动 PX4 和 Gazebo:
连接地面站软件(QGroundControl)
- 在本地设备(Windows)运行 QGroundControl。
- 配置地面站连接:
- 打开 QGroundControl → 通信设置 → 添加云服务器 IP 和端口(默认 UDP
14560
)。
- 打开 QGroundControl → 通信设置 → 添加云服务器 IP 和端口(默认 UDP
监控飞行状态
- 在 QGroundControl 中检查无人机的状态、传感器数据和飞行路径。
4. 日志记录与问题排查
保存运行日志
- 启动模拟时记录日志:bash
make px4_sitl gazebo > simulation_log.txt 2>&1
- 启动模拟时记录日志:
分析日志
- 下载日志到本地进行分析:bash
scp <your-user>@<server-ip>:~/PX4-Autopilot/simulation_log.txt .
- 下载日志到本地进行分析:
流程概览:图解
本地开发设备(Windows)
- 使用 VSCode 编写代码。
- 通过 FTP 上传代码至云服务器。
云服务器(Ubuntu)
- 接收并更新代码。
- 清理旧编译文件,重新编译。
- 启动模拟器进行测试。
地面站监控(Windows)
- 运行 QGroundControl,连接到云服务器 SITL 环境。
- 监控无人机飞行状态。
优化建议
使用
rsync
替代 FTP- 提升文件同步效率:bash
rsync -avz ~/PX4-Workspace/ <your-user>@<server-ip>:~/PX4-Autopilot/
- 提升文件同步效率:
自动化脚本
- 编写脚本简化云服务器操作:bash
# 自动同步、编译和启动模拟器 rsync -avz ~/PX4-Workspace/ <your-user>@<server-ip>:~/PX4-Autopilot/ ssh <your-user>@<server-ip> << EOF cd ~/PX4-Autopilot make clean make px4_sitl gazebo EOF
- 编写脚本简化云服务器操作:
工具清单与安装命令
工具 | 用途 | 安装命令 |
---|---|---|
vsftpd | 配置云服务器 FTP 服务 | sudo apt install vsftpd |
rsync | 高效同步文件 | sudo apt install rsync |
gazebo | 3D 模拟器 | 官方文档:PX4 Setup Script |
jmavsim | 轻量模拟器 | 默认包含在 PX4 构建环境中 |
QGroundControl | 地面站监控模拟器 | 下载地址:QGroundControl |
通过以上流程,您可以充分利用本地和云端的硬件资源,实现高效的 PX4 无人机开发与测试工作流。
全部 0条评论