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

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

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

<>
  • 特開-掃引容積の変形 図1
  • 特開-掃引容積の変形 図2
  • 特開-掃引容積の変形 図3
  • 特開-掃引容積の変形 図4
  • 特開-掃引容積の変形 図5
  • 特開-掃引容積の変形 図6
  • 特開-掃引容積の変形 図7
  • 特開-掃引容積の変形 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023135648
(43)【公開日】2023-09-28
(54)【発明の名称】掃引容積の変形
(51)【国際特許分類】
   B25J 19/06 20060101AFI20230921BHJP
【FI】
B25J19/06
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023039636
(22)【出願日】2023-03-14
(31)【優先権主張番号】17/654,929
(32)【優先日】2022-03-15
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】リン シェン-チュン
(72)【発明者】
【氏名】加藤 哲朗
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS11
3C707AS23
3C707BS10
3C707KS21
3C707KS24
3C707KX10
3C707MS08
3C707MT02
(57)【要約】
【課題】掃引容積の変形を使用するロボットの干渉チェック動作計画法を提供する。
【解決手段】高速探索ランダムツリー(RRT)アルゴリズムは、出発点と目標点との間にランダムサンプルノードを生成する。各サンプルノードは、ノードまでの経路区分に沿ったロボット-障害物干渉をチェックすることによって評価される。干渉が経路区分に沿って存在する場合、区分の掃引容積は、干渉が最大であるときの臨界姿勢を識別するために使用され、障害物干渉点は、干渉状態を軽減するために経路区分を修正するようにロボットリンクに加えられる仮想力を画定するために使用される。修正経路区分の掃引容積が計算され、評価される。修正掃引容積が衝突無しであり、修正経路区分動作計画がロボット関節の範囲基準を満たす場合、修正経路区分及びサンプルノードはロボットの動作プログラムに追加される。
【選択図】図7
【特許請求の範囲】
【請求項1】
ロボットの衝突回避動作計画のための方法であって、
プロセッサ及びメモリを有するコンピュータで、ロボットが経路区分に沿って移動するための動作計画の掃引容積を計算することと、
前記掃引容積がいずれかの障害物と干渉するか否かを判定することと、
前記掃引容積がいずかの障害物と干渉するときに前記掃引容積から干渉の臨界姿勢を決定することと、
前記臨界姿勢において各ロボットリンクを障害物の貫入から退ける仮想力を計算すること及びヤコビアン行列計算において前記仮想力を使用して修正臨界姿勢を計算することを含めて、修正臨界姿勢を計算することと、
前記修正臨界姿勢を含む前記経路区分についての修正動作計画の変形掃引容積を計算することと、
前記変形掃引容積が衝突無しであること及び前記修正動作計画がロボット関節の移動制約を満たすことを確認することと、を含む、方法。
【請求項2】
前記変形掃引容積が衝突無しでありかつ前記修正動作計画がロボット関節の移動制約を満たすときに、前記修正動作計画に従うようにロボット制御装置によって前記ロボットを制御することを更に含む、請求項1に記載の方法。
【請求項3】
前記干渉の臨界姿勢を決定することは、前記掃引容積へのいずれかの障害物の最大貫入に対応するロボットの姿勢として前記臨界姿勢を画定することを含む、請求項1に記載の方法。
【請求項4】
前記仮想力を計算することは、前記臨界姿勢における障害物が貫入する各ロボットリンクについて、前記ロボットリンクの中線に対して垂直でありかつ障害物面の点の前記ロボットリンクへの貫入距離を合計しバネ定数を掛けることによって計算された大きさを有する仮想力ベクトルを計算すること、を含む、請求項1に記載の方法。
【請求項5】
前記修正臨界姿勢を計算することは、障害物が貫入する各ロボットリンクについて、臨界姿勢における関節速度をリンク速度に関連付けるヤコビアン行列の擬似逆行列を仮想力ベクトルに掛けることを含む、請求項4に記載の方法。
【請求項6】
前記ロボット関節の移動制約は、関節角度の範囲及び関節速度及び加速の限界を含む、請求項1に記載の方法。
【請求項7】
掃引容積を計算し及び前記掃引容積がいずれかの障害物と干渉するか否かを判定することは、3D点を占有空間を示す3D指標に変換し、3D指標を1D指標に変換して1D指標を物体ごと及びタイムステップごとの集合として記憶し、所与のタイムステップについて集合の共通部分によって干渉チェック計算を実施し、複数のタイムステップにわたる集合を合併することにより掃引容積の計算を実施するポイントセット法を使用することを含む、請求項1に記載の方法。
【請求項8】
前記経路区分は、サンプリングベースの経路計画アルゴリズムにおいて実現可能ノードからランダムサンプルノードまでの提案される区分である、請求項1に記載の方法。
【請求項9】
前記掃引容積といずれかの障害物との間の干渉の深刻性を判定し、前記干渉の深刻性が予め定められた閾値を下回る場合に前記修正臨界姿勢及び前記変形掃引容積のみを計算することを更に含む、請求項1に記載の方法。
【請求項10】
ロボットの衝突回避動作計画のための方法であって、
ロボットが出発点から目標点まで移動するための衝突無し経路を見つけるために、プロセッサ及びメモリを有するコンピュータで、サンプリングベースの経路計画アルゴリズムを実行することと、
前記経路計画アルゴリズムにおいてランダムサンプルノードを画定し、実現可能ノードから前記ランダムサンプルノードまでの経路区分を計算することと、
前記経路区分について動作計画の掃引容積を計算することと、
前記掃引容積がいずれかの障害物と干渉するか否かを判定することと、
前記掃引容積がいずれかの障害物と干渉するとき前記掃引容積から干渉の臨界姿勢を決定することと、
前記臨界姿勢において障害物貫入から各ロボットリンクを退ける仮想力を計算すること及びヤコビアン行列計算において前記仮想力を使用して修正臨界姿勢を計算することを含めて、修正臨界姿勢を計算することと、
前記修正臨界姿勢を含む前記経路区分についての修正動作計画の変形掃引容積を計算することと、
前記変形掃引容積が衝突無しであること及び前記修正動作計画がロボット関節の移動制約を満たすことを確認することと、
前記サンプルノード及び前記修正動作計画を前記衝突無しの経路の実現可能要素として追加することと、
前記経路計画アルゴリズムにおいて新しいランダムサンプルノードを画定することと、を含む、方法。
【請求項11】
前記干渉の臨界姿勢を決定することは、前記掃引容積へのいずれかの障害物の最大貫入に対応するロボットの姿勢として前記臨界姿勢を画定することを含む、請求項10に記載の方法。
【請求項12】
前記仮想力を計算することは、前記臨界姿勢における障害物が貫入する各ロボットリンクについて、前記ロボットリンクの中線に対して垂直でありかつ前記ロボットリンクへの障害物面の点の貫入距離を合計してバネ定数を掛けることによって計算された大きさを有する仮想力を計算することを含み、前記修正臨界姿勢を計算することは、障害物が貫入する各ロボットリンクについて、前記臨界姿勢における関節速度をリンク速度に関連付けるヤコビアン行列の擬似逆行列を仮想力ベクトルに掛けることを含む、請求項10に記載の方法。
【請求項13】
前記掃引容積といずれかの障害物との間の干渉の深刻性を判定することと、前記干渉の深刻性が予め定められた閾値を下回る場合に前記修正臨界姿勢及び前記変形掃引容積のみを計算することと、を更に含む、請求項10に記載の方法。
【請求項14】
衝突回避動作計画を有するロボットシステムであって、
加工物に対して作業を実施するように構成されたロボットと、
プロセッサ及びメモリを有し、前記ロボットを制御する制御装置と、
前記制御装置で又は別のコンピュータで実行される動作計画ソフトウェアモジュールと、を備え、
前記動作計画ソフトウェアモジュールは、
前記ロボットが経路区分に沿って移動するための動作計画の掃引容積を計算し、
前記掃引容積がいずれかの障害物と干渉するか否かを判定し、
前記掃引容積がいずれかの障害物と干渉する場合、前記掃引容積から干渉の臨界姿勢を決定し、
前記臨界姿勢において障害物の貫入から各ロボットリンクを退ける仮想力を計算すること及びヤコビアン行列計算において前記仮想力を使用して修正臨界姿勢を計算することを含めて、修正臨界姿勢を計算し、
前記修正臨界姿勢を含む前記経路区分についての修正動作計画の変形掃引容積を計算し、
前記変形掃引容積が衝突無しであること及び前記修正動作計画がロボット関節の移動制約を満たすことを確認するように構成されている、ロボットシステム。
【請求項15】
前記変形掃引容積が衝突無しでありかつ前記修正動作計画が関節角度の範囲及び関節速度及び加速の限界を含めてロボット関節の移動制約を満たすときに、前記制御装置によって前記修正動作計画に従うように前記ロボットを制御することを更に含む、請求項14に記載のシステム。
【請求項16】
前記干渉の臨界姿勢を決定することは、前記掃引容積へのいずれかの障害物の最大貫入に対応するロボットの姿勢として前記臨界姿勢を画定することを含む、請求項14に記載のシステム。
【請求項17】
前記仮想力を計算することは、前記臨界姿勢における障害物が貫入する各ロボットリンクについて、前記ロボットリンクの中線に対して垂直でありかつ前記ロボットリンクへの障害物面の点の貫入距離を合計してバネ定数を掛けることによって計算された大きさを有する仮想力ベクトルを計算することを含む、請求項14に記載のシステム。
【請求項18】
前記修正臨界姿勢を計算することは、障害物が貫入する各ロボットリンクについて、前記臨界姿勢における関節速度をリンク速度に関連付けるヤコビアン行列の擬似逆行列を前記仮想力ベクトルに掛けることを含む、請求項17に記載のシステム。
【請求項19】
掃引容積を計算し、前記掃引容積がいずれかの障害物と干渉するか否かを判定することは、3D点を占有空間を示す3D指標に変換し、3D指標を1D指標に変換して、1D指標を物体ごと及びタイムステップごとの集合として記憶し、所与のタイムステップについて集合の共通部分によって干渉チェック計算を実施し、複数のタイムステップにわたる集合の合併によって掃引容積の計算を実施するポイントセット法を使用することを含む、請求項14に記載のシステム。
【請求項20】
前記経路区分は、サンプリングベースの経路計画アルゴリズムにおいて実現可能ノードからランダムサンプルノードまでの提案される区分である、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、産業用ロボット動作制御の分野、特に出発点から目標点までの間にランダムサンプルノードを生成し、次のサンプルノードまでの経路区分について動作計画を計算し、経路区分に沿って干渉が存在する場合には干渉の深刻性を判定し、深刻ではない干渉を解消する区分の改訂動作計画を計算するためにその区分の掃引容積を使用するロボット干渉チェック動作計画法に関する。
【背景技術】
【0002】
広範囲の製造、組立及び材料の移動作業を実施するために産業用ロボットを使用することはよく知られている。多くのロボットの作業空間環境には、障害物が在り、それがロボットの動作経路に在る可能性がある。障害物は、機械及び備品などの永久的な構造物である場合もあるし、一時的又は可動性の場合もある。ロボットは、溶接などの作業を実施しながら加工物の中又はその周りで操縦しなければならないので、ロボットが作業を加える大きな加工物自体が障害物の場合がある。複数のロボットの作業空間環境においては、各ロボットが、他のロボットにとって障害物である可能性がある。ロボットのいずれかの部分といずれかの障害物との衝突は、絶対に回避しなければならない。
【0003】
リアルタイム動作/経路計画の期間中を含めてロボット動作計画ルーチンに干渉チェックアルゴリズムを含めることは知られている。障害物が集中するロボット環境において使用される既知の経路計画法は、最終的に出発点を目標点に接続するランダムサンプル点を生成する高速探索ランダムツリー(RRT)であり、各「点」は、実際には完全なロボットの姿勢である。RRT法は、現在の実現可能点から次のサンプル点までのロボット動作区分が衝突無しであるか否かを判定することによって各サンプル点の実現可能性をチェックする。動作区分が衝突無しではない場合、サンプル点は廃棄されて、新しいサンプル点がランダムに生成され評価される。動作区分が衝突無しの場合、サンプル点がツリーに追加されて、新たなサンプル点がランダムに生成される。
【0004】
RRT法は、出発点から目標点まで衝突無しの経路を見つけるのに効果的であるが、障害物が集中するロボット環境においては、提案されるサンプル点までの動作区分が衝突無しである可能性が低いので、効率的ではない可能性がある。伝統的RRTの実現は、提案される動作区分に沿ったロボット-障害物衝突の深刻性を考慮していないので、些細な干渉条件しか持たない多くのサンプル点が廃棄されて、ツリーの成長が非常に遅くなるか又は効率の悪い方向に成長させる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の状況を鑑みて、ロボット-障害物衝突の深刻性を考慮して、提案されるサンプル点を廃棄するのではなく些細な干渉を解決するために動作区分を修正する、改善されたロボット干渉チェック経路計画法が必要である。
【課題を解決するための手段】
【0006】
本開示は、掃引容積の変形を使用するロボット干渉チェック動作計画法について説明する。高速探索ランダムツリー(RRT)アルゴリズムは、出発点と目標点との間にランダムサンプルノードを生成する。各サンプルノードは、ノードまでの経路区分に沿ったロボット-障害物干渉についてチェックすることによって評価される。経路区分に沿って干渉が存在する場合、干渉が最大である臨界姿勢を識別するために区分の掃引容積が使用され、経路区分を修正して干渉状態を軽減するためにロボットリンクに加えられる仮想力を画定するために障害物干渉点が使用される。修正経路区分の掃引容積が計算され、評価される。修正掃引容積が衝突無しで、修正経路区分動作計画がロボット関節の範囲基準を満たす場合、修正経路区分及びサンプルノードは、ロボットの動作プログラム全体に追加される。
【0007】
ここで開示する機器及び方法の付加的特徴は、添付図面と一緒に下の説明及び請求項から明らかになるだろう。
【図面の簡単な説明】
【0008】
図1図1は、それ自体が障害物である車体加工物に対して作業を行う産業用ロボットの図である。
図2図2Aおよび図2Bは、提案されるサンプルノードまでの動作区分が重大または些細な障害物に遭遇するRRT経路計画プロセスの図である。
図3図3は、ある作業を実施するために車体ドアを開放することによるロボット到達の斜視図であり、本開示の掃引容積変形経路計画法を例示するために使用される事例を示す。
図4図4は、図3のロボットが作業を実施するために車体ドアを開放して到達することによって生じた掃引容積の側面図であり、本開示の方法の1つのステップを示す。
図5図5Aは、図4の掃引容積の輪郭図であり、静止障害物とロボットの掃引容積との間の干渉状態を示し、図5Bは、図5Aの掃引容積の輪郭図であり、干渉状態のロボットの臨界姿勢及び掃引容積が回避する必要のある領域を示し、図5Cは、本開示の1つの実施形態に従って、図5Aの干渉状態を解決する変形掃引容積の輪郭図である。
図6図6Aは、障害物との干渉を回避するためにロボットリンクに加えられる仮想力を示す静止仮想力及びロボットの形状図であり、図6Bは、本開示の1つの実施形態に従って障害物との干渉を回避するための仮想力によってロボットの姿勢がどのように変化するかを示す、図6Aのロボットの形状図である。
図7図7は、本開示の1つの実施形態に従って図6に示す技法を使用して動作計画が修正された後に図3のロボットによって生成された変形掃引容積の側面図である。
図8図8は、本開示の1つの実施形態に従った掃引容積の変形を使用するロボット干渉チェック経路計画の方法のフローチャートである。
【発明を実施するための形態】
【0009】
掃引容積の変形を使用するロボット干渉チェック経路計画に関する本開示の実施形態の以下の議論は、単なる例示であり、本開示の機器及び技法又はその用途又は使用法を限定することを決して意図するものではない。
【0010】
多様な製造、組立及び材料の移動作業のために産業用ロボットを使用することはよく知られている。多くのロボットの作業空間環境には、障害物が存在し、これはロボットの動作経路に在る可能性がある。即ち、障害物は、ロボットが現在位置する場所とロボットの目的位置との間に在る可能性がある。障害物は、機械及び備品などの永久的構造物である場合もあるし、障害物は一時的な又は移動可能なものである場合もある。大きい加工物-ロボットが作業を行う対象-は、ロボットが溶接などの作業を実施しながら加工物の中又はその周りで操縦しなければならないので、それ自体が障害物である場合がある。作業空間の1つのロボットが別のロボットにとって障害物の可能性もある。
【0011】
図1は、それ自体が障害物である車体加工物120に対して作業を行う産業用ロボット100の図である。図1の作業空間において、ロボット100は、加工物120の様々な場所にスポット溶接作業を行っている。スポット溶接は、車体内部の場所を含んでおり、そのために、ロボット100はドア開口の内部に届かなければならない。この用途において、車体加工物120自体がロボット100の動作にとって障害物である。車体加工物120に対する及びその周りでのロボット100の作業のためには、計画される全ての動作について干渉チェック計算を実施する必要がある。
【0012】
ロボット100は、典型的にはケーブルを介して、制御装置102と通信する。技術上知られているように、制御装置102は、画定された動作プログラムにしたがって移動するようにロボットに命じる関節モーター制御信号を与える。制御装置102は、又、図1に示すスポット溶接具などロボット100に取り付けられたツールの動作を命じる。特に移動する障害物、移動する加工物などの存在のために各ロボット移動をリアルタイムに計算しなければならない環境において、ロボット100の今後の各動きのために動作プログラムを計算するために、コンピュータ130を設置できる。
【0013】
ロボットのいずれかの部分といずれかの障害物の衝突を回避する経路に沿ってツールが移動ようにロボットの動作を計算するための技法が開発されてきた。このような技法は、概ね、2つの部分、即ち提案されるロボットの動作プログラムを画定すること、及び動作プログラムに沿った経路点におけるロボット-障害物干渉をチェックすること、を含む。
【0014】
離散経路点における干渉チェック計算は、多様な方法を使用して実施できる。1つの方法は、計算を複雑さを減じるためにロボットリンクを基本形状(球形、円筒形など)として表すが、これは正確性を犠牲にする。別の方法は、コンピュータ支援設計(CAD)データによって画定された実際の形状を使用してロボットリンクを表すもので、これは、計算上高価であるだけに正確である。ロボット動作計画における干渉チェックの他の技法も、符号付距離フィールド法及び軸平行境界ボックスツリー法を含めて、存在する。更に別の干渉チェック法-1D指標(インデクス)に変換された点のセットを使用する-について、以下で更に論じる。
【0015】
干渉チェック計算に使用される方法に関係なく、ある作業を実施するためにある場所(目標点又は姿勢)までロボットを移動するロボットの動作プログラムを画定する必要がある。障害物が集中する環境においては、中間ノードツリーを構築することによって、出発点から目標点まで移動する動作プログラムを作成するために高速探索ランダムツリー(RRT)法を使用することが知られている。この場合、ランダムサンプルノードは、動作プログラムに追加される前に衝突回避のために評価される。
【0016】
図2A及び2Bは、それぞれ、提案されるサンプルノードまでの動作区分が重大な障害物及び些細な障害物に遭遇するRRT経路計画プロセスの図である。図2A及び2Bは、明確化のために二次元(2D)で描かれているが、開示するロボット動作計画の全てが三次元(3D)であることが分かるはずである。具体的には、障害物は、図1に示すドアフレームなどの3D物体であり、出発、目標及びサンプル「点」は、実際には、ツールの位置及び向き及び対応するロボットの関節位置の完全セットを含む3Dロボットの姿勢である。
【0017】
図2Aにおいて、RRT計算の目的は、出発点210から目標点220まで衝突無しの経路を見つけることである。障害物232及び234が、ロボット作業環境に存在する。現実世界の応用においては、もっとずっと多くの障害物が存在する可能性がある。技術上知られるように、RRT法は、断続的にランダムサンプルノードを提案し、現在場所(ツリーの枝の端部)から提案されるサンプルノードまでの経路を評価する。出発点210から始めて、サンプルノード240が、以前に提案され、出発点210からサンプルノード240までの経路は実現可能(衝突無し)であることが分かった。したがって、実現可能なノード240がツリーに追加される。
【0018】
次に新たなランダムサンプルノード250が提案され、実現可能ノード240からサンプルノード250までの経路が評価される。実現可能ノード240からサンプルノード250までの経路は、障害物234によってブロックされることが分かるので、ノード240からノード250までの直接的な経路は実現可能ではない。障害物234は、ノード240からノード250までの経路が障害物234の広い部分を横切るので、この経路にとって重大な障害である。伝統的RRT法を使用すると、このケースで行える最良のことは、ノード240から到達するために実現可能な中間ノード260を見つけてツリーにノード260を追加することである。
【0019】
図2Bにおいて、提案されたサンプルノード250は廃棄されて、新しいランダムサンプルノード270が提案される。新しい障害物236はノード270までの経路計画に関係するので、これが図示される。実現可能ノード240からサンプルノード270までの経路は、障害物236によってブロックされることが分かるので、ノード240からノード270までの直接的な経路は実現可能ではない。伝統的なRRT法を使用すると、ノード270は廃棄され、ノード240から到達するために実現可能な中間ノード(図示せず)が識別されてツリーに追加されることになる。しかし、伝統的RRT法は、重大な障害と些細な障害との間を区別しない。
【0020】
図2A/2Bの単純な2D経路の例よりもっとずっと複雑なロボット経路計画において、1つの干渉チェック法は、動作区分においてロボットのいずれかの部分がいずれかの障害物と干渉するか否かを判定するために各提案される動作区分の掃引容積を使用する。図2Bから、障害物236は、経路が障害物236の小さい先端を横切るので、ノード240からノード270までの経路にとって些細な障害であることが分かる。本開示は、ロボット-障害物干渉の深刻性を判定するために、提案される経路の掃引容積を使用し、些細な障害を解決するように掃引容積を「変形」するロボットの動作区分に変形を加えるための技法を提供する。技法については、下で詳細に論じる。
【0021】
図3は、ある作業を実施するために車体320のドア開口310を通過して延びるロボット300の斜視図であり、本開示の掃引容積変形経路計画法を例示するために使用される事例を示す。図1と同様のシナリオにおいて、ロボット300は、スポット溶接作業を実施するために指定された位置及び向きまでツール302を移動し、その後続けて次の場所まで移動する。図3の構成において、スポット溶接作業は、車体320内部のどこかで行われるので、ロボット300は、作業を行うためにドア開口310を通過してツール302を到達させている。車体320は、支持固定具330によって保持されるものとして示される。なぜなら、これが開示する方法を有効とする際に使用された構成である。この構成は、下で論じる実施例において使用される。
【0022】
図4は、図3のロボット300が車体320のドア開口310(図4では図示せず)を通過して延びることによって生成される掃引容積400の側面図である。掃引容積400は、ロボット300の動作中にロボット300(ツール302を含めて)が占有する累積容積である。図4の掃引容積400は、車体320外部の位置からツール302及びロボットの外側アームが車体内部320に在る目標位置までのロボットの動作を捕捉する。
【0023】
前に述べた通り、ロボット動作の干渉チェックの様々な方法が知られている。1D指標(インデクス)に変換されたポイントセットを使用する好ましい方法は、2021年12月6日に提出され本出願と一緒に譲渡された「ポイントセット干渉チェック」と題する米国特許第17/457777号(その全体が参照により本明細書に援用される)において開示される。上記の出願を、以後「出願第777号」と呼ぶ。出願第777号のポイントセット干渉チェック法は、実際のロボットリンクの3D形状を使用してロボットの動作区分の掃引容積を計算する正確で効率の良い方法を提供する。
【0024】
掃引容積400は、概ね円410内部に示す領域において車体320と干渉する。この干渉は、同じ最終ターゲット位置までツール302を移動するが、ターゲット位置までの経路に沿って異なる姿勢を使用する新しいロボットの動作プログラムを作成するために、本開示の技法を使用できる事例を説明する。修正された動作プログラムを使用すると、掃引容積は、車体320とのロボットの衝突を回避するように「変形」される。変形掃引容積は、下に示す修正方法の議論に従い、後の図に示す。
【0025】
図5Aは、図4の掃引容積400の輪郭510の図であり、静止障害物とロボット300の掃引容積との間の干渉状態を示す。図5Aの干渉状態は、図4の円410に対応する円520によって示される領域に生じる。
【0026】
図5Bは、掃引容積400の輪郭510の図であり、本開示の実施形態に従った干渉状態のロボット臨界姿勢及び掃引容積が回避する必要のある領域を示す。臨界姿勢530(斜線で示す)は、干渉状態がその最大であるロボット300の姿勢である。臨界姿勢530は、干渉が最大であるロボットの動作プログラムのステップを識別するために、図4に示すように障害物と掃引容積との間の干渉を分析することによって判定できる。臨界姿勢530を見つけるための他の同様の技法も適切なものとして使用できる。
【0027】
図5Bにおいて540で示すのは、ロボット動作の修正掃引容積において回避すべき領域である。領域540は、概ね、ロボットアームがその動作プログラムに従って移動するときの干渉点の移動を考慮して掃引容積510と障害物の干渉によって画定される。
【0028】
図5Cは、本開示の実施形態に従って図5Aの干渉状態を解決する変形掃引容積の輪郭550の図である。図5Aの干渉状態を指定する円520が図5Cにおいて再現される。矢印560で示すように、変形掃引容積の輪郭550は、以前の干渉状態を回避する。これは、ロボットの動作プログラムが、本開示の技法に従ってロボットアームを衝突点から離して移動するように修正されたためである。図5の輪郭550に対応する修正動作プログラムの完全掃引容積を、後の図に示す。
【0029】
図6Aは、本開示の1つの実施形態に従って障害物との干渉を回避するためにロボットリンクに加えられる仮想力を示す静止仮想力及びロボット600の形状図である。ロボット600は、ロボットベース602と、内側アームリンク604と、中間アームリンク606と、外側アームリンク608と、を含む。ロボット600は、単に図面及び議論において明確化のために単純な設計で示すことが分かるはずである。開示するロボットの姿勢修正法は、図3に示すタイプなどの任意の多関節ロボットに応用可能である。
【0030】
障害物610は、ロボット600のリンク606との間に干渉状態を持つものとして示される。図6Aに示すロボット600の構成は、図5B~5Cに関して前に論じた臨界姿勢を表す。本開示の技法に従って、1つ又は複数の障害物と1つ又は複数のロボットリンクとの間の干渉に基づいて臨界姿勢を修正する計算を行うことができる。
【0031】
衝突面Scolは、ロボットリンクの面に貫入する障害物の面の部分である。衝突面Scolは、離散する重なり点piによって画定され、そのうち4つが、622~628として図6Aに示される。障害物から離れるために臨界姿勢を修正するために、障害物610との間に干渉を有するロボットアームlinkjに作用する仮想又は人工力Δpjが画定される。この事例において、linkjは、中間アームリンク606である。
【0032】
中間アームリンク606は、中線636を持つ。仮想力Δpjは、linkj(リンク606)の中線636に対して垂直に作用するように画定される。重なり点pi622~628の各々は、点がロボットアームの中へ貫入する距離に基づいて仮想力Δpjの量に関与する。例えば、最も左側の重なり点622は、linkj(リンク606)の面に僅かに触れるだけなので、重なり点622は、点622から中線636まで垂線に沿って作用するものとして定義される小さい力成分を持つことになる。同様に、最も右側の重なり点628は、linkj(リンク606)の面に僅かに触れるだけなので、重なり点628も、点628から中線636まで垂線に沿って作用するものとして定義される小さい力成分を有することになる。中の2つの重なり点624~626は、リンク606の中に、より大きく貫入するので、中線636までそれぞれの垂線に沿って作用するより大きな力成分を持つことになる。
【0033】
同じ障害物又は異なる障害物が1つ又は複数のその他のロボットリンクと干渉する場合、仮想力は、これらのリンクの各々について計算され加えられる。
【0034】
ボックス650に示すように、仮想力は下記の通りに計算される。
【0035】
【数1】
【0036】
ここで、Δpjは、linkjに作用する仮想力であり、(pi-linkj)/||pi-linkj||は、linkjからpiまでの単位ベクトルであり、衝突面Scol上の全ての重なり点iについて合計される。定数k(基本的にバネ定数)が合計に掛けられる。仮想力Δpjは、仮想力がリンクを障害物から押し離すために作用するように、点piからリンク中線636まで垂線に沿って加えられる。
【0037】
この場合にも、ロボットアームは、図6A/6Bにおいて単純な円筒形の基本形状として描かれているが、CADモデルなどからの実際のロボットアーム形状を使用して、干渉及び貫入距離を計算することが好ましい。干渉及び掃引容積は、上述の出願第777号のポイントセット干渉チェック法を使用して簡単に計算できる。又、ロボット姿勢の形状、重なり点の場所、力ベクトルなどは、全て三次元である。
【0038】
図6Bは、本開示の1つの実施形態に従って障害物との干渉を回避するために仮想力によってロボットの姿勢がどのように変化するかを示す、図6Aのロボット600の形状図である。
【0039】
ボックス670において示すように、仮想力を加えた結果として生じるロボットの姿勢の変化は、下記のように計算される。
【0040】
【数2】
【0041】
ここで、Δqは、ロボット構成におけるロボット関節の変化であり、Δpjは、式(1)で計算されたlinkjに作用する仮想力であり(ここで、j=1,..,4(4つのリンク602~608の場合)であるが、この例においては障害物貫入による仮想力を受けるのは1つのリンク606(j=3)のみであり、そして、J(q)は、ロボット構成qにおける既知のヤコビアン行列の擬似逆行列(ヤコビアンの真逆行列は直接計算できない場合があるので擬似逆行列を使用する)である。上述のように、複数の干渉状態が存在する場合、仮想力Δpjは、jリンクに加えることができる。
【0042】
ロボット位置の関節空間の変化Δqは、図6Bに示すようにリンク606において明白であり、図6Bにおいて、元来のリンク中線636(図6Aの臨界姿勢から)は破線で示し、修正リンク中線636aは実線で示す。障害物貫入点から計算された仮想力Δpjの結果として、リンク606は、障害物610から離れて下へ回転したことが分かる。ロボット位置の変化Δqは、加えられた仮想力Δpjの結果として複数のロボット関節の位置の変化を含むことができる。
【0043】
図6Bにおいて、ロボット外側アームリンク608の端部は、姿勢修正後に、臨界姿勢(図6A)において存在した場所とは異なる場所に在ることが明らかである。これは、修正された臨界姿勢が計画された経路の真中のどこかにあり、経路終点の目標点ではないので、受容可能な状態である。修正臨界姿勢が計算された後に、この修正姿勢は、新しいロボットの動作プログラムを計算するための中間経路点として使用される。言い換えると、修正された臨界姿勢ポーズを通り抜けながら新しい経路が出発点(又は以前の実現可能ノード)から目標点(又は提案されるサンプルノード)まで計画され、これは経路を障害物から離れるように変形させる。
【0044】
図7は、本開示の1つの実施形態に従って図6に示す技法を使用してロボット300の動作計画が修正された後に図3のロボット300によって生成された変形掃引容積700の側面図である。具体的には、ロボットの動作計画は、修正臨界姿勢を通り抜けるように修正されており、修正臨界姿勢は、円410の内部の領域において車体との接触を回避するように計算される。修正臨界姿勢を通り抜けるロボット修正計画によって、掃引容積700は、図4の掃引容積400と比較して回避すべき領域から離れるように「変形」される。
【0045】
図3~7は、干渉状態を廃棄するのではなく、鑑賞状態の中間経路点を修正することによって、本開示の技法が伝統的なRRT法より信頼できより効率的に衝突無しのロボットの動作プログラムを作成することが立証されている例を示す。
【0046】
図8は、本開示の1つの実施形態に従って掃引容積の変形を使用するロボット干渉チェック経路計画のための方法のフローチャート800である。ボックス802において、経路区分のための動作計画が計算される。概略的に、RRT経路発見法において、経路区分は、以前計算された実現可能ノードから提案されるランダムサンプルノードまで延びる。しかし、経路区分は、出発点から目標点までの完全ロボット経路である場合がある。出発点、目標点、及び中間ノードは、3つの位置値及び3つの回転(向き)値を含む6自由度(DOF)のロボットのツール先端点の姿勢である。動作計画自体は、動作計画に沿った多くの点における関節位置に関してロボットの姿勢を画定する完全なロボットの動作計画である。
【0047】
ボックス804において、経路区分の動作計画の掃引容積が計算される。掃引容積は、ロボット及びそのツールが経路区分に沿った動作中に占有する累積空間を画定する。判定ダイアモンド806において、掃引容積が障害物(図3においては加工物自体、又はロボット作業セルにおいて他の任意の障害物)と重なるか否かが判定される。これが重ならない場合、次にボックス808において、サンプルノード及び経路区分がロボットの動作プログラムに保存される。即ち、掃引容積と障害物との間に干渉がない場合、経路区分は衝突無しであり、修正なしに使用できる。
【0048】
掃引容積と障害物との間に干渉がある場合、ボックス810において、臨界姿勢が決定される。臨界姿勢は、干渉貫入距離が最大であるロボットの姿勢として定義できる。臨界姿勢は、他の適切な方法にて-干渉が等しい数の前後のロボットの動作ステップにおいて生じるロボットの姿勢など-で択一的に画定できる。
【0049】
ボックス812において、図5B~5Cにおいて概念的に示し図6A~6Bに関して詳細に説明するように、臨界姿勢に変形が加えられる。仮想力Δpjを計算し応用することによって、修正臨界姿勢が得られ、修正臨界姿勢において、影響を受けるロボットリンクは、干渉条件を減ずる又は排除するために障害物から離されている。
【0050】
ボックス814において、経路区分のための動作計画は、修正臨界姿勢を使用して再生成され、掃引容積が修正動作計画について計算される。図7に示すように、修正掃引容積は、回避すべき領域において障害物から離れて変形される形状を有する。
【0051】
判定ダイアモンド816において、修正動作計画は、全ての基準を満たすか否かを判定するために評価される。1つの基準は、修正掃引容積がいずれの障害物とも干渉しないことである。もう1つの基準は、ロボットの動作計画が、いずれのロボットの機械的制約-関節位置の範囲及び関節速度及び加速の限界など-にも違反しないことである。修正動作計画が全ての基準を満たす場合、ボックス808において、サンプルノード及び修正経路区分がロボット動作プログラムに保存される。
【0052】
干渉の深刻性又は程度もチェックでき、些細な干渉状態の場合には、臨界姿勢修正のみを応用できる。干渉の深刻性チェックは、判定ダイアモンド816において(修正経路が衝突無しではない場合)応用されるか、又はボックス810前に応用できる。
【0053】
ボックス808において保存された経路区分が目標点(ロボットツールの目的場所)に達した場合、プロセスは終了する。経路区分がRRT経路計画アルゴリズムにおいて中間サンプルノードで終了する場合、ボックス818において、新しいランダムサンプルノードが進行中のRRT経路発見アルゴリズムにおいて生成され、プロセスはボックス802へ戻り、そこで新しいサンプルノードまでの経路区分のための動作計画が計算される。
【0054】
上で開示する掃引容積変形法は、RRT経路計画の効率において顕著な改良を与えることができる。しかし、この技法は、RRTアルゴリズム内で使用する必要はなく、衝突無しの経路を識別しなければならない任意のタイプのロボットの経路計画において使用できる。なぜなら、開示する掃引容積変形法は、障害物の衝突から逸れる修正ロボット経路を計算するからである。
【0055】
図8に示す方法のステップの全ては、経路計画及び掃引容積計算及び修正とともに、プロセッサ及びメモリを有する1つ又は複数のコンピュータ上で実行されるソフトウェアアプリケーションおよびモジュールにおけるアルゴリズムにおいてプログラムされる。これは、図1に関連して上で論じたロボット制御装置102又は別個のコンピュータ130を含むことができる。掃引容積の変形を使用して干渉チェック経路計画法を実施するシステムは、少なくとも1つのロボットと、その対応するロボット制御装置とを含み、任意に他のコンピュータを含むことができる。
【0056】
上で概説するように、掃引容積の変形を使用するロボット干渉チェック経路計画のための開示する技法は、ロボット経路計画のための干渉チェック及び衝突回避の改良された方法を提供する。開示する技法は、特に、RRT経路発見アルゴリズムに使用するとき有利であり、干渉状態を持つ経路点は、廃棄されるのではなく掃引容積の変形によって修正でき、その結果、衝突無しのロボット経路のより効率的な計算が得られる。
【0057】
掃引容積の変形を使用するロボット干渉チェック経路計画法の様々な好ましい形態及び実施形態について上で論じたが、当業者には、その修正、置換、追加及び部分組合せが分かるだろう。したがって、下記の請求項及び以後に導入される請求項は、これらすべての修正、置換、追加及び部分組合せをその真の主旨及び範囲内に在るものとして含むものと解釈される。
図1
図2
図3
図4
図5
図6
図7
図8
【外国語明細書】