(57)【特許請求の範囲】
【請求項１】
機械加工ロボットの自動操作のための方法であって、前記機械加工ロボットがワークピースの機械加工のためのツールを保持するか、前記機械加工ロボットが前記ワークピースを保持して前記ツールに対して移動させ、制御部が前記ロボットによって実行される動作および作業シーケンスを実行し、少なくとも１つのセンサが機械加工操作によって実際に達成された効果を測定して作業経過を記録し、プラニングツールが、記録された作業経過を所期機械加工目的と比較して、機械加工目的と記録された作業経過に対応する機械加工の実際値との差から、所期処理目的が達成される動作および作業シーケンスを決定し、その後、決定された動作および作業シーケンスは、リアルタイムで、または段階的に、ロボットが実行可能な制御命令に変換され、所期機械加工目的を達成するように機械加工ロボットが操作される方法であって、
前記制御部は、
計画された機械加工目的の達成を、工程シミュレータの支援により、事前計算し、
前回の動作および作業シーケンスから生じた目的の達成についてのずれを、計画された実行すべき動作および作業シーケンスにおける工程パラメータまたは動作の調整により、補正し、
前記工程シミュレータにおけるそのシミュレーションが奏功した後だけ実行すべき計画された動作および作業シーケンスを実行することを特徴とする機械加工ロボットが操作される方法。
【請求項２】
前記制御部が、動作および作業シーケンスを最適化し、動作／シーケンスの模擬された機械加工結果が、品質基準としての機械加工目的と比較されることを特徴とする請求項１に記載の方法。
【請求項３】
前記プラニングツールは、シーケンス／動作プログラムを作成し、また、その全体としての効果、あるいはグループ化されたまたは個々の動作／作業、あるいはその下位部分の効果を事前計算することを特徴とする請求項１又は請求項２に記載の方法。
【請求項４】
前記プラニングツールは、シーケンス／動作プログラムおよび模擬された効果を含み、シーケンス／動作プログラムの全体および／または一部に対してその模擬された効果を、好ましくは相互に、割当てる、アプリケーション記述を作成することを特徴とする請求項３に記載の方法。
【請求項５】
前記アプリケーション記述を制御部で実行すること、および効果を記述する部分を１つまたは複数のセンサにより直接的または間接的に測定する、または求めることが可能であることを特徴とする請求項４に記載の方法。
【請求項６】
効果または結果の記述を機械加工すべきワークピースの個々の領域に割当てることを特徴とする請求項４または５に記載の方法。
【請求項７】
前記プラニングツールが工程シミュレータに割当てられ、工程シミュレータが、機械加工経過のそれぞれ測定された実際値に基づき、計画された、次の動作および作業シーケンスの効果を計算し、事前計算された効果を、好ましくは動作および作業シーケンスが実施された後に、記録された実際値と比較することを特徴とする請求項１から６のうちの１項に記載の方法。
【請求項８】
前記プラニングツールが工程シミュレータに割当てられ、工程シミュレータが、既に実行されて、好ましくは制御部により記録された動作および作業シーケンスの期待される効果を計算し、それらをこれらの実行された動作および作業シーケンスの測定された実際値と比較することを特徴とする請求項１から７のうちの１項に記載の方法。
【請求項９】
前記工程シミュレータに割り当てられた演算モデルを改良するために、計算された効果を実際の効果に合致させるように工程シミュレータのパラメータを再調整することを特徴とする請求項７又は請求項８に記載の方法。
【請求項１０】
個々の関連工程シミュレータのパラメータの値を経時的に記録すること、および、記録されたデータに基づき、ツールまたは処理手段の寿命、摩耗及び有効性の予測、あるいは必要なメンテナンス作業の予測、あるいは摩耗または変化した有効性を補正するためのパラメータ調整を計算することを特徴とする請求項７から９のうちの１項に記載の方法。
【請求項１１】
動作および作業シーケンスの結果としての機械加工操作により達成された実際の効果を特に測定するための、少なくとも１つのセンサにロボットまたはロボットツールを割り当て、そのセンサが、機械加工の実際値を測定し、場合によっては評価することを特徴とする請求項１から１０のうちの１項に記載の方法。
【請求項１２】
ツールとワークピースとの間の未知または極めて不確実な相互作用を有するアプリケーションに対して、まず、工程シミュレーション用パラメータの調整以前に、前記プラニングツールが防御的に計画することを特徴とする方法であって、
第一に、アプリケーションの最初に実施された作業中に、工程シミュレータ用パラメータまたはシミュレーションモデルが新たに確定または調整され、第二に、この調整段階中に、アプリケーションのこれらの第一の作業が模擬され、最大可能な効果に対応する工程シミュレータ用パラメータにより計画され、理想的には、前記プラニングツールは、この段階において、機械加工目的を達成するために、反復的に実施されなければならないように作業を計画することを特徴とする請求項１から１１のうちの１項に記載の方法。
【請求項１３】
前記工程シミュレータが、動作および作業シーケンス中に生じる工程諸力を計算し、事前計算された工程諸力をセンサにより記録された工程諸力にしたがって継続的に調整することを特徴とする請求項１から１２のうちの１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット作業シーケンスの自動化プログラミングおよび最適化方法に関する。
【背景技術】
【０００２】
作業を実行するために、ロボット制御機構は、プログラムを実施して、ロボット作業（場合によっては力／コンプライアンス、シグナルなどを伴う諸動作）が、高度の再現性を以て、プログラミングされた作業に常にできるだけよく対応するようにその実行を制御する。この目的のために、位置、速度、力などの、測定およびプログラミングが可能なパラメータ化できる作業／動作パラメータがリアルタイムで制御される。したがって、制御機構は、結果を間接的に決定するにすぎない。作業／動作パラメータと結果との関係が十分に予測可能かつ再現可能である場合のみ、結果が目的達成的に制御される。
【０００３】
作業をプログラミングするために、「ティーチ・イン」または表示プログラミングを用いて、実施可能なプログラムがオフライン・プログラミングにより生成される。これらのプログラムに記述されるのは、制御機構により処理することができ、容易に測定および制御でき、さらに正確に従えば実際に所望される結果（すなわち、アプリケーションおよび工程の目的）をもたらすこととなる動作命令、作業、シグナルなどである。
【０００４】
しかし、このアプローチはその限界に達することが多い。具体的に述べるならば、サービスまたはメンテナンス作業の自動化では材料特性の劣化、摩耗など、極端な小バッチ生産では工程結果を最適化するための試験回数の不十分さ、あるいは生産上の修理または改良作業の自動化、摩耗や変動（研磨剤など）し易い工具の使用、パラメータ変化に敏感な工程、さらに時間の経過につれて不安定となる工程（ブラシ／ローラによる塗装など）に起因する。
【０００５】
そのようなアプローチでは、必然的に以下のような作用または問題が生じる。同一のプログラムおよびパラメータを有するロボットによる作業を実施しても、一定の工程結果が得られず、極めて異なった（品質および経過の点において）工程結果となる。結果と動作／パラメータとの関係およびプログラム実行の結果の予測またはシミュレーションは信頼できず、不確実性を補正するためのプログラム・パラメータを使用する連続的制御（力／モーメント制御など）も十分でないため、上記の場合には、品質および結果を維持しながら実行を保証するシーケンスを目的達成的にプログラミングまたはプラニングすることができない。
【０００６】
主要な問題は、ロボットが結果指向的に制御およびプログラミングされず、単に動作や諸力などを記述する命令により操作される点にある。種々の動作を記述するこれらの命令は実行中には十分正確に維持されるが、目的とは異なる工程結果を引き起こす場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、ロボットが目的指向的にプログラミングおよび制御できるような始めに記載したような方法を提供するという目的に基づいている。
【課題を解決するための手段】
【０００８】
本発明は、クレーム１の特徴によってこの目的を達成する。
【０００９】
本発明によるロボット制御は、所望の機械加工目的が達成されるように、工程パラメータをリアルタイムに制御する。互換性の理由から、ロボットは通常はやはり従来方式で操作される。しかし、動作および作業シーケンスの実行だけでなく、動作および作業シーケンスのそれぞれの効果も拡張制御により観察および最適化される。この拡張制御は、計画された動作および作業シーケンスを、それらの事前シミュレーションが計画された機械加工目的または効果の達成をできるだけ事前計算し、さらに先行動作の目的の達成におけるずれを以後の動作において補正するように、調整する。ロボットに対する従来の制御シグナルは、この操作から計算される。本発明が特に適している応用分野は、素材切削加工（研削、研磨、フライス削り、・・・）、塗装工程（被覆、塗装、・・・）、生成工程（プラズマまたは金属蒸着、肉盛り溶接、・・・）、検査または洗浄工程、改質工程（火炎処理による活性化、・・・）などであり、これらは通常の生産工程において、あるいは生産においてまたは製品および部品の修理、メンテナンス、オーバーホールなどの応用または応用サービス部門における欠陥改修のいずれにおいても行われるようなものである。
【００１０】
プログラミングは、場合によって一段階あるいは二段階で行われる。アプリケーションのプラニングおよびシミュレーションは、ロボット動作と工程結果を最適化し、次に純粋な作業だけからのプログラムではなく、各作業を達成するための目的と種々の作業を結合する拡張プログラムをも含むプログラムを、拡張ロボット制御部へ伝達する。このプラニングは、模擬された工程結果を品質基準に関して最適化するために、有利な実施形態において特に種々のパラメータを使用する。
【００１１】
プラニングツールは、ロボットの動作シーケンスを計画して、ロボットコントローラ上で実行できるロボットプログラムをこれらの動作シーケンスに対して作成する。同時に、プラニングツールは、１つまたは複数の動作命令あるいは作業に対する計画された効果、すなわち動作シーケンスにより達成されるべき所望効果を、その実行後にセンサにより測定された実際効果と比較する。
【００１２】
ロボットは、通常は加工用ワークピースのためのツールを保持する。しかし、あるいは、ロボットがワークピースを保持して、それをツールに対して移動させてもよい。場合によっては、加工操作により実際に達成された効果を測定するために必要なセンサをロボットおよび／またはツール、あるいは作業セル内に設置してもよい。動作シーケンスの結果としての加工効果を測定するセンサは、これらの測定値自体を好ましくは予め評価することができる。例えば、研削動作において除去された被覆層の分量または厚みを確認したり、研削作業前後の表面粗さを測定する。
【００１３】
工程シミュレータは、動作シーケンスの想定結果を模擬する機能を果たす。有利な実施形態において、その際に生じる工程諸力も計算される。工程モデルは、センサにより測定された効果（実際値）を制御機構により記録された実行動作および作業に対する模擬された結果とを常に比較して、計算された効果が測定された効果にますますうまく合致するように工程モデルのパラメータを調整する。これにより、例えば生じ得るツールまたはロボットの摩耗、あるいはワークピースの材料特性の変化、さらには周辺パラメータ（空気／ワークピースの温度、湿度など）の変化などを考慮することができる。
【００１４】
本発明にとって重要なのは、ロボットあるいは加工ツールの結果指向的操作である。とりわけ所期目標効果および所期機械加工目的は、リアルタイムで、あるいは加工工程にともない段階的に、加工経過を測定、制御および最適化することにより、ロボット制御において考慮される。
【００１５】
しかも、これは多くの場合に正確には確定できず、あるいは変化し得る効果しか達成しない動作およびパラメータを規定する従来型の制御の場合とは異なり、所望の所期機械加工目的ベースで直接的に行われるため、結果に貢献することができる。これを実現するのが工程モデルおよびリアルタイム工程シミュレーションの採用であり、該工程モデルはセンサデータ、すなわち測定された工程経過に応じて、継続的に調整することができる。
【００１６】
このようにして、当初は知られていなかったり、経時変化、あるいはツールとワークピース表面との間の相互作用により生じる特性が変化する材料特性などと全く同様に、経年によるツールの磨耗も考慮することができる。例えばセンサにより測定された実際の実行経路に対する工程結果のシミュレーションと加工操作の実行前後の工程結果の直接的測定とを比較することにより、調整が行われる。機械加工目的を達成する以外に、工程モデルの修正によりシミュレーションと測定値との間のずれを最小化することも目的の１つである。
【００１７】
本発明は、例示的な実施形態に基づき図面に模式的に示されている。図面において、
【図面の簡単な説明】
【００１８】
【図１】図１は、ツール、ロボット制御機構、センサユニットおよび工程シミュレータを備えた本発明に基づく方法を表す図である。
【図２】図２は、より詳細なプラニングツールを備えた図１の図である。
【図３】図３は、オフラインプラニングおよびオンライン調整のための２段階プラニングツールを表す図である。
【図４】図４は、センサモジュールの詳細図である。
【図５】図５は、工程シミュレータの詳細図である。
【発明を実施するための形態】
【００１９】
図面において、プラニングツールはI、ロボット制御部はII、センサユニットはIII、また工程シミュレータはIVで表される。外部入力は、入力インターフェイス101を介して行われる。このインターフェイスを介して、目標値、CADデータなどが、プラニングツールIへ伝送される。プラニングツールIは、予定された達成すべき効果に応じて、ロボットの動作シーケンスの計算および最適化を行う。このプラニングツールIは、工程およびそのために必要な経路を計画し、また動作経路および速度、加圧力などのパラメータを局部的に調整して、センサにより確定された効果(104)における前回のずれを補正すると共に、調整された経路に対して模擬された効果が事前に計画された効果からのずれを特定または全体的なレベルで最小化ように変更されるように、以後の経路の実行を修正する。対応する工程計算は、工程プラニングモジュールまたは動作プランナ102において行われる。
【００２０】
本発明は、計画された動作シーケンスのために達成すべき工程結果の事前計算用工程モデル103を備えた工程シミュレータを含む。工程モデルパラメータは、以前に実行された動作および作業に対するシミュレーション結果（制御部105に記録）がセンサにより測定された実際の工程結果にできるかぎり近づくように、自動的に調整可能である。制御部105は、ロボット106により実行すべき動作のそれぞれの所望経路を表すプログラムのシーケンス制御および実行を通常の方法で行う。ロボットはロボット制御部105により操作されて所望の動作経路を達成するが、これらの動作経路も好ましくは記録される。さらに、個々の動作中に生じる諸力を記録してもよい。加工経過を測定し得るためにセンサ107が設けられるが、該センサは動作シーケンスの結果としての加工効果を直接的に測定して、場合によってはすでにそれを評価する。例えば、研削動作において除去された被覆量または厚さを確認する、あるいは研削操作前後の表面粗さを測定する。差異決定モジュール104は、工程シミュレーションにより事前計算された効果のセンサ107により記録された実際値を比較して、それらを工程プラニングモジュール102へ伝送する。
【００２１】
計画された工程経路は、パラメータ、ワークピースとツールとの間の相対動作に対する動作経路とともに、工程プラニングモジュール102から工程シミュレーションモジュール103へ伝送され、工程シミュレーションモジュール103は、動作経路に対する模擬された工程結果を工程プラニングモジュール102へ戻す。実行可能な命令またはプログラムは、全部または部分的に工程プラニングモジュール102からロボット制御部105へ伝送される。105へ伝送されたこれらの命令またはプログラム（部分）に対して予想された工程結果はまた、工程プラニングモジュール102によって差異決定モジュール104へ送られる。ロボット制御部105は、事前計算された動作経路のロボット命令に応じて、ロボットまたはツール106を制御する。ロボットは実際の走行動作経路を制御機構に戻し、制御機構はそれらを記録する。これらの数値は、同様にロボット制御部によって、工程シミュレーションモジュール103へ戻される。加工後にセンサにより測定された実際効果は、一方で工程シミュレーションモジュール103へ、また他方では差異決定モジュール104へ送られる。
【００２２】
図２において、例示的にオンライン操作できるプラニングツールの単一段階実行が示されている。そこでは、プラニングまたは最適化モジュール112に対するアプリケーションが工程プランナ132と動作プランナ122を交互に呼び出して、所望の効果を達成するために必要なそれぞれのツール経路に対して適したロボット動作を求める。このプラニングは規定された目的に対する最初の計画を作成した後に、計算された効果と実際に測定された効果との間の確定された（104にて）ずれを考慮した調整を計画する。それにより、工程プランナ132は、当該経路に対して模擬された工程結果が規定された基準を充足するように、ツール経路の計画および最適化を行う。そのために、工程プランナ132は工程シミュレーションモジュール103を呼び出す。動作プランナ122は工程プラニングモジュール112により計画されたツール経路の実行可能性をチェックして、場合によりそれらを調整する。最適化された動作経路は、プラニング／最適化モジュール112へ戻される。実行可能ではない動作経路は排除される。コードジェネレータ142はロボット制御部により実行できるプログラムを作成して、それあるいはその一部をロボット制御部105へ伝送する。さらに、事前計算された効果が差異決定モジュール104へ送られ、その後、差異決定モジュール104は、事前計算された効果とセンサにより記録された実際の効果とのずれを評価する。
【００２３】
図３において、オフライン操作できるモジュールとオンライン操作ができるモジュールとに分割されたプラニングの２段階実行が例示的に示されている。アプリケーション用プラニングモジュール112は、ここでも工程プランナ132および動作プランナ122を交互に呼び出して、所望効果を達成するために必要なそれぞれのツール経路に対して適切なロボット動作を求める。このプラニングは、規定された目的に対する最初の動作計画を作成する。工程プランナ132は、当該経路に対して模擬された工程結果が規定された基準を充足するように、ツール経路の計画および最適化を行う。そのために、工程プランナ132は工程シミュレーションモジュール103を呼び出す。動作プランナ122は工程プラニングモジュール132により計画されたツール経路の実行可能性をチェックして、場合によりそれらを調整する。最適化された動作経路は戻され、実行可能ではない動作経路は排除される。プログラムジェネレータ142は、まず、原則としてロボットにより実行できるプログラムと、第二に、該プログラムで達成できる効果ならびにその個々の動作および作業の記述（理想的な実施形態では、効果と作業あるいは動作との単純な相互割当てを行う記述）とを組み合わせる計画を作成する。プログラムジェネレータ142は、プラニングツールIaにおいて求められた計画を分離または解析するモジュール152へこの計画を伝送する。
【００２４】
以後のステップでは、計算された効果とプラニングツールIbにおいて実際に測定された効果との間に生じたずれを考慮するよう動作計画調整が行われる。
【００２５】
この例示的実施形態では、差異決定モジュール104がプラニングツールIbに割り当てられる。最適化アプリケーション162はリアルタイムあるいは段階的に達成すべき目的に対する工程および動作計画の調整を実施して、目的および準目的に対する目的修正および調整済み計画を作成する。これらは、前回の作業の結果において生じ得るずれにも拘わらず、152におけるオフラインにより得られた計画された結果とオンライン調整された経路に対して模擬された結果との差が、全体的または計画の次の経路で最小となるように、各経路に対して模擬された工程を利用した工程最適化モジュール172により調整される。動作プランナ182は、個々の動作経路の実行可能性および非衝突性についてチェックする。求められかつ割当てられた効果に関して有効とみなされた動作経路は、ジェネレータ192によって、まず制御部105へ伝送されるロボットにより実行できる命令に翻訳され、次に差異決定モジュール104へ伝送される事前計算された効果へ別々に翻訳される。
【００２６】
図４によれば、センサユニット３は、データ処理モジュール117を備えたセンサを含み、これにより、例えば3Dデータ、特に表面の点クラウドなどを捕捉および事前処理をすでにしておくことができる。次に、これらのデータは工程関連特徴およびパラメータの抽出モジュール127へ送られ、該モジュールは、例えば、不要なデータの分離および除去を行い、あるいはセンサデータを数学モデルにより解析し、それにより例えば3D点測定値を形状、曲線または表面記述などに変換する。工程の経過または結果あるいは工程の効果を評価するためのモジュール137は工程関連データ、例えば以後の処理のために差異決定モジュール104および工程シミュレーションモデル103へ伝送された実際測定値を表すワークピースの種々の個所において塗布された、あるいは除去された層厚などを明確に決定する。
【００２７】
図５によれば、工程シミュレーションIVは、差異決定モジュール113を含み、これにより、工程の測定された経過または結果と制御機構により実際に実行および記録された動作に対する模擬された工程の経過または結果との比較が、差またはずれを計算することにより行われる。このずれは、107において測定された工程経過と実際に記録された動作／作業に対して模擬された工程経過とのずれを最小化するように、工程モデルを調整するためのモデル調整モジュール123により用いられる。
【００２８】
このために、工程シミュレーションモジュール143が実際の測定結果から所望の僅かな誤差しかずれていない十分に良好な調整された結果を提供するまで、工程モデル133がモデル調整モジュール123により調整される。必要であれば、シミュレーションと測定値との差異誤差を最小化するために、最適化のための点113, 123, 133および143が周期的に稼動する。
【符号の説明】
【００２９】
[図1]
101       入力／インターフェイス
102       プランナ／最適化ユニット
−工程プラニング
−動作プランナ
103       工程シミュレーションおよびモデル調整を含む工程モジュール
104       差異決定（結果、目的）
105       ロボット制御部
106       ツールを備えたロボット
ワークピース／部品
107       センサおよび工程の経過／結果／効果の評価
[図2]
101       入力／インターフェイス
103       工程シミュレーション
工程モデル
モデル調整
104       差異決定結果
105       ロボット制御部
106       ツールを備えたロボット
ワークピース／部品
107       センサおよび工程の経過／結果／効果の評価
112        プランナ／最適化ユニット
アプリケーション
122       動作プランナ
132       工程プランナ
142       シーケンサ（詳細）
コードジェネレータ
[図3]
101       入力／インターフェイス
103       工程シミュレーション
工程モデル
モデル調整
104       差異決定（結果、目的）
105       ロボット制御部
106       ツールを備えたロボット
ワークピース／部品
107       センサおよび工程の経過／結果／効果の評価
112        プランナ・アプリケーション
122       動作プランナ
132       工程プランナ
142       プログラム・ジェネレータ（動作＋結果（領域上））
152       解釈／解析
162       最適化（下位）アプリケーション
172       最適化（下位）工程
182       動作プランナ
192       コード・ジェネレータ
[図4]
101       入力／インターフェイス
102       プランナ／最適化ユニット
−工程プラニング
−動作プランナ
103       工程シミュレーションおよびモデル調整を含む工程モデル
104       差異決定（結果、目的）
105       ロボット制御部
106       ツールを備えたロボット
ワークピース／部品
117        データ事前処理を備えたセンサ
127       工程関連特徴／パラメータの抽出
137       工程の経過／結果／効果の評価
[図5]
101       入力／インターフェイス
102       プランナ／最適化ユニット
−工程プラニング
−動作プランナ
104       差異決定（結果、目的）
105       ロボット制御部
106       ツールを備えたロボット
ワークピース／部品
107       センサおよび工程の経過／結果／効果の評価
113        差異決定
123       モデル調整
133       工程モデル
143       工程シミュレーション 
【図１】
0005848152.tif 000002
【図２】
0005848152.tif 000003
【図３】
0005848152.tif 000004
【図４】
0005848152.tif 000005
【図５】
0005848152.tif 000006