(57)【要約】  本発明は、ロボットの走行予測及び制御方法に関し、状態が標記された格子ユニットに基づいて格子地図を構築することと、前記格子地図に基づいて、ロボットの現在の位置を基準点として動的検出モデルを作成することと、前記動的検出モデルに基づいて、ロボットの前方の経路状況を予測することと、予測結果に基づいて、ロボットの走行方式を制御することと、を含む。この方法によると、各種の状態が標記された格子ユニットからなる格子地図に基づいて、ロボットが走行中に動的検出モデルによって前方の経路状況を迅速かつ正確に予測でき、異なる経路状況に応じてロボットの走行方式を適切に制御して、ロボットが崖から飛び出したり、危険エリアに繰り返して入る等の問題を回避し、ロボットの走行効率を向上させる。
2021500688.tif 000002
【特許請求の範囲】
【請求項１】
状態が標記された格子ユニットに基づいて格子地図を構築することと、
前記格子地図に基づいて、ロボットの現在の位置を基準点として動的検出モデルを作成することと、
前記動的検出モデルに基づいて、ロボットの前方の経路状況を予測することと、
予測結果に基づいて、ロボットの走行方式を制御することと、を含むことを特徴とするロボットの走行予測及び制御方法。
【請求項２】
前記ロボットの現在の位置を基準点として動的検出モデルを作成することは、
前記基準点を円心とし、第１長さを半径として第１円弧線を作成し、前記第１長さより大きい第２長さを半径として第２円弧線を作成することと、
前記第１円弧線と前記第２円弧線との間のエリアを第１予測エリアとして特定することと、
前記第２円弧線の外側のエリアを第２予測エリアとして特定することと、
ロボットが走行している現在の方向を基準方向として、前記第１予測エリアにおける点である、前記基準方向に位置し、且つ円心との連結線が前記基準方向と第１角度をなす第１予測点と、前記第１予測点の一側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第２角度をなす第２予測点と、前記第１予測点の他側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第３角度をなす第３予測点と、前記第１予測点の一側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第４角度をなす第４予測点と、前記第１予測点の他側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第５角度をなす第５予測点と、を特定することと、
ロボットが走行している現在の方向を基準方向として、前記第２予測エリアにおける点である、前記基準方向に位置し、且つ円心との連結線が前記基準方向と第６角度をなす第６予測点と、前記第６予測点の一側に位置し、且つ円心との連結線が前記第６予測点と円心との連結線と第７角度をなす第７予測点と、前記第６予測点の他側に位置し、且つ円心との連結線が前記第６予測点と円心との連結線と第８角度をなす第８予測点とを特定することと、を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１長さはロボット躯体の半径の１．２倍であり、前記第２長さはロボット躯体の半径の２倍であることを特徴とする請求項２に記載の方法。
【請求項４】
前記第１予測点は前記第１円弧線と前記基準方向との交差点に位置し、前記第２予測点は第１垂直線と第１平行線との交差点に位置し、前記第３予測点は第１垂直線と第２平行線との交差点に位置し、前記第４予測点は第３平行線における第１線分内に位置し、前記第５予測点は第４平行線における第２線分内に位置し、
前記第１垂直線は、前記第１予測点を通過し、且つ前記基準方向に垂直する垂直線であり、前記第１平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離がロボット躯体の半径である、前記基準方向に平行する平行線であり、前記第２平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離がロボット躯体の半径である、前記基準方向に平行する平行線であり、前記第３平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離が第１長さである、前記基準方向に平行する平行線であり、前記第４平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離が第１長さである、前記基準方向に平行する平行線であり、前記第１線分は、前記第１垂直線と前記第３平行線との交差点から第２垂直線と前記第３平行線との交差点までの線分であり、前記第２線分は、前記第１垂直線と前記第３平行線との交差点から第２垂直線と前記第３平行線との交差点までの線分であり、前記第２垂直線は、前記第１予測点と円心との間に位置し、且つ円心までの最小距離がロボット躯体の半径の半分である、前記基準方向に垂直する垂直線であることを特徴とする請求項２に記載の方法。
【請求項５】
前記第６予測点は前記第２円弧線と前記基準方向との交差点に位置し、前記第７予測点は第３垂直線における第３線分内に位置し、前記第８予測点は第３垂直線における第４線分内に位置し、
前記第３垂直線は、前記第６予測点を通過し、且つ前記基準方向に垂直する垂直線であり、前記第３線分は、前記第１平行線と前記第３垂直線との交差点から第５平行線と前記第３垂直線との交差点までの線分であり、前記第４線分は、前記第２平行線と前記第３垂直線との交差点から第６平行線と前記第３垂直線との交差点までの線分であり、前記第５平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離が第２長さから第１長さを引いた差の半分と第１長さとの和である、前記基準方向に平行する平行線であり、前記第６平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離が第２長さから第１長さを引いた差の半分と第１長さとの和である、前記基準方向に平行する平行線であることを特徴とする請求項４に記載の方法。
【請求項６】
前記動的検出モデルに基づいて、ロボットの前方の経路状況を予測することは、
ロボットの現在の位置をローカル座標の原点とし、現在の方向をローカルＹ軸方向として、ＸＹ軸ローカル座標系を作成することと、
前記第１予測点乃至前記第８予測点が位置するＸＹ軸ローカル座標系のローカル座標を、ＸＹ軸ワールド座標系のワールド座標に変換することと、
前記ワールド座標を格子座標に変換することと、
前記格子座標と格子地図に基づいて、前記第１予測点乃至前記第８予測点に対応する格子ユニットの状態を特定することと、を含むことを特徴とする請求項２に記載の方法。
【請求項７】
前記第１予測点乃至前記第８予測点が位置するＸＹ軸ローカル座標系のローカル座標を、ＸＹ軸ワールド座標系のワールド座標に変換することは、
ロボットの現在の位置の前記ＸＹ軸ワールド座標系におけるワールド座標を（ｘ，ｙ）と特定することと、
ロボットの現在の方向と前記ＸＹ軸ワールド座標系のＹ軸のなす角をθと特定することと、
前記第１予測点の前記ＸＹ軸ローカル座標系のローカル座標を（ｘ１，ｙ１）と特定することと、
前記第１予測点のＸＹ軸ワールド座標系のＸ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＸ軸に投影された投影点からの距離をｘｒ１＝（ｘ１*ｃｏｓθ−ｙ１*ｓｉｎθ）と特定し、且つ前記第１予測点のＸＹ軸ワールド座標系のＹ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＹ軸に投影された投影点からの距離をｙｒ１＝（ｘ１*ｓｉｎθ＋ｙ１*ｃｏｓθ）と特定することと、
前記第１予測点のワールド座標を（ｘｗ１＝ｘ＋ｘｒ１，ｙｗ１＝ｙ＋ｙｒ１）と特定することと、
前記第２予測点の前記ＸＹ軸ローカル座標系におけるローカル座標を（ｘ２，ｙ２）と特定することと、
前記第２予測点のＸＹ軸ワールド座標系のＸ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＸ軸に投影された投影点からの距離をｘｒ２＝（ｘ２*ｃｏｓθ−ｙ２*ｓｉｎθ）と特定し、且つ前記第２予測点のＸＹ軸ワールド座標系のＹ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＹ軸に投影された投影点からの距離をｙｒ２＝（ｘ２*ｓｉｎθ＋ｙ２*ｃｏｓθ）と特定することと、
前記第２予測点のワールド座標を（ｘｗ２＝ｘ＋ｘｒ２，ｙｗ２＝ｙ＋ｙｒ２）と特定することと、
同様に、前記第８予測点までのワールド座標の特定を完了することと、含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記ワールド座標を格子座標に変換することは、
前記格子ユニットが辺の長さがＬの正方形であると特定することと、
前記第１予測点の格子座標を（ｘｇ１＝ｘｗ１／Ｌ，ｙｇ１＝ｙｗ１／Ｌ）と特定し、且つｘｗ１／Ｌとｙｗ１／Ｌの結果の整数部分を取ることと、
前記第２予測点の格子座標を（ｘｇ２＝ｘｗ２／Ｌ，ｙｇ２＝ｙｗ２／Ｌ）と特定し、且つｘｗ２／Ｌとｙｗ２／Ｌの結果の整数部分を取ることと、
同様に、前記第８予測点までの格子座標の特定を完了することと、を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記予測結果に基づいて、ロボットの走行方式を制御することは、
前記第１予測点、前記第２予測点または前記第３予測点に対応する格子ユニットが危険ユニットであるか否かを判断することと、
ＹＥＳであれば、第１走行方式で走行するようにロボットを制御することと、
ＮＯであれば、前記第１予測点、前記第２予測点または前記第３予測点に対応する格子ユニットが崖ユニットまたは障害ユニットであるか否かを判断することと、
ＹＥＳであれば、第２走行方式で走行するようにロボットを制御することと、
ＮＯであれば、前記第４予測点または前記第５予測点に対応する格子ユニット崖ユニットまたは障害ユニットであるか否かを判断することと、
ＹＥＳであれば、第３走行方式で走行するようにロボットを制御することと、
ＮＯであれば、前記第６予測点、前記第７予測点または前記第８予測点が崖ユニットまたは障害ユニットであるか否かを判断することと、
ＹＥＳであれば、第４走行方式で走行するようにロボットを制御することと、
ＮＯであれば、ロボットの現在の走行方式を維持することと、を含み、
前記危険ユニットはロボットによって行き詰まりまたは空回りが検出された格子ユニットであり、前記障害ユニットはロボットによって障害物が検出された格子ユニットであり、前記崖ユニットはロボットによって崖が検出された格子ユニットであることを特徴とする請求項６に記載の方法。
【請求項１０】
前記第１走行方式で走行するようにロボットを制御することは、走行を停止するようにロボットを制御することと、ロボットが弓型の走行段階であるか否かを判断することと、ＹＥＳであれば、Ｕターンするようにロボットを制御することと、ＮＯであれば、ロボットがエッジモードの走行段階であると特定し、前記危険ユニットを迂回してから継続してエッジモードになるようにロボットを制御することと、を含み、
及び／又は、
前記第２走行方式で走行するようにロボットを制御することは、前記格子ユニットが障害ユニットであると判断されると、第１比例で走行速度を下げるようにロボットを制御することと、前記格子ユニットが崖ユニットであると判断されると、第２比例で走行速度を下げるようにロボットを制御することと、を含み、
及び／又は、
前記第３走行方式で走行するようにロボットを制御することは、第３比例で走行速度を下げるようにロボットを制御するを含み、
及び／又は、
前記第４走行方式で走行するようにロボットを制御することは、第４比例で走行速度を下げるようにロボットを制御することを含むことを特徴とする請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット分野に関し、具体的に、ロボットの走行予測及び制御方法に関する。
【背景技術】
【０００２】
既存のロボットが前方に障害物があるか否かを予測する場合、通常、赤外線検出を行うが、危険エリアまたは崖では視覚で検出しなければならず、これらの方式はいずれもハードウェアのコストを増やしてしまう。一方、前方の状況の予測を行わないと、悪い結果をもたらす場合が多く、例えば危険エリアの場合、前回にすでに入ったことがあったといって、今回は予測せずに入ると、非常に無知に見える。また、崖の場合、予測しないと、ロボットの速度が速い時には突き進んでロボットが落ち込んでしまうおそれがある。
【発明の概要】
【０００３】
上記課題を解決するための本発明は、ロボットの前方の経路状況を迅速かつ正確に予測し、異なる経路状況に応じて異なる走行方式を採用するようにロボットを制御することで、ロボットの走行効率を向上させることができるロボットの走行予測及び制御方法を提供する。本発明の具体的な技術案は以下の通りである。
【０００４】
状態が標記された格子ユニットに基づいて格子地図を構築することと、前記格子地図に基づいて、ロボットの現在の位置を基準点として動的検出モデルを作成することと、前記動的検出モデルに基づいて、ロボットの前方の経路状況を予測することと、予測結果に基づいて、ロボットの走行方式を制御することと、を含むロボットの走行予測及び制御方法。
【０００５】
本発明によると、各種の状態が標記された格子ユニットからなる格子地図に基づいて、ロボットが走行中に動的検出モデルによって前方の経路状況を迅速かつ正確に予測でき、異なる経路状況に応じてロボットの走行方式を適切に制御して、ロボットが崖から飛び出したり、危険エリアに繰り返して入る等の問題を回避し、ロボットの走行効率を向上させるという有益な技術効果を実現できる。
【図面の簡単な説明】
【０００６】
【図１】本発明に係るロボットの走行予測と制御方法を示すフローチャートである。
【図２】本発明に係る動的検出モデルを示す模式図である。
【図３】本発明に係るローカル座標からワールド座標への変換を示す模式図である。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら本発明の具体的な実施形態をさらに説明する。
本発明に係るロボットは、スマート家電の１種として、一定の人工知能に基づいて何らかの場所で自動に走行する。ロボットは、その本体に、走行距離、走行角度、躯体状態、及び障害物等を検出できる様々なセンサーが設けられて、壁または他の障害物に突き当てられると、自発的にカーブし、異なる設定に応じて異なる路線で走行することで、企画的に走行する。本発明に係る移動ロボットは、駆動輪付きの自発的走行が可能なロボット本体であって、ヒューマンマシンインターフェースが設けられており、障害検出ユニットが設けられたロボット本体を含む。本体の内部に慣性センサーが設けられ、上記の慣性センサーは加速度計とジャイロスコープ等を含み、駆動輪には駆動輪の走行距離を検出するための走行距離計（一般的にはコードホイールである）が設けられ、さらに関連するセンサーのパラメータを処理可能で、且つ制御信号を実行部品に出力可能である制御モジュールが設けられている。
【０００８】
図１に示すように、本発明に係るロボットの走行予測と制御方法は、状態が標記された格子ユニットに基づいて格子地図を構築することと、前記格子地図に基づいて、ロボットの現在の位置を基準点として動的検出モデルを作成することと、前記動的検出モデルに基づいて、ロボットの前方の経路状況を予測することと、予測結果に基づいて、ロボットの走行方式を制御することと、を含む。前記状態が標記された格子ユニットとは、ロボットが正常に走行した格子ユニットを走行済ユニットと標記し、ロボットによって障害物が検出された格子ユニットを障害ユニットと標記し、ロボットによって行き詰まりまたは空回りが検出された格子ユニットを危険ユニットと標記し、ロボットによって崖が検出された格子ユニットを崖ユニットと標記し、ロボットが走行したことのない格子ユニットを未知ユニットと標記したものを指す。ここで、前記ロボットが正常に走行した格子ユニットとは、ロボットが当該格子ユニットで走行する際に空回り、行き詰まり、障害物への衝突または崖からの飛び出し等の異常状況がなかったことを指し、これらの異常状況によってロボットの走行に誤差が発生し、さらにはロボットが壊れてしまう。ロボットが正常に走行する際、所定の速度と方向で安定して秩序正しく走行する。本発明に係る方法によると、各種の状態が標記された格子ユニットからなる格子地図（この格子地図は、ロボットがすべてのエリアを走行してから構築して保存された地図である）に基づいて、ロボットが走行中に動的検出モデルによって前方の経路状況を迅速かつ正確に予測でき、これにより、異なる経路状況に応じてロボットの走行方式を適切に制御して、ロボットが崖から飛び出したり危険エリアに繰り返して入る等の問題を回避し、ロボットの走行効率を向上させる。
【０００９】
好ましくは、前記ロボットの現在の位置を基準点として動的検出モデルを作成することが、前記基準点を円心とし、第１長さを半径として第１円弧線を作成し、第１長さより大きい第２長さを半径として第２円弧線を作成することと、前記第１円弧線と前記第２円弧線との間のエリアを第１予測エリアとして特定することと、前記第２円弧線の外側のエリアを第２予測エリアとして特定することと、ロボットが走行している現在の方向を基準方向として、前記第１予測エリアにおける点である、前記基準方向に位置し、且つ円心との連結線が前記基準方向と第１角度をなす第１予測点と、前記第１予測点の一側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第２角度をなす第２予測点と、前記第１予測点の他側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第３角度をなす第３予測点と、前記第１予測点の一側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第４角度をなす第４予測点と、前記第１予測点の他側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第５角度をなす第５予測点と、を特定することと、ロボットが走行している現在の方向を基準方向として、前記第２予測エリアにおける点である、前記基準方向に位置し、且つ円心との連結線が前記基準方向と第６角度をなす第６予測点と、前記第６予測点の一側に位置し、且つ円心との連結線が前記第６予測点と円心との連結線と第７角度をなす第７予測点と、前記第６予測点の他側に位置し、且つ円心との連結線が前記第６予測点と円心との連結線と第８角度をなす第８予測点とを特定することと、を含む。ここで、前記第１長さと前記第２長さは実際の状況に応じて設定することができ、好ましくは、前記第１長さをロボット躯体の半径の１．１倍乃至１．５倍に設定することができ、前記第２長さをロボット躯体の半径の１．６倍乃至２．１倍に設定することができる。図２に示すように、第１予測点をＭ点、第２予測点をＬ点、第３予測点をＮ点、第４予測点をＫ点、第５予測点をＯ点、第６予測点をＨ点、第７予測点をＧ点、第８予測点をＩ点とする。Ｐ点は前記基準点（すなわち、円心）であり、Ｐ点の外側の円形はロボットの躯体を示し、円形の外側の内径が小さいほうの半円弧は前記第１円弧線であり、円形の外側の内径が大きいほうの半円弧は前記第２円弧線である。ＰＭ方向がロボットの現在の方向（すなわち、基準方向）であり、Ｍ点が基準方向に位置するため、∠ＭＰＭは第１角度であり、且つ角度の値は０°となる。Ｈ点も基準方向に位置するため、第６角度の∠ＨＰＭの角度値も０°となる。また、∠ＬＰＭは第２角度で、∠ＮＰＭは第３角度で、∠ＫＰＭは第４角度で、∠ＯＰＭは第５角度で、∠ＧＰＭは第７角度で、∠ＩＰＭは第８角度であり、これらの角度の角度値は実際の状況に応じて設定することができる。好ましくは、前記第２角度と前記第３角度の角度値が２０°乃至４０°の間の範囲にあり、前記第４角度と前記第５角度の角度値が４５°乃至６５°の間の範囲にあり、前記第７角度と前記第８角度の角度値が１５°乃至４０°の間の範囲にある。
【００１０】
好ましくは、前記第１長さはロボット躯体の半径の１．２倍であり、前記第２長さはロボット躯体の半径の２倍である。前記第１長さと前記第２長さの値は、短すぎると危険エリアまたは障害物等の異常状況が予測された時にロボットが回避するまたは走行状態を調整するのに間に合わず、予測による有利な効果を実現できなくなり、一方、長すぎると比較的に多い演算リソースを消耗して予測による効率が高くなくなるので、適宜に設定する必要がある。
【００１１】
好ましくは、図２に示すように、前記第１予測点は前記第１円弧線と前記基準方向との交差点（すなわち、図中のＭ点）に位置し、前記第２予測点は第１垂直線と第１平行線との交差点に位置し、前記第３予測点は第１垂直線と第２平行線との交差点に位置し、前記第４予測点は第３平行線における第１線分内に位置し、前記第５予測点は第４平行線における第２線分内に位置する。
【００１２】
ここで、前記第１垂直線は、前記第１予測点を通過し、且つ前記基準方向に垂直する垂直線（すなわち、図中の線ａｃ）であり、前記第１平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離がロボット躯体の半径である、前記基準方向に平行する平行線（すなわち、図中の線ｇｋ）である。前記第２平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離がロボット躯体の半径である、前記基準方向に平行する平行線（すなわち、図中の線ｈｍ）である。前記第３平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離が第１長さである、前記基準方向に平行する平行線（すなわち、図中の線ａｂ）である。前記第４平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離が第１長さである、前記基準方向に平行する平行線（すなわち、図中の線ｃｄ）である。前記第１線分は、前記第１垂直線と前記第３平行線との交差点から第２垂直線と前記第３平行線との交差点までの線分（すなわち、図中のａｂ線分）であり、前記第２線分は、前記第１垂直線と前記第３平行線との交差点から第２垂直線と前記第３平行線との交差点までの線分（すなわち、図中のｃｄ線分）である。前記第２垂直線は、前記第１予測点と円心との間に位置し、且つ円心までの最小距離がロボット躯体の半径の半分である、前記基準方向に垂直する垂直線（すなわち、図中の線ｂｄ）である。図において、ｅ点とＰ点との距離がロボット躯体の半径の半分である。Ｋ点は実際の状況に応じてａｂ線分における任意の一点に設定することができ、Ｏ点は実際の状況に応じてｃｄ線分における任意の一点に設置することができる。
【００１３】
好ましくは、前記第６予測点は前記第２円弧線と前記基準方向との交差点（すなわち、図中のＨ点）に位置し、前記第７予測点は第３垂直線における第３線分内に位置し、前記第８予測点は第３垂直線における第４線分内に位置する。
【００１４】
ここで、前記第３垂直線は、前記第６予測点を通過し、且つ前記基準方向に垂直する垂直線（すなわち、図中の線ｆｉ）であり、前記第３線分は、前記第１平行線と前記第３垂直線との交差点から第５平行線と前記第３垂直線との交差点までの線分（すなわち、図中のｆｇ線分）であり、前記第４線分は、前記第２平行線と前記第３垂直線との交差点から第６平行線と前記第３垂直線との交差点までの線分（すなわち、図中のｈｉ線分）であり、前記第５平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離が第２長さから第１長さを引いた差の半分と第１長さとの和である、前記基準方向に平行する平行線（すなわち、図中の線ｆｊ）であり、前記第６平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離が第２長さから第１長さを引いた差の半分と第１長さとの和である、前記基準方向に平行する平行線（すなわち、図中の線ｉｎ）である。
【００１５】
以上の実施例に係る線路はいずれも仮想の線路であり、動的検出モデルの構成を明確に説明するために導入されたものであり、ロボットの実際の稼働では上述した線路が存在しないが、ロボットは当該モデルの構成の範囲内で予測を行う。
【００１６】
好ましくは、前記動的検出モデルに基づいて、ロボットの前方の経路状況を予測することが、ロボットの現在の位置をローカル座標の原点とし、現在の方向をローカルＹ軸方向として、ＸＹ軸ローカル座標系を作成することと、前記第１予測点乃至前記第８予測点が位置するＸＹ軸ローカル座標系のローカル座標を、ＸＹ軸ワールド座標系のワールド座標に変換することと、前記ワールド座標を格子座標に変換することと、前記格子座標と格子地図に基づいて、前記第１予測点乃至前記第８予測点に対応する格子ユニットの状態を特定することと、を含む。動的検出モデルの予測点のローカル座標をワールド座標に変換してこそ初めて、格子地図における格子座標に対応可能になり、これにより、ロボットが実際の走行中に走行方向の前方の格子ユニットの状態を正確に予測できる。
【００１７】
好ましくは、前記第１予測点乃至前記第８予測点が位置するＸＹ軸ローカル座標系のローカル座標を、ＸＹ軸ワールド座標系のワールド座標に変換することが、ロボットの現在の位置の前記ＸＹ軸ワールド座標系におけるワールド座標を（ｘ，ｙ）と特定することと、ロボットの現在の方向と前記ＸＹ軸ワールド座標系のＹ軸のなす角をθと特定することと、前記第１予測点の前記ＸＹ軸ローカル座標系におけるローカル座標を（ｘ１，ｙ１）と特定することと、前記第１予測点のＸＹ軸ワールド座標系のＸ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＸ軸に投影された投影点からの距離をｘｒ１＝（ｘ１*ｃｏｓθ−ｙ１*ｓｉｎθ）と特定し、且つ前記第１予測点のＸＹ軸ワールド座標系のＹ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＹ軸に投影された投影点からの距離をｙｒ１＝（ｘ１*ｓｉｎθ＋ｙ１*ｃｏｓθ）と特定することと、前記第１予測点のワールド座標を（ｘｗ１＝ｘ＋ｘｒ１，ｙｗ１＝ｙ＋ｙｒ１）と特定することと、前記第２予測点の前記ＸＹ軸ローカル座標系におけるローカル座標を（ｘ２，ｙ２）と特定することと、前記第２予測点のＸＹ軸ワールド座標系のＸ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＸ軸に投影された投影点からの距離をｘｒ２＝（ｘ２*ｃｏｓθ−ｙ２*ｓｉｎθ）と特定し、且つ前記第２予測点のＸＹ軸ワールド座標系のＹ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＹ軸に投影された投影点からの距離をｙｒ２＝（ｘ２*ｓｉｎθ＋ｙ２*ｃｏｓθ）と特定することと、前記第２予測点のワールド座標を（ｘｗ２＝ｘ＋ｘｒ２，ｙｗ２＝ｙ＋ｙｒ２）と特定することと、同様に、前記第８予測点までのワールド座標の特定を完了することと、含む。
【００１８】
図３に示すように、ＸＱＹ座標系はＸＹ軸ワールド座標系であり、Ｘ′ＰＹ′座標系はＸＹ軸ローカル座標系である。円形はロボットを示し、Ｐ点はロボットの現在の位置を示し、ローカル座標系の原点でもあり、ジャイロスコープと走行距離計等のセンサーの検出データによって、Ｐ点のワールド座標系における座標位置は既知なものであり、（ｘ，ｙ）と仮定する。ＰＭ方向はロボットの現在の方向であり、ジャイロスコープの検出データによって得ることも可能であり、現在の方向の角度がθ（すなわち、ＰＭ方向とＹ軸方向のなす角）であるとする。Ｎ点は動的検出モデルの第３予測点として、この点を例に、ローカル座標から対応するワールド座標への変換方法を説明する。Ｎ点のローカル座標は（ｘ３，ｙ３）で、現在の方向であるＰＭとＹ軸のなす角の角度はθで、Ｎ点がＸ軸方向に投影される時、Ｘ軸方向との交差点がＰ点から離れた最小距離はｘｒ３で、且つｘｒ３＝（ｘ３*ｃｏｓθ−ｙ３*ｓｉｎθ）であり、Ｙ軸方向との交差点がＰ点から離れた最小距離はｙｒ３で、且つｙｒ３＝（ｘ３*ｓｉｎθ＋ｙ３*ｃｏｓθ）である。その結果、図に示すように、Ｎ点のワールド座標は（ｘｗ３，ｙｗ３）で、ｘｗ３＝ｘ＋ｘｒ３＝ｘ＋ｘ３*ｃｏｓθ−ｙ３*ｓｉｎθ、ｙｗ３＝ｙ＋ｙｒ３＝ｙ＋ｘ３*ｓｉｎθ＋ｙ３*ｃｏｓθである。動的検出モデルにおいて、各予測点同士の相対位置は変化せず、一定であるため、ロボットの現在の方向が変化する場合、それによる各予測点の回転角度は同じであるので、各予測点がワールド座標に変換される形態も同様であり、他の予測点が上記Ｎ点の変換方式と同じであるので、ここでは詳細な説明を省略する。
【００１９】
好ましくは、前記ワールド座標を格子座標に変換することは、前記格子ユニットが辺の長さがＬの正方形であると特定することと、前記第１予測点の格子座標を（ｘｇ１＝ｘｗ１／Ｌ，ｙｇ１＝ｙｗ１／Ｌ）と特定し、且つｘｗ１／Ｌとｙｗ１／Ｌの結果の整数部分を取ることと、前記第２予測点の格子座標を（ｘｇ２＝ｘｗ２／Ｌ，ｙｇ２＝ｙｗ２／Ｌ）と特定し、且つｘｗ２／Ｌとｙｗ２／Ｌの結果の整数部分を取ることと、同様に、前記第８予測点までの格子座標の特定を完了することと、を含む。ワールド座標によっては前方の経路状況を特定することができず、格子地図における経路状況はいずれも格子ユニットの状態で標記されるので、ワールド座標を対応する格子ユニットに変換してから、対応する格子ユニットの状態を判断することによって最終的に前方の経路状況を特定する必要があり、これにより、予測効果を実現可能になる。上記変換方式によって、動的検出モデルにおける各予測点がどの格子ユニットに対応するかを正確に特定でき、演算が簡単で、正確度が高い。
【００２０】
好ましくは、前記予測結果に基づいて、ロボットの走行方式を制御することが、前記第１予測点、前記第２予測点または前記第３予測点に対応する格子ユニットが危険ユニットであるか否かを判断することと、ＹＥＳであれば、第１走行方式で走行するようにロボットを制御することと、ＮＯであれば、前記第１予測点、前記第２予測点または前記第３予測点に対応する格子ユニットが崖ユニットまたは障害ユニットであるか否かを判断することと、ＹＥＳであれば、第２走行方式で走行するようにロボットを制御することと、ＮＯであれば、前記第４予測点または前記第５予測点に対応する格子ユニット崖ユニットまたは障害ユニットであるか否かを判断することと、ＹＥＳであれば、第３走行方式で走行するようにロボットを制御することと、ＮＯであれば、前記第６予測点、前記第７予測点または前記第８予測点が崖ユニットまたは障害ユニットであるか否かを判断することと、ＹＥＳであれば、第４走行方式で走行するようにロボットを制御することと、ＮＯであれば、ロボットの現在の走行方式を維持することと、を含む。ここで、前記危険ユニットはロボットによって行き詰まりまたは空回りが検出された格子ユニットであり、前記障害ユニットはロボットによって障害物が検出された格子ユニットであり、前記崖ユニットはロボットによって崖が検出された格子ユニットである。近いの方から遠い方へ向かって、各予測点に対応する格子ユニットの状態を順に判断して前方の経路状況を特定することで、異なる走行方式で走行するようにロボットを制御して、ロボットの走行効率を向上させ、危険エリアに入って行き詰まりまたは空回りが発生したり、障害物に強くぶつかるまたは崖から飛び出す等の問題を回避できる。
【００２１】
好ましくは、前記第１走行方式で走行するようにロボットを制御することは、走行を停止するようにロボットを制御することと、ロボットが弓型の走行段階であるか否かを判断することと、ＹＥＳであれば、Ｕターンするようにロボットを制御することと、ＮＯであれば、ロボットがエッジモードの走行段階であると特定し、前記危険ユニットを迂回してから継続してエッジモードになるようにロボットを制御することと、を含む。及び／又は、前記第２走行方式で走行するようにロボットを制御することは、前記格子ユニットが障害ユニットであると判断されると、第１比例で走行速度を下げるようにロボットを制御することと、前記格子ユニットが崖ユニットであると判断されると、第２比例で走行速度を下げるようにロボットを制御することと、を含む。及び／又は、前記第３走行方式で走行するようにロボットを制御することは、第３比例で走行速度を下げるようにロボットを制御することを含む。及び／又は、前記第４走行方式で走行するようにロボットを制御することは、第４比例で走行速度を下げるようにロボットを制御することを含む。ここで、前記比例は実際の状況に応じて設定でき、好ましくは、前記第１比例は０．５で、前記第２比例は０．３で、前記第３比例は０．7で、第４比例は０．８である。
【００２２】
第１予測エリア内におけるロボットに最も近い三つの予測点に危険ユニットがあると特定されると、ロボットが対応する危険エリアを回避しなければならない。そして、危険エリアを回避するには、ロボットの走行段階に応じて異なる回避方式を用いる必要がある。ロボット掃除機の走行方式は主に、弓型の走行段階とエッジモードの走行段階とに分けられる。ロボットが弓型の走行段階である場合、危険エリアに遭遇するとそのままＵターンして継続に弓型の走行を行って他の経路を掃除することができる。ロボットがエッジモードの走行段階である場合、Ｕターンするとエッジに沿って走行した経路を再び掃除することになり、また、危険エリアが再び検出されて再びＵターンすると、二つの危険エリアの間でエッジモードの状況が繰り返されるので、Ｕターンしてはならない。そこで、エッジモードの走行中に危険エリアに遭遇すると危険エリアを迂回する方式を採用し、危険エリアを迂回した後に継続してエッジに沿うことで、最終的にエッジモードの段階の掃除を全部完了できる。第１予測エリア内におけるロボットに最も近い三つの予測点に危険ユニットがないと特定された場合、障害ユニットがあると、ロボットの走行速度を０．５倍に下げて、ロボットの速度が速すぎて障害物に強くぶつかることを回避する。崖ユニットがあると、ロボットの速度を０．３倍に下げて、ロボットの速度をより速く下げて崖から飛び出されるリスクを回避する。
【００２３】
ロボットに最も近い三つの予測点に対応する格子ユニットが正常に走行した走行済ユニットであると、前記第４予測点または前記第５予測点に対応する格子ユニットが崖ユニットまたは障害ユニットであるか否かを判断し、これはこの二つの予測点がロボットの両外側に位置するため、危険ユニットであってもその間から通過できることになり、そのため、この二つの予測点が危険ユニットであるか否かを判断する必要がないからである。そのうちの一つの点が崖ユニットまたは障害ユニットであると特定されると、ロボットの速度を０．7倍まで下げる必要があり、これは、通常、障害物または崖の縁部にゴミが多いので、ゆっくり通過して掃除効果を向上させるためである。
【００２４】
第４予測点または前記第５予測点に対応する格子ユニットがいずれも正常に走行した走行済ユニットであると、前記第６予測点、前記第７予測点または前記第８予測点が崖ユニットまたは障害ユニットであるか否かを判断する。この三つの点がロボットから遠い距離にあるので、ロボットの速度を予め制御するために予測を行うからである。そのうちの一つが崖ユニットまたは障害ユニットであると検出されると、ロボットの速度を０．８倍まで下げる。いずれでもないと、ロボットの現在の走行方式を維持して掃除を続ける。
【００２５】
以上の実施例は本発明を限定するものではなく、本発明を十分に開示するためのものであり、本発明の創造宗旨に基づいて、創造性のある行為を必要としない等価技術特徴の入れ替えは、本願の保護範囲に含まれるとみなすべきである。
【図１】
2021500688.tif 000003
【図２】
2021500688.tif 000004
【図３】
2021500688.tif 000005
【手続補正書】
【提出日】令和2年4月27日(2020.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
状態が標記された格子ユニットに基づいて格子地図を構築することと、
前記格子地図に基づいて、ロボットの現在の位置を基準点として動的検出モデルを作成することと、
前記動的検出モデルに基づいて、ロボットの前方の経路状況を予測することと、
予測結果に基づいて、ロボットの走行方式を制御することと、を含むことを特徴とするロボットの走行予測及び制御方法。
【請求項２】
前記ロボットの現在の位置を基準点として動的検出モデルを作成することは、
前記基準点を円心とし、第１長さを半径として第１円弧線を作成し、前記第１長さより大きい第２長さを半径として第２円弧線を作成することと、
前記第１円弧線と前記第２円弧線との間のエリアを第１予測エリアとして特定することと、
前記第２円弧線の外側のエリアを第２予測エリアとして特定することと、
ロボットが走行している現在の方向を基準方向として、前記第１予測エリアにおける点である、前記基準方向に位置し、且つ円心との連結線が前記基準方向と第１角度をなす第１予測点と、前記第１予測点の一側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第２角度をなす第２予測点と、前記第１予測点の他側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第３角度をなす第３予測点と、前記第１予測点の一側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第４角度をなす第４予測点と、前記第１予測点の他側に位置し、且つ円心との連結線が前記第１予測点と円心との連結線と第５角度をなす第５予測点と、を特定することと、
ロボットが走行している現在の方向を基準方向として、前記第２予測エリアにおける点である、前記基準方向に位置し、且つ円心との連結線が前記基準方向と第６角度をなす第６予測点と、前記第６予測点の一側に位置し、且つ円心との連結線が前記第６予測点と円心との連結線と第７角度をなす第７予測点と、前記第６予測点の他側に位置し、且つ円心との連結線が前記第６予測点と円心との連結線と第８角度をなす第８予測点とを特定することと、を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１長さはロボット躯体の半径の１．２倍であり、前記第２長さはロボット躯体の半径の２倍であることを特徴とする請求項２に記載の方法。
【請求項４】
前記第１予測点は前記第１円弧線と前記基準方向との交差点に位置し、前記第２予測点は第１垂直線と第１平行線との交差点に位置し、前記第３予測点は第１垂直線と第２平行線との交差点に位置し、前記第４予測点は第３平行線における第１線分内に位置し、前記第５予測点は第４平行線における第２線分内に位置し、
前記第１垂直線は、前記第１予測点を通過し、且つ前記基準方向に垂直する垂直線であり、前記第１平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離がロボット躯体の半径である、前記基準方向に平行する平行線であり、前記第２平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離がロボット躯体の半径である、前記基準方向に平行する平行線であり、前記第３平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離が第１長さである、前記基準方向に平行する平行線であり、前記第４平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離が第１長さである、前記基準方向に平行する平行線であり、前記第１線分は、前記第１垂直線と前記第３平行線との交差点から第２垂直線と前記第３平行線との交差点までの線分であり、前記第２線分は、前記第１垂直線と前記第４平行線との交差点から第２垂直線と前記第４平行線との交差点までの線分であり、前記第２垂直線は、前記第１予測点と円心との間に位置し、且つ円心までの最小距離がロボット躯体の半径の半分である、前記基準方向に垂直する垂直線であることを特徴とする請求項２に記載の方法。
【請求項５】
前記第６予測点は前記第２円弧線と前記基準方向との交差点に位置し、前記第７予測点は第３垂直線における第３線分内に位置し、前記第８予測点は第３垂直線における第４線分内に位置し、
前記第３垂直線は、前記第６予測点を通過し、且つ前記基準方向に垂直する垂直線であり、前記第３線分は、前記第１平行線と前記第３垂直線との交差点から第５平行線と前記第３垂直線との交差点までの線分であり、前記第４線分は、前記第２平行線と前記第３垂直線との交差点から第６平行線と前記第３垂直線との交差点までの線分であり、前記第５平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離が第２長さから第１長さを引いた差の半分と第１長さとの和である、前記基準方向に平行する平行線であり、前記第６平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離が第２長さから第１長さを引いた差の半分と第１長さとの和である、前記基準方向に平行する平行線であることを特徴とする請求項４に記載の方法。
【請求項６】
前記動的検出モデルに基づいて、ロボットの前方の経路状況を予測することは、
ロボットの現在の位置をローカル座標の原点とし、現在の方向をローカルＹ軸方向として、ＸＹ軸ローカル座標系を作成することと、
前記第１予測点乃至前記第８予測点が位置するＸＹ軸ローカル座標系のローカル座標を、ＸＹ軸ワールド座標系のワールド座標に変換することと、
前記ワールド座標を格子座標に変換することと、
前記格子座標と格子地図に基づいて、前記第１予測点乃至前記第８予測点に対応する格子ユニットの状態を特定することと、を含むことを特徴とする請求項２に記載の方法。
【請求項７】
前記第１予測点乃至前記第８予測点が位置するＸＹ軸ローカル座標系のローカル座標を、ＸＹ軸ワールド座標系のワールド座標に変換することは、
ロボットの現在の位置の前記ＸＹ軸ワールド座標系におけるワールド座標を（ｘ，ｙ）と特定することと、
ロボットの現在の方向と前記ＸＹ軸ワールド座標系のＹ軸のなす角をθと特定することと、
前記第１予測点の前記ＸＹ軸ローカル座標系のローカル座標を（ｘ１，ｙ１）と特定することと、
前記第１予測点のＸＹ軸ワールド座標系のＸ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＸ軸に投影された投影点からの距離をｘｒ１＝（ｘ１*ｃｏｓθ−ｙ１*ｓｉｎθ）と特定し、且つ前記第１予測点のＸＹ軸ワールド座標系のＹ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＹ軸に投影された投影点からの距離をｙｒ１＝（ｘ１*ｓｉｎθ＋ｙ１*ｃｏｓθ）と特定することと、
前記第１予測点のワールド座標を（ｘｗ１＝ｘ＋ｘｒ１，ｙｗ１＝ｙ＋ｙｒ１）と特定することと、
前記第２予測点の前記ＸＹ軸ローカル座標系におけるローカル座標を（ｘ２，ｙ２）と特定することと、
前記第２予測点のＸＹ軸ワールド座標系のＸ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＸ軸に投影された投影点からの距離をｘｒ２＝（ｘ２*ｃｏｓθ−ｙ２*ｓｉｎθ）と特定し、且つ前記第２予測点のＸＹ軸ワールド座標系のＹ軸に投影された投影点の、ロボットの現在の位置のＸＹ軸ワールド座標系のＹ軸に投影された投影点からの距離をｙｒ２＝（ｘ２*ｓｉｎθ＋ｙ２*ｃｏｓθ）と特定することと、
前記第２予測点のワールド座標を（ｘｗ２＝ｘ＋ｘｒ２，ｙｗ２＝ｙ＋ｙｒ２）と特定することと、
同様に、前記第８予測点までのワールド座標の特定を完了することと、含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記ワールド座標を格子座標に変換することは、
前記格子ユニットが辺の長さがＬの正方形であると特定することと、
前記第１予測点の格子座標を（ｘｇ１＝ｘｗ１／Ｌ，ｙｇ１＝ｙｗ１／Ｌ）と特定し、且つｘｗ１／Ｌとｙｗ１／Ｌの結果の整数部分を取ることと、
前記第２予測点の格子座標を（ｘｇ２＝ｘｗ２／Ｌ，ｙｇ２＝ｙｗ２／Ｌ）と特定し、且つｘｗ２／Ｌとｙｗ２／Ｌの結果の整数部分を取ることと、
同様に、前記第８予測点までの格子座標の特定を完了することと、を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記予測結果に基づいて、ロボットの走行方式を制御することは、
前記第１予測点、前記第２予測点または前記第３予測点に対応する格子ユニットが危険ユニットであるか否かを判断することと、
ＹＥＳであれば、第１走行方式で走行するようにロボットを制御することと、
ＮＯであれば、前記第１予測点、前記第２予測点または前記第３予測点に対応する格子ユニットが崖ユニットまたは障害ユニットであるか否かを判断することと、
ＹＥＳであれば、第２走行方式で走行するようにロボットを制御することと、
ＮＯであれば、前記第４予測点または前記第５予測点に対応する格子ユニット崖ユニットまたは障害ユニットであるか否かを判断することと、
ＹＥＳであれば、第３走行方式で走行するようにロボットを制御することと、
ＮＯであれば、前記第６予測点、前記第７予測点または前記第８予測点が崖ユニットまたは障害ユニットであるか否かを判断することと、
ＹＥＳであれば、第４走行方式で走行するようにロボットを制御することと、
ＮＯであれば、ロボットの現在の走行方式を維持することと、を含み、
前記危険ユニットはロボットによって行き詰まりまたは空回りが検出された格子ユニットであり、前記障害ユニットはロボットによって障害物が検出された格子ユニットであり、前記崖ユニットはロボットによって崖が検出された格子ユニットであることを特徴とする請求項６に記載の方法。
【請求項１０】
前記第１走行方式で走行するようにロボットを制御することは、走行を停止するようにロボットを制御することと、ロボットが弓型の走行段階であるか否かを判断することと、ＹＥＳであれば、Ｕターンするようにロボットを制御することと、ＮＯであれば、ロボットがエッジモードの走行段階であると特定し、前記危険ユニットを迂回してから継続してエッジモードになるようにロボットを制御することと、を含み、
及び／又は、
前記第２走行方式で走行するようにロボットを制御することは、前記格子ユニットが障害ユニットであると判断されると、第１比例で走行速度を下げるようにロボットを制御することと、前記格子ユニットが崖ユニットであると判断されると、第２比例で走行速度を下げるようにロボットを制御することと、を含み、
及び／又は、
前記第３走行方式で走行するようにロボットを制御することは、第３比例で走行速度を下げるようにロボットを制御するを含み、
及び／又は、
前記第４走行方式で走行するようにロボットを制御することは、第４比例で走行速度を下げるようにロボットを制御することを含むことを特徴とする請求項９に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
ここで、前記第１垂直線は、前記第１予測点を通過し、且つ前記基準方向に垂直する垂直線（すなわち、図中の線ａｃ）であり、前記第１平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離がロボット躯体の半径である、前記基準方向に平行する平行線（すなわち、図中の線ｇｋ）である。前記第２平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離がロボット躯体の半径である、前記基準方向に平行する平行線（すなわち、図中の線ｈｍ）である。前記第３平行線は、前記基準方向の一側に位置し、且つ前記基準方向との垂直距離が第１長さである、前記基準方向に平行する平行線（すなわち、図中の線ａｂ）である。前記第４平行線は、前記基準方向の他側に位置し、且つ前記基準方向との垂直距離が第１長さである、前記基準方向に平行する平行線（すなわち、図中の線ｃｄ）である。前記第１線分は、前記第１垂直線と前記第３平行線との交差点から第２垂直線と前記第３平行線との交差点までの線分（すなわち、図中のａｂ線分）であり、前記第２線分は、前記第１垂直線と前記第４平行線との交差点から第２垂直線と前記第４平行線との交差点までの線分（すなわち、図中のｃｄ線分）である。前記第２垂直線は、前記第１予測点と円心との間に位置し、且つ円心までの最小距離がロボット躯体の半径の半分である、前記基準方向に垂直する垂直線（すなわち、図中の線ｂｄ）である。図において、ｅ点とＰ点との距離がロボット躯体の半径の半分である。Ｋ点は実際の状況に応じてａｂ線分における任意の一点に設定することができ、Ｏ点は実際の状況に応じてｃｄ線分における任意の一点に設置することができる。
【国際調査報告】
2021500688.tif 000006
2021500688.tif 000007
2021500688.tif 000008
2021500688.tif 000009