1. 环境
Ubuntu 24.04 ROS2 Jazzy PX4 SITL Gazebo MAVROS2PX4 官方 Ubuntu 安装脚本支持 Ubuntu 24.04,并会安装 Gazebo Harmonic 和 PX4 编译工具链。
2. 安装基础依赖
sudo apt update sudo apt install -y git curl wget build-essential cmake ninja-build python3-pip python3-colcon-common-extensions3. 安装 PX4-Autopilot
cd ~ git clone https://github.com/PX4/PX4-Autopilot.git --recursive如果子模块没拉完整:
cd ~/PX4-Autopilot git submodule update --init --recursive安装 PX4 依赖:
cd ~ bash ./PX4-Autopilot/Tools/setup/ubuntu.sh重启:
sudo reboot4. 安装 MAVROS2
source /opt/ros/jazzy/setup.bash sudo apt update sudo apt install -y ros-jazzy-mavros ros-jazzy-mavros-extras安装 GeographicLib 数据:
cd ~ wget https://raw.githubusercontent.com/mavlink/mavros/ros2/mavros/scripts/install_geographiclib_datasets.sh chmod +x install_geographiclib_datasets.sh sudo ./install_geographiclib_datasets.sh如果下载失败,换这个:
cd ~ wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh chmod +x install_geographiclib_datasets.sh sudo ./install_geographiclib_datasets.sh5. 启动 PX4 SITL + Gazebo
终端 1:
cd ~/PX4-Autopilot make px4_sitl gz_x5006. 启动 MAVROS2
终端 2:
source /opt/ros/jazzy/setup.bash ros2 launch mavros px4.launch fcu_url:=udp://:14540@127.0.0.1:14557PX4 官方 MAVROS 仿真连接示例使用的也是udp://:14540@127.0.0.1:14557这种连接方式。
如果连不上,可以试:
ros2 launch mavros px4.launch fcu_url:=udp://:14540@7. 验证 MAVROS 是否连接成功
终端 3:
source /opt/ros/jazzy/setup.bash ros2 topic list | grep mavros查看连接状态:
ros2 topic echo /mavros/state如果看到:
connected: true说明 MAVROS 已经连接 PX4 SITL。
查看无人机本地位姿:
ros2 topic echo /mavros/local_position/pose查看 IMU:
ros2 topic echo /mavros/imu/data8. 每次使用的最短启动流程
终端 1:
cd ~/PX4-Autopilot make px4_sitl gz_x500终端 2:
source /opt/ros/jazzy/setup.bash ros2 launch mavros px4.launch fcu_url:=udp://:14540@127.0.0.1:14557终端 3:
source /opt/ros/jazzy/setup.bash ros2 topic echo /mavros/state ros2 topic echo /mavros/local_position/pose9. 常用 MAVROS 话题
/mavros/state /mavros/local_position/pose /mavros/local_position/velocity_local /mavros/local_position/odom /mavros/imu/data /mavros/setpoint_position/local /mavros/setpoint_velocity/cmd_vel /mavros/setpoint_raw/local /mavros/setpoint_raw/attitude常用服务:
ros2 service list | grep mavros常见服务:
/mavros/cmd/arming /mavros/set_mode