基于光流传感器定位和导航的自主飞行无人机

An Autonomous UAV with an Optical Flow Sensor for Positioning and Navigation

注:翻译水平有限,错误之处,敬请指正!

原文链接:http://cdn.intechopen.com/pdfs/45731.pdf

1.简介

得益于传感器、执行机构、处理器等技术的进步以及相关成本的减少,结合这部分的优点,使得半自动和全自动的多旋翼飞行器的建造成为可能。由于对自主系统存在不同的定义,这里理解为能够在没有任何外部设备的情况下能够完全独立运行其所有功能的系统。相比于使用GPS或光学跟踪摄像机定位的系统,称为半自主系统更合适,因为其需要依赖外部设备或信号。而自主系统能够在未知和没有GPS的环境下运行,例如室内、洞穴、隧道或者其它没有精确GPS信号可用的地方。已有的实现自主系统的不同方法有使用超声波、红外、激光雷达、立体摄像机或者微软的Kinetic相机。每一种都有自己的缺点,比如可靠性、价格、重量和大小。对于可靠性来说,多传感器系统才是主流,而且基于摄相机的系统会得益于更轻的重量、更便宜的价格和更小的体积。

尽管使用视觉定位的自主导航已经存在,但并不适合我们的系统,因为我们需要低成本、快速、精确、可靠以及简单的解决方案。由于未知的系统行为,复杂方案受限于高运算量和实现负担以及较高的失败风险。基于视觉的SLAM(实时定位与地图构建)算法已经实现,但是高运算量负担由一块外部CPU来完成,不符合我们对自主系统的定义。对于光流计算同样如此,因为复杂的设计和高运算量负担,需要在外部计算机上运行。因此,这篇论文介绍一种简单而快速的方案,只使用光流的原理来实现自主导航飞行器的定位。这种方法能够很容易和其它方案融合,并且适用于任何可扩展的系统。这篇论文详细解释了这种方法对自主飞行的实现及其优缺点。

基于光流的无人机避障方法已经被论述过了,但仅限于仿真。与之相反的是,这篇论文展示了来自真实室内环境下自主飞行的可靠实验数据,并且经过独立光学跟踪系统的评估。

2.光流定点

光流计算最常用的方法是差分,匹配,基于能量和基于相位。匹配和基于相位的方法有较高的运算负担,由于Lucas and Kanade差分算法的广泛使用及其展现出的可接受运算量和不错表现,决定将这种方法整合到不同的硬件,与ADNS3080光流传感器进行比较。

2.1 Lucas-Kanada算法

Lucas-Kanada[17]假设两帧图片之间的变化很小并且是恒定的,这意味着变换在邻域M内有效,并且是X-Y平面的平行移动,不考虑Z轴的旋转和变换。比较两个迭代图片,推导出以下最小二乘优化解决方案[20]:

(1)

这里的Px(i,j),Py(i,j)和Pt(i,j)是点P(i,j)分别对x、y和t的偏导数,u、v是求得的x和y轴上的光流值。

2.2 Srinivasan算法

这种优化可以通过应用Srinivasan算法[19]来实现,简化为比较图1中领域M为1的像素之间的亮度,将当前有效像素Pt与前一时刻像素Pt-1进行比较,并且在左右相邻像素P2和P1以及上下相邻像素P4和P3内进行缩放。使用公式(2)就可以计算出光流值。

2)

等式(2)的推导也可以在参考文献[20]中找到,但是另一种推导是,可以将等式(1)中相对于x,y和t的偏导数简单替换为各自的差值,如公式(3)所示。

                                                       3)

1. 中间黄色标记的表示像素PtPt-1,相邻像素用红色标记

Srinivasan[19]也提出了一个将旋转考虑在内的解决方案,但对于我们的简单实现来说,目前的基于2D位置变化的解决方案是足够的。

该算法的一个优点是它可以很容易地用一个循环将所有像素点遍历,而且,2×2矩阵的运算没有困难,因此该算法能做到实时执行。参考文献[21]展示了LK算法的升级版,并且在参考文献[22]中给出了该算法实现的开源代码。

3.光流传感器

3.1 实现(光流)

