(57)【要約】      （修正有）【課題】距離測定センサの出力値に異常が発生した原因が距離測定センサの故障であるか否かを判定する技術を提供する。【解決手段】サービスロボット１は、ロボット本体２と、床面Gの異なる領域を検出するようにロボット本体２に取り付けられた中測距センサ４及び右測距センサ３と、を備える。サービスロボット１は、中測距センサ４と右測距センサ３を用いて床面Gを検出しながら移動する。サービスロボット１は、異常原因判定部を有する。異常原因判定部は、中測距センサ４の出力値は正常であるものの右測距センサ３の出力値に異常が発生した場合、中領域２４を右測距センサ３が検出できるようにロボット本体２を旋回させ、旋回後の右測距センサ３の出力値が異常となった場合、右測距センサ３が故障したと判定する。【選択図】図９
2015170256.tif 000002
【特許請求の範囲】
【請求項１】
移動体本体と、
床面の異なる領域を検出するように前記移動体本体に取り付けられた第１の距離測定センサ及び第２の距離測定センサと、
を備え、
前記第１の距離測定センサと前記第２の距離測定センサを用いて前記床面を検出しながら移動する移動体であって、
前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値が異常となった場合、前記第２の距離測定センサが故障したと判定する異常判定手段を更に備えた、
移動体。
【請求項２】
請求項１に記載の移動体であって、
前記異常判定手段は、前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第１の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第１の距離測定センサの出力値が異常となった場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定する、
移動体。
【請求項３】
請求項１に記載の移動体であって、
前記異常判定手段は、前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値が正常であり、且つ、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第１の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第１の距離測定センサの出力値が正常である場合、異常発生時に前記第２の距離測定センサが誤作動したと判定する、
移動体。
【請求項４】
請求項１に記載の移動体であって、
前記異常判定手段は、前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第１の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第１の距離測定センサの出力値である旋回後第１出力値を取得し、その後、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値である旋回後第２出力値を取得し、
前記旋回後第１出力値が異常であった場合は、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定し、
前記旋回後第２出力値が異常であった場合は、前記第２の距離測定センサが故障したと判定し、
前記旋回後第１出力値が正常であり且つ前記旋回後第２出力値が正常であった場合は、異常発生時に前記第２の距離測定センサが誤作動したと判定する、
移動体。
【請求項５】
請求項１に記載の移動体であって、
前記床面の異なる領域を検出するように前記移動体本体に取り付けられた前記第１の距離測定センサ及び前記第２の距離測定センサ、第３の距離測定センサを備え、
前記第１の距離測定センサ及び前記第２の距離測定センサ、前記第３の距離測定センサは、前記移動体本体の旋回方向においてこの順で前記移動体本体に取り付けられており、
前記移動体は、前記第１の距離測定センサ及び前記第２の距離測定センサ、前記第３の距離測定センサを用いて前記床面を検出しながら移動するように構成されており、
前記異常判定手段は、
前記第１の距離測定センサの出力値及び前記第３の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出でき、且つ、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第３の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値が異常となった場合、前記第２の距離測定センサが故障したと判定し、旋回後の前記第３の距離測定センサの出力値が異常となった場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定し、旋回後の前記第２の距離測定センサの出力値が正常であり且つ旋回後の前記第３の距離測定センサの出力値が正常である場合、異常発生時に前記第２の距離測定センサが誤作動したと判定する、
移動体。
【請求項６】
請求項５に記載の移動体であって、
前記異常判定手段は、
前記移動体本体を旋回させる際、その旋回方向を、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域が前記移動体の進行方向を見て右側にある場合は左旋回とし、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域が前記移動体の進行方向を見て左側にある場合は右旋回とする、
移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体に関する。
【背景技術】
【０００２】
この種の技術として、特許文献１は、室内を予め決められた計画線路に従って自走しながら掃除を行う自走掃除ロボットを開示している。この自走掃除ロボットは、床面の段差を検出することを目的として、互いに離れて配置された複数のフォトリフレクタを備えている。フォトリフレクタは、光学式の距離測定センサである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１７８６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ロボット分野においては、フォトリフレクタのような距離測定センサからの出力値が異常となった場合、その距離測定センサが故障したものとみなして、ロボットの移動を停止させる制御が一般的に採用されている。距離測定センサからの出力値が異常となった場合とは、例えば、出力値がHI側又はLO側に張り付いた場合が挙げられる。
【０００５】
しかしながら、距離測定センサからの出力値が異常となるのは、距離測定センサ自体の故障が原因とは限らない。即ち、例えば床面がガラス面である場合、距離測定センサからの出力値が異常となることがある。そして、距離測定センサ自体が故障していないのであれば、ロボットの移動を再開させることが好ましい。
【０００６】
そこで、本発明の目的は、距離測定センサの出力値に異常が発生した原因が距離測定センサの故障であるか否かを判定する技術を提供することにある。
【課題を解決するための手段】
【０００７】
本願発明の第１の観点によれば、移動体本体と、床面の異なる領域を検出するように前記移動体本体に取り付けられた第１の距離測定センサ及び第２の距離測定センサと、を備え、前記第１の距離測定センサと前記第２の距離測定センサを用いて前記床面を検出しながら移動する移動体であって、前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値が異常となった場合、前記第２の距離測定センサが故障したと判定する異常判定手段を更に備えた、移動体が提供される。以上の構成によれば、前記第２の距離測定センサの出力値に異常が発生したのは、前記第２の距離測定センサが故障したからだと判定することができる。
前記異常判定手段は、前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第１の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第１の距離測定センサの出力値が異常となった場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定する。以上の構成によれば、前記第２の距離測定センサの出力値に異常が発生したのは、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があるからだと判定することができる。
前記異常判定手段は、前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値が正常であり、且つ、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第１の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第１の距離測定センサの出力値が正常である場合、異常発生時に前記第２の距離測定センサが誤作動したと判定する。以上の構成によれば、前記第２の距離測定センサの出力値に異常が発生したのは、異常発生時に前記第２の距離測定センサが誤作動したからだと判定することができる。
前記異常判定手段は、前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第１の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第１の距離測定センサの出力値である旋回後第１出力値を取得し、その後、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値である旋回後第２出力値を取得し、前記旋回後第１出力値が異常であった場合は、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定し、前記旋回後第２出力値が異常であった場合は、前記第２の距離測定センサが故障したと判定し、前記旋回後第１出力値が正常であり且つ前記旋回後第２出力値が正常であった場合は、異常発生時に前記第２の距離測定センサが誤作動したと判定する。以上の構成によれば、前記第２の距離測定センサの出力値に異常が発生した原因を包括的に判定できる。また、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定された場合、前記移動体は既に、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を回避するのに適した方角を向いていることになるので、前記移動体の回避動作がスムーズになる。
前記移動体は、前記床面の異なる領域を検出するように前記移動体本体に取り付けられた前記第１の距離測定センサ及び前記第２の距離測定センサ、第３の距離測定センサを備える。前記第１の距離測定センサ及び前記第２の距離測定センサ、前記第３の距離測定センサは、前記移動体本体の旋回方向においてこの順で前記移動体本体に取り付けられており、前記移動体は、前記第１の距離測定センサ及び前記第２の距離測定センサ、前記第３の距離測定センサを用いて前記床面を検出しながら移動するように構成されており、前記異常判定手段は、前記第１の距離測定センサの出力値及び前記第３の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出でき、且つ、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第３の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値が異常となった場合、前記第２の距離測定センサが故障したと判定し、旋回後の前記第３の距離測定センサの出力値が異常となった場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定し、旋回後の前記第２の距離測定センサの出力値が正常であり且つ旋回後の前記第３の距離測定センサの出力値が正常である場合、異常発生時に前記第２の距離測定センサが誤作動したと判定する。以上の構成によれば、前記第２の距離測定センサの出力値に異常が発生した原因を包括的に判定できる。また、その判定に要するサービスロボット１の旋回角の合計を小さくすることができる。
前記異常判定手段は、前記移動体本体を旋回させる際、その旋回方向を、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域が前記移動体の進行方向を見て右側にある場合は左旋回とし、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域が前記移動体の進行方向を見て左側にある場合は右旋回とする。以上の構成によれば、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定された場合、前記移動体は既に、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を回避するのに適した方角を向いていることになるので、前記移動体の回避動作がスムーズになる。
本願発明の第２の観点によれば、移動体本体と、床面の異なる領域を検出するように前記移動体本体に取り付けられた第１の距離測定センサ及び第２の距離測定センサと、を備え、前記第１の距離測定センサと前記第２の距離測定センサを用いて前記床面を検出しながら移動する移動体の制御方法であって、前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値が異常となった場合、前記第２の距離測定センサが故障したと判定する、移動体の制御方法が提供される。
前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第１の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第１の距離測定センサの出力値が異常となった場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定する。
前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値が正常であり、且つ、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第１の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第１の距離測定センサの出力値が正常である場合、異常発生時に前記第２の距離測定センサが誤作動したと判定する。
前記第１の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第１の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第１の距離測定センサの出力値である旋回後第１出力値を取得し、その後、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値である旋回後第２出力値を取得し、前記旋回後第１出力値が異常であった場合は、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定し、前記旋回後第２出力値が異常であった場合は、前記第２の距離測定センサが故障したと判定し、前記旋回後第１出力値が正常であり且つ前記旋回後第２出力値が正常であった場合は、異常発生時に前記第２の距離測定センサが誤作動したと判定する。
前記移動体は、前記床面の異なる領域を検出するように前記移動体本体に取り付けられた前記第１の距離測定センサ及び前記第２の距離測定センサ、第３の距離測定センサを備える。前記第１の距離測定センサ及び前記第２の距離測定センサ、前記第３の距離測定センサは、前記移動体本体の旋回方向においてこの順で前記移動体本体に取り付けられており、前記移動体は、前記第１の距離測定センサ及び前記第２の距離測定センサ、前記第３の距離測定センサを用いて前記床面を検出しながら移動するように構成されており、前記第１の距離測定センサの出力値及び前記第３の距離測定センサの出力値は正常であるものの前記第２の距離測定センサの出力値に異常が発生した場合、異常発生時に前記第１の距離測定センサが検出していた前記床面の領域を前記第２の距離測定センサが検出でき、且つ、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域を前記第３の距離測定センサが検出できるように前記移動体本体を旋回させ、旋回後の前記第２の距離測定センサの出力値が異常となった場合、前記第２の距離測定センサが故障したと判定し、旋回後の前記第３の距離測定センサの出力値が異常となった場合、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域に異常があると判定し、旋回後の前記第２の距離測定センサの出力値が正常であり且つ旋回後の前記第３の距離測定センサの出力値が正常である場合、異常発生時に前記第２の距離測定センサが誤作動したと判定する。
前記移動体本体を旋回させる際、その旋回方向を、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域が前記移動体の進行方向を見て右側にある場合は左旋回とし、異常発生時に前記第２の距離測定センサが検出していた前記床面の領域が前記移動体の進行方向を見て左側にある場合は右旋回とする。
本願発明の第３の観点によれば、コンピュータに、上記の制御方法を実行させるための制御プログラムが提供される。
【発明の効果】
【０００８】
本発明によれば、距離測定センサの出力値に異常が発生した原因が距離測定センサの故障であるか否かを判定することができる。
【図面の簡単な説明】
【０００９】
【図１】移動ロボットの斜視図である。（第１実施形態）
【図２】移動ロボットの平面図である。（第１実施形態）
【図３】移動ロボットの機能ブロック図である。（第１実施形態）
【図４】移動ロボットの制御フローである。（第１実施形態）
【図５】移動ロボットの制御フローである。（第１実施形態）
【図６】移動ロボットの制御フローである。（第１実施形態）
【図７】異常原因判定中の移動ロボットの平面図である。（第１実施形態）
【図８】異常原因判定中の移動ロボットの平面図である。（第１実施形態）
【図９】異常原因判定中の移動ロボットの平面図である。（第１実施形態）
【図１０】異常原因の一覧表を示す図である。（第１実施形態）
【図１１】進行方向右側の床面に異常がある場合の、異常原因判定中の移動ロボットの平面図である。（第１実施形態）
【図１２】進行方向右側の床面に異常がある場合の、異常原因判定中の移動ロボットの平面図である。（第１実施形態）
【図１３】進行方向右側の床面に異常がある場合の、異常原因判定中の移動ロボットの平面図である。（第１実施形態）
【図１４】誤検知の場合の、異常原因判定中の移動ロボットの平面図である。（第１実施形態）
【図１５】誤検知の場合の、異常原因判定中の移動ロボットの平面図である。（第１実施形態）
【図１６】誤検知の場合の、異常原因判定中の移動ロボットの平面図である。（第１実施形態）
【図１７】誤検知の場合の、異常原因判定中の移動ロボットの平面図である。（第１実施形態）
【図１８】異常原因判定中の移動ロボットの平面図である。（第２実施形態）
【図１９】移動ロボットの制御フローである。（第２実施形態）
【図２０】異常原因判定中の移動ロボットの平面図である。（第２実施形態）
【発明を実施するための形態】
【００１０】
（第１実施形態）
以下、図１〜図１７を参照して、本発明の第１実施形態を説明する。
【００１１】
第１実施形態のサービスロボット１（移動体）を図１及び図２に示している。サービスロボット１は、ロボット本体２（移動体本体）と、右測距センサ３、中測距センサ４、左測距センサ５、制御部６（制御手段）、４つの車輪７、を備えている。
【００１２】
４つの車輪７は、ロボット本体２に回転自在に取り付けられている。サービスロボット１は、４つの車輪７を有することで、前後進運動及び各種の旋回運動を行えるようになっている。各種の旋回運動とは、右前方旋回運動、左前方旋回運動、右後方旋回運動、左後方旋回運動、その場旋回運動（pivot turn、超信地旋回）を含む。サービスロボット１は、その場旋回運動する際の回転軸Cを有する。
【００１３】
右測距センサ３及び中測距センサ４、左測距センサ５は、例えば赤外線を用いた距離測定センサである。右測距センサ３及び中測距センサ４、左測距センサ５は、サービスロボット１が走行する床面Gの異なる領域を検出するようにロボット本体２に取り付けられている。図２に示すように、右測距センサ３は、サービスロボット１の右斜め前方の領域を検出する。中測距センサ４は、サービスロボット１の前方の領域を検出する。左測距センサ５は、サービスロボット１の左斜め前方の領域を検出する。
【００１４】
図３に示すように、制御部６は、中央演算処理器としてのCPU８（Central Processing Unit）と、読み書き自由のRAM９（Random Access Memory）、読み出し専用のROM１０（Read Only Memory）を備えている。そして、CPU８がROM１０に記憶されている制御プログラムを読み出して実行することで、制御プログラムは、CPU８などのハードウェアを、地図情報記憶部１１、目的地情報記憶部１２、経路生成部１３、経路記憶部１３ａ、自律移動制御部１４、異常原因判定部１５（異常判定手段）、異常発生時測距データ記憶部１６、旋回後測距データ記憶部１７、として機能させる。
【００１５】
地図情報記憶部１１は、サービスロボット１がサービスを行う環境の地図に関する地図情報が記憶されている。地図情報には、サービスロボット１の進入が禁止される領域に関する進入禁止領域情報が含まれている。
【００１６】
目的地情報記憶部１２は、サービスロボット１の目的地に関する目的地情報が記憶されている。目的地情報は、サービスロボット１が提供するサービスに応じて制御部６が自動的に生成する。
【００１７】
経路生成部１３は、地図情報記憶部１１に記憶されている地図情報と、目的地情報記憶部１２に記憶されている目的地情報と、に基づいて、サービスロボット１の移動経路に関する移動経路情報を生成する。経路生成部１３は、生成した移動経路情報を経路記憶部１３ａに記憶する。
【００１８】
自律移動制御部１４は、経路記憶部１３ａに記憶されている移動経路情報に基づいて、サービスロボット１の自律的な移動を制御する。自律移動制御部１４は、右測距センサ３及び中測距センサ４、左測距センサ５からの出力値を取得する。自律移動制御部１４は、右測距センサ３及び中測距センサ４、左測距センサ５からの出力値に基づいて、サービスロボット１の進行方向に段差が存在しないか逐次確認しながら、サービスロボット１の自律的な移動を制御する。自律移動制御部１４は、サービスロボット１の進行方向に段差が存在していると判定した場合は、その段差を迂回するようにサービスロボット１の移動を制御する。
【００１９】
異常原因判定部１５は、右測距センサ３又は中測距センサ４、左測距センサ５のうち何れか１つの出力値に異常が発生した場合、その異常発生の原因を判定する。異常原因判定部１５は、異常の原因を判定するために、サービスロボット１の自律移動を停止させたり、サービスロボット１にその場旋回運動をさせたりする。
【００２０】
異常発生時測距データ記憶部１６は、右測距センサ３又は中測距センサ４、左測距センサ５のうち何れか１つの出力値に異常が発生した際の、右測距センサ３及び中測距センサ４、左測距センサ５の出力値を記憶する。
【００２１】
旋回後測距データ記憶部１７は、異常原因判定部１５がサービスロボット１にその場旋回運動をさせた後の、右測距センサ３及び中測距センサ４、左測距センサ５の出力値を記憶する。
【００２２】
次に、図４〜図６を参照して、サービスロボット１の動作を説明する。
【００２３】
先ず、制御部６が、サービスロボット１が提供するサービスに応じて目的地情報を生成し(S100)、生成した目的地情報を目的地情報記憶部１２に記憶させる。
【００２４】
次に、経路生成部１３は、地図情報記憶部１１に記憶されている地図情報と、目的地情報記憶部１２に記憶されている目的地情報と、に基づいて、サービスロボット１の移動経路に関する移動経路情報を生成し(S110)、生成した移動経路情報を経路記憶部１３ａに記憶させる。
【００２５】
次に、自律移動制御部１４は、経路記憶部１３ａに記憶されている移動経路情報に基づいて、サービスロボット１の自律移動の制御を開始する(S120)。具体的には、先ず、自律移動制御部１４は、右測距センサ３及び中測距センサ４、左測距センサ５からの出力値を取得する(S130)。次に、自律移動制御部１４は、右測距センサ３及び中測距センサ４、左測距センサ５からの出力値が何れも正常か判定する(S140)。ここで、「出力値が正常である」とは、出力値がHI側やLO側に張り付いていない状態を意味し、「出力値が異常である」とは、出力値がHI側やLO側に張り付いている状態を意味する。右測距センサ３及び中測距センサ４、左測距センサ５からの出力値が何れも正常であると判定した場合は(S140:YES)、自律移動制御部１４は、目的地情報記憶部１２に記憶されている目的地情報を参照して、サービスロボット１が目的地に到達したか判定する(S150)。サービスロボット１が目的地に到達していないと判定した場合は（S150:NO）、自律移動制御部１４は、処理をS130に戻す。一方、サービスロボット１が目的地に到達したと判定した場合は(S150:YES)、自律移動制御部１４は、サービスロボット１の自律移動の制御を終了する(S160)。
【００２６】
S140で、右測距センサ３及び中測距センサ４、左測距センサ５からの出力値の何れかが正常でないと判定した場合は(S140:NO)、自律移動制御部１４は、図５に示すように、サービスロボット１の自律移動の制御を停止する(S200)。以下、説明の便宜上、右測距センサ３の出力値に異常が発生したものとする。自律移動制御部１４がサービスロボット１の自律移動の制御を停止したら(S200)、異常原因判定部１５は、右測距センサ３の出力値に異常が発生した原因を判定する(S210)。
【００２７】
ここで、右測距センサ３の出力値に異常が発生する原因として、第１に、右測距センサ３の故障が挙げられる。なぜなら、右測距センサ３が故障したら、右測距センサ３の出力値が異常になるからである。第２に、右測距センサ３の誤作動が挙げられる。なぜなら、右測距センサ３は、故障していなくても稀に誤作動する場合があり、この場合、右測距センサ３の出力値が異常になるからである。第３に、異常発生時に右測距センサ３が検出していた領域が異常だった場合が挙げられる。なぜなら、床面が鏡面やガラス面だったために右測距センサ３から出射した赤外線が全反射又は乱反射すると、右測距センサ３が正常に機能しなくなり、右測距センサ３の出力値が異常になるからである。
【００２８】
図５に戻り、右測距センサ３の出力値に異常が発生した原因が右測距センサ３の故障であると異常原因判定部１５が判定した場合(S220:YES)、制御部６は、サービスロボット１の自律移動の制御を中止する(S225)。一方、右測距センサ３の出力値に異常が発生した原因が右測距センサ３の故障ではなく(S220:NO)、異常発生時に右測距センサ３が検出していた領域が異常だったからだと異常原因判定部１５が判定した場合は（S230:YES）、異常発生時に右測距センサ３が検出していた領域では仮に段差があってもその段差を検出できないので、制御部６は、異常発生時に右測距センサ３が検出していた領域を進入禁止領域に追加すうように地図情報記憶部１１を更新し(S240)、処理を図４のS110に戻す。一方、右測距センサ３の出力値に異常が発生した原因が右測距センサ３の故障ではなく(S220:NO)、異常発生時に右測距センサ３が検出していた領域が異常だったからでもないと異常原因判定部１５が判定した場合は（S230:NO）、制御部６は、処理を図４のS120に戻す。
【００２９】
（異常原因判定処理）
次に、図６〜図１０を参照して、異常原因判定部１５による異常原因判定処理を詳しく説明する。
【００３０】
図７には、右測距センサ３の出力値に異常が発生したので(S140:NO)、自律移動制御部１４が、サービスロボット１の自律移動の制御を停止した状態(S200)を示している。図７において、異常発生時に右測距センサ３が検出していた領域を右領域２３、異常発生時に中測距センサ４が検出していた領域を中領域２４、異常発生時に左測距センサ５が検出していた領域を左領域２５とする。
【００３１】
先ず、異常原因判定部１５は、右測距センサ３の出力値に異常が発生した図７の状態で、異常発生時の中測距センサ４の出力値を異常発生時測距データ記憶部１６に記憶する(S400)。
【００３２】
次に、異常原因判定部１５は、中測距センサ４が右領域２３を検出できるようにサービスロボット１を平面視で時計回りにその場旋回させる(S410)。その場旋回後の状態を図８に示す。図８の状態で、異常原因判定部１５は、旋回後の中測距センサ４の出力値を取得し(S420)、旋回後測距データ記憶部１７に記憶する。
【００３３】
次に、異常原因判定部１５は、右測距センサ３が中領域２４を検出できるようにサービスロボット１を平面視で反時計回りにその場旋回させる(S430)。その場旋回後の状態を図９に示す。図９の状態で、異常原因判定部１５は、旋回後の右測距センサ３の出力値を取得し(S440)、旋回後測距データ記憶部１７に記憶する。
【００３４】
そして、異常原因判定部１５は、異常発生時の中測距センサ４の出力値と、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値と、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値と、に基づいて、右測距センサ３の出力値に異常が発生した原因を判定する(S450)。
【００３５】
図１０には、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値と、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値と、がどのような場合にどのような異常原因が対応するかをまとめた表を掲載した。異常原因は、パターンA〜パターンCに分類される。パターンAは、右測距センサ３が故障したことを原因とするものである。パターンBは、右領域２３が異常であることを原因とするものである。パターンCは、異常発生時に右測距センサ３が誤作動したことを原因とするものである。表中に示すように、右測距センサ３で右領域２３を検出した際の右測距センサ３の出力値に異常が発生した際、中測距センサ４の出力値も、左測距センサ５の出力値も、正常となっている。
【００３６】
パターンAでは、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値は異常であり、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値は正常である。ここで、「右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値は異常である」とは、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値がHI側又はLO側に張り付いている場合と、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値と、右測距センサ３の出力値に異常が発生した際の中測距センサ４の出力値と、の差分値が所定値以上である場合と、を含む。
【００３７】
パターンBでは、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値は正常であり、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値は異常である。ここで、「中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値は異常である」とは、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値がHI側又はLO側に張り付いている場合を含む。
【００３８】
パターンCでは、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値も、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値も、正常である。
【００３９】
従って、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値は異常となり、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値は正常となった場合、異常原因判定部１５は、図７の状態で右測距センサ３の出力値に異常が発生した原因は、右測距センサ３の故障であると判定する。
【００４０】
同様に、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値は正常となり、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値は異常となった場合は、異常原因判定部１５は、図７の状態で右測距センサ３の出力値に異常が発生した原因は、右領域２３が異常であるからと判定する。
【００４１】
同様に、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値も、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値も、正常となった場合は、異常原因判定部１５は、図７の状態で右測距センサ３の出力値に異常が発生した原因は、異常発生時の右測距センサ３の誤作動であると判定する。
【００４２】
なお、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値も、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値も、異常になる可能性は限りなく低い。従って、異常原因判定部１５は、以下のように、右測距センサ３の出力値に異常が発生した原因を判定してもよい。
【００４３】
即ち、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値が異常となったら、異常原因判定部１５は、図７の状態で右測距センサ３の出力値に異常が発生した原因は、右測距センサ３の故障であると判定してもよい。
【００４４】
同様に、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値は異常となった場合は、異常原因判定部１５は、図７の状態で右測距センサ３の出力値に異常が発生した原因は、右領域２３が異常であるからと判定してもよい。
【００４５】
次に、異常原因判定部１５による異常原因判定処理を具体例を用いて更に詳細に説明する。
【００４６】
（第１具体例）
図１１〜図１３には、第１具体例を示している。第１具体例では、サービスロボット１の右斜め前方の領域ｐがガラス面となっている。従って、サービスロボット１は、領域ｐ内に存在する段差を検出することができない。
【００４７】
図１１には、右測距センサ３の出力値に異常が発生したので(S140:NO)、自律移動制御部１４が、サービスロボット１の自律移動の制御を停止した状態(S200)を示している。
【００４８】
先ず、異常原因判定部１５は、右測距センサ３の出力値に異常が発生した図１１の状態で、異常発生時の中測距センサ４の出力値を異常発生時測距データ記憶部１６に記憶する(S400)。
【００４９】
次に、異常原因判定部１５は、中測距センサ４が右領域２３を検出できるようにサービスロボット１を平面視で時計回りにその場旋回させる(S410)。その場旋回後の状態を図１２に示す。図１２の状態で、異常原因判定部１５は、旋回後の中測距センサ４の出力値を取得し(S420)、旋回後測距データ記憶部１７に記憶する。
【００５０】
次に、異常原因判定部１５は、右測距センサ３が中領域２４を検出できるようにサービスロボット１を平面視で反時計回りにその場旋回させる(S430)。その場旋回後の状態を図１３に示す。図１３の状態で、異常原因判定部１５は、旋回後の右測距センサ３の出力値を取得し(S440)、旋回後測距データ記憶部１７に記憶する。
【００５１】
そして、異常原因判定部１５は、異常発生時の中測距センサ４の出力値と、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値と、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値と、に基づいて、右測距センサ３の出力値に異常が発生した原因を判定する(S450)。
【００５２】
第１具体例では、領域ｐの存在により、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値は正常であり、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値は異常となるパターンBに当てはまる。従って、異常原因判定部１５は、図１１の状態で右測距センサ３の出力値に異常が発生した原因は、右領域２３が異常であるからと判定する。そして、右領域２３が異常だと異常原因判定部１５が判定したから（S230:YES）、右領域２３では仮に段差があってもその段差を検出できないので、制御部６は、右領域２３を進入禁止領域に追加すうように地図情報記憶部１１を更新し(S240)、処理を図４のS110に戻す。
【００５３】
そして、経路生成部１３は、更新された地図情報と、目的地情報記憶部１２に記憶されている目的地情報と、に基づいて、サービスロボット１の移動経路に関する移動経路情報を再度、生成し(S110)、生成した移動経路情報を経路記憶部１３ａに記憶させる。
【００５４】
次に、自律移動制御部１４は、経路記憶部１３ａに記憶されている移動経路情報に基づいて、サービスロボット１の自律移動の制御を再開する(S120)。ここで、図１３に示すように、サービスロボット１が既に領域ｐを回避するのに適した方角を向いているので、サービスロボット１の自律移動がスムーズに再開される。
【００５５】
このように、サービスロボット１は、右測距センサ３の出力値に異常が発生した原因を精度良く判定できるので、右測距センサ３が実際には故障していないにも拘わらずサービスロボット１の自律移動を中止させてしまうようなことがなく、右測距センサ３が故障していない場合は、サービスロボット１によるサービスを継続して提供することができるようになる。
【００５６】
（第２具体例）
図１４〜図１７には、第２具体例を示している。
【００５７】
図１４には、右測距センサ３の出力値に異常が発生したので(S140:NO)、自律移動制御部１４が、サービスロボット１の自律移動の制御を停止した状態(S200)を示している。
【００５８】
先ず、異常原因判定部１５は、右測距センサ３の出力値に異常が発生した図１４の状態で、異常発生時の中測距センサ４の出力値を異常発生時測距データ記憶部１６に記憶する(S400)。
【００５９】
次に、異常原因判定部１５は、中測距センサ４が右領域２３を検出できるようにサービスロボット１を平面視で時計回りにその場旋回させる(S410)。その場旋回後の状態を図１５に示す。図１５の状態で、異常原因判定部１５は、旋回後の中測距センサ４の出力値を取得し(S420)、旋回後測距データ記憶部１７に記憶する。
【００６０】
次に、異常原因判定部１５は、右測距センサ３が中領域２４を検出できるようにサービスロボット１を平面視で反時計回りにその場旋回させる(S430)。その場旋回後の状態を図１６に示す。図１６の状態で、異常原因判定部１５は、旋回後の右測距センサ３の出力値を取得し(S440)、旋回後測距データ記憶部１７に記憶する。
【００６１】
そして、異常原因判定部１５は、異常発生時の中測距センサ４の出力値と、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値と、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値と、に基づいて、右測距センサ３の出力値に異常が発生した原因を判定する(S450)。
【００６２】
第２具体例では、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値も、中測距センサ４が右領域２３を検出した際の中測距センサ４の出力値も、正常となるパターンCに当てはまる。従って、異常原因判定部１５は、図１４の状態で右測距センサ３の出力値に異常が発生した原因は、異常発生時に右測距センサ３が誤作動したからと判定する。そして、右測距センサ３の出力値に異常が発生した原因が右測距センサ３の故障ではなく(S220:NO)、異常発生時に右測距センサ３が検出していた領域が異常ではなかったと異常原因判定部１５が判定したから(S230:NO)、制御部６は、処理を図４のS120に戻す。
【００６３】
次に、自律移動制御部１４は、異常原因判定部１５による異常判定処理前の元の移動経路情報に基づいて、サービスロボット１の自律移動の制御を再開する(S120)。
【００６４】
この場合、自律移動制御部１４は、サービスロボット１の向きを、図１７に示すように異常原因判定部１５による異常判定処理前の向きに戻し、サービスロボット１の自律移動の制御を再開することになる(S120)。
【００６５】
このように、サービスロボット１は、右測距センサ３の出力値に異常が発生した原因を精度良く判定できるので、右測距センサ３が実際には故障していないにも拘わらずサービスロボット１の自律移動を中止させてしまうようなことがなく、右測距センサ３が故障していない場合は、サービスロボット１によるサービスを継続して提供することができるようになる。
【００６６】
以上に、第１実施形態を説明したが、上記第１実施形態は、以下の特長を有する。
【００６７】
（１）サービスロボット１（移動体）は、ロボット本体２（移動体本体）と、床面Gの異なる領域を検出するようにロボット本体２に取り付けられた中測距センサ４（第１の距離測定センサ）及び右測距センサ３（第２の距離測定センサ）と、を備える。サービスロボット１は、中測距センサ４と右測距センサ３を用いて床面Gを検出しながら移動する。サービスロボット１は、異常原因判定部１５を有する。異常原因判定部１５は、中測距センサ４の出力値は正常であるものの右測距センサ３の出力値に異常が発生した場合、中領域２４を右測距センサ３が検出できるようにロボット本体２を旋回させ、旋回後の右測距センサ３の出力値が異常となった場合、右測距センサ３が故障したと判定する。以上の構成によれば、右測距センサ３の出力値に異常が発生したのは、右測距センサ３が故障したからだと判定することができる。
【００６８】
（２）異常原因判定部１５は、中測距センサ４の出力値は正常であるものの右測距センサ３の出力値に異常が発生した場合、右領域２３を中測距センサ４が検出できるようにロボット本体２を旋回させ、旋回後の中測距センサ４の出力値が異常となった場合、右領域２３に異常があると判定する。以上の構成によれば、右測距センサ３の出力値に異常が発生したのは、右領域２３に異常があるからだと判定することができる。
【００６９】
（３）異常原因判定部１５は、中測距センサ４の出力値は正常であるものの右測距センサ３の出力値に異常が発生した場合、中領域２４を右測距センサ３が検出できるようにロボット本体２を旋回させ、旋回後の右測距センサ３の出力値が正常であり、且つ、右領域２３を中測距センサ４が検出できるようにロボット本体２を旋回させ、旋回後の中測距センサ４の出力値が正常である場合、異常発生時に右測距センサ３が誤作動したと判定する。以上の構成によれば、右測距センサ３の出力値に異常が発生したのは、異常発生時に右測距センサ３が誤作動したからだと判定することができる。
【００７０】
（４）異常原因判定部１５は、中測距センサ４の出力値は正常であるものの右測距センサ３の出力値に異常が発生した場合、右領域２３を中測距センサ４が検出できるようにロボット本体２を旋回させ、旋回後の中測距センサ４の出力値である旋回後第１出力値を取得し、その後、中領域２４を右測距センサ３が検出できるようにロボット本体２を旋回させ、旋回後の右測距センサ３の出力値である旋回後第２出力値を取得し、旋回後第１出力値が異常であった場合は、右領域２３に異常があると判定し、旋回後第２出力値が異常であった場合は、右測距センサ３が故障したと判定し、旋回後第１出力値が正常であり且つ旋回後第２出力値が正常であった場合は、異常発生時に右測距センサ３が誤作動したと判定する。以上の構成によれば、右測距センサ３の出力値に異常が発生した原因を包括的に判定できる。また、右領域２３に異常があると判定された場合、サービスロボット１は既に、右領域２３を回避するのに適した方角を向いていることになるので、サービスロボット１の回避動作がスムーズになる。
【００７１】
（第２実施形態）
次に、図１８〜図２０を参照して、第２実施形態を説明する。以下、本実施形態が上記第１実施形態と異なる点を中心に説明し、重複する説明は省略する。
【００７２】
第２実施形態のサービスロボット１を図１８に示している。サービスロボット１は、右測距センサ３及び中測距センサ４、左測距センサ５に加えて、右端測距センサ３０と左端測距センサ３１を有する。
【００７３】
右端測距センサ３０及び左端測距センサ３１は、例えば赤外線を用いた距離測定センサである。右測距センサ３及び中測距センサ４、左測距センサ５、右端測距センサ３０、左端測距センサ３１は、サービスロボット１が走行する床面Gの異なる領域を検出するようにロボット本体２に取り付けられている。図１８に示すように、右端測距センサ３０は、サービスロボット１の右方の領域を検出する。左端測距センサ３１は、サービスロボット１の左方の領域を検出する。
【００７４】
自律移動制御部１４は、経路記憶部１３ａに記憶されている移動経路情報に基づいて、サービスロボット１の自律的な移動を制御する。自律移動制御部１４は、右測距センサ３及び中測距センサ４、左測距センサ５、右端測距センサ３０、左端測距センサ３１からの出力値を取得する。自律移動制御部１４は、右測距センサ３及び中測距センサ４、左測距センサ５、右端測距センサ３０、左端測距センサ３１からの出力値に基づいて、サービスロボット１の進行方向に段差が存在しないか逐次確認しながら、サービスロボット１の自律的な移動を制御する。自律移動制御部１４は、サービスロボット１の進行方向に段差が存在していると判定した場合は、その段差を迂回するようにサービスロボット１の移動を制御する。
【００７５】
異常原因判定部１５は、右測距センサ３又は中測距センサ４、左測距センサ５、右端測距センサ３０、左端測距センサ３１のうち何れか１つの出力値に異常が発生した場合、その異常発生の原因を判定する。異常原因判定部１５は、異常の原因を判定するために、サービスロボット１の自律移動を停止させたり、サービスロボット１にその場旋回運動をさせたりする。
【００７６】
異常発生時測距データ記憶部１６は、右測距センサ３又は中測距センサ４、左測距センサ５、右端測距センサ３０、左端測距センサ３１のうち何れか１つの出力値に異常が発生した際の、右測距センサ３及び中測距センサ４、左測距センサ５、右端測距センサ３０、左端測距センサ３１の出力値を記憶する。
【００７７】
旋回後測距データ記憶部１７は、異常原因判定部１５がサービスロボット１にその場旋回運動をさせた後の、右測距センサ３及び中測距センサ４、左測距センサ５、右端測距センサ３０、左端測距センサ３１の出力値を記憶する。
【００７８】
（異常原因判定処理）
次に、図１８〜図２０を参照して、異常原因判定部１５による異常原因判定処理を詳しく説明する。
【００７９】
図１８には、右測距センサ３の出力値に異常が発生したので(S140:NO)、自律移動制御部１４が、サービスロボット１の自律移動の制御を停止した状態(S200)を示している。図１８において、異常発生時に右端測距センサ３０が検出していた領域を右端領域２２、異常発生時に左端測距センサ３１が検出していた領域を左端領域２６とする。
【００８０】
先ず、異常原因判定部１５は、右測距センサ３の出力値に異常が発生した図１８の状態で、異常発生時の中測距センサ４の出力値を異常発生時測距データ記憶部１６に記憶する(S500)。
【００８１】
次に、異常原因判定部１５は、右測距センサ３が中領域２４を検出し、且つ、右端測距センサ３０が右領域２３を検出できるようにサービスロボット１を平面視で反時計回りにその場旋回させる(S510)。その場旋回後の状態を図２０に示す。図２０の状態で、異常原因判定部１５は、右測距センサ３及び右端測距センサ３０の出力値を取得し(S520)、旋回後測距データ記憶部１７に記憶する。
【００８２】
そして、異常原因判定部１５は、異常発生時の中測距センサ４の出力値と、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値と、右端測距センサ３０が右領域２３を検出した際の右端測距センサ３０の出力値と、に基づいて、右測距センサ３の出力値に異常が発生した原因を判定する(S530)。
【００８３】
具体的には、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値は異常となり、右端測距センサ３０が右領域２３を検出した際の右端測距センサ３０の出力値が正常となった場合、異常原因判定部１５は、図１８の状態で右測距センサ３の出力値に異常が発生した原因は、右測距センサ３の故障であると判定する。
【００８４】
同様に、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値は正常となり、右端測距センサ３０が右領域２３を検出した際の右端測距センサ３０の出力値が異常となった場合は、異常原因判定部１５は、図１８の状態で右測距センサ３の出力値に異常が発生した原因は、右領域２３が異常だったからと判定する。
【００８５】
同様に、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値も、右端測距センサ３０が右領域２３を検出した際の右端測距センサ３０の出力値も、正常となった場合は、図１８の状態で右測距センサ３の出力値に異常が発生した原因は、異常発生時の右測距センサ３の誤作動であると判定する。
【００８６】
なお、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値も、右端測距センサ３０が右領域２３を検出した際の右端測距センサ３０の出力値も、異常になる可能性は限りなく低い。従って、異常原因判定部１５は、以下のように、右測距センサ３の出力値に異常が発生した原因を判定してもよい。
【００８７】
即ち、右測距センサ３が中領域２４を検出した際の右測距センサ３の出力値が異常となったら、異常原因判定部１５は、図１８の状態で右測距センサ３の出力値に異常が発生した原因は、右測距センサ３の故障であると判定してもよい。
【００８８】
同様に、右端測距センサ３０が右領域２３を検出した際の右端測距センサ３０の出力値が異常となったら、異常原因判定部１５は、図１８の状態で右測距センサ３の出力値に異常が発生した原因は、右領域２３が異常であるからと判定してもよい。
【００８９】
このように、サービスロボット１が測距センサを少なくとも３つ以上有し、その中央の測距センサの出力値に異常が発生した場合は、１回の旋回で、その異常発生の原因を判定することができる。
【００９０】
好ましくは、図１８において、右端領域２２、右領域２３、中領域２４、左領域２５、左端領域２６は、回転軸Cを中心とした同一円周上にこの順で、且つ、この円周上で等間隔となるように位置するとよい。この場合、回転軸Cをその場旋回の旋回中心としてロボット本体２をその場旋回させるだけで、右測距センサ３は中領域２４を検出でき、右端測距センサ３０は右領域２３を検出できるようになる。
【００９１】
以上に、本願発明の第２実施形態を説明したが、上記第２実施形態は、以下の特長を有する。
【００９２】
（５）サービスロボット１は、床面Gの異なる領域を検出するようにロボット本体２に取り付けられた中測距センサ４（第１の距離測定センサ）及び右測距センサ３（第２の距離測定センサ）、右端測距センサ３０（第３の距離測定センサ）を備える。中測距センサ４及び右測距センサ３、右端測距センサ３０は、ロボット本体２の旋回方向においてこの順でロボット本体２に取り付けられている。サービスロボット１は、中測距センサ４及び右測距センサ３、右端測距センサ３０を用いて床面Gを検出しながら移動するように構成されている。異常原因判定部１５は、中測距センサ４の出力値及び右端測距センサ３０の出力値は正常であるものの右測距センサ３の出力値に異常が発生した場合、中領域２４を右測距センサ３が検出でき、且つ、右領域２３を右端測距センサ３０が検出できるようにロボット本体２を旋回させ、旋回後の右測距センサ３の出力値が異常となった場合、右測距センサ３が故障したと判定し、旋回後の右端測距センサ３０の出力値が異常となった場合、右領域２３に異常があると判定し、旋回後の右測距センサ３の出力値が正常であり且つ旋回後の右端測距センサ３０の出力値が正常である場合、異常発生時に右測距センサ３が誤作動したと判定する。以上の構成によれば、右測距センサ３の出力値に異常が発生した原因を包括的に判定できる。また、その判定に要するサービスロボット１の旋回角の合計を小さくすることができる。なぜなら、中領域２４を右測距センサ３が検出できるようにロボット本体２を旋回させる方向と、右領域２３を右端測距センサ３０が検出できるようにロボット本体２を旋回させる方向と、が同じ方向だからである。
【００９３】
（６）異常原因判定部１５は、ロボット本体２を旋回させる際、その旋回方向を、右領域２３がサービスロボット１の進行方向を見て右側にある場合は左旋回とし、右領域２３がサービスロボット１の進行方向を見て左側にある場合は右旋回とする。以上の構成によれば、右領域２３に異常があると判定された場合、サービスロボット１は既に、右領域２３を回避するのに適した方角を向いていることになるので、サービスロボット１の回避動作がスムーズになる。
【００９４】
上述の例において、制御プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、制御プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００９５】
１  サービスロボット
２  ロボット本体
３  右測距センサ
４  中測距センサ
５  左測距センサ
６  制御部
７  車輪
１１  地図情報記憶部
１２  目的地情報記憶部
１３  経路生成部
１３ａ  経路記憶部
１４  自律移動制御部
１５  異常原因判定部
１６  異常発生時測距データ記憶部
１７  旋回後測距データ記憶部
２２  右端領域
２３  右領域
２４  中領域
２５  左領域
２６  左端領域
３０  右端測距センサ
３１  左端測距センサ
C  回転軸
G  床面
ｐ  領域
【図１】
2015170256.tif 000003
【図２】
2015170256.tif 000004
【図３】
2015170256.tif 000005
【図４】
2015170256.tif 000006
【図５】
2015170256.tif 000007
【図６】
2015170256.tif 000008
【図７】
2015170256.tif 000009
【図８】
2015170256.tif 000010
【図９】
2015170256.tif 000011
【図１０】
2015170256.tif 000012
【図１１】
2015170256.tif 000013
【図１２】
2015170256.tif 000014
【図１３】
2015170256.tif 000015
【図１４】
2015170256.tif 000016
【図１５】
2015170256.tif 000017
【図１６】
2015170256.tif 000018
【図１７】
2015170256.tif 000019
【図１８】
2015170256.tif 000020
【図１９】
2015170256.tif 000021
【図２０】
2015170256.tif 000022