(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-02
(54)【発明の名称】生産システムの自動コントロールのためのシステム、方法および記憶媒体
(51)【国際特許分類】
G06F 8/36 20180101AFI20240925BHJP
G06F 9/451 20180101ALI20240925BHJP
G05B 19/418 20060101ALI20240925BHJP
B25J 13/08 20060101ALI20240925BHJP
B25J 9/10 20060101ALI20240925BHJP
【FI】
G06F8/36
G06F9/451
G05B19/418 Z
B25J13/08 Z
B25J9/10 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024513403
(86)(22)【出願日】2021-08-31
(85)【翻訳文提出日】2024-03-28
(86)【国際出願番号】 CN2021115805
(87)【国際公開番号】W WO2023028881
(87)【国際公開日】2023-03-09
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】517291346
【氏名又は名称】シーメンス アクチエンゲゼルシヤフト
【氏名又は名称原語表記】Siemens Aktiengesellschaft
【住所又は居所原語表記】Werner-von-Siemens-Str. 1, D-80333 Muenchen, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ヅゥ ジャン ワン
(72)【発明者】
【氏名】イエ フー
(72)【発明者】
【氏名】ジー リー
(72)【発明者】
【氏名】シュン ジエ ファン
【テーマコード(参考)】
3C100
3C707
5B376
【Fターム(参考)】
3C100AA21
3C100BB13
3C707KS12
3C707KS21
3C707KS33
3C707KT03
3C707KT06
3C707LS15
3C707MS08
5B376AC01
5B376AE20
5B376AE52
5B376FA23
5B376GA13
(57)【要約】
本開示の例は、生産システムの自動コントロールのためのシステム、方法およびコンピュータ可読記憶媒体を提供する。このシステムは、以降のものを含んでおり、すなわち:生産システムのスキルライブラリと、統合実行エンジンと、生産システム内の対応する装置をコントロールするための装置エージェントとを含んでおり、生産システムのスキルライブラリにおいて、生産プロセスに関与するスキルの実現部分をソフトウェア方式で記述して、カプセル化する複数のスキルブロックが設定され;統合実行エンジンは、生産プロセスに関与するスキルのインタフェース部分をソフトウェア方式で記述して、カプセル化する複数のスキル機能ブロックを備え;統合実行エンジンは、スキル機能ブロックに基づいてユーザによってプログラムされた生産手順を受け取り、少なくとも1つの対応するスキルブロックを呼び出すために、生産手順における各スキル機能ブロックを順次開始し;各装置エージェントは、統合実行エンジンまたはスキルブロックからの動作指示に応じた動作を実行するように対応する装置をコントロールするために統合インタフェースを提供する。本発明の実施形態における技術的なスキーマは、生産システムの簡単かつ便利な自動コントロールプログラミングを実現することができる。
【特許請求の範囲】
【請求項1】
生産システムの自動コントロールのためのシステムであって、
前記システムは、生産システムのスキルライブラリと、統合実行エンジンと、生産システム内の対応する装置をコントロールするための装置エージェントとを備えており;
前記生産システムのスキルライブラリは、生産プロセスに関与するスキルの実装部分をソフトウェア方式で記述して、カプセル化する複数のスキルブロックを備え、前記生産システムのスキルライブラリは、受け取ったサービス要求に応じて少なくとも1つの対応するスキルブロックを呼び出し、前記少なくとも1つのスキルブロックの実行結果に応じて、対応するサービス応答を返すように構成されており;前記少なくとも1つのスキルブロックは、スキル実行のニーズに応じて、対応する装置エージェントに動作指示を送り;
前記統合実行エンジンは、前記生産プロセスに関与する前記スキルのインタフェース部分をソフトウェア方式で記述して、カプセル化する複数のスキル機能ブロックを備え;前記統合実行エンジンは、前記スキル機能ブロックに基づいてユーザによってプログラムされた生産手順を取得し、前記生産手順における各スキル機能ブロックを順次開始するように構成されており;スキル機能ブロックが開始されると、前記スキル機能ブロックは前記生産システムのスキルライブラリにサービス要求を送り、前記生産システムのスキルライブラリからサービス応答を受け取り、前記サービス応答のニーズに応じて、対応する装置エージェントに動作指示を送り;
各装置エージェントは、前記統合実行エンジンおよび前記生産システムのスキルライブラリに対して統合インタフェースを提供し、前記統合実行エンジンまたは前記生産システムのスキルライブラリにおけるスキルブロックから前記動作指示を受け取り、前記動作指示に応じた動作を実行するように対応する装置をコントロールし、現在の動作状態または動作結果を前記統合実行エンジンまたは前記スキルブロックにフィードバックするように構成されている、
ことを特徴とするシステム。
【請求項2】
前記生産システムのスキルライブラリは、スキル管理モジュールと、複数のスキルブロックと、第1の通信インタフェースとを備えており;
各スキルブロックは、前記生産プロセスに関与するスキルの前記実装部分をソフトウェア方式で記述して、カプセル化し、各スキルブロックは、呼び出されたときに対応するスキルを実行し、スキル実行のニーズに応じて、前記対応する装置エージェントと対話するように構成されており;
前記スキル管理モジュールは、前記第1の通信インタフェースを通じて受け取った前記サービス要求を解析し、解析結果に応じて、少なくとも1つの対応するスキルブロックを呼び出し、前記少なくとも1つのスキルブロックによって返されたサービス応答を受け取って、出力するように構成されている、
請求項1記載のシステム。
【請求項3】
前記複数のスキルブロックは、少なくとも1つのアクションシーケンススキルブロックと、少なくとも1つのセンサ出力スキルブロックと、少なくとも1つのアルゴリズム計算スキルブロックとを備えており、
各アクションシーケンススキルブロックは、1つのスキルブロックまたは相互に関連する複数のスキルブロックの組み合わせであり、前記アクションシーケンススキルブロックの前記サービス応答はアクションシーケンスをフィードバックし;
各センサ出力スキルブロックは、センサエージェントとの対話を通じてフィールドセンサのデータを取得する、またはセンサデータを入力としてセンサ処理アルゴリズムによって出力されたデータを取得し;前記センサ出力スキルブロックの前記サービス応答はセンサ出力データをフィードバックし;
前記アルゴリズム計算スキルブロックの前記サービス応答は対応する計算結果をフィードバックする、
請求項2記載のシステム。
【請求項4】
前記アクションシーケンススキルブロックは、環境モデリングスキルブロック、無衝突経路計画スキルブロックおよび無衝突パレット積みスキルブロックの組み合わせであり;
前記環境モデリングスキルブロックは、障害物を識別し、環境モデルを生成するように構成されており;
前記無衝突経路計画スキルブロックは、前記環境モデルが与えられたときに、装置が前記環境に衝突しない経路を形成する中間地点を計算するように構成されており;
無衝突パレット積みスキルブロックは、全体のパレット積みアクションシーケンスを生成するように構成されており;
前記センサ出力スキルブロックは、
パッケージの長さ、幅、高さおよび6DoF位置を計算する3D物体位置推定スキルブロックと、
新たなパッケージが積み重ねられる位置を計算するパレット積み位置計算スキルブロックと、
を備えている、
請求項3記載のシステム。
【請求項5】
前記統合実行エンジンは、スキル実行エンジン、複数のスキル機能ブロック、アクションキュー、アクション実行エンジン、第2の通信インタフェースおよび第3の通信インタフェースを備えており;
各スキル機能ブロックは、少なくとも1つのスキルブロックに対応し、各スキル機能ブロックは、スキルの前記インタフェース部分をソフトウェア方式で記述して、カプセル化し;実行時に、前記第2の通信インタフェースを通じて前記生産システムのスキルライブラリにサービス要求を送り、前記生産システムのスキルライブラリによって返されたサービス応答を受け取り;前記サービス応答がアクションシーケンスである場合、前記アクションシーケンスを前記アクションキューに追加し、前記アクションキューから前記アクションシーケンスの現在の動作状態を読み出し;前記現在の動作状態が、前記アクションシーケンスにおける全てのアクションが完了したことを示している場合、前記スキル実行エンジンに完了表示を返すように構成されており;
前記スキル実行エンジンは、前記スキル機能ブロックに基づいてユーザによってプログラムされた生産手順を取得し、前記生産手順における各スキル機能ブロックを順番に開始し;現在のスキル機能ブロックが、完了表示を返す場合、次のスキル機能ブロックを開始し;前記現在のスキル機能ブロックがサービス応答を返す場合および次のスキル機能ブロックの入力として前記サービス応答を用いる必要がある場合、前記サービス応答を前記次の機能ブロックに提供するように構成されており;
前記アクションキューは、前記アクションシーケンスを前記サービス応答に格納し、前記アクションシーケンスの現在の動作状態をリアルタイムで更新するように構成されており;
前記アクション実行エンジンは、前記アクションキューにアクションシーケンスが存在する場合、前記アクションシーケンス内のアクションを順次読み出し、読み出された少なくとも1つのアクションに対応する動作指示を、前記第3の通信インタフェースを通じて対応する装置エージェントに送り、前記装置エージェントによってフィードバックされた現在の動作状態を受け取り、前記現在の動作状態を前記アクションキューに提供し;前記現在の動作状態が、前記現在のアクションが正常に実行されたことを示している場合、前記アクションキューが空になるまで前記アクションシーケンスから前記現在のアクションを削除するように構成されている、
請求項1記載のシステム。
【請求項6】
各スキル機能ブロックがステートマシンを維持し、前記対応するスキル機能ブロックが開始されていない場合、前記ステートマシンは「アイドル」状態であり;前記対応するスキル機能ブロックが開始されている場合、前記ステートマシンは「アクティブ」状態に変換され;前記対応するスキル機能ブロックが正常に実行された場合、前記ステートマシンは「完了」状態に変換され;前記対応するスキル機能ブロックの実行にエラーが発生した場合、前記ステートマシンは「エラー」状態に変換される、請求項5記載のシステム。
【請求項7】
前記装置エージェントは、ロボットエージェントを備えており、前記ロボットエージェントは第4の通信インタフェース、コマンドキュー、コマンド実行エンジン、モーションコマンドチャネル、フォースモーション調整モジュール、補間チャネル、およびロボット状態チャネルを備えており;
前記コマンドキューは前記第4の通信インタフェースを通じて受け取った動作指示を格納するように構成されており;
前記コマンド実行エンジンは、前記コマンドキューから各動作指示を順次読み出し;前記動作指示が純粋なモーション指示である場合、前記モーションコマンドチャネルを通じてロボットコントローラに前記動作指示を送り;前記動作指示が一定の加えられる力を維持するモーション指示である場合、前記動作指示を前記フォースモーション調整モジュールに提供し、前記ロボット状態チャネルを通じて前記ロボットコントローラによってフィードバックされた現在の動作状態を受け取るように構成されており;
前記フォースモーション調整モジュールは、前記動作指示およびフォースセンサによってリアルタイムで収集されたフォースデータに応じて、ロボットの軸関節のモーションを動的に決定し、前記補間チャネルを通じて前記ロボットコントローラに前記軸関節の前記モーションを提供するように構成されている、
請求項1記載のシステム。
【請求項8】
前記フォースモーション調整モジュールは、指示解析モジュール、モーション経路計画モジュール、フォースコントロールモジュールおよび変換モジュールを備えており;
前記指示解析モジュールは、前記動作指示を分析して、ロボットのコントロール情報を取得するように構成されており;
前記モーション経路計画モジュールは、デカルト空間経路およびロボットツールの終端センターポイントの速度を計画し、前記フォースコントロールモジュールに前記デカルト空間経路を提供し、前記フォースコントロールモジュールによってフィードバックされた、微調整されたデカルト空間経路を取得し、前記変換モジュールに、微調整された前記デカルト空間経路を提供し、前記変換モジュールによって変換された、前記ロボットの軸関節位置を受け取り、前記軸関節位置および前記速度を前記ロボットコントローラに提供するように構成されており;
前記フォースコントロールモジュールは、ロボット運動のプロセス中に、フォースセンサによって測定された、前記ロボットツールの前記終端センターポイントのフォースデータを取得し、前記フォースデータに応じて前記モーション経路計画モジュールからの前記デカルト空間経路を微調整して、必要な力を維持するための微調整されたデカルト空間経路を取得し、前記微調整されたデカルト空間経路を前記モーション経路計画モジュールにフィードバックするように構成されている、
請求項7記載のシステム。
【請求項9】
前記装置エージェントは、センサエージェントおよび/またはツールエージェントを備えており、前記センサエージェントまたは前記ツールエージェントは、第4の通信インタフェース、コマンド処理モジュール、コマンドチャネルおよびフィードバックチャネルを備えており;
前記コマンド処理モジュールは、前記第4の通信インタフェースを通じて受け取った動作指示を、前記コマンドチャネルを通じて対応する装置に提供し、現在の動作状態または前記フィードバックチャネルを通じて前記装置によってフィードバックされた動作結果を受け取り、前記現在の動作状態または前記動作結果を前記第4の通信インタフェースを通じて前記バスに送り返すように構成されている、
請求項1記載のシステム。
【請求項10】
生産システムの自動コントロールのための方法であって、前記方法は、
生産プロセスに関与するスキルの実装部分をソフトウェア方式で記述して、カプセル化する複数のスキルブロックと、前記生産プロセスに関与する前記スキルのインタフェース部分をソフトウェア方式で記述して、カプセル化する複数のスキル機能ブロックとを事前設定することと;
前記スキル機能ブロックに基づいてユーザによってプログラムされた生産手順を受け取り、前記生産手順における最初のスキル機能ブロックを現在のスキル機能ブロックとすることと;
少なくとも1つの対応するスキルブロックを呼び出すために、前記現在のスキル機能ブロックを開始することであって、呼び出された各スキルブロックは、対応するスキルを実行し、かつスキル実行の要求に応じて、対応する装置エージェントを通じて動作を実行するように、対応する装置をコントロールすることと;
前記スキルブロックによって返されたサービス応答を受け取り、前記サービス応答のニーズに応じて、対応する装置エージェントを通じて動作を実行するように対応する装置をコントロールすることと;
前記現在のスキル機能ブロックが正常に実行され、かつ開始されていないスキル機能ブロックがまだ存在している場合、次のスキル機能ブロックを前記現在のスキル機能ブロックとし、少なくとも1つの対応するスキルブロックを呼び出すために、前記現在のスキル機能ブロックを開始する動作に戻ることと
を備えている、ことを特徴とする方法。
【請求項11】
サービス応答はアクションシーケンスを備えており;スキル実行の要求に応じて、対応する装置エージェントを通じて動作を実行するように、対応する装置をコントロールすることは、
前記アクションシーケンスをアクションキューに追加することと;
前記アクションシーケンス内のアクションを順番に読み出すことと;
読み出された少なくとも1つのアクションに対応する少なくとも1つの動作指示を、対応する装置エージェントに送ることと;
前記動作指示に応じて前記アクションシーケンス内の前記アクションを順番に実行するように、前記装置エージェントによって、対応する装置をコントロールし、対応する動作状態をフィードバックすることと;
前記動作状態に応じて前記現在のアクションの実行が完了したと決定した場合、現在のアクションを前記アクションキューから削除することと;
前記アクションキューが空の場合、前記アクションシーケンスの実行が完了したと決定されることと
を備えている、請求項10記載の方法。
【請求項12】
前記装置エージェントはロボットエージェントであり;前記動作指示に応じて前記アクションシーケンス内の前記アクションを順番に実行するように、前記装置エージェントによって、対応する装置をコントロールし、対応する動作状態をフィードバックすることは、
前記動作指示をコマンドキューに追加することと;
前記コマンドキューから各動作指示を順次読み出すことと;
読み出された動作指示が純粋なモーション指示である場合、ロボットコントローラが対応する動作を実行することが可能になるように前記動作指示を前記ロボットコントローラに送ることと;
読み出された動作指示が一定の加えられる力を維持するモーション指示である場合、前記動作指示およびフォースセンサによってリアルタイムで収集されたフォースデータに応じて、前記ロボットの軸関節のモーションを動的に決定し、前記ロボットコントローラが対応する動作を実行することが可能になるように前記軸関節の前記モーションを前記ロボットコントローラに送ることと;
前記ロボットコントローラによってフィードバックされた現在の動作状態を受け取ることと
を備えている、請求項11記載の方法。
【請求項13】
前記動作指示およびフォースセンサによってリアルタイムで収集されたフォースデータに応じて、前記ロボットの軸関節のモーションを動的に決定し、前記ロボットコントローラが対応する動作を実行することが可能になるように前記軸関節の前記モーションを前記ロボットコントローラに送ることは、
ロボットのコントロール情報を取得するために前記動作指示を分析することと;
前記コントロール情報に応じてデカルト空間経路およびロボットツールの終端センターポイントの速度を計画することと;
前記ロボットの運動中に、フォースセンサによって測定された、前記ロボットツールの前記終端センターポイントのフォースデータを取得することと;
前記フォースデータに応じて前記デカルト空間経路を微調整し、微調整されたデカルト空間経路を取得することと;
前記微調整されたデカルト空間経路を対応する軸関節位置に変換することと;
前記軸関節位置および前記速度を前記ロボットコントローラに提供することと
を備えている、請求項12記載の方法。
【請求項14】
各スキル機能ブロックがステートマシンを維持し、対応する前記スキル機能ブロックが開始されていない場合、前記ステートマシンは「アイドル」状態であり;対応する前記スキル機能ブロックが開始されている場合、前記ステートマシンは「アクティブ」状態に変換され;対応する前記スキル機能ブロックが正常に実行された場合、前記ステートマシンは「完了」状態に変換され;対応する前記スキル機能ブロックの実行にエラーが発生した場合、前記ステートマシンは「エラー」状態に変換される、請求項10から13までのいずれか1項記載の方法。
【請求項15】
生産システムの自動コントロールのためのシステムであって、
前記システムは、
コンピュータプログラムを格納するための少なくとも1つのメモリと、
請求項10から14までのいずれか1項記載の、生産システムの自動コントロールのための方法を実施するために、前記少なくとも1つのメモリに格納された前記コンピュータプログラムを呼び出すための少なくとも1つのプロセッサと、
を備えている、
ことを特徴とするシステム。
【請求項16】
コンピュータプログラムが格納されている非一時的なコンピュータ可読記憶媒体であって、
前記コンピュータプログラムは、請求項10から14までのいずれか1項記載の、生産システムの自動コントロールのための方法を実施するプロセッサによって実行される、
ことを特徴とする非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
分野
本開示は産業技術に関し、より詳細には、生産システムの自動コントロールのためのシステム、方法およびコンピュータ可読記憶媒体に関する。
【0002】
背景
現在、製造は大量生産から少ロット生産に移行している。したがって、急速に変化する市場の生産需要に対応するために、生産システム(ロボット、アクチュエータ、センサなどを含む)を短時間で再プログラムする必要がある。
【0003】
中国特許出願公開第108400917号明細書は、インテリジェントな製造のためのエッジコンピューティングゲートウェイおよびシステムを提案している。生産ゲートウェイは、要求/応答手順を通じてリソースゲートウェイと知識を交換し、製品の製造方法に関する情報を取得する。米国特許第2020/0230817号明細書は、スキルベースのロボットプログラミング方法を提案している。適切なパラメータを提供することによって、ユーザは、ロボットおよびその周辺機器をプログラムするために、メインスキルを有するワークユニットアイテムを使用することができる。
【0004】
さらに、当業者は、生産システムのための他の自動コントロールスキーマの発見にも努めている。
【0005】
概要
本開示の例によれば、生産システムの簡単かつ便利な自動コントロールプログラミングを実現するために、生産システムの自動コントロールのためのシステム、方法およびコンピュータ可読記憶媒体が提供される。
【0006】
本開示の例によって提供される、生産システムの自動コントロールのためのシステムは、以降のものを含んでおり、すなわち:生産システムのスキルライブラリと、統合実行エンジンと、生産システム内の対応する装置をコントロールするための装置エージェントとを含んでおり;生産システムのスキルライブラリは、生産プロセスに関与するスキルの実装部分をソフトウェア方式で記述して、カプセル化する複数のスキルブロックを備え、生産システムのスキルライブラリは、受け取ったサービス要求に応じて少なくとも1つの対応するスキルブロックを呼び出し、少なくとも1つのスキルブロックの実行結果に応じて、対応するサービス応答を返すように構成されており;少なくとも1つのスキルブロックは、スキル実行のニーズに応じて、対応する装置エージェントに動作指示を送り;統合実行エンジンは、生産プロセスに関与するスキルのインタフェース部分をソフトウェア方式で記述して、カプセル化する複数のスキル機能ブロックを備え;統合実行エンジンは、スキル機能ブロックに基づいてユーザによってプログラムされた生産手順を取得し、生産手順における各スキル機能ブロックを順次開始するように構成されており;スキル機能ブロックが開始されると、スキル機能ブロックは生産システムのスキルライブラリにサービス要求を送り、生産システムのスキルライブラリからサービス応答を受け取り、サービス応答のニーズに応じて、対応する装置エージェントに動作指示を送り;各装置エージェントは、統合実行エンジンおよび生産システムのスキルライブラリに対して統合インタフェースを提供し、統合実行エンジンまたは生産システムのスキルライブラリにおけるスキルブロックから動作指示を受け取り、動作指示に応じた動作を実行するように対応する装置をコントロールし、現在の動作状態または動作結果を統合実行エンジンまたはスキルブロックにフィードバックするように構成されている。
【0007】
一例では、生産システムのスキルライブラリは、以降のものを含んでおり、すなわち:スキル管理モジュールと、複数のスキルブロックと、第1の通信インタフェースとを含んでおり;各スキルブロックは、生産プロセスに関与するスキルの実装部分(implementation part)をソフトウェア方式で記述して、カプセル化し、各スキルブロックは、呼び出されたときに対応するスキルを実行し、スキル実行のニーズに応じて、対応する装置エージェントと対話するように構成されており;スキル管理モジュールは、第1の通信インタフェースを通じて受け取ったサービス要求を解析し、解析結果に応じて、少なくとも1つの対応するスキルブロックを呼び出し、少なくとも1つのスキルブロックによって返されたサービス応答を受け取って、出力するように構成されている。
【0008】
一例では、複数のスキルブロックは、以降のものを含んでおり、すなわち:少なくとも1つのアクションシーケンススキルブロックを含んでおり、各アクションシーケンススキルブロックは、1つのスキルブロックまたは相互に関連する複数のスキルブロックの組み合わせであり、アクションシーケンススキルブロックのサービス応答はアクションシーケンスをフィードバックし;少なくとも1つのセンサ出力スキルブロックを含んでおり、各センサ出力スキルブロックは、センサエージェントとの対話を通じてフィールドセンサのデータを取得する、またはセンサデータを入力としてセンサ処理アルゴリズムによって出力されたデータを取得し;センサ出力スキルブロックのサービス応答はセンサ出力データをフィードバックし;少なくとも1つのアルゴリズム計算スキルブロックを含んでおり、アルゴリズム計算スキルブロックのサービス応答は対応する計算結果をフィードバックする。
【0009】
一例では、アクションシーケンススキルブロックは、環境モデリングスキルブロック、無衝突経路計画スキルブロックおよび無衝突パレット積みスキルブロックの組み合わせであり;環境モデリングスキルブロックは、障害物を識別し、環境モデルを生成するように構成されており;無衝突経路計画スキルブロックは、環境モデルが与えられたときに、装置がこの環境に衝突しない経路を形成する中間地点を計算するように構成されており;無衝突パレット積みスキルブロックは、全体のパレット積みアクションシーケンスを生成するように構成されており;センサ出力スキルブロックは、以降のものを備えており、すなわち:パッケージの長さ、幅、高さおよび6DoF位置を計算する3D物体位置推定スキルブロック;および新たなパッケージが積み重ねられる位置を計算するパレット積み位置計算スキルブロックを備えている。
【0010】
一例では、統合実行エンジンは、以降のものを含んでおり、すなわち:スキル実行エンジン、複数のスキル機能ブロック、アクションキュー、アクション実行エンジン、第2の通信インタフェースおよび第3の通信インタフェースを含んでおり;各スキル機能ブロックは、少なくとも1つのスキルブロックに対応し、各スキル機能ブロックは、スキルのインタフェース部分をソフトウェア方式で記述して、カプセル化し;実行時に、第2の通信インタフェースを通じて生産システムのスキルライブラリにサービス要求を送り、生産システムのスキルライブラリによって返されたサービス応答を受け取り;サービス応答がアクションシーケンスである場合、アクションシーケンスをアクションキューに追加し、アクションキューからアクションシーケンスの現在の動作状態を読み出し;現在の動作状態が、アクションシーケンスにおける全てのアクションが完了したことを示している場合、スキル実行エンジンに完了表示を返すように構成されており;スキル実行エンジンは、スキル機能ブロックに基づいてユーザによってプログラムされた生産手順を取得し、生産手順における各スキル機能ブロックを順番に開始し;現在のスキル機能ブロックが、完了表示を返す場合、次のスキル機能ブロックを開始し;現在のスキル機能ブロックがサービス応答を返す場合および次のスキル機能ブロックの入力としてサービス応答を用いる必要がある場合、サービス応答を次のスキル機能ブロックに提供するように構成されており;アクションキューは、アクションシーケンスをサービス応答に格納し、アクションシーケンスの現在の動作状態をリアルタイムで更新するように構成されており;アクション実行エンジンは、アクションキューにアクションシーケンスが存在する場合、アクションシーケンス内のアクションを順次読み出し、読み出された少なくとも1つのアクションに対応する動作指示を、第3の通信インタフェースを通じて対応する装置エージェントに送り、装置エージェントによってフィードバックされた現在の動作状態を受け取り、現在の動作状態をアクションキューに提供し;現在の動作状態が、現在のアクションが正常に実行されたことを示している場合、アクションキューが空になるまでアクションシーケンスから現在のアクションを削除するように構成されている。
【0011】
一例では、各スキル機能ブロックがステートマシンを維持し、対応するスキル機能ブロックが開始されていない場合、ステートマシンは「アイドル」状態であり;対応するスキル機能ブロックが開始されている場合、ステートマシンは「アクティブ」状態に変換され;対応するスキル機能ブロックが正常に実行された場合、ステートマシンは「完了」状態に変換され;対応するスキル機能ブロックの実行にエラーが発生した場合、ステートマシンは「エラー」状態に変換される。
【0012】
一例では、装置エージェントは、以降のものを含んでおり、すなわち:ロボットエージェントを含んでおり、ロボットエージェントは第4の通信インタフェース、コマンドキュー、コマンド実行エンジン、モーションコマンドチャネル、フォースモーション調整モジュール、補間チャネルおよびロボット状態チャネルを含んでおり;コマンドキューは第4の通信インタフェースを通じて受け取った動作指示を格納するように構成されており;コマンド実行エンジンは、コマンドキューから各動作指示を順次読み出し;動作指示が純粋なモーション指示である場合、モーションコマンドチャネルを通じてロボットコントローラに動作指示を送り;動作指示が一定の加えられる力を維持するモーション指示である場合、動作指示をフォースモーション調整モジュールに提供し、ロボット状態チャネルを通じてロボットコントローラによってフィードバックされた現在の動作状態を受け取るように構成されており;フォースモーション調整モジュールは、動作指示およびフォースセンサによってリアルタイムで収集されたフォースデータに応じて、ロボットの軸関節のモーションを動的に決定し、補間チャネルを通じてロボットコントローラに軸関節のモーションを提供するように構成されている。
【0013】
一例では、フォースモーション調整モジュールは、指示解析モジュール、モーション経路計画モジュール、フォースコントロールモジュールおよび変換モジュールを含んでおり;指示解析モジュールは、動作指示を分析して、ロボットのコントロール情報を取得するように構成されており;モーション経路計画モジュールは、デカルト空間経路およびロボットツールの終端センターポイントの速度を計画し、フォースコントロールモジュールにデカルト空間経路を提供し、フォースコントロールモジュールによってフィードバックされた、微調整されたデカルト空間経路を取得し、変換モジュールに、微調整されたデカルト空間経路を提供し、変換モジュールによって変換された、ロボットの軸関節位置を受け取り、軸関節位置および速度をロボットコントローラに提供するように構成されており;フォースコントロールモジュールは、ロボット運動のプロセス中に、フォースセンサによって測定された、ロボットツールの終端センターポイントのフォースデータを取得し、フォースデータに応じてモーション経路計画モジュールからのデカルト空間経路を微調整して、必要な力を維持するための微調整されたデカルト空間経路を取得し、微調整されたデカルト空間経路をモーション経路計画モジュールにフィードバックするように構成されている。
【0014】
一例では、装置エージェントは、以降のものを含んでおり、すなわち:センサエージェントおよび/またはツールエージェントを含んでおり、センサエージェントまたはツールエージェントは、以降のものを含んでおり、すなわち:第4の通信インタフェース、コマンド処理モジュール、コマンドチャネルおよびフィードバックチャネルを含んでおり;コマンド処理モジュールは、第4の通信インタフェースを通じて受け取った動作指示を、コマンドチャネルを通じて対応する装置に提供し、現在の動作状態またはフィードバックチャネルを通じて装置によってフィードバックされた動作結果を受け取り、現在の動作状態または動作結果を第4の通信インタフェースを通じてバスに送り返すように構成されている。
【0015】
本開示の例によって提供される生産システムの自動コントロールのための方法は、以降のことを含んでおり、すなわち:生産プロセスに関与するスキルの実装部分をソフトウェア方式で記述して、カプセル化する複数のスキルブロックと、生産プロセスに関与するスキルのインタフェース部分をソフトウェア方式で記述して、カプセル化する複数のスキル機能ブロックとを事前設定すること;スキル機能ブロックに基づいてユーザによってプログラムされた生産手順を受け取り、生産手順における最初のスキル機能ブロックを現在のスキル機能ブロックとすること;少なくとも1つの対応するスキルブロックを呼び出すために、現在のスキル機能ブロックを開始することであって、呼び出された各スキルブロックは、対応するスキルを実行し、かつスキル実行の要求に応じて、対応する装置エージェントを通じて動作を実行するように、対応する装置をコントロールすること;スキルブロックによって返されたサービス応答を受け取り、サービス応答のニーズに応じて、対応する装置エージェントを通じて動作を実行するように対応する装置をコントロールすること;現在のスキル機能ブロックが正常に実行され、かつ開始されていないスキル機能ブロックがまだ存在している場合、次のスキル機能ブロックを現在のスキル機能ブロックとし、少なくとも1つの対応するスキルブロックを呼び出すために、現在のスキル機能ブロックを開始する動作に戻ることを含んでいる。
【0016】
一例では、サービス応答は以降のものを含んでおり、すなわち:アクションシーケンスを含んでおり;スキル実行の要求に応じて、対応する装置エージェントを通じて動作を実行するように、対応する装置をコントロールすることは、以降のことを含んでおり、すなわち:アクションシーケンスをアクションキューに追加すること;アクションシーケンス内のアクションを順番に読み出すこと;読み出された少なくとも1つのアクションに対応する少なくとも1つの動作指示を、対応する装置エージェントに送ること;動作指示に応じてアクションシーケンス内のアクションを順番に実行するように、装置エージェントによって、対応する装置をコントロールし、対応する動作状態をフィードバックすること;動作状態に応じて現在のアクションの実行が完了したと決定した場合、現在のアクションをアクションキューから削除すること;アクションキューが空の場合、アクションシーケンスの実行が完了したと決定されることを含んでいる。
【0017】
一例では、装置エージェントはロボットエージェントであり;動作指示に応じてアクションシーケンス内のアクションを順番に実行するように、装置エージェントによって、対応する装置をコントロールし、対応する動作状態をフィードバックすることは、以降のことを含んでおり、すなわち:動作指示をコマンドキューに追加すること;コマンドキューから各動作指示を順次読み出すこと;読み出された動作指示が純粋なモーション指示である場合、ロボットコントローラが対応する動作を実行することが可能になるように動作指示をロボットコントローラに送ること;読み出された動作指示が一定の加えられる力を維持するモーション指示である場合、動作指示およびフォースセンサによってリアルタイムで収集されたフォースデータに応じて、ロボットの軸関節のモーションを動的に決定し、ロボットコントローラが対応する動作を実行することが可能になるように軸関節のモーションをロボットコントローラに送ること;ロボットコントローラによってフィードバックされた現在の動作状態を受け取ることを含んでいる。
【0018】
一例では、動作指示およびフォースセンサによってリアルタイムで収集されたフォースデータに応じて、ロボットの軸関節のモーションを動的に決定し、ロボットコントローラが対応する動作を実行することが可能になるように軸関節のモーションをロボットコントローラに送ることは以降のことを含んでおり、すなわち:ロボットのコントロール情報を取得するために動作指示を分析すること;コントロール情報に応じてデカルト空間経路およびロボットツールの終端センターポイントの速度を計画すること;ロボットの運動中に、フォースセンサによって測定された、ロボットツールの終端センターポイントのフォースデータを取得すること;フォースデータに応じてデカルト空間経路を微調整し、微調整されたデカルト空間経路を取得すること;微調整されたデカルト空間経路を対応する軸関節位置に変換すること;軸関節位置および速度をロボットコントローラに提供することを含んでいる。
【0019】
一例では、各スキル機能ブロックがステートマシンを維持し、対応するスキル機能ブロックが開始されていない場合、ステートマシンは「アイドル」状態であり;対応するスキル機能ブロックが開始されている場合、ステートマシンは「アクティブ」状態に変換され;対応するスキル機能ブロックが正常に実行された場合、ステートマシンは「完了」状態に変換され;対応するスキル機能ブロックの実行にエラーが発生した場合、ステートマシンは「エラー」状態に変換される。
【0020】
生産システムの自動コントロールのための別のシステムは、以降のものを含んでおり、すなわち:コンピュータプログラムを格納するための少なくとも1つのメモリ;および上述の生産システムの自動コントロールのための方法を実施するために、少なくとも1つのメモリに格納されたコンピュータプログラムを呼び出すための少なくとも1つのプロセッサを含んでいる。
【0021】
コンピュータプログラムが格納されている非一時的なコンピュータ可読記憶媒体であって、コンピュータプログラムは、上述した生産システムの自動コントロールのための方法を実施する(implement)ために、プロセッサによって実行されるべきである。
【0022】
本開示の例における上述した技術的解決策から、次のことが分かる。すなわち、生産プロセスに関与するスキルの実装部分をソフトウェア方式で記述して、カプセル化するスキルブロックと、生産プロセスに関与するスキルのインタフェース部分をソフトウェア方式で記述して、カプセル化する複数のスキル機能ブロックとがそれぞれ設定され、これによって、ユーザは、スキル機能ブロックに基づいて生産手順をプログラムするだけでよく、次いでバックグラウンドが、生産手順において各スキル機能ブロックを順次開始することによって対応するスキルブロックを呼び出して、対応する生産システムのスキルを完了し、これによって、ユーザの、生産システムの自動コントロールプログラミングプロセスが簡素化され、ユーザのプログラミングの困難さが軽減されることが分かる。また、生産システムの再プログラムが容易であるため、これは、小ロット生産の急変に対応することできる。
【0023】
本開示のより良い理解のために、以降の詳細な説明が添付の図面と併せて参照されるべきである。添付の図面では、同様の参照番号は、図全体を通して対応する部分を指している。
【図面の簡単な説明】
【0024】
【
図1】本開示の例による、生産システムの自動コントロールのためのシステムを概略的に示す図である。
【
図2】本開示の例による、
図1に示されたシステムにおける生産システムのスキルライブラリを概略的に示す図である。
【
図3】本開示の例による、
図1に示されたシステムにおける統合実行エンジンを概略的に示す図である。
【
図4】本開示の例によるステートマシンの状態を概略的に示す図である。
【
図5A】本開示の例によるステートマシン遷移を示すフローチャートである。
【
図5B】本開示の例によるステートマシン遷移を示すフローチャートである。
【
図6】本開示の例によるロボットエージェントを概略的に示す図である。
【
図7A】本開示の例による適用ケースを概略的に示す図である。
【
図7B】
図7Aに示された適用ケースにおいて生成されたパレット積みアクションシーケンスを示すフローチャートである。
【
図8】本開示の例による生産システムの自動コントロールのための方法を示すフローチャートである。
【
図9】本開示の例による生産システムの自動コントロールのための別のシステムを概略的に示す図である。
【0025】
詳細な説明
本開示の実施形態では、生産システムを短時間で簡単に再プログラムするために、再構成可能な製造システムを提供する必要がある。換言すれば、生産システムはソフトウェアによって規定されるべきである。いわゆるソフトウェア規定は、システムの機能を規定するためにソフトウェアを使用すること、ならびにシステムの動作効率およびエネルギー効率を最大化するようにハードウェアに権限を与えるためにソフトウェアを使用することである。ソフトウェア規定の本質は、ハードウェアリソースのデジタル化および標準化に基づいて、ソフトウェアプログラミングを通じて、仮想化、柔軟性、多様性およびカスタマイズの機能を実現すること、カスタマイズされた特別なインテリジェントおよびカスタマイズされたサービスを提供すること、アプリケーションソフトウェアおよびハードウェアの分離を実現することである。その中核は、アプリケーションプログラミングインタフェース(API)である。APIは、ソフトウェアとハードウェアとの結合関係を解放し、パーソナライズの方向におけるアプリケーションソフトウェアの開発、標準化の方向におけるハードウェアリソースの開発、およびインテリジェンスの方向におけるシステム機能の開発を促進する。
【0026】
したがって、本開示の実施形態では、生産システムのソフトウェア規定された自動コントロールシステムが提供されると考えられる。
【0027】
これより、添付の図面に示されている例を詳細に参照する。以降の詳細な説明では、本開示の完全な理解のために、多数の特定の詳細が示される。また、図は一例の例示であり、ここでは、図に示されたモジュールまたは手順は、本開示を実装するために必ずしも必須ではない。他の実例では、これらの例の態様を不必要に曖昧にしないようにするために、周知の方法、手順、コンポーネントおよび回路は詳細には説明されていない。
【0028】
図1は本開示の例による、生産システムの自動コントロールのためのシステムを概略的に示す図である。
図1に示されているように、生産システムの自動コントロールシステムは、以降のものを含んでいてよく、すなわち:生産システムのスキルライブラリ110、統合実行エンジン120、装置エージェントを含んでいてよく、装置エージェントは、フォースセンサエージェント1401、ロボットエージェント1402、3Dカメラエージェント1403,…,などであり、生産システム内のフォースセンサ1301、ロボットコントローラ1302-1、ロボットアーム1302-2、3Dカメラ1303,…,などの様々な装置をコントロールするためのものである。このうち、生産システムのスキルライブラリ110、統合実行エンジン120および装置エージェント1401,1402,1403,…,は、データバス150を通じて接続されている。
【0029】
生産システムのスキルライブラリ110は、オンライン自律型スキルライブラリとも称され、ここでは、生産プロセスに関与するスキルの実装部分をソフトウェア方式で記述して、カプセル化する複数のスキルブロックが設定され、生産システムのスキルライブラリ110は、受け取ったサービス要求11に応じて少なくとも1つの対応するスキルブロックを呼び出し、少なくとも1つのスキルブロックの実行結果に応じて、対応するサービス応答12を返すように構成されており;少なくとも1つのスキルブロックは、スキル実行のニーズに応じて、対応する装置エージェントと対話する。たとえば、対応する装置エージェントに動作指示を送り、現在の動作状態または装置エージェントによってフィードバックされた動作結果を受け取る。
【0030】
図2に示されているように、生産システムのスキルライブラリ110は、スキル管理モジュール111、複数のスキルブロック1121,…,112i,112i+1,…,112Nおよび第1の通信インタフェース113を含んでいてよい。iおよびNは正の整数である。さらに、生産システムのスキルライブラリ110は、スキルレジスタ114をさらに含んでいてよい。
【0031】
各スキルブロック1121,…,112i,112i+1,…,112Nは、生産プロセスに関与するスキルの実装部分をソフトウェア方式で記述して、カプセル化し、各スキルブロックは、呼び出されたときに、対応するスキルを実行し、スキル実行のニーズに応じて、対応する装置エージェントと対話するように構成されている。各スキルブロックは、対応する属性情報を有していてよく、この属性情報は、以降のものを含んでいてよい:
【0032】
サービス要求インタフェース:サービス要求と対応するスキルとの間のマッピング関係を示す;
【0033】
入力パラメータ:スキルブロックによって使用される入力パラメータを示す;
【0034】
出力結果:スキルブロックによって計算された結果を示す;
【0035】
サービス応答インタフェース:サービス応答の記述に使用される。
【0036】
各スキルブロックの属性情報は、オープンなスキルレジスタ114を通じて事前設定または登録可能であり、スキル登録テーブルに格納可能である。スキルレジスタ114に基づいて、ユーザは新たなスキルブロックを追加することができる。
【0037】
サービス応答タイプの観点から、スキルブロックを次のように分類することができる:
【0038】
1)アクションシーケンススキルブロック。各アクションシーケンススキルブロックは、1つのスキルブロックまたは相互に関連する複数のスキルブロックを含んでいるスキルブロックの組み合わせを含んでいてよく、そのサービス応答は、アクションシーケンスをフィードバックする。たとえば、ロボットモーション(たとえば直線モーション)、アクチュエータ動作(たとえばグリッパの開放)などで構成されるアクションシーケンス。
【0039】
2)センサ出力スキルブロック。異なるセンサ出力スキルブロックは、異なる実装方法(implementation method)を有していてよい。たとえば、センサ出力スキルブロックは、センサエージェントと対話することによって、フィールドセンサデータを取得することができる、またはセンサデータを入力とするセンサ処理アルゴリズムによってデータ出力を取得することもできる。そのサービス応答は、対応するセンサ出力データをフィードバックする。たとえば、センサ出力データは、物体位置(たとえばデカルト空間位置(x,y,z);またはデカルト空間位置(x,y,z)+デカルト空間姿勢(rx,ry,rz)、環境モデル(たとえば衝突障害物)などを含んでいてよい。ここでセンサとは、広義には、フォースセンサ、3Dカメラなどを含んでいるセンサを指す。
【0040】
3)サービス応答が対応する計算出力をフィードバックするアルゴリズム計算スキルブロック。たとえば、計算出力は、運動パターン、物体の場所位置などを含んでいる生産ベースのアルゴリズムによって計算可能である。
【0041】
さらに、スキルタイプに関しては、スキルブロックは、共通スキルブロック1121,…,112iおよびタスクスキルブロック112i+1,…,112N(すなわち、特定のタスクに対するスキルブロック)を含んでいてよい。共通スキルブロックは、物体識別スキルブロック、無衝突経路計画スキルブロックなどを含んでいてよい。タスクスキルブロックは、以降のものを含んでいてよく、すなわち:パレット積みスキルブロック、研削スキルブロック、アセンブリスキルブロック、溶接スキルブロックなどを含んでいてよい。さらに、タスクスキルブロックの実行中に共通スキルブロックが呼び出され得る。
【0042】
スキル管理モジュール111は、第1の通信インタフェース113を通じて受け取ったサービス要求11を解析し、解析結果に応じて、少なくとも1つの対応するスキルブロックを呼び出し、サービス要求が入力パラメータを搬送する場合、入力パラメータを対応するスキルブロックに提供し、少なくとも1つのスキルブロックによって返されたサービス応答12を受け取り、サービス応答12を出力するように構成されている。
【0043】
統合実行エンジン120は、ユーザが生産システムの生産手順をプログラムするために、生産プロセスに関与するスキルのインタフェース部分をソフトウェア方式で記述して、カプセル化する複数のスキル機能ブロックを備えている。統合実行エンジン120は、ユーザによってプログラムされた生産手順を取得し、生産手順における各スキル機能ブロックを順次開始するように構成されている。スキル機能ブロックが開始されると、これは、対応するサービス要求11を生産システムのスキルライブラリ110に送り、生産システムのスキルライブラリ110からサービス応答12を受け取り、サービス応答のニーズに応じて、対応する装置エージェントと対話するように構成されている。たとえば、動作指示13を、対応する装置エージェントに送り、装置エージェントによってフィードバックされた現在の動作状態または動作結果を受け取る。
【0044】
図3に示されているように、具体的に実装される場合、統合実行エンジン120は、スキル実行エンジン121と、複数のスキル機能ブロック1221,1222,…,122Mと、アクションキュー123と、アクション実行エンジン124と、第2の通信インタフェース125と、第3の通信インタフェース126とを含んでいてよい。Mは、正の整数である。
【0045】
各スキル機能ブロックは少なくとも1つのスキルブロックに対応し、各スキル機能ブロックは、ユーザが生産システムの生産手順をプログラミングするために、対応するスキルのインタフェース部分をソフトウェア方式で記述して、カプセル化するように構成されている。実行されると、スキル機能ブロックは、第2の通信インタフェース125を通じて生産システムのスキルライブラリ110に対応するサービス要求を送る。入力パラメータが存在する場合、スキル機能ブロックは、サービス要求における入力パラメータを搬送し、生産システムのスキルライブラリ110によって返されたサービス応答を受け取る。サービス応答がアクションシーケンスである場合、スキル機能ブロックは、アクションシーケンスをアクションキュー123に追加して、アクションシーケンスの現在の動作状態をアクションキュー123から読み出す。現在の動作状態が、アクションシーケンスにおける全てのアクションが完了したことを示す場合、スキル機能ブロックは、スキル実行エンジン121に完了表示を返す。現在の動作状態が、現在のアクション実行にエラーがあることを示す場合、スキル機能ブロックは、エラー表示をスキル実行エンジン121に返し;そうでない場合には、サービス応答がアクションシーケンスでない場合、サービス応答がスキル実行エンジン121に提供されてよい。
【0046】
特定の実装中、各スキル機能ブロックは、
図4に示されているようにステートマシンを維持することができ、このステートマシンは、4つの状態、すなわち「アイドル」状態I、「アクティブ」状態A、「完了」状態Dおよび「エラー」状態Eを含んでいてよい。ステートマシンは、対応するスキル機能ブロックが開始されていない場合、「アイドル」状態であり;対応するスキル機能ブロックが開始されている場合、ステートマシンは「アクティブ」状態に変換され;対応するスキル機能ブロックが正常に実行された場合、ステートマシンは「完了」状態に変換され;対応するスキル機能ブロックの実行にエラーが発生した場合、ステートマシンは「エラー」状態に変換される。
【0047】
図5Aおよび
図5Bは、それぞれ、本開示の例によるステートマシン遷移を示すフローチャートである。
【0048】
図5Aは、スキル機能ブロックに対応するスキルブロックが本開示の例によるアクションシーケンススキルブロックでない場合のステートマシンの遷移を示すフローチャートである。
図5Aに示されているように、この例では、ステートマシンの変換プロセスは、以降のプロセスを含んでいてよい:
【0049】
ブロック501Aで、現在のスキル機能ブロックが開始されているかどうかが決定される。現在のスキル機能ブロックが開始されている場合には、ブロック502Aが実行され;そうでない場合には、ブロック507Aが実行されて、ステートマシンを「アイドル」状態に設定する。
【0050】
ブロック502Aで、ステートマシンは「アクティブ」状態に設定される。
【0051】
ブロック503Aで、対応するサービス要求が生産システムのスキルライブラリ110に送られる。
【0052】
ブロック504Aで、サービス応答が受け取られているかどうかが決定され、サービス応答が受け取られている場合には、ブロック505Aが実行され;そうでない場合には、待機を継続する。
【0053】
ブロック505Aで、サービス応答の結果が出力される。
【0054】
ブロック506Aで、ステートマシンは「完了」状態に設定される。
【0055】
図5Bは、スキル機能ブロックに対応するスキルブロックが本開示の例によるアクションシーケンススキルブロックである場合のステートマシンの遷移を示すフローチャートである。
図5Bに示されているように、この例では、ステートマシンの変換プロセスは、以降のプロセスを含んでいてよい:
【0056】
ブロック501Bで、現在のスキル機能ブロックが開始されているかどうかが決定される。現在のスキル機能ブロックが開始されている場合には、ブロック502Bが実行され;そうでない場合には、ブロック512Bが実行され、ステートマシンが「アイドル」状態に設定される。
【0057】
ブロック502Bで、ステートマシンは「アクティブ」状態に設定される。
【0058】
ブロック503Bで、対応するサービス要求が生産システムのスキルライブラリ110に送られる。
【0059】
ブロック504Bで、サービス応答が受け取られているかどうかが決定される。サービス応答が受け取られている場合には、ブロック505Bが実行され;そうでない場合には、待機を継続する。
【0060】
ブロック505Bで、サービス応答におけるアクションシーケンスがアクションキューに格納される。
【0061】
ブロック506Bで、アクションキューが空であるかどうかが決定され、アクションキューが空である場合には、ブロック507Bが実行され;そうでない場合には、ブロック508Bが実行される。
【0062】
ブロック507Bで、ステートマシンは「完了」状態に設定される。この時点で、スキル機能ブロックは、完了指示をスキル実行エンジン121に返してよい。
【0063】
ブロック508Bで、アクションキューに未読アクションが存在するかどうかが決定される。アクションキューに未読アクションがある場合には、ブロック509Bが実行され;そうでない場合には、ブロック510Bが実行される。
【0064】
ブロック509Bで、アクションキューにおける、はじめのk個のアクションが読み出され、対応する装置エージェントに送られる。ここでkは、1以上の整数である。
【0065】
ブロック510Bで、装置エージェントが、現在のアクションが完了したことを示す動作状態をフィードバックしたかどうかが決定される。装置エージェントが、現在のアクションが完了したことを示す動作状態をフィードバックした場合には、ブロック511Bが実行される。
【0066】
ブロック511Bで、現在のアクションがキューから削除され、ブロック506Bに戻る。
【0067】
スキル実行エンジン121は、スキル機能ブロック1221,1222および122Nに基づいて、ユーザによってプログラムされた生産手順を取得し、生産手順における各スキル機能ブロックを順番に開始するように構成されている。具体的には、現在のスキル機能ブロックが完了表示を返した場合、スキル実行エンジン121は次のスキル機能ブロックを開始し、現在のスキル機能ブロックがエラー表示を返した場合、プログラムを停止し、警告を与えることができる。現在のスキル機能ブロックがサービス応答、たとえばセンサデータまたは計算結果を返した場合に、サービス応答を次のスキル機能ブロックの入力として用いる必要があるならば、サービス応答は次のスキル機能ブロックに提供される。
【0068】
アクションキュー123は、サービス応答にアクションシーケンスを格納し、アクションシーケンスの現在の動作状態をリアルタイムで更新するように構成されている。
【0069】
アクション実行エンジン124は、アクションキュー123にアクションシーケンスが存在する場合に、アクションキューにおけるアクション、たとえば、はじめのk個のアクション(kは1以上)を毎回、順次読み出し、読み出されたアクションに対応する動作指示を第3の通信インタフェース126を通じて対応する装置エージェントに送り、装置エージェントによってフィードバックされた現在の動作状態を受け取り、アクションキュー123に現在の動作状態を提供し;現在の動作状態が、現在のアクションが正常に実行されたことを示す場合、アクションキュー123が空になるまでアクションシーケンスから現在のアクションを削除するように構成されている。さらに、現在の動作状態が、現在のアクションにエラーがあることを示す場合、プログラム動作が停止されてよい。さらに、現在の動作状態は通常の実行などを示し得る。
【0070】
各装置エージェントは、統合実行エンジン120および生産システムのスキルライブラリ110に対して統合インタフェースを提供し、統合実行エンジン120または生産システムのスキルライブラリ110内のスキルブロックから動作指示を受け取り、動作指示に応じて動作を実行するように対応する装置をコントロールし、現在の動作状態または動作結果を統合実行エンジン120またはスキルブロックにフィードバックするように構成されている。
【0071】
たとえば、
図1に示されているように、フォースセンサエージェント1401は、フォースセンサ動作指示14を受け取り、次いで、フォースセンサコントロール指示15をフォースセンサ1301に送る。フォースセンサ1301は元のフォースデータ16をフォースセンサエージェント1401にフィードバックし、フォースセンサエージェント1401は、元のフォースデータ16に対してノイズ除去などの処理を行い、処理されたフォースデータ17をフィードバックする。他の例として、ロボットエージェント1402は、ロボット動作指示18を受け取り、次いでロボットコントローラ1302-1に、純粋なモーションコントロールコマンド19を、モーションコマンドチャネルを通じて送り、またはロボットコントローラ1302-1に、一定の加えられる力を維持するリアルタイムモーションコントロールコマンド20を、補間チャネルを通じて送り、ロボットコントローラ1302-1は対応する動作を実行するようにロボットアーム1302-2をコントロールし、ロボット動作状態21がロボット動作チャネルを通じてロボットエージェント1402にフィードバックされ、ロボットエージェント1402は、ロボット動作状態21をフィードバックする。別の例として、3Dカメラエージェント1403が、3Dカメラ動作指示22を受け取り、次いで3Dカメラ1303に3Dカメラコントロール指示23を送る。3Dカメラ1303は、元の3Dカメラデータ24を3Dカメラエージェント1403にフィードバックする。3Dカメラエージェント1403は、元の3Dカメラデータ24に対してノイズ除去処理などの処理を行い、処理された3Dカメラデータ25をフィードバックする。
【0072】
さらに、他の例では、各装置エージェントがデータバスを通じて統合実行エンジン120および生産システムのスキルライブラリ110に接続されているため、これらはオープンインタフェースを通じて相互にアクセス可能である。たとえば、統合実行エンジン120および生産システムのスキルライブラリ110は、各装置エージェントにアクセス可能である。統合実行エンジン120および各装置エージェントは、生産システムのスキルライブラリ110にアクセス可能である。さらに、装置エージェント同士は相互にアクセス可能である。すなわち、各装置エージェントは、統合実行エンジン120、生産システムのスキルライブラリ110および他の装置エージェントに対して統合インタフェースを提供することができ、統合実行エンジン120、または生産システムのスキルライブラリ110におけるスキルブロックまたは他の装置エージェントから動作指示を受け取ることができ、動作指示に応じて動作を実行するように対応する装置をコントロールすることができ、現在の動作状態を統合実行エンジン120、またはスキルブロックまたは他の装置エージェントにフィードバックすることができる。
【0073】
異なるタイプの装置エージェントは、異なる特定の実装構造(implementation structures)を有することができる。
【0074】
たとえば、
図6は、本開示の例によるロボットエージェントを概略的に示す図である。
図6に示されているように、ロボットエージェントは、第4の通信インタフェース610と、コマンドキュー620と、コマンド実行エンジン630と、モーションコマンドチャネル640と、フォースモーション調整モジュール650と、補間チャネル660と、ロボット状態チャネル670とを含んでいてよい。
【0075】
コマンドキュー620は、第4の通信インタフェース610を通じて受け取った動作指示を格納するために使用される。
【0076】
コマンド実行エンジン630は、コマンドキュー620から各動作指示を順次読み出すように構成されている。動作指示が純粋なモーション指示である場合、コマンド実行エンジン630は、動作指示をロボットコントローラなどの対応するロボット装置に、モーションコマンドチャネル640を通じて送り、これによって、ロボットコントローラは、対応するロボットをコントロールする。動作指示が一定の加えられる力を維持するモーション指示である場合、コマンド実行エンジン630は、動作指示をフォースモーション調整モジュール650に提供し、ロボット状態チャネル670を通じてロボット装置によってフィードバックされた現在の動作状態を受け取る。純粋なモーション指示は、標準的なモーション、たとえば直線モーション、円形モーション、点間モーション、スプラインモーションなどの幾つかの指示であってよい。一定の加えられる力を維持するモーション指示は、移動接触指示または移動保持フォース指示であってよい。移動接触とは、予め定められた固定された6DoFフォースに達するまで(たとえば、これは6DoFセンサによって測定可能である)、ロボットが直線で移動することを意味する。移動保持フォースとは、ロボットが直線、弧またはスプラインにおいて、時間とともに変化する6DoFフォースを維持しながら移動することを指す。幾つかの実施形態では、6DoFフォースは、方向情報を含んでいてよい。
【0077】
フォースモーション調整モジュール650は、動作指示およびフォースセンサによってリアルタイムに収集されたフォースデータに応じて、ロボットの軸関節のモーションを動的に決定し、軸関節のモーションを、補間チャネル660を通じてロボット装置、すなわちロボットコントローラに提供するように構成されており、これによって、ロボットコントローラは、動作指示におけるフォース値に到達するために、運動中に、ロボットによって外部に加えられる力をコントロールする。
【0078】
具体的に実装される場合、フォースモーション調整モジュール650は、指示解析モジュール651、モーション経路計画モジュール652、フォースコントロールモジュール653および変換モジュール654を含んでいてよい。
【0079】
指示解析モジュール651は、動作指示を分析してロボットのコントロール情報を取得するように構成されている。コントロール情報は、モーション情報およびフォース情報を含んでいてよい。
【0080】
モーション経路計画モジュール652は、デカルト空間経路およびロボットツールの終端センターポイント(TCP)の速度を計画し、デカルト空間経路をフォースコントロールモジュール653に提供し、フォースコントロールモジュール653によってフィードバックされた、微調整されたデカルト空間経路を取得し、次いで微調整されたデカルト空間経路を変換モジュール654に提供し、変換モジュール654によって変換されたロボットの軸関節位置を受け取り、軸関節位置および速度を対応するロボット装置、たとえばロボットコントローラに提供するように構成されている。
【0081】
フォースコントロールモジュール653は、ロボット運動のプロセス中にフォースセンサによって測定された、ロボットツールの終端センターポイントのフォースデータを取得し、フォースデータに応じて、モーション経路計画モジュール652からのデカルト空間経路を微調整し、ロボットのデカルト補償を計算し、必要な力を維持するために、微調整されたデカルト空間経路を取得し、次いで微調整されたデカルト空間経路をモーション経路計画モジュール652にフィードバックするように構成されている。
【0082】
具体的に実装される場合、フォースデータは、モーション経路計画モジュール652によって取得可能であり、次いでフォースコントロールモジュール653に提供され得る、またはフォースコントロールモジュール653によって独立して取得可能である。たとえば、フォースコントロールモジュール653またはモーション経路計画モジュール652は、フォースセンサエージェントを通じて、フォースセンサによって測定されたフォースデータを取得することができる。代替的に、フォースコントロールモジュール653またはモーション経路計画モジュール652は、サービス要求を、生産システムのスキルライブラリ110における対応するスキルブロックに送ることもでき、スキルブロックは、フォースセンサのエージェントと対話して、フォースセンサによって測定されたフォースデータを取得する。
【0083】
デカルト補償は、以降の式(1)~(4)を用いて計算され得る:
【0084】
【0085】
【0086】
【0087】
【0088】
ここで、f
actはフォースセンサによってセンシングされる実際の6DoFである。f
dsrはフォースモーションによって望まれる6DoFフォースである。Mはロボットシステムの質量であり、Bはロボットシステムの減衰である。
【数5】
、
【数6】
およびx
dsrは、補間のためのTCPデカルト加速度、速度および位置である。
【数7】
、
【数8】
およびx
actは、実際のロボットTCPデカルト加速度、速度および位置である。tは、現在の補間サイクルであり、t-1は、先行する補間サイクルである。Tは、補間間隔である。
【0089】
変換モジュール654は、微調整されたデカルト空間経路を、対応する軸関節位置に変換し、軸関節位置をモーション経路計画モジュール652にフィードバックするように構成されている。
【0090】
センサエージェントなどの他の装置エージェント、またはグリッパなどのツールをコントロールするツールエージェントなどの場合、これらは、第4の通信インタフェース610、コマンド処理モジュール(図示せず)、コマンドチャネル(図示せず)およびフィードバックチャネル(図示せず)を含んでいてよい。コマンド処理モジュールは、第4の通信インタフェース610を通じて受け取った動作指示を、コマンドチャネルを通じて、対応する装置へ提供し、現在の動作状態またはフィードバックチャネルを通じて装置によってフィードバックされた動作結果を受け取り、第4の通信インタフェース610を通じて、現在の動作状態または動作結果をバス150へ送り返すように構成されている。
【0091】
図7Aは、本開示の適用ケースを概略的に示す図である。この適用ケースでは、パレット積みのための生産システムを例にとり、これは、この生産システムの生産手順が、簡単なやり方でどのようにプログラムされるかを示し、ここでは、他の生産システムへの切り替えが可能である。
【0092】
この適用ケースはパレット積みに関するものであり、主に以降のコンポーネントを伴う:
【0093】
1)PLC上で実行される統合実行エンジン120(たとえば、SIMATIC S7-1500);
【0094】
2)エッジコンピューティング装置上で実行される生産システムのスキルライブラリ110(たとえば、SIMATIC IPC427E)
【0095】
3)サードパーティロボットをコントロールするロボットエージェント1402(たとえば、SIMATIC Robot Integratorを経由したKUKAロボットのコントロール)
【0096】
4)グリッパをコントロールするツールエージェント1404(たとえば、グリッパフィンガの開閉)
【0097】
5)生の3Dセンサデータを取得および処理する3Dカメラエージェントであり、3Dカメラエージェントは、以降のものを含んでいてよい:
【0098】
パッケージの長さ、幅、高さおよび6DoF位置を識別するために使用される第1の3Dカメラ1303-1をコントロールするように構成されている第1の3Dカメラエージェント1403-1
【0099】
現在のパレットの長さ、幅、高さを監視するために使用される第2の3Dカメラ1303-2をコントロールするように構成されている第2の3Dカメラエージェント1403-2
【0100】
障害物の位置およびサイズを監視し、環境モデルを出力するために使用される第3の3Dカメラ1303-3をコントロールするように構成されている第3の3Dカメラエージェント1403-3
【0101】
生産システムのスキルライブラリ110によって提供されたスキルブロックは、以降のものを含んでいてよい:
【0102】
1)第1の3Dカメラ1303-1によって収集されたデータに基づいてパッケージの長さ、幅、高さおよび6DoF位置を計算するように構成されている3D物体位置推定スキルブロック112A
【0103】
2)第2の3Dカメラ1303-2によって収集されたパッケージ情報とパレット積み空間制約データとに基づいて、パレット内への新たなパッケージの配置位置を計算するように構成されているパレット積み位置計算スキルブロック112B
【0104】
3)障害物(たとえば6DoF位置およびサイズ)を識別して、環境モデルを生成するように構成されている環境モデリングスキルブロック112C
【0105】
4)環境モデルが与えられたときにロボットがこの環境と衝突しない経路を形成する中間地点を計算するように構成されている無衝突経路計画スキルブロック112D
【0106】
5)完全なパレット積みアクションシーケンス(ロボットの運動およびグリッパの動作を含む)を生成するように構成されている無衝突パレット積みスキルブロック112E
【0107】
図7Bは、
図7Aに示された適用ケースにおいて生成されたパレット積みアクションシーケンスを示すフローチャートである。
図7Bに示されているように、アクションシーケンスは、以降のものを含んでいる:701:パレット積み動作の開始位置の上方に移動する;702:グリッパを開く;703:パレット積み動作の開始位置に移動する;704:グリッパを閉じる;705:パレット積み動作の開始位置の上方に移動する;706:スプラインを中間地点に移動させる;707:パレット積み動作の終了位置まで移動する;708:グリッパを開く;709:パレット積み動作の終了位置の上方に移動する;710:ホームへ点間移動する
【0108】
統合実行エンジン120には、ユーザがパレット積みの適用ケースのために生産システムをプログラムするために、以降のスキル機能ブロックが提供される:
【0109】
1)物体位置取得機能ブロック122A:この機能ブロックの出力は、上述の3D物体位置推定スキルブロック112Aを呼び出すパレット積み動作の開始位置である。
【0110】
2)パレット積み位置計算機能ブロック122B:この機能ブロックの出力は、上述のパレット積み位置計算スキルブロック112Bを呼び出すパレット積み動作の終端位置である。
【0111】
3)無衝突パレット積み機能ブロック122C:この機能ブロックは、物体位置取得機能ブロック122Aの結果とパレット積み位置計算機能ブロック122Bの結果とを入力パラメータとし、3つのスキル、すなわち:無衝突パレット積み、環境モデリングおよび無衝突経路計画を呼び出し、すなわち、上述の無衝突パレット積みスキルブロック112Eと、環境モデリングスキルブロック112Cと、無衝突経路計画スキルブロック112Dとを呼び出して、ロボットの運動(たとえば、経路の全ての経路点へのスプライン運動)およびグリッパ動作を含んでいる、対応するアクションシーケンスを取得する。
【0112】
パレット積みの適用ケースのプログラミングを完了するために、ユーザは3つのスキル機能ブロックを使用するだけでよく、全てのバックグラウンド実行、スケジューリングおよびサービス提供がシステムによって自動的に処理されることが分かる。生産システムの機能性および柔軟性は、より多くのスキルを生産システムのスキルライブラリに追加し、対応するスキル機能ブロックを統合実行エンジンに追加し、適切な新たなエージェントを追加することによってさらに改善される。
【0113】
本開示の例による生産システムの自動コントロールのためのシステムを詳細に上述し、本開示の例による生産システムの自動コントロールのための方法を詳細に後述する。本開示の例による生産システムの自動コントロールのための方法は、本開示の例による生産システムの自動コントロールのためのシステムに実装可能である。本開示の方法の例において開示されていない詳細については、ここで繰り返さない、本開示のシステムの例における対応する説明を参照されたい。
【0114】
図8は、本開示の例による生産システムの自動コントロールのための方法を示すフローチャートである。
図8に示されているように、この方法は、以降のプロセスを含んでいてよい:
【0115】
ブロックS81で、生産プロセスに関与するスキルの実装部分をソフトウェア方式で記述して、カプセル化する複数のスキルブロックと、生産プロセスに関与するスキルのインタフェース部分をソフトウェア方式で記述して、カプセル化する複数のスキル機能ブロックとが事前設定される。
【0116】
ブロックS82で、スキル機能ブロックに基づいてユーザによってプログラムされた生産手順が受け取られ、生産手順における第1のスキル機能ブロックが現在のスキル機能ブロックとされる。
【0117】
ブロックS83で、現在のスキル機能ブロックが開始されて、少なくとも1つの対応するスキルブロックを呼び出し、各呼び出されたスキルブロックが自身のスキルを実行し、スキル実行の要求に応じて、対応する装置エージェントを通じて動作を実行するように、対応する装置をコントロールする。
【0118】
このブロックでは、センサによって収集されたデータを取得するために、センサ出力スキルブロックはセンサエージェントと対話することができる。
【0119】
ブロックS84で、スキルブロックによって返されたサービス応答が受け取られ、サービス応答のニーズに応じて、対応する装置エージェントを通じて動作が実行されるように、対応する装置がコントロールされる。
【0120】
このブロックで、サービス応答がアクションシーケンスである場合、ブロックS84は以降のことを含んでいてよく、すなわち:アクションシーケンスをアクションキューに追加すること;アクションシーケンス内のアクションを順番に読み出し、読み出された少なくとも1つのアクションに対応する少なくとも1つの動作指示を、対応する装置エージェントに送り、これによって、装置エージェントが、動作指示に応じてアクションシーケンス内のアクションを順番に実行するように装置をコントロールし、対応する動作状態フィードバックすること;動作状態に応じて現在のアクションの実行が完了したと決定した場合、現在のアクションをアクションキューから削除すること;アクションキューが空の場合、アクションシーケンスの実行が完了したと決定されることを含んでいてよい。
【0121】
装置エージェントがロボットエージェントである場合、動作指示に応じてアクションシーケンス内のアクションを順番に実行するように、装置エージェントが装置をコントロールし、対応する動作状態をフィードバックすることは、以降のことを含んでいてよい、すなわち:動作指示をコマンドキューに追加すること;コマンドキューから各動作指示を順次読み出すこと;読み出された動作指示が純粋なモーション指示である場合、ロボット装置が対応する動作を実行することが可能になるように動作指示を対応するロボット装置に送ること;読み出された動作指示が一定の加えられる力を維持するモーション指示である場合、動作指示およびフォースセンサによってリアルタイムで収集されたフォースデータに応じて、ロボットの軸関節のモーションを動的に決定し、ロボット装置が対応する動作を実行することが可能になるように軸関節のモーションをロボット装置に送ること;ロボット装置によってフィードバックされた現在の動作状態を受け取ることを含んでいてよい。
【0122】
一例では、動作コマンドおよびフォースセンサによってリアルタイムで収集されたフォースデータに応じて、ロボットの軸関節のモーションを動的に決定し、軸関節のモーションをロボット機器に送ることは、以降のことを含むことができる、すなわち:ロボットのコントロール情報ならびにモーション情報およびフォース情報を含んでいるコントロール情報を取得するために動作指示を分析すること;モーション情報およびフォース情報に応じて、デカルト空間経路およびロボットツールの終端センターポイントの速度を計画すること;ロボットの運動中に、フォースセンサによって測定された、ロボットツールの終端センターポイントのフォースデータを取得すること;フォースデータに応じてデカルト空間経路を微調整し、ロボットのデカルト補償を計算し、微調整されたデカルト空間経路を取得すること;微調整されたデカルト空間経路を対応する軸関節位置に変換すること;軸関節位置および速度を対応するロボットコントローラに提供することを含むことができる。
【0123】
装置エージェントがロボットエージェントでない場合、装置エージェントが動作指示に応じて、アクションシーケンス内のアクションを順番に実行するように装置をコントロールし、対応する動作状態をフィードバックすることは、以降のものを含んでいてよく、すなわち:動作指示を対応する装置に提供し、現在の動作状態または装置によってフィードバックされた実行結果を受け取ることを含んでいてよい。
【0124】
さらに、サービス応答がアクションシーケンスでないならば、装置エージェントと対話する必要はない。
【0125】
ブロックS85で、現在のスキル機能ブロックが正常に実行された後、開始されていないスキル機能ブロックがまだ存在しているかどうかが決定される。開始されていないスキル機能ブロックがまだ存在している場合、ブロックS86が実行され;そうでない場合には、現在のプロセスを終了することができる。
【0126】
一例では、各スキル機能ブロックがステートマシンを維持し、対応するスキル機能ブロックが開始されていない場合、ステートマシンはアイドルであり;対応するスキル機能ブロックが開始されている場合、ステートマシンは「アクティブ」状態に変換され;対応するスキル機能ブロックが正常に実行された場合、ステートマシンは「完了」状態に変換され;対応するスキル機能ブロックの実行にエラーが発生した場合、ステートマシンは「エラー」状態に変換される。このブロックでは、対応するスキル機能ブロックの実行状態が、ステートマシンの状態に応じて、たとえば正常に実行されたかに応じて、決定され得る。
【0127】
ブロックS86で、次のスキル機能ブロックが現在のスキル機能ブロックとされ、ブロックS83に戻る。
【0128】
実際に、本開示のこの実装方式によって提供される生産システムの自動コントロールのためのシステムは、具体的に、様々な形式で実装されてよい。たとえば、生産システムの自動コントロールのためのシステムは、インテリジェント端末にインストールされるプラグインとして、特定の規則に準拠するアプリケーションプログラミングインタフェースを使用することによってコンパイルされ得る、またはユーザがダウンロードし、使用するためのアプリケーションプログラムにカプセル化され得る。
【0129】
プラグインとしてコンパイルされる場合、産業用アプリ開発のためのシステムは、ocx、dllおよびcabなどの様々なプラグイン形式で実装されてよい。本開示のこの実装方式によって提供される産業用アプリ開発のためのシステムは、特定の技術、たとえば、Flashプラグイン技術、RealPlayerプラグイン技術、MMSプラグイン技術、MIDIstaffプラグイン技術またはActiveXプラグイン技術を使用することによって実装されてもよい。
【0130】
本開示のこの実装方式によって提供される産業用アプリ開発のための方法は、指示ストレージ方式または指示セットストレージ方式で様々な記憶媒体に格納されてよい。これらの記憶媒体は、以下に限定されるものではないが、フロッピーディスク、光ディスク、DVD、ハードディスク、フラッシュメモリ、USBフラッシュドライブ、CFカード、SDカード、MMCカード、SMカード、メモリスティックおよびxDカードを含む。
【0131】
さらに、本開示のこの実装方式によって提供される産業用アプリ開発のための方法は、フラッシュメモリ(NAND型フラッシュメモリ)、たとえば、USBフラッシュドライブ、CFカード、SDカード、SDHCカード、MMCカード、SMカード、メモリスティックおよびxDカードに基づく記憶媒体にも適用され得る。
【0132】
さらに、コンピュータで動作するオペレーティングシステムが、コンピュータが記憶媒体から読み出したプログラムコードを実行するだけでなく、このプログラムコードに基づく指示を使用することによっても、実際の動作の一部または全部を実施させることができ、これによって、上述の複数の実施形態における任意の実施形態の機能が実装されることが明らかであろう。
【0133】
たとえば、
図9は、本開示の例による生産システムの自動コントロールのための別のシステムを概略的に示す図である。このシステムは、
図8に示されている方法を実施するために、または
図1に示されているシステムを実装するために、使用されてよい。
図9に示されているように、システムは、少なくとも1つのメモリ91および少なくとも1つのプロセッサ92を含んでいてよい。さらに、通信ポート、I/Oコントローラ、ネットワーク通信インタフェースなどの幾つかの他のコンポーネントが含まれていてよい。これらのコンポーネントは、バス93などを通じて通信する。
【0134】
少なくとも1つのメモリ91が、コンピュータプログラムを格納するように構成されている。一例では、コンピュータプログラムは、
図1に示されているシステムの様々なモジュールを含むと理解することができる。さらに、少なくとも1つのメモリ91は、オペレーティングシステムなどを格納していてよい。オペレーティングシステムは、以下に限定されるものではないが、Android OS、Symbian OS、Windows OS、Linux OSなどを含む。
【0135】
少なくとも1つのプロセッサ92が、少なくとも1つのメモリ91に格納されているコンピュータプログラムを呼び出して、本開示の例に記載されている生産システムの自動コントロールのための方法を実施するように構成されている。プロセッサ92は、CPU、処理ユニット/モジュール、ASIC、ロジックモジュールまたはプログラマブルゲートアレイなどであってよい。これは、通信ポートを通じてデータを受け取り、送ることができる。
【0136】
I/Oコントローラはディスプレイと入力装置とを有しており、これは関連データを入力、出力および表示するために使用される。
【0137】
本開示の例における上述した技術的解決策から、次のことが分かる。すなわち、生産プロセスに関与するスキルの実装部分をソフトウェア方式で記述して、カプセル化するスキルブロックと、生産プロセスに関与するスキルのインタフェース部分をソフトウェア方式で記述して、カプセル化する複数のスキル機能ブロックとがそれぞれ設定され、これによって、ユーザは、スキル機能ブロックに基づいて生産手順をプログラムするだけでよく、次いでバックグラウンドが、生産手順において各スキル機能ブロックを順次開始することによって対応するスキルブロックを呼び出して、対応する生産システムのスキルを完了し、これによって、ユーザの、生産システムの自動コントロールプログラミングプロセスが簡素化され、ユーザのプログラミングの困難さが軽減されることが分かる。また、生産システムの再プログラムが容易であるため、これは、小ロット生産の急変に対応することができる。
【0138】
本明細書で使用するとき、文脈が例外を明確に支持しない限り、単数形「a」(「a」、「an」、「the」)は複数形を含むことが意図されていると理解されるべきである。本明細書で使用される「および/または」は、関連する列挙された項目の1つまたは複数の任意の可能な組み合わせおよび全ての可能な組み合わせを含むことが意図されていることも理解されるべきである。
【0139】
本開示の実施形態の数は、説明のためだけに使用されており、実装のメリットを表してない。
【0140】
上述の記載は、説明の目的で、特定の例を参照して記述された。しかし、上述の例示的な議論は、網羅的であること、または本開示を開示された正確な形態に限定することを意図するものではない。上述の教示を考慮して、多くの修正および変更が可能である。これらの例は、本開示の原理およびその実際の適用を極めて分かりやすく説明するために、選択され、説明され、これによって、当業者が本開示および予期される特定の使用に適した様々な修正を伴う様々な例を極めて良好に利用することが可能になった。
【符号の説明】
【0141】
110 生産システムのスキルライブラリ
111 スキル管理モジュール
1121,112i,112i+1,112N スキルブロック
112A アプリ生成モジュール
112B 要件分析モジュール
112C 機能決定モジュール
112D 第1のインテリジェントマッチングモジュール
112E 第2のインテリジェントマッチングモジュール
113 第1の通信インタフェース
114 スキルレジスタ
120 統合実行エンジン
121 スキル実行エンジン
1221,1222,122M スキル機能ブロック
122A Modbus TCPコネクタ
122B PROFINET IOコネクタ
122C データ層
123 アクションキュー
124 アクション実行エンジン
125 第2の通信インタフェース
126 第3の通信インタフェース
1301 フォースセンサ
1302-1 ロボットコントローラ
1302-2 ロボットアーム
1303,1303-1,1303-2,1303-3 3Dカメラ
1401 フォースセンサエージェント
1402 ロボットエージェント
1403,1403-1,1403-2,1403-3 3Dカメラエージェント
1404 ツールエージェント
150 データバス
501A~506A,501B~511B,S81~S86 プロセス
610 第4の通信インタフェース
620 コマンドキュー
630 コマンド実行エンジン
640 モーションコマンドチャネル
650 フォースモーション調整モジュール
651 指示解析モジュール
652 モーション経路計画モジュール
653 フォースコントロールモジュール
654 変換モジュール
660 補間チャネル
670 ロボット状態チャネル
701~710 アクションシーケンス
91 メモリ
92 プロセッサ
93 バス
【国際調査報告】