JP2017520415A - ロボットをプログラムする方法およびシステム - Google Patents
ロボットをプログラムする方法およびシステム Download PDFInfo
- Publication number
- JP2017520415A JP2017520415A JP2016571289A JP2016571289A JP2017520415A JP 2017520415 A JP2017520415 A JP 2017520415A JP 2016571289 A JP2016571289 A JP 2016571289A JP 2016571289 A JP2016571289 A JP 2016571289A JP 2017520415 A JP2017520415 A JP 2017520415A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- constraint
- constraints
- movement
- configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1658—Programme controls characterised by programming, planning systems for manipulators characterised by programming language
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39298—Trajectory learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40395—Compose movement with primitive movement segments from database
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40517—Constraint motion planning, variational dynamic programming
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40523—Path motion planning, path in space followed by tip of robot
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
結果として、産業用ロボットをプログラムするためのプログラミング方法は、ティーチイン(teach in)、プレイバック、センサベースのプログラミング、CAD(コンピュータ支援設計)プログラミング、対話ベースまたはテキストによるプログラミングなど、多様なものが存在する。
この手続きのための工具は、ティーチパネルという、ロボットの状態およびロボットプログラムを表示することができるグラフィックディスプレイを備えたリモートコントローラである。
ユーザは、ロボットの第1関節上に定義された点である工具中心点(TCP)を、ジョイスティック等で3つまたは6つの空間方向に向けて進めることで、ロボットを異なる点に移動する。
ユーザは、接近したさまざまな点の座標を保存し、この情報をロボットプログラムに統合する。
この場合、各通過点は、二点間移動、線形移動、円形移動等の移動命令の目標または中間点として定義される。
操作者は、次の命令で、速度、加速度、次の命令との調和等の追加の経路パラメータを手動で入力する。
ロボットプログラムの構造、すなわち、詳細には、個別の移動命令群は、リストから選択し、コンパイルすることができる。
たとえば、この機能により、車両のフェンダーに沿った経路などの複雑な自由形状の経路を、容易にプログラムすることができる。
こうした経路は、ティーチインプログラミング方法の個別の移動命令でプログラムするのは困難である。
通常は、連続的なリードスルー(lead−through)は、ロボットのフランジにある力トルクセンサ(FTS)を利用して実現される。
人間、より詳細には操作者は、ロボットを把持して力を加える。
力は、FTSにより測定され、ロボットコントローラに伝送される。
ロボットコントローラは、力を補償する移動を連続的に計算する。
この経路が、ロボットプログラムの1つまたは複数の移動命令に割り当てられる。
ただし、この目的のために、追加のセンサが使用される。
たとえば、構成要素にレーザ線を投射し、このレーザ線をカメラシステムでキャプチャし、検出されたレーザ線をロボットの移動経路に変換する。
この場合、高い精度を実現することができる。
ロボットを直接移動する必要はない。
これは、大きなロボットの場合に有利な特徴である。
しかし、追加のハードウェアと、カメラおよびロボットの較正が必要である。
この場合、通過点は、構成要素のCADモデルの表面等でのマウス操作を利用して判断される。
たとえば、CADモデルのエッジに従って、または、蛇行等の特定のパターンに従って、完全なパスが表面で計算される。
点が、2点間移動、線形移動、または円形移動の命令にマップされ、ロボットプログラムに保存される。
ティーチインプログラミング方法に類似する態様で、追加の経路パラメータを指定することができる。
利点として、物体の表面に沿った経路を、最小限の労力で判断することができる。
これは、プログラミング操作時にロボットを使用することなく、CADモデルを利用して経路を直接計算できるからである。
ただし、欠点として、実際の作業セルとシミュレーションとの間の較正、CADモデルの準備、軽微な相違への適応が必要である。
個別の通過点、詳細には、デカルト通過点の大きな欠点の1つは、軽微な差異が存在する場合に、障害物、特異性、および/またはアクセス性の欠如に起因して、それらの通過点に接近することができず、結果として、ロボットプログラムが失敗することである。
この場合、ロボットコントローラの全機能を利用することができる。
詳細には、ロボットの外部センサの分析を使用して、たとえば、操作される構成要素の視覚的位置確認または製作公差に起因するプロセス差異に対応することができる。
ロボットプログラミング言語での直接プログラミングでは、たとえば、FUKAのFTCtrlやAdeptのAdeptForceを使用した力制御のような、現時点で上述した方法ではプログラムできない追加の移動命令を使用することができる。
たとえば、力を制御するために、フィードバック制御の空間方向、力/トルクの所望の値、および単純な終了制約を指定することができる。
これらの基本的な命令から、非常に複雑なロボットプログラムを作成することができる。
その場合、たとえば、円筒を孔に挿入する単純なタスクでも、複数の移動命令と多様な力コントローラにより構成される可能性がある。
典型的な組み立てタスクは、挿入、ねじ込み、引っ掛けなど、そのような多数のタスクに基づく。
よって、組み立てタスクの実装は、膨大な労力を伴う。
さらに、ロボットプログラミング言語、プロセス、およびロボットについての専門知識が必要であるという欠点もある。
ロボットアームを使用して自動化される用途の大半は、ロボットアームが、差異へのセンサベースの対応を使用せずに、厳密にプログラムされた動作経路に沿って移動するという事実により特徴付けられる。
結果として、溶接ガン等の工具は、堅固にプログラムされた動作経路上を移動する。
プロセスにおける差異は、各構成要素用の特別なグリッパや特別な高精度フィーダを通じた膨大な技術的努力および経費により、無視できるレベルまで軽減される。
このような方法によってのみ、必要に応じて、ティーチインまたはプレイバックを利用したプログラミング方法を適用して、固定動作経路を生成することができる。
これが経済的に実行できなければ、ほとんどの場合、従来の慣例では、複雑なプログラミング方法による自動化を省略する。
たとえば、このやり方の問題点は、以下の理由により、そうしたアプローチがすぐに限界に達してしまうことである。
・本番運転が短い場合、頻繁な再プログラミングが必要となり、膨大な工学的労力が無駄になる。たとえば、洗濯機の長期テストなど、週ごとに変化する装置の品質保証テストが必要となる可能性がある。
・組み立てタスクは、得てしてうまくいかず、よって、たとえば、構成要素の挿入時に、力の相互作用が避けられない。そしてこれらの組み立てタスクは、グリップ、結合、接触等の多数の異なるタスクで構成される。
・弾性のある構成要素は、形状に変動があり、これらの形状変動をプロセスで考慮しなければならない。たとえば、プラスチック部品をグリップまたは結合する際の弾性のある金属薄板がこれに相当する。
・ねじ込み用のねじなど、視覚センサを利用して検出される物体は、常時異なる場所にある。そのため、ロボットの位置決めが柔軟でなければならない。
請求項1は、ロボット、特にロボットアームを備えるロボット、をプログラムする方法であって、ロボットにより実行される移動が、好ましくはロボットプログラムで、予め定義された動作テンプレートにより設定され、動作テンプレートが、複数の動作テンプレートを含むデータベースから選択され、動作テンプレートが、1つまたは複数のパラメータ化可能な実行モジュールと少なくとも1つの学習モジュールとを備え、1つまたは複数の実行モジュールが、ロボット移動またはロボット移動の部分移動を計画および/または実行するために使用され、学習モジュールが、初期化プロセスで、特に教示プロセスの形式で、ロボットの1つまたは複数の構成を記録し、学習モジュールが、記録された構成に基づいて、好ましくは機械学習方法を使用して、実行モジュールのパラメータを計算する方法を開示する。
請求項15は、ロボット、特にロボットアームを備えるロボット、をプログラムするシステムであって、ロボットにより実行される移動が、好ましくはロボットプログラムで、予め定義された動作テンプレートにより設定され、動作テンプレートが、複数の動作テンプレートを含むデータベースから選択することが可能であり、動作テンプレートが、1つまたは複数のパラメータ化可能な実行モジュールと、少なくとも1つの学習モジュールとを備え、1つまたは複数の実行モジュールが、ロボット移動またはロボット移動の部分移動を計画および/または実行するために使用され、学習モジュールが、初期化プロセスで、特に教示プロセスの形式で、ロボットの1つまたは複数の構成を記録し、学習モジュールが、記録された構成に基づいて、好ましくは機械学習方法を使用して、実行モジュールのパラメータを計算するシステムを開示する。
差異の許容をロボットプログラムに実装することで、たとえば、人間の操作者にとっても単純で標準化されたフィーダおよびグリッパシステムを利用して、技術的努力の全体量を大幅に軽減することが可能となり、自動化を経済的に実現することができる。
動作テンプレートは、複数の動作テンプレートを含むデータベースから選択される。
本発明によると、動作テンプレートは、1つまたは複数のパラメータ化可能な実行モジュールと、少なくとも1つの学習モジュールとを備える。
1つまたは複数の実行モジュールは、ロボット移動またはロボット移動の部分移動を計画および/または実行するために使用される。
学習モジュールは、初期化プロセスで、たとえば、教示プロセスの形式で、ロボットの1つまたは複数の構成を記録する。
記録された構成に基づいて、学習モジュールは、RANSACアルゴリズムや主成分分析などの機械学習方法を使用して、1つまたは複数の実行モジュールのパラメータを計算する。
結果として、ロボット移動またはロボット移動の部分移動を可変的かつ動的に計画することができ、移動の任意の差異に関し、可能な限り堅牢かつ柔軟なロボット動作の実行を実装することが可能となる。
構成kの制約は、f(k)がRに位置するときに満たされる。
よって、さまざまな種類の制約を、洗練された方法で一貫して実装することができ、ロボットの経路および移動を効率的な方法で計画することが可能となる。
・ロボットの関節、またはロボットのエンドエフェクタ、特にグリッパ、の角度、速度、および/または加速度
・座標系に対するロボットの工具中心点の位置、方向、および/または場所
・座標系に対する工具中心点で測定された速度、角速度、および/または捻り(twist)
・座標系に対する工具中心点で測定された力、トルク、および/または捩じり(wrench)
・あるCADモデルから別のCADモデルまでの衝突自由度、距離量、および/または距離ベクトル
・ロボットおよびCADモデルのエンドエフェクタ、特にグリッパ、のグリップ評価
ORing、ANDing、および積形成は、少なくとも2つの制約領域を単一の制約領域に組み合わせる。
よって、制約関数の用途およびタイプに応じて、関連する制約領域に適切なタイプを適切に適用することにより、適切な値の範囲を選択することができる。
さらに、実行時制約および目標制約は、大きな差異を補償する方法についての情報を形成する。
これは、そのような情報を提供しない従来のプログラミング方法に対する著しい改善である。
さらに、ロボット移動またはロボット移動の部分移動は、目標制約が満たされたときに、成功裏に終了させることができる。
結果として、ロボットは、動作経路に対して指定されたすべての実行時制約および目標制約が満たされたときに、動作を成功裏に実行する。
ロボットは、実行時制約が観察される態様で、自らの動作を制御アルゴリズムに準拠して適応させる。
目標制約が満たされるとすぐに、動作が成功裏に終了する。
それ以外の場合、動作は、成功しない。
この目的のために、対応する制御のタイプ、計算された動作経路、ならびに実行時制約および目標制約に基づいて、実行可能なロボットコードを作成することができる。
作成されたロボットコードは、それぞれの対象システムで完全に独立して実行することができる。
結果として、初期化プロセス時に、より詳細には教示プロセス時に、ユーザを効果的にサポートすることができる。
よって、既に存在し、場合によってはパラメータ化された任意の動作テンプレートまたは実行モジュールを、効果的に再使用することができる。
動作テンプレートは、ティーチインと同様に、特定のプロセスのための少数の構成に基づいて作成することができる。
同時に、通過点の間の動作経路を生成するための、ティーチインで使用される補間方法を、(暗黙的に定義された)通過点領域の間の動作経路を生成することができる経路計画方法で補足することができる。
なお、以下の記述は、好ましい実施形態について説明するものであり、これらの実施形態に限定されるわけではない。
1.動作テンプレートをデータベースからロボットプログラム(または空のロボットプ
ログラム)に追加する。たとえば、挿入、螺旋検索、前進と把持、接触などの動作テンプレートを追加する。動作テンプレートごとに、1セットの実行モジュールと、1つの学習モジュールとが存在し得る。各実行モジュールは、実行時制約および目標制約を含む、パラメータを備える。この場合、原始実行モジュールは、特定の制御アルゴリズムに対応し得り、混合型力/位置制御等の既知のコントローラ実装が展開される。学習モジュールは、教示された構成および/または対話ベース入力からパラメータを作成するために、機械学習方法を実装する。
2.学習モジュールが実行される。特に、ティーチインプログラミング方法の拡張として、実行時制約および目標制約の作成を含めることが考えられる。学習モジュールのタイプに応じて、学習モジュールは、具体的な構成を作成するために、ユーザに、より詳細には操作者に、質問を送信する(グラフィカルの場合はロボットコントローラ/外部PC上での3D視覚化、対話ベースの場合は2D視覚化)ことができる。その後、学習モジュールは、実行モジュールのパラメータを構成から計算する。ユーザは、さまざまなインターフェイスを使用して、実際のロボットを案内することにより、または、3Dシミュレーション環境でのマウスの対話操作により、これらの構成を作成する。たとえば、四角形の4つの角を定義する4つの構成で実際のロボットを移動するか、または、ユーザが対応する4つの点をCADモデルでマークする。構成は、ロボットアームに一体化されたセンサや、外部の力/トルクセンサ(FTS)などを利用して記録される。
3.動作テンプレートの学習モジュールで機械学習方法が実装される。これらの機械学習方法は、記録された構成から実行モジュールのパラメータを計算する。これらのパラメータは、ロボットアームの位置、グリッパの位置、力/トルクの測定値、および/またはCADモデルの点を含む可能性がある。
4.パラメータに基づいて、好ましくは迅速探査無作為ツリー(rapidly exploring random tree)アルゴリズム等の経路計画アルゴリズムを使用して、動作テンプレートの各実行モジュールの動作経路を計算することができる。このステップは、2つの通過点の間の線形接続等の連続的な経路が補間のタイプの選択に依存する通過点に基づいて生成されるティーチイン方法に似ている。本事例では、連続的な経路が、制約、特に実行時制約および目標制約、に基づいて、計画アルゴリズムを使用して生成される。
5.パラメータを有する実行モジュールを、コンパイル等を使用して、対象システム、すなわちロボットコントローラに、マップすることができる。この目的のために、実行可能なロボットコードが、各制御タイプ、計算された動作経路、ならびに実行時制約および目標制約に基づいて作成される。これで、ロボットコードを各対象システムで完全に実行することができる。代替の実装では、実行モジュール、特に原始実行モジュール、を、コンピュータ、より詳細にはPCベースのコントローラで、ロボットコードに変換することなく直接実行することができる。
これらの制約は、以下のように統一的に定義することができる。
制約は、構成kを実数値のベクトル空間にマップする制約関数f(ドイツ語: Bedingungsfunktion)と、実数値のベクトル空間のサブセットに対応する制約領域R(ドイツ語: Bedingungsregion)とからなる。
構成kの制約は、f(k)がRに含まれる場合にのみ満たされる。
・ロボットの関節、またはロボットのエンドエフェクタ、特にグリッパ、の角度、速度、および/または加速度
・座標系に対するロボットの工具中心点の位置、方向、および/または場所
・座標系に対する工具中心点で測定された速度、角速度、および/または捻り
・座標系に対する工具中心点で測定された力、トルク、および/または捩じり
・あるCADモデルから別のCADモデルまでの衝突自由度、距離量、および/または距離ベクトル
・ロボットおよびCADモデルのエンドエフェクタ、特にグリッパ、のグリップ評価
位置制約および方向制約は、それぞれ3次元ベクトルのみで構成される。
Hの縮尺回転軸は、以下のようにして計算することができる。
1.Hの3×3の回転行列が、qwを実数部とする4元数(qx,qy,qz,qw)に変換される。
2.回転角度a(alpha)は2*acos(qw)である。
acosは、逆余弦(arc cosine)関数である。
3.縮尺回転軸は、a*1/sin(a)*[qx qy qz]である。[qx qy qz]は、qx、qy、およびqzからなる3次元ベクトルである。
ただし、この場合、特定の座標系Kに対するTCPの3次元(変換)速度および3次元角速度は、速度ベクトルの変換規則に応じて変換され、制約関数の値として保存される。
同時に、力、トルク、または力とトルクとの組み合わせ(捩じり)が計算される。
この衝突の計算は、3D CADモデルの三角形メッシュを交差させることにより計算することができる。
その場合、必要に応じて、標準ライブラリを使用することができる。
衝突がない場合、0が返される。
距離ベクトル制約関数は、同じ一対の点の第1の点から第2の点までの正規化されたベクトルを計算することが好ましい。
ここで、座標系Kが物体の重心で定義されると仮定する。
この場合、Kに対するTCPの6次元ベクトルとして相対場所は、上述した式により、計算される。
Rは、中心点ベクトル[m1 m2 m3 m4 m5 m6]および差異ベクトル[e1 e2 e3 e4 e5 e6]として与えられる6次元立方体である。
この立方体は、すべてのベクトル[v1 v2 v3 v4 v5 v6]に準拠する。ここで、mi− ei<=vi<=mi+eiである。
この制約は、工具中心点、さらにはロボットアーム位置も、把持される物体の上方等の特定の領域に位置していなければならないことを暗示する。
この場合、座標系Kは、物体の重心で定義される。
この場合、Rの考えられる値は、以下のようになる。
[m1 m2 m3 m4 m5 m6]=[0 0 0.05 1.5708 0 0]
および
[e1 e2 e3 e4 e5 e6] = [0.01 0.01 0 0 0 0]
この点からの許容可能な偏差は、X方向およびY方向で0.01mである。
すなわち、FTSにより測定された力は、3次元ベクトル[fx fy fz]として示される。
制約領域Rは、半径がr、中心点ベクトルが[m1 m2 m3]である3次元の球Rである。
力制約は、[fx fy fz]がRに位置する場合のみ、すなわち、以下の場合にのみ満たされる。
norm([fx−m1 fy−m2 fz−m3])<=r
よって、力制約は、力の量がr以下である場合にのみ満たされる。
ここで、kは構成であり、rはR(k)の次元と等価の次元を有する実数値ベクトルである。
1.f(k)=r。すなわち、関数fは、構成kに適用することができる。これは、すべての関数fについて満たされる必要がある。
2.f−1(r,k’)=k。すなわち、値rおよび基準構成k’が与えられる場合、f(k)=rを満たす構成kを計算することができる(計算B.1)。
3.f(k)をrによりインクリメントすることができる。すなわち、構成kおよびベクトルrが与えられる場合、f(k’)=f(f−1(f(k)+r))となるように、すなわち、構成kが、Rにおける与えられたステップrに対応する態様で修正されるように、構成k’を計算することができる。
この場合、Rは、以下の計算の1つまたは複数を許可する必要があるか、または、許可しなければならない。
rは、Rの次元と等価である次元を有する実数値ベクトルである。
1.rからRまでの実数値距離d>=0。dは、rがRに含まれる場合は0であり、それ以外の場合はrからRの表面までの最小距離(計算B.2)。
2.rからRの表面までの実数値距離。rがRに含まれる場合、dは、rからRの表面までの最小距離の負の値。それ以外の場合、dは、rからRの表面までの最小距離。
3.e=0または1を含む。eは、rがRに含まれる場合にのみ、1。この計算は、すべての制約領域により満たされなければならない。
4.Rの中心点m。この計算は、すべての制約領域により満たされなければならない。
5.表面上の無作為点r。無作為ベクトルrは、rがRの表面上に位置するように、計算することができる。
6.内部空間からの無作為点。無作為ベクトルrは、rがRに含まれるように、計算することができる(計算B.3)。
7.Rの任意の方向vでの延長の計算(計算B.4)。
さらに、これらの制約は、大きな差異を補償する方法についての情報を表す。
これは、そのような情報を提供しない従来のプログラミング方法に対する著しい改善である。
この場合、動作計画と制御が区別される。
この場合、Berensonら著『Manipulation Planning on Constraint Manifolds』、IEEE International Conference on Robotics and Automation(ICRA ‘09)、2009年5月による制約ベース双方向迅速探査無作為ツリー(CBiRRT)アルゴリズムを、Stilman,M著『Task constrained motion planning in robot joint space』、Intelligent Robots and Systems、2007年による無作為勾配降下(RGD)投影法と組み合わせ、実行時制約および目標制約に適応させることができる。
その場合、経路計画アルゴリズムは、以下のステップを含む。
1.すべての目標制約が満たされる対象構成、すなわち、構成、を生成する。対象構成のセットは、通常は、2つ以上の要素を含むため、この場合の問題は、ロボットシステムが物体を置くことができる場所等からの許容偏差に関する。
2.開始構成から生成された対象構成までの区分的線形接続を検索する。このステップでは、開始構成から、いずれかの対象構成まで延びる動作経路が生成される。結果として、ロボットシステムは、実行時制約の形式で目標指向的な態様で与えられる差異内で、有効な動作経路を独立して生成することができる。
このために、投影法として、無作為勾配降下(RGD)を制約により実装することができる。
目標は、k’の制約の特定のセットが満たされ、k’が、kよりd>0を超えて離れないように、構成kを構成k’にマップすることである。
つまり、提案される投影法は、制約のセットが守られない構成kを、少なくとも制約が満たされるまで、修正することを可能にする。
これに関し、RGDアルゴリズムが、特別な距離関数と共に使用される。
1.各biについて、距離値diを計算する。fを制約関数、Rをbiの制約領域とする。Rが、距離計算(計算B.2を参照)をサポートする場合、di=MAXの最小であり、Rまでのf(k)の距離である。Rが、距離計算をサポートしない場合、f(k)が、Rに含まれれば、di=0である。それ以外の場合、di=MAXである。MAXは、0より大きい定数であり、この場合は、100,000である。
2.すべての距離値diの最大dmaxを形成する。
3.構成kについての距離関数の値は、dmaxである。
その場合、以下のプロセスが実行される。
なお、eは、0より大きく(e>0)、k’は、初期段階でkと等価である(k’=k)とする。
関数bool RGD(k,bi,k’):
1.COUNTER=0と設定する。
2.COUNTER>MAXIMUMの場合、戻り値falseで終了する。
3.均一分布mの後、構成kの次元の方向ベクトルsiを作成する。構成ki=k’+e*siと設定する。すべてのkiについて、vi=dist(ki)を計算する。
4.すべてのviの最小値(argmin関数)で引数jを判断する。
5.vj=0の場合、k’=kjと設定し、戻り値trueで終了する。
6.vj>=dist(k)の場合、COUNTER=COUNTER+1と設定し、2に進む。
7.norm(k−k’)>dの場合、COUNTER=COUNTER+1と設定し、2に進む。
8.k’=kjと設定する。
9.2に進む。
bi=(fi,Ri)が、制約関数fiと制約領域Riとを有する目標制約であると仮定する。
1.fjを反転させることができ(計算B.1を参照)、Rjが無作為ベクトルの計算(計算B.3を参照)をサポートするように、制約bjをbiから判断する。
2.すべてのbjを反復処理する。
a.計算B.3に基づいて、無作為値rjをRjから計算する。
b.kj=f−1(rj,k)を計算する。
3.RGD(k,bi,k’)がtrueの場合、k’を対象構成のセットに追加する。
ただし、ステップConstrainConfig(kold,knew)を、ステップRGD(kold,bi(t),knew)で置換する。
この場合、bi(t)は、時点tにおける実行時制約であり、tは、計画プロセスと同じペースを保つためにインクリメントされる。
ここで、k1は、開始構成に対応し、kmは、対象構成のセットのうちのいずれかの対象構成に対応する。
この場合、k1からk−1までの実行時制約が満たされる。
kmの目標制約が、満たされる。
この場合、実行時制約および目標制約の解釈は、以下のようになる。
1.実行時制約は、制御を使用して観察されなければならない
2.目標制約は、満たされた場合に、実行を中断する
混合型位置コントローラと力コントローラの大きな違いは、一般的に使用される選択規則を置換するエラー計算にある。
制御アルゴリズムは、位置、方向、場所、力、トルク、または、捩じりの制約関数により、実行時制約をサポートする。
これらの制約関数は、均一な構造を有し、特定の座標系Kに対するTCPでの場所、または、捩じりに基づく。
1.すべての実行時制約を反復処理する。
2.現在の構成Kについて、現在の実行時制約の制約関数fの値f(k)を計算する。
3.PIDコントローラのエラー計算を、x、y、z、rx、ry、およびrzの各次元について個別に実行する。
その際、各次元iで、以下の手順を実行する。
a.座標iにおけるf(k)から領域中心点mまでの距離dを計算する。
b.計算B.4に基づき、iにより与えられる方向での制約領域Rの延長aiを計
算する。同時に、たとえば、2D面の場合、延長が無限であることが明示的に
考えられる。
c.量diがai未満である場合、エラーeiを0に設定する。それ以外の場合、
エラーei=ai−diとする。
d.PID更新をエラーeiに適用し、所望の値siを計算する。
4.制約関数の変換規則に基づいて、対象ベクトルs=[s1 s2 s3 s4 s5 s6]をTCPに変換する。
5.力、トルク、または捩じりの制約関数が与えられる場合、ばね力の原理に応じた特定のばね定数により、対象ベクトルを対象場所ベクトルに変換する。
6.すべての実行時制約の対象ベクトルおよび変換された対象場所ベクトルの合計を計算する。
7.計算された合計と相対的にロボットを移動する。
この場合、現在の構成kは、制御ループで計算される。
kのすべての目標制約が満たされると、制御プロセスは、成功裏に終了する。
これにより、許容可能な差異を明示的にモデル化することができ、よって堅牢性を向上させることができる。
実行時制約および目標制約を利用したプログラミングは、アルゴリズム的に複雑であるため、ロボット工学の専門家に限られた領域である。
したがって、実行モジュールを学習モジュールと組み合わせる動作テンプレートが、洗練された方法で使用される。
実行モジュールは、制約を利用して、特に、実行時制約および目標制約を利用して、パラメータ化することができる。
学習モジュールは、単純な機械学習アルゴリズムを使用して、少数の構成から実行時制約および目標制約を実行モジュールのパラメータとして生成することができる。
学習モジュール自体は、たとえば、いくつかの構成を利用して、それらの構成を生成するステップを操作者に案内するプロセスを表す。
結果として、従来は、終了条件または対象条件の長時間にわたる複雑なテキストプログラミングが求められたタスクのためのロボットプログラムを、専門家でなくても、容易に作成することができる。
動作テンプレートは、1つまたは複数の実行モジュールと、学習モジュールとからなる。
各実行モジュールは、原始演算子(基本演算子)、すなわちそれ以上分割できないものであるか、または、複数の実行モジュール(マクロ演算子)からなる。
後者の場合、少なくとも2つのクラスの実行モジュールが存在する。
すなわち、コントローラ(ドイツ語:Regler)と、経路プランナ(動作プランナともいう)である。
経路プランナは、実行時制約および目標制約に基づいて動作経路を生成する。
コントローラは、記述された関節角度空間における位置コントローラ、デカルト空間における位置コントローラ、力コントローラ、または混合型位置/力コントローラのいずれかのタイプである。
コントローラ、より詳細には、閉ループコントローラは、動作経路の実行時に生成される実行時制約および目標制約を処理する。
動作テンプレートに格納される実行時制約および目標制約は、部分的にのみパラメータ化されることが好ましい。
各制約について、制約関数fのタイプだけでなく、制約領域Rのタイプも固定される。
制約関数のパラメータは、自由である。
よって、たとえば、場所制約の座標系Kや、TCPの場所が考えられる。
同様に、制約領域のパラメータ、すなわち、軸配向された立方体の中心点、方向、および延長なども、自由である。
自由パラメータは、学習モジュールを利用して計算される。
たとえば、ユーザは、FTSでの力測定を可能にするために、物体との接触を確立しなければならない。
これは、動作テンプレートが大まかに定義されており、物体、グリッパ、より詳細にはロボットの実際の外観から独立しているからである。
1.動作テンプレートの実行、および/または動作テンプレートで構成を生成するプロセスの実表現および/またはコンピュータアニメーション表現で、ビデオを提示する。後者の場合、個別のステップ、すなわち、生成される個別の構成は、たとえば、ビデオの一時停止により強調される。
2.対話システムを使用して、構成を生成するプロセスをステップごとにユーザに示し、ユーザが既に生成された構成に戻ってプロセスの一部を繰り返せるようにする。1に類似した態様で、生成される構成ごとに、生成される構成の視覚化を含む少なくとも1つの対話ボックスが表示される。
この場合、制約領域のタイプと、制約関数とが与えられる。
1.f(T1), ...f(Tn)を計算する。
2.自由パラメータを持たない制約領域Rpに数値を割り当てる品質関数g(Rp)>=0を指定する。説明している作業では、g(R)は、領域Rの体積および表面の重み付けされた合計である。
3.SimplexアルゴリズムやRosenbrockアルゴリズムなどの非線形最適化方法を使用して、次の最適化問題を解決する。すなわち、g(R)に関するRpが、最小となり、f(Tn)から(T1)までがRpに含まれるような、自由パラメータRの値を検索する。
これにより、プログラミング時間を減らすと共に、プロセスの結果を確認することが可能となる。
このような機能は、堅牢な産業利用のために必須である。
代わりに、これらのパラメータは、先行する教示プロセスから自動的に計算される。
その際、目標制約の評価は、ロボットコードで直接モデル化される。
実行時制約は、コントローラのタイプに応じてシミュレートされる。
位置コントローラの場合、ロボットアームの場所または関節角度に影響する実行時制約のみが(たとえば、上述した方法により)調整される。
力コントローラの場合、測定されたFTS値に対する実行時制約が調整される。
混合型位置/力制御の場合、位置およびFTS値について実行時制約が考慮される。
同時に、制約領域Rが分析されて、力制御または位置制御される空間軸が判断される。
特定の空間軸におけるしきい値よりも大きい延長は、無限延長として評価される。
無限延長を有する空間軸は、位置制約で位置制御されず、力制約で力制御されない。
結果として、実行可能プログラムは、ティーチインの場合のように移動命令を含むだけではなく、移動命令が実行時制約および目標制約を有する。
統合型制御アルゴリズムは、実行時制約を観察し、目標制約を実現するために、コントローラのタイプに応じてロボットの移動を変化させる。
よって、上述した実施形態により、これまで対話ベースのプログラミングまたはテキストプログラミングを利用して時間をかけて手動で作成しなければならなかった制御戦略を有するロボットプログラムを容易に作成することが可能となる。
これらの方法では、プログラマは、対象制約および終了制約をプログラミング言語で作成してパラメータ化する。
開始ポーズおよび中間点は、ティーチインを利用して、ロボットで生成される。
よって、これまで経済的または複雑さの理由で自動化されていなかった用途を自動化することが可能となる。
加えて、生成される部分的な解決策、すなわち、パラメータ化された動作テンプレートのセットは、容易に再使用することができる。
これは、個別の構成を学習モジュールで修正することにより、動作テンプレートを容易に適応させることができるからである。
実際、この手続きは、動作テンプレートのセットからロボットプログラムを単純かつ洗練された方法で作成し、各学習モジュールに少数の明確に定義された構成を教示することにより、置換される。
作成されたロボットプログラムは、対象条件および終了条件を実行時制約および目標制約の形式で自動的に含む。
よって、ティーチインまたはプレイバックと異なり、特定の通過点にアプローチする必要はない。
むしろ、条件が満たされれば、すなわち、たとえば、領域から通過点にアプローチすることが可能であれば、移動を成功裏に実行することができ、結果として、より柔軟な実行が可能となる。
加えて、差異を補償する方法に関する情報が、制約の形式で存在する。
よって、ロボットプログラムは、制約領域の延長に対応する差異に対する耐性を有する。
よって、本件の場合、構成は、以下の情報を含むn次元の実数値ベクトルとして与えられる。
・ロボットシステムのすべての制御可能および制御不可能な自由度の値。
すなわち、6軸の産業用ロボットであれば、6つの関節角度値
・ロボットに搭載された工具のすべての制御可能および制御不可能な自由度の値。
すなわち、電気ジョーグリッパであれば、グリッパジョー位置の値
・ロボットに搭載されたセンサの記録されたセンサデータの値。
すなわち、6次元力トルクセンサの場合、空間方向x、y、zで測定された力の3つ
の値と、空間方向x、y、zで測定されたトルクの3つの値
・時点tの値
この場合、ロボットの自己衝突につながる制御可能な関節角度位置などの物理境界制約は、無視される。
構成がn個の座標で構成され、各座標がLiからUiまでの値を取り得る場合、構成空間は、次元がn、辺長がUi−Li、中心点が(Li+Ui)/2の超立方体として定義される。
点0におけるbの値は、開始構成である。
点1におけるbの値は、対象構成である。
よって、動作経路は、構成空間における連続的な接続である。
制約gは、g(k)=1である場合にのみ、構成kで満たされたことになる。
それ以外の場合、制約は、満たされていない。
すなわち、実行時制約は、各時点tに対する制約を定義する。
実行時制約は、動作経路の0以上1未満の点における値に適用される。
動作経路bの実行時制約g(t)は、0以上1未満のすべてのtについてg(t)(b(t))=1である場合にのみ満たされる。
動作経路bの目標制約gは、g(b(1))=1である場合にのみ満たされる。
動作経路は、動作経路のすべての実行時制約、および、すべての目標制約が満たされる場合に、制約ベースの移動記述を満たす。
動作計画の場合、動作経路は、ロボットでの実行の前に生成される。
制御の場合、動作経路は、実行時に制御アルゴリズムを利用して生成される。
その際、開始構成は、一定であり、移動の始まりに対応する。
対象構成は、常に現在の構成、すなわち、ロボットが現時点で存在する構成である。
結果として、制御アルゴリズムにより生成された経路は、着実に成長する。
ロボットは、動作経路に与えられた実行時制約および目標制約がすべて満たされる場合に、移動を成功裏に実行する。
ロボットは、実行時制約が観察される態様で、その移動を制御アルゴリズムに適応させる。
目標制約が満たされた直後に、移動は、成功裏に終了する。
それ以外の場合、実行は、成功しない。
これについては、請求項1に従属する請求項を参照すると共に、本発明の他の好ましい実施形態についての以下の説明を図面と共に参照されたい。
本発明の実施形態について図面を参照しながら説明すると同時に、好ましい実施形態および発展についても全般的に説明する。
具体的には、ロボットプログラム1は、図1によると、現時点で人が手動でプログラムまたは作成しなければならない態様で、上記タスクを実行する/行うことを目的とした指示またはロボット命令を含む。
ボックスは、パラメータを備えた個別のロボット命令である。
P1、P2、P3、およびP4は、プログラマにより、プログラムにパラメータとして手動で統合された教示点である。
SENSOR[2]は、ロボットの力/トルクセンサのZ値を読み取る。
SENSOR[5]は、Zに関するトルクを読み取る。
OUT[0]=1または0は、ロボットのねじ回しを活性化または非活性化する。
PA1:ねじの上の開始位置P1にすばやく移動する
PA2:ねじの2mm上方のP2にねじ回しを進める
PA3:Z方向の測定された力値が2ニュートン未満
PA4:工具中心点に対してZ方向で1mm移動する
PA5:ループの終了
PA6:ねじ回しを活性化する
PA7:現在の工具中心位置をP4に保存する
PA8:力制御を活性化し、Z方向で5Nの調整を行う
PA9:位置変化が1cm未満であり、かつZ軸について測定されたトルク値が10
Nm未満
PA10:1タイムステップ待機
PA11:ループの終了
PA12:トルク値が少なくとも10Nmである場合、ねじ込み成功
PA13:ねじ回しを非活性化する
PA14:締められたねじから位置P3に移動する
教示パネルを使用すると、プログラマは、詳細には、P1乃至P4である中間点にアプローチし、それらをプログラムに挿入することができる。
プログラムの構造を定義し、さまざまな終了条件を定義するには、膨大な労力が求められる。
よって、図2は、テキストプログラミングを行わずに、コンパイルプロセスでロボットプログラムのソースコードを動作テンプレートからステップごとに自動生成する方法を示している。
通常、生成されたソースコードは、人が記述/作成するものと正確には対応しない。
図2では、簡単にするために、この状況が前提とされている。
各実行モジュール3は、動作テンプレートまたは1つもしくは複数の実行モジュール4(階層表現)を含むことができる。
この特徴により、サブルーチンを表現し、再使用することができる。
ここには、コントローラの入力/出力など、ロボットプログラムで命令が含まれている。
コンパイルプロセスに関連するものとして、使用される実行モジュールコントローラがある。
Typeは、コントローラのタイプを表す。
詳細には、位置制御、力制御、または混合型位置/力制御である。
RiおよびGiは、それぞれ実行時制約および目標制約である。
各タイプのコントローラは、実行時制約R1が観察され、目標制約Gjが達成される態様で、実装される。
このレベルの実行モジュールおよび実行時制約ならびに目標制約のタイプのために、これらの制約を各対象ロボットコントローラ用の実行可能なロボットプログラムソースコードにマップする方法についての規則が保存される。
すべてのパラメータを計算した後、実行可能ソースコードを生成するために、これらの規則が適用される。
動作テンプレートは、実行モジュール3とこの実行モジュール3の順序に関する構造情報(図の接続部分の矢印を参照)と学習モジュール5とで構成される。
実行モジュール3は、追加の実行モジュール(または、動作テンプレート)を階層的に含むことができる。
この文脈で、B.fは、制約Bの制約関数を示し、B.Rは、制約Bの制約領域を示す。
一般に、実行モジュール3のパラメータは、実行時制約(Ri)および目標制約(Gi)である。
これらの実行時制約および目標制約は、学習モジュールの予め定義された関数を利用して、ステップごとに計算される。
この目標制約は、関節角度制約タイプの制約関数fを有する。
すなわち、構成kについて、f(k)は、ロボットの関節角度値のすべてからなる実数値ベクトルである。
また、目標制約G1は、中心点がねじの上方の教示された構成T1に対応し、半径が0.0001RAD等のロボット関節位置センサの誤差に対応する、球タイプの制約領域Rを有する。
経路計画実行モジュールは、定義された経路計画プロセスで、開始構成から、目標制約G1を満たす構成、すなわち、ロボット関節位置センサの誤差を除く教示された構成T1、までの動作経路P1を計算する。
次に、計算された動作経路が、位置コントローラタイプのコントローラで実行される。
ロボット関節位置センサにより測定された最後の構成が目標制約を満たす場合、動作経路の実行は成功である。
結果として、ロボットは、現在の構成から、ねじ回しがねじの上方に位置決めされた構成に移動する。
この実行モジュールは、1つの経路計画実行モジュールと2つの制御実行モジュールとからなる。
実行時制約R1は、ねじの上方の構成から、ねじ回しがねじと接触する構成への線形移動を記述する。
制約関数は、開始構成でのTCPの位置に正確に対応する座標系に対してTCPを制限する場所制約関数である。
制約領域は、初期化プロセスで教示された構成T1、T2、およびT3から計算された立方体である。
つまり、ねじの方向での延長は、長さの点で、ねじの上方の構成(T1)から、ねじと接触する構成(T2およびT3)までの経路に対応する。
これに直交する延長は、人がT1からT2およびT3までで教示した、線形移動からの逸脱に対応する。
G2は、R1と同じ制約関数を持つ場所制約であるが、制約領域は、異なる。
この制約領域は、最小限の延長を有する立方体であり、T2およびT3での制約関数の値を含む。
構成は、複数の直観的な入力チャネルを利用して生成することができるため、結果として、機能的に同等なロボットプログラム(終了条件およびコントローラを含む)を生成することができるテキストプログラミング方法よりも、はるかに単純なプログラミング方法が得られる。
従来の方法に対する利点は、比較的複雑なロボットプログラムを生成するのに必要な構成(または機械学習におけるトレーニング例)の数が最小限に抑えられることである。
これは、実行時制約および目標制約の自由パラメータを計算するための明示的な規則を、動作記述、特に動作テンプレートの記述、の早い段階で格納することにより実現される。
本事例では、これらの規則は、学習モジュール5で実行される個別のプロセスステップとして表される。
これらの実行時制約および目標制約は、実行モジュールへの入力として使用される。
R1は、円筒タイプの制約領域を有する場所制約である。
R1の自由パラメータ、すなわち、円筒の中心点の場所、円筒の高さ、および円筒の半径は、構成T1、T2、およびT3から計算される。
この目的のために、制約関数fがT1、T2、およびT3に適用され、R1.f(T1)、R1.f(T2)、R1.f1(T3)となる。
同時に、適用される関数cylinder(A1,A2,An)が、最適化アルゴリズムを使用して、ベクトルA1乃至Anより制約領域の自由パラメータを計算する。
計算された円筒は、TCPが接触点までの過程で実行しなければならない移動に近似する。
終了条件は、教示された構成より計算された実行時制約および目標制約を利用して、自動的に定義される。
このプログラミングプロセスは、以下のサブステップTS1乃至TS6を含む。
TS1:プログラム全体に動作テンプレートを挿入
TS2:学習モジュールを実行
TS3:主要な構成を生成するためにユーザに問い合わせる
TS4:実行時制約および目標制約を計算するための規則を実行
TS5:経路計画を実行して、実行時制約および目標制約に基づいて経路を計算
TS6:実行可能なロボットプログラムソースコードにコンパイル
操作者6は、ロボット7で、(CADモデル上の点で)コンピュータ/PC8を利用して、構成を直接生成する。
ロボット7は、周辺領域を知覚するために(たとえば、力を知覚したり、視覚的に知覚したりするために)、1つまたは複数のセンサ9と、ねじ回し10とを有する。
コンピュータ/PC8の支援により、ロボットコントローラ11用のソースコードが作成される。
このソースコードは、当該ロボットコントローラ11またはロボット7で実行することができる。
この場合、作業操作を実行するために、ロボット7は、ねじ12をセンサ9とねじ回し10とを備えるロボット7によりワーク13にねじ込むように、プログラムされる。
予め定義されたタイプの制約関数f=関節角度制約関数および制約関数R=球を有する目標制約G1が、構成T1より計算される。
関数sphereは、品質条件に応じて、構成T1を包含する最適な球を計算する。
G1.R=Sphere(G1.f(T1))
操作者は、2つの冗長な構成T2およびT3を記録する。
これら2つの(場合によってはそれ以上の)構成は、ねじ12と接触するための移動の過程における力の目標制約G3を計算するために使用される。
制約関数のタイプは、工具中心点TCPがねじ回し10の端部に位置し、座標系が開始構成すなわちT2におけるTCPの場所と正確に等価である力制約関数である。
制約領域のタイプは、立方体である。
G3.R=Cube(G3.f(T2),G3.f(T3))
すなわち、ロボット7は、教示された方向に移動しなければならない。
この場合、R1.fは、場所制約関数である。
R1.R=Cylinder(R1.f(T1),R1.f(T2),F1.f(T3))
ただし、制約領域のタイプは、立方体である。
G2.R=Cube(G2.f(T2),G2.f(T3))
実行時には、計算された移動が実行され、G3が満たされる場合に成功裏に終了する。
操作者は、このプロセスを反復し、2つの冗長な構成T4およびT5を、それぞれ移動の終わりで保存する。
R2.R=Cylinder(R2.f(T2),R2.f(T4))
このプロセスは、G3に類似する。
R3.R=Cube(R3.f(T4),R3.f(T5))
つまり、移動は、トルクが操作者により教示されたトルクの範囲内である場合に成功する。
計算は、R3に類似して実行されるが、トルク制約関数で実行される。
G4.R=Cube(G4.f(T4),G4.f(T5))
以前の構成T5および構成T6を使用して、目標制約がG2に類似する態様で計算される。
G5.R=Cube(G5.f(T5),G5.f(T6))
それにより、ロボット7は、ねじ12から安全な距離だけ移動する。
G3.R=Cube(G3.f(T2),G3.f(T3))
を計算するための図8の記録ステップに類似している。
構成T2およびT3において、ロボット7に関するすべての関連情報は、教示が行われるときに保存される。
よって、測定された力の値も保存される。
目標制約G3について、関数fおよび制約領域Rが、依然として判断する必要がある自由パラメータと共に学習モジュールに保存される。
この場合、fは、この例では、ねじ回し10の端点である工具中心点(TCP)で、基準座標系F1(本事例では、工具中心点と等価)に対する三次元ベクトル(fx fy fz)として測定された力として定義される、力制約関数である。
fの2つの値が、T2およびT3に対して、すなわち、f(T2)およびf(T3)として計算される。
この球は、T2およびT3での制約関数の2つの値から、関数sphere()で計算される。
結果として、計算された半径は、ロボット7自体が制御プロセスで許容することができる、教示された力の値の平均値からの逸脱に正確に対応する。
よって、操作者は、適切な構成を利用して、実行の堅牢性を強化することができる。
この事例では、グラフィック命令の例が教示プロセスで操作者/ユーザに示される。
操作者は、(2Dまたは3Dの)類似する用途で教示より詳細には記録される構成の典型例を取得し、好ましくはステップごとに、初期化プロセスを案内される。
図13は、螺旋検索を実行する動作テンプレートのための学習モジュールのイベントの順序を表す。
目標は、グリップされた物体15を孔16に挿入することである。
孔16の場所が正確にわかっていない場合、最初のステップは、孔16を探すことである。
このために、螺旋検索の動作テンプレートが使用される。
螺旋検索で、物体15を備えたロボット7は、孔16が位置する平坦な表面17に接触する。
この目的のために、既に説明した実行モジュールMoveToContactが利用される。
接触後、ロボット7は、螺旋移動18を実行し、その際に、表面に力を適用する。
螺旋移動が孔16の上を通った場合、物体15が孔16に滑り込む。
目標制約により表される状態である、物体15が孔16に最小ミリメートルから最大ミリメートルの範囲で滑り込んだ直後に、移動が終了する。
a)操作者は、孔16の周囲の領域を定義する4つの構成を連続して実演する。操作
者は、物体15が孔16に移動する領域を定義する他の3つの構成を実演する
(図13aを参照)。
b)最初の4つの構成は、図2に類似した態様で、MoveToContactのた
めの1つの実行時制約と2つの目標制約とを生成するために使用される。立方体
タイプの制約領域を備える、生成された目標制約は、ステップごとの螺旋動作を
生成するために使用される(図13bを参照)。たとえば、主成分分析を使用し
て、最大延長を有する2つの螺旋方向が計算される。アルキメデス螺旋等の螺旋
を生成するアルゴリズムを使用して、螺旋が生成され、2つの最大延長に収まる
ように拡大縮小される(図13dを参照)。
c)最後の3つの構成は、(図9に類似して)場所制約関数タイプの目標制約および
円筒タイプの制約領域を計算するために使用される。図13Cを参照されたい。
d)ロボット7は、螺旋上を移動し、図13cの目標制約が満たされたとき、すなわ
ち、物体が孔に滑り込んだときに、移動を成功裏に停止する。
2 ・・・動作テンプレート
3 ・・・実行モジュール
4 ・・・実行モジュール
5 ・・・学習モジュール
6 ・・・操作者
7 ・・・ロボット
8 ・・・コンピュータ
9 ・・・センサ
10 ・・・ねじ回し
11 ・・・ロボットコントローラ
12 ・・・ねじ
13 ・・・ワーク
14 ・・・グラフィック命令
15 ・・・物体
16 ・・・孔
17 ・・・表面
18 ・・・螺旋移動
M ・・・中心点
F1 ・・・基準座標系
PA1、PA14 ・・・プログラム命令
TS1、TS6 ・・・サブステップ
Claims (16)
- ロボット、特にロボットアームを備えるロボット、をプログラムする方法であって、
前記ロボットにより実行される移動が、好ましくはロボットプログラムで、予め定義された動作テンプレートにより設定され、
前記動作テンプレートが、複数の動作テンプレートを含むデータベースから選択され、
前記動作テンプレートが、1つまたは複数のパラメータ化可能な実行モジュールと少なくとも1つの学習モジュールとを備え、
前記1つまたは複数の実行モジュールが、前記ロボット移動または前記ロボット移動の部分移動を計画および/または実行するために使用され、
前記学習モジュールが、初期化プロセスで、特に教示プロセスの形式で、前記ロボットの1つまたは複数の構成を記録し、
前記学習モジュールが、記録された前記構成に基づいて、好ましくは機械学習方法を使用して、前記実行モジュールのパラメータを計算する方法。 - 前記実行モジュールのパラメータが、制約を含み、
前記ロボット移動または前記ロボット移動の部分移動が、前記制約に基づいて計画および/または実行されることを特徴とする、請求項1に記載の方法。 - 前記制約が、制約関数fと、制約領域Rとを含み、
前記制約関数fが、構成kを実数値のベクトル空間にマップし、
前記制約領域Rが、実数値のベクトル空間のサブセットに対応し、f(k)がRに位置するときに構成kの制約が満たされることを特徴とする、請求項1または請求項2に記載の方法。 - 前記制約関数fのタイプとして、
前記ロボットの関節、または前記ロボットのエンドエフェクタ、特にグリッパ、の角度、速度、および/または加速度、
座標系に対する前記ロボットの工具中心点の位置、方向、および/または場所、
座標系に対する工具中心点で測定された速度、角速度、および/または捻り、
座標系に対する工具中心点で測定された力、トルク、および/または捩じり、
あるCADモデルから別のCADモデルまでの衝突自由度、距離量、および/または距離ベクトル
前記ロボットおよびCADモデルのエンドエフェクタ、特にグリッパ、のグリップ評価、
の1つまたは複数が使用されることを特徴とする、請求項1乃至請求項3のいずれか一項に記載の方法。 - 前記制約領域Rに使用することができるタイプが、軸に平行な立方体、配向された立方体、円筒、円錐、球、凸包、CADモデル、ORing、ANDing、および/または積形成を含むことを特徴とする、請求項1乃至請求項4のいずれか一項に記載の方法。
- 前記実行モジュールのパラメータが、前記制約として実行時制約を含み、
前記実行時制約が、時点間の予め定めることが可能な間隔について満たされる制約を定義する時間依存制約であることを特徴とする、請求項1乃至請求項5のいずれか一項に記載の方法。 - 前記実行モジュールのパラメータが、前記制約として目標制約を含み、
前記目標制約が、時点間の予め定めることが可能な間隔の間隔上限について満たされる制約を定義する制約であることを特徴とする、請求項1乃至請求項6のいずれか一項に記載の方法。 - 前記1つまたは複数の実行モジュールが、前記ロボット移動または前記ロボット移動の部分移動を、前記実行時制約が観察される態様で、制御アルゴリズムに準拠して適応させることを特徴とする、請求項1乃至請求項7のいずれか一項に記載の方法。
- 前記ロボット移動または前記ロボット移動の部分移動が、前記目標制約が満たされたときに成功裏に終了することを特徴とする、請求項1乃至請求項8のいずれか一項に記載の方法。
- 前記動作テンプレートの実行モジュールのための動作経路が、前記制約に基づいて、特に前記実行時制約および/または前記目標制約に基づいて、経路計画アルゴリズムを使用して、計算されることを特徴とする、請求項1乃至請求項9のいずれか一項に記載の方法。
- 前記1つまたは複数の実行モジュールが、対象システム、特にロボットコントローラ、に対してコンパイルすることによりマップされることを特徴とする、請求項1乃至請求項10のいずれか一項に記載の方法。
- 前記初期化プロセスで、記録される前記構成を、ユーザがさまざまなインターフェイスを利用することにより、特に、ユーザが前記ロボットを手動で案内することにより、3Dシミュレーション環境でマウスを対話操作することにより、および/または他の適切な制御手段を利用することにより、生成することができることを特徴とする、請求項1乃至請求項11のいずれか一項に記載の方法。
- ユーザとの対話が前記初期化プロセスで実行され、記録される前記構成を生成するために、質問および/または指示が前記ユーザに与えられることを特徴とする、請求項1乃至請求項12のいずれか一項に記載の方法。
- 前記1つまたは複数の実行モジュールが、各実行モジュールが原始演算子として設計され、または少なくとも1つの実行モジュールおよび/もしくは少なくとも1つの動作モジュールにより形成される態様で、階層的に構築されることを特徴とする、請求項1乃至請求項13のいずれか一項に記載の方法。
- 請求項1乃至請求項14のいずれか一項に記載の方法を実行するための、ロボット、特にロボットアームを備えるロボット、をプログラムするシステムであって、
前記ロボットにより実行される移動が、好ましくはロボットプログラム、で予め定義された動作テンプレートにより設定され、
前記動作テンプレートが、複数の動作テンプレートを含むデータベースから選択することが可能であり、
前記動作テンプレートが、1つまたは複数のパラメータ化可能な実行モジュールと少なくとも1つの学習モジュールとを備え、
前記1つまたは複数の実行モジュールが、前記ロボット移動または前記ロボット移動の部分移動を計画および/または実行するために使用され、
前記学習モジュールが、初期化プロセスで、特に教示プロセスの形式で、前記ロボットの1つまたは複数の構成を記録し、
前記学習モジュールが、記録された前記構成に基づいて、好ましくは機械学習方法を使用して、前記実行モジュールのパラメータを計算するシステム。 - 機械可読キャリアに格納され、請求項1乃至請求項14のいずれか一項に記載されたロボットをプログラムする方法を提供および/または実行するプログラムコードを備えた、コンピュータプログラム製品。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014210525.0 | 2014-06-03 | ||
DE102014210525 | 2014-06-03 | ||
DE102015204641.9A DE102015204641B4 (de) | 2014-06-03 | 2015-03-13 | Verfahren und System zur Programmierung eines Roboters |
DE102015204641.9 | 2015-03-13 | ||
PCT/DE2015/200313 WO2015185049A1 (de) | 2014-06-03 | 2015-05-15 | Verfahren und system zur programmierung eines roboters |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017520415A true JP2017520415A (ja) | 2017-07-27 |
JP6580602B2 JP6580602B2 (ja) | 2019-09-25 |
Family
ID=54481690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016571289A Active JP6580602B2 (ja) | 2014-06-03 | 2015-05-15 | ロボットをプログラムする方法およびシステム |
Country Status (7)
Country | Link |
---|---|
US (1) | US10279476B2 (ja) |
EP (1) | EP3013537B2 (ja) |
JP (1) | JP6580602B2 (ja) |
KR (2) | KR20160149290A (ja) |
CN (1) | CN106457565B (ja) |
DE (1) | DE102015204641B4 (ja) |
WO (1) | WO2015185049A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021245965A1 (ja) * | 2020-06-05 | 2021-12-09 | 株式会社島津製作所 | 自動試料注入装置 |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10120364B2 (en) * | 2015-03-27 | 2018-11-06 | GM Global Technology Operations LLC | Self-corrective nut running for robotic applications |
FR3035961B1 (fr) * | 2015-05-04 | 2020-12-25 | Commissariat Energie Atomique | Procede, programme d'ordinateur et systeme pour la commande d'un deplacement d'un agent navigant dans un environnement organise en reseau |
KR101764120B1 (ko) * | 2016-11-21 | 2017-08-14 | 한국과학기술정보연구원 | 3d 모델링 기반 삽입력과 이탈력 해석 방법 및 그 장치 |
JP6534126B2 (ja) * | 2016-11-22 | 2019-06-26 | パナソニックIpマネジメント株式会社 | ピッキングシステム及びその制御方法 |
JP6438450B2 (ja) * | 2016-11-29 | 2018-12-12 | ファナック株式会社 | レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法 |
JP6877192B2 (ja) * | 2017-03-03 | 2021-05-26 | 株式会社キーエンス | 画像処理装置、画像処理方法、画像処理プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器 |
JP6577527B2 (ja) * | 2017-06-15 | 2019-09-18 | ファナック株式会社 | 学習装置、制御装置及び制御システム |
JP6619395B2 (ja) | 2017-07-12 | 2019-12-11 | ファナック株式会社 | ロボットシステムおよびロボットの教示方法 |
EP3428754B1 (de) * | 2017-07-13 | 2023-02-15 | Siemens Aktiengesellschaft | Verfahren zum einrichten eines bewegungsautomaten und einrichtungsanordnung |
CN110914022B (zh) * | 2017-08-10 | 2023-11-07 | 罗伯特·博世有限公司 | 直接教导机器人的***和方法 |
US10828775B2 (en) * | 2017-09-26 | 2020-11-10 | Siemens Aktiengesellschaft | Method and system for automatic robot control policy generation via CAD-based deep inverse reinforcement learning |
KR101948558B1 (ko) * | 2017-09-28 | 2019-02-18 | 김종태 | 손으로 조작하여 프로그래밍 가능한 모듈러 로봇 |
CN107617877B (zh) * | 2017-10-13 | 2019-05-10 | 湘潭大学 | 一种多机器人装配单元及其优化方法 |
CN109895089A (zh) * | 2017-12-10 | 2019-06-18 | 湘潭宏远电子科技有限公司 | 一种机器人移动监测装置 |
CN109895135A (zh) * | 2017-12-10 | 2019-06-18 | 湘潭宏远电子科技有限公司 | 一种机器人控制装置 |
CN109895087A (zh) * | 2017-12-10 | 2019-06-18 | 湘潭宏远电子科技有限公司 | 一种机器人交互*** |
US10800040B1 (en) * | 2017-12-14 | 2020-10-13 | Amazon Technologies, Inc. | Simulation-real world feedback loop for learning robotic control policies |
US10792810B1 (en) * | 2017-12-14 | 2020-10-06 | Amazon Technologies, Inc. | Artificial intelligence system for learning robotic control policies |
US10926408B1 (en) | 2018-01-12 | 2021-02-23 | Amazon Technologies, Inc. | Artificial intelligence system for efficiently learning robotic control policies |
EP3518059B1 (de) | 2018-01-24 | 2020-04-01 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten benutzerassistenz bei der in-betriebnahme eines bewegungsplaners für eine maschine |
DE102018203078B3 (de) * | 2018-03-01 | 2019-05-09 | Kuka Deutschland Gmbh | Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie und zugehöriges Computerprogrammprodukt |
US11084169B2 (en) * | 2018-05-23 | 2021-08-10 | General Electric Company | System and method for controlling a robotic arm |
JP7028092B2 (ja) * | 2018-07-13 | 2022-03-02 | オムロン株式会社 | 把持姿勢評価装置及び把持姿勢評価プログラム |
JP6826076B2 (ja) * | 2018-07-17 | 2021-02-03 | ファナック株式会社 | 自動経路生成装置 |
DE102018214417B3 (de) * | 2018-08-27 | 2019-07-25 | Volkswagen Aktiengesellschaft | Verfahren zur Programmierung eines Roboters sowie Recheneinrichtung und Computerprogramm |
CN109032571A (zh) * | 2018-08-28 | 2018-12-18 | 苏州艾利特机器人有限公司 | 一种机器人工艺程序生成方法 |
DE102018218081A1 (de) * | 2018-10-23 | 2020-04-23 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Ansteuerung eines Robotersystems |
JP7184595B2 (ja) * | 2018-10-29 | 2022-12-06 | オークマ株式会社 | 工作機械システム |
SG11202104268YA (en) * | 2018-11-16 | 2021-05-28 | Liveperson Inc | Automatic bot creation based on scripts |
US20200160210A1 (en) * | 2018-11-20 | 2020-05-21 | Siemens Industry Software Ltd. | Method and system for predicting a motion trajectory of a robot moving between a given pair of robotic locations |
WO2020132903A1 (zh) * | 2018-12-25 | 2020-07-02 | 深圳配天智能技术研究院有限公司 | 机器人程序指令编译方法、机器人控制***及存储装置 |
DE102019201045B4 (de) * | 2019-01-28 | 2020-11-26 | Robert Bosch Gmbh | Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters |
CN113196193A (zh) * | 2019-02-13 | 2021-07-30 | Abb瑞士股份有限公司 | 用于管理机器人程序的方法和装置 |
US11904202B2 (en) | 2019-03-11 | 2024-02-20 | Rom Technolgies, Inc. | Monitoring joint extension and flexion using a sensor device securable to an upper and lower limb |
US11541274B2 (en) | 2019-03-11 | 2023-01-03 | Rom Technologies, Inc. | System, method and apparatus for electrically actuated pedal for an exercise or rehabilitation machine |
CN110216670B (zh) * | 2019-04-30 | 2022-04-15 | 武汉理工大学 | 一种基于损失场的工业机器人自动避障方法及装置 |
US11433276B2 (en) | 2019-05-10 | 2022-09-06 | Rehab2Fit Technologies, Inc. | Method and system for using artificial intelligence to independently adjust resistance of pedals based on leg strength |
US11957960B2 (en) | 2019-05-10 | 2024-04-16 | Rehab2Fit Technologies Inc. | Method and system for using artificial intelligence to adjust pedal resistance |
US11904207B2 (en) | 2019-05-10 | 2024-02-20 | Rehab2Fit Technologies, Inc. | Method and system for using artificial intelligence to present a user interface representing a user's progress in various domains |
US11801423B2 (en) | 2019-05-10 | 2023-10-31 | Rehab2Fit Technologies, Inc. | Method and system for using artificial intelligence to interact with a user of an exercise device during an exercise session |
CN110162052A (zh) * | 2019-05-27 | 2019-08-23 | 北京新能源汽车股份有限公司 | 自动驾驶决策的代码生成方法、***及车辆 |
US20220339787A1 (en) * | 2019-07-01 | 2022-10-27 | Kuka Deutschland Gmbh | Carrying out an application using at least one robot |
CN112189185A (zh) * | 2019-07-31 | 2021-01-05 | 深圳市大疆创新科技有限公司 | 一种编程***、方法及程序执行设备 |
CN110533969B (zh) * | 2019-08-05 | 2022-03-29 | 深圳市编玩边学教育科技有限公司 | 一种编程教学端及*** |
DE102019121889B3 (de) * | 2019-08-14 | 2020-11-19 | Robominds GmbH | Automatisierungssystem und Verfahren zur Handhabung von Produkten |
US11747787B2 (en) | 2019-08-30 | 2023-09-05 | Intrinsic Innovation Llc | Combining transformers for robotics planning |
US11577392B2 (en) | 2019-08-30 | 2023-02-14 | Intrinsic Innovation Llc | Splitting transformers for robotics planning |
US11071597B2 (en) | 2019-10-03 | 2021-07-27 | Rom Technologies, Inc. | Telemedicine for orthopedic treatment |
US11701548B2 (en) | 2019-10-07 | 2023-07-18 | Rom Technologies, Inc. | Computer-implemented questionnaire for orthopedic treatment |
CN110666797B (zh) * | 2019-09-30 | 2023-01-06 | 东莞市李群自动化技术有限公司 | 一种机器人控制***及方法 |
US11317975B2 (en) | 2019-10-03 | 2022-05-03 | Rom Technologies, Inc. | Method and system for treating patients via telemedicine using sensor data from rehabilitation or exercise equipment |
US11978559B2 (en) | 2019-10-03 | 2024-05-07 | Rom Technologies, Inc. | Systems and methods for remotely-enabled identification of a user infection |
US11325005B2 (en) | 2019-10-03 | 2022-05-10 | Rom Technologies, Inc. | Systems and methods for using machine learning to control an electromechanical device used for prehabilitation, rehabilitation, and/or exercise |
US11282608B2 (en) | 2019-10-03 | 2022-03-22 | Rom Technologies, Inc. | Method and system for using artificial intelligence and machine learning to provide recommendations to a healthcare provider in or near real-time during a telemedicine session |
US11955221B2 (en) | 2019-10-03 | 2024-04-09 | Rom Technologies, Inc. | System and method for using AI/ML to generate treatment plans to stimulate preferred angiogenesis |
US20210127974A1 (en) | 2019-10-03 | 2021-05-06 | Rom Technologies, Inc. | Remote examination through augmented reality |
US20210134425A1 (en) | 2019-10-03 | 2021-05-06 | Rom Technologies, Inc. | System and method for using artificial intelligence in telemedicine-enabled hardware to optimize rehabilitative routines capable of enabling remote rehabilitative compliance |
US11075000B2 (en) | 2019-10-03 | 2021-07-27 | Rom Technologies, Inc. | Method and system for using virtual avatars associated with medical professionals during exercise sessions |
US11756666B2 (en) | 2019-10-03 | 2023-09-12 | Rom Technologies, Inc. | Systems and methods to enable communication detection between devices and performance of a preventative action |
US11961603B2 (en) | 2019-10-03 | 2024-04-16 | Rom Technologies, Inc. | System and method for using AI ML and telemedicine to perform bariatric rehabilitation via an electromechanical machine |
US20210134458A1 (en) | 2019-10-03 | 2021-05-06 | Rom Technologies, Inc. | System and method to enable remote adjustment of a device during a telemedicine session |
US11915816B2 (en) | 2019-10-03 | 2024-02-27 | Rom Technologies, Inc. | Systems and methods of using artificial intelligence and machine learning in a telemedical environment to predict user disease states |
US11887717B2 (en) | 2019-10-03 | 2024-01-30 | Rom Technologies, Inc. | System and method for using AI, machine learning and telemedicine to perform pulmonary rehabilitation via an electromechanical machine |
US11830601B2 (en) | 2019-10-03 | 2023-11-28 | Rom Technologies, Inc. | System and method for facilitating cardiac rehabilitation among eligible users |
US20210134432A1 (en) | 2019-10-03 | 2021-05-06 | Rom Technologies, Inc. | Method and system for implementing dynamic treatment environments based on patient information |
US11515028B2 (en) | 2019-10-03 | 2022-11-29 | Rom Technologies, Inc. | Method and system for using artificial intelligence and machine learning to create optimal treatment plans based on monetary value amount generated and/or patient outcome |
US12020799B2 (en) | 2019-10-03 | 2024-06-25 | Rom Technologies, Inc. | Rowing machines, systems including rowing machines, and methods for using rowing machines to perform treatment plans for rehabilitation |
US11955220B2 (en) | 2019-10-03 | 2024-04-09 | Rom Technologies, Inc. | System and method for using AI/ML and telemedicine for invasive surgical treatment to determine a cardiac treatment plan that uses an electromechanical machine |
US11337648B2 (en) | 2020-05-18 | 2022-05-24 | Rom Technologies, Inc. | Method and system for using artificial intelligence to assign patients to cohorts and dynamically controlling a treatment apparatus based on the assignment during an adaptive telemedical session |
US11282604B2 (en) | 2019-10-03 | 2022-03-22 | Rom Technologies, Inc. | Method and system for use of telemedicine-enabled rehabilitative equipment for prediction of secondary disease |
US11515021B2 (en) | 2019-10-03 | 2022-11-29 | Rom Technologies, Inc. | Method and system to analytically optimize telehealth practice-based billing processes and revenue while enabling regulatory compliance |
US11955222B2 (en) | 2019-10-03 | 2024-04-09 | Rom Technologies, Inc. | System and method for determining, based on advanced metrics of actual performance of an electromechanical machine, medical procedure eligibility in order to ascertain survivability rates and measures of quality-of-life criteria |
US12020800B2 (en) | 2019-10-03 | 2024-06-25 | Rom Technologies, Inc. | System and method for using AI/ML and telemedicine to integrate rehabilitation for a plurality of comorbid conditions |
US11955223B2 (en) | 2019-10-03 | 2024-04-09 | Rom Technologies, Inc. | System and method for using artificial intelligence and machine learning to provide an enhanced user interface presenting data pertaining to cardiac health, bariatric health, pulmonary health, and/or cardio-oncologic health for the purpose of performing preventative actions |
US11139060B2 (en) | 2019-10-03 | 2021-10-05 | Rom Technologies, Inc. | Method and system for creating an immersive enhanced reality-driven exercise experience for a user |
US11923065B2 (en) | 2019-10-03 | 2024-03-05 | Rom Technologies, Inc. | Systems and methods for using artificial intelligence and machine learning to detect abnormal heart rhythms of a user performing a treatment plan with an electromechanical machine |
US11282599B2 (en) | 2019-10-03 | 2022-03-22 | Rom Technologies, Inc. | System and method for use of telemedicine-enabled rehabilitative hardware and for encouragement of rehabilitative compliance through patient-based virtual shared sessions |
US20210142893A1 (en) | 2019-10-03 | 2021-05-13 | Rom Technologies, Inc. | System and method for processing medical claims |
US11069436B2 (en) | 2019-10-03 | 2021-07-20 | Rom Technologies, Inc. | System and method for use of telemedicine-enabled rehabilitative hardware and for encouraging rehabilitative compliance through patient-based virtual shared sessions with patient-enabled mutual encouragement across simulated social networks |
US20210134412A1 (en) | 2019-10-03 | 2021-05-06 | Rom Technologies, Inc. | System and method for processing medical claims using biometric signatures |
US11101028B2 (en) | 2019-10-03 | 2021-08-24 | Rom Technologies, Inc. | Method and system using artificial intelligence to monitor user characteristics during a telemedicine session |
US20210128080A1 (en) | 2019-10-03 | 2021-05-06 | Rom Technologies, Inc. | Augmented reality placement of goniometer or other sensors |
US11270795B2 (en) | 2019-10-03 | 2022-03-08 | Rom Technologies, Inc. | Method and system for enabling physician-smart virtual conference rooms for use in a telehealth context |
US11915815B2 (en) | 2019-10-03 | 2024-02-27 | Rom Technologies, Inc. | System and method for using artificial intelligence and machine learning and generic risk factors to improve cardiovascular health such that the need for additional cardiac interventions is mitigated |
US11826613B2 (en) | 2019-10-21 | 2023-11-28 | Rom Technologies, Inc. | Persuasive motivation for orthopedic treatment |
WO2021148129A1 (en) * | 2020-01-24 | 2021-07-29 | Siemens Healthcare Gmbh | Machine-learned network for medical robot generation from configurable modules |
US11691280B2 (en) | 2020-01-24 | 2023-07-04 | The Cleveland Clinic Foundation | Hybrid control of a robotic system |
JP7375587B2 (ja) * | 2020-02-05 | 2023-11-08 | 株式会社デンソー | 軌道生成装置、多リンクシステム、及び軌道生成方法 |
DE102020103852B4 (de) | 2020-02-14 | 2022-06-15 | Franka Emika Gmbh | Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator |
US11707843B2 (en) | 2020-04-03 | 2023-07-25 | Fanuc Corporation | Initial reference generation for robot optimization motion planning |
US11816112B1 (en) | 2020-04-03 | 2023-11-14 | Soroco India Private Limited | Systems and methods for automated process discovery |
US11813756B2 (en) | 2020-04-16 | 2023-11-14 | Fanuc Corporation | Disassembly based assembly planning |
US11717587B2 (en) | 2020-05-08 | 2023-08-08 | Robust AI, Inc. | Ultraviolet cleaning trajectory modeling |
US11820014B2 (en) | 2020-05-21 | 2023-11-21 | Intrinsic Innovation Llc | Simulated local demonstration data for robotic demonstration learning |
US11524402B2 (en) | 2020-05-21 | 2022-12-13 | Intrinsic Innovation Llc | User feedback for robotic demonstration learning |
US11679497B2 (en) | 2020-05-21 | 2023-06-20 | Intrinsic Innovation Llc | Distributed robotic demonstration learning |
US11472025B2 (en) | 2020-05-21 | 2022-10-18 | Intrinsic Innovation Llc | Robotic demonstration learning device |
US11534913B2 (en) | 2020-05-21 | 2022-12-27 | Intrinsic Innovation Llc | Integrating sensor streams for robotic demonstration learning |
US11685047B2 (en) | 2020-05-21 | 2023-06-27 | Intrinsic Innovation Llc | Skill template distribution for robotic demonstration learning |
US11986958B2 (en) | 2020-05-21 | 2024-05-21 | Intrinsic Innovation Llc | Skill templates for robotic demonstration learning |
DE102020209511B3 (de) | 2020-07-28 | 2021-08-19 | ArtiMinds Robotics GmbH | Verfahren und System zur Bestimmung von optimierten Programmparametern für ein Roboterprogramm |
CN113040915B (zh) * | 2021-03-12 | 2024-06-04 | 杭州柳叶刀机器人有限公司 | 机器人安全边界控制装置及方法、电子设备和存储介质 |
US12020046B1 (en) * | 2021-04-02 | 2024-06-25 | Soroco India Private Limited | Systems and methods for automated process discovery |
CN115056214A (zh) * | 2022-04-08 | 2022-09-16 | 福州大学 | 一种基于3d操纵杆的工业机器人示教编程***及方法 |
CN115178944B (zh) * | 2022-08-04 | 2024-05-24 | 广东工业大学 | 一种安全强化学习的狭窄空间机器人作业规划方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05127718A (ja) * | 1991-11-08 | 1993-05-25 | Fujitsu Ltd | マニピユレータの手先軌道自動生成装置 |
JP2002189608A (ja) * | 2000-08-28 | 2002-07-05 | Sony Corp | 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置 |
JP2005125475A (ja) * | 2003-10-24 | 2005-05-19 | Sunao Kitamura | 一回の成功試行で最良経路を学習するアーキテクチャ |
WO2006043873A1 (en) * | 2004-10-20 | 2006-04-27 | Abb Research Ltd | A system and a method for programming an in¬ dustrial robot |
JP2006289602A (ja) * | 2005-03-17 | 2006-10-26 | Sony Corp | ロボット装置及びその制御方法 |
EP1724676A1 (en) * | 2005-05-20 | 2006-11-22 | ABB Research Ltd. | Method and apparatus for developing a software program |
WO2007099511A2 (en) * | 2006-03-03 | 2007-09-07 | Syddansk Universitet | Programmable robot and user interface |
JP2008087109A (ja) * | 2006-10-02 | 2008-04-17 | Toyota Motor Corp | ロボット制御システム |
WO2009107358A1 (ja) * | 2008-02-28 | 2009-09-03 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及びロボットアーム制御用集積電子回路 |
DE102010012598A1 (de) * | 2010-02-26 | 2011-09-01 | Kuka Laboratories Gmbh | Prozessmodulbibliothek und Programmierumgebung zur Programmierung eines Manipulatorprozesses |
JP2011238104A (ja) * | 2010-05-12 | 2011-11-24 | Toyota Motor Corp | 移動ロボット |
JP2012027607A (ja) * | 2010-07-21 | 2012-02-09 | Sumitomo Heavy Ind Ltd | 支援装置および支援方法 |
JP2012206219A (ja) * | 2011-03-30 | 2012-10-25 | Seiko Epson Corp | ロボット制御装置及びロボットシステム |
US20130345873A1 (en) * | 2012-06-21 | 2013-12-26 | Rethink Robotics, Inc. | Training and operating industrial robots |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09325806A (ja) * | 1996-06-06 | 1997-12-16 | Nippon Telegr & Teleph Corp <Ntt> | ロボット教示再生方法及び装置 |
JP2000218576A (ja) * | 1999-02-04 | 2000-08-08 | Toshiba Corp | マニピュレータ |
US7388879B2 (en) | 2000-08-28 | 2008-06-17 | Sony Corporation | Communication device and communication method network system and robot apparatus |
US6718229B1 (en) | 2000-11-03 | 2004-04-06 | Smc Kabushiki Kaisha | Linear actuator palletizing system and method |
WO2005091090A2 (en) * | 2004-03-16 | 2005-09-29 | Abb Ab | Industrial robot system, method and computer program |
DE102004032996A1 (de) * | 2004-07-08 | 2006-02-16 | Abb Research Ltd. | Einfache Roboterprogrammierung |
JP3959415B2 (ja) | 2004-08-09 | 2007-08-15 | ファナック株式会社 | サーボツール切離し/結合方法及びロボット制御装置 |
US7643907B2 (en) * | 2005-02-10 | 2010-01-05 | Abb Research Ltd. | Method and apparatus for developing a metadata-infused software program for controlling a robot |
WO2006093652A2 (en) * | 2005-02-25 | 2006-09-08 | Abb Research Ltd. | Method of and apparatus for automated path learning |
DE102005033593B3 (de) † | 2005-07-19 | 2007-01-04 | Hirschmann Car Communication Gmbh | Kontaktfeder in einem Trägerrahmen eines Antennenverstärkers eines Fahrzeuges |
US8170287B2 (en) | 2007-10-26 | 2012-05-01 | Honda Motor Co., Ltd. | Real-time self collision and obstacle avoidance |
JP5156836B2 (ja) * | 2007-10-26 | 2013-03-06 | 本田技研工業株式会社 | リアルタイム自己衝突および障害物回避 |
CN101549495B (zh) * | 2008-03-31 | 2011-04-13 | 上海宝信软件股份有限公司 | 可避免奇异点发生的机器人控制方法 |
DE102008063680A1 (de) | 2008-10-10 | 2010-04-15 | Abb Ag | Verfahren zum Einlernen (Teachen) eines Industrieroboters sowie ein entsprechend ausgestatteter Industrieroboter |
WO2011036865A1 (ja) * | 2009-09-28 | 2011-03-31 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路 |
US8843236B2 (en) * | 2012-03-15 | 2014-09-23 | GM Global Technology Operations LLC | Method and system for training a robot using human-assisted task demonstration |
CN102749919B (zh) * | 2012-06-15 | 2014-05-07 | 华中科技大学 | 一种多足机器人平衡控制方法 |
JP5862611B2 (ja) * | 2013-04-02 | 2016-02-16 | トヨタ自動車株式会社 | 作業変更装置、作業変更方法、及び作業変更プログラム |
US9403273B2 (en) * | 2014-05-23 | 2016-08-02 | GM Global Technology Operations LLC | Rapid robotic imitation learning of force-torque tasks |
-
2015
- 2015-03-13 DE DE102015204641.9A patent/DE102015204641B4/de active Active
- 2015-05-15 KR KR1020167034098A patent/KR20160149290A/ko active Search and Examination
- 2015-05-15 US US15/313,219 patent/US10279476B2/en active Active
- 2015-05-15 EP EP15736391.2A patent/EP3013537B2/de active Active
- 2015-05-15 JP JP2016571289A patent/JP6580602B2/ja active Active
- 2015-05-15 KR KR1020197022969A patent/KR102126729B1/ko active IP Right Grant
- 2015-05-15 CN CN201580029953.3A patent/CN106457565B/zh active Active
- 2015-05-15 WO PCT/DE2015/200313 patent/WO2015185049A1/de active Application Filing
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05127718A (ja) * | 1991-11-08 | 1993-05-25 | Fujitsu Ltd | マニピユレータの手先軌道自動生成装置 |
JP2002189608A (ja) * | 2000-08-28 | 2002-07-05 | Sony Corp | 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置 |
JP2005125475A (ja) * | 2003-10-24 | 2005-05-19 | Sunao Kitamura | 一回の成功試行で最良経路を学習するアーキテクチャ |
WO2006043873A1 (en) * | 2004-10-20 | 2006-04-27 | Abb Research Ltd | A system and a method for programming an in¬ dustrial robot |
JP2006289602A (ja) * | 2005-03-17 | 2006-10-26 | Sony Corp | ロボット装置及びその制御方法 |
EP1724676A1 (en) * | 2005-05-20 | 2006-11-22 | ABB Research Ltd. | Method and apparatus for developing a software program |
WO2007099511A2 (en) * | 2006-03-03 | 2007-09-07 | Syddansk Universitet | Programmable robot and user interface |
JP2008087109A (ja) * | 2006-10-02 | 2008-04-17 | Toyota Motor Corp | ロボット制御システム |
WO2009107358A1 (ja) * | 2008-02-28 | 2009-09-03 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及びロボットアーム制御用集積電子回路 |
DE102010012598A1 (de) * | 2010-02-26 | 2011-09-01 | Kuka Laboratories Gmbh | Prozessmodulbibliothek und Programmierumgebung zur Programmierung eines Manipulatorprozesses |
JP2011238104A (ja) * | 2010-05-12 | 2011-11-24 | Toyota Motor Corp | 移動ロボット |
JP2012027607A (ja) * | 2010-07-21 | 2012-02-09 | Sumitomo Heavy Ind Ltd | 支援装置および支援方法 |
JP2012206219A (ja) * | 2011-03-30 | 2012-10-25 | Seiko Epson Corp | ロボット制御装置及びロボットシステム |
US20130345873A1 (en) * | 2012-06-21 | 2013-12-26 | Rethink Robotics, Inc. | Training and operating industrial robots |
WO2013192490A2 (en) * | 2012-06-21 | 2013-12-27 | Rethink Robotics, Inc. | Training and operating industrial robots |
JP2015520040A (ja) * | 2012-06-21 | 2015-07-16 | リシンク ロボティクス インコーポレイテッド | 産業用ロボットを訓練および動作させること |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021245965A1 (ja) * | 2020-06-05 | 2021-12-09 | 株式会社島津製作所 | 自動試料注入装置 |
JP7491374B2 (ja) | 2020-06-05 | 2024-05-28 | 株式会社島津製作所 | 自動試料注入装置 |
Also Published As
Publication number | Publication date |
---|---|
DE102015204641B4 (de) | 2021-03-25 |
JP6580602B2 (ja) | 2019-09-25 |
EP3013537A1 (de) | 2016-05-04 |
EP3013537B1 (de) | 2016-10-12 |
DE102015204641A1 (de) | 2015-12-03 |
CN106457565A (zh) | 2017-02-22 |
KR20190105039A (ko) | 2019-09-11 |
US10279476B2 (en) | 2019-05-07 |
KR102126729B1 (ko) | 2020-06-26 |
US20170190052A1 (en) | 2017-07-06 |
EP3013537B2 (de) | 2020-02-19 |
KR20160149290A (ko) | 2016-12-27 |
WO2015185049A1 (de) | 2015-12-10 |
CN106457565B (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6580602B2 (ja) | ロボットをプログラムする方法およびシステム | |
US9387589B2 (en) | Visual debugging of robotic tasks | |
Fang et al. | A novel augmented reality-based interface for robot path planning | |
Fang et al. | Interactive robot trajectory planning and simulation using augmented reality | |
Neto et al. | High‐level robot programming based on CAD: dealing with unpredictable environments | |
Gammieri et al. | Coupling of a redundant manipulator with a virtual reality environment to enhance human-robot cooperation | |
Fang et al. | Orientation planning of robot end-effector using augmented reality | |
CN115351780A (zh) | 用于控制机器人设备的方法 | |
Lee et al. | A robot teaching framework for a redundant dual arm manipulator with teleoperation from exoskeleton motion data | |
US20230330857A1 (en) | Method and System for Programming a Robot | |
Tirmizi et al. | User-friendly programming of flexible assembly applications with collaborative robots | |
JPH10124130A (ja) | 組立装置 | |
Pichler et al. | Towards robot systems for small batch manufacturing | |
Hwang et al. | Interactive task planning through natural language | |
Vidaković et al. | Procedure for definition of end-effector orientation in planar surfaces robot applications | |
KR20200097896A (ko) | 매니퓰레이터 urdf파일 생성장치 및 방법 | |
Li | Skill transfer between industrial robots by learning from demonstration | |
Ionescu | Web-based simulation and motion planning for human-robot and multi-robot applications | |
Huang | Reinforcement learning framework for window hardware installation | |
Mihiretu | 3-Dof Articulated Robot Manipulator Design and Control Using Fuzzy-Pid Controller | |
Christensen | Virtual environments for telerobotic shared control | |
Sychova | Motion Control of the Angular Type Educational Manipulator Using Visual Components | |
Fernando | Trajectory planning for 6-DOF robot manipulator based on offline robot programming approach | |
Sharma | Layout design and trajectory planning of robotic workcell using point cloud approach | |
Fratu | Imitation-based robot programming method for predicting the motion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170213 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180327 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20180621 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20180823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181211 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190307 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190509 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190529 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190813 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190828 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6580602 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |