无人机仿真环境搭建-Ubuntu18.04安装PX4固件、ROS、gazebo、mavros

Ubuntu18.04安装PX4仿真环境、ROS、gazebo、mavros

本教程就是介绍一下在Ubuntu18.04中安装PX4仿真环境的步骤,之前写过一篇文章介绍过在16.04中安装的步骤,现在一些环境有变化,这里更新一下留个记录,首先打开PX4的开发者指导官网了解一下,可以按照网站上的说明进行安装,也可以按照下面的介绍一步一步安装
我们来看下Ubuntu各版本对应的gazebo关系,安装时要注意
各版本的对应关系如下:请注意ubuntu18对应melodic,ubuntu16对应kinetic
Ubuntu 14.04 Trusty Tahr - ROS Indigo Igloo - Gazebo 2.X 2014-2019
Ubuntu 16.04 Xenial Xerus - ROS Kinetic Kame - Gazebo 7.X 2016-2021
Ubuntu 18.04 Bionic Beaver - ROS Melodic Morenia - Gazebo 9.X 2018-2023

安装须知
  1. 了解需要安装各个软件的作用是什么,做到安装过程心中有数(废话😂),特别不建议使用官网中的可以同时安装PX4+ROS+mavros的脚本,这种脚本安装时极易出错,出错后还不知道哪个命令出错,特别是在国内这种网络环境下,建议使用脚本安装基础的环境,ROS和mavros可以单独安装,也并不麻烦,使用一个脚本安装出错找不到错在哪里才麻烦
  2. PX4固件是无人机的一个开源固件,用于无人机的控制,通常安装在飞控中,也可以安装在仿真环境中,这里介绍的就是仿真环境的搭建
  3. 还要选择自己需要安装的,比如可以安装PX4和gazebo而不安装ROS,直接通过mavlink协议控制仿真环境中的无人机,也可以全部都安装,通过ROS节点控制无人机(推荐安装ROS,尝试过不用ROS,本人才疏学浅,只会控制起飞降落,没法移动位置,实践中发送多次位置移动的mavlink命令都无效,想切换至offboard模式也报错,听说offboard模式需要不断发信号维持,不知原因,期待大佬解惑
  4. 国内网络环境下载有些东西会非常慢,可以自己想点办法,想不到办法又觉得太慢受不了的可以私聊😉
安装步骤
  1. 可以首先安装PX4固件的编译环境,再下载PX4固件源码进行编译,也可以先下载源码,再通过Firmware/Tools/setup文件夹下的环境安装脚本进行安装,如下图
    在这里插入图片描述
  2. PX4源码下载
    这里正常网络下载速度非常慢,而且下载速度长时间低于5k/s,会直接下载失败,建议想办法进行下载,下载后可以切换到其他版本
git clone https://github.com/PX4/Firmware.git --recursive

上面那个命令会同时下载多个文件,如果网络环境不好的话,建议分开下载,使用下面的命令

git clone https://github.com/PX4/Firmware.git
cd Firmware
git submodule update --init --recursive
  1. 安装仿真环境前要先执行这个命令sudo usermod -a -G dialout $USER,执行完后重启,下载完固件代码之后可以使用上图中显示的快捷脚本进行固件环境和仿真环境的安装,建议打开脚本看一下,有些脚本可以设置参数,比如ubuntu.sh就可以设置不安装仿真器,这里的建议是,如果不准备安装ROS环境,可以在这一步就将gazebo仿真器安装好,如果准备安装ROS环境的话,建议这一步先不安装gazebo仿真器,因为安装ROS完整版本的时候会自动安装合适的gazebo仿真器,安装完成后进入使用Firmware目录执行make posix_sitl_default测试一下是否能够编译成功
  2. ROS安装,ROS安装比较简单,参考官网说明,建议安装完整版本就是full版,这样gazebo9仿真器也同时安装了,安装完成后如果执行sudo rosdep init报错-没有此命令,可以执行sudo apt install rospack-tools,安装好后就可以执行之前的命令了
  3. 安装MAVROS,参考这里,建议使用二进制包安装,在参考里面将sudo apt-get install ros-kinetic-mavros ros-kinetic-mavros-extras换成ROS Melodic的版本sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras,数据集的安装使用上面介绍的方法如果运行之后报错了,可以试试换成执行这个脚本sudo /opt/ros/melodic/lib/mavros/install_geographiclib_datasets.sh,个人猜测可能是因为这个脚本是安装ROS环境自带的,跟当前ROS版本更适配,—>源码安装会非常的缓慢,还需要克隆两个库,国内网络环境就特别慢,不仅下载缓慢,编译过程更缓慢,不建议尝试,除非你是做mavros开发的
  4. 所有软件都安装完成以后,需要配置一下环境变量。然后重启终端就可以开始仿真了
export FIRMWARE_DIR={path_to_Firmware} #path_to_Firmware是你的firmware路径,如/home/zhanqx/PX4/Firmware
source $FIRMWARE_DIR/Tools/setup_gazebo.bash $FIRMWARE_DIR $FIRMWARE_DIR/build/posix_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$FIRMWARE_DIR
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$FIRMWARE_DIR/Tools/sitl_gazebo
报错总结
  1. 执行sudo rosdep init报错找不到此命令
    执行sudo apt install rospack-tools,安装完成后载执行sudo rosdep init
  2. 执行install_geographiclib_datasets.sh后运行roslanch报跟这个脚本有关的错误
    试试换成执行这个脚本sudo /opt/ros/melodic/lib/mavros/install_geographiclib_datasets.sh,执行完后再次启动仿真
  3. 安装后如果出现启动gazebo时报下面这个错误
error: gzserver: symbol lookup error: /usr/lib/x86_64-linux-gnu/libsdformat.so.4: undefined symbol: _ZN8ignition4math15SemanticVersionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

则执行下面这个命令更新一下一个依赖

sudo apt upgrade libignition-math2
  • 9
    点赞
  • 112
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是Ubuntu 18.04上安装ROS(Robot Operating System)Gazebo、MAVROS和PX4的教程: 1. 首先,确保你的Ubuntu 18.04系统已经更新到最新版本。打开终端并运行以下命令来更新系统: ``` sudo apt update sudo apt upgrade ``` 2. 安装必要的依赖项。在终端中运行以下命令: ``` sudo apt install build-essential cmake curl git sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool python-catkin-tools sudo rosdep init rosdep update ``` 3. 创建并初始化一个catkin工作空间。在终端中运行以下命令: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws catkin init ``` 4. 下载PX4代码和模拟器。在终端中运行以下命令: ``` cd ~/catkin_ws/src git clone https://github.com/PX4/Firmware.git --recursive ``` 5. 安装PX4依赖项。在终端中运行以下命令: ``` cd ~/catkin_ws/src/Firmware ./Tools/setup/ubuntu.sh --no-nuttx ``` 6. 编译PX4。在终端中运行以下命令: ``` cd ~/catkin_ws catkin build px4 -j4 ``` 7. 安装Gazebo和相关插件。在终端中运行以下命令: ``` sudo apt install gazebo9 libgazebo9-dev sudo apt install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control ``` 8. 安装Mavros。在终端中运行以下命令: ``` sudo apt install ros-melodic-mavros ros-melodic-mavros-extras ``` 9. 配置序列设备。在终端中运行以下命令: ``` wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh chmod +x install_geographiclib_datasets.sh sudo ./install_geographiclib_datasets.sh ``` 10. 测试安装是否成功。在终端中运行以下命令,启动Gazebo仿真环境和Mavros节点: ``` roslaunch px4 mavros_posix_sitl.launch ``` 希望以上教程对你有所帮助!如果有任何问题,请在评论中提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值