我和几个朋友将建造一个简单的机器人来跟踪黑色表面上的白线,我们以前从未做过此类事情,而且我有非常高水平的攻击计划,

获取满足所有计算需求的迷你 atx 板、用于跟踪道路的网络摄像头和 2 个电动机,一个用于推进,一个用于方向。

我主要关心的是,有没有更好的方法来跟踪道路?或者网络摄像头可以胜任这项工作吗?

编辑:

使用光敏电阻跟进答案似乎是一种可行的方法,但我还有一个问题,轨道右侧会有信号告诉机器人转向哪个方向。又是黑底白字。比如我必须在丁字路口左转。有没有办法在没有相机的情况下处理这个问题?

有帮助吗?

解决方案

这是最好完全绕过复杂的视觉软件和使用简单的电子产品。有设备被称为光电晶体管,其对光敏感。在机器人的每一侧,从光遮蔽的来自上述点的两个向下。如果机器人开始向右走,而不是按照行,左边的传感器将被激活。如果这样下去,左,右一个将被激活。使用这些信号的反馈来引导机器人(你可能几乎直接套用到马达如果有两个电机)。

其他提示

一个网络摄像头不会有任何麻烦跟踪在黑色背景上的白线,如果你发现你有问题的敏感性,这是一个容易升级一块系统。 (你只需要在一个更昂贵的凸轮堵塞)

有可能感兴趣的你看看 OpenCV的

  

(开源计算机视觉)是编程函数即时计算机视觉库。

有可能给你一些想法为你执行,或甚至是使用给你的,如果你最终使用C ++

修改:虽然使用的LDR像安德鲁中号提示可以是一个更简单的解决方案:)

我提出在学校类似机器人,和由两个小的传感器,基本上只LDR在防光管有电路来控制光从开到关制成翻盖的阈值。它所做的逻辑很简单 - 有此传感器下一条黑线?是|没有

使用Web凸轮可能涉及相当大量的视觉处理。

在此期间,虽然,您可以在其他子系统,即从计算机控制的电机,并建立了事物本身并搞清楚如何来驱动它的所有工作。

之前关于使用光电传感器的评论是很好的建议,尽管它们可能更难找到/制造可以插入 USB 端口的东西。

如果您确实走相机路线,我建议您模拟一个简单的传感器;也许可以取输入的左半部分和右半部分的平均值作为直行/左/右行驶的指示。

但是,如果您想花更少的时间构建自定义部件,您可以查看 乐高 NXT 套件. 。它们配备了光学传感器和图形编程环境。即使您不购买,您也可以从围绕它的社区讨论中学习。

建议您使用两个马达来驱动它,一个每边坐在机箱的中间,那么双脚轮前部和后部(升离地面略微因此它可以在驱动轮岩)。然后,你可以驱动它像一个罐,它可以打开一个6个便士(或从美国一角硬币如果)。

现货前机器人大战选手:)

如果你用相机去,你可能需要做一些简单的图像处理。最简单的方法很可能是自适应阈值 - 采取一切从像素摄像头帧,转换为灰度(如果它的颜色),计算平均,并以此为门槛 - 你将不得不在黑色背景上的白线。如果仍然得到小的白色斑点(由于不均匀的照明)可以通过分离图象插入连接部件(带floodfill),并删除小斑点过滤出来。之后,你希望会得到黑色背景上的一个白色条纹。

我没有类似的东西,并把它写进一个模块。 http://letsmakerobots.com/node/38883#comments

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top