(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-19
(45)【発行日】2023-09-27
(54)【発明の名称】産業用途のためのスキルインタフェース
(51)【国際特許分類】
G05B 19/418 20060101AFI20230920BHJP
G16Y 30/00 20200101ALI20230920BHJP
【FI】
G05B19/418 Z
G16Y30/00
(21)【出願番号】P 2019507263
(86)(22)【出願日】2016-08-10
(86)【国際出願番号】 US2016046226
(87)【国際公開番号】W WO2018031005
(87)【国際公開日】2018-02-15
【審査請求日】2019-03-08
【審判番号】
【審判請求日】2022-04-08
(73)【特許権者】
【識別番号】517291346
【氏名又は名称】シーメンス アクチエンゲゼルシヤフト
【氏名又は名称原語表記】Siemens Aktiengesellschaft
【住所又は居所原語表記】Werner-von-Siemens-Str. 1, D-80333 Muenchen, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】リチャード ゲアリー マクダニエル
【合議体】
【審判長】鈴木 貴雄
【審判官】田々井 正吾
【審判官】大山 健
(56)【参考文献】
【文献】国際公開第2016/074730(WO,A1)
【文献】米国特許第6970903(US,B1)
【文献】特表2002-519746(JP,A)
【文献】特開平06-075972(JP,A)
【文献】特開平11-039018(JP,A)
【文献】特開2003-291083(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/00 - 19/46
G16Y 30/00
(57)【特許請求の範囲】
【請求項1】
サイバー物理生産システムであって、
前記サイバー物理生産システムは、1つまたは複数のワークピースを含む製品を集合的に生産するように構成された複数の自律的なサイバー物理生産ユニットを含み、前記複数の
自律的なサイバー物理生産ユニットのそれぞれは、
1つまたは複数のオートメーションシステム装置と、
1つまたは複数のスキルインスタンスを受信するように構成されたネットワークインタフェースであって、各スキルインスタンスは、スキル名称およびパラメータセットを提供し、当該パラメータセットは、前記1つまたは複数のオートメーションシステム装置によって、完成品へと最終的に変換するためにワークピースをどのように変形するべきかについての、機械に依存しない記述を提供する、ネットワークインタフェースと、
前記1つまたは複数のスキルインスタンスを保存するように構成された順序待ち行列と、
プロセッサと
を含み、
前記プロセッサは、
前記スキルインスタンスが前記順序待ち行列に入力された後、優先シーケンスに基づいて、前記順序待ち行列を再配列
するステップと、
データフロー言語を使用して、各スキルインスタンスを解釈し、前記1つまたは複数のスキルインスタンスのそれぞれに対応する、前記オートメーションシステム装置の計算上の挙動または物理挙動を実行
するステップであって、
前記スキルインスタンスは所与のワークピースにおいて達成されることが所望される結果の記述であり
、
前記データフロー言語は、スキルインスタンスを、実際に作業をどのように実行するかを記述したプログラムに実装するために、所望される前記ワークピースの変形に最良に適合するスキルの抽象表現を導出し、ついで、当該抽象表現のプログラムバージョンを、
所望の結果を達成する実際の挙動関数に付加するものであって、グラフノードの入力値および出力値に従って、
前記順序待ち行列内のどのスキルインスタンスを選択すべきかを識別して、前記順序待ち行列内の選択した前記スキルインスタンスに対する前記パラメータセットからパラメータを検索することにより、前記計算上の挙動または物理挙動を実現し、グラフノードが前記入力値を受信することに応じて、計算が実行され、結果が前記出力値に表示され、
前記入力値は、前記順序待ち行列内の検索のフラグと識別のためのキー値を含み、少なくとも1つの出力値はスキルインスタンスのパラメータ
の値に対応
する、ステップと、
前記ネットワークインタフェースを介して、実行された挙動の状態および前記ワークピースの対応する変形を、前記サイバー物理生産システム
の他のサイバー物理生産ユニットと通信するように構成されている、
サイバー物理生産システム。
【請求項2】
前記各サイバー物理生産ユニットの前記ネットワークインタフェースは、前記1つまたは複数のスキルインスタンスを受信するためのREST(Representational State Transfer)プロトコルを用いたウェブサービスインタフェースを含む、
請求項1記載のサイバー物理生産システム。
【請求項3】
前記プロセッサは、さらに、即時に実行できないスキルインスタンスをスキップしつつ、前記1つまたは複数のスキルインスタンスを順次に実行するように構成されている、
請求項1記載のサイバー物理生産システム。
【請求項4】
前記各サイバー物理生産ユニットは、さらに、前記ワークピースに対応するURI(Universal Resource Identifier)を規定する、前記ワークピース上の物理タグを読み取るように構成されたスキャナ装置を含み、
前記1つまたは複数のスキルインスタンスは、前記ワークピース上の前記物理タグから読み取られた前記URIに適合する値を含むキーパラメータを含むキースキルを含み、
前記プロセッサは、前記URIを用いて、実行中に、前記順序待ち行列内の前記1つまたは複数のスキルインスタンスを前記ワークピースに関連付ける、
請求項1記載のサイバー物理生産システム。
【請求項5】
前記プロセッサは、さらに、実行される順序待ち行列からのスキルインスタンスの削除に応じて、前記スキルインスタンスの完了を示すメッセージを前記サイバー物理生産システムに送信するように構成されている、
請求項1記載のサイバー物理生産システム。
【請求項6】
前記プロセッサは、さらに、実行される順序待ち行列からのスキルインスタンスの削除に応じて、前記スキルインスタンスのスキル状態パラメータを修正するように構成されている、
請求項1記載のサイバー物理生産システム。
【請求項7】
前記サイバー物理生産システムは、さらに、前記サイバー物理生産ユニットへワークピースを搬送する搬送システムを含み、
前記サイバー物理生産ユニットのそれぞれは、他のサイバー物理生産ユニットからのアクションが、ワークピースを前記サイバー物理生産ユニット内外へ移動させる前記搬送システムの外部での機能のために要求されないように、自律的に作業を行う、
請求項1記載のサイバー物理生産システム。
【請求項8】
サイバー物理生産システムにおけるサイバー物理生産ユニットを制御するスキルインタフェースの使用のための、コンピュータにより実現される方法であって、前記方法は、
ネットワークインタフェースを介してスキルインスタンスを受信するステップであって、当該スキルインスタンスは、スキル名称およびパラメータセットを提供し、当該パラメータセットは、前記サイバー物理生産ユニットに含まれる1つまたは複数のオートメーションシステム装置によって、完成品へと最終的に変換するためにワークピースをどのように変形するべきかについての、機械に依存しない記述を提供する、ステップと、
前記スキルインスタンスを、1つまたは複数の付加的なスキルインスタンスを含む順序待ち行列へ入力するステップと、
前記スキルインスタンスが前記順序待ち行列に入力された後、優先シーケンスに基づいて、前記順序待ち行列を再配列するステップと、
データフロー言語を使用して、各スキルインスタンスを解釈し、前記順序待ち行列内の各スキルインスタンスに対応する、前記オートメーションシステム装置の計算上の挙動または物理挙動を選択的に実行
するステップであって、前記データフロー言語は、スキルインスタンスを、実際に作業をどのように実行するかを記述したプログラムに実装するために、所望される前記ワークピースの変形に最良に適合するスキルの抽象表現を導出し、ついで、当該抽象表現のプログラムバージョンを、
所望の結果を達成する実際の挙動関数に付加するものであって、グラフノードの入力値および出力値に従って、
前記順序待ち行列内のどのスキルインスタンスを選択すべきかを識別して、前記順序待ち行列内の選択した前記スキルインスタンスに対する前記パラメータセットからパラメータを検索することにより、前記計算上の挙動または物理挙動を実現し、グラフノードが前記入力値を受信することに応じて、計算が実行され、結果が前記出力値に表示され、
前記入力値は、前記順序待ち行列内の検索のフラグと識別のためのキー値を含み、少なくとも1つの出力値はスキルインスタンスのパラメータ
の値に対応する、ステップと、
前記ネットワークインタフェースを介して、実行された挙動の状態および前記ワークピースの対応する変形を、前記サイバー物理生産システム
の他のサイバー物理生産ユニットと通信するステップと、
を含む、方法。
【請求項9】
前記方法は、さらに、即時に実行できないスキルインスタンスをスキップしつつ、前記順序待ち行列内のスキルインスタンスを順次に実行するステップを含む、
請求項8記載の方法。
【請求項10】
前記方法は、さらに、
スキャナ装置により、前記ワークピースに対応するURI(Universal Resource Identifier)を規定する、前記ワークピース上の物理タグを読み取るステップと、
前記ワークピース上の前記物理タグから読み取られた前記URIに適合する値を含むキーパラメータを含むキースキルを含む少なくとも1つのスキルインスタンスを受信するステップと、
前記URIを用いて、実行中、前記スキルインスタンスを前記ワークピースに関連付けるステップと、
を含む、
請求項8記載の方法。
【請求項11】
前記方法は、さらに、実行される順序待ち行列からのスキルインスタンスの削除に応じて、前記スキルインスタンスの完了を示すメッセージをサイバー物理生産システムに送信するステップを含む、
請求項8記載の方法。
【請求項12】
前記方法は、さらに、実行される順序待ち行列からのスキルインスタンスの削除に応じて、前記スキルインスタンスのスキル状態パラメータを修正するステップを含む、
請求項8記載の方法。
【請求項13】
前記サイバー物理生産システムは、さらに、前記サイバー物理生産ユニットへワークピースを搬送する搬送システムを含み、
前記方法は、他のサイバー物理生産ユニットからのアクションが、ワークピースを前記サイバー物理生産ユニット内外へ移動させる前記搬送システムの外部での機能のために要求されないように、前記サイバー物理生産ユニットのそれぞれが自律的に作業を行うステップを含む、
請求項8記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、全般的には、関連する方法、システムおよび機器をともなう産業用途のためのスキルインタフェースに関する。開示する技術は、例えば、プログラマブルコントローラが使用される種々のオートメーション生産環境に適用可能である。
【背景技術】
【0002】
製造プロセスは高度にオートメーション化されており、複数の階層に分配可能である。例えば、最高次のレベルでは企業資源プランニング(ERP)が行われ、これはビジネス層とも称されることがある。低次のレベルでは、ハードウェア構成および制御が行われ、これは種々の制御層またはユニット層と称されることがある。中間層は、ビジネス層と制御層とを統合および接続している。こうした中間層は製造実行システム(MES)を含み、この製造実行システムは、データおよび機能間のインタラクション、例えば資源管理、資源割り当て、発送、データ収集およびデータ取得、品質保証管理、メンテナンス管理、パフォーマンス分析、スケジューリング、ドキュメント制御、労務管理ならびに材料および製品の追跡に関して、MESプロセスを定義している。
【0003】
産業用途における課題の1つは機械間インタラクションであり、これは、MESがどのように産業用途のプロセスを実現するかに大きく依存している。その結果、システム全体のロバスト性は制限されている。カスタマイズが要求される場合、これを手動で実行しなければならない。例えば、産業環境にいるオペレータまたは他の作業員は、作業順序を読み取り、特定のプロセスステップに対する入力材料を取り出し、この材料を持って機械のところまで歩いていき、機械を稼働させてステップを実現することができる。いくつかの例では、機械、例えばクレーンは、物品の搬送を可能とすることができる。しかし、基本的には、システムの任意のカスタマイズは、システムと人間とのインタラクションに依存するにとどまっている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態は、産業用途のスキルインタフェースに関連する方法、システムおよび機器を提供することにより、上述した短所および欠点の1つまたは複数に対処してこれを克服するものである。ここで説明する技術は、オートメーション用途における複数のインタラクション装置間で意図を通信する際の問題を、「スキル」と称される抽象的な用語によって定義している。スキルの目的は、オートメーションでの処理を設定および実行するプロセスを標準化および簡単化することである。これは、システムレベルでの機械間の通信媒体として使用され、またどんな動作によって最適化計算を実行するかを決定するために用いられる。プロセスに関連するスキルの1つはMESに見出されるが、これをユニットレベルで実現することもできる。
【課題を解決するための手段】
【0005】
本発明の一態様によれば、サイバー物理生産システムは、1つまたは複数のワークピースを含む製品を集合的に生産するように構成された複数のサイバー物理ユニットを含む。いくつかの実施形態では、サイバー物理ユニットのそれぞれは、プログラマブルロジックコントローラを含む。各サイバー物理ユニットは、1つまたは複数のオートメーションシステム装置と、ネットワークインタフェースと、プロセッサと、を含む。ネットワークインタフェースは、オートメーションシステム装置によるワークピースの変形についての、機械に依存しない要求を提供するスキルインスタンスを受信するように構成されている。いくつかの実施形態では、ネットワークインタフェースは、スキルインスタンスの受信のためにREST(Representational State Transfer)プロトコルを用いたウェブサービスインタフェースを含む。プロセッサは、オートメーションシステム装置を制御する挙動を適用することにより、スキルインスタンスのそれぞれを実行するように構成されている。サイバー物理生産システムのいくつかの実施形態では、少なくとも1つのサイバー物理ユニットは、システムに含まれる他のサイバー物理ユニットとの間でのワークピースの搬送を可能にする搬送システムに対応する。
【0006】
上述したサイバー物理生産システムのいくつかの実施形態によれば、各サイバー物理ユニットはさらに、プロセッサによる実行の前にスキルインスタンスを保存するように構成されたユニット順序待ち行列を含む。プロセッサはさらに、スキルインスタンスがユニット順序待ち行列に入力された後、優先シーケンスに基づいてユニット順序待ち行列を再配列するように構成可能である。付加的に(もしくは代替的に)、プロセッサはさらに、即時に実行できないスキルインスタンスをスキップしつつ、スキルインスタンスを順次に実行するように構成可能である。上述したサイバー物理生産システムのいくつかの実施形態では、プロセッサはさらに、実行されるユニット順序待ち行列からのスキルインスタンスの削除に応じて、当該スキルインスタンスの完了を示すメッセージをサイバー物理生産システムに送信するように構成される。プロセッサはまた、実行されるユニット順序待ち行列からのスキルインスタンスの削除に応じて、当該スキルインスタンスのスキル状態パラメータを修正するように構成可能である。
【0007】
いくつかの実施形態では、各サイバー物理ユニットはさらに、ワークピース上の物理タグを読み取るように構成されたスキャナ装置を含む。当該物理タグは、ワークピースに対応するURI(Universal Resource Identifier)を規定する。プロセッサは、実行中、URIを用いて、ユニット順序待ち行列内のスキルインスタンスをワークピースに関連付けることができる。例えば、一実施形態では、スキルインスタンスは、ワークピースに対応するURIに適合するキースキル値を含む。
【0008】
本発明の別の態様によれば、サイバー物理ユニットを制御するスキルインタフェースの使用のための、コンピュータにより実現される方法は、サイバー物理ユニットに含まれる1つまたは複数のオートメーションシステム装置によるワークピースの変形についての、機械に依存しない要求を提供するスキルインスタンスを受信することを含む。当該スキルインスタンスは、1つまたは複数の付加的なスキルインスタンスを含むユニット順序待ち行列へ入力される。スキルインスタンスが入力されると、待ち行列は再配列可能となる。例えば、一実施形態では、本方法は、スキルインスタンスがユニット順序待ち行列に入力された後、優先シーケンスに基づいてユニット順序待ち行列を再配列することを含む。ついで、ユニット順序待ち行列内の各スキルインスタンスが、オートメーションシステム装置を制御する挙動を適用することにより、選択的に実行される。いくつかの実施形態では、ユニット順序待ち行列内のスキルインスタンスは、即時に実行できないスキルインスタンスをスキップしつつ、順次に実行される。実行されるユニット順序待ち行列からのスキルインスタンスの削除に応じて、当該スキルインスタンスの完了を示すメッセージをサイバー物理生産システムに送信できるようになるか、またはスキルインスタンスのスキル状態パラメータを修正できるようになる。
【0009】
本発明の他の実施形態によれば、サイバー物理生産システムは、搬送用サイバー物理ユニットを含み、この搬送用サイバー物理ユニットは、物理搬送システムと、搬送用ネットワークインタフェースと、プロセッサと、を含む。搬送用ネットワークインタフェースは、搬送スキルインスタンスを受信するように構成されており、この搬送スキルインスタンスは、サイバー物理生産システムに含まれる他のサイバー物理ユニットとの間でのワークピースの搬送についての、機械に依存しない要求を提供する。プロセッサは、搬送スキルインスタンスを実現するために、物理搬送システムに搬送挙動を適用するように構成されている。いくつかの実施形態では、上述したサイバー物理生産システムはさらに、1つまたは複数の機械加工用サイバー物理ユニットを含む。各機械加工用サイバー物理ユニットは、ワークピースを物理的に変形させる物理機械と、機械加工用サイバー物理ユニットによるワークピースの機械加工についての、機械に依存しない要求を提供することにより、1つまたは複数の機械加工スキルインスタンスを受信するように構成された機械加工用ネットワークインタフェースと、機械加工スキルインスタンスを実現するために、物理機械に機械加工挙動を適用するように構成されたプロセッサと、を含む。
【0010】
本発明の付加的な特徴および利点は、以下の、添付図に関連して行う例示的実施形態の詳細な説明から明らかとなるであろう。
【0011】
本発明の上述した態様および他の態様は、添付図に関連して読まれれば、以下の詳細な説明から最良に理解される。本発明を例示する目的で、図には現在のところ好ましい実施形態を示したが、本発明は開示した特定の構成に限定されないことを理解されたい。次の各図が図面に含まれている。
【図面の簡単な説明】
【0012】
【
図1】いくつかの実施形態による、自律的機械間で材料を自動搬送するサイバー物理生産システム(CPPS)の例を示す図である。
【
図2】いくつかの実施形態による、サイバー物理生産ユニット(CPPU)の高い位置からの概観と、
図1に示されているCPPSの例に関連するスキルとを示す図である。
【
図3】いくつかの実施形態による、個々のCPPU300の構成の例を示す図である。
【
図4】他のセンサおよびプッシャをともなって配置された3つのコンベヤから成るセットを含むシナリオの例を示す図である。
【
図5】本発明のいくつかの実施形態において実現可能なCPPUのオントロジを示す図である。当該CPPUは、挙動、要素およびスキルを含む。
【
図6】いくつかの実施形態による、ユニット順序待ち行列に追加されるスキルインスタンスの例を示す図である。
【
図7】作業トレイを識別するためのQRコード
(登録商標)識別子の例を示す図である。
【
図8】スキルと挙動との間の内的コネクションを規定することにより、プログラミングされた挙動を実現するためにデータフロー言語が使用されるスキルインタフェースの例を示す図である。
【
図9】
図8に示されているよりも複雑なスキルと挙動とのコネクションを示す付加的なデータフローの例を示す図である。
【発明を実施するための形態】
【0013】
以下の開示により、自律的プロセスにおいて通信を可能にするスキルインタフェースに関連する方法、システムおよび機器を指向したいくつかの実施形態にしたがって、本発明を説明する。ここで使用している「スキル」なる用語は、最終的に完成品へと転換可能にするためにワークピースまたは材料をどのように変形しなければならないかについての、機械に依存しない記述をいう。スキルインタフェースを支援する装置は、ここでは、サイバー物理生産ユニット(CPPU)と称され、複数のCPPUの組み合わされたアクティビティは、サイバー物理生産システム(CPPS)によって制御される。
【0014】
ここで説明するスキルインタフェースは、製品を生産するユニット群を協働して自動で制御するために使用可能である。作業製品は、例えば最適なコストに基づいて種々の機械へ配送可能であるか、または同じ組のユニットによる複数の製品を場合によっては同時に生産できるように強化可能である。スキルインタフェースによって内部監視および選択が提供されるので、オートメーションシステムは、固定の生産路に依存することなく、各機械をダイナミックに選択できる。所定のCPPUは、種々の製品に適用可能な複数の種々のスキルを支援可能であり、種々のCPPUは、システムがどのCPPUをより効率的に使用できるかを選択できるよう、共通スキルを支援可能である。
【0015】
スキルインタフェースの構成は、スキルのクラスの定義を含む。当該定義は、例えば、スキル名称と、ワークピースをどのように変形するかを記述したパラメータセットと、を含むことができる。CPPSは、どのようなパラメータ値を特定のワークピースに対して使用するかを記述したスキルインスタンスを形成可能である。当該インスタンスは、一般的にあらゆるワークピースに適用可能であってよく、またはどのワークピースに影響するかを識別するためのキーを用いることができる。インスタンスは待ち行列に保存されており、この列から、ユニットがインスタンスを回収し、スキルのパラメータを解包する。全てのスキルが即時に適用されなくてもよいことから、ユニットは、待ち行列の先を検査して次に実行すべきスキルを選択することができる。ついで、ユニットは、種々の要素、すなわち実際に作業を行う物理機能装置を制御する挙動にパラメータを適用することによりスキルを実行する。ユニットの物理的制限に依存して、同じクラスのスキルを含む複数のスキルを同時に実行可能である。スキルが完了すると、これらのスキルを待ち行列から除去して、MESに完了を報知することができる。
【0016】
スキルは、半自律的生産ユニットの組間で製品情報の通信に用いられる媒体である。ハンドツールによる一製品のみの固定の工場で生産するのでなく、複数の半インテリジェント装置を用いて製品を構築することには多くの理由がある。例えば、高度にカスタマイズされた製品の生産または小さなロットサイズでの種々の製品の生産が所望される場合、汎用機械をカスタマイズ可能な構成において用いることにより、コストをいっそう効率的とすることができる。なぜなら、単一の製品のために工場をまるごと構築する固定のコストを削除することができるからである。
【0017】
図1には、いくつかの実施形態による、自律的機械間で材料を自動搬送するサイバー物理生産システム(CPPS)100の例が示されている。
図1では、搬送システムが、それぞれワークピースを製品へ整形するプロセスを実行するロード/アンロードステーション105、穿孔機110および粉砕機115間で、材料および作業製品を輸送している。
【0018】
生産システムは、それぞれプロセス全体のいくつかの側面を実行可能なユニットに分割されている。粉砕機115は、例えば、製品の全体形状を形成するために使用可能である。穿孔機110は、粉砕機115にとっては過度に精細であるために作成できない製品に穿孔するために使用可能である。ロード/アンロードステーション105は、他の機械での使用に必要とされるまで、物品および材料を保持する。搬送システムは、作業製品を、処理が行われる機械へ、またこの機械から移動させる。CPPS100の個々のセグメントは、サイバー物理生産ユニット(CPPU)と称される。CPPUは、提供される作業の大部分を監督もしくは特別な指令なしに行える自律的かつインテリジェントなものである。
【0019】
図1の例では、搬送システムの要素、例えばワークピースをメインコンベヤから穿孔機へ輸送する装置が穿孔機110のCPPUの一部と見なされていることに注意されたい。これは搬送ユニットの一部であると考えられやすいかもしれない。機械間での労力分配は潜在的には任意に可能であるが、通常はシステム統括者の意図を超えるいくつかの要因によって決定される。例えば、穿孔機110用の部材交換装置は、物理的に有線接続可能であるかまたは他の方式で穿孔機に取り付け可能である。プロセスが再構成可能であっても、穿孔すべき部材のローダをドリルから分離することは無意味である。なぜなら、ローダはカスタムビルドされており、他の何らかの目的のために使用することはできないからである。さらに、ドリルとローダとの組み合わせにより、穿孔機110を全体としてより自律的とすることができる。ローダがなければ、ドリルには、内部穿孔すべき材料を配置するための他の何らかの装置または人員が必要となる。
【0020】
CPPUが判別されると、ついで、プロセスを実行する装置にプロセスの目的を通信できるようになる。この場合、CPPUのスキルは、どのようなアクションをワークピースに対して行うかを通信するために用いられる。
【0021】
図2には、いくつかの実施形態による、CPPUの高い位置からの概観と、
図1に示されているCPPSの例に関連するスキルと、が示されている。各スキルは、各ユニットに対する作業製品および主目的に適用される動作を反映している。ゆえに、ロード/アンロードステーション105は、ロードのスキル205Aおよび供給のスキル205Bを実装している。穿孔機110および粉砕機115は、ドリルのスキル210およびミルのスキル215をそれぞれ実装している。さらに、コンベヤシステムは搬送のスキル220を有する。プロセスを実行するために、作業製品は搬送のスキル220によって種々のユニットへ往復送付される。製品は、ミルのスキル215を用いて整形される、ドリルのスキル210を用いて穿孔される、などのようにされる。プランニングシステムを用いて、正しいスキル情報が、これを必要とする正しいユニットへ送付可能となる。
【0022】
図3には、いくつかの実施形態による、個々のCPPU300の構成例が示されている。CPPUは、製品の製造および修正が行われる場所である。これは、CPPSの一部として適用されるスキルによって制御され、一般に完全にオートメーション化されているので、サイバーと見なされる。ただし、いくつかの実施形態では、人間による支援も利用可能である。CPPUは、作業製品をユニット内外へ移動させうる搬送システムの外部での機能のために他のCPPUからのアクションを要求しないよう、自律的に作業することを意図している。また、CPPUはインテリジェントであるべきであり、適用されたスキルからの所望の製品情報を解釈する能力を有し、結果を達成するための自身の挙動を実行することができる。
【0023】
図3に示されているCPPUは、作業を実行する物理アセット、ならびに材料供給、ツール交換、薬剤散布、位置測定およびユニットが実行すべき他の事柄のための補助装置を含む2つの要素315,320を備えている。これらの項目が要素と称される。
図3の例には、要素315,320に含まれるものとしてロボット、カメラ、モータおよびコンベヤベルトが示されているが、一般に任意の物理アセットがCPPUの要素に含まれうることを理解されたい。
【0024】
スキル305,310はCPPU300へのインタフェースとして作用する。
図3には、CPPUにスキルを適用するため外部から通信が発生したことを示すインタフェースのシンボルによって、スキル305,310が示されている。通信媒体は、任意かつ可変の長さのメッセージを可能にするネットワークプロトコルの一種であってよい。例えば、ウェブサーバへまたはこのウェブサーバからデータを送信するメッセージが、この種のプロトコルを満足する。
【0025】
各機械に何を実行すべきかを伝達するスキル305,310と作業の実行に作用する要素315,320との間に、実際に作業をどのように実行するかを記述した内因性のプログラム上の機能の全てを含む挙動が存在している。挙動は、要素が実行する基本アクティビティとして定義される。アクティビティは物理的なものであっても計算上のものであってもよい。例えば、ロボットアームは、物理挙動として、そのエンドエフェクタを空間において移動させることができる。またロボットの移動の終点を求める関数が考慮される場合、計算すべき当該点と同様に、当該挙動も計算上のものとなる。ただし、純粋に物理的な挙動と抽象的な計算上の挙動との間には相違が生じる可能性があり、基本的には、多くのアプリケーション挙動がこれら双方の組み合わせとなる。よって、挙動は、作業製品の状態にどのように影響しうるかに関係なく、生産要素が実行するものとして定義可能である。例えば、コンベヤはオンオフ可能である。その挙動は、オンの際にベルトを走行させることとなる。ベルト上に製品がある場合に運動が行われるが、コンベヤの挙動自体はこのことに関与しない。コンベヤは製品があろうとなかろうと走行可能である。
【0026】
もちろん、要素の組み合わされたアクティビティは作業製品に影響する。コンベヤの例で続けると、コンベヤの挙動は、走行することおよびコンベヤの上面の物品を移動させることである。
図4には、他のセンサおよびプッシャとともに配置された3つのコンベヤから成るセットを含む例示のシナリオが示されている。当該アプリケーションの目的は、到来する製品の分離であってよい。製品がインコンベヤの右方のグレーボックスの位置へ導入されると、センサがボックスをAコンベヤへ送るべきかまたはBコンベヤ(および他のプロセス)へ送るべきかを判定できるようになる。プッシャの挙動は伸縮することであって、適時に伸長した場合にボックスをコンベヤBへ押し出すことである。こうした要素の組み合わされた挙動は、作業製品の状態変化に作用する。ボックスは未分類の状態から分類移行へ移行する。つまり、当該アプリケーションの「スキル」は、ボックスの分類である。当該装置のスキルは、"SORT(box_id, dest)"と公式化でき、または言い換えれば、与えられた特定のボックスが特定の目的地のコンベヤ上に載置される。当該スキルのインスタンスは"SORT(box_id=1007, dest=B)"とすることができ、これによりボックス番号1007がベルトB上に載置される。
【0027】
別の種類のスキルには、より直接に作業製品に影響するものもある。例えば、ワークピースは、切削、粉砕または穿孔によって変形可能である。複数のワークピースは、組み立てられて組み合わせ部材を形成し、相互に接着もしくは締結されうる。一般に、スキルは、作業製品をどのように修正するかを宣言することにより、生産ユニットの目的を生産システムの文脈において決定している。したがって、スキルは、ユニットが実行すべき事柄を外部に公開する、有効な宣言である。
【0028】
図5には、本発明のいくつかの実施形態において構成可能なものとしてのCPPUのオントロジが示されている。CPPUは、挙動、要素およびスキルを含む。挙動は、要素がどのように作業するかならびにどのように協働するかを記述するエンティティとして定義されている。したがって、アプリケーションプログラムの論理も、要素の物理挙動とともに考慮される挙動となる。また、要素は、物理挙動を含むのであるから、挙動を含むことができるが、その利用を制御するより複雑な機能も含むことができる。例えば、ロボットはその挙動を高レベルのコマンドによって制御するために使用可能な動きプランニング関数を有することができる。作業製品は物理エンティティであるので、これは一種の要素とも考えられる。ワークピース自体は、コンテンツを検出するトレイまたは自身の配送目的地を決定するトレイのような計算上のエレメントを含みうることに注意されたい。なお、単純なワークピースであっても、物理挙動および状態を含む。
【0029】
要素の挙動は作業製品の修正をもたらす。したがって、ワークピースが存在しない場合にも挙動は発生しうるものの、これは依然として、機械に何らかの事柄を実行させるワークピースへの要素の挙動のアプリケーションである。CPPUは、実際にこれらの事柄を引き起こさせる挙動を実行可能および開始可能にするものを記述する技術としてスキルを提供する。結果を生じさせる特定のイベント列が挙動によって生じるとしても、スキル自体は、所定の製品でのどのような結果の達成が所望されるかを記述している。
【0030】
CPPUは外部の装置に対するスキルを提供する。これらのスキルは、挙動に含まれている、製品に適用される結果を記述したアクションを開始する。スキルと挙動とは区別可能であるから、実際にタスクを実行する挙動を公開する必要なく、CPPUに対するスキルインタフェースを提供可能である。このことは、共通のインタフェースプロトコルを用いてスキルを特定可能にするので簡便であるが、ユニットの挙動はしばしば地域特有の言語での構成を要する。結果として、スキルの構成は、所望されるワークピースの変形に最良に適合するスキルの抽象表現を導出し、ついで、当該抽出のプログラムバージョンを、デューティを実行する実際の挙動関数に付加することである。
【0031】
スキルなる用語がアプリケーションにおいてその使用方式を含意しないことは混乱をまねくかもしれない。スキルはタスクの抽象的な定義をいうことができ、これはそのクラスまたはオントロジに類似する。スキルはまた、特定のユニットに適用される当該抽出のインスタンスをいうこともできる。例えば「トレイに赤のブロックを充填せよ」は、トレイおよびブロックに関連する固有のタスクに対するスキルインスタンスとなる。さらに、スキルは、ユニット上のスキルの実行をいうこともできる。スキルは挙動によって実行されるが、ユニットにセットされたスキルインスタンスと、スキルを実現するためにユニットが採用するアクションについての対応の挙動とに直接の因果関係が存在するので、スキルが実行されていると見なすことができる。本開示では、文脈から明白でないかぎり、これら種々のスキルの意味を明示する。
【0032】
CPPUは、自身の要素に堅く結合されたプログラマブルロジックコントローラ上または他のユニットレベルの計算装置上に実装可能である。基本的には、スキルインスタンスをCPPSからCPPUへ通信する任意の種類のコンピュータ制御媒体を使用できるが、ネットワークプロトコルを使用すれば直通性が最大となりやすい。ネットワークプロトコル、例えばウェブサービスの益は、拡張が容易であるという能力を含み、共通の通信設備およびプログラミングライブラリによって使用可能であることである。また、ネットワークプロトコルは、データの符号化および復号化の手法が良好に理解されているので、任意のメッセージ長さを有することができる。ここで説明している例では、通信がREST(Representational State Transfer)プロトコルおよび予め定められたURI(Universal Resource Identifier)タグを用いたウェブサービスインタフェースにより実行されることを想定している。ただし、同じ機能を提供する代替技術を本発明の他の実施形態において使用可能であることを理解されたい。
【0033】
スキルはシステム統括者によって実現可能であるので、プロセスタイプのみに基づいて予測することはできない。与えられた任意のプロセスの仕様は、メーカが自身のノウハウをその製品への固有値の付加のために適用することから、一義的である。このため、スキルの単純なプロトコルを利用して、統括者に、自身のプロセスのアイデアを直接にユニットのコード構造に反映させることができる。スキルのデータセットにさらなる情報およびセマンティクスを付加することはもちろん可能であるが、スキル開発への基礎的要求でなく、中心規定への付加であると考えなければならない。
【0034】
基礎的なスキルの定義は、パラメータセットを含む名称である。名称は、挙動構成内のどのスキルが実行されるかを示すテキスト列のような単純なものであってよい。パラメータセットはより重要である。一般に、パラメータ名称は、スキル名称のような列値であってよい。パラメータは選択的であり、所定の1つのスキルが、種々の使用ケースに対する種々のパラメータセットによって過負荷となることがある。パラメータ値は、一定値または一定の表現であってよい。同様に、パラメータ値は、単集合の不動小数点数、ブール数または整数のような単純性を保つものであってよい。単純なパラメータを用いて、スキルインスタンスをコンパクトに保ち、ユニットへの通信およびスキル待ち行列への保存を効率的に行うことができる(後述する)。
【0035】
スキル構成は、スキルインスタンスをユニットへ適用する方法と、どのスキルが利用可能であるかを発見する反映方法と、を含む。ここで使用する「反映」なる用語は、検査される項目に関するアプリオリな特定知識を必要とすることなく、実行時間において、クラス、方法、属性および他のプログラム関連情報を検査し、ダイナミックに呼び出すことをいう。反映は、少なくともスキルおよびそのパラメータの全てのリストを含むべきであり、またパラメータが選択的であるか、技術ユニットであるかおよび他の制約基準であるかにかかわらず、値限界を含むパラメータに対するタイプ情報を含みうる。スキルの発見は、ユニットが最初に起動された時点で発生する確率が高く、したがってスキルのリストは頻繁に変更されるべきでない。多くのユニットは、実行中、スキルの同じセットを提供し、ユニットのリプログラミングまたはシステム自体のリコンフィグレーションが行われないかぎり、変更されない。
【0036】
CPPUは自律的であるので、スキルは一般に、機能呼び出しのように外部から誘起はされない。CPPUは、自身の状態を検出して自身の能力にしたがいワークピースの状況を判別することができ、外部から上位の指示を受けない。ユニット自身のインテリジェンスによってワークピースおよび要素の準備が完了すると、ユニットはその機能を実行する。直接の解法は各スキルアプリケーションを、ユニットでの順序待ち行列に入力される一種の作業順序として処理することである。
【0037】
図6には、いくつかの実施形態による、ユニット順序待ち行列に付加されるスキルインスタンスの例が示されている。スキルインスタンスがユニットに付加される場合、このスキルインスタンスはユニット順序待ち行列に図示されているように投入される。いったん待ち行列に投入されると、ユニットは当該スキルインスタンスのコンテンツおよびこれがどの種類のスキルであるかを閲覧可能となる。スキルインスタンスは、特定のシーケンスにしたがうように、または後に待ち行列において即時に実行できないインスタンスをユニットがスキップできるように、配列可能である。一般のスキル構成では、ユニットは待ち行列先頭のインスタンスのパラメータにアクセスできる。またユニットは、使用可能なインスタンスを探索するために待ち行列を走査できる。これを実行するために、ユニットは、インデクス変数を使用する待ち行列を通して反復される。このため、こうしたスキルは「インデクスのスキル」と称される。なぜなら、ユニットは、待ち行列内の位置に基づいてスキルインスタンスを取り出すからである。待ち行列先頭は、インデクスゼロとなる。ユニットが順序を完了すると、ユニットは当該スキルインスタンスを待ち行列から削除することができる。スキルの削除は、CPPSに対する「完了」メッセージとして作用しうる。また、CPPSがスキル状態を決定するために監視しているスキル内に、コールバック、システムメッセージまたは可変のパラメータを設けることもできる。
【0038】
いくつかの実施形態では、CPPSは、暗示された行為を実際には実行できないスキルインスタンスをユニットに適用しないように構成される。CPPSから見て、作業できないユニットへワークピースを送付することは、劣悪なプランニングであり、プランニングプロセス自体によって回避される。他の実施形態において、劣悪なスキルインスタンスがユニットへ与えられた場合、エラーメカニズムが生じることがあるが、CPPSは作業材料を種々のユニットへ配送し直すように構成可能である。
【0039】
同様の状態は、ユニットが破損した際、遮断された際または他の方式でオフラインとされた際に発生する。こうした状況では、係属中の全てのスキルインスタンスがユニットから追放され、ユニットの通信線路がエラーリターン状態へ移行する。CPPSは、いくつかの点で、そのデータベースからユニットのエントリを削除し、新たなトポロジのもとで新たにプランを作成する。エラーが示されることはユニットそれ自体のスキルとはなりえないが、通信の必要な基本的なユニット状態でありうる。
【0040】
オペレータ、エンジニアまたは他の統括者は、種々の多数の手法でスキルの構成を設定できるが、共通のケースでは、作業製品(および通常は作業製品のキャリア)が、いくつかの種類の物理タグによって識別される。当該タグは、バーコード、QRコード
(登録商標)、RFIDタグ、印刷された番号などであってよく、CPPU内に含まれるスキャナ装置またはリーダ装置によって読み出される。作業トレイを識別するQRコード
(登録商標)識別子の例は、
図7に示されている。識別子の値は、例えば、1つの数字または英数文字列であってよい。いくつかの実施形態では、この種のタグによって識別される作業製品のパラメータを特定するために、「キーのスキル」が用いられる。キーのスキルは、ユニットが作業製品のタグから回収する識別子に適合する値を有する特別な1つのパラメータすなわちキーを形成する。これを用いて、ユニットは、手元にあるワークピースに対応するスキルインスタンスを迅速に取り出すことができる。こうした種類のスキルを用いて、CPPSは、準備完了後ただちにユニットに適用される全てのスキルインスタンスを追加し、ユニットに所定時点でいずれを適用するかを決定させる。当該分野で一般に公知のワイルドカードまたは他の検索スキーマを、使用されるいくつかの実施形態で使用して、キーによりスキルインスタンスを選択することができる。
【0041】
上述したように、ユニットの内部プログラミングは挙動によって形成される。よって、スキルの意図を実行することは、作業を実行する要素を操作する挙動を実行することである。ユニットのプログラミングは、種々の言語で実行可能である。しかし、一般には、当該分野で公知の任意のプログラミング言語を、スキルクラスの定義、待ち行列からのスキルインスタンスの取り出し、および残りのプログラムで使用されるインスタンスパラメータの読み出しを行うために使用することができる。CPPU内では、プログラミング言語の混合体を使用可能である。例えば、いくつかの実施形態では、同じプログラミング言語または関数を使用して、スキルおよび挙動の双方を定義することができる。他の実施形態では、スキルおよび挙動の定義に用いられるプログラミング言語または関数は、異なっていてよい。
【0042】
図8には、スキルと挙動との間の内的コネクションを規定することにより、データフロー言語を使用してプログラミングされた挙動を実現する場合の、スキルインタフェースの例が示されている。データフローの語法では、入力値はグラフ内のノードに適用される。ノードは、計算を実行し、結果を出力値に表示する。ついで当該出力がさらなる計算を実行する他のノードへ移行され、さらに続く。当該例では、スキル定義のノードが2つの入力値を使用して2つの出力値を供給する。第1の入力値は、起動時にノードに待ち行列内のスキルを検索させるフラグである。ノードは、スキル名称と、スキルが使用するパラメータ名称のリストとに対する構成を定義する。この場合、スキル名称は「ダンプトレイ」であり、「色」なる名称を付された1つのスキルパラメータを有する(図示されていない)。第2の入力は、待ち行列内のどのスキルインスタンスを選択すべきかを識別するための整数である。キーのスキルのタイプに対しては、第2の入力値は、スキルインスタンスに適合するキーの値である。ノードがスキルを発見すると、ノードがアクティブであることを忠実に表す第1の出力値がセットされる。またスキルインスタンスパラメータの値がパラメータリストと同じ順序で列挙された第2の出力に挿入される。当該例では、第1のパラメータ値(数「1」)の取り出しに使用されるアレイインデクスノードが示されており、これがテキストボックスに表示される。プログラムがスキルノードの入力フラグを偽にセットした場合には、ノードは、その出力の最後に存在したスキルを自動削除するように構成可能である。
【0043】
図9には、
図8よりも複雑なスキルの挙動のコネクションを示す付加データフローの例が示されている。当該例には、スキルインスタンスから情報をフェッチし、ユニットがスキルを実行するのに必要な材料を有するかどうかを判別し、最終的にユニットの他の挙動にアクションの実行を指示するための符号が含まれている。種々の言語で1つのスキルを実現するための挙動は、同様のアクティビティを形成する可能性が高い。
図9に示されているスキル構成は、1つのスキルを代表する挙動を実行するのに充分である。またさらなるフィードバックの追加も適切である。当該例では、スキルインスタンスが待ち行列から削除される際に、完了が表示される。いくつかの実施形態では、スキルインスタンスは使用中であるとマーキングされ、スキルの達成時、値は挙動完了までどれほどかを表す。当該構成では、部分的な完了のためのさらなる入力ポートを設けることができるが、これは、当該ポートに対する値を形成したユニット内でプログラミングされた挙動の構成である。
【0044】
ここで説明している技術は共通の多くの技術を使用しているが、当該技術の実行方式は従来の手法から異なっている。例えば、CPPUからCPPSを分離し、作業製品への修正としてのプロセス動作の通信のプロセスを定義するアーキテクチャ全体は、従来のシステムには見られない。通常の手法では、機械の動作は機械の挙動の用語において記述される。コンベヤは、ワークピースがどのような影響を受けるかの理解なしに、オンオフされる。完全に新たな焦点により、ハードコーディングされた指令列から、自身の役割を認識してスキルを手元のタスクに適用するインテリジェントな作用体のセットへ、システム設計が転換される。
【0045】
より技術的なレベルでは、コントローラ内に構築される標準のインタフェース機構は、通常、リモートでのプロシージャ呼び出しのように作用する。これは、機械の挙動にどのようにアクセスするかを外部へエクスポートするものである。機械をオンオフするスイッチは公開可能であり、いくつかの外部コントローラがその動作を実行可能である。その効果は、プログラミング言語内の関数呼び出しまたは共有メモリへの値の書き込みのように即時であることを意図しない。スキルインタフェースは、直接のものではない。スキル自体は待ち行列に設定される順序のように作用する。機械自身の内部動作により、当該順序がワークピースにどこでどのように適用されるかが判定される。インデクスのスキルの抽出に対するキーのスキルは、ワークピースを標識によって識別可能な通常のケースで、関連のスキルを容易に位置決め可能とするために使用される。
【0046】
スキルインタフェースはオートメーションにとって有意であるが、最適化およびコスト計算を超えて適用可能である。スキルは、プロセスが可能であるかどうか、およびプロセスが機械および関連のシステムにどのように影響するかを判定するシミュレーションシステムへの意図の通信に使用可能である。このようにして、スキルの抽出は、オートメーション装置のプログラミングからスケジューリングおよびプランニングまでのオートメーションプロセス全体に統合される。
【0047】
ここに説明した種々の装置は、限定的ではないが、制御層の装置および関連する計算インフラストラクチャを含み、本発明の実施形態にしたがってプログラミングされた指令を保持し、ここに説明したデータ構造、表、記録または他のデータを有するための、少なくとも1つのコンピュータ可読媒体またはメモリを備えることができる。ここで使用している「コンピュータ可読媒体」なる用語は、実行のために1つまたは複数のプロセッサに指令を供給することに関与する全ての媒体をいう。コンピュータ可読媒体は、非一時的な不揮発性の媒体、揮発性の媒体および伝送媒体を含む多くの形態をとることができるが、これらは限定的列挙ではない。不揮発性の媒体の非限定的な例には、光学ディスク、ソリッドステートドライブ、磁気ディスクおよび磁気光学ディスクが含まれる。揮発性の媒体の非限定的な例には、ダイナミックメモリが含まれる。伝送媒体の非限定的な例には、同軸ケーブル、銅線および光ファイバが含まれており、システムバスを構成するワイヤが含まれる。伝送媒体は、音波または光波の形態をとることもでき、例えば無線波および赤外線によるデータ通信中に生成される波の形態をとることもできる。
【0048】
上述した制御層の装置および関連する計算インフラストラクチャは、ここに説明した技術を実現するための1つまたは複数のプロセッサを含むことができる。ここに説明したプロセッサは、1つまたは複数の中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、または当該分野において知られている他のあらゆるプロセッサを備えることができる。より一般的には、ここで使用しているプロセッサは、コンピュータ可読媒体上に記憶された機械可読指令を実行する、タスクを実行するための装置であり、ハードウェアおよびファームウェアのうちいずれか1つまたはこれらの組み合わせを含むことができる。プロセッサは、タスクを実行するために実行可能な機械可読指令を記憶するメモリを備えることもできる。プロセッサは、情報に基づいて、実行可能なプロシージャまたは情報装置による使用のための情報を操作、解析、変更、変換または伝送することにより、かつ/または出力装置へ当該情報をルーティングすることによって動作する。プロセッサは、コンピュータ、コントローラまたはマイクロプロセッサの能力を使用し、または備えることができ、また例えば、実行可能な指令を用いて、汎用コンピュータによっては実行されない特殊目的の機能をプロセッサに実行させることができる。プロセッサは、相互間のインタラクションおよび/または通信を可能とするよう、他のあらゆるプロセッサと(電気的に、かつ/または実行可能な構成要素を含むものとして)結合することができる。ユーザインタフェースプロセッサまたはジェネレータは、ディスプレイイメージまたはその一部を生成するための電子回路もしくはソフトウェアまたは双方の組み合わせを備えた公知の要素である。ユーザインタフェースは、プロセッサまたは他の装置とのユーザインタラクションを行うための1つまたは複数のディスプレイイメージを有する。
【0049】
いくつかの実施形態部分では、スキルインタフェースを含むCPPUの各部分が、1つまたは複数の実行可能なアプリケーションを用いて実現されている。ここで使用している実行可能なアプリケーションは、例えばユーザコマンドまたは入力に応答して、予め定められた機能をプロセッサに実現させるためのコードまたは機械可読指令、例えばオペレーティングシステム、コンテキストデータ取得システム、または他の情報処理システムのコードまたは機械可読指令を含む。実行可能なプロシージャは、コードもしくは機械可読指令のセグメント、サブルーチン、または1つまたは複数の特定プロセスを実行するための実行可能なアプリケーションの一部もしくはコードの他の別個のセクションである。これらのプロセスは、入力データおよび/またはパラメータの受信、受信した入力データについての動作の実行、および/または受信した入力パラメータに応答する関数の実行、ならびにその結果の出力データおよび/またはパラメータの供給を含むことができる。
【0050】
ここでの機能およびプロセスステップは自動的に実行することができ、その全部または一部をユーザコマンドに応答して実行することができる。自動的に実行されるアクティビティ(ステップを含む)は、1つまたは複数の実行可能な指令または装置動作に応答して、ユーザによるアクティビティの直接的な開始なしで実行される。
【0051】
各図のシステムおよびプロセスは、排他的なものではない。本発明の原理にしたがって同一の課題を達成するために、他のシステム、プロセスおよびメニューを導出することができる。特定の実施形態に関連させて本発明を説明したが、ここに図示および説明した実施形態および変形形態は説明のためだけのものであると理解されたい。当業者であれば、本発明の範囲を逸脱することなく、現行の構成を改善することができる。上述したように、種々のシステム、サブシステム、エージェント、マネージャおよびプロセスは、ハードウェア構成要素、ソフトウェア構成要素および/またはその組み合わせを用いて実現することができる。本願特許請求の範囲のいかなる要素も、当該要素が「・・・のための手段」との文言を用いて明示的に言及されていないかぎり、米国特許法第112条第6項の規定のもとにあると理解されるべきでない。