JP6144845B2 - ショーを協調的に演じている複数のロボットの動きを定義するためのシステム及び方法 - Google Patents

ショーを協調的に演じている複数のロボットの動きを定義するためのシステム及び方法 Download PDF

Info

Publication number
JP6144845B2
JP6144845B2 JP2016549576A JP2016549576A JP6144845B2 JP 6144845 B2 JP6144845 B2 JP 6144845B2 JP 2016549576 A JP2016549576 A JP 2016549576A JP 2016549576 A JP2016549576 A JP 2016549576A JP 6144845 B2 JP6144845 B2 JP 6144845B2
Authority
JP
Japan
Prior art keywords
robot
playlist
scene
segment
segments
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016549576A
Other languages
English (en)
Other versions
JP2017505239A (ja
Inventor
マウヌス ゴスタウソン,
マウヌス ゴスタウソン,
マーク ルース,
マーク ルース,
Original Assignee
アーベーベー シュヴァイツ アクツィエンゲゼルシャフト
アーベーベー シュヴァイツ アクツィエンゲゼルシャフト
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アーベーベー シュヴァイツ アクツィエンゲゼルシャフト, アーベーベー シュヴァイツ アクツィエンゲゼルシャフト filed Critical アーベーベー シュヴァイツ アクツィエンゲゼルシャフト
Publication of JP2017505239A publication Critical patent/JP2017505239A/ja
Application granted granted Critical
Publication of JP6144845B2 publication Critical patent/JP6144845B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41415Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance involving a public display, viewable by several users in a public space outside their home, e.g. movie theatre, information kiosk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40395Compose movement with primitive movement segments from database

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Manipulator (AREA)
  • Processing Or Creating Images (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Description

本発明は、ショーを協調的に演じている複数の実際のロボットの動きを定義するためのシステム及び方法に関する。
ロボットは、産業界において反復作業を実施するために最も多く使用される。この場合、重要なのは作業が正確に確実に完了しているということである。ロボットが作業を実施しているのを見ることがどれほど楽しいかは重要ではない。
既存の実施では、人間のプログラマーが各作業についてロボットをプログラミングする。作業に関連する重要なロボットの位置は、ロボットを直接位置決めし、その位置を保存することによって定義されうる。プログラマーはその後、保存された位置を参照するコードを書き、ロボットに所望の作業を実施するように命令する。
しかしながら、近年、人々を楽しませるために、ロボットを利用して、ビデオのディスプレイ、ビデオプロジェクター、又は階段等の娯楽機器を動かすことが流行している。例えば、ショーのステージ上で人間と共に演技しているロボットが多数いる。これには、人とロボットが出演しているミュージカルのショー、又はロボットがディスプレイパネルを動かすトレードショーがありうる。またこれは、ロボットが人と共にディスプレイやスキャン機器を操作するデザイナーの店やエリアにも適用できる。上記システムの課題は、ショーのプレイリスト、及びステージ上の動作の一方、又は両方に対して、ロボットのプログラムをどのように構築し、ロボットの動きを同期させるかである。
文献US8356704には、ビデオのディスプレイ、ビデオプロジェクター又は階段等のロボットにより制御された娯楽要素が開示されている。ロボットは、三次元において娯楽要素を動かす。
観客を楽しませる目的でロボットをプログラミングすることは、産業界においてロボットをプログラミングするのとは多くの点において質的に異なっている。ロボットは通常、見た目のためにデザインされた特定の動きのシーケンスの明確に定義されたセットを有する。ロボットの側に知的な意思決定は必要なく、見た目のみが重要視される。従来のプログラミング法を用いて、ロボットに自然な「有機的」に見える動きをさせるようにプログラミングすることは、よくても非常に困難で時間がかかることであり、最悪にはほぼ不可能である。
プログラムには意思決定がなく、見た目が重要視されるため、楽しませる演技のためのロボットの動きのプログラミングは、従来のロボットのプログラミングよりもコンピュータのアニメーションと共通点を持つ。そうであれば、理想的な解決策は、コンピュータのアニメーターがロボットの演技のアニメを定義するのと全く同じ方法でロボットの演技を定義することである。
既存のコンピュータの3Dアニメーションソフトウェアと、既存のコンピュータのアニメーション制作能力とを用いて、ロボットのアニメーションシーケンスを製作することは周知である。コンピュータのアニメーターはコンピュータのアニメーションソフトウェアを使用し、実際のロボットの物理的な限界内で実際のロボットのモデルをアニメ化する。次に、実際のロボットの動きがアニメ化されたロボットの動きとぴったり一致するように、アニメーションからロボットのプログラムを製作する。
今日、ショーデザイナーは外部の3Dアニメーションツール、例えばMAYAを使って、人間の動きと共にロボットの動き、及びショー、又はトレードショーにおける音楽同期を設計する。ショーデザイナーは、ショーが演じられるべき場所から遠く離れたスタジオで、ロボットのソフトウェアモデルを使用して、ロボットの動きを予め設計する。ショーが、実際のステージ上で実際のロボットが演じ、実際に人がショーで演技をしている時に、ロボットの動きを、ロボットアニメーションのシーケンスを製作中には予測できなかった実際の環境、及びその他の状況に適合させるために変える必要が多く発生する。このため、アニメーションと、ロボットのプログラムコードが製作された後で、ロボットの動きを編集する必要がある。特に、例えばショーのリハーサルの間等に、実際のロボットと共に現場でロボットの動きを編集する必要がある。例えば、ロボットの動きのシーケンスを変える必要がある。しかしながら、ロボットの動きは、ロボットのアニメーションシーケンスの製作中に、時間整合されていた。このため、ロボットの動きのシーケンスを変える時に、ロボット同士が衝突する危険性がある。
本発明の目的は、コンピュータのアニメーションソフトウェアによって定義されるロボットの動きのシーケンスの編集に関する上述の問題に解決策を提供することである。
本発明の一態様によれば、この目的は請求項1によって定義されるように、システムによって達成される。
本システムは、ショーの間のロボットの動きを記述し且つ各セグメントが定義された期間におけるロボットの内の1つのロボットの動きの記述を含む複数のセグメントを保存するため、及び各シーンがロボットによって同時に実行されるべき複数のセグメントを指定する複数のシーンを保存するための少なくとも1つの記憶装置と、シーンのシーケンスを含むプレイリストの作成を処理し、ユーザコマンドに従ってプレイリストを修正するように構成されたプレイリストハンドラーと、ユーザがシーンのシーケンスを修正することによってプレイリストを編集することができるようにするために、ユーザにプレイリストを表示し、ユーザコマンドを受信するように構成されたユーザインターフェースとを備える。
ロボットのために定義されたショーの間に実行されるべき動きは、複数のシーンに分割される。各ロボットの動きは、複数の連続的なセグメントに分割される。各セグメントは、定義された期間の間に特定のロボットによって実行されるべき動きを定義する。定義された期間は、実行されるべき動きの継続時間を指定するのみであり、ショーの間いつセグメントが実行されるべきかを指定するものではない。各シーンに対し、ロボットによって同時に実行されるべき動きを含む幾つかの対応するセグメントがある。同時に実行されるべきセグメントの数は、ロボットの数と同じである。従って、各シーンのセグメントの数は、プログラミングされるべきロボットの数と等しい。各シーンは、どのセグメントがそのシーンに属するかの情報を含む。
**本発明によれば、本システムは複数のシーンを取得し、各シーンは、ロボットによって同時に実行されるべき複数のセグメントを含む。シーンは、ロボットによって同時に実行されるべき動きを含む全てのセグメントを含む。プレイリストハンドラーは、ショーの間のロボットの動きのシーケンスを定義するシーンのシーケンスを含むプレイリストの作成を処理するように構成されている。本システムは、ユーザがシーンのシーケンスを修正することによってプレイリストを編集することができるようにするために、プレイリストをユーザに表示し、修正に関するユーザコマンドを受信するように構成されたユーザインターフェースを含む。プレイリストハンドラーは、ユーザコマンドに基づいて、プレイリスト、従ってシーンのシーケンスを修正するように構成されている。このため、ユーザがシーンのシーケンスを変更する、すなわち、シーン全体を移動する、追加する及び/又は削除することが可能になる。ロボットのアニメーションシーケンスが製作された時に、シーン内のロボットの動きは互いに調整され、衝突に対してチェックされているので、ユーザは修正に起因するロボット同士の衝突の危険性を伴わずにシーンのシーケンスを編集することができる。本発明により、ユーザが、ロボットのプログラムが各ロボットコントローラに配布される前に、コンピュータのアニメーションソフトウェアによって定義されたロボットの動きのシーケンスを編集することが可能になる。
本発明の一実施形態によれば、本システムは、ショーの間のロボットの動きを記述し、各セグメントが定義された期間におけるロボットの内の1つのロボットの動きの記述を含む複数のセグメントを保存するセグメント記憶装置を備える。
本発明の一実施形態によれば、本システムは、シーンを保存するためのシーン記憶装置と、保存されたセグメントに基づいて複数のシーンを作成し、シーン記憶装置にそのシーンを保存するように構成されたシーンハンドラーとを備える。
本発明の一実施形態によれば、プレイリストハンドラーは、シーンのシーケンスの一部の修正に関するユーザコマンドを受信して、プレイリストとの修正された部分のシーンに含まれるセグメントのロボットの動きの記述に基づいて修正を認証し、認証の結果に基づいて修正を可能にする又は拒否するように構成されている。一シーンにおけるロボットの位置は、ロボットが次のシーンにおいて移動できる位置に制限を課す。この実施形態は、ロボットの動きの推奨される修正を実行することが可能か否か、すなわちロボットが新たな動きのシーケンスを演じることが可能か否かの認証、すなわちチェックを実行する。推奨される修正が実行不可能である場合、修正は拒否される。この実施形態は、ユーザが、ロボットが動きを演じることができないような動きのシーケンスの修正を行うことを防止する。
本発明の一実施形態によれば、ロボットの動きの記述は、ロボットの位置を含み、プレイリストハンドラーは、プレイリストの修正された部分に隣接するシーンで同じロボットに属する位置を比較して、比較の結果に基づいて修正を認証するように構成されている。この位置は例えば、デカルト位置又はジョイント値として表すことができる。
本発明の一実施形態によれば、各セグメントは、ロボットの開始位置と終了位置を含み、プレイリストハンドラーは、プレイリストの修正された部分に隣接するシーンで同じロボットに属するセグメントの開始位置と終了位置とを比較することによって修正を認証し、隣接するシーンの任意のセグメントの開始位置及び終了位置との間の差が限界値を超えた場合に、修正を拒否するように構成されている。シーンの一セグメントの終了位置と、次のシーンの同じロボットに属するセグメントの開始位置との間の差が限界値を超えた場合、修正は許可されない。
この実施形態により、ロボットが動きを実行することができないように、ユーザの動きのシーケンスの修正が防止される。
例えば、記述には、ロボットの軸の複数のジョイント値を含み、プレイリストハンドラーは、プレイリストの修正された部分に隣接するシーンで同じロボットに属するセグメントの軸のジョイント値を比較するように構成されている。
本発明の一実施形態によれば、各セグメントは、セグメントがどのシーンに属するかの情報を含み、シーンハンドラーは、それに基づいてセグメントを複数のシーンにグループ化するように構成されている。各セグメントに、そのセグメントがどのシーンに属するかの情報を付与することで、シーンハンドラーのシーンの作成が促進される。
本発明の一実施形態によれば、各セグメントは、セグメントがどのロボットに属するかの情報を含むロボット識別タグを含み、プレイリストハンドラーは、ロボット識別タグに基づいてセグメントがどのロボットに属するかを決定するように構成されている。この情報は例えば、各ロボットのメインプログラムを作成し、正しいロボットにメインプログラムを配布するために、ロボットの動きの修正を認証するために使用される。
本発明の一実施形態によれば、プレイリストハンドラー及びユーザインターフェースは、ユーザがプレイリストのシーンのセグメントを編集することを可能にするように構成されている。選択されたシーンのセグメントを編集することができる。例えば、新たなセグメントを追加することができ、ライブラリからの既存のセグメントを追加することができ、セグメントをプレイリストから削除することができ、セグメントの順番を変更することができる。
しかしながら、セグメントが変化すると、ロボット同士が衝突する危険性が生じうる。本発明の一実施形態によれば、プレイリストハンドラーはプレイリスト、保存されたシーン、及び保存されたセグメントに基づいてロボットの動きをシミュレーションし、シミュレーションに基づいてプレイリストを認証するように構成されている。この実施形態は、セグメントの変更が原因の衝突やエラーを避けるために、プレイリストによって定義されたロボットの動きのシーケンスを認証する。
本発明の一実施形態によれば、各セグメントは更に、定義された期間においてロボットの動きを実行するためのプログラムコードを含み、本システムは更に、プレイリスト、保存されたシーン、及び保存されたセグメントのロボットコードに基づいて各ロボットのメインプログラムを生成するように構成されたプログラムジェネレータを備える。この実施形態により、コンピュータのアニメーションソフトウェア、及びユーザによって作成されたプレイリストによって定義されたロボットの動きのシーケンスに基づいて個々の移動を実行するために、各ロボットに対してロボットプログラムを自動的に生成することが可能になる。
本発明の一実施形態によれば、各セグメントは、ロボットコードを含み、メインプログラムによってコールされるサブルーチン名を有するサブルーチンを含み、プログラムジェネレータは、プレイリストに基づいてサブルーチンへのコールのシーケンスを含む各ロボットのメインプログラムを生成するように構成される。メインプログラムは、移動を実行するためのいかなるロボットコードも含まない。したがって、移動を実行するためのロボットコードを含むセグメントを、メインプログラムとは別のロボットコントローラに読み込むことができる。ロボットコードをロボットコントローラに読み込むには時間がかかることが多い。この実施形態では、ロボットコードは1回だけロボットコントローラに読み込むだけでよい。ロボットプログラムはロボットコードを含むサブルーチンへのコールのシーケンスを含むため、ロボットプログラムをロボットコントローラに読み込むのは簡単で時間がかからない。ロボットの動きのシーケンスを後で修正すべき場合、メインプログラムのサブルーチン読み出しシーケンスを修正することは簡単であり、新たなメインプログラムをロボットコントローラに読み込むのは時間がかからない。ロボットコードは修正なしでもよい。この実施形態により、ロボットコードがロボットコントローラに読み込まれた後のロボットプログラムへの修正が簡単になる。
本発明の一実施形態によれば、本システムは、各ロボットがそのロボットに属する関連メインプログラムとセグメントを受信するように、各ロボットにメインプログラムとセグメントを自動的に配布するように適合される。シーンのシーケンスの編集と、ロボットのメインプログラムの生成は、ロボットコントローラとは離れたコンピュータでオフラインで行われることが好ましい。この実施形態により、プログラムコードを含むメインプログラムとセグメントの各ロボットへの自動的な配布が可能になる。
本発明の別の態様によれば、この目的は、請求項12によって定義され、アニメーションソフトウェアによって定義されるように、ショーの間のロボットの動きの記述に基づいて、ショーを協調的に演じている複数の実際のロボットの動きを定義するための方法によって達成される。
本方法は、
− アニメーションソフトウェアによって定義されるロボットの動きを記述し、各セグメントが定義された期間内のロボットの内の1つのロボットの動きの記述を含む複数のセグメントを取得してすることと、
− セグメントを保存することと、
− 各シーンが、ロボットによって同時に実行されるべき複数のセグメントを含む複数のシーンを取得することと、
− シーンについての情報を保存することと、
− シーンのシーケンスを含むプレイリストを作成することと、
− ユーザにプレイリストを表示し、シーンのシーケンスを修正することによって、ユーザがプレイリストを編集することを可能にすることと、
− 修正に関するユーザコマンドを受信することと、
− ユーザコマンドに基づいてプレイリストを修正することと、
− 修正されたプレイリストを保存することと
を含む。
複数のセグメントは、ロボットのアニメーターを含むモーション作成モジュールからセグメントを受信する又は読み出すことによって、取得することができる。複数のシーンは、モーション作成モジュールからシーンを受信する又は読み出すことによって、又は保存されたセグメントに基づいてシーンを作成することによって取得することができる。
本発明の一実施形態によれば、本方法は、
− シーンのシーケンスの一部分の修正に関するユーザコマンドを受信することと、
− プレイリストの修正された部分のシーンに含まれたセグメントのロボットの動きの記述に基づいて修正を認証すること、そして、認証の結果に基づいて修正を許可する又は拒否すること、及び修正が許可された場合に、プレイリストを修正することと
を含む。
本発明の一実施形態によれば、ロボットの動きの記述はロボットの複数の位置を含み、本方法は、プレイリストの修正された部分において隣接するシーンで同じロボットに属する少なくとも幾つかの位置を比較し、比較の結果に基づいて修正を認証することを含む。
本発明の一実施形態によれば、各セグメントは、ロボットのための開始位置と終了位置を含み、本方法は、プレイリストの修正された部分に隣接するシーンで同じロボットに属するセグメントの開始位置と終了位置とを比較することと、隣接するシーンの任意のセグメントの開始位置と終了位置との間の差が限界値を超えた場合に、修正を拒否することとを含む。
本発明の一実施形態によれば、本方法は、複数のセグメントを受信することと、セグメントを保存することと、保存されたセグメントに基づいて複数のシーンを作成することと、シーンを保存することとを含む。
本発明の一実施形態によれば、各セグメントは、セグメントがどのシーンに属するかの情報を含み、複数のシーンは、セグメントがどのシーンに属するかの情報に基づいて作成される。
本発明の一実施形態によれば、各セグメントはセグメントがどのロボットに属するかの情報を含むロボット識別タグを含み、本方法は、ロボット識別タグに基づいてセグメントがどのロボットに属するかを決定することを含む。
本発明の一実施形態によれば、本方法は更に、プレイリスト、保存されたシーン、及び保存されたセグメントに基づいてロボットの動きをシミュレーションすることと、シミュレーションに基づいてプレイリストを認証することとを含む。
本発明の一実施形態によれば、各セグメントは更に、定義された期間においてロボットの動きを実行するためのプログラムコードを含み、本方法は更に、プレイリスト、保存されたシーン、及び保存されたセグメントのロボットコードに基づいて各ロボットのメインプログラムを生成することを含む。
本発明の一実施形態によれば、各セグメントは、ロボットコードを含むサブルーチン、及びセグメントのロボットコードをコールするためのサブルーチン名を含み、本方法は、プレイリストに基づいてサブルーチンへのコールのシーケンスを含む各ロボットのメインプログラムを生成することを含む。
本発明の一実施形態によれば、本方法は、各ロボットがそのロボットに属する関連メインプログラムとセグメントを受信するように、各ロボットにメインプログラムとセグメントを自動的に配布することを含む。
ここで本発明を、本発明の様々な実施形態の記述と、添付の図面を参照することによって、より詳細に説明する。
本発明の一実施形態に係るショーを協調的に演じている複数のロボットの動きを編集し、認証するためのシステムのブロックスキームを示す図である。 プレイリスト、シーン及びセグメントを保存するための構造の一例を示す図である。 本発明の一実施形態に係る、ショーを協調的に演じている複数のロボットのメインプログラムを生成するためのシステムのブロックスキームを示す図である。 ショーを協調的に演じている複数のディスプレイ処理ロボットを示す図である。 本発明の一実施形態に係る、ショーを協調的に演じている複数のロボットの動きを編集し、認証するための方法を示すフロー図である。 本発明の一実施形態に係る、ショーを協調的に演じている複数のロボットのメインプログラムを生成するための方法を示すフロー図である。
図1に、本発明による、ショーを協調的に演じている複数のロボットの動きを編集し認証するためのシステムの一例のブロックスキームを示す。
ロボットの動きは、ロボットアニメーションモジュール2aと、ロボットアニメーションモジュール2によって定義されたロボットの動きの記述に基づいてセグメントを作成するように適合されたセグメント作成モジュール2bとを備えるモーション作成モジュール1によって予め定義される。ロボットアニメーションモジュール2aと、セグメント作成モジュール2bは、本発明のシステムの一部ではない。
ロボットアニメーションモジュール2aは、一又は複数のロボットのモデルに基づいてロボットをアニメ化するためのアニメーションソフトを含む。セグメント作成モジュール2bは、ロボットのモデルのアニメーションを分析し、実際のロボットにアニメ化されたロボットの動きを再生するように命令するロボットプログラムコードを自動的に生成するように適合されたコンピュータプログラムである。セグメント作成モジュール2b及びロボットアニメーションモジュール2aは、コンピュータ上で実行される。コンピュータプログラムはこれを、アニメ化されたロボットのモデルの回転コンポーネントを実際のロボットの軸に関連付けする手段と、完成したアニメーションからロボットのプログラムコードを生成する手段を提供することによって達成する。回転コンポーネントが実際のロボットの軸に関連付けられ、ロボットのモデルがアニメ化されると、プログラムは2つの段階:分析及び合成で機能することによってロボットのプログラムコードを生成する。分析段階では、アニメでのロボットの動きが決定される。次に合成段階において、分析段階から得られた情報を使用して、実際のロボットに同じように動くように命令するロボットのプログラムコードが生成される。
分析段階では、コンピュータプログラムは、実際のロボットの軸の回転に関するコンピュータのアニメーションモデルの回転コンポーネントを分析する。コンピュータプログラムは、アニメーションの期間全体のこれらの回転を分析し、各軸の経路を決定する。コンピュータプログラムは、回転値の線形変化を検出し、回転的な動きが変化するキーポジションを位置決めすることによってこの経路を決定する。コンピュータプログラムは次に、全ロボットのキーポジションのセットに個別の軸の動きの経路を組み合わせる。各位置は、各軸の回転値と、その位置の時間値とを含む。このキーポジションのセットは、実際のロボットに同じように動くように命令するプログラムを連続的に生成するのに使用可能な形態でアニメーションソフトによって定義されるように、ロボットの動きを完全に、また明確に記述する。
合成段階では、コンピュータプログラムは、分析段階で決定されたキーポジションのセットに踏み込み、ロボットのプログラミング言語で命令を生成する。結果的に得られたプログラムコードは、正確な時間にそれぞれ正確な位置に到達するようにロボットに命令する。これは、ロボットが前の位置に到達した時に実行されるべきそれぞれの移動命令を生成し、その位置に関連づけられる正確な時間にロボットに移動を終わらせ、キーポジションに到達させる移動命令に必要な正確な速度を計算することによって達成される。この結果、キーポジションを通るロボットの移動は、アニメ化されたロボットの移動と正確に一致する。あるいは、各移動時間は、特定の速度だけでなく、特定の時間でターゲット間を移動することができるこれらのロボット言語で使用するために保存される。
セグメント作成モジュール2bは、ロボットが定義された動きを演じるのに必要な全ての情報を含む複数のセグメントを作成するように構成されている。各セグメントは、定義された期間において特定のロボットによって実行されるべき動きを定義する。定義された期間は、例えば10分、あるいは30秒等の、実行されるべき動きの継続期間のみを指定する。定義された期間では、ショーの間にいつセグメントが実行されるべきかは指定されない。各ロボットによって実行されるべき動きのシーケンスは、複数の連続的なセグメントに分割される。各セグメントに対し、他のロボットによって同時に実行されるべき動きを含む幾つかの対応するセグメントがある。同時に実行されるべきセグメントの数は、ショーにおいて演じているロボットの数と等しい。
各セグメントは、ショーの定義された期間において実行されるべきロボットの動きの記述を含む。記述は、期間と、その期間におけるロボットの位置を含む。例えば、ロボットの位置は、ロボットの軸に対する角度位置のシーケンスを含みうる。あるいは、ロボットの位置は、ロボットのデカルト位置のシーケンスを含みうる。各セグメントは、ロボットの開始位置、複数の中間位置、及びロボットの終了位置を含みうる。
更に、各セグメントはセグメントがどのロボットに属するかの情報を含む。例えば、各セグメントは、ロボットIDの情報を有するロボット識別タグを含む。この実施形態では、一シーンごとのロボットに対するセグメントは1つのみである。各セグメントはまた、セグメントがどのシーンに属するかを識別することが可能になる情報も含むべきである。例えば、各セグメントはセグメントが属するシーンを識別するシーン識別タグを含みうる。本発明の一実施形態では、各セグメントはまた、セグメントの定義された期間においてロボットの動きを実行するための命令を含むロボットプログラムコードも含む。例えば、各セグメントは、ロボットコードを含むサブルーチンと、サブルーチンをコールするための一意な名前を含む。各セグメントに一意な名前が割り当てられていることが好ましい。
本発明によるシステムの一実施形態は、セグメント作成モジュール2bによって作成されたセグメントを保存するためのセグメント記憶装置3、保存されたセグメントに基づいて複数のシーンを作成するように構成されたシーンハンドラー4、シーンを保存するためのシーン記憶装置5、シーンのシーケンスを含むプレイリストを作成するように構成されたプレイリストハンドラー6、プレイリストを保存するためのプレイリスト記憶装置7、及びシーンのシーケンスを修正することによってユーザがプレイリストを修正することを可能にするために、ユーザにプレイリストを表示し、修正に関するユーザコマンドを受信するように構成されたユーザインターフェース8を含む。本システムは、コンピュータ上で実行するのに好適である。セグメント記憶装置3、シーン記憶装置5、及びプレイリスト記憶装置7は、例えば従来コンピュータで使用されるRAM、ROM、及びPROM等のいかなる種類のメモリであってもよい。これらを個別のデータ記憶装置、又は共通メモリの一部として実装することができる。シーンハンドラー4及びプレイリストハンドラー6は、データプロセッサ手段、例えば中央処理ユニット(CPU)等を含むコンピュータ上で実行されるソフトウェアモジュールとして実装可能である。本システムは個別のコンピュータを含むことができる、あるいはセグメント作成モジュール2b及びロボットアニメーションモジュール2と同じコンピュータを使用することができる。ユーザインターフェース8は例えば、ディスプレイスクリーン、及び例えばキーパッド、データマウス、又はタッチスクリーン等の従来の任意のユーザ入力手段によって実装することができる。
シーンハンドラー4は、セグメントを複数のシーンにグループ化するように構成されている。一シーンは、ロボットによって同時に実行されるべき全てのセグメントを含む。このため、各シーンのセグメントの数は、ショーで演じているロボットの数と同じである。例えば、シーンハンドラー4はセグメントのシーン識別タグを使用して、どのセグメントがどのシーンに属するかを決定する。各シーンに対し、どのセグメントがそのシーンに属するかが決定される。シーンハンドラー4は、そのシーンをシーン記憶装置5に保存する。保存された各シーンは、どのセグメントがそのシーンに属するかの情報を含む。シーンは、セグメント自体を含みうる、あるいは、セグメント記憶装置のセグメントへのリンク/アドレスを含みうる。
一実施形態では、シーン記憶装置5は、シーンを表す複数のアレイを含み、以下においてシーンアレイと称する。各シーンアレイは1つのシーンに対応し、セグメント記憶装置においてシーンに属するセグメントを指し示す複数の索引を含む。例えば、シーンアレイは、第1のインデックスがシーンのインデックス、例えばシーン識別タグであり、第2のインデックスがセグメントのインデックスである二次元アレイである。各シーンアレイのセグメントのインデックスの数は、ショーにおけるロボットの数と同じである。
プレイリストハンドラー6は、シーンのシーケンスを含むプレイリストを作成し保存するように構成されている。シーン識別タグは、シーンの順番の情報を含むことが適切である。例えば、シーン情報タグは、シーンの順番を識別する数を含む。一実施形態では、プレイリストハンドラー6はシーン記憶装置5からシーンについての情報を読み出して、シーン識別タグに基づいてシーンのシーケンスを含むデフォルトのプレイリストを作成する。プレイリストについての情報は、プレイリスト記憶装置7に保存される。一実施形態では、プレイリストは、シーン記憶装置5のシーンに対応するシーンアレイを指し示す複数のインデックスを含むアレイである。以下において、アレイはプレイリストアレイと称される。
図2に、プレイリスト、シーン、及びセグメントを保存するための構造の一例を示す。セグメント13は、セグメント記憶装置3に保存される。シーンは、複数のシーンアレイ12を含むシーン記憶装置5に保存される。シーンアレイ12の数は、保存されたシーンの数と同じである。各シーンアレイ12は、セグメント記憶装置3においてシーンに属するセグメント13を指し示す複数のインデックス15を含む。各シーンアレイ12のインデックス15の数は、ショーにおけるロボットの数と同じである。図2に示す例において、ロボットの数は6であり、従って各シーンアレイ12はセグメント記憶装置3において6つのセグメントを指し示す。プレイリストは、プレイリストにおいてシーンに対応するシーンアレイ12を指し示す複数のインデックス14からなる少なくとも1つのプレイリストアレイ10を含むプレイリスト記憶装置7に保存される。プレイリストの記憶装置は、異なるプレイリストに対応する複数のプレイリストアレイを含みうる。この構造は、プレイリストの修正を簡略化して、データとプログラムコードの各ロボットへの読み込みを促進するため有利である。しかしながら、プレイリスト、シーン及びセグメントを記憶するための他の構造を使用することが可能である。一実施形態では、セグメントをシーンと共に共通の記憶装置に保存することができる。
プレイリストハンドラー6は、ユーザインターフェース8上にプレイリストを表示するように構成されている。ユーザインターフェースはプレイリストを表示して、ユーザのプレイリストの編集を可能にするように設計されている。ユーザは、ユーザインターフェース上に表示されたプレイリストを編集する、例えば、シーンの順番を変更する、シーンを削除する、プレイリストに新たなシーンを追加することができる。しかしながら、ユーザは個別のセグメントを修正することはできない。ユーザインターフェース8は、プレイリストの修正に関するユーザからの入力に基づいて、コマンドを生成し、コマンドをプレイリストハンドラー6へ送るように構成されている。プレイリストハンドラー6は、ユーザによって発行されたプレイリストの修正に関するユーザインターフェース8からのコマンドを受信し、そのコマンドに基づいてプレイリストを修正するように構成されている。修正されたプレイリストは、ユーザインターフェース8上に表示される。プレイリストハンドラー6は、ユーザが表示し編集すべき保存されたプレイリストのいずれかを選択することが可能になるように、2以上のプレイリストを保存するように構成されている。
しかしながら、ロボットがあるシーンの特定位置へ移動した場合、次のシーンで実施できるロボットの動きが制限される。例えば、ロボットがあるシーンの特定位置に移動した場合、次のシーンの動きは、前のシーンの最後の位置の近くで開始しなければならない。ロボットのいずれかの軸に対する角度位置が、あるシーンの終了位置と次のシーンの開始位置との間で違いすぎる場合、あるシーンから次のシーンまでロボットを移動させるのは不可能でありうる。従って、あるシーンのロボットの軸の位置により、次のシーンでロボットの軸を移動させることができる位置に制限が課される。本発明の一実施形態では、プレイリストハンドラー6は、修正が実行される場目に修正を認証するように構成されている。プレイリストのシーンシーケンスの修正に関するコマンドを受信すると、プレイリストハンドラー6は、各ロボットについて、プレイリストの修正部分の隣接するシーンのセグメントに含まれる少なくとも幾つかの位置を比較して、比較結果に基づいて修正を認証するように構成されている。例えば、プレイリストハンドラーは、プレイリストの修正部分の隣接するシーンの同じロボットに属するセグメントの開始位置及び終了位置を比較して、隣接するシーンのいずれかのセグメントの開始位置と終了位置との差が限界値を超えた場合に、修正を拒否するように構成されている。例えば、認証を合格するためには、前のセグメントの最後のジョイント値が、次に続くセグメントの最初のジョイント値と等しい、又は非常に近いものでなければならない。
例えば、あるシーンをプレイリストから除去すべきである場合、プレイリストハンドラーは、各ロボットについて、前のシーンのセグメントの終了位置を、新たなシーンのシーケンスにおける次のシーンのセグメントの開始位置と比較する。プレイリストハンドラーは、全てのロボットについて、隣接するシーンのセグメントの開始位置と終了位置との差が限界値未満である場合に、修正を許可する。プレイリストハンドラーは、いずれかのロボットの新たなシーンシーケンスにおける隣接するシーンの開始位置と終了位置との差が限界値を超えた場合、修正を拒否する。位置がロボットの軸に対してジョイント角である場合、各ロボットについて、前のシーンのセグメントの終了ジョイント角が、次のシーンのセグメントの対応する開始ジョイント角と比較される。
任意選択的に、プレイリストハンドラーは、プレイリスト、保存されたシーン及びセグメントに基づいてロボットの動きをシミュレーションするように構成されたシミュレーションユニットを含むことができ、プレイリストハンドラーは、このシミュレーションに基づいてプレイリストを認証するように構成されている。ユーザがプレイリストを編集し終わると、プレイリストハンドラーは、最終ステップとして、プレイリストによって決定された順番にシーンをシミュレーションし、ロボット間にコリジョンがないことをチェックする。プレイリストハンドラーが、いかなるロボット間のコリジョンを検出した場合、ユーザに警告が表示される。
ユーザがプレイリストを編集し終わり、プレイリストが認証され、コリジョンが見つかれなければ、ロボットのロボットプログラムが生成されるべきである。
図3に、本発明の一実施形態による、ショーを強調的に演じている複数のロボットのメインプログラムを生成するためのシステムのブロックスキームを示す。この実施形態では、各セグメントは、定義された期間においてロボットの定義された動きを実行するためのプログラムコードを含む。各セグメントのロボットコードは、メインプログラムからコールされるべき名前を有するサブルーチンを含む。サブルーチンは、セグメントに対して定義された動き、すなわちアニメーションソフトウェアによってセグメントに対して定義される動きを演じさせるために、ロボットに命令するためのプログラム命令を含む。本システムは、プレイリスト、保存されたシーン及びセグメントに基づいて、各ロボットのメインプログラムを生成するように構成されているプログラムジェネレータ20を備える。この実施形態では、各ロボットは、ロボットのメインプログラムを実行するためのハードウェア及びソフトウェアを含むロボットコントローラ22を有する。ロボットコントローラは、図3においてRC1〜RCnとして図示されている。ユーザインターフェースは、ユーザが、選択されたプレイリストに基づいてメインプログラムの生成を指図し、またメインプログラムをそれぞれのロボットコントローラへ読み込むように指図することができるように構成されている。
プログラムジェネレータ20は、各ロボット用のメインプログラムを生成するように構成されている。各メインプログラムは、メインプログラムの実行中にコールされるべきサブルーチン名のシーケンスを含む。サブルーチン名のシーケンスは、プレイリストのシーンのシーケンスによって決定される。例えば、ロボットのメインプログラムの生成は、プレイリストの各シーンに対して、ロボットに対応するセグメントのサブルーチン名を検索することによって実行される。プログラムジェネレータ20はまた、ロボットに属する全てのセグメントを含む各ロボットのセグメントファイル、又は少なくともセグメントからの情報を生成するようにも構成される。セグメントファイルは、ロボットとプログラムコードの位置を含む。本システムは、各ロボットが、そのロボットに属するメインプログラムとセグメントを受信するように、それぞれのロボットコントローラへ、メインプログラムと、セグメントを含むセグメントファイルを自動的に分配するように適合されている。この実施形態により、プレイリストが更に修正しやすくなる。セグメントファイルの読み込みは、ファイルのサイズが大きいため、時間がかかる。この実施形態では、セグメントファイルの読み込みが1回だけで済む。ユーザがプレイリストを修正した場合、メインプログラムのみ、そして任意選択的に新たに追加されたセグメントをロボットコントローラに再読み込みするだけでよい。
プレイリストがロボットにコミットされる前に、互換性チェックを行うことができる。プレイリストに互換性がない場合、ダウンロードが停止する。この機能は、セグメントが互いに互換性があるか、例えば前のセグメントの最後のジョイント値が次のセグメントの最初の接合値と等しいかの互換性チェックを行う。プレイリストに互換性がない場合、以下のメッセージボックス:「プレイリストのセグメントは互換性がありません」が現れ得る。セグメントがOKの場合、以下のダイアログ:「プレイリストはOKです」が示される。
図4に、ディスプレイ32を保持し、ショーを協調的に演じているディスプレイハンドリングロボットの一例を示す。
以下に、本発明によるシステム及び方法の一例を更に詳しく説明する。システムの基本概念は、ロボットコントローラに送られるシーンのプレイリストを作成することである。各シーンはセグメントを含む。セグメントは、Mayaの「ロボットアニメータ」アドインを起点とする。このアドインは、ロボットコード、例えばRAPIDモジュールで書かれたモジュールを生成し、このモジュールは特定のセグメントに対する移動を含む。この移動は、各セグメントの移動は特定の時間に実行されるべきであるため、時間係数を用いて絶対ジョイント移動に離散化される。
これらはプレイリストハンドラーの基礎である:
1つの「プレイリスト」がコントローラにダウンロードされる。
「プレイリスト」は1−N「シーン」を含む。
「シーン」は、1−M「セグメント」を含み、Mはロボットの数である。
「セグメント」は、
− ディスク上のRAPIDモジュールへの絶対経路、
− RAPIDサブルーチンのコール名(コントローラで実行されるべきサブルーチン)、及び
− セグメント時間、すなわちセグメントに含まれる動きの継続時間
を含む。
シーンごとに1つのロボットに対し、セグメントは1つのみである。
ユーザインターフェースのボタンをクリックすることによって、プレイリスト、シーン、及びセグメントを編集することが可能なダイアログが示される。ユーザは新たなプレイリストを作成して、既存のプレイリストを修正することができる。「プレイリスト」を選択することによって、含まれているシーンが示される。「シーン」を選択することによって、シーンのセグメントが示される。プレイリストの情報は、Playlist han−dler.exeと同じフォルダに位置するPlaylist handlerLibrary.xmlファイルに保存される。シーンは幾つかのプレイリストに使用可能である。セグメントは幾つかのシーンに使用可能である。ユーザはプレイリストを追加し、また削除することができる。プレイリストのシーンを編集することができる;新たなシーンを追加することができ、ライブラリから既存のシーンを追加することができ、プレイリストからシーンを削除することができ、シーンの順番を変更することができる。ユーザは、すでに定義されたシーンのライブラリから選ぶことができる。選択されたシーンのセグメントを編集することができる;新たなセグメントを追加することができ、ライブラリから既存のセグメントを追加することができ、プレイリストからセグメントを削除することができ、セグメントの順番を変更することができる。
ユーザが「セグメントの追加」をクローズした後、アプリケーションは、セグメントが互いに互換性があるかの互換性チェックを行い、もしない場合には以下のメッセージボックス:「前のセグメントと、このセグメントではジョイント値が違いすぎるため、セグメントを追加できません」
が現れる。
ライブラリの利用可能なプレイリストが全て示され、ユーザはプレイリストを選択することによってどのプレイリストをロボットコントローラにダウンロードすべきかを選択する。これにより、選択されたプレイリストがロボットコントローラにダウンロードされ、既存のプレイリストが上書きされる。プレイリストをダウンロードする前に、プレイリストをシミュレーションし、プレイリストによりいかなる衝突又エラーも生じないようにすることが望ましい。
ユーザがプレイリストを作成し、それをロボットコントローラにコミットした後で、情報が以下に「DataModule」と称されるRAPIDプログラムモジュールにおいてRAPID変数に書きこまれ、セグメントモジュールが各ロボットコントローラに読み込まれる。オペレータがその後、ショーの次のシーンを実行すると、メインモジュールは「DataModule」のアレイをトラバースして、アレイインデックスに存在するサブルーチン名を呼び出す。
プレイリストハンドラーは、プレイリスト記憶装置のファイルに対して作用する。このファイルは、全てのプレイリスト、シーン及びセグメントの記述を含み、新たなプレイリスト構成において使用されるべき既存のアイテムのライブラリとして使用される。ユーザがコントローラにダウンロードされるべきプレイリストを選択すると、プレイリストについての情報がこの記憶装置から読み出される。
「DataModule」ファイルは、プレイリスト情報を含み、このファイルは、新たなプレイリストがコントローラにコミットされた時にプレイリストハンドラーによってアップデートされる。ファイルは、オペレータに正確な情報を表示するために、オペレータインターフェースによって読み取られる。
プレイリストアレイはシーンを含み、シーンアレイは、そのシーンの第1のインデックスがシーンインデックスであり、第2のインデックスがセグメントインデックスである二次元アレイである。各セグメントに対するロボットの実行時間を含むセグメントタイムアレイも存在する。セグメントタイムアレイは、シーンアレイと同じサイズを有する。
以下のシーケンスは、ユーザが新たなプレイリストをコミットした時に使用される。
1.プレイリストハンドラーは、様々な「NumberOfScenes」を設定する。
2.プレイリストハンドラーは、各コンポーネントに「ヌル」を設定することによってプレイリストをクリアする。次に、シーンの名前がアレイに追加される。2つのシーン(S1及びS2と呼ばれる)がある場合、プレイリストアレイは以下のコンポーネントを有することになる。[“S1”,“S2”,“NULL”,“NULL”,….]
3.プレイリストハンドラーは、各コンポーネントに「NULL」を設定することによってシーンをクリアする。次に、シーンのセグメント名がアレイに追加される。2つのシーン(第1のシーンがセグメントSeg1及びSeg2を有し、次のシーンがセグメントSeg3及びSeg4を有する)がある場合、シーンのシーンアレイは以下のコンポーネントを有することになる。[“Seg1”,“Seg2”,“NULL”,“NULL”,….],[“Seg3”,“Seg4”,“NULL”,“NULL”,….],[“NULL”,“NULL”,….],[“NULL”,“NULL”,….],…
4.プレイリストハンドラーは、「SegmentTimes」の全てのコンポーネントを最初−1に設定し、その後コンポーネントを正確な時間にアップデートする。Seg1が19sであり、Seg2が5.7であり、Seg3が130.7sであり、Seg4が4.6sである上記と同じ例の結果は以下のアレイである。[19,5.7,−1,−1,….],[130.7,4.6,−1,−1,….],[−1,−1,….],[−1,−1,….],…
以下は、上記の例の「DataModule」ファイルの一例である。
Figure 0006144845
メインモジュールはアレイ全体をスキャンし、セグメントの呼び出しにおいて各サブルーチンを実行し、以下はメインモジュールの一例である。
Figure 0006144845
図5に、本発明の一実施形態によるショーを協調的に演じている複数のロボットの動きを編集し認証するための方法のフロー図を示す。フロー図の各ブロックを、コンピュータプログラムの命令によって実行することができることが理解されるだろう。
本方法は、アニメーションソフトによって定義されるロボットの動きを表す複数のセグメントを取得することであって、各セグメントが、定義された期間の間にロボットの内の1つの動きの記述を含む、取得することを含む(ブロック40)。複数のセグメントは、モーション作成モジュール1からセグメントを受信する又は読み出すことによって取得することができる。セグメントはセグメント記憶装置に保存される。セグメントは、セグメントがどのシーンに属するか、またセグメントがどのロボットに属するかの情報を含む。例えば、セグメントの名前は、セグメントがどのシーンに属するかを含む、又は各セグメントは、セグメントがどのシーンに属するかの情報を含むシーン識別タグを含む。例えば、セグメントの名前は、セグメントがどのロボットに属するかを含む、又は各セグメントは、セグメントがどのロボットに属するかの情報を含むロボット識別タグを含む。複数のシーンは、保存されたセグメントに基づいて取得される(ブロック42)。複数のシーンは、モーション作成モジュールからシーンを受信する又は読み出すことによって、あるいは、シーンハンドラー4を用いて保存されたセグメントに基づいてシーンを作成することによって取得することができる。各シーンは、ロボットによって同時に実行されるべき複数のセグメントを含む。シーンについての情報は例えば、前述したようにシーン記憶装置に保存される。
シーンのシーケンスを含むプレイリストが取得される(ブロック44)。プレイリストは、システムによってデフォルトのプレイリストとして、あるいはユーザによって作成されうる。ユーザは、シーンを選択して、これらのシーンをシーンのシーケンスに追加することによって新たなプレイリストを作成することができる。プレイリストがユーザインターフェース上に表示され(ブロック46)、ユーザは、シーンのシーケンスを修正することによってプレイリストを編集することが可能になる(ブロック48)。ユーザはプレイリストの編集中にユーザインターフェースとやり取りすることにより、プレイリストの修正に関するコマンドを生成する。システムは、修正に関するユーザコマンドを受信する。
プレイリストを修正する前に、修正が有効であるかがチェックされる(ブロック50)。修正は、プレイリストの修正部分のシーンに含まれるセグメントのロボットの動きの記述に基づいて認証される。修正は、認証結果に基づいて許可される、あるいは拒否される。これは例えば、前のセグメントの最後の位置値を、プレイリストの修正部分の次に続くセグメントの最初の位置値と比較して、最後の位置値と最初の位置値が等しい、又はその差が限界値よりも小さい場合に修正を許可することによって行われる。修正が有効である場合、ユーザコマンドに基づいてプレイリストが修正される。最後の位置値と最初の位置値との差が限界値よりも大きい場合、修正は有効ではない。修正が有効ではないことが分かった場合、修正は許可されず、ユーザはこれに応じて通知される。認証ステップ52〜54はオプションである。例えば、全てのセグメントが同じ開始位置及び終了位置を有するようにセグメントが作成された場合、認証チェックは不必要である。ユーザは、満足のいくプレイリストができるまで、繰り返しプレイリストを編集できる。修正されたプレイリストは、プレイリスト記憶装置、例えば前述したプレイリスト記憶装置7に保存される。
ユーザがプレイリストの編集を終了すると、ユーザにはプレイリストに定義されるロボットの動きをシミュレーションすることを選択するオプションがある。あるいは、シミュレーションはオプションではない。プレイリスト、保存されたシーン、及びセグメントに基づいてロボットの動きのシミュレーションが行われる(ブロック56)。プレイリストは、そのシミュレーションに基づいて認証される(ブロック58)。その後、ロボットの動きが衝突するか否かを決定することが可能である。例えば、シミュレーションされたロボットの動きがユーザインターフェース上に表示され、ユーザはロボットの動きが衝突するか否かを視覚的に決定することができる。あるいは、システムがロボットの動きにコリジョンがあるか否かを決定して、ユーザはそれに応じて通知される。別の実施形態では、シミュレーションステップは省略される。
図6に、本発明の一実施形態によるショーを協調的に演じている複数のロボットのメインプログラムを生成するための方法のフロー図を示す。ユーザがプレイリストの編集を終了し、プレイリストが認証すると、ユーザはシステムにロボットのメインプログラムの生成を開始するように要求することができる。各ロボットのメインプログラムは、プレイリスト、保存されたシーン及び保存されたセグメントに基づいて生成される。各セグメントは、定義された期間の間にロボットの動きを実行するためのプログラムコードからなるサブルーチンを含む。各サブルーチンはサブルーチン名を有する。プレイリストが読み出される(ブロック60)。メインプログラムは、プレイリストの各シーンについて、ロボットに属するセグメントのサブルーチン名を読み出すことによって生成される(ブロック62、64)。各メインプログラムは、ロボットに属するセグメントに含まれるサブルーチンを呼び出すシーケンスを含み、サブルーチンを呼び出す順番はプレイリストのシーンの順番によって決定される。各ロボットについて、セグメントファイルも生成される(ブロック66)。セグメントファイルは、ロボットに属するセグメント、又は少なくともロボットに属するセグメントから情報を含む。少なくとも、セグメントファイルは、ロボットの位置と、セグメントのプログラムコードを含む。
メインプログラムとセグメントファイルが生成されると、ユーザは選択されたロボットコントローラへのメインプログラム及びセグメントファイルの自動的な分配を指図することができる。ユーザからの発令を受信すると、メインプログラム及びセグメントファイルがそれぞれのロボットコントローラに読み込まれる(ブロック68)。このため、各ロボットは、そのロボットに属するセグメントから関連するメインプログラム及び情報を受信する。シーンは、いかなるオペレータの入力、例えば時間、I/O、イベント又はその他のトリガ等もなしに、他の操作によって開始することができる。
本発明は開示された実施形態に限定されず、以下の特許請求の範囲内で変更及び修正することが可能である。例えば、シーンハンドラー4は、モーション生成モジュール1に含まれうる。次にモーション生成モジュール1は、完成したシーンを直接出力する。

Claims (12)

  1. ショーを協調的に演じている複数の実際のロボットの動きを定義するプレイリストを作成し修正するためのシステムであって、
    − 前記ショーの間の前記ロボットの動きを記述し且つ各セグメントが定義された期間における前記ロボットの内の1つのロボットの動きの記述であって、前記ロボットの位置を含む記述を含む複数のセグメントを保存するため、及び各シーンが前記ロボットによって同時に実行されるべき複数のセグメントを指定する複数のシーンを保存するための少なくとも1つの記憶装置(3、5)と、
    − シーンのシーケンスを含むプレイリストの作成を処理し、ユーザコマンドに従って前記プレイリストを修正するように構成されたプレイリストハンドラー(6)と、
    − ユーザが前記シーンのシーケンスを修正することによって前記プレイリストを編集することができるようにするために、前記ユーザに前記プレイリストを表示し、前記ユーザコマンドを受信するように構成されたユーザインターフェース(8)とを備え、
    前記プレイリストハンドラー(6)は、前記シーンのシーケンスの一部の修正に関するユーザコマンドを受信して、前記プレイリストの前記修正された部分の前記シーンに含まれる前記セグメントの前記ロボットの動きの前記記述に基づいて前記修正を認証し、前記認証の結果に基づいて前記修正を許可する又は拒否するように構成され、前記プレイリストの前記修正された部分に隣接するシーンで同じロボットに属する位置と比較し、前記比較の結果に基づいて前記修正を認証するように構成されていることを特徴とする、システム。
  2. 各セグメントが前記ロボットの開始位置と終了位置を含み、前記プレイリストハンドラー(6)は、前記プレイリストの前記修正された部分に隣接するシーンで同じロボットに属するセグメントの開始位置と終了位置とを比較することによって、修正を認証し、隣接するシーンの任意のセグメントの開始位置と終了位置との間の差が限界値を超えた場合に、前記修正を拒否するように構成されている、請求項1に記載のシステム。
  3. 前記保存されたセグメントに基づいて複数のシーンを作成し、前記記憶装置(5)に前記シーンを保存するように構成されたシーンハンドラー(4)を備える、請求項1又は2に記載のシステム。
  4. 前記セグメントの内の各セグメントは、前記セグメントがどのシーンに属するかの情報を含み、前記シーンハンドラー(4)は、前記セグメントがどのシーンに属するかの情報に基づいて前記セグメントを複数のシーンにグループ化するように構成されている、請求項3に記載のシステム。
  5. 前記セグメントの各セグメントは、前記セグメントがどのロボットに属するかの情報を含むロボット識別タグを含み、前記プレイリストハンドラー(6)は、前記ロボット識別タグに基づいてセグメントがどのロボットに属するかを決定するように構成されている、請求項1から4のいずれか一項に記載のシステム。
  6. 前記プレイリストハンドラー(6)は、前記プレイリスト、前記保存されたシーン、及び前記セグメントに基づいて前記ロボットの動きをシミュレーションし、前記シミュレーションに基づいて前記プレイリストを認証するように構成されている、請求項1から5のいずれか一項に記載のシステム。
  7. 各セグメントは更に、前記定義された期間の間に前記ロボットの動きを実行するためのプログラムコードを含み、前記システムは更に、前記プレイリスト、前記保存されたシーン、及び前記保存されたセグメントに基づいて前記ロボットの内の各ロボットのためのメインプログラムを生成するように構成されているプログラムジェネレータ(20)を備える、請求項1から6のいずれか一項に記載のシステム。
  8. 各セグメントは、前記ロボットコードを含み且つメインプログラムによってコールされるべきサブルーチン名を有するサブルーチンを含み、前記プログラムジェネレータ(20)は、前記プレイリストに基づいて前記サブルーチンへのコールのシーケンスを含む前記ロボットの各ロボットのためのメインプログラムを生成するように構成されている、請求項7に記載のシステム。
  9. ショーを協調的に演じている複数の実際のロボットの動きを定義するプレイリストを作成し修正するための方法であって、
    − 前記ショーの間の前記ロボットの動きを記述し、各セグメントが定義された期間の間の前記ロボットの内の1つのロボットの前記動きの記述であって、前記ロボットの複数の位置を含む記述を含む複数のセグメントを取得して保存する(40)ことと、
    − 各シーンが、前記ロボットによって同時に実行されるべき前記複数のセグメントを含む複数のシーンを取得する(42)ことと、
    − 前記シーンのシーケンスを含むプレイリストを作成する(44)こととを含み、
    前記方法は更に、
    − ユーザに前記プレイリストを表示し、前記シーンのシーケンスを修正することによって、前記ユーザが前記プレイリストを編集することを可能にする(46)ことと、
    − 前記シーンのシーケンスの一部の修正に関するユーザコマンドを受信する(48)ことと、
    − 前記プレイリストの前記修正された部分に隣接するシーンで同じロボットに属する前記位置の内の少なくとも幾つかを比較することと、
    − 前記比較の結果に基づいて前記修正を認証することと
    − 前記認証の結果に基づいて前記修正を許可する又は拒否することと、
    − 前記修正が許可された場合に、前記ユーザコマンドに基づいて前記プレイリストを修正する(54)ことと、
    − 前記修正されたプレイリストを保存することと
    を含むことを特徴とする方法。
  10. 各セグメントは、前記ロボットの開始位置と終了位置を含み、前記方法は、前記プレイリストの前記修正された部分に隣接するシーンで同じロボットに属するセグメントの開始位置と終了位置とを比較することと、前記隣接するシーンの任意のセグメントの前記開始位置と終了位置との間の差が限界値を超えた場合に、前記修正を拒否することとを含む、請求項9に記載の方法。
  11. 前記セグメントがどのシーンに属するかの情報を各セグメントが含む前記複数のセグメントを受信することと、前記セグメントがどのシーンに属するかの情報に基づいて前記シーンを作成することと、前記シーンを保存することとを含む、請求項9又は10に記載の方法。
  12. 各セグメントは更に、前記定義された期間の間に前記ロボットの動きを実行するためのプログラムコードを含み、前記方法は更に、前記プレイリスト、前記保存されたシーン及び前記保存されたセグメントに基づいて前記ロボットの内の各ロボットのためのメインプログラムを生成する(64)ことを含む、請求項9から11のいずれか一項に記載の方法。
JP2016549576A 2014-02-05 2014-02-05 ショーを協調的に演じている複数のロボットの動きを定義するためのシステム及び方法 Active JP6144845B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2014/052180 WO2015117641A1 (en) 2014-02-05 2014-02-05 A system and method for defining motions of a plurality of robots cooperatively performing a show

Publications (2)

Publication Number Publication Date
JP2017505239A JP2017505239A (ja) 2017-02-16
JP6144845B2 true JP6144845B2 (ja) 2017-06-07

Family

ID=50137619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016549576A Active JP6144845B2 (ja) 2014-02-05 2014-02-05 ショーを協調的に演じている複数のロボットの動きを定義するためのシステム及び方法

Country Status (5)

Country Link
US (1) US9604361B2 (ja)
EP (1) EP3102366B1 (ja)
JP (1) JP6144845B2 (ja)
CN (1) CN105916637B (ja)
WO (1) WO2015117641A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9794533B2 (en) 2006-01-31 2017-10-17 Andrew Flessas Robotically controlled entertainment elements
US11284048B2 (en) 2006-01-31 2022-03-22 Andrew Flessas Robotically controlled display
JP6323356B2 (ja) * 2015-02-03 2018-05-16 株式会社安川電機 処理システム、監視方法及びコンピュータプログラム
DE102015116086A1 (de) * 2015-09-23 2017-03-23 Universität Bayreuth Robotersteuerung
CN106363628A (zh) * 2016-10-14 2017-02-01 广州励丰文化科技股份有限公司 一种多轨道与本地媒体相结合的机械臂控制台及方法
CN106335046A (zh) * 2016-10-14 2017-01-18 广州励丰文化科技股份有限公司 一种超声波测距与本地媒体结合的机械臂控制台及方法
CN106335043A (zh) * 2016-10-14 2017-01-18 广州励丰文化科技股份有限公司 一种基于人体红外热成像检测的机械臂控制台及方法
CN106378779B (zh) * 2016-10-14 2018-07-20 广州励丰文化科技股份有限公司 多轨道幕场模式与远程媒体结合的机械臂控制台及方法
CN106363602B (zh) * 2016-10-14 2018-07-20 广州励丰文化科技股份有限公司 人体红外热成像与本地媒体结合的机械臂控制台及方法
CN106553194B (zh) * 2016-10-14 2018-10-16 广州励丰文化科技股份有限公司 一种本地媒体与压力感应结合的机械臂控制台及方法
CN106363627B (zh) * 2016-10-14 2018-07-20 广州励丰文化科技股份有限公司 一种基于压力感应的机械臂控制台及方法
CN106354085B (zh) * 2016-10-14 2019-01-11 广州励丰文化科技股份有限公司 一种压力感应与远程媒体相结合的机械臂控制台及方法
CN106363629A (zh) * 2016-10-14 2017-02-01 广州励丰文化科技股份有限公司 多轨道幕场模式与本地媒体结合的机械臂控制台及方法
CN106335060A (zh) * 2016-10-14 2017-01-18 广州励丰文化科技股份有限公司 多轨道全时模式与远程媒体结合的机械臂控制台及方法
CN106695786B (zh) * 2016-12-12 2020-03-31 北京光年无限科技有限公司 一种用于智能机器人分工协作方法以及机器人
JP6457478B2 (ja) * 2016-12-27 2019-01-23 ファナック株式会社 産業用ロボット制御装置
JP7087316B2 (ja) * 2017-09-27 2022-06-21 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
JP6986992B2 (ja) * 2018-02-16 2021-12-22 シャープ株式会社 表示装置、コンテンツ配信装置、コンテンツ配信システム、コンテンツ配信方法およびコンテンツ配信プログラム
CN109483546A (zh) * 2018-12-09 2019-03-19 西安航天精密机电研究所 可移植的机器人运动控制算法库及其创建使用方法
CN109605388A (zh) * 2018-12-27 2019-04-12 南京熊猫电子股份有限公司 一种基于服务机器人舞台任务的远程控制方法
JP6717401B1 (ja) * 2019-04-01 2020-07-01 株式会社安川電機 プログラミング支援装置、ロボットシステム及びプログラミング支援方法
WO2021040714A1 (en) 2019-08-29 2021-03-04 Flessas Andrew Method and system for moving cameras using robotic mounts
JP2021180461A (ja) * 2020-05-15 2021-11-18 Run.Edge株式会社 動画再生装置および動画再生方法
US11425308B2 (en) 2020-12-02 2022-08-23 Andrew Flessas Robotically movable display synchronously movable with robotically movable camera for displaying captured images in identical orientation
CN114793370B (zh) * 2022-02-17 2023-05-09 深圳市星昇科技有限公司 一种玩具设备的控制方法、设备及存储介质
CN117492407A (zh) * 2024-01-02 2024-02-02 江苏博人文化科技有限公司 一种表演机器人模型控制系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3668289B2 (ja) * 1995-05-22 2005-07-06 リコーエレメックス株式会社 ロボットの動作教示システム
US6879862B2 (en) * 2000-02-28 2005-04-12 Roy-G-Biv Corporation Selection and control of motion data
KR20010101883A (ko) * 1999-11-30 2001-11-15 이데이 노부유끼 로봇 장치와 그 제어 방법, 및 로봇 장치의 성격 판별 방법
US6292714B1 (en) * 2000-05-12 2001-09-18 Fujitsu Limited Robot cooperation device, and robot cooperation program storage medium
JP2001353678A (ja) * 2000-06-12 2001-12-25 Sony Corp オーサリング・システム及びオーサリング方法、並びに記憶媒体
JP4765155B2 (ja) * 2000-09-28 2011-09-07 ソニー株式会社 オーサリング・システム及びオーサリング方法、並びに記憶媒体
JP3614824B2 (ja) * 2002-03-18 2005-01-26 ソニー株式会社 脚式移動ロボットのための動作編集装置及び動作編集方法
JP4592276B2 (ja) 2003-10-24 2010-12-01 ソニー株式会社 ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム
JP4671628B2 (ja) * 2004-06-16 2011-04-20 ソニー株式会社 ロボット装置の制御システム及び制御方法
US7626569B2 (en) 2004-10-25 2009-12-01 Graphics Properties Holdings, Inc. Movable audio/video communication interface system
US8356704B2 (en) 2006-01-31 2013-01-22 Andrew Flessas Robotically controlled entertainment elements
US20080082214A1 (en) 2006-10-03 2008-04-03 Sabrina Haskell Method for animating a robot
JP2008254074A (ja) * 2007-03-30 2008-10-23 Sega Corp ロボットのモーション編集装置及びそのプログラム
FR2946160B1 (fr) * 2009-05-26 2014-05-09 Aldebaran Robotics Systeme et procede pour editer et commander des comportements d'un robot mobile.
KR20120139897A (ko) 2011-06-20 2012-12-28 삼성전자주식회사 멀티미디어 컨텐츠 재생 방법 및 장치
CN104054023B (zh) 2011-11-16 2017-11-17 欧特法斯公司 用于与机器人控制的物体映射的3d投影的系统和方法

Also Published As

Publication number Publication date
CN105916637A (zh) 2016-08-31
EP3102366B1 (en) 2018-06-27
US20160311112A1 (en) 2016-10-27
JP2017505239A (ja) 2017-02-16
CN105916637B (zh) 2017-09-19
WO2015117641A1 (en) 2015-08-13
US9604361B2 (en) 2017-03-28
EP3102366A1 (en) 2016-12-14

Similar Documents

Publication Publication Date Title
JP6144845B2 (ja) ショーを協調的に演じている複数のロボットの動きを定義するためのシステム及び方法
CN106142091B (zh) 信息处理方法和信息处理装置
JP4312249B2 (ja) アニメーションデータから3dアニメーションを作成する方法
US9892529B2 (en) Constraint evaluation in directed acyclic graphs
Lamberti et al. Virtual character animation based on affordable motion capture and reconfigurable tangible interfaces
KR101819323B1 (ko) 모사학습 및 행동 조합에 기반한 로봇의 작업 행동궤적 생성 방법 및 그 장치
US20060085088A1 (en) Process animation automatic generation method and system
CN111553967A (zh) 一种基于Unity的动画资源文件制作方法、模块及存储介质
CN109710357A (zh) 一种基于Unity3D引擎实现服务器操作的方法及系统
Satheesh Unreal Engine 4 Game Development Essentials
Singh et al. Game development using unity game engine
US11823587B2 (en) Virtual reality system with inspecting function of assembling and disassembling and inspection method thereof
CN109910004A (zh) 用户交互方法、控制设备及存储介质
CN109807898A (zh) 运动控制方法、控制设备及存储介质
CN110000753A (zh) 用户交互方法、控制设备及存储介质
CN110000775A (zh) 设备管理方法、控制设备及存储介质
US9542747B2 (en) Assembly simulation apparatus and method for wooden structure
CN100361074C (zh) 可视化三维图形控制编程方法
CN114708126A (zh) 基于交互式虚拟环境的建筑施工工艺培训的方法及系统
KR20070049126A (ko) 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템
US20240331261A1 (en) Bakeless keyframe animation solver
US20230173670A1 (en) Information processing apparatus, system, information processing method, method of manufacturing products, and recording medium
JP2012150578A (ja) 用例に基づく効率的なモーションデータベースのスタイリング
CN117547828A (zh) 游戏技能生成方法、终端设备及计算机可读存储介质
CN118401345A (zh) 用于使得能够在关键虚拟时间间隔处检查工业机器人模拟的方法和系统

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20160921

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161222

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161222

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170407

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170511

R150 Certificate of patent or registration of utility model

Ref document number: 6144845

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250