自学内容网 自学内容网

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


原文地址:https://blog.csdn.net/weixin_68094467/article/details/142204273

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!