【保姆级学习笔记】ROS2+PX4+gazebo进行无人机集群仿真环境搭建

本文作为作者的学习笔记使用,初学ubuntu操作系统和ros2,遇到了很多意想不到的问题,现在边做论文边把流程整理下来,以供之后学习使用。ubuntu系统版本为20.04,PX4版本为v1.14,ros2版本为Foxy。

前置系统配置

1. 新建虚拟机设置

        (1)一般把内存改为40GB(默认20GB),运行内存调到推荐最大(之前会出现运行内存不够然后代码报错的情况),cpu改成4核(编译的更快)。

        (2)更改主机host,让系统连接github更稳定(不改的话我这边大概率上不去非常折磨)。具体方法参见文末参考文章【1】。

2.设置中文输入法及中文界面(个人喜好)

        右上角下三角号->settings->Region & Language->Manage Installed Languages->Chinese(Simplified)添加完成后在主界面将语言改为汉语,输入法改为汉语拼音即可。

一、ROS2安装与配置 

        小鱼一键安装ros(包括换源操作,十分方便)

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

根据安装提示即可成功安装ros2-foxy。

二、PX4安装与配置

 1.安装PX4:

mkdir PX4
cd  PX4
git clone https://github.com/PX4/PX4-Autopilot.git --recursive 
#下载px4源码,注意--recursive,起到作用是把所有代码都下载下来,编译的时候不会出现依赖缺失
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
cd PX4-Autopilot/
make px4_sitl

2.为了使ROS 2与PX4通信,安装Micro XRCE-DDS代理和客户端:

(1)首先升级cmake,我的默认版本会报错:

去cmake官网去下载压缩包,官网地址:https://cmake.org/download/

我这里下载的是3.30.8版本

下载完成后执行代码安装:

tar -zxvf cmake-3.30.8-linux-x86_64.tar.gz
sudo mv cmake-3.30.8-linux-x86_64 /usr/share/cmake-3.30.8
sudo ln -sf /usr/share/cmake-3.30.8/bin/cmake /usr/bin/cmake

 使用cmake --version进行版本号查询,显示为v3.30.8。

(2)安装Micro XRCE-DDS代理和客户端(这里要确保稳定连接github不然会报错):

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/

安装完成后用 下面命令进行检查:

MicroXRCEAgent udp4 -p 8888

若出现错误,大概率是因为搜索不到库。执行下面的操作:

sudo apt-get install vim
sudo vim /etc/ld.so.conf
在文件末尾添加/usr/local/lib/
保存并关闭文件后,在终端执行sudo ldconfig来更新库缓存

vim中的操作是按i键进入编辑模式,编辑好以后按esc键,输入:":qw"保存退出(不用输入双引号) 

 在上面安装的 PX4 Autopilot 仓库的根目录中打开一个新终端(注意之前的启动代理的终端不要关),执行下面代码启动gazebo:

make px4_sitl gazebo-classic

3.构建工作区

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

 将 ROS 2 开发环境源化到当前终端中,

cd ..
source /opt/ros/foxy/setup.bash
colcon build

4.运行示例:

新终端中导航到工作区目录的顶层并获取 ROS 2 环境:

cd ~/ws_sensor_combined/
source /opt/ros/foxy/setup.bash
source install/local_setup.bash
ros2 launch px4_ros_com sensor_combined_listener.launch.py

最后出现下如所示界面即为成功 :

参考: 【1】提高ubuntu下访问github的速度

            ​​​​​​【2】ROS2+PX4 开发笔记

            【3】PX4的ROS2用户指南

对于Gazebo教程中的无人机部分,你可以根据以下步骤进行操作。首先,确保你已经安装了ROSGazebo插件。对于Melodic版本,你可以执行以下命令进行安装:sudo apt install ros-melodic-gazebo-*。如果你使用的是Kinetic版本,则执行sudo apt install ros-kinetic-gazebo9-*。这样就可以获取到Gazebo模型。 接下来,你可以根据古月居大神Judez的教程进行仿真。根据你提供的引用,你可以跟随他的教程来模拟无人机。确保你已经按照教程中的步骤进行了设置,并且已经获取到了Gazebo模型。如果你遇到了一些问题,例如无人机无法显示在Gazebo中或者启动仿真没有反应,你可以尝试修改启动仿真语句。根据你提供的引用中的说明,你可以使用以下命令进行启动仿真:roslaunch rotors_gazebo multi_mav_formation.launch mav_name:=firefly world_name:=basic。这样应该可以让无人机飞起来。 如果你在使用Gazebo过程中遇到了报错,例如你提供的引用中的错误信息,你可以尝试解决这个问题。根据你提供的错误信息,这个错误可能是由于虚拟机设置的问题导致的。你可以尝试检查虚拟机的设置,并根据需要进行一些调整以解决这个问题。 总结起来,如果你想学习Gazebo教程中的无人机部分,你需要安装ROSGazebo插件,并按照教程进行设置和操作。如果遇到问题,你可以尝试修改启动仿真语句或者检查虚拟机的设置以解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值