(57)【要約】  舞台上での落下物、カメラ、スタントの人、照明、風景、幕、その他の類似の種類のデバイス又はアイテムのような舞台上のオブジェクトの自動化及び動作制御システムは、大きなスケールでオブジェクトの動きを調整し、及び／又はオブジェクトの作動を制御する。【選択図】図１
2015526110.tif 000002
【特許請求の範囲】
【請求項１】
複数の舞台上のオブジェクトを制御する自動化及び動作制御システムであって、
リアルタイムネットワークを介して互いに通信し、各ノードが舞台上のオブジェクトを制御するために用いられる少なくとも1つの設備機器に対応する複数のノードを有し、
前記複数のノードの各ノードは、マイクロプロセッサ及びメモリ装置を有し、
前記メモリ装置は、ノードプロセス及び前記マイクロプロセッサによって実行される少なくとも1つのプロセスを有し、
前記少なくとも１つのプロセスは、前記少なくとも１つの設備機器の作動を制御するために用いられ、
前記少なくとも１つのプロセスは、前記少なくとも１つの設備機器の作動を制御するための制御命令を生成する１つ以上のキュー、ルール及びアクションを有する
自動化及び動作制御システム。
【請求項２】
請求項１に記載の自動化及び動作制御システムであって、前記複数のノードにおける各ノードは、固有のネットワークアドレスを有する自動化及び動作制御システム。
【請求項３】
請求項１に記載の自動化及び動作制御システムであって、前記複数のノードのうち少なくとも1つのノードは、所定の空間内で移動するオブジェクトの位置及び方向の両方を制御する空間デバイスプロセスを有する自動化及び動作制御システム。
【請求項４】
請求項１に記載の自動化及び動作制御システムであって、前記複数のノードは、1つ以上のマシーン、入力／出力装置、外部システム、安全システム、リモートステーション及びオペレータコンソールに対応する、自動化及び動作制御システム。
【請求項５】
オブジェクトを移動するための制御システムであって、
オペレータが前記制御システムと対話することが可能なオペレータコンソールノードと、
各軸のノードがマイクロプロセッサを有し、所定の空間内でオブジェクトを移動するために使用される設備機器に関連付けられている複数の軸のノードと、
所定の空間内での前記オブジェクトの動きを表示することができる表示装置と、オペレータが前記所定の空間内でのオブジェクトの位置及び方向の両方を調整する移動経路を設定することが可能な第１のオペレータインタフェースと、オペレータが前記オブジェクトと各エンジンが複数の軸のノードのうち１つの軸のノードに対応し前記オブジェクトを移動するために用いられる複数のエンジンとの関係を設定することが可能な第２のオペレータインタフェースとを有し、前記オブジェクトに対して設定された前記移動経路及び前記オブジェクトと前記複数のエンジンとの関係を前記複数の軸のノードのうち少なくとも１つの軸のノードに提供する空間デバイスと、を有し、
前記複数の軸のノードのうち前記少なくとも１つの軸のノードは、前記オブジェクトに対して設定された前記移動経路及び前記オブジェクトと前記複数のエンジンとの関係を処理し、前記設定された移動経路に沿って前記オブジェクトを移動するために前記設備機器の作動を制御する１以上の制御命令を生成する
制御システム。
【請求項６】
請求項５に記載の制御システムであって、前記第２のオペレータインタフェースは、オブジェクトの接続点にエンジンを接続するための少なくとも1つのレース（lace）を提供するように構成されている制御システム。
【請求項７】
請求項６に記載の制御システムであって、前記少なくとも１つの軸のノードは、前記オブジェクトと前記複数のエンジンとを接続するレースの長さの変化を計算することにより、前記１以上の制御命令を生成する制御システム。
【請求項８】
請求項５に記載の制御システムであって、前記オブジェクトの前記位置は、前記所定の空間に対して設定された軸のセットを基準にして設定され、前記オブジェクトの前記方向は、前記オブジェクトの単一の位置を基準にして設定された軸のセットを基準にして設定されている制御システム。
【請求項９】
請求項５に記載の制御システムであって、前記表示装置は、前記複数のノードによる前記オブジェクトのシミュレートした動き及び前記オブジェクトの実際の動きの両方を表示する制御システム。
【請求項１０】
請求項５に記載の制御システムであって、前記オブジェクトに対して設定された移動経路及び前記オブジェクトと複数のエンジンとの関係を処理し、前記オブジェクトに対して可能性のある衝突事故を決定する制御システム。
【請求項１１】
所定の空間でのオブジェクトの移動を制御する、コンピュータによって実行される方法であって、
前記所定の空間での前記オブジェクトの位置及び方向を規定する、前記所定の空間での前記オブジェクトの始点を確立し、
前記始点から始まる経路に沿って前記オブジェクトを移動させるために用いられ、前記経路に沿った各点での前記オブジェクトの位置及び方向を有する、前記オブジェクトのモーションプロファイルを決定し、
前記モーションプロファイルを前記経路に沿って前記オブジェクトを移動させるために用いられる少なくとも1つのコンポーネントの複数の制御命令に変換し、
前記経路に沿って前記オブジェクトを移動させるために用いられる前記少なくとも1つのコンポーネントにより前記複数の制御命令を実行する
方法。
【請求項１２】
請求項１１に記載のコンピュータによって実行される方法であって、前記オブジェクトのモーションプロファイルを決定することは、前記空間内でのオブジェクトの位置及び方向を定義する前記経路の終点を確立することを具備する方法。
【請求項１３】
請求項１２に記載のコンピュータによって実行される方法であって、前記オブジェクトのモーションプロファイルを変換することは、前記始点から前記終点へ移動する複数の制御命令を算出することを具備する方法。
【請求項１４】
請求項１１に記載のコンピュータによって実行される方法であって、前記オブジェクトのモーションプロファイルを決定することは、各点が位置及び方向を持つ、前記経路に沿ったオブジェクトの複数の点を確立することを具備する方法。
【請求項１５】
請求項１４に記載のコンピュータによって実行される方法であって、前記オブジェクトの前記複数の点を確立することは、ユーザによって各点の位置座標及び方向座標を入力することを具備する方法。
【請求項１６】
請求項１１に記載のコンピュータによって実行される方法であって、更に、
前記所定の空間での前記オブジェクトの動きをシミュレートし、
ユーザに対して前記シミュレートされた前記オブジェクトの前記動きを表示する方法。
【請求項１７】
請求項１６に記載のコンピュータによって実行される方法であって、前記オブジェクトの動きをシミュレートすることは、前記少なくとも一つのコンポーネントによって実行される方法。
【請求項１８】
請求項１１に記載のコンピュータによって実行される方法であって、更に、
前記複数の制御命令が前記少なくとも１つのコンポーネントによって実行されたときに、前記オブジェクトの前記動きを表示する
方法。
【請求項１９】
請求項１１に記載のコンピュータによって実行される方法であって、前記オブジェクトの位置は、ｘ座標、ｙ座標及びｚ座標を含み、前記オブジェクトの方向は、α角、β角及びγ角を含む方法。
【請求項２０】
請求項１１に記載のコンピュータによって実行される方法であって、前記モーションプロファイルを複数の制御命令に変換することは、前記少なくとも一つのコンポーネントによって実行される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、一般的には自動化及び動作制御システムに関する。より詳細には、この出願は、分散型の制御モデルや独立したノードを用いるエンターテイメント産業の自動化及び動作制御システムに関する。
【背景技術】
【０００２】
エンターテンメント産業では、ステージ上でのシーンや映画製作セットを用いている間中（及び間）に、自動化及び動作制御システムが移動や制御をすることにより、舞台上の演出物、舞台上のオブジェクト又はコンポーネントにリアルな雰囲気を提供することができる。舞台上のオブジェクト又はコンポーネントの移動や制御の自動化は、安全性、予測可能性、効率性及び経済性のために望ましい。これまでの舞台上のオブジェクトの移動や制御のシステムは、一つの中央コンピュータ又はマイクロプロセッサの制御下で、舞台上のオブジェクト又はコンポーネントの移動や制御を提供している。そのようなこれまでの舞台上のオブジェクトの移動や制御のシステムは、中央コンピュータによって実行される連続的なアクション又は命令のリストを用いる多数のデバイスを制御する。例えば、オブジェクトの動力による移動は、駆動モータによって提供される。その駆動モータは、可変速度ドライブを用いても用いなくてもよいが、およそ一つ以上の中間コントローラを介して中央コンピュータに接続されている。そのようなこれまでの舞台上のオブジェクトの移動や制御のシステムは、オペレータのコントロールからデータネットワークまでの一定の進行に階層的順位を用い、フィールドデバイスにデバイスを制御していた。
【０００３】
複数のコンポーネントの集中制御の1つの欠点は、特定のシステムで増加するコンポーネントへの適切な制御命令を提供することを可能にするために、コンポーネントの数、中央制御装置の処理能力又は処理可能な能力、及び中央コントローラの対応する通信帯域を、同様に増加させなければならないことである。中央制御装置が十分に速く情報及び命令を処理したり、送信することができない場合は、期待通りにコンポーネントが実行しない可能性があり、或いは人と小道具の両方への損傷又は損傷を引き起こすおそれのある安全上のリスクがもたらされる可能性がある。
【０００４】
他のこれまでの舞台上のオブジェクトの移動や制御のシステムは、各デバイスの機能の制御を扱うために、プログラマブルロジックコントローラ（ＰＬＣ）を有する別々のサブシステムを用いている。シーケンサを用いる場合、オペレータは、個別のサブシステムから独立した入力を介してシステムを監視し、サブシステムの各々のための別々のアクションを実行しなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、処理のために中央コントローラを用いていない舞台上の演出物のための制御システムが必要とされるが、それよりも、単一のシステム内で動作しつつ、複数の独立したノード間で処理負荷を分散する制御システムが必要とされる。
【課題を解決するための手段】
【０００６】
本出願は、複数の舞台上のオブジェクトを制御するための自動化及び動作制御システムを対象とする。制御システムは、リアルタイムネットワークを介して互いに通信する複数のノードを含む。複数のノードの各ノードは、舞台上のオブジェクトを制御するのに用いられる少なくとも1つの設備機器に対応する。複数のノードの各ノードは、マイクロプロセッサ及びメモリデバイスを含む。メモリデバイスは、ノードプロセス及びマイクロプロセッサによって実行される少なくとも1つのプロセスを含む。少なくとも１つのプロセスは、少なくとも１つの設備機器の作動を制御するために用いられる。少なくとも１つのプロセスは、少なくとも１つの設備機器の作動を制御するための制御命令を生成する１つ以上のキュー、ルール及びアクションを有する。
【０００７】
また、本出願は、オブジェクトを移動するための制御システムを対象とする。この制御システムは、オペレータが制御システム及び複数の軸のノードと対話することが可能なオペレータコンソールノードを含む。複数の軸のノードの各軸のノードは、マイクロプロセッサを有し、所定の空間でオブジェクトを移動するために使用される設備機器に関連付けられている。この制御システムは、所定の空間での前記オブジェクトの動作を表示することができる表示装置と、オペレータが所定の空間でのオブジェクトの移動経路を設定することが可能な第１のオペレータインタフェースと、オペレータがオブジェクトとオブジェクトを移動するために用いられる複数のエンジンとの関係を設定することが可能な第２のオペレータインタフェースとを有する空間デバイスを含む。移動経路は、オブジェクトの位置及び方向の両方を調整する。複数のエンジンの各エンジンは、複数の軸のノードのうち１つの軸のノードに対応する。空間デバイスは、前記オブジェクトに対して設定された前記移動経路及び前記オブジェクトと前記複数のエンジンとの関係を前記複数の軸のノードのうち少なくとも１つの軸のノードに提供する。前記複数の軸のノードのうち前記少なくとも１つの軸のノードは、前記オブジェクトに対して設定された前記移動経路及び前記オブジェクトと前記複数のエンジンとの関係を処理し、前記設定された移動経路に沿って前記オブジェクトを移動するために前記設備機器の作動を制御する１以上の制御命令を生成する。
【０００８】
更に、本出願は、所定の空間でのオブジェクトの移動を制御する、コンピュータによって実行される方法を対象とする。この方法は、前記所定の空間での前記オブジェクトの始点を確立することを含む。前記始点は、前記所定の空間での前記オブジェクトの位置及び方向を定義する。この方法は、前記オブジェクトの動作プロファイルを決定することを含む。前記動作プロファイルは、前記始点から始まる経路に沿って前記オブジェクトを移動させるために用いられ、前記経路に沿った各点での前記オブジェクトの位置及び方向を有する。そして、この方法は、前記動作プロファイルを前記経路に沿って前記オブジェクトを移動させるために用いられる少なくとも1つのコンポーネントの複数の制御命令に変換し、前記経路に沿って前記オブジェクトを移動させるために用いられる前記少なくとも1つのコンポーネントにより前記制御複数の命令を実行することを含む。
【０００９】
本出願の一形態は、自動化された舞台上のオブジェクトの動作制御システム、プログラム製品及び大規模な動作やデバイスの制御のための技術を様々な実装において提供する方法を含む。非階層の舞台上のオブジェクトの移動の技術は、単一のマシンと同じように機能するために、ネットワーク上の複数のデバイスの組み合わせを可能にするために提供される。フル機能の拡張性は、多数のマシンのいずれかから提供され、それは、プロセッサやデバイスの境界が存在するのではなく、各デバイスがいつでもリアルタイムに任意の他の装置との動作データを交換するためのオプションを有する。技術は、オブジェクト（例えば舞台、アリーナ、コンサートホール、講堂、学校、クラブ、コンベンションセンターやテレビスタジオでの、例えば舞台上の小道具、カメラ、スタントの人（例えば、「針金細工」）、照明、風景、幕や他の機器）の動作や制御を調整するために提供される。
【００１０】
一例としての実装では、この制御システムは、例えばステージ上での舞台上のパフォーマンスであるライブパフォーマンス中、或いはテレビ番組や映画演出のためのシーンの撮影中に会場のあたりのオブジェクトの移動を調整することができる。このような会場は、ステージや床に対して様々なオブジェクトを移動するために、ウインチ、ホイスト、バテン又はトラスなどのマシンを採用することができる。制御システムでオブジェクトの動きを制御することにより、俳優の安全性をより良好に確保することができ、オブジェクト又は俳優の動きをよりリアルに見せることができる。
【００１１】
一例として、舞台上の演技で戦闘シーンを必要とする場合がある。戦闘では、第１のスタントの人は空中を飛び、次いで第２のスタントの人に衝突することになっており、ここで、第２のスタントの人は後ろに投げられて壁に埋め込まれるほどの強さの衝撃を受ける。このような離れ業に備えて、第１及び第２のスタントの人は、それぞれのケーブルから吊り下げられている。各ケーブルは、電気モータで駆動される別々の巻き取り機構、例えばウィンチに取り付けられている。この離れ業において、第１のスタントの人は、第２のスタントの人に向かうケーブルに取り付けられながら、落っこちる。ウインチは、第１のスタントの人が第２のスタントの人と当たると同時に、ケーブルを止め、第１のスタントの人の動作を止める。各スタントの人は、観客からはわからなく、かつ、傷つかないように詰め物を身に着けている。第２のウインチは、第１のスタントの人とぶつかったかのように見えるような強さで、第１のウインチと同期して第２のスタントの人に取り付けられたケーブルを引っ張る。第２のウインチは、第２のスタントの人が壊れやすい壁にぶつかるまで、引き続き第２のスタントの人のケーブルを引っ張る。最後に、第２のスタントの人の体が壊れやすい壁を通過したときに、第２のウインチは、第２のスタントの人のケーブルを止める。制御システムは、スタントの人の安全を確保するために、第１と第２のウインチとの間の巻取りの調整を制御するために用いられる。
【００１２】
本出願の一つの利点は、非常に少ないオブジェクトを持つ単純なシステムやそれぞれが多数のオブジェクトを有する複数のサブシステムを持つ複雑なシステムの両方を収容することがスケーラブル（システム拡張容易）であり、かつ、構成可能であるということである。
【００１３】
本出願の別の利点は、ユーザインタフェースを、オペレータによって要求される詳細のレベルでオペレータが必要とする情報のみを表示するように構成可能であることである。
【００１４】
また、本出願の更に別の利点は、リアルタイムの動作及び/又は動作制御システムの実装、安全システム、Ｉ／Ｏデバイス、ショーの制御機能、工業的プロトコル、ＤＭＸシステム、ＳＭＰＴＥシステム、ＶＩＴＣシステム、或いは３Ｄ環境の構築や異なるメーカーのコントロールが可能であることである。
【００１５】
更に、本出願の更に別の利点は、オペレータは、現在のニーズを満たすようにシステムの機能を設定できるが、必要に応じてシステムの機能を拡張することができるということである。
【００１６】
本出願の更なる利点は、映画上の演出物やスタントを動作する、舞台上からテーマパークに至るエンターテイメント業界の様々な分野に関連した特定の機能や特徴を含めることである。
【００１７】
本出願の一つの利点は、いくつかのコントローラ間の制御処理負荷の分散であり、その分散は、いずれのコントローラに必要な処理能力を低減し、よりコスト効率のよいコントローラを用いることを可能にすることができる。
【００１８】
本出願のもう一つの利点は、コンポーネントコントローラによるルール関数又はグループの使用であり、中央制御装置からの命令を受けることなく、別のコンポーネントで発生するアクション又はイベントに応答する。
更に、本出願の更に別の利点は、コンポーネントコントローラが、予め選択された安全性と精度のパラメータに関して自己監視機能を実行できることである。
本出願の更なる利点は、グローバル制御命令を受信することなく、自律的に機能するコンポーネントコントローラの能力である。
【００１９】
本出願の一つの利点は、制御システムが、同様のオペレーショナルパラダイムを維持しながら、いかなるタイプのデバイスでも構築できる構造的構成を有し、それにより、すべてのデバイスが情報交換を可能することである。
【００２０】
本出願の別の利点は、リアルタイムの監視、障害検出、及び単純化されているがマルチレイヤの、ルール及び統合された電子停止コントロールの両方を備えた安全システムのための能力である。
【００２１】
本出願の更なる利点は、キュー、動作のマシーン、電子停止のマシーン、次のキュー又はシステムに組み込まれたセンサから生成された任意のアラートで用いられるそのマシーンのステータスについてのデータを表示できることである。
他の特徴及び本出願の利点は、一例として本願の原理を例示する添付図面と併せて以下の好ましい実施形態のより詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【００２２】
【図１】自動化及び動作制御システムの一実施形態を示している。
【図２】自動化及び動作制御システムの他の実施形態を示している。
【図３】自動化及び動作制御システムにおけるノードの一実施形態を示している。
【図４】ノードを識別する制御システムにおける画面表示の一実施形態を示している。
【図５】ノードを識別する制御システムにおける画面表示の一実施形態を示している。
【図６】選択ノードに関連付られたプロセスを識別する制御システムにおける画面表示の一実施形態を示している。
【図７】選択ノードに関連付られたプロセスを識別する制御システムにおける画面表示の一実施形態を示している。
【図８】ノード・プロセスのサブ又は共通のプロセスの一実施形態を示している。
【図９】デバイスのためのルールのプロパティを設定するための制御システムにおける画面表示の一実施形態を示す。
【図１０】図９のインタフェースで作成したルールのルール・テキストを示す制御システムにおける画面表示の一実施形態を示す。
【図１１】プロセスに関連付けられたスレッドを特定する制御システムにおける画面表示の一実施形態を示している。
【図１２】プロセスに関連付けられたスレッドを特定する制御システムにおける画面表示の一実施形態を示している。
【図１３】性能データを示す制御システムにおける画面表示の一実施形態を示している。
【図１４】性能データを示す制御システムにおける画面表示の一実施形態を示している。
【図１５】他のデバイスと共有されるデータベクトルに対応するテーブルを示す制御システムにおける画面表示の一実施形態を示す。
【図１６】オペレータコンソールのグラフィカルユーザインタフェースのメッセンジャーを示す制御システムにおける画面表示の一実施形態を示す。
【図１７】連続的な動作シーケンスを示す制御システムにおける画面表示の一実施形態を示す。
【図１８】三次元動作システムの一実施形態における、それぞれ異なる位置から見た状態を示す。
【図１９】三次元動作システムの一実施形態における、それぞれ異なる位置から見た状態を示す。
【図２０】三次元動作システムの一実施形態における、それぞれ異なる位置から見た状態を示す。
【図２１】三次元動作システムに２点間の動作プロファイルを入力するための異なるインターフェースの一実施形態を示している。
【図２２】三次元動作システムに２点間の動作プロファイルを入力するための異なるインターフェースの一実施形態を示している。
【図２３】三次元の動作システムで移動するオブジェクトの座標系のシステムの一実施形態を示している。
【図２４】三次元動作システム用の動作プロファイルを入力するための異なるエディタの一実施形態を示している。
【図２５】三次元動作システム用の動作プロファイルを入力するための異なるエディタの一実施形態を示している。
【図２６】動作制御アルゴリズムと関連した一例としての画像を示す。
【図２７】動作制御アルゴリズムと関連した一例としての画像を示す。
【図２８】スチュワート・プラットフォームの方向における異なる画像の一実施形態を示している。
【図２９】スチュワート・プラットフォームの方向における異なる画像の一実施形態を示している。
【発明を実施するための形態】
【００２３】
可能な限り、同じ参照番号が同一又は同様の部分を示すために図面全体を通して用いられる。
【００２４】
図1は、本出願の自動化及び動作制御システムの一実施形態を示す。自動化制御システム100は、オペレータコンソール115と相互に接続されたリアルタイムネットワーク110、リモートステーション120、安全システム125、マシーン130、入力／出力デバイス135、外部システム140を含むことができる。この一実施形態では、安全システム125は、緊急停止（e-stop）システムを含むことができる。マシーン130は、リフトチェーンホイスト、ウインチ、エレベータ、カルーセル、ターンテーブル、油圧システム、空気圧システム、多軸システム、リニア動作システム（例えば、デッキトラック及びラインセット）、オーディオデバイス、照明デバイス、及び/又はビデオデバイスを含むことができる。入力／出力デバイス135は、インクリメンタルエンコーダ、アブソリュートエンコーダ、可変電圧フィードバック装置、抵抗フィードバック装置、タコメータ、及び/又は負荷のセルを含むことができる。そして、外部システム140は、ショーの制御システム、工業用プロトコル及びサードパーティー製のソフトウェアのインターフェースを含んでいる。それは、0-10V（ボルト）システム、Modbusシステム、プロフィバスシステム、アートネット・システム、BMS（ビル管理システム）システム、EtherCATのシステム、DMXシステム、SMPTE（映画テレビ技術者協会）システム、VITCシステム、MIDI（楽器のディジタルインタフェース）システム、MANET（モバイルアドホックネットワーク）システム、Kバスシステム、イーサネット、シリアルシステム（RS485及びRS232を含む）、TCP/IP（伝送制御プロトコル/インターネットプロトコル）システム、UDP（ユーザ・データグラム・プロトコル）システム、ControlNetのシステム、デバイスネットシステム、RS232システム、RS45システム、CANバス（コントローラエリアネットワークバス）システム、Ｍａｙａシステム、Ｌｉｇｈｔｗａｖｅシステム、Catalystシステム、3ds  Max又は3Dスタジオマックスシステム、及び/又はカスタム設計されたシステムを含む。
【００２５】
図２は、自動化及び動作制御システムの他の実施形態を示している。図２に示すように、自動化及び動作制御システム100は、論理ノード210を相互に接続して形成することができる。各ノード210は、リモートステーション120、安全システム125、マシーン130、入力／出力デバイス135、外部システム140から特定されるデバイス（或いはデバイスのグループ）であることができる。オペレータコンソールノード215は、オペレータコンソール115から特定されるデバイスであることができ、オペレータが制御システム100と対話することができ、例えば制御システム100にデータ及び命令を送信し、制御システム10ザからデータ及び情報を受信する。オペレータコンソールノード215は、オペレータが制御システム100と対話するためのグラフィカルユーザインタフェース（GUI）又はヒューマンマシンインターフェース（HMI）を含むことができることを除いて、他のノード210と似ている。一実施形態として、オペレータコンソールノード215は、Windows（登録商標）コンピュータとすることができる。
【００２６】
一実施形態では、オペレータは、例えば、マウス、キーボード、ボタンのパネル、又は他の類似の装置のようなポインティングデバイスを用いて、オペレータコンソールノード215でこのシステムに入力を行うことができる。図２に示すように、ノード210及びオペレータコンソールノード215は、相互に接続されている。従って、どのノード210,215もシステムコントローラ100内のどの他のノード210,215との間で、通信すること、例えばデータ及び／又は命令を送受信することができる。一実施形態では、グループ内の210のノードを相互に接続し、減少した接続数を他のノード210,215に提供するネットワーク212にノード210のグループを配置し、又は設定することができる。一実施形態では、ノード210,215及び／又はノードネットワーク212は、スター、デイジーチェーン、リング、メッシュ、デイジーチェーンループ、トークンリング、トークンスター配列又はそれらの配列の組み合わせで相互に接続することができる。更なる一実施形態では、制御システム100は、図２に示したものよりも、ノード210,215及び/又はノードネットワーク212が多かったり少なかったりして構成することができる。
【００２７】
一実施形態では、各ノード210,215は独立して動作及び自己認識をすることができ、そしてまた少なくとも1つの他のノード210を識別することができる。換言すれば、各ノード210,215は、少なくとも1つの他のノード210、215がアクティブ又は非アクティブであるかを（例えば、オンライン又はオフラインかを）を認識することができる。
【００２８】
他の一実施形態では、各ノードは分散処理を用いて独立して動作し、それによって、ノードに障害があっても、他の作動ノードがそのノードの作動データにまだアクセスしているので、制御システムが動作を維持することができる。各ノードは、制御システムに現時点での接続とすることができ、そして各ノードは、ネットワークにたこ足接続していることができ、各ノードは、対応するノードを介して制御システムにノードの通信を提供している。このように、それぞれのうちの１つノードが「オフライン」であるとき、残りのノードは、作動及び負荷のシェアを継続することができる。更なる一実施形態では、制御システムは、各ノードが各他のノードにどのように関連しているかにかかわりなく、各ノードに、いつのときのすべての他のノードの作動データを提供することができる。
【００２９】
図３は、ノードの一実施形態を示す。各ノード210（又はオペレータコンソールノード215）は、マイクロプロセッサ310及びメモリデバイス315を含む。メモリデバイス315は、マイクロプロセッサ310で実行可能な１以上のサブプロセス又は共有プロセスを含んでいるメイン又はノードプロセス317を含むか、或いは記憶している。そのメイン又はノードプロセス317は、ネットワーキングやハードウェアインターフェーシングを提供し、サブプロセス又は共有プロセスが作動することを可能にする。ノード210,215のマイクロプロセッサ310は、他のノード210,215の他のマイクロプロセッサ310とは独立して作動することできる。独立したマイクロプロセッサ310は、制御システム100の各ノード210,215が「スタンドアローン」デバイスのように又はより大きなネットワークの一部として作動し、或いは機能することを可能にする。一実施形態において、ノード210,215がネットワークの一部として作動或いは機能しているとき、ノード210,215は、マイクロプロセッサ310間での境界を認識することなく、リアルタイムで情報、データ及び計算能力を交換することができ、制御システム100を「単一のコンピュータ」として作動させることを可能とする。別の実施形態では、各ノードは、埋め込まれた動作コントローラを用いてもよい。
【００３０】
図４及び図５は、制御システムによって表示されたノードリストの一実施形態を示している。図４及び図５に示すインタラクティブなスクリーンショットや表示は、テーブル400を用い、オペレータコンソール215でオペレータが見ることができる制御システム100内のすべてのノードを識別する。テーブル400は、制御システム100内のノードの全体像を提供し、オペレータがオペレータコンソール215から制御システム100で起こっていることを見ることができる。テーブル400は、オペレータが異なるノードのすべて、異なったノードのアドレス、異なったノードがしていること、異なったノードがどれだけのプロセスを実行しているか、任意のノード間の通信を見ることができる。
【００３１】
テーブル400において、ノードの名前は、コラム402に示される。コラム402の各ノードは、プロセスコントローラ、シン・クライアント、パームトップコンピュータ、シングルボードコンピュータ（SBC）、プログラマブルロジックコントローラ（PLC）、フィールドプログラマブルゲートアレイ（FPGA）デバイス又はマイクロプロセッサのようなコンピューティングデバイスを含むことができ、又はノードは、「プレイヤー」又は「仮想マシン」のようなソフトウェアデバイスであることができる。ここで「プレイヤー」又は「仮想マシン」は、手で持つことができる有形の機械の部品ではなく、代わりにデバイスと制御システムによってみなされるソフトウェア構造物である。ソフトウェアデバイスは、コマンドを供給し、ステータスの返送を受けることができるが、けれども物理的なデバイスとして存在していない。一実施形態では、コンピューティングデバイス又はソフトウェアデバイスのいずれかの各ノードは、QNXリアルタイム・オペレーティング・システムを実行することができる。
【００３２】
一実施形態では、テーブル400は、1つ以上の「軸（axis）」のデバイス又はノードを含めることができる。「軸（axis）」のデバイス又はノードは、オブジェクトを移動させるマシーンのいずれかの部品を表すのに用いることができる。マシーンは、油圧、電気、又は空気圧システムによって作動することができる。制御システムは、舞台上のオブジェクトを移動させるエンド・マシンのコントローラに対応する様々な異なる軸のデバイス又はノードを用いることができる。軸のマシーンの例は、エンジン、モータ（AC / DC）、サーボ油圧可動子及び空気圧可動子を含むことができる。
【００３３】
各デバイス又はノードのネットワークアドレス又はインターネットプロトコル（IP）アドレスは、コラム404に表示される。デバイス又はノードがオフラインの場合、例えば、「アンプラグド」又は「フックアップしない」場合、コラム404はデバイス又はノードのネットワークアドレス（図5参照）に「オフライン（offline）」を表示し、或いはネットワークアドドレスは、デバイス又はノードに表示されず、追加のインジケータが使われ、例えばデバイス又はノードがオフラインであることを示す強調表示が使われる（図４参照）。
【００３４】
一実施形態では、舞台演出のための制御システムが開始され、動作されたとき、１つ以上のノードは、参加し、すなわちその作成の最中は「オフライン」から「オンライン」又は「アクティブ」に変更することができる。その作成中は、その作成の間中、舞台上のオブジェクトが全く移動しないものとすることでき、その場合に舞台上のオブジェクトに対応するノードはオフラインにすることができ、従って誤ってオブジェクトが動いたり、ノードがオンラインになるようなことはない。オフラインのノードを意図的に自動的に、又はオペレータコマンドの結果としてオンラインに戻るときに、ノードは、それがオンラインに戻ったことをアナウンスする広く利用可能なデータベクトルを送信する。
【００３５】
別の一実施形態では、ノード又はデバイスがディスエーブル又はオフラインになったとき、例えば、認識され、表示されているが、作動していないとき、そのノード又はデバイスがもはや作動のために制御システムを利用できない、という効果がある。IP又はネットワークアドレスが制御システムで認識されていた場合で、ノード又はデバイスがオフラインにされたときに、ノード又はデバイスのIP又はネットワークアドレスは、コラム404に表示される。ノード又はデバイスのサブプロセス又は共有のプロセスが、ソフトウェアの問題が発生したことを示して、失敗又は終了した場合に、対応するノード又はデバイスを、カラム404にリスト化することができる。別の一実施形態では、テーブル400でオペレータに様々な診断メッセージを提供するために色を用いることができる。例えば、黒は、オンライン又はアクティブで、黄色がオフラインであるか、全くサブ又は共通のプロセスがノード又はデバイスにインストールされていない、の如くである。
【００３６】
各ノード又はデバイス上で実行する異なるサブ又は共通のプロセスの数を、テーブル400のコラム406に表示又は示すことができる。例えば、図５に示す「charybdis」というノード又はデバイスは、38のサブ又は共通のプロセスが同時に実行されている。テーブル400のコラム408は、対応するデバイス又はノード上にインストールされているがディスエーブルにされているサブ又は共通のプロセスの数を表示又は示している。図４に示す実施形態では、ノード又はデバイス上で停止又はディスエーブルにされたサブ又は共通のプロセスの数がコラム412で表示又は示されている。連続するコラム406、コラム408及びコラム412（存在する場合）でのサブ又は共通のプロセスの合計は、ノード上の総サブ又共通のプロセスを表示又は示している。テーブル400の列410は、オフラインノード又はデバイス内のサブ又は共通のプロセスの数を表示又は示している。
【００３７】
図５に示す一実施形態では、４方向の軸のノード又はデバイス（「axis_shop_ne」、「axis_shop_nw」、「axis_shop_se」及び「axis_shop_sw」）は、それぞれ、舞台上の周囲（例えばステージ）の４つの異なるコーナーのそれぞれのウインチを制御するコンピュータデバイスを表わしている。ここで、ウインチケーブルは、三次元（3-D）の空間の単一の点の周りを移動する3-D移動システムを提供するように、すべて単一の点に収束する。
【００３８】
「ｅｓｃ_s_13」のノード又はデバイスと「ｅｓｔｏｐ」のノード又はデバイスは、緊急停止ボタンを押したオペレータに応答して舞台上のオブジェクトが衝突することを防ぐことができる非常停止コントローラとすることができる。緊急停止ボタンが押されると、電源が対応するマシーン、又はこれと同期してすべてのマシーンから切り離され、マシーンの移動を停止するために電源が切り離され、それからブレーキを適用することができる。別の実施形態では、ブレーキは、直ちに、又は電源が切り離される前若しくは切り離された後に、適用されてもよい。「i_o_9_6」のノード又はデバイスは、通常、他のシステム、例えば、光及び/又は電源スイッチ、又は他のシステム構成要素から、及びシステム内及び外のコマンド信号を転送するための入出力制御装置である。一実施形態では、オン／オフスイッチの複数のチャネルが異なる種類の機器又はデバイス、例えば、ライト、オブジェクトの移動装置などをオン／オフすることができる。「shop_console」のノード又はデバイスは、オペレータによって表示することがきるディスプレイである。「server」のノード又はデバイスは、少ない記憶容量を有する他のより小さなコンピューティングデバイスよりも堅牢なコンピューティングタスクを扱うことができる大容量（例えば、ハードドライブ）を有するコンピューティングデバイス又はシステムに対応することができる。
【００３９】
別の一実施形態では、「グローバル・ノード」は、情報を収集し、そのデータの後のバックアップのために、中央に、すべてのマシンのデータを保存することができる。例えば、グローバルノード又はデバイスは、システム内で摩擦負荷（例えば、オブジェクトの動作に関連付けられたノード又はデバイス）があるそれらのノード又はデバイスの表示を示すことができる。
【００４０】
図４及び図５に関して上記したように、ノード又はデバイスは、同時に複数のサブ又は共通のプロセスを実行するマルチタスクコンピューティングデバイスとすることができる。図６及び図７は、特定のノード又はデバイス中のプロセスのリストの一実施形態を示している。選択したノード又はデバイスの下にサブのリスト又は共通のプロセスを含めることを除いて、図６は、図４に類似し、図７は、図５に類似している。図4と図6の間及び図5と図7の間の相違点に示すように、ノード及びデバイスとそれに対応するサブプロセス又は共有プロセスは、適切なビューを提供するように拡張することができる「ツリー」構造に編成することができる。一実施形態では、オペレータは、ノード又はデバイスを選択し、例えば「ダブルクリック」し、ノード又はデバイスに関連付けられたサブ又は共通のプロセスをリストにした拡張表示をさせる。各サブ又は共通のプロセスは、コラム602に提供することができ、記述及び対応するサブ又は共通のプロセスの説明は、コラム604に提供することができる。コラム606は、対応するサブ又は共通のプロセスのステータス、例えば、実行中、ディスエーブル又はインアクティブを提供する。サブ又は共通のプロセスのタイプ又はクラスは、コラム608に提供される。図７に示す一実施形態では、「axis_shop_ne」のノード又はデバイスは、３つのサブ又は共通のプロセスを含み、そのうち２つはアクティブ又は実行中のサブ若しくは共通のプロセス、１つはディスエーブルのサブ又は共通のプロセスである。２つのアクティブのサブ又は共通のプロセスは「axis.1」と「play.1」、１つはディスエーブルのサブ又は共通のプロセスは「port.1」である。一実施形態では、ノード又はデバイスは、同時に同じ（又は類似の）タイプのサブ又は共通のプロセスの複数のインスタンスを実行することができる。例えば、図６に示す「Server Tait Dev」のノード又はデバイスは、「port.1」のサブ又は共通のプロセスと「port.2」のサブ又は共通のプロセスの両方を含む。
【００４１】
図８は、サブ又は共通のプロセスの一実施形態を模式的に示している。各サブ又は共通のプロセス320は、１つ以上のルール及び／又は１つ以上のキュー、或いはオペレータ・コンソール・インタフェース215からの１以上の直接のコマンドをトリガーとすることができる1以上のアクション804を含む。別の実施形態では、キュー806は、１つ以上のルール802をトリガーとすることができ、又は１つ以上のアクション804は１つ以上のルール802をトリガーとすることができる。例えば、1つ以上のルール802は、１つ以上のキュー806に応じた１以上のアクション804を起動できる。
【００４２】
一実施形態では、各ルール802はif-then又はand-or記述又は他の類似のタイプの場合又は論理の記述とすることができる。キュー806は、そのルールの「if」条件に関連付けることができ、他のノード又はデバイスからの、例えば測定されたパラメータ、例えば、速度、加速度、位置、電圧、電流等、及び論理入力、例えば"1s"又は"0s"を含めることができる。アクション804は、ルールの「then」部に関連付けることができ、例えば、ノード又はデバイスに関連付けられたマシーン（複数可）の作動速度を制御する他のノード又はデバイスにメッセージ又はコマンドを送信し、システムコンポーネント、例えば照明、リレー又はスイッチの作動状態、例えばオン又はオフを変化させることを含むことができる。
【００４３】
一実施形態では、軸のプロセスは、対応するノードのマイクロプロセッサ上で実行されるソフトウェアアルゴリズムとすることができ、ソフトウェアアルゴリズムはウインド又はリールのウインチのモータを動すための命令を生成する。例えば、舞台上のオブジェクトをウインチのケーブルの端で毎秒4フィートでトータル30フィート移動させ、その後停止する命令が与えられた（例えば、図21参照）場合、例えば、所望のケーブルの動作を達成するためのモータに必要な電圧及び電流を生成することを要求するすべての計算を軸のプロセスが実行することができる。
【００４４】
図9は、ノード又はデバイスのルールのプロパティを設定するための画面表示の一実施形態を示している。入力機構808では、オペレータが所望のアクションを選択し、アクションのトリガとなるルール（複数可）のキューを設定することができるアクション810の予め選択されたリストを用いることができる。図９の一実施形態において、入力機構808では、図５の「axis_shop_se」のデバイスの「AXIS_SHOP_SE」のノードのプロセスに関するルールのプロパティ又はキューを設定している。入力機構808に入力された情報は、図１０に示したルールテキストに変換することができる。図１０に示した一実施形態では、ルールは「axis_shop_se」のデバイスに関連するマシーンが毎秒5フィートより大きい速度を持つかどうかに応じて「axis_shop_se」のデバイスに関連したマシーンの動作をディスエーブルにすることが記述されている。
【００４５】
一実施形態では、ノード又はデバイスの操作命令又はルールはリアルタイムでいつでもいずれかのマシーンに望まれる何らかを設定することができる。一実施形態では、舞台上のオブジェクトの移動の制御は、1つのルールのセットを持つ舞台演出のための１つのセットアップから、舞台上のステージの保守の処理手続きのルールのセットを持つ別のセットアップに、オペレータコンソールで変更することができる。保守のためのクルーが到着し、制御システムにログインしたときに、制御システムは、すべてのマシーンが舞台演出の速度の10％よりも速くどの舞台上のオブジェクトも移動しないように、すべてのマシンを設定するように構成することができる。これに対して、ステージがクルーの到着及びログインを示したとき、制御システムは、舞台演出のルールのセットを構成することができ、舞台上のオブジェクトがそのときトップスピードの動作、最大高さと長さと他のステージショーの機能を可能にすることができるショールールに従って、動くことができるように、保守のためのルールのセットは、そのとき停止する。更なる実施形態では、パフォーマンスのために用いられるユニバーサルステージプロダクションルールの複数のセットが存在し得る。
【００４６】
一実施形態では、ノード又はデバイスは、ノード又はデバイス上で実行されるサブ又は共通のプロセスを持つことができる。各サブ又は共通のプロセスは、特定のサブ又は共通のプロセスで実行される命令に対応する1つ以上のスレッドを含むことができる。例えば、図７の一実施形態では、「axis_shop_ne」のノード又はデバイスの「axis.1」のサブ又は共通のプロセスはウインチを動作させるモータの命令を生成することができる。ウインチの命令はウインチのケーブルの動作を制御することができる。「axis.1」のサブ又は共通の共プロセスの更なる展開又は拡張は、命令の受信のためのスレッド、受信された命令の実行、そしてサブ又は共通のプロセスのための動作コントロールの他の側面を含め、サブ又は共通のプロセスの下で実行されているすべてのスレッドを表示することができる。
【００４７】
図１１及び１２は、プロセスに関連するスレッドを特定する画面表示の一実施形態を示している。スレッドリスト440は、サブ又は共通のプロセスから選択されたプロセスのスレッドに関連付けられたスレッドを提供し、又は表示することができる。図１３及び１４は、ノード又はデバイス上で作動するスレッドのパフォーマンスデータを示す画面表示の一実施形態を示している。データテーブル450は、予め選択されたパーフォーマンスパラメータ上の最小値、最大値及び平均値を含むスレッドの作動に関する情報を提供することができる。スレッドリスト440及びデータテーブル450は、各ノード又はデバイス上のスレッドの実行に関連するデータを監視するために用いることができる。
【００４８】
図１２に示す一実施形態では、スレッドリスト440は、「axis_shop_nw」のノード又はデバイスの「axis.1」のサブ又は共通のプロセスに関連するプロセススレッド「126994」のためのスレッドを示している。スレッドの数は、サブ又は共通のプロセスに依存して変化し得る。例えば、「Device Driver」のスレッドは、動作コマンドを一定の速度でモータを動作させるためのモーターへの電圧及び周波数のコマンドに変換することができる。 「Axis DAC」のスレッドは、対応するサブ若しくは共通のプロセス又はスレッドからのデジタル信号を受信し、デジタル信号をアナログ制御信号に変換するデジタル／アナログコンバーターとすることができる。何らかがノード又はデバイスで変更された場合、ノード又はデバイスの管理のスレッドは、その変化したことをネットワーク上の他のすべてのノード又はデバイスに通知することができることを保証することができる。
【００４９】
図１４に示す一実施形態では、データテーブル450は、「estop_shop_03」のノード又はデバイスの「estop.1」のサブ又は共通のプロセスに対する「126994」のスレッドに関連するデバイスのパーフォーマンスを示す。データテーブル450は、サブ又は共通のプロセスの開始日時を表示することができる。別の一実施形態では、他のノード又はデバイスのすべてのサブ又は共通のプロセスのために、同様の情報を提供し或いは表示することができる。サブ又は共通のプロセスからのパフォーマンスデータは、他のすべてのノード又はデバイスに利用可能にすることができ、任意の時点で、ノード又はデバイス間の情報のリアルタイムな交換を可能にする。図１４に示す一実施形態では、典型的なサブ又は共通のプロセスのためのいくつかのパフォーマンスパラメータは、例えばデバイスのファイルのステータス、デバイスのコマンド、他のステータス等に関連付けることができる。例えば、図１４テーブル450の「Device File Status」の行は、現在開いている１つのファイル（1）があることを示す列を含む。
【００５０】
図１５は、ノード又はデバイス間で情報を交換するために使用されるデータベクトルに対応するテーブルの一実施形態を示す。図1５に示す一実施形態では、図４中の「ServerTait Dev」のデバイスのテーブル460は、他のノード又はデバイスと交換することができる情報を含む。「type」の列462は、文字列の種類を示し、「Value」の列464は、データベクトルのパラメータのためのルールの状態又は対応する値を示している。
【００５１】
データベクトルは、制御システムが特定の舞台のイベントの要件に合わせてカスタマイズするために用いることができる。例えば、グラフィカルユーザインタフェース（GUI）の特徴は、イベントに対してすべてカスタマイズすることができることである。GUIの特徴とは、例えば、情報、プレゼンテーション、フィルタリング、制限付きディスプレイ、制限付きカラーコード、制限付きアクセス、制限付きアクション及びパーフォーマンスの限界の計測（「ルール」）、書き込み、記録、編集、リオーダー、再構築、意のままに再生シーケンスの分離の性能、同時にシステムにアクセスするために複数のログインレベルのオペレータインタフェイスの任意の数の提供をすることである。
【００５２】
図１６は、オペレータコンソールノードのグラフィカルユーザインタフェースのメッセンジャーの一実施形態を示す。メッセンジャー480は、制御システムのオペレータコンソールノード215を識別し、リスト化するために使用することができる。一実施形態では、オペレータコンソールノード215は、データベクトルのネットワーク化及び共有化のための、制御システム100のコントロールの実際の中心点ではない。制御システム100は、各ノード又はデバイスの動作状態に関する普遍的に利用可能なリアルタイムデータを有しているが、制御の中心点を有していない。オペレータコンソールノード215は、システムの中心点ではないので、多数のオペレータコンソールノード215は、任意の時点で任意の所望の構成のシステムに組み込むことができる。例えば、同時に用いられるオペレータコントロールは、デスクトップコンピュータ、パームトップコンピュータ、床にマウントされたグラフィカルユーザインタフェース、ラップトップコンピュータ、ハンドヘルドコンピュータ、コンソールデバイス等に提供することできる。舞台上のステージの周囲についての一実施形態では、5台のコンソール、３台のラップトップ、８台のパームトップコンピュータがあり、これらのすべてが生成されるデータベクトルにリアルタイムで常時アクセスすることができる。そこには集中型データの処理はせず、むしろ全てのデータ処理が分散化されるので、どのオペレータコンソールノード215でも、特定のノード、デバイス又はプロセスのすべてのデータを表示することができる。
【００５３】
図１７は、シーケンシャル動作シーケンス又はプロファイルを示す画面表示の一実施形態を示す。例えば、動作シーケンス又はプロファイルは、開かれるメインカーテン、現れる風景、下方へのメインリフトの落下を含めることができる。実行される動作のための連続する命令のシーケンスは、キューに編成することができる。そのキューは、「player」のプロセスによって実行することができる。「player」のプロセスは、1つ又は複数のキューの1つ以上のリストを含むことができる。キューの各リストは「submaster」のプレイヤーに配置することができる。サブマスタープレイヤー内の個々のアクション又は命令は、サブマスタープレーヤーのキューを形成する各キューのアクション又は命令のリストに対応している。「master」のプレーヤーは、他のサブマスタプレイヤーからのキューを実行するために用いることができる。舞台上のオブジェクトの動作の任意のシーケンスは、特定のサブマスタープレーヤーから特定のキューを選択することで、舞台演出中のいつでもオペレータの要求によって実行することができる。
【００５４】
別の一実施形態では、「player」のプロセスは、動作コマンドのリスト又はキューを「play」とすることができる。動作コマンドは、ルールによって設定された条件に基づいて軸のノード又はデバイスにルール又は命令を提供することができる。例えば、ルールは、速度、位置や場所、軸のデバイス又はノードがイネーブルであるかディスイネーブルであるか、軸のノード又はデバイスがその動作を何時停止するかどうか、の制限を指定してもよい。軸のノード又は装置によって実行される命令は、満たされた条件に依存し得る。条件が満たされると、軸のノード又はデバイスは、「アクティブになり」、そしてその満たされた条件で許可されているそれらの命令を実行する。
【００５５】
そのルールによって設定された条件は、軸のノード又はデバイスの動作が1つ又は複数の他のノード又はデバイスと調和して機能し、相互に関係することを可能にする。例えば、１つの軸のノードは、それぞれのケーブルを巻いたり、巻き戻したりするいくつかのウインチのそれぞれに割り当てることができる。また、ノードは、すべての待機するステータスの追従を確実にするためにウインチのそれぞれのステータスを監視する監視安全システムに割り当てられてもよい。監視安全システムのノードは、その待機するステータスに対応していないいずれのウインチの電源をオフにすることができる。また、２つのノードが「operaing controller」に割り当てられている。そのオペレーティングコントローラは、各ウインチからのデータを監視し、他のすべての軸のノード又はデバイスにそのデータを共有し、オペレータにデータを表示することができる。軸のノードに割り当てられた各マシーンの移動及びステータスは、それ自体及び各軸のノードに割り当てられた互いのマシーンの移動及びステータスの両方に関連させることができる。
【００５６】
一実施形態では、典型的な制限付きの移動のルールは、「First Winch」の巻き取りと巻き戻しに関連付けることができる。例えば、第１のウインチが巻き取りの動作を実行しているとき、その巻き取り速度は最高速度を下回り、第１のウインチによって巻き取られているケーブルの端は「Second Winch」の第２のケーブルの端から最小分離よりも遠くに位置するが、第1のウィンチは止まり、そして所定の長さまでそのケーブルを巻き戻す。「First Winch」のケーブルの端は、システムの別のノードに割り当てられる別のケーブルの端の速度に基づいてされているように、ケーブルの最大巻き取り速度に制限を設定することによって、許容長さについて最大の位置及び最大の速度で制御することができる。
【００５７】
空間制御のサブ又は共通のプロセス（「space device」）は、ノード又はデバイスに実装され、所定の空間の1つ以上の三次元（3-D）の動作システムを制御及び／又はシミュレートすることができる。また、空間制御デバイスは、所定の空間での3次元動作システム（複数可）の移動又は動作を表示することもできる。空間制御ノード又はデバイスは、ユーザ又はオペレータが相互に関連する軸のノード又はデバイス（マシーン）のセットで作業することを可能にし、ここで軸のノード又はデバイスの引数(arguments)又はキューは、「player processes」によって実行される。各引数又はキューは、各動作グループに何のリストに入っているか、動作グループのどのサブリストに入っているか、動作グループがどのキューに入っているかを定義する動作グループ又はルーチンのリストを持つことができる。構成物は、単一の制御ポイントに複数のマシーン/軸のノード又はデバイスを、統合し、組み込み、そして相互に関連付けるようにプログラムすることができる。一実施形態では、単一の制御ポイントは、3-D動作システムによって移動されるオブジェクトの質量又は重量の中心に対応することができる。別の実施形態では、単一の制御ポイントは、質量又は重量の中心から分離された別のポイントに対応することができる。オペレータは、そのとき、三次元空間における単一の点を制御し、そして操作し、単一の制御ポイントで各マシーン/軸のさまざまな移動の態様を制御することができる。一実施形態では、マシーンの動作を3-Dグラフィックモデルを介して表示し、オペレータは、3-Dグラフィックモデルの視野角を調整し、（視線内でない場合でも）動作でのすべての機器又は軸の位置を見ることができる。
【００５８】
図１８〜２０は、６つの自由度を有する3-D動作システムの一実施形態の別の図を示す。具体的には、図18は、3-D動作システムの斜視図を示している。図19は、3-D運動システムの上面図を示している。図20は、3-D元動作システムの側面図を示す。6つの自由度を有する3-D動作システムの動作に関する追加情報は、本明細書出願に援用される米国特許出願第61/489741号に見出すことができる。
【００５９】
オペレータは、空間デバイスにより自動化又は動作の手順のシミュレーションをモニター及び表示をすることがき（実行するノード又はデバイスにその手順を送信する前に）、或いは、実行するノード又はデバイスに例えば操作コマンドを発生する、動作の手順を送信した後に、システムの実際の動作をモニター及び表示することができる。自動化又は動作の手順をシミュレーションすると、シミュレーションが空間デバイス内で実行され、或いは関連するノード又はデバイスが自動化又は動作の手順をシミュレートし、空間デバイスにシミュレーション結果のデータを返送することができる。ノード又はデバイスが自動化又は動作の手順を実行する場合は、ノード又はデバイスは、空間デバイスに実行した結果のデータを返送することができる。一実施形態では、自動化又は動作の手順には、3-D動作システムをモニターし、すべての角度からの3-D元動作システムを見ることが記述され、実際にテストすることができる。自動化又は動作の手順が受け入れられた場合には、その手順によれば、ノード又はデバイスでのシミュレーションから後続の再生のためのノード又はデバイスでの実行、そしてシミュレーションパフォーマンスキューリストに含めることに切り替えることができる。
【００６０】
図２１及び２２は、地点間動作プロファイル又は手順を３次元（3-D）動作システムに入力するための異なるインターフェースの一実施形態を示している。図２１はX、Y、Ｚ座標を入力するためのインタフェースを示し、オブジェクトの現在の位置から定義されたＸ、Y、Ｚ座標に移動するものである。図２２は、X、Y及びZ座標並びにα、β及びγの角度を入力するためのインタフェースを示し、オブジェクトの現在の位置及び向きから定義されたX、Y及びZ座標並びにα、β及びγを入力するためのインタフェースを示している。また、加速度、減速度及び速度のパラメータを、座標と角度の両方で、入力することができる。
【００６１】
一実施形態では、X、Y、Z座標は、所定の空間に関連するX、Y及びZ軸に基づくものとすることができる。X、Y及びZ軸は、制御システムによって事前に割り当てることができ、又はオペレータによって割り当てることができる。所定の空間のオブジェクトのX、Y及びZ座標は、所定の空間のもとのX、Y及びZ軸に関連するオブジェクトの単一の制御ポイントの座標に対応する。X、Y及びZ座標は、その空間のオブジェクトの位置を与える。
【００６２】
別の一実施形態では、オブジェクトは、オブジェクト自体に関連付けられている別のX、Y及びＺ軸のセットを持つことができる。オブジェクトＸ、Y及びZ軸は、所定の空間のX、Y及びZ軸に対応していてもよいし、対応していなくてもよい。図２３に示すように、オブジェクトのX、Y及びZ軸は、オブジェクトの単一の制御ポイントから定義されている。一実施形態では、オブジェクトの正のX軸は、オブジェクトの移動の順方向に対応することができ、オブジェクトの正のY軸はオブジェクトの移動の左方向（正のX軸に対して）に対応することができ、オブジェクトの正のZ軸は、オブジェクトの移動の上方向に対応することができる。α角は、オブジェクトのZ軸に対するものとすることができ、β角は、オブジェクトのX軸に対するものとすることができ、γ角は、オブジェクトのY軸に対するものとすることがきる。α、β及びγの角度は、空間のオブジェクトの方向を与える。
【００６３】
α又はヨー角は、オブジェクトのZ軸（上下軸）周りのオブジェクトの回転の角度である。オブジェクトは、オブジェクトのX軸と同じ方向に向いているとき、ゼロとされる。正の回転角度は、時計回りの方向とすることができ、0と360度の間の値とすることができる。β又はピッチ角は、オブジェクトのY軸（横方向軸）の周りのオブジェクトの回転角度である。オブジェクトは、基本的にオブジェクトのXY平面に平行であるとき、ゼロとされる。正の回転角度は、時計回りの方向とされ、回転の負の角度は反時計回りの方向とすることができる。角度は度（°）とされ、-360と360度の間の任意の値を取ることがでる。γ又はロール角は、オブジェクトのX軸（前後軸）周りの回転角である。オブジェクトは、基本的にオブジェクトのXY平面に平行であるとき、ゼロとされる。正の回転角度が時計周りの方向とされ、回転の負の角度は反時計回りの方向とされる。角度は度（°）とされ、-360と360度の間の任意の値を取ることができる。
【００６４】
図２４及び２５は、三次元動作システムの動作プロファイルを入力又は作成するための異なるエディタの一実施形態を示している。動作プロファイルは、オブジェクトが所定の空間を移動するための経路を定義する一連の位置及び／又は方向とすることができる。始点（位置及び／又は方向）は、オペレータによって定義され得るか、又はオブジェクトの最後の既知の位置及び／又は方向、例えば前の動作プロファイルでの終点とすることができる。図２５の動作プロファイルでは、最初の場所及び各位置に対応するタイムインスタンス又はパラメータからオブジェクトが移動する経路の各位置でのX、Y及びZ座標は、オペレータ又はユーザによって入力することができる。図２４の動作プロファイルでは、α角、Y座標及びγ角と、各位置及び方向の対応するタイムインスタンスは、X座標、Z座標及びβ角についてオブジェクトの始点及び方向から変更しないで、オブジェクトが移動する経路に対するオペレータ又はユーザによって入力することができる。別の実施形態では、ユーザ又はオペレータは、手動でノード又はデバイスを制御することができ、ユーザによる制御された経路に沿ってオブジェクトを移動し、予め選択された時間間隔又はユーザより伝えられた時間間隔のいずれかでオブジェクトの位置及び方向を記録する。ユーザにより制御された操作により記録された位置、方向及び時間は、空間デバイスにインポートされ、動作プロファイルとして設定することができる。
【００６５】
オペレータは時間のパラメータを指定し、タイミングよく特定の実現値（instance）に特定の位置及び／又は方向を相関させることができる。時間のパラメータが特定のパスに定義されている場合、位置及び／又は方位の間の加速、減速、速度のパラメータを自動的に計算することができる。別の実施形態では、開始及び終了時間を定義することができ、パス内の対応する位置及び／又は方向に対する残りの時間の実現値を計算することができる。また、より長い又はより短い全体的な時間を所望する場合、一度定義されたその時間の実現値を自動的にスケーリングすることができる。
【００６６】
一実施形態では、オブジェクトの動作パス又はプロファイルが定義されると、パス又はプロファイルをノード又はデバイスより特定のコマンド（一度計算された）のシミュレーション又は実行に対応するノード又はデバイスに提供することができる。ノード又はデバイスにその経路で要求される特定のコマンドをシミュレーション又は実行をさせ、空間デバイスでその経路を表示することで、空間デバイスに表示された経路を調整することによって経路をリアルタイムで変更できる。別の実施形態では、ノード又はデバイスで実行される特定のコマンドを事前に計算し、ノード又はデバイスに提供する。ノード又はデバイスで実行される特定のコマンドを事前に計算すると、経路をリアルタイムで変更することはできない。
【００６７】
空間デバイスでは、静的な要素、すなわち所定の空間で移動しない要素及び動作の要素、すなわち所定の空間で移動又は移動を起こす要素がある。ユーザ又はオペレータは、所定の空間で、静的な要素のロケーション、例えば、壁、柱、固定のスクリーンアイテム等を定義することができる。静的な要素が定義されると、静的な要素の位置は、衝突の検出を含む動作要素を持つ種々の目的に使用することができる。動作要素を動作パス又はプロファイルと組み合わせて使用し、オブジェクトが動作プロファイルによって定義された経路を移動できるようにするために必要なコンポーネントの特定のアクションを作成及び／又は実装することができる。動作要素は、移動するオブジェクト、軸のデバイスの3Dモデルに対応することができるエンジン、移動するオブジェクトにエンジンを接続するのに用いられるアイテムに対応するレース（lace）、移動させるオブジェクト上のレースアタッチメントポイントを含む。例えば、図１８〜２０に示す3D動作システムにおいて、移動するオブジェクト602、3つ以上のエンジン604、6つ以上のレース606、3つ以上のレースアタッチメントポイント608がある。別の実施形態では、3D動作システムは、エンジンとレースアタッチメントポイントとを接続するレースの構成や方向を変更するのに用いることができるプーリー、アンカー又はナイフのような別のデバイスを含めることができる。
【００６８】
エンジン604は、所定の空間で対応する位置を持つことができる。対応する位置を固定し、又は触輪とトラック上にあるエンジンのように、所定の空間に対して相対的に移動することができる。レースアタッチメントポイント608を移動するオブジェクト602に統合することができ、レースアタッチメントポイント608が所定の空間で対応する位置を持つことができる。所定の空間のレースアタッチメントポイント608の位置の変更を移動するオブジェクト602の位置又は方向を変更することに用いることができる。レース606をレースアタッチメントポイント608に接続することができ、レースアタッチメントポイント608の位置を移動又は変更する力を働かせることに用いることができる。各レース606を、始点又は３Dの位置、取り付けられたオブジェクトの長さは終点を含む多くの様々なパラメータで定義することができる。レース606の始点をレース606に関連するエンジン604の場所又は位置に対応させることができる。レース606の終点を関連するレースアタッチメントポイント608に対応させることができ、ここではレース606を移動するオブジェクト602に接続している。エンジン604、レース606及びレースアタッチメントポイント608に関連するすべてのパラメータを、経路を実装するための特定のコマンドを計算する要素にすることができる。また、各エンジン604、レース606及びレースアタッチメントポイント608を、エンジン604及びレースアタッチメントポイント608に関連するレース606のような、別のものに関連させなければならない。例えば、移動するオブジェクト602が所定の空間での位置が変わった場合に、１以上のレース606を、長さ及び終点のような対応するパラメータの変更をすることができる。他のレースの長さを短くしながら、いくつかのレースの長さを長くすることができる。
【００６９】
一実施形態では、プロファイルに従って、周囲に動作オブジェクトを結合する個々の紐の長さを調整することで、アルゴリズムを、所定の空間のオブジェクトの動作を制御するために用いることができる。紐はフレキシブルなラインとすることができ、例えば、レース606、固体アクチュエータ例えばエンジン604、又は、物理学の法則に関して適用できる別の種類の非ストレッチ、直線の結合とすることができる。図26及び27は、動作制御アルゴリズムと関連した一表示例を示している。
【００７０】
オブジェクトの動作は、並進の組み合わせ、例えばオブジェクトのローカル座標系の出発点についての前方動作及び／又は回転動作とすることができ、オブジェクトに６つの動作の角度（6D動作）を提供する。その6D動作は、多次元立方体曲線によって記述することができ、多次元立方体曲線
【００７１】
【数１】
2015526110.tif 000003
【００７２】
i∈［0;N)ここで、Nは期間長τ1の曲線の線分の数であり、τはi番目の曲線内のゼロベースの時間値でありτ∈［0;τi)、
【００７３】
【数２】
2015526110.tif 000004
【００７４】
はデカルト位置を表わす最初の３座標
【００７５】
【数３】
2015526110.tif 000005
【００７６】
及びアフィン回転関数
【００７７】
【数４】
2015526110.tif 000006
【００７８】
に引数を表す残りの座標で時間τでの動作オブジェクトの配置であり、
【００７９】
【数５】
2015526110.tif 000007
【００８０】
は曲線の係数である。曲線の境界条件は、終点の第１微分値又は終点の第２微分値又は終点の第１又は第２微分値から選択された２つの値のいずれかとして与えることができる。方位の引数の曲線の数ｒは、方位の座標の意味（YPR又はGEO又はその他のいずれか）を定義する選択された回転関数
【００８１】
【数６】
2015526110.tif 000008
【００８２】
に応じて、0~4（YPR又はGEO又はそれ以外のいずれか）に変化することができる。更に、この関数
【００８３】
【数６】
2015526110.tif 000009
【００８４】
は、定数パラメータのアフィン回転行列
【００８５】
【数７】
2015526110.tif 000010
【００８６】
を使用し、座標システムのゼロ方向を定義することができる。
プロファイルは、立方体の曲線の線分のシーケンスの形式の関数
【００８７】
【数８】
2015526110.tif 000011
【００８８】
j∈［0;M)を制御する紐の長さとすることができ、ここでMは期間長
【００８９】
【数９】
2015526110.tif 000012
【００９０】
の曲線の線分の数であり、υはj番目の曲線内のゼロベースの時間値でありυ∈［0;υj)、  
【００９１】
【数１０】
2015526110.tif 000013
【００９２】
は時間υでの紐の長さの測定値とすることができ、
【００９３】
【数１１】
2015526110.tif 000014
【００９４】
は曲線の係数である。pj(υ)の境界条件は、線分の始まりで動作曲線
【００９５】
【数１２】
2015526110.tif 000015
【００９６】
から得られた第1及び第2の導関数の要件を満たすように選択される。曲線の線分pj(υ)は、各線分の終点j∈［0;M)で不連続性を有していてもよい。しかし、υjが非常に小さく選択され、動作上での不連続の効果は感知できない。
【００９７】
このアルゴリズムの目的は、所定の方法で紐で駆動される場合に、そのアルゴリズムが、動作オブジェクトの位置／方向が密接に定義の軌道に追従させることができるように、各線分j∈［0;M)の時間０でのpj(υ)の紐の長さ及びこれらの第１、第２及び第３の導関数
【００９８】
【数１３】
2015526110.tif 000016
【００９９】
が、それぞれの時間で動作曲線
【０１００】
【数１２】
2015526110.tif 000017
【０１０１】
と一致するであろうように、紐の長さの変更のプロファイルを生成することである。
このアルゴリズムは、以下の入力を持つことができる。
【０１０２】
【数１４】
2015526110.tif 000018
【０１０３】
‐オブジェクトのローカル座標系で、動作オブジェクトの原点から紐の接続点までのオフセットベクトル、
【０１０４】
【数１５】
2015526110.tif 000019
【０１０５】
‐選択された回転関数
【０１０６】
【数６】
2015526110.tif 000020
【０１０７】
のゼロ方向を定義するアフィン回転行列、
【０１０８】
【数１２】
2015526110.tif 000021
【０１０９】
‐紐の周囲の結合ポイントから、要求された動作オブジェクトの原点の場所及び選択された回転関数
【０１１０】
【数６】
2015526110.tif 000022
【０１１１】
に入力されるｒ方位座標まで、関連するオフセットの形式である３つの場所の座標を持つ動作曲線。
動作オブジェクトの紐の周囲の結合ポイントから紐の結合ポイントまでのオフセットベクトルを、
【０１１２】
【数１６】
2015526110.tif 000023
【０１１３】
により計算することができ、したがって、紐の長さを、
【０１１４】
【数１７】
2015526110.tif 000024
【０１１５】
により計算することができ、ここでj及びυは、i及びτで定義される動作の開始からの絶対時間を一致させることに決まっている。各j∈［0;M)のυ＝０での
【０１１６】
【数１８】
2015526110.tif 000025
【０１１７】
を計算したことで、動作ガイダンスパラメータ（位置、速度、加速度、加速の変化率）を得ることができる。
一実施形態では、
【０１１８】
【数１９】
2015526110.tif 000026
【０１１９】
は、アフィン回転の組み合わせるとすることができ、通常は、分析形で表現されていない。その値、ならびにその導関数の値は、関数自体の一般的な式を構築することなく、必要とされる特定の時点でプログラムで計算される。
別の実施形態では、
【０１２０】
【数６】
2015526110.tif 000027
【０１２１】
関数のヌルベクトルである
【０１２２】
【数２０】
2015526110.tif 000028
【０１２３】
Ｒ０パラメータ及び
【数２１】
2015526110.tif 000029
【０１２４】
の運動曲線座標は、計算上の意味を持たず、省略することができる。この実施形態では、アルゴリズムは、単一のポイントのアタッチメントの3D動作制御アルゴリズムとなる。すべてのi∈［0;N)の定数（D0;D1;D2）である
【０１２５】
【数２２】
2015526110.tif 000030
【０１２６】
の動作曲線座標を用いることで、アルゴリズムは、所定の空間の一定のポイントのままで、動作オブジェクトの原点に対する回転のみの制御アルゴリズムになる。すべてのi∈［0;N)の定数（D3;….;D3+r-1）である
【０１２７】
【数２３】
2015526110.tif 000031
【０１２８】
の動作曲線座標を用いることで、アルゴリズムは、オブジェクトの方向が一定のままで、動作オブジェクトの原点に対する動作のみの制御アルゴリズムになる。
【０１２９】
更なる実施形態では、アルゴリズムが、純粋に幾何学的で、動作オブジェクトの質量の重力及び慣性を考慮していないものである。オブジェクトの線形及び角加速度の重力の影響は、紐の剛性又はこれらの反対牽引力で補償することができる。動作上の慣性の影響力が小さいのと同様に、オブジェクトの質量は紐の駆動力に関しては小さくなければならない。
【０１３０】
別の一実施形態では、空間デバイスは、スチュワート・プラットフォームの方向を用い、オブジェクトの位置及び配向性の動作をサポートすることができる。スチュワート・プラットフォームの方向は、空間のオブジェクトの配置を提供することができる。オブジェクトの配置は、オブジェクトの位置（オブジェクトの中心が位置する3Ｄ座標（X、Y、Z））及びオブジェクトの方向（どのようにオブジェクトのローカル座標系が元の座標系に配向しているか）を含むことができる。動作プロフィールに入力されたX、Y、Z座標及びα、β、γ座標は、スチュワート・プラットフォームに変換することができる。
【０１３１】
スチュワート・プラットフォームの方向を定義するには、傾斜及び回転を含んだ２成分の値を用いる。傾斜は、経度及び緯度を含む２成分の値とすることができる。便宜上、スチュワート・プラットフォームの方向の成分を、3成分の3Ｄのポイントフォーマット（経度、緯度、回転）に結合することができ、瞬間的なオブジェクトの方向を記述し、プロファイルを定義するのに用いられる。方向の座標の軸の文字は、"L"が経度、"A"が緯度及び"Ｒ"が回転である（オブジェクトの位置を記述するX、Y、Zと同様）。
【０１３２】
傾きの概念は、図２８に示すように、その表面に地理的な経絡及び緯線を持つ地球儀で実証することができる。図28において、地球儀900が、北極902、南極904、緯度線又は平行線906、及び経度線又は子午線908を有することができる。ゼロの子午線910は、地球儀900の正面側の１つであり（最も観客に近いもの、地球儀の中心からZ+の軸の方向）、北極902から考えたときに、経路の値は反時計回りの方向に増加する。ゼロの平行線912は、北極902で1つであり、平行線の値は、南極904への方向にゼロの子午線によって観客に向かって減少する。傾きの子午線及び平行線の値は、角度で記述される。
【０１３３】
図28は「地理的にゼロ」の傾きを示している。これは、北極の軸（地球中心からゼロの平行線まで）及び正面の軸（中心からゼロの子午線で-90ポイントまで）の方向によって定義されたゼロの傾き（0、0）の値である。任意の傾き値（L、A）は、例えば、子午線Lの方向にＡ度、地球儀900の北極の軸を傾けることによってゼロの傾きの方向が得られる。例えば、傾き（0、-90）は、観客に向かって（ゼロの子午線に沿って-90度まで）ストレートに回転させた北極の軸の方向である。傾き（0、90）は、観客から離れるように（ゼロの子午線に沿って+90度まで）ストレートに回転させた北極の軸の方向である。傾き（-90、90）は、右に水平に（90-の子午線に沿って-90度）回転させた北極の軸の方向である。同じ地理的傾きは、複数の傾きの値で得ることができる。例えば、傾きの値値（0、90）、（180、-90）、（-180、-90）は、同一の傾きの方向を記述している‐観客からストレートに離れる。それぞれの傾斜の方向は、地理的にゼロの傾斜のみから得られ、単一の回転操作だけで、L及びＡの回転の両方が同時に起こる。傾斜の方向は、動きが間違った方向とならないように、回転方向を、最初にＡ度、子午線に沿って地球儀を回転し、それからＬ度、平行線に沿って回転するように考えることはできない。
【０１３４】
一実施形態では、ゼロの位置及び正／負の方向を、オペレータが直感的にジョギングするように選択することができる。ゼロの傾斜は、天頂まで通っており、オブジェクトがその状態でスタートした場合には、北極のゼロの緯度の値に対応する（0、0）の傾斜の座標を有するべきである。経度までジョギングが望まれる場合には、オペレータは、自分に向かってジョイスティックを動かすと（負の値まで）、北極902もその方向に回転することを期待することができる。更に、ゼロの経度の子午線910は、オペレータに向けて負の半分の軸に減少する緯度の値で球体900の前面に置くことができる。
【０１３５】
次に、地球儀の表面を、巻き戻すことができ、極性のポイントを、-360から0までの範囲の経度及び-180から0までの範囲の緯度の矩形領域として地球儀の表面を提示するためにラインに延伸し、負の経度の範囲と一致する緯度に負の数を選択することができる。その後、矩形領域を複製することによって、図２９に示すように、傾斜の値の動作面を得ることができる。
【０１３６】
図29において、ハッチエリア950は、全体の球体の表面にマップする面領域を特定する。ハッチエリア950の上端は北極902にマップし、一方でハッチエリア950の下端は南極904にマップする。傾斜の値が水平の極性線の一つと交差する場合には、実際の経度は180度ジャンプするが、空間及び軸のドライバは極性のポイントを介して内部的に遷移の原因となる座標を調整できる間は、全体の平面上の任意の滑らかな曲線として構築することができる傾斜の動作の軌道として動作を決定するための問題とはならない。空間ドライバが軸のデバイスの位置からオブジェクトの方向を算出する際に、空間ドライバは、最初に結果を調整し、ハッチングエリア950を含む又はハッチングエリア950内にあるものとする。その後、オブジェクトの方向が変化するように、空間ドライバは、主な動作の領域（ハッチエリア950）及び付加的な動作の領域（ハッチング面積952）内で、変更を追跡し、近接する傾斜の値を生成する。付加的な動作の領域の追加は、曖昧さを、元に戻ることになるが、北極を横切りハッチ領域950からハッチ領域952及び後方への直観的に許容可能なジョギングを許諾するオブジェクトの方向に、導入できる。オブジェクトが方向の変化のプロファイルを実行する場合、傾斜の値が決定されたプロファイルをハッチ領域950に含め、正しい方向のエラーチェックを可能にすることができる。移動のコマンドが絶対的なターゲットの方向によって実行される場合、現在のオブジェクトの方向は、最小限の走行の長さを達成する期間の全体の数で「unwrapped」される（移動の軌跡がデフォルトで南極を横切るために生成されることを除いて）。
【０１３７】
図27の平面上の水平方向に、一定速度で、2Dの動作の曲線を生成することは、緯度の値に関係なく現在の平行に沿って一定の角度の速度の回転をもたらす。同様に、垂直方向に曲線を回すことは、地理的な極を介して現在の子午線に沿って傾斜の増加／減少をもたらす。
【０１３８】
スチュワート・プラットフォームの方向については、南極の傾斜に達する、及び／又は横切ることは、機械的に（事実上）は不可能である。したがって、全体の動作をハッチングの矩形を含む2つの水平ストライプに限定することができる。しかしながら、任意の方向の傾斜を可能にするアタッチメントタイプがあるかもしれない場合は、その後南極の行を横切る動作を防止するための任意の数学的な制限がないであろう。
【０１３９】
回転方向のコンポーネントは、傾斜がそれに適用されてから、オブジェクトの極の軸の周りの角度で回転量を特定する。北極から考慮した場合、正回転は反時計回りである。
【０１４０】
一実施形態では、子午線が互いに接近し、極（北極及び南極）での一点で結合するので、極の経度で大きな角距離を、あるときには大きな角速度を発生し、別のときには小さな角速度を発生するプロファイルを必要とする、球体の表面に沿った小さな線形の経路に対応させ、極の領域の球体の表面に沿ってほぼ一定の傾斜の直線的な経路のスピードを達成することができる。また、プロファイルは、極の領域を移動し、方向へのより細かな制御を達成する間は、より近い時間で発生する多くのキーポイントを必要とする。
【０１４１】
上記の説明では、所定の空間の単一のオブジェクトの動きを説明したが、空間デバイスは、シミュレートに用いることができ、所定の空間で複数のオブジェクトの動きを実現するために使用できることを理解すべきである。所定の空間の各オブジェクトは、所定の空間でその動きを支配する、それぞれの動作プロファイルを持つことができる。一実施形態では、オブジェクトの動作プロファイルを、所定の空間を基準にして定義することができるが、別の実施形態では、オブジェクトの動作プロファイルを、位置及び方向と同様に、他のオブジェクトを基準にして定義することができる。オブジェクトの動作プロファイルを他のオブジェクトを基準にして定義する場合には、動作プロファイルを、所定の空間を基準に定義した動作プロファイルに変換することができる。
【０１４２】
また、空間デバイスにも衝突検出機能を組み込み、存在する場合にはオブジェクトを静的要素又は他の動的要素への衝突から防止することができる。一実施形態では、衝突検出機能を、各オブジェクトの周りに「envelope」を定義し、その後オブジェクトの「envelope」がオブジェクトの動作プロファイルのシミュレーション中に交差するか、オーバーラップするかを決めることで、実現することができる。交差又はオーバーラップがシミュレーション中に発生した場合、動作プロファイルが実行されるべきだったならば、オペレータには、衝突の可能性を通知することができ、必要に応じて、オペレータは、動作プロフィールを調整することができる。オブジェクトの周囲の「envelope」の大きさを設定することにより、オペレータは、可能な衝突の頻度を制御することができる。より大きな「envelope」の使用がより多くの可能性のある衝突をもたらし、より小さい「envelope」の使用がより少ない可能性のある衝突をもたらすことができる。しかしながら、コンポーネントが「envelope」によりみなされるより大きなエラーマージンを有する場合には、より小さな「envelope」の使用は、実行中に実際の衝突を生じ得る。一実施形態では、「envelope」をオブジェクトの周囲の球体として定義することができるが、他の実施形態では、「envelope」は直方体又はプリズムであってもよい。他の実施形態では、任意の適切な幾何学的形状を、オブジェクトの「envelope」を定義するために用いることができる。
【０１４３】
一実施形態では、制御システムを、自己回復型及び自己構成型とすることができる、すなわち、制御システムは、各ノード又はデバイスから、データがそのシステムの他のノード又はデバイスによって必要とされるところまでの、経路データへのパスを見つけることができる。
【０１４４】
一実施形態では、ノード又はデバイスのプロセスに関連するデータを含むすべてのノード又はデバイスのデータは、すべてのノード又はデバイスは、他のノード又はデバイスを認識するように、いつでもネットワーク上の他のすべてのノード又はデバイスに普遍的に利用可能にすることができる。データの転送に関しては、プロセッサの境界ではなく、データが別々のプロセッサ上に常駐するものではない。他のノード又はデバイスがあまりに速いかどうかを注意するために、ノード又はデバイスが制御される場合には、対応するデータを、そのノード又はデバイスによって知ることができ、それはすべてのノード又はデバイスが常に一つ以上のデータ・ベクトルを含む情報パケット（例えば、IPプロトコルパケット）を介して情報をやり取りしているからである。一実施形態では、データを、マークアップ言語形式（例えば、eXtensible Markup Language--XML）で、すべてのノードに格納し、利用可能にすることができる。
【０１４５】
別の実施形態において、ノードは、冗長、負荷分散、損傷したセクションのデータトラフィックを再ルーティングすることができるリアルタイムネットワークを用い、ネットワーク上のすべての他のノードとデータを共有でき、ネットワーク上の問題をオペレータに警告することができる。各ノードは、ノードが役割を実行するのに必要とするすべての情報を蓄積することができる。ノードは互いに現在のステータス（位置、動きのステータス、方向、速度、ノードの状態、サービスがどれだけの長さか（サービスの長さ）、どれくらい使われるか（使用の量））を通信することができる。一つのノードに問題が発生した場合、他のノードは、直ちに問題について知ることができ、他のノードに問題／障害に対応する方法をプログラムすることがことができる。例えば、舞台上の演出物であるエレベーターの一つが上昇位置の10フィートの高さであり、役者は、エレベータの占有スペースを横切ってウインチによって飛ぶことになっている。エレベータが上昇する場合には、制御システムは、ウィンチが役者を動かさないことを認識しているようにプログラムすることができ、或いは、エレベータが例えば変化の軌跡に戻れない場合には、全体として異なる何かをウィンチに伝えるようにプログラムすることができる。
【０１４６】
一実施形態では、制御システムは、QNXリアルタイムオペレーティングシステム（O/S）を使用することができる。QNX O/Sは、サーバとして知られ、いくつかの小さなタスクを実行するUnixに似たリアルタイムマイクロカーネルO/Ｓである。マイクロカーネルは、不要な又は未使用のサーバーを実行していないだけで、不要な又は未使用の機能をオフにすることができる。
【０１４７】
一実施形態では、単一の障害のポイントがないように、制御システムを構築することができる。換言すれば、危険な状態が発生する可能性がある単一の障害はない。一つの障害は、オブジェクトの動きを止めたり、そうでなければオブジェクトが正常に動作しないことになるが、そのような障害は、暴走する舞台の小道具のような危険な状況を起こさない。制御システムには、ツリー状のシステム構成の異なるブランチでの障害をシミュレートすることができる故障解析及び故障モード影響解析を含む厳格な機械的及びソフトウェアの分析の基準を組み込むことができる。制御システムは、異なる障害のシナリオで何が起こるか予測することができる。単一の障害のポイントが見つかった場合、単一の障害のポイントを回避するためにルールをリセットすることができる。
【０１４８】
一実施形態では、制御システムは、フレキシブルなe-stopソリューションを統合し、安全機能の構成と導入を簡素化するすることができる。制御システムで使用されるマルチポート対応のe-stopコントローラを、e-stopステーションの容易な導入を可能にするように設定することができる。e-stopステーションが単一又は複数のノード又はデバイスに信号を送ることができるように、必要とされ構成されたネットワーク上のどこにでもe-stopステーションを配置することができる。制御システムe-stopは、機器やマシンからエネルギー（電気、油圧、空気圧）を除去することにより、安全な状態で機器やマシンを配置する。単一のノード又はデバイスが問題とされている場合は、そのノード又はデバイスは、制御システムの残りの部分を停止せずにe-stop信号をディスエーブルすることができる。
【０１４９】
本出願は、その動作を達成するためのいずれかのコンピュータで読み取ることができる媒体上の方法、システム及びプログラム製品を意図する。本出願の実施形態では、既存のコンピュータのプロセッサを使用し、又は適当なシステムの専用コンピュータのプロセッサによって、又はハードワイヤードシステムによって、実装してもよい。
【０１５０】
本出願の範囲内の実施形態は、その上に記憶されたコンピュータ上で実行可能な命令又はデータ構造を移送する又は有するコンピュータで読み取ることができる媒体を備えたプログラム製品を含む。コンピュータで読み取ることができる媒体は、プロセッサを備えた汎用又は専用コンピュータ又は他のマシーンによってアクセスできる、いずれかの利用可能なトランジスタのない媒体とすることができる。一例として、コンピュータで読み取ることができる媒体は、RAM、ROM、EPROM、EEPROM、CD-ROM又は他の光ディスク記憶、磁気ディスク記憶又は他の磁気記憶デバイス、又はプロセッサを備えた汎用又は専用のコンピュータ又は他のマシーンによってアクセスできるコンピュータ上で実行可能な命令又はデータ構造の形式の所望のプログラムコードを移送又は記憶するのに用いられる他のいずれかの媒体を具備することができる。情報が、マシンにネットワーク又は別の通信接続（有線、無線又は有線と無線の組み合わせのいずれか）を介して転送又は提供されると、マシンが接続をコンピュータで読み取ることができる媒体として適当にみなす。上記の組み合わせもまたコンピュータで読み取ることができる媒体の範囲に含まれる。コンピュータ上で実行可能な命令は、例えば、汎用コンピュータ、専用コンピュータ、又は専用処理マシーンに特定の機能または機能群を実行させることできる命令及びデータを含む。ソフトウェアの実装をルールベースのロジック及び他のロジックによる標準的なプログラミング技術で達成し、様々な接続ステップ、処理ステップ、比較ステップ及び決定ステップを達成することができる。
【０１５１】
本開示において、図面に示された実施形態は現在好ましいものであるが、これらの実施形態が例としてのみ提供されていることを理解すべきである。他の置換、修正、変更及び省略は、本出願の範囲から逸脱することなく、一実施形態の設計、動作条件及び配置で行われてもよい。したがって、本出願は、特定の実施形態に限定されるものではなく、添付の特許請求の範囲の範囲内に入る種々の変形に及ぶものである。また、本明細書中で用いられる表現および用語は説明のためであり、限定とみなされるべきではないことを理解すべきである。
【０１５２】
様々な実施形態で示した本出願の構成及び配置は、例示に過ぎないことに注意することが重要である。発明の特定の特徴及び態様のみが本出願に示され、記載され、多くの修正及び変更は、特許請求の範囲に記載された主題の新規な教示及び利点から逸脱することなく、当該技術分野の当業者が想到することができる（例えば、様々な要素のサイズ、寸法、構造、形状のばらつき及び比率、パラメータの値（例えば、温度、圧力など）、取り付け配置、使用材用、方向など）。例えば、一体的に形成されたとして示されている要素は、複数の部品又は要素で構成することができ、要素の位置は逆に、又はそうでなければ変化させることができ、個別の要素又は位置の性質又は数は変更又は変化させることができる。任意のプロセス又は方法のステップの順番又は順序を、代替の実施形態に従って変化させてもよいし、並べ直してもよい。従って、特許請求の範囲は、本発明の正しい思想に入るこのようなすべての修正及び変更を包含するものと理解されたい。更に、一実施形態を簡潔に説明するために、実際の実装のすべての特徴を説明していない（すなわち、これらは、本発明を実施するための現在考えられる最良の形態と無関係、又はこれらは特許請求の範囲の発明を有効なものとするのとは無関係）。任意のこのような実際の実装の開発において、任意のエンジニアリング又は設計のプロジェクトにおけるように、多数の実装の固有の決定がなされてもよいと、認識すべきである。このような開発の努力は複雑で時間がかかるかもしれないが、それにもかかわらず、過度の実験をすることなく、本開示の利益を有する当業者にとっては設計、加工、及び製造の日常的な仕事であろう。
【図１】
2015526110.tif 000032
【図２】
2015526110.tif 000033
【図３】
2015526110.tif 000034
【図４】
2015526110.tif 000035
【図５】
2015526110.tif 000036
【図６】
2015526110.tif 000037
【図７】
2015526110.tif 000038
【図８】
2015526110.tif 000039
【図９】
2015526110.tif 000040
【図１０】
2015526110.tif 000041
【図１１】
2015526110.tif 000042
【図１２】
2015526110.tif 000043
【図１３】
2015526110.tif 000044
【図１４】
2015526110.tif 000045
【図１５】
2015526110.tif 000046
【図１６】
2015526110.tif 000047
【図１７】
2015526110.tif 000048
【図１８】
2015526110.tif 000049
【図１９】
2015526110.tif 000050
【図２０】
2015526110.tif 000051
【図２１】
2015526110.tif 000052
【図２２】
2015526110.tif 000053
【図２３】
2015526110.tif 000054
【図２４】
2015526110.tif 000055
【図２５】
2015526110.tif 000056
【図２６】
2015526110.tif 000057
【図２７】
2015526110.tif 000058
【図２８】
2015526110.tif 000059
【図２９】
2015526110.tif 000060
【国際調査報告】
2015526110.tif 000061
2015526110.tif 000062
2015526110.tif 000063