回答:
この問題に対するルンバの解決策は、実際には下向きの近接センサーである崖センサーを追加することでした。
この手法は、暗いタイルの床などの一部の表面に問題があるように見えますが、これはアプリケーションにとって問題にならないようです。
IR LEDとIRフォトダイオードを使って自分で作成することもできます。たとえば、このArduino互換のDIY赤外線近接センサーです。
また、Tinny Wanderer-A Table Top Robotから、指導可能なものについていくつかのアイデアを得ることができるかもしれません。
簡単で安価なアプローチは、ひげのようなタッチセンサーを使用することです。コントローラーはウィスカが地面に接触しているかどうかを監視するだけで、接触していない場合は停止してウィスカから離れます。
別のかなり安価な方法は、地面に向けられた一連のIRレンジファインダーを使用することです。次に、コントローラーはレンジャーから返された値を監視し、それらのいずれかが事前定義されたしきい値を超えると、ロボットは停止してそのセンサーから離れます。
この問題を解決するには、いくつかの異なるアプローチがあります。
距離センサーを使用する場合、センサーによって提供されるデジタル信号かアナログ信号かを確認する必要があります。「クリフセンサー」の目的では、センサーがトグルとして使用でき、距離が最小距離を超えていることを検出できるため、おそらくデジタルで問題ありません。
トグルスイッチよりも多くの情報(壁からの距離など)を提供するアナログセンサーに興味がある場合は、デバイスの範囲を確認する必要があります。上記の回答に描かれている鋭いセンサーは電圧を提供します。電圧は距離に変換する必要があります(距離とは逆の関係です)。超音波センサーがカバーするのと同じ距離範囲をカバーするには、3つのセンサーが必要です(例:SRF08超音波距離計)。シャープGP2D120距離測定センサー4-30cm(短距離用)、シャープGP2Y0A02YK距離測定センサー20-150cm(中距離用)、シャープGP2Y0A710K0F距離測定センサー100-550cm(長距離センサー用)。超音波センサーが散発的にゼロになる問題がありました。したがって、このドロップアウトがアプリケーションで受け入れられない場合は、catchステートメントをプログラムする必要があります。SRF08超音波距離計は、メーカーによって調整されているため、操作がはるかに簡単でした。