我是机器人制作的新手,刚开始玩第一只arduino。

我想制造一个可以在桌子上徘徊的机器人,而且我认为如果能做到,它将持续更长的时间避免从桌子上掉下来。

让它检测桌子边缘的最佳方法是什么,这样我就可以使其停下来并转身?它必须可靠并且最好便宜。

如果我不需要在桌子上增加多余的东西,以便可以在任何表面上使用它也会更好(我的第一个想法是在桌子上绘制路径线并制成线跟随器机器人,但我不太喜欢这个想法。)

#1 楼

Roomba解决此问题的方法是添加悬崖传感器,该传感器实际上只是朝下的接近传感器:



尽管此技术似乎在某些表面上有问题,例如作为黑暗的瓷砖地板,这听起来对您的应用程序来说不是问题。

您甚至可以使用IR LED和IR光电二极管来制作自己的产品,例如Arduino兼容的DIY红外接近传感器。

您还可以从Tiny Wanderer(台式机器人)中获得一些有关指导的想法。

#2 楼

一种简单且便宜的方法是使用像晶须这样的触摸传感器。控制器只是监视晶须是否与地面接触,如果不是,则停止并远离该晶须。

另一种相当便宜的方法是使用一组指向红外的测距仪朝向地面。然后,控制器监视从游侠返回的值,如果其中任何一个超过某个预定义的阈值,则机器人将停止并移开该传感器。

评论


$ \ begingroup $
触摸的问题是传感器可能会受到地板上物体撞击的损坏。传感器的可靠性是机器人设计的重要组成部分。
$ \ endgroup $
–杰伊·海狸
13年2月21日在2:41

#3 楼

解决此问题的方法有很多:


距离传感器
触摸传感器
桌子边缘(或磁铁)周围的RFID标签
/>相机(使用图像处理会更困难,而arduino可能不够强大)

使用距离传感器,您需要检查它是否是由数字电视提供的数字或模拟信号传感器。对于您的“悬崖传感器”,您可能会使用数字传感器,因为您可以将传感器用作切换开关,以检测距离何时超过最小距离。

如果您对模拟传感器感兴趣的是提供不仅仅是开关的更多信息(例如距墙壁的距离),您将需要检查设备的量程。上面答案中所示的敏锐传感器将为您提供电压,您必须将其转换为距离(它与距离成反比)。您将需要3个传感器来覆盖超声波传感器所覆盖的相同距离范围(例如SRF08超声波测距仪)。 Sharp GP2D120距离测量传感器为4-30cm(短距离),Sharp GP2Y0A02YK距离测量传感器为20-150cm(中距离),Sharp GP2Y0A710K0F Sharp距离测量传感器为100-550cm(远距离传感器)。我遇到了超声波传感器偶尔下降到零的问题,因此如果该下降在您的应用程序中是不可接受的,那么您将需要编写catch语句。由于制造商已对SRF08超声波测距仪进行了调整,因此使用起来非常容易。