(57)【要約】本発明は、ロボットの障害物回避制御システム、方法、ロボット及び記憶媒体を開示し、該方法は、ロボットの現在位置決めデータを取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定し、現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出し、さらに取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、障害物を回避する。本発明は、ロボットの効果的な障害物回避制御を達成することができる。
2019516146.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの障害物回避制御システムであって、
ロボットの現在位置決めデータをリアルタイム又は定時的に取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定することに用いられる確定モジュールと、
現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出することに用いられる演算モジュールと、
取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、障害物を回避することに用いられる制御モジュールと、
を備えることを特徴とするロボットの障害物回避制御システム。
【請求項２】
前記演算モジュールは、
予め確定されたロボットの３Ｄモデル及び前記障害物の３Ｄモデルを前処理し、ロボットの各関節について、予め確定されたアルゴリズムを用いて各関節を包囲する最小凸多面体を見つけ、ロボットの非凸モデルを凸体モデルに変換し、
前記障害物の３Ｄモデルを扇形に等分し、かつ等分後の単一扇形を凸分解し、
取得した位置決めデータ、前処理後のロボットの３Ｄモデルデータ及び前処理後の前記障害物の３Ｄモデルデータに対し、予め確定された距離算出ルールを用いてロボットと前記障害物との最小距離を算出する
ことにさらに用いられることを特徴とする請求項１に記載のロボットの障害物回避制御システム。
【請求項３】
前記演算モジュールは、
扇形等分対象障害物の３Ｄモデルの球形バウンディングボックスを構築し、球形バウンディングボックスの球心を見つけ、
前記球心を通過する初期扇形等分平面を設け、前記初期扇形等分平面を予め設定された回転角に従って前記球心の回りに複数回回転させ、球形バウンディングボックスをｎ個の扇形部分に等分し、前記球形バウンディングボックスのｎ個の扇形部分を障害物の３Ｄモデルのｎ個のモデル部分とする
ことにさらに用いられることを特徴とする請求項２に記載のロボットの障害物回避制御システム。
【請求項４】
前記予め確定された距離算出ルールとして、
ロボットの現在位置決めデータ及び予め確定された選別アルゴリズムに基づき、障害物の３Ｄモデルを扇形に等分した後に取得した各モデル部分を選別することによって、距離算出対象のモデル部分を選別し、
取得した位置決めデータ、選別されたモデル部分に対し、予め確定された距離算出アルゴリズムを用いてロボットと選別されたモデル部分との最小距離を算出し、前記最小距離をロボットと障害物との最小距離とし、
前記予め確定された選別アルゴリズムとして、
障害物の３Ｄモデルのｎ個のモデル部分をそれぞれ障害物のｎ個のノードとして、キー値が初期扇形等分平面に対する偏角であるハッシュテーブルを構築することで、モデルノード管理を行い、
各モデル部分に番号をつけ、番号に基づき、番号がｉであるモデル部分の偏角マッピング関係を構築し、前記偏角マッピング関係を表すハッシュ関数は、
Ｈａｓｈ（ｉ）＝ｉ＊（３６０°／ｎ）であり、
ただし、Ｈａｓｈ（ｉ）は番号がｉである扇形モデル部分と障害物座標系のＸ軸正方向との偏角を表し、
ロボットの運動学方程式を構築し、構築された運動学方程式に基づいてロボットの各関節の位置姿勢を算出し、前記運動学方程式は、
Ｔｉ＝Ａ０Ａ１Ａ２・・・Ａｉ−１Ａｉであり、
ただし、Ａｋ（ｋ＝１，２，…，ｉ）はロボット関節座標系間の同次変換マトリックスであり、Ａ０はロボットの現在位置マトリックスであり、Ｔｉはロボット座標系に対する第ｉ個の関節の位置姿勢であり、
Ｔｉによってロボット運動過程においてロボット座標系での各関節の座標Ｑｉ（ｘ，ｙ，ｚ）を算出し、かつロボット座標系が障害物座標系へ変換される変換マトリックスTｒを算出することで、障害物座標系におけるロボットの関節の座標Ｑｉ（ｘｔ，ｙｔ，ｚｔ）は、Ｑｉ（ｘｔ，ｙｔ，ｚｔ）＝ＴｒＱｉ（ｘ，ｙ，ｚ）であり、
下記公式によって得られる障害物座標系での関節の偏角αは、
ｔａｎ（α）＝ｙｔ／ｘｔであり、
偏角α及びハッシュ関数Ｈａｓｈ（ｉ）に基づいて対応する番号のモデル部分を算出し、かつ対応する番号のモデル部分に基づいて距離算出対象のモデル部分を選別する
ことを特徴とする請求項２に記載のロボットの障害物回避制御システム。
【請求項５】
前記制御モジュールは、
ロボット及び前記障害物の３Ｄモデルを同一の座標系平面に投影し、
予め確定された投影分析ルール及び障害物の３Ｄモデルが前記座標系平面に投影される投影領域の外輪郭における各点の座標に基づき、ロボットの現在位置決め位置及び目標位置に対する前記障害物の３Ｄモデルの投影の有効遮断領域の面積を算出し、
算出された最小距離及び有効遮断領域の面積に基づいて第一プリセットタイプの障害物回避パラメーターを確定し、目標位置とロボットの現在位置決め位置との距離に基づいて第二プリセットタイプの障害物回避パラメーターを確定し、前記第一プリセットタイプの障害物回避パラメーター及び前記第二プリセットタイプの障害物回避パラメーターに基づいて現在ロボットが移動すべき方向を確定する
ことにさらに用いられることを特徴とする請求項１に記載のロボットの障害物回避制御システム。
【請求項６】
前記予め確定された投影分析ルールとして、
座標系平面のP１位置点をロボットの現在位置決め位置、P２位置点を目標位置、投影領域Ｐ３を前記座標系平面における障害物の３Ｄモデルの投影として設定し、また前記座標系平面においてP１とP２を直線Jで繋ぎ、
直線Jと投影領域Ｐ３との交点数がゼロであるか又は１つのみであれば、有効遮断領域が存在しないと確定し、
直線Jと投影領域Ｐ３との交点数が１つを超えれば、直線Jは投影を２つの部分に分割し、投影領域Ｐ３に任意の点PSを見つけ、PSを通過して直線Jの垂直線を作り、垂直線と直線Jとの交点をPＪとして設定し、ベクトル
2019516146.tif 000046
を得て、最小距離のベクトル
2019516146.tif 000047
とベクトル
2019516146.tif 000048
との角θを算出し、角θが鋭角であると判断すれば、PS 点の存在する領域が有効遮断領域であると確定し、角θが鋭角でないと判断すれば、PS点の存在する領域が有効遮断領域ではないと確定する
ことを特徴とする請求項５に記載のロボットの障害物回避制御システム。
【請求項７】
前記第一プリセットタイプの障害物回避パラメーターが仮想斥力であり、前記第二プリセットタイプの障害物回避パラメーターが仮想引力であり、前記制御モジュールは、
算出された最小距離及び有効遮断領域の面積に基づき、第一算出ルールでロボットに作用する仮想斥力を算出し、
現在位置決め位置と目標点位置との距離に基づき、第二算出ルールでロボットに作用する仮想引力を算出し、
前記仮想引力と仮想斥力の合力方向を算出して現在ロボットが移動すべき方向とする
ことにさらに用いられることを特徴とする請求項５に記載のロボットの障害物回避制御システム。
【請求項８】
前記第一算出ルールとして、
ロボットと障害物との最小距離のベクトルを
2019516146.tif 000049
、有効遮断領域の面積をＳ、障害物のロボットに対する仮想斥力を
2019516146.tif 000050
として設定すると、算出式は、
2019516146.tif 000051
であり、
ただし、
2019516146.tif 000052
はロボットと障害物との最小距離のベクトルであり、Ｓは有効遮断領域の面積であり、
2019516146.tif 000053
は障害物のロボットに対する仮想斥力であり、ｋｒ、ｂｒは予め設定された仮想斥力係数であり、ｓ０は予め設定された有効遮断領域の面積の閾値であり、ｄ０は予め設定された距離の閾値であり、
2019516146.tif 000054
の方向は最小距離の方向と同じである
ことを特徴とする請求項７に記載のロボットの障害物回避制御システム。
【請求項９】
前記第二算出ルールとして、
Ｆｔ＝ｋｔ＊ｄｔであり、
ただし、
2019516146.tif 000055
は目標位置のロボットに対する仮想引力であり、ｋｔは予め設定された引力係数であり、ｄｔは目標位置とロボットの現在位置決め位置との距離であり、
2019516146.tif 000056
の方向は目標位置に向かう
ことを特徴とする請求項７に記載のロボットの障害物回避制御システム。
【請求項１０】
ロボットの障害物回避方法であって、
ロボットの現在位置決めデータをリアルタイム又は定時的に取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定するステップＡ１と、
現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出するステップＡ２と、
取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、障害物を回避するステップＡ３と、
を備えることを特徴とするロボットの障害物回避方法。
【請求項１１】
前記ステップＡ２として、
予め確定されたロボットの３Ｄモデル及び前記障害物の３Ｄモデルを前処理し、ロボットの各関節について、予め確定されたアルゴリズムを用いて各関節を包囲する最小凸多面体を見つけ、ロボットの非凸モデルを凸体モデルに変換し、
前記障害物の３Ｄモデルを扇形に等分し、かつ等分後の単一扇形を凸分解し、
取得した位置決めデータ、前処理後のロボットの３Ｄモデルデータ及び前処理後の前記障害物の３Ｄモデルデータに対し、予め確定された距離算出ルールを用いてロボットと前記障害物との最小距離を算出する
ことを特徴とする請求項１０に記載のロボットの障害物回避方法。
【請求項１２】
前記ステップＡ２では、さらに、
扇形等分対象障害物の３Ｄモデルの球形バウンディングボックスを構築し、球形バウンディングボックスの球心を見つけ、
前記球心を通過する初期扇形等分平面を設け、前記初期扇形等分平面を予め設定された回転角に従って前記球心の回りに複数回回転させ、球形バウンディングボックスをｎ個の扇形部分に等分し、前記球形バウンディングボックスのｎ個の扇形部分を障害物の３Ｄモデルのｎ個のモデル部分とする
ことを特徴とする請求項１１に記載のロボットの障害物回避方法。
【請求項１３】
前記予め確定された距離算出ルールとして、
ロボットの現在位置決めデータ及び予め確定された選別アルゴリズムに基づき、障害物の３Ｄモデルを扇形に等分した後に取得した各モデル部分を選別することによって、距離算出対象のモデル部分を選別し、
取得した位置決めデータ、選別されたモデル部分に対し、予め確定された距離算出アルゴリズムを用いてロボットと選別されたモデル部分との最小距離を算出し、前記最小距離をロボットと障害物との最小距離とし、
前記予め確定された選別アルゴリズムとして、
障害物の３Ｄモデルのｎ個のモデル部分をそれぞれ障害物のｎ個のノードとして、キー値が初期扇形等分平面に対する偏角であるハッシュテーブルを構築することで、モデルノード管理を行い、
各モデル部分に番号をつけ、番号に基づき、番号がｉであるモデル部分の偏角マッピング関係を構築し、前記偏角マッピング関係を表すハッシュ関数は、
Ｈａｓｈ（ｉ）＝ｉ＊（３６０°／ｎ）であり、
ただし、Ｈａｓｈ（ｉ）は番号がｉである扇形モデル部分と障害物座標系のＸ軸正方向との偏角を表し、
ロボットの運動学方程式を構築し、構築された運動学方程式に基づいてロボットの各関節の位置姿勢を算出し、前記運動学方程式は、
Ｔｉ＝Ａ０Ａ１Ａ２・・・Ａｉ−１Ａｉであり、
ただし、Ａｋ（ｋ＝１，２，…，ｉ）はロボット関節座標系間の同次変換マトリックスであり、Ａ０はロボットの現在位置マトリックスであり、Ｔｉはロボット座標系に対する第ｉ個の関節の位置姿勢であり、
Ｔｉによってロボット運動過程においてロボット座標系での各関節の座標Ｑｉ（ｘ，ｙ，ｚ）を算出し、かつロボット座標系が障害物座標系へ変換される変換マトリックスＴｒを算出することで、障害物座標系におけるロボットの関節の座標Ｑｉ（ｘｔ，ｙｔ，ｚｔ）は、
Ｑｉ（ｘｔ，ｙｔ，ｚｔ）＝ＴｒＱｉ（ｘ，ｙ，ｚ）であり、
下記公式によって得られる障害物座標系での関節の偏角αは、
ｔａｎ（α）＝ｙｔ／ｘｔであり、
偏角α及びハッシュ関数Ｈａｓｈ（ｉ）に基づいて対応する番号のモデル部分を算出し、かつ対応する番号のモデル部分に基づいて距離算出対象のモデル部分を選別する
ことを特徴とする請求項１１に記載のロボットの障害物回避方法。
【請求項１４】
前記ステップＡ３として、
ロボット及び前記障害物の３Ｄモデルを同一の座標系平面に投影し、
予め確定された投影分析ルール及び障害物の３Ｄモデルが前記座標系平面に投影される投影領域の外輪郭における各点の座標に基づき、ロボットの現在位置決め位置及び目標位置に対する前記障害物の３Ｄモデルの投影の有効遮断領域の面積を算出し、
算出された最小距離及び有効遮断領域の面積に基づいて第一プリセットタイプの障害物回避パラメーターを確定し、目標位置とロボットの現在位置決め位置との距離に基づいて第二プリセットタイプの障害物回避パラメーターを確定し、前記第一プリセットタイプの障害物回避パラメーター及び前記第二プリセットタイプの障害物回避パラメーターに基づいて現在ロボットが移動すべき方向を確定する
ことを特徴とする請求項１０に記載のロボットの障害物回避方法。
【請求項１５】
前記予め確定された投影分析ルールとして、
座標系平面のP１位置点をロボットの現在位置決め位置、P２位置点を目標位置、投影領域Ｐ３を前記座標系平面における障害物の３Ｄモデルの投影として設定し、また前記座標系平面においてP１とP２を直線Jで繋ぎ、
直線Jと投影領域Ｐ３との交点数がゼロであるか又は１つのみであれば、有効遮断領域が存在しないと確定し、
直線Jと投影領域Ｐ３との交点数が１つを超えれば、直線Jは投影を２つの部分に分割し、投影領域Ｐ３に任意の点PSを見つけ、PSを通過して直線Jの垂直線を作り、垂直線と直線Jとの交点をPＪとして設定し、ベクトル
2019516146.tif 000057
を得て、最小距離のベクトル
2019516146.tif 000058
とベクトル
2019516146.tif 000059
との角θを算出し、角θが鋭角であると判断すれば、PS点の存在する領域が有効遮断領域であると確定し、角θが鋭角でないと判断すれば、PS点の存在する領域が有効遮断領域ではないと確定する
ことを特徴とする請求項１４に記載のロボットの障害物回避方法。
【請求項１６】
前記第一プリセットタイプの障害物回避パラメーターが仮想斥力であり、前記第二プリセットタイプの障害物回避パラメーターが仮想引力であり、前記ステップＡ３では、さらに
算出された最小距離及び有効遮断領域の面積に基づき、第一算出ルールでロボットに作用する仮想斥力を算出し、
現在位置決め位置と目標点位置との距離に基づき、第二算出ルールでロボットに作用する仮想引力を算出し、
前記仮想引力と仮想斥力の合力方向を算出して現在ロボットが移動すべき方向とする
ことを特徴とする請求項１４に記載のロボットの障害物回避方法。
【請求項１７】
前記第一算出ルールとして、
ロボットと障害物との最小距離のベクトルを
2019516146.tif 000060
、有効遮断領域の面積をＳ、障害物のロボットに対する仮想斥力を
2019516146.tif 000061
として設定すると、算出式は、
2019516146.tif 000062
であり、
ただし、
2019516146.tif 000063
はロボットと障害物との最小距離のベクトルであり、Ｓは有効遮断領域の面積であり、
2019516146.tif 000064
は障害物のロボットに対する仮想斥力であり、ｋｒ、ｂｒは予め設定された仮想斥力係数であり、ｓ０は予め設定された有効遮断領域の面積の閾値であり、ｄ０は予め設定された距離の閾値であり、仮想斥力の方向は最小距離の方向と同じである
ことを特徴とする請求項１６に記載のロボットの障害物回避方法。
【請求項１８】
前記第二算出ルールとして、
Ｆｔ＝ｋｔ＊ｄｔであり、
ただし、
2019516146.tif 000065
は目標位置のロボットに対する仮想引力であり、ｋｔは予め設定された引力係数であり、ｄｔは目標位置とロボットの現在位置決め位置との距離であり、
2019516146.tif 000066
の方向は目標位置に向かう
ことを特徴とする請求項１６に記載のロボットの障害物回避方法。
【請求項１９】
ロボットであって、
プロセッサと、メモリとを備え、前記メモリにはロボットの障害物回避制御システムが記憶されており、請求項１０乃至１８のいずれか一項に記載のロボットの障害物回避方法におけるいずれかのステップを実現するように、前記ロボットの障害物回避制御システムは前記プロセッサによって実行可能である
ことを特徴とするロボット。
【請求項２０】
コンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ読み取り可能な記憶媒体にはロボットの障害物回避制御システムが記憶されており、請求項１０乃至１８のいずれか一項に記載のロボットの障害物回避方法におけるいずれかのステップを実現するように、前記ロボットの障害物回避制御システムは少なくとも１つのプロセッサによって実行可能である
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
「関連出願の相互参照」
本願は、パリ条約に基づいて、２０１７年３月２７日に出願された、出願番号がＣＮ２０１７１０１８６５８１６の、「ロボットの障害物回避制御システム及び方法」と題する中国特許出願の優先権を主張し、当該出願の全体が参照により本願に援用される。
【０００２】
本発明は、コンピュータの技術分野に関するものであり、特にロボットの障害物回避制御システム、方法、ロボット及び記憶媒体に関するものである。
【背景技術】
【０００３】
現在、自律移動ロボットは、数多くのシーンに幅広く応用され、例えば観覧者を１つの展示エリアから他の展示エリアへ案内して紹介する展示場の案内仕事、お客様を能動的に迎えた後、空いた座席に案内して注文させるレストランのサービス仕事、プログラムが設定した経路に沿って移動し、手伝いが必要な時に止まって質問に答える等の公共場所の案内、パトロール仕事等々である。これらのシーンで、ロボットの移動中に周囲環境における障害物への衝突をどのようにして回避するかということは、重要な技術的課題となる。現在、自律移動ロボットは、自身のセンサーによって位置決め及び障害物回避を行い、業界において通常の障害物回避手段として、ロボットに接近センサー（例えば、超音波、赤外、レーザー等のセンサー）を装着し、ロボットが障害物からの一定の距離（例えば、１０ｃｍ）を検出すると、障害物回避を行う。
【０００４】
従来の障害物回避手段において、１、センサーの設置高さの平面にしか障害物を検出できず、四脚卓等の状況について、センサーの設置高さが３０センチメートルで、天板の高さが６０センチメートルであれば、センサーは障害物を検出できず、最終的にロボットが天板に衝突してしまい、２、センサーが装着されている方向にしか障害物を検出できず、ロボットの後部にセンサーがなければ、後退すると障害物に衝突してしまう、という欠点が存在する。
【０００５】
したがって、センサーが全面的に探知できない場合、どのようにしてロボットの効果的な障害物回避制御を達成するかということは既に差し迫った技術的問題となっている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ロボットの効果的な障害物回避制御を達成すべく、ロボットの障害物回避制御システム、方法、ロボット及び記憶媒体を提供することを主な目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成すべく、本願の第一実施形態によれば、ロボットの障害物回避制御システムを提供し、前記ロボットの障害物回避制御システムは、
ロボットの現在位置決めデータをリアルタイム又は定時的に取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定することに用いられる確定モジュールと、
現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出することに用いられる演算モジュールと、
取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、障害物を回避することに用いられる制御モジュールと、を備える。
【０００８】
本願の第二実施形態によれば、さらにロボットの障害物回避方法を提供し、前記方法は、
ロボットの現在位置決めデータをリアルタイム又は定時的に取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定するステップＡ１と、
現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出するステップＡ２と、
取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、障害物を回避するステップＡ３と、を備える。
【０００９】
本願の第三実施形態によれば、ロボットを提供し、プロセッサと、メモリとを備え、前記メモリにはロボットの障害物回避制御システムが記憶されており、前記ロボットの障害物回避制御システムは、前記プロセッサによって実行されることで、
ロボットの現在位置決めデータをリアルタイム又は定時的に取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定するステップＡ１と、
現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出するステップＡ２と、
取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、障害物を回避するステップＡ３と、を実現することができる。
【００１０】
本願の第四実施形態によれば、コンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ読み取り可能な記憶媒体にはロボットの障害物回避制御システムが記憶されており、前記ロボットの障害物回避制御システムは、少なくとも１つのプロセッサによって実行されることで、
ロボットの現在位置決めデータをリアルタイム又は定時的に取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定するステップＡ１と、
現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出するステップＡ２と、
取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、障害物を回避するステップＡ３と、を実現することができる。
【発明の効果】
【００１１】
本発明の提供するロボットの障害物回避制御システム、方法、ロボット及び記憶媒体は、ロボットの現在位置決めデータによって現在位置決め位置からの距離が予め設定された距離より短い障害物が存在すると検出する場合、ロボットの現在位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、三次元空間におけるロボットと前記障害物との最小距離を算出し、かつ現在ロボットが移動すべき方向を算出することで、ロボットの移動姿勢を制御し、三次元空間におけるロボットと前記障害物との最小距離によってロボットの移動方向を制御できるため、三次元空間におけるロボットの各方向の障害物への検出及び回避を実現し、ロボットの効果的な障害物回避制御を達成する。
【図面の簡単な説明】
【００１２】
【図１】本発明に係るロボットの障害物回避方法の一実施例のフローチャートである。
【図２ａ】本発明に係るロボットの障害物回避方法の一実施例における障害物の３Ｄモデルに対する扇形等分の概略図である。
【図２ｂ】本発明に係るロボットの障害物回避方法の一実施例における符号がｋである扇形モデル部分の概略図である。
【図３ａ】本発明に係るロボットの障害物回避方法の一実施例におけるロボットと障害物の３Ｄモデルの概略図である。
【図３ｂ】本発明に係るロボットの障害物回避方法の一実施例における立方体障害物モデルに対する扇形等分の概略図である。
【図３ｃ】本発明に係るロボットの障害物回避方法の一実施例におけるモデル部分に対する選別概略図である。
【図３ｄ】本発明に係るロボットの障害物回避方法の一実施例における最小距離ベクトル算出の概略図である。
【図４】本発明に係るロボットの障害物回避方法の一実施例における有効遮断領域確定の概略図である。
【図５】本発明に係る障害物回避制御システム１０の好適な実施例の実行環境の概略図である。
【図６】本発明に係る障害物回避制御システム１０の好適な実施例の機能モジュール図である。
【００１３】
以下、実施例及び図面を踏まえて、本発明の目的の達成、機能上の特徴及び利点を詳しく説明する。
【発明を実施するための形態】
【００１４】
本発明が解決しようとする技術的問題、技術的解決手段及び有益な効果をより明確にするために、以下、図面と実施例を組み合わせて本発明について詳細に説明し、本明細書に記載の具体的な実施例は、単に本発明を説明するものであり、本発明を限定するものではないことが理解できる。
【００１５】
本発明はロボットの障害物回避方法を提供する。
【００１６】
図１に示すように、図１は本発明に係るロボットの障害物回避方法の一実施例のフローチャートである。
【００１７】
一実施例において、前記ロボットの障害物回避方法は、ステップＳ１０と、ステップＳ２０と、ステップＳ３０とを備える。
【００１８】
ステップＳ１０：ロボットの障害物回避制御システムはロボットの現在位置決めデータ（例えば室内での位置、姿勢等）をリアルタイム又は定時的に（例えば、２秒ごとに）取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定する。例えば、ロボット自身のセンサーによって位置決めを行いかつ予め確定された移動領域内における各障害物との距離を判断することができ、例えば、ロボットに接近センサー（例えば、超音波、赤外、レーザー等のセンサー）を装着することで、ロボットの現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを判断することができる。
【００１９】
ステップＳ２０：現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出する。
【００２０】
ロボットの現在位置決め位置と予め確定された移動領域内における各障害物との距離を検出した後、現在位置決め位置からの距離が予め設定された距離より短い障害物が存在しないと判断する場合、目標位置の経路に沿って引き続き移動しかつロボットと移動領域内における各障害物との距離をリアルタイム又は定時的に検出する。現在位置決め位置からの距離が予め設定された距離より短い障害物が存在すると判断する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づいてロボットと前記障害物との最小距離を算出し、前記最小距離を用いて三次元空間においてロボットが目標位置の経路に沿って移動する時に前記障害物に衝突するか否かを判断し、それによってロボットのセンサーの設置高さ平面に障害物を検出できるだけでなく、またロボットにセンサーが装着されている方向にもロボットにセンサーが装着されていない他の方向にもいずれも三次元空間における各方向の潜在障害物を検出することができる。ただし、前記予め確定されたロボットの３Ｄモデル及び移動領域内における各障害物の３Ｄモデルは、ロボットの記憶ユニットに予め記憶されてもよいし、またロボットにより無線通信ユニットを介してモノのインターネットシステムサーバにアクセスして取得されてもよく、ここで限定しない。
【００２１】
ステップＳ３０：取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、三次元空間における各方向の潜在障害物を回避し、ロボットが目標位置の経路に沿って移動する時に効果的な障害物回避制御を達成する。
【００２２】
本実施例は、ロボットの現在位置決めデータによって現在位置決め位置からの距離が予め設定された距離より短い障害物が存在すると検出する場合、ロボットの現在位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、三次元空間におけるロボットと前記障害物との最小距離を算出し、かつ現在ロボットが移動すべき方向を算出することで、ロボットの移動姿勢を制御し、三次元空間におけるロボットと前記障害物との最小距離によってロボットの移動方向を制御できるため、三次元空間におけるロボットの各方向の障害物への検出及び回避を実現し、ロボットの効果的な障害物回避制御を達成する。
【００２３】
さらに、ステップＳ２０は、ステップＳ２０１と、ステップＳ２０２とを備える。
【００２４】
ステップＳ２０１：予め確定されたロボットの３Ｄモデル及び前記障害物の３Ｄモデルを前処理する。
【００２５】
ステップＳ２０２：取得した位置決めデータ、前処理後のロボットの３Ｄモデルデータ及び前処理後の障害物の３Ｄモデルデータに対し、予め確定された距離算出ルールを用いてロボットと障害物との最小距離を算出する。
【００２６】
例えば、ロボットと障害物が一般的には非凸体であるため、ロボットと障害物の３Ｄモデルに対して凸体に変換させるような前処理を行うことができ、それによって後続最小距離をより正確かつ急速に算出する。
【００２７】
さらに、ステップＳ２０１におけるロボットの３Ｄモデルの前処理として、ロボットの各関節について、予め確定されたアルゴリズム（例えば、ＱｕｉｃｋＨｕｌｌ高速凸包アルゴリズム）を直接用いて各関節を包囲する最小凸多面体を見つけ、それによってロボットの非凸モデルを凸体モデルに変換する。前記凸処理されたロボットの３Ｄモデルは後続最小距離ベクトルを算出する時に算出速度と算出精度を効果的に高めることができる。
【００２８】
障害物の３Ｄモデルの前処理方式は、非凸多面体の凸バウンディングボックスを構築してそれを凸体に変換させて衝突検出を行う方式、非凸多面体を凸分解して非凸モデルを複数の凸体に変換させて衝突検出を行う方式、障害物の３Ｄモデルを扇形に等分（すなわち扇形分割）し、続いて等分後の単一扇形を凸分解する方式を含み、このように扇形に等分してから凸分解を行う方式は前の２種類の方式と比べて算出速度がより速いだけでなく、算出精度もより高い。
【００２９】
障害物の３Ｄモデルを扇形に等分する前記ステップでは、さらに、
扇形等分対象障害物の３Ｄモデルの球形バウンディングボックスを構築し、球形バウンディングボックスの球心を見つけ、
前記球心を通過する初期扇形等分平面を設け、前記初期扇形等分平面を予め設定された回転角に従って前記球心の回りに複数回回転させ、球形バウンディングボックスをｎ個の扇形部分に等分し、前記球形バウンディングボックスのｎ個の扇形部分を障害物の３Ｄモデルのｎ個のモデル部分とする。
【００３０】
例えば、一つの実施形態において、ステップＸ１と、ステップＸ２と、ステップＸ３と、ステップＸ４とを備える。
【００３１】
ステップＸ１：扇形等分対象障害物の３ＤモデルＭの球形バウンディングボックスＢを構築し、球形バウンディングボックスＢの球心Ｏを見つけ、続いて球心Ｏに三次元座標系Ｏｘｙｚを構築する。
【００３２】
ステップＸ２：球心Ｏを通過して三次元座標系Ｏｘｙｚのｚ軸と重なる直線Ｌを作り、ｘｏｚ平面がすなわち初期扇形等分平面であり、ｘｏｚ平面をα１とし、平面α１が障害物の３Ｄモデルを２つの部分に分ける。
【００３３】
ステップＸ３：直線Ｌの回りに平面α１を一定の角度β（βは隣接する扇形偏角を表す）に回転させて新しい平面α２を得て、新しい平面を角度β引き続き回転して平面α３を得て、ｍ−１回回転して第ｍ個の平面αｎを得ることができる。
【００３４】
ステップＸ４：β＝１８０／ｍとすれば、ｍ個の平面は球形バウンディングボックスＢを２ｍの部分に等分することができ、障害物の３Ｄモデルはすなわち２ｍ個のモデル部分に分割され、前記ステップによって、非凸モデルも含まれる任意モデルに対する簡単な分割を完了し、かつハッシュテーブルによって分割されたモデル部分を管理することができる。
【００３５】
等分後の単一扇形を凸分解する前記ステップでは、さらに、
Ｄｅｌａｕｎａｙ三角形分割アルゴリズムを用いて障害物の３Ｄモデルに対して表面三角形分割を行うことで、三角形パッチ（凸状シート）集合を生成し、さらに各三角形パッチに対してそれに対応する凸ブロックを構築する。例えば、厚さがゼロである三角形パッチに対してその平面法線ベクトルの方向に所定厚さの引張を行うことで、凸ブロックを得る。
【００３６】
さらに、前記予め確定された距離算出ルールとして、
ロボットの現在位置決めデータ（室内位置、姿勢等）及び予め確定された選別アルゴリズムに基づき、障害物の３Ｄモデルを扇形に等分した後に取得した各モデル部分を選別することによって、距離算出対象のモデル部分を選別し、
取得した位置決めデータ、選別されたモデル部分に対し、予め確定された距離算出アルゴリズム（例えば、ＧＪＫアルゴリズム）を用いてロボットと選別されたモデル部分との最小距離を算出し、前記最小距離をロボットと障害物の３Ｄモデルとの最小距離とする。
【００３７】
さらに、図２ａ、２ｂに示すように、図２ａは本発明に係るロボットの障害物回避方法の一実施例における障害物の３Ｄモデルに対する扇形等分の概略図であり、図２ｂは本発明に係るロボットの障害物回避方法の一実施例における符号がｋである扇形モデル部分の概略図であり、前記予め確定された選別アルゴリズムは、ステップＹ１と、ステップＹ２と、ステップＹ３とを備える。
【００３８】
ステップＹ１：障害物の３Ｄモデルを扇形に等分した後に取得したｎ個のモデル部分をそれぞれ障害物のｎ個のノードとして、ｋｅｙ−ｖａｌｕｅ（キー値）がそれぞれ初期扇形等分平面（すなわちｘｏｚ平面）に対する回転角（すなわち偏角）及びモデル幾何情報データであるハッシュテーブルを構築することで、モデルノード管理を行う。
【００３９】
ステップＹ２：扇形等分後に取得した各モデル部分に１からの番号をつけ、等分されたｎ個の扇形モデル部分は、隣接する扇形偏角が３６０°／ｎであり、番号に基づき、初期番号がｉである扇形モデル部分の偏角マッピング関係を構築し、前記偏角マッピング関係を表すハッシュ関数は、Ｈａｓｈ（ｉ）＝ｉ＊（３６０°／ｎ）である。
【００４０】
ただし、ｉは番号がｉである扇形モデル部分であり、Ｈａｓｈ（ｉ）は番号がｉである扇形モデル部分と障害物座標系のＸ軸正方向との偏角を表す。
【００４１】
ステップＹ３：図２に示すように、ロボットの運動学方程式を構築し、構築された運動学方程式に基づいてロボットの各関節の位置姿勢を算出し、構築されたハッシュテーブルからロボット近傍の障害物扇形領域を検索する。ロボットの運動中に、ロボットの運動学方程式は、
Ｔｉ＝Ａ０Ａ１Ａ２・・・Ａｉ−１Ａｉである。
【００４２】
ただし、Ａｋ（ｋ＝１，２，…，ｉ）はロボット関節座標系間の同次変換マトリックス（ロボットの各関節のＤ−Ｈパラメーターによって確定できる）であり、Ａ０はロボットの現在位置マトリックス（ロボットの現在位置決めデータに対応する）であり、Ｔｉはロボット座標系に対する第ｉ個の関節の位置姿勢である。
【００４３】
Ｔｉによってロボット運動過程において各関節の局所的な座標系原点座標のリアルタイム更新値Ｑｉ（ｘ，ｙ，ｚ）を算出し、さらに障害物座標系での関節の偏角αを得る。
【００４４】
2019516146.tif 000003
【００４５】
ただし、Ｑｉ（ｘ，ｙ，ｚ）はロボット座標系におけるロボットの関節の座標を表し、Tｒはロボット座標系から障害物座標系へ変換される変換マトリックス（４×４のマトリックスであり、ロボット座標系及び障害物座標系は既に確定され、前記マトリックスは直接算出される）であれば、障害物座標系におけるロボットの関節の座標Ｑｉ（ｘｔ，ｙｔ，ｚｔ）は、Ｑｉ（ｘｔ，ｙｔ，ｚｔ）＝ＴｒＱｉ（ｘ，ｙ，ｚ）である。
【００４６】
障害物座標系のＺ軸の正方向を上向きとし、右手座標系に準じ、障害物座標系での関節の偏角をαとすれば、ｔａｎ（α）＝ｙｔ／ｘｔである。
【００４７】
三角関数の解を求めて障害物座標系での関節の偏角αを取得し、続いて前記偏角マッピング関係を表すハッシュ関数Ｈａｓｈ（ｉ）に基づいて対応する番号の扇形モデル部分を算出することができ、かつ対応する番号のモデル部分に基づいて距離算出対象のモデル部分を選別する。例えば、算出された扇形モデル部分の番号がｋであれば、番号が［ｋ−Ｍ，ｋ＋Ｎ］範囲内の扇形モデル部分を選択して最小距離を算出することができる。ただし、Ｍ、Ｎはプリセット値であり、番号がｋである扇形モデル部分近傍の複数の扇形モデル部分を最小距離算出対象のモデル部分として選択する。
【００４８】
図３ａに示すように、図３ａは本発明に係るロボットの障害物回避方法の一実施例におけるロボットと障害物の３Ｄモデルの概略図であり、一つの実施形態において、ロボットはシャーシのみが運動し、アーム等の他の運動関節がないロボットを採用し、ロボットの３Ｄモデルとして、高さ１５００ｍｍ、運動シャーシの半径３２０ｍｍのロボットの３Ｄモデルを採用し、障害物の３Ｄモデルは簡単な立方体モデルを採用し、寸法が２２００ｍｍ×２２００ｍｍ×１０００ｍｍであり、障害物モデル座標系でロボットの現在座標が（１８００，−１００）である。
【００４９】
図３ｂは本発明に係るロボットの障害物回避方法の一実施例における立方体障害物モデルに対する扇形等分の概略図であり、障害物モデルに対する前処理とは、主に障害物モデルを扇形に等分することであり、図３ｂに示すように、障害物モデルは３２個の部分に扇形等分され、Ｘ軸から反時計回りに扇形等分のモデル部分に１，２，…，１５，１６，…，３１，３２の順に番号をつける。各モデルブロックの角は３６０／３２＝１１．２５度であり、以上から分かるように、番号１のモデルブロックとＸ軸との正方向偏角は１１．２５度であり、番号２のモデルブロックとＸ軸との正方向偏角は１１．２５×２＝２２．５度であり、番号ｉのモデルブロックとＸ軸との正方向偏角はｉ×（３６０／３２）である。
【００５０】
図３ｃは本発明に係るロボットの障害物回避方法の一実施例におけるモデル部分に対する選別概略図であり、モデル部分を選別する過程において、本実施例の採用するロボットはシャーシのみが運動し、アーム等の他の運動関節がないため、シャーシの位置姿勢はロボットの全体の位置姿勢を表し、現在ロボットの位置は（１８００，−１００）（障害物座標系に対応する座標）であり、ロボットと障害物座標系のＸ軸の正軸との偏角が３５４度であると算出することができる。さらにロボットが対応する扇形モデル部分の番号が３５４／１１．２５＝３１．５であると算出し、四捨五入して３２を得て、そのため距離算出対象の対応する扇形ブロックの番号が３２であり、すなわちロボットが番号３２の障害物ブロックに最も近い。次にＫ＝３２近傍の障害物ブロックを選択し、ＧＪＫを採用してロボットとの最小距離及び最小距離点を算出する。Ｍ＝１、Ｎ＝２を取ると、障害物ブロックの範囲は［３１，３４］であり、番号が３２を超えると簡単に転換する必要があり、３３を対応する番号が１の障害物ブロックに転換し、３４を対応する番号が２の障害物ブロックに転換する。図３ｃに示すように、最後には番号３１、３２、１、２の障害物ブロックを選択して最小距離算出を行う。
【００５１】
図３ｄは本発明に係るロボットの障害物回避方法の一実施例における最小距離ベクトル算出の概略図であり、最小距離を算出する際、前記処理を経て、障害物ブロックの範囲（１，２，３１，３２）を既に小さくし、ＧＪＫアルゴリズムを直接採用してロボットと障害物との間の最小距離点を算出し、図３ｄに示すように、それぞれ障害物上の点（ｘ１，ｙ１，ｚ１）＝（１１００，−１００，−２３５）、ロボット上の点（ｘ２，ｙ２，ｚ２）＝（１４７７，−１００，−２３５）であり、そうすればロボットと障害物との間の最小距離ベクトルは
2019516146.tif 000004
である。
【００５２】
ステップＳ３０では、さらに、
ロボットの障害物回避制御システムは、算出された最小距離に基づいて障害物回避を行う必要があるか否かを分析し、算出された最小距離が予め設定された距離閾値より大きければ、障害物回避を行う必要がないと確定し、又は、算出された最小距離が予め設定された距離閾値以下である場合、障害物回避を行う必要があると確定する。障害物回避を行う必要があると確定すると、ロボットの障害物回避制御システムは、取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、かつ算出された移動方向に基づいてロボットの移動姿勢を制御する。
【００５３】
取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出する前記ステップでは、さらに、
ロボット及び前記障害物を同一座標系平面に投影し、
予め確定された投影分析ルール及び障害物の３Ｄモデルが前記座標系平面に投影される投影領域の外輪郭における各点の座標に基づき、ロボットの現在位置決め位置及び目標位置に対する前記障害物の投影の有効遮断領域の面積を算出し、
算出された最小距離及び有効遮断領域の面積に基づいて第一プリセットタイプの障害物回避パラメーター（例えば、仮想斥力）を確定し、目標点位置とロボットの現在位置決め位置との距離に基づいて第二プリセットタイプの障害物回避パラメーター（例えば、仮想斥力）を確定し、第一プリセットタイプの障害物回避パラメーター及び第二プリセットタイプの障害物回避パラメーターに基づいて現在ロボットが移動すべき方向を確定する。
【００５４】
さらに、図４に示すように、図４は本発明に係るロボットの障害物回避方法の一実施例における有効遮断領域確定の概略図であり、前記予め確定された投影分析ルールとして、
座標系平面のP１位置点をロボットの位置（現在位置決め位置）、P２位置点を目標点の位置（目標位置）、投影領域Ｐ３を座標系平面における障害物の３Ｄモデルの投影として設定し、また座標系平面においてP１とP２を直線Jで繋ぎ、
直線Jと投影領域Ｐ３との交点数がゼロであるか又は１つのみであれば、有効遮断領域が存在しないと確定し、
直線Jと投影領域Ｐ３との交点数が１つを超えれば、直線Jは投影を２つの部分（図４に示すＳ１領域とＳ２領域）に分割し、投影領域Ｐ３（例えばＳ１又はＳ２領域）に任意の点PSを見つけ、 PSを通過して直線Jの垂直線を作り、垂直線と直線Jとの交点をPＪとして設定し、さらにベクトル
2019516146.tif 000005
を得て、最小距離のベクトル
2019516146.tif 000006
とベクトル
2019516146.tif 000007
との角θを算出し、角θが鋭角であれば、PS点の存在する領域が有効遮断領域（例えば、図４における有効遮断投影領域Ｓ２）であると確定し、又は、角θが鋭角でなければ、PS点の存在する領域が有効遮断領域ではないと確定する。
【００５５】
さらに、前記第一プリセットタイプの障害物回避パラメーターが仮想斥力であり、前記第二プリセットタイプの障害物回避パラメーターが仮想引力であり、算出された最小距離及び有効遮断領域の面積に基づいて第一プリセットタイプの障害物回避パラメーターを確定し、目標位置とロボットの現在位置決め位置との距離に基づいて第二プリセットタイプの障害物回避パラメーターを確定し、前記第一プリセットタイプの障害物回避パラメーター及び前記第二プリセットタイプの障害物回避パラメーターに基づいて現在ロボットが移動すべき方向を確定する前記ステップでは、
算出された最小距離及び有効遮断領域の面積に基づき、第一算出ルールでロボットに作用する仮想斥力を算出し、
現在位置決め位置と目標点位置との距離に基づき、第二算出ルールでロボットに作用する仮想引力を算出し、
前記仮想引力と仮想斥力の合力方向を算出して、前記合力方向はすなわち現在ロボットが移動すべき方向である。
【００５６】
さらに、前記第一算出ルールとして、
2019516146.tif 000008
である。
【００５７】
ただし、
2019516146.tif 000009
はロボットと障害物との最小距離のベクトルであり、Ｓは有効遮断領域の面積であり、
2019516146.tif 000010
は障害物のロボットに対する仮想斥力であり、
2019516146.tif 000011
は最小距離ベクトルと有効遮断領域の面積が障害物のロボットに対する仮想斥力へ変換される関係式であり、前記関係式の実現には複数種類の方法があり、選択可能な実施例において、前記関係式は、
2019516146.tif 000012
である。
【００５８】
ただし、ｋｒ、ｂｒは予め設定された仮想斥力係数を表し、ｓ０は予め設定された有効遮断領域の面積閾値を表し、ｓ０＞０であり、ｄ０は予め設定された距離閾値を表し、ｄ０＞０であり、仮想斥力方向（すなわち
2019516146.tif 000013
方向）は最小距離の方向と同じである。
【００５９】
前記関係式に基づき、ロボットと障害物との距離が遠い際、設定された距離閾値ｄ０を超える場合に障害物回避を行わず、
2019516146.tif 000014
の大きさは０であり、障害物回避の距離範囲内（最小距離はｄ０より小さい）に入ると、有効遮断領域の面積ｓが大きく、設定された値ｓ０を超える場合、ｓ／ｓ０＞１であり、
2019516146.tif 000015
が大きくなり、距離が遠い場合に障害物回避を行うことができ、事前に障害物回避を行い、それによって大きい障害物を回避する。
【００６０】
さらに、前記第二算出ルールとして、Fｔ＝ｋｔ*ｄｔである。
【００６１】
ただし、
2019516146.tif 000016
は目標位置のロボットに対する仮想引力であり、ｋｔは予め設定された引力係数であり、ｄｔは目標位置とロボットの現在位置決め位置との距離を表し、仮想引力方向（すなわち
2019516146.tif 000017
方向）は目標位置に向かう。
【００６２】
本発明はさらに、ロボットの障害物回避制御システムを提供する。
【００６３】
図５に示すように、本発明に係る障害物回避制御システム１０の好適な実施例の実行環境の概略図である。
【００６４】
本実施例において、障害物回避制御システム１０は、ロボット１にインストールされてロボット１において実行される。
【００６５】
ロボット１は、メモリ１１と、プロセッサ１２と、ディスプレイ１３とを備えるが、それらだけに限定されるものではない。図１はモジュール１１−１３を備えるロボット１のみを示すが、理解されるように、示される全てのモジュールを実施する必要はなく、また、より多くの又はより少ないモジュールを実施することも可能である。
【００６６】
ただし、メモリ１１は、内部メモリと、少なくとも一種類の読み取り可能な記憶媒体とを備える。前記内部メモリは、ロボット１の実行にキャッシュを提供する。前記読み取り可能な記憶媒体は、フラッシュメモリ、ハードディスク、マルチメディアカード、カード型メモリ等の不揮発性記憶媒体であってもよい。いくつかの実施例において、前記読み取り可能な記憶媒体は、ロボット１の内部記憶ユニットであってもよく、例えばロボット１のハードディスク又は内部メモリである。別の実施例において、前記読み取り可能な記憶媒体は、ロボット１の外部記憶装置であってもよく、例えばロボット１に配置されているインサート式ハードディスク、スマートメディアカード（Ｓｍａｒｔ  Ｍｅｄｉａ（登録商標）  Ｃａｒｄ、ＳＭＣ）、セキュアデジタル（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ、ＳＤ）カード、フラッシュカード（Ｆｌａｓｈ  Ｃａｒｄ）等であってもよい。本実施例において、メモリ１１の読み取り可能な記憶媒体は、通常ロボット１にインストールされている障害物回避制御システム１０のプログラムコード等のアプリケーションソフトウェア及び各種のデータを記憶することに使用される。また、メモリ１１は、出力されたあるいは出力されるデータを一時的に記憶することに使用されてもよい。
【００６７】
プロセッサ１２は、いくつかの実施例において、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）、マイクロプロセッサ又は他のデータ処理チップであってもよく、メモリ１１に記憶されているプログラムコード又は処理データを実行することに用いられる。プロセッサ１２は、障害物回避制御システム１０を実行することで、前記ロボットの障害物回避方法のいずれかのステップを実現することができる。
【００６８】
ディスプレイ１３は、いくつかの実施例において、ＬＥＤディスプレイ、液晶ディスプレイ、タッチ型液晶ディスプレイ、及びＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ−Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ、有機発光ダイオード）タッチ装置等であってもよい。ディスプレイ１３は、ロボット１に処理された情報の表示及びアプリケーションメニューインタフェース、アプリケーションアイコンインタフェース等のような可視化のユーザインタフェースの表示に用いられる。ロボット１のモジュール１１−１３は、システムバスを介して相互に通信する。
【００６９】
図６に示すように、本発明に係る障害物回避制御システム１０の好適な実施例の機能モジュール図であり、本実施例において、障害物回避制御システム１０は、確定モジュール０１、演算モジュール０２、制御モジュール０３に分割されてもよい。本発明のいわゆるモジュールとは、特定機能を備える一連のコンピュータプログラムコマンドセグメントであり、ロボット１における障害物回避制御システム１０の実行過程を説明することに用いられる。プロセッサ１２が障害物回避制御システム１０の各モジュールのコンピュータプログラムコマンドセグメントを実行する場合、各コンピュータプログラムコマンドセグメントによって実現される操作及び機能に基づき、前記ロボットの障害物回避方法のいずれかのステップを実現することができる。以下、確定モジュール０１、演算モジュール０２、制御モジュール０３により実現される操作及び機能について、詳細に説明する。
【００７０】
確定モジュール０１は、ロボットの現在位置決めデータ（例えば室内での位置、姿勢等）をリアルタイム又は定時的に（例えば、２秒ごとに）取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定することに用いられる。例えば、ロボット自身のセンサーによって位置決めを行いかつ予め確定された移動領域内における各障害物との距離を判断することができ、例えば、ロボットに接近センサー（例えば、超音波、赤外、レーザー等のセンサー）を装着することで、ロボットの現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを判断することができる。
【００７１】
演算モジュール０２は、現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出することに用いられる。
【００７２】
ロボットの現在位置決め位置と予め確定された移動領域内における各障害物との距離を検出した後、現在位置決め位置からの距離が予め設定された距離より短い障害物が存在しないと判断する場合、目標位置の経路に沿って引き続き移動しかつロボットと移動領域内における各障害物との距離をリアルタイム又は定時的に検出する。現在位置決め位置からの距離が予め設定された距離より短い障害物が存在すると判断する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づいてロボットと前記障害物との最小距離を算出し、前記最小距離を用いて三次元空間においてロボットが目標位置の経路に沿って移動する時に前記障害物に衝突するか否かを判断し、それによってロボットのセンサーの設置高さ平面に障害物を検出できるだけでなく、またロボットにセンサーが装着されている方向にもロボットにセンサーが装着されていない他の方向にもいずれも三次元空間における各方向の潜在障害物を検出することができる。ただし、前記予め確定されたロボットの３Ｄモデル及び移動領域内における各障害物の３Ｄモデルは、ロボットの記憶ユニットに予め記憶されてもよいし、またロボットにより無線通信ユニットを介してモノのインターネットシステムサーバにアクセスして取得されてもよく、ここで限定しない。
【００７３】
制御モジュール０３は、取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、三次元空間における各方向の潜在障害物を回避し、ロボットが目標位置の経路に沿って移動する時に効果的な障害物回避制御を達成することに用いられる。
【００７４】
本実施例は、ロボットの現在位置決めデータによって現在位置決め位置からの距離が予め設定された距離より短い障害物が存在すると検出する場合、ロボットの現在位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、三次元空間におけるロボットと前記障害物との最小距離を算出し、かつ現在ロボットが移動すべき方向を算出することで、ロボットの移動姿勢を制御し、三次元空間におけるロボットと前記障害物との最小距離によってロボットの移動方向を制御できるため、三次元空間におけるロボットの各方向の障害物への検出及び回避を実現し、ロボットの効果的な障害物回避制御を達成する。
【００７５】
さらに、演算モジュール０２は、
予め確定されたロボットの３Ｄモデル及び前記障害物の３Ｄモデルを前処理し、さらに取得した位置決めデータ、前処理後のロボットの３Ｄモデルデータ及び前処理後の障害物の３Ｄモデルデータに対し、予め確定された距離算出ルールを用いてロボットと障害物との最小距離を算出することに用いられる。
【００７６】
例えば、ロボットと障害物が一般的には非凸体であるため、ロボットと障害物の３Ｄモデルに対して凸体に変換させるような前処理を行うことができ、それによって後続最小距離をより正確かつ急速に算出する。
【００７７】
さらに、演算モジュール０２は、ロボットの各関節について、予め確定されたアルゴリズム（例えば、ＱｕｉｃｋＨｕｌｌ高速凸包アルゴリズム）を直接用いて各関節を包囲する最小凸多面体を見つけ、それによってロボットの非凸モデルを凸体モデルに変換することに用いられる。前記凸処理されたロボットの３Ｄモデルは後続最小距離ベクトルを算出する時に算出速度と算出精度を効果的に高めることができる。
【００７８】
障害物の３Ｄモデルの前処理方式は、非凸多面体の凸バウンディングボックスを構築してそれを凸体に変換させて衝突検出を行う方式、非凸多面体を凸分解して非凸モデルを複数の凸体に変換させて衝突検出を行う方式、障害物の３Ｄモデルを扇形に等分（すなわち扇形分割）し、続いて等分後の単一扇形を凸分解する方式を含み、このように扇形に等分してから凸分解を行う方式は前の２種類の方式と比べて算出速度がより速いだけでなく、算出精度もより高い。
【００７９】
さらに、演算モジュール０２は、扇形等分対象障害物の３Ｄモデルの球形バウンディングボックスを構築し、球形バウンディングボックスの球心を見つけ、そして前記球心を通過する初期扇形等分平面を設け、前記初期扇形等分平面を予め設定された回転角に従って前記球心の回りに複数回回転させ、球形バウンディングボックスをｎ個の扇形部分に等分し、さらに前記球形バウンディングボックスのｎ個の扇形部分を障害物の３Ｄモデルのｎ個のモデル部分とすることに用いられる。
【００８０】
例えば、一つの実施形態において、ステップＸ１と、ステップＸ２と、ステップＸ３と、ステップＸ４とを備える。
【００８１】
ステップＸ１：扇形等分対象障害物の３ＤモデルＭの球形バウンディングボックスＢを構築し、球形バウンディングボックスＢの球心Ｏを見つけ、続いて球心Ｏに三次元座標系Ｏｘｙｚを構築する。
【００８２】
ステップＸ２：球心Ｏを通過して三次元座標系Ｏｘｙｚのｚ軸と重なる直線Ｌを作り、ｘｏｚ平面がすなわち初期扇形等分平面であり、ｘｏｚ平面をα１とし、平面α１が障害物の３Ｄモデルを２つの部分に分ける。
【００８３】
ステップＸ３：直線Ｌの回りに平面α１を一定の角度β（βは隣接する扇形偏角を表す）に回転させて新しい平面α２を得て、新しい平面を角度β引き続き回転して平面α３を得て、ｍ−１回回転して第ｍ個の平面αｎを得ることができる。
【００８４】
ステップＸ４：β＝１８０／ｍとすれば、ｍ個の平面は球形バウンディングボックスＢを２ｍの部分に等分することができ、障害物の３Ｄモデルはすなわち２ｍ個のモデル部分に分割され、前記ステップによって、非凸モデルも含まれる任意モデルに対する簡単な分割を完了し、かつハッシュテーブルによって分割されたモデル部分を管理することができる。
【００８５】
さらに、演算モジュール０２は、Ｄｅｌａｕｎａｙ三角形分割アルゴリズムを用いて障害物の３Ｄモデルに対して表面三角形分割を行うことで、三角形パッチ（凸状シート）集合を生成し、さらに各三角形パッチに対してそれに対応する凸ブロックを構築することに用いられる。例えば、厚さがゼロである三角形パッチに対してその平面法線ベクトルの方向に所定厚さの引張を行うことで、凸ブロックを得る。
【００８６】
さらに、前記予め確定された距離算出ルールとして、
ロボットの現在位置決めデータ（室内位置、姿勢等）及び予め確定された選別アルゴリズムに基づき、障害物の３Ｄモデルを扇形に等分した後に取得した各モデル部分を選別することによって、距離算出対象のモデル部分を選別し、
取得した位置決めデータ、選別されたモデル部分に対し、予め確定された距離算出アルゴリズム（例えば、ＧＪＫアルゴリズム）を用いてロボットと選別されたモデル部分との最小距離を算出し、前記最小距離をロボットと障害物の３Ｄモデルとの最小距離とする。
【００８７】
さらに、図２ａ、２ｂに示すように、前記予め確定された選別アルゴリズムは、ステップＹ１と、ステップＹ２と、ステップＹ３とを備える。
【００８８】
ステップＹ１：障害物の３Ｄモデルを扇形に等分した後に取得したｎ個のモデル部分をそれぞれ障害物のｎ個のノードとして、ｋｅｙ−ｖａｌｕｅ（キー値）がそれぞれ初期扇形等分平面（すなわちｘｏｚ平面）に対する回転角（すなわち偏角）及びモデル幾何情報データであるハッシュテーブルを構築することで、モデルノード管理を行う。
【００８９】
ステップＹ２：扇形等分後に取得した各モデル部分に１からの番号をつけ、等分されたｎ個の扇形モデル部分は、隣接する扇形偏角が３６０°／ｎであり、番号に基づき、初期番号がｉである扇形モデル部分の偏角マッピング関係を構築し、前記偏角マッピング関係を表すハッシュ関数は、Ｈａｓｈ（ｉ）＝ｉ＊（３６０°／ｎ）である。
【００９０】
ただし、ｉは番号がｉである扇形モデル部分であり、Ｈａｓｈ（ｉ）は番号がｉである扇形モデル部分と障害物座標系のＸ軸正方向との偏角を表す。
【００９１】
ステップＹ３：図２に示すように、ロボットの運動学方程式を構築し、構築された運動学方程式に基づいてロボットの各関節の位置姿勢を算出し、構築されたハッシュテーブルからロボット近傍の障害物扇形領域を検索する。ロボットの運動中に、ロボットの運動学方程式は、
Ｔｉ＝Ａ０Ａ１Ａ２・・・Ａｉ−１Ａｉである。
【００９２】
ただし、Ａｋ（ｋ＝１，２，…，ｉ）はロボット関節座標系間の同次変換マトリックス（ロボットの各関節のＤ−Ｈパラメーターによって確定できる）であり、Ａ０はロボットの現在位置マトリックス（ロボットの現在位置決めデータに対応する）であり、Ｔｉはロボット座標系に対する第ｉ個の関節の位置姿勢である。
【００９３】
Ｔｉによってロボット運動過程において各関節の局所的な座標系原点座標のリアルタイム更新値Ｑｉ（ｘ，ｙ，ｚ）を算出し、さらに障害物座標系での関節の偏角αを得る。
【００９４】
2019516146.tif 000018
【００９５】
ただし、Ｑｉ（ｘ，ｙ，ｚ）はロボット座標系におけるロボットの関節の座標を表し、Ｔｒはロボット座標系から障害物座標系へ変換される変換マトリックス（４×４のマトリックスであり、ロボット座標系及び障害物座標系は既に確定され、前記マトリックスは直接算出される）であれば、障害物座標系におけるロボットの関節の座標Ｑｉ（ｘｔ，ｙｔ，ｚｔ）は、Ｑｉ（ｘｔ，ｙｔ，ｚｔ）＝ＴｒＱｉ（ｘ，ｙ，ｚ）である。
【００９６】
障害物座標系のＺ軸の正方向を上向きとし、右手座標系に準じ、障害物座標系での関節の偏角をαとすれば、ｔａｎ（α）＝ｙｔ／ｘｔである。
【００９７】
三角関数の解を求めて障害物座標系での関節の偏角αを取得し、続いて前記偏角マッピング関係を表すハッシュ関数Ｈａｓｈ（ｉ）に基づいて対応する番号の扇形モデル部分を算出することができ、かつ対応する番号のモデル部分に基づいて距離算出対象のモデル部分を選別する。例えば、算出された扇形モデル部分の番号がｋであれば、番号が［ｋ―Ｍ，ｋ＋Ｎ］範囲内の扇形モデル部分を選択して最小距離を算出することができる。ただし、Ｍ、Ｎはプリセット値であり、番号がｋである扇形モデル部分近傍の複数の扇形モデル部分を最小距離算出対象のモデル部分として選択する。
【００９８】
図３ａに示すように、一つの実施形態において、ロボットはシャーシのみが運動し、アーム等の他の運動関節がないロボットを採用し、ロボットの３Ｄモデルとして、高さ１５００ｍｍ、運動シャーシの半径３２０ｍｍのロボットの３Ｄモデルを採用し、障害物の３Ｄモデルは簡単な立方体モデルを採用し、寸法が２２００ｍｍ×２２００ｍｍ×１０００ｍｍであり、障害物モデル座標系でロボットの現在座標が（１８００，−１００）である。
【００９９】
障害物モデルに対する前処理とは、主に障害物モデルを扇形に等分することであり、図３ｂに示すように、障害物モデルは３２個の部分に扇形等分され、Ｘ軸から反時計回りに扇形等分のモデル部分に１，２，…，１５，１６，…，３１，３２の順に番号をつける。各モデルブロックの角は３６０／３２＝１１．２５度であり、以上から分かるように、番号１のモデルブロックとＸ軸との正方向偏角は１１．２５度であり、番号２のモデルブロックとＸ軸との正方向偏角は１１．２５×２＝２２．５度であり、番号ｉのモデルブロックとＸ軸との正方向偏角はｉ×（３６０／３２）である。
【０１００】
モデル部分を選別する過程において、本実施例の採用するロボットはシャーシのみが運動し、アーム等の他の運動関節がないため、シャーシの位置姿勢はロボットの全体の位置姿勢を表し、現在ロボットの位置は（１８００，−１００）（障害物座標系に対応する座標）であり、ロボットと障害物座標系のＸ軸の正軸との偏角が３５４度であると算出することができる。さらにロボットが対応する扇形モデル部分の番号が３５４／１１．２５＝３１．５であると算出し、四捨五入して３２を得て、そのため距離算出対象の対応する扇形ブロックの番号が３２であり、すなわちロボットが番号３２の障害物ブロックに最も近い。
【０１０１】
次にＫ＝３２近傍の障害物ブロックを選択し、ＧＪＫを採用してロボットとの最小距離及び最小距離点を算出する。Ｍ＝１、Ｎ＝２を取ると、障害物ブロックの範囲は［３１，３４］であり、番号が３２を超えると簡単に転換する必要があり、３３を対応する番号が１の障害物ブロックに転換し、３４を対応する番号が２の障害物ブロックに転換する。図３ｃに示すように、最後には番号３１、３２、１、２の障害物ブロックを選択して最小距離算出を行う。
【０１０２】
最小距離を算出する際、前記処理を経て、障害物ブロックの範囲（１，２，３１，３２）を既に小さくし、ＧＪＫアルゴリズムを直接採用してロボットと障害物との間の最小距離点を算出し、図３ｄに示すように、それぞれ障害物上の点（ｘ１，ｙ１，ｚ１）＝（１１００，−１００，−２３５）、ロボット上の点（ｘ２，ｙ２，ｚ２）＝（１４７７，−１００，−２３５）であり、そうすればロボットと障害物との間の最小距離ベクトルは
2019516146.tif 000019
である。
【０１０３】
さらに、制御モジュール０３は、算出された最小距離に基づいて障害物回避を行う必要があるか否かを分析し、算出された最小距離が予め設定された距離閾値より大きければ、障害物回避を行う必要がないと確定し、又は、算出された最小距離が予め設定された距離閾値以下である場合、障害物回避を行う必要があると確定し、さらに障害物回避を行う必要があると確定すると、取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、かつ算出された移動方向に基づいてロボットの移動姿勢を制御することに用いられる。
【０１０４】
さらに、制御モジュール０３は、
ロボット及び前記障害物を同一座標系平面に投影し、
予め確定された投影分析ルール及び障害物の３Ｄモデルが前記座標系平面に投影される投影領域の外輪郭における各点の座標に基づき、ロボットの現在位置決め位置及び目標位置に対する前記障害物の投影の有効遮断領域の面積を算出し、
算出された最小距離及び有効遮断領域の面積に基づいて第一プリセットタイプの障害物回避パラメーター（例えば、仮想斥力）を確定し、目標点位置とロボットの現在位置決め位置との距離に基づいて第二プリセットタイプの障害物回避パラメーター（例えば、仮想斥力）を確定し、第一プリセットタイプの障害物回避パラメーター及び第二プリセットタイプの障害物回避パラメーターに基づいて現在ロボットが移動すべき方向を確定することに用いられる。
【０１０５】
さらに、図４に示すように、前記予め確定された投影分析ルールとして、
座標系平面のP１位置点をロボットの位置（現在位置決め位置）、P２位置点を目標点の位置（目標位置）、投影領域Ｐ３を座標系平面における障害物の３Ｄモデルの投影として設定し、また座標系平面においてP１とP２を直線Jで繋ぎ、
直線Jと投影領域Ｐ３との交点数がゼロであるか又は１つのみであれば、有効遮断領域が存在しないと確定し、
直線Jと投影領域Ｐ３との交点数が１つを超えれば、直線Jは投影を２つの部分（図４に示すＳ１領域とＳ２領域）に分割し、投影領域Ｐ３（例えばＳ１又はＳ２領域）に任意の点PSを見つけ、PSを通過して直線Jの垂直線を作り、垂直線と直線Jとの交点をPＪとして設定し、さらにベクトル
2019516146.tif 000020
を得て、最小距離のベクトル
2019516146.tif 000021
とベクトル
2019516146.tif 000022
との角θを算出し、角θが鋭角であれば、PS点の存在する領域が有効遮断領域（例えば、図４における有効遮断投影領域Ｓ２）であると確定し、又は、角θが鋭角でなければ、PS点の存在する領域が有効遮断領域ではないと確定する。
【０１０６】
さらに、前記第一プリセットタイプの障害物回避パラメーターが仮想斥力であり、前記第二プリセットタイプの障害物回避パラメーターが仮想引力であり、制御モジュール０３は、
算出された最小距離及び有効遮断領域の面積に基づき、第一算出ルールでロボットに作用する仮想斥力を算出し、
現在位置決め位置と目標点位置との距離に基づき、第二算出ルールでロボットに作用する仮想引力を算出し、
前記仮想引力と仮想斥力の合力方向を算出することにさらに用いられ、前記合力方向はすなわち現在ロボットが移動すべき方向である。
【０１０７】
さらに、前記第一算出ルールとして、
2019516146.tif 000023
である。
【０１０８】
ただし、
2019516146.tif 000024
はロボットと障害物との最小距離のベクトルであり、Ｓは有効遮断領域の面積であり、
2019516146.tif 000025
は障害物のロボットに対する仮想斥力であり、
2019516146.tif 000026
は最小距離ベクトルと有効遮断領域の面積が障害物のロボットに対する仮想斥力へ変換される関係式であり、前記関係式の実現には複数種類の方法があり、選択可能な実施例において、前記関係式は、
2019516146.tif 000027
である。
【０１０９】
ただし、ｋｒ、ｂｒは予め設定された仮想斥力係数を表し、ｓ０は予め設定された有効遮断領域の面積閾値を表し、ｓ０＞０であり、ｄ０は予め設定された距離閾値を表し、ｄ０＞０であり、仮想斥力方向（すなわち
2019516146.tif 000028
方向）は最小距離の方向と同じである。
【０１１０】
前記関係式に基づき、ロボットと障害物との距離が遠い際、設定された距離閾値ｄ０を超える場合に障害物回避を行わず、
2019516146.tif 000029
の大きさは０であり、障害物回避の距離範囲内（最小距離はｄ０より小さい）に入ると、有効遮断領域の面積ｓが大きく、設定された値ｓ０を超える場合、ｓ／ｓ０＞１であり、
2019516146.tif 000030
が大きくなり、距離が遠い場合に障害物回避を行うことができ、事前に障害物回避を行い、それによって大きい障害物を回避する。
【０１１１】
さらに、前記第二算出ルールとして、Ｆｔ＝ｋｔ＊ｄｔである。
【０１１２】
ただし、
2019516146.tif 000031
は目標位置のロボットに対する仮想引力であり、ｋｔは予め設定された引力係数であり、ｄｔは目標位置とロボットの現在位置決め位置との距離を表し、仮想引力方向（すなわち
2019516146.tif 000032
方向）は目標位置に向かう。
【０１１３】
本発明はさらに、コンピュータ読み取り可能な記憶媒体を提供する。
【０１１４】
本実施例において、前記コンピュータ読み取り可能な記憶媒体にはロボットの障害物回避制御システムが記憶されており、前記ロボットの障害物回避制御システムは、少なくとも１つのプロセッサによって実行されることで、ステップＳ１０、ステップＳ２０とステップＳ３０を実現することができる。
【０１１５】
ステップＳ１０：ロボットの現在位置決めデータをリアルタイム又は定時的に取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定する。
【０１１６】
ステップＳ２０：現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出する。
【０１１７】
ステップＳ３０：取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、障害物を回避する。
【０１１８】
ステップＳ２０では、さらにステップＳ２０１と、ステップＳ２０２とを備える。
【０１１９】
ステップＳ２０１：予め確定されたロボットの３Ｄモデル及び前記障害物の３Ｄモデルを前処理する。
【０１２０】
ステップＳ２０２：取得した位置決めデータ、前処理後のロボットの３Ｄモデルデータ及び前処理後の障害物の３Ｄモデルデータに対し、予め確定された距離算出ルールを用いてロボットと障害物との最小距離を算出する。
【０１２１】
さらに、ステップＳ２０１におけるロボットの３Ｄモデルの前処理として、ロボットの各関節について、予め確定されたアルゴリズム（例えば、ＱｕｉｃｋＨｕｌｌ高速凸包アルゴリズム）を直接用いて各関節を包囲する最小凸多面体を見つけ、それによってロボットの非凸モデルを凸体モデルに変換する。前記凸処理されたロボットの３Ｄモデルは後続最小距離ベクトルを算出する時に算出速度と算出精度を効果的に高めることができる。
【０１２２】
障害物の３Ｄモデルの前処理方式は、非凸多面体の凸バウンディングボックスを構築してそれを凸体に変換させて衝突検出を行う方式、非凸多面体を凸分解して非凸モデルを複数の凸体に変換させて衝突検出を行う方式、障害物の３Ｄモデルを扇形に等分（すなわち扇形分割）し、続いて等分後の単一扇形を凸分解する方式を含み、このように扇形に等分してから凸分解を行う方式は前の２種類の方式と比べて算出速度がより速いだけでなく、算出精度もより高い。
【０１２３】
障害物の３Ｄモデルを扇形に等分する前記ステップでは、さらに、
扇形等分対象障害物の３Ｄモデルの球形バウンディングボックスを構築し、球形バウンディングボックスの球心を見つけ、
前記球心を通過する初期扇形等分平面を設け、前記初期扇形等分平面を予め設定された回転角に従って前記球心の回りに複数回回転させ、球形バウンディングボックスをｎ個の扇形部分に等分し、前記球形バウンディングボックスのｎ個の扇形部分を障害物の３Ｄモデルのｎ個のモデル部分とする。
【０１２４】
等分後の単一扇形を凸分解する前記ステップでは、さらに、
Ｄｅｌａｕｎａｙ三角形分割アルゴリズムを用いて障害物の３Ｄモデルに対して表面三角形分割を行うことで、三角形パッチ（凸状シート）集合を生成し、さらに各三角形パッチに対してそれに対応する凸ブロックを構築する。例えば、厚さがゼロである三角形パッチに対してその平面法線ベクトルの方向に所定厚さの引張を行うことで、凸ブロックを得る。
【０１２５】
さらに、前記予め確定された距離算出ルールとして、
ロボットの現在位置決めデータ（室内位置、姿勢等）及び予め確定された選別アルゴリズムに基づき、障害物の３Ｄモデルを扇形に等分した後に取得した各モデル部分を選別することによって、距離算出対象のモデル部分を選別し、
取得した位置決めデータ、選別されたモデル部分に対し、予め確定された距離算出アルゴリズム（例えば、ＧＪＫアルゴリズム）を用いてロボットと選別されたモデル部分との最小距離を算出し、前記最小距離をロボットと障害物の３Ｄモデルとの最小距離とする。
【０１２６】
ステップＳ３０では、さらに、
ロボットの障害物回避制御システムは、算出された最小距離に基づいて障害物回避を行う必要があるか否かを分析し、算出された最小距離が予め設定された距離閾値より大きければ、障害物回避を行う必要がないと確定し、又は、算出された最小距離が予め設定された距離閾値以下である場合、障害物回避を行う必要があると確定する。障害物回避を行う必要があると確定すると、ロボットの障害物回避制御システムは、取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、かつ算出された移動方向に基づいてロボットの移動姿勢を制御する。
【０１２７】
取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出する前記ステップでは、さらに、
ロボット及び前記障害物を同一座標系平面に投影し、
予め確定された投影分析ルール及び障害物の３Ｄモデルが前記座標系平面に投影される投影領域の外輪郭における各点の座標に基づき、ロボットの現在位置決め位置及び目標位置に対する前記障害物の投影の有効遮断領域の面積を算出し、
算出された最小距離及び有効遮断領域の面積に基づいて第一プリセットタイプの障害物回避パラメーター（例えば、仮想斥力）を確定し、目標点位置とロボットの現在位置決め位置との距離に基づいて第二プリセットタイプの障害物回避パラメーター（例えば、仮想斥力）を確定し、第一プリセットタイプの障害物回避パラメーター及び第二プリセットタイプの障害物回避パラメーターに基づいて現在ロボットが移動すべき方向を確定する。
【０１２８】
さらに、前記予め確定された投影分析ルールとして、
座標系平面の P１位置点をロボットの位置（現在位置決め位置）、P２位置点を目標点の位置（目標位置）、投影領域Ｐ３を座標系平面における障害物の３Ｄモデルの投影として設定し、また座標系平面においてP１とP２を直線Jで繋ぎ、
直線Jと投影領域Ｐ３との交点数がゼロであるか又は１つのみであれば、有効遮断領域が存在しないと確定し、
直線Jと投影領域Ｐ３との交点数が１つを超えれば、直線Jは投影を２つの部分（図４に示すＳ１領域とＳ２領域）に分割し、投影領域Ｐ３（例えばＳ１又はＳ２領域）に任意の点PSを見つけ、PSを通過して直線Jの垂直線を作り、垂直線と直線Jとの交点をPＪとして設定し、さらにベクトル
2019516146.tif 000033
を得て、最小距離のベクトル
2019516146.tif 000034
とベクトル
2019516146.tif 000035
との角θを算出し、角θが鋭角であれば、PS点の存在する領域が有効遮断領域（例えば、図４における有効遮断投影領域Ｓ２）であると確定し、又は、角θが鋭角でなければ、PS点の存在する領域が有効遮断領域ではないと確定する。
【０１２９】
さらに、前記第一プリセットタイプの障害物回避パラメーターが仮想斥力であり、前記第二プリセットタイプの障害物回避パラメーターが仮想引力であり、算出された最小距離及び有効遮断領域の面積に基づいて第一プリセットタイプの障害物回避パラメーターを確定し、目標位置とロボットの現在位置決め位置との距離に基づいて第二プリセットタイプの障害物回避パラメーターを確定し、前記第一プリセットタイプの障害物回避パラメーター及び前記第二プリセットタイプの障害物回避パラメーターに基づいて現在ロボットが移動すべき方向を確定する前記ステップでは、
算出された最小距離及び有効遮断領域の面積に基づき、第一算出ルールでロボットに作用する仮想斥力を算出し、
現在位置決め位置と目標点位置との距離に基づき、第二算出ルールでロボットに作用する仮想引力を算出し、
前記仮想引力と仮想斥力の合力方向を算出して、前記合力方向はすなわち現在ロボットが移動すべき方向である。
【０１３０】
さらに、前記第一算出ルールとして、
2019516146.tif 000036
である。
【０１３１】
ただし、
2019516146.tif 000037
はロボットと障害物との最小距離のベクトルであり、Ｓは有効遮断領域の面積であり、
2019516146.tif 000038
は障害物のロボットに対する仮想斥力であり、
2019516146.tif 000039
は最小距離ベクトルと有効遮断領域の面積が障害物のロボットに対する仮想斥力へ変換される関係式であり、前記関係式の実現には複数種類の方法があり、選択可能な実施例において、前記関係式は、
2019516146.tif 000040
である。
【０１３２】
ただし、ｋｒ、ｂｒは予め設定された仮想斥力係数を表し、ｓ０は予め設定された有効遮断領域の面積閾値を表し、ｓ０＞０であり、ｄ０は予め設定された距離閾値を表し、ｄ０＞０であり、仮想斥力方向（すなわち
2019516146.tif 000041
方向）は最小距離の方向と同じである。
【０１３３】
前記関係式に基づき、ロボットと障害物との距離が遠い際、設定された距離閾値ｄ０を超える場合に障害物回避を行わず、
2019516146.tif 000042
の大きさは０であり、障害物回避の距離範囲内（最小距離はｄ０より小さい）に入ると、有効遮断領域の面積ｓが大きく、設定された値ｓ０を超える場合、ｓ／ｓ０＞１であり、
2019516146.tif 000043
が大きくなり、距離が遠い場合に障害物回避を行うことができ、事前に障害物回避を行い、それによって大きい障害物を回避する。
【０１３４】
さらに、前記第二算出ルールとして、Ｆｔ＝ｋｔ＊ｄｔである。
【０１３５】
ただし、
2019516146.tif 000044
は目標位置のロボットに対する仮想引力であり、ｋｔは予め設定された引力係数であり、ｄｔは目標位置とロボットの現在位置決め位置との距離を表し、仮想引力方向（すなわち
2019516146.tif 000045
方向）は目標位置に向かう。
【０１３６】
本発明に係るコンピュータ読み取り可能な記憶媒体の実施形態は、前記ロボットの障害物回避方法の実施例とほぼ同じであるため、ここで説明を省略する。
【０１３７】
なお、本明細書において、用語“含む”、“含有する”又はそれらの任意の他の変型は、非排他的に含むことを意図し、それにより一連の要素を含むプロセス、方法、品物や装置はそれらの要素を含むだけでなく、かつ明確に列挙された他の要素を含み、又はこのようなプロセス、方法、品物や装置に固有の要素をさらに含む。より多くの制限がない場合に、語句“一つの…を含む”に限定される要素は、前記要素を含むプロセス、方法、品物や装置の中に他の同じ要素がさらに存在する場合は除外されない。
【０１３８】
以上の実施形態の説明から、当業者は、前記実施例の方法が、ソフトウェアに、必要な汎用ハードウェアプラットフォームを加える方式によって実現され、また、ハードウェアによって実現されることも当然であるが、多くの場合、前者のほうがより好ましい実施形態である、ということをはっきりと分かっている。このような理解に基づいて、本発明の技術的解決手段は、本質的にあるいは従来技術に寄与する部分が、ソフトウェア製品の形態で表すことができ、前記コンピュータソフトウェア製品を１つの記憶媒体（例えばＲＯＭ／ＲＡＭ、磁気ディスク、光ディスク）に記憶し、複数の指令を備え、１台の端末装置（携帯電話、コンピュータ、サーバ、エアコン、又はネットワーク機器等であってもよい）に本発明に係る各実施例に記載の方法を実行させることに用いられるものである。
【０１３９】
以上に図面を参照して本発明の好適な実施例を説明したが、これをもって本発明の特許請求の範囲を限定するものではなく、前記本発明の実施例の番号は説明するためのものだけであり、実施例の優劣を示さず、また、関連する図面では論理的順序が示されるが、いくつかの場合に、ここと異なる順序で示され又は説明されたステップを実行することができる。
【０１４０】
当業者は本発明の範囲及び実質を逸脱せず、種々の変形手段で本発明を実現することができ、例えば、一実施例の特徴は他の実施例に用いて別の実施例を得ることができ、本発明の精神及び原則内において行われたあらゆる修正、同等置換及び改良は、いずれも本発明の保護範囲内に含まれるべきである。
【図１】
2019516146.tif 000067
【図２ａ】
2019516146.tif 000068
【図２ｂ】
2019516146.tif 000069
【図３ａ】
2019516146.tif 000070
【図３ｂ】
2019516146.tif 000071
【図３ｃ】
2019516146.tif 000072
【図３ｄ】
2019516146.tif 000073
【図４】
2019516146.tif 000074
【図５】
2019516146.tif 000075
【図６】
2019516146.tif 000076
【手続補正書】
【提出日】平成30年6月26日(2018.6.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロボットの障害物回避制御システムであって、
ロボットの現在位置決めデータをリアルタイム又は定時的に取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定することに用いられる確定モジュールと、
現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出することに用いられる演算モジュールと、
取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、障害物を回避することに用いられる制御モジュールと、
を備えることを特徴とするロボットの障害物回避制御システム。
【請求項２】
前記演算モジュールは、
予め確定されたロボットの３Ｄモデル及び前記障害物の３Ｄモデルを前処理し、ロボットの各関節について、予め確定されたアルゴリズムを用いて各関節を包囲する最小凸多面体を見つけ、ロボットの非凸モデルを凸体モデルに変換し、
前記障害物の３Ｄモデルを扇形に等分し、かつ等分後の単一扇形を凸分解し、
取得した位置決めデータ、前処理後のロボットの３Ｄモデルデータ及び前処理後の前記障害物の３Ｄモデルデータに対し、予め確定された距離算出ルールを用いてロボットと前記障害物との最小距離を算出する
ことにさらに用いられることを特徴とする請求項１に記載のロボットの障害物回避制御システム。
【請求項３】
前記演算モジュールは、
扇形等分対象障害物の３Ｄモデルの球形バウンディングボックスを構築し、球形バウンディングボックスの球心を見つけ、
前記球心を通過する初期扇形等分平面を設け、前記初期扇形等分平面を予め設定された回転角に従って前記球心の回りに複数回回転させ、球形バウンディングボックスをｎ個の扇形部分に等分し、前記球形バウンディングボックスのｎ個の扇形部分を障害物の３Ｄモデルのｎ個のモデル部分とする
ことにさらに用いられることを特徴とする請求項２に記載のロボットの障害物回避制御システム。
【請求項４】
前記予め確定された距離算出ルールとして、
ロボットの現在位置決めデータ及び予め確定された選別アルゴリズムに基づき、障害物の３Ｄモデルを扇形に等分した後に取得した各モデル部分を選別することによって、距離算出対象のモデル部分を選別し、
取得した位置決めデータ、選別されたモデル部分に対し、予め確定された距離算出アルゴリズムを用いてロボットと選別されたモデル部分との最小距離を算出し、前記最小距離をロボットと障害物との最小距離とし、
前記予め確定された選別アルゴリズムとして、
障害物の３Ｄモデルのｎ個のモデル部分をそれぞれ障害物のｎ個のノードとして、キー値が初期扇形等分平面に対する偏角であるハッシュテーブルを構築することで、モデルノード管理を行い、
各モデル部分に番号をつけ、番号に基づき、番号がｉであるモデル部分の偏角マッピング関係を構築し、前記偏角マッピング関係を表すハッシュ関数は、
Ｈａｓｈ（ｉ）＝ｉ＊（３６０°／ｎ）であり、
ただし、Ｈａｓｈ（ｉ）は番号がｉである扇形モデル部分と障害物座標系のＸ軸正方向との偏角を表し、
ロボットの運動学方程式を構築し、構築された運動学方程式に基づいてロボットの各関節の位置姿勢を算出し、前記運動学方程式は、
Ｔｉ＝Ａ０Ａ１Ａ２・・・Ａｉ−１Ａｉであり、
ただし、Ａｋ（ｋ＝１，２，…，ｉ）はロボット関節座標系間の同次変換マトリックスであり、Ａ０はロボットの現在位置マトリックスであり、Ｔｉはロボット座標系に対する第ｉ個の関節の位置姿勢であり、
Ｔｉによってロボット運動過程においてロボット座標系での各関節の座標Ｑｉ（ｘ，ｙ，ｚ）を算出し、かつロボット座標系が障害物座標系へ変換される変換マトリックスTｒを算出することで、障害物座標系におけるロボットの関節の座標Ｑｉ（ｘｔ，ｙｔ，ｚｔ）は、Ｑｉ（ｘｔ，ｙｔ，ｚｔ）＝ＴｒＱｉ（ｘ，ｙ，ｚ）であり、
下記公式によって得られる障害物座標系での関節の偏角αは、
ｔａｎ（α）＝ｙｔ／ｘｔであり、
偏角α及びハッシュ関数Ｈａｓｈ（ｉ）に基づいて対応する番号のモデル部分を算出し、かつ対応する番号のモデル部分に基づいて距離算出対象のモデル部分を選別する
ことを特徴とする請求項２に記載のロボットの障害物回避制御システム。
【請求項５】
ロボットの障害物回避方法であって、
ロボットの現在位置決めデータをリアルタイム又は定時的に取得し、かつ現在位置決めデータ及び予め確定された移動領域内における各障害物の位置データに基づき、現在位置決め位置から目標位置までの経路において現在位置決め位置からの距離が予め設定された距離より短い障害物が存在するか否かを確定するステップＡ１と、
現在位置決め位置からの距離が予め設定された距離より短い障害物が存在する場合、取得した位置決めデータ、予め確定されたロボットの３Ｄモデル及び予め確定された前記障害物の３Ｄモデルに基づき、ロボットと前記障害物との最小距離を算出するステップＡ２と、
取得した位置決めデータ、算出された最小距離及び前記障害物の３Ｄモデルに基づき、現在ロボットが移動すべき方向を算出し、算出された移動方向に基づいてロボットの移動姿勢を制御することで、障害物を回避するステップＡ３と、
を備えることを特徴とするロボットの障害物回避方法。
【請求項６】
前記ステップＡ２として、
予め確定されたロボットの３Ｄモデル及び前記障害物の３Ｄモデルを前処理し、ロボットの各関節について、予め確定されたアルゴリズムを用いて各関節を包囲する最小凸多面体を見つけ、ロボットの非凸モデルを凸体モデルに変換し、
前記障害物の３Ｄモデルを扇形に等分し、かつ等分後の単一扇形を凸分解し、
取得した位置決めデータ、前処理後のロボットの３Ｄモデルデータ及び前処理後の前記障害物の３Ｄモデルデータに対し、予め確定された距離算出ルールを用いてロボットと前記障害物との最小距離を算出する
ことを特徴とする請求項５に記載のロボットの障害物回避方法。
【請求項７】
前記ステップＡ２では、さらに、
扇形等分対象障害物の３Ｄモデルの球形バウンディングボックスを構築し、球形バウンディングボックスの球心を見つけ、
前記球心を通過する初期扇形等分平面を設け、前記初期扇形等分平面を予め設定された回転角に従って前記球心の回りに複数回回転させ、球形バウンディングボックスをｎ個の扇形部分に等分し、前記球形バウンディングボックスのｎ個の扇形部分を障害物の３Ｄモデルのｎ個のモデル部分とする
ことを特徴とする請求項６に記載のロボットの障害物回避方法。
【請求項８】
前記予め確定された距離算出ルールとして、
ロボットの現在位置決めデータ及び予め確定された選別アルゴリズムに基づき、障害物の３Ｄモデルを扇形に等分した後に取得した各モデル部分を選別することによって、距離算出対象のモデル部分を選別し、
取得した位置決めデータ、選別されたモデル部分に対し、予め確定された距離算出アルゴリズムを用いてロボットと選別されたモデル部分との最小距離を算出し、前記最小距離をロボットと障害物との最小距離とし、
前記予め確定された選別アルゴリズムとして、
障害物の３Ｄモデルのｎ個のモデル部分をそれぞれ障害物のｎ個のノードとして、キー値が初期扇形等分平面に対する偏角であるハッシュテーブルを構築することで、モデルノード管理を行い、
各モデル部分に番号をつけ、番号に基づき、番号がｉであるモデル部分の偏角マッピング関係を構築し、前記偏角マッピング関係を表すハッシュ関数は、
Ｈａｓｈ（ｉ）＝ｉ＊（３６０°／ｎ）であり、
ただし、Ｈａｓｈ（ｉ）は番号がｉである扇形モデル部分と障害物座標系のＸ軸正方向との偏角を表し、
ロボットの運動学方程式を構築し、構築された運動学方程式に基づいてロボットの各関節の位置姿勢を算出し、前記運動学方程式は、
Ｔｉ＝Ａ０Ａ１Ａ２・・・Ａｉ−１Ａｉであり、
ただし、Ａｋ（ｋ＝１，２，…，ｉ）はロボット関節座標系間の同次変換マトリックスであり、Ａ０はロボットの現在位置マトリックスであり、Ｔｉはロボット座標系に対する第ｉ個の関節の位置姿勢であり、
Ｔｉによってロボット運動過程においてロボット座標系での各関節の座標Ｑｉ（ｘ，ｙ，ｚ）を算出し、かつロボット座標系が障害物座標系へ変換される変換マトリックスＴｒを算出することで、障害物座標系におけるロボットの関節の座標Ｑｉ（ｘｔ，ｙｔ，ｚｔ）は、
Ｑｉ（ｘｔ，ｙｔ，ｚｔ）＝ＴｒＱｉ（ｘ，ｙ，ｚ）であり、
下記公式によって得られる障害物座標系での関節の偏角αは、
ｔａｎ（α）＝ｙｔ／ｘｔであり、
偏角α及びハッシュ関数Ｈａｓｈ（ｉ）に基づいて対応する番号のモデル部分を算出し、かつ対応する番号のモデル部分に基づいて距離算出対象のモデル部分を選別する
ことを特徴とする請求項６に記載のロボットの障害物回避方法。
【請求項９】
前記ステップＡ３として、
ロボット及び前記障害物の３Ｄモデルを同一の座標系平面に投影し、
予め確定された投影分析ルール及び障害物の３Ｄモデルが前記座標系平面に投影される投影領域の外輪郭における各点の座標に基づき、ロボットの現在位置決め位置及び目標位置に対する前記障害物の３Ｄモデルの投影の有効遮断領域の面積を算出し、
算出された最小距離及び有効遮断領域の面積に基づいて第一プリセットタイプの障害物回避パラメーターを確定し、目標位置とロボットの現在位置決め位置との距離に基づいて第二プリセットタイプの障害物回避パラメーターを確定し、前記第一プリセットタイプの障害物回避パラメーター及び前記第二プリセットタイプの障害物回避パラメーターに基づいて現在ロボットが移動すべき方向を確定する
ことを特徴とする請求項５に記載のロボットの障害物回避方法。
【請求項１０】
前記予め確定された投影分析ルールとして、
座標系平面のP１位置点をロボットの現在位置決め位置、P２位置点を目標位置、投影領域Ｐ３を前記座標系平面における障害物の３Ｄモデルの投影として設定し、また前記座標系平面においてP１とP２を直線Jで繋ぎ、
直線Jと投影領域Ｐ３との交点数がゼロであるか又は１つのみであれば、有効遮断領域が存在しないと確定し、
直線Jと投影領域Ｐ３との交点数が１つを超えれば、直線Jは投影を２つの部分に分割し、投影領域Ｐ３に任意の点PSを見つけ、PSを通過して直線Jの垂直線を作り、垂直線と直線Jとの交点をPＪとして設定し、ベクトル
2019516146.tif 000077
を得て、最小距離のベクトル
2019516146.tif 000078
とベクトル
2019516146.tif 000079
との角θを算出し、角θが鋭角であると判断すれば、PS点の存在する領域が有効遮断領域であると確定し、角θが鋭角でないと判断すれば、PS点の存在する領域が有効遮断領域ではないと確定する
ことを特徴とする請求項９に記載のロボットの障害物回避方法。
【請求項１１】
前記第一プリセットタイプの障害物回避パラメーターが仮想斥力であり、前記第二プリセットタイプの障害物回避パラメーターが仮想引力であり、前記ステップＡ３では、さらに
算出された最小距離及び有効遮断領域の面積に基づき、第一算出ルールでロボットに作用する仮想斥力を算出し、
現在位置決め位置と目標点位置との距離に基づき、第二算出ルールでロボットに作用する仮想引力を算出し、
前記仮想引力と仮想斥力の合力方向を算出して現在ロボットが移動すべき方向とする
ことを特徴とする請求項９に記載のロボットの障害物回避方法。
【請求項１２】
前記第一算出ルールとして、
ロボットと障害物との最小距離のベクトルを
2019516146.tif 000080
、有効遮断領域の面積をＳ、障害物のロボットに対する仮想斥力を
2019516146.tif 000081
として設定すると、算出式は、
2019516146.tif 000082
であり、
ただし、
2019516146.tif 000083
はロボットと障害物との最小距離のベクトルであり、Ｓは有効遮断領域の面積であり、
2019516146.tif 000084
は障害物のロボットに対する仮想斥力であり、ｋｒ、ｂｒは予め設定された仮想斥力係数であり、ｓ０は予め設定された有効遮断領域の面積の閾値であり、ｄ０は予め設定された距離の閾値であり、仮想斥力の方向は最小距離の方向と同じである
ことを特徴とする請求項１１に記載のロボットの障害物回避方法。
【請求項１３】
前記第二算出ルールとして、
Ｆｔ＝ｋｔ＊ｄｔであり、
ただし、
2019516146.tif 000085
は目標位置のロボットに対する仮想引力であり、ｋｔは予め設定された引力係数であり、ｄｔは目標位置とロボットの現在位置決め位置との距離であり、
2019516146.tif 000086
の方向は目標位置に向かう
ことを特徴とする請求項１１に記載のロボットの障害物回避方法。
【請求項１４】
ロボットであって、
プロセッサと、メモリとを備え、前記メモリにはロボットの障害物回避制御システムが記憶されており、請求項１０乃至１８のいずれか一項に記載のロボットの障害物回避方法におけるいずれかのステップを実現するように、前記ロボットの障害物回避制御システムは前記プロセッサによって実行可能である
ことを特徴とするロボット。
【請求項１５】
コンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ読み取り可能な記憶媒体にはロボットの障害物回避制御システムが記憶されており、請求項１０乃至１８のいずれか一項に記載のロボットの障害物回避方法におけるいずれかのステップを実現するように、前記ロボットの障害物回避制御システムは少なくとも１つのプロセッサによって実行可能である
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【国際調査報告】
2019516146.tif 000087
2019516146.tif 000088
2019516146.tif 000089
2019516146.tif 000090