(57)【特許請求の範囲】
【請求項１】
作業領域における移動ロボットの角度補正方法であって、
前記移動ロボットが最初に検知した障害物の縁部における予め定められた値よりも長い直線を取得し、
前記長い直線に基づいて直交座標系を確立し、
前記移動ロボットが障害物の縁部における前記長い直線を次に検知した時の、予め定められた走行方向に対する走行角度を取得し、
前記走行角度および前記直交座標系に基づいて、前記走行角度を対応する座標軸の方向に補正する、
ことを含み、
前記走行角度および前記直交座標系に基づいて、前記走行角度を対応する座標軸の方向に補正することは、
前記走行角度と前記直交座標系の座標軸の方向との角度差が所定値より小さい場合に、前記走行角度を前記対応する座標軸の方向に補正する、
ことをさらに含む、角度補正方法。
【請求項２】
前記長い直線は、長さが所定値よりも大きい直線または近似直線である、請求項１に記載の角度補正方法。
【請求項３】
前記走行角度および前記直交座標系に基づいて、前記走行角度を対応する前記座標軸の方向に補正した後は、
前記移動ロボットが前記作業領域での作業を完了するまで、前記移動ロボットが障害物の縁部における前記長い直線を次に検知した時の走行角度を取得するステップと、前記走行角度と前記直交座標系に基づいて前記走行角度を次に対応する前記座標軸の方向に補正するステップとを繰り返す、
ことをさらに含む、請求項１または２に記載の角度補正方法。
【請求項４】
前記移動ロボットが最初に検知した障害物の縁部における長い直線を取得することは、
前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行し、
所定の期間Ｔ０内に前記移動ロボットの走行角度を複数回取得し、
前記移動ロボットの複数の前記走行角度に基づいて、複数の前記走行角度の値がＡ０の付近にある且つ変化量が閾値Ｄ０より小さいか否かを判定し、
そうである場合、障害物の縁部を取得された前記長い直線とする、
ことをさらに含み、
Ａ０は、複数の前記走行角度の値の平均値である、請求項１から３のいずれか一項に記載の角度補正方法。
【請求項５】
そうである場合、障害物の縁部を取得された前記長い直線とし、
そうでない場合、前記移動ロボットが所定の期間ｔ０または所定の距離ｄ０で作動した後、前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って移動するように制御する、
ことをさらに含む、請求項４に記載の角度補正方法。
【請求項６】
そうである場合、障害物の縁部を取得された前記長い直線とした後は、
前記移動ロボットの障害物に沿う走行期間を取得し、
前記移動ロボットの障害物に沿う前記走行期間に基づいて、前記移動ロボットの障害物に沿う前記走行期間が所定値より大きいか否かを判定し、
そうである場合、障害物の縁部に沿う走行を停止させ、前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことをさらに含む、請求項４または５に記載の角度補正方法。
【請求項７】
複数の前記走行角度の値がＡ０の付近にある且つ変化量が閾値Ｄ０より小さい場合、障害物の縁部を取得された前記長い直線とすることは、
前記移動ロボットが障害物に沿って走行した回転角度を取得し、
前記移動ロボットが障害物に沿って走行した前記回転角度に基づいて、前記移動ロボットが障害物に沿って走行した前記回転角度が所定値より大きいか否かを判定し、
前記回転角度が所定値より大きい場合、障害物の縁部に沿う走行を停止させ、前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことをさらに含む、請求項４から６のいずれか一項に記載の角度補正方法。
【請求項８】
前記長い直線に基づいて直交座標系を確立することは、
前記移動ロボットを原点とし、前記長い直線のＡ０方向をＸ軸の正方向とし、前記長い直線のＡ０方向と直交する左直交方向又は右直交方向をＹ軸の正方向として、前記直交座標系を確立する、
ことをさらに含む、請求項１から７のいずれか一項に記載の角度補正方法。
【請求項９】
前記移動ロボットが障害物の縁部における前記長い直線を次に検知した時の走行角度を取得することは、
前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行し、
所定の期間Ｔ１内に前記移動ロボットの走行角度を複数回取得し、
前記移動ロボットの複数の前記走行角度に基づいて、複数の前記走行角度が角度Ａ１の付近にある且つ変化量が閾値Ｄ１より小さいか否かを判定し、
そうである場合、前記角度Ａ１を前記走行角度とする、
ことをさらに含む、請求項１から８のいずれか一項に記載の角度補正方法。
【請求項１０】
そうである場合、前記角度Ａ１を前記走行角度とすることは、
そうでない場合、前記移動ロボットが所定の期間ｔ１または所定の距離ｄ１で作動した後、前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことをさらに含む、請求項９に記載の角度補正方法。
【請求項１１】
前記走行角度および前記直交座標系に基づいて、前記走行角度を対応する座標軸の方向に補正することは、
前記走行角度Ａ１に基づいて、前記走行角度Ａ１と前記直交座標系のｘ軸の正負方向およびｙ軸の正負方向との角度差Ｄｘ＋、Ｄｘ−、Ｄｙ＋、Ｄｙ−を取得し、
前記角度差Ｄｘ＋、Ｄｘ−、Ｄｙ＋、Ｄｙ−が閾値Ｄ２より小さいか否かを判定し、
そうである場合、前記移動ロボットの現在角度を前記対応する座標軸の方向に補正する、
ことをさらに含む、請求項９または１０に記載の角度補正方法。
【請求項１２】
そうである場合、前記移動ロボットの現在角度を前記対応する座標軸の方向に補正し、
そうでない場合、前記移動ロボットが所定の期間ｔ２または所定の距離ｄ２で作動した後、前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことをさらに含む、請求項１１に記載の角度補正方法。
【請求項１３】
移動ロボットであって、制御部、駆動システム、角度センサ、エッジセンサ、距離センサ、およびメモリを備え、
前記エッジセンサは、作業領域における障害物の縁部を検出して、前記移動ロボットを障害物の縁部に沿って移動させるように構成され、
前記制御部は、前記エッジセンサから受信した情報に基づいて、障害物の縁部に予め定められた値よりも長い直線があるかどうかを検出し、最初に検出された前記長い直線を基準として直交座標系を確立し、前記長い直線を次に検出した時、予め定められた走行方向に対する前記移動ロボットの走行角度を取得し、前記走行角度と前記直交座標系の一つの座標軸の方向との角度差が所定値より小さい場合、前記移動ロボットの前記走行角度を対応する座標軸の方向に補正するように構成され、ここで、前記長い直線は、長さが所定値よりも大きい直線または近似直線として定義され、
前記駆動システムは、前記移動ロボットの移動を駆動するように構成され、
前記角度センサは、前記移動ロボットの前記走行角度をリアルタイムで取得するように構成され、
前記距離センサは、前記移動ロボットの走行距離を取得するように構成され、
前記メモリは、前記直交座標系の情報および各前記所定値を記憶するように構成される、移動ロボット。
【請求項１４】
前記角度センサは、ジャイロスコープまたは電子コンパスであり、および／または、
前記エッジセンサは赤外線センサであり、および／または、
前記距離センサは走行距離計である、
請求項１３に記載の移動ロボット。
【請求項１５】
前記移動ロボットは床拭きロボットである、請求項１３または１４に記載の移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボットの分野に属し、特に、角度補正機能を有する移動ロボットおよび作業領域における移動ロボットの角度補正方法に関する。
【背景技術】
【０００２】
従来の移動ロボット（例えば床拭きロボット）は、慣性航法の原理を用いてそれら自身の角度を測定する。移動ロボットは、ある期間で動作した後、累積誤差により、移動ロボットにより取得されたそれら自体の角度が正確ではないことが原因で、作業領域における移動ロボットの充電効率とカバレッジ効率へ悪影響を及ぼすことがある。
【０００３】
上記課題に鑑みて、従来技術の解決策としては、移動ロボットにカメラを設置し、周辺環境の特徴点（例えば、天井の特徴点または人工的に設定されたマーカなど）を認識させることによって、移動ロボットの角度を補正することを達成する；あるいは、作業領域の境界にビーコンを設置し、移動ロボットがビーコンからの信号を検出した後にその姿勢および角度を調整する。
【０００４】
しかしながら、上記方法は、部品を追加して実現する必要があるため、移動ロボットのコストを増加させ、制御もより複雑になってしまう。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の第１の目的は、背景技術における欠点を克服し、作業領域における移動ロボットの角度補正方法を提供することである。本発明に係る方法の解決策は以下の通りである：
【課題を解決するための手段】
【０００６】
作業領域における移動ロボットの角度補正方法であって、
移動ロボットが最初に検知した障害物の縁部における長い直線を取得し、
長い直線に基づいて直交座標系を確立し、
移動ロボットが障害物の縁部における長い直線を次に検知した時の走行角度を取得し、
走行角度および直交座標系に基づいて、走行角度を対応する座標軸の方向に補正する、
ことを含む。
【０００７】
さらに、走行角度および直交座標系に基づいて、走行角度を対応する座標軸の方向に補正することは、
走行角度と直交座標系の座標軸の方向との角度差が所定値より小さい場合に、走行角度を対応する座標軸の方向に補正する、
ことを含む。
【０００８】
さらに、長い直線は、長さが所定値よりも大きい直線または近似直線である。
【０００９】
さらに、走行角度および直交座標系に基づいて、走行角度を対応する座標軸の方向に補正した後は、
移動ロボットが作業領域での作業を完了するまで、移動ロボットが障害物の縁部における長い直線を次に検知した時の走行角度を取得するステップと、走行角度と直交座標系に基づいて走行角度を次に対応する座標軸の方向に補正するステップとを繰り返す、
ことを含む。
【００１０】
さらに、移動ロボットが最初に検知した障害物の縁部における長い直線を取得することは、
移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行し、
所定の期間Ｔ０内に移動ロボットの走行角度を複数回取得し、
移動ロボットの複数の走行角度に基づいて、複数の走行角度の値がＡ０の付近にある且つ変化量が閾値Ｄ０より小さいか否かを判定し、
そうである場合、障害物の縁部を取得された長い直線とする、
ことを含む。
【００１１】
さらに、そうである場合、障害物の縁部を取得された長い直線とすることは、
そうでない場合、移動ロボットが所定の期間ｔ０または所定の距離ｄ０で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って移動するように制御する、
ことを含む。
【００１２】
さらに、そうである場合、障害物の縁部を取得された長い直線とした後は、
移動ロボットの障害物に沿う走行期間を取得し、
移動ロボットの障害物に沿う走行期間に基づいて、移動ロボットの障害物に沿う走行期間が所定値より大きいか否かを判定し、
そうである場合、障害物の縁部に沿う走行を停止させ、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことを含む。
【００１３】
さらに、そうである場合、障害物の縁部を取得された長い直線とすることは、
移動ロボットが障害物に沿って走行した回転角度を取得し、
移動ロボットが障害物に沿って走行した回転角度に基づいて、移動ロボットが障害物に沿って走行した回転角度が所定値より大きいか否かを判定し、
そうである場合、障害物の縁部に沿う走行を停止させ、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことを含む。
【００１４】
さらに、長い直線に基づいて直交座標系を確立することは、
移動ロボットを原点とし、長い直線のＡ０方向をＸ軸の正方向とし、長い直線のＡ０方向と直交する左直交方向又は右直交方向をＹ軸の正方向として、直交座標系を確立する、
ことを含む。
【００１５】
さらに、移動ロボットが障害物の縁部における長い直線を次に検知した時の走行角度を取得することは、
移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行し、
所定の期間Ｔ１内に移動ロボットの走行角度を複数回取得し、
移動ロボットの複数の走行角度に基づいて、複数の走行角度が角度Ａ１の付近にある且つ変化量が閾値Ｄ１より小さいか否かを判定し、
そうである場合、角度Ａ１を走行角度とする、
ことを含む。
【００１６】
さらに、そうである場合、角度Ａ１を走行角度とすることは、
そうでない場合、移動ロボットが所定の期間ｔ１または所定の距離ｄ１で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことを含む。
【００１７】
さらに、走行角度および直交座標系に基づいて、走行角度を対応する座標軸の方向に補正することは、
走行角度Ａ１に基づいて、走行角度Ａ１と直交座標系のｘ軸の正負方向およびｙ軸の正負方向との角度差Ｄｘ＋、Ｄｘ−、Ｄｙ＋、Ｄｙ−を取得し、
角度差Ｄｘ＋、Ｄｘ−、Ｄｙ＋、Ｄｙ−が閾値Ｄ２より小さいか否かを判定し、
そうである場合、移動ロボットの現在角度を対応する座標軸の方向に補正する、
ことを含む。
【００１８】
さらに、そうである場合、移動ロボットの現在角度を対応する座標軸の方向に補正することは、
そうでない場合、移動ロボットが所定の期間ｔ２または所定の距離ｄ２で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことを含む。
【００１９】
本発明の第２の目的は、背景技術における欠点を克服し、角度補正機能を有する移動ロボットを提供することである。本発明に係る移動ロボットの具体的な解決策は以下の通りである：
移動ロボットであって、制御部、駆動システム、角度センサ、エッジセンサ、距離センサ、およびメモリを備え、
エッジセンサは、作業領域における障害物の縁部を検出して、移動ロボットを障害物の縁部に沿って移動させるように構成され、
制御部は、エッジセンサから受信した情報に基づいて、障害物の縁部に長い直線があるかどうかを検出し、最初に検出された長い直線を基準として直交座標系を確立し、長い直線を次に検出した時、移動ロボットの走行角度を取得し、走行角度と直交座標系の一つの座標軸の方向との角度差が所定値より小さい場合、移動ロボットの走行角度を対応する座標軸の方向に補正するように構成され、ここで、長い直線は、長さが所定値よりも大きい直線または近似直線として定義され、
駆動システムは、移動ロボットの移動を駆動するように構成され、
角度センサは、移動ロボットの走行角度をリアルタイムで取得するように構成され、
距離センサは、移動ロボットの走行距離を取得するように構成され、
メモリは、直交座標系の情報および各所定値を記憶するように構成される。
【００２０】
さらに、角度センサは、ジャイロスコープまたは電子コンパスであり、および／または、
エッジセンサは赤外線センサであり、および／または、
距離センサは走行距離計である。
【００２１】
さらに、移動ロボットは床拭きロボットである。
【００２２】
本発明によって開示された技術的解決策は、移動ロボットの作業領域における障害物の縁部における長い直線を基準としてその走行角度を調整する。本発明の解決策は、低コストであり、実装が容易であり、そして優れた実装効果を有し、移動ロボットのオーバーレイ経路計画に使用することができる。
【図面の簡単な説明】
【００２３】
本発明の実施形態の技術的解決策をより明確に説明するために、以下、実施形態で使用される図面について簡単に説明するが、以下の説明における図面は本発明のいくつかの実施形態であることは明らかである。当業者にとっては、これらの図面に基づいて他の図面を創造的な作業なしに取得可能である。
【００２４】
【図１】本発明の一実施形態に係る作業領域における移動ロボットの角度補正方法のフローチャートである。
【図２】本発明の一実施形態に係る、移動ロボットが最初に検知した障害物の縁部における長い直線を取得するための方法のフローチャートである。
【図３】本発明の一実施形態に係る、移動ロボットが次に障害物の縁部における長い直線を検知したときの走行角度を取得するための方法のフローチャートである。
【図４】本発明の一実施形態に係る、走行角度を対応する座標軸の方向に補正する方法のフローチャートである。
【図５】本発明の一実施形態に係る床拭きロボットのハードウェア構成図である。
【図６】本発明の一実施形態に係る作業領域における移動ロボットの軌道の概略図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態中の図面と合わせて、発明の実施例に係る技術的発明を明確に、完全に説明する。当然、説明した実施例は、ただ本発明の一部の実施例に過ぎず、すべての実施例ではない。本発明の実施例に基づいて、当業者が創造的な創作をしていない前提で取得したすべての他の実施例も、本発明の範囲に属する。
【００２６】
図１を参照すると、図１は、本発明の一実施形態に係る作業領域における移動ロボットの角度補正方法のフローチャートである。
【００２７】
図１に示すように、作業領域における移動ロボットの角度補正方法は、次のステップＳ１００〜Ｓ４００を含むことができる。
【００２８】
ステップＳ１００：移動ロボットが最初に検知した障害物の縁部における長い直線を取得する。
【００２９】
具体的には、床拭きロボット（移動ロボット）は、作業領域内でブートした後に、角度情報を初期化し（例えば、走行方向を０°とする）、ブートした時の方向に直線的に前進する。作業領域が常に限られているので、一定の期間で直線的に移動した後、必ず障害物（壁やテーブル、ソファなどの家具を含む）に遭遇するに違いない。床拭きロボット（移動ロボット）が障害物の縁部に沿って移動するように制御する。障害物の縁部における長い直線を検出する。そのうち、長い直線とは、所定値よりも大きい長さの直線または近似直線である。
【００３０】
ステップＳ２００：上記長い直線に基づいて直交座標系を確立する。
【００３１】
具体的には、移動ロボットを原点とし、長い直線のＡ０方向をＸ軸の正方向とし、長い直線のＡ０方向に直交する左直交方向または右直交方向をＹ軸の正方向として、直交座標系を確立する。その後、この直交座標系をメモリに記憶する。
【００３２】
ステップＳ３００：移動ロボットが障害物の縁部における長い直線を次に検知したときの走行角度を取得する。
【００３３】
具体的には、床拭きロボットは、直交座標系を確立した後、清掃プログラムに従って一定の期間（１０〜２０秒など）で作動した後、または所定の距離（５〜１０ｍなど）で走行した後、障害物に遭遇するまで直線的に移動を開始する。そして、赤外線センサによって障害物の縁部を検出して障害物の縁部に沿って移動し、走行角度を取得する。
【００３４】
ステップＳ４００：上記走行角度及び直交座標系に基づいて、走行角度を対応する座標軸の方向に補正する。
【００３５】
具体的には、上記走行角度と直交座標系の座標軸の方向との角度差が所定値より小さい場合、走行角度を対応する座標軸の方向に補正する。移動ロボットがこの作業領域での作業を完了するまで、ステップＳ３００およびステップＳ４００を繰り返す。
【００３６】
図２を参照すると、図２は、本発明の一実施形態に係る、移動ロボットが最初に検知した障害物の縁部における長い直線を取得するための方法のフローチャートである。
【００３７】
図２に示すように、移動ロボットが最初に検知した障害物の縁部における長い直線を取得するための方法は、以下のステップＳ１１０〜Ｓ１５０を含むことができる。
【００３８】
ステップＳ１１０：移動ロボットは、障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行する。
【００３９】
具体的に、床拭きロボット（移動ロボット）は、作業領域内でブートした後に、角度情報を初期化し（例えば、走行方向を０°とする）、ブートした時の方向に直線的に前進する。作業領域が常に限られているので、一定の期間で直線的に移動した後、必ず障害物（壁やテーブル、ソファなどの家具を含む）に遭遇するに違いない。床拭きロボットは赤外線センサを使用して障害物の縁部を検出し、障害物の縁部を検出し続けることによって、床拭きロボットを障害物の縁部に沿って走行させる。
【００４０】
ステップＳ１２０：所定の期間Ｔ０内に移動ロボットの走行角度を複数回取得する。
【００４１】
具体的には、床拭きロボットは、ジャイロスコープを介して所定の期間Ｔ０（例えば、２秒〜５秒）内に、床拭きロボットの走行角度を固定周波数（例えば、１００Ｈｚ）で複数回取得して制御部に送信する。
【００４２】
ステップＳ１３０：上記移動ロボットの複数の走行角度に基づいて、複数の走行角度の値がＡ０の付近にある且つ変化量が閾値Ｄ０より小さいか否かを判定する。
【００４３】
具体的には、制御部は、複数の走行角度のデータがＡ０（Ａ０は通常、それらの複数の角度値の平均値である。）の付近にある且つＡ０との差がいずれも閾値Ｄ０（本実施形態では例えば１°である。）より小さいか否かを計算により判定する。
【００４４】
ステップＳ１４０：そうである場合、障害物の縁部を取得された長い直線とする。
【００４５】
具体的には、上記条件を満たす場合、床拭きロボットは、Ｔ０期間中に角度値Ａ０（床拭きロボットがブートした時に対する角度）の長い直線に沿って走行していると考えられる。障害物の縁部を取得された長い直線とする。
【００４６】
ステップＳ１５０：そうでない場合、移動ロボットが所定の期間ｔ０または所定の距離ｄ０で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する。
【００４７】
具体的には、上記条件を満たさない場合、床拭きロボットがＴ０期間に長い直線に沿って走行していないと考えられる。床拭きロボットは、清掃プログラムに従って一定の期間ｔ０（例えば１０〜２０秒）で動作した後または所定距離ｄ０（例えば５ｍ〜１０ｍ）で走行した後、ステップＳ１１０に戻る。
【００４８】
床拭きロボットが最初に障害物の縁部における長い直線を検知する効率を向上させるために、床拭きロボットが障害物に沿って走行する期間が所定値（例えば１０秒）を超える、または、走行の回転角度が所定値（例えば１８０°）を超えるようにする。そうである場合、床拭きロボットが障害物の縁部に沿って何度も移動したり、閉じ込められた領域内を循環移動したりしないように、障害物の縁部に沿う走行を停止させて、ステップＳ１１０に戻る。
【００４９】
図３を参照すると、図３は、本発明の一実施形態に係る、移動ロボットが次に障害物の縁部における長い直線を検知した時の走行角度を取得する方法のフローチャートである。
【００５０】
図３に示すように、移動ロボットが次に障害物の縁部における長い直線を検知した時の走行角度を取得する方法は、以下のステップＳ３１０〜Ｓ３５０を含む。
【００５１】
ステップＳ３１０：移動ロボットは、障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行する。
【００５２】
具体的には、床拭きロボットは、直交座標系を確立した後、清掃プログラムに従って所定の期間（１０〜２０秒など）で作動した後または所定の距離（５〜１０ｍなど）を走行した後、障害物に遭遇したまで直線的に移動を開始し、それから、赤外線センサによって障害物の縁部を検出して障害物の縁部に沿って移動する。
【００５３】
ステップＳ３２０：所定の期間Ｔ１内に移動ロボットの走行角度を複数回取得する。
【００５４】
具体的には、このステップＳ３２０は、ステップＳ１２０と実質的に同じ、すなわち現在の障害物の縁部に長い直線があるか否かを検出する。具体的には、床拭きロボットは、ジャイロスコープによって、所定の期間Ｔ１（例えば、２秒〜５秒）で、床拭きロボットの走行角度を一定の周波数（１００Ｈｚ）で取得して制御部に送信する。
【００５５】
ステップＳ３３０：上記移動ロボットの複数の走行角度に基づいて、複数の走行角度が角度Ａ１の付近にある且つ変化量が閾値Ｄ１よりも小さいか否かを判定する。
【００５６】
具体的には、制御部は、それらの複数の走行角度のデータがＡ１の付近（Ａ１は一般的にそれらの複数の角度値の平均値）にある且つＡ１との差がいずれも閾値Ｄ１（本実施形態では１°）より小さいか否かを判定する。
【００５７】
ステップＳ３４０：そうである場合、角度Ａ１を走行角度とする。
【００５８】
具体的には、上記条件を満たす場合には、床拭きロボットがＴ１期間において（ステップＳ２００で確立された直交座標系に対する）角度値Ａ１の長い直線に沿って走行していると考えられる。すなわち、Ａ１は床拭きロボットの走行角度である。
【００５９】
ステップＳ３５０：そうでない場合、移動ロボットが所定の期間ｔ１または所定の距離ｄ１で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する。
【００６０】
具体的には、上記条件を満たさない場合には、床拭きロボットがＴ１期間において長い直線に沿って走行していないと考えられる。床拭きロボットは、清掃プログラムに従って所定の期間ｔ１（例えば１０〜２０秒）で作動した後または所定の距離ｄ１（例えば５〜１０ｍ）を走行した後、ステップＳ３１０に戻る。
【００６１】
図４を参照すると、図４は、本発明の一実施形態に係る、対応する座標軸の方向に走行角度を補正する方法のフローチャートである。
【００６２】
図４に示すように、対応する座標軸の方向に走行角度を補正する方法は、以下のステップＳ４１０〜Ｓ４４０を含む。
【００６３】
ステップＳ４１０：上記走行角度Ａ１に基づいて、走行角度Ａ１と直交座標系のｘ軸の正負方向およびｙ軸の正負方向との角度差Ｄｘ＋、Ｄｘ−、Ｄｙ＋、Ｄｙ−を取得する。
【００６４】
具体的には、制御部はそれぞれ、Ａ１とｘ軸の正方向との角度差Ｄｘ＋、Ａ１とｘ軸の負方向との角度差Ｄｘ−、Ａ１とｙ軸の正方向との角度差Ｄｙ＋及びＡ１とｙ軸の正方向との角度差Ｄｙ−を算出する。
【００６５】
ステップＳ４２０：Ｄｘ＋、Ｄｘ−、Ｄｙ＋、Ｄｙ−が閾値Ｄ２より小さいか否かを判定する。
【００６６】
具体的には、Ｄｘ＋、Ｄｘ−、Ｄｙ＋、Ｄｙ−と閾値Ｄ２（本実施形態では１°）の大きさを比較することによって行う。
【００６７】
ステップＳ４３０：そうである場合、移動ロボットの現在角度を対応する座標軸の方向に補正する。
【００６８】
具体的には、Ｄｘ＋、Ｄｘ−、Ｄｙ＋、Ｄｙ−のいずれかが閾値Ｄ２より小さい場合、長い直線が対応する直交座標系の座標軸と平行しているはずと考えられる。床拭きロボットは、累積誤差による角度差を生じ、自身の角度補正が必要となる。Ｄｘ＋が閾値Ｄ２より小さい場合、床拭きロボットの現在の走行方向を座標系のｘ軸の正方向に補正する。Ｄｘ−が閾値Ｄ２より小さい場合、床拭きロボットの現在の走行方向を座標系のｘ軸の負方向に補正する。Ｄｙ＋が閾値Ｄ２より小さい場合、床拭きロボットの現在の走行方向を座標系のｙ軸の正方向に補正する。Ｄｙ−が閾値Ｄ２より小さい場合、床拭きロボットの現在の走行方向を座標系のｙ軸の負方向に補正する。
【００６９】
ステップＳ４４０：そうでない場合、移動ロボットが所定の期間ｔ２または所定の距離ｄ２で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する。
【００７０】
具体的には、Ｄｘ＋、Ｄｘ−、Ｄｙ＋、Ｄｙ−はいずれも、Ｄ２以上である場合、長い直線自体が座標系の各座標軸と平行していないと考えられるので、床拭きロボットの補正基準として使用してはならない。床拭きロボットは、清掃プログラムに従って、ｔ２（例えば、１０〜２０秒）で走行した後または所定の距離ｄ２（例えば、５〜１０ｍ）を走行した後、ステップＳ３１０に戻る。
【００７１】
本実施形態に係る移動ロボットについて、床拭きロボットを例に挙げて説明する。図５に示すように、図５は本発明の一実施形態に係る床拭きロボットのハードウェア構成図である。本実施形態に係る床拭きロボットは、制御部１０と、駆動システム２０と、角度センサ３０（本実施形態ではジャイロスコープ）と、距離センサ５０（本実施形態では走行距離計）と、エッジセンサ４０と、メモリ６０とを備える。ここで、エッジセンサ４０は、作業領域における障害物の縁部を検出して移動ロボットを障害物の縁部に沿って移動させるために使用される。本実施形態では、作業領域における障害物の縁部における長い直線を検出するために、床拭きロボットの側面に設置された赤外線センサを使用する。長い直線は、長さが所定値（例えば、０．５〜２ｍ）より大きい直線または近似直線として定義される。制御部１０は以下のように使用される：エッジセンサから受信した情報に基づいて障害物の縁部に長い直線があるか否かを検出し、最初に検出された長い直線を基準として直交座標系を確立し、長い直線を次に検出した時に移動ロボットの角度を取得し、この角度が、直交座標系の一つの座標軸の方向との角度差が所定値（例えば５°〜１０°）より小さい場合、移動ロボットの角度を対応する座標軸の方向に修正する。上記角度センサ３０は、移動ロボットの走行角度をリアルタイムで取得するために使用される。本実施形態では、ジャイロスコープを具体的に用いているが、電子コンパスを用いることもできる。上記距離センサ５０は、移動ロボットの走行距離を取得するために使用される。本実施形態では走行距離計である。上記メモリ６０は、直交座標系の情報、各所定値および所定の清掃プログラムを記憶するように構成される。メモリは、スタンドアロンメモリまたは制御部に統合されたメモリとすることができる。上記駆動システム２０は、移動ロボットの移動を駆動するために使用される。
【００７２】
本発明の実施手順は、図６を参照して以下に詳しく説明する。図６は、本発明の一実施形態に係る作業領域における移動ロボットの軌跡の概略図である。
【００７３】
図６に示すように、床拭きロボットの作業領域は略長方形であり、作業領域は楕円形の障害物Ｂ１（テーブルなど）と長方形の障害物Ｂ２（ソファなど）とを含む。
【００７４】
床拭きロボットＭは、点Ｐ０から始まって点Ｐ１まで直線的に移動した時、テーブルＢ１を検出した。床拭きロボットは左側がテーブルＢ１に沿って移動する（アルゴリズムによって、床拭きロボットの左側または右側を障害物に沿って移動させることができる）。床拭きロボットがテーブルＢ１に沿って移動する間には、点Ｐ１から点Ｐ２までの経路は曲線形である（その間、テーブルＢ１の縁部には長い直線が存在しないと考えられる）。
【００７５】
床拭きロボットが点Ｐ２に到達した時は、既にテーブルＢ１に沿って所定の期間、所定の距離、または所定の回転角度で走行していた。したがって、テーブルＢ２に沿った移動を停止させて、現在の方向に直線的に点Ｐ３に到着するまで前進する。床拭きロボットは、点Ｐ３で壁の縁部を検出すると、壁の縁部に沿って移動する。
【００７６】
点Ｐ３と点Ｐ４との間に長い直線を検出した時、この長い直線を基準にして直交座標系を確立する。すなわち、点Ｐ４を原点とし、床拭きロボットの現在の方向をｘ軸の正方向とし、長い直線と直交する床拭きロボットの左方向をｙ軸の正方向として、直交座標系を確立する。床拭きロボットは清掃プログラムに従って清掃を行う。床拭きロボットは、点Ｐ５でソファＢ２を検出すると、ソファＢ２に沿って移動を開始する。
【００７７】
点Ｐ５と点Ｐ６との間に長い直線を検出した時、ジャイロスコープから取得したこの長い直線の（点Ｐ４で確立された直交座標系に対する）角度は約１５０°である。そして、長い直線の角度と直交座標系の各座標軸の方向との間の角度差を算出する。その最小角度差Ｄｘ−は約３０°であり、所定の閾値（１°）よりはるかに大きい場合は、長い直線自体が座標系の各座標軸の方向のいずれとも平行していないと考えられる。よって、床拭きロボットの現在の走行方向の角度を補正しない。床拭きロボットは、点Ｐ７で壁の縁部を検出するまで、点Ｐ６で現在の方向に直線的に前進する。その後、床拭きロボットは壁の縁部に沿って移動する。
【００７８】
点Ｐ７と点Ｐ８との間に長い直線を検出した時、ジャイロスコープから取得したこの長い直線の角度は８９．５°となる。この長い直線の方向と直交座標系のｙ軸の正方向との間の角度差は０．５°であり、所定の閾値（１°）よりも小さい。このとき、点Ｐ８における床拭きロボットの方向を９０°に補正する。
【００７９】
床拭きロボットがこの長方形領域で作業を完了するまで、そのように繰り返す。
【００８０】
上記実施形態のそれぞれの技術的特徴は、任意に組み合わせることができる。簡潔に説明するために、上記実施形態における様々な技術的特徴の全ての可能な組み合わせは説明されていない。しかしながら、これらの技術的特徴の組み合わせにコンフリクトがない限り、それは本明細書の範囲とみなされるべきである。
【００８１】
上述の実施形態は単に本発明のいくつかの実施形態を表すにすぎない。説明はより具体的かつ詳細であるが、本発明の範囲を限定するものとして解釈されるべきではない。本発明の発想から逸脱することなく、当業者によって多くの変形および改造がなされ得、これらは全て本発明の保護範囲内であることに留意されたい。したがって、本発明の範囲は添付の特許請求の範囲によって決定されるべきである。
【図１】
0006881723.tif 000002
【図２】
0006881723.tif 000003
【図３】
0006881723.tif 000004
【図４】
0006881723.tif 000005
【図５】
0006881723.tif 000006
【図６】
0006881723.tif 000007