IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ファナック株式会社の特許一覧

特表2023-513841産業ロボット用の衝突回避モーション計画方法
<>
  • 特表-産業ロボット用の衝突回避モーション計画方法 図1
  • 特表-産業ロボット用の衝突回避モーション計画方法 図2
  • 特表-産業ロボット用の衝突回避モーション計画方法 図3
  • 特表-産業ロボット用の衝突回避モーション計画方法 図4
  • 特表-産業ロボット用の衝突回避モーション計画方法 図5
  • 特表-産業ロボット用の衝突回避モーション計画方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-03
(54)【発明の名称】産業ロボット用の衝突回避モーション計画方法
(51)【国際特許分類】
   B25J 13/00 20060101AFI20230327BHJP
【FI】
B25J13/00 Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022549700
(86)(22)【出願日】2021-02-19
(85)【翻訳文提出日】2022-08-18
(86)【国際出願番号】 IB2021000096
(87)【国際公開番号】W WO2021165745
(87)【国際公開日】2021-08-26
(31)【優先権主張番号】17/249,085
(32)【優先日】2021-02-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/978,654
(32)【優先日】2020-02-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】チャンハオ ワン
(72)【発明者】
【氏名】シェン-チュン リン
(72)【発明者】
【氏名】加藤 哲朗
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707AS06
3C707BS09
3C707DS01
3C707JS03
3C707KS12
3C707KT01
3C707KT06
3C707LS05
3C707LS09
3C707LS15
3C707LT03
3C707LV13
3C707LV14
3C707LV15
3C707LW08
3C707MT05
3C707MT06
(57)【要約】
最悪状態サーチ及び最適化を使用するロボット衝突回避モーション計画技法である。モーション計画技法は、障害物、開始及びゴールポイント、及び疎らに離隔し得るウェイポイントの初期の組の幾何学的定義によって始まる。線形又はスプラインなどのポイント間補間方法が付与された場合に、連続的軌跡をウェイポイント及び弧長パラメータの関数として記述できる。次いで、ロボット及びツールのすべての部分を考慮することにより、障害物までの距離の最悪状態を有するウェイポイントのそれぞれの隣接するペアの間の場所を見出す最悪状態サーチが実行される。衝突回避制約が最悪状態場所を使用して定義され、且つ、最悪状態を改善するために、すべての衝突が除去され且つ障害物回避最小距離基準が充足される時点まで、ウェイポイント場所の最適化が実行される。
【特許請求の範囲】
【請求項1】
産業ロボットの経路を計画する方法であって、
前記ロボットの作業空間内の障害物を定義する障害物データを提供するステップと、
前記経路用の開始ポイント及びゴールポイントを含むウェイポイントの組及び1つ又は複数の中間ウェイポイントを定義するステップと、
定義された経路補間方法に基づいて前記ウェイポイントの組を通じて軌跡を演算するステップであって、軌跡セクションは、隣接するウェイポイントの間の前記軌跡の一部分として定義されている、ステップと、
前記軌跡に沿った距離として弧長パラメータを定義するステップと、
最悪衝突回避メトリックを有するそれぞれの軌跡セクション内の最悪状態ポイントを識別するために最悪状態サーチを実行するステップと、
ウェイポイントの新しい組を判定するために、前記最悪状態ポイントを使用して最悪状態最適化を実行するステップと、
前記衝突回避メトリックが予め定義された基準を充足していない際に前記ウェイポイントの新しい組を使用して軌跡を演算するステップに戻るステップと、
前記衝突回避メトリックが前記基準を充足している際に前記ロボットのモーションを制御するためにロボットコントローラによって前記ウェイポイントの新しい組及び対応する最適な軌跡を使用するステップと、
を有する方法。
【請求項2】
障害物データを提供するステップは、コンピュータ支援設計(CAD)システムから前記障害物データを提供するステップ又は前記作業空間内において前記障害物を検出するように構成された1つ又は複数のセンサから前記障害物データを提供するステップを含む請求項1に記載の方法。
【請求項3】
前記開始ポイント及び前記ゴールポイントは、ロボットツール中心の前記経路の開始及び終了を定義している請求項1に記載の方法。
【請求項4】
前記経路補間方法は、線形補間、スプライン補間、又は別のタイプの非線形補間の1つを含む請求項1に記載の方法。
【請求項5】
前記弧長パラメータは、前記開始ポイントにおいては、ゼロの値を有し、且つ、前記ゴールポイントにおいては、1の値を有する請求項1に記載の方法。
【請求項6】
前記衝突回避メトリックは、前記ロボットの任意の部分から前記障害物の1つまでの最小距離であり、且つ、前記基準は、前記メトリックが超過しなければならない最小安全距離である請求項1に記載の方法。
【請求項7】
最悪状態サーチを実行するステップは、前記ロボットの任意の部分から前記障害物の任意のものまでの距離が最小値であるそれぞれの軌跡セクションに沿った前記最悪状態ポイントを見出すステップを含む請求項1に記載の方法。
【請求項8】
前記最悪状態最適化を実行するステップは、前記最悪状態ポイントに基づいて前記衝突回避メトリックと前記ウェイポイントの場所の間の関係を定義するステップを含む請求項1に記載の方法。
【請求項9】
前記関係は、前記ウェイポイントのそれぞれのものの線形組合せとしての前記最悪状態ポイントの前記メトリックのテイラー級数展開として近似されており、前記級数内のそれぞれのウェイポイント項は、前記ウェイポイントの関数として定義された前記軌跡との関係における前記衝突メトリックの偏導関数を含む請求項8に記載の方法。
【請求項10】
前記最悪状態最適化を実行するステップは、極小化される目的関数を定義するステップと、衝突回避不等式制約を定義するために前記関係を使用するステップと、を含む請求項8に記載の方法。
【請求項11】
前記目的関数は、ウェイポイント変化の距離、軌跡の長さ、及び軌跡の形状の項の重み付けされた組合せを含み、前記重み付け係数の任意のものは、ゼロであってもよく、且つ、前記最適化は、前記開始及びゴールポイントを決定する等式制約を更に含む請求項10に記載の方法。
【請求項12】
産業ロボットの経路を計画する方法であって、ウェイポイントの組を通じて軌跡を演算するステップであって、軌跡セクションは、隣接ウェイポイントの間の前記軌跡の一部分である、ステップと、前記軌跡に沿った距離として弧長パラメータを定義するステップと、最悪衝突回避メトリックを有するそれぞれの軌跡セクション内の最悪状態ポイントを識別するために最悪状態サーチを実行するステップと、ウェイポイントの新しい組を判定するために前記最悪状態ポイントを使用して最悪状態最適化を実行するステップと、前記衝突回避メトリックが予め定義されている基準を充足する時点まで前記ウェイポイントの新しい組を使用して軌跡を演算するステップに戻るステップと、を有する方法。
【請求項13】
産業ロボット用の経路計画システムであって、
前記ロボットの作業空間内の障害物を定義する障害物データを提供する手段と、
前記ロボット及び前記障害物データを提供する手段との通信状態にあるコンピュータであって、
前記経路の開始ポイント及びゴールポイント並びに1つ又は複数の中間ウェイポイントを含むウェイポイントの組を定義し、
経路補間関数を使用して前記ウェイポイントの組を通じて軌跡を演算し、軌跡セクションは、隣接するウェイポイントの間の前記軌跡の一部分として定義されており、
前記軌跡に沿った距離として弧長パラメータを定義し、
最悪衝突回避メトリックを有するそれぞれの軌跡セクション内の最悪状態ポイントを識別するために最悪状態サーチを実行し、
ウェイポイントの新しい組を判定するために、前記最悪状態ポイントを使用して最悪状態最適化を実行し、
前記衝突回避メトリックが予め定義されている基準を充足していない際に前記ウェイポイントの新しい組を使用して軌跡を演算するステップに戻り、且つ、
前記衝突回避メトリックが前記基準を充足している際に前記ロボットのモーションを制御するために前記ウェイポイントの新しい組及び対応する最適な軌跡を使用する、
ように構成されたプロセッサ及びメモリを有するコンピュータと、
を有するシステム。
【請求項14】
前記障害物データを提供する手段は、前記作業空間内において前記障害物を検出するように構成されたコンピュータ支援設計(CAD)システム又は1つ又は複数のセンサを含み、前記1つ又は複数のセンサは、1つ又は複数のカメラ、レーダーセンサ、LiDARセンサ、超音波センサ、又は赤外線センサを含む請求項13に記載のシステム。
【請求項15】
前記弧長パラメータは、前記開始ポイントにおいては、0の値を有し、且つ、前記ゴールポイントにおいては、1の値を有する請求項13に記載のシステム。
【請求項16】
前記衝突回避メトリックは、前記ロボットの任意の部分から前記障害物の1つまでの最小距離であり、且つ、前記基準は、前記メトリックが超過しなければならない最小安全距離である請求項13に記載のシステム。
【請求項17】
最悪状態サーチを実行するステップは、前記ロボットの任意の部分から前記障害物の任意のものまでの距離が最小値であるそれぞれの軌跡セクションに沿った前記最悪状態ポイントを見出すステップを含む請求項13に記載のシステム。
【請求項18】
前記最悪状態最適化を実行するステップは、前記最悪状態ポイントに基づいて前記衝突回避メトリックと前記ウェイポイントの場所の間の関係を定義するステップを含む請求項13に記載のシステム。
【請求項19】
前記関係は、前記ウェイポイントのそれぞれのものの線形組合せとしての前記最悪状態ポイントの前記メトリックのテイラー級数展開として近似されており、前記級数内のそれぞれのウェイポイント項は、前記ウェイポイントの関数として定義された前記軌跡との関係における前記衝突メトリックの偏導関数を含む請求項18に記載のシステム。
【請求項20】
前記最悪状態最適化を実行するステップは、最小化される目的関数を定義するステップと、衝突回避不等式制約を定義するために前記関係を使用するステップと、を含む請求項18に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年2月19日付けで出願された「COLLISION AVOIDANCE MOTION PLANNING METHOD FOR INDUSTRIAL ROBOT」という名称の米国仮特許出願第62/978,654号の優先日の利益を主張するものである。
【0002】
本開示は、産業ロボットのモーション制御の分野に関し、且つ、更に詳しくは、障害物及び疎らに離隔し得るウェイポイントの初期の組の定義によって始まり、且つ、障害物までの距離の最悪状態を有するウェイポイントのそれぞれの隣接するペアの間の場所を見出し、且つ、次いで、最小障害物回避距離基準が充足される時点まで最悪状態を改善するためにウェイポイント場所の最適化を実行するロボット衝突回避モーション計画技法に関する。
【背景技術】
【0003】
様々な製造、組立、及び材料移動動作を実行するための産業ロボットの使用が周知である。多くのロボット作業空間環境においては、障害物が存在しており、これらは、ロボットのモーションの経路内に位置し得る。障害物は、機械及び備品などの永久的な構造物であってもよい。また、障害物は、操作されつつあるワークピース又は部品が配置されつつあるコンテナであってもよく、この場合に、ロボットは、動作を実行しつつ、ワークピース又はコンテナをその内外において操作しなければならない。ロボットと任意の障害物の間の衝突は、絶対に回避しれなければならない。
【0004】
ロボット衝突回避モーション計画用の従来技術の技法は、通常、軌跡に沿ってウェイポイントの組を定義するステップと、ウェイポイントのそれぞれによって表されている別個の状態において衝突又は過剰に小さなクリアランスについてチェックするステップと、を伴っている。これらの技法においては、予め定義されたウェイポイントの間に細い障害物がたまたま存在している場合に、細い障害物との間の衝突がモーション計画において見逃されうる可能性がある。細い障害物が見逃されないことを保証するための唯一の確実な方法は、高密度のウェイポイントの組を定義するというものであり、この場合には、ウェイポイントの間の間隔は、細い障害物による占有を許容するほどに十分大きなものではない。
【0005】
そして、従来技術の技法において必要とされている高密度のウェイポイント間隔の使用は、その他の問題を生成する。高密度のウェイポイント間隔に伴う1つの問題は、逆運動学的なロボット構成演算及び衝突回避最適化計算をそれぞれのウェイポイントごとに実行しなければならないことから、モーション計画演算時間が増大するという点にある。高密度のウェイポイント間隔に伴う別の問題は、曲率ブレンディング用の減速がしばしばそれぞれのウェイポイントの近傍において必要とされることから、不均等な又はぎくしゃくしたロボットモーションがしばしば生成されるという点にある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述の状況に鑑み、高密度のウェイポイント間隔を必要としないが依然としてロボットの軌跡に沿って任意の衝突又は最小限距離閾値違反を確実に識別し且つ自動的に解決する改善されたロボットモーション最適化技法に対するニーズが存在している。
【課題を解決するための手段】
【0007】
本開示の教示内容によれば、最悪状態サーチ及び最適化を使用したロボット衝突回避モーション計画技法が開示されている。モーション計画技法は、障害物、開始及びゴールポイント、並びに、疎らに離隔し得るウェイポイントの初期の組の幾何学的定義によって始まっている。線形又はスプラインなどのポイント間補間方法が付与された状態において、連続的軌跡をウェイポイント及び弧長パラメータの関数として記述することができる。ロボット及びツールのすべての部分を考慮することにより、障害物までの距離の最悪状態を有するウェイポイントのそれぞれの隣接するペアの間の場所を見出す最悪状態サーチが実行されている。最悪状態場所を使用することにより、衝突回避制約が定義され、且つ、すべての衝突が除去され、且つ、障害物回避最小距離基準が充足される時点まで最悪状態を改善するためにウェイポイント場所の最適化が実行されている。
【0008】
この開示されている装置及び方法の更なる特徴については、添付図面との関連において提供される以下の説明及び添付の請求項から明らかとなろう。
【図面の簡単な説明】
【0009】
図1図1は、障害物の近傍において動作している産業ロボットの図であり、この場合に、従来の衝突回避モーション計画技法は、十分高密度なウェイポイント間隔が使用されない場合には、障害物衝突の識別に失敗し得るであろう。
図2図2は、車両ボディ構造の近傍において動作している産業ロボットの図であり、この場合には、車両ボディワークピース自体が、回避されなければならない障害物を表しており、且つ、従来の衝突回避モーション計画技法は、この場合にも、高密度のウェイポイント間隔を使用しなければならない。
図3図3は、本開示の一実施形態による障害物環境を通じたウェイポイントのシーケンスの図であり、この場合に、最悪状態サーチは、障害物との関係において最悪状態距離を有するウェイポイントのそれぞれのペアの間の軌跡上の場所を識別している。
図4図4は、本開示の一実施形態による図3の初期ウェイポイント及び軌跡の図であり、この場合に、最悪状態最適化は、衝突回避基準が充足される時点まで最悪状態を改善するためにウェイポイント場所を移動させている。
図5図5は、本開示の一実施形態による最悪状態に基づいて最悪状態サーチ及びウェイポイント最適化を使用するロボット衝突回避モーション計画用の方法のフローチャート図である。
図6図6は、図5の方法を使用するように構成されたロボット衝突回避モーション計画システムの図である。
【発明を実施するための形態】
【0010】
最悪状態サーチ及び最悪状態最適化を使用するロボット衝突回避モーション計画技法を対象とした本開示の実施形態に関する以下の説明は、その特性が例示を目的としたものに過ぎず、且つ、決して、開示されている装置及び技法或いはその用途又は使用を限定することを意図したものではない。
【0011】
様々な製造、組立、及び材料移動作業のために産業ロボットを使用することが周知である。多くのロボット作業空間環境においては、障害物が存在しており、これらは、ロボットのモーションの経路内に位置し得る―即ち、障害物は、ロボットが現時点において位置決めされている場所とロボットの目的地位置の間に配置され得る。障害物は、機械、備品、及びテーブルなどの構造物であってもよく、且つ、ロボットは、動作を実行しつつワークピース又はコンテナをその内外において操作しなければならないことから、ロボットによってその内外において操作されているワークピース又はコンテナは、それ自体が障害物となり得る。当技術分野においては、ツールが任意の障害物との間のロボットの衝突を回避しつつ経路を辿るように、ロボットモーションを演算するための技術が開発されている。
【0012】
図1は、障害物の近傍において動作している産業ロボットの図であり、この場合に、従来の衝突回避モーション計画技法は、十分高密度のウェイポイント間隔が使用されていない場合には障害物衝突の識別に失敗し得るであろう。ロボット100は、第1コンテナ110から第2コンテナ120にワークピースを移動させるほどに簡単なものであり得る動作を実行しつつある。ディバイダ130がコンテナ110及び120の間に配置されている。コンテナ110及び120の側壁並びにディバイダ130は、いずれも、ロボット100のすべての部分によって回避されなければならない障害物を提示しており、これには、ロボットアーム、ツール(フィンガタイプのグラスパ又はサクションカップグリッパであり得るであろう)、及び移動させられているワークピースそれ自体のすべてが含まれている。
【0013】
開始ポイント140及びゴールポイント142は、ワークピースが移動する経路上において、それぞれ、開始及び終了ポイントを表している。上述のタイプのワークピースのピックアップ及び配置動作においては、ビジョンシステム(カメラ又はその他のセンサ―図示せず)が、移動させられる次のワークピースのコンテナ110内における場所を識別することが一般的である。また、コンテナ120内のコンパートメントが個々に充填されるのに伴って、ワークピースの目的地場所が1つのものから次のものへと異なっていることも一般的である。従って、開始ポイント140及びゴールポイント142の両方は、移動させられるそれぞれのワークピースごとに一意に識別されており、これは、それぞれのワークピースごとに一意の経路を演算しなければならないことを意味している。開始ポイント140及びゴールポイント142は、障害物(コンテナ110及び120並びにディバイダ130)の幾何学的定義と共に、モーション計画計算用の入力として提供されている。
【0014】
ワークピースの経路に沿っていくつかのウェイポイントを定義することが知られており、この場合に、ウェイポイントの初期基準場所は、例えば、開始ポイント140からゴールポイント142までの直線に沿って均等に分散させることができる。従来技術のモーション計画システムにおいては、ロボット状態が、それぞれのウェイポイントにおいて演算され、且つ、衝突回避演算が、それぞれのウェイポイント状態において実行されている。但し、ウェイポイントが疎らに離隔している場合には、従来技術のモーション計画システムは、ウェイポイントの間に存在している干渉状態の識別に失敗し得る可能性がある。以下の説明においては、図1を更に参照しつつ、この状況について示すこととする。
【0015】
軌跡150は、開始ポイント140とゴールポイント142の間において直線として定義されている。開始ポイント140及びゴールポイント142に加えて、ウェイポイント152及びウェイポイント154という2つのウェイポイントが定義されている。従来の最適化に基づいたモーション計画技法においては、初期基準経路が定義され、ロボット状態及び干渉が演算され、且つ、新しい経路が定義されており、これが、衝突が経路に沿った任意のウェイポイントにおいて存在していない経路が見出される時点まで繰り返し反復されている。但し、軌跡150のケースにおいては、衝突がウェイポイント152又はウェイポイント154において発生しないと判定される場合があり、且つ、モーション計画システムは、直線軌跡150が開始ポイント140からゴールポイント142までの適切な経路であると結論付けることになろう。ロボット外側アーム及び/又はツールが、コンテナ110の側壁、ディバイダ130、及びコンテナ120の側壁と衝突することになることから、これは、明らかに受け入れ可能な解決策ではない。
【0016】
上述の状況が発生する理由は、従来技術のモーション計画システムが、ウェイポイントによって表された別個の状態のみを考慮しており、且つ、ウェイポイントの間において発生し得る衝突についてチェックしていないからである。上述の誤った解決策を回避するために、従来技術のモーション計画システムのユーザーは、高密度のウェイポイントの組を定義することが一般的である。例えば、軌跡150において使用されている4つのポイント(開始点140、ゴールポイント142、及び2つの中間ウェイポイント)の代わりに、軌跡160は、合計で10個のポイント(開始ポイント140、ゴールポイント142、及び8つの中間ウェイポイント)を使用して定義されている。中間ウェイポイント(162、164、166、など)が、当初、開始ポイント140とゴールポイント142の間において直線状に配置されている場合にも、衝突が別個のウェイポイント状態のいくつかにおいて識別されることになり、且つ、最適化ルーチンは、開始ポイント140とゴールポイント142の間のすべての障害物をアーチ状に回避する軌跡160に収束する時点まで、ウェイポイントが上方に運動するようにすることになる。
【0017】
図2は、車両ボディ構造の近傍において動作している産業ロボットの図であり、この場合には、車両ボディワークピース自体が、回避されなければならない障害物を表しており、且つ、従来の衝突回避モーション計画技法は、この場合にも、高密度のウェイポイント間隔を使用しなければならない。ロボット200は、車両ボディ構造210上においてスポット溶接などの動作を実行しつつある。開始ポイント220は、ロボット200用のホーム場所であり、且つ、ゴールポイント222は、(例えば、ボディ構造210の内側に配置された部分上の)溶接が実行される場所である。ボディ構造210のルーフレール212は、開始ポイント220とゴールポイント222の間の場所を直接的に占有している。
【0018】
上述の図1の説明に基づいて、直線軌跡230が衝突を伴わないものであると判定され得る方式を想定することは容易である。軌跡230が、開始ポイント220とゴールポイント222の間において(5つなどの)適度な数の中間ウェイポイントによって定義されている場合にも、従来技術のモーション計画システムは、衝突の検出に失敗することになる可能性が非常に高く、その理由は、衝突回避計算が別個のウェイポイント状態においてのみ実行され、且つ、細いルーフレール212がウェイポイントの間を通過し得るからである。
【0019】
十分に大きな数のウェイポイントが定義された場合には、従来技術のモーション計画システムは、ルーフレール212との間の潜在的な衝突を識別することになる。衝突回避制約は、最適化ルーチンがウェイポイント用の異なる場所を試みるようにすることになり、且つ、ウェイポイントは、最終的に、(ロボット200のベースとボディ構造210の間において)ボディ構造210の外側を通過する且つゴールポイント222に曲がって戻る軌跡240に収束することになる。
【0020】
従来技術のモーション計画システムにおいて確実な衝突回避のために必要とされる高密度のウェイポイント間隔は、2つの理由から問題である。第1に、最適化演算(逆運動学的ロボット構成及び干渉チェック計算を含む)は、ウェイポイントの数が増大するのに伴って、益々複雑化し且つ時間を所要することになる。第2に、高密度のウェイポイント間隔によってロボットツールのスムーズなモーションを実現することは、困難又は不可能であり、その理由は、それぞれのウェイポイントにおける経路セグメント遷移が、通常、遷移において必要とされる曲率に起因してツール中心点の減速を生成するからである。
【0021】
以下は、高密度のウェイポイント間隔を必要としないが、連続的軌跡に沿ったウェイポイントの間の衝突を確実に識別し、且つ、次いで、衝突を伴っておらず且つ障害物回避最小距離要件を充足している軌跡を提供するためにウェイポイント場所を最適化する衝突回避モーション計画方法の説明である。本開示の技法によれば、この方法は、最悪干渉状態を有する連続的軌跡上の場所を識別するための2ステップ最悪状態サーチを含み、これには、衝突回避要件が充足される時点まで最悪状態を改善するためにウェイポイントを移動させる2ステップ最悪状態最適化が後続している。
【0022】
図3は、本開示の一実施形態による障害物環境を通じたウェイポイントのシーケンスの図であり、この場合に、最悪状態サーチは、障害物との関係において最悪状態距離を有するウェイポイントのそれぞれのペアの間の軌跡上の場所を識別している。図3は、後述する図4と共に、わかりやすさを目的として単純に2次元(2D)として示されている。実際の一実装形態においては、障害物、並びに、開始及びゴールポイント、ウェイポイント、及び最悪状態ポイントの座標は、いずれも3次元において定義されており、且つ、計算のすべては、相応して処理されている。また、ロボット及びワークピースは、簡潔性及びわかりやすさを目的として図3及び図4から省略されている。図3及び図4の軌跡及びウェイポイントは、最終的に、動作を実行するためにロボットによって使用されており、この場合に、最終的な軌跡は、図1及び図2において示されている方式でロボットのツール中心点が辿る経路であることを理解されたい。
【0023】
図3において、障害物310、312及び314は、ロボット及びワークピースによって回避されなければならない任意のタイプの物体を表している。図1及び図2との関係において上述したように、障害物310/312/314は、構造物、ツール、備品、又は大きなワークピース自体でありうるであろう。また、ロボット作業空間内の人間操作者も、障害物として定義された安全ゾーン内において配置されうるであろう。
【0024】
開始ポイント320及びゴールポイント322が定義されている。図3及び図4に示されているそれぞれのポイントの座標は、ロボットの作業セル座標フレームなどの共通固定座標フレーム内のデカルト空間内において又は更に後述するロボットの関節位置の観点において定義されている。開始ポイント320及びゴールポイント322の座標は、一部分がその間において移動される位置などの動作が実行される要件を表しており、且つ、従って、開始ポイント320及びゴールポイント322の場所を変更することはできない。従って、開始ポイント320及びゴールポイント322の場所は、後述する最適化計算において等式制約として取り扱われている。ウェイポイントの初期の組(332、334、及び336)は、一般的には、開始ポイント320とゴールポイント322の間の場所において定義されている。ウェイポイント332/334/336の初期場所は、任意の適切な方式で定義されていてもよく、これには、教示ペンダントなどの装置を使用した人間操作者による定義、類似の開始及びゴールポイントを有する予め演算された経路に基づいたコンピュータによる自動選択、などが含まれている。
【0025】
図3は、状態パラメータ化及び最悪状態サーチという開示されている方法の2つのステップを描いている。以下、これら2つのステップのそれぞれについて説明する。状態パラメータ化は、開始ポイント320、ゴールポイント322、及びウェイポイント332/334/336の関数として連続的軌跡330を定義するステップを伴っている。いくつかの専門用語が以下のように確立されている。軌跡330が通過するすべてのポイントの組全体は、qとして定義されている。即ち、qは、開始及びゴールポイント320/322及びウェイポイント332/334/336を含む。換言すれば、q={q,q,q,q,q}であり、この場合に、開始ポイント320は、qであり、ゴールポイント322は、qであり、且つ、ウェイポイント332/334/336は、それぞれ、q、q、qである。qなどのポイントのそれぞれは、デカルト空間(x/y/z座標及びロール/ピッチ/ヨー)内において又は関節空間(J、J、...Jnrであり、この場合に、nは、ロボットの自由度である)内において定義されている。
【0026】
この結果、連続的軌跡330は、関数g(q,α)として定義され、この場合に、α∈[0,1]は、弧長パラメータであり、qは、上述のように、すべてのエンドポイント及びウェイポイントの組{q,q,q,q,q}である。上付き文字rは、「基準」を意味しており、これは、後述する最適化計算における初期の又は以前の値を通知している。図3において示されるように、qにおいてα=1/4となり、qにおいてα=2/4となり、qにおいてα=3/4となり、且つ、qにおいてα=4/4となるように、ウェイポイントは、連続的軌跡330に沿って均等に離隔している。関数gを定義するためには、軌跡補間方法を選択しなければならない。例えば、軌跡330は、線形補間として定義することが可能であり、この場合に、軌跡は、qからqまでの直線、qからqまでの別の直線、などの形態を有する。ウェイポイントの組用の補間方法の選択については、ロボットモーションプログラミングの技術分野において既知である。
【0027】
軌跡330の線形補間のケースにおいては、qからqまでのセクションにおける関数gは、次式によって評価され、
g(q,α)=(1-α)q+αq (1)
ここで、すべての変数は、以上において定義されているとおりである。関数gは、軌跡330のすべてのその他のセクション(qからqまで、など)において類似の方式で評価することができる。
【0028】
使用され得る別の軌跡補間方法は、スプライン補間である。軌跡330のスプライン補間の一例においては、qからqまでのセクションにおける関数gは、次式によって評価されており、
g(q,α)=(kα+kα+kα+1)q+(mα+mα+mα)q (2)
この場合に、k及びmは、スプライン軌跡の形状に影響を及ぼす定数であり、且つ、この場合にも、関数gは、軌跡330のすべてのその他のセクション(qからqまで、など)において類似の方式で評価することができる。また、当業者によって理解されるように、線形及びスプライン以外のその他のタイプの軌跡補間を選択することもできる。
【0029】
以上の説明は、開示されている方法の状態パラメータ化ステップを完成させている。要すれば、補間方法(線形、スプライン、など)及びウェイポイントqが付与されたら、連続的軌跡330を関数g(q,α)によって記述することが可能であり、この場合に、αは、弧長パラメータである。
【0030】
こちらも図3に示されているプロセスの次のステップは、最悪状態サーチである。最悪状態サーチは、障害物310/312/314の1つのものとの間の干渉の最悪量又は障害物310/312/314の1つまでの最小距離であり得る障害物との関係における最悪状態距離を有するウェイポイントqのそれぞれの隣接するペアの間における軌跡330に沿った場所を見出すステップを伴っている。軌跡330の場合に、最悪状態ポイント352、354、356、及び358は、それぞれ、軌跡330の第1、第2、第3、及び第4セクションの最悪状態である。最悪状態ポイントのそれぞれは、qworst,iとして表記され、この場合に、i=(1,...,4)である。
【0031】
最悪状態を見出すためには、ウェイポイントqを固定し、且つ、1次元最小化問題を次式のように定式化することが可能であり、
【数1】
ここで、α は、最悪状態が発生するセクションiにおける場所αであり、且つ、距離関数Dist(g(q,α),Obs)は、関数gによって定義された軌跡330上の特定のポイントαについてロボットのすべての部分と障害物310/312/314の間の最小距離(即ち、最大干渉)を演算することにより、評価されており、この場合に、αは、セクションiの下限(lb)からセクションiの上限(ub)までの範囲をとることが許容されている。従って、最小化問題は、最悪状態が発生するセクションi内の場所α に収束する。ロボットのすべての部分と障害物310/312/314の間の最小距離(即ち、最大干渉)は、ロボットアーム及びツールのそれぞれのものの周りにおいて幾何学的プリミティブを確立し、且つ、例えば、プリミティブから障害物までの距離を算出するなどのように、任意の適切な技法を使用して軌跡330上のそれぞれのポイントにおいて算出することができる。
【0032】
式(3)において定義されている最小化問題は、軌跡セクションのそれぞれごとに解かれている。図3の軌跡330の場合には、α は、セクションのそれぞれi=(1,...,4)ごとに見出されている。図3において、関数gは、軌跡330の有意な曲率にみられるように、スプライン補間を使用している。
【0033】
この結果、付与されたウェイポイントの初期の組qにおける最悪状態は、次式のようにポイントα において関数gを評価することにより、識別され、
worst,i=g(q,α ) (4)
ここで、qworst,iは、セクションi内の最悪状態を有するポイントであり、且つ、式(4)のすべてのその他の変数は、上述のとおりである。
【0034】
i=(1,...,4)の場合の式(4)からの最悪状態ポイントqworst,iは、図3に示されている且つ上述した最悪状態ポイント352、354、356、及び358である。最悪状態ポイント352(qworst,1)は、障害物310との間の最大干渉を有する。最悪状態ポイント354は、障害物312までの最小距離を有する。最悪状態ポイント356及び358は、いずれも、障害物314までの最小距離を有する。
【0035】
図3及び以上の説明は、以下のように要約される。状態パラメータ化ステップにおいて、補間方法(線形、スプライン、など)及びウェイポイントqが付与された場合に、連続的軌跡330は、関数g(q,α)によって記述され、この場合に、αは弧長パラメータである。次いで、最悪状態サーチステップにおいて、連続的軌跡内の最悪状態は、式(3)及び式(4)を使用して見出される。
【0036】
図4は、本開示の一実施形態による図3のウェイポイントq及び軌跡330の図であり、この場合に、最悪状態最適化は、衝突回避基準が充足される時点まで最悪状態を改善するためにウェイポイント場所を移動させている。最悪状態最適化は、衝突回避制約とウェイポイント場所の間の関係を見出すステップと、これに後続する最悪状態最適化自体と、という2つのステップから構成されている。これらのステップは、いずれも、図4に描かれており、以下、これらについて説明する。
【0037】
場所α が固定された状態において、式(4)からのqworst,iの値が付与された場合に、最悪状態ポイントqwrost,iにおける不等式制約は、次式として記述することが可能であり、
Dist(qworst,i,Obs)=Dist(g(q,α ),Obs)≧dsafe (5)
ここで、dsafeは、予め定義された衝突回避閾値基準(50mmなどの最小安全クリアランス距離)であり、且つ、唯一の変数は、ウェイポイント場所の新しい組qである。
【0038】
最悪状態最適化の目的は、その初期場所qから場所の新しい組qにウェイポイントを移動させるというものである。最初及び最後のウェイポイントq及びqは、上述のように移動させることができない。最悪状態を改善するために移動させることができるのは、中間ウェイポイントのみである。最適化問題をセットアップするためには、衝突回避制約とウェイポイント場所qの間の関係を更に高度化しなければならない。最悪状態とすべてのウェイポイントの間の関係を判定するために、その他のウェイポイント上における最悪状態の偏導関数が算出されている。
【0039】
連鎖律を有する1次テイラー展開を使用することにより、最悪状態のメトリック値をそれぞれのウェイポイントの線形組合せとして近似することができる。従って、最悪状態とウェイポイントのそれぞれのものの間の関係は、次式のように衝突メトリックの偏導関数によって近似され、
【数2】
この場合に、Dist関数及び関数gは、上述のとおりであり、且つ、qの異なるインスタンスの概念も、上述のとおりであり、これには、以前の反復からの基準値を表記する上付き文字rが含まれている。
【0040】
上述の式(5)は、場所α 及びウェイポイントの新しい組qにおいて見出される最悪状態の観点において衝突回避制約を確立している。式(6)は、最適化ルーチン内において数値解に適した形態において衝突回避制約を近似している。
【0041】
最悪状態最適化ステップにおいては、目的関数及び1つ又は複数の制約を有する最適化問題が定式化されている。目的関数は、通常、最小距離及び/又は滑らかさなどの特定の軌跡特性を実現するために選択されている。目的関数の一例は、次式であり、
【数3】
ここで、w値は、重み付け係数であり、||q-q||項は、新しいウェイポイントと基準ウェイポイントの間の距離の量を表し、||∇q||項は、ウェイポイントを通じた経路長の近似を表し、且つ、||∇q||項は、曲率又は滑らかさメトリックを表している。特定の用途に適するように、その他の目的関数を定義することができる。
【0042】
いくつかの制約関数を最適化問題のために定義することができる。ロボットモーション最適化において使用されている1つの通常の制約は、ロボットの関節が、軌跡に沿ってツールを移動させている際に既知の関節位置限度内に留まらなければならないというものである。関節位置限度は、不等式制約として定義することができる。別の制約は、ポイント320及び322である軌跡の開始及びゴールポイントが、処方された場所において留まらなければならないというものである。開始及びゴールポイント場所は、等式制約として定義することができる。これに加えて、上述のように、式(6)において偏導関数の形態において表されている最悪状態衝突メトリックは、次式のように不等式衝突回避制約として定義されてもよく、
【数4】
ここで、上述のテイラー級数展開において、jは、0~nの値を取得する一方で、iは、1~nの値を取得しており、その理由は、jがウェイポイントを表しており、且つ、iが軌跡セクションを表しているらである。例えば、図3及び図4においては、n=4であり、且つ、5つのウェイポイントと4つの軌跡セクションが存在している。
【0043】
最悪状態最適化問題が目的関数及び制約の以上の説明に従って定義されている状態において、ウェイポイントの位置を更新するために、異なる最適化更新規則を適用することができる。可能な最適化更新規則は、SQP(Sequential Quadratic Programming)、SQP信頼領域、又はCHOMP(Covariant Hamiltonian Optimization for Motion Planning)などのアルゴリズムを含む。最適化計算が収束した際に、ウェイポイント場所の新しい組qが結果的に得られることになる。
【0044】
最適化計算において含まれている衝突回避不等式制約は、図4の矢印によって示されているように、最適化ソルバが、障害物310/312/314から離れるように最悪の状態を「プッシュ」するようにしている。これは、新しいウェイポイント場所の組qの場所に対する結果的に得られる効果を有しており、これも、衝突メトリックを改善するために最悪状態の軽減を支援する方向において漸進的に移動している。
【0045】
式(7)及び(8)において記述されている最適化計算は、基準ウェイポイントのために判定された最悪状態との関係において障害物回避状況を改善するウェイポイント場所の新しい組qをもたらしている。新しい軌跡は、以前の軌跡よりも障害物回避との関係において相対的に良好なものとなるが、新しい軌跡は、依然として衝突回避基準を充足し得ない場合がある。従って、プロセスは、ウェイポイント場所の新しい組qが、上述の軌跡補間及び最悪状態サーチステップのための基準ウェイポイント入力として使用されるように、開始時点にループして戻っている。このループは、衝突回避基準を充足するウェイポイント場所の組qが判定される、即ち、最悪状態距離のいずれもが最小衝突回避閾値dsafeを超過する、時点まで反復されている。
【0046】
図4には、衝突回避基準を充足するための最後の収束の後のウェイポイント場所の新しい組qが示されている。最終的軌跡360は、開始ポイント320において開始し、ゴールポイント322において終了し、且つ、新しいウェイポイント362、364、及び366を通過している。最終的軌跡360は、障害物310/312/314を回避して通過していることを観察することができる。この場合にも、上述の計算は、すべて3次元形状に基づいており(図3及び図4に示されているように2Dではない)、且つ、衝突回避計算は、ロボットのすべての部分(即ち、最終的軌跡360によって表されているツール中心ポイント経路のみならず、ロボットアーム及びツール)を考慮していることを強調しておきたい。
【0047】
図5は、本開示の一実施形態による最悪状態に基づいた最悪状態サーチ及びウェイポイント最適化を使用するロボット衝突回避モーション計画用の方法のフローチャート図500である。ボックス502において、初期化が実行されている。初期化は、ロボット、開始及びゴールポイント、及び障害物の位置を作業セル座標フレームなどの共通座標フレーム内において定義するステップを含む。また、初期化は、開始及びゴールポイント場所に基づいて逆運動学を使用してロボットの開始及びゴール構成を算出するステップをも含む。
【0048】
ボックス504における補間ステップにおいて、開始ポイントからゴールポイントまでの基準ウェイポイントが提供されており、且つ、ロボット構成が逆運動学を使用してそれぞれのウェイポイントにおいて演算されている。プロセスの最初の時点においては、基準ウェイポイントが初期基準ポイントである(これは、例えば、開始ポイントからゴールポイントまでの直線、類似の開始及びゴールポイントを有する予め計画された経路からのウェイポイント、或いは、教示ペンダント装置を使用して操作者によって教示されたポイントであってよい)。
【0049】
ボックス506において、状態パラメータ化が以上の説明に従って実行されている。状態パラメータ化は、開始ポイント、ゴールポイント、及び中間ウェイポイントの関数として連続的軌跡を定義するステップを含む。連続的軌跡は、補間方法(線形、スプライン、など)に基づいてウェイポイントを通じて定義されており、且つ、弧長パラメータαが軌跡の長さに沿って定義されている。ボックス508において、最悪状態サーチが以上の説明に従って実行されている。最悪状態サーチは、障害物との関係における最悪状態距離を有するウェイポイントのそれぞれの隣接するペアの間の軌跡に沿った場所を見出すステップを含む。最悪状態サーチは、式(3)を使用して最悪状態が発生するそれぞれの軌跡セクション内において場所αを見出し、且つ、式(4)を使用してそれぞれの軌跡セクション内において実際の最悪状態ポイントを見出している。
【0050】
ボックス506の状態パラメータ及びボックス508の最悪状態サーチは、ボックス510内において含まれた且つ図3において描かれた全体最悪状態サーチプロセスの2つのステップを集合的に構成している。
【0051】
ボックス512において、最悪状態を使用して衝突回避制約とウェイポイント場所の間の関係を見出すステップが以上の説明に従って実行されている。関係を見出すステップは、上述の式(5)及び式(6)を使用するステップを含む。ボックス514において、最悪状態最適化が以上の説明に従って実行されている。最悪状態最適化は、式(7)において示されている例などの目的関数及び1つ又は複数の制約を有する最適化問題を定式化するステップを含む。制約は、式(8)に示されているように、ウェイポイント場所に対する最悪状態の関係に基づいた衝突回避最小距離不等式制約を含む。最悪状態最適化は、衝突回避メトリックを改善するウェイポイントの新しい組をもたらしている。
【0052】
ボックス512の関係及びボックス514の最悪状態最適化を見出すステップは、ボックス516内において含まれた且つ図4上において描かれた全体最悪状態最適化プロセスの2つのステップを集合的に構成している。
【0053】
最悪状態最適化に後続し、判定ダイアモンド518において、ウェイポイントの最後の組を通じた軌跡が衝突回避最小距離基準を充足しているかどうかが判定されている。最小距離基準が充足されている場合には、ウェイポイントの最後の組を通じた軌跡がボックス520における最終的な又は最適な軌跡として使用される。最終的な又は最適な軌跡は、望ましい動作(例えば、ワークピースの移動)を実行するためにロボットの運動を制御するようにロボットコントローラによって使用される。最小距離基準が充足されていない場合には、プロセスは、判定ダイアモンド518から補間ボックス504にループして戻っており、ここでは、ウェイポイント最後の組が、状態パラメータ化を再度開始するための基準ウェイポイントとして使用されている。
【0054】
図6は、図5の最悪状態サーチ及び最適化方法を使用するように構成されたロボット衝突回避モーション計画システムの図である。ロボット600は、1つ又は複数の障害物610を含む作業空間602内において動作している。コントローラ620は、通常、図示のように、ハードウェアケーブル接続を介してロボット600と通信している。コントローラ620は、当技術分野において既知のように、関節モーターコマンドをロボット600に送信し且つロボット600内の関節エンコーダから関節モータ位置データを受け取ることにより、ロボット600のモーションを制御している。
【0055】
コントローラ620との通信状態にある任意選択のコンピュータ630は、CADソリッド又は表面モデルの形態において障害物形状データを提供することを含むいくつかの異なるタスクのために使用することができる。コンピュータ630は、使用されている場合には、任意の適切な無線又は有線ネットワーク接続を介してコントローラ620と通信している。障害物610を定義するためのCADデータの使用の一代替肢として、センサ640などの1つ又は複数のセンサを使用することができる。1つ又は複数のセンサ640は、作業空間602内の障害物610の3D形状を提供する能力を有するカメラ又は物体センサの任意のタイプであってよい。1つ又は複数のセンサ640は、1つ又は複数の3Dカメラであるか、又はそのデータが3D障害物データとして組み合わせられる複数の2Dカメラであり得るであろう。又、1つ又は複数のセンサ640は、レーダー、LiDAR、及び/又は超音波などのその他のタイプの装置を含み得るであろう。また、1つ又は複数のセンサ640は、任意の適切な無線又は有線ネットワーク接続を介してコントローラ620及び/又はコンピュータ630と通信している。
【0056】
一実施形態において、コントローラ620は、コンピュータ630又は1つ又は複数のセンサ640から障害物形状データを受け取っている。障害物形状データは、作業空間602内において存在しているすべての障害物610の3D形状を定義している。また、コントローラ620は、センサデータ又はその他のものから次の動作用の開始及びゴールポイントを判定している。次いで、コントローラ620は、フローチャート図500のステップの残りの部分を実行するように進捗しており、これには、ウェイポイントの初期セット用のロボットモーションを補間するステップと、衝突回避基準が充足される時点まで最悪状態サーチ及び最悪状態最適化計算を実行するステップと、が含まれている。次いで、コントローラ620は、最後の軌跡用のモーションコマンドを演算し、且つ、このコマンドをロボット600に提供している。
【0057】
別の実施形態において、コンピュータ630は、演算の大部分を実行しており、これには、障害物データ及び開始/ゴールポイントを受け取るステップ、初期ウェイポイントを補間するステップ、及び衝突回避基準が充足される時点まで最悪状態サーチ及び最悪状態最適化計算を実行するステップが含まれている。この実施形態において、コンピュータ630は、最後の最適な軌跡及びウェイポイントをコントローラ620に提供しており、且つ、コントローラ620は、対応するモーションコマンドを演算し且つこのコマンドをロボット600に提供している。演算の責任は、コンピュータ630とコントローラ620の間において任意の適切な方式で分割することができる。
【0058】
以上の説明の全体を通じて、様々なコンピュータ及びコントローラが記述及び示唆されている。これらのコンピュータ及びコントローラのソフトウェアアプリケーション及びモジュールは、プロセッサ及びメモリモジュールを有する1つ又は複数の演算装置上において実行されることを理解されたい。具体的には、これは、上述の(使用されている場合に)ロボットコントローラ620及びコンピュータ630のそれぞれ内のプロセッサを含む。具体的には、(使用されている場合に)コントローラ620及び/又はコンピュータ630内のプロセッサは、以上の開示の全体を通じて記述されている方式で最悪状態サーチ及び最悪状態最適化を使用して衝突回避経路計画演算を実行するように構成されている。
【0059】
以上において概説したように、最悪状態サーチ及び最悪状態最適化を使用するロボット衝突回避モーション最適化用の開示されている技法は、従来技術の方法との比較において大きな利点を提供している。開示されている最悪状態サーチ/最悪状態最適化技法は、ウェイポイントの疎らな配置を可能にすると共に、そうでありつつも依然として、ウェイポイントの間の潜在的な干渉―場合によっては、従来技術の方法によっては見逃され得る細い障害物との間の干渉―を見出し且つ除去している。
【0060】
最悪状態サーチ及び最悪状態最適化を使用するロボット衝突回避モーション最適化技法のいくつかの例示用の態様及び実施形態について上述したが、当業者は、その変更、並べ替え、追加、及びサブ組合せについて認識することになろう。従って、以下の添付の請求項及びこの後に導入される請求項は、その真の精神及び範囲に含まれているすべてのこのような変更、並べ替え、追加、及びサブ組合せを含むものと解釈されたい。
図1
図2
図3
図4
図5
図6
【国際調査報告】