无人机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 功能包介绍与飞控消息汇总(一)——古月居可查看全文 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值