我们的目标是将光流传感器对着地面,计算高度为1m的四旋翼飞行器的相对位置。为了将这个传感器加到我们的自主四旋翼来实现导航,我们探讨了不同的方法。由于视觉系统的高数据量和速率,以及四轴飞行器上有限的存储空间和计算能力,选择正确的相机传感器并不简单。

3.2 传感器比较

OV7670是一个VGA(彩色)相机芯片,分辨率为640x480。使用STM32F4开发板来处理数据,由8位并行数据总线与传感器相连来读取图片,SCCB(类似于I²C的接口)仅用于向相机发送配置命令。由于微处理器有限的内存,使用QVGA代替VGA格式,这个也是相机支持的。同样因为微处理器有限的内存(192kb RAM),一个分辨率为320×240的QVGA图片,只有其中64×64个像素的子窗口被处理,实现了每秒30帧的速率。

ADNS-3080是一款光电鼠标传感器,可用于带SPI接口的分线板,作为具备两个自由度的现成光流传感器。该传感器分辨率为30×30像素,帧速率达到6400fps。为了更短的快门速度和在不良照明条件下获得更好的结果,帧速率被设置为2000fps。该传感器最大的缺点是软件并不开源,因此,它的功能也是未知、不兼容和不可扩展的。而且,灰尘和污垢是一个大问题。镜头是可更换的,并且它被切换到f = 16mm的焦距,以便更好地聚焦在距离约1m的物体上。

3.3评估(光流)

似乎只有OV7670和ADNS3080符合我们的要求,因此,我们对这两个传感器做了更进一步的评估。两个传感器都在一个方向以不同的速度来回移动20cm,结果如图2和图3所示。两个传感器都能够检测到运动及其方向,此外,图表清晰地表明,帧速率为30fps的OV7670移动的像素距离与速度有关,而ADNS-3080则没有这一现象。

2. 帧速率为30fps的OV7670以不同的速度来回移动

3. 帧速率为2000fps的ADNS-3080以不同的速度来回移动

3.4 结论(光流)

所实现的差分法假设两个图像之间的变化不高于一个像素,因此,只依据帧速率的速度是可测量的。这对于OV7670来说意味着每秒30个像素的平移是完全可检测的,这也解释了OV7670糟糕的表现,因为ADNS-3080有着6400fps的帧速率。

鉴于ADNS-3080表现出的良好性能,我们采用它来实现无人机的自主导航。

4.实现(自主飞行无人机)

4.1. 系统实现

四旋翼飞行器的硬件实现如图4所示,对红外、超声、气压计以及惯性传感器的数据进行融合来预测高度,详见参考文献[28].

整合了光流测量的位置估计已经实施,ADNS-3080使用的参数为2000fps、30×30分辨率、400CPI已及自动快门速度,这些都是传感器的默认参数,在正常光照条件下,更高的帧速率对光流输出效果没有明显提升。

4. 硬件设计

光流输出结果需要根据高度来标定,为了找到正确的缩放因子Fs,传感器在1m高度向同一方向多次水平移动2m,转换后的结果以光学跟踪系统PPT X4[29]的真实值作为参考,如图5所示。

5.缩放因子 Fs 校准

计算得到的缩放因子Fs259.51,可以将传感器输出的像素值转化为真实移动距离。

6. 系统核心设计

4.2 控制系统设计

每一个自由度都应用了经典PID控制器,这将6DOF系统累加到6个级联PID控制器[6]。高度估计和高度设定是高度控制环的输入,高度控制确定四个电机的总电压,并以这种方式调节系统的升力。电压的四分之一对应一个8位值,并且根据姿态控制的输出将总电压分配给四个电动机。

光流位置估计的值是x轴、y轴方向控制器的输入,x轴或y轴控制器的第二个输入分别是位置xy的设置点,可以远程更改。结合可变的高度,使得在三维空间里的自主飞行成为可能。光流估计值与设定值相减得到的误差作为x轴和y轴两个位置PID控制器的输入,位置控制器的输出作为rollpitch方向姿态控制器的期望值。

5.评估(自主飞行无人机)

5.1 静态位置保持

