(58)【調査した分野】(Int.Cl.,DB名)
ロボットの移動方向又は前記移動方向に垂直な方向に沿って前記ロボットの両側に位置する2つの隣接する障害物の位置情報を取得し、前記2つの隣接する障害物の間の距離を計算するステップの前に、
前記ロボットの作業待ち領域に対応する仮想地図を取得するステップを更に含み、前記仮想地図は、アレイ状に配置された複数のグリッドに分割され、
前記ロボットの移動中に、前記移動方向及び前記移動方向に垂直方向に沿って前記ロボットが位置するグリッドの隣接するグリッドの状態を検出し、前記仮想地図上でグリッドの状態をマークし、前記ロボットが通過したグリッドを作業済みグリッドとしてマークし、前記障害物の存在が検出されたグリッドを障害物グリッドとしてマークし、障害物の存在が検出されず前記ロボットが通過していないグリッドを作業待ちグリッドとしてマークし、前記ロボットが通過しておらず状態が検出されていないグリッドを未知グリッドとしてマークする、ことを特徴とする請求項1に記載の方法。
ロボットの移動方向又は前記移動方向に垂直な方向に沿って前記ロボットの両側に位置する2つの隣接する障害物の位置情報を取得し、前記2つの隣接する障害物の間の距離を計算するステップは、
前記移動方向又は前記移動方向に垂直方向に沿って前記ロボットの両側に位置する2つの隣接する前記障害物グリッドを取得し、前記2つの隣接する前記障害物グリッドの前記仮想地図上での位置情報に基づいて前記2つの隣接する障害物グリッドの間の距離を計算するステップを含む、ことを特徴とする請求項3に記載の方法。
前記センサーはロボットの移動方向又は前記移動方向に垂直な方向に沿って、前記ロボットの両側に位置する2つの隣接する障害物の位置情報を取得し、前記2つの隣接する障害物の間の距離を計算する前に、
前記プロセッサーはさらに、前記センサーにより前記ロボットの作業待ち領域に対応する仮想地図を取得するために使用され、前記仮想地図は、アレイ状に配置された複数のグリッドに分割され、
前記ロボットの移動中に、前記センサーは、前記移動方向と前記移動方向に垂直方向に沿って前記ロボットが位置するグリッドの隣接するグリッドの状態を検出し、前記プロセッサーはさらに、前記仮想地図上でグリッドの状態をマークするために使用され、前記ロボットが通過したグリッドを作業済みグリッドとしてマークし、前記障害物の存在が検出されたグリッドを障害物グリッドとしてマークし、障害物の存在が検出されず前記ロボットが通過していないグリッドを作業待ちグリッドとしてマークし、前記ロボットが通過しておらず状態が検出されていないグリッドを未知グリッドとしてマークする、ことを特徴とする請求項9に記載のロボット。
前記プロセッサーは、前記2つの隣接する障害物の間の距離が前記第1の予め設定された距離以下である場合、前記2つの隣接する障害物の間に仮想障害物境界を設定するステップでは、
前記プロセッサーは、前記ロボットを継続して移動させるように制御して、前記2つの隣接する障害物の間のグリッドから前記ロボットを移動させた後、前記2つの隣接する障害物の間に前記仮想障害物境界を設定するステップが含まれる、ことを特徴とする請求項9に記載のロボット。
【発明を実施するための形態】
【0010】
以下では、本発明の実施例の添付図面を参照しながら、本発明の実施例の技術的解決手段を明確かつ完全に説明する。当然のことながら、ここで説明する実施例は本発明の実施例の全てではなく一部にすぎない。当業者が創造的な作業なしに本発明の実施例に基づいて得られる全ての他の実施例は、本発明の保護範囲に含まれるべきである。
【0011】
図1を参照すると、
図1は、本発明のロボットの移動制御方法の一実施形態のフローチャートである。
図1に示すように、本発明のロボットの移動制御方法は、ステップS11〜ステップS14を含む。
ステップS11では、ロボットの移動方向又は移動方向に垂直な方向に沿って、ロボットの両側に位置する2つの隣接する障害物の位置情報を取得し、2つの隣接する障害物の間の距離を計算する。
ステップS11の前に、ステップS101とステップS102とが更に含まれる。
ステップS101では、ロボットの作業待ち領域に対応する仮想地図を取得する。仮想地図は、アレイ状に配置された複数のグリッドに分割される。
具体的には、
図2に示すように、適用例では、ロボットが作業を開始すると、まずアレイ状に配置された複数のグリッドでロボットに対応する作業待ち領域の仮想地図を格納する。ロボットには少なくとも1つのセンサーが設けられる。そのセンサーは検出範囲を有する。ロボットは、センサーによって検出範囲内の各グリッドの状態を取得し仮想地図中で対応するマークを付け、その検出範囲を超えたグリッドの状態を未知としてマークする。
【0012】
ステップS102では、ロボットの移動中に、移動方向及び垂直方向に沿ってロボットが位置するグリッドの隣接するグリッドの状態を検出し、仮想地図上でグリッドの状態をマークし、ロボットが通過したグリッドを作業済みグリッドとしてマークし、障害物の存在が検出されたグリッドを障害物グリッドとしてマークし、障害物の存在が検出されずロボットが通過していないグリッドを作業待ちグリッドとしてマークし、ロボットが通過しておらず状態が検出されていないグリッドを未知グリッドとしてマークする。
【0013】
具体的には、上記適用例では、ロボットの移動モードは、行単位の移動と列単位の移動との2種類の移動がある。さらに
図2を参照すると、行単位の移動モードでは、ロボットは、まず仮想地図内の行方向に沿って移動し、障害物に遭遇すると、行方向に垂直な列方向に沿って次の行に移動し、次に前の行の移動方向と反対の行方向に沿って移動する。例えば、ロボットはまず仮想地図のn行においてn行m列の位置201からn行m+4列の位置202に移動しており、n行m+5列の位置203に障害物があるため、ロボットは行方向に垂直な列方向に沿って、n行m+4列の位置202からn+1行m+4列の位置204に移動し、次にn+1行に沿ってn+1行m+4列の位置204からn+1行m列の位置205に移動する。列単位の移動モードでは、ロボットは、まず仮想地図内の列方向に沿って移動し、障害物に遭遇すると、列方向に垂直な行方向に沿って次の列に移動し、次に前の列の移動方向と反対の列方向に沿って移動する。
【0014】
ロボットの行単位の移動を例とすると、ロボットの移動中に、移動方向(行方向)及び垂直方向(列方向)に沿って、ロボットが位置するグリッドの隣接するグリッドの状態が検出され、仮想地図上でグリッドの状態がマークされる。ロボットの移動中に、グリッド状態が更新される。
図2に示すように、現在位置するグリッドを含む、ロボットが通過したグリッドは、作業済みグリッドとしてマークされ、即ち、
図2における「済(已)」でマークされたグリッドとなる。障害物の存在が検出されたグリッドは障害物グリッドとしてマークされ、即ち、
図2における斜線でマークされたグリッドとなる。障害物が検出されておらずロボットが通過していないグリッドは作業待ちグリッドとしてマークされ、即ち、
図2における「待」でマークされたグリッドとなる。ロボットが通過しておらず状態が検出されていないグリッドは未知グリッドとしてマークされ、即ち、
図2における「未」でマークされたグリッドとなる。
【0015】
当然のことながら、他の適用例では、ロボットは他の方向に沿って移動してもよく、仮想地図は他の方式で格納されてもよい。それはここで特に限定されない。
【0016】
さらに、ステップS11は、ステップS111を含む。
ステップS111では、移動方向又は垂直方向に沿ってロボットの両側に位置する2つの隣接する障害物グリッドを取得し、2つの隣接する障害物グリッドの仮想地図上での位置情報に基づいて2つの隣接する障害物グリッドの間の距離を計算する。
【0017】
ステップS111は、ステップS1111を更に含む。
ステップS1111では、ロボットの移動方向又は前記移動方向に垂直な方向に沿って、前記ロボットの一方の側に位置する第1障害物の位置情報、及び前記ロボットの他方の側に位置する第2障害物の位置情報を取得する。前記第1障害物と前記第2障害物との間には他の障害物は存在していない。
【0018】
具体的には、1つの適用例では、
図3に示すように、ロボットがn行において行方向に沿って移動するときに、ロボットの両側の第1障害物及び第2障害物という2つの隣接する障害物グリッドの位置情報、即ち仮想地図におけるn行m+1列の位置301及びn行m−j列の位置302の障害物グリッドの位置情報を取得し、2つの隣接する障害物グリッドの間の距離、即ちj+1個のグリッドを計算する。当然のことながら、他の適用例では、ロボットの移動方向に垂直な方向に沿って第1障害物及び第2障害物の位置情報を取得してもよく、ここでは特に限定しない。
【0019】
ステップS12では、2つの隣接する障害物の間の距離が第1の予め設定された距離以下であるか否かを判断する。
具体的には、第1の予め設定された距離は、ロボットによって予め設定された第1距離閾値である。上記適用例では、第1の予め設定された距離はグリッドを単位とし、具体的な値は実際の需要に応じて設定されてもよく、ここでは特に限定されない。
【0020】
ステップS12はステップS121を更に含む。
ステップS121では、2つの隣接する障害物グリッドの間のグリッドの少なくとも1つの側に、隣接して配置され未知グリッドに連接される作業待ちグリッドが存在するか否かを判断する。
具体的には、上記適用例では、
図3に示すように、ロボットは仮想地図のn行m列の位置300に位置し、仮想地図におけるn行m+1列の位置301とn行m−j列の位置302はいずれも障害物グリッドである。2つの障害物グリッドの間のグリッドの一方の側に(n+1行に)隣接して配置され未知グリッドに連接される作業待ちグリッドが存在する場合、例えば、n+1行m+1列の位置303の未知グリッドに隣接して配置され連接されるn+1行m列の位置304の作業待ちグリッドが存在する場合、後続して配置される仮想障害物境界は、ロボットが作業済み領域から未作業領域に移動する過程中に設定される。
【0021】
ステップS13では、2つの隣接する障害物の間の距離が第1の予め設定された距離以下である場合、2つの隣接する障害物の間に仮想障害物境界を設定する。
さらに、ステップS13はステップS131〜ステップS134を含む。
ステップS131では、2つの隣接する障害物グリッドの間の距離が第1の予め設定された距離以下であり、2つの隣接する障害物グリッドの間のグリッドの少なくとも1つの側に、隣接して配置され未知グリッドに連接される作業待ちグリッドが存在する場合、2つの隣接する障害物グリッドの間に仮想障害物境界を設定する。
【0022】
具体的には、上記適用例では、
図3に示すように、2つの隣接する障害物グリッド301と302との間の距離(j+1個のグリッド)が第1の予め設定された距離(例えば、10個のグリッド)以下である場合、2つの隣接する障害物グリッド301と302との間のグリッドの少なくとも1方の側に、隣接して配置され未知グリッドに連接される作業待ちグリッドが存在する。未知グリッド303に隣接して配置され連接される作業待ちグリッド304が存在する場合、2つの隣接する障害物グリッド301と302との間に仮想障害物境界を設定する。
【0023】
他の適用例では、
図4に示すように、ロボットは仮想地図で行方向に沿って移動する。現在、ロボットは仮想地図のn行m列の位置300にある。ロボットの両側の2つの隣接する障害物305と306との間の距離(i+j個のグリッド)が第1の予め設定された距離(例えば、10個のグリッド)以下であり、且つ2つの隣接する障害物グリッド305と306との間のグリッドの少なくとも1方の側には隣接して配置され未知グリッドに連接される作業待ちグリッドが存在する、例えば、n行m+1列の位置307に隣接して配置されn行m+2列の位置308の未知グリッドに連接される作業待ちグリッドが存在する場合、2つの隣接する障害物グリッド305と306との間に仮想障害物境界を設定する。
【0024】
図5に示すように、ロボットは仮想地図で列方向に沿って移動する。現在、ロボットは仮想地図のn行m列の位置300にある。ロボットの両側の2つの隣接する障害物309と310との間の距離(i+j個のグリッド)が第1の予め設定された距離(例えば、10個のグリッド)以下であり、且つ2つの隣接する障害物グリッド309と310との間のグリッドの少なくとも1方の側には隣接して配置され未知グリッドに連接される作業待ちグリッドが存在する、例えば、n+1行m列の位置311に隣接して配置されn+2行m列の位置312の未知グリッドに連接される作業待ちグリッドが存在する場合、2つの隣接する障害物グリッド309と310との間に仮想障害物境界を設定することができる。
【0025】
ステップS132では、ロボットを継続して移動させるように制御して、2つの隣接する障害物の間のグリッドからロボットを移動させた後、2つの隣接する障害物の間に仮想障害物境界を設定する。
【0026】
具体的には、
図3及び
図6に示すように、ロボットが列方向に沿って次の行(n+1行)に移動し続けると、ロボットは、2つの隣接する障害物301と302との間のグリッドから出た後、2つの隣接する障害物301と302との間に仮想障害物境界31を設定し、即ち、仮想障害物境界31を有効にする。
図6に示すように、グリッドが
でマークされる。
【0027】
図4及び
図7に示すように、ロボットが行方向に沿って次の列(m+1列)に移動し続けると、ロボットは、2つの隣接する障害物305と306との間のグリッドから出た後、2つの隣接する障害物305と306との間に仮想障害物境界32を設定し、即ち、仮想障害物境界32を有効にする。
図7に示すように、グリッドが
でマークされる。
【0028】
図5及び
図8に示すように、ロボットが列方向に沿って次の行(n+1行)に移動し続けると、ロボットは、2つの隣接する障害物309と310との間のグリッドから出た後、2つの隣接する障害物309と310との間に仮想障害物境界33を設定し、即ち、仮想障害物境界33を有効にする。
図8に示すように、グリッドが
でマークされる。
【0029】
さらに、ステップS13はステップS133〜ステップS134を更に含む。
ステップS133では、2つ以上の仮想障害物境界が存在する場合、2つ以上の仮想障害物境界の互いに垂直な第1方向及び第2方向のいずれかにおける距離が第2の予め設定された距離より短いか否か、前記第1方向及び前記第2方向の他方への投影に重なる領域があるか否かを判断する。第2の予め設定された距離は、ロボットによって予め設定された第1距離閾値であり、その値は実際の需要に応じて設定されてもよく、ここでは特に限定されない。一適用例では、仮想地図上の第1方向は行方向であり、第2方向は列方向であり、仮想地図上の2つの仮想障害物境界の行方向及び列方向のうちの一方の方向における距離が第2の予め設定された距離より短いか否かを判断し、他方の方向への投影が重なる領域を有するか否かを判断することによって、2つの仮想障害物境界の間の距離が近すぎるか否かを判断する。
【0030】
ステップS134では、第2の予め設定された距離より短く且つ重なり領域がある場合、2つ以上の仮想障害物境界を選択的に削除する。
【0031】
具体的には、一適用例では、
図9に示すように、仮想地図において、行方向における2つの隣接する仮想障害物境界41と42との間の距離(i個のグリッド)は、第2の予め設定された距離(例えば、5個のグリッド)より短く、且つ仮想障害物境界41及び42の列方向への投影は重なり領域401を有する。それにより、2つの隣接する仮想障害物境界41と42は近すぎることが示され、一方の仮想障害物境界が選択され削除される。
【0032】
図10に示すように、仮想地図において、列方向における2つの隣接する仮想障害物境界43と44との間の距離(j個のグリッド)は、第2の予め設定された距離(例えば、5個のグリッド)より短く、且つ仮想障害物境界43及び44の行方向への投影は重なり領域402を有する。それにより、2つの隣接する仮想障害物境界43と44は近すぎることが示され、一方の仮想障害物境界が選択され削除される。
【0033】
図11に示すように、仮想地図において、行方向の仮想障害物境界45と列方向の仮想障害物境界46との間の距離は0と定義され、第2の予め設定された距離(例えば、5個のグリッド)より短く、且つ仮想障害物境界45及び46は重なり領域403を有する。これにより、2つの仮想障害物境界45と46は近すぎることが示され、一方の仮想障害物境界が選択され削除される。
【0034】
さらに、ステップS134はステップS1341を含む。
ステップS1341では、設定時間が比較して遅い仮想障害物境界を削除する。
【0035】
具体的には、上記適用例では、
図9に示すように、仮想障害物境界42の設定時間が仮想障害物境界41の設定時間よりも遅い場合、仮想障害物境界42を削除する。
図10に示すように、仮想障害物境界44の設定時間が仮想障害物境界43の設定時間よりも遅い場合、仮想障害物境界44を削除する。
図11に示すように、仮想障害物境界46の設定時間が仮想障害物境界45の設定時間よりも遅い場合、仮想障害物境界46を削除する。
【0036】
ステップS14では、仮想障害物境界によりロボットの移動経路を制御する。
ステップS14はステップS141を含む。
ステップS141では、その後ロボットが仮想障害物境界に移動するときに、仮想障害物境界に障害物が存在するとみなす方式によってロボットの移動を制御する。
【0037】
具体的には、仮想障害物境界が有効になった後、ロボットは、仮想障害物境界の位置に障害物があるとみなす。ロボットは、後続の移動中に、仮想障害物境界を削除するまで、仮想障害物境界の位置のグリッドを越えることができない。
【0038】
さらに、ステップ141はステップS1411〜ステップS1413を含む。
ステップS1411では、仮想障害物境界を用いて、作業待ち領域を仮想障害物境界により離隔された少なくとも2つのサブ領域に分割する。
具体的には、
図12に示すように、仮想障害物境界51は、作業待ち領域を2つのサブ領域501及び502に分割する。
図13に示すように、仮想障害物境界52、53及び54は、作業待ち領域を4つのサブ領域503、504、505及び506に分割する。
【0039】
ステップS1412では、1つのサブ領域内の作業待ちグリッド及び未知グリッドを巡回した後、仮想障害物境界を削除し、他のサブ領域内の作業待ちグリッド及び未知グリッドを巡回するように、ロボットを制御する。
【0040】
具体的には、
図12に示すように、ロボットは行ごとに移動し、サブ領域501からサブ領域502への移動中に、サブ領域501とサブ領域502との間に仮想障害物境界51を設定する。具体的な設定方法はステップS11〜ステップS13を参照することができ、ここでは説明を繰り返さない。仮想障害物境界51が有効になった後、ロボットは、仮想障害物境界51の位置に障害物が存在するとみなす。ロボットは、後続の移動中に、仮想障害物境界51を削除するまで、仮想障害物境界51を越えてサブ領域502からサブ領域501へ移動することができない。従って、ロボットは、まずサブ領域502内の作業待ちグリッド及び未知グリッドを全て巡回した後、仮想障害物境界51を削除する。このとき、仮想障害物境界51の位置に障害物は存在しないため、ロボットは、サブ領域502からサブ領域501へ移動して、サブ領域501内の作業待ちグリッド及び未知グリッドを巡回し続けることができる。
【0041】
図13に示すように、ロボットにより前後して設定された仮想障害物境界52、53及び54は、作業待ち領域を4つのサブ領域503、504、505及び506に分割する。ロボットは、後続の移動中に、まずサブ領域506内の作業待ちグリッド及び未知グリッドを全て巡回した後、最も遅い設定時間を有する仮想障害物境界54を削除する。このとき、仮想障害物境界54の位置に障害物は存在しないため、ロボットは、サブ領域506からサブ領域505へ移動して、サブ領域505内の作業待ちグリッド及び未知グリッドを巡回することができ、巡回完了後に、仮想障害物境界53及び52を順に削除し、サブ領域504、503内の作業待ちグリッド及び未知グリッドを順に巡回する。
【0042】
従来技術では、
図14に示すように、サブ領域501からサブ領域502へのロボットの移動中に、仮想障害物境界が設定されていないため、ロボットは、後続の移動中に、サブ領域502内の作業待ちグリッド及び未知グリッドを全て巡回することなく、サブ領域502からサブ領域501に戻ってしまう。それにより、サブ領域501内の作業待ちグリッド及び未知グリッドを巡回した後、ロボットはサブ領域502内に戻る必要があり、作業効率が低く、時間がかかる。
【0043】
図14に示すような従来技術と比較して、本発明のロボットの移動制御方法では、設定された仮想障害物境界が作業待ち領域を少なくとも2つのサブ領域に分割することによって、1つのサブ領域内の作業待ちグリッド及び未知グリッドを巡回した後、他のサブ領域内の作業待ちグリッド及び未知グリッドを巡回するようにロボットを制御する。ロボットの作業効率が効果的に向上し、作業時間が節約される。
【0044】
ステップS1413では、ロボットの移動中に、少なくとも2つのサブ領域を連通する作業済みグリッド及び/又は作業待ちグリッドの存在を発見すると、仮想障害物境界を削除する。
【0045】
具体的には、ステップS11〜S13からわかるように、仮想障害物境界は、ロボットが作業済み領域から未作業領域へ移動する過程に設定するものである。即ち、仮想障害物境界が最初に設定されるとき、仮想障害物境界の両側のサブ領域は、作業済みグリッド及び/又は作業待ちグリッドを介して連通することができない。ロボットの移動中に、グリッドの状態は変化して、
図15に示すように、2つのサブ領域507、508は作業済みグリッド及び/又は作業待ちグリッドを介して連通され、このとき、仮想障害物境界56は無効になり、ロボットはこの仮想障害物境界56を削除して、記憶スペースを節約する。
【0046】
上記実施例では、ロボットの移動方向又は移動方向に垂直な方向に沿って、ロボットの両側に位置する2つの隣接する障害物の位置情報を取得し、2つの隣接する障害物の間の距離を計算しており、2つの隣接する障害物の間の距離が第1の予め設定された距離以下である場合、2つの隣接する障害物の間に仮想障害物境界を設定し、仮想障害物境界によりロボットの移動経路を制御することによって、外部の仮想壁生成装置を使用する必要がなく、ロボット自体が仮想障害物境界を設定することができ、それによりコストを効果的に節約する。設定された仮想障害物境界は、作業待ち領域を少なくとも2つのサブ領域に分割する。それにより、ロボットは、1つのサブ領域内の作業待ちグリッド及び未知グリッドを巡回した後、他のサブ領域内の作業待ちグリッド及び未知グリッドを巡回する。ロボットの作業効率が効果的に向上し、作業時間が節約される。
【0047】
図16を参照すると、
図16は本発明のロボットの第1実施形態の構造模式図である。
図16に示すように、本発明のロボット60は、順に接続された位置取得モジュール601と、距離判断モジュール602と、境界設定モジュール603と、移動制御モジュール604とを含む。
【0048】
ロボット60はロボット掃除機であってもよいし、他の種類のロボットであってもよく、ここでは特に限定されない。
【0049】
位置取得モジュール601は、ロボット60の移動方向又は移動方向に垂直な方向に沿って、ロボット60の両側に位置する2つの隣接する障害物の位置情報を取得し、2つの隣接する障害物の間の距離を計算するために使用される。
具体的には、一適用例では、ロボット60は、センサーにより、その移動方向又は移動方向に垂直な方向におけるロボット60の両側に位置する2つの隣接する障害物の位置情報を取得し、2つの隣接する障害物の間の距離を計算し、その距離を距離判断モジュール602に送信する。
【0050】
距離判断モジュール602は、2つの隣接する障害物の間の距離が第1の予め設定された距離以下であるか否かを判断するために使用される。
具体的には、第1の予め設定された距離は、ロボット60によって予め設定された第1距離閾値であり、その値は具体的な需要に応じて設定されてもよく、ここでは特に限定されない。距離判断モジュール602は、位置取得モジュール601から送信された2つの隣接する障害物の間の距離を受信し、距離が第1の予め設定された距離以下であるか否かを判断し、判断結果を境界設定モジュール603に送信する。
【0051】
境界設定モジュール603は、2つの隣接する障害物の間の距離が第1の予め設定された距離以下である場合、2つの隣接する障害物の間に仮想障害物境界を設定するために使用される。
具体的には、境界設定モジュール603は、距離判断モジュール602の判断結果を受信する。判断結果として、距離が第1の予め設定された距離以下である場合、ロボット60は、境界設定モジュール603により、2つの隣接する障害物の間に仮想障害物境界を設定する。
【0052】
移動制御モジュール604は、仮想障害物境界によりロボット60の移動経路を制御するために使用される。
【0053】
具体的に、1つの適用例では、仮想障害物境界を設定した後、ロボット60は、後続の移動中に、仮想障害物境界の位置に障害物があると判定する。ロボット60は、その仮想障害物境界を越えることができないように、ロボット60の移動経路を制御する。
【0054】
上記実施例では、ロボットは、ロボットの移動方向又は移動方向に垂直な方向に沿って、ロボットの両側に位置する2つの隣接する障害物の位置情報を取得し、2つの隣接する障害物の間の距離を計算しており、2つの隣接する障害物の間の距離が第1の予め設定された距離以下である場合、2つの隣接する障害物の間に仮想障害物境界を設定し、仮想障害物境界によりロボットの移動経路を制御することによって、外部の仮想壁生成装置を使用する必要がなく、ロボット自体が仮想障害物境界を設定することができ、それによりコストを効果的に節約する。
【0055】
図17を参照すると、
図17は本発明のロボットの第2実施形態の構造模式図である。
図17に示すように、本発明のロボット70は、バスを介して接続されたセンサー701とプロセッサー702を含む。
【0056】
ロボット60はロボット掃除機であってもよいし、他の種類のロボットであってもよく、ここでは特に限定されない。
【0057】
センサー701は、ロボットの移動方向又は移動方向に垂直な方向に沿って、ロボットの両側に位置する2つの隣接する障害物の位置情報を取得するために使用される。
具体的には、センサー701は距離センサーであってもよい。ロボット70は、センサー701を介してその移動方向又は移動方向に垂直な方向におけるロボット70の両側の2つの隣接する障害物の位置情報を取得することができる。センサー701は、ロボット70の両側の2つの隣接する障害物の位置情報を取得できれば、他の種類のセンサーであってもよく、ここでは特に限定されない。
【0058】
プロセッサー702はロボットの移動を制御する。プロセッサー702は、CPU(Central Processing Unit、中央処理装置)とも呼ばれる。プロセッサー702は、信号処理機能を有する集積回路チップであってもよい。プロセッサー702は、汎用プロセッサー、デジタルシグナルプロセッサー(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又は他のプログラマブルロジックデバイス、ディスクリートゲート若しくはトランジスタロジックデバイス、 ディスクリートハードウェアコンポーネントであってもよい。汎用プロセッサーはマイクロプロセッサーであってもよいし、又はプロセッサーは任意の従来のプロセッサーなどであってもよい。
【0059】
ロボット70はメモリ(図に示せず)を含んでもよい。メモリは、例えば、ロボット70の両側の2つの隣接する障害物の位置情報及び設定された仮想障害物境界の位置情報など、プロセッサー702の作動に必要とする命令及びデータを記憶するために使用される。
【0060】
プロセッサー702は、2つの隣接する障害物の間の距離を計算し、2つの隣接する障害物の間の距離が第1の予め設定された距離以下であるか否かを判断し、2つの隣接する障害物の間の距離が第1の予め設定された距離以下である場合、2つの隣接する障害物の間に仮想障害物境界を設定し、仮想障害物境界によりロボットの移動経路を制御するために使用される。
【0061】
第1の予め設定された距離は、ロボット70によって予め設定された第1距離閾値であり、その値は具体的な需要に応じて設定されてもよく、ここでは特に限定されない。
【0062】
具体的には、一適用例では、プロセッサー702は、センサー701により得られたロボット70の両側の2つの隣接する障害物の位置情報を取得し、2つの隣接する障害物の間の距離を計算し、この距離が第1の予め設定された距離以下であるか否かを判断しており、距離が第1の予め設定された距離以下である場合、2つの隣接する障害物の間に仮想障害物境界を設定する。そして、プロセッサー702は、仮想障害物境界に障害物があり、ロボット70がその仮想障害物境界を越えることができないようにして、ロボット70の移動経路を制御する。当然のことながら、他の適用例では、プロセッサー702は、本発明のロボットの移動制御方法の一実施形態における他のステップを実行してもよく、ここでは特に限定しない。
【0063】
以上の説明は本発明に係る実施形態に過ぎず、本発明の保護範囲を制限するものではない。本発明の明細書及び添付図面によって作成したすべての同等構造又は同等フローの変更を、直接又はの間接的に他の関連する技術分野に実施することは、いずれも同じ理由により本発明の保護範囲内に含まれるべきである。