在ubuntu22.04(LTS)上搭建ROS2+PX4+Gazebo的联合仿真环境

说明:本案例仅仅是跑通了ROS2+PX4+Gazebo的联合仿真,还没有实现使用键盘控制无人机飞行(以后会补充)。

目录

1.准备工作

2.安装PX4仿真工具链

3.安装ROS2

4.安装ROS2的相关依赖

5.安装XRCE-DDS代理(AGENT)

6.创建ROS2工作空间并生成代码样例

7.运行XRCE代理

8.编译PX4固件并运行


1.准备工作

(1)确保网络能够顺畅连接到github;

(2)确保EmPy库的版本是3.3.4,否则会在colcon build的时候出现问题。现在安装ubuntu22.04更新后的EmPy版本是4.0。EmPy 是一个强大、稳健且成熟的模板系统,用于在模板文本中插入 Python 代码(详细介绍见empy · PyPI)。EmPy库从4.0退回到3.3.4版本的方法就是从ubuntu终端中卸载了重装,使用如下命令:

pip3 uninstall empy
pip3 install empy==3.3.4

在Ubuntu下多种开源软件联合工作,各种版本不匹配而导致问题是最常见的。

(3)已经安装好了git工具,检查方法是在终端输入如下命令:

git --version

如果反馈了git的版本号,则表示已经安装好了,如果反馈“command not found”或类似的错误消息,则表示还未安装git工具,可以使用如下命令安装:

sudo apt update
sudo apt upgrade
sudo apt install git

2.安装PX4仿真工具链

安装PX4仿真工具链使用如下命令:

git clone https://github.com/PX4/PX4-Autopilot.git --recursive
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
sudo reboot

reboot命令是重启电脑,执行该命令之前要做好资料保存工作。

到此,PX4的下载及环境设置工作完成。

3.安装ROS2

ROS2的安装过程详见:ubuntu操作系统下ROS2的安装和卸载-CSDN博客

4.安装ROS2的相关依赖

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
pip3 install --user empy==3.3.4 pyros-genmsg setuptools
sudo apt install python3-colcon-common-extensions
sudo apt install ros-humble-desktop python3-argcomplete
sudo apt install ros-dev-tools

到此,相关依赖安装完成。 

5.安装XRCE-DDS代理(AGENT)

XRCE-DDS是ROS2下节点之间的通信协议,使用如下命令进行安装:

git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
cd Micro-XRCE-DDS-Agent
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig /usr/local/lib/

到此,XRCE-DDS代理安装完成。

6.创建ROS2工作空间并生成代码样例

mkdir -p ~/ws_ros2/src/
cd ~/ws_ros2/src/
git clone https://github.com/PX4/px4_msgs.git

 

git clone https://github.com/PX4/px4_ros_com.git
cd ..
colcon build

到此,工作空间及代码样例创建完成,如果编译出错,可能是网速不好导致中间下载不成功。可以尝试重新编译。

7.运行XRCE代理

MicroXRCEAgent udp4 -p 8888

8.编译PX4固件并运行

仿真用的PX4固件通常称为软在环固件(PX4 firmware for SITL),使用如下命令实现:

cd ~/PX4-Autopilot
make px4_sitl gz_x500

注意:不同的ubuntu操作系统,使用的参数可能不同,比如ubuntu20 下使用: make px4_sitl gazebo-classic。

到此,在ubuntu22.04(LTS)上搭建ROS2+PX4+Gazebo的联合仿真环境的目标实现。最终的界面如下图所示:

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易知世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值