avatar
文章
13
标签
22
分类
6
Home
about
tags
categories
RL-learning
photos
LogoAttic的博客ros2-px4联合仿真环境配置1 返回首页
搜索
Home
about
tags
categories
RL-learning
photos

ros2-px4联合仿真环境配置1

发表于2026-03-16|更新于2026-03-18|ubuntuROS2
|浏览量:

ROS2 安装以及相关环境配置

推荐使用鱼香ROS一键安装

1
wget http://fishros.com/install -O fishros && . fishros

按照文字提示操作

注意现在各大镜像源大部分都没有ros2 foxy的镜像,需要在官方源下载

1
2
3
4
sudo apt install python3-pip
sudo apt install git

pip3 install empy==3.3.4 # 固定empy版本为3.3.4

PX4环境配置

下载PX4代码及其子模块

1
git clone https://github.com/PX4/PX4-Autopilot.git --recursive

再次确认是否下载完全

1
2
3
cd PX4-Autopilot

git submodule update --init –recursive

安装完成后可以查看飞控代码版本

1
2
cd PX4-Autopilot/
git describe --tags

我选择切换到了1.16稳定版来开发,这个可选可不选

1
2
3
git fetch --tags
git checkout v1.16.0
git submodule update --init --recursive

使用PX4脚本自动部署

1
bash ./Tools/setup/ubuntu.sh

运行仿真

1
make px4_sitl gz_x500

PX4-gazebo
PX4-GAZEBO
控制台报错是因为没有连上地面站

1
WARN  [health_and_arming_checks] Preflight Fail: No connection to the ground control station

QGC地面站安装

QGC下载地址:https://github.com/mavlink/qgroundcontrol/releases

ubuntu下载 AppImage

1
2
chmod +x ./QGroundControl-x86_64.AppImage
./QGroundControl-x86_64.AppImage

安装 XRCE_DDS

1
git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
1
2
cd Micro-XRCE-DDS-Agent/
git describe --tags

注意根据PX4飞控版本来安装对应版本的XRCE_DDS,这里PX4版本是1.16,安装3.01

编译

1
2
3
4
5
6
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig /usr/local/lib/

安装mavros

1
2
3
4
5
6
7
# 1. 安装MAVROS主包和扩展包
sudo apt install ros-humble-mavros ros-humble-mavros-extras

# 2. 下载并运行GeographicLib数据集安装脚本 可能需要比较长时间
wget https://raw.githubusercontent.com/mavlink/mavros/ros2/mavros/scripts/install_geographiclib_datasets.sh
chmod a+x install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh

安装两个px4的模板库

开一个新文件夹来放这两个库

1
2
3
4
5
6
7
8
mkdir -p ~/ws_ros2/src/
cd ~/ws_ros2/src/

#下载两个官方源代码,px4_msgs和PX4官方提供的控制示例代码
git clone https://github.com/PX4/px4_msgs.git

git clone https://github.com/PX4/px4_ros_com.git

注意这部分要根据github上的提示根据自己的PX4版本和ROS版本以及Ubuntu版本来下载

进入文件夹然后编译

1
2
cd ws_ros2
colcon build

设置环境变量

1
echo "source ~/ws_ros2/install/setup.bash" >> ~/.bashrc # 这里填你创建的文件夹的路径

关掉终端重启或者更新一下环境变量

1
source ~/.bashrc #更新环境变量

开始SITL仿真

1
2
3
4
5
6
7
8
9
10
11
12
13
# 1. 进入PX4目录
cd PX4-Autopilot
# 1.2 启动SITL程序
./build/px4_sitl_default/bin/px4
# 2.启动QGC
./QGroundControl-x86_64.AppImage #双击启动也可以
# 启动之后应该看得见飞机在地图上显示

# 3.新开一个终端,启动XRCE_DDS
MicroXRCEAgent udp4 -p 8888

# 4.新开一个终端,运行官方示例文件
ros2 run px4_ros_com offboard_control

此时应该看得见飞机起飞0.5m

PX4-gazebo

教程完结,后续再深入

文章作者: Attic
文章链接: https://osaerialrobot.top/2026/03/16/ros2-px4-1/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Attic的博客!
ROS2px4gazebo
下一篇
人生苦长我用jax
为什么选择 JAX?JAX 是 Google 开发的数值计算库,具有以下特点: 函数式编程:所有函数都是纯函数,没有副作用 即时编译(JIT):通过 @jit 装饰器可以将 Python 代码编译成高效的 XLA 汇编 自动微分:通过 grad、value_and_grad 等函数自动计算梯度 向量化:通过 vmap、pmap 轻松实现批量和分布式计算 GPU/TPU 支持:可以在 GPU 和 TPU 上运行 Flax 基础什么是 Flax?Flax 是 JAX 上最流行的神经网络库,它提供了一种声明式的方式来定义神经网络。 核心概念 nn.Module:所有神经网络的基类 @nn.compact:装饰器,用于定义网络结构(在 __call__ 方法内部定义子层) nn.Dense:全连接层 nn.Conv:卷积层 nn.GroupNorm:组归一化 if (typeof lightGallery !== 'undefined') { var options = { selector: '.gallery-item' ...
avatar
Attic
帝都苦苦挣扎的PhD
文章
13
标签
22
分类
6
公告
机器人描述文件查看 学术会议查询
目录
  1. 1. ROS2 安装以及相关环境配置
  2. 2. PX4环境配置
  3. 3. QGC地面站安装
  4. 4. 安装 XRCE_DDS
  5. 5. 安装mavros
  6. 6. 安装两个px4的模板库
  7. 7. 开始SITL仿真
最新文章
ros2-px4联合仿真环境配置1
ros2-px4联合仿真环境配置12026-03-18
希望我能完成这个庞大的项目2026-03-16
人生苦长我用jax2026-03-11
计算机教育缺失的一课2026-03-03
Lazyvim 配置中的 tree-sitter兼容问题解决
Lazyvim 配置中的 tree-sitter兼容问题解决2026-01-17
© 2025 - 2026 By Attic框架 Hexo 8.1.1|主题 Butterfly 5.5.3
赣ICP备2025057989号-1  |  京公网安备11011402054558号
搜索
数据加载中