保姆级教程:在Ubuntu 20.04上搞定PX4固件v1.11.0与Gazebo仿真(附国内镜像加速)

发布时间:2026/5/18 18:12:33

保姆级教程:在Ubuntu 20.04上搞定PX4固件v1.11.0与Gazebo仿真(附国内镜像加速) 无人机仿真环境搭建实战PX4固件与Gazebo全流程指南第一次接触PX4无人机仿真时我被各种依赖冲突和网络问题折磨得焦头烂额。记得有一次为了等git submodule更新完成我不得不让电脑通宵运行。后来经过多次实践终于总结出一套在国内网络环境下快速搭建PX4仿真环境的可靠方法。本文将分享这些实战经验特别针对Ubuntu 20.04系统和PX4 v1.11.0固件版本帮你避开我踩过的所有坑。1. 系统准备与环境配置在开始PX4仿真环境搭建前确保你的Ubuntu 20.04系统已经完成基础配置。我强烈建议使用全新的Ubuntu安装避免已有软件包造成版本冲突。以下是经过验证的系统准备步骤关键系统要求Ubuntu 20.04 LTS64位至少4GB内存8GB以上更佳50GB可用磁盘空间稳定的网络连接首先更新系统软件包并安装基础工具sudo apt update sudo apt upgrade -y sudo apt install -y curl git wget cmake python3-pip提示使用-y参数可以避免安装过程中频繁确认但请确保你理解将要安装的软件包。为加速后续操作建议立即配置国内软件源。以下是替换为阿里云镜像源的方法sudo sed -i s|http://.*archive.ubuntu.com|https://mirrors.aliyun.com|g /etc/apt/sources.list sudo sed -i s|http://.*security.ubuntu.com|https://mirrors.aliyun.com|g /etc/apt/sources.list验证源是否生效sudo apt update如果更新速度明显提升说明镜像源配置成功。2. 依赖安装与加速方案PX4仿真环境依赖众多Python和系统库国内用户常因网络问题安装失败。下面是我总结的高效安装方案2.1 Python依赖加速安装使用国内PyPI镜像源可以极大提升pip安装速度。我推荐使用豆瓣源它的稳定性经过长期验证pip3 config set global.index-url http://pypi.douban.com/simple pip3 config set global.trusted-host pypi.douban.com安装核心Python依赖pip3 install --user pandas jinja2 empy toml numpy pyquaternion常见问题解决方案问题现象解决方法连接超时检查网络重试命令版本冲突添加--force-reinstall参数权限错误添加--user参数或使用虚拟环境2.2 系统级依赖安装Gazebo仿真需要以下系统库支持sudo apt install -y \ libgazebo9-dev \ libgstreamer-plugins-base1.0-dev \ protobuf-compiler \ libeigen3-dev注意Gazebo版本必须与PX4固件兼容v1.11.0推荐使用Gazebo 9。验证Gazebo安装gazebo --version正常应显示gazebo9及相关版本号。3. PX4固件获取与配置3.1 使用镜像加速克隆直接从GitHub克隆PX4固件在国内可能非常缓慢。我推荐使用CNPM镜像源加速git clone https://github.com.cnpmjs.org/PX4/Firmware.git mv Firmware PX4_Firmware cd PX4_Firmware切换到v1.11.0版本git checkout v1.11.03.2 子模块更新技巧子模块更新是安装过程中最容易出问题的环节。先修改.gitmodules文件中的URLsed -i s/github.com/github.com.cnpmjs.org/g .gitmodules然后执行子模块同步和更新git submodule sync git submodule update --init --recursive如果遇到特定子模块失败可以单独更新git submodule update --init Tools/sitl_gazebo4. 编译与仿真环境启动4.1 编译PX4固件使用以下命令编译SITL仿真环境make px4_sitl_default gazebo编译过程可能需要30分钟到1小时取决于硬件性能。常见编译问题解决CMake找不到Gazebo确保libgazebo9-dev已安装GStreamer相关错误安装libgstreamer-plugins-base1.0-dev内存不足增加swap空间或关闭其他程序4.2 启动Gazebo仿真编译成功后启动基础仿真source Tools/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default export ROS_PACKAGE_PATH$ROS_PACKAGE_PATH:$(pwd) export ROS_PACKAGE_PATH$ROS_PACKAGE_PATH:$(pwd)/Tools/sitl_gazebo roslaunch px4 posix_sitl.launch如果Gazebo界面无法打开尝试以下修复export SVGA_VGPU1005. 高级配置与问题排查5.1 仿真加速技巧为提高仿真效率可以关闭不必要的视觉效果在Gazebo界面选择View菜单取消勾选Shadows和Global Illumination降低Physics update rate到500Hz5.2 常见错误解决方案问题Ignition Fuel连接错误编辑配置文件mkdir -p ~/.ignition/fuel echo servers: - name: osrf url: https://api.ignitionrobotics.org ~/.ignition/fuel/config.yaml问题MAVROS连接失败检查MAVROS安装sudo apt install ros-melodic-mavros ros-melodic-mavros-extras5.3 性能优化建议对于低配机器可以尝试使用make px4_sitl_default none_iris启动无界面仿真降低仿真世界复杂度增加虚拟机内存分配如果使用VMware/VirtualBox记得定期清理编译中间文件make clean

相关新闻