JP2022524385A - プロセス、システム、及び不揮発性記憶媒体 - Google Patents

プロセス、システム、及び不揮発性記憶媒体 Download PDF

Info

Publication number
JP2022524385A
JP2022524385A JP2021553321A JP2021553321A JP2022524385A JP 2022524385 A JP2022524385 A JP 2022524385A JP 2021553321 A JP2021553321 A JP 2021553321A JP 2021553321 A JP2021553321 A JP 2021553321A JP 2022524385 A JP2022524385 A JP 2022524385A
Authority
JP
Japan
Prior art keywords
machine
model
sensor
data
control
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.)
Pending
Application number
JP2021553321A
Other languages
English (en)
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
Application filed by ワンデルボッツ ゲーエムベーハー filed Critical ワンデルボッツ ゲーエムベーハー
Publication of JP2022524385A publication Critical patent/JP2022524385A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36436Arm follows movement of handheld device, camera detects, analyses motion
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36479Record position on trigger of touch probe
    • 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/40116Learn by operator observation, symbiosis, show, watch
    • 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/40391Human to robot skill transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

Figure 2022524385000001
プロセス、システム、及び不揮発性記憶媒体。様々な実施形態によれば、方法は、:
データに基づくマシンに依存しないプロセスモデル(104m)を決定すること(103)であって、データは、プロセスフローを実行するときの(101)作業デバイス(104)の取り扱いを表し、プロセスフローは複数のサブプロセスを有し、複数のサブプロセスの各サブプロセスのプロセスモデル(104m)は、プロセスアクティビティをサブプロセスの空間情報とリンクさせること;及びマシン(114)のモデル(114m)を使用した、マシンに依存しないプロセスモデル(104m)をマシン固有の制御モデル(116m)に模写すること(105)、マシン固有の制御モデル(116m)は、プロセスアクティビティ及びサブプロセスの空間情報に対応する、複数のサブプロセスの各サブプロセスに対するマシン(114)の動作点を定義すること;を有することができる。

Description