在这个实验中,四轴飞行器被手动启动,然后切换到位置保持模式。位置控制器只使用光流传感器,而光学跟踪系统用来对系统进行评估。四轴飞行器悬停在离地1m高度的空中持续了6分钟,它的位置信息在整个飞行过程中被记录下来[8-9],对于光学跟踪和测距(光流),与中心位置的标准偏差约为0.1m,双向标准偏差约为0.16m,这意味着95%的时间轴距(螺旋桨端部到端部)为64cm的四轴飞行器在96cm64 + 2×16)直径的圆内。

8. 位置保持:测距(光流)           9. 位置保持:光学跟踪

比较图8和图9,可以发现一个小的差异,似乎与yaw方向的偏移有关。从图10两张实验开始时和365s后的图片中,可以清晰地看到,在实验过程中,四轴飞行器在yaw方向偏移了13°。

10. 位置保持开始(左图)和365s之后(右图)

这个现象是陀螺仪积分造成的漂移,由于系统没有使用磁力计对yaw进行补偿,yaw方向的旋转会引起光流计算错误,导致飞行器飞向附近的一个错误位置。

5.2 动态控制

为了研究系统的控制行为,进行了一个实验,其中四轴飞行器必须对阶跃响应做出反应。四轴飞行器在位置保持模式下,起点为Po=(x=0,y=0),远程设定的目标位置为P1=(x=2m,y=0),图11显示了系统的响应。

