我的四轴直升机可以使用从mpu6050收集的数据在空中保持平衡。使用声纳传感器时,它可以悬停在特定的高度,但可以在水平面上沿随机方向移动。如果我在其下方放置一个物体,它将上升,以保持声纳传感器与该物体之间的距离。是否可以添加一个朝下的摄像机来计算光流的速度,以使其保持在水平面的同一点上?我可以使用前置摄像头来稳定其垂直速度吗?

评论

听起来您想使用相机来(1)将四轴飞行器保持在X-Y平面上的某个位置,并且(2)稳定垂直速度。稳定垂直速度是什么意思?您是在尝试避免四轴飞行器响应于其下方的物体而上升,还是只是使该运动平滑?
如果我使用两个摄像头并卸下声纳传感器。它能像我想的那样工作吗?还是有什么方法可以实现我的目标。

#1 楼

下图(1)说明了Lancaster导航仪确定飞机在湖面之上的高度的方法。如果地面缺少其他形式的视觉伺服所需的功能,则此方法很有用。我看到的一个有关Chastise任务的程序显示,一个聚光灯闪烁绿色,另一个聚光灯闪烁红色,以避免混淆使用哪种方法来校正高度。请注意,炸弹瞄准测距仪使用了相似的几何原理。指针。您也可以添加伺服器来旋转一个或两个激光器以调整高度设定点。摄像机或线传感器会检测到光线撞击地面的相对位置。

评论


$ \ begingroup $
这是一个好主意。不错的把戏,喜欢它!
$ \ endgroup $
–梅茨堡
2013年9月14日下午5:19

$ \ begingroup $
酷...但是,这如何回答关于将四边形稳定在x-y平面上的问题?
$ \ endgroup $
– dm76
2014年1月14日15:39

$ \ begingroup $
@ dm76,我的回答是关于保持给定的海拔高度,关于视觉伺服,我没有比其他答案多的话了。 (这种方法,像声纳和VS一样,可能会被添加在四轴飞行器下方的物体所欺骗。)注意,答案中提到的测距仪瞄准镜可能可以通过摄像机看着远处的地标来保持XY位置。
$ \ endgroup $
–詹姆斯·沃尔德比-jwpat7
2014年1月14日在16:52



$ \ begingroup $
@ jwpat7,“我的回答是关于保持给定的高度”。的确,因此我的评论是因为问题不在于保持高度...
$ \ endgroup $
– dm76
2014年1月15日上午9:39

#2 楼

使用所谓的光流量传感器是帮助保持水平位置(即在X-Y平面上)的最佳方法。我看不出有什么理由不能对垂直控制做同样的事情,尽管使用声纳可能更容易,更便宜(同样,如果在室内,也可以将2个声纳用于水平位置) )

人们通常会入侵光学鼠标的传感器以实现此目的:

http://makezine.com/2007/12/15/using-an-optical- mouse-for-rob /
http://areciv.com/index.php?aid=18
http://home.roadrunner.com/~maccody/robotics/croms-1/croms- 1.html
http://home.roadrunner.com/~maccody/robotics/mouse_hack/mouse_hack.html

一些现成的传感器可用:http://www.buildyourowndrone .co.uk / Optical-Flow-Sensor-p / op-fs.htm

有关如何在Arduino上使用此类设备的一些说明,请参见:https://code.google。 com / p / arducopter / wiki / AC2_OptFlow

如今,有更好的传感器(但价格昂贵得多)可以在弱光条件下(例如室内)工作,甚至与声纳结合使用(如它使 感应保持高度,以便获得更好/更稳定的XY光学读数),例如:

http://store.3drobotics.com/products/px4flow

#3 楼

您绝对可以在X-Y平面中使用Visual Servoing进行姿势维护。您需要在地面上具有足够的明显特征,才能很好地估计漂移/自旋等。例如,在均匀且较大的地面/场上,缺少特征可能会成为问题。但是事情将由您掌控,您可以在场景中添加视觉提示以辅助图像处理。

前置摄像头与众不同。如果您的四轴飞行器飞行得足够高并凝视着地平线,那么精确的姿势维护将非常困难(在这种情况下,侧倾/俯仰稳定可能会变得容易)。但是仅基于其前置摄像头来稳定垂直速度可能不是一个好主意。

#4 楼

听起来好像您想控制四轴飞行器的位置,尽管可以用相机来做,但我认为光流并不是解决问题的正确方法。

而不是测量四轴飞行器的运动,应该测量位置。为此,您需要使用摄像头识别其视野中的特征,然后尝试将其相对于车辆放置在相同的位置。这称为视觉伺服。