(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-15
(45)【発行日】2024-05-23
(54)【発明の名称】障害物回避終了の判断方法、障害物回避制御方法、チップ及びロボット
(51)【国際特許分類】
G05D 1/628 20240101AFI20240516BHJP
G01C 21/36 20060101ALI20240516BHJP
G05D 1/43 20240101ALI20240516BHJP
G05D 1/646 20240101ALI20240516BHJP
G08G 1/16 20060101ALI20240516BHJP
【FI】
G05D1/628
G01C21/36
G05D1/43
G05D1/646
G08G1/16 C
(21)【出願番号】P 2022539273
(86)(22)【出願日】2020-11-24
(86)【国際出願番号】 CN2020131189
(87)【国際公開番号】W WO2022000960
(87)【国際公開日】2022-01-06
【審査請求日】2022-06-24
(31)【優先権主張番号】202010614372.9
(32)【優先日】2020-06-30
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520347351
【氏名又は名称】珠海一微半導体股▲ふん▼有限公司
【氏名又は名称原語表記】AMICRO SEMICONDUCTOR CO.,LTD.
【住所又は居所原語表記】Room 2706,3000 Huandao East Road,Hengqin New District,Zhuhai,Guangdong 519000(CN)
(74)【代理人】
【識別番号】100142365
【氏名又は名称】白井 宏紀
(72)【発明者】
【氏名】李 明
【審査官】渡邊 捷太郎
(56)【参考文献】
【文献】特開2013-257743(JP,A)
【文献】特開2004-042148(JP,A)
【文献】特開2007-272677(JP,A)
【文献】特開2007-179394(JP,A)
【文献】特開2011-034518(JP,A)
【文献】米国特許出願公開第2017/0120448(US,A1)
【文献】特開2017-151687(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/20 ー 1/87
G01C 21/36
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
ロボットが予め計画された最速縁沿い予測経路に従って縁沿い走行をする場合、予め設定されたナビゲーション経路から案内条件を満たす第2の所定方向転換点集合を選択するステップであって、ナビゲーション経路は、ロボットがナビゲーションを起動する前に設定される経路であり、最速縁沿い予測経路は、ロボットがナビゲーション経路に基づいて走行をしている過程で障害物への衝突により計画して選択する経路であるステップと、
案内条件を満たす第2の所定方向転換点集合から1つの最適な方向転換点を取得するステップであって、当該最適な方向転換点は、案内条件を満たす第2の所定方向転換点集合の全ての方向転換点のうちの、ロボットの現在位置との距離が障害物回避判定閾値に最も近い方向転換点であり、前記方向転換点はグリッドマップにおける複数の線分が交差する点であって、且つ前記ナビゲーション経路上の点であるステップと、
前記グリッドマップにおいて当該最適な方向転換点とロボットの現在位置とを結ぶ線分に障害物点がマークされているか否かを判断し、そうであれば、ロボット現在の障害物回避が終了していないと決定し、そうでなければ、ロボット現在の障害物回避が終了したと決定し、前記障害物点は、グリッドマップに予めマークされた点であるステップとを含み、
ロボットが予め計画された最速縁沿い予測経路に従って縁沿い走行をする過程で、所定縁沿い時間内にロボットの縁沿い回転角度及び縁沿い走行距離が、対応する限定条件を満たすか否かを判断し、そうであれば、ロボットが同じ位置に閉じ込められていないと決定し、さらにロボット現在の障害物回避が終了していないと決定し、そうでなければ、ロボットが同じ位置に閉じ込められたと決定し、さらにロボット現在の障害物回避が終了したと決定するステップをさらに含み、
所定縁沿い時間内にロボットの縁沿い回転角度及び縁沿い走行距離が、対応する限定条件を満たすか否かを判断し、そうであれば、ロボットが同じ位置に閉じ込められていないと決定し、そうでなければ、ロボットが同じ位置に閉じ込められたと決定する前記方法は、具体的には、
ロボットの縁沿い走行時間を計時して前記所定縁沿い時間に達すると、ロボットの縁沿い回転角度が所定最大回転角度以下であると判断し、ロボットの縁沿い走行距離が所定最大縁沿い距離以下であると判断する場合、ロボットが同じ位置に閉じ込められていないと決定し、さらにロボット現在の障害物回避が終了していないと決定するステップと、
ロボットの縁沿い走行時間を計時して前記所定縁沿い時間以上となると、ロボットの縁沿い回転角度が所定最大回転角より大きいと判断するか、又はロボットの縁沿い走行距離が所定最大縁沿い距離より大きいと判断する場合、ロボットが同じ位置に閉じ込められたと決定し、さらにロボット現在の障害物回避が終了したと決定するステップとを含み、
ロボットの縁沿い回転角度は、ロボットがタイミングで読み取ったジャイロスコープの角度増分を加算した結果であり、
前記最速縁沿い予測経路の計画方法は、
まず、ロボットの障害物回避に用いられる縁沿い予測経路を計画し、予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合を選択するステップであって、ロボットには、方向転換点で結ばれたナビゲーション経路が予め設定され、これらの方向転換点は、ロボットが最終的なナビゲーション目標点に移動するように案内し、縁沿い予測経路は、縁沿い方向が逆である2つの縁沿い予測経路を含むステップと、
次に、各縁沿い予測経路上の全ての縁沿い動作点と、同じナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合に含まれる方向転換点との距離情報に基づいて、当該ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路を、前記最速縁沿い予測経路として選択するステップとを含み、
ロボットが計画された前記最速縁沿い予測経路を走行していない場合、予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合を選択し、
ロボットが計画された最速縁沿い予測経路で縁沿い走行をする場合、予め設定されたナビゲーション経路から案内条件を満たす第2の所定方向転換点集合を選択し、
第1の所定方向転換点集合と第2の所定方向転換点集合は、いずれも前記ナビゲーション経路上の前記案内条件を満たす方向転換点で構成され、
前記案内条件は、具体的には、
まず、前記ナビゲーション経路から1つの目標方向転換点を選択し、次に、当該目標方向転換点及び当該目標方向転換点から前記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された1つ又は2つの方向転換点には、前記最終的なナビゲーション目標点があるか否かをそれぞれ判断することにより、案内条件を満たす第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合を選択することであり、
前記ナビゲーション経路のナビゲーション進行方向は、ロボットが前記最終的なナビゲーション目標点に移動するように案内するロボットナビゲーション方向であり、前記最終的なナビゲーション目標点も前記ナビゲーション経路の終点であり、かつ前記ナビゲーション経路のうちの1つの方向転換点に属し、
前記目標方向転換点から前記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された2つの方向転換点がいずれも前記最終的なナビゲーション目標点ではないと判断する場合、案内条件を満たす第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合には、前記目標方向転換点、及び前記ナビゲーション経路において当該目標方向転換点から前記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された2つの方向転換点が含まれると決定し、
前記目標方向転換点から前記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された第1の方向転換点又は第2の方向転換点が前記最終的なナビゲーション目標点であると判断する場合、案内条件を満たす第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合には、前記ナビゲーション経路において前記目標方向転換点から前記ナビゲーション経路のナビゲーション進行方向に沿って前記最終的なナビゲーション目標点まで配列された全ての方向転換点が含まれると決定し、前記目標方向転換点及び前記最終的なナビゲーション目標点も含まれ、第1の方向転換点は、前記ナビゲーション経路のナビゲーション進行方向において前記目標方向転換点に隣接して設定され、第2の方向転換点は、前記ナビゲーション経路のナビゲーション進行方向において第1の方向転換点に隣接して設定され、
前記ナビゲーション経路から選択された目標方向転換点が前記最終的なナビゲーション目標点であると判断する場合、案内条件を満たす第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合には、前記最終的なナビゲーション目標点のみが含まれると決定する、ことを特徴とするロボットの障害物回避終了の判断方法。
【請求項2】
案内条件を満たす第2の所定方向転換点集合から1つの最適な方向転換点を取得し、当該最適な方向転換点は、案内条件を満たす第2の所定方向転換点集合の全ての方向転換点のうちの、ロボットの現在位置との距離が障害物回避判定閾値に最も近い方向転換点である前記方法は、
障害物回避判定閾値を予め設定するステップと、
案内条件を満たす第2の所定方向転換点集合のうちの各方向転換点とロボットの現在位置との距離をそれぞれ算出し、次に、これらの距離から障害物回避判定閾値をそれぞれ減算して、対応する差の絶対値を取得するステップと、
案内条件を満たす第2の所定方向転換点集合のうちの各方向転換点とロボットの現在位置との距離と、障害物回避判定閾値との差の絶対値を比較することにより、差の絶対値が最も小さいものが対応する方向転換点を前記最適な方向転換点として選択するステップであって、当該最適な方向転換点は、案内条件を満たす第2の所定方向転換点集合の全ての方向転換点のうちの、ロボットの現在位置との距離が障害物回避判定閾値に最も近い方向転換点であるステップとを含む、ことを特徴とする請求項1に記載の障害物回避終了の判断方法。
【請求項3】
当該最適な方向転換点とロボットの現在位置とを結ぶ線分に障害物がマークされているか否かを判断し、そうであれば、ロボット現在の障害物回避が終了していないと決定し、そうでなければ、ロボット現在の障害物回避が終了したと決定する前記方法は、
ロボットの現在位置と前記最適な方向転換点とを結ぶ線分において、当該線分が通過するグリッド座標には、グリッドマップに予めマークされた障害物点の座標と同じグリッド座標があるか否かを1つずつ判断し、そうであれば、ロボットの現在位置と最適な方向転換点とを結ぶ線分に障害物があると決定し、さらにロボット現在の障害物回避が終了していないと決定し、そうでなければ、ロボットの現在位置と最適な方向転換点とを結ぶ線分に障害物がないと決定し、さらにロボット現在の障害物回避が終了したと決定するステップを含む、ことを特徴とする請求項2に記載の障害物回避終了の判断方法。
【請求項4】
各縁沿い予測経路上の全ての縁沿い動作点と、同じナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合に含まれる方向転換点との距離情報に基づいて、当該ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路を選択することにより、ロボットが障害物に衝突した後、選択された当該縁沿い予測経路の縁沿い方向に走行して障害物回避を実現する前記方法は、
前記縁沿い予測経路は、左側の縁沿い予測経路及び右側の縁沿い予測経路を含み、左側の縁沿い予測経路の縁沿い方向と右側の縁沿い予測経路の縁沿い方向とは逆であり、
前記ナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合に含まれる方向転換点から左側の縁沿い予測経路上の同じ縁沿い動作点までの距離を算出し、さらに、これらの距離を加算することにより、1つの縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する左側局所距離の和を取得し、次に、前述の算出ステップを繰り返すことにより、左側の縁沿い予測経路上の各縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する左側局所距離の和を取得し、さらに、これらの左側局所距離の和を加算することにより、左側の縁沿い予測経路の、案内条件を満たす第1の所定方向転換点集合に対する左側距離の総和を取得して、左側の縁沿い予測経路の前記ナビゲーション経路に対する外れ度合いを示すステップと、
同時に、前記ナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合に含まれる方向転換点から右側の縁沿い予測経路上の同じ縁沿い動作点までの距離を算出し、さらに、これらの距離を加算することにより、1つの縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する右側局所距離の和を取得し、次に、前述の算出ステップを繰り返すことにより、右側の縁沿い予測経路上の各縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する右側局所距離の和を取得し、さらに、これらの右側局所距離の和を加算することにより、右側の縁沿い予測経路の、案内条件を満たす第1の所定方向転換点集合に対する右側距離の総和を取得して、右側の縁沿い予測経路の前記ナビゲーション経路に対する外れ度合いを示すステップと、
左側距離の総和が右側距離の総和より大きい場合、右側の縁沿い予測経路が前記ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路であると決定し、右側の縁沿い予測経路を前記最速縁沿い予測経路として選択するステップと、
右側距離の総和が左側距離の総和より大きい場合、左側の縁沿い予測経路が前記ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路であると決定し、左側の縁沿い予測経路を前記最速縁沿い予測経路として選択するステップとを含み、
右側距離の総和が小さいほど、右側の縁沿い予測経路の前記ナビゲーション経路に対する外れ度合いが小さくなり、左側距離の総和が小さいほど、左側の縁沿い予測経路の前記ナビゲーション経路に対する外れ度合いが小さくなる、
ことを特徴とする請求項1に記載の障害物回避終了の判断方法。
【請求項5】
現在計画された前記最速縁沿い予測経路に従って走行する前に、
所定時間内にロボットが位置する座標位置の変化量が距離安定閾値より大きいか否かを判断し、そうであれば、ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を計画するようにロボットを制御し、そうでなければ、ロボットが縁沿い方向を変更して、現在決定された縁沿い方向と逆の方向に沿って走行するように制御するステップをさらに含み、現在決定された縁沿い方向は、ロボットの電源投入時に予め設定された縁沿い方向と、前回選択された前記ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路の縁沿い方向とを含み、
ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を計画できないと判断する場合、現在決定された縁沿い方向と逆の方向に沿って走行するようにロボットを制御し、
距離安定閾値は、ロボットの本体直径の大きさに設定される、ことを特徴とする請求項4に記載の障害物回避終了の判断方法。
【請求項6】
予め設定されたナビゲーション経路から目標方向転換点を選択する具体的な方法は、
ロボットの現在位置を中心とし、かつロボットの現在位置との最大距離が第1の所定距離閾値であるグリッド座標で構成された方向転換点比較領域を設定するステップであって、予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合を選択する場合、ロボットの現在位置が計画された最速縁沿い予測経路に位置せず、予め設定されたナビゲーション経路から案内条件を満たす第2の所定方向転換点集合を選択する場合、ロボットの現在位置が計画された最速縁沿い予測経路に位置するステップと、
当該方向転換点比較領域に1つの前記方向転換点のみがある場合、当該前記方向転換点を前記目標方向転換点として選択するステップと、
当該方向転換点比較領域に2つ以上の前記方向転換点がある場合、ロボットの現在位置との距離が第1の所定距離閾値より小さい方向転換点から、前記ナビゲーション経路のナビゲーション進行方向に前記最終的なナビゲーション目標点に最も近い方向転換点を前記目標方向転換点として選択するステップと、
当該方向転換点比較領域に前記方向転換点がない場合、前記ナビゲーション経路のナビゲーション進行方向に沿って、前記ナビゲーション経路からロボットが新たにマークした目標方向転換点に隣接する方向転換点を、新たな目標方向転換点として選択するステップとを含み、
ロボットの現在位置と、ある前記方向転換点との距離が第2の所定距離閾値より小さい場合、ロボットの現在位置が当該前記方向転換点と重なると決定し、第2の所定距離閾値が第1の所定距離閾値より小さい、ことを特徴とする請求項1に記載の障害物回避終了の判断方法。
【請求項7】
前記ナビゲーション経路は、規則的に分布する1組の方向転換点で結ばれてなり、前記ナビゲーション経路において、前記ナビゲーション経路のナビゲーション進行方向に沿って設定された方向転換点の計画番号が順次増加し、
前記第1の所定方向転換点集合又は前記第2の所定方向転換点集合に含まれる方向転換点の計画番号が順次増加し、対応する方向転換点集合のうちの前記目標方向転換点の計画番号より小さい方向転換点をロボットがトラバースした方向転換点とし、
前記最終的なナビゲーション目標点の計画番号が最も大きいため、前記ナビゲーション経路のナビゲーション進行方向において前記最終的なナビゲーション目標点に近い方向転換点ほど、対応する計画番号が大きい、ことを特徴とする請求項6に記載の障害物回避終了の判断方法。
【請求項8】
前記ロボットの障害物回避に用いられる縁沿い予測経路の計画方法は、
ロボットが現在、障害物に衝突した後、障害物情報が予めマークされたグリッドマップに衝突点をマークするステップ1と、
現在マークされた衝突点の隣接領域から縁沿い障害物回避条件を満たすグリッドを選択し、選択されたグリッドを、ロボットが障害物の縁に沿って走行する縁沿い動作点としてマークすることにより、これらの縁沿い動作点が前記ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を構成するステップ2を含む、ことを特徴とする請求項5に記載の障害物回避終了の判断方法。
【請求項9】
前記ステップ2の具体的な方法は、
現在マークされた衝突点との距離関係が、最近距離条件を満たす障害物点を検索するステップ21と、
ステップ21で検索された障害物点の隣接領域から事前縁沿い条件を満たすグリッドを検索するステップ22と、
事前縁沿い条件を満たすグリッドの数が第2の所定グリッド数に達すると統計する場合、事前縁沿い条件を満たすこれらのグリッドから前記最適な縁沿い条件を満たすグリッドを選択して、同様に前記縁沿い障害物回避条件を満たすグリッドとするステップ23と、
ステップ23で選択された前記最適な縁沿い条件を満たすグリッドを新たな衝突点としてマークし、ロボットが障害物の縁に沿って走行する、対応する縁沿い予測経路に新たに計画された縁沿い動作点として追加し、同時に当該新たな衝突点を現在マークされた衝突点として更新し、さらに、所定障害物回避グリッド数の縁沿い動作点をマークするまで、ステップ21に戻って実行するステップ24とを含み、
前記ステップ23では、前記最適な縁沿い条件を満たすグリッドは、
前記事前縁沿い条件を満たすグリッドから選択されたロボットの中心位置との結線が障害物の縁に最も近いグリッドを含み、ロボットの中心位置は、前記縁沿い予測経路を計画する過程で変化せず、
前記ステップ23では、前記最適な縁沿い条件を満たすグリッドは、
選択されたグリッドとロボットの中心位置との結線と、現在衝突した障害物の輪郭線の接線との夾角が最も小さいグリッドを含み、或いは、該ステップで選択されたグリッドとロボットの中心位置との結線と、ロボット座標系の1つの座標軸とがなす夾角が最も小さいグリッドを含み、前記最適な縁沿い条件を満たす当該グリッドとロボットの中心位置との結線と、ロボット座標系の他の座標軸との夾角が最も大きく、
ステップ21で最近距離条件を満たす障害物点を検索できない場合、前記縁沿い予測経路を計画できないと決定し、或いは、ステップ22で事前縁沿い条件を満たすグリッドを検索できない場合、前記縁沿い予測経路を計画できないと決定する、ことを特徴とする請求項8に記載の障害物回避終了の判断方法。
【請求項10】
前記ステップ23は、具体的には、
前記事前縁沿い条件を満たすグリッドの統計数が第2の所定グリッド数に達する場合、前記事前縁沿い条件を満たすこれらのグリッドとロボットの中心位置との相対的な位置関係に基づいて、これらのグリッドからロボットの中心位置との結線が障害物の縁に最も近いグリッドを選択することにより、前記縁沿い障害物回避条件を満たすステップを含む、ことを特徴とする請求項
9に記載の障害物回避終了の判断方法。
【請求項11】
前記事前縁沿い条件を満たすグリッドとロボットの中心位置との相対的な位置関係の算出方法は、
ロボットの中心位置を原点とし、ロボットの本体の右側方向をX軸正方向とし、ロボットの現在の進行方向をY軸正方向とし、ロボット座標系を設定するステップと、
ロボット座標系において、前記最適な縁沿い条件を満たす前記各グリッドの、ロボット座標系の原点に対する座標値及び角度値をそれぞれ算出するステップとを含む、ことを特徴とする請求項
10に記載の障害物回避終了の判断方法。
【請求項12】
前記衝突点は、前衝突点、左衝突点及び右衝突点を含み、
ロボットの本体の左前部には、ロボットの進行方向の左側に衝突した障害物を検出し、ロボットが障害物の縁に沿って反時計回り方向に縁沿い走行をする場合に本体の左側に衝突した障害物を検出し、対応する方向の障害物との衝突点を左衝突点としてマークする左側衝突検出器が設置され、
ロボットの本体の右前部には、ロボットの進行方向の右側に衝突した障害物を検出し、ロボットが障害物の縁に沿って時計回り方向に縁沿い走行をする場合に本体の右側に衝突した障害物を検出し、対応する方向の障害物との衝突点を右衝突点としてマークする右側衝突検出器が設置され、
左側衝突検出器及び右側衝突検出器は、ロボットの本体の左右両側に対称的に設置され、ロボットの正面が障害物に衝突した場合、左側衝突検出器及び右側衝突検出器が同時にトリガされて検出を行い、対応する方向の障害物との衝突点を前衝突点としてマークすることにより、ロボットが同じ位置でマークした前衝突点、左衝突点及び右衝突点は、いずれもロボットの正面に衝突した障害物の輪郭線の接線に位置し、障害物の輪郭線は、グリッドマップにマークして形成される、ことを特徴とする請求項
11に記載の障害物回避終了の判断方法。
【請求項13】
前記事前縁沿い条件を満たすこれらのグリッドとロボットの中心位置との相対的な位置関係に基づいて、これらのグリッドからロボットの中心位置との結線が障害物の縁に最も近いグリッドを選択する前記方法は、
前記ステップ1で現在マークされた衝突点が前記左衝突点である場合、ロボットの現在位置に対して障害物の縁に沿って反時計回りに分布し、かつ前記ロボットの現在位置に対する角度値が最も大きい前記事前縁沿い条件を満たすグリッドを、前記最適な縁沿い条件を満たすグリッドとして選択することにより、前記最適な縁沿い条件を満たすグリッドを前記右側の縁沿い予測経路に結び、さらに、ロボットの基準縁沿い方向が反時計回り方向であると決定するステップと、
前記ステップ1で現在マークされた衝突点が前記右衝突点である場合、ロボットの現在位置に対して障害物の縁に沿って時計回りに分布し、かつ前記ロボットの現在位置に対する角度値が最も小さい前記事前縁沿い条件を満たすグリッドを、前記最適な縁沿い条件を満たすグリッドとして選択することにより、前記最適な縁沿い条件を満たすグリッドを前記左側の縁沿い予測経路に結び、さらに、ロボットの基準縁沿い方向が時計回り方向であると決定するステップとを含む、ことを特徴とする請求項
12に記載の障害物回避終了の判断方法。
【請求項14】
前記ステップ21では、前記最近距離条件を満たす障害物点は、第1の所定検索領域内で検索された、前記ステップ1で現在マークされた衝突点に最も近く、かつ衝突点としてマークされていない障害物点を含み、第1の所定検索領域は、前記ステップ1で現在マークされた衝突点を中心として設定された、前記ステップ1で現在マークされた衝突点との最大距離が第1の所定グリッド数であるグリッド領域であり、
前記ステップ24を実行しない前に、前記ステップ1で現在マークされた衝突点は、ロボットが前記ステップ1を実行することにより、障害物点が予めマークされたグリッドマップにマークされた第1の衝突点であり、
前記ステップ24を実行した後、前記ステップ1で現在マークされた衝突点は、ロボットが新たに実行した前記ステップ24でマークされた新たな衝突点である、ことを特徴とする請求項
9又は
13に記載の障害物回避終了の判断方法。
【請求項15】
前記ステップ22と前記ステップ23を実行する間に、
前記事前縁沿い条件を満たすグリッドを統計するたびに、前記事前縁沿い条件を満たす当該グリッドとロボットの中心位置との相対的な位置関係を算出するステップをさらに含む、ことを特徴とする請求項
14に記載の障害物回避終了の判断方法。
【請求項16】
前記ステップ22では、前記事前縁沿い条件を満たすグリッドは、
前記ステップ21で検索された障害物点の隣接領域の8つのグリッドから選択された、前記障害物点及び前記ステップ24で計画された縁沿い動作点以外のロボットがトラバースしてマークしたグリッドを含む、ことを特徴とする請求項
15に記載の障害物回避終了の判断方法。
【請求項17】
請求項1~
16のいずれか一項に記載の障害物回避終了の判断方法を実行するようにロボットを制御するステップと、
ロボット現在の障害物回避が終了したと決定する場合、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をすることを停止するように制御して障害物回避を終了するステップと、
ロボット現在の障害物回避が終了していないと決定する場合、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をするように制御し、同時に前記障害物回避終了の判断方法を実行し続けるステップとを含む、ことを特徴とするロボットの障害物回避制御方法。
【請求項18】
ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をすることを停止した後、ロボットが予め設定されたナビゲーション経路に従って走行するように制御し、ロボットが障害物に衝突したことを検出した後、前記最速縁沿い予測経路を計画し、次に前記障害物回避終了の判断方法に戻って実行し、ロボットが前記最終的なナビゲーション目標点に移動するまで、これを繰り返すステップをさらに含む、ことを特徴とする請求項
17に記載のロボットの障害物回避制御方法。
【請求項19】
ロボットが予め計画された最速縁沿い予測経路に従って縁沿い走行をする過程で、所定縁沿い時間内にロボットの縁沿い回転角度及び縁沿い走行距離が、対応する限定条件を満たすと判断する場合、ロボットが前記最速縁沿い予測経路に従って縁沿い走行をし続けるように制御し、そうでなければ、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をすることを停止するように制御して障害物回避を終了する、ことを特徴とする請求項
18に記載のロボットの障害物回避制御方法。
【請求項20】
プログラムコードが記憶されているチップであって、該プログラムコードは、チップにより実行される場合に請求項1~
16のいずれか一項に記載の障害物回避終了の判断方法を実現するか、又は請求項
17~19のいずれか一項に記載の障害物回避制御方法を実現する、ことを特徴とするチップ。
【請求項21】
ロボットであって、該ロボットの本体の左前部には、ロボットの進行方向の左側に衝突した障害物を検出し、ロボットが障害物の縁に沿って反時計回り方向に縁沿い走行をする場合に本体の左側に衝突した障害物を検出する左側衝突検出器が設置され、
該ロボットの本体の右前部には、ロボットの進行方向の右側に衝突した障害物を検出し、ロボットが障害物の縁に沿って時計回り方向に縁沿い走行をする場合に本体の右側に衝突した障害物を検出する右側衝突検出器が設置され、
請求項
20に記載のチップが設置され、前記チップは、それぞれ左側衝突検出器及び右側衝突検出器に接続され、ロボットは、請求項
17~19のいずれか一項に記載の障害物回避制御方法を実行するように構成される、ことを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの縁沿い障害物回避の技術分野に関し、特に、ロボットの障害物回避終了の判断方法、障害物回避制御方法、チップ及びロボットに関する。
【背景技術】
【0002】
ロボットナビゲーション制御は、ロボットがマップの1つの座標点から他の座標点まで走行するように制御することであり、一般的に、まず、マップから1つの経路を検索し、次に、目標点に到達するまで当該経路に従って走行することである。しかしながら、従来の視覚掃除ロボットにおいて、マップの精度が十分でなく、マップ上の障害物のマークが正確でなく、また、ロボットがナビゲーション経路に沿って正確に走行することができないなどの要因の影響により、ロボットが障害物の周りに走行する過程で障害物を回避できるナビゲーション方向を選択せず、逆に障害物の縁に沿って絶え間なく走行し、ロボットの縁沿い障害物回避が一定の時間経過した後、今回のナビゲーションが通過することができないか又は元のナビゲーション目標点から外れると認識し、その後、今回のナビゲーションを放棄し、ロボットの障害物回避の成功率及びナビゲーション効率を低下させる可能性がある。
【発明の概要】
【0003】
上記技術的問題を解決するために、本発明は、障害物回避終了の判断方法、障害物回避制御方法、チップ及びロボットを開示し、予め設定されたナビゲーション経路から最適な方向転換点を選択するようにロボットを制御することにより、現在の縁沿い障害物回避動作を終了する必要があるか否かを判断し、具体的な技術手段は、以下のとおりである。
【0004】
ロボットの障害物回避終了の判断方法は、ロボットが予め計画された最速縁沿い予測経路に従って縁沿い走行をする場合、予め設定されたナビゲーション経路から案内条件を満たす第2の所定方向転換点集合を選択するステップであって、ナビゲーション経路は、ロボットがナビゲーションを起動する前に設定される経路であり、最速縁沿い予測経路は、ロボットがナビゲーション中に障害物への衝突により計画して選択する経路であるステップと、案内条件を満たす第2の所定方向転換点集合から1つの最適な方向転換点を取得するステップであって、当該最適な方向転換点は、案内条件を満たす第2の所定方向転換点集合の全ての方向転換点のうちの、ロボットの現在位置との距離が障害物回避判定閾値に最も近い方向転換点であるステップと、当該最適な方向転換点とロボットの現在位置とを結ぶ線分に障害物がマークされているか否かを判断し、そうであれば、ロボット現在の障害物回避が終了していないと決定し、そうでなければ、ロボット現在の障害物回避が終了したと決定するステップとを含む。該技術手段は、ロボットが現在検出された障害物を回避したか否かを迅速に検出することにより、ロボットの縁沿い障害物回避に障害物回避終了状態の判断条件を提供し、ロボットが障害物の周りに絶え間なく縁沿い走行をすることを回避し、ロボットが障害物を回避した後にナビゲーション経路にタイムリーに切り替え、ロボットのナビゲーション効率を向上させることができる。
【0005】
さらに、案内条件を満たす第2の所定方向転換点集合から1つの最適な方向転換点を取得し、当該最適な方向転換点は、案内条件を満たす第2の所定方向転換点集合の全ての方向転換点のうちの、ロボットの現在位置との距離が障害物回避判定閾値に最も近い方向転換点である前記方法は、障害物回避判定閾値を予め設定するステップと、案内条件を満たす第2の所定方向転換点集合のうちの各方向転換点とロボットの現在位置との距離をそれぞれ算出し、次に、これらの距離から障害物回避判定閾値をそれぞれ減算して、対応する差の絶対値を取得するステップと、案内条件を満たす第2の所定方向転換点集合のうちの各方向転換点とロボットの現在位置との距離と、障害物回避判定閾値との差の絶対値を比較することにより、差の絶対値が最も小さいものが対応する方向転換点を前記最適な方向転換点として選択するステップであって、当該最適な方向転換点は、案内条件を満たす第2の所定方向転換点集合の全ての方向転換点のうちの、ロボットの現在位置との距離が障害物回避判定閾値に最も近い方向転換点であるステップとを含む。これにより、ロボットが現在位置で障害物を回避したか否かをより正確に判断することができる。
【0006】
さらに、当該最適な方向転換点とロボットの現在位置とを結ぶ線分に障害物がマークされているか否かを判断し、そうであれば、ロボット現在の障害物回避が終了していないと決定し、そうでなければ、ロボットの障害物回避が終了したと決定する前記方法は、ロボットの現在位置と前記最適な方向転換点とを結ぶ線分において、当該線分が通過するグリッド座標には、グリッドマップに予めマークされた障害物点の座標と同じグリッド座標があるか否かを1つずつ判断し、そうであれば、ロボットの現在位置と最適な方向転換点とを結ぶ線分に障害物があると決定し、さらにロボット現在の障害物回避が終了していないと決定し、そうでなければ、ロボットの現在位置と最適な方向転換点とを結ぶ線分に障害物がないと決定し、さらにロボット現在の障害物回避が終了したと決定するステップを含む。該技術手段は、ロボットの現在位置からナビゲーション経路の最適な方向転換点に向かう方向に障害物があるか否かを判断し、もしなければ、ロボットのその後のナビゲーション過程で検出された障害物がより少ないことを意味し、これにより、ロボットにナビゲーションを速めることを実現できる障害物回避時間、すなわち、この判断方法によって決定された障害物回避終了状態の時間を提供する。
【0007】
さらに、前記障害物回避終了の判断方法は、ロボットが予め計画された最速縁沿い予測経路に従って縁沿い走行をする過程で所定縁沿い時間内にロボットの縁沿い回転角度及び縁沿い走行距離が、対応する限定条件を満たすか否かを判断し、そうであれば、ロボットが同じ位置に閉じ込められていないと決定し、さらにロボット現在の障害物回避が終了していないと決定し、そうでなければ、ロボットが同じ位置に閉じ込められたと決定し、さらにロボット現在の障害物回避が終了したと決定するステップをさらに含む。該技術手段は、ロボットが障害物を回避してナビゲーションを継続する条件を開示し、ロボットが閉じ込められた異常状態を早期に終了することに役立つ。
【0008】
さらに、所定縁沿い時間内にロボットの縁沿い回転角度及び縁沿い走行距離が、対応する限定条件を満たすか否かを判断し、そうであれば、ロボットが同じ位置に閉じ込められていないと決定し、そうでなければ、ロボットが同じ位置に閉じ込められたと決定する前記方法は、具体的には、ロボットの縁沿い走行時間を計時して前記所定縁沿い時間に達すると、ロボットの縁沿い回転角度が所定最大回転角度以下であると判断し、ロボットの縁沿い走行距離が所定最大縁沿い距離以下であると判断する場合、ロボットが同じ位置に閉じ込められていないと決定し、さらにロボット現在の障害物回避が終了していないと決定するステップと、ロボットの縁沿い走行時間を計時して前記所定縁沿い時間以上となると、ロボットの縁沿い回転角度が所定最大回転角より大きいと判断するか、又はロボットの縁沿い走行距離が所定最大縁沿い距離より大きいと判断する場合、ロボットが同じ位置に閉じ込められたと決定し、さらにロボット現在の障害物回避が終了したと決定するステップとを含み、ロボットの縁沿い回転角度は、ロボットがタイミングで読み取ったジャイロスコープの角度増分を加算した結果である。該技術手段は、ロボットが縁沿い障害物回避の場合に収集した縁沿い時間、縁沿い距離及び縁沿い角度を利用してロボットが閉じ込められるか否かを判断し、ロボットの障害物回避終了状態を早期に宣言し、ロボットに現在の最速縁沿い予測経路を早期に放棄することを選択させる。ロボットが長時間に縁沿い走行をするため、ナビゲーション経路から外れすぎることを回避する。
【0009】
さらに、前記最速縁沿い予測経路の計画方法は、まず、ロボットの障害物回避に用いられる縁沿い予測経路を計画し、予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合を選択するステップであって、ロボットには、方向転換点で結ばれたナビゲーション経路が予め設定され、これらの方向転換点は、ロボットが最終的なナビゲーション目標点に移動するように案内し、縁沿い予測経路は、縁沿い方向が逆である2つの縁沿い予測経路を含むステップと、次に、各縁沿い予測経路上の全ての縁沿い動作点と、同じナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合に含まれる方向転換点との距離情報に基づいて、当該ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路を、前記最速縁沿い予測経路として選択するステップとを含む。ロボットが障害物に衝突した後、選択された当該縁沿い予測経路の縁沿い方向に走行して迅速な障害物回避を実現し、ロボットの障害物回避過程における衝突回数を減少させ、ロボットが前記ナビゲーション経路又は最終的なナビゲーション目標点から外れすぎることを回避し、ロボットの効率的な縁沿い障害物回避機能を実現し、ロボットのインテリジェント化レベルを向上させる。
【0010】
さらに、各縁沿い予測経路上の全ての縁沿い動作点と、同じナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合に含まれる方向転換点との距離情報に基づいて、当該ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路を選択することにより、ロボットが障害物に衝突した後、選択された当該縁沿い予測経路の縁沿い方向に走行して迅速な障害物回避を実現する前記方法は、前記ナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合に含まれる方向転換点から左側の縁沿い予測経路上の同じ縁沿い動作点までの距離を算出し、さらに、これらの距離を加算することにより、1つの縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する左側局所距離の和を取得し、次に、前述の算出ステップを繰り返すことにより、左側の縁沿い予測経路上の各縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する左側局所距離の和を取得し、さらに、これらの左側局所距離の和を加算することにより、左側の縁沿い予測経路の、案内条件を満たす第1の所定方向転換点集合に対する左側距離の総和を取得して、左側の縁沿い予測経路の前記ナビゲーション経路に対する外れ度合いを示すステップと、同時に、前記ナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合に含まれる方向転換点から右側の縁沿い予測経路上の同じ縁沿い動作点までの距離を算出し、さらに、これらの距離を加算することにより、1つの縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する右側局所距離の和を取得し、次に、前述の算出ステップを繰り返すことにより、右側の縁沿い予測経路上の各縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する右側局所距離の和を取得し、さらに、これらの右側局所距離の和を加算することにより、右側の縁沿い予測経路の、案内条件を満たす第1の所定方向転換点集合に対する右側距離の総和を取得して、右側の縁沿い予測経路の前記ナビゲーション経路に対する外れ度合いを示すステップと、左側距離の総和が右側距離の総和より大きい場合、右側の縁沿い予測経路が前記ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路であると決定し、右側の縁沿い予測経路を前記最速縁沿い予測経路として選択するステップと、右側距離の総和が左側距離の総和より大きい場合、左側の縁沿い予測経路が前記ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路であると決定し、左側の縁沿い予測経路を前記最速縁沿い予測経路として選択するステップとを含み、右側距離の総和が小さいほど、右側の縁沿い予測経路の前記ナビゲーション経路に対する外れ度合いが小さくなり、左側距離の総和が小さいほど、左側の縁沿い予測経路の前記ナビゲーション経路に対する外れ度合いが小さくなり、前記縁沿い予測経路は、左側の縁沿い予測経路及び右側の縁沿い予測経路を含み、左側の縁沿い予測経路の縁沿い方向と右側の縁沿い予測経路の縁沿い方向とは逆である。該技術手段は、縁沿い予測経路とナビゲーション経路における特定の経路ノードとの間の距離の和の値を比較することにより、縁沿い予測経路とナビゲーション経路との相異度を決定し、さらに相異度が小さい縁沿い予測経路に対応する縁沿い方向をロボットの縁沿い障害物回避の最適な方向として選択し、ロボットが障害物回避過程で予め設定されたナビゲーション目標(すなわち、上記ナビゲーション経路の最終的なナビゲーション目標点)から外れすぎることを回避する。
【0011】
さらに、現在計画された前記最速縁沿い予測経路に従って走行する前に、所定時間内にロボットが位置する座標位置の変化量が距離安定閾値より大きいか否かを判断し、そうであれば、ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を計画するようにロボットを制御し、そうでなければ、ロボットが縁沿い方向を変更して、現在決定された縁沿い方向と逆の方向に沿って走行するように制御するステップをさらに含み、現在決定された縁沿い方向は、ロボットの電源投入時に予め設定された縁沿い方向と、前回選択された前記ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路の縁沿い方向とを含み、ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を計画できないと判断する場合、ロボットが現在決定された縁沿い方向と逆の方向に沿って走行するように制御し、距離安定閾値は、ロボットの本体直径の大きさに設定される。ロボットが縁沿い障害物回避の失敗により同じ位置に閉じ込められることを回避し、ロボットが前記縁沿い予測経路を計画できないため、無効な縁沿い障害物回避動作を行うことにより、ロボットが間違った縁沿い方向に向かって遠くなることを回避する。
【0012】
さらに、ロボットが計画された前記最速縁沿い予測経路を走行していない場合、予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合を選択し、ロボットが計画された最速縁沿い予測経路で縁沿い走行をする場合、予め設定されたナビゲーション経路から案内条件を満たす第2の所定方向転換点集合を選択し、第1の所定方向転換点集合と第2の所定方向転換点集合は、いずれも前記ナビゲーション経路上の前記案内条件を満たす方向転換点で構成される。案内条件を満たす所定方向転換点の選択アルゴリズムの利用率を向上させる。
【0013】
さらに、前記案内条件は、具体的には、まず、前記ナビゲーション経路から1つの目標方向転換点を選択し、次に、当該目標方向転換点及び当該目標方向転換点から前記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された1つ又は2つの方向転換点には、前記最終的なナビゲーション目標点があるか否かをそれぞれ判断することにより、案内条件を満たす第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合を選択することであり、前記ナビゲーション経路のナビゲーション進行方向は、ロボットが前記最終的なナビゲーション目標点に移動するように案内するロボットナビゲーション方向であり、前記最終的なナビゲーション目標点も前記ナビゲーション経路の終点であり、かつ前記ナビゲーション経路のうちの1つの方向転換点に属する。該技術手段は、ロボットのナビゲーション経路に順に設定された3つの方向転換点に、前記ナビゲーション経路の終点があるか否かを判断することにより、ロボットが前記最終的なナビゲーション目標点に移動するように案内できる代表的な方向転換点を選別し、前記ナビゲーション経路と前記縁沿い予測経路との相異度を比較することもできる。
【0014】
さらに、前記目標方向転換点から前記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された2つの方向転換点がいずれも前記最終的なナビゲーション目標点ではないと判断する場合、案内条件を満たす第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合には、前記目標方向転換点、及び前記ナビゲーション経路において当該目標方向転換点から前記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された2つの方向転換点が含まれると決定し、前記目標方向転換点から前記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された第1の方向転換点又は第2の方向転換点が前記最終的なナビゲーション目標点であると判断する場合、案内条件を満たす第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合には、前記ナビゲーション経路において前記目標方向転換点から前記ナビゲーション経路のナビゲーション進行方向に沿って前記最終的なナビゲーション目標点まで配列された全ての方向転換点が含まれると決定し、前記目標方向転換点及び前記最終的なナビゲーション目標点も含まれ、第1の方向転換点は、前記ナビゲーション経路のナビゲーション進行方向において前記目標方向転換点に隣接して設定され、第2の方向転換点は、前記ナビゲーション経路のナビゲーション進行方向において第1の方向転換点に隣接して設定され、前記ナビゲーション経路から選択された目標方向転換点が前記最終的なナビゲーション目標点であると判断する場合、案内条件を満たす第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合には、前記最終的なナビゲーション目標点のみが含まれると決定する。該技術手段に開示された案内条件を満たす所定方向転換点は、前記ナビゲーション経路のナビゲーション方向の特徴を示すことができ、ナビゲーション経路の終点の影響要因を十分に考慮することにより、その後の縁沿い予測経路とナビゲーション経路との相異度の算出量を簡略化する。
【0015】
さらに、予め設定されたナビゲーション経路から目標方向転換点を選択する具体的な方法は、ロボットの現在位置を中心とし、かつロボットの現在位置との最大距離が第1の所定距離閾値であるグリッド座標で構成された方向転換点比較領域を設定するステップであって、予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合を選択する場合、ロボットの現在位置が計画された最速縁沿い予測経路に位置せず、予め設定されたナビゲーション経路から案内条件を満たす第2の所定方向転換点集合を選択する場合、ロボットの現在位置が計画された最速縁沿い予測経路に位置するステップと、当該方向転換点比較領域に1つの前記方向転換点のみがある場合、当該前記方向転換点を前記目標方向転換点として選択するステップと、当該方向転換点比較領域に2つ以上の前記方向転換点がある場合、ロボットの現在位置との距離が第1の所定距離閾値より小さい方向転換点から、前記ナビゲーション経路のナビゲーション進行方向に沿って前記最終的なナビゲーション目標点に最も近い方向転換点を前記目標方向転換点として選択するステップと、当該方向転換点比較領域に前記方向転換点がない場合、前記ナビゲーション経路のナビゲーション進行方向に沿って、前記ナビゲーション経路からロボットが新たにマークした目標方向転換点に隣接する方向転換点を、新たな目標方向転換点として選択するステップとを含み、ロボットの現在位置と、ある前記方向転換点との距離が第2の所定距離閾値より小さい場合、ロボットの現在位置が当該前記方向転換点と重なると決定し、第2の所定距離閾値が第1の所定距離閾値より小さい。該技術手段で選択された前記目標方向転換点は、局所的なナビゲーション領域内で、ロボットが上記ナビゲーション経路の終点方向へ移動するように案内する役割を有する。
【0016】
さらに、前記ナビゲーション経路は、規則的に分布する1組の方向転換点で結ばれてなり、前記ナビゲーション経路のナビゲーション進行方向に沿って設定された方向転換点の計画番号が順次増加し、前記第1の所定方向転換点集合又は前記第2の所定方向転換点集合に含まれる方向転換点の計画番号が順次増加し、対応する方向転換点集合のうちの前記目標方向転換点の計画番号より小さい方向転換点をロボットがトラバースした方向転換点とし、前記最終的なナビゲーション目標点の計画番号が最も大きいため、前記ナビゲーション経路のナビゲーション進行方向において前記最終的なナビゲーション目標点に近い方向転換点ほど、対応する計画番号が大きい。該技術手段は、番号付けの方式で前記ナビゲーション経路上の全ての方向転換点を整理して区別し、システムソフトウェアが方向転換点を識別処理しやすく、案内条件を満たす前記所定方向転換点を迅速に選択し、ロボットの縁沿い方向に対する選択速度を向上させる。
【0017】
さらに、前記ロボットの障害物回避に用いられる縁沿い予測経路の計画方法は、ロボットが現在、障害物に衝突した後、障害物情報が予めマークされたグリッドマップに衝突点をマークするステップ1と、現在マークされた衝突点の隣接領域から縁沿い障害物回避条件を満たすグリッドを選択し、選択されたグリッドを、ロボットが障害物の縁に沿って走行する縁沿い動作点としてマークすることにより、これらの縁沿い動作点が前記ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を構成するステップ2を含む。該技術手段は、ロボットが障害物に衝突した後、縁沿い走行をする前に、現在マークされた衝突点の隣接領域から、縁沿い障害物回避条件を保持するグリッドを見つけることにより、その後にロボットが、対応するグリッドで計画された障害物回避経路に従って縁沿い走行をし、ロボットの衝突回数を減少させ、ナビゲーション障害物回避を速める。
【0018】
さらに、前記ステップ2の具体的な方法は、現在マークされた衝突点との距離関係が、最近距離条件を満たす障害物点を検索するステップ21と、ステップ21で検索された障害物点の隣接領域から事前縁沿い条件を満たすグリッドを検索するステップ22と、事前縁沿い条件を満たすグリッドの数が第2の所定グリッド数に達すると統計する場合、これらの事前縁沿い条件を満たすグリッドから前記最適な縁沿い条件を満たすグリッドを選択して、同様に前記縁沿い障害物回避条件を満たすグリッドとするステップ23と、ステップ23で選択された前記最適な縁沿い条件を満たすグリッドを新たな衝突点としてマークし、ロボットが障害物の縁に沿って走行する、対応する縁沿い予測経路に新たに計画された縁沿い動作点として追加し、同時に当該新たな衝突点を現在マークされた衝突点として更新し、さらに、所定障害物回避グリッド数の縁沿い動作点をマークするまで、ステップ21に戻って実行するステップ24とを含み、ステップ21で最近距離条件を満たす障害物点を検索できない場合、前記縁沿い予測経路を計画できないと決定し、或いは、ステップ22で事前縁沿い条件を満たすグリッドを検索できない場合、前記縁沿い予測経路を計画できないと決定する。本技術手段は、ステップ21~ステップ24を繰り返し実行することにより、合理的なグリッド数の範囲内に、計画された上記縁沿い障害物回避条件を満たすグリッドを新たな衝突点としてマークして、ロボットが障害物に対応する側の縁の周りに走行する縁沿い予測経路を計画し、ロボットがマップ上の障害物の縁に依存して縁沿い走行経路を予測することに役立つ。
【0019】
さらに、前記ステップ23では、前記最適な縁沿い条件を満たすグリッドは、前記事前縁沿い条件を満たすグリッドから選択されたロボットの中心位置との結線が障害物の縁に最も近いグリッドを含み、ロボットの中心位置は、前記縁沿い予測経路を計画する過程で変化しない。該技術手段は、決定されたグリッドで構成された縁沿い予測経路を計画して、最大限に障害物の輪郭線に接近することを実現する。
【0020】
さらに、前記ステップ23は、具体的には、前記事前縁沿い条件を満たすグリッドの統計数が第2の所定グリッド数に達する場合、前記事前縁沿い条件を満たすこれらのグリッドとロボットの中心位置との相対的な位置関係に基づいて、これらのグリッドからロボットの中心位置との結線が障害物の縁に最も近いグリッドを選択することにより、前記縁沿い障害物回避条件を満たすステップを含む。該技術手段は、一定の統計数を満たす前提で、適度な長さの縁沿い予測経路を計画し、ロボットナビゲーション障害物回避の処理効率を向上させる。
【0021】
さらに、前記事前縁沿い条件を満たすグリッドとロボットの中心位置との相対的な位置関係の算出方法は、ロボットの中心位置を原点とし、ロボットの本体の右側方向をX軸正方向とし、ロボットの現在の進行方向をY軸正方向とし、ロボット座標系を設定するステップと、ロボット座標系において、前記最適な縁沿い条件を満たす前記各グリッドの、ロボット座標系の原点に対する座標値及び角度値をそれぞれ算出するステップとを含む。ロボットのローカル座標系を用いて、計画されたグリッドの座標算出に参加することにより、関連グリッドの座標算出が合理的で正確である。
【0022】
さらに、前記衝突点は、前衝突点、左衝突点及び右衝突点を含み、ロボットの本体の左前部には、ロボットの進行方向の左側に衝突した障害物を検出し、具体的には、ロボットが障害物の縁に沿って反時計回り方向に縁沿い走行をする場合に本体の左側に衝突した障害物を検出し、対応する方向の障害物との衝突点を左衝突点としてマークする左側衝突検出器が設置され、ロボットの本体の右前部には、ロボットの進行方向の右側に衝突した障害物を検出し、具体的には、ロボットが障害物の縁に沿って時計回り方向に縁沿い走行をする場合に本体の右側に衝突した障害物を検出し、対応する方向の障害物との衝突点を右衝突点としてマークする右側衝突検出器が設置され、左側衝突検出器及び右側衝突検出器は、ロボットの本体の左右両側に対称的に設置され、ロボットの正面が障害物に衝突した場合、左側衝突検出器及び右側衝突検出器が同時にトリガされて検出を行い、対応する方向の障害物との衝突点を前衝突点としてマークすることにより、ロボットが同じ位置でマークした前衝突点、左衝突点及び右衝突点は、いずれもロボットの正面に衝突した障害物の輪郭線の接線に位置し、障害物の輪郭線は、グリッドマップにマークして形成される。ロボットが検出を行い、異なる障害物の間に縁沿い走行をすることに適応する。
【0023】
さらに、前記事前縁沿い条件を満たすこれらのグリッドとロボットの中心位置との相対的な位置関係に基づいて、これらのグリッドからロボットの中心位置との結線が障害物の縁に最も近いグリッドを選択する前記方法は、前記ステップ1で現在マークされた衝突点が前記左衝突点である場合、ロボットの現在位置に対して障害物の縁に沿って反時計回りに分布し、かつ前記ロボットの現在位置に対する角度値が最も大きい前記事前縁沿い条件を満たすグリッドを、前記最適な縁沿い条件を満たすグリッドとして選択することにより、前記最適な縁沿い条件を満たすグリッドを前記右側の縁沿い予測経路に結び、さらに、ロボットの基準縁沿い方向が反時計回り方向であると決定するステップと、前記ステップ1で現在マークされた衝突点が前記右衝突点である場合、ロボットの現在位置に対して障害物の縁に沿って時計回りに分布し、かつ前記ロボットの現在位置に対する角度値が最も小さい前記事前縁沿い条件を満たすグリッドを、前記最適な縁沿い条件を満たすグリッドとして選択することにより、前記最適な縁沿い条件を満たすグリッドを前記左側の縁沿い予測経路に結び、さらに、ロボットの基準縁沿い方向が時計回り方向であると決定するステップとを含む。該技術手段は、ロボットが最も正確な縁沿い方向条件で障害物回避を行うことをサポートする縁沿い予測経路、及びロボットが障害物の縁に沿って時計回り又は反時計回りに移動することをサポートするグリッドを計画することを実現し、障害物の形状特徴に応じてロボットの縁沿い走行経路を計画することを実現し、ロボットの障害物回避過程における衝突回数を効果的に減少させ、ロボットの障害物回避の速度を速める。
【0024】
さらに、前記ステップ21では、前記最近距離条件を満たす障害物点は、第1の所定検索領域内で検索された、前記ステップ1で現在マークされた衝突点に最も近く、かつ衝突点としてマークされていない障害物点を含み、第1の所定検索領域は、前記ステップ1で現在マークされた衝突点を中心として設定された、前記ステップ1で現在マークされた衝突点との最大距離が第1の所定グリッド数であるグリッド領域であり、前記ステップ24を実行しない前に、前記ステップ1で現在マークされた衝突点は、ロボットが前記ステップ1を実行することにより、障害物点が予めマークされたグリッドマップにマークされた第1の衝突点であり、前記ステップ24を実行した後、前記ステップ1で現在マークされた衝突点は、ロボットが新たに実行した前記ステップ24でマークされた新たな衝突点である。該技術手段により選択された障害物点は、障害物とロボットとの衝突箇所の輪郭形状を記録し、ロボットがその後の縁沿い過程で障害物から外れすぎることを回避することができる。
【0025】
さらに、前記ステップ22と前記ステップ23を実行する間に、前記事前縁沿い条件を満たすグリッドを統計するたびに、前記事前縁沿い条件を満たす当該グリッドとロボットの中心位置との相対的な位置関係を算出するステップをさらに含む。該技術手段は、その後のステップでロボットが正確な縁沿い方向に走行するように案内するグリッドを迅速に選別する。
【0026】
さらに、前記ステップ22では、前記事前縁沿い条件を満たすグリッドは、前記ステップ21で検索された障害物点の隣接領域の8つのグリッドから選択された、前記障害物点及び前記ステップ24で計画された縁沿い動作点以外のロボットがトラバースしてマークしたグリッドを含む。ロボットが事前縁沿い条件を満たすグリッドで通行可能であることを確保し、ロボットの縁沿い走行領域の重複率を減少させる。
【0027】
ロボットの障害物回避制御方法は、前記障害物回避終了の判断方法を実行するようにロボットを制御するステップと、ロボット現在の障害物回避が終了したと決定する場合、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をすることを停止するように制御して障害物回避を終了するステップと、ロボット現在の障害物回避が終了していないと決定する場合、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をするように制御し、同時に前記障害物回避終了の判断方法を実行し続けるステップとを含む。従来技術に比べて、ロボットが障害物の周りに絶え間なく縁沿い走行をすることを回避し、ロボットが障害物を回避した後にナビゲーション経路にタイムリーに切り替え、ロボットのナビゲーション効率を向上させることができる。
【0028】
さらに、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をすることを停止した後、ロボットが予め設定されたナビゲーション経路に従って走行するように制御し、ロボットが障害物に衝突したことを検出した後、前記最速縁沿い予測経路を計画して選択し、次に前記障害物回避終了の判断方法に戻って実行し、ロボットが前記最終的なナビゲーション目標点に移動するまで、これを繰り返すステップをさらに含む。ロボットナビゲーション作業の効率を向上させる。
【0029】
さらに、ロボットが予め計画された最速縁沿い予測経路に従って縁沿い走行をする過程で、所定縁沿い時間内にロボットの縁沿い回転角度及び縁沿い走行距離が、対応する限定条件を満たすと判断する場合、ロボットが前記最速縁沿い予測経路に従って縁沿い走行をし続けるように制御し、そうでなければ、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をすることを停止するように制御して障害物回避を終了する。該技術手段は、ロボットの縁沿い障害物回避動作を早期に終了し、ロボットに現在の最速縁沿い予測経路を早期に放棄することを選択させる。ロボットが長時間に縁沿い走行をするため、前記ナビゲーション経路又は前記最終的なナビゲーション目標点から外れすぎることを回避する。
【0030】
プログラムコードが記憶されているチップであり、該プログラムコードは、チップにより実行される場合に前記障害物回避終了の判断方法を実現するか、又は前記障害物回避制御方法を実現する。
【0031】
ロボットであり、該ロボットの本体の左前部には、ロボットの進行方向の左側に衝突した障害物を検出し、具体的には、ロボットが障害物の縁に沿って反時計回り方向に縁沿い走行をする場合に本体の左側に衝突した障害物を検出する左側衝突検出器が設置され、該ロボットの本体の右前部には、ロボットの進行方向の右側に衝突した障害物を検出し、具体的には、ロボットが障害物の縁に沿って時計回り方向に縁沿い走行をする場合に本体の右側に衝突した障害物を検出する右側衝突検出器が設置され、該ロボットには、前記チップが設置され、前記チップは、それぞれ左側衝突検出器及び右側衝突検出器に接続され、ロボットは、前記障害物回避制御方法を実行するように構成される。
【図面の簡単な説明】
【0032】
【
図1】本発明の一実施例に開示されたロボットの障害物回避終了の判断方法の基本的な構想のフローチャートである。
【
図2】本発明の別の実施例のロボットの障害物回避終了の判断方法の具体的なステップのフローチャートである。
【発明を実施するための形態】
【0033】
以下、本発明の実施例における図面を参照しながら、本発明の実施例における技術手段を詳細に説明する。本発明の図面は、各実施例をさらに説明するために提供される。これらの図面は、本発明の開示内容の一部を形成し、主に実施例を説明するためのものであり、明細書における関連する説明と組み合わせて実施例の動作原理を説明することができる。これらの内容を参照すると、当業者は、他の可能な実施形態及び本発明の利点を理解できるべきである。図中の構成要素は、正確な縮尺で描かれておらず、類似する構成要素符号は、類似する構成要素を示すものとする。
【0034】
本発明において、「上」、「下」、「左」、「右」、「前」、「後」などの用語で示す方位又は位置関係は、図面に示す方位又は位置関係であり、本発明を説明しやすいか、又は説明を簡単にするだけに用いられ、示している装置又は部品が必ず特定の方位を有し、特定の方位構造と操作を有することを表すか又は暗示することではないことを理解されるべきであり、そのため、本発明に対する限定とみなされるべきではない。
【0035】
上記ロボットは、縁沿い走行をする過程で、異なる障害物に遭遇し、室内環境への説明を効果的に簡略化し、経路計画において合理的な対応策を提供しやすいために、室内の障害物に対して以下の処理を行ってもよい。1、障害物と壁との距離が上記ロボットの通過可能な最小距離を満たさず、かつロボットがスムーズに通過できなければ、壁寄りの障害物として処理する。2、2つの障害物の間の距離が近くて上記ロボットがスムーズに通過できない場合、両者を1つの障害物として処理することができる。3、本発明のロボットナビゲーション領域は、主に室内部屋領域であり、障害物は、室内部屋領域内の移動ロボットと衝突可能な物体であり、移動ロボットが物体に衝突する点を衝突点と定義する。
【0036】
図1に示すように、本発明の実施例は、ロボットの障害物回避終了の判断方法を開示し、以下のステップS101~ステップS105を含む。
【0037】
ステップS101では、ロボットが予め計画された最速縁沿い予測経路に従って縁沿い走行をする場合、予め設定されたナビゲーション経路から案内条件を満たす第2の所定方向転換点集合を選択し、次にステップS102に進む。ナビゲーション経路は、ロボットがナビゲーションを起動する前に設定される経路であり、最速縁沿い予測経路は、ロボットがナビゲーション中に障害物への衝突により計画して選択する経路であり、ロボットが障害物の縁に沿って走行するのに必要な計画された障害物回避縁沿い経路により、ロボットが障害物に衝突した後にナビゲーション経路に従って走行せず、縁沿いモードを起動して縁沿い障害物回避を開始し、最速縁沿い予測経路に従って現在検出された障害物の周りに縁沿い走行をし、第2の所定方向転換点集合は、上記ナビゲーション経路上の上記案内条件を満たす方向転換点で構成される。
【0038】
ステップS102では、案内条件を満たす第2の所定方向転換点集合から1つの最適な方向転換点を取得し、当該最適な方向転換点は、案内条件を満たす第2の所定方向転換点集合の全ての方向転換点のうちの、ロボットの現在位置との距離が障害物回避判定閾値に最も近い方向転換点であり、次にステップS103に進む。上記障害物回避判定閾値は、好ましくは、6つのグリッド長さであり、第2の所定方向転換点集合のうちのロボットの現在位置との距離とマッチングする方向転換点を選別することにより、当該最適な方向転換点とロボットの現在位置との結線が障害物によってカバーされた有効領域を通過することができる。
【0039】
ステップS103では、当該最適な方向転換点とロボットの現在位置とを結ぶ線分に障害物がマークされているか否かを判断し、そうであれば、ステップS104に進み、そうでなければ、ステップS105に進む。ステップS103は、実際には、グリッドマップにロボットの現在位置からステップS102で選択された最適な方向転換点までの線分に障害物点がマークされているか否かを判断し、当該障害物点は、グリッドマップに予めマークされ、その後にロボットのナビゲーション環境における障害物分布状況をマッチングして判断するものである。
【0040】
ステップS104では、ロボット現在の障害物回避が終了していないと決定し、すなわち、ステップS102で決定された最適な方向転換点とロボットの現在位置とを結ぶ線分が障害物点を通過し、ロボットの現在位置から最適な方向転換点に向かう方向に依然として障害物があるため、ロボット現在の障害物回避が終了しておらず、障害物回避の動作状態にあると決定する。
【0041】
ステップS105では、ロボット現在の障害物回避が終了したと決定し、すなわち、ステップS102で決定された最適な方向転換点とロボットの現在位置とを結ぶ線分が障害物点を通過せず、ロボットの現在位置と最適な方向転換点との線分に障害物がないため、ロボットが障害物回避終了状態に入り、ロボットの障害物回避が成功したことを決定し、この場合、ロボットが縁沿い障害物回避を終了するように制御し、ナビゲーション経路に切り替えてナビゲーション経路の終点に進行し続ける。
【0042】
前述のステップでは、ロボットが現在検出された障害物を回避したか否かを迅速に検出することにより、ロボットの縁沿い障害物回避に障害物回避終了状態の判断条件を提供し、ロボット障害物回避の動作状態をタイムリーに提示し、ロボットの縁沿い障害物回避経路及びナビゲーション経路の状況をタイムリーかつ自動的に調整することに役立ち、ロボットが障害物の周りに絶え間なく縁沿い走行をすることを回避し、ロボットが障害物を回避した後にナビゲーション経路にタイムリーに切り替え、ロボットのナビゲーション効率を向上させることができる。
【0043】
一実施例として、
図2に示すように、本発明は、ロボットの障害物回避終了の判断方法をさらに開示し、具体的には、以下のステップS201~ステップS208を含む。
【0044】
ステップS201では、ロボットに障害物回避判定閾値を予め設定し、次に、ステップS202に進む。上記障害物回避判定閾値は、好ましくは、6つのグリッドの長さであり、合理的な長さの障害物判断のための線分を選別する。
【0045】
ステップS202では、案内条件を満たす第2の所定方向転換点集合のうちの各方向転換点とロボットの現在位置との距離をそれぞれ算出し、次に、これらの距離から障害物回避判定閾値をそれぞれ減算して、対応する差の絶対値を取得し、次に、ステップS203に進む。ステップS202は、第2の所定方向転換点集合のうちの各方向転換点とロボットの現在位置との結線長さを算出し、各方向転換点に対応する結線長さと上記障害物回避判定閾値との数値差程度を取得する。
【0046】
ステップS203では、案内条件を満たす第2の所定方向転換点集合のうちの各方向転換点とロボットの現在位置との距離と、障害物回避判定閾値との差の絶対値を比較することにより、差の絶対値が最も小さいものが対応する方向転換点を上記最適な方向転換点として選択し、当該最適な方向転換点は、案内条件を満たす第2の所定方向転換点集合の全ての方向転換点のうちの、ロボットの現在位置との距離が障害物回避判定閾値に最も近い方向転換点であり、次に、ステップS204に進む。それにより、ロボットが現在位置で障害物を回避したか否かをより正確に判断する。
【0047】
ステップS204では、ロボットの現在位置と上記最適な方向転換点とを結ぶ線分において、当該線分が通過するグリッド座標には、グリッドマップに予めマークされた障害物点の座標と同じグリッド座標があるか否かを1つずつトラバースして判断し、そうであれば、ステップS205に進み、そうでなければ、ステップS207に進む。該ステップS204では、ロボットの現在位置と上記最適な方向転換点の座標を取得する上で、当該2つの座標点を端点とする線分の方程式を求め、次に、当該線分が通過するグリッド座標を算出し、さらに算出された線分上の座標点をそれぞれ予めマークされた障害物点の座標とマッチングして比較し、当該線分が通過するグリッドに障害物点があるか否かを判断することを実現する。
【0048】
ステップS205では、ステップS204で説明された線分に障害物点の座標とのマッチングに成功する座標点が1つでもあれば、当該線分が通過するグリッドに障害物点があると判断し、ロボットの現在位置と最適な方向転換点とを結ぶ線分に障害物があるか又は障害物を通過したと決定し、次に、ステップS206に進む。
【0049】
ステップS206では、ロボット現在の障害物回避が終了していないと決定し、すなわち、ロボットが依然として障害物回避動作状態にある必要があると決定する。ロボットは、その後に予め計画された最速縁沿い予測経路に沿って縁沿い走行をし、かつ上記ステップS202~ステップS205を繰り返すことにより、ロボットが最速縁沿い予測経路に沿って縁沿い走行をする過程で障害物回避終了の動作状態に入るか否かを判断し続け、すなわち、ロボットの障害物回避が成功したか否かを決定する。
【0050】
ステップS207では、ステップS204で説明された線分に障害物点の座標とのマッチングに成功する座標点が1つもなければ、当該線分が障害物点を通過しないと判断し、ロボットの現在位置と最適な方向転換点とを結ぶ線分に障害物がないか又は障害物を通過しないと決定することができ、次に、ステップS208に進む。
【0051】
ステップS208では、ロボット現在の障害物回避が終了したと決定し、すなわち、ロボット現在の障害物回避が成功し、障害物回避終了の動作状態に入ると決定する。ロボットは、予め計画された最速縁沿い予測経路に沿って縁沿い走行をし続けることなく、上記ナビゲーション経路に切り替えて、上記ナビゲーション経路の終点に移動し、ロボットは、ナビゲーション過程で新たな障害物に衝突すると、上記最速縁沿い予測経路を計画して選択し、次に、上記ステップS202~ステップS205を繰り返すことにより、ロボットが最速縁沿い予測経路に沿って縁沿い走行をする過程で障害物回避終了の動作状態に入るか否かを判断し続け、すなわち、ロボットの障害物回避が成功したか否かを決定する。
【0052】
前述のステップは、ロボットの現在位置からナビゲーション経路の最適な方向転換点に向かう方向に障害物があるか否かを判断し、もしなければ、ロボットのその後のナビゲーション過程で検出された障害物がより少ないことを意味し、また、ロボットにナビゲーションを速めることを実現できる障害物回避時間、すなわち、上記障害物回避終了の判断方法によってロボットが自律的に決定した障害物回避終了状態の時間を提供する。
【0053】
前述の実施例に基づいて、ロボットが予め計画された最速縁沿い予測経路に従って縁沿い走行をする過程で所定縁沿い時間内にロボットの縁沿い回転角度及び縁沿い走行距離が、対応する限定条件を満たすか否かを判断し、そうであれば、ロボットが同じ位置に閉じ込められず、障害物を回避する条件を備えると決定し、さらにロボット現在の障害物回避が終了していないと決定し、予め計画された最速縁沿い予測経路に従って縁沿い障害物回避を行う必要があり、そうでなければ、ロボットが同じ位置に閉じ込められたと決定し、今回の縁沿い障害物回避動作を早期に放棄する必要があり、ロボット現在の障害物回避が終了したと決定する。本実施例は、ロボットが縁沿い障害物回避過程で同じ場所で長時間往復移動するか否かを監視し、そうであれば、今回のナビゲーション中に通過できないと決定し、次に、今回計画された最速縁沿い予測経路を放棄する。本実施例は、ロボットが障害物を回避してナビゲーションを継続する条件を開示し、ロボットが閉じ込められた異常状態を早期に終了することに役立つ。
【0054】
好ましくは、所定縁沿い時間内にロボットの縁沿い回転角度及び縁沿い走行距離が、対応する限定条件を満たすか否かを判断し、そうであれば、ロボットが同じ位置に閉じ込められていないと決定し、そうでなければ、ロボットが同じ位置に閉じ込められたと決定する上記方法は、具体的には、ロボットの縁沿い走行時間を計時して上記所定縁沿い時間(好ましくは、30秒)に達すると、ロボットの縁沿い回転角度が所定最大回転角度(好ましくは、360度)以下であると判断し、ロボットの縁沿い走行距離が所定最大縁沿い距離(好ましくは、1メートル)以下であると判断する場合、ロボットが同じ位置に閉じ込められて繰り返して回転することがないと決定し、さらにロボット現在の障害物回避が終了していないと決定するステップと、ロボットの縁沿い走行時間を計時して上記所定縁沿い時間(好ましくは、30秒)に達すると、ロボットの縁沿い回転角度が所定最大回転角(好ましくは、360度)より大きいと判断するか、又はロボットの縁沿い走行距離が所定最大縁沿い距離(好ましくは、1メートル)より大きいと判断する場合、ロボットが同じ位置に閉じ込められて繰り返して回転すると決定し、さらにロボットに現在の最速縁沿い予測経路を放棄することを選択させ、ロボットが長時間に縁沿い走行をするため、ナビゲーション経路から外れすぎることを回避し、ロボット現在の障害物回避が終了したと決定するステップとを含み、本実施例は、ロボットが縁沿い障害物回避の場合に収集した縁沿い時間、縁沿い距離及び縁沿い角度を利用してロボットが閉じ込められるか否かを判断し、ロボットの障害物回避終了状態を早期に宣言する。上記所定縁沿い時間は、ロボットが予め計画された最速縁沿い予測経路に従って縁沿い障害物回避を行う過程における最も長い縁沿い時間であり、上記所定最大回転角は、ロボットが予め計画された最速縁沿い予測経路に従って縁沿い障害物回避を行う過程における最も大きいロボット累積回転角度であり、上記所定最大縁沿い距離は、ロボットが予め計画された最速縁沿い予測経路に従って縁沿い障害物回避を行う過程における最も大きい実際の縁沿い経路長さである。
【0055】
ロボットの縁沿い回転角度は、ロボットがタイミングで読み取ったジャイロスコープの角度増分を加算した結果であり、具体的には、ロボットは、10msごとにジャイロスコープが現在測定した角度を読み取り、かつ当該角度から前回(10ms前)に読み取った角度を減算して10ms内にジャイロスコープが測定した角度差値を取得し、さらに、一定の縁沿い時間内に前述のステップを繰り返して10ms内の角度差値を加算することにより、積分加算に相当する方式で、ロボットのこの一定の縁沿い時間内の縁沿い回転角度を取得することである。
【0056】
前述の実施例に基づいて、上記最速縁沿い予測経路の計画方法は、以下のステップS301~ステップS303を含む。
【0057】
ステップS301では、ロボットには、方向転換点で結ばれたナビゲーション経路が予め設定され、これらの方向転換点は、ロボットが最終的なナビゲーション目標点に移動するように案内し、次に、ステップS302に進み、最終的なナビゲーション目標点は、ナビゲーション経路の終点であり、ナビゲーション経路上の1つの方向転換点に属する。なお、ナビゲーション経路は、ロボットが走行する前に既に算出され、グリッドマップにおいて複数の線分で結ばれてなり、これらの線分が方向転換点と交差するため、グリッドマップのナビゲーション経路を方向転換点で説明することができ、これにより、ロボットがナビゲーション経路に沿って進行する過程でロボットは、1つのナビゲーション方向に向かって、現在の方向転換点から同じナビゲーション経路における次の方向転換点をトラバースし、最終的なナビゲーション目標点まで進行する。
【0058】
ステップS302では、ロボットが障害物に衝突したことを検出した後、ロボットの障害物回避に用いられる縁沿い予測経路を計画し、予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合を選択し、次に、ステップS303に進み、上記ロボットの障害物回避に用いられる縁沿い予測経路は、縁沿い方向が逆である2つの縁沿い予測経路を含み、それぞれ左側の縁沿い予測経路と右側の縁沿い予測経路である。ロボットが障害物の縁に沿って走行するモードが左縁沿いモードと右縁沿いモードに分けられ、左縁沿いモードでロボットが障害物の縁に沿って時計回りに移動し、右縁沿いモードでロボットが障害物の縁に沿って反時計回りに移動するため、ロボットは、縁沿いモードを起動した後に、ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を計画する。
【0059】
ステップS303では、各縁沿い予測経路上の全ての縁沿い動作点と、同じナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合に含まれる方向転換点との距離情報に基づいて、当該ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路を、上記最速縁沿い予測経路として選択することにより、ロボットが障害物に衝突した後、上記最速縁沿い予測経路の縁沿い方向に走行して迅速な障害物回避を実現する。本実施例において、予め設定された上記ナビゲーション経路は、障害物の分布と関係がなく、上記ナビゲーション経路の第1の所定方向転換点集合に含まれる方向転換点は、最終的なナビゲーション目標点を終点として設定された経路ノードであり、上記方向転換点の1種に属し、案内条件を満たすこれらの第1の所定方向転換点集合は、基準量として、上記ステップS302で計画された候補縁沿い予測経路から、当該ナビゲーション経路との相異度が最も小さい縁沿い予測経路を判断して選択し、次に、ロボットが障害物に衝突した後に選択された当該縁沿い予測経路に従って走行するように制御するが、ロボットが実際に走行する縁沿い予測経路は、必ずしも予測計画された経路ではなく、ついに予測計画された経路に一定の誤差があり、大体の経路と合理的に実行可能な縁沿い方向のみを示し、例えば、障害物の縁に沿って反時計回り又は時計回りに移動し、これにより、本実施例において、ロボットが障害物に衝突した後、当該上記最速縁沿い予測経路の縁沿い方向に走行して迅速な縁沿い障害物回避を実現する。
【0060】
本実施例において、前述のステップに基づいて、当該ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路を、上記最速縁沿い予測経路として選択することにより、ロボットが障害物に衝突した後、当該上記最速縁沿い予測経路の縁沿い方向に走行して迅速な障害物回避を実現し、ロボットの障害物回避過程における衝突回数を減少させ、ロボットが前記ナビゲーション経路又は最終的なナビゲーション目標点から外れすぎることを回避し、ロボットの効率的な縁沿い障害物回避機能を実現し、ロボットのインテリジェント化レベルを向上させる。
【0061】
前述の実施例において、ロボットが計画された上記最速縁沿い予測経路を走行していない場合に、ロボットが1つの上記最速縁沿い予測経路を計画した場合、ロボットが前述の実施例に記載の障害物回避終了の判断方法を用いてそれが当該上記最速縁沿い予測経路において障害物回避終了状態に入ると判断するか、又はロボットが当該上記最速縁沿い予測経路において長時間に同じ位置に閉じ込められて障害物回避に失敗すると判断するため、ロボットは、当該上記最速縁沿い予測経路において縁沿い走行を継続せず、逆に上記ナビゲーション経路に切り替え、新たな最速縁沿い予測経路を計画する必要がある場合、予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合を選択すること、及びロボットがナビゲーションを開始した直後、上記最速縁沿い予測経路を計画しない場合、ロボットは、上記ナビゲーション経路に沿って走行し、障害物を回避する必要がある場合に予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合を選択すること、の両方を含む。ロボットが計画された最速縁沿い予測経路で縁沿い走行をする場合、予め設定されたナビゲーション経路から案内条件を満たす第2の所定方向転換点集合を選択し、第1の所定方向転換点集合と第2の所定方向転換点集合は、いずれも上記ナビゲーション経路上の上記案内条件を満たす方向転換点で構成される。案内条件を満たす所定方向転換点の選択アルゴリズムの利用率を向上させる。
【0062】
好ましい一実施例として、上記ナビゲーション経路上の全ての方向転換点に番号を付け、上記ナビゲーション経路の開始点の計画番号が0であり、後の方向転換点の計画番号が順次増加し、上記ナビゲーション経路の終点の計画番号が最も大きい。具体的には、上記ナビゲーション経路は、規則的に分布する1組の方向転換点で結ばれてなり、上記ナビゲーション経路の始点から、その終点に対応する上記ナビゲーション経路のナビゲーション進行方向に、ナビゲーション経路に設定された方向転換点の計画番号が順次増加し、案内条件を満たす上記第1の所定方向転換点集合又は上記第2の所定方向転換点集合に含まれる方向転換点の計画番号が順次増加し、対応する方向転換点集合のうちの前記目標方向転換点の計画番号より小さい方向転換点をロボットがトラバースした方向転換点とし、上記最終的なナビゲーション目標点の計画番号が最も大きいため、上記ナビゲーション経路のナビゲーション進行方向において上記最終的なナビゲーション目標点に近い方向転換点ほど、対応する計画番号が大きい。本実施例は、番号付けの方式で上記ナビゲーション経路上の全ての方向転換点を整理して区別し、システムソフトウェアが方向転換点を識別処理しやすく、案内条件を満たす上記第1の所定方向転換点集合又は上記第2の所定方向転換点集合を迅速に選択し、ロボットの縁沿い方向に対する選択速度を速める。
【0063】
好ましい一実施例として、ステップS302では、予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合又は案内条件を満たす上記第2の所定方向転換点集合を選択する上記方法は、まず、上記ナビゲーション経路から1つの目標方向転換点を選択するステップを含み、当該目標方向転換点は、ロボットが現在位置で選択した案内作用を有する方向転換点であり、当該現在位置は、ロボットが案内条件を満たす第1の所定方向転換点集合を選択する場合、障害物に衝突しかつ縁沿い障害物回避を起動する開始位置であり、当該現在位置は、ロボットが案内条件を満たす第2の所定方向転換点集合を選択する場合、上記最適な方向転換点を見つけて障害物回避状態を終了するか否かを判断する位置である。ロボットの現在位置がリフレッシュされて変更する場合、当該目標方向転換点も変更する。
【0064】
一般的な意味では、上記案内条件は、当該目標方向転換点及び当該目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された1つ又は2つの方向転換点には、上記最終的なナビゲーション目標点があるか否かをそれぞれ判断することにより、案内条件を満たす第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合を選択することである。なお、当該目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って設定された隣接する方向転換点が上記最終的なナビゲーション目標点である場合、既に上記ナビゲーション経路の終点を判断しており、判断し続ける必要がない。上記ナビゲーション経路のナビゲーション進行方向は、ロボットが上記最終的なナビゲーション目標点に移動するように案内するロボットナビゲーション方向であり、上記最終的なナビゲーション目標点も上記ナビゲーション経路の終点であり、また、上記ナビゲーション経路のうちの1つの方向転換点に属する。本実施例は、ロボットのナビゲーション経路に順に設定された3つの方向転換点に、上記ナビゲーション経路の終点があるか否かを判断することにより、ロボットが上記最終的なナビゲーション目標点に移動するように案内できる代表的な方向転換点を選別し、上記ナビゲーション経路と上記縁沿い予測経路との相異度を比較することもできる。
【0065】
案内条件を満たす第1の所定方向転換点集合と案内条件を満たす第2の所定方向転換点集合の汎用選択方法に対して、本実施例は、以下のステップを開示する。上記目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された2つの方向転換点がいずれも上記最終的なナビゲーション目標点ではないと判断する場合、案内条件を満たす上記第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合には、上記ナビゲーション経路から選択された1つの目標方向転換点、及び当該目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された2つの方向転換点が含まれると決定し、上記ナビゲーション経路において、当該目標方向転換点の後に順に設定された2つの上記方向転換点は、連続的に配列され、それらの計画番号は、順次増加し、かつ目標方向転換点の計画番号より大きく、当該目標方向転換点及びその後の2つの上記方向転換点は、いずれもロボットの現在位置の前方に位置し、ロボットが上記最終的なナビゲーション目標点に迅速に移動するように案内する作用を有する。
【0066】
上記目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って設定された、上記目標方向転換点に隣接する方向転換点が上記最終的なナビゲーション目標点であると判断する場合、すなわち、上記目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された第1の方向転換点が上記最終的なナビゲーション目標点であると判断する場合、案内条件を満たす上記第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合には、上記ナビゲーション経路において上記目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って上記最終的なナビゲーション目標点まで配列された全ての方向転換点が含まれると決定し、この場合、上記目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って上記最終的なナビゲーション目標点まで配列された全ての方向転換点は、上記目標方向転換点及び上記最終的なナビゲーション目標点のみであり、この場合、上記目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って第1の方向転換点のみが設定され、第2の方向転換点が設定されず、第1の方向転換点が既に終点として判断されたからである。
【0067】
上記目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って順に設定された第2の方向転換点が上記最終的なナビゲーション目標点であると判断する場合、案内条件を満たす上記第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合には、上記ナビゲーション経路において上記目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って上記最終的なナビゲーション目標点まで配列された全ての方向転換点が含まれると決定し、この場合、上記目標方向転換点から上記ナビゲーション経路のナビゲーション進行方向に沿って上記最終的なナビゲーション目標点まで配列された全ての方向転換点が3つあり、上記目標方向転換点、上記最終的なナビゲーション目標点及びこれらの間の上記ナビゲーション経路に設定された1つの方向転換点を含む。なお、第1の方向転換点は、上記ナビゲーション経路のナビゲーション進行方向において上記目標方向転換点に隣接して設定され、第2の方向転換点は、上記ナビゲーション経路のナビゲーション進行方向において第1の方向転換点に隣接して設定される。
【0068】
上記ナビゲーション経路から選択された目標方向転換点が上記最終的なナビゲーション目標点であると判断する場合、案内条件を満たす上記第1の所定方向転換点集合又は案内条件を満たす第2の所定方向転換点集合には、上記最終的なナビゲーション目標点のみが含まれると決定する。
【0069】
以上の判断結果をまとめると、本実施例に開示された案内条件を満たす第1の所定方向転換点集合と案内条件を満たす第2の所定方向転換点集合は、いずれも上記ナビゲーション経路のナビゲーション方向の特徴を示すことができ、ナビゲーション経路の終点の影響要因を十分に考慮することにより、その後の縁沿い予測経路とナビゲーション経路との相異度の算出量を簡略化する。
【0070】
上記好ましい実施例に基づいて、予め設定されたナビゲーション経路から上記目標方向転換点を選択する具体的な方法は、以下のステップを含む。
【0071】
ロボットの現在位置を中心とし、かつロボットの現在位置との最大距離が第1の所定距離閾値であるグリッド座標で構成された方向転換点比較領域を設定し、予め設定されたナビゲーション経路から案内条件を満たす第1の所定方向転換点集合を選択する場合、ロボットの現在位置が計画された最速縁沿い予測経路に位置せず、予め設定されたナビゲーション経路から案内条件を満たす第2の所定方向転換点集合を選択する場合、ロボットの現在位置が計画された最速縁沿い予測経路に位置する。
【0072】
当該方向転換点比較領域に1つの上記方向転換点のみがある場合、当該上記方向転換点を上記目標方向転換点として選択し、目標方向転換点とロボットの現在位置との距離を近づけるのに役立ち、その後に選択された縁沿い予測経路が上記ナビゲーション経路又は上記最終的なナビゲーション目標点から外れすぎることを回避する。なお、当該目標方向転換点の計画番号より小さい全ての方向転換点を、ロボットがトラバースした方向転換点に設定する。
【0073】
当該方向転換点比較領域に2つ以上の上記方向転換点がある場合、ロボットの現在位置との距離が第1の所定距離閾値より小さい方向転換点、すなわち、上記ナビゲーション経路の当該方向転換点比較領域に覆われた一部の経路上の方向転換点から、上記ナビゲーション経路のナビゲーション進行方向に沿って上記最終的なナビゲーション目標点に最も近い方向転換点を上記目標方向転換点として選択し、すなわち、ロボットの現在位置との距離が第1の所定距離閾値より小さい全ての方向転換点から、計画番号が最も大きい方向転換点をロボットの前方の目標方向転換点として選択することにより、ロボットが当該目標方向転換点に向かって進行すると、上記最終的なナビゲーション目標点へのナビゲーション速度を加速し、なお、当該目標方向転換点の計画番号より小さい全ての方向転換点を、ロボットが既にトラバースした方向転換点に設定する。
【0074】
当該方向転換点比較領域に上記方向転換点がない場合、上記ナビゲーション経路のナビゲーション進行方向に沿って、上記ナビゲーション経路からロボットが新たにマークした目標方向転換点に隣接する方向転換点を、新たな目標方向転換点として選択し、ロボットが新たにマークした目標方向転換点は、ロボットが前回障害物に衝突した位置で上記ナビゲーション経路から選択されたマークされた目標方向転換点であり、目標方向転換点のマーク位置は、終点へのロボットナビゲーションの制御に対して基礎的な作用を果たし、ロボットが正確な縁沿い方向に移動するように案内することに役立ち、その後に選択された縁沿い予測経路が上記ナビゲーション経路又は上記最終的なナビゲーション目標点から外れすぎることを回避する。したがって、本実施例において、予め設定されたナビゲーション経路から選択された上記目標方向転換点は、局所的なナビゲーション領域内で、ロボットが上記ナビゲーション経路の終点方向へ移動するように案内する役割を有する。
【0075】
好ましくは、ロボットの現在位置と、ある上記方向転換点との距離が第2の所定距離閾値より小さい場合、ロボットの現在位置が当該方向転換点と重なると決定し、すなわち、ロボットが当該方向転換点の上記ナビゲーション経路上の対応するノード位置に移動することを示す。第2の所定距離閾値は、第1の所定距離閾値より小さい。
【0076】
本発明の別の実施例として、上記最速縁沿い予測経路の計画方法は、具体的には、以下のステップS401~ステップS411を含む。
【0077】
ロボットを起動し、この場合、ロボットシステムの電源が投入されて起動し、次に、ステップS401に進む。
【0078】
ステップS401では、ロボットは、ロボットが最終的なナビゲーション目標点に移動するように案内する方向転換点で結ばれたナビゲーション経路を予め算出して設定し、次に、ロボットが上記ナビゲーション経路に従って走行するように制御する。本実施例は、ロボットの初期縁沿い方向が右縁沿い方向であることをデフォルトとし、すなわち、デフォルト状態でロボットが障害物に衝突した後、障害物の周りに時計回りに縁沿い走行をすることができる。次に、ステップS402に進む。
【0079】
ステップS402では、所定時間内にロボットが位置する座標位置の変化量が距離安定閾値より大きいか否かを判断し、そうであれば、ステップS403に進み、そうでなければ、ステップS404に進む。該ステップS402は、ロボットのナビゲーション中又は縁沿い障害物回避中に同じ場所で縁沿い走行を繰り返すか否かを判断する。距離安定閾値は、ロボットの本体直径の大きさに設定される。
【0080】
ステップS403では、ロボットがロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を計画するように制御し、これは、前後して計画された2つの縁沿い予測経路である。次に、ステップS205に進む。本実施例において、ロボットが前方の障害物に衝突した場合、当該障害物の縁がロボットの進行方向に対して左側縁と右側縁に分けられるため、ロボットが障害物の縁に沿って走行するモードは、左縁沿いモードと右縁沿いモードに分けられ、左縁沿いモードでロボットが障害物の縁に沿って時計回りに移動し、右縁沿いモードでロボットが障害物の縁に沿って反時計回りに移動する。したがって、上記ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路は、それぞれ左側の縁沿い予測経路と右側の縁沿い予測経路である。
【0081】
ステップS404では、ロボットが障害物に複数回衝突し、閉じ込められる状態にあると決定すると、ロボットが縁沿い方向を変更して、現在決定された縁沿い方向と逆の方向に沿って走行するように制御する必要がある。具体的には、上記所定時間内にロボットが位置する座標位置の変化量が上記距離安定閾値以下であると判断する場合、ロボットが上記ナビゲーション経路に従って移動する過程で障害物に衝突し、その後に現在位置で障害物の周りに縁沿い走行を繰り返す可能性があり、ロボットが前回計画された上記縁沿い予測経路に従って障害物の周りに走行する過程で、障害物に衝突することにより障害物回避の失敗を引き起こす可能性もあることを示す。したがって、ロボットが縁沿い方向を変更して、衝突時の縁沿い方向と逆の方向を選択するように制御し、例えば、現在実行されている左縁沿いモードを右縁沿いモードに変更するか、又は現在実行されている右縁沿いモードを左縁沿いモードに変更することにより、ロボットが現在決定された縁沿い方向と逆の方向に沿って走行し、正確な縁沿い方向を選択して障害物回避走行を実行し続ける。ロボットが縁沿い障害物回避の失敗により同じ位置に閉じ込められることを回避し、ロボットが上記縁沿い予測経路を計画できないため、無効な縁沿い障害物回避動作を行うことにより、ロボットが間違った縁沿い方向に向かって遠くなることを回避する。
【0082】
なお、ロボットナビゲーションの過程でロボットが縁沿い走行を初めて起動することは、衝突により障害物の縁を選択して縁沿い走行を実行するが、このように、正確な縁沿い方向を欠くため障害物回避に失敗しやすく、これにより、ロボットが間違った縁沿い方向に向かって遠くなるため、ロボットがステップS403及びステップS404を実行するように制御する必要があり、障害物回避を速める。
【0083】
ステップS405では、ロボットがロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を計画したか否かを判断し、そうであれば、ステップS406に進み、そうでなければ、ステップS404に進む。ステップS405は、ロボットが正確な縁沿い方向を算出したか否かを判断することにより、ロボットの効果的な障害物回避を実現する縁沿い予測経路を計画する。本実施例において、上記ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路は、それぞれ左側の縁沿い予測経路と右側の縁沿い予測経路である。
【0084】
ステップS406では、上記ナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合から左側の縁沿い予測経路上の同じ縁沿い動作点までの距離を算出し、さらに、当該縁沿い動作点と、上記ナビゲーション経路上の案内条件を満たす全ての第1の所定方向転換点集合との距離を加算することにより、1つの縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する左側局所距離の和を取得し、左側の縁沿い予測経路は、縁沿い動作点で結ばれてなり、同時に、上記ナビゲーション経路上の案内条件を満たす第1の所定方向転換点集合から右側の縁沿い予測経路上の同じ縁沿い動作点までの距離を算出し、さらに、当該縁沿い動作点と、上記ナビゲーション経路上の案内条件を満たす全ての第1の所定方向転換点集合との距離を加算することにより、1つの縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する右側局所距離の和を取得し、右側の縁沿い予測経路は、縁沿い動作点で結ばれてなり、次に、ステップS407に進む。
【0085】
ステップS407では、前述のステップS406を繰り返して実行することにより、左側の縁沿い予測経路上の各縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する左側局所距離の和を取得し、同時に前述のステップS406を繰り返して右側の縁沿い予測経路上の各縁沿い動作点の、案内条件を満たす第1の所定方向転換点集合に対する右側局所距離の和を取得し、次に、ステップS408に進む。
【0086】
ステップS408では、これらの左側局所距離の和を加算することにより、左側の縁沿い予測経路の、案内条件を満たす第1の所定方向転換点集合に対する左側距離の総和を取得して、左側の縁沿い予測経路の上記ナビゲーション経路に対する外れ度合いを示し、同時に、これらの右側局所距離の和を加算することにより、右側の縁沿い予測経路の、案内条件を満たす第1の所定方向転換点集合に対する右側距離の総和を取得して、右側の縁沿い予測経路の上記ナビゲーション経路に対する外れ度合いを示す。次に、ステップS409に進む。
【0087】
ステップS409では、上記左側距離の総和が上記右側距離の総和より大きいか否かを判断し、そうであれば、ステップS410に進み、そうでなければ、ステップS411に進む。右側距離の総和が小さいほど、右側の縁沿い予測経路の上記ナビゲーション経路に対する外れ度合いが小さくなり、左側距離の総和が小さいほど、左側の縁沿い予測経路の上記ナビゲーション経路に対する外れ度合いが小さくなる。
【0088】
ステップS410では、右側の縁沿い予測経路を上記最速縁沿い予測経路として選択することにより、ロボットが障害物に衝突した後、選択された当該右側の縁沿い予測経路の縁沿い方向に走行して迅速な障害物回避を実現する。すなわち、左側距離の総和が右側距離の総和より大きい場合、右側の縁沿い予測経路が上記ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路であると決定し、ステップS403で計画された右側の縁沿い予測経路を選択することにより、ロボットが障害物に衝突した後、選択された当該右側の縁沿い予測経路の縁沿い方向に走行して迅速な障害物回避を実現する。
【0089】
ステップS411では、左側の縁沿い予測経路を上記最速縁沿い予測経路として選択することにより、ロボットが障害物に衝突した後、選択された当該左側の縁沿い予測経路の縁沿い方向に走行して迅速な障害物回避を実現する。すなわち、右側距離の総和が左側距離の総和より大きい場合、左側の縁沿い予測経路が上記ナビゲーション経路に対する外れ度合いが最も小さい縁沿い予測経路であると決定し、ステップS403で計画された左側の縁沿い予測経路を選択することにより、ロボットが障害物に衝突した後、選択された当該左側の縁沿い予測経路の縁沿い方向に走行して迅速な障害物回避を実現する。
【0090】
ステップS404、S410、S411を実行する過程で、ロボットは、縁沿い走行をし、かつ障害物の縁に沿って走行し、縁沿い障害物回避操作を実行しており、ロボットの位置が変化し、ロボットの現在位置をリアルタイムに更新する必要があり、その後にステップS402に戻って実行し、ロボットが縁沿い走行をする過程で障害物回避の失敗が発生するか否かを判断し続ける。
【0091】
ステップS401~ステップS411の上記実施例において、縁沿い予測経路の縁沿い動作点とナビゲーション経路における特定の経路ノード(目標方向転換点及びその後に設定された方向転換点)との間の距離の差を比較することにより、縁沿い予測経路とナビゲーション経路との相異度を決定し、さらに相異度が小さい縁沿い予測経路に対応する縁沿い方向をロボットの縁沿い障害物回避の最適な方向として選択し、ロボットが障害物回避過程で予め設定されたナビゲーション目標(すなわち、上記ナビゲーション経路の最終的なナビゲーション目標点)から外れすぎることを回避する。
【0092】
前述の実施例において、上記ロボットの障害物回避に用いられる縁沿い予測経路の計画方法は、以下のステップS4031~ステップS4032を含む。
【0093】
ステップS4031では、ロボットが障害物に衝突した後、もちろん、ロボットが現在のナビゲーション位置で障害物に衝突した後にも可能性あり、障害物情報が予めマークされたグリッドマップに衝突点をマークし、次に、ステップS4032に進む。現在、ステップS4031を実行する場合、現在マークした衝突点は、現在衝突した障害物に対応するマップ上のグリッドを衝突点としてマークする。本発明の実施例において、縁沿い走行を実行するロボットに複数の衝突検出器を設置してもよく、一定の衝突強度値を予め設定してもよく、衝突検出器の衝突強度が該閾値より大きい場合に該ロボットが障害物に衝突したと判断することができる。ここでは、該閾値により複数の異なる検出器の検出データに対する解析を実現することができる。本実施例において、ロボットは、障害物を検出すると、障害物が位置するグリッド座標を算出し、障害物に対応するマップ上のグリッドを障害物点としてマークする。
【0094】
ステップS4032では、ステップS4031で現在マークされた衝突点の隣接領域から、縁沿い障害物回避条件を満たすグリッドを選択し、選択されたグリッドを、ロボットが障害物の縁に沿って走行する縁沿い予測経路に新たに計画された縁沿い動作点としてマークし、すなわち、縁沿い障害物回避条件を満たす当該グリッドは、ロボットが障害物に衝突した後に計画した縁沿い予測経路の構成部分を構成し、これらの縁沿い動作点は、上記ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を構成し、ロボットが左縁沿いモードを起動する場合の左側の縁沿い予測経路と、ロボットが右縁沿いモードを起動する場合の右側の縁沿い予測経路とを含み、左縁沿いモードでロボットが障害物の縁に沿って時計回りに移動し、右縁沿いモードでロボットが障害物の縁に沿って反時計回りに移動するため、ロボットは、縁沿いモードを起動する場合に、ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を計画する。したがって、本実施例は、ロボットが衝突障害物を検出した後、縁沿い走行をする前に、現在マークされた衝突点の隣接領域から縁沿い障害物回避条件を保持するグリッドを見つけることにより、その後にロボットが、対応するグリッドで計画された障害物回避経路に従って縁沿い走行をし、ロボットの衝突回数を減少させ、ナビゲーション障害物回避を速める。
【0095】
本発明の一実施例として、上記ステップS4032の具体的な方法は、以下のステップ21~ステップ24を含む。ステップ21では、ステップS4031で現在マークされた衝突点との距離関係が、最近距離条件を満たす障害物点を検索し、ステップS4031で現在マークされた衝突点は、前述の実施例のステップS4031でグリッドマップにマークされた衝突点であり、次に、ステップ22に進み、ステップ22では、ステップ21で検索された障害物点の隣接領域から事前縁沿い条件を満たすグリッドを選択し、次に、ステップ23に進み、障害物点の隣接領域は、当該障害物点を囲む8つのグリッドであり、ステップ23では、事前縁沿い条件を満たすグリッドの数が第2の所定グリッド数に達すると統計する場合、事前縁沿い条件を満たすこれらのグリッドから上記最適な縁沿い条件を満たすグリッドを選択して、同様に上記縁沿い障害物回避条件を満たすグリッドとし、次に、ステップ24に進み、上記縁沿い障害物回避条件を満たすグリッドは、最近距離条件を満たす障害物点と上記最適な縁沿い条件を満たすグリッドを基に決定され、すなわち、グリッドが最近距離条件を満たすか否かを決定し、次に、これに基づいて、対応して選択されたグリッドが上記最適な縁沿い条件を満たすか否かを決定し、ステップ24では、ステップ23で選択された上記最適な縁沿い条件を満たすグリッドを新たな衝突点としてマークし、ロボットが障害物の縁に沿って走行する、対応する縁沿い予測経路に新たに計画された縁沿い動作点として追加し、同時に当該新たな衝突点を、ステップS4031で現在マークされた衝突点として更新し、さらに、所定障害物回避グリッド数の縁沿い動作点をマークするまで、ステップ21に戻って実行し、上記最適な縁沿い条件を満たすグリッドは、新たな衝突点としてマークされ、縁沿い動作点の集合に記憶され、これらの縁沿い動作点は、ロボットのその後の縁沿い方向をロボットの中心位置からの左側縁沿い方向と右側縁沿い方向に分割することができ、左側縁沿い方向のロボットは、障害物の縁に沿って時計回りに移動し、右側縁沿い方向のロボットは、障害物の縁に沿って反時計回りに移動し、その後、ロボットは、これらの縁沿い動作点に基づいて障害物の縁に沿って走行し、ロボットが正確な経路に沿って障害物を回避し、障害物に衝突する面倒さから迅速に解放することを実現する。ステップ21で最近距離条件を満たす障害物点を検索できない場合、上記左側の縁沿い予測経路及び/又は上記右側の縁沿い予測経路を計画できないと決定し、或いは、ステップ22で事前縁沿い条件を満たすグリッドを検索できない場合、上記左側の縁沿い予測経路及び/又は上記右側の縁沿い予測経路を計画できないと決定する。
【0096】
したがって、本実施例は、ステップ21~ステップ24を繰り返し実行することにより、合理的なグリッド数の範囲内に、計画された上記縁沿い障害物回避条件を満たすグリッドを新たな衝突点としてマークし、ロボットが障害物の縁の周りに走行する、対応する縁沿い予測経路を計画し、ロボットがマップ上の障害物の縁に依存して縁沿い走行経路を予測することに役立つ。
【0097】
上記実施例において、上記ステップ23では、上記最適な縁沿い条件を満たすグリッドは、上記事前縁沿い条件を満たすグリッドから選択されたロボットの中心位置との結線が障害物の縁に最も近いグリッド、すなわち、該ステップで選択されたグリッドとロボットの中心位置との結線と、現在衝突した障害物の輪郭線の接線との夾角が最も小さいグリッドを含み、或いは、該ステップで選択されたグリッドとロボットの中心位置との結線と、ロボット座標系の1つの座標軸とがなす夾角が最も小さいグリッドを含み、上記最適な縁沿い条件を満たす当該グリッドとロボットの中心位置との結線と、ロボット座標系の他の座標軸との夾角が最も大きいため、該実施例において計画決定されたグリッドで構成された縁沿い予測経路は、障害物の輪郭線に最大限に接近する。上記縁沿い予測経路を計画する過程で、ロボットの中心位置は変化しない。
【0098】
特に、上記事前縁沿い条件を満たすグリッドの統計数が第2の所定グリッド数に達する場合、上記事前縁沿い条件を満たすこれらのグリッドとロボットの中心位置との相対的な位置関係に基づいて、これらのグリッドからロボットの中心位置との結線が障害物の縁に最も近いグリッドを選択することにより、上記縁沿い障害物回避条件を満たし、本実施例は、一定の統計数を満たす前提で、適度な長さの縁沿い予測経路を計画し、相対位置の算出量を減少させ、ロボットナビゲーション障害物回避の処理効率を向上させる。
【0099】
一般的には、上記事前縁沿い条件を満たすグリッドとロボットの中心位置との相対的な位置関係の算出方法は、以下のステップを含む。ロボットの中心位置を原点とし、ロボットの本体の右側方向をX軸正方向とし、ロボットの現在の進行方向をY軸正方向とし、ロボット座標系を設定し、なお、当該座標系のX軸方向及びY軸方向が唯一に定まらないが、ロボットの進行方向の位置決め問題を考慮する必要があり、本実施例は、上記設定されたロボット座標系において、上記最適な縁沿い条件を満たす上記各グリッドの、ロボット座標系の原点に対する座標値及び角度値をそれぞれ算出する。本実施例において、世界座標系がXOYで、ロボット座標系がX’O’Y’であり、ロボットの中心点(ロボットの中心位置)がロボット座標系の原点であり、世界座標系におけるロボットの座標及び角度を決定する場合、従来技術におけるロボット座標を世界座標に変換する式により、各衝突点、障害物点、及び上記縁沿い動作点の、ロボットの中心位置に対する世界座標を換算することができる。本実施例は、ロボットのローカル座標系を用いて、計画されたグリッドの座標算出に参加することにより、関連グリッドの座標算出が合理的で正確である。
【0100】
好ましくは、上記衝突点は、前衝突点、左衝突点及び右衝突点を含み、コスト問題を考慮して、本実施例において、ロボットには、2つの衝突検出器が設置され、この2つの衝突検出器の検出能力が完全に同じであってもよく、衝突検出器が障害物に衝突する場合にのみ障害物の衝突点検出を実現できるため、衝突検出器をロボットベースの前半分の180度の角度範囲内に設置する必要があり、ここでは、該扇形面を二等分に分けることができ、それぞれの角度値が90度になる。ロボットの本体の左前部には、左側衝突検出器が設置され、左側衝突検出器は、本実施例において本体の左側の小扇形面の円弧線の中点に位置し、ロボットの進行方向の左側に衝突した障害物を検出し、具体的には、ロボットが障害物の縁に沿って反時計回り方向に縁沿い走行をする過程で本体の左側に衝突した障害物を検出し、対応する方向の障害物との衝突点を左衝突点としてマークし、ロボットの本体の右前部には、右側衝突検出器が設置され、右側衝突検出器は、本実施例において本体の右側の小扇形面の円弧線の中点に位置し、ロボットの進行方向の右側に衝突した障害物を検出し、具体的には、ロボットが障害物の縁に沿って時計回り方向に縁沿い走行をする場合に本体の右側に衝突した障害物を検出し、対応する方向の障害物との衝突点を右衝突点としてマークし、左側衝突検出器及び右側衝突検出器は、ロボットの本体の左右両側に対称的に設置される。左右側衝突検出器の検出能力が完全に同じであるため、この2つの小扇形面の境界点で衝突が発生すれば、該2つの小扇形面に位置する衝突検出器の衝突強度が同じであり、すなわち、ロボットの正面が障害物に衝突した場合、左側衝突検出器及び右側衝突検出器が同時にトリガされて検出を行い、対応する方向の障害物との衝突点を前衝突点としてマークすることにより、ロボットがマークした前衝突点、左衝突点及び右衝突点は、それぞれロボットの正面に衝突した障害物の輪郭線の接線に位置し、障害物の輪郭線は、グリッドマップにマークして形成される。ロボットが同じ障害物の異なる側の縁の周りに走行することに役立ち、ロボットが縁沿い走行の方式で異なる障害物を回避することにも適応する。
【0101】
なお、同じロボット座標系で、ロボットの本体中心が位置するマップ位置が、ロボット座標系の原点に相当し、かつ本実施例においてロボットの本体中心をロボットの中心位置である原点と見なす場合、ロボットが同じ位置でマークした前衝突点、左衝突点及び右衝突点がいずれもロボットの正面に衝突した障害物の輪郭線の接線に位置することを実現するために、ロボットが原点位置(0,0)で障害物に衝突する場合、左衝突点の座標を(-2,2)とすれば、右衝突点の座標を(2,2)とし、前衝突点の座標を(0,2)とする。したがって、ロボットが原点位置(0,0)に位置する場合、ロボットが座標(-2,2)(左衝突点)で衝突することを検出すれば、ロボットの進行方向の左側が障害物に衝突すると決定し、ロボットが座標(2,2)(右衝突点)で衝突することを検出すれば、ロボットの進行方向の右側が障害物に衝突すると決定し、ロボットが座標(0,2)(前衝突点)で衝突することを検出すれば、ロボットの進行方向が障害物に衝突すると決定する。
【0102】
同時に、本実施例は、上記衝突点が衝突検出器から離れるほど、衝突強度が小さくなるため、各小扇形面内の衝突強度がいずれも該扇形面内の衝突検出器により測定されると、各扇形面間の境界点は、衝突が発生した後に衝突強度が最も小さい衝突点、すなわち、上記前衝突点である。以上をまとめると、衝突強度閾値が上記前衝突点の衝突強度よりもわずかに小さいように設定してもよく、該閾値に基づいて、ロボットが障害物に衝突した場合に常に1つだけの小扇形面内の衝突検出器の衝突強度が閾値よりも大きく、これにより、ロボットは、同一時刻に1つだけの衝突検出器が障害物を検出することを識別し、衝突検出器がロボットの前方の障害物を領域分割して検出することを実現し、その後に縁沿い方向を計画判断しやすい。該閾値の大きさが小扇形面の角度の変化に応じて変化し、小扇形面の角度が衝突検出器の数に関連するため、該衝突強度閾値は、ロボットに設置された衝突検出器の数の変化に応じて変化する必要がある。
【0103】
一実施例として、上記事前縁沿い条件を満たすこれらのグリッドとロボットの中心位置との相対的な位置関係に基づいて、これらのグリッドからロボットの中心位置との結線が障害物の縁に最も近いグリッドを選択する上記方法は、以下のステップを含む。
【0104】
上記ステップS4031で現在マークされた衝突点が上記左衝突点である場合、ロボットは、ロボットの現在位置に対して障害物の縁に沿って反時計回りに分布し、かつ上記ロボットの現在位置に対する角度値が最も大きい上記事前縁沿い条件を満たすグリッドを、上記最適な縁沿い条件を満たすグリッドとして選択し、当該グリッドと上記ロボットの現在位置との結線が障害物の右側縁に最も近いため、上記最適な縁沿い条件を満たす当該グリッドを上記右側の縁沿い予測経路に結び、全体的に見ると、上記縁沿い障害物回避条件を満たすグリッドに相当するため、当該グリッドとロボットの現在位置との結線が当該障害物の縁に最も近く、これにより、ロボットの縁沿い障害物回避の基準縁沿い方向(反時計回り方向)を決定する。なお、ロボットが障害物の縁に沿って走行する過程で右縁沿い動作があり、すなわち、ロボットが障害物の右側縁(輪郭線)に沿って反時計回りに移動すると、ロボットの基準縁沿い方向が反時計回り方向であると決定する。したがって、まず、ロボットの現在位置に対して障害物の縁に沿って反時計回りに分布する上記事前縁沿い条件を満たすグリッドを選択することにより、ロボットがその後に現在位置から、選択された上記最適な縁沿い条件を満たすグリッドを順にトラバースするように制御し、障害物の縁(輪郭線)に沿って反時計回りに移動することを実現するのに役立つことを決定し、次に、これに基づいて、これらの要件を満たすグリッドの角度情報を算出することにより、上記ロボットの現在位置に対する角度値(前述の実施例において設定されたロボット座標系のX軸の正方向に対して形成された夾角)が最も大きい上記事前縁沿い条件を満たすグリッドを、上記最適な縁沿い条件を満たすグリッドとして選別し、上記第2の所定グリッド数の上記事前縁沿い条件を満たすグリッドから、ロボットの現在位置との結線が当該障害物の縁に最も近いグリッドを選択することに相当し、これにより、上記縁沿い障害物回避条件を満たすグリッドを取得し、その後の縁沿い走行過程で、ロボットは、上記縁沿い障害物回避条件を満たすグリッドで計画された縁沿い予測経路に従って障害物の縁(輪郭線)に沿って反時計回りに移動し、一定のグリッド数の上記縁沿い動作点を通過した後に障害物の右側縁を通過することができる。なお、上記縁沿い障害物回避条件を満たすことは、上記最近距離条件及び上記事前縁沿い条件を同時に満たす必要がある。
【0105】
同様に、上記ステップS4031で現在マークされた衝突点が上記右衝突点である場合、ロボットは、ロボットの現在位置に対して障害物の縁の周りに時計回りに分布し、かつ上記ロボットの現在位置に対する角度値が最も小さい上記事前縁沿い条件を満たすグリッドを、上記最適な縁沿い条件を満たすグリッドとして選択し、当該グリッドと上記ロボットの現在位置との結線が障害物の左側縁に最も近いため、上記最適な縁沿い条件を満たす当該グリッドを上記左側の縁沿い予測経路として計画する。全体的に見ると、上記縁沿い障害物回避条件を満たすグリッドに相当するため、当該グリッドとロボットの現在位置との結線が当該障害物の縁に最も近く、これにより、ロボットの縁沿い障害物回避の基準縁沿い方向(時計回り方向)を決定する。なお、ロボットが障害物の縁に沿って走行する過程で左縁沿い動作があり、すなわち、ロボットが障害物の左側縁(輪郭線)に沿って時計回りに移動すると、ロボットの基準縁沿い方向が時計回り方向であると決定する。したがって、まず、ロボットの現在位置に対して障害物の縁に沿って時計回りに分布する上記事前縁沿い条件を満たすグリッドを選択することにより、ロボットがその後に現在位置から、上記縁沿い障害物回避条件を満たすこれらのグリッドを順にトラバースするように制御する過程で、障害物の縁(輪郭線)に沿って時計回りに移動することを実現するのに役立つことを決定し、次に、これに基づいて、これらの要件を満たすグリッドの角度情報を算出することにより、上記ロボットの現在位置に対する角度値(前述の実施例において設定されたロボット座標系のX軸の正方向に対して形成された夾角であり、X軸の正方向が同じ障害物の右側を向いている)が最も小さい上記事前縁沿い条件を満たすグリッドを、上記最適な縁沿い条件を満たすグリッドとして選別し、上記第2の所定グリッド数の上記事前縁沿い条件を満たすグリッドから、ロボットの現在位置との結線が当該障害物の縁に最も近いグリッドを選択することに相当し、これにより、上記縁沿い障害物回避条件を満たすグリッドを取得し、上記縁沿い動作点としてマークし、その後の縁沿い走行過程で、ロボットは、上記縁沿い動作点で計画された縁沿い予測経路に従って障害物の縁(輪郭線)に沿って時計回りに移動し、ロボットが一定のグリッド数の上記縁沿い動作点を通過した後に障害物の左側縁を通過することができる。なお、上記縁沿い障害物回避条件を満たすことは、上記最近距離条件及び上記事前縁沿い条件を同時に満たす必要がある。
【0106】
上記縁沿い障害物回避条件を満たすグリッドのロボットの中心位置(ロボットの本体中心)に対する角度の大きさは、上記縁沿い障害物回避条件を満たすグリッドのロボットの中心位置(ロボットの本体中心)に対する結線の、ロボット座標系のX軸の正方向に対する偏向角度であり、当該偏向角度の大きさは、X軸の設定位置に関連し、特にX軸の正方向の設定及び障害物の分布位置関係に関連し、選択された上記縁沿い障害物回避条件を満たすグリッドとロボットの中心位置との結線が障害物の縁に最も近く、かつ最短の縁沿い予測経路を計画することを確保する。
【0107】
ロボットの現在衝突した障害物の形状輪郭及びその分布位置に制限され、上記縁沿い障害物回避条件を満たすグリッドの、ロボットの中心位置(ロボットの本体中心)に対する結線がX軸の正方向に近いほど、対応する偏向角度が小さくなり、逆に大きくなるが、ロボットが上記縁沿い障害物回避条件を満たすグリッドにより、障害物をスムーズに回避し、かつ障害物と頻繁に衝突しないことを確保する必要がある。本実施例は、ロボットが最適な角度方向に応じて障害物回避を行う縁沿い予測経路、及びロボットが障害物の縁の周りに時計回り又は反時計回りに移動することをサポートするグリッドを計画することを実現し、障害物の形状特徴に応じてロボットの縁沿い走行経路を計画することを実現し、ロボットのその後の障害物回避に失敗する確率を低減する。該技術手段は、縁沿い方向の角度の極値を限定することにより、ロボットの障害物回避過程における衝突回数を効果的に減少させ、ロボットの障害物回避の速度を速める。
【0108】
一実施例として、上記ロボットの障害物回避に用いられる縁沿い予測経路の計画方法の具体的なステップは、以下のステップS501~ステップS508を含む。
【0109】
ステップS501では、ロボットが障害物に衝突した後、もちろん、ロボットが現在のナビゲーション位置で障害物に衝突した後にも可能性あり、ロボットが障害物に衝突する点を衝突点と定義し、障害物情報が予めマークされたグリッドマップに衝突点をマークし、次に、ステップS502に進む。
【0110】
ステップS502では、ステップS501で現在マークされた衝突点を中心とし、半径が第1の所定グリッド数である第1の所定検索領域を設定し、次に、ステップS503に進む。第1の所定グリッド数は、好ましくは、3つのグリッドであり、ステップS502は、上記ステップS501で現在マークされた衝突点からの距離が3つのグリッド辺長の長さより小さい全てのグリッドを検索し、グリッド間の距離比較は、グリッド座標点の距離比較であってもよい。ロボットがその後の縁沿い過程で障害物から外れすぎることを回避する。
【0111】
ステップS503では、第1の所定検索領域内でステップS501で現在マークされた衝突点に最も近く、かつ衝突点としてマークされていない障害物点を、最近距離条件を満たす障害物点として検索し、次に、ステップS504に進む。なお、1つの上記縁沿い動作点が計画されていない前に、上記ステップS501で現在マークされた衝突点は、ロボットが上記ステップS4031を実行することにより、障害物点が予めマークされたグリッドマップにマークされた衝突点であり、かつ障害物点が予めマークされたグリッドマップに1番目にマークされた衝突点である。ステップS503で選択された障害物点は、障害物とロボットとの衝突箇所の輪郭形状を囲む。
【0112】
好ましくは、上記ステップS503で最近距離条件を満たす障害物点を見つけることができない場合、前後してロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を計画することができないと決定し、さらに、上記ステップS404に戻る。障害物回避過程で縁沿い方向を誤って選択する可能性があるので、ロボットが縁沿い過程でナビゲーション目標点から外れることを回避する。
【0113】
ステップS504では、ステップS503で検索された障害物点の隣接領域から、上記障害物点及び既に計画された縁沿いグリッド点以外のロボットがトラバースしてマークしたグリッドを、事前縁沿い条件を満たすグリッドとして選択する。次に、ステップS505に進む。上記ステップS503で検索された障害物点の隣接領域の8つのグリッド範囲内に、ロボットがトラバースしてマークしたグリッドから上記障害物点と既に計画された縁沿いグリッド点以外のグリッドを検索することにより、ロボットが事前縁沿い条件を満たすグリッドで通行可能であることを確保する一方で、ロボットが既に計画された縁沿い予測経路領域を繰り返して走行することを回避し、ロボットの縁沿いナビゲーション領域のトラバース重複率を減少させる。
【0114】
好ましくは、上記ステップS504で事前縁沿い条件を満たすグリッドを見つけることができない場合、前後してロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路を計画することができないと決定し、さらに、上記ステップS504に戻る。障害物回避過程で縁沿い方向を誤って選択する可能性があるので、ロボットが縁沿い過程でナビゲーション目標点から外れることを回避する。
【0115】
ステップS505では、上記ステップS504における事前縁沿い条件を満たすグリッドの数を統計し、上記事前縁沿い条件を満たすグリッドを統計するたびに、上記事前縁沿い条件を満たす当該グリッドとロボットの中心位置との相対的な位置関係を算出する。次に、ステップS506に進む。その後にロボットが正確な縁沿い方向に走行するように案内するグリッドを迅速に選別することに役立つ。
【0116】
ステップS506では、ステップS505の統計数が第2の所定グリッド数に達する場合、上記事前縁沿い条件を満たすこれらのグリッドとロボットの中心位置との相対的な位置関係に基づいて、ロボットの中心位置との結線が障害物の縁に最も近いグリッドを、最適な縁沿い条件を満たすグリッドとして選択し、次に、ステップS507に進む。ステップS506で選別された最適な縁沿い条件を満たすグリッドは、縁沿い障害物回避条件を満たすグリッドに属し、その後に、適度な長さの縁沿い予測経路の計画にそのまま用いることができ、相対位置の算出量を減少させ、ロボットナビゲーション障害物回避の処理効率を向上させる。
【0117】
ステップS507では、ステップS506で選択されたグリッド点を新たな衝突点としてマークし、ロボットが障害物の縁に沿って走行する、対応する縁沿い予測経路に追加して、新たに計画された縁沿い動作点としてマークし、当該縁沿い動作点をロボット内部の縁沿い予測経路メモリに記憶して、ロボットのその後の走行トラバースに用いられることにより、障害物を回避し、同時に当該新たな衝突点をステップS501で現在マークされた衝突点として更新し、さらに、ステップS508に進む。
【0118】
ステップS508では、所定障害物回避グリッド数の縁沿い動作点をマークするか否かを判断し、そうであれば、上記縁沿い予測経路計画方法の実行を終了して、ロボットが計画された縁沿い動作点まで縁沿い走行をすることを待ち、そうでなければ、上記ステップS502に戻り、前述のステップに従って、更新された現在マークされた衝突点を用いて縁沿い障害物回避条件を満たすグリッドを選択し続け、選択されたグリッドを、ロボットが障害物の縁に沿って走行する縁沿い予測経路に新たに計画された縁沿い動作点としてマークする。ステップS508は、ロボット内部の縁沿い予測経路メモリには上記縁沿い動作点が記憶されるか否かを判断し、所定障害物回避グリッド数の縁沿い動作点を、ロボットの中心位置から中心位置衝突を回避する障害物の縁沿い予測経路に計画することに十分である。なお、上記グリッドの選択及び算出は、対応するグリッド座標点の選択及び算出と見なすことができる。
【0119】
前述のステップS501~ステップS508を実行することにより、ステップS501でマークされた衝突点が上記右衝突点である場合、ロボットの現在位置に対して障害物の縁の周りに時計回りに分布し、かつ上記ロボットの現在位置に対する角度値が最も小さい上記事前縁沿い条件を満たすグリッドを、上記最適な縁沿い条件を満たすグリッドとして選択することにより、当該上記最適な縁沿い条件を満たすグリッドを上記左側の縁沿い予測経路に計画し、左側の縁沿い動作があるロボットは、障害物の左側縁(輪郭線)に沿って時計回りに移動し、ステップS501でマークされた衝突点が上記左衝突点である場合、ロボットの現在位置に対して障害物の縁の周りに反時計回りに分布し、かつ上記ロボットの現在位置に対する角度値が最も大きい上記事前縁沿い条件を満たすグリッドを、上記最適な縁沿い条件を満たすグリッドとして選択することにより、当該上記最適な縁沿い条件を満たすグリッドを上記右側の縁沿い予測経路に計画し、右縁の沿い動作があるロボットは、障害物の右側縁(輪郭線)に沿って反時計回りに移動する。したがって、上記ロボットの障害物回避に用いられる縁沿い方向が逆である2つの縁沿い予測経路は、それぞれ左側の縁沿い予測経路と右側の縁沿い予測経路である。
【0120】
前述の全ての実施例に基づいて、さらに、ロボットの障害物回避制御方法を開示し、該方法は、上記障害物回避終了の判断方法を実行するようにロボットを制御するステップと、ロボット現在の障害物回避が終了したと決定する場合、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をすることを停止するように制御して障害物回避を終了するステップと、ロボット現在の障害物回避が終了していないと決定する場合、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をするように制御し、同時に上記障害物回避終了の判断方法を実行し続けるステップとを含む。従来技術に比べて、本実施例は、ロボットが障害物の周りに絶え間なく縁沿い走行をすることを回避し、ロボットが障害物を回避した後にナビゲーション経路にタイムリーに切り替え、ロボットのナビゲーション効率を向上させることができる。
【0121】
該障害物回避制御方法は、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をすることを停止した後、ロボットが予め設定されたナビゲーション経路に従って走行するように制御し、ロボットが障害物に衝突したことを検出した後、上記最速縁沿い予測経路を計画して選択し、次に上記障害物回避終了の判断方法に戻って実行し、ロボットが上記最終的なナビゲーション目標点にナビゲートするまで、これを繰り返すステップをさらに含み、ロボットの元に設定されたナビゲーションが障害物回避により中断しないように保持し、ロボットのナビゲーション動作の効率を向上させる。
【0122】
好ましくは、ロボットが予め計画された最速縁沿い予測経路に従って縁沿い走行をする過程で、所定縁沿い時間内にロボットの縁沿い回転角度及び縁沿い走行距離が、対応する限定条件を満たすと判断する場合、ロボット現在の障害物回避が終了していないと決定し、次に、ロボットが上記最速縁沿い予測経路に従って縁沿い走行をし続けるように制御し、そうでなければ、ロボットが予め選択された最速縁沿い予測経路に従って縁沿い走行をすることを停止するように制御して障害物回避を終了する。具体的なステップは、前述の実施例における対応する方法ステップを参照することができ、ここでは繰り返し説明しない。本実施例は、ロボットの縁沿い障害物回避動作を早期に終了し、ロボットに現在の最速縁沿い予測経路を早期に放棄することを選択させる。ロボットが長時間に縁沿い走行をするため、上記最終的なナビゲーション目標点から外れすぎることを回避する。
【0123】
チップであり、プログラムコードが記憶されており、該プログラムコードは、チップにより実行される場合に前記障害物回避終了の判断方法を実現するか、又は前記障害物回避制御方法を実現する。フローチャートで示されるか又はここで他の形態で説明されたロジック及び/又はステップは、例えば、ロジック機能を実現するための実行可能な命令の順番付けられたリストであると考えられてよく、任意のコンピュータ可読媒体に具体的に実現することにより、命令実行システム、装置又は機器(例えば、コンピュータに基づくシステム、プロセッサを含むシステム、又は命令実行システム、装置、又は機器から命令を読み取って命令を実行できる他のシステム)に使用され、又はこれらの命令実行システム、装置若しくは機器と組み合わせて使用される。本明細書について言えば、「コンピュータ可読媒体」は、命令実行システム、装置又は機器により使用されるために、又はこれらの命令実行システム、装置又は機器と組み合わせて使用するために、プログラムを含み、記憶し、通信し、伝播するか又は伝送できるいずれかの装置であってもよい。コンピュータ可読媒体のさらに具体的な例示(非網羅的リスト)には、1つ以上の配線を有する電気接続部(電子装置)、ポータブル型コンピュータディスク(磁気装置)、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ装置、及びコンパクト光ディスク読み出し専用メモリ(CDROM)が含まれる。また、コンピュータ可読媒体は、さらに、その上に上記プログラムを印刷できる紙又は他の適切な媒体であってよい。なぜなら、例えば、紙又は他の媒体に光学走査を行ってから、編集、解釈又は必要に応じて他の適切な方式によって処理して、電子的に上記プログラムを取得し、その後に、それをコンピュータメモリに記憶することができるからである。
【0124】
ロボットであり、該ロボットの本体の左前部には、ロボットの進行方向の左側に衝突した障害物を検出し、具体的には、ロボットが障害物の縁に沿って反時計回り方向に縁沿い走行をする場合に本体の左側に衝突した障害物を検出する左側衝突検出器が設置され、該ロボットの本体の右前部には、ロボットの進行方向の右側に衝突した障害物を検出し、具体的には、ロボットが障害物の縁に沿って時計回り方向に縁沿い走行をする場合に本体の右側に衝突した障害物を検出する右側衝突検出器が設置され、該ロボットには、上記チップが設置され、上記チップは、それぞれ左側衝突検出器及び右側衝突検出器に接続され、ロボットは、上記障害物回避制御方法を実行するように構成される。左側衝突検出器及び右側衝突検出器は、ロボットの本体の左右両側に対称的に設置され、ロボットの正面が障害物に衝突した場合、左側衝突検出器及び右側衝突検出器が同時にトリガされて検出を行い、対応する方向の障害物との衝突点を前衝突点としてマークすることにより、ロボットが同じ位置でマークした前衝突点、左衝突点及び右衝突点は、いずれもロボットの正面に衝突した障害物の輪郭線の接線に位置し、障害物の輪郭線は、グリッドマップにマークして形成される。
【0125】
以上の実施例は、当業者が本発明の内容を理解して実施することができるように、本発明の技術的思想及び特徴を説明するためのものにすぎず、本発明の保護範囲を限定するものではない。本発明の精神と原則内で行われるいかなる同等置換又は修正は、いずれも本発明の保護範囲内に含まれるべきである。