说明:本案例仅仅是跑通了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的联合仿真环境的目标实现。最终的界面如下图所示:文章来源:https://www.toymoban.com/news/detail-861795.html
文章来源地址https://www.toymoban.com/news/detail-861795.html
到了这里,关于在ubuntu22.04(LTS)上搭建ROS2+PX4+Gazebo的联合仿真环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!