特許第6881723号(P6881723)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グワンドン ボナ ロボット コーポレーション リミテッドの特許一覧

特許6881723作業領域における移動ロボットの角度補正方法および移動ロボット
<>
  • 特許6881723-作業領域における移動ロボットの角度補正方法および移動ロボット 図000002
  • 特許6881723-作業領域における移動ロボットの角度補正方法および移動ロボット 図000003
  • 特許6881723-作業領域における移動ロボットの角度補正方法および移動ロボット 図000004
  • 特許6881723-作業領域における移動ロボットの角度補正方法および移動ロボット 図000005
  • 特許6881723-作業領域における移動ロボットの角度補正方法および移動ロボット 図000006
  • 特許6881723-作業領域における移動ロボットの角度補正方法および移動ロボット 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6881723
(24)【登録日】2021年5月10日
(45)【発行日】2021年6月2日
(54)【発明の名称】作業領域における移動ロボットの角度補正方法および移動ロボット
(51)【国際特許分類】
   G05D 1/02 20200101AFI20210524BHJP
   A47L 11/24 20060101ALI20210524BHJP
   A47L 9/28 20060101ALN20210524BHJP
【FI】
   G05D1/02 J
   A47L11/24
   !A47L9/28 E
【請求項の数】15
【全頁数】14
(21)【出願番号】特願2019-541140(P2019-541140)
(86)(22)【出願日】2018年1月23日
(65)【公表番号】特表2020-506478(P2020-506478A)
(43)【公表日】2020年2月27日
(86)【国際出願番号】CN2018073881
(87)【国際公開番号】WO2018196450
(87)【国際公開日】20181101
【審査請求日】2019年7月31日
(31)【優先権主張番号】201710269782.2
(32)【優先日】2017年4月24日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】519229448
【氏名又は名称】グワンドン ボナ ロボット コーポレーション リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】リウ、ハオシン
(72)【発明者】
【氏名】ヤン、カイ
(72)【発明者】
【氏名】ディン、フアン
(72)【発明者】
【氏名】ゼン、ズオビン
【審査官】 影山 直洋
(56)【参考文献】
【文献】 特開2004−275468(JP,A)
【文献】 特開2016−134081(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
A47L 11/24
A47L 9/28
(57)【特許請求の範囲】
【請求項1】
作業領域における移動ロボットの角度補正方法であって、
前記移動ロボットが最初に検知した障害物の縁部における予め定められた値よりも長い直線を取得し、
前記長い直線に基づいて直交座標系を確立し、
前記移動ロボットが障害物の縁部における前記長い直線を次に検知した時の、予め定められた走行方向に対する走行角度を取得し、
前記走行角度および前記直交座標系に基づいて、前記走行角度を対応する座標軸の方向に補正する、
ことを含み、
前記走行角度および前記直交座標系に基づいて、前記走行角度を対応する座標軸の方向に補正することは、
前記走行角度と前記直交座標系の座標軸の方向との角度差が所定値より小さい場合に、前記走行角度を前記対応する座標軸の方向に補正する、
ことをさらに含む、角度補正方法。
【請求項2】
前記長い直線は、長さが所定値よりも大きい直線または近似直線である、請求項に記載の角度補正方法。
【請求項3】
前記走行角度および前記直交座標系に基づいて、前記走行角度を対応する前記座標軸の方向に補正した後は、
前記移動ロボットが前記作業領域での作業を完了するまで、前記移動ロボットが障害物の縁部における前記長い直線を次に検知した時の走行角度を取得するステップと、前記走行角度と前記直交座標系に基づいて前記走行角度を次に対応する前記座標軸の方向に補正するステップとを繰り返す、
ことをさらに含む、請求項またはに記載の角度補正方法。
【請求項4】
前記移動ロボットが最初に検知した障害物の縁部における長い直線を取得することは、
前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行し、
所定の期間T0内に前記移動ロボットの走行角度を複数回取得し、
前記移動ロボットの複数の前記走行角度に基づいて、複数の前記走行角度の値がA0の付近にある且つ変化量が閾値D0より小さいか否かを判定し、
そうである場合、障害物の縁部を取得された前記長い直線とする、
ことをさらに含み、
A0は、複数の前記走行角度の値の平均値である、請求項1からのいずれか一項に記載の角度補正方法。
【請求項5】
そうである場合、障害物の縁部を取得された前記長い直線と
そうでない場合、前記移動ロボットが所定の期間t0または所定の距離d0で作動した後、前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って移動するように制御する、
ことをさらに含む、請求項に記載の角度補正方法。
【請求項6】
そうである場合、障害物の縁部を取得された前記長い直線とした後は、
前記移動ロボットの障害物に沿う走行期間を取得し、
前記移動ロボットの障害物に沿う前記走行期間に基づいて、前記移動ロボットの障害物に沿う前記走行期間が所定値より大きいか否かを判定し、
そうである場合、障害物の縁部に沿う走行を停止させ、前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことをさらに含む、請求項またはに記載の角度補正方法。
【請求項7】
複数の前記走行角度の値がA0の付近にある且つ変化量が閾値D0より小さい場合、障害物の縁部を取得された前記長い直線とすることは、
前記移動ロボットが障害物に沿って走行した回転角度を取得し、
前記移動ロボットが障害物に沿って走行した前記回転角度に基づいて、前記移動ロボットが障害物に沿って走行した前記回転角度が所定値より大きいか否かを判定し、
前記回転角度が所定値より大きい場合、障害物の縁部に沿う走行を停止させ、前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことをさらに含む、請求項からのいずれか一項に記載の角度補正方法。
【請求項8】
前記長い直線に基づいて直交座標系を確立することは、
前記移動ロボットを原点とし、前記長い直線のA0方向をX軸の正方向とし、前記長い直線のA0方向と直交する左直交方向又は右直交方向をY軸の正方向として、前記直交座標系を確立する、
ことをさらに含む、請求項1からのいずれか一項に記載の角度補正方法。
【請求項9】
前記移動ロボットが障害物の縁部における前記長い直線を次に検知した時の走行角度を取得することは、
前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行し、
所定の期間T1内に前記移動ロボットの走行角度を複数回取得し、
前記移動ロボットの複数の前記走行角度に基づいて、複数の前記走行角度が角度A1の付近にある且つ変化量が閾値D1より小さいか否かを判定し、
そうである場合、前記角度A1を前記走行角度とする、
ことをさらに含む、請求項1からのいずれか一項に記載の角度補正方法。
【請求項10】
そうである場合、前記角度A1を前記走行角度とすることは、
そうでない場合、前記移動ロボットが所定の期間t1または所定の距離d1で作動した後、前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことをさらに含む、請求項に記載の角度補正方法。
【請求項11】
前記走行角度および前記直交座標系に基づいて、前記走行角度を対応する座標軸の方向に補正することは、
前記走行角度A1に基づいて、前記走行角度A1と前記直交座標系のx軸の正負方向およびy軸の正負方向との角度差Dx、Dx、Dy、Dyを取得し、
前記角度差Dx、Dx、Dy、Dyが閾値D2より小さいか否かを判定し、
そうである場合、前記移動ロボットの現在角度を前記対応する座標軸の方向に補正する、
ことをさらに含む、請求項または10に記載の角度補正方法。
【請求項12】
そうである場合、前記移動ロボットの現在角度を前記対応する座標軸の方向に補正
そうでない場合、前記移動ロボットが所定の期間t2または所定の距離d2で作動した後、前記移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことをさらに含む、請求項11に記載の角度補正方法。
【請求項13】
移動ロボットであって、制御部、駆動システム、角度センサ、エッジセンサ、距離センサ、およびメモリを備え、
前記エッジセンサは、作業領域における障害物の縁部を検出して、前記移動ロボットを障害物の縁部に沿って移動させるように構成され、
前記制御部は、前記エッジセンサから受信した情報に基づいて、障害物の縁部に予め定められた値よりも長い直線があるかどうかを検出し、最初に検出された前記長い直線を基準として直交座標系を確立し、前記長い直線を次に検出した時、予め定められた走行方向に対する前記移動ロボットの走行角度を取得し、前記走行角度と前記直交座標系の一つの座標軸の方向との角度差が所定値より小さい場合、前記移動ロボットの前記走行角度を対応する座標軸の方向に補正するように構成され、ここで、前記長い直線は、長さが所定値よりも大きい直線または近似直線として定義され、
前記駆動システムは、前記移動ロボットの移動を駆動するように構成され、
前記角度センサは、前記移動ロボットの前記走行角度をリアルタイムで取得するように構成され、
前記距離センサは、前記移動ロボットの走行距離を取得するように構成され、
前記メモリは、前記直交座標系の情報および各前記所定値を記憶するように構成される、移動ロボット。
【請求項14】
前記角度センサは、ジャイロスコープまたは電子コンパスであり、および/または、
前記エッジセンサは赤外線センサであり、および/または、
前記距離センサは走行距離計である、
請求項13に記載の移動ロボット。
【請求項15】
前記移動ロボットは床拭きロボットである、請求項13または14に記載の移動ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動ロボットの分野に属し、特に、角度補正機能を有する移動ロボットおよび作業領域における移動ロボットの角度補正方法に関する。
【背景技術】
【0002】
従来の移動ロボット(例えば床拭きロボット)は、慣性航法の原理を用いてそれら自身の角度を測定する。移動ロボットは、ある期間で動作した後、累積誤差により、移動ロボットにより取得されたそれら自体の角度が正確ではないことが原因で、作業領域における移動ロボットの充電効率とカバレッジ効率へ悪影響を及ぼすことがある。
【0003】
上記課題に鑑みて、従来技術の解決策としては、移動ロボットにカメラを設置し、周辺環境の特徴点(例えば、天井の特徴点または人工的に設定されたマーカなど)を認識させることによって、移動ロボットの角度を補正することを達成する;あるいは、作業領域の境界にビーコンを設置し、移動ロボットがビーコンからの信号を検出した後にその姿勢および角度を調整する。
【0004】
しかしながら、上記方法は、部品を追加して実現する必要があるため、移動ロボットのコストを増加させ、制御もより複雑になってしまう。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の第1の目的は、背景技術における欠点を克服し、作業領域における移動ロボットの角度補正方法を提供することである。本発明に係る方法の解決策は以下の通りである:
【課題を解決するための手段】
【0006】
作業領域における移動ロボットの角度補正方法であって、
移動ロボットが最初に検知した障害物の縁部における長い直線を取得し、
長い直線に基づいて直交座標系を確立し、
移動ロボットが障害物の縁部における長い直線を次に検知した時の走行角度を取得し、
走行角度および直交座標系に基づいて、走行角度を対応する座標軸の方向に補正する、
ことを含む。
【0007】
さらに、走行角度および直交座標系に基づいて、走行角度を対応する座標軸の方向に補正することは、
走行角度と直交座標系の座標軸の方向との角度差が所定値より小さい場合に、走行角度を対応する座標軸の方向に補正する、
ことを含む。
【0008】
さらに、長い直線は、長さが所定値よりも大きい直線または近似直線である。
【0009】
さらに、走行角度および直交座標系に基づいて、走行角度を対応する座標軸の方向に補正した後は、
移動ロボットが作業領域での作業を完了するまで、移動ロボットが障害物の縁部における長い直線を次に検知した時の走行角度を取得するステップと、走行角度と直交座標系に基づいて走行角度を次に対応する座標軸の方向に補正するステップとを繰り返す、
ことを含む。
【0010】
さらに、移動ロボットが最初に検知した障害物の縁部における長い直線を取得することは、
移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行し、
所定の期間T0内に移動ロボットの走行角度を複数回取得し、
移動ロボットの複数の走行角度に基づいて、複数の走行角度の値がA0の付近にある且つ変化量が閾値D0より小さいか否かを判定し、
そうである場合、障害物の縁部を取得された長い直線とする、
ことを含む。
【0011】
さらに、そうである場合、障害物の縁部を取得された長い直線とすることは、
そうでない場合、移動ロボットが所定の期間t0または所定の距離d0で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って移動するように制御する、
ことを含む。
【0012】
さらに、そうである場合、障害物の縁部を取得された長い直線とした後は、
移動ロボットの障害物に沿う走行期間を取得し、
移動ロボットの障害物に沿う走行期間に基づいて、移動ロボットの障害物に沿う走行期間が所定値より大きいか否かを判定し、
そうである場合、障害物の縁部に沿う走行を停止させ、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことを含む。
【0013】
さらに、そうである場合、障害物の縁部を取得された長い直線とすることは、
移動ロボットが障害物に沿って走行した回転角度を取得し、
移動ロボットが障害物に沿って走行した回転角度に基づいて、移動ロボットが障害物に沿って走行した回転角度が所定値より大きいか否かを判定し、
そうである場合、障害物の縁部に沿う走行を停止させ、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことを含む。
【0014】
さらに、長い直線に基づいて直交座標系を確立することは、
移動ロボットを原点とし、長い直線のA0方向をX軸の正方向とし、長い直線のA0方向と直交する左直交方向又は右直交方向をY軸の正方向として、直交座標系を確立する、
ことを含む。
【0015】
さらに、移動ロボットが障害物の縁部における長い直線を次に検知した時の走行角度を取得することは、
移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行し、
所定の期間T1内に移動ロボットの走行角度を複数回取得し、
移動ロボットの複数の走行角度に基づいて、複数の走行角度が角度A1の付近にある且つ変化量が閾値D1より小さいか否かを判定し、
そうである場合、角度A1を走行角度とする、
ことを含む。
【0016】
さらに、そうである場合、角度A1を走行角度とすることは、
そうでない場合、移動ロボットが所定の期間t1または所定の距離d1で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことを含む。
【0017】
さらに、走行角度および直交座標系に基づいて、走行角度を対応する座標軸の方向に補正することは、
走行角度A1に基づいて、走行角度A1と直交座標系のx軸の正負方向およびy軸の正負方向との角度差Dx、Dx、Dy、Dyを取得し、
角度差Dx、Dx、Dy、Dyが閾値D2より小さいか否かを判定し、
そうである場合、移動ロボットの現在角度を対応する座標軸の方向に補正する、
ことを含む。
【0018】
さらに、そうである場合、移動ロボットの現在角度を対応する座標軸の方向に補正することは、
そうでない場合、移動ロボットが所定の期間t2または所定の距離d2で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する、
ことを含む。
【0019】
本発明の第2の目的は、背景技術における欠点を克服し、角度補正機能を有する移動ロボットを提供することである。本発明に係る移動ロボットの具体的な解決策は以下の通りである:
移動ロボットであって、制御部、駆動システム、角度センサ、エッジセンサ、距離センサ、およびメモリを備え、
エッジセンサは、作業領域における障害物の縁部を検出して、移動ロボットを障害物の縁部に沿って移動させるように構成され、
制御部は、エッジセンサから受信した情報に基づいて、障害物の縁部に長い直線があるかどうかを検出し、最初に検出された長い直線を基準として直交座標系を確立し、長い直線を次に検出した時、移動ロボットの走行角度を取得し、走行角度と直交座標系の一つの座標軸の方向との角度差が所定値より小さい場合、移動ロボットの走行角度を対応する座標軸の方向に補正するように構成され、ここで、長い直線は、長さが所定値よりも大きい直線または近似直線として定義され、
駆動システムは、移動ロボットの移動を駆動するように構成され、
角度センサは、移動ロボットの走行角度をリアルタイムで取得するように構成され、
距離センサは、移動ロボットの走行距離を取得するように構成され、
メモリは、直交座標系の情報および各所定値を記憶するように構成される。
【0020】
さらに、角度センサは、ジャイロスコープまたは電子コンパスであり、および/または、
エッジセンサは赤外線センサであり、および/または、
距離センサは走行距離計である。
【0021】
さらに、移動ロボットは床拭きロボットである。
【0022】
本発明によって開示された技術的解決策は、移動ロボットの作業領域における障害物の縁部における長い直線を基準としてその走行角度を調整する。本発明の解決策は、低コストであり、実装が容易であり、そして優れた実装効果を有し、移動ロボットのオーバーレイ経路計画に使用することができる。
【図面の簡単な説明】
【0023】
本発明の実施形態の技術的解決策をより明確に説明するために、以下、実施形態で使用される図面について簡単に説明するが、以下の説明における図面は本発明のいくつかの実施形態であることは明らかである。当業者にとっては、これらの図面に基づいて他の図面を創造的な作業なしに取得可能である。
【0024】
図1】本発明の一実施形態に係る作業領域における移動ロボットの角度補正方法のフローチャートである。
図2】本発明の一実施形態に係る、移動ロボットが最初に検知した障害物の縁部における長い直線を取得するための方法のフローチャートである。
図3】本発明の一実施形態に係る、移動ロボットが次に障害物の縁部における長い直線を検知したときの走行角度を取得するための方法のフローチャートである。
図4】本発明の一実施形態に係る、走行角度を対応する座標軸の方向に補正する方法のフローチャートである。
図5】本発明の一実施形態に係る床拭きロボットのハードウェア構成図である。
図6】本発明の一実施形態に係る作業領域における移動ロボットの軌道の概略図である。
【発明を実施するための形態】
【0025】
以下、本発明の実施形態中の図面と合わせて、発明の実施例に係る技術的発明を明確に、完全に説明する。当然、説明した実施例は、ただ本発明の一部の実施例に過ぎず、すべての実施例ではない。本発明の実施例に基づいて、当業者が創造的な創作をしていない前提で取得したすべての他の実施例も、本発明の範囲に属する。
【0026】
図1を参照すると、図1は、本発明の一実施形態に係る作業領域における移動ロボットの角度補正方法のフローチャートである。
【0027】
図1に示すように、作業領域における移動ロボットの角度補正方法は、次のステップS100〜S400を含むことができる。
【0028】
ステップS100:移動ロボットが最初に検知した障害物の縁部における長い直線を取得する。
【0029】
具体的には、床拭きロボット(移動ロボット)は、作業領域内でブートした後に、角度情報を初期化し(例えば、走行方向を0°とする)、ブートした時の方向に直線的に前進する。作業領域が常に限られているので、一定の期間で直線的に移動した後、必ず障害物(壁やテーブル、ソファなどの家具を含む)に遭遇するに違いない。床拭きロボット(移動ロボット)が障害物の縁部に沿って移動するように制御する。障害物の縁部における長い直線を検出する。そのうち、長い直線とは、所定値よりも大きい長さの直線または近似直線である。
【0030】
ステップS200:上記長い直線に基づいて直交座標系を確立する。
【0031】
具体的には、移動ロボットを原点とし、長い直線のA0方向をX軸の正方向とし、長い直線のA0方向に直交する左直交方向または右直交方向をY軸の正方向として、直交座標系を確立する。その後、この直交座標系をメモリに記憶する。
【0032】
ステップS300:移動ロボットが障害物の縁部における長い直線を次に検知したときの走行角度を取得する。
【0033】
具体的には、床拭きロボットは、直交座標系を確立した後、清掃プログラムに従って一定の期間(10〜20秒など)で作動した後、または所定の距離(5〜10mなど)で走行した後、障害物に遭遇するまで直線的に移動を開始する。そして、赤外線センサによって障害物の縁部を検出して障害物の縁部に沿って移動し、走行角度を取得する。
【0034】
ステップS400:上記走行角度及び直交座標系に基づいて、走行角度を対応する座標軸の方向に補正する。
【0035】
具体的には、上記走行角度と直交座標系の座標軸の方向との角度差が所定値より小さい場合、走行角度を対応する座標軸の方向に補正する。移動ロボットがこの作業領域での作業を完了するまで、ステップS300およびステップS400を繰り返す。
【0036】
図2を参照すると、図2は、本発明の一実施形態に係る、移動ロボットが最初に検知した障害物の縁部における長い直線を取得するための方法のフローチャートである。
【0037】
図2に示すように、移動ロボットが最初に検知した障害物の縁部における長い直線を取得するための方法は、以下のステップS110〜S150を含むことができる。
【0038】
ステップS110:移動ロボットは、障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行する。
【0039】
具体的に、床拭きロボット(移動ロボット)は、作業領域内でブートした後に、角度情報を初期化し(例えば、走行方向を0°とする)、ブートした時の方向に直線的に前進する。作業領域が常に限られているので、一定の期間で直線的に移動した後、必ず障害物(壁やテーブル、ソファなどの家具を含む)に遭遇するに違いない。床拭きロボットは赤外線センサを使用して障害物の縁部を検出し、障害物の縁部を検出し続けることによって、床拭きロボットを障害物の縁部に沿って走行させる。
【0040】
ステップS120:所定の期間T0内に移動ロボットの走行角度を複数回取得する。
【0041】
具体的には、床拭きロボットは、ジャイロスコープを介して所定の期間T0(例えば、2秒〜5秒)内に、床拭きロボットの走行角度を固定周波数(例えば、100Hz)で複数回取得して制御部に送信する。
【0042】
ステップS130:上記移動ロボットの複数の走行角度に基づいて、複数の走行角度の値がA0の付近にある且つ変化量が閾値D0より小さいか否かを判定する。
【0043】
具体的には、制御部は、複数の走行角度のデータがA0(A0は通常、それらの複数の角度値の平均値である。)の付近にある且つA0との差がいずれも閾値D0(本実施形態では例えば1°である。)より小さいか否かを計算により判定する。
【0044】
ステップS140:そうである場合、障害物の縁部を取得された長い直線とする。
【0045】
具体的には、上記条件を満たす場合、床拭きロボットは、T0期間中に角度値A0(床拭きロボットがブートした時に対する角度)の長い直線に沿って走行していると考えられる。障害物の縁部を取得された長い直線とする。
【0046】
ステップS150:そうでない場合、移動ロボットが所定の期間t0または所定の距離d0で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する。
【0047】
具体的には、上記条件を満たさない場合、床拭きロボットがT0期間に長い直線に沿って走行していないと考えられる。床拭きロボットは、清掃プログラムに従って一定の期間t0(例えば10〜20秒)で動作した後または所定距離d0(例えば5m〜10m)で走行した後、ステップS110に戻る。
【0048】
床拭きロボットが最初に障害物の縁部における長い直線を検知する効率を向上させるために、床拭きロボットが障害物に沿って走行する期間が所定値(例えば10秒)を超える、または、走行の回転角度が所定値(例えば180°)を超えるようにする。そうである場合、床拭きロボットが障害物の縁部に沿って何度も移動したり、閉じ込められた領域内を循環移動したりしないように、障害物の縁部に沿う走行を停止させて、ステップS110に戻る。
【0049】
図3を参照すると、図3は、本発明の一実施形態に係る、移動ロボットが次に障害物の縁部における長い直線を検知した時の走行角度を取得する方法のフローチャートである。
【0050】
図3に示すように、移動ロボットが次に障害物の縁部における長い直線を検知した時の走行角度を取得する方法は、以下のステップS310〜S350を含む。
【0051】
ステップS310:移動ロボットは、障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行する。
【0052】
具体的には、床拭きロボットは、直交座標系を確立した後、清掃プログラムに従って所定の期間(10〜20秒など)で作動した後または所定の距離(5〜10mなど)を走行した後、障害物に遭遇したまで直線的に移動を開始し、それから、赤外線センサによって障害物の縁部を検出して障害物の縁部に沿って移動する。
【0053】
ステップS320:所定の期間T1内に移動ロボットの走行角度を複数回取得する。
【0054】
具体的には、このステップS320は、ステップS120と実質的に同じ、すなわち現在の障害物の縁部に長い直線があるか否かを検出する。具体的には、床拭きロボットは、ジャイロスコープによって、所定の期間T1(例えば、2秒〜5秒)で、床拭きロボットの走行角度を一定の周波数(100Hz)で取得して制御部に送信する。
【0055】
ステップS330:上記移動ロボットの複数の走行角度に基づいて、複数の走行角度が角度A1の付近にある且つ変化量が閾値D1よりも小さいか否かを判定する。
【0056】
具体的には、制御部は、それらの複数の走行角度のデータがA1の付近(A1は一般的にそれらの複数の角度値の平均値)にある且つA1との差がいずれも閾値D1(本実施形態では1°)より小さいか否かを判定する。
【0057】
ステップS340:そうである場合、角度A1を走行角度とする。
【0058】
具体的には、上記条件を満たす場合には、床拭きロボットがT1期間において(ステップS200で確立された直交座標系に対する)角度値A1の長い直線に沿って走行していると考えられる。すなわち、A1は床拭きロボットの走行角度である。
【0059】
ステップS350:そうでない場合、移動ロボットが所定の期間t1または所定の距離d1で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する。
【0060】
具体的には、上記条件を満たさない場合には、床拭きロボットがT1期間において長い直線に沿って走行していないと考えられる。床拭きロボットは、清掃プログラムに従って所定の期間t1(例えば10〜20秒)で作動した後または所定の距離d1(例えば5〜10m)を走行した後、ステップS310に戻る。
【0061】
図4を参照すると、図4は、本発明の一実施形態に係る、対応する座標軸の方向に走行角度を補正する方法のフローチャートである。
【0062】
図4に示すように、対応する座標軸の方向に走行角度を補正する方法は、以下のステップS410〜S440を含む。
【0063】
ステップS410:上記走行角度A1に基づいて、走行角度A1と直交座標系のx軸の正負方向およびy軸の正負方向との角度差Dx、Dx、Dy、Dyを取得する。
【0064】
具体的には、制御部はそれぞれ、A1とx軸の正方向との角度差Dx、A1とx軸の負方向との角度差Dx、A1とy軸の正方向との角度差Dy及びA1とy軸の正方向との角度差Dyを算出する。
【0065】
ステップS420:Dx、Dx、Dy、Dyが閾値D2より小さいか否かを判定する。
【0066】
具体的には、Dx、Dx、Dy、Dyと閾値D2(本実施形態では1°)の大きさを比較することによって行う。
【0067】
ステップS430:そうである場合、移動ロボットの現在角度を対応する座標軸の方向に補正する。
【0068】
具体的には、Dx、Dx、Dy、Dyのいずれかが閾値D2より小さい場合、長い直線が対応する直交座標系の座標軸と平行しているはずと考えられる。床拭きロボットは、累積誤差による角度差を生じ、自身の角度補正が必要となる。Dxが閾値D2より小さい場合、床拭きロボットの現在の走行方向を座標系のx軸の正方向に補正する。Dxが閾値D2より小さい場合、床拭きロボットの現在の走行方向を座標系のx軸の負方向に補正する。Dyが閾値D2より小さい場合、床拭きロボットの現在の走行方向を座標系のy軸の正方向に補正する。Dyが閾値D2より小さい場合、床拭きロボットの現在の走行方向を座標系のy軸の負方向に補正する。
【0069】
ステップS440:そうでない場合、移動ロボットが所定の期間t2または所定の距離d2で作動した後、移動ロボットが障害物に遭遇するまで直線的に移動して障害物の縁部に沿って走行するように制御する。
【0070】
具体的には、Dx、Dx、Dy、Dyはいずれも、D2以上である場合、長い直線自体が座標系の各座標軸と平行していないと考えられるので、床拭きロボットの補正基準として使用してはならない。床拭きロボットは、清掃プログラムに従って、t2(例えば、10〜20秒)で走行した後または所定の距離d2(例えば、5〜10m)を走行した後、ステップS310に戻る。
【0071】
本実施形態に係る移動ロボットについて、床拭きロボットを例に挙げて説明する。図5に示すように、図5は本発明の一実施形態に係る床拭きロボットのハードウェア構成図である。本実施形態に係る床拭きロボットは、制御部10と、駆動システム20と、角度センサ30(本実施形態ではジャイロスコープ)と、距離センサ50(本実施形態では走行距離計)と、エッジセンサ40と、メモリ60とを備える。ここで、エッジセンサ40は、作業領域における障害物の縁部を検出して移動ロボットを障害物の縁部に沿って移動させるために使用される。本実施形態では、作業領域における障害物の縁部における長い直線を検出するために、床拭きロボットの側面に設置された赤外線センサを使用する。長い直線は、長さが所定値(例えば、0.5〜2m)より大きい直線または近似直線として定義される。制御部10は以下のように使用される:エッジセンサから受信した情報に基づいて障害物の縁部に長い直線があるか否かを検出し、最初に検出された長い直線を基準として直交座標系を確立し、長い直線を次に検出した時に移動ロボットの角度を取得し、この角度が、直交座標系の一つの座標軸の方向との角度差が所定値(例えば5°〜10°)より小さい場合、移動ロボットの角度を対応する座標軸の方向に修正する。上記角度センサ30は、移動ロボットの走行角度をリアルタイムで取得するために使用される。本実施形態では、ジャイロスコープを具体的に用いているが、電子コンパスを用いることもできる。上記距離センサ50は、移動ロボットの走行距離を取得するために使用される。本実施形態では走行距離計である。上記メモリ60は、直交座標系の情報、各所定値および所定の清掃プログラムを記憶するように構成される。メモリは、スタンドアロンメモリまたは制御部に統合されたメモリとすることができる。上記駆動システム20は、移動ロボットの移動を駆動するために使用される。
【0072】
本発明の実施手順は、図6を参照して以下に詳しく説明する。図6は、本発明の一実施形態に係る作業領域における移動ロボットの軌跡の概略図である。
【0073】
図6に示すように、床拭きロボットの作業領域は略長方形であり、作業領域は楕円形の障害物B1(テーブルなど)と長方形の障害物B2(ソファなど)とを含む。
【0074】
床拭きロボットMは、点P0から始まって点P1まで直線的に移動した時、テーブルB1を検出した。床拭きロボットは左側がテーブルB1に沿って移動する(アルゴリズムによって、床拭きロボットの左側または右側を障害物に沿って移動させることができる)。床拭きロボットがテーブルB1に沿って移動する間には、点P1から点P2までの経路は曲線形である(その間、テーブルB1の縁部には長い直線が存在しないと考えられる)。
【0075】
床拭きロボットが点P2に到達した時は、既にテーブルB1に沿って所定の期間、所定の距離、または所定の回転角度で走行していた。したがって、テーブルB2に沿った移動を停止させて、現在の方向に直線的に点P3に到着するまで前進する。床拭きロボットは、点P3で壁の縁部を検出すると、壁の縁部に沿って移動する。
【0076】
点P3と点P4との間に長い直線を検出した時、この長い直線を基準にして直交座標系を確立する。すなわち、点P4を原点とし、床拭きロボットの現在の方向をx軸の正方向とし、長い直線と直交する床拭きロボットの左方向をy軸の正方向として、直交座標系を確立する。床拭きロボットは清掃プログラムに従って清掃を行う。床拭きロボットは、点P5でソファB2を検出すると、ソファB2に沿って移動を開始する。
【0077】
点P5と点P6との間に長い直線を検出した時、ジャイロスコープから取得したこの長い直線の(点P4で確立された直交座標系に対する)角度は約150°である。そして、長い直線の角度と直交座標系の各座標軸の方向との間の角度差を算出する。その最小角度差Dxは約30°であり、所定の閾値(1°)よりはるかに大きい場合は、長い直線自体が座標系の各座標軸の方向のいずれとも平行していないと考えられる。よって、床拭きロボットの現在の走行方向の角度を補正しない。床拭きロボットは、点P7で壁の縁部を検出するまで、点P6で現在の方向に直線的に前進する。その後、床拭きロボットは壁の縁部に沿って移動する。
【0078】
点P7と点P8との間に長い直線を検出した時、ジャイロスコープから取得したこの長い直線の角度は89.5°となる。この長い直線の方向と直交座標系のy軸の正方向との間の角度差は0.5°であり、所定の閾値(1°)よりも小さい。このとき、点P8における床拭きロボットの方向を90°に補正する。
【0079】
床拭きロボットがこの長方形領域で作業を完了するまで、そのように繰り返す。
【0080】
上記実施形態のそれぞれの技術的特徴は、任意に組み合わせることができる。簡潔に説明するために、上記実施形態における様々な技術的特徴の全ての可能な組み合わせは説明されていない。しかしながら、これらの技術的特徴の組み合わせにコンフリクトがない限り、それは本明細書の範囲とみなされるべきである。
【0081】
上述の実施形態は単に本発明のいくつかの実施形態を表すにすぎない。説明はより具体的かつ詳細であるが、本発明の範囲を限定するものとして解釈されるべきではない。本発明の発想から逸脱することなく、当業者によって多くの変形および改造がなされ得、これらは全て本発明の保護範囲内であることに留意されたい。したがって、本発明の範囲は添付の特許請求の範囲によって決定されるべきである。
図1
図2
図3
図4
図5
図6