机器人与计算机视觉

时间:2009-10-07 16:01:01

标签: computer-vision robotics

一对朋友和我将构建简单的机器人来跟踪黑色表面上的白线,我们以前从未做过这种事情而且我有非常高级别的攻击计划,

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

我主要担心的是,有没有更好的方法来追踪这条路?或者网络摄像头是否适合这项工作?

编辑:

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

7 个答案:

答案 0 :(得分:13)

最好完全绕过精心设计的视觉软件并使用简单的电子设备。有一种称为光电晶体管的器件对光敏感。在机器人的每一侧向下指向第二点,从上方的光线遮蔽。如果机器人开始向右移动而不是跟随线路,则左侧传感器将被激活。如果它向左,则将激活正确的一个。使用这些信号的反馈来指导机器人(如果你有两个电机,你可以将它们几乎直接应用到电机上。)

答案 1 :(得分:5)

网络摄像头可以在黑色背景上跟踪白线,如果您确实发现存在敏感问题,则它是系统中易于升级的部分。 (你只需要插一个更昂贵的摄像头)

您可能会对OpenCV

感兴趣
  

(开源计算机视觉)是一个用于实时计算机视觉的编程功能库。

它可能会为您提供一些实现的想法,如果最终使用C ++,甚至可能对您有用

编辑:尽管使用像 Andrew M 这样的LDR建议可能是一个更简单的解决方案:)

答案 2 :(得分:2)

我在学校制造了一个类似的机器人,制作了两个小传感器,基本上只是一个防光管中的LDR,带有一个控制光线阈值的电路,使翻转从开启到关闭。它使逻辑非常简单 - 这个传感器下面有黑线吗?是|没有

使用网络摄像头可能需要进行大量的视觉处理。

与此同时,您可以使用其他子系统,即从计算机控制电机,自行构建物品并确定如何为所有子系统供电。

答案 3 :(得分:2)

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

如果你去相机路线,我建议你模仿一个简单的传感器;或许可以将输入的左右两半平均作为直线/左/右驾驶的指示。

但是,如果您希望花费更少的时间来构建自定义部分,则可以查看LEGO NXT kit。它们配有光学传感器和图形编程环境。即使你不买一个,你也可以从围绕它的社区讨论中学习。

答案 4 :(得分:0)

建议您使用两个马达来驱动它,每个侧面坐在您的底盘中间,然后是两个脚轮前后(稍微抬起地板,以便它可以在驱动轮上摇动)。然后你可以像坦克一样驾驶它,它可以打开六便士(如果来自美国的话还是一角钱)。

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

答案 5 :(得分:0)

如果您使用相机,则可能需要进行一些简单的图像处理。最简单的方法可能是自适应阈值处理 - 从相机帧中取出所有像素,转换为灰度(如果它是彩色的),计算平均值并将其用作阈值 - 您将在黑色背景上有白线。如果你仍然得到小的白点(由于光线不均匀),你可以通过将图片分成连接的组件(使用floodfill)并去除小斑点来过滤掉它们。在那之后,你希望在黑色背景上获得单一的白色条纹。

答案 6 :(得分:0)

我做了类似的事情并将其写入模块中。 http://letsmakerobots.com/node/38883#comments