7

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

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

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

编辑:

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

4

7 回答 7

13

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

于 2009-10-07T16:10:33.780 回答
5

网络摄像头可以轻松跟踪黑色背景上的白线,如果您确实发现有灵敏度问题,它是系统的一个易于升级的部分。(您只需要插入更昂贵的凸轮)

你可能会感兴趣看看OpenCV

(开源计算机视觉)是用于实时计算机视觉的编程函数库。

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

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

于 2009-10-07T16:07:47.987 回答
2

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

使用网络摄像头可能涉及大量的视觉处理。

但与此同时,您可以在其他子系统上工作,即从计算机控制电机,并自行构建事物并弄清楚如何为其提供动力。

于 2009-10-07T16:06:54.620 回答
2

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

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

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

于 2009-10-07T16:50:19.883 回答
0

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

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

于 2009-10-07T16:11:41.580 回答
0

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

于 2009-10-08T10:38:37.137 回答
0

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

于 2013-12-31T04:21:29.623 回答