11. 阶跃响应:从(0,0)到(2,0

该图证明了控制器的稳定性,飞行器在3s(上升时间)内就到达了设定点,超调量大约为15%(约0.3m),稳定时间在7-9s内。

最终的位置误差大概为0.15m,造成误差的原因是,由于飞行器需要绕pitch方向旋转来实现x轴方向的移动,旋转导致了光流传感器错误的位置测量。这是最有可能的,因为图11显示了在85s时刻的偏移与两条曲线之间的差异很类似。在85s处,飞行器收到了新的命令并向pitch方向移动,从图中可以看到,pitch方向的旋转导致了光流的测量错误。

5.3 自主飞行

在这个实验中,四轴飞行器的飞行路径为Nikolaus小屋,这是一个小孩儿玩的游戏,小屋必须一笔画完而不能有重复,因此,每面墙只能画一次。四轴飞行器的飞行路径如图12所示,在控制软件的地图上,显示了Nikolaus小屋的绘图,四轴飞行器自主飞行实现了路径跟踪[13]。这个图表明了已经提到的问题,比如yaw轴的漂移以及rollpitch方向的旋转问题,这都导致了光流测量和光学跟踪系统之间的位置误差,不过,这个实验证实了这个系统的潜力,四轴飞行器是可以实现自主飞行的。

12. 飞行计划            图13.自主飞行:光流(蓝),光学跟踪(绿),设定路径(红)

6.结论和展望

可以证明,用光流传感器实现自主飞行是可行的。

Yaw方向的漂移问题可以用磁力计来解决,通过将方向信息融合到光流的测量,来补偿yaw旋转的测量误差。此外,我们做了一个伺服电机驱动的两轴云台,根据飞行器的姿态进行调节,可以使光流传感器始终保持水平,而不会受到飞行器roll、pitch旋转的影响。

7.致谢

略。

8.参考文献

[1] Nonami K., Autonomous Flying Robots, Springer,ISBN-10: 4431538550, 2010

[2] Microdrones GmbH, www.microdrones.com

[3] ArduCopter, http://code.google.com/p/arducopter

[4] HiSystems GmbH, www.mikrokopter.de

[5] Mellinger D. et al., Trajectory Generation and Control for Precise Aggressive Maneuvers with Quadrotors,The International Journal of Robotics Research, Vol.31 No. 5, 2012

[6] Gageik N., Mueller T., Montenegro S., Obstacle Detection and Collision Avoidance Using Ultrasonic Distance Sensors for an Autonomous Quadrocopter,UAVveek 2012

[7] Grzonka S. et al., A Fully Autonomous Indoor Quadrotor, IEEE Transactions on Robotics, Vol. 28 No. 1, February 2012

[8] Gronzka S., Mapping, State Estimation, and Navigation for Quadrotors and Human-Worn Sensor Systems, PhD Thesis, Uni Freiburg, 2011

[9] Lange S., Sünderhauf N. Neubert P., Drews S.,Protzel P., Autonomous Corridor Flight of a UAV Using a Low-Cost and Light-Weight RGB-D Camera,Advances in Autonomous Mini Robots, ISBN: 978-3-642-27481-7, 2012

[10] Ding W. et al., Adding Optical Flow into GPS/INS Integration for UAV navigation, International Global Navigation Satellite Systems Society, IGNSS 2009

[11] Wang J. et al., Integration of GPS/INS/VISION Sensor to Navigate Unmanned Aerial Vehicle, The International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol.XXXVII Part B1, Beijing 2008

[12] Blösch M. et al., Vision Based MAV Navigation in Unknown and Unstructured Environments,Robotics and Automation (ICRA), 2010 IEEE International Conference, 21-28, 2010

[13] Corke P., An Inertial and Visual Sensing System for a Small Autonomous Helicopter, Journal of Robotic Systems, Vol. 21, No. 2, 43-51, 2004

[14] Kendoul F. et al., Optical-flow based vision system for autonomous 3D localization and control of small aerial vehicles, Robotics and Autonomous Systems,

Elsevier, 2009

[15] Herisse B. et al., Hovering flight and vertical landing control of a VTOL Unmanned Aerial Vehicle using Optical Flow, IEEE International Conference on

Intelligent Robots and Systems, 2008

[16] Zing S. et al., MAV Navigation through Indoor Corridors Using Optical Flow, 2010 IEEE International Conference on Robotics and Automation, 2010

[17] Lucas, B. and Kanade, T. An iterative image registration technique with an application to stereo vision. In Proceedings of the International Joint Conference on Artificial Intelligence, 674–679, 1981

[18] Barron et al., Performance of Optical Flow Techniques, International Journal of Computer Vision, Vol. 12, No. 1, 43-77, 1994

[19] Srinivasan M., An image-interpolation technique for the computation of optic flow and egomotion,Biological Cybernetics, Springer-Verlag, 1994

[20] Strohmeier M., Implementierung und Evaluierung einer Positionsregelung unter Verwendung des optischen Flusses, Würzburg, BA Thesis, 2012

[21] Rav-Acha A., Peleg S., Lucas-Kanade without iterative Warping, International Conference on Image Processing, IEEE, 1097-1100, 2006

[22] Centeye Inc., http://centeye.com/

[23] µCAM Serial JPEG Camera Module, Data Sheet, 4D Systems, www.4dsystems.com.au

[24] CMUcam: Open Source Programmable Embedded Color Vision Sensors, http://www.cmucam.org

[25] OV7670/OV7171 CMOS VGA (640x480) Camera Chip, Implementation Guide, OmniVision,http://www.ovt.com/

[26] ADNS-3080 High-Performance Optical Mouse Sensor, Data Sheet, Avago Technologies,http://www.avagotech.com

[27] STM32 F4 DISCOVERY, Data Brief, September 2011,STMicroelectronics, http://www.st.com

[28] Gageik N., Rothe J., Montenegro S., Data Fusion Principles for Height Control and Autonomous Landing of a Quadrocopter, UAVveek, 2012

[29] WorldViz, www.worldviz.com

[30] Qt Project, http://qt.digia.com

基于光流传感器定位和导航的自主飞行无人机相关推荐

  1. 光流传感器 定位精度_基于光流传感器的移动机器人定位方法

    基于光流传感器的移动机器人定位方法 李世云 ; 关乐 ; 褚金奎 [摘 要] 详细介绍了光流传感器移动机器人定位系统的运动学原理 , 给出了理论模 型推导 ; 基于理论模型 , 搭建了基于光流传感器实 ...

  2. 开源10轴IMU PCB,基于MEMS传感器MPU6500-HMC5983-AK8975-BMP280-MS5611设计,适用于多轴无人机、平衡车、惯导入门

    以MPU6500-HMC5983-AK8975-BMP280-MS5611为传感元件的10轴IMU PCB,集成MEMS加速度计.陀螺仪.地磁.气压计.有三种不同尺寸的PCB组合样式,Altium格式 ...

  3. 光流传感器 定位精度_【论文精选】基于光流定位的自动路径规划清扫机器人...

    目前市场上扫地机器人的路径规划都是由超声波.红外等传感器测量得到当前的位置再结合算法规划出理想路径.由于传感器精度等问题,无法定位出精确的位置,导致机器人出现运动轨迹混乱等问题. 基于光流传感器的机器 ...

  4. 光流传感器 定位精度_基于多传感器的无人机定位和避障技术研究

    摘要: 随着无人机技术的快速发展,无人机已逐渐走进人们的生活和工作.现有常规的无人机仍依赖于专业人员的操纵,无人机技术存在着环境感知能力.自主飞行能力不足等问题.为进一步提高无人机的环境感知能力并扩展 ...

  5. 动态环境下基于光流的移动机器人精确定位方案

    An Accurate Localization Scheme for Mobile Robots Using Optical Flow in Dynamic Environments 摘要--视觉同 ...

  6. 基于ROS+镭神激光雷达+amcl定位、导航的智能车学习记录

    目录 一.背景 二. 难点之避障学习 三.比赛实参 一.背景 背景 目前大火的智能车.机器人.无人驾驶技术,现基于嵌入式系统.人工智能.机器人定位与导航基础 开展了第十四届全国大学生智能汽车竞赛-室外 ...

  7. 光流传感器 定位精度_光流定位原理是什么??

    在无人机上光流定位通常是借助于无人机底部的一个摄像头采集图像数据,然后采用光流算法计算两帧图像的位移,进而实现对无人机的定位,这种定位手段配合GPS可以在室外实现对无人机的精准控制,并且在市内没有GP ...

  8. 光流传感器 定位精度_光流定位原理是什么??【转】

    光流传感器通过IAS以一定速率连续采集物体表面图像,再由DSP对所产生的图像数字矩阵进行分析.由于相邻的两幅图像总会存在相同的特征通过对比这些特征点的位置变化信息,便可以判断出物体表面特征的平均运动, ...

  9. 实现一个自主飞行的无人机需要的技术:定位导航-环境感知-目标感知-控制规划

    实现一个自主飞行的无人机需要的技术 https://www.bilibili.com/video/BV1at411J7Cd?from=search&seid=16657808345435718 ...

最新文章

  1. DL之CNN:利用自定义DeepConvNet【7+1】算法对mnist数据集训练实现手写数字识别并预测(超过99%)
  2. 一个常见的台式计算机有哪些硬件部分组成,台式电脑有哪些组成部分
  3. Visual Studio 编译优化选项:Debug与Release、禁止优化与O1、O2、Ox优化
  4. bzoj1031 [JSOI2007]字符加密 后缀数组改
  5. 高性能HTTP加速器Varnish(安装配置篇)
  6. 从数据仓库到大数据平台再到数据中台(内附13张架构图)
  7. 2015-12-06 第七天课程笔记
  8. 了解Hadoop数据类型,输入输出格式及用户如何自定义。
  9. Zookeeper下载与安装教程(for windows)
  10. python-map()/reduce()/filter()/sorted()/排列组合
  11. Freeswitch 怎么配置 Proxy Media 和 bypass 模式
  12. win10亮度进度条不见了
  13. QTableWidget 显示行号列
  14. 5-14 电话聊天狂人 (25分)
  15. 惠普HP Smart Tank 538 打印机驱动
  16. cropperjs图片裁剪器及七牛上传文件
  17. Mysql项目 github_GitHub 项目推荐|中国5级行政区域mysql库|基础数据|字典数据...
  18. window 卸载串口cp210x驱动并安装
  19. js 对数组字符串排序
  20. 杀软测评:2010年第四次“VB100”认证揭开谜底!

热门文章

  1. 网站分析行业的“前途”和“钱途” [转载]
  2. 动态规划题目——背包
  3. app软件小程序开发
  4. Mybatis 01
  5. 1241. 外卖店优先级 Java题解 (模拟)【第十届蓝桥杯省赛C++A/C组,JAVA A/B/C组】
  6. Android 手札小记
  7. 如何查看手机是32位还是64位
  8. 如何找回Nessus密码?
  9. 人生25句最美丽的名句
  10. 红米note10和红米note9哪个值得买