PX4 APM ROS MAVROS Gazebo之间关系

https://www.cnblogs.com/yilangUAV/p/14476923.html

1.PX4与APM

参考:https://bbs.amovlab.com/forum.php?mod=viewthread&tid=1202&extra=page%3D1
所谓无人机的飞控,就是无人机的飞行控制系统。
无人机飞控能够稳定无人机飞行姿态,并能控制无人机自主或半自主飞行,是无人机的大脑。
Pixhawk是第一款专门为PX4自驾软件而设计的无人机飞控。第一个版本的Pixhawk被命名为Pixhawk v1,也被称作FMUv1,它包含PX4FMU和PX4IO两部分。
PX4FMU是Pixhawk v1飞控的核心控制部分,主要负责姿态解算等等算法的执行;PX4IO主要负责飞控各外设接口的管理。

Pixhawk飞控是开源硬件架构,所以全世界很多公司出品了基于Pixhawk的飞控产品。他们都有共同的硬件架构和相同的连接方式、输出接口及功能,仅仅是具体形式不同而已,例如接口的位置不同、外壳不同等等。

PX4是的自动驾驶仪软件(或称为固件),可以驱动无人机或无人车。它可以被烧写在某些硬件(如Pixhawk v4),并与地面控制站在一起组成一个完全独立的自动驾驶系统。
PX4地面控制站被称为QGroundControl,(简称QGC)是PX4自驾系统不可分割的一部分,可以运行在Windows,OS X或Linux等多个平台。使用QGroundControl,您可以将PX4固件烧写到硬件,设置机器,改变不同的参数,获得实时航班信息,创建和执行完全自主的任务。
在这里插入图片描述
除了PX4这款自驾仪软件,还有一种自驾仪软件,那就是**非常流行的ArduPilot或称为APM的自驾仪软件。**也可以被烧写到Pixhawk飞控硬件上,因此很多人觉得很困惑并以为把Pixhawk同APM相提并论是不对的。
Ardupilot通常被我们叫做APM,是早在2007年由DIY无人机社区(DIY Drones)推出的飞控产品。APM刚开始是基于Arduino的开源平台,那时候的处理器还是AVR系列的Mage2560,性能没有现在这么强大;
APM地面控制站被称为Mission Planner,(简称MP)是APM自驾系统不可分割的一部分,使用Mission Planner,可以将APM固件烧写到硬件,设置机器,改变不同的参数,获得实时航班信息,创建和执行完全自主的任务。但是随着APM飞控软件的快速发展,AVR的板子性能已经不能满足需求,所以只能逐步移植到Pixhawk的硬件架构上来进行开发。所以,APM自驾仪软件也就兼容pixhawk飞控硬件了。

APM和PX4是由两波人员分别开发的开源飞控固件,目前都可以跑在Pixhawk这款硬件板上。由于APM硬件性能不太够,所以APM固件也就针对兼容了Pixhawh硬件平台。所以在pixhawk硬件平台上可以运行PX4固件(原生固件),也可以运行APM固件。

Pixhawk飞控是硬件平台,而PX4和APM都是开源的可以烧写到Pixhawk飞控中的自驾仪软件。

二者区别
参考:https://blog.csdn.net/znr1995/article/details/78526231?utm_medium=distribute.pc_relevant.none-task-blog-title-5&spm=1001.2101.3001.4242
APM固件Ardupilo最初是基于arduino搞的,其程序比较混乱,零散。维护者多,代码风格不太统一,而且是单片机这种调用程序,不好入门。但是成熟稳定,支持硬件多。

PX4固件,在nuttx嵌入式实时操作系统上运行。采用多任务,模块化设计。相对来说方便入门,代码风格比较统一。但是支持硬件少,相比APM固件不太稳定。在这里插入图片描述

2.ROS与MAVROS

ROS(Robot Operating System,简称“ROS”)是一个适用于机器人的开源的元操作系统。

ROS 的主要目标是为机器人研究和开发提供代码复用的支持。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。

MAVROS是ROS的一个软件包,允许在运行ROS的计算机、支持MAVLink的飞控板以及支持MAVLink的地面站之间通讯。
在这里插入图片描述
MAVLink:Micro Air Vehicle Link,即微型飞行器连接通信协议,于2009年初由Lorenz Meier首次发布。Mavlink协议是在串口通讯基础上的一种更高层的开源通讯协议。MAVLink是一种非常轻量级的通信协议,主要用于与无人机(以及板载无人机组件之间)进行通信。
MAVlink由17个字节组成,包括消息ID、目标ID和数据。其中消息ID显示是什么数据,可以在messageID命令集中看到消息ID。这使得MAVLink能够从同一个通道传输信息,从多个无人机获取信息。另外,消息也可以通过无线信号进行传输。
https://zhuanlan.zhihu.com/p/57693160
在这里插入图片描述
Ros 是一个独立的面向机器人的操作系统,说是操作系统,ros 只是 linux 系统上的一大堆工具包而已,所以 ros 继承了 linux 的所有特性Linux 上可以做的事情 ros 都可以做。
mavros 又是对 ros 的更高层次的封装,mavros 向 ros 添加了争对与 mavlink 协议的各种消息和服务,相当于我们可以更方便的解析mavlink 协议。如果我们不使用 mavros,那么我们就必须自己写代码对 mavlink 进行解析,并且设计自己的代码框架,而且不能使用 ros 的很多工具库。并且现在很多第三方工具(比如视觉识别),都完整的支持 ros,所以使用 mavros,会给我们的开发带来很多好处。

3.Gazebo

Gazebo是一款3D动态模拟器,能够在复杂的室内和室外环境中准确有效地模拟机器人群。与游戏引擎提供高保真度的视觉模拟类似,

  • 8
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Ubuntu 18.04上安装ROS(Robot Operating System)GazeboMAVROSPX4的教程: 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 ``` 希望以上教程对你有所帮助!如果有任何问题,请在评论中提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值