様々な例示的な実施形態は、方法、システム、及び不揮発性記憶媒体に関する。
産業用ロボットのプログラミングと関連するシステム制御のプログラミングはどちらも、従来はメーカーとロボットに依存している。プログラミングは通常、1人又は複数の特別に訓練された専門家によってプログラムコードの形式で行われる。したがって、プログラミングは、特にレールベースの(bahn-basierte)アプリケーション(溶接、接着、塗装など)の場合、面倒で高価である。
コストがかかるため、産業用ロボット(単にロボットとも呼ばれる)による自動化は、中小企業にとって経済的に魅力がない。これらは通常、コストを上回る可能性のある、生産のばらつきがほとんどなく、大量に生産されないためである。一方、大企業の場合、プログラミングの柔軟性の欠如は魅力的ではない可能性がある。プログラミングの改造には時間がかかり、その結果、生産サイクルが短くなり、不経済になる。
産業用ロボットと、エンドエフェクタ(例えば、グルーガン)、センサシステム(例えば、カメラ)、制御システム(例えば、プログラマブルロジックコントローラ、SPS)などのさまざまなコンポーネントが統合されているため、プログラミングの複雑さが増している。この点で、以下のサブアスペクトは伝統的に考慮され、取り扱われる。: 軌道の形でのモーションプランニングとモーションコントロール、ロボットに取り付けられたツールの統合と制御(Ansteuerung)、エラーの検出と処理を含むプロセスロジック、プロセスパラメータと変更されたフレームワーク条件への可能な適応、及びロボットの制御をシステム全体の制御に統合すること。
産業用ロボットは、例えば専門家が手動でプログラムすることができる。これは現在でも、アプリケーションの96%以上に当てはまる。その際プログラマーは、ロボットが実行時に自律的にアプリケーションを実行できるようにするプログラムコードを手動で記述する。
産業用ロボットのプログラミングは、CADベースのコード生成を使用して、専門家が代替的又は追加的に実行できる。現実の仮想表現(仮想世界とも呼ばれる)が作成され、ロボットが仮想世界でプログラムされる。ただし、このCADベースのコード生成は、技術者が簡単に実装することはできない。さらに、仮想世界は現実から大きく逸脱することがよくある。わずかな偏差でも、ロボットが実際に動作する際に重大な不一致が生じる可能性がある。このため、コード生成によって生成されるプログラムコードは、通常、プログラマーによっても調整される。
完全に手動のプログラミングの代わりに、訓練プロセス(ティーチインとも呼ばれる)が従来から使用されている。
訓練プロセスでは、例えばロボットを手動で制御できる。例えば、敏感なロボット(コボットとも呼ばれる)を手動で操作することもできる。両方のメカニズムを使用して、軌道(つまり、ロボットが移動するパス)を示すことができる。
ただし、軌跡を超えてロボットが実行することになっているアクティビティは複雑なままであるため、従来は訓練プロセスで考慮されていない。したがって、手動でプログラムする必要がある複雑さは、例えば、エンドエフェクタ、センサ、制御システムなどのロボットのさまざまなコンポーネントを、実行するプロセスに統合することにある。
訓練プロセスは、代替的又は追加的に、対話型入力デバイスを介して行うことができる。この目的のために、6dマウスやインタラクションペンなどのメーカー固有の入力デバイスが従来から使用されている。マニュアル制御又は手動制御と同様に、この場合は軌道のみを訓練できる。したがって、ロボットのさまざまなコンポーネントは、プログラミングを介してマニュアルで統合される。
訓練プロセスは、センサデータ処理によって代替的又は追加的に行うことができる。この目的のために、この目的のために装備されたロボットのエンドエフェクタに、センサーシステム(例えばカメラ)をロボットコントローラに直接統合する、さまざまな拡張機能が提供されている。技術的な制限により、これまでのところ、これはアセンブリアプリケーション(ピックアンドプレースアプリケーションとも呼ばれる)にのみ使用できる。
一般に、伝統的に常にいくつかのマニュアルプログラミングが含まれる。したがって、これらの従来の方法には、マニュアルプログラミング部分がその能力を超えた場合、技術的な素人が実装を完全に実行することはできないという共通点がある。この理由は、アプリケーション全体がさまざまなサブ問題(軌道、エンドエフェクタ制御、センサデータ処理、プロセス制御への統合など)の相互作用であるためである。したがって、簡単な訓練プロセスは、軌道の仕様にのみ集中する。センサデータ処理による訓練プロセスは、ロボットに直接取り付けられたセンサに基づいている。ただし、視野はエンドエフェクタとロボットによって制限されることがよくある。さらに、光の状態や空気の粒子の変化(例えば、塗装時)は、ロボットのセンサに影響を与える。
様々な実施形態によれば、プロセスフローの自動化を容易にする方法、システム、及び不揮発性記憶媒体が提供される。
様々な実施形態によれば、方法は、:
データに基づくマシンに依存しないプロセスモデルを決定すること、ここで、データは、プロセスフローを実行するときの作業デバイスの取り扱いを表し、ここで、前記プロセスフローは複数のサブプロセスを有し、ここで、前記複数のサブプロセスの各サブプロセスのプロセスモデルは、プロセスアクティビティを前記サブプロセスの空間情報とリンクさせること;
マシンのモデルを使用した、マシンに依存しないプロセスモデルをマシン固有の制御モデルに模写すること(Abbilden)、ここで、前記マシン固有の制御モデルは、前記プロセスアクティビティ及び前記サブプロセスの空間情報に対応する、前記複数のサブプロセスの各サブプロセスに対する前記マシンの動作点を定義すること;
を有することができる。データは、プロセスフローが作業デバイスによって実行されるときの作業デバイスの取り扱いを表すことができる。
様々な実施形態によれば、実行するプロセスタスクの全体的な人間のプロセスを説明する、マシンに固有でない(maschinenunspezifisches)プロセスモデルが明確に生成される。プロセスモデルは、例えば、プロセスタスクが人によってどのように実行されるかを追跡することによって作成できる。
次に、自動化された方法でプロセスタスクを実行するハードウェアプラットフォーム(一般にマシンとも呼ばれる)に合わせて調整された、マシンに固有でないプロセスモデルがマシン固有の制御モデルに転送される。その際、選択したハードウェアプラットフォームからのマシン固有の情報が考慮される。
制御プログラムは、ハードウェアプラットフォーム、例えばSPS(プログラマブルロジックコントローラ)、が実行できる、マシン固有の制御モデルから形成できる。
図1及び図3はそれぞれ、概略側面図において様々な実施形態による方法を示す。 図2及び図4Aはそれぞれ、概略フロー図において様々な実施形態による方法を示している。 図1及び図3はそれぞれ、概略側面図において様々な実施形態による方法を示す。 図2及び図4Aはそれぞれ、概略フロー図において様々な実施形態による方法を示している。 図4Bは、概略システム図において、様々な実施形態による方法を実行するためのシステムを示す。 図5は、概略モデル図における様々な実施形態による方法を示す。 図6は、概略フロー図における様々な実施形態による方法を示す。 図7は、概略構造図における様々な実施形態によるマシンを示している。
以下の詳細な説明では、本明細書の一部を形成し、例示の目的で、本発明を実施することができる特定の実施形態が示されている添付の図面を参照する。この点に関して、「上」、「下」、「前」、「後」、「前」、「後」などの方向の用語は、説明されている図(複数可)の向きを参照して使用される。実施形態のコンポーネントは、いくつかの異なる方向に位置決めすることができるので、方向の用語は、説明の目的で使用され、決して限定するものではない。言うまでもなく、本発明の保護の範囲から逸脱することなく、他の実施形態を使用することができ、構造的又は論理的な変更を行うことができる。言うまでもなく、本明細書に記載の様々な例示的な実施形態の特徴は、特に明記しない限り、互いに組み合わせることができる。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではなく、本発明の範囲は、添付の特許請求の範囲によって定義される。
この説明の文脈では、「接続された」、「接続された」、及び「結合された」という用語が、直接及び間接接続、直接又は間接接続、ならびに直接又は間接結合の両方、例えば、機械的、静水圧、熱的及び/又は電気的、例えば直接又は間接、接続及び/又は相互作用、を説明するために使用される。図では、これが適切である限り、同一又は類似の要素に同一の参照記号が付けられている。クラッチは、機械的相互作用(例えば、力、トルクなど)を伝達するように設定できる。
「プロセッサ」という用語は、データ又は信号の処理を可能にするいずれのタイプのエンティティとして理解できる。データ又は信号は、例えば、プロセッサによって実行される少なくとも1つの(すなわち、1つ又は複数の)特定の機能に従って処理することができる。プロセッサは、アナログ回路、デジタル回路、ミックスドシグナル回路、論理回路、マイクロプロセッサ、中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、デジタルシグナルプロセッサ(DSP)、プログラマブルゲートアレイ(FPGA)、集積回路又はそれらのいずれの組み合わせを含むか、又はそれらから形成することができる。以下でより詳細に説明されるそれぞれの機能の他のタイプの実装も、プロセッサ又は論理回路として理解することができる。本明細書で詳細に説明される1つ又は複数の方法ステップの1つ又は複数は、プロセッサによって、プロセッサによって実行される1つ又は複数の特定の機能によって実行(例えば、実装)できることが理解される。
「システム」という概念は、相互作用するエンティティのセットとして理解できる。相互作用するエンティティのセットは、例えば、少なくとも1つの機械的コンポーネント、少なくとも1つの電気機械式コンバータ(又は他のタイプのアクチュエータ)、少なくとも1つの電気コンポーネント、少なくとも1つの命令(例えば、記憶媒体にエンコードされている)、及び/又は少なくとも1つの制御装置を持つか、それから形成することができる。
「アクチュエータ(Stellglied)」(アクチュエータ(Aktuator)又はアクチュエータ(Aktor)とも呼ばれる)という概念は、アクティベーションに応答してメカニズム又はプロセスに影響を与えるように設定されたコンポーネントとして理解することができる。アクチュエータは、制御装置によって発行された命令(いわゆる駆動制御(Ansteuern))を、機械的な動き又は圧力や温度などの物理量の変化に変換できる。アクチュエータ、例えば電気機械変換器は、例えば、駆動制御(Ansteuern)に応答して電気エネルギーを(例えば運動によって)機械エネルギーに変換するように設定することができる。
「制御装置」という概念は、記憶媒体、ファームウェア、又はそれらの組み合わせに保存された、ソフトウェアを実行できる、相互接続及び/又はプロセッサを持つことができる、及びそれに基づいて命令を発行できる、いずれのタイプのロジック実装エンティティとして理解できる。制御装置は、例えば、システム(例えば、その動作点)、例えば、機械又はプラント、例えば、少なくともその運動学的チェーンの動作を制御するために、コードセグメント(例えば、ソフトウェア)によって構成することができる。
制御は、システムへの意図的な影響として理解できる。その際、システムの状態は、アクチュエータを使用して仕様に応じて変更できる。調整(Regeln)は制御(Steuern)として理解することができ、それによって障害によるシステムの状態の変化も打ち消される。コントローラは明らかに前向きの制御区間を持つことができるため、入力変数(Eingangsgroesse)を出力変数(Ausgangsgroesse)に変換する、フロー制御を明確に実装できる。ただし、制御区間は制御ループの一部にすることもできるため、調整(Regelung)が実装される。純粋な順方向制御とは対照的に、調整は、制御ループ(リサイクル)によって影響を受ける入力変数に対する出力変数の継続的な影響を及ぼす。
プロセスフローは、事前定義されたプロセスタスクを満たすすべてのプロセス(例えば、制御されたイベントの時系列)の合計として理解できる。プロセスフローのサブプロセスは、それぞれサブタスク(つまり、プロセスタスクの一部)を実行できる。プロセスシーケンスの性質に応じて、個々のサブプロセスは、インターロック及び/又は相互に構築することができ、例えば厳密な順序で実行することができ、及び/又は相互に独立して、例えば交換可能にすることができる。条件付きサブプロセスは、例えば、割り当てられたプロセス状況が存在する場合、例えば、測定変数のしきい値に達していない場合、又はパターン認識が処理対象のワークピースを認識する場合に、正確に実行、開始、又は終了できる。
プロセスアクティビティとプロセスアクティビティの少なくとも1つのベクトルを各サブプロセスに割り当てることができる。ベクトルは、プロセスアクティビティの少なくとも1つの位置、その変化、空間分布、及び/又は少なくとも1つの方向を定義できる。ベクトルを使用して簡略化された方法で記述されたプロセスアクティビティに関する空間情報も、より複雑又は詳細にすることができる(より一般的には、本明細書では空間情報と呼ばれる)。オプションで、空間情報にプロセスアクティビティの時間表示を割り当てることができる。これは、例えば、プロセスアクティビティの期間、開始、終了、及び/又はサイクルを定義する。
プロセスシーケンスがハンドヘルド作業デバイスによって実行される場合、プロセスアクティビティは、プロセスタスクを達成するために(つまり、サブタスクを実行するために)ワークピースに対応する効果を提供するために、作業デバイスによって実行されるプロセスの合計を表すことができる。対応する空間情報は、効果が提供される場所及び/又はどの分布で、及び/又はこの目的のために作業デバイスがどの空間位置(すなわち、位置及び/又は向き)に配置されるかを説明することができる。作業デバイスの取り扱いは、プロセスフローが実行されるときに作業デバイスが誘導及び/又は作動される方法、例えば、それがどのように保持されるか、どのくらい強く押されるか、及び/又はプロセスがどのくらいの時間実行されるかを説明することができる。
オリジナル、例えば物理オブジェクト(例えばマシン)又はプロセス(例えば制御プロセス又はプロセスフロー)のデータベース(例えば、デジタル及び/又は仮想)の表現は、モデルとして理解できる。モデルを形成するために(いわゆるモデル形成、つまりオリジナルのモデルへの模写すること(Abbildung))、オリジナルを抽象化、パラメータ化、及び/又は簡略化することができる。モデルは例えば、物理的情報(例えば、長さ、距離、重量、体積、組成など)、動きに関連する情報(例えば、位置、向き、動きの方向、加速度、動きの速度など)、論理情報(リンク、シーケンス、結合、相互関係、依存関係など)、時間関連の情報(例えば、タイム、合計期間、頻度、期間(Periodendauer)など)、及び/又はオリジナルに関する機能情報(例えば、電流強度、効果、特性マップ(Kennfeld)又は特性曲線(Kennlinie)、作業点空間、力、自由度など)を含むことができる。
したがって、制御モデルは、自動駆動制御(automatisierten Ansteuerung)の正式な表現を指定できる。制御モデルには、駆動制御のための複数の命令(例えば、マシンを動作点に到達させるため)と、さらに基準を含めることができる。基準を満たすと、割り当てられた命令がトリガー、終了、又は維持される。さらに、制御モデルは、いくつかの基準及び/又はいくつかの命令を互いに論理的にリンクする、及び/又は制御が行われるフロー(例えばフローチャート)を実装する制御ロジックを持つことができる。
同様の方法で、プロセスモデルはプロセスフローの正式な表現を指定できる。プロセスモデルは、プロセスアクティビティと対応する空間情報との間に多数のリンクを持つことができ、且つオプションで、例えば、プロセスアクティビティ中に存在する、対応するプロセス状況をプロセスアクティビティに割り当て、条件付け又は終了することができる。さらに、プロセスモデルは、いくつかのプロセス状況及び/又はいくつかのプロセスアクティビティを論理的にリンクする、及び/又はそれによりプロセスフローが実行されるフロー(フローチャートなど)を実装する、プロセスロジックを持つことができる。例えば、プロセス状況により、空間情報(条件付きサブプロセスを表す)に従ってプロセスアクティビティが割り当てられる可能性がある。同じプロセスアクティビティは、例えばプロセスの状況に応じて、異なる場所で明確に実行できる。
一般に、フローチャートには、少なくとも分岐、ジャンプ、及び/又はループを含めることができる。プロセス状況の有無は、通常、例えば、プロセス状況の存在下又は非存在下で満たされる、少なくとも1つの基準によって表すことができる。
模写(Abbilden)には、初期セット(プロトタイプとも呼ばれる)からターゲットセットへの要素の転送を含めることができる。ここで、ターゲットセットの要素は、プロトタイプのコピー(Abbild)(模写(Abbildung))になる。模写では、模写の少なくとも1つの要素をプロトタイプの各要素に割り当てることができる。模写には、例えば、演算子、変換、及び/又は初期セットの要素へのリンクの適用を含めることができる。要素は一般に、論理関係、リンク、情報、プロパティ、座標又は関連する座標系、数学オブジェクト(数式や数値など)、プロセス、アクティビティなどを持つことができる。
コードジェネレータは、例えばモデリング言語で利用可能なモデルを、例えばマシンの制御装置のプログラミング言語などのプログラミング言語に変換するように設定されたコンピュータプログラムとして理解することができる。モデリング言語、例えば統一モデリング言語(UML)の代替として、又はそれに加えて、ただし、モデルは、マークアップ言語、構造図、デシジョンテーブル、又は別の形式言語にすることもできる。コードジェネレータは、他のオプションのプログラム部分と組み合わせてプログラムを形成できるコードセグメントを生成する(コード生成とも呼ばれます)。
オブジェクトの向き及び/又は位置の空間情報は、ここでは空間位置として理解できる(位置情報又は簡略化された形式では位置とも呼ばれる)。位置は、空間内の位置(例えば、点)と、空間に対するオブジェクトのそれぞれの方向(例えば、方向)の方向を明確に表すことができる。オブジェクトによって次々に取り上げられる一連の空間位置情報は、軌道として理解することができる。位置情報は、軌道に沿った動きが考慮されるように、サイクル又は速度に応じて、オプションで時間に依存することができる(つまり、動きに関連し、次に動きとも呼ばれる)。一般に、空間位置情報又はその他の空間情報は、デカルト座標を使用して3次元空間で記述できる。ただし、円柱座標など、別の座標系を使用することもできる。
図1は、概略側面図における様々な実施形態による方法100を示している。
プログラムされるマシン114も図1に示されている。プログラムされるマシン114は、ワークピースを取り扱い、組み立て、又は機械加工するためのロボット、例えば産業用ロボットであり得る。方法100は、例えば、技術的な素人による完全な自動化アプリケーション(プロセスパラメータ及び統合を含む)のエンドユーザプログラミングを可能にする。
プログラムされるマシン114は、一般に、マニピュレータ114p、114eと、マニピュレータ114p、114eが支持されるフレーム114uとを有することができる。マニピュレータ114p、114eという概念は、例えば、プロセスシーケンスを実行するために、駆動制御(Ansteuerung)によって環境との物理的相互作用が可能になるマシン114の可動部材114v、114g、114eの全体を要約する。駆動制御のために、マシン114は、制御プログラムに従って環境との相互作用を実施するように設定された制御装置712を有することができる。マニピュレータ114p、114e(エンドエフェクタ114eとも呼ばれる)の最後のリンク114eは、例えば、溶接トーチ、把持器具、塗装装置などのような1つ又は複数のツールを有することができる。
マニピュレータ114p、114eは、エンドエフェクタ114eが取り付けられている少なくとも1つの位置決め装置114p、例えば、ロボットアーム114p(より一般的には関節アームとも呼ばれる)を有することができる。ロボットアーム114pは、明らかに人間の腕と同様の機能を提供できる機械式アームを提供する。
ポジショニングデバイス114pのリンクは、例えば、接続リンク114v及び関節リンク114gであり得、ここで、接続リンク114vは、関節リンク114gによって互いに接続されている。関節リンク114gは、例えば、1つ又は複数の関節を有することができる。それらの各関節は、それに接続された接続リンク114vに対して互いに対して回転運動(すなわち、回転運動)及び/又は並進運動(すなわち、変位)を提供することができる。関節リンク114gの動きは、制御装置702によって制御されるアクチュエータによって動かされるように設定することができる。
101において、センサ配置(Sensoranordnung)102(少なくとも1つのトラッカーを有する)は、作業デバイス104に取り付けられ得るか、又は取り付けられるであろう。人106は、センサ配置102が取り付けられた作業デバイス104を用いて、プロセスタスクを完了するためのアクティビティを実行する(例えば、コンポーネントの塗装、製造、及び/又は組み立て)。作業デバイス104は、例えば、人間の作業者106が彼らの仕事において使用、再配置、保持、持ち上げ、及び/又は操作することができるいずれのハンドヘルド作業デバイス104であり得る(例えば、ハンドスクリュードライバー、ペイントガン、コードレスドライバー、又はグルーガン)。
この間、センサ配置102は、センサ配置102の統合センサシステムを介して記録される、データを外部受信機に送信する。データは、例えば、空間内のセンサ配置102の位置及び/又は動き(例えば、加速度及び/又は速度)を表すことができ、並びにオプションとして、作業デバイス104の作動を検出する、少なくとも1つの作動センサ(例えば、ボタン又はスイッチ、より一般的にはトリガーとも呼ばれる)からのデータを有することができる(例えば、いつ及び/又はどのような力でトリガーが作動されるか)。
したがって、外部受信機は、空間701、703、705内のセンサ配置102の時間依存位置を受信する。これに基づいて、作業デバイス104の時間依存位置を決定することができる。オプションで、追加の外部センサシステム112(追加のセンサ配置112とも呼ばれる)からのデータ及び/又はSPSデータを受信機から取得することができる。追加のセンサ配置112は、一般に、静止するように設定することができ、例えば、レーザースキャナ、カメラ、及び/又は距離センサを有することができる。
結果として、例えば高周波での、プロセスフロー全体を説明する時間ベースのデータは、センサ配置102、112によって取得及び記録される。
これらのデータは、後で詳しく説明するように、オプションでアクティビティ固有のプロセスパラメータを持つことができる。アクティビティ固有のプロセスパラメータは、それぞれの機能及び/又は作業デバイス104の動作点のパラメータを有することができる(例えば、塗料スプレーガンの体積流量)。
データ及びオプションのアクティビティ固有のプロセスパラメータに基づいて、103では、プロセスタスクのプラットフォームに依存しないモデル104m(プロセスモデル104mとも呼ばれる)を決定することができる。このプロセスモデル104mは、プロセスタスクの全体的な人間のプロセスを明確に記述している。プロセスモデル104mは、オプションで、人106によって検査及び適合させることができる。
一例では、受信データは、人間が保持する作業デバイス104の時間ベースの動きデータ、トリガーのデータ、及びさらなる外部センサからのデータであり、これらは、タイムスタンプを介して同期された方法で関連付けられる。これらのデータは前処理される。その際、データの有益な価値を大きく損なうことなく、データの量が削減される。次に、データの時系列は、タスク固有の分析アルゴリズムを使用してサブプロセスに分割される(例えば、開始位置を取る、ペイントプロセスを開始する、ペイントする、プロセスを完了する)。次に、例えばメタモデルの形で、プラットフォームに依存しないプロセスモデル104mのインスタンスが生成される。メタモデルは、モデルインスタンスのデータ型とそれらの可能な関係を記述する。この場合、モデルは、例えば、典型的なノードを持つ有向グラフである。ノードには、モデルのパラメータとその値の範囲を説明するデータ型(メタモデルのノード)がある。モデルインスタンスは、例えば人工ニューラルネットワークを使用して入力データに基づいて生成される。人工ニューラルネットワーク(kNN)は、従来のトレーニング方法、例えばいわゆるバックプロパゲーション法でトレーニングできる。トレーニング中、トレーニングベクトルは、それぞれの場合に必要な入力パラメータに従って与えられる(werden)(例えば、作業デバイスのサブオブジェクトの空間座標、関連する時間情報、作業デバイスの作業点/制御点、作業デバイスのプロセスパラメータ、作業デバイスの空間的位置合わせ(位置情報)など)。kNNの入力ベクトルに含まれるパラメータとkNNの出力ベクトルに含まれるパラメータの両方が、アプリケーションに大きく依存するか、プロセスに依存し、それに応じて選択されることに留意されたい。
さらに、特定のハードウェアプラットフォーム114(より一般的にはマシン114とも呼ばれる)を選択することができる(例えば、特定のロボットタイプ又はエンドエフェクタなど)。マシン114のマシンの詳細(例えば、構造)は、マシン114のモデル116mによって考慮に入れることができる。
マシン114のモデル114m及びプロセスモデル104mに基づいて、105のソフトウェアは、ロボット制御702のためのプラットフォーム固有のモデル116m(制御モデル116mとも呼ばれる)を生成することができる。例えば、アクティビティ固有のプロセスパラメータに対応するマシン固有のプロセスパラメータ(例えば、ペイントエンドエフェクタでの体積流量及び/又は移動フロー)を決定できる。
一例では、受信データは、プラットフォームに依存しないメタモデル(より一般的にはプラットフォームに依存しないモデル104m)のインスタンスであり、使用される自動化デバイス(ロボット、エンドエフェクタなど)に関する追加情報である。プラットフォームに依存しないモデル104mは、モデルからモデルへの変換を介してプラットフォームに依存するモデル116mに変換される。プラットフォームに依存するモデル116mも、メタモデルを使用して記述される。プラットフォームに依存しないモデル104mと同様に、プラットフォーム依存モデル116mは、プラットフォーム非依存モデル104mのデータ型及び関係を記述する。モデル変換は、プラットフォームに依存しないモデル104mからのノード又はノードのグループが、プラットフォームに依存するモデル116mのノード又はノードグループにどのように模写されるかの模写関数を記述する。また、これらの生成されたノードが互いにどのように関連しているかについても説明する。模写は、例えば、使用されるそれぞれのプラットフォーム、例えばマシンのそれぞれの特性/機能を考慮して行われる。
例えば、マシンのモデルには以下が含まれ、したがって、以下を考慮に入れる:
- マシンの物理的情報(すなわち、物理的アーキテクチャ)、例えば、エンドエフェクタの長さ及び/又は位置決め装置のコンポーネントの長さ;
- マシンの特性マップ又は特性曲線に関する情報、例えば、エンドエフェクタの最大把持力及び/又は位置決め装置の自由度又は可動域;
- マシンの論理アーキテクチャ、例えば、マシンの個々のコンポーネント(例えば、アクチュエータ)の相互作用及び/又は論理的結合;
- 特定の又は潜在的に利用可能なツールの選択又はそのツールのプロパティ;
- 制御区間又は制御ループのパラメータ、例えば、制御変数又は調整変数(Regelgroessen)、個々のアクチュエータの入力変数又は個々のセンサの出力変数;
- プログラミング固有の情報、例えば、プログラミング言語、プログラミングインターフェースなど;
- マシンの座標系、例えば、個々のアクチュエータの積み重ねられた部分座標系又はマシンの関節リンク、個々の部分座標系の原点、部分座標系の終了位置;
- マシンの許容動作パラメータ、例えば最高作動温度など。
この図は、プロセスモデルに従って、具体的に使用されるプラットフォーム(例えばマシン)の特性が抽象的なプロセスフローに与える影響を明確に示す。
107では、プログラムコード116(例えば、ソースコード)は、コードジェネレータ412を用いて、制御モデル116mに基づいて生成することができる。プログラムコード116は、制御プログラム116が書き込まれるそれぞれのコードを示すことができる。プロセスタスク、情報技術インフラストラクチャ、及び特定の要件に応じて、プログラムコード116が実行されることになっている、さまざまなターゲットプラットフォームを提供できる。その際、プログラムコード116は、通信するシステム全体(例えば、ロボット制御及びSPS制御)のために生成することができる。プログラムコード116は、オプションで、開発者がプログラムコード116を適合させることができる事前定義された部分を有することができる。
一例では、コードは、各ターゲット言語に存在するテンプレートの形式で生成される。これらのテンプレートには、入力としてプラットフォーム依存モデルのインスタンスがあり、それらからテキストフラグメントがどのように生成されるかをメタモデルレベルで記述する。さらに、純粋なテキスト出力に加えて、これらのテンプレートには制御構造(例えば分岐)もある。テンプレートエンジンには、入力としてプラットフォームに依存しないモデルのテンプレートとインスタンスがあり、これから1つ以上のテキストファイルを作成する。
図2は、概略フロー図200の様々な実施形態による方法100を示している。
方法100は、マシン114(例えば、産業用ロボット)によって引き継がれるマニュアルプロセスフローの作業デバイス104にモバイルセンサ配置102を取り付けること201を101に含むことができる。プロセスフローは、例えば、レールベースである(例えば、接着、溶接、塗装、フライス盤用など)。
センサ配置102は、クランプねじ、クリップ又はベルクロ(登録商標)テープを使用して、作業デバイス104に磁気的に取り付けられているか、又は取り付けることができ、且つオプションで、マニュアルプロセスフローの複数の作業デバイス104に順次取り付けることができる。
センサ配置102は、1つ又は複数のセンサ、例えば、いくつかの異なるセンサタイプを、例えば、それぞれが測定される異なる測定変数に対して(例えば、位置、加速度などに対して)持つことができる。センサアセンブリ102は、オプションで、それぞれがセンサ配置102の少なくとも1つのセンサを有する、1つ又は複数のモバイルユニット、例えば、軌道センサ(トラッカーとも呼ばれる)を備えたモバイルユニット、を含むことができる。又は各モバイルユニットは、例えば、それ自体のエネルギー供給及び/又は無線通信のために、自給自足(autark)になるように設定できる。例えば、複数のセンサをモバイルユニットのハウジングに一緒に収容することができる(内部センサとも呼ばれる)。
コンバータ(Wandler)は、センサのタイプに対応する周囲の特性を定性的又は定量的に検出するように、又は測定変数、例えば、物理的又は化学的性質及び/又は物質的性質、として定量的に検出するように設定されたセンサ(検出器とも呼ばれる)として理解できる。測定変数は、センサによる測定が適用される物理変数である。
測定される測定変数のコンテキストに応じて、センサは、例えば、特定のセンサタイプになり得る。例えば、動作点センサ、作動センサ又は軌道センサ。動作点センサは、例えば、作業デバイス104の動作点を検出することができる。軌道センサは、例えば、動き及び/又は位置(Lage)(すなわち、方向(Ausrichtung)及び/又は位置(Position))を検出することができる。
例えば、センサ配置102は、少なくとも1つの光電子センサ(例えば、カメラ)、少なくとも1つの軌道センサ、及び/又は少なくとも1つの動作点センサ(例えば、流れセンサ)を有することができる。軌道センサは、例えば、モーションセンサ(例えば、加速度センサ及び/又は速度センサを有する)及び/又は位置センサ(例えば(z)、方向センサ及び/又は位置センサを有する)を有することができる。
例えば、センサ配置102及び/又は追加のセンサ配置112は、電気力学的特性(例えば、電流、電圧、磁場又は電力(Leistung))を検出するように設定された少なくとも1つのセンサを有する、位置関連の特性(例えば、方向及び/又は位置)を検出するように設定された少なくとも1つのセンサを有する、動きに関連する特性(例えば、速度及び/又は加速度)を検出するように設定された少なくとも1つのセンサを有する、熱特性(例えば、温度又は温度差)を検出するように設定された少なくとも1つのセンサを有する、幾何学的特性(例えば、距離、立体角、体積)を検出するように設定された少なくとも1つのセンサを有する、測光特性(例えば、光強度、明るさ、色、エネルギー、又はパワー(Leisutung))を検出するように設定された少なくとも1つのセンサを有する、及び/又は機械的特性(例えば、力、圧力、質量(Masse)、エネルギー、パワー(Leistung)、トルク、作動など)を検出するように設定された少なくとも1つのセンサーを有することができる。
センサ配置102の少なくとも1つ(すなわち、1つ又は2つ以上)のセンサは、オプションで、モバイルユニットとは別に提供されているか、又は提供することができる。少なくとも1つのセンサは、例えば、作動センサ及び/又は動作点センサを有することができる。少なくとも1つのセンサは、マニュアル作業デバイス104、例えば、マニュアル作業デバイス104の供給装置に取り付けることができる(例えば、体積流量、温度、又は電流強度を測定するため)。例えば、マニュアル作業デバイス104は、例えば、流体及び/又はエネルギーを備えた固定供給装置によって供給されるハンドデバイスであり得る。
動作点は、システムのプロパティと外部の影響及びデバイスのパラメータのために想定される、技術デバイスの特性マップ又は特性曲線上の点を表すことができる。動作点は、デバイスがどのような動作ステータスをゆするかを、明確に説明できる。
方法100は、オプションで、101に、センサ配置102のキャリブレーション(Kalibirieren)203をさらに含むことができる。キャリブレーションには、作業デバイス104の座標系に対してセンサ配置102の位置、追加のセンサ配置112、及び/又はグローバル座標系を較正することが含まれる。グローバル座標系は、例えば、静止している、つまり地球の表面に対して不変の位置を持つことができる。
キャリブレーションは、例えば、作業デバイス104に対するセンサ配置102の位置を検出することを含むことができる。キャリブレーションは、代替的又は追加的に、例えば、グローバル座標系に関連して、空間内のセンサ配置102の位置を検出することを含むことができる。空間内で、作業デバイス104に対して相対的なセンサ配置102を説明する2つの位置情報項目によって、作業デバイス104の軌道111は、センサ配置102の軌道に基づいて決定することができる(図1を参照)。
方法100は、101に、プロセスフローのマニュアル実装205を含めることができる。マニュアル実装205は、作業デバイス104が手動で(すなわち、人によって)運ばれ、及び/又は操作されることを意味すると理解することができる。例えば、作業デバイス104は、筋力によって運ばれるか、又は少なくとも動かされる作業デバイスであり得る。
プロセスフローの実行中205、少なくとも1つのセンサ配置102、112は、外部受信機にデータを送信することができ、及び/又は外部受信機は、例えば、追加のセンサ配置112によって、空間内のセンサ配置102の位置及び動きを検出することができる。その際、例えば、信号は、無線(例えば、Bluetooth)によって外部受信機に送信することができる。代替的又は追加的に、センサ配置102は、作業デバイス104のユーザインターフェースに結合された少なくとも1つのトリガーを有することができる。トリガーは、例えば、ユーザインターフェースで作業デバイス104の手動制御を検出することができる。
プロセスフローの実行中205、代替的又は追加的に、センサ配置102の軌道111(例えば、位置及び/又は動き)の検出は、少なくとも1つのカメラ112又は別のタイプのセンサ112によって、例えば、レーザースキャナ112、距離センサ112、ソナーセンサ112及び/又はレーダーセンサ112によって、行うことができる。
方法100は、さらにオプションで、103に、191に記録された(例えば、203及び/又は205の間に)データの処理ユニット302への送信(図3を参照)、及びプロセスモデル104mを形成するための、プロセスフローの保存されたアクティビティ固有のプロセスパラメータによるデータのオプションの補足、を含めることができる。オプションで、さらに、運動データ又は軌道111を平滑化することができる(例えば、運動軸に沿って可能な限り真っ直ぐになるように)。
オプションで、プロセスフローの保存されたパラメータは、境界条件、例えば最適値及び/又は限界値を表すなど、を持つことができる。代替的又は追加的に、保存されたパラメータは、プロセスフロー、例えば作業速度、保持時間、圧力など、をさらに指定することができる。
確認されたプロセスモデル104mは、プラットフォームに依存せずにセットアップでき、すなわち、特定のロボット114を参照しない。
方法100は、プロセスモデル104mを制御モデル116mに転送すること209を105に含めることができる。この目的のために、1つ又は複数の異なるマシン114の格納されたマシン固有の情報114mを用いたプロセスモデル104mの処理を行って、マシン114の制御モデル116m(プロセス固有及びマシン固有のモデル116mとも呼ばれる)を形成することができる。マシン固有の情報114mの合計は、前記又は各マシン114のモデル114mと呼ばれている又は呼ぶこともできる。
マシンの情報114mは、マシン固有の識別変数(Kenngroessen)、例えば、位置決め精度及び繰り返し精度、最大運動空間(Bewegungsraum)、速度、加速度など、を持つことができる。代替的又は追加的に、マシン固有の情報114mは、例えば、マシン114の位置決め装置114pに取り付けられた、マシン114の少なくとも1つのツール114e(工作機械114eとも呼ばれる)を表すことができる。
オプションで、方法100は、103にプロセスモデル104mの後処理207を含めることができる。方法100は、オプションで、105に形成された制御モデル116mの後処理211を含めることができる。後処理207は、例えば、ユーザインターフェース(Benutzeroberflaeche)406(ユーザインターフェース(Benutzerschnittstelle)とも呼ばれる)及び/又は(アプリケーション)ソフトウェア(例えば、PC、タブレット、又はスマートフォンで実行される)の助けを借りて、ユーザによって実行することができる(図4Aを参照)。オプションで、方法100は、仮想環境での制御モデル116m又はプロセスモデル104mの視覚化とシミュレーション、及び/又は軌道111、113、プロセスロジックの編集、プロセスパラメータ及びユーザがマシンに接続したツールの統合と制御を、207又は211に含めることができる。プロセスモデル104mの空間部分モデル502のオプションの視覚化は、例えば、対応するワークピースの表現を用いて行うことができる(図5を参照)。
さらに、方法100は、107において、オプションで異なるタイプの1つ又は複数のマシン114のためのコード生成を、オプションで、考えられるさまざまなSPS制御システムを考慮して有することができる。対応するマシン114によって実行することができる制御プログラム116は、コード生成107によって形成することができる。
コード生成107は、例えば、各ターゲット言語に存在するテンプレートの形で行われる。これらのテンプレートには、入力としてプラットフォーム依存モデルのインスタンスがあり、且つメタモデルレベルでテキストフラグメントがそれらからどのように生成されるかを記述する。これらのテンプレートには、純粋なテキスト出力に加えて、制御構造もある(例えば、分岐)。次に、テンプレートエンジンには、入力としてテンプレートとプラットフォームに依存しないモデルのインスタンスがあり、且つこれから1つ以上のテキストファイルを作成する。
コード生成107は、例えば、ロボットコントローラ702及び/又はSOSコントローラ702に対して行うことができる。コード生成107は、例えば、人間が読めるコードセグメント(すなわち、ソースコード)及び/又はマシンが読めるコードセグメント(すなわち、マシンコード)を生成することができる。ソースコードは、例えば、対応するマシンに適したターゲット言語に応じて、さまざまなターゲット言語用に生成できる。オプションで、ソースコードは、その後、例えば、開発者によって、例えば、ユーザインターフェース406によって、その後、適合及び編集され得る。
図3は、概略側面図300において、様々な実施形態による方法100を示している。
センサ配置102は、例えば、技術的な素人106にもアクセス可能な、産業用ロボットを訓練するためのソフトウェアベースの方法100を可能にすることができる。例えば、非プログラマー106は、完全に統合された産業用ロボット114を訓練することを可能にすることができる。
方法100を使用して、少なくとも1人のタスクエキスパート106(例えば、整備士又は溶接工)は、プロセスフローの1つ又は複数のアクティビティを例示的に示すことができる。これに基づいて、必要なすべてのソフトウェアコンポーネントを含む、ロボット114に必要な制御ソフトウェアを、完全に自動化された方法で生成することができる。方法100によって提供される制御モデル116mは、特定のマシンタイプに依存せず、したがって、例えば、別の製造業者からの任意のマシンタイプに再利用することもできる。したがって、マシン114の変更を容易にすることができる。
方法100は、101でセンサ配置102(明らかに物理的なセンサコンポーネント)及び/又は追加の(明らかに外部の)センサ配置112によるデータを取得することを含み得る。前記又は各モバイルユニットは、作業デバイス104に取り付けることができ、且つそれに組み込まれた少なくとも1つのセンサによって、作業デバイス104の位置及び/又は加速度を検出することができる。センサ配置102の前記又は各モバイルユニットの作業装置104への取り付けは、締結装置によって101で行うことができる(例えば、磁気的に、クリップ、又はベルクロテープによって)。
作業デバイス104の軌道(例えば、位置及び/又は動き)を表す、他の測定変数も記録できる。
さらに、センサ配置102は、作業デバイス104の手動制御を検出する少なくとも1つのトリガー102tを有することができる(例えば、グルーガンのトリガー上に)。追加のセンサ配置112は、空間302内のセンサ配置102の位置を検出することができる。センサ配置102(例えば、そのモバイルユニット)からのデータ及び外部センサシステム112からのデータの両方は、外部受信機を有するか、又はそれに通信可能に接続されているコンピューティングユニット302(例えば、PC、ラップトップなど)に時間同期された方法で送信することができる。
オプションで、センサ配置102は、作業デバイス104に対するその相対位置(すなわち、位置及び/又は向き)で較正される203。例えば、作業デバイス104の座標系におけるセンサ配置102の位置及び/又は向きを決定することができる。さらキャリブレーション(Kalibrierung)は、センサ配置102の座標系をマシン114の座標系とリンクするグローバル座標系で行うことができ、その結果、それらの間で変換を行うことができる。
図4Aは、概略フロー図400aの様々な実施形態による方法100を示している。
101において、人は、例として、実際の作業デバイス104を用いてプロセスフローを1回又は複数回実行することができる205。例えば、プロセスフローは、電動ドライバー104を使用してねじをねじ込むことを含むことができる。この場合、センサ配置102及び/又は追加のセンサ配置112は、作業デバイス104の空間位置(及び/又はその変化)を表す少なくとも1つの測定された変数を検出することができる。より一般的に言えば、作業デバイス104の軌道111を記録することができる。作業デバイス104の軌道111は、例えば、速度、位置、加速度、及び/又は作業デバイス104の向きに関する情報を有することができる。
同様の方法で、作業デバイス104によって提供される機能(及び/又はその変化)は、パラメータ化された方法で、例えば作業デバイスのシャフトの速度、作業デバイスの加熱装置の温度、作業デバイスの溶接先端を流れる電流など、を記録することができる。代替的又は追加的に、作業デバイス104が作動されるとすぐに、及び/又はどのような力で作動するかについて、トリガー102tによってパラメータ化された方法で記録することができる。より一般的に言えば、トリガー102tは、例えば、作業デバイス104のユーザインターフェースで、作業デバイス104の手動制御を検出するように設定することができる。
101で収集されたデータ402は、コンピューティングユニット302(又は別の処理ユニット)に送信することができ、且つそこで、アクティビティ固有のプロセスパラメータ404(例えば、スプレーガン104の体積流量)で強化することができる。アクティビティ固有のプロセスパラメータ404による強化は、例えば、自動又はマニュアルで(例えば、ユーザ入力を介して)行うことができる。
一例では、ユーザは、コンピューティングユニットのグラフィカルユーザインターフェースにおいて、一連のツール(例えば、スプレーガン)から選択することができる。タスクに応じて、プロセス固有のパラメータ(例えば、体積流量)が入力フォームを介して照会される。
コンピューティングユニット302は、取得されたデータ402を使用して、特定の自動化を参照せずにプロセスタスクを記述するプロセスモデル104m(プロセス固有モデルとも呼ばれる)103を作成することができる。オプションで、処理ユニット302は、例えば、データを最適化及び/又は抽象化するために、データ402を変更するように設定することができる。例えば、変更には、軌道111(例えば、移動データ)を間引く及び/又は平滑化すること、サブプロセスを識別及び/又は最適化すること、及び論理関係を閉じることが含まれ得る。
プロセスモデル104mは、オプションで、ユーザインターフェース406(例えば、PC、タブレット、又はスマートフォンで提供される)によって後処理することができる。例えば、作業デバイス104(作業デバイス経路111とも呼ばれる)の軌道111の構成要素(例えば、セクション又は個々の点)は、適合及び/又は微調整することができる。代替的又は追加的に、少なくとも1つのトリガー102tによる作動は、追跡され、変更され、及び/又は軌道111にリンクされ得る。
プロセスモデル104mは、マシン固有の情報114m(例えば、特定のロボットプラットフォーム114又は少なくともエンドエフェクタ114e)、例えば、マシン固有のプロセスパラメータ114m(例えば、塗装エンドエフェクタでの体積流量)でさらに強化することができる405。処理ユニット302は、プロセスモデル104m及び提供されたマシン固有の情報114mから制御モデル116mを自動的に決定することができる。制御モデル116mは、特定のハードウェアプラットフォーム112及びコンステレーションのための自動化スクリプトを表す。
一例では、受信データは、プラットフォームに依存しないメタモデル(より一般的なプラットフォームに依存しないモデル104m)のインスタンスであり、並びに使用される自動化デバイス(ロボット、エンドエフェクタなど)に関する追加情報である。プラットフォームに依存しないモデル104mは、モデルからモデルへの変換を介してプラットフォームに依存するモデル116mに変換される。プラットフォームに依存するモデル116mも、メタモデルを使用して記述される。プラットフォームに依存しないモデル104mと同様に、プラットフォームに依存するモデル116mは、プラットフォームに依存しないモデル104mのデータ型及び関係を記述する。モデル変換は、プラットフォームに依存しないモデル104mからのノード又はノードのグループが、プラットフォームに依存するモデル116mのノード又はノードグループにどのように模写されるかの模写機能を説明する。さらにこれらの生成されたノードが互いにどのように関連しているかについて説明する。模写は、例えば、使用されるそれぞれのプラットフォーム、例えばマシンのそれぞれの特性/機能を考慮して行われる。
マシンのモデルには、例えば、次のものを含めることができ、及びしたがって、次のことを考慮に入れることができる。:
- マシンの物理的情報(すなわち、物理的アーキテクチャ)、例えば、エンドエフェクタの長さ及び/又は位置決め装置の構成要素の長さ;
- マシンの特性マップ又は特性曲線に関する情報、例えば、エンドエフェクタの最大把持力及び/又は位置決め装置の自由度又は可動域;
- マシンの論理アーキテクチャ、例えば、マシンの個々の構成要素(例えば、アクチュエータ)の相互作用及び/又は論理的結合;
- 特定の又は潜在的に利用可能なツールの選択又はそのツールのプロパティ;
- 制御区間又は制御ループのパラメータ、例えば、制御変数又は調整変数(Regelgroessen)、個々のアクチュエータの入力変数、又は個々のセンサの出力変数;
- プログラミング固有の情報、例えば、プログラミング言語、プログラミングインターフェースなど;
- マシンの座標系、例えば、個々のアクチュエータの積み重ねられた部分座標系又はマシンの関節リンクのそれぞれ、個々の部分座標系の原点、部分座標系の終了位置;
- マシンの許容動作パラメータ、例えば最高作動温度など;
この図は、プロセスモデルに従って、具体的に使用されるプラットフォーム(例えばマシン)の特性が抽象的なプロセスフローに与える影響を明確に示している。
マシン固有の制御モデル116mは、オプションで、ユーザインターフェース406(例えば、PC、タブレット、又はスマートフォンで提供される)によって後処理211することができる。例えば、マシン114(例えば、エンドエフェクタ114e)の軌道113は、適合及び/又は変更することができる。代替的又は追加的に、異なるアンカーポイント間の遷移、運転速度、停止時間などを、例えば指定して変更することができる。オプションで、エラー補正及び/又はプラント制御との通信パスを定義できる。
さらに、マシン114の制御装置702(コントローラ702とも呼ばれる)上で実行することができ、例えば、訓練された(angelernten)プロセスフローを完全に実施するプログラムコード116は、制御モデル116mから生成することができる107。
一例では、コードは、各ターゲット言語に存在するテンプレートの形式で生成される。これらのテンプレートには、入力としてプラットフォーム依存モデルのインスタンスがあり、それらからテキストフラグメントがどのように生成されるかをメタモデルレベルで記述する。純粋なテキスト出力に加えて、これらのテンプレートには制御構造(例えば分岐)もある。テンプレートエンジンは、入力としてテンプレートとプラットフォームに依存しないモデルのインスタンスを持ち、そこから1つ以上のテキストファイルを生成する。
オプションで、外部システム、例えば、PC、SPSなど、を使用して、エンドエフェクタ114eを制御することができる。この場合、マシンの内部制御装置116aのためのプログラムコード116に代替的又は追加的に(ロボットコードとも呼ばれる)、外部システム116bの及び/又はこれに対する通信インターフェース116bのプログラムコード116を生成することができる。
より一般的に言えば、マシン114は、マシン114のエンドエフェクタ114e及び/又は位置決め装置114pを制御するように設定された、内部116a及び/又は外部116b制御装置702を含み得る。プログラムコード116は、制御装置116a、116bによって実行することができる。
プログラムコード116は、制御プログラム116が書かれているそれぞれのコードを示すことができる。プロセスタスク、情報技術インフラストラクチャ、及び特定の要件に応じて、プログラムコード116がリストされるさまざまなターゲットプラットフォームを提供できる。プログラムコード116は、通信するシステム全体に対して生成することができる(例えば、ロボット制御とSPS制御)。プログラムコード116は、オプションで、プログラムコード116が開発者によって適合され得る、事前定義された部分を有することができる。
オプションで、プログラムコード116は、その後、例えば、ユーザインターフェース406及び/又は人106によって、例えば、適合させることができる。
図4Bは、概略システム図の様々な実施形態による方法100を実行するためのシステム400bを示している。
システム400bは、少なくとも1つのセンサ配置452、例えば、作業デバイス104又は固定センサ配置112に取り付けることができるセンサ配置102、例えば、作業デバイス104に取り付けることができるセンサ配置102又は静止センサ配置112、を有することができる。システム400bはさらに、方法100を実行するように設定された1つ又は複数のプロセッサを有する、少なくとも1つのコンピューティングユニット302を有することができる。システム400bは、オプションで、マシン固有の制御モデル116mを制御プログラム116に転送するように209設定されたコードジェネレータ412を有することができる。システム400bは、オプションで、制御プログラム116でプログラムされた制御装置702及びプログラミングインターフェース702iを有する、制御プログラム116を制御装置702に提供することができる、マシン114を含み得る。
図5は、概略モデル図500の様々な実施形態による方法100を示している。
プロセスモデル104m(プロセス固有のモデル)は、基盤となる自動化ソリューションを参照せずに、プロセスタスクを明確に記述している。プロセスモデル104mは、いくつかの部分モデル502、504、506を有することができる(例えば、サブプロセスごとに)。
第1の部分モデル502(空間モデル502とも呼ばれる)は、物理的、幾何学的、位置関連及び/又は動き関連の特性、例えば、オブジェクト、デカルト空間701、703、705におけるそれらの形状又は位置、及び/又はデカルト空間701、703、705における少なくとも1つの軌道111、を記述することができる。さらに、空間モデル502は、デカルトで注釈が付けられたプロセスアクティビティ(例えば、オブジェクトを把持する)及び/又はアクティビティ関連のプロセスパラメータを記述することができる。デカルト空間は、例えば静止している方向701、703、705によってまたがっている、又はまたがることができる。
オプションで、第1の部分モデル502は、第3のモデル506(論理モデル506とも呼ばれる)によって論理モデルを参照する代替軌道111又はそのセクションを記述することができる。空間モデル502は、プロセスタスクが物理空間701、703、705でどのように実行されるか、及び
どのタスク固有のプロセスアクティビティ(例えば、スプレーガンのスプレー機能のアクティブ化)がそれにリンクされているかを明確に説明する。プロセスアクティビティは、少なくとも1つのアクティビティ関連のプロセスパラメータ、例えば、少なくとも1つの位置関連及び/又は動き関連のプロセスパラメータ(例えば、速度)及び/又は少なくとも1つの機能的プロセスパラメータ(例えば、スプレーガンの体積流量)、で表すことができる。
空間モデル502は、例えば、時間の経過に伴う3次元空間におけるツールの位置及び回転を記述する。
第2の部分モデル504(マシンに固有でない適応モデルとも呼ばれる)は、どの異なるプロセス状況514が発生する可能性があるか(例えば、構成要素A又は構成要素Bの塗装)、及び/又はこれらのプロセス状況514が、例えば基準に基づいて(例えば、構成要素Aの形状及び/又は構成要素Bの形状に基づいて)どのように区別され得るかを記述することができる。例えば、第2の部分モデル504は、プロセス状況514を認識するための基準を定義する(例えば、構成要素の形状を認識するためのカメラによって)。オプションで、第2の部分モデル504は、例えば、訓練101の間に記録された基準の参照データ(例えば、構成要素の例示的な画像)を記述する。
一例では、このために環境変数が定義されている(例えば、構成要素の形状、温度など)。環境変数に基づいて、これらの環境変数の特定の値の割り当てに対して状況が定義される(例えば、寒い環境での自動車のドア)。次に、これらの状況は、自動化プロセス(例えば、代替軌道を駆動する)又はプロセスパラメータ(例えば、速度)の適応を実行するために、論理モデル506で参照され得る。
第3の部分モデル506(マシンに固有でない論理モデルとも呼ばれる)は、基礎となるプロセスロジック516を説明する。プロセスロジック516は、例えばプログラミング言語などの少なくとも1つの制御構造516(例えば、ループ、分岐、ジャンプ、呼び出しなど)を有することができ、これを空間モデル502及び適応モデル504とリンクすることができる。このようにして、複雑なフローチャートを表すことができる。例えば、「構成要素Aが認識された場合、そこに注釈が付けられたプロセスパラメータを使用してパス111にジャンプする」。
制御モデル116mは、特定のハードウェア選択(位置決め装置114p、制御装置702及び/又はエンドエフェクタ114e)のための完全に統合された自動化スクリプトを表すことができる。制御モデル116mは、いくつかの部分モデル552、554、556、558を含むことができる。
追加の第1の部分モデル552(物理モデル552とも呼ばれる)は、しかしながら、マシン114に関連して、物理モデル502と同様に空間情報を明確に記述する。例えば、プロセス固有の情報は、マシン114の座標系705、713に転送することができる。その際、訓練プロセス101中に作業デバイス104が検出されたときに、座標系701、703、705をマシン705、713の座標系705、713、例えばそのツール114e、105aに模写するため、マシン114のエンドエフェクタ114eの取り付け及び位置合わせを考慮に入れることができる。オプションで、第1の部分モデル502の少なくとも1つのアクティビティ関連プロセスパラメータは、エンドエフェクタ114eの特定のツールに(すなわち、マシン固有の)模写することができる105a。
追加の第2の部分モデル554(マシン固有の適応モデル554とも呼ばれる)は、多数のパラメータ及び状況を記述することができる。パラメータには、名前とデータ型を指定できる。例えば、マシン114の利用可能なセンサ114に基づいてパラメータ値(測定値とも呼ばれる)を決定するための依存性を指定することができる。マシンに固有でない適応モデル504からの模写すること105bによって、マシン固有の適応モデル554を導出することができ、オプションで、ユーザによってさらに改良することができる211。
追加の第3の部分モデル556(マシン固有の論理モデルとも呼ばれる)は、制御構造516(例えば、ループ、条件など)を備えた手続き型プログラミング言語のプログラミング言語に依存しない表現を有することができる。マシン固有の論理モデル556は、他の部分モデル、例えば、物理モデル552、相互作用モデル558、及びマシン固有の適応モデル556、を互いに明確にリンクすることができる。マシン固有の論理モデル556は、模写105cによって、マシンに固有でない論理モデル506から決定することができる。
第4の部分モデル558(相互作用モデルとも呼ばれる)は、自動化スクリプトと可能な外部システム518との統合を説明することができる。外部システム518は、少なくとも1つのセンサ(例えば、少なくとも1つのカメラ)、制御装置、又はビジネスリソース計画システム(ERPシステム)を有することができる。
この目的のために、マシン114がシステムランドスケープに520を通信可能に埋め込む、少なくとも1つの統合固有のプロトコルを定義できる。相互作用モデル558は、例えば、マシン固有の論理モデル504に基づいて決定することができ、オプションで、ユーザによってさらに改良することができる211。
物理モデル552は、エンドエフェクタ114eのアクティビティと組み合わせて、移動プロセス及び移動シーケンスを明確に定義することができる。相互作用モデルは、マシン114がシステムランドスケープ内でどのように通信するかを説明する(例えば、データは、外部システム518との間で送信及び/又は受信される)。マシン固有の適応モデル556は、どの条件下でどのアクションが必要であるかを説明している。
図6は、概略フロー図600における様々な実施形態による方法100を示している。
コードジェネレータ412を用いて、制御モデル116mの複数の部分モデル(プロセス固有及びマシン固有のモデル)をコードセグメントに変換することができる。換言すれば、マシン114によって実行され得る制御プログラム116を形成することができる。
制御プログラム116は、マシン114のそれぞれのターゲットフォーマットでセットアップされたソースコードファイルを持つことができる。各マシン114(例えば、ロボットプラットフォーム)は、少なくとも1つのプログラミング言語(例えば、KRL、Rapid、Visual Basicなど)で制御プログラム116のコードを実行することができる。制御モデル116mのいくつかの部分モデルのテキストへの(すなわち、コードセグメントへの)転送は、テンプレートを使用して行うことができる。テンプレートは、プロセス固有及びマシン固有のモデル114m、104mでインスタンス化して、それぞれのプログラムコードを生成できる。
図7は、概略構造図700の様々な実施形態によるマシン114を示している。
本明細書では、マシン114は、制御プログラム116によってプログラム可能なマシンであり得る。プログラムされると、マシン114は、プロセスフローを自律的に実行するように、及びオプションで、センサ情報の関数として制限内でプロセスフロー(すなわち、タスクの実行)を変更するように設定することができる。
マシン114は、制御プログラム116に従って、マシン114の少なくとも1つのアクチュエータ(Stellglied)704(アクチュエータ(Aktor)とも呼ばれる)を制御するように設定された制御装置702を有することができる。制御装置702は、例えば、1つ又は複数のプロセッサ及び/又は記憶媒体を有することができる。マシン114のマニピュレータ114p、114eは、キネマティックチェーン706を有することができ、それに沿って、少なくとも1つのアクチュエータ704の作用が、例えば、キネマティックチェーン706のリンクの相互の結合に沿って伝達される。制御装置702は、例えば、プログラマブルロジックシステム(speicherprogrammierbares System,SPS)を有することができる。
キネマティックチェーン706は、位置決め装置114pと、位置決め装置114pによって位置決めすることができるエンドエフェクタ114eとを有することができる。ワークピースに直接作用するように、例えば、これを加工するように(つまり、それを処理するように)設定されている、マシン114のキネマティックチェーン706の最後のリンクは、エンドエフェクタ114eとして理解することができる。プロセスフローに対応する、ワークピースへの作用、このための準備ステップ、又はこれに対するフォローアップステップなどのアクティビティは、より一般的にはプロセスアクティビティと呼ばれる。プロセスアクティビティは、例えば、プロトタイプ、接合(例えば、溶接、コーティング、ねじ込み、挿入、接触、接着、又はその他の方法での組み立て(Montieren)又は組み立て(Zusammensetzen))、切断(例えば、研削、フライス盤、のこぎり又はその他の鉋加工(Zerspanen)、パンチング又は解体)、成形、加熱、再配置(例:把持、装填、回転、移動)などを有することができる。プロセスアクティビティは、例えば、プロトタイプなどを有することができる。プロセスフローはレールベースにすることができ。すなわち、軌道113に沿ってエンドエフェクタ114eを動かすことによって、模写できる。
位置決め装置114pは、エンドエフェクタ114eをある位置(ポジショニングとも呼ばれる)に変位させるように構成された、少なくとも1つのアクチュエータ704を有し得る。ツールは通常、それによってワークピースに作用する、プロセスアクティビティに適した機能を提供できる。ツールは、例えば、プロトタイプツール、接合ツール(例えば、ドライバー、グルーガン又は溶接デバイス)、変位ツール(例えば、グリッパー)、分離ツールなどを有することができる。接合ツールは、例えば、コーティングツール(例えば、ペイントガン、パウダーコーティングガン)を有するか、又はそれから形成することができる。
オプションで、マシン114は、キネマティックチェーン706の動作点を検出するように、例えば、調整を実施するために設定される、少なくとも1つの内部センサ114iを有することができる。代替的又は追加的に、マシン114は、マシン114の環境の特性を検出するように構成された少なくとも1つの外部センサ114(例えば、カメラ)を有することができる。外部センサ114は、例えば、事前定義されたプロセス状況が存在するかどうか(すなわち、状況関連の基準が満たされているかどうか)を検出するために使用することができる。
少なくとも1つのセンサ114s、114iによって検出されたプロパティは、例えば、基準が満たされているかどうかを決定するために使用することができる。基準がセンサタイプに従ってパラメータ化されている場合(つまり、センサタイプによって記録できるプロパティにマップされている場合)、センサによって検出されたプロパティは、基準が満たされているかどうかを判断するために、パラメータ化された基準と比較できる。
プロセスフローがプログラム可能なマシン114によってシミュレートされる場合、マシン114は、全体として、空間情報に従ってプロセスアクティビティに可能な限り近づく動作点にもたらすことができる。動作点は、例えば、エンドエフェクタ114eがもたらされる位置、及びそこに提供される効果を定義することができる。動作点は、例えば、マシン114の個々のアクチュエータ704の状態の合計を表すことができる。
記憶媒体は、制御装置702の一部として、及び/又はそれとは別に提供されている、又は提供することができる。記憶媒体は、例えば、電子半導体記憶媒体を有する、例えば、読み取り専用メモリ(ROM)又はランダムアクセスメモリ(RAM)、メモリーカード、フラッシュメモリ、
ユニバーサルシリアルバス用スティック(USBスティック)、ソリッドステートドライブ(SSD)、及び/又はハードディスクドライブ(HDD)、ストレージディスク(MD)、ホログラフィック記憶媒体、光学記憶媒体、コンパクトディスク、デジタル多用途ディスク(DCV)、又は光磁気ディスクを有することができる。
前述のように、制御モデルは、マシンを参照して説明されてきた。類推により、説明されたことは、例えば、互いに通信する(例えば、プロセスライン)などの多数の別個のマシン、ならびにいくつかの位置決め装置及び/又はエンドエフェクタを有する1つのマシンに適用することができる。
以下に、上記及び図に示されているものに関連する様々な例を説明する。
実施例1は、以下:
データに基づくマシンに依存しないプロセスモデルを決定すること、ここで、データは、プロセスフローを実行するときの作業デバイスの取り扱いを表し、ここで、前記プロセスフローは複数のサブプロセスを有し、ここで、前記複数のサブプロセスの各サブプロセスのプロセスモデルは、プロセスアクティビティを前記サブプロセスの空間情報とリンクさせること;
マシンのモデルを使用した、マシンに依存しないプロセスモデルをマシン固有の制御モデルに模写すること、ここで、前記マシン固有の制御モデルは、前記プロセスアクティビティ及び前記サブプロセスの空間情報に対応する、前記複数のサブプロセスの各サブプロセスに対する前記マシンの動作点を定義すること;
を含む方法である。
実施例2は実施例1に記載の方法である。ここで、前記模写することは、前記空間情報を前記マシンの位置決め装置の動作点に模写することを含み、;及び/又は、ここで、前記模写することは、前記プロセスアクティビティを、前記マシンの(例えば、移動可能に取り付けられた)エンドエフェクタ(例えば、そのツール)の動作点に模写することを含み;ここで、前記エンドエフェクタは、例えば、前記位置決め装置によって移動可能に取り付けられ、ここで、前記位置決め装置は、例えば、ロボットアームを含み、ここで、前記エンドエフェクタは、例えば、前記プロセスアクティビティを実行するように設定される。
実施例3は、実施例1又は2に記載の方法である。ここで、前記マシンは、前記動作点が関連する少なくとも1つのアクチュエータを含み、ここで、例えば、前記アクチュエータはモータであり、ここで、例えば、前記アクチュエータは、前記位置決め装置及び/又は前記エンドエフェクタの一部である。
実施例4は、実施例1から3のいずれかに記載の方法である。ここで、前記空間情報は正確に3つの位置座標(例えば、デカルト座標系による)及び/又は正確に3つの方向座標を含み、及び/又はここで、前記空間情報は直線座標系に関連している。
実施例5は、実施例1から4のいずれかに記載の方法である。ここで、複数のサブプロセスのうちの1つ又は複数のサブプロセスが、基準に従って条件付けられ(条件付きサブプロセスとも呼ばれる)、ここで、前記マシンの前記モデルは前記マシンのセンサタイプを表し、ここで、前記模写することは、前記センサタイプに従って前記基準をパラメータ化することを含み(例えば、センサ検出領域に模写される)、ここで例えば、前記プロセスモデルを決定することは、(例えば、前記データに基づいて)前記基準及び/又は前記条件付きサブプロセスを決定することを含む。
実施例6は、実施例1から5のいずれかに記載の方法である。ここで、前記模写することは、前記空間情報を前記マシンの座標系(例えば、前記マシンの少なくとも1つのアクチュエータに関連する)に模写することを含む。
実施例7は、実施例1から6のいずれかに記載の方法である。ここで、前記プロセスモデルを決定することは、前記マシンに依存しないプロセスモデルが実行されることに応じて(例えば、前記データに基づいて)1つ又は複数のプロセスロジック(例えば、ルール)を決定することを含み、ここで、オプションで、前記プロセスロジックは、前記基準が満たされているかどうかを判断するために設定され、ここで、例えば、前記パラメータ化された基準は、前記センサによって検出でき、ここで、例えば、前記模写することは、前記プロセスロジックを制御ロジックに模写することを含む。
実施例8は、実施例1から7のいずれかに記載の方法である。ここで、前記複数のサブプロセスの少なくとも1つのサブプロセスのための前記マシンに依存しないプロセスモデル(例えば、そのプロセスロジック)は、プロセスアクティビティ及び前記サブプロセスの空間情報の少なくとも2つのリンクであり、ここで、前記2つのリンクが、その間で基準に基づいて(例えば、プロセスロジックを使用)決定が下される代替である。
実施例9は、実施例1から8のいずれかに記載の方法である。ここで、前記空間情報は、前記作業デバイスの位置及び/又は向きを表し;及び/又はここで、前記プロセスアクティビティは、前記作業デバイスの作動及び/又は動作点を表す。
実施例10は、ユーザ入力に基づいて、前記マシンに依存しないプロセスモデル又は前記マシン固有の制御モデルを変更するように設定された、ユーザインターフェースを用いて、前記マシンに依存しないプロセスモデル及び/又は前記マシン固有の制御モデルを提示することをさらに含む、実施例1から9のいずれかに記載の方法である。
実施例11は、前記作業デバイスに取り付けられたセンサ配置によって少なくとも部分的に前記データを記録することをさらに含む、実施例1から10のいずれかに記載の方法である。ここで、オプションで、前記作業デバイス(例えば、直接及び/又は筋力)は、人(例えば、その手)によって処理及び/又は運ばれ、ここで、例えば、前記センサ配置は、前記作業デバイスに取り外し可能に(すなわち、可逆的に)取り付けられている。
実施例12は、以下:
データ、例えば、実施例1から11のいずれかに記載のデータを、少なくとも部分的には、(例えば、手動で移動可能な)作業デバイスに取り外し可能に取り付けられたセンサ配置によって、取得すること、ここで、前記データは、プロセスフローが前記作業デバイスによって実行されている間の前記作業デバイスの取り扱いを表し、ここで、前記作業デバイスは人によって動かされること;
前記データに基づいて、前記プロセスフローを表すマシンに依存しないプロセスモデルを決定すること;
を含む方法であって、さらに例えば、:
マシンのモデルを使用した、マシンに依存しないプロセスモデルのマシン固有の制御モデルへの模写すること;
を含む。
実施例13は、実施例11又は12に記載の方法である。ここで、前記センサ配置は、前記センサ配置を前記作業デバイスに取り外し可能に固定するための固定装置を有する。
実施例14は、実施例11から13のいずれかに記載の方法である。ここで、前記センサ配置(例えば、その固定装置)は、1つ又は複数の磁石を含み;及び/又はクランプ装置(例えば、クリップ及び/又はクランプねじを含む)を含み;及び/又はベルクロストリップを含む。
実施例15は、実施例11から14のいずれかに記載の方法である。ここで、前記センサ配置は、前記作業デバイスとは別にエネルギーを供給され;及び/又はここで、前記センサ配置は、前記作動デバイスから電気的に分離されている。
実施例16は、実施例11から15のいずれかに記載の方法である。ここで、前記センサ配置は、1つ又は複数の軌道センサ(例えば、位置センサ及び/又は運動センサ)を有し、それによって前記データが記録される。
実施例17は、実施例11から16のいずれか一項に記載の方法である。ここで、前記センサ配置は、動作点センサを有し、それによって、前記動作デバイス装置の動作点が検出され、ここで、例えば、前記動作点センサは、流量センサ、温度センサ、及び/又は電流センサ(例えば、電力センサ)を有する。
実施例18は、さらに、前記センサ配置から基地局への前記データの無線送信を含む、実施例11から17のいずれかに記載の方法である。ここで、前記基地局は、例えば、コンピューティングユニットを有し、ここで、前記コンピューティングユニットによって、前記マシンに依存しないプロセスモデルは、決定される。
実施例19は、実施例1から18のいずれかに記載の方法である。ここで、例えば前記センサ配置によって記録される前記データは、前記作業デバイスの軌道(例えば、位置関連及び/又は動き関連のプロパティ)を表し、及び/又は、前記作業デバイスの前記作業点に応じたプロパティ(例えば、体積流量、温度、又は電流強度)を表す。
実施例20は、実施例19に記載の方法である。ここで、前記マシンに依存しないプロセスモデルの決定は、例えば、それに沿って、前記作業デバイスがガイドされる、及び/又は前記サブプロセスが実行される、前記プロセスフローの軌跡を決定すること、これをスムーズにすること、及び/又は前記軌道の1つ又は複数のポイントを破棄すること、を含む。
実施例21は、実施例1から20のいずれかに記載の方法である。ここで、前記マシンに依存しないプロセスモデルの決定は、前記プロセスアクティビティ及び/又は前記空間情報の少なくとも1つの境界条件を考慮に入れることをさらに含み、ここで例えば、前記マシンに依存しないプロセスモデルの決定は、前記境界条件を定義する前記複数のサブプロセスの少なくとも1つのサブプロセスのモデルを考慮に入れることをさらに含み、ここで、前記境界条件は、例えば、パラメータ化されており(つまり、パラメータで定義されている)、ここで、前記境界条件は、例えば、プロセスフロー全体に対して定義される。
実施例22は、実施例21に記載の方法である。ここで、前記少なくとも1つの境界条件は、時間情報及び/又は機械的情報に関連し、ここで、例えば、前記少なくとも1つの境界条件は、作動速度、保持時間、力、及び/又は圧力を有する
実施例23は、実施例1から22のいずれかに記載の方法である。ここで、前記データは時間分解的に記録されている。
実施例24は、実施例1から23のいずれかに記載の方法である。ここで、前記マシンの前記モデルは、前記マシンのセンサタイプ、前記マシンのエンドエフェクタ、前記マシンの位置決め装置、及び/又は前記エンドエフェクタ及び/又は前記位置決め装置の物理的構造を考慮に入れており、及び/又はここで、前記マシンの前記モデルは、前記エンドエフェクタの機能特性を考慮に入れる。
実施例25は、実施例1から24のいずれかに記載の方法である。ここで、前記マシンに依存しないプロセスモデルは、前記プロセスフローの結果も表す。
実施例26は、前記マシン固有の制御モデルを、前記マシンによって実行することができる制御プログラムに模写すること、例えば、そのコードセグメントは、前記マシンのプログラミングインターフェースに従って設定されることをさらに含む、実施例1から25のいずれかに記載の方法である。
実施例27は、実施例26に記載の方法である。ここで、前記マシン固有の制御モデルの前記制御プログラムへの模写することは、1つ又は複数のテンプレートを使用することを含む。
実施例28は、実施例27に記載の方法である。ここで、前記テンプレートは、前記マシンの前記モデル、前記プロセスモデル、及び/又は少なくとも1つのサブプロセスのモデルによってインスタンス化される。
実施例29は、さらに、静止して配置された追加のセンサ配置による少なくとも部分的な前記データを取得することを含む、実施例1から28のいずれかに記載の方法である。ここで、例えば、前記追加のセンサ配置及び前記センサ配置及び/又は前記データの対応する部分を前記取得することが同期される。
実施例30は、実施例29に記載の方法である。ここで、追加のセンサ配置は、光電子センサ、距離センサ、ソナーセンサ及び/又はレーダーセンサを有し;及び/又はここで、追加のセンサ配置によって記録されるデータは、作業デバイスの軌道(例えば、位置関連及び/又は動き関連の特性)を表す。
実施例31は、実施例1から30のうちのいずれかに記載の方法を実行するように設定された、1つ又は複数のプロセッサを含むシステムである。オプションで、センサ配置及び/又は追加のセンサ配置との無線通信のための無線通信装置をさらに含む。
実施例32は、前記マシンに依存しないプロセスモデル、前記マシン固有の制御モデル、及び/又は前記マシンの前記モデルが保存されている、又は保存される、1つ又は複数の不揮発性メモリ;及び/又はデータを取得するための1つ又は複数のセンサ配置;をさらに含む、実施例31に記載のシステムである。
実施例33は、実施例1から30のいずれかによる方法がプロセッサによって実行されるときに設定される、コードセグメントを含む不揮発性メモリである。
実施例34は、マシンに依存しないプロセスモデルであり、例えば、実施例1から30のいずれかによる方法からのプロセスモデルである。ここで、複数のサブプロセスの各サブプロセスの前記プロセスモデルは、プロセスアクティビティを前記サブプロセスの空間情報にリンクし、ここで、前記複数の複数の(die mehreren mehrere)サブプロセスは、作業デバイスによって実行されるプロセスフローの一部であり、ここで例えば、前記空間情報は、正確に3つの位置座標(例えば、デカルト座標系による)及び/又は正確に3つの方向座標を有し、及び/又はここで、前記空間情報は直線座標系に関連している。
100 方法
101 プロセスフローの実行、訓練プロセス
102 センサ配置
103 決定すること
104 作業デバイス
104m プロセスモデル
105 模写すること
106 人
107 コード生成
111 軌道
113 軌道
114 マシン
114e エンドエフェクタ
114p 位置決め装置
114m 前記マシンに依存しないプロセスモデル
116 プログラムコード
116m 前記マシン固有の制御モデル
701,703,705 空間

