Wednesday 24 June 2015

Optical flow on UAV

这里有一个很好的PX4FLOW原理的介绍。光流法可以算出图像中的角速度,但是并不能很好的服务无人机。近处移动很慢的物体和远处移动很快的物体的光流可能是一样的。所以光流必须结合其他传感器。


如上图所示,点C代表光流中心点,b是声纳测量得到的飞机高度,$\alpha$代表光流减去gyro测量得到的俯仰角。因为飞机的俯仰会影响光流的计算。a是飞机的地面速度。所以给定声纳测得的高度,IMU测得的俯仰角,还有光流,我们就能计算出地面速度。即知道b和$\alpha$就可得a。


但是当$\alpha = 90$的时候,a和h都是无限大,需要用到积分来处理。这时有地面速度=(光流-俯仰角)X 高度。当声纳精度不够的时候,可以用GPS测量地面速度。所以高度=地面速度/(光流-俯仰角)。

PX4FLOW有两种工作方式。1. 读取地面速度,计算高度。2. 给出光流。飞机自己计算高度和地面速度。

当飞机距离地面很近的时候,光流=(地面速度/高度)+俯仰角。所以因为高度小,光流会变成无限大。为了解决这个问题,可以采取一下措施。
1. 用更慢的速度降落。
2. 将光流计算原件装的高一些,比如在机翼下面,而不是在机身下面。
3. 使用广角相机。PX4FLOW有一个16mm焦距的相机。焦距变小会导致更大的视角,和更精确的光流。用普通相机而不是鱼眼,因为几何变形会使得光流不准。
4. 使用其他传感器降落。







No comments:

Post a Comment