(57)【要約】【課題】運転条件及びロボットシステムに係るパラメータだけでなくロボットプログラムを最適化する方法及び制御システムを提供する。【解決手段】ロボットの性能を最適化するための装置及び方法は、ロボットコントローラが経路プログラムを実行したときにロボットの性能データを受信するためにロボットコントローラに接続されたコンピュータを有する。コンピュータは、性能データ、ユーザが定義した最適化目標及び制約、並びに運動学的動的シミュレータを利用し、コントローラ内の制御システムパラメータをデフォルトのセットから新たなセットに置換する。コンピュータは、制御システムパラメータの新たなセットが最適化されるまで処理を反復する。【選択図】図１
2006302282.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと、
前記ロボットに接続されるとともに、前記ロボットが操作されるときに従うべき制御システムパラメータを特定する制御プログラムを実行する第１の制御手段と、
前記ロボットの操作中に前記ロボットの実性能データを監視する監視手段と、
前記第１の制御手段及び前記監視手段に接続されるとともに、前記実性能データに応答して最適化ルーチンを実行し、前記制御プログラムの前記制御システムパラメータをリアルタイムで修正する第２の制御手段と、
を有するロボット制御システム。
【請求項２】
前記第１の制御手段はロボットコントローラであり、前記第２の制御手段はパーソナルコンピュータである、請求項１に記載のロボット制御システム。
【請求項３】
前記第１の制御手段、前記監視手段及び前記第２の制御手段は、データ送信のために通信リンクによって互いに接続される、請求項１に記載のロボット制御システム。
【請求項４】
前記通信リンクはコンピュータネットワークである、請求項３に記載のロボット制御システム。
【請求項５】
前記監視手段は、前記ロボットを運転するモータからのフィードバック信号を生成する手段を含む、請求項１に記載のロボット制御システム。
【請求項６】
前記フィードバック信号は前記モータのモータ電流値を含む、請求項５に記載のロボット制御システム。
【請求項７】
前記第２の制御手段は、前記制御システムパラメータを修正するために、前記監視手段のための運動学的動的シミュレータを含む、請求項１に記載のロボット制御システム。
【請求項８】
前記第２の制御手段は、前記制御システムパラメータを修正するために、ユーザが定義した最適化目標及び制約を含む、請求項１に記載のロボット制御システム。
【請求項９】
マニピュレータ及びコントローラを有するロボットシステムにおいて、類似する複数のロボットの動的性能に関する所定の目標及び可能な修正の範囲内でロボット経路プログラムを最適化する方法であって、
ａ  通常のロボット教示方法によりロボットの経路プログラムを生成するステップと、
ｂ  ロボットの動的モデル及び制御システム、並びに最適化プログラムを備えたコンピュータを用意するステップと、
ｃ  前記コンピュータに性能目標を与えるステップと、
ｄ  前記制御システムを通信のために前記コンピュータに接続するステップと、
ｅ  デフォルト設定の制御システムパラメータにおいて、前記経路プログラムを実行する前記制御システムによって前記ロボットを操作するステップと、
ｆ  前記ロボット操作中に前記ロボットの性能変数を監視するステップと、
ｇ  前記性能変数を前記コンピュータに送信するステップと、
ｈ  前記性能目標を満足するために、前記動的モデル及び前記性能変数を用いて前記コンピュータの前記最適化プログラムを実行するステップと、
ｉ  新たな制御システムパラメータを生成するステップと、
ｊ  前記新たな制御システムパラメータを前記制御システムに送信するステップと、
ｋ  前記新たな制御システムパラメータを、デフォルト設定の制御システムパラメータとして前記経路プログラムに与えるステップと、
ｌ  前記新たな制御システムパラメータが、前記デフォルト設定の制御システムパラメータと実質的に同じとなり、その結果最適化されたデフォルト設定の制御システムパラメータとなるまで、前記ステップｅからｋまでを反復するステップと、
ｍ  前記制御システムが、前記最適化されたデフォルト設定の制御システムパラメータを用いて前記経路プログラムを実行することにより前記ロボットの操作を続けているときに、前記制御システムから前記コンピュータを切り離すステップと、
を含む方法。
【請求項１０】
前記性能目標の１つはロボットのサイクルタイムである、請求項９に記載の方法。
【請求項１１】
前記性能変数は、軸モータ電流及び軸エンコーダのカウントを含む、請求項１０に記載の方法。
【請求項１２】
前記性能目標の１つはロボット経路の精度である、請求項９に記載の方法。
【請求項１３】
前記性能変数は、軸エンコーダの誤差、軸モータ電流、軸エンコーダのカウント及びサーボゲインを含む、請求項１２に記載の方法。
【請求項１４】
ロボットと、
前記ロボットに接続されるとともに、前記ロボットが操作されるときに従うべき制御システムパラメータを特定する制御プログラムを実行するロボットコントローラと、
前記ロボットの操作中に前記ロボットの実性能データを監視する監視手段と、
通信リンクによって前記ロボットコントローラ及び前記監視手段に接続されるとともに、前記実性能データに応答して最適化ルーチンを実行し、前記制御プログラムの前記制御システムパラメータをリアルタイムで修正するコンピュータと、
を有するロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広くは、動作目標に適うようにロボット制御プログラムを修正する方法及び装置に関する。
【背景技術】
【０００２】
本発明に最も近い従来技術は、以下の原理に基づく。すなわち、ロボットコントローラは、通信リンクを介してパーソナルコンピュータのような外部計算機に接続される。パーソナルコンピュータ（ＰＣ）のような外部機器は、ロボットコントローラのメモリ領域にアクセスする。メモリ領域内に格納されたユーザプログラムは、外部機器によって操作可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この従来技術の機器の主たるコンセプトは、ユーザプログラムを転送するために複数のロボットに接続すること、及びデータを記憶することである。ロボットコントローラと外部計算機との間には、動作経路を最適化するためのリアルタイムの相互作用が存在しない。
【課題を解決するための手段】
【０００４】
本発明は、ロボットコントローラを最適化するための方法及び装置に関する。本発明は、ロボットコントローラ及び外部計算機（一般ＰＣ）を接続するための通信回線を使用するだけではなく、外部ＰＣのＣＰＵの処理能力を利用してロボット経路をリアルタイムで解析及び最適化する。この外部ＰＣは、ロボットコントローラにとって、非常に融通性があり、再構成可能であり、かつ強力な第２の処理装置となる。
【０００５】
本発明に係る方法及び装置は、小型形状の切削又は形成に関して非常に有用である。この種の工程は、検査や点検が面倒かつ時間がかかるからである。また、本発明の方法及び装置は、ロード・アンロードや他の材料ハンドリング用途に対し、ロボット経路及びサイクルタイムを首尾よく最適化することができる。さらに、本発明の方法及び装置は、パレット積載やスポット溶接等の他の用途における広範なロボット最適化のための申し分のない下準備を行う。
【０００６】
本発明の上述した長所は、他の長所とともに、以下の好適な実施形態の詳細な説明及び添付図面より当業者に明らかとなるであろう。
【発明を実施するための最良の形態】
【０００７】
従来、高精度又は良好なサイクルタイム等の動作目標を満足するために、ロボットプログラムはロボットシステムとは独立して開発されまた適宜最適化される。プログラムが異なる（正確には同一でない）ロボットで実行されるときは、通常はそれらのロボットの性能は変化し、いくつかは所要の目標を満足しない。この変化は、それぞれのマニピュレータに対して要求される、加速時間、過電流保護制限値、サーボループゲイン、クーロン摩擦パラメータ、積分ゲイン、バネ定数等の、特定のマニピュレータモデルに固有の「システムパラメータ」がそれぞれ異なることに起因する。
【０００８】
本発明は、マニピュレータ間の差及び運転条件差がロボットの性能に影響することを理解し、運転条件及びロボットシステム（コントローラ及びマニピュレータ）に係るシステムパラメータだけでなくロボットプログラムを最適化する方法を提供するものである。従来の方法で開発されたロボットプログラムはロボットシステムにより実行され、そのシステムのために所定のパラメータ（通常はエンコーダ位置データ及びモータ電流データ）が監視されかつロボット操作中に最適化用の第２プロセッサに送られる。ロボット運転中は、第２プロセッサが所定の目標を満足すべく最適化ルーチンを実行し、ロボットプログラムだけでなく制御システムパラメータも修正する。最適化は個々の駆動軸だけでなくロボットモデル全体について行われ、最適な制御システムパラメータを得るために特定の要素の性能パラメータのトレンドが監視される。この工程は、ロボット運転中、最適化目標が達せられるまで繰り返され、最適化目標が達せられたときに、プログラムが完成しシステムパラメータが生産運転用に設定される。
【０００９】
関連技術には、所定の目標を満足するために、第２プロセッサを用いて通常オフラインでプログラムを修正するオフラインプログラミングが含まれる。この修正は制御システムパラメータとは独立に行われ、実際の性能に関してリアルタイムではチェックされない。従って、同じプログラムが異なるマニピュレータによって実行される場合もあるし、同じマニピュレータによって異なる操作条件下で実行される場合もある。
【００１０】
リアルタイムでのロボットプログラムの修正及びいくつかの制御システムパラメータの修正は、学習制御によっても行うことができる。しかし、学習制御においては、反復最適化法が基本時間間隔毎に実行され、その場合サーボシステムの状態は不安定性のリスクを伴って変化する。この先天的に遅い変換プロセスにより、僅かなパラメータ（通常はサーボゲイン及び減衰係数）のみ反復可能である。
【００１１】
本発明では、固定された条件において、速い変換をＰＣ上で不安定性のリスクなく反復する。このことはまた、より多くの制御パラメータを所定の時間内に最適化することを可能にし、故に最適化性能が向上する。
【００１２】
従来技術の方法は、本発明とは異なり、モータの過負荷及びロボットの耐久性低下の防止に不可欠なモータ電流からの入力を調節せず、またばね定数の変化（すなわちロボットの振動性の低下）も調節しない。
【００１３】
本発明は、ＰＣ上の制御パラメータについて予測される変化を評価するために、動的ロボットモデルを用いて反復的アプローチを行う。本発明では、変化の影響を評価するために実際のロボットを使用しなければならない学習制御とは異なり、ＰＣ上でモデル操作を同一条件で多数回実行することができ、ある目標が達せられたら変更を行えばよい。この迅速な反復的アプローチはまた、不安定性のリスクも排除する。
【００１４】
従って、本発明は、プログラムをロボットとは独立に修正できるオフラインプログラミングと、反復処理によりパラメータを最適化する学習制御とを組み合わせたものである。学習制御では、サーボシステムの状態が不安定性リスクを伴って変化する基本時間間隔毎に反復処理が実行されるが、本発明では、速い変換処理を固定された条件で不安定性のリスクなく反復する。さらに学習制御では、１つのパラメータの変更は、プログラム全体が実行されるまで同一の動的条件下では評価できない、非常に遅い工程である。また、学習制御のアプローチは、新たな条件下での時間間隔での評価を行うことにより悪影響を受ける。このことは、反復処理を安定させることを困難にする。
【００１５】
ロボット経路の最適化は、ＣＰＵに集中するタスクであり、ロボットのＴＣＰ位置及びロボットアーム構成に大きく依存する。さらに、ロボットコントローラのＣＰＵは通常、動作計画、プログラム管理及びメモリ管理等の過度のタスクを処理する。従ってこれまでは、ロボットコントローラのメインＣＰＵを用いて経路の最適化を図ることは困難であった。本発明に係る方法及び装置は、リアルタイムでのロボット経路の最適化を可能にする実用的指標を提供する。
【００１６】
本発明の主概念は、外部計算機（一般ＰＣ）とロボットコントローラとをリアルタイムで相互作用させることである。動作特性のフィードバックは、ロボットコントローラとＰＣとの間の専用回線又はネットワークを介して、ネットワークカードを用いていかなるＰＣ上にもユーザのために表示可能である。この視覚的表示により、経路の偏差やサイクルタイム等のコントローラからの有用な情報を、実際に工程を行っているか否かに関わらず提供可能である。
【００１７】
プログラム実行中は常に動作性能を視覚化しユーザに表示するために、重要な動作データ及びシステム／サーボ状態（system/servo status）はＰＣにリアルタイムで送られる。また、履歴は解析された後、ユーザの要望に応じて将来の参考のために記憶される。解析後は、外部ＰＣのＣＰＵの処理能力は反復最適化法の補償データの計算に使用される。この重要な補償データは、リアルタイムでロボットコントローラに送信され、次の反復試行が自動的に開始される。この工程は、ユーザが定義した基準を満たすまで続けられる。
【００１８】
図１は、本発明に係るロボット制御プログラム最適化装置１０を示す。ロボットコントローラ等の第１の制御手段１１が、コンピュータネットワーク等の通信リンク１３によってパーソナルコンピュータ（ＰＣ）等の第２の制御手段１２に接続される。第２の制御手段としてはＰＣが好適であるが、他の適当な全てのコンピュータが使用可能である。コントローラ１１は動作システム１４、サーボシステム１５及び通信クライアント／サーバ（communication client/server）１６を含む。ＰＣ１２は、経路解析モジュール１７、最適化モジュール１８及び通信クライアント／サーバ１９を含む。
【００１９】
図２に示すように、ロボットコントローラ１１において動作システム１４は、サーボシステム１５に接続され、「動作命令」とサーボシステム１５に対する「サーボシステム調節」信号とを生成するために制御プログラムを実行する。サーボシステム１５はロボットのモータ２０に接続され、モータ２０を操作する動作命令を実行し、モータ電流値を含むフィードバック信号をモータ２０から受信する。通信クライアント／サーバ１６に接続されたユーザプログラムメモリ２１には、多数の制御プログラムが格納可能である。動作システム１４は、通信クライアント／サーバ１６に「性能データ」を送信するとともに、通信クライアント／サーバ１６から「最適化データ」を受信する。「最適化データ」は、動作を最適化するための「サーボシステム調節」信号の生成に使用される。
【００２０】
図３に示すように、外部ＰＣ１２は、「性能データ」を送信するために性能データメモリ２２に接続された通信クライアント／サーバ１９を有する。ロボットモデルは運動学的動的モデルメモリ２３に格納される。データメモリ２２及びモデルメモリ２３は、ロボットの実性能を確立するためにロボット性能モジュール２４に接続される。モジュール２４は、シミュレータを備えた経路解析モジュール２５に接続され、モジュール２５はロボットの性能に基づいてロボット経路を解析するシミュレーションを行う。モジュール２５の結果は反復最適化モジュール２６に提供される。モジュール２６の「最適化データ」は、最適化データに基づく経路チェックのために、フィードバックループを介してシミュレータモジュール２５に戻される。「最適化データ」によってロボットがよりよい性能を発揮することが確認されたら、「最適化データ」は直ちに、通信リンク１３の通信クライアント／サーバ１９、１６を通って図２の動作システムにリアルタイムで送信される。
【００２１】
図４は、本発明に係る方法のフロー図である。この方法は、図１のロボットコントローラ１１に外部ＰＣ１２を接続する命令セット３０「ロボットコントローラに接続」から始まる。ＰＣは、命令セット３１「コントローラに同期」を実行し、それによりＰＣ１２はロボットコントローラ１１の操作にリアルタイムで同期する。ＰＣ１２は、命令セット３２「コントローラから性能データを受信」において、コントローラ１１からデータを受信する。命令セット３１の実行に伴い、命令セット３３「運動学的動的シミュレータを構築」が行われる。ステップ３２で受信された性能データ及びステップ３３で構築されたシミュレータは、命令セット３４「ロボット性能を解析」の実行に使用される。ステップ３４の次は、命令セット３５「ユーザが最適化目標及び制約を特定」が行われる。ステップ３３及び３５に続いて、命令セット３６「ユーザプログラム及びシミュレータを用いて最適化」が行われ、実行可能性のある最適化プログラムが生成される。判別点３７「目標を満足するか？」において最適化プログラムがユーザが特定した目標を満足していない場合は、処理は「Ｎ」に分岐して最適化ステップ３６に戻る。最適化プログラムがユーザが特定した目標を満足する場合は、処理は「Ｙ」に分岐して命令セット３８「必要なシステムパラメータ及びユーザプログラムの一方又は双方をコントローラに返信」に進み、最適化工程が完了する。この時点でロボットコントローラ１１は、最適化プログラムの実行及び制御システムパラメータの変更の一方又は双方を行うことができる。
【００２２】
特許法の規定に従い、本発明が開示され、その好適な実施形態が示された。しかし本発明は、その精神又は範囲から逸脱することなく、具体的に図示され説明された以外の態様でも実行可能であることに留意すべきである。
【図面の簡単な説明】
【００２３】
【図１】本発明に係るロボットプログラム最適化装置のブロック図である。
【図２】図１に示すロボットコントローラのブロック図である。
【図３】図１に示す外部パーソナルコンピュータのブロック図である。
【図４】本発明に係る方法のフロー図である。
【図１】
2006302282.tif 000003
【図２】
2006302282.tif 000004
【図３】
2006302282.tif 000005
【図４】
2006302282.tif 000006
【外国語明細書】
2006302282000001.pdf