Claims (15)

  1. 方法であって、
    データに基づくマシンに依存しないプロセスモデルを決定することであって、データは、プロセスフローを実行するときの作業デバイスの取り扱いを表し、前記プロセスフローは複数のサブプロセスを有し、前記複数のサブプロセスの各サブプロセスのプロセスモデルは、プロセスアクティビティを前記サブプロセスの空間情報とリンクさせること;及び
    マシンのモデルを使用した、マシンに依存しないプロセスモデルをマシン固有の制御モデルに模写することであって、前記マシン固有の制御モデルは、前記プロセスアクティビティ及び前記サブプロセスの空間情報に対応する、前記複数のサブプロセスの各サブプロセスに対する前記マシンの動作点を定義すること;
    を含む方法。
  2. 前記模写することは、前記空間情報をマシンの位置決め装置の動作点に模写することを含む、請求項1に記載の方法。
  3. 前記模写することは、前記プロセスアクティビティを、前記位置決め装置によって移動可能に支持される前記マシンのエンドエフェクタの動作点に模写することを含む、請求項2に記載の方法。
  4. 前記複数のサブプロセスのうち少なくとも1つのサブプロセスが、基準に従って条件付けられ、
    前記模写することは、前記マシンのセンサタイプに従って前記基準をパラメータ化することを含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記空間情報は、前記作業デバイスの位置及び/又は向きを表す、請求項1から4のいずれか一項に記載の方法。
  6. 前記プロセスアクティビティは、前記作業デバイスの作動及び/又は動作点を表す、請求項1から5のいずれか一項に記載の方法。
  7. ユーザ入力に基づいて、前記マシンに依存しないプロセスモデル又は前記マシン固有の制御モデルを変更するように設定された、ユーザインターフェースを用いて、前記マシンに依存しないプロセスモデル及び/又は前記マシン固有の制御モデルを提示することをさらに含む、請求項1から6のいずれか一項に記載の方法。
  8. 前記作業デバイスに取り付けられたセンサ配置によって少なくとも部分的に前記データを記録することをさらに含む、請求項1から7のいずれか一項に記載の方法。
  9. 以下:
    前記センサ配置によって記録されたデータは、
    前記作業デバイスの軌道;及び/又は
    前記作業デバイスの動作点に応じた特性;
    を表すこと、をさらに含む、請求項8に記載の方法。
  10. 静止して配置された追加のセンサ配置によって少なくとも部分的に前記データを記録することをさらに含む、請求項1から9のいずれか一項に記載の方法。
  11. 前記マシン固有の制御モデルを、前記マシンで実行できる制御プログラムに模写することをさらに含む、請求項1から10のいずれか一項に記載の方法。
  12. 前記マシン固有の制御モデルを前記制御プログラムに模写することは、1つ又は複数のテンプレートを使用することを含むことをさらに含む、請求項11に記載の方法。
  13. 前記マシンの前記モデルを使用して前記テンプレートがインスタンス化されることをさらに含む、請求項12に記載の方法。
  14. 請求項1から13のいずれか一項に記載の方法を実行するように設定された1つの又は1つ以上のプロセッサを含むシステム。
  15. プロセッサによって実行されるとき、請求項1から13のいずれか一項に記載の方法を実行するように設定されるコードセグメントを含む不揮発性記憶媒体。
JP2021553321A 2019-03-07 2020-03-06 プロセス、システム、及び不揮発性記憶媒体 Pending JP2022524385A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102019105820.1 2019-03-07
DE102019105820.1A DE102019105820A1 (de) 2019-03-07 2019-03-07 Verfahren, System sowie nichtflüchtiges Speichermedium
PCT/EP2020/056052 WO2020178435A1 (de) 2019-03-07 2020-03-06 Verfahren, system sowie nichtflüchtiges speichermedium

Publications (1)

Publication Number Publication Date
JP2022524385A true JP2022524385A (ja) 2022-05-02

Family

ID=69784434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021553321A Pending JP2022524385A (ja) 2019-03-07 2020-03-06 プロセス、システム、及び不揮発性記憶媒体

Country Status (7)

Country Link
US (1) US20220143830A1 (ja)
EP (1) EP3934858A1 (ja)
JP (1) JP2022524385A (ja)
KR (1) KR20220002279A (ja)
CN (1) CN113710430A (ja)
DE (1) DE102019105820A1 (ja)
WO (1) WO2020178435A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11654566B2 (en) * 2020-08-12 2023-05-23 General Electric Company Robotic activity decomposition

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004209641A (ja) * 2002-12-30 2004-07-29 Abb Res Ltd 工業ロボットをプログラミングするための方法およびシステム
JP2015111338A (ja) * 2013-12-06 2015-06-18 株式会社ツガミ 加工プログラム生成装置、加工システム、及び、加工プログラム生成用のプログラム
JP2019013937A (ja) * 2017-07-04 2019-01-31 ファナック株式会社 レーザ加工ロボットシステム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2776477B2 (ja) * 1996-02-13 1998-07-16 川崎重工業株式会社 ロボット3次元位置姿勢教示システム
EP1842631B1 (en) * 2006-04-03 2008-11-19 ABB Research Ltd Apparatus and method for automatic path generation for an industrial robot
US7865285B2 (en) * 2006-12-27 2011-01-04 Caterpillar Inc Machine control system and method
US20090132088A1 (en) * 2007-04-24 2009-05-21 Tairob Ltd. Transfer of knowledge from a human skilled worker to an expert machine - the learning process
US9731419B2 (en) * 2010-08-03 2017-08-15 Praxair S.T. Technology, Inc. System and method for programming robots
US8578346B2 (en) * 2010-09-10 2013-11-05 International Business Machines Corporation System and method to validate and repair process flow drawings
AT12208U3 (de) * 2011-09-06 2013-07-15 Keba Ag Verfahren, steuerungssystem und bewegungsvorgabemittel zum programmieren oder vorgeben von bewegungen oder abläufen eines industrieroboters
JP5549749B1 (ja) * 2013-01-16 2014-07-16 株式会社安川電機 ロボット教示システム、ロボット教示プログラムの生成方法および教示ツール
US9186795B1 (en) * 2013-06-24 2015-11-17 Redwood Robotics, Inc. Programming and execution of force-based tasks with torque-controlled robot arms
EP3126936B1 (en) * 2014-04-04 2019-09-04 ABB Schweiz AG Portable apparatus for controlling robot and method thereof
US20150024345A1 (en) * 2014-10-09 2015-01-22 Reza Eftekhar Ashtiani A milling blank and a method for fabricating dental bridgework using milling blank
TWI805545B (zh) * 2016-04-12 2023-06-21 丹麥商環球機器人公司 用於藉由示範來程式化機器人之方法和電腦程式產品
WO2018022718A1 (en) * 2016-07-26 2018-02-01 University Of Connecticut Skill transfer from a person to a robot
JP6469069B2 (ja) * 2016-12-13 2019-02-13 ファナック株式会社 学習を容易化する機能を備えたロボット制御装置、及びロボット制御方法
JP6392905B2 (ja) * 2017-01-10 2018-09-19 ファナック株式会社 教示装置への衝撃を学習する機械学習装置、教示装置の衝撃抑制システムおよび機械学習方法
US10751879B2 (en) * 2017-06-05 2020-08-25 Autodesk, Inc. Adapting simulation data to real-world conditions encountered by physical processes
CN107738256A (zh) * 2017-10-17 2018-02-27 佛山市南方数据科学研究院 一种手把手仿人示教机器人编程***
CN108161904B (zh) * 2018-01-09 2019-12-03 青岛理工大学 基于增强现实的机器人在线示教装置、***、方法、设备
US11281936B2 (en) * 2018-12-31 2022-03-22 Kofax, Inc. Systems and methods for identifying processes for robotic automation and building models therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004209641A (ja) * 2002-12-30 2004-07-29 Abb Res Ltd 工業ロボットをプログラミングするための方法およびシステム
JP2015111338A (ja) * 2013-12-06 2015-06-18 株式会社ツガミ 加工プログラム生成装置、加工システム、及び、加工プログラム生成用のプログラム
JP2019013937A (ja) * 2017-07-04 2019-01-31 ファナック株式会社 レーザ加工ロボットシステム

Also Published As

Publication number Publication date
EP3934858A1 (de) 2022-01-12
WO2020178435A1 (de) 2020-09-10
DE102019105820A1 (de) 2020-09-10
KR20220002279A (ko) 2022-01-06
CN113710430A (zh) 2021-11-26
US20220143830A1 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
Kyrarini et al. Robot learning of industrial assembly task via human demonstrations
Villani et al. Survey on human-robot interaction for robot programming in industrial applications
CN106457565B (zh) 用于对机器人进行编程的方法和***
Huckaby et al. A taxonomic framework for task modeling and knowledge transfer in manufacturing robotics
CN104457566A (zh) 一种无须示教机器人***的空间定位方法
Andersen et al. Definition and initial case-based evaluation of hardware-independent robot skills for industrial robotic co-workers
Nilsson Industrial robot programming
JP2023528249A (ja) ロボット実証学習のためのスキルテンプレート配布
Thomas et al. A system for automatic planning, evaluation and execution of assembly sequences for industrial robots
Wang et al. Augmented reality enabled human–robot collaboration
Matthaiakis et al. Flexible programming tool enabling synergy between human and robot
Tirmizi et al. User-friendly programming of flexible assembly applications with collaborative robots
US20230011979A1 (en) Handheld device for training at least one movement and at least one activity of a machine, system and method
JP7487338B2 (ja) 分散型ロボット実証学習
JP2022524385A (ja) プロセス、システム、及び不揮発性記憶媒体
Huckaby et al. Modeling robot assembly tasks in manufacturing using sysml
Ashley A mosaic for machine tools
Sylari et al. Hand gesture-based on-line programming of industrial robot manipulators
Hopler et al. A versatile C++ toolbox for model based, real time control systems of robotic manipulators
Perumal et al. Physical interaction and control of robotic systems using hardware-in-the-loop simulation
Vidaković et al. Procedure for definition of end-effector orientation in planar surfaces robot applications
Horváth et al. New cognitive info-communication channels for human-machine interaction
Sun et al. Direct virtual-hand interface in robot assembly programming
Bedaka et al. Autonomous Cad Model–Based Industrial Robot Motion Planning Platform
Zaidan A work-piece based approach for programming cooperating industrial robots

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20211214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20211214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240604