ROS四旋翼无人机快速上手指南(3):工作环境文件框架与各功能包整体讲解

成就更好的自己

这一章节主要讲解无人机平台的控制文件架构和各个功能包组成和用法。

uav_ws与shell源码链接:

https://gitee.com/theroadofengineers/ros-uav


目录

主要项目文件架构概述

uav_ws工作空间

Vision_ws工作空间

ROS官方功能包安装路径——Lib文件夹:

RealSenseT265追踪相机功能包

Mavlink与MAVROS功能包

Serial底层串口驱动与应用级功能包

USB-CAM摄像头功能包

Shell脚本文件夹


主要项目文件架构概述

无人机平台主要文件架构有四个文件夹,分别为uav_ws,shell,vision_ws,lib;

其中uav_ws,shell,vision_ws文件夹位于主文件夹:

lib文件夹位于系统ROS的安装目录内:

uav_ws和vision_ws是自己创建的工作空间,分别放置无人机飞行控制及传感器数据处理的项目和视觉或神经网络目标识别的项目,shell放的是同时启动多个luanch文件的脚本文件,lib(ROS下载功能包的默认路径)存放的是从ROS官网下载的官方功能包。

进行最简单的飞行控制至少需要uav_ws和lib中的内容,这两者可以进行无人机基础的姿态分析与控制,指令传送,数据结算,指定航点飞行等非常基础的工作。因为所构成ROS系统的最小单位是功能包,如果添加视觉等人工智能元素,需要另建立新的工作空间或者功能包。

 

uav_ws工作空间

Uav_ws工作空间内部最为基础的功能包是px4_com功能包,此功能包直接通过mavlink协议控制飞行轨迹,油门张量,姿态调整,飞行数据信息融合等众多与飞行息息相关的功能,在算法开发过程中,算法结算出的飞行信息将会直接输送给px4_com,因此此功能包尤为重要,几乎其他所有的功能包都是为它服务,在下一章我们将进行全面的分析与讲解。

 

下面依次说一下其余功能包的作用:

Camera_com:自定义的摄像头功能包,存放着与单目USB摄像头有关的程序,底层调用ROS官方功能包usb_cam获取图像和控制摄像头,目前里面暂时只有一个控制摄像头拍照和录像的python程序,开发者与摄像头有关的程序可以放到这里。

Nlink_parser:暂时没有用到,不用管。

Px4_com:功能包名称为px4_command,是一个由阿木(AMOV)实验室研发并开源的一款基于px4自驾仪控制的底层级软件工具包,存放着与飞行控制有着直接关系的代码,通过接受或调用其他功能包节点的数据或服务进行控制,可以在这里开发飞行程序和修改飞行参数,下一章节会重点讲解。

Ros_slam:自定义的slam算法功能包,存放着上层slam算法有关的应用级代码,为px4_com中的飞行控制规划路径,开发的slam算法放在这里。

Rplidar_ros:激光雷达的功能包,由思岚科技官网提供,直接下载编译即可使用。

Serial_port:自定义的串口功能包,存放与外接串口模块(例如zigbee模块,SIM卡模块等)通信程序,底层调用的是ROS官方功能包serial。

Track_pkg:自定义的视觉追踪功能包,其实这个功能包应该放到vision_ws工作空间;此功能包主要提供图像处理,底层调用ROS官方功能包usb_cam获取图像和控制摄像头,cv_bridge和image_transport进行图像数据传送与转化,目的是让图像能被opencv进行处理。

 

Vision_ws工作空间

里面只有一个功能包,因为博主上一个项目做到了使用基于darknet框架的神经网络跑yolov3算法进行空中识别目标,因此内部暂时只有一个功能包用来神经网络部署和运行目标检测。因为darknet体积过大且程序单调,vision_ws的例程就不再上传。

 

ROS官方功能包安装路径——Lib文件夹:

在uav_ws和vision_ws工作空间中调用的ROS官方底层功能包在lib文件夹,每当通过

sudo apt-get install ros-melodic-xxxxxx

下载某个功能包后,会在/opt/ros/melodic/share/路径下生成一个对应的功能包文件夹,存放着这个功能包有关的消息类型,功能包属性,launch启动文件,rviz仿真文件等文件;同时会在/opt/ros/melodic/lib/路径下也生成一个对应的功能包文件夹,里面存放着此功能包的节点的二进制可执行文件和执行脚本。

ROS无人机主要用到的官方功能包如下所示。

RealSenseT265追踪相机功能包

安装命令:sudo apt-get install ros-melodic-realsense-camera

作用:此功能包封装极度完善,直接开启T265相机并进行坐标计算和回传。

操作:roslaunch realsense2_camera rs_t265.launch即可使用,节点会将tf空间坐标和IMU等信息发布出来

注意事项:

当出现了RealSense Node Is Up!说明节点正常工作;

当光线过暗或遮挡摄像头时,相机看不到环境,会出现以下报错:

rs_t265.launch所启动的两个节点只发布了位姿信息,没有发布双鱼眼相机的视频流

此外,关于T265使用坑点,请看本系列第一篇指南:

https://blog.csdn.net/qq_36098477/article/details/115470924?spm=1001.2014.3001.5502

 

Mavlink与MAVROS功能包

安装命令:sudo apt-get install ros-melodic-mavros

作用:此功能包采用mavlink协议可直接对烧录了PX4固件的自驾仪进行通信,只需要编写上层程序进行调用和控制即可,此功能包直接对接于PX4_com功能包和自驾仪。

操作:roslaunch mavros px4.launch fcu_url:="/dev/ttyTHS1:921600"

因为nano与自驾仪是依靠串口通信的,所以后面fcu_url:="/dev/ttyTHS1:921600"指的是串口设备文件与波特率,根据实际情况选择。

出现以下信息说明节点工作正常:

Serial底层串口驱动与应用级功能包

安装方法(可能已经内置):sudo apt-get install ros-melodic-serial

操作:#include <serial/serial.h>即可

此功能包没有实体节点,使用体现在与头文件调用上,通过调用此功能包函数可以快速的进行串口收发操作。

 

USB-CAM摄像头功能包

安装方法:sudo apt-get install ros-melodic-usb-cam

操作:roslaunch usb_cam usb_cam-test.launch即可运行有关于USB摄像头的节点并将摄像头信息和图片发布出去,运行成功后会自动运行rqt工具包中的image_view工具,自动显示图像,其他算法类节点可订阅此消息进行图像接收与处理。

 

Shell脚本文件夹

里面放了大量的.sh文件,用来快速方便的开启终端并执行ROS运行命令,文件格式大都如下:

可在shell文件中进行终端命令行执行内容,部署ROS参数服务器参数,启动launch文件,运行ros节点,打开或关闭窗口,kill进程等诸多操作。

Shell文件的修改可参照某一份成品shell文件,比葫芦画瓢就可以。

 

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本系统的研发具有重大的意义,在安全性方面,用户使用浏览器访问网站时,采用注册和密码等相关的保护措施,提高系统的可靠性,维护用户的个人信息和财产的安全。在方便性方面,促进了校园失物招领网站的信息化建设,极大的方便了相关的工作人员对校园失物招领网站信息进行管理。 本系统主要通过使用Java语言编码设计系统功能,MySQL数据库管理数据,AJAX技术设计简洁的、友好的网址页面,然后在IDEA开发平台,编写相关的Java代码文件,接着通过连接语言完成与数据库的搭建工作,再通过平台提供的Tomcat插件完成信息的交互,最后在浏览器打开系统网址便可使用本系统。本系统的使用角色可以被分为用户和管理员,用户具有注册、查看信息、留言信息等功能,管理员具有修改用户信息,发布寻物启事等功能。 管理员可以选择任一浏览器打开网址,输入信息无误后,以管理员的身份行使相关的管理权限。管理员可以通过选择失物招领管理,管理相关的失物招领信息记录,比如进行查看失物招领信息标题,修改失物招领信息来源等操作。管理员可以通过选择公告管理,管理相关的公告信息记录,比如进行查看公告详情,删除错误的公告信息,发布公告等操作。管理员可以通过选择公告类型管理,管理相关的公告类型信息,比如查看所有公告类型,删除无用公告类型,修改公告类型,添加公告类型等操作。寻物启事管理页面,此页面提供给管理员的功能有:新增寻物启事,修改寻物启事,删除寻物启事。物品类型管理页面,此页面提供给管理员的功能有:新增物品类型,修改物品类型,删除物品类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值