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

2023-05-16

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Python 实现 Dijkstar 路径规划算法

    Dijstar 最短路径算法 用于计算起始点到最终点的最短路径 一般采用的是贪心算法策略 原理可以参考 图解 Open list 和 close list 环境 Terminal 需要预先安装两个库 matplotlib 和 math pi
  • 使用WTGAHRS2(JY-GPSIMU)在ROS中读取数据并发布话题

    目录 IMU简介 驱动程序 IMU串口通信协议 程序 效果 IMU简介 十轴惯性导航传感器WTGAHRS2传感器集成高精度的陀螺仪 加速度计 地磁场传感器 GPS 模块 采用高性能的微处理器和先进的动力学解算与卡尔曼动态滤波算法 能够快速求
  • ROS中使用VLP16激光雷达获取点云数据

    ROS中使用VLP16激光雷达获取点云数据 个人博客地址 本文测试环境为 Ubuntu20 04 ROS Noetic 需要将激光雷达与PC连接 然后在设置 gt 网络 gt 有线中将IPv4改为手动 并且地址为192 168 1 100
  • 无人驾驶论坛

    1 百度Apollo论坛 http www 51apollo com 2 人工智能中文资讯网 http www ailab cn
  • ROS2踩坑记录

    Vscode 显示 找不到module 以此选择 设置 Python 在setting json中编辑 在 python autoComplete extraPaths 中添加额外的第三方库路径 如 opt ros foxy lib pyt
  • Ubuntu16.04安装ROS Kinetic详细步骤

    文章目录 ROS安装 配置Ubuntu软件仓库 设置sources list 设置密钥 更新Debian软件包索引 安装ROS 初始化 rosdep 环境配置 构建工厂依赖 测试安装 开发环境 ROS安装 ROS Kinetic只支持Wil
  • Ubuntu下vscode配置ROS环境

    摘要 最近准备放弃用clion开发ROS使用更主流的vscode 整理一下在ubuntu18 04下的VSCode安装和ROS环境配置流程 安装 方法一 软件商店安装 个人还是推荐使用ubuntu软件下载vscode 简单不容易出错 方法二
  • 清华大学开源软件镜像站网址

    清华大学 TUNA 协会原名清华大学学生网管会 注册名清华大学学生网络与开源软件协会 是由清华大学网络技术和开源软件爱好者 技术宅组成的团体 现阶段向校内外提供开源软件镜像等服务 清华大学 TUNA 协会清华大学 TUNA 协会原名清华大学
  • 激光雷达LMS111在ROS上的使用

    LMS111 10100 在ROS上的测试与使用 准备工作 设备 硬件 LMS111 101000激光雷达 软件 ubuntu16 04 ROS 开始 设备连接 将激光雷达与处理器 电脑 工控机等 通过以太网连接好 激光雷达默认的IP地址为
  • 在Ubuntu 14.04.2 LTS上安装Qt

    Qt是一个跨平台的应用程序框架 广泛用于开发具有GUI界面的应用软件以及命令行工具 几乎所有操作系统都可以使用Qt 如Windows Mac OS X Android等 用于开发Qt应用程序的主要编程语言是C 但是可以使用诸如Python
  • rosprofiler 安装和使用

    rosprofiler wiki 页面 http wiki ros org rosprofiler rosprofiler package 下载rosprofiler和ros statistics msgs 放到工程目录下编译 https
  • Raspberry Pi 上 ROS 服务器/客户端通过GPIO 驱动硬件

    ROS 服务 现在 想象一下你在你的电脑后面 你想从这个服务中获取天气 你 在你身边 被认为是客户端 在线天气服务是服务器 您将能够通过带有 URL 的 HTTP 请求访问服务器 将 HTTP URL 视为 ROS 服务 首先 您的计算机将
  • 局域网下ROS多机通信的网络连接配置

    1 在路由器设置中固定各机器IP地址 在浏览器中输入路由器的IP地址 例如TP LINK路由器的IP为 192 168 1 1 进入登录页面后 输入用户名和密码登录 用户名一般为admin 密码为自定义 在 基本设置 gt LAN设置 gt
  • 如何将视频或图像序列转换为包文件?

    我是 ROS 新手 我需要转换预先存在的视频文件 或者large可以连接到视频流中的图像数量 bagROS 中的文件 我在网上找到了这段代码 http answers ros org question 11537 creating a ba
  • 在 Python 3 中导入 Rosbag

    我正在尝试从 Python 3 读取 rosbag 文件 我安装了 ROS2 Eloquent Elusor 它应该支持 Python 3 当我跑步时 import rosbag bag rosbag Bag test bag 从Pytho
  • Caught exception in launch(see debug for traceback)

    Caught exception in launch see debug for traceback Caught exception when trying to load file of format xml Caught except
  • 在 Ubuntu 18.10 上安装 ROS Melodic

    I can t是唯一对 Cosmic 与 Wayland 和 Melodic 的组合感兴趣的人 我会坦白说 我似乎已经在 XPS 13 9370 上成功管理了此操作 或者至少安装脚本 最终 成功完成 然而 有一个非常棘手的解决方法 无论结果
  • catkin_make 编译报错 Unable to find either executable ‘empy‘ or Python module ‘em‘...

    文章目录 写在前面 一 问题描述 二 解决方法 参考链接 写在前面 自己的测试环境 Ubuntu20 04 一 问题描述 自己安装完 anaconda 后 再次执行 catkin make 遇到如下问题 CMake Error at opt
  • 使用 CMake 链接 .s 文件

    我有一个我想使用的 c 函数 但它是用Intel编译器而不是gnu C编译器 我在用着cmake构建程序 我实际上正在使用ROS因此rosmake但基础是cmake所以我认为这更多是一个 cmake 问题而不是ROS问题 假设使用构建的文件
  • 如何在Windows上安装机器人操作系统ROSJava?

    ROS 的文档很糟糕 一个很大的讽刺是 ROS 的 Groovy 和 ROSJava 版本的创建是为了让 Windows 等平台上的开发人员能够利用出色的机器人 SDK 而所有安装说明仍然面向 Linux ubuntu 用户 The ROS

随机推荐