基于ROS的AR.Drone的图像跟踪飞行设计*
2018-03-13宋晓娟
韩 炜,宋晓娟
(内蒙古工业大学 机械学院,内蒙古 呼和浩特 010051)
0 引 言
随着科技的发展,四轴飞行器由于其制造成本低,可垂直起降,机动性良好的特点,在生活中的应用越来越广。传统的精度高的图像识别四轴飞行器搭载了非常多昂贵的传感器元件,负载过重,电量消耗过大使得这类飞行器无法在民用中得到普及。与此同时,搭载GPS定位的飞行器非常依赖GPS信号的强度。在矿难营救或者火灾室内现场等特殊地形无法做到先人一步进行幸存人员搜索[1]。
AR.Drone是法国Parrot公司生产的四轴飞行器[2],因其摄像头性和处理器行性能能满足基本的研究要求,且具有极高的稳定性,同时无需太大的试验场地,非常适用于实验室研究。在Github上,有一个关于AR.Drone的封装包ardrone_autonomy[3]。其控制指令条理清晰,适用于AR.Drone二次开发研究。安装ardrone_autonomy需要使用ROS(Robot Operating System)系统,所以需要用到ROS和Linux Ubuntu开发环境。
ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接处理架构[4],可以适应单个上位机与多个下位机连接,也支持多种语言,免费且开源[5]。多个特点使得ROS在近来受到越来越多的关注与使用。
结合AR.Drone的封装包ardrone_autonomy,在不使用GPS定位等传感器的情况下,进行基本的图像识别及动作反馈。
1 连接原理
ROS系统平台使用点对点的网络连接模式,所有的进程会通过点对点的网络形式表现出来。过程包括发布节点,发送消息,订阅主题。
AR.Drone图像识别及动作反馈,分为三个步骤:
(1) AR.Drone连接客户端,能够使用端口。
(2) 对接收来的视频流图像进行图像处理。……
