Answers:
Roomba解决此问题的方法是添加悬崖传感器,该传感器实际上只是朝下的接近传感器:
尽管此技术似乎对某些表面有问题,例如深色瓷砖地板,但听起来这对您的应用程序来说不是问题。
您甚至可以使用IR LED和IR光电二极管来打造自己,例如Arduino兼容的DIY红外接近传感器。
您可能还可以从Tiny Wanderer(台式机器人)的一些指导中获得一些想法。
有多种解决此问题的方法:
使用距离传感器时,您需要检查它是传感器提供的数字信号还是模拟信号。出于“悬崖传感器”的目的,您可能会使用数字传感器,因为您可以将传感器用作切换开关,以检测距离何时超过最小距离。
如果您对模拟传感器感兴趣的是提供不仅仅是开关的更多信息(例如,到墙壁的距离),您将需要检查设备的量程。上面答案中所示的敏锐传感器将为您提供电压,您必须将其转换为距离(它与距离成反比)。您将需要3个传感器来覆盖超声波传感器所覆盖的相同距离范围(例如SRF08超声波测距仪)。Sharp GP2D120距离测量传感器为4-30cm(短距离),Sharp GP2Y0A02YK距离测量传感器为20-150cm(中距离),Sharp GP2Y0A710K0F Sharp距离测量传感器为100-550cm(远距离传感器)。我遇到超声波传感器零星降到零的问题,因此,如果您的应用程序不接受该辍学,则需要编写一个catch语句。由于制造商已对SRF08超声波测距仪进行了调试,因此使用起来非常容易。