当前位置: 首页 > article >正文

无人机PX4飞控ROS应用层开发:MAVROS 功能包介绍与飞控消息汇总(一)

概述

这个软件包提供了针对各种自动驾驶仪(如PX4,Ardupilot)使用 MAVLink 通信协议的通信驱动程序。 此外,它还提供了用于地面控制站(例如 QGroundControl)的 UDP MAVLink 桥接功能。

通常与PX4的offboard模式联合使用 Offboard控制背后的想法是能够使用在自动驾驶仪外运行的软件来控制 PX4 飞控, 这是通过 Mavlink 协议完成的。

其中硬件部分连接模式大部分如下: 在飞行器上部署一台小型将计算机,用 UART 转 USB 适配器连接飞控 

 ROS (机器人操作系统) 是一个通用的机器人库,可以用于为 PX4 自动驾驶仪创建强大的无人机应用程序。

MAVROS安装

MAVROS可以通过源码或者二进制安装。

二进制安装

通过下面指令进行二进制安装

sudo apt-get install ros-${ROS_DISTRO}-mavros ros-${ROS_DISTRO}-mavros-extras ros-${ROS_DISTRO}-mavros-msgs

其中ROS_DISTRO 需要根据ROS的本部换成 kinetic、noetic

然后需要安装 GeographicLib ,通过如下指令 先下载 文件 install_geographiclib_datasets.sh

wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh

执行这个文件

./install_geographiclib_datasets.sh

从飞控端通过MAVROS可以拿到的信息

通过在gazebo中启动 px4 ,并启动mavros ,来测试 通过MAVROS可以从飞控端获取的信息

在gazebo中启动px4

roslaunch px4 posix_sitl.launch

启动mavros指令

roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"

高度信息(mavros/altitude)

话题名称: mavros/altitude

频率 :10HZ

消息类型:mavros_msgs/Altitude

消息体定义:

std_msgs/Header header  
float32 monotonic
float32 amsl      
float32 local
float32 relative
float32 terrain
float32 bottom_clearance

解释

  • amsl (above mean sea level)平均海平面以上
  • local 本地坐标系下的
  • relative 相对地面的(应该加上对地测距才会有)

实例数据

gazebo中无人机在地面 > header: seq: 752 stamp: secs: 78 nsecs: 528000000 frame_id: "map" monotonic: 488.1638488769531 amsl: 488.08782958984375 local: 0.1731969118118286 relative: -0.0031573623418807983 terrain: nan bottom_clearance: nan

通过QGC 让其起飞 QGC显示高度为9.3m

点击无人机PX4飞控ROS应用层开发:MAVROS 功能包介绍与飞控消息汇总(一)——古月居可查看全文 


http://www.kler.cn/news/307468.html

相关文章:

  • 如何在Flask中处理表单数据
  • ISP住宅网络的特点是什么
  • 深度学习--------------序列模型
  • java技术栈介绍
  • 探索Web3前沿:革新性算力共享平台,重塑数字资源利用新时代
  • Spring Boot-API网关问题
  • ★ C++进阶篇 ★ 多态
  • 《深入理解JAVA虚拟机(第2版)》- 第12章 - 学习笔记
  • IP 协议分析《实验报告》
  • Hadoop生态圈拓展内容(一)
  • 计算机三级网络技术总结(一)
  • illustrator插件大全 免费插件介绍 Ai设计插件集合 (2)
  • 数据结构-2.顺序表
  • 春招审核流程优化:Spring Boot系统设计
  • vue3 axios ant-design-vue cdn的方式使用
  • zookeeper集群的搭建
  • 【机器学习】分类与回归——掌握两大核心算法的区别与应用
  • 【退役之再次线上部署】Spring Boot + VUE + Nginx + MySQL
  • C++ | Leetcode C++题解之第412题Fizz Buzz
  • PointNet++改进策略 :模块改进 | EdgeConv | DGCNN, 动态图卷积在3d任务上应用
  • vue中v-bind和v-model的区别和应用
  • 车载软件架构 --- SOA设计与应用(中)
  • Spring Boot- 配置中心问题
  • 【Hot100】LeetCode—51. N 皇后
  • F12抓包11:UI自动化 - Recoder(记录器)
  • 【裸机装机系列】3.kali(ubuntu)-更新sources.list并重启
  • 华为OD机试真题-单词接龙-E卷(含题目描述+解题思路+代码解析)
  • 【CMake】使用CMake在Visual Studio 构建多cpp文件项目
  • pytest 接口测试
  • C++——写一函数求sinh(x)的值,求sinh(x)的近似公式为sinh(x)=(e^x+e^(-x))/2。