我有以下底盘以及Arduino和电机护罩。

我正在开发一种与差动驱动器配合使用的跟踪机构。

通常,可以在车轮附近放置一个光反射器,该反射器将在车轮反射时每个辐条都经过,因此允许编写可准确测量每个车轮位置的代码。

我的问题是,您无法从底盘内部看到车轮,只能看到驱动轴的小孔。在外部放置传感器看起来很荒谬,并且壁撞会造成严重破坏。

如果我准确地将其放置在齿轮上(如图所示)以计数每个辐条,我是否可以使用光反射器?齿轮本身?我有点犹豫,因为即使是很小的颠簸也会使传感器对准,从而再次造成破坏。

那么有人对如何跟踪车轮运动有任何想法吗?

评论

跟踪的目的是确定您走了多远,还是更简单的方法(例如确保两个电机以相同的速度旋转)?

内部是否有可以测量齿轮旋转的地方?

@Ian,它用于测量距离,方向并将其用于自动驾驶。

@Andrew有空间,但不是很多。我现在也在寻找这个选项。基本上,我可以在此链接上贴上类似标签并进行测量? letsmakerobots.com/node/24031

如果您想自己动手做某事,那么我对构建可控“旋钮”的答案的第一部分可能很有用。

#1 楼

我为这个确切的机箱组装了编码器。我使用槽孔而不是反射槽孔。我以为我可以加工白色齿轮上的孔,但事实证明塑料对红外很透明,所以我最终使用了一些黑色的电子胶带(高科技,我知道)在齿轮上形成不透明区域。

构建了两个编码器后,我发现在线上有一个类似的产品:LightBeam OptoInterrupter模块

对于我的第一个机器人,我只是使用一个粗糙的编码器,每个编码器有4个计数车轮旋转。这是我在博客中的描述:

从机箱中看,空间不多。结果,我决定使用小型透射式传感器,而不是反射式传感器。两者都有一个红外发射器和一个红外光电探测器。对于反射单元,它们都面向相同的方向,并且检测器测量反射回传感器的IR。对于透射传感器或中断传感器,两个单元之间要有一个缝隙,检测器会拾取穿过缝隙的红外光。到目前为止,一切都很好。

我最终使用了我从DigiKey购买的Vishay透射式光学传感器(型号TCST1202)。我根据Aniss1001在Arduino论坛上“自制车轮编码器”线程中发布的电路进行了布线。



我将电路构建在了原型面包板上,用于测试并获得了惊喜。电路工作正常,但齿轮对IR透明!事实证明,尼龙和大多数用于廉价齿轮的塑料对IR相当透明。我首先尝试用黑色记号笔创建一个不透明的部分,但是当它在纸上工作时,它与齿轮的粘合性不够好。我最终使用了一条黑色胶带。一旦成功,我就将一些小的电路板切成小尺寸,并构建编码器,以练习焊接技巧。

我只是用热胶来安装编码器。编码器板贴在机箱底座上方,因此我要使用支脚通过Romeo控制器和其他设备抬起塑料板。以下是其中一个编码器安装之前的图片,然后将其安装在机箱上:





希望有帮助!

评论


$ \ begingroup $
这绝对有帮助。等不及要完成工作并开始建造它!接受这一点,非常感谢!
$ \ endgroup $
– Marko
13年1月30日在22:42

$ \ begingroup $
只是为了确认,因为齿轮是透明的,所以红外光能够穿过印刷图形的白色部分,而不是黑色?
$ \ endgroup $
– Marko
13年1月30日在23:13

$ \ begingroup $
就我而言,我没有使用印刷图形,而是使用黑色胶带,其余仅留有白色齿轮。即使纸张是白色,根据纸张的性质和厚度,纸张也会阻挡部分红外光(您所看到的编码器轮模式用于反射型传感器,就像您最初想到的那样)。我不知道单层白皮书(加上您使用的任何粘合剂)是否会阻挡大部分IR。我剪裁胶带很安全。
$ \ endgroup $
–ViennaMike
13年1月31日,0:35

$ \ begingroup $
OK,我可以测试-只需确认IR信号确实通过齿轮并被接收器接收即可。即使我将其打印出来,也总是可以将白色部分切掉,以确保信号通过。
$ \ endgroup $
– Marko
13年1月31日,0:39

$ \ begingroup $
对不起,我很困惑-我以为您使用的是这些传感器中的一种,但是我刚刚检查了链接的产品,但看起来有所不同。我在看这个
$ \ endgroup $
– Marko
2013年1月31日下午2:00

#2 楼

通常,通过观察车轮无法完成对车辆位置和方向的跟踪,而是通过导航传感器完成的。如果您想对电机进行闭环控制(即伺服控制),则轮式位置传感器可能是合适的。但是,如果目标是支持“自动驾驶”,那么我认为位置传感器是不够的。

简单地说,任何非平坦的地形或铁轨打滑都会破坏您的准确性。

相反,我建议使用以下一种或多种导航传感器:

GPS
惯性导航系统
声或激光测距仪
信标和三角测量


评论


$ \ begingroup $
该机器人肯定会在某个阶段具有GPS,但我首先要研究一种简单的方法来导航机器人并使用编码器的输入来控制方向。如果我可以使用指南针和GPS数据一起进行错误检测和校正,那将是最佳解决方案。但是我认为编码器是一个很好的“起点”。 +1
$ \ endgroup $
– Marko
13年1月30日在21:43



$ \ begingroup $
我认为“导航”是您要尝试的强有力的词汇。也许“操纵”会是一个更好的词,因为您只能对自己的动作进行粗略的估计。换句话说(以类推):如果导航是例示,那么您将能够做的是盲目的轮廓绘制-让人联想到但不准确。
$ \ endgroup $
–伊恩
2013年2月1日在16:12



#3 楼

感测车轮运动的一种替代方法是实际跟踪车辆在地面上的运动。我知道有些人使用光学鼠标传感器来完成此操作。结果将取决于您期望的地下类型。但是,好处是您可以跟踪实际的车辆运动,这是您真正感兴趣的。

评论


$ \ begingroup $
好主意@Jakob,但是机器人将在各种地形上行驶,所以光学鼠标传感器无法工作:(
$ \ endgroup $
– Marko
13年1月30日在8:31



$ \ begingroup $
可惜的是,链接到板子的链接已从sparkfun目录中淘汰了(在快速搜索后,其他地方也是如此)。
$ \ endgroup $
– Mark Booth♦
13年1月30日在20:36

#4 楼

除辐条外,车轮是否基本空心?如果是这样的话,在我看来,增加一个与前轴稍有偏移的小孔(无齿轮的车轮)将是放置光检测器的好地方。当然,这在黑暗中不太好用。

每个辐条,或者齿轮上的齿更合适,但从技术上讲是正确的,因为您指出的尺寸可能很难做到。

非齿轮轮轴是否进入底盘?您可以在那增加一个光学编码器吗?

我从未尝试过使用轨道进行里程表测试,但是我认为由于它们的打滑度增加,您将不得不处理转弯时的误差要比普通车轮大。您考虑过吗?

无论如何,我认为您必须做一些“定制”操作才能得到想要的东西。

我找不到那个机箱在Pololu。它是较旧的型号吗?

啊,我现在看到它已经被替换了。较新的机箱可以选择编码器。



评论


$ \ begingroup $
感谢您的详尽回答。我对滑点问题并没有真正考虑,只是从机器人技术/电子技术入手,所以我从当地一家电子产品商店买到了这个杂念。后轮的轴确实通过了,所以我可能会添加一个间距很小的螺旋桨?以及红外光反射器。并非完全有信心会奏效,但值得一试。我刚刚想到的另一种选择,您能看到顶部RHS保险杠上的小螺丝孔吗?将红外传感器对准轨道是否可以拾起胎面?
$ \ endgroup $
– Marko
13年1月30日在7:15

$ \ begingroup $
您想添加类似这样的内容,但是某些地方必须有一个较便宜的版本。
$ \ endgroup $
– Spiked3
2013年1月30日17:30



$ \ begingroup $
指向红外传感器也许可以,但是要花一些编程(和处理器时间)才能完成。振动与运动之间有多少轨道运动?如果您放置一个孔,使轮齿交替遮盖然后露出,并且仅检测到光线穿过该孔,则编程会容易得多。您仍然需要编写一些程序,但是我认为它不会那么复杂。它不会像专用编码器那样精确,但是对于学习来说应该可以。
$ \ endgroup $
– Spiked3
13年1月30日在17:38

$ \ begingroup $
我总是尽可能地插入乐高。 LEGO Mindstorms非常适合这类事情,价格为250美元。现在已经发布了一个新版本,可能要不到250美元。他们的电动机包括编码器。
$ \ endgroup $
– Spiked3
2013年1月30日17:39