JP2017520415A - ロボットをプログラムする方法およびシステム - Google Patents

ロボットをプログラムする方法およびシステム Download PDF

Info

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
Application number
JP2016571289A
Other languages
English (en)
Other versions
JP6580602B2 (ja
Inventor
ライナー イェケル、
ライナー イェケル、
ゲルハルト ディルシュル、
ゲルハルト ディルシュル、
Original Assignee
アルティミンズ ロボティクス ゲーエムベーハー
アルティミンズ ロボティクス ゲーエムベーハー
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=54481690&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2017520415(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by アルティミンズ ロボティクス ゲーエムベーハー, アルティミンズ ロボティクス ゲーエムベーハー filed Critical アルティミンズ ロボティクス ゲーエムベーハー
Publication of JP2017520415A publication Critical patent/JP2017520415A/ja
Application granted granted Critical
Publication of JP6580602B2 publication Critical patent/JP6580602B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39298Trajectory learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40395Compose movement with primitive movement segments from database
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40517Constraint motion planning, variational dynamic programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40523Path motion planning, path in space followed by tip of robot

Abstract

ロボット、特にロボットアームを備えるロボット、をプログラムする方法であって、ロボットにより実行される移動が、好ましくはロボットプログラムで、予め定義された動作テンプレートにより設定され、動作テンプレートが、複数の動作テンプレートを含むデータベースから選択され、動作テンプレートが、1つまたは複数のパラメータ化可能な実行モジュールと少なくとも1つの学習モジュールとを備え、1つまたは複数の実行モジュールが、ロボット移動またはロボット移動の部分移動を計画および/または実行するために使用され、学習モジュールが、初期化プロセスで、特に教示プロセスの形式で、ロボットの1つまたは複数の構成を記録し、学習モジュールが、記録された構成に基づいて、好ましくは機械学習方法を使用して、実行モジュールのパラメータを計算する方法。さらに、ロボットをプログラムするための対応するシステムが提供される。【選択図】図4

Description

本発明は、ロボット、詳細には、ロボットアームを含むロボットをプログラムする方法およびシステムに関する。
説明されるタイプの方法およびシステムは、技術分野で長年にわたり知られている。
結果として、産業用ロボットをプログラムするためのプログラミング方法は、ティーチイン(teach in)、プレイバック、センサベースのプログラミング、CAD(コンピュータ支援設計)プログラミング、対話ベースまたはテキストによるプログラミングなど、多様なものが存在する。
従来のティーチインプログラミング方法では、ロボットは、さまざまな通過点(waypoint)に手動で接近し、それらの通過点を保存することでプログラムされる。
この手続きのための工具は、ティーチパネルという、ロボットの状態およびロボットプログラムを表示することができるグラフィックディスプレイを備えたリモートコントローラである。
ユーザは、ロボットの第1関節上に定義された点である工具中心点(TCP)を、ジョイスティック等で3つまたは6つの空間方向に向けて進めることで、ロボットを異なる点に移動する。
ユーザは、接近したさまざまな点の座標を保存し、この情報をロボットプログラムに統合する。
この場合、各通過点は、二点間移動、線形移動、円形移動等の移動命令の目標または中間点として定義される。
操作者は、次の命令で、速度、加速度、次の命令との調和等の追加の経路パラメータを手動で入力する。
ロボットプログラムの構造、すなわち、詳細には、個別の移動命令群は、リストから選択し、コンパイルすることができる。
従来のプレイバックプログラミング方法の場合、個別の点が保存されるだけでなく、ユーザは、ロボットアームを連続的な経路で移動して大量の通過点を保存することができる。
たとえば、この機能により、車両のフェンダーに沿った経路などの複雑な自由形状の経路を、容易にプログラムすることができる。
こうした経路は、ティーチインプログラミング方法の個別の移動命令でプログラムするのは困難である。
通常は、連続的なリードスルー(lead−through)は、ロボットのフランジにある力トルクセンサ(FTS)を利用して実現される。
人間、より詳細には操作者は、ロボットを把持して力を加える。
力は、FTSにより測定され、ロボットコントローラに伝送される。
ロボットコントローラは、力を補償する移動を連続的に計算する。
この経路が、ロボットプログラムの1つまたは複数の移動命令に割り当てられる。
センサベースのプログラミング方法では、プレイバック方法に類似する態様で、連続的な経路が生成される。
ただし、この目的のために、追加のセンサが使用される。
たとえば、構成要素にレーザ線を投射し、このレーザ線をカメラシステムでキャプチャし、検出されたレーザ線をロボットの移動経路に変換する。
この場合、高い精度を実現することができる。
ロボットを直接移動する必要はない。
これは、大きなロボットの場合に有利な特徴である。
しかし、追加のハードウェアと、カメラおよびロボットの較正が必要である。
ロボットを現場で直接プログラムする上述したオンライン方法に対し、CADプログラミング方法では、作業セル、ロボット、および、操作される構成要素の詳細なCADモデルを使用して、ロボットをシミュレーション環境でプログラムする。
この場合、通過点は、構成要素のCADモデルの表面等でのマウス操作を利用して判断される。
たとえば、CADモデルのエッジに従って、または、蛇行等の特定のパターンに従って、完全なパスが表面で計算される。
点が、2点間移動、線形移動、または円形移動の命令にマップされ、ロボットプログラムに保存される。
ティーチインプログラミング方法に類似する態様で、追加の経路パラメータを指定することができる。
利点として、物体の表面に沿った経路を、最小限の労力で判断することができる。
これは、プログラミング操作時にロボットを使用することなく、CADモデルを利用して経路を直接計算できるからである。
ただし、欠点として、実際の作業セルとシミュレーションとの間の較正、CADモデルの準備、軽微な相違への適応が必要である。
上述したプログラミング方法の共通点は、さまざまな方法でグラフィカルに生成することができる通過点および通過点のシーケンス(経路)を利用してプログラミングすることである。
個別の通過点、詳細には、デカルト通過点の大きな欠点の1つは、軽微な差異が存在する場合に、障害物、特異性、および/またはアクセス性の欠如に起因して、それらの通過点に接近することができず、結果として、ロボットプログラムが失敗することである。
従来の対話ベースおよびテキストによるプログラミング方法では、完全なロボットプログラムが、テキストエディタまたはグラフィックキットを使用して作成される。
この場合、ロボットコントローラの全機能を利用することができる。
詳細には、ロボットの外部センサの分析を使用して、たとえば、操作される構成要素の視覚的位置確認または製作公差に起因するプロセス差異に対応することができる。
ロボットプログラミング言語での直接プログラミングでは、たとえば、FUKAのFTCtrlやAdeptのAdeptForceを使用した力制御のような、現時点で上述した方法ではプログラムできない追加の移動命令を使用することができる。
たとえば、力を制御するために、フィードバック制御の空間方向、力/トルクの所望の値、および単純な終了制約を指定することができる。
これらの基本的な命令から、非常に複雑なロボットプログラムを作成することができる。
その場合、たとえば、円筒を孔に挿入する単純なタスクでも、複数の移動命令と多様な力コントローラにより構成される可能性がある。
典型的な組み立てタスクは、挿入、ねじ込み、引っ掛けなど、そのような多数のタスクに基づく。
よって、組み立てタスクの実装は、膨大な労力を伴う。
さらに、ロボットプログラミング言語、プロセス、およびロボットについての専門知識が必要であるという欠点もある。
もう1つの問題は、現時点で、業界における自動化の程度が、自動車分野においてすら、比較的低いということである。
ロボットアームを使用して自動化される用途の大半は、ロボットアームが、差異へのセンサベースの対応を使用せずに、厳密にプログラムされた動作経路に沿って移動するという事実により特徴付けられる。
結果として、溶接ガン等の工具は、堅固にプログラムされた動作経路上を移動する。
プロセスにおける差異は、各構成要素用の特別なグリッパや特別な高精度フィーダを通じた膨大な技術的努力および経費により、無視できるレベルまで軽減される。
このような方法によってのみ、必要に応じて、ティーチインまたはプレイバックを利用したプログラミング方法を適用して、固定動作経路を生成することができる。
これが経済的に実行できなければ、ほとんどの場合、従来の慣例では、複雑なプログラミング方法による自動化を省略する。
たとえば、このやり方の問題点は、以下の理由により、そうしたアプローチがすぐに限界に達してしまうことである。
・本番運転が短い場合、頻繁な再プログラミングが必要となり、膨大な工学的労力が無駄になる。たとえば、洗濯機の長期テストなど、週ごとに変化する装置の品質保証テストが必要となる可能性がある。
・組み立てタスクは、得てしてうまくいかず、よって、たとえば、構成要素の挿入時に、力の相互作用が避けられない。そしてこれらの組み立てタスクは、グリップ、結合、接触等の多数の異なるタスクで構成される。
・弾性のある構成要素は、形状に変動があり、これらの形状変動をプロセスで考慮しなければならない。たとえば、プラスチック部品をグリップまたは結合する際の弾性のある金属薄板がこれに相当する。
・ねじ込み用のねじなど、視覚センサを利用して検出される物体は、常時異なる場所にある。そのため、ロボットの位置決めが柔軟でなければならない。
よって、現時点で、組み立て時や品質保証テスト時などの、固定動作経路でプログラムできないタスクは、ほとんどが人間の作業者によって実行される。
よって、本発明の目的は、明細書の導入部分で説明したタイプのロボットを、特に操作および/または組み立てプロセスのためのロボットの単純かつ堅牢なプログラミングが可能となる、プログラムする方法およびシステムを設計し、さらに発展させることである。
上述した工学的目的は、本発明によると、請求項1で定義される特徴を利用して実現される。
請求項1は、ロボット、特にロボットアームを備えるロボット、をプログラムする方法であって、ロボットにより実行される移動が、好ましくはロボットプログラムで、予め定義された動作テンプレートにより設定され、動作テンプレートが、複数の動作テンプレートを含むデータベースから選択され、動作テンプレートが、1つまたは複数のパラメータ化可能な実行モジュールと少なくとも1つの学習モジュールとを備え、1つまたは複数の実行モジュールが、ロボット移動またはロボット移動の部分移動を計画および/または実行するために使用され、学習モジュールが、初期化プロセスで、特に教示プロセスの形式で、ロボットの1つまたは複数の構成を記録し、学習モジュールが、記録された構成に基づいて、好ましくは機械学習方法を使用して、実行モジュールのパラメータを計算する方法を開示する。
さらに、上述した工学的目的は、請求項15で定義される特徴を利用して実現される。
請求項15は、ロボット、特にロボットアームを備えるロボット、をプログラムするシステムであって、ロボットにより実行される移動が、好ましくはロボットプログラムで、予め定義された動作テンプレートにより設定され、動作テンプレートが、複数の動作テンプレートを含むデータベースから選択することが可能であり、動作テンプレートが、1つまたは複数のパラメータ化可能な実行モジュールと、少なくとも1つの学習モジュールとを備え、1つまたは複数の実行モジュールが、ロボット移動またはロボット移動の部分移動を計画および/または実行するために使用され、学習モジュールが、初期化プロセスで、特に教示プロセスの形式で、ロボットの1つまたは複数の構成を記録し、学習モジュールが、記録された構成に基づいて、好ましくは機械学習方法を使用して、実行モジュールのパラメータを計算するシステムを開示する。
さらに、上述した工学的目的は、コンピュータプログラム製品に関連する請求項16で開示される特徴を利用して実現される。
まず、物体の位置決めおよび形状の差異を許容するロボットプログラムの開発が、上述した工学的目的を実現するための対話ベースのテキストプログラミングに比べて大幅に簡素化され、また自動化のための上述した問題を解決し、場合によってはスループット、信頼性、品質等の関連する利点も達成される。
差異の許容をロボットプログラムに実装することで、たとえば、人間の操作者にとっても単純で標準化されたフィーダおよびグリッパシステムを利用して、技術的努力の全体量を大幅に軽減することが可能となり、自動化を経済的に実現することができる。
本発明によると、ロボット、特にロボットアームを備えるロボットをプログラムするために、ロボットにより実行される移動が、ロボットプログラムで、予め定義された動作テンプレートにより設定される。
動作テンプレートは、複数の動作テンプレートを含むデータベースから選択される。
本発明によると、動作テンプレートは、1つまたは複数のパラメータ化可能な実行モジュールと、少なくとも1つの学習モジュールとを備える。
1つまたは複数の実行モジュールは、ロボット移動またはロボット移動の部分移動を計画および/または実行するために使用される。
学習モジュールは、初期化プロセスで、たとえば、教示プロセスの形式で、ロボットの1つまたは複数の構成を記録する。
記録された構成に基づいて、学習モジュールは、RANSACアルゴリズムや主成分分析などの機械学習方法を使用して、1つまたは複数の実行モジュールのパラメータを計算する。
従来のティーチインプログラミング方法およびプレイバックプログラミング方法の欠点は、通過点と経路のみを生成することができ、差異を許容するために、より詳細には補償するために、それらの通過点または経路を適応させる必要があるか否か、またはどのように適応させるべきかに関する情報を生成できないことである。
移動回廊を定義することにより動作経路の実行時の変動を考慮するアプローチに比べて、本発明の方法およびシステムは、動作経路の変動だけでなく、グリッパ位置および/または測定された力ならびにさまざまなプロセスステップの一時的な変化等に起因して生じる、さまざまな変動も考慮することができる。
結果として、本発明の方法、システム、および、コンピュータプログラム製品は、特に操作プロセスおよび/または組み立てプロセスのための、ロボットの単純かつ堅牢なプログラミングを可能にする。
有利な態様において、実行モジュールのパラメータは、制約を含み、ロボット移動またはロボット移動の部分移動は、制約に基づいて計画および/または実行される。
結果として、ロボット移動またはロボット移動の部分移動を可変的かつ動的に計画することができ、移動の任意の差異に関し、可能な限り堅牢かつ柔軟なロボット動作の実行を実装することが可能となる。
追加の有利な態様において、制約は、制約関数fと、制約領域Rとを含み、この場合、制約関数fは、構成kを実数値のベクトル空間にマップし、制約領域Rは、実数値のベクトル空間のサブセットに対応する。
構成kの制約は、f(k)がRに位置するときに満たされる。
よって、さまざまな種類の制約を、洗練された方法で一貫して実装することができ、ロボットの経路および移動を効率的な方法で計画することが可能となる。
さらに、以下のタイプの1つまたは複数が、制約関数fのタイプとして使用される。
・ロボットの関節、またはロボットのエンドエフェクタ、特にグリッパ、の角度、速度、および/または加速度
・座標系に対するロボットの工具中心点の位置、方向、および/または場所
・座標系に対する工具中心点で測定された速度、角速度、および/または捻り(twist)
・座標系に対する工具中心点で測定された力、トルク、および/または捩じり(wrench)
・あるCADモデルから別のCADモデルまでの衝突自由度、距離量、および/または距離ベクトル
・ロボットおよびCADモデルのエンドエフェクタ、特にグリッパ、のグリップ評価
よって、上記タイプのいずれかを使用することにより、または、1つもしくは複数の制約関数に対して複数の上記タイプを組み合わせることにより、ロボット移動の計画および実行における様々な種類の差異を可能な限り包括的に考慮し、補償することができる。
1つの実施形態では、制約領域Rに使用できるタイプは、軸に平行な立方体、配向された立方体、円筒、円錐、球、凸包、CADモデル、論理和、論理積、および/または積形成を含む。
ORing、ANDing、および積形成は、少なくとも2つの制約領域を単一の制約領域に組み合わせる。
よって、制約関数の用途およびタイプに応じて、関連する制約領域に適切なタイプを適切に適用することにより、適切な値の範囲を選択することができる。
実行モジュールのパラメータは、制約として実行時制約を含むことができ、この場合、実行時制約は、時点間の予め定めることが可能な間隔について満たされる制約を定義する時間依存制約である。
さらに、実行モジュールのパラメータは、制約として目標制約を含むことができ、この場合、各目標制約は、時点間の予め決定可能な間隔の間隔上限について満たされる制約を定義する制約である。
よって、制約ベースの移動記述の実行時制約および目標制約のセットで、操作プロセスまたは組み立てプロセスで発生する可能性がある許容可能な差異を、直接的に、モデル化することができる。
さらに、実行時制約および目標制約は、大きな差異を補償する方法についての情報を形成する。
これは、そのような情報を提供しない従来のプログラミング方法に対する著しい改善である。
1つの実施形態では、1つまたは複数の実行モジュールが、ロボット移動またはロボット移動の部分移動を、実行時制約が観察される態様で、制御アルゴリズムに準拠して適応させ、より詳細には、調整することができる。
さらに、ロボット移動またはロボット移動の部分移動は、目標制約が満たされたときに、成功裏に終了させることができる。
結果として、ロボットは、動作経路に対して指定されたすべての実行時制約および目標制約が満たされたときに、動作を成功裏に実行する。
ロボットは、実行時制約が観察される態様で、自らの動作を制御アルゴリズムに準拠して適応させる。
目標制約が満たされるとすぐに、動作が成功裏に終了する。
それ以外の場合、動作は、成功しない。
動作テンプレートの実行モジュールのための動作経路を、制約に基づいて、特に実行時制約および/または目標制約に基づいて、好ましくは経路計画アルゴリズムを使用して、計算することができる。
1つまたは複数の実行モジュールは、ロボットコントローラ等の対象システムに対してコンパイルすることにより、マップされる。
この目的のために、対応する制御のタイプ、計算された動作経路、ならびに実行時制約および目標制約に基づいて、実行可能なロボットコードを作成することができる。
作成されたロボットコードは、それぞれの対象システムで完全に独立して実行することができる。
さらに、初期化プロセスで、記録される構成を、ユーザがさまざまなインターフェイスを利用することにより、たとえば、ユーザがロボットを手動で案内することにより、3Dシミュレーション環境でマウスを対話操作することにより、および/または他の適切な制御手段を利用することにより、生成することが考えられる。
実施形態では、ユーザとの対話が初期化プロセスで実行され、この場合、記録される構成を生成するために、質問および/または指示がユーザに与えられる。
結果として、初期化プロセス時に、より詳細には教示プロセス時に、ユーザを効果的にサポートすることができる。
単純かつ効率的な構造化に関し、1つまたは複数の実行モジュールは、各実行モジュールが不可分の原始演算子として、すなわち、原始実行モジュールとして設計され、または1つもしくは複数の実行モジュールおよび/もしくは1つもしくは複数の動作モジュールにより形成される態様で、階層的に構築される。
よって、既に存在し、場合によってはパラメータ化された任意の動作テンプレートまたは実行モジュールを、効果的に再使用することができる。
本発明の方法は、ワークの位置決めおよびその形状における差異を許容するロボットプログラムの堅牢な設定を可能にし、業界で使用することができる。
そのようなロボットプログラムは、(対話ベースのテキストプログラミングと異なり)ロボットプログラミング言語の命令の形式では直接作成されず、代わりに、初期化プロセス、より詳細には教示プロセスで、予め定義された動作テンプレートのデータベースに基づいて作成することができる。
動作テンプレートは、ティーチインと同様に、特定のプロセスのための少数の構成に基づいて作成することができる。
動作テンプレートは、ロボットにより実行されたプロセスの任意の差異を検知し、オプションで補償する、実行可能規則を含むことが好ましい。
同時に、通過点の間の動作経路を生成するための、ティーチインで使用される補間方法を、(暗黙的に定義された)通過点領域の間の動作経路を生成することができる経路計画方法で補足することができる。
本発明の実施形態を参照しながら、以下に詳細に説明する。
なお、以下の記述は、好ましい実施形態について説明するものであり、これらの実施形態に限定されるわけではない。
教示プロセスは、特に初期化プロセスとして、以下のステップを含む。
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に含まれる場合にのみ満たされる。
たとえば、以下のタイプを制約関数fに使用することができる。
・ロボットの関節、またはロボットのエンドエフェクタ、特にグリッパ、の角度、速度、および/または加速度
・座標系に対するロボットの工具中心点の位置、方向、および/または場所
・座標系に対する工具中心点で測定された速度、角速度、および/または捻り
・座標系に対する工具中心点で測定された力、トルク、および/または捩じり
・あるCADモデルから別のCADモデルまでの衝突自由度、距離量、および/または距離ベクトル
・ロボットおよびCADモデルのエンドエフェクタ、特にグリッパ、のグリップ評価
位置制約関数、方向制約関数、または場所制約関数(姿勢制約)に関し、制約関数fは、特定の(予め定義された)座標系Kに対する工具点(工具中心点TCP)の現在の場所を、3次元ベクトル(位置制約、方向制約)または6次元ベクトル(場所制約)として構成する。
1つの実施形態の文脈において、位置の3次元ベクトルと、方向の3次元ベクトルとからなる場所制約関数の計算は、以下のように説明することができる。
位置制約および方向制約は、それぞれ3次元ベクトルのみで構成される。
HがKに対するTCPの場所を記述する同次変換行列である場合、6次元ベクトルは、Hの3次元変換と、Hの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次元ベクトルである。
速度制約関数、角速度制約関数、および捻り制約関数は、類似する態様で計算することができる(捻り=3次元速度ベクトルと3次元角速度ベクトルとからなる6次元ベクトル)。
ただし、この場合、特定の座標系Kに対するTCPの3次元(変換)速度および3次元角速度は、速度ベクトルの変換規則に応じて変換され、制約関数の値として保存される。
また、力制約関数、トルク制約関数、および捩じり制約関数も、前のセクションで示した方法と同じように扱うことができる。
同時に、力、トルク、または力とトルクとの組み合わせ(捩じり)が計算される。
関節角度制約関数、関節速度制約関数、および、関節加速度制約関数は、ロボットシステムにおける現在の位置、速度、および、動作自由度の加速度のn次元ベクトルを直接表す。
衝突自由度制約関数は、周囲領域の3D CADモデルとロボットの3D CADモデルとの衝突、またはロボットとそれ自体との衝突がある場合に、値として1を出力するように実装することができる。
この衝突の計算は、3D CADモデルの三角形メッシュを交差させることにより計算することができる。
その場合、必要に応じて、標準ライブラリを使用することができる。
衝突がない場合、0が返される。
距離量制約関数は、ある3D CADモデルの第2の3D CADモデルからのユークリッド距離を、第2および第2の3Dモデルの2つの点に準拠する一対の点の間の距離として、相互間の考えられる最短距離により計算することが好ましい。
距離ベクトル制約関数は、同じ一対の点の第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]
この制約領域は、物体の重心の0.05m上方に、X軸を中心として約90度、すなわち、1.5708ラジアン回転した方向をもって位置している。
この点からの許容可能な偏差は、X方向およびY方向で0.01mである。
力制約(ドイツ語:Kraftbedingung)は、次のようにして実装することができる。
すなわち、FTSにより測定された力は、3次元ベクトル[fx fy fz]として示される。
制約領域Rは、半径がr、中心点ベクトルが[m1 m2 m3]である3次元の球Rである。
力制約は、[fx fy fz]がRに位置する場合のみ、すなわち、以下の場合にのみ満たされる。
norm([fx−m1 fy−m2 fz−m3])<=r
この場合、normは、ベクトルのユークリッドノルムである。
よって、力制約は、力の量がr以下である場合にのみ満たされる。
本発明の実施形態において、制約関数は、以下の計算の1つまたは複数を満たす必要があるか、または満たさなければならない。
ここで、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の実数値範囲を定義する。
この場合、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)。
この場合、使用可能なRのタイプは、軸に平行な立方体(軸に平行な境界ボックス)、配向された立方体(配向された境界ボックス)、円筒、円錐、球、凸包、CADモデル、ORing、ANDing、および/またはタプル形成を含む。
結果として、制約ベースの移動記述の実行時制約および目標制約のセットで、組み立てプロセスなど、ロボットプログラムを実行する過程で発生する可能性がある許容可能な公差を直接モデル化することができる。
さらに、これらの制約は、大きな差異を補償する方法についての情報を表す。
これは、そのような情報を提供しない従来のプログラミング方法に対する著しい改善である。
大きな差異の考えられる補償について、以下にさらに詳しく説明する。
この場合、動作計画と制御が区別される。
動作計画において、目標は、制約ベースの移動記述を満たす動作経路を生成することである。
この場合、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アルゴリズムが、特別な距離関数と共に使用される。
構成がk、構成のセットがb1乃至bnである場合、距離関数dist()は、以下のように定義される。
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である。
RGDアルゴリズムは、無作為勾配降下を実行することにより、構成kを、すべての制約biが満たされる構成k’に投影する。
その場合、以下のプロセスが実行される。
なお、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’を対象構成のセットに追加する。
開始構成k0から対象構成のセットkjまでの区分的線形接続の検索に関し、CBiRRTアルゴリズムを使用することができる。
ただし、ステップConstrainConfig(kold,knew)を、ステップRGD(kold,bi(t),knew)で置換する。
この場合、bi(t)は、時点tにおける実行時制約であり、tは、計画プロセスと同じペースを保つためにインクリメントされる。
経路計画アルゴリズムの最終結果は、構成(t1,k1), ...,(tm,km)による時点のシーケンスである。
ここで、k1は、開始構成に対応し、kmは、対象構成のセットのうちのいずれかの対象構成に対応する。
この場合、k1からk−1までの実行時制約が満たされる。
kmの目標制約が、満たされる。
本発明の実施形態に応じて適切な制御を提供するために、位置および力の混合制御の制御アルゴリズムをさらに発展させて、実行時制約および目標制約に基づいてパラメータ化することができる。
この場合、実行時制約および目標制約の解釈は、以下のようになる。
1.実行時制約は、制御を使用して観察されなければならない
2.目標制約は、満たされた場合に、実行を中断する
本発明の実施形態では、制御アルゴリズムは、6つの次元x、y、z、rx、ry、およびrzで実装される比例積分微分コントローラ(PIDコントローラ)として提供される。
混合型位置コントローラと力コントローラの大きな違いは、一般的に使用される選択規則を置換するエラー計算にある。
制御アルゴリズムは、位置、方向、場所、力、トルク、または、捩じりの制約関数により、実行時制約をサポートする。
これらの制約関数は、均一な構造を有し、特定の座標系Kに対するTCPでの場所、または、捩じりに基づく。
PIDコントローラの更新ステップは、以下のように実装することができる。
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.計算された合計と相対的にロボットを移動する。
よって、ロボットは、位置制御、力制御、または位置および力の同時制御を、特定の次元iで、現在の実行時制約に応じて実行する。
現在の構成のすべての目標制約が満たされると、制御プロセスが終了する。
加えて、制御アルゴリズムを、関節角度空間および/またはデカルト空間での位置制御や力制御など、目標制約を使用するように容易に拡張することができる。
この場合、現在の構成kは、制御ループで計算される。
kのすべての目標制約が満たされると、制御プロセスは、成功裏に終了する。
本発明の実施形態によると、実行時制約および目標制約は、経路の計画および制御により動作経路を生成するためのパラメータ化を構成する。
これにより、許容可能な差異を明示的にモデル化することができ、よって堅牢性を向上させることができる。
実行時制約および目標制約を利用したプログラミングは、アルゴリズム的に複雑であるため、ロボット工学の専門家に限られた領域である。
したがって、実行モジュールを学習モジュールと組み合わせる動作テンプレートが、洗練された方法で使用される。
実行モジュールは、制約を利用して、特に、実行時制約および目標制約を利用して、パラメータ化することができる。
学習モジュールは、単純な機械学習アルゴリズムを使用して、少数の構成から実行時制約および目標制約を実行モジュールのパラメータとして生成することができる。
学習モジュール自体は、たとえば、いくつかの構成を利用して、それらの構成を生成するステップを操作者に案内するプロセスを表す。
結果として、従来は、終了条件または対象条件の長時間にわたる複雑なテキストプログラミングが求められたタスクのためのロボットプログラムを、専門家でなくても、容易に作成することができる。
ロボットの移動は、動作テンプレートを利用して記述される。
動作テンプレートは、1つまたは複数の実行モジュールと、学習モジュールとからなる。
各実行モジュールは、原始演算子(基本演算子)、すなわちそれ以上分割できないものであるか、または、複数の実行モジュール(マクロ演算子)からなる。
後者の場合、少なくとも2つのクラスの実行モジュールが存在する。
すなわち、コントローラ(ドイツ語:Regler)と、経路プランナ(動作プランナともいう)である。
経路プランナは、実行時制約および目標制約に基づいて動作経路を生成する。
コントローラは、記述された関節角度空間における位置コントローラ、デカルト空間における位置コントローラ、力コントローラ、または混合型位置/力コントローラのいずれかのタイプである。
コントローラ、より詳細には、閉ループコントローラは、動作経路の実行時に生成される実行時制約および目標制約を処理する。
実行モジュールは、実行時制約および/または目標制約のセットを利用してパラメータ化することができる。
動作テンプレートに格納される実行時制約および目標制約は、部分的にのみパラメータ化されることが好ましい。
各制約について、制約関数fのタイプだけでなく、制約領域Rのタイプも固定される。
制約関数のパラメータは、自由である。
よって、たとえば、場所制約の座標系Kや、TCPの場所が考えられる。
同様に、制約領域のパラメータ、すなわち、軸配向された立方体の中心点、方向、および延長なども、自由である。
自由パラメータは、学習モジュールを利用して計算される。
初期化プロセスまたは教示プロセスの一部としての、ユーザ、より詳細には操作者との対話に関する目標は、ユーザが実行モジュールの自由パラメータの計算のための意味論的に正しい構成を作成できるようにする、生成される構成の概略的な表現である。
たとえば、ユーザは、FTSでの力測定を可能にするために、物体との接触を確立しなければならない。
プレゼンテーションは概略的な形式で実行される。
これは、動作テンプレートが大まかに定義されており、物体、グリッパ、より詳細にはロボットの実際の外観から独立しているからである。
概略的表現は、複数の方法で実行することができる。
1.動作テンプレートの実行、および/または動作テンプレートで構成を生成するプロセスの実表現および/またはコンピュータアニメーション表現で、ビデオを提示する。後者の場合、個別のステップ、すなわち、生成される個別の構成は、たとえば、ビデオの一時停止により強調される。
2.対話システムを使用して、構成を生成するプロセスをステップごとにユーザに示し、ユーザが既に生成された構成に戻ってプロセスの一部を繰り返せるようにする。1に類似した態様で、生成される構成ごとに、生成される構成の視覚化を含む少なくとも1つの対話ボックスが表示される。
自由パラメータは、構成Tiに基づいて、学習モジュールにより計算することができる。
この場合、制約領域のタイプと、制約関数とが与えられる。
T1乃至Tnが、制約b=(f,R)の自由パラメータを計算するための構成である場合、以下のようになる。
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が分析されて、力制御または位置制御される空間軸が判断される。
特定の空間軸におけるしきい値よりも大きい延長は、無限延長として評価される。
無限延長を有する空間軸は、位置制約で位置制御されず、力制約で力制御されない。
本発明の方法および/もしくはシステムならびに/またはそのさまざまな実施形態は、従来のティーチインを、差異を考慮する必要があるロボットプログラムを含むように拡大する。
結果として、実行可能プログラムは、ティーチインの場合のように移動命令を含むだけではなく、移動命令が実行時制約および目標制約を有する。
統合型制御アルゴリズムは、実行時制約を観察し、目標制約を実現するために、コントローラのタイプに応じてロボットの移動を変化させる。
よって、上述した実施形態により、これまで対話ベースのプログラミングまたはテキストプログラミングを利用して時間をかけて手動で作成しなければならなかった制御戦略を有するロボットプログラムを容易に作成することが可能となる。
よって、考えられるプロセスステップは、テンプレートに基づいて構成を教示するステップと、実行時制約および目標制約を計算するステップと、典型的な動作経路を計算するステップと、実行時制約および目標制約により制御プロセスにマップするステップと、コンパイルしてロボットコードを生成するステップとを含む。
上記は、プログラマが制御プロセスをプログラミング言語で開発し、そのパラメータを手元のタスクに応じて手動で定義する、対話ベースのプログラミング方法またはテキストプログラミング方法の類似するプロセスを置換する。
これらの方法では、プログラマは、対象制約および終了制約をプログラミング言語で作成してパラメータ化する。
開始ポーズおよび中間点は、ティーチインを利用して、ロボットで生成される。
これに対し、本発明の方法および/もしくはシステムならびに/またはその実施形態は、複雑なロボットプログラムを迅速に、かつ操作者の負担を減らして作成することを可能にする。
よって、これまで経済的または複雑さの理由で自動化されていなかった用途を自動化することが可能となる。
加えて、生成される部分的な解決策、すなわち、パラメータ化された動作テンプレートのセットは、容易に再使用することができる。
これは、個別の構成を学習モジュールで修正することにより、動作テンプレートを容易に適応させることができるからである。
具体的には、一般的な組み立てタスク等の定義されたタスクプロファイルの場合、プログラマは大量の移動命令のための対象条件および終了条件を、対話ベースまたはテキストのプログラミングインターフェイスで、時間をかけて手動で作成する必要はない。
実際、この手続きは、動作テンプレートのセットからロボットプログラムを単純かつ洗練された方法で作成し、各学習モジュールに少数の明確に定義された構成を教示することにより、置換される。
作成されたロボットプログラムは、対象条件および終了条件を実行時制約および目標制約の形式で自動的に含む。
よって、ティーチインまたはプレイバックと異なり、特定の通過点にアプローチする必要はない。
むしろ、条件が満たされれば、すなわち、たとえば、領域から通過点にアプローチすることが可能であれば、移動を成功裏に実行することができ、結果として、より柔軟な実行が可能となる。
加えて、差異を補償する方法に関する情報が、制約の形式で存在する。
よって、ロボットプログラムは、制約領域の延長に対応する差異に対する耐性を有する。
本発明の実施形態で使用する定義を、以下にいくつか示す。
経路計画の分野では、構成(ドイツ語: Konfiguration)は、ロボットシステムの状態についての一意かつ明確な記述である。
よって、本件の場合、構成は、以下の情報を含むn次元の実数値ベクトルとして与えられる。
・ロボットシステムのすべての制御可能および制御不可能な自由度の値。
すなわち、6軸の産業用ロボットであれば、6つの関節角度値
・ロボットに搭載された工具のすべての制御可能および制御不可能な自由度の値。
すなわち、電気ジョーグリッパであれば、グリッパジョー位置の値
・ロボットに搭載されたセンサの記録されたセンサデータの値。
すなわち、6次元力トルクセンサの場合、空間方向x、y、zで測定された力の3つ
の値と、空間方向x、y、zで測定されたトルクの3つの値
・時点tの値
構成空間(ドイツ語:Konfigurationsraum)は、ロボットシステムを占有することができるすべての構成のセットである。
この場合、ロボットの自己衝突につながる制御可能な関節角度位置などの物理境界制約は、無視される。
構成がn個の座標で構成され、各座標がLiからUiまでの値を取り得る場合、構成空間は、次元がn、辺長がUi−Li、中心点が(Li+Ui)/2の超立方体として定義される。
動作経路(動作)は、0から1までの閉区間の各点に構成を割り当て、連続的である関数bとして指定することができる。
点0におけるbの値は、開始構成である。
点1におけるbの値は、対象構成である。
よって、動作経路は、構成空間における連続的な接続である。
制約(ドイツ語:Bedingung)は、構成kに値0または1を割り当てる関数gとして指定することができる。
制約gは、g(k)=1である場合にのみ、構成kで満たされたことになる。
それ以外の場合、制約は、満たされていない。
実行時制約(ドイツ語:W▲ae▼hrendbedingung)は、時間依存制約として指定することができる。
すなわち、実行時制約は、各時点tに対する制約を定義する。
実行時制約は、動作経路の0以上1未満の点における値に適用される。
動作経路bの実行時制約g(t)は、0以上1未満のすべてのtについてg(t)(b(t))=1である場合にのみ満たされる。
目標制約(ドイツ語:Zielbedingung)は、動作経路の点1における値に割り当てられる制約として指定することができる。
動作経路bの目標制約gは、g(b(1))=1である場合にのみ満たされる。
制約ベースの移動記述(および制約ベースの動作表現)は、実行時制約のセットおよび目標制約のセットとして定義することができる。
動作経路は、動作経路のすべての実行時制約、および、すべての目標制約が満たされる場合に、制約ベースの移動記述を満たす。
実行時制約および目標制約を使用してロボット移動を実行する過程で、たとえば、動作計画および/または制御を使用して、動作経路を生成することができる。
動作計画の場合、動作経路は、ロボットでの実行の前に生成される。
制御の場合、動作経路は、実行時に制御アルゴリズムを利用して生成される。
その際、開始構成は、一定であり、移動の始まりに対応する。
対象構成は、常に現在の構成、すなわち、ロボットが現時点で存在する構成である。
結果として、制御アルゴリズムにより生成された経路は、着実に成長する。
ロボットは、動作経路に与えられた実行時制約および目標制約がすべて満たされる場合に、移動を成功裏に実行する。
ロボットは、実行時制約が観察される態様で、その移動を制御アルゴリズムに適応させる。
目標制約が満たされた直後に、移動は、成功裏に終了する。
それ以外の場合、実行は、成功しない。
本発明の方法で設計および発展させるための選択肢は、多様に存在する。
これについては、請求項1に従属する請求項を参照すると共に、本発明の他の好ましい実施形態についての以下の説明を図面と共に参照されたい。
本発明の実施形態について図面を参照しながら説明すると同時に、好ましい実施形態および発展についても全般的に説明する。
ロボットによりねじを予め定めることが可能なトルク以下で設定するために、人が手動でロボットプログラムを作成する方法を示す概略図である(従来技術)。 動作テンプレートの、特にコンパイルプロセス時の、階層構造が示された、本発明の方法またはシステムの実施形態を示す概略図である。 本発明の方法またはシステムの実施形態に係る、動作テンプレートの構造およびパラメータを示す概略図である。 本発明の方法またはシステムの実施形態に係るプログラミングプロセスを示す概略図である。 本発明の方法またはシステムの実施形態に係る、ティーチングにより、特に実行時制約および目標制約を利用して、ロボットプログラムをプログラムするための個別の構成要素を示す概略図である。 操作者により生成されるねじ込み操作の構成を記録するための、本発明の方法またはシステムの実施形態に係る初期化プロセス、より詳細には教示プロセスを示す概略図である。 操作者により生成されるねじ込み操作の構成を記録するための、本発明の方法またはシステムの実施形態に係る初期化プロセス、より詳細には教示プロセスを示す概略図である。 操作者により生成されるねじ込み操作の構成を記録するための、本発明の方法またはシステムの実施形態に係る初期化プロセス、より詳細には教示プロセスを示す概略図である。 操作者により生成されるねじ込み操作の構成を記録するための、本発明の方法またはシステムの実施形態に係る初期化プロセス、より詳細には教示プロセスを示す概略図である。 操作者により生成されるねじ込み操作の構成を記録するための、本発明の方法またはシステムの実施形態に係る初期化プロセス、より詳細には教示プロセスを示す概略図である。 本発明の方法またはシステムの実施形態の対象領域を示す概略図である。 本発明の方法またはシステムの実施形態に応じて教育される、より詳細には記録される、構成を生成するための操作者に対するグラフィック命令の例である。 本発明の方法またはシステムの実施形態に係る、初期化プロセス、より詳細には動作テンプレートのパラメータを生成するための学習モジュールを利用した教示プロセス のイベントの順序を示す概略図である。
図1乃至図12は、一般的な用途、すなわち、ねじを特定のトルク以下で、ワーク13にねじ込むロボット7のプログラミングの例を示す。
図1は、ロボット7によりねじ12を予め定めることが可能なトルク以下でねじ込むために、人が従来技術に応じて手動で作成するロボットプログラム1の概略図である。
具体的には、ロボットプログラム1は、図1によると、現時点で人が手動でプログラムまたは作成しなければならない態様で、上記タスクを実行する/行うことを目的とした指示またはロボット命令を含む。
ボックスは、パラメータを備えた個別のロボット命令である。
P1、P2、P3、およびP4は、プログラマにより、プログラムにパラメータとして手動で統合された教示点である。
SENSOR[2]は、ロボットの力/トルクセンサのZ値を読み取る。
SENSOR[5]は、Zに関するトルクを読み取る。
OUT[0]=1または0は、ロボットのねじ回しを活性化または非活性化する。
図1に例示されたロボットプログラム1は、以下のプログラム命令PA1乃至PA14を含む。
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に移動する
図1によると、プログラマ、より詳細には、人は、プログラムの構造および「<2」、「<0.01」、「<10」等の各パラメータを考慮または選択しなければならない。
教示パネルを使用すると、プログラマは、詳細には、P1乃至P4である中間点にアプローチし、それらをプログラムに挿入することができる。
プログラムの構造を定義し、さまざまな終了条件を定義するには、膨大な労力が求められる。
図2は、コンパイルプロセス時の、動作テンプレート2(「ねじ込み」)の階層構造が示された、本発明の方法またはシステムの実施形態を示す概略図である。
よって、図2は、テキストプログラミングを行わずに、コンパイルプロセスでロボットプログラムのソースコードを動作テンプレートからステップごとに自動生成する方法を示している。
通常、生成されたソースコードは、人が記述/作成するものと正確には対応しない。
図2では、簡単にするために、この状況が前提とされている。
図2の右側に示された動作テンプレート2は、複数の実行モジュール3で構成される。
各実行モジュール3は、動作テンプレートまたは1つもしくは複数の実行モジュール4(階層表現)を含むことができる。
この特徴により、サブルーチンを表現し、再使用することができる。
最下位のレベルには、それ以上分解されない実行モジュールが存在する。
ここには、コントローラの入力/出力など、ロボットプログラムで命令が含まれている。
コンパイルプロセスに関連するものとして、使用される実行モジュールコントローラがある。
Typeは、コントローラのタイプを表す。
詳細には、位置制御、力制御、または混合型位置/力制御である。
RiおよびGiは、それぞれ実行時制約および目標制約である。
各タイプのコントローラは、実行時制約R1が観察され、目標制約Gjが達成される態様で、実装される。
このレベルの実行モジュールおよび実行時制約ならびに目標制約のタイプのために、これらの制約を各対象ロボットコントローラ用の実行可能なロボットプログラムソースコードにマップする方法についての規則が保存される。
すべてのパラメータを計算した後、実行可能ソースコードを生成するために、これらの規則が適用される。
図3は、本発明の方法またはシステムの実施形態に係る動作テンプレート2(「ねじ込み」)の構造およびパラメータを示す概略図である。
動作テンプレートは、実行モジュール3とこの実行モジュール3の順序に関する構造情報(図の接続部分の矢印を参照)と学習モジュール5とで構成される。
実行モジュール3は、追加の実行モジュール(または、動作テンプレート)を階層的に含むことができる。
動作テンプレートのパラメータT1乃至T6は、可変の自由度を含み、または、備える構成であり、ロボットシステムの可変自由度(アームの位置、グリッパの位置等)、センサデータの可変自由度(力/トルクの測定値等)、および、CADモデルでの基準点の可変自由度(3Dモデルでの接触点)のすべてを含むことが好ましい。
実行モジュールの構造は、その実行モジュールから生成されるロボットプログラムソースコードの実行順序を反映し、実際の実行順序に対応する。
学習モジュールは、その構造に応じて実行され、実行モジュールのパラメータ、すなわち、特に、実行時制約Riおよび目標制約Gjを、構成T1乃至Tnより計算する。
この文脈で、B.fは、制約Bの制約関数を示し、B.Rは、制約Bの制約領域を示す。
この例では、動作テンプレート2(「ねじ込み」)は、図3に示された実施形態によると、実行モジュール3、すなわち、MoveToState、MoveToContact、FastenScrew、およびDepartで構成される。
一般に、実行モジュール3のパラメータは、実行時制約(Ri)および目標制約(Gi)である。
これらの実行時制約および目標制約は、学習モジュールの予め定義された関数を利用して、ステップごとに計算される。
図3の実行モジュールMoveToStateは、1つの目標制約G1のみを有する。
この目標制約は、関節角度制約タイプの制約関数fを有する。
すなわち、構成kについて、f(k)は、ロボットの関節角度値のすべてからなる実数値ベクトルである。
また、目標制約G1は、中心点がねじの上方の教示された構成T1に対応し、半径が0.0001RAD等のロボット関節位置センサの誤差に対応する、球タイプの制約領域Rを有する。
内部的には、MoveToStateは、経路計画実行モジュール「Motion Planner」(図2を参照)と、コントローラ実行モジュール「Controller」とからなる。
経路計画実行モジュールは、定義された経路計画プロセスで、開始構成から、目標制約G1を満たす構成、すなわち、ロボット関節位置センサの誤差を除く教示された構成T1、までの動作経路P1を計算する。
次に、計算された動作経路が、位置コントローラタイプのコントローラで実行される。
ロボット関節位置センサにより測定された最後の構成が目標制約を満たす場合、動作経路の実行は成功である。
結果として、ロボットは、現在の構成から、ねじ回しがねじの上方に位置決めされた構成に移動する。
実行モジュールMoveToContactは、図3によると、実行時制約R1と、目標制約G2およびG3とを有する。
この実行モジュールは、1つの経路計画実行モジュールと2つの制御実行モジュールとからなる。
実行時制約R1は、ねじの上方の構成から、ねじ回しがねじと接触する構成への線形移動を記述する。
制約関数は、開始構成でのTCPの位置に正確に対応する座標系に対してTCPを制限する場所制約関数である。
制約領域は、初期化プロセスで教示された構成T1、T2、およびT3から計算された立方体である。
つまり、ねじの方向での延長は、長さの点で、ねじの上方の構成(T1)から、ねじと接触する構成(T2およびT3)までの経路に対応する。
これに直交する延長は、人がT1からT2およびT3までで教示した、線形移動からの逸脱に対応する。
G2は、R1と同じ制約関数を持つ場所制約であるが、制約領域は、異なる。
この制約領域は、最小限の延長を有する立方体であり、T2およびT3での制約関数の値を含む。
実行時制約および目標制約による実行モジュールの均一で複雑なパラメータ化により、教示された構成からこれらのパラメータを生成するための均一な機械学習方法を提供することができる。
動作テンプレート2の学習モジュール5の目標は、少数の構成から、実行モジュール3の実行時制約および目標制約の形式で与えられるパラメータを作成することである。
構成は、複数の直観的な入力チャネルを利用して生成することができるため、結果として、機能的に同等なロボットプログラム(終了条件およびコントローラを含む)を生成することができるテキストプログラミング方法よりも、はるかに単純なプログラミング方法が得られる。
従来の方法に対する利点は、比較的複雑なロボットプログラムを生成するのに必要な構成(または機械学習におけるトレーニング例)の数が最小限に抑えられることである。
これは、実行時制約および目標制約の自由パラメータを計算するための明示的な規則を、動作記述、特に動作テンプレートの記述、の早い段階で格納することにより実現される。
本事例では、これらの規則は、学習モジュール5で実行される個別のプロセスステップとして表される。
プロセスステップのセットが学習モジュールで定義され、各プロセスステップは、図3のT1乃至T6のような構成のセットに基づいて、実行時制約または目標制約を計算する。
これらの実行時制約および目標制約は、実行モジュールへの入力として使用される。
図3によると、実行モジュールMoveToContactは、実行時制約R1、目標制約G2およびG3の3つのパラメータを有する。
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が接触点までの過程で実行しなければならない移動に近似する。
本発明の方法の実施形態のアプローチによると、ほとんどの構造は、動作テンプレートの実行モジュールを利用して生成される。
終了条件は、教示された構成より計算された実行時制約および目標制約を利用して、自動的に定義される。
図4は、本発明の方法またはシステムの実施形態に係る一連のプログラミングプロセスを示す。
このプログラミングプロセスは、以下のサブステップTS1乃至TS6を含む。
TS1:プログラム全体に動作テンプレートを挿入
TS2:学習モジュールを実行
TS3:主要な構成を生成するためにユーザに問い合わせる
TS4:実行時制約および目標制約を計算するための規則を実行
TS5:経路計画を実行して、実行時制約および目標制約に基づいて経路を計算
TS6:実行可能なロボットプログラムソースコードにコンパイル
図5は、利用される構成要素を視覚化したものである。
操作者6は、ロボット7で、(CADモデル上の点で)コンピュータ/PC8を利用して、構成を直接生成する。
ロボット7は、周辺領域を知覚するために(たとえば、力を知覚したり、視覚的に知覚したりするために)、1つまたは複数のセンサ9と、ねじ回し10とを有する。
コンピュータ/PC8の支援により、ロボットコントローラ11用のソースコードが作成される。
このソースコードは、当該ロボットコントローラ11またはロボット7で実行することができる。
図6、図7、図8、図9、および図10は、操作者により生成された、図5に示す応用分野に係るねじ込みのためにロボット7をプログラムすることを目的とした構成T1乃至T6を視覚化したものである。
図6は、プロセス、すなわち、初期化プロセス、より詳細には教示プロセス、の開始を示している。
この場合、作業操作を実行するために、ロボット7は、ねじ12をセンサ9とねじ回し10とを備えるロボット7によりワーク13にねじ込むように、プログラムされる。
図7によると、操作者は、ねじ回し10をねじ12の直上に接触しないように案内する。これにより、構成T1が記録される。
予め定義されたタイプの制約関数f=関節角度制約関数および制約関数R=球を有する目標制約G1が、構成T1より計算される。
関数sphereは、品質条件に応じて、構成T1を包含する最適な球を計算する。
G1.R=Sphere(G1.f(T1))
目標制約G1は、ロボット7がこのアーム位置を正確にとることを暗示する。
図8によると、操作者は、ロボット7を案内してねじ12に接触させる。
操作者は、2つの冗長な構成T2およびT3を記録する。
これら2つの(場合によってはそれ以上の)構成は、ねじ12と接触するための移動の過程における力の目標制約G3を計算するために使用される。
制約関数のタイプは、工具中心点TCPがねじ回し10の端部に位置し、座標系が開始構成すなわちT2におけるTCPの場所と正確に等価である力制約関数である。
制約領域のタイプは、立方体である。
関数cubeは、T2およびT3についての制約関数の値、すなわち、TCPに変換される測定された力に基づいて、G3の制約領域を計算する。
G3.R=Cube(G3.f(T2),G3.f(T3))
加えて、移動の方向が、以前の構成T1およびT3の間の差異より計算され、実行時制約として格納される。
すなわち、ロボット7は、教示された方向に移動しなければならない。
T1、T2、およびT3における制約関数の値について、関数cylinderは、これらの値を制約する最適な円筒を計算する。
この場合、R1.fは、場所制約関数である。
R1.R=Cylinder(R1.f(T1),R1.f(T2),F1.f(T3))
目標制約G2は、類似する態様で計算される。
ただし、制約領域のタイプは、立方体である。
G2.R=Cube(G2.f(T2),G2.f(T3))
G2は、接触点への移動を計算するために使用される。
実行時には、計算された移動が実行され、G3が満たされる場合に成功裏に終了する。
図9によると、操作者は、ねじ回し10を活性化し、ねじ12をねじ込み、ねじ回し10を停止する。
操作者は、このプロセスを反復し、2つの冗長な構成T4およびT5を、それぞれ移動の終わりで保存する。
以前の構成T2と、新しい構成T4とが使用されて、ねじ12の移動の実行時制約がR1に類似する態様で計算される。
R2.R=Cylinder(R2.f(T2),R2.f(T4))
すなわち、移動は、ねじ12が操作者により示された移動を超えて移動した直後に終了する。
加えて、ねじ回し10がねじ12に適用する力についての実行時制約が計算される。
このプロセスは、G3に類似する。
R3.R=Cube(R3.f(T4),R3.f(T5))
同じ構成が使用されて目標制約が計算される。
つまり、移動は、トルクが操作者により教示されたトルクの範囲内である場合に成功する。
計算は、R3に類似して実行されるが、トルク制約関数で実行される。
G4.R=Cube(G4.f(T4),G4.f(T5))
図10によると、操作者は、ロボット7をねじ12から構成T6に移動する。
以前の構成T5および構成T6を使用して、目標制約がG2に類似する態様で計算される。
G5.R=Cube(G5.f(T5),G5.f(T6))
つまり、ロボット7は、T5からT6までの距離に対応する、上方への相対的移動を実行する。
それにより、ロボット7は、ねじ12から安全な距離だけ移動する。
図11は、本発明の方法またはシステムの実施形態の目的制約の力抑制関数の制約領域を示す概略図である。
図11は、構成T2およびT3に基づいて
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)として計算される。
この例では、制約領域Rは、球タイプの制約領域、すなわち、中心点Mと半径とを有する球である。
この球は、T2およびT3での制約関数の2つの値から、関数sphere()で計算される。
結果として、計算された半径は、ロボット7自体が制御プロセスで許容することができる、教示された力の値の平均値からの逸脱に正確に対応する。
よって、操作者は、適切な構成を利用して、実行の堅牢性を強化することができる。
図12は、本発明の方法またはシステムの実施形態に係る、教示より詳細には記録される構成を生成するための操作者またはユーザに対するグラフィック命令14の例を示す。
この事例では、グラフィック命令の例が教示プロセスで操作者/ユーザに示される。
操作者は、(2Dまたは3Dの)類似する用途で教示より詳細には記録される構成の典型例を取得し、好ましくはステップごとに、初期化プロセスを案内される。
図13は、本発明の方法またはシステムの実施形態に係る、動作テンプレートのパラメータを生成するための学習モジュールを利用した初期化プロセス、より詳細には教示プロセス、のイベントの順序を示す概略図である。
図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の目標制約が満たされたとき、すなわ
ち、物体が孔に滑り込んだときに、移動を成功裏に停止する。
本発明の方法およびシステムの他の実施形態については、反復を避けるため、明細書の概要部分および添付の特許請求の範囲を参照されたい。
最後に、本発明の方法およびシステムの上述した実施形態は特許請求の範囲に記載された教示を明らかにするためにのみ使用され、当該教示を実施形態に限定するものではないことが明示的に指摘される。
1 ・・・ロボットプログラム
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つまたは複数の構成を記録し、
    前記学習モジュールが、記録された前記構成に基づいて、好ましくは機械学習方法を使用して、前記実行モジュールのパラメータを計算する方法。
  2. 前記実行モジュールのパラメータが、制約を含み、
    前記ロボット移動または前記ロボット移動の部分移動が、前記制約に基づいて計画および/または実行されることを特徴とする、請求項1に記載の方法。
  3. 前記制約が、制約関数fと、制約領域Rとを含み、
    前記制約関数fが、構成kを実数値のベクトル空間にマップし、
    前記制約領域Rが、実数値のベクトル空間のサブセットに対応し、f(k)がRに位置するときに構成kの制約が満たされることを特徴とする、請求項1または請求項2に記載の方法。
  4. 前記制約関数fのタイプとして、
    前記ロボットの関節、または前記ロボットのエンドエフェクタ、特にグリッパ、の角度、速度、および/または加速度、
    座標系に対する前記ロボットの工具中心点の位置、方向、および/または場所、
    座標系に対する工具中心点で測定された速度、角速度、および/または捻り、
    座標系に対する工具中心点で測定された力、トルク、および/または捩じり、
    あるCADモデルから別のCADモデルまでの衝突自由度、距離量、および/または距離ベクトル
    前記ロボットおよびCADモデルのエンドエフェクタ、特にグリッパ、のグリップ評価、
    の1つまたは複数が使用されることを特徴とする、請求項1乃至請求項3のいずれか一項に記載の方法。
  5. 前記制約領域Rに使用することができるタイプが、軸に平行な立方体、配向された立方体、円筒、円錐、球、凸包、CADモデル、ORing、ANDing、および/または積形成を含むことを特徴とする、請求項1乃至請求項4のいずれか一項に記載の方法。
  6. 前記実行モジュールのパラメータが、前記制約として実行時制約を含み、
    前記実行時制約が、時点間の予め定めることが可能な間隔について満たされる制約を定義する時間依存制約であることを特徴とする、請求項1乃至請求項5のいずれか一項に記載の方法。
  7. 前記実行モジュールのパラメータが、前記制約として目標制約を含み、
    前記目標制約が、時点間の予め定めることが可能な間隔の間隔上限について満たされる制約を定義する制約であることを特徴とする、請求項1乃至請求項6のいずれか一項に記載の方法。
  8. 前記1つまたは複数の実行モジュールが、前記ロボット移動または前記ロボット移動の部分移動を、前記実行時制約が観察される態様で、制御アルゴリズムに準拠して適応させることを特徴とする、請求項1乃至請求項7のいずれか一項に記載の方法。
  9. 前記ロボット移動または前記ロボット移動の部分移動が、前記目標制約が満たされたときに成功裏に終了することを特徴とする、請求項1乃至請求項8のいずれか一項に記載の方法。
  10. 前記動作テンプレートの実行モジュールのための動作経路が、前記制約に基づいて、特に前記実行時制約および/または前記目標制約に基づいて、経路計画アルゴリズムを使用して、計算されることを特徴とする、請求項1乃至請求項9のいずれか一項に記載の方法。
  11. 前記1つまたは複数の実行モジュールが、対象システム、特にロボットコントローラ、に対してコンパイルすることによりマップされることを特徴とする、請求項1乃至請求項10のいずれか一項に記載の方法。
  12. 前記初期化プロセスで、記録される前記構成を、ユーザがさまざまなインターフェイスを利用することにより、特に、ユーザが前記ロボットを手動で案内することにより、3Dシミュレーション環境でマウスを対話操作することにより、および/または他の適切な制御手段を利用することにより、生成することができることを特徴とする、請求項1乃至請求項11のいずれか一項に記載の方法。
  13. ユーザとの対話が前記初期化プロセスで実行され、記録される前記構成を生成するために、質問および/または指示が前記ユーザに与えられることを特徴とする、請求項1乃至請求項12のいずれか一項に記載の方法。
  14. 前記1つまたは複数の実行モジュールが、各実行モジュールが原始演算子として設計され、または少なくとも1つの実行モジュールおよび/もしくは少なくとも1つの動作モジュールにより形成される態様で、階層的に構築されることを特徴とする、請求項1乃至請求項13のいずれか一項に記載の方法。
  15. 請求項1乃至請求項14のいずれか一項に記載の方法を実行するための、ロボット、特にロボットアームを備えるロボット、をプログラムするシステムであって、
    前記ロボットにより実行される移動が、好ましくはロボットプログラム、で予め定義された動作テンプレートにより設定され、
    前記動作テンプレートが、複数の動作テンプレートを含むデータベースから選択することが可能であり、
    前記動作テンプレートが、1つまたは複数のパラメータ化可能な実行モジュールと少なくとも1つの学習モジュールとを備え、
    前記1つまたは複数の実行モジュールが、前記ロボット移動または前記ロボット移動の部分移動を計画および/または実行するために使用され、
    前記学習モジュールが、初期化プロセスで、特に教示プロセスの形式で、前記ロボットの1つまたは複数の構成を記録し、
    前記学習モジュールが、記録された前記構成に基づいて、好ましくは機械学習方法を使用して、前記実行モジュールのパラメータを計算するシステム。
  16. 機械可読キャリアに格納され、請求項1乃至請求項14のいずれか一項に記載されたロボットをプログラムする方法を提供および/または実行するプログラムコードを備えた、コンピュータプログラム製品。
JP2016571289A 2014-06-03 2015-05-15 ロボットをプログラムする方法およびシステム Active JP6580602B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102014210525 2014-06-03
DE102014210525.0 2014-06-03
DE102015204641.9 2015-03-13
DE102015204641.9A DE102015204641B4 (de) 2014-06-03 2015-03-13 Verfahren und System zur Programmierung eines Roboters
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021245965A1 (ja) * 2020-06-05 2021-12-09 株式会社島津製作所 自動試料注入装置

Families Citing this family (97)

* Cited by examiner, † Cited by third party
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 湘潭大学 一种多机器人装配单元及其优化方法
CN109895091A (zh) * 2017-12-10 2019-06-18 湘潭宏远电子科技有限公司 一种下坡机器人交互系统
CN109895089A (zh) * 2017-12-10 2019-06-18 湘潭宏远电子科技有限公司 一种机器人移动监测装置
CN109895135A (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 オークマ株式会社 工作機械システム
WO2020102571A1 (en) * 2018-11-16 2020-05-22 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
CN111670091B (zh) * 2018-12-25 2022-12-13 深圳配天智能技术研究院有限公司 机器人程序指令编译方法、机器人控制系统及存储装置
EP3924792A4 (en) * 2019-02-13 2022-09-14 ABB Schweiz AG METHOD AND APPARATUS FOR MANAGING A ROBOT PROGRAM
US20200289889A1 (en) 2019-03-11 2020-09-17 Rom Technologies, Inc. Bendable sensor device for monitoring joint extension and flexion
US11471729B2 (en) 2019-03-11 2022-10-18 Rom Technologies, Inc. System, method and apparatus for a rehabilitation machine with a simulated flywheel
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
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
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
US11957960B2 (en) 2019-05-10 2024-04-16 Rehab2Fit Technologies Inc. Method and system for using artificial intelligence to adjust pedal resistance
CN110162052A (zh) * 2019-05-27 2019-08-23 北京新能源汽车股份有限公司 自动驾驶决策的代码生成方法、系统及车辆
WO2021016972A1 (zh) * 2019-07-31 2021-02-04 深圳市大疆创新科技有限公司 一种编程系统、方法及程序执行设备
CN110533969B (zh) * 2019-08-05 2022-03-29 深圳市编玩边学教育科技有限公司 一种编程教学端及系统
WO2021041960A1 (en) * 2019-08-30 2021-03-04 X Development Llc Splitting transformers for robotics planning
US11747787B2 (en) 2019-08-30 2023-09-05 Intrinsic Innovation Llc Combining 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 东莞市李群自动化技术有限公司 一种机器人控制系统及方法
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
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
US20210134432A1 (en) 2019-10-03 2021-05-06 Rom Technologies, Inc. Method and system for implementing dynamic treatment environments based on patient information
US11830601B2 (en) 2019-10-03 2023-11-28 Rom Technologies, Inc. System and method for facilitating cardiac rehabilitation among eligible users
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
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
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
US20210127974A1 (en) 2019-10-03 2021-05-06 Rom Technologies, Inc. Remote examination through augmented reality
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
US20210142893A1 (en) 2019-10-03 2021-05-13 Rom Technologies, Inc. System and method for processing medical claims
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
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
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
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
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
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
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
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
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
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
US20210134412A1 (en) 2019-10-03 2021-05-06 Rom Technologies, Inc. System and method for processing medical claims using biometric signatures
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
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
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
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
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
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
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
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
US20210134463A1 (en) 2019-10-03 2021-05-06 Rom Technologies, Inc. Systems and methods for remotely-enabled identification of a user infection
US20210128080A1 (en) 2019-10-03 2021-05-06 Rom Technologies, Inc. Augmented reality placement of goniometer or other sensors
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
US11826613B2 (en) 2019-10-21 2023-11-28 Rom Technologies, Inc. Persuasive motivation for orthopedic treatment
US11691280B2 (en) 2020-01-24 2023-07-04 The Cleveland Clinic Foundation Hybrid control of a robotic system
WO2021148129A1 (en) * 2020-01-24 2021-07-29 Siemens Healthcare Gmbh Machine-learned network for medical robot generation from configurable modules
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
US11816112B1 (en) 2020-04-03 2023-11-14 Soroco India Private Limited Systems and methods for automated process discovery
US11707843B2 (en) 2020-04-03 2023-07-25 Fanuc Corporation Initial reference generation for robot optimization motion planning
US11813756B2 (en) 2020-04-16 2023-11-14 Fanuc Corporation Disassembly based assembly planning
US20210346557A1 (en) 2020-05-08 2021-11-11 Robust AI, Inc. Robotic social interaction
US11524402B2 (en) 2020-05-21 2022-12-13 Intrinsic Innovation Llc User feedback for robotic demonstration learning
US11820014B2 (en) 2020-05-21 2023-11-21 Intrinsic Innovation Llc Simulated local demonstration data for robotic demonstration learning
US11685047B2 (en) 2020-05-21 2023-06-27 Intrinsic Innovation Llc Skill template distribution for 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
US11679497B2 (en) 2020-05-21 2023-06-20 Intrinsic Innovation Llc Distributed 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
CN113040915A (zh) * 2021-03-12 2021-06-29 杭州柳叶刀机器人有限公司 机器人安全边界控制装置及方法、电子设备和存储介质
CN115178944A (zh) * 2022-08-04 2022-10-14 广东工业大学 一种安全强化学习的狭窄空间机器人作业规划方法

Citations (14)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
WO2009055707A1 (en) 2007-10-26 2009-04-30 Honda Motor Co., Ltd. Real-time self collision and obstacle avoidance
US8170287B2 (en) 2007-10-26 2012-05-01 Honda Motor Co., Ltd. Real-time self collision and obstacle avoidance
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
CN102300679B (zh) * 2009-09-28 2014-12-10 松下电器产业株式会社 机器人手臂的控制装置及控制方法、机器人及机器人手臂控制用集成电路
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

Patent Citations (16)

* Cited by examiner, † Cited by third party
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021245965A1 (ja) * 2020-06-05 2021-12-09 株式会社島津製作所 自動試料注入装置

Also Published As

Publication number Publication date
WO2015185049A1 (de) 2015-12-10
EP3013537B1 (de) 2016-10-12
JP6580602B2 (ja) 2019-09-25
KR20190105039A (ko) 2019-09-11
DE102015204641A1 (de) 2015-12-03
US10279476B2 (en) 2019-05-07
US20170190052A1 (en) 2017-07-06
EP3013537B2 (de) 2020-02-19
EP3013537A1 (de) 2016-05-04
KR20160149290A (ko) 2016-12-27
KR102126729B1 (ko) 2020-06-26
CN106457565B (zh) 2020-06-23
DE102015204641B4 (de) 2021-03-25
CN106457565A (zh) 2017-02-22

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
Stumm et al. On-site robotic construction assistance for assembly using a-priori knowledge and human-robot collaboration
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파일 생성장치 및 방법
Bedaka et al. Autonomous Cad Model–Based Industrial Robot Motion Planning Platform
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
Salazar et al. Modeling, Simulation and Control of An Omnidirectional Mobile Manipulator Robot
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

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