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

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

▶ ポリテクニコ ディ ミラノの特許一覧

特許70481621または複数の協働ロボットの運動を制御するための方法およびデバイス
<>
  • 特許-1または複数の協働ロボットの運動を制御するための方法およびデバイス 図1
  • 特許-1または複数の協働ロボットの運動を制御するための方法およびデバイス 図2
  • 特許-1または複数の協働ロボットの運動を制御するための方法およびデバイス 図3
  • 特許-1または複数の協働ロボットの運動を制御するための方法およびデバイス 図4
  • 特許-1または複数の協働ロボットの運動を制御するための方法およびデバイス 図5
  • 特許-1または複数の協働ロボットの運動を制御するための方法およびデバイス 図6
  • 特許-1または複数の協働ロボットの運動を制御するための方法およびデバイス 図7
  • 特許-1または複数の協働ロボットの運動を制御するための方法およびデバイス 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-28
(45)【発行日】2022-04-05
(54)【発明の名称】1または複数の協働ロボットの運動を制御するための方法およびデバイス
(51)【国際特許分類】
   B25J 19/06 20060101AFI20220329BHJP
   B25J 9/16 20060101ALI20220329BHJP
【FI】
B25J19/06
B25J9/16
【請求項の数】 3
(21)【出願番号】P 2018556445
(86)(22)【出願日】2017-05-18
(65)【公表番号】
(43)【公表日】2019-07-04
(86)【国際出願番号】 IB2017052932
(87)【国際公開番号】W WO2017199196
(87)【国際公開日】2017-11-23
【審査請求日】2020-05-14
(31)【優先権主張番号】102016000051644
(32)【優先日】2016-05-19
(33)【優先権主張国・地域又は機関】IT
(73)【特許権者】
【識別番号】518375649
【氏名又は名称】ポリテクニコ ディ ミラノ
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ザンチェッティン、アンドレア マリア
(72)【発明者】
【氏名】ロッコ、パオロ
【審査官】岩▲崎▼ 優
(56)【参考文献】
【文献】独国実用新案第202015000333(DE,U1)
【文献】国際公開第2015/074841(WO,A1)
【文献】特表2011-500349(JP,A)
【文献】特開2011-245614(JP,A)
【文献】米国特許第09333652(US,B2)
【文献】独国特許出願公開第10324627(DE,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
1または複数の協働ロボットの運動を制御する方法であって、前記1または複数の協働ロボットの各々は固定ベースまたは可動ベースに取り付けられ、且つ、1または複数の末端要素および運動コントローラが設けられており、前記1または複数の協働ロボットの運動を制御する方法は以下の反復的段階、すなわち、
前記1または複数の協働ロボットの各々の位置座標、および、前記1または複数の協働ロボットと協働する1または複数の人員オペレータの位置座標を決定する段階と、
前記1または複数の協働ロボットの前記1または複数の末端要素の運動のそれぞれの方向と関連付けられた一組の生産性インデックスを決定する段階であって、前記一組の生産性インデックスは前記1または複数の協働ロボットが、前記それぞれの方向の各々に移動可能な速度を示す、決定する段階と、
前記運動コントローラに、前記1または複数の末端要素の運動の前記それぞれの方向と関連付けられた前記一組の生産性インデックスのデータを供給する段階と、
前記運動コントローラが前記一組の生産性インデックスのより高い値を基に、前記1または複数の末端要素の運動の方向を決定する段階と、
を備え
前記1または複数の協働ロボットの各々の前記位置座標、および、1または複数の人員オペレータの前記位置座標を決定する段階、並びに、前記1または複数の末端要素の運動のそれぞれの方向と関連付けられた一組の生産性インデックスを決定する段階は、
前記1または複数の協働ロボットの前記位置座標、すなわち、ベクトルqに収集された運動の各軸の線形/角度位置、および、前記位置座標の前記速度(時間微分)
【数44】
を決定することによって、ロボットの構成を周期的に読み取る段階と、
オペレータ上のセンサによって検出された複数ηのポイントの位置の値を周期的に読み取り、且つ、前記オペレータの座標をベクトルpに収集する段階と、

【数45】
を計算、すなわち、行列E(p,q)およびベクトルf(p,q)を計算する段階であって、式中、
Eは(2*n*η×n)サイズの行列であり、
【数56】
で定義され、
【数57】
であり、ここでnは前記ロボットのジョイントの数であり、ηは前記オペレータの位置のポイントの数であり、 は前記オペレータの位置を示すη個の要素のj番目の要素であり、r ai とr bi は前記ロボットのn個のジョイントのi番目のエンドポイントの前記座標であり、J ai とJ bi は前記エンドポイントの前記速度のヤコビ行列であり、
fは2*n*η成分のベクトルであり、
【数58】
で定義され、T は前記ロボットの前記運動が完全停止に至る必要のある時間であり、
【数59】
は前記ロボットの前記n個のジョイントのi番目から前記オペレータまでの最小距離であり、
qは前記ロボットの構成を定義し、且つ、前記ジョイントのn個の前記角度位置を含む、n成分を持つベクトルであり、
【数46】
は、いかなる時点においても、前記ベクトルqの前記成分の前記時間微分、すなわち、前記ジョイントの前記座標の前記速度を含む、n成分を持つベクトルであり、pは前記オペレータの位置のηポイントの各々について、3つの前記位置座標を含む、3*η成分を持つベクトルである、計算する段階と、
前記式
【数47】
に基づいて、すなわち、前記行列E(p,q)および前記ベクトルf(p,q)に基づいて、前記一組の生産性インデックスを決定する段階と、
を備え
前記一組の生産性インデックスを決定する前記段階は、
前記ロボットの前記末端要素のヤコビ行列J(q)を計算する段階と、
前記行列Eの特異値分解E=USVを計算する結果、行列U,行列Sおよび行列Vを取得する段階であって、ここで、
Uは(2*n*η×2*n*η)サイズの直交正方行列であり、Sは前記行列Eの特異値を含む(2*n*η,n)サイズの行列であり、Vは(n×n)サイズの直交正方行列であり、VはVの転置行列である、取得する段階と、
前記行列Vおよび行列-Vの列を含む行列Vを構築する段階と、
の各列 について、対応する値
【数48】
を計算する段階であって、ここで、
【数49】
ただし、
【数50】
であり、
ここで、
【数51】
は、前記ロボットのジョイントの単一座標が到達可能な最大速度のベクトルであり、前記方向の列の各々について、前記ロボットのジョイントの空間において、前記速度φvの最大強度
【数52】
が決定され、その結果、かかる速度は安全制約を満たし、且つ、要素ごとに許容可能な最大速度より低くなり、インデックスiの値は、前記対応する値
【数53】
が最大値となり、且つ、前記ロボットが移動を継続できる最善の方向(空間における前記ジョイントの)に対応するものになる、計算する段階と、
の各列 について、以下の式
【数54】
および
【数55】
により、前記末端要素の運動の前記方向および対応する前記生産性インデックスを計算する段階と、を含む、1または複数の協働ロボットの運動を制御する方法。
【請求項2】
前記運動コントローラが、前記1または複数の末端要素の運動の前記それぞれの方向と関連付けられた前記一組の生産性インデックスの前記データを基に、以下のアクションのうちの1つを取ることを決定する段階を備え、前記以下のアクションは、
予めプログラムされた方向に対する代替的な運動の方向または経路を実行すること、
めプログラムされた最終位置とは異なる代替的最終位置を持つ新しい経路を実行すること、
前記ロボットの前記運動を減速すること、
前記ロボットの前記運動を停止すること、を含む、請求項に記載の1または複数の協働ロボットの運動を制御する方法。
【請求項3】
請求項1または2に記載の方法を実装するための手段を備える、1または複数の協働ロボットの前記運動を制御するためのデバイスであって、前記手段は、
前記1または複数の人員オペレータの経時的な位置pに関する前記データを周期的に決定するように適合された少なくとも1つの視覚システムと、
前記1または複数の協働ロボットの前記位置座標および前記1または複数の人員オペレータの前記位置座標を決定するための手段と、
前記ロボットの前記末端要素の運動のそれぞれの方向に関連付けられた前記一組の生産性インデックスを決定するための手段と、を含む、デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット、より具体的には協働ロボット工学の分野に関し、1または複数の協働ロボットの運動を制御するための方法およびデバイスに関する。
【背景技術】
【0002】
本発明は、産業上の協働ロボット工学のフレームワークに適用される。周知の通り、協働ロボットという用語は、ロボットと接触する可能性のある人員オペレータを保護するための保護障壁(物理的、光学的等)を用いることなく、動作させることが可能な産業マニュピュレータを意味する。
【0003】
最近まで、産業ロボット工学は、物理的インフラ(手すりまたは光学障壁)を用いた、保護環境下でのロボットの厳格な分離を規定していた。
【0004】
今日、いわゆる協働ロボット工学を通して得られる人間とロボットとの間の直接的な協働によって達成できる利点がますます意識されている。協働ロボット工学により、人間とロボットとの間で空間を共有できるようになり、またある程度まで人間とロボットとを一連の作業を実行するにあたり協働的にできるようになっている。このため、ロボットは人間の「仕事仲間」となっている。
【0005】
このため、人間工学の観点から種々の問題が生じる。特に、保護障壁の不存在という可能性に起因し、上記ロボットと接触するに至る可能性のある人々に対する物理的安全性に関してであり、その結果、オペレータと、ロボットおよびロボットの末端要素の様々な構成要素とが互いに非常に近接する可能性があり、場合によっては直接接触するに至ることさえある。
【0006】
安全性を理由として、いわゆる「協働」ロボットは、所定数の標準および技術的仕様を満たす必要がある。例えば、標準UNI EN ISO 10218(2011年7月)は、その2つのパートにおいて、協働ロボットと対応する末端要素とに関する安全要件を定義している。具合的には、4つの人間‐ロボットの協働モード、すなわち、ハンドオーバウィンドウ、インタフェースウィンドウ、検査および協働ワークスペースが定義されている。第1のものは相互作用専用の領域の存在およびそれらの明確な定義を提案する一方、その他のものにおいては、単なる散発的ではなく、協働的且つ継続的に作業する可能性がある。ロボットとオペレータとが共有する安全要件は、オペレータに対する最小安全距離に応じて、ロボットの速度を制御および減速させることを規定する。この状況により、生産性の制約という明らかな問題が生じる。
【0007】
最近、ISO TS/15066の技術的仕様が発行された。それは、偶発的な衝突時に関与する力および考え得る伝達エネルギーが、特定の閾値未満に保持されることを条件に、オペレータに極度に近接する状況においてさえ、ロボットが処理を実行し続け得ることについて規定する。当該特定の閾値については未だ議論の最中であるが、確実に痛覚閾値未満である。
【0008】
しかしながら、人間の安全性を保証すべく、停止を含め、ロボットの稼働可能性の低下があり、これにより、ロボットの生産性および効率性の観点からは、大きな産業上の問題が生じる。
【0009】
上で概説した問題に悩まされている協働ロボットを制御するためのシステムの一例について、特許出願WO 2014048444 A1に記載されている。そこでは、上記の制御システムは、ロボットまたはロボットと人員オペレータとで構成されるシステムの生産性よりも、オペレータの安全性および快適性指向の文脈において動作する。
【発明の概要】
【0010】
本発明の目的は、前述の欠点を克服するために適合された1または複数の協働ロボットの運動を制御するための方法およびデバイスである。
【0011】
本発明の基礎を成す思想は、あらかじめ定められた安全条件に基づき生産性を最適化すべく、1または複数の産業ロボットの末端要素(エンドエフェクタ)の運動の方向についての定義および対応する計算に関する。
【0012】
ロボットは、最適な生産性の運動の方向に関するこの情報がわかれば、その予めプログラムされた運動に対し障害物が存在する場合に、予めプログラムされた方向に対する代替的方向を選択し、それに沿ってロボットの運動を継続することで、ロボットの生産性を維持でき、および、副次的にはロボットにそのタスクの継続を可能にするような考えられる代替方向が存在しない場合には、減速あるいは停止すらさせる。
【0013】
本発明は、ロボットの以下のような生産性ファクタのうち、それらの組み合わせも含めた任意のものの最適化を可能にする。すなわち、タスクの速度または実行時間(速度の最適化は、時間の最適化も意味し、逆もまた真なりであるといったように、これらは二面性である)、タスクの産業上の収益性(実行可能なタスクのうち、最も収益性の高いタスクに優先度が付与される)、エネルギー効率性である。これ以降、専ら例示として、生産性ファクタとして速度の最適化について言及する。
【0014】
本発明の目的は、1または複数の協働ロボットの運動を制御する方法であって、上記1または複数の協働ロボットは固定ベースまたは可動ベースに取り付けられ、且つ、1または複数の末端要素および上記運動のコントローラが備えられており、当該は以下の反復的段階、すなわち、
上記1または複数の協働ロボットの各々の位置座標、および、上記1または複数の協働ロボットと協働する1または複数の人員オペレータの位置座標を決定する段階と、
上記1または複数の協働ロボットの上記1または複数の末端要素の運動の相対的方向と関連付けられた一組の生産性インデックスを決定する段階であって、上記生産性インデックスは上記1または複数の協働ロボットが、上記1または複数の人員オペレータの存在を理由に減速または停止する必要がなく、上記方向の各々に移動可能な速度を示す、決定する段階と、
上記運動コントローラが上記生産性インデックスのうちより高い値を基に、上記1または複数の末端要素の運動の方向を決定できるように、上記運動コントローラに、上記1または複数の末端要素の運動のそれぞれの方向と関連付けられた上記一組の生産性インデックスのデータを供給する段階と、を備えることを特徴とする。
【0015】
好ましくは、1または複数の協働ロボットの運動を制御する方法は、上記運動コントローラが、上記1または複数の末端要素の運動の上記相対的方向と関連付けられた上記一組の生産性インデックスの上記データを基に、以下のアクションのうちの1つを取ることを決定する段階を備え、上記以下のアクションは、
予めプログラムされた方向に対する代替的な運動の方向または経路を実行すること、
おそらくアプリオリにはわからない、予めプログラムされた最終位置とは異なる代替的最終位置を持つ新しい経路を実行すること、
上記ロボットの上記運動を減速すること、
上記ロボットの上記運動を停止すること、を含む。
【0016】
本発明の別の目的は、当該方法を実行するためのデバイスである。
【0017】
本発明の具体的な目的は、本詳細な説明の不可欠な部分を形成する特許請求の範囲により良く記載されるように、1または複数の協働ロボットの運動を制御するための方法およびデバイスである。
【図面の簡単な説明】
【0018】
本発明のさらなる目的および利点は、本発明の実施形態(およびその変形例)に係る以下の詳細な説明から、および専ら説明のためであり限定的意図ではなく付与されている添付図面を参照することで、より明確となる。
図1】ロボットの一般的リンク(標準ISO 8373:2012のパラグラフ3.6を参照)を表わす剛性ロッドと点で示す障害物とを示す。
図2】点で示す障害物ではなく、一般的な障害物の場合に、図1に示したものを拡張する。
図3】本発明に係る方法の目的の一部を実装するプログラムのフロー図を示す。
図4】ロボットと、オペレータと、デバイスとで構成される考え得る適用シナリオを一例として示し、デバイスはロボットと、本発明の方法の目的を実装するために必要なすべての命令を実行するオペレータとの相対的位置を監視する。
図5】本特許に係る方法の目的の結果の2つの可能な使用モードを示す。
図6】本特許に係る方法の目的の結果の2つの可能な使用モードを示す。
図7】予めプログラムされた経路に対する代替的経路を実行する場合において、本発明に基づく図4に係るデバイスによる計算結果に基づき、ロボットのコントローラが実行可能なプログラムのフロー図を示す。
図8】おそらくアプリオリにはわからない、予めプログラムされた最終位置とは異なる、代替的最終位置を持つ新しい経路を実行する場合において、本発明に基づく図4に係るデバイスによる計算結果に基づき、ロボットのコントローラが実行可能なプログラムのフロー図を示す。
【0019】
図面中の同一の参照番号および文字は、同一の要素または構成要素を識別する。
【発明を実施するための形態】
【0020】
本発明のシステムの目的は、前述した現在の安全標準を満たすべく、相対的制御システムを含む、一連のキネマティクス(すなわち、ロボットおよびロボットのリンクは、閉じた運動連鎖を形成しない)を持つ1または複数の産業上の協働ロボットで構成される協働ロボット工学ステーションに適用される。当該ロボットには、人員オペレータが接近することが許容される。
【0021】
以降、本説明に参照として全体的に統合される標準ISO 8373:2012のテキストを考慮する。
【0022】
本システムは、1または複数の人員オペレータの存在およびその位置を決定し、オペレータの位置の時間的推移を推定し、および、ロボットの制御システムとやり取りすることを可能にする。その結果、
‐生産性を最大化し、安全条件を保持すべく、上記1または複数の協働ロボットの末端要素の運動の方向を定義する。
‐上記1または複数の協働ロボットに、ロボットの運動を継続できる代替的方向を選択する可能性を供給し、これにより、ロボットの生産性を維持し、および、副次的には、ロボットがそのタスクを継続することを可能にするような前述の方向が存在しない場合には、停止するまで減速させる。
【0023】
本発明の方法の目的は、以下の主要な特徴に基づく。
(1)固定ベースまたは可動ベースに取り付けられたロボットの位置、オペレータの位置、および可能性としてそれらの将来位置の予測位置に基づき、各ロボットは、その末端要素の運動の決定された方向を生産性インデックスに関連付けることが可能になる。当該生産性インデックスは、ロボットがオペレータの存在を理由として減速または停止する必要がなく、特定の方向をどれだけ迅速に(あるいは、生産性が速度ではなく、タスクの収益性または効率性に関連付けられる場合は効率的に)進むことができるかを示す。
(2)本発明の方法の目的は、生産性インデックスに応じて減少する方式で編成された、各マニュピュレータの主な運動の方向を決定する。
(3)本発明の方法の目的は、上記機能を実装するために、ロボットのコントローラとやり取りすることを可能にする。
(4)本発明の方法の目的は、本方法と通信するロボットに、定義された方向沿いのロボットの経路を修正する可能性を付与する。これらの修正は、既に存在する、および/または、同一のロボットのコントローラによってアプリオリにわかっている必要はない。
(5)デバイス自体およびロボットの構成、および/または、アクティビティのリモート監視のために、他のデバイス(例えば、タブレット、スマートフォン等)と通信するためのWiFiインタフェースネットワークとの無線でのやり取りを可能にする。
【0024】
従って、本発明に係る1または複数の協働ロボットの運動を制御するための方法は、実質的に、以下の反復的ステップを規定する。
‐各協働ロボットの位置座標、および、協働ロボットと協働する1または複数の人員オペレータの位置座標を決定する。
‐協働ロボットの末端要素の運動の相対的方向に関連付けられた一組の生産性インデックスを決定する。上記生産性インデックスは、協働ロボットが人員オペレータの存在を理由に減速または停止する必要がなく、当該方向の各々に移動可能な最大速度に比例する値である。
‐運動コントローラが、生産性インデックスのより高い値に基づき、末端要素の上記運動の方向を決定できるように、運動コントローラに、末端要素の上記運動の相対的方向に関連付けられた上記一組の生産性インデックスのデータを供給する。
【0025】
以下に、M. Ragaglia、A.M. Zanchettin、P. Roccoによる公知文献「人間の占有を予測する、人間‐ロボット間の協働のための安全性を意識した軌跡スケーリング(Safety-aware trajectory scaling for human-robot collaboration with prediction of human occupancy)」(International Conference on Advanced Robotics (ICAR)、2015の85~90ページ)に示すような、本発明の目的に最も近い先行技術の概要について記載する。
【0026】
上記文献は、本説明に全体的に組み込まれるものとみなす。
【0027】
人間とロボットの相互作用における安全標準は、一般的に次のように表わすことができる関係を常に満たす必要がある、ということを課す。
【数1】
式中、Vはロボットの速度であり、Tは停止時間(すなわち、ロボットの運動が完全停止に至る必要のある時間)であり、Sはロボットと人間との間の相対的距離であり、Δは安全パラメータである。
【0028】
産業ロボットを構成する運動連鎖の一般的要素(リンク)、およびかかるリンク上にある、空間参照システムに対する座標の一般的ポイントrについて考察してみる(図1を参照)。
【0029】
前述のポイントの速度を表わすv、位置rが測定されたのと同一の参照システムにおいて測定された障害物の位置を表わすrobstを用いると、当該単一のポイントに対する不等式(1)は、以下のように表わすことができる。
【数2】
式中、
【数3】
はベクトルvの転置行列であり、一方で、
【数4】
は、ベクトルrobst-rのユークリッドノルムである。式(2)は、同等に以下のように表わすこともできる。
【数5】
【0030】
当該リンク上の一般的ポイントの位置rおよび速度vは、以下のように、端点の位置および速度(それぞれrおよびr並びにvおよびv)の関数として表わすできる。
【数6】
ここで、s∈[0,1]である。前の関係式を処理すると、
【数7】
が得られる。ここで、
【数8】
【0031】
関係式(5)の左辺は、sの線形関数である。これは、ロッドの端部で(5)を評価することにより、十分な安全条件が得られることを意味する。
【数9】
ここで、右辺のminおよびmaxの演算を置き換えると、以下が得られる。
【数10】
【0032】

【数11】
は、正の場合、ポイントrobstを中心とする半径Δの球と、ロッドの端部rおよびrとの間の距離を表わす。 (6)と(7)を結合すると、次が得られる。
【数12】
【0033】
ここで、マニュピュレータのジョイントの速度を表わすベクトル
【数13】
を導入する。これらは、あるリンクの前のリンクに対する相対的位置を表わす角度位置または線形変位(ジョイントがトロイダルまたはプリズムのいずれであるかに依存)である、ジョイント座標qの時間微分である。nを用いて、ロボットマニピュレータのリンク(およびジョイント)の数を示し、qおよび
【数14】
は、両方とも次元nのベクトルである。
【0034】
ジョイント座標qに依存し、ヤコビ行列と呼ばれる行列と用いて、リンクの第1の端部の線形速度vをジョイント速度
【数15】
にリンクすることが可能である。
【0035】
第2の端部の速度vも同様である。
【数16】
【0036】
ヤコビ行列JおよびJは両方とも、次元(3×n)を有する。
【0037】
ロボットマニピュレータのn個のリンクにインデックスi(i=1,...,n)を割り振り、関係式(9)と(10)とを結合すると、リンクiに対する位置robstの障害物の最小距離の基準は、以下の形式で表わすことができる。
【数17】
ここで、
【数18】
【数19】
式中、raiおよびrbiはリンクiのエンドポイントの座標であり、JaiおよびJbiは前述のポイントの速度のヤコビ行列である。一方で、
【数20】
siは、リンクi沿いの一般的ポイントの座標のベクトルである。
【0038】
行列Eは、次元(2×n)を有し、一方、ベクトルfは2つの成分を有する。両方のマグニチュードの障害物の位置robstへの依存はそれらの定義の直接的な結果であり、一方、ジョイントの座標qのベクトルへの依存は、エンドポイントraiおよびrbi並びに一般的ポイントrsiの位置はかかるジョイント座標に依存するという事実から導かれる。
【0039】
ここで、図2のような凸性(ポリトピック)固体で表される一般的オブジェクト
【数21】
で構成される障害物について検討してみる。
【0040】
この場合、条件(11)は概念上、当該オブジェクトに属するすべての無限ポイントを表わすことができる。あらゆるポイントについて当該関係式が有効となるような十分条件は、以下の関係を満たすものである。
【数22】
式中、
【数23】
は、リンクiから障害物
【数24】
への最小距離であり、当該文献において利用可能なアルゴリズムのうちの1つ(例えば、GJKアルゴリズム)で計算可能である。
【0041】
この後、関係式(15)は、障害物の頂点においてのみ計算可能である(オブジェクトの凸性を条件とする線形性によって)。
【数25】
【0042】
概説すると、ロボットのあらゆるリンクiおよびすべての障害物の頂点におけるすべてのηポイントについて、関係式(16)が満たされる必要がある。
【0043】
よって、障害物の頂点におけるすべてのポイントの座標Pを包含するベクトルpを導入することにする。故に、pは3*ηに等しい数の成分を有することになる。
【0044】
次に、次元(2*n*η×n)の行列を定義する。
【数26】
次元2*n*ηのベクトル:
【数27】
これらの位置で、安全制約は次の不等式で表すことができる。
【数28】
【0045】
特定の瞬間において、前の関係式における条件が検証されれば、ロボットの現在の状態は安全である。
【0046】
関係式(20)において、Eは次元(2*n*η×n)の行列であり、ここでnはロボットのジョイントの数であり、ηはオペレータの位置を監視するデバイスが検出したポイントの数である。fは2*n*η成分のベクトルである。qはロボットの構成(標準ISO 8373:2012の定義3.5等)を識別し、故にジョイントのn個の角度位置を含む、n成分を持つベクトルである。
【数29】
は、どの瞬間においても、ベクトルqの成分の時間微分、および故にジョイント座標の速度を含む、n成分を持つベクトルである。pは、オペレータ上で検出されたηポイントの各々について、3つの位置座標を含む、3*η成分のベクトルである。また、かかるベクトルは、将来の時点における予測されたかかるポイントの位置を含んでもよい。
【0047】
障害物がオペレータの場合、pは身体(例えば、肩、頭、肘、手)上で検出されるいくつかのポイントの座標を含む。
【0048】
よって、行列Eおよびベクトルfの計算は、ロボットのジョイントの座標qの知識を必要とする。それらは、ロボットのコントローラに問い合わせることで常に入手可能である。また、当該計算は、オペレータ上で検出されるポイントの座標pの知識も必要とする。このようなポイントの座標を得る方法は、本発明に関連しない。要求される当該情報を返すことが可能なデバイス(深度カメラ)は市場に存在する。人間のポイントの位置を行列Eの計算に挿入する方法、および、このようなポイントによって取得された位置を以降の時点において考慮可能な方法については、前述の文献[ICAR 2015]に詳細に説明されている。
【0049】
本発明の目的は、ロボットの運動の最善の方向を決定すべく、このような行列から導かれるいくつかのインデックスを用いることに関する。
【0050】
特に、本発明は、特異値分解(SVD)から得られる前述の行列の幾何学的な構造を用いる。
【数30】
【0051】
特異値分解の理論からわかるように、Uは次元(2*n*η×2*n*η)の直交正方行列であり、Sはいわゆる行列Eの特異値を含む、次元(2*n*η,n)の行列であり、Vは次元(n×n)の直交正方行列であり、VはVの転置行列である。
【0052】
行列Vは、ロボットが潜在的に多かれ少なかれ生産的である、ジョイントの空間(標準ISO 8373:2012の定義4.7.4を参照)における編成された一組の方向(直交ベクトル)を含む。実際、行列Vまたは行列-Vのi番目の列を示すvを用いて容易に決定可能な変数は、このような方向において、安全要件(20)に違反しないように達成し得る最大速度である。このため、あらゆる方向vについて、最適化問題を設定する必要がある。
【数31】
ただし、
【数32】
ここで、
【数33】
は単関節座標が想定し得る最大速度のベクトルであり、条件(22)の2番目が、含まれるベクトルの要素ごとに取得される。
【0053】
故に、それは、マニュピュレータのジョイントの空間における各方向vについて、速度φviの最大強度
【数34】
を決定することに関わり、その結果、かかる速度は安全制約を尊重し、許容される最大値より要素ごとに低いものである。
【0054】
対応する値
【数35】
がより高くなるようなインデックスiの値は、人員オペレータの存在を理由にロボットがその速度を大きく減速させる必要がなく移動可能な最善の方向(ジョイントの空間における)に対応する。
【0055】
しかしながら、生産性を、ジョイントの空間ではなく、ベース座標システム(標準ISO 8373:2012の定義4.7.2を参照)に関連付けることにより大きな関心がある。このため、次元(3×n)のヤコビ行列J(q)が用いられる。これは、次の関係式により、末端要素TCP(ツールセンタポイント、標準ISO 8373:2012の定義4.9を参照)の特徴ポイントの線形速度を、ジョイントの空間での速度にリンクする。
【数36】
よって、ジョイントの空間における速度
【数37】
は、TCPの次の速度をもたらす。
【数38】
【0056】
インデックスiの各値について、(24)で付与されるベクトルのユークリッドノルム
【数39】
は、単位ベクトルによって識別されるベース座標システムにおける方向の生産性インデックスを表わす。
【数40】
【0057】
式(25)および(26)は、ロボットが、人員オペレータの存在を理由に、その速度を減速させる必要があるという危険性がない状態で移動可能なベース座標システムにおける方向を決定し、生産性を最大化させる方法を共に表わす。
【0058】
一例として、運動の方向および運動の方向に関連付けられた生産性インデックスの使用に関する2つの考え得る方法について記載する。
【0059】
図5は、第1の使用方法を示す。そこでは、末端要素TCPを持つロボット42が、開始ステーション52から開始してそのターゲット51(宛先ステーション)に到達する前に、その元の経路を修正すべく、フライバイポイント(標準ISO 8373:2012の定義5.7)を追加し、計算された複数の方向のうち1つを採用する。図5中、オペレータ41とぶつかる破線で表した直線に対する偏差としての実線で表した曲線が見てとれる。後述する図3のフロー図に示す処理結果を用いて、初期ポイントを決定できる方法に関する説明が特に関連する。
【0060】
順運動学(標準ISO 8373:2012の定義4.1を参照)を通して計算された、ベース座標における末端要素TCPの特徴ポイントの現在位置を示すためにxを用いると、初期ポイントは以下のように計算できる。
【数41】
【0061】
(27)中のδは、0から1の間に含まれる総称数、すなわち、0<δ<1であり、一方、Tは既に(1)で導入した停止時間である。その定義については、標準EN 60204‐1の特にカテゴリ1の停止を参照されたい。パラメータδを用いて、ロボットの軌跡が事前定義された経路からどのくらい逸脱可能かを決定できる。ロボットの末端要素がそのターゲットから十分遠く離れている場合、かかる値に高い値(1に近い)を選択すると有利である。ロボットが到達する必要のあるワークステーションに既に近接している場合は、より低い値(ゼロに近い未だ正)を選択すると有利である。一例として、かかるパラメータは、ロボットの現在位置および対応するターゲットを結合するベクトルと、生産性の方向(26)に対応するベクトルとの間の角度のコサインとして選択されてよく、対応する生産性インデックス(25)および停止時間で乗じられる。
【0062】
最善のフライバイポイントの選択のために、以下が実行される。
(1)ロボットをそのターゲットから遠ざけない最適な生産性方向を決定する。
(2)これらの方向のうち、(25)における生産性インデックスの最大値と関連付けられた方向を選択する。1つより多い最適方向がある場合は、最初の方向は任意に取得する。
(3)例えば、前に説明したように値δを決定する。
(4)ロボットの運動を一時的に遮断する。
(5)(27)のように計算したフライバイポイントを追加する。
(6)ターゲットポイントに向かう道程を更新する。
(7)ロボットの運動をリセットする。
【0063】
第2の使用の例については図6に示す。特に、この事例においては、ロボット42の末端要素TCPが、特定の動作を実行すべく、宛先ステーション#2で実行されるべき新しいタスクを優先して、ステーション61から開始して宛先ステーション#1に接近することを伴う現在のタスクの実行を完全に中止することが可能である。この場合、上で定義した生産性インデックスと共に本発明の方法の目的で決定した方向を用いて、安全制約を関数として、および、ポイントpで検出したオペレータの現在位置から、どのステーションがより到達しやすいかを決定できる。最適な生産性の方向(26)および相対的インデックス(25)を用いて、可能性のあるすべての代替的方向のうち、到達が最も容易なターゲットを決定する。特に、可能性のある代替的ターゲットをxと呼ぶ。
(1)ロボットの現在位置xを、ターゲットxに結合する方向に最も類似する生産性の方向(26)が決定される。
(2)各ターゲットに到達するための推定時間が、現在位置xとターゲットxとの間の距離と、対応する生産性インデックスとの間の比率として決定される。
(3)かかる値を最小化するターゲットが選択される。
【0064】
図3を参照し、本発明の方法の目的の処理フロー図について、ここで説明する。
【0065】
処理開始ステップの後に、アルゴリズムおよびデータ構造のセットアップが存在する(ブロック300)。特に、初期化ステップにおいて、本発明の方法の目的を実装するアルゴリズムは、好適な構成ファイルから、ロボットの運動構造に関するすべての情報(リンクの長さ、標準ISO 8373:2012のポイント3.6を参照のこと、および、他の運動パラメータ)、および、障害物上のポイントの検出デバイス(以降、"センサ"と定義する)に関するすべての情報(グローバル座標参照システムに対するセンサの位置および絶対方向等)を読み取る。
【0066】
他の関連情報は、本明細書に記載した方法を実装するデバイスと、ロボットとの間の通信モード(プロトコル、TCP/IPポート、ロボットのIPアドレス等)に関するものである。
【0067】
次に、ロボットの構成(ブロック301)、すなわち、ベクトルqにおいて収集された運動の各軸の線形/角度位置が周期的に好適な頻度で読み取られ、それらの速度(上記の時間微分)
【数42】
が決定される。
【0068】
次に、センサで検出したオペレータの複数(構成可能)ηのポイントの位置の値が読み取られ、それらの座標をベクトルpに収集する(ブロック302)。
【0069】
次に、上で表わした式(20)の計算が来る。換言すると、行列E(p,q)およびベクトルf(p,q)の計算である(ブロック303)。
【0070】
次に、生産性インデックスが、行列E(p,q)およびベクトルf(p,q)に基づき決定される(ブロック304)。
【0071】
詳述すると、このポイントは、次のような経過で関節化される。
‐ロボットの末端要素TCPのヤコビ行列J(q)が計算される(ブロック305)。
‐行列Eの特異値分解(SVD)が計算され、(21)にあるようなU、SおよびVの行列が得られる(ブロック306)。
‐行列Vおよび-V(ブロック307)の列を含む行列Vが構築される。
‐Vのあらゆる列iについて、対応する
【数43】
が計算され、(21)‐(22)の問題を解決する(ブロック308)。
‐Vのあらゆる列iについて、TCPの運動の方向および対応する生産性インデックスが、(25)および(26)により計算される(ブロック309)。
【0072】
最終的に、このように計算された運動の方向および生産性インデックスが、ロボットのコントローラに送信される(ブロック310)。
【0073】
ブロック301-310の処理は、特定の期間で周期的に実行される。
【0074】
図4を参照すると、ある動作条件において、本発明のデバイスの目的が動作するシステムのブロック図が示される。
【0075】
一例として、当該事例は、単一のオペレータ41、および末端要素TCPを備える単一の平面的なロボット42で示され、末端要素TCPには、対応する生産性インデックスの関数として編成された4つの可能性のある方向がハイライトされている。ロボットの末端要素の理論上の運動の方向の関数として、4つの値#1~#4が示されている。最大値のインデックスは、オペレータの存在する方向に対する反対方向を向くものであることに留意されたい。
【0076】
本発明の目的に係るデバイス44は、ロボットのコントローラ45と双方向通信し、少なくとも1つの視覚システム、例えば、上で定義したそれ自体は公知のタイプの深度カメラを備え、当該カメラはオペレータの経時的位置データp(肩、肘、手等)を周期的に決定するように適合されている。
【0077】
また、デバイス44は、ロボットの現在位置データqをコントローラ45から受信し、その速度を計算する(現在位置を直前の時点における位置と比較して)。これらのデータは、周期的に更新される。
【0078】
これらの2つの情報(現在位置および速度)をロボットの運動構造(設置/構成ステップでデバイスに供給される)と併せると、上記の本発明の方法の目的の適用に十分である。
【0079】
本発明により計算された生産性インデックスのロボットによる使用に関しては、ロボットのコントローラは、図7および8を参照してハイライトされる以下の代替策に基づく選択を実行できる。
【0080】
図7は、ロボットのコントローラが、本発明の目的に係るデバイスによる計算結果に基づき実行できるプログラムのフロー図を示す。これは予めプログラムされた経路に対する代替的経路を実行する事例である。
【0081】
開始ステップの後、コントローラはロボットの構成qを更新する(ブロック70)。
【0082】
次に、方向、生産性インデックスおよび経路再計算リクエストの受信が行われる(ブロック71)。
【0083】
次に、コントローラは、代替的経路が可能であるかどうかを検証する(ブロック72)。
【0084】
可能でない場合、コントローラは、ロボットの速度の低減を、場合によってはロボットの運動が完全に停止するポイントまで制御する(ブロック73)。
【0085】
他方で、可能である場合、コントローラは代替的経路の実行に移る(ブロック74)。
【0086】
より具体的には、コントローラは、本発明のデバイスによって受信された方向および生産性インデックスを用いて、考え得るすべての初期ポイントを計算する(ブロック75)。次に、コントローラは、到達すべき位置とコヒーレントな最善の初期ポイントを選択する(ブロック76)。次に、コントローラは、現在の経路の実行を遮断する(ブロック77)。次に、コントローラは、初期ポイントの座標を現在の経路に追加する(ブロック78)。次に、コントローラは、更新された経路の実行を再アクティブ化する(ブロック79)。ブロック70-79の処理は、周期的に実行される。
【0087】
図8は、ロボットのコントローラが、本発明の目的に係るデバイスによる計算結果に基づき実行できるプログラムのフロー図を示す。これは、アプリオリにはわかっていない可能性のある、予めプログラムされた経路とは異なる代替的最終位置を持つ新しい経路を実行する事例である。
【0088】
開始ステップの後、ロボットの構成qが更新される(ブロック80)。
【0089】
次に、方向、生産性インデックスおよび経路再計算リクエストの受信が行われる(ブロック81)。
【0090】
次に、コントローラは、おそらくアプリオリにはわからない代替的最終位置が可能かどうかを検証する(ブロック82)。
【0091】
可能でない場合、コントローラは、ロボットの速度の低減を、場合によってはロボットの運動が完全に停止するポイントまで制御する(ブロック83)。
【0092】
他方で、可能である場合、コントローラは、代替的最終位置を持つ新しい経路の実行に移る(ブロック84)。
【0093】
より具体的には、コントローラは、到達可能な考え得る最終位置のすべてとコヒーレントな生産性の最善の方向を選択する(ブロック85)。換言すると、コントローラは、協働ロボットが減速または停止する必要がなく、その方向に進行できる最大速度に比例する生産性インデックスを選択する。
【0094】
次に、コントローラは、現在のタスクの実行を遮断する(ブロック86)。次に、コントローラは、識別された位置に向かう新しい運動を実行する(ブロック87)。
【0095】
ブロック80-87の処理は、周期的に実行される。
【0096】
さらに、コントローラは、いずれの代替的経路も可能でないと確証してよく、このためコントローラは、必要に応じて停止ポイントまでロボットを減速すると決定する。
【0097】
上記の実施形態においては、1台の協働ロボットと1人の人員オペレータとが存在する簡易な変形例について言及している。しかしながら、本発明の目的に係る方法およびデバイスは、多くの協働ロボットおよび多くのオペレータが存在するより一般的な事例にも適用可能であることは明らかである。
【0098】
デバイスがロボットの作業領域で検出可能なすべてのオペレータに属するすべてのポイントは、オペレータに属する一組のポイントPに含まれることになるという意味においては、多くの人員オペレータに関する事例は、実際には本発明の方法の目的に対する修正を含まない。というのは、当該作業領域に存在する、デバイスによって監視されるすべてのオペレータは、めいめいの運動の予測と共に、各ロボットに対する障害物として考えられるからである。
【0099】
多くの協働ロボットが存在する事例に関しては、各ロボットは存在するすべてのオペレータを考慮に入れ、本方法の目的を適用し、それ自身の生産性方向/インデックスを計算し、その結果、各ロボットに独立に、ロボット自身の経路を修正する可能性を付与する。
【0100】
概説すると、本発明の方法の目的は、ロボットのコントローラに、一連の生産性インデックスおよび相対的方向を供給することを可能にする。
【0101】
ロボットのコントローラ側においては、本発明の方法の目的は、以下の可能性の中から選択することを可能にする。これは、ロボットが実行する必要のあるアクティビティのタイプ、例えば、ロボットの末端要素が実行する必要のあるタイプの運動、および/または、実行されるべきタスクの収益性の基準にも依存する。
‐1)おそらくアプリオリにはわからない、予めプログラムされた最終位置とは異なる代替的最終位置を持つ新しい経路を実行して、ロボットのタスク/ターゲットを変更する。
‐2)予めプログラムされた方向に対する運動の代替的方向または経路を実行して、末端要素の近くの障害物/オペレータを避ける。
‐3)減速し、場合により停止する。
【0102】
これらの可能性の中からの選択は、上記したように優先メカニズムによってなされてよい。代替3)は常に可能である一方、1)および2)は特定の適用または特定の瞬間においては利用不可の可能性がある。例えば、ロボットの特定のタスクに対しては、代替的ターゲットが存在せず、オプション2)および3)のみが適用可能である。
【0103】
優先メカニズムとして、タスクの収益性基準を用いることも可能である。ロボットのタスクが、優先メカニズムが導入される生産性の文脈において高付加価値を有する場合、優先メカニズムに、ポイント2)のような障害物を避ける結論を取るに至らせることがより良い。より収益性の高いタスクを受けるために、現在のタスクを遮断する可能性がある場合、1)がより良い。優先メカニズムは、ロボットに事前設定されてよい。
【0104】
本発明の方法の目的は、有利には、少なくとも部分的にコンピュータプログラムによって実行されてよく、当該コンピュータプログラムは、本プログラムがコンピュータ上で実行されるとき、上記方法の1または複数のステップを実行するための符号化手段を備える。従って、保護範囲は、上記コンピュータプログラム、および、また記録したメッセージを有するコンピュータ可読手段にまで及ぶことを意味し、上記コンピュータ可読手段は、上記プログラムがコンピュータ上で実行されるとき、上記方法の1または複数のステップを実行するためのプログラム符号化手段を備える。
【0105】
図3のフロー図で説明した上記コンピュータプログラムは、任意のプログラミング言語で記述されてよい。図7および8のフロー図で例示したロボットのコントローラが実行するプログラムは、当業者に知られている、例えば、RAPID、KRL、URscript、VAL、Karelのようなプログラミング言語で記述されてよい。
【0106】
記載した非限定な例に対する変形的な実施形態が考えられ、さらに本発明の保護範囲から逸脱することなく、当業者にとっての均等な実施形態はすべて包含される。
【0107】
異なる好ましい実施形態に示された構成要素および特徴は、本発明の保護範囲からさらに逸脱することなく、互いに組み合わされてよい。本発明の適用から導かれる利点は、明確である。
【0108】
協働ロボットの生産性の観点から性能を最適化させること、1または複数の人員オペレータが存在する場合においてもサイクルタイムを低減させること、ロボットの(認識)決定能力をより高めること、および、人員オペレータが認識する安全性を上げること、が達成される。
【0109】
本発明によれば、人員オペレータの意図を解釈すること、および、ある程度まで人員オペレータの動作を予測することを可能にし、結果的にロボットが停止することを防止する。このため、ロボットにとってだけでなく、ワークステーション全体(オペレータおよびロボット)にとっても常に生産性の最適レベルを保証すべく、例えば、視覚センサから来る情報を考慮に入れたロボットの動作を実行する代替的な戦略について記載されている。
【0110】
上記の説明から、当業者は、構成の詳細をさらに紹介しなくても、本発明の目的を達成できる。特に、当業者はその知見を適用することで、上記内容を読むだけで、当該方法の機能を実装するプログラムを作成可能であろう。
図1
図2
図3
図4
図5
図6
図7
図8