欢迎来到PX4仿真环境搭建系列第5篇!本文将手把手教你如何在Ubuntu 22.04 ROS2 Humble系统上搭建完整的无人机仿真平台,并使用MicroXRCE-DDS Agent实现ROS2与PX4的通信。无论你是初学者还是有一定经验的开发者,都能通过本教程快速拥有自己的无人机仿真搭建环境。
首先确保你的系统是Ubuntu 22.04,并已更新软件包:
sudo apt update && sudo apt upgrade -y 安装必要的编译工具和依赖:
sudo apt install -y git zip cmake build-essential genromfs ninja-build exiftoolsudo apt install -y python3-pip python3-venv python3-jinja2pip3 install --user kconfiglib 如果你的系统中还没有ROS2 Humble,请按照以下步骤安装(已安装可跳过):
sudo apt install software-properties-commonsudo add-apt-repository universesudo apt update && sudo apt install curl -ysudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/nullsudo apt updatesudo apt install ros-humble-desktop python3-argcompletesudo apt install ros-dev-tools 设置环境变量:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrcsource ~/.bashrc MicroXRCE-DDS Agent是ROS2与PX4之间通信的桥梁。我们从源码编译安装:
cd ~git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.gitcd Micro-XRCE-DDS-Agentmkdir build && cd buildcmake ..make -j$(nproc)sudo make installsudo ldconfig /usr/local/lib/ 安装完成后,你可以通过以下命令启动Agent(默认端口为8888):
MicroXRCEAgent udp4 -p 8888 稍后在仿真中需要保持Agent运行。
创建PX4工作空间并克隆代码:
cd ~mkdir -p ~/PX4_Autopilotcd PX4_Autopilotgit clone https://github.com/PX4/PX4-Autopilot.git --recursive 运行自动化安装脚本(会安装额外依赖,如QGroundControl、Java等):
cd PX4-Autopilotbash ./Tools/setup/ubuntu.sh 脚本执行完毕后,编译PX4固件:
make px4_sitl 首次编译可能需要较长时间,请耐心等待。编译成功后会启动一个终端窗口运行仿真,但此时还未与ROS2连接。
为了让PX4仿真环境与ROS2通信,我们需要使用MicroXRCE-DDS Agent,并在PX4中启用相应的客户端。首先打开一个新的终端,启动Agent:
MicroXRCEAgent udp4 -p 8888 在另一个终端启动PX4仿真(SITL):
cd ~/PX4_Autopilot/PX4-Autopilotmake px4_sitl jmavsim 此时仿真界面打开,但还需要在PX4控制台(运行make的终端)中启动MicroXRCE客户端。输入以下命令:
microdds_client start -t udp -h 127.0.0.1 -p 8888 如果看到“Client connected”信息,说明桥接成功!
打开一个新终端,source ROS2环境:
source /opt/ros/humble/setup.bash 查看当前ROS2话题列表:
ros2 topic list 你应该能看到类似 /fmu/in/ 和 /fmu/out/ 的话题,证明数据正在通过MicroXRCE-DDS Agent传输。至此,你的无人机仿真搭建已完成!
sudo lsof -i:8888 查看。make distclean 后重新编译。恭喜!你已经成功在Ubuntu 22.04 ROS2 Humble上搭建了完整的PX4仿真环境,并通过MicroXRCE-DDS Agent实现了与ROS2的通信。现在可以开始编写你的无人机应用了!
本文由主机测评网于2026-02-26发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260227390.html