JP2003233502A - 演算処理装置及びオブジェクト間通信の管理方法 - Google Patents
演算処理装置及びオブジェクト間通信の管理方法Info
- Publication number
- JP2003233502A JP2003233502A JP2002324904A JP2002324904A JP2003233502A JP 2003233502 A JP2003233502 A JP 2003233502A JP 2002324904 A JP2002324904 A JP 2002324904A JP 2002324904 A JP2002324904 A JP 2002324904A JP 2003233502 A JP2003233502 A JP 2003233502A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- objects
- information
- data
- connection
- 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.)
- Withdrawn
Links
Landscapes
- Manipulator (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 本発明は、演算処理装置、オブジェクト間通
信の管理方法に関し、例えばペット型のロボットに適用
して、従来に比してオブジェクトの独立性を向上するこ
とができるようにする。 【解決手段】 本発明は、結合関係情報に基づいて、デ
ータ交換可能にオブジェクトを結合する。
信の管理方法に関し、例えばペット型のロボットに適用
して、従来に比してオブジェクトの独立性を向上するこ
とができるようにする。 【解決手段】 本発明は、結合関係情報に基づいて、デ
ータ交換可能にオブジェクトを結合する。
Description
【0001】
【発明の属する技術分野】本発明は、演算処理装置及び
オブジェクト間通信方法の管理方法に関し、例えばペッ
ト型のロボットに適用することができる。本発明は、結
合関係情報に基づいて、データ交換可能にオブジェクト
を結合することにより、従来に比してオブジェクトの独
立性を向上することができるようにする。
オブジェクト間通信方法の管理方法に関し、例えばペッ
ト型のロボットに適用することができる。本発明は、結
合関係情報に基づいて、データ交換可能にオブジェクト
を結合することにより、従来に比してオブジェクトの独
立性を向上することができるようにする。
【0002】
【従来の技術】従来、例えばペット型のロボット等にお
いては、オブジェクト指向によりソフトウエアが構成さ
れるようになされ、オブジェクト間通信により種々のデ
ータを処理して例えば動物に似た仕草等を実行できるよ
うになされている。
いては、オブジェクト指向によりソフトウエアが構成さ
れるようになされ、オブジェクト間通信により種々のデ
ータを処理して例えば動物に似た仕草等を実行できるよ
うになされている。
【0003】
【発明が解決しようとする課題】ところでこの種のペッ
ト型のロボットにおいて、例えば脚等の構成部品を必要
に応じて交換してユーザーの所望する形態に設定するこ
とができれば、この種のペット型のロボットをさらに一
段と身近なものにできると考えられる。
ト型のロボットにおいて、例えば脚等の構成部品を必要
に応じて交換してユーザーの所望する形態に設定するこ
とができれば、この種のペット型のロボットをさらに一
段と身近なものにできると考えられる。
【0004】しかしてこのように脚等の構成部品を必要
に応じて交換してユーザーの所望する形態に設定する場
合、全体の動作を制御するソフトウエアにおいては、オ
ブジェクトを構築し直して、形態の変化に対応するよう
にソフトウエアを変更することが考えられる。
に応じて交換してユーザーの所望する形態に設定する場
合、全体の動作を制御するソフトウエアにおいては、オ
ブジェクトを構築し直して、形態の変化に対応するよう
にソフトウエアを変更することが考えられる。
【0005】しかしながら、従来のオブジェクト指向の
ソフトウエアにおいては、オブジェクト間の明示的な関
係を前提として設計されるようになされていることによ
り、オブジェクト間の依存性が高い。これによりこのよ
うに比較的自由な形態の変化に対応するようにソフトウ
ェアを変更するようにしても、結局、各形態に対応した
専用のソフトウエアの開発が必要となる。
ソフトウエアにおいては、オブジェクト間の明示的な関
係を前提として設計されるようになされていることによ
り、オブジェクト間の依存性が高い。これによりこのよ
うに比較的自由な形態の変化に対応するようにソフトウ
ェアを変更するようにしても、結局、各形態に対応した
専用のソフトウエアの開発が必要となる。
【0006】このようなオブジェクト間の依存性を低減
する1つの方法として、例えばデザインパターン(オブ
ザーバーパターン)による方法によりソフトウエアを開
発することが考えられる(Erich Gamma 他著,オブジェ
クト指向における再利用のためのデザインパターン,pp
313-324 )。すなわちこのデザインパターンによる方法
においては、オブジェクト(Object)をサブジェクト
(Subject )とオブザーバー(Observer)とに分類する
と共に、サブジェクトにオブザーバーを登録することに
より、この登録に基づいてオブジェクト間を接続し、オ
ブザーバーからサブジェクトに各種通知、データを送出
するものである。
する1つの方法として、例えばデザインパターン(オブ
ザーバーパターン)による方法によりソフトウエアを開
発することが考えられる(Erich Gamma 他著,オブジェ
クト指向における再利用のためのデザインパターン,pp
313-324 )。すなわちこのデザインパターンによる方法
においては、オブジェクト(Object)をサブジェクト
(Subject )とオブザーバー(Observer)とに分類する
と共に、サブジェクトにオブザーバーを登録することに
より、この登録に基づいてオブジェクト間を接続し、オ
ブザーバーからサブジェクトに各種通知、データを送出
するものである。
【0007】この場合、サブジェクトは、登録したオブ
ザーバーに対して、順次指定されたメソド(method(又
はupdate))を呼び出し、オブザーバーにデータの処理
を委ねる。これによりこのデザインパターンによる方法
において、サブジェクトは、設計時、特定のオブジェク
トに対してデータを送出すると言うコーディングをする
ことなく、独立性の高い設計が可能となる。
ザーバーに対して、順次指定されたメソド(method(又
はupdate))を呼び出し、オブザーバーにデータの処理
を委ねる。これによりこのデザインパターンによる方法
において、サブジェクトは、設計時、特定のオブジェク
トに対してデータを送出すると言うコーディングをする
ことなく、独立性の高い設計が可能となる。
【0008】ところがこの方法の場合でも、オブザーバ
ーにおいては、特定のサブジェクトに登録することが必
要であり、このオブジェクトを事前に記述する必要があ
る。これによりこのデザインパターンによる方法におい
ては、各オブジェクトの独立性を確保する点において実
用上未だ不十分な問題がある。
ーにおいては、特定のサブジェクトに登録することが必
要であり、このオブジェクトを事前に記述する必要があ
る。これによりこのデザインパターンによる方法におい
ては、各オブジェクトの独立性を確保する点において実
用上未だ不十分な問題がある。
【0009】これに対してこの手法を用いてビジュアル
なツールを作成することによりオブジェクトの独立性を
図る方法も提案されている(JIP オブジェクト技術研究
会著,VisualAge C++ 入門 pp182-185 )。しかしなが
らこの方法においては、ビジュアルなツールによりオブ
ジェクトの接続を指示した後、ソースコードを自動生成
することにより、ソフトウェア構成の変更するためにコ
ンパイルが必要になる問題がある。
なツールを作成することによりオブジェクトの独立性を
図る方法も提案されている(JIP オブジェクト技術研究
会著,VisualAge C++ 入門 pp182-185 )。しかしなが
らこの方法においては、ビジュアルなツールによりオブ
ジェクトの接続を指示した後、ソースコードを自動生成
することにより、ソフトウェア構成の変更するためにコ
ンパイルが必要になる問題がある。
【0010】また例えば特開平10−28398号公報
に提案されているように、いわゆるプロキシを用いるこ
とによりオブジェクト間通信する方法も考えられるが、
この方法はオブジェクトの独立性を高めるものではな
い。
に提案されているように、いわゆるプロキシを用いるこ
とによりオブジェクト間通信する方法も考えられるが、
この方法はオブジェクトの独立性を高めるものではな
い。
【0011】また例えば特開平10−171465号公
報に開示されているようなクライアントサーバーシステ
ムの命名サービスの方法を利用する方法も考えられる。
すなわちこのクライアントサーバーシステムには、オブ
ザーバーパターンと対比されるソフトウェア部品化の方
法が適用されており、この方法はCORBA(CommonOb
ject Request Broker Architecture )においても採用
されているものである。
報に開示されているようなクライアントサーバーシステ
ムの命名サービスの方法を利用する方法も考えられる。
すなわちこのクライアントサーバーシステムには、オブ
ザーバーパターンと対比されるソフトウェア部品化の方
法が適用されており、この方法はCORBA(CommonOb
ject Request Broker Architecture )においても採用
されているものである。
【0012】しかしながらこの方法においても、オブザ
ーバーパターンと同様にしてオブザーバーがサブジェク
トを指定することにより、オブジェクトの独立性を図る
点で実用上未だ不十分な問題があり、また再コンパイ
ル、再リンキングも必要になる問題がある。
ーバーパターンと同様にしてオブザーバーがサブジェク
トを指定することにより、オブジェクトの独立性を図る
点で実用上未だ不十分な問題があり、また再コンパイ
ル、再リンキングも必要になる問題がある。
【0013】本発明は以上の点を考慮してなされたもの
で、従来に比してオブジェクトの独立性を向上すること
ができる演算処理装置、オブジェクト間通信方法及びロ
ボットを提案しようとするものである。
で、従来に比してオブジェクトの独立性を向上すること
ができる演算処理装置、オブジェクト間通信方法及びロ
ボットを提案しようとするものである。
【0014】
【課題を解決するための手段】かかる課題を解決するた
め請求項1に係る発明においては、オブジェクト間通信
を管理する演算処理装置に適用して、入力と出力とが定
義された複数のオブジェクトと、前記各オブジェクト間
の入力と出力の結合関係情報を保持する情報保持手段
と、前記結合関係情報に基づいて、前記オブジェクト間
を所定の時期に接続させる制御手段とを有するようにす
る。
め請求項1に係る発明においては、オブジェクト間通信
を管理する演算処理装置に適用して、入力と出力とが定
義された複数のオブジェクトと、前記各オブジェクト間
の入力と出力の結合関係情報を保持する情報保持手段
と、前記結合関係情報に基づいて、前記オブジェクト間
を所定の時期に接続させる制御手段とを有するようにす
る。
【0015】また請求項3に係る発明においては、オブ
ジェクト間通信を管理するオブジェクト間通信の管理方
法に適用して、前記各オブジェクト間の入力と出力との
結合関係情報に基づいて、入力と出力が定義された複数
のオブジェクト間を所定の時期に接続させるようにす
る。
ジェクト間通信を管理するオブジェクト間通信の管理方
法に適用して、前記各オブジェクト間の入力と出力との
結合関係情報に基づいて、入力と出力が定義された複数
のオブジェクト間を所定の時期に接続させるようにす
る。
【0016】請求項1に係る構成によれば、オブジェク
ト間通信を管理する演算処理装置に適用して、入力と出
力とが定義された複数のオブジェクトと、前記各オブジ
ェクト間の入力と出力との結合関係情報を保持する情報
保持手段と、前記結合関係情報に基づいて、前記オブジ
ェクト間を所定の時期に接続させる制御手段とを有する
ことにより、具体的な結合対象を何ら考慮することなく
設計でき、またこのようにして設計されたオブジェクト
について、結合関係情報を種々に設定、変更して結合を
種々に変更することができ、これによりオブジェクトの
独立性を従来に比して格段的に向上することができる。
ト間通信を管理する演算処理装置に適用して、入力と出
力とが定義された複数のオブジェクトと、前記各オブジ
ェクト間の入力と出力との結合関係情報を保持する情報
保持手段と、前記結合関係情報に基づいて、前記オブジ
ェクト間を所定の時期に接続させる制御手段とを有する
ことにより、具体的な結合対象を何ら考慮することなく
設計でき、またこのようにして設計されたオブジェクト
について、結合関係情報を種々に設定、変更して結合を
種々に変更することができ、これによりオブジェクトの
独立性を従来に比して格段的に向上することができる。
【0017】また請求項10に係る構成によれば、オブ
ジェクト間通信を管理するオブジェクト間通信の管理方
法に適用して、前記各オブジェクト間の入力と出力の結
合関係情報に基づいて、入力と出力が定義された複数の
オブジェクト間を所定の時期に接続させることにより、
具体的な結合対象を何ら考慮することなく各オブジェク
トを設計でき、またこのようにして設計されたオブジェ
クトについて、結合関係情報を種々に設定、変更して結
合を種々に変更することができ、これによりオブジェク
トの独立性を従来に比して格段的に向上することができ
る。
ジェクト間通信を管理するオブジェクト間通信の管理方
法に適用して、前記各オブジェクト間の入力と出力の結
合関係情報に基づいて、入力と出力が定義された複数の
オブジェクト間を所定の時期に接続させることにより、
具体的な結合対象を何ら考慮することなく各オブジェク
トを設計でき、またこのようにして設計されたオブジェ
クトについて、結合関係情報を種々に設定、変更して結
合を種々に変更することができ、これによりオブジェク
トの独立性を従来に比して格段的に向上することができ
る。
【0018】
【発明の実施の形態】以下、適宜図面を参照しながら本
発明の実施の形態を詳述する。
発明の実施の形態を詳述する。
【0019】(1)第1の実施の形態の構成
(1−1)全体構成
図1は、本発明の実施の形態に係るロボットを示す斜視
図である。このロボット1は、いわゆるペット型のロボ
ットであり、全体が犬に似た形状であり、4本脚により
歩行できるようになされている。すなわちロボット1
は、本体2に移動ユニット3が取り付けられ、この本体
2が頭部2Aと胴体部2Bとにより構成される。
図である。このロボット1は、いわゆるペット型のロボ
ットであり、全体が犬に似た形状であり、4本脚により
歩行できるようになされている。すなわちロボット1
は、本体2に移動ユニット3が取り付けられ、この本体
2が頭部2Aと胴体部2Bとにより構成される。
【0020】頭部2Aは、マイク4、タッチセンサー
5、立体視可能なテレビジョンカメラ6、遠隔制御に係
る赤外線の受信部7等が配置され、これらにより各種情
報を取得できるようになされている。また頭部2Aは、
画像表示部9、スピーカー10が配置され、これらによ
り種々の情報を出力できるようになされている。
5、立体視可能なテレビジョンカメラ6、遠隔制御に係
る赤外線の受信部7等が配置され、これらにより各種情
報を取得できるようになされている。また頭部2Aは、
画像表示部9、スピーカー10が配置され、これらによ
り種々の情報を出力できるようになされている。
【0021】胴体部2Bは、背中の部分に操作子11が
配置され、また尻尾に相当する箇所にアンテナ12が配
置されるようになされ、これらを介してユーザーの操作
を検出できるようになされている。また胴体部2Bは、
スロットを有し、このスロットにICカードを装着して
ソフトウエアのバージョンアップ等を実行できるように
なされている。
配置され、また尻尾に相当する箇所にアンテナ12が配
置されるようになされ、これらを介してユーザーの操作
を検出できるようになされている。また胴体部2Bは、
スロットを有し、このスロットにICカードを装着して
ソフトウエアのバージョンアップ等を実行できるように
なされている。
【0022】さらに胴体部2Bは、頭部2Aを介して入
出力する各種情報、操作子11等の操作情報を処理して
全体の動作を制御するコントローラ15、各部に電源を
供給する電源ユニット14、アンテナ12を介して各種
情報を送受する通信ユニット16等が配置され、下部に
バッテリー17が配置されるようになされている。
出力する各種情報、操作子11等の操作情報を処理して
全体の動作を制御するコントローラ15、各部に電源を
供給する電源ユニット14、アンテナ12を介して各種
情報を送受する通信ユニット16等が配置され、下部に
バッテリー17が配置されるようになされている。
【0023】これに対して移動ユニット3は、それぞれ
関節に相当する箇所にアクチュエータ、角度検出センサ
ーを配置してなる4つの足を配置して形成され、本体2
とシリアルバスにより接続され、本体2の制御により動
作するようになされている。これによりロボット1は、
4足歩行により移動できるようになされている。
関節に相当する箇所にアクチュエータ、角度検出センサ
ーを配置してなる4つの足を配置して形成され、本体2
とシリアルバスにより接続され、本体2の制御により動
作するようになされている。これによりロボット1は、
4足歩行により移動できるようになされている。
【0024】さらにこの移動ユニット3は、後足が本体
2より取り外すことができるようになされている。ロボ
ット1は、この後足に代えて、タイヤを備えた移動ユニ
ットを取り付けることができるようになされている。こ
れによりこのロボット1は、ユーザーの好みに応じて4
足により移動する形態(以下4足型と呼ぶ)と、タイヤ
により移動する形態(以下タイヤ型と呼ぶ)とで形態を
変更できるようになされている。
2より取り外すことができるようになされている。ロボ
ット1は、この後足に代えて、タイヤを備えた移動ユニ
ットを取り付けることができるようになされている。こ
れによりこのロボット1は、ユーザーの好みに応じて4
足により移動する形態(以下4足型と呼ぶ)と、タイヤ
により移動する形態(以下タイヤ型と呼ぶ)とで形態を
変更できるようになされている。
【0025】図2は、このロボット1の構成を示すブロ
ック図である。ロボット1においては、処理プログラム
を記録したプログラムメディア20がフェリペラル21
を介して中央処理ユニット22に接続され、この中央処
理ユニット22によりプログラムメディア20に記録さ
れた処理手順を実行するようになされている。また中央
処理ユニット22は、フェリペラル21を介して移動ユ
ニット3の各アクチュエーター、センサー、さらにはテ
レビジョンカメラ6、操作子11等であるロボットコン
ポーネント24、25、26と接続され、これにより全
体の動作を制御できるようになされている。
ック図である。ロボット1においては、処理プログラム
を記録したプログラムメディア20がフェリペラル21
を介して中央処理ユニット22に接続され、この中央処
理ユニット22によりプログラムメディア20に記録さ
れた処理手順を実行するようになされている。また中央
処理ユニット22は、フェリペラル21を介して移動ユ
ニット3の各アクチュエーター、センサー、さらにはテ
レビジョンカメラ6、操作子11等であるロボットコン
ポーネント24、25、26と接続され、これにより全
体の動作を制御できるようになされている。
【0026】また中央処理ユニット22は、同様に、フ
ェリペラル21を介して電源ユニット14を構成する電
源制御用の1チップマイコン27と接続され、この1チ
ップマイコン27の動作を制御してバッテリー17より
全体に電源を供給し、さらには省電力モードにおいてバ
ッテリー17に代えてボタン電池29より全体の電源を
供給するようになされている。
ェリペラル21を介して電源ユニット14を構成する電
源制御用の1チップマイコン27と接続され、この1チ
ップマイコン27の動作を制御してバッテリー17より
全体に電源を供給し、さらには省電力モードにおいてバ
ッテリー17に代えてボタン電池29より全体の電源を
供給するようになされている。
【0027】(1−2)ソフトウエア構成
図3は、ロボット1の4足型におけるソフトウエア構成
をレイヤーにより示す略線図であり、図4は図3との対
比によりタイヤ型におけるソフトウエア構成を示す略線
図である。このソフトウエア構成において、最も下位層
はデバイスドライバレイヤーであり、各種デバイスドラ
イバが配置される。ここでデバイスドライバは、移動ユ
ニット3のセンサー、アクチュエータ、さらには頭部2
A等に配置した各種ロボットコンポーネントとの間で各
種情報を入出力し、これらの処理のためのソフトウェア
オブジェクトを備えるようになされている。
をレイヤーにより示す略線図であり、図4は図3との対
比によりタイヤ型におけるソフトウエア構成を示す略線
図である。このソフトウエア構成において、最も下位層
はデバイスドライバレイヤーであり、各種デバイスドラ
イバが配置される。ここでデバイスドライバは、移動ユ
ニット3のセンサー、アクチュエータ、さらには頭部2
A等に配置した各種ロボットコンポーネントとの間で各
種情報を入出力し、これらの処理のためのソフトウェア
オブジェクトを備えるようになされている。
【0028】このうちバッテリーマネージャーデバイス
ドライバ(バッテリーマネージャーDD)は、電源ユニ
ット14の1チップマイコン27との間のデータ通信に
よりバッテリー17の残量を検出して定期的に上位のロ
ボットシステムソフトウエアに通知する。また中央処理
ユニット22等のクロックを管理し、ロボットシステム
ソフトウエアの指示によりこのクロックの周波数を低減
すると共に、不必要なデバイスの動作を停止し、これに
より全体の消費電力を低減する。
ドライバ(バッテリーマネージャーDD)は、電源ユニ
ット14の1チップマイコン27との間のデータ通信に
よりバッテリー17の残量を検出して定期的に上位のロ
ボットシステムソフトウエアに通知する。また中央処理
ユニット22等のクロックを管理し、ロボットシステム
ソフトウエアの指示によりこのクロックの周波数を低減
すると共に、不必要なデバイスの動作を停止し、これに
より全体の消費電力を低減する。
【0029】またロボットシリアルバスデバイスドライ
バ(ロボットシリアルバスDD)は、本体2に配置され
たシリアルバスのマスター制御用のハードウェアとの間
のデータ通信により、シリアルバスに接続された移動ユ
ニット3のセンサー情報等を取り込んで上位のロボット
システムソフトウエアに通知し、またこれとは逆にロボ
ットシステムソフトウエアより出力されるアクチュエー
タの制御データ、オーディオ信号等を各デバイスに送出
する。
バ(ロボットシリアルバスDD)は、本体2に配置され
たシリアルバスのマスター制御用のハードウェアとの間
のデータ通信により、シリアルバスに接続された移動ユ
ニット3のセンサー情報等を取り込んで上位のロボット
システムソフトウエアに通知し、またこれとは逆にロボ
ットシステムソフトウエアより出力されるアクチュエー
タの制御データ、オーディオ信号等を各デバイスに送出
する。
【0030】またロボットシリアルバスデバイスドライ
バは、システムの起動時、シリアルバスに接続されたデ
バイスの変更(追加、削除である)を検出する。さらに
この変更に係るデバイス固有の情報を取り込むことによ
り、ロボット1の現在の形態を示す情報をロボットシス
テムソフトウエアに出力する。
バは、システムの起動時、シリアルバスに接続されたデ
バイスの変更(追加、削除である)を検出する。さらに
この変更に係るデバイス固有の情報を取り込むことによ
り、ロボット1の現在の形態を示す情報をロボットシス
テムソフトウエアに出力する。
【0031】このデバイスドライバレイヤーの上位に
は、ロボットシステムソフトウエアが配置される。ここ
でロボットシステムソフトウエアは、バーチャルロボッ
ト、デザインロボット、パワーマネージャー、オブジェ
クトマネージャー等のソフトウエアオブジェクトより構
成される。
は、ロボットシステムソフトウエアが配置される。ここ
でロボットシステムソフトウエアは、バーチャルロボッ
ト、デザインロボット、パワーマネージャー、オブジェ
クトマネージャー等のソフトウエアオブジェクトより構
成される。
【0032】このうちバーチャルロボットは、ロボット
シリアルバスデバイスドライバとの間のデータ通信にお
いて、各デバイス固有のフォーマットによるデータをロ
ボット一般的なフォーマットに変換して送受する。具体
的に、例えばモータ制御用のデータについて、デバイス
固有のフォーマットにおいてはポテンションメーターで
あるセンサー出力をアナログディジタル変換して得られ
る10ビットにより表現するのに対し、バーチャルロボ
ットは、この表現によるデータを最下位の1ビットが
0.001度を示すデータに変換してロボット1におけ
る一般的なフォーマットとして出力する。またバーチャ
ルロボットは、このようなフォーマット変換によるデー
タの送受に加えて、例えばテレビジョンカメラ6より取
得したイメージデータを上位のソフトウエアに出力す
る。
シリアルバスデバイスドライバとの間のデータ通信にお
いて、各デバイス固有のフォーマットによるデータをロ
ボット一般的なフォーマットに変換して送受する。具体
的に、例えばモータ制御用のデータについて、デバイス
固有のフォーマットにおいてはポテンションメーターで
あるセンサー出力をアナログディジタル変換して得られ
る10ビットにより表現するのに対し、バーチャルロボ
ットは、この表現によるデータを最下位の1ビットが
0.001度を示すデータに変換してロボット1におけ
る一般的なフォーマットとして出力する。またバーチャ
ルロボットは、このようなフォーマット変換によるデー
タの送受に加えて、例えばテレビジョンカメラ6より取
得したイメージデータを上位のソフトウエアに出力す
る。
【0033】またバーチャルロボットは、ロボットシリ
アルバスデバイスドライバよりロボット1の現在の形態
を示す情報を受け取り、この情報を取りまとめる。これ
によりバーチャルロボットは、ロボット1全体でどの様
なロボットコンポーネントがどの様な順番で接続されて
いるのかを示す結合情報( CPC(Configurable Physica
l Component )Connection Information)を管理し、こ
の結合情報(CPC Connection Information )をデザイ
ンロボットに通知する。
アルバスデバイスドライバよりロボット1の現在の形態
を示す情報を受け取り、この情報を取りまとめる。これ
によりバーチャルロボットは、ロボット1全体でどの様
なロボットコンポーネントがどの様な順番で接続されて
いるのかを示す結合情報( CPC(Configurable Physica
l Component )Connection Information)を管理し、こ
の結合情報(CPC Connection Information )をデザイ
ンロボットに通知する。
【0034】またバーチャルロボットは、シリアルバス
に接続されたデバイスに変更があった場合、デバイスド
ライバのロボットシリアルバスデバイスドライバより通
知を受け、デザインロボットに通知する。
に接続されたデバイスに変更があった場合、デバイスド
ライバのロボットシリアルバスデバイスドライバより通
知を受け、デザインロボットに通知する。
【0035】デザインロボットは、バーチャルロボット
より結合情報(CPC Connection Information )を受け
取り、事前に記録した結合テンプレート情報と順次比較
することにより、現在のロボット1の形態に適したテン
プレートを選択する。さらにデザインロボットは、この
選択したテンプレートに応じて、上位の形態依存ソフト
ウエアを現在の形態に適した形態依存ソフトウエアに更
新するように、オブジェクトマネージャーに指示する。
より結合情報(CPC Connection Information )を受け
取り、事前に記録した結合テンプレート情報と順次比較
することにより、現在のロボット1の形態に適したテン
プレートを選択する。さらにデザインロボットは、この
選択したテンプレートに応じて、上位の形態依存ソフト
ウエアを現在の形態に適した形態依存ソフトウエアに更
新するように、オブジェクトマネージャーに指示する。
【0036】なおこの実施の形態において、結合テンプ
レート情報は、デザインファイルにデザインデータとし
て記述されるようになされている。
レート情報は、デザインファイルにデザインデータとし
て記述されるようになされている。
【0037】オブジェクトマネージャーは、デザインロ
ボットの指示により、デザインロボットより通知される
オブジェクト、各オブジェクトの結合に関する情報を用
いて形態依存ソフトウエアを現在の形態に適した形態依
存ソフトウエアに更新する。すなわちオブジェクトマネ
ージャーは、形態依存ソフトウエアを構成する全てのオ
ブジェクトについて、動作の停止、オブジェクト間通信
の結合解除、オブジェクトの破壊、リソースの開放を指
示する。さらに新たに必要なオブジェクトのロード、初
期化し、さらにはオブジェクト間通信のための結合構
築、これらオブジェクトの起動を指示する。なおここで
オブジェクト間の接合とは、オブジェクト間でデータを
送受信するための結合を意味する。
ボットの指示により、デザインロボットより通知される
オブジェクト、各オブジェクトの結合に関する情報を用
いて形態依存ソフトウエアを現在の形態に適した形態依
存ソフトウエアに更新する。すなわちオブジェクトマネ
ージャーは、形態依存ソフトウエアを構成する全てのオ
ブジェクトについて、動作の停止、オブジェクト間通信
の結合解除、オブジェクトの破壊、リソースの開放を指
示する。さらに新たに必要なオブジェクトのロード、初
期化し、さらにはオブジェクト間通信のための結合構
築、これらオブジェクトの起動を指示する。なおここで
オブジェクト間の接合とは、オブジェクト間でデータを
送受信するための結合を意味する。
【0038】パワーマネージャーは、バッテリーマネー
ジャーデバイスドライバとの間でデータ通信し、上位の
ソフトウエア(形態独立ソフトウエア又は形態依存ソフ
トウエア)の指示に従って、バッテリーマネージャーデ
バイスドライバにクロックの切り換えを指示し、またオ
ブジェクトの動作の停止等を指示する。
ジャーデバイスドライバとの間でデータ通信し、上位の
ソフトウエア(形態独立ソフトウエア又は形態依存ソフ
トウエア)の指示に従って、バッテリーマネージャーデ
バイスドライバにクロックの切り換えを指示し、またオ
ブジェクトの動作の停止等を指示する。
【0039】このロボットシステムソフトウエアの上位
には、形態依存ソフトウエアが配置され、さらにその上
位に形態独立ソフトウエアが配置される。ここで形態依
存ソフトウエアは、このロボット1の形態に応じて変更
されるソフトウエアであり、形態独立ソフトウエアは、
これとは逆に、ロボットの形態に係わらずに固定された
このロボット1の上位のソフトウエアである。このため
形態依存ソフトウエアは、ロボット1の形態に依存した
各種オブジェクトが存在する。この実施の形態において
は、形態依存ソフトウエアの変更により4足型とタイヤ
型とでそれぞれ形態に適したソフトウエアを全体として
簡易に構成できるようになされている。
には、形態依存ソフトウエアが配置され、さらにその上
位に形態独立ソフトウエアが配置される。ここで形態依
存ソフトウエアは、このロボット1の形態に応じて変更
されるソフトウエアであり、形態独立ソフトウエアは、
これとは逆に、ロボットの形態に係わらずに固定された
このロボット1の上位のソフトウエアである。このため
形態依存ソフトウエアは、ロボット1の形態に依存した
各種オブジェクトが存在する。この実施の形態において
は、形態依存ソフトウエアの変更により4足型とタイヤ
型とでそれぞれ形態に適したソフトウエアを全体として
簡易に構成できるようになされている。
【0040】すなわちここで4足型において、この形態
依存ソフトウエアは(図3)、移動ユニット3に関連す
るものとしてコマンドコンバータ、モーションネットワ
ーク、モーションリプレイ、ウォーキングパターンジェ
ネレータ、ビジョン等のオブジェクトにより構成され
る。
依存ソフトウエアは(図3)、移動ユニット3に関連す
るものとしてコマンドコンバータ、モーションネットワ
ーク、モーションリプレイ、ウォーキングパターンジェ
ネレータ、ビジョン等のオブジェクトにより構成され
る。
【0041】このうちコマンドコンバータは、形態に依
存しない形態独立ソフトウエアからのコマンドをロボッ
ト1の形態に適したコマンドに変換する。すなわち形態
独立ソフトウエアから移動ユニット3に関するコマンド
として、それぞれ睡眠(Sleep )、休憩(Rest)、起床
(Wakeup)、移動(Move)の姿勢を指示するコマンドが
入力されると、コマンドコンバータは、この4足型にお
いて、これらのコマンドをそれぞれ睡眠中(Sleepin
g)、お座り(Sitting )、起立(Standing)、歩行(W
alking )の各姿勢を指示するコマンドに変換する。
存しない形態独立ソフトウエアからのコマンドをロボッ
ト1の形態に適したコマンドに変換する。すなわち形態
独立ソフトウエアから移動ユニット3に関するコマンド
として、それぞれ睡眠(Sleep )、休憩(Rest)、起床
(Wakeup)、移動(Move)の姿勢を指示するコマンドが
入力されると、コマンドコンバータは、この4足型にお
いて、これらのコマンドをそれぞれ睡眠中(Sleepin
g)、お座り(Sitting )、起立(Standing)、歩行(W
alking )の各姿勢を指示するコマンドに変換する。
【0042】モーションネットワークは、コマンドコン
バータにより出力されるこれら姿勢を示すコマンドよ
り、図5に示す遷移に従って、この遷移図の矢印に対応
するオブジェクトのメソド(エントリ)を起動する。す
なわち睡眠中の状態で歩行のコマンドが入力された場
合、お座り、起立、歩行と姿勢を順次変化させるよう
に、モーションリプレイオブジェクトの対応するエント
リを順次起動する。なおこの場合、最後の歩行の状態に
辿り着いたときには、この状態を示す自己ループに対応
するウォーキングパターンジェネレータのエントリを起
動する。
バータにより出力されるこれら姿勢を示すコマンドよ
り、図5に示す遷移に従って、この遷移図の矢印に対応
するオブジェクトのメソド(エントリ)を起動する。す
なわち睡眠中の状態で歩行のコマンドが入力された場
合、お座り、起立、歩行と姿勢を順次変化させるよう
に、モーションリプレイオブジェクトの対応するエント
リを順次起動する。なおこの場合、最後の歩行の状態に
辿り着いたときには、この状態を示す自己ループに対応
するウォーキングパターンジェネレータのエントリを起
動する。
【0043】モーションリプレイは、モーションネット
ワークによるエントリの起動により、対応する姿勢変化
用の関節角度指令値を出力する。具体的に、モーション
リプレイは、登録された離散的な関節角度指令値をキー
データとして保持し、このキーデータを用いた補間演算
処理により一連の角度指令値を出力する。
ワークによるエントリの起動により、対応する姿勢変化
用の関節角度指令値を出力する。具体的に、モーション
リプレイは、登録された離散的な関節角度指令値をキー
データとして保持し、このキーデータを用いた補間演算
処理により一連の角度指令値を出力する。
【0044】ウォーキングパターンジェネレータは、形
態独立ソフトウエアにより指定される方向に移動するよ
うに、各関節角度指令値を計算して出力する。
態独立ソフトウエアにより指定される方向に移動するよ
うに、各関節角度指令値を計算して出力する。
【0045】ビジョンは、例えば画像処理用のオブジェ
クトであり、テレビジョンカメラ6で取得したイメージ
データをバーチャルロボットオブジェクトより受け取り
処理する。ビジョンは、これにより例えば赤色の物体を
識別し、このロボット1を基準にしたこの赤色の物体の
位置、見かけの大きさを検出して出力する。
クトであり、テレビジョンカメラ6で取得したイメージ
データをバーチャルロボットオブジェクトより受け取り
処理する。ビジョンは、これにより例えば赤色の物体を
識別し、このロボット1を基準にしたこの赤色の物体の
位置、見かけの大きさを検出して出力する。
【0046】これに対してタイヤ型において、形態依存
ソフトウエアは(図4)、移動ユニット3に関するオブ
ジェクトとして、4足型と共通のビジョンのオブジェク
ト、このタイヤ型に特有のコマンドコンバータ、モーシ
ョンコマンダ、モーションリプレイ2、ホイールパター
ンジェネレータのオブジェクトを有する。
ソフトウエアは(図4)、移動ユニット3に関するオブ
ジェクトとして、4足型と共通のビジョンのオブジェク
ト、このタイヤ型に特有のコマンドコンバータ、モーシ
ョンコマンダ、モーションリプレイ2、ホイールパター
ンジェネレータのオブジェクトを有する。
【0047】このうちコマンドコンバータは、4足型に
おけるコマンドコンバータと同様に、形態に依存しない
形態独立ソフトウエアからのコマンドをロボット1の形
態に適したコマンドに変換する。この場合、ロボット1
においてはタイヤ型であることにより、コマンドコンバ
ータは、それぞれ睡眠(Sleep )、休憩(Rest)、起床
(Wakeup)、移動(Move)の姿勢を指示するコマンド
を、睡眠中(Sleeping)、休憩(Rest)、待機(Ready
)、移動(Go)のコマンドに変換する。
おけるコマンドコンバータと同様に、形態に依存しない
形態独立ソフトウエアからのコマンドをロボット1の形
態に適したコマンドに変換する。この場合、ロボット1
においてはタイヤ型であることにより、コマンドコンバ
ータは、それぞれ睡眠(Sleep )、休憩(Rest)、起床
(Wakeup)、移動(Move)の姿勢を指示するコマンド
を、睡眠中(Sleeping)、休憩(Rest)、待機(Ready
)、移動(Go)のコマンドに変換する。
【0048】モーションコマンダは、コマンドコンバー
タの出力を受け、タイヤ用の制御コマンドと関連する関
節角度指令値を生成する。すなわちモーションコマンダ
は、睡眠中(Sleeping)のコマンドが入力された場合、
関節角度指令値を中立(neutral )に設定する。ここで
中立(neutral )においては、何らモータを駆動、制動
しない状態であり、これにより移動ユニットを構成する
両腕にあっては、垂れ下がった状態に保持され、またタ
イヤにあっては停止状態に保持される。
タの出力を受け、タイヤ用の制御コマンドと関連する関
節角度指令値を生成する。すなわちモーションコマンダ
は、睡眠中(Sleeping)のコマンドが入力された場合、
関節角度指令値を中立(neutral )に設定する。ここで
中立(neutral )においては、何らモータを駆動、制動
しない状態であり、これにより移動ユニットを構成する
両腕にあっては、垂れ下がった状態に保持され、またタ
イヤにあっては停止状態に保持される。
【0049】これに対して休憩(Rest)のコマンドが入
力された場合、モーションコマンダは、両腕にあっては
肘の部分で90度折り曲げて前に差し出すように、また
頭部2Aにあっては顔を正面に向けるように、関節角度
指令値を生成する。なおタイヤは停止したままである。
力された場合、モーションコマンダは、両腕にあっては
肘の部分で90度折り曲げて前に差し出すように、また
頭部2Aにあっては顔を正面に向けるように、関節角度
指令値を生成する。なおタイヤは停止したままである。
【0050】また待機(Ready )のコマンドが入力され
た場合、モーションコマンダは、両腕にあっては肘を伸
ばして前に差し出すように、また頭部2Aにあっては顔
を正面に向けるように関節角度指令値を生成する。なお
この場合もタイヤは停止したままである。さらに移動
(Go)のコマンドにあっては、待機(Ready )の状態と
同様に両腕を保持したまま、タイヤが前進方向に回転す
るように、指令値を出力する。
た場合、モーションコマンダは、両腕にあっては肘を伸
ばして前に差し出すように、また頭部2Aにあっては顔
を正面に向けるように関節角度指令値を生成する。なお
この場合もタイヤは停止したままである。さらに移動
(Go)のコマンドにあっては、待機(Ready )の状態と
同様に両腕を保持したまま、タイヤが前進方向に回転す
るように、指令値を出力する。
【0051】モーションリプレイ2は、モーションコマ
ンダの指示によりタイヤ型に固有の動作に関して、タイ
ヤ以外の動作(例えば両腕の動作である)を制御する。
ホイールパターンジェネレータは、モーションコマンダ
の制御によりタイヤの制御情報を生成する。
ンダの指示によりタイヤ型に固有の動作に関して、タイ
ヤ以外の動作(例えば両腕の動作である)を制御する。
ホイールパターンジェネレータは、モーションコマンダ
の制御によりタイヤの制御情報を生成する。
【0052】形態独立ソフトウエアは、ロボット1の形
態に依存しないソフトウエアであり、形態設定オブジェ
クト等を有する。ここで形態設定オブジェクトは、形態
依存ソフトウエアよりロボット1の形態に依存しない情
報を受け取り、この情報によりロボット1の形態に依存
しない上述したようなロボット1の姿勢を示すコマンド
(睡眠等である)を形態依存ソフトウエアに出力する。
態に依存しないソフトウエアであり、形態設定オブジェ
クト等を有する。ここで形態設定オブジェクトは、形態
依存ソフトウエアよりロボット1の形態に依存しない情
報を受け取り、この情報によりロボット1の形態に依存
しない上述したようなロボット1の姿勢を示すコマンド
(睡眠等である)を形態依存ソフトウエアに出力する。
【0053】すなわち例えば、ビジョンオブジェクトよ
り通知される赤色の物体の有無とその位置情報に基づい
て、1分以上赤色の物体の存在が検出されなかった場
合、図6に示すように、睡眠(Sleep )の状態にあって
はその状態を維持するように、休憩(Rest)の状態にあ
っては睡眠(Sleep )に、起床(Wakeup)の状態にあっ
ては休憩(Rest)に、移動(Move)にあっては起床(Wa
keup)の状態に遷移するようにコマンドを発行する。
り通知される赤色の物体の有無とその位置情報に基づい
て、1分以上赤色の物体の存在が検出されなかった場
合、図6に示すように、睡眠(Sleep )の状態にあって
はその状態を維持するように、休憩(Rest)の状態にあ
っては睡眠(Sleep )に、起床(Wakeup)の状態にあっ
ては休憩(Rest)に、移動(Move)にあっては起床(Wa
keup)の状態に遷移するようにコマンドを発行する。
【0054】また赤色物体が所定値より小さな大きさで
検出され(ロボットの設定による値10以下)、これが
10秒以上続いた場合、睡眠(Sleep )の状態にあって
は休憩(Rest)の状態に、休憩(Rest)の状態にあって
は起床(Wakeup)に、起床(Wakeup)の状態にあっては
移動(Move)に遷移するようにコマンドを発行し、また
移動(Move)にあっては移動(Move)を継続するように
コマンドを発行する。
検出され(ロボットの設定による値10以下)、これが
10秒以上続いた場合、睡眠(Sleep )の状態にあって
は休憩(Rest)の状態に、休憩(Rest)の状態にあって
は起床(Wakeup)に、起床(Wakeup)の状態にあっては
移動(Move)に遷移するようにコマンドを発行し、また
移動(Move)にあっては移動(Move)を継続するように
コマンドを発行する。
【0055】さらに赤色物体が所定値以上の大きさで検
出された場合、睡眠(Sleep )の状態にあっては(Wake
up)の状態に遷移するように、休憩(Rest)及び起床
(Wakeup)の状態にあっては移動(Move)に遷移するよ
うに、また移動(Move)にあっては移動(Move)を継続
するようにコマンドを発行する。
出された場合、睡眠(Sleep )の状態にあっては(Wake
up)の状態に遷移するように、休憩(Rest)及び起床
(Wakeup)の状態にあっては移動(Move)に遷移するよ
うに、また移動(Move)にあっては移動(Move)を継続
するようにコマンドを発行する。
【0056】これらによりロボット1では、最も上位の
ソフトウエアが、形態に依存しないように形成され、こ
の形態に依存しないソフトウエアとの間では形態に依存
しない形式によりデータを送受するようになされてい
る。これによりこのロボット1では、形態に応じて、こ
の形態に依存するソフトウエアである形態依存ソフトウ
エアだけを変更して、形態に応じてソフトウエアを簡易
に変更することができるようになされている。
ソフトウエアが、形態に依存しないように形成され、こ
の形態に依存しないソフトウエアとの間では形態に依存
しない形式によりデータを送受するようになされてい
る。これによりこのロボット1では、形態に応じて、こ
の形態に依存するソフトウエアである形態依存ソフトウ
エアだけを変更して、形態に応じてソフトウエアを簡易
に変更することができるようになされている。
【0057】(1−3)形態依存ソフトウエアの変更
ロボット1において、この形態依存ソフトウエアは、デ
ザインロボットの指示によるオブジェクトマネージャー
の処理により更新される。このときこの実施の形態にお
いては、形態依存ソフトウエアを構成するオブジェクト
のロード、アンロード、オブジェクト間通信のための結
合再構築により形態依存ソフトウエアを更新する。
ザインロボットの指示によるオブジェクトマネージャー
の処理により更新される。このときこの実施の形態にお
いては、形態依存ソフトウエアを構成するオブジェクト
のロード、アンロード、オブジェクト間通信のための結
合再構築により形態依存ソフトウエアを更新する。
【0058】このためデザインロボットは、バーチャル
ロボットよりロボット1の形態を特定する結合情報(CP
C Connection Information )の通知を受け、この結合
情報(CPC Connection Information )に基づいてオブ
ジェクトマネージャーに形態依存ソフトウエアの更新を
指示すると共に必要な情報を提供する。
ロボットよりロボット1の形態を特定する結合情報(CP
C Connection Information )の通知を受け、この結合
情報(CPC Connection Information )に基づいてオブ
ジェクトマネージャーに形態依存ソフトウエアの更新を
指示すると共に必要な情報を提供する。
【0059】またバーチャルロボットにおいては、下位
層であるロボットシリアルバスデバイスドライバを介し
てシリアルバスに接続された各デバイスの情報を取得
し、この情報より結合情報(CPC Connection Informati
on )を作成してデザインロボットに通知する。
層であるロボットシリアルバスデバイスドライバを介し
てシリアルバスに接続された各デバイスの情報を取得
し、この情報より結合情報(CPC Connection Informati
on )を作成してデザインロボットに通知する。
【0060】このためこのロボット1においては、各ロ
ボットコンポーネントのメモリに所定の情報が記録さ
れ、ロボットシリアルバスデバイスドライバを介して実
行されるデータ通信により、バーチャルロボット1にお
いてシリアルバスに接続されたデバイスの情報をその位
置情報と共に取得できるようになされている。
ボットコンポーネントのメモリに所定の情報が記録さ
れ、ロボットシリアルバスデバイスドライバを介して実
行されるデータ通信により、バーチャルロボット1にお
いてシリアルバスに接続されたデバイスの情報をその位
置情報と共に取得できるようになされている。
【0061】ここでロボット1においては、シリアルバ
スに接続されるテレビジョンカメラ、スピーカー、マイ
ク、各種アクチュエータ、センサー等が基本的な構成要
素(CPC Primitive )であり、リンク状態に設定された
これら基本的な構成要素の複数の組み合わせにより各部
品(CPC Model )が構成される。すなわち例えば部品で
ある1つの足は、3個のモータ、1個のスイッチによる
複数の基本的な構成要素の特定なリンク状態により構成
される。
スに接続されるテレビジョンカメラ、スピーカー、マイ
ク、各種アクチュエータ、センサー等が基本的な構成要
素(CPC Primitive )であり、リンク状態に設定された
これら基本的な構成要素の複数の組み合わせにより各部
品(CPC Model )が構成される。すなわち例えば部品で
ある1つの足は、3個のモータ、1個のスイッチによる
複数の基本的な構成要素の特定なリンク状態により構成
される。
【0062】ロボット1においては、これら各部品に固
有の識別データが割り当てられ、この識別データにより
シリアルバスに接続された各構成要素を特定できるよう
になされている。なおこの識別データは、部品を作成し
た製造工場のIDと製品番号に対応するIDとにより構
成される。またこの識別データに対応するように、各構
成要素の情報、部品における各構成要素の位置情報が部
品中における各構成要素のリンク情報、各構成要素の属
性情報等により設定され、これらの情報が各部品の識別
データと共に各部品のメモリに保持されるようになされ
ている。なおこの実施の形態では、部品側にてメモリ容
量が少ない場合には、各部品側に識別データのみ記録さ
れ、構成要素の情報、部品における構成要素の位置情報
は、本体2側に保持するようになされている。
有の識別データが割り当てられ、この識別データにより
シリアルバスに接続された各構成要素を特定できるよう
になされている。なおこの識別データは、部品を作成し
た製造工場のIDと製品番号に対応するIDとにより構
成される。またこの識別データに対応するように、各構
成要素の情報、部品における各構成要素の位置情報が部
品中における各構成要素のリンク情報、各構成要素の属
性情報等により設定され、これらの情報が各部品の識別
データと共に各部品のメモリに保持されるようになされ
ている。なおこの実施の形態では、部品側にてメモリ容
量が少ない場合には、各部品側に識別データのみ記録さ
れ、構成要素の情報、部品における構成要素の位置情報
は、本体2側に保持するようになされている。
【0063】バーチャルロボットは、システム起動時、
デバイスの変更時、ロボットシリアルバスデバイスドラ
イバより通知されるこれら識別データ、位置情報等によ
り、ツリー構造によるシリアルバスを順次辿って、各基
本的な構成要素(CPC Primitive )と各構成要素の結合
の順番を示すデータ構造とにより結合情報(CPC Connec
tion Information )を作成してデザインロボットに通
知する。かくするにつきバーチャルロボットより通知さ
れる結合情報(CPC Connection Information)にあって
は、形態に対応する構成要素情報(CPC Primitive Loca
tion Information )により構成される。
デバイスの変更時、ロボットシリアルバスデバイスドラ
イバより通知されるこれら識別データ、位置情報等によ
り、ツリー構造によるシリアルバスを順次辿って、各基
本的な構成要素(CPC Primitive )と各構成要素の結合
の順番を示すデータ構造とにより結合情報(CPC Connec
tion Information )を作成してデザインロボットに通
知する。かくするにつきバーチャルロボットより通知さ
れる結合情報(CPC Connection Information)にあって
は、形態に対応する構成要素情報(CPC Primitive Loca
tion Information )により構成される。
【0064】デザインロボットは、バーチャルロボット
より通知される結合情報(CPC Connection Information
)を基準にしてデザインファイルを参照することによ
り現在のロボット1の形態に対応する結合テンプレート
(後述するラベルである)を選択する。さらにデザイン
ロボットは、この選択したテンプレートに応じて、現在
の形態に適した形態依存ソフトウエアへの更新をオブジ
ェクトマネージャーに指示する。
より通知される結合情報(CPC Connection Information
)を基準にしてデザインファイルを参照することによ
り現在のロボット1の形態に対応する結合テンプレート
(後述するラベルである)を選択する。さらにデザイン
ロボットは、この選択したテンプレートに応じて、現在
の形態に適した形態依存ソフトウエアへの更新をオブジ
ェクトマネージャーに指示する。
【0065】ここでデザインファイルは、テキストデー
タ形成の記述であり、ロボット1の形態毎に、各部品の
構成要素情報(CPC Primitive Location Information
)群に対してラベルを付加して記述される。また構成
要素情報(CPC Primitive Location Information )
は、各部品の基本的な構成要素(CPC Primitive )と各
構成要素の位置情報(CPC Coordinate Locator)により
構成される。このうち位置情報(CPC Coordinate Locat
or)は、ロボット1に設定された基準位置からの座標で
あり、一般的なリンク座標系により表記され、座標系変
換のための回転行列と位置ベクトルの縦続接続により構
成されるようになされている。
タ形成の記述であり、ロボット1の形態毎に、各部品の
構成要素情報(CPC Primitive Location Information
)群に対してラベルを付加して記述される。また構成
要素情報(CPC Primitive Location Information )
は、各部品の基本的な構成要素(CPC Primitive )と各
構成要素の位置情報(CPC Coordinate Locator)により
構成される。このうち位置情報(CPC Coordinate Locat
or)は、ロボット1に設定された基準位置からの座標で
あり、一般的なリンク座標系により表記され、座標系変
換のための回転行列と位置ベクトルの縦続接続により構
成されるようになされている。
【0066】またラベルは、対応するオブジェクトの特
定、このオブジェクトのロード、オブジェクト間通信の
構築に必要なデータを特定するものであり、デザインラ
ベル(Design Label)、又はデザインラベルに比して汎
用的な理解容易な記述によるバーチャルラベル(Virtua
l Label )、デザインラベル(Design Label)とバーチ
ャルラベル(Virtual Label )との複合型のラベル(Co
mposite Label )が適用される。なおビジュアルラベル
にあっては、デザインロボットによりデザインラベルに
置き換えられて利用に供されるようになされている。
定、このオブジェクトのロード、オブジェクト間通信の
構築に必要なデータを特定するものであり、デザインラ
ベル(Design Label)、又はデザインラベルに比して汎
用的な理解容易な記述によるバーチャルラベル(Virtua
l Label )、デザインラベル(Design Label)とバーチ
ャルラベル(Virtual Label )との複合型のラベル(Co
mposite Label )が適用される。なおビジュアルラベル
にあっては、デザインロボットによりデザインラベルに
置き換えられて利用に供されるようになされている。
【0067】次式は、このうちのデザインラベルの記述
を示すものである。デザインラベルは、1つ以上の構成
要素情報(CPC Primitive Location Information )、
又はデザインラベル(Design Label)により構成され
る。
を示すものである。デザインラベルは、1つ以上の構成
要素情報(CPC Primitive Location Information )、
又はデザインラベル(Design Label)により構成され
る。
【0068】
【数1】
【0069】これに対して次式は、バーチャルラベル
(Virtual Label )の記述を示すものである。バーチャ
ルラベルは、デザインラベル(Design Label)、構成要
素(CPC Primitive )、構成要素(CPC Primitive )の
位置情報(CPC Coordinate Locator)により構成され
る。
(Virtual Label )の記述を示すものである。バーチャ
ルラベルは、デザインラベル(Design Label)、構成要
素(CPC Primitive )、構成要素(CPC Primitive )の
位置情報(CPC Coordinate Locator)により構成され
る。
【0070】
【数2】
【0071】これに対して次式は、複合型のラベル(Co
mposite Label )の記述を示すものである。
mposite Label )の記述を示すものである。
【0072】
【数3】
【0073】かくするにつきデザインロボットは、通知
された結合情報(CPC Connection Information )によ
り特定される構成要素情報(CPC Primitive Location I
nformation )において、特定される位置情報(CPC Co
ordinate Locator)よりツリー構造の先端側にバーチャ
ルラベル(Virtual Label )内で定義された位置情報
(CPC Coordinate Locator)が存在する場合、このバー
チャルラベル(VirtualLabel )をデザインラベル(Des
ign Label)に置き換え、またこのようにして定義した
デザインラベル(Design Label)を有効なものと設定す
る。
された結合情報(CPC Connection Information )によ
り特定される構成要素情報(CPC Primitive Location I
nformation )において、特定される位置情報(CPC Co
ordinate Locator)よりツリー構造の先端側にバーチャ
ルラベル(Virtual Label )内で定義された位置情報
(CPC Coordinate Locator)が存在する場合、このバー
チャルラベル(VirtualLabel )をデザインラベル(Des
ign Label)に置き換え、またこのようにして定義した
デザインラベル(Design Label)を有効なものと設定す
る。
【0074】これらによりこの実施の形態では、結合情
報(CPC Connection Information)によりこのデザイン
ファイルをアクセスして現在のロボットを形態(4足
型、タイヤ型等の形態)を特定できるようになされ、ま
た形態依存ソフトウエアの更新に必要な各種データを取
得できるようになされている。
報(CPC Connection Information)によりこのデザイン
ファイルをアクセスして現在のロボットを形態(4足
型、タイヤ型等の形態)を特定できるようになされ、ま
た形態依存ソフトウエアの更新に必要な各種データを取
得できるようになされている。
【0075】図7は、このデザインロボットの処理手順
を具体的に示すフローチャートである。デザインロボッ
トは、バーチャルロボットより結合情報(CPC Connecti
on Information)が通知されると、ステップSP1から
ステップSP2に移り、この結合情報(CPC Connection
Information)によりデザインファイルをアクセスし、
これにより現在のロボット1の形態を特定する。
を具体的に示すフローチャートである。デザインロボッ
トは、バーチャルロボットより結合情報(CPC Connecti
on Information)が通知されると、ステップSP1から
ステップSP2に移り、この結合情報(CPC Connection
Information)によりデザインファイルをアクセスし、
これにより現在のロボット1の形態を特定する。
【0076】続いてデザインロボットは、ステップSP
3に移り、バーチャルロボットより通知された結合情報
(CPC Connection Information)による構成要素情報
(CPCPrimitive Location Information)とデザインフ
ァイルに保持された結合情報(CPC Connection Informa
tion)による構成要素情報(CPC Primitive Location I
nformation)とを比較する。
3に移り、バーチャルロボットより通知された結合情報
(CPC Connection Information)による構成要素情報
(CPCPrimitive Location Information)とデザインフ
ァイルに保持された結合情報(CPC Connection Informa
tion)による構成要素情報(CPC Primitive Location I
nformation)とを比較する。
【0077】続いてデザインロボットは、ステップSP
4に移り、この比較結果に基づいて、デザインファイル
をアクセスし、現在の形態に対応するオブジェクト、オ
ブジェクト間通信の再構築に必要なデータを特定するデ
ザインラベルを検出する。
4に移り、この比較結果に基づいて、デザインファイル
をアクセスし、現在の形態に対応するオブジェクト、オ
ブジェクト間通信の再構築に必要なデータを特定するデ
ザインラベルを検出する。
【0078】続いてデザインロボットは、ステップSP
5に移り、検出したデザインラベルより結合ファイル
(Connection File )をアクセスし、ラベルに対応する
結合情報(Connection Data )を検出することにより、
対応するオブジェクトの特定、オブジェクト間通信の再
構築に必要なデータを取得する。かくするにつき結合フ
ァイル(Connection File )は、ラベルとの対応により
結合情報(Connection Data )を記録したファイルであ
り、結合情報(Connection Data )は、対応するオブジ
ェクトの特定、オブジェクト間通信の再構築に必要なデ
ータである。
5に移り、検出したデザインラベルより結合ファイル
(Connection File )をアクセスし、ラベルに対応する
結合情報(Connection Data )を検出することにより、
対応するオブジェクトの特定、オブジェクト間通信の再
構築に必要なデータを取得する。かくするにつき結合フ
ァイル(Connection File )は、ラベルとの対応により
結合情報(Connection Data )を記録したファイルであ
り、結合情報(Connection Data )は、対応するオブジ
ェクトの特定、オブジェクト間通信の再構築に必要なデ
ータである。
【0079】続いてデザインロボットは、ステップSP
6に移り、この結合情報(Connection Data )をオブジ
ェクトマネージャーに送出し、これにより形態依存ソフ
トウエアの更新を指示した後、ステップSP7に移って
この処理手順を終了する。
6に移り、この結合情報(Connection Data )をオブジ
ェクトマネージャーに送出し、これにより形態依存ソフ
トウエアの更新を指示した後、ステップSP7に移って
この処理手順を終了する。
【0080】図8は、デザインファイルの一部の記述を
示す図表である。このデザインファイルにおいて、DRX
は、このロボット1の形態を示し、4Leggedは、4足型
の形態であることを示す記述である。またHead、RightF
rontLeg 、LeftFrontLeg、RightRearLeg、LeftRearLeg
は、それぞれ頭部、右前足、左前足、右後足、左後足を
示し、これにより第1文において4足型が頭部、右前
足、左前足、右後足、左後足により構成されることが特
定される。
示す図表である。このデザインファイルにおいて、DRX
は、このロボット1の形態を示し、4Leggedは、4足型
の形態であることを示す記述である。またHead、RightF
rontLeg 、LeftFrontLeg、RightRearLeg、LeftRearLeg
は、それぞれ頭部、右前足、左前足、右後足、左後足を
示し、これにより第1文において4足型が頭部、右前
足、左前足、右後足、左後足により構成されることが特
定される。
【0081】また第2文におけるWheel はタイヤ型を示
し、第1文との対比によりこの第2文においてタイヤ型
が頭部、右前足、左前足、右後輪、左後輪により構成さ
れることが特定される。また第3文においては、頭部に
カメラリンクの配置が記述され、第4文にはこのカメラ
リンクのバーチャルラベル(Virtual Label )が記述さ
れるようになされ、第5文以降においては、右前足、左
前足等について、位置情報(CPC Coordinate Locator)
がツリー形式により記述されるようになされている。
し、第1文との対比によりこの第2文においてタイヤ型
が頭部、右前足、左前足、右後輪、左後輪により構成さ
れることが特定される。また第3文においては、頭部に
カメラリンクの配置が記述され、第4文にはこのカメラ
リンクのバーチャルラベル(Virtual Label )が記述さ
れるようになされ、第5文以降においては、右前足、左
前足等について、位置情報(CPC Coordinate Locator)
がツリー形式により記述されるようになされている。
【0082】これに対して図9は、結合情報(CPC Conn
ection Information)の一部の記述を示す図表である。
この実施の形態においては結合情報もデザインファイル
と同様にテキストデータ形成により記述される。この記
述において、joint はインターフェースを示し、この部
分が他の構成要素との結合箇所であることを示すもので
ある。この場合第2行目から第5行目までの記載によ
り、C0、C0、C0、C0、C0による5つのハブ等を介してテ
レビジョンカメラが接続されていることが判る。
ection Information)の一部の記述を示す図表である。
この実施の形態においては結合情報もデザインファイル
と同様にテキストデータ形成により記述される。この記
述において、joint はインターフェースを示し、この部
分が他の構成要素との結合箇所であることを示すもので
ある。この場合第2行目から第5行目までの記載によ
り、C0、C0、C0、C0、C0による5つのハブ等を介してテ
レビジョンカメラが接続されていることが判る。
【0083】これによりこの図9の例による結合情報
(CPC Connection Information)にあっては、図8につ
いて上述した記述である4足型と一致することになる。
(CPC Connection Information)にあっては、図8につ
いて上述した記述である4足型と一致することになる。
【0084】これに対して次式は、結合ファイル(Conn
ection File )の一部の記述を示す図表である。結合フ
ァイルは、テキストデータ形成により記述され、この記
述において、第1文及び第2文は、それぞれ4足型及び
タイヤ型における足及びタイヤに対応するオブジェクト
と、このオブジェクトにおけるオブジェクト間通信の構
築に必要なデータが記述される。
ection File )の一部の記述を示す図表である。結合フ
ァイルは、テキストデータ形成により記述され、この記
述において、第1文及び第2文は、それぞれ4足型及び
タイヤ型における足及びタイヤに対応するオブジェクト
と、このオブジェクトにおけるオブジェクト間通信の構
築に必要なデータが記述される。
【0085】すなわち第1文にあっては、サービス名と
してオブジェクト名であるMoNet とデータ形式MoNetOut
Data、サブジェクトを示すSの記述が記述される。さら
に同様のサービス名としてオブジェクト名であるMoNetR
eplay 、データ形式MoNetOutData等が記述され、最後に
オブザーバーを示すOの記述が割り当てられる。また続
く行において、同様のサブジェクト及びオブザーバー、
データ形式等が記述される。
してオブジェクト名であるMoNet とデータ形式MoNetOut
Data、サブジェクトを示すSの記述が記述される。さら
に同様のサービス名としてオブジェクト名であるMoNetR
eplay 、データ形式MoNetOutData等が記述され、最後に
オブザーバーを示すOの記述が割り当てられる。また続
く行において、同様のサブジェクト及びオブザーバー、
データ形式等が記述される。
【0086】
【数4】
【0087】これによりこの図8の例の場合、デザイン
ロボットは、このDRX 4Legged による第1文の記述より
結合情報(Connection Data )(DRX 4Legged 以降の括
弧書の記述)を抽出してオブジェクトマネージャーに通
知し、これによりこの実施の形態では形態依存ソフトウ
エアを更新するようになされている。
ロボットは、このDRX 4Legged による第1文の記述より
結合情報(Connection Data )(DRX 4Legged 以降の括
弧書の記述)を抽出してオブジェクトマネージャーに通
知し、これによりこの実施の形態では形態依存ソフトウ
エアを更新するようになされている。
【0088】図10は、オブジェクトマネージャー、バ
ーチャルロボット、デザインロボットにおけるブート時
の処理を示すタイムチャートである。ロボット1におい
ては、電源が投入されると、又はリセットがされると、
ブートの処理を開始する。ここでロボット1において
は、各オブジェクトがファイルよりロードされて形態依
存ソフトウエアが構築され、このとき各オブジェクトマ
ネージャーの内部変数が初期化される。
ーチャルロボット、デザインロボットにおけるブート時
の処理を示すタイムチャートである。ロボット1におい
ては、電源が投入されると、又はリセットがされると、
ブートの処理を開始する。ここでロボット1において
は、各オブジェクトがファイルよりロードされて形態依
存ソフトウエアが構築され、このとき各オブジェクトマ
ネージャーの内部変数が初期化される。
【0089】続いてオブジェクトマネージャーよりドウ
イニシャライズ(DoInit)が各オブジェクトに送出さ
れ、このドウイニシャライズ(DoInit)により各オブジ
ェクトの問い合わせ用エントリ(Entry )がオブジェク
トマネージャー等に登録される。これによりロボットシ
ステムソフトウエアレイヤーにおいて、各オブジェクト
間通信が構築される。
イニシャライズ(DoInit)が各オブジェクトに送出さ
れ、このドウイニシャライズ(DoInit)により各オブジ
ェクトの問い合わせ用エントリ(Entry )がオブジェク
トマネージャー等に登録される。これによりロボットシ
ステムソフトウエアレイヤーにおいて、各オブジェクト
間通信が構築される。
【0090】続いてオブジェクトマネージャーよりドウ
スタート(DoStart )がバーチャルロボット、デザイン
ロボットに順次送出され、バーチャルロボット、デザイ
ンロボットが動作を開始する。これによりバーチャルロ
ボットにより結合情報( CPCConnection Information
)が生成され、デザインロボットの要求によりこの結
合情報( CPC Connection Information )がデザインロ
ボットに渡され、結合情報(Connection Data )が生成
される。
スタート(DoStart )がバーチャルロボット、デザイン
ロボットに順次送出され、バーチャルロボット、デザイ
ンロボットが動作を開始する。これによりバーチャルロ
ボットにより結合情報( CPCConnection Information
)が生成され、デザインロボットの要求によりこの結
合情報( CPC Connection Information )がデザインロ
ボットに渡され、結合情報(Connection Data )が生成
される。
【0091】さらにこの結合情報(Connection Data )
がオブジェクトマネージャーに渡され、この結合情報
(Connection Data )により形態依存ソフトウエアが構
築される。
がオブジェクトマネージャーに渡され、この結合情報
(Connection Data )により形態依存ソフトウエアが構
築される。
【0092】これに対してシャットダウンにおいては、
オブジェクトマネージャーよりドウストップ(DoStop)
が各オブジェクトに送出され、このドウストップ(DoSt
op)により各オブジェクトにおいては、全てのリクエス
トに対してエラーを通知して動作を停止する。続いてオ
ブジェクトマネージャーよりドウデストロイ(DoDestro
y )が各オブジェクトに送出され、これにより各オブジ
ェクトにおいては、使用していたソースを開放し、また
オブジェクトマネージャーに登録したエントリを抹消し
て待機する。
オブジェクトマネージャーよりドウストップ(DoStop)
が各オブジェクトに送出され、このドウストップ(DoSt
op)により各オブジェクトにおいては、全てのリクエス
トに対してエラーを通知して動作を停止する。続いてオ
ブジェクトマネージャーよりドウデストロイ(DoDestro
y )が各オブジェクトに送出され、これにより各オブジ
ェクトにおいては、使用していたソースを開放し、また
オブジェクトマネージャーに登録したエントリを抹消し
て待機する。
【0093】これによりロボット1においては、形態が
変更されて立ち上げられた場合でも、この変更された形
態に適したソフトウエアにより動作できるようになされ
ている。
変更されて立ち上げられた場合でも、この変更された形
態に適したソフトウエアにより動作できるようになされ
ている。
【0094】これに対していわゆるプラグイン(Plug-I
n )、プラグアウト(Plug-Out)においては、図11に
示すように、オブジェクトマネージャーよりドウストッ
プ(DoStop)が各オブジェクトに送出され、このドウス
トップ(DoStop)により各オブジェクトにおいては、全
てのリクエストに対してエラーを通知して動作を停止す
る。
n )、プラグアウト(Plug-Out)においては、図11に
示すように、オブジェクトマネージャーよりドウストッ
プ(DoStop)が各オブジェクトに送出され、このドウス
トップ(DoStop)により各オブジェクトにおいては、全
てのリクエストに対してエラーを通知して動作を停止す
る。
【0095】続いてオブジェクトマネージャーよりブー
ト時と同様にして順次ドウスタート(DoStart )がバー
チャルロボット、デザインロボットに順次送出され、バ
ーチャルロボットにより結合情報( CPC Connection In
formation )が生成され、この結合情報( CPC Connect
ion Information )がデザインロボットに渡されて結合
情報(Connection Data )が生成され、この結合情報
(Connection Data )により形態依存ソフトウエアが構
築される。
ト時と同様にして順次ドウスタート(DoStart )がバー
チャルロボット、デザインロボットに順次送出され、バ
ーチャルロボットにより結合情報( CPC Connection In
formation )が生成され、この結合情報( CPC Connect
ion Information )がデザインロボットに渡されて結合
情報(Connection Data )が生成され、この結合情報
(Connection Data )により形態依存ソフトウエアが構
築される。
【0096】これによりロボット1においては、プラグ
イン(Plug-In )、プラグアウト(Plug-Out)により動
的に形態が変更された場合でも、この変更された形態に
適したソフトウエアにより動作できるようになされてい
る。
イン(Plug-In )、プラグアウト(Plug-Out)により動
的に形態が変更された場合でも、この変更された形態に
適したソフトウエアにより動作できるようになされてい
る。
【0097】また、バッテリー17が消耗した場合等に
あっては、バッテリーマネージャーからの状態変更要求
により、プラグイン(Plug-In )、プラグアウト(Plug
-Out)の場合と同様に、ドウストップ(DoStop)、ドウ
スタート(DoStart )の処理が繰り返され、これにより
バッテリー17が消耗した場合にあっては、クロック周
波数を低減すると共に不必要なデバイスの動作を停止し
てボタン電池29により動作するように状態が変更さ
れ、これとは逆に充電されたバッテリー17が装着され
た場合にあっては、クロック周波数を増大すると共に各
デバイスの動作が開始されてバッテリー17により動作
するようになされている。
あっては、バッテリーマネージャーからの状態変更要求
により、プラグイン(Plug-In )、プラグアウト(Plug
-Out)の場合と同様に、ドウストップ(DoStop)、ドウ
スタート(DoStart )の処理が繰り返され、これにより
バッテリー17が消耗した場合にあっては、クロック周
波数を低減すると共に不必要なデバイスの動作を停止し
てボタン電池29により動作するように状態が変更さ
れ、これとは逆に充電されたバッテリー17が装着され
た場合にあっては、クロック周波数を増大すると共に各
デバイスの動作が開始されてバッテリー17により動作
するようになされている。
【0098】(1−4)オブジェクトマネージャーの処
理 オブジェクトマネージャーは、このようにして実行され
るデザインロボットからの通知により形態依存ソフトウ
エアを構成するオブジェクトを再構成し、これにより形
態依存ソフトウエアを更新する。具体的に、オブジェク
トマネージャーは、デザインロボットからの通知により
オブジェクトをロード、アンロードすると共に、これら
アンロード及びロードに対応するようにオブジェクト間
通信を再構築し、これにより形態依存ソフトウエアを変
更する。
理 オブジェクトマネージャーは、このようにして実行され
るデザインロボットからの通知により形態依存ソフトウ
エアを構成するオブジェクトを再構成し、これにより形
態依存ソフトウエアを更新する。具体的に、オブジェク
トマネージャーは、デザインロボットからの通知により
オブジェクトをロード、アンロードすると共に、これら
アンロード及びロードに対応するようにオブジェクト間
通信を再構築し、これにより形態依存ソフトウエアを変
更する。
【0099】このオブジェクト間通信を構築する際に、
対応するオブジェクト名等がオブジェクトに登録されて
いなければならないとすると、各オブジェクトの独立性
が害され、自由な形態に対応するようにオブジェクトを
複数種類用意することが必要になる。このためこの実施
の形態において、オブジェクトマネージャーは、デザイ
ンロボットより出力される結合情報(Connection Data
)に基づいてオブジェクト間通信を構築し、これによ
りオブジェクトの独立性を担保する。
対応するオブジェクト名等がオブジェクトに登録されて
いなければならないとすると、各オブジェクトの独立性
が害され、自由な形態に対応するようにオブジェクトを
複数種類用意することが必要になる。このためこの実施
の形態において、オブジェクトマネージャーは、デザイ
ンロボットより出力される結合情報(Connection Data
)に基づいてオブジェクト間通信を構築し、これによ
りオブジェクトの独立性を担保する。
【0100】なお以下の説明においては、ロボット1に
おける具体的なオブジェクト名の特定を避けて説明を簡
略化する。またオブジェクト間通信は、非同期により実
行するものとする。
おける具体的なオブジェクト名の特定を避けて説明を簡
略化する。またオブジェクト間通信は、非同期により実
行するものとする。
【0101】すなわち図12は、この実施の形態に係る
2つのオブジェクト間におけるオブジェクト間通信の基
本構成を示す略線図である。この実施の形態において
は、レディー(Ready )とノーティファイ(Notify)と
を用いてオブジェクト間通信を実行し、これによりオブ
ジェクト(この例ではObjectB)の処理能力以上のデータ
を送出しないようになされている。
2つのオブジェクト間におけるオブジェクト間通信の基
本構成を示す略線図である。この実施の形態において
は、レディー(Ready )とノーティファイ(Notify)と
を用いてオブジェクト間通信を実行し、これによりオブ
ジェクト(この例ではObjectB)の処理能力以上のデータ
を送出しないようになされている。
【0102】すなわち図12において、オブジェクトA
は、オブジェクトAのメンバーであるクラス0のサブジ
ェクトからオブジェクトBのメンバーである0オブザー
バークラスに対してデータを送出し、これによりオブジ
ェクトBのメソドがインボウク(invoke)される。
は、オブジェクトAのメンバーであるクラス0のサブジ
ェクトからオブジェクトBのメンバーである0オブザー
バークラスに対してデータを送出し、これによりオブジ
ェクトBのメソドがインボウク(invoke)される。
【0103】この関係において、サブジェクトは、オブ
ザーバーよりレディー(Ready )の信号が送出されてい
る場合にのみデータを送出する。なおレディー(Ready
)の信号は、1回のデータにつき1回送る必要があ
る。これによりオブザーバー側であるオブジェクトBに
おいては、受け取ったデータの処理の完了を待って続く
データを受信することができるようになされている。
ザーバーよりレディー(Ready )の信号が送出されてい
る場合にのみデータを送出する。なおレディー(Ready
)の信号は、1回のデータにつき1回送る必要があ
る。これによりオブザーバー側であるオブジェクトBに
おいては、受け取ったデータの処理の完了を待って続く
データを受信することができるようになされている。
【0104】これに対して図13は、マルチオブザーバ
ーにおけるオブジェクト間通信の基本構成を示す略線図
である。この場合、サブジェクトであるオブジェクトA
は、全てのオブザーバーに対してデータを配信すること
ができ、またオブジェクトIDにより特定される特定の
オブザーバーに対してのみにデータを配信することもで
きる。なおこの実施の形態においては、このようなマル
チオブザーバーの状態においても、レディー(Ready )
の信号により対応するオブザーバーに対してデータを送
出する。
ーにおけるオブジェクト間通信の基本構成を示す略線図
である。この場合、サブジェクトであるオブジェクトA
は、全てのオブザーバーに対してデータを配信すること
ができ、またオブジェクトIDにより特定される特定の
オブザーバーに対してのみにデータを配信することもで
きる。なおこの実施の形態においては、このようなマル
チオブザーバーの状態においても、レディー(Ready )
の信号により対応するオブザーバーに対してデータを送
出する。
【0105】各オブジェクトにおいては、オブジェクト
を特定するオブジェクトID、メソド(method)を特定
するセレクタ番号(selector)(メソド番号である)を指
定することにより、対応するメソドを起動(エントリ)
し、オブザーバーを特定して所望のデータを送出する。
を特定するオブジェクトID、メソド(method)を特定
するセレクタ番号(selector)(メソド番号である)を指
定することにより、対応するメソドを起動(エントリ)
し、オブザーバーを特定して所望のデータを送出する。
【0106】図14は、いわゆるマルチサブジェクトに
おけるオブジェクト間通信の基本構成を示す略線図であ
る。この場合、オブジェクトA及びBがサブジェクトで
あり、オブジェクトCがオブザーバーである。オブザー
バーにおいては、このように複数のサブジェクトよりそ
れぞれデータを受信することができ、またデータを受信
する毎にデータを処理するメソドがインボウク(invok
e)されるようになされている。またオブザーバーは、
サブジェクトIDにより特定される特定のサブジェクト
に対してのみにレディー(Ready )の信号を送出して所
望のデータを選択的に入力できるようになされている。
おけるオブジェクト間通信の基本構成を示す略線図であ
る。この場合、オブジェクトA及びBがサブジェクトで
あり、オブジェクトCがオブザーバーである。オブザー
バーにおいては、このように複数のサブジェクトよりそ
れぞれデータを受信することができ、またデータを受信
する毎にデータを処理するメソドがインボウク(invok
e)されるようになされている。またオブザーバーは、
サブジェクトIDにより特定される特定のサブジェクト
に対してのみにレディー(Ready )の信号を送出して所
望のデータを選択的に入力できるようになされている。
【0107】この実施の形態において、少なくとも形態
依存ソフトウエアレイヤーの属するオブジェクトにおい
ては、これら図12〜図14を用いて説明したように、
レディー(Ready )とノーティファイ(Notify)とを用
いてオブジェクト間通信を実行し、また必要に応じてマ
ルチオブザーバー、マルチサブジェクトの結合形態によ
り他のオブジェクトを結合できるようになされている。
すなわち複数のオブザーバーを有するオブジェクトにあ
っては、これら複数のオブザーバーに対応する数のコネ
クトエントリーを有するようになされている。
依存ソフトウエアレイヤーの属するオブジェクトにおい
ては、これら図12〜図14を用いて説明したように、
レディー(Ready )とノーティファイ(Notify)とを用
いてオブジェクト間通信を実行し、また必要に応じてマ
ルチオブザーバー、マルチサブジェクトの結合形態によ
り他のオブジェクトを結合できるようになされている。
すなわち複数のオブザーバーを有するオブジェクトにあ
っては、これら複数のオブザーバーに対応する数のコネ
クトエントリーを有するようになされている。
【0108】図15は、オブジェクトマネージャーと各
オブジェクトとの関係を示す略線図である。各オブジェ
クトにおいては、それぞれオブジェクトID、セレクタ
番号(Selector)によりメソドを特定してデータ交換
し、それぞれ対応するサブジェクト、オブザーバーとは
何ら無関係に、基本的なメソドについてセレクタ番号0
〜3がそれぞれ割り当てられるようになされている。
オブジェクトとの関係を示す略線図である。各オブジェ
クトにおいては、それぞれオブジェクトID、セレクタ
番号(Selector)によりメソドを特定してデータ交換
し、それぞれ対応するサブジェクト、オブザーバーとは
何ら無関係に、基本的なメソドについてセレクタ番号0
〜3がそれぞれ割り当てられるようになされている。
【0109】ここでセレクタ番号0には、ドウイニシャ
ライズ(DoInit)が割り当てられ、各オブジェクトは、
このドウイニシャライズ(DoInit)の起動により初期化
されるようになされている。またセレクタ番号1には、
ドウスタート(DoStart )が割り当てられ、各オブジェ
クトは、このドウスタート(DoStart )の起動により動
作を開始するようになされている。さらにセレクタ番号
2には、ドウストップ(DoStop)が割り当てられ、各オ
ブジェクトは、このドウストップ(DoStop)の起動によ
り動作を停止するようになされている。またセレクタ番
号2には、ドウデストロイ(DoDestroy )が割り当てら
れ、各オブジェクトは、このドウデストロイ(DoDestro
y )によりリソースを開放するようになされている。
ライズ(DoInit)が割り当てられ、各オブジェクトは、
このドウイニシャライズ(DoInit)の起動により初期化
されるようになされている。またセレクタ番号1には、
ドウスタート(DoStart )が割り当てられ、各オブジェ
クトは、このドウスタート(DoStart )の起動により動
作を開始するようになされている。さらにセレクタ番号
2には、ドウストップ(DoStop)が割り当てられ、各オ
ブジェクトは、このドウストップ(DoStop)の起動によ
り動作を停止するようになされている。またセレクタ番
号2には、ドウデストロイ(DoDestroy )が割り当てら
れ、各オブジェクトは、このドウデストロイ(DoDestro
y )によりリソースを開放するようになされている。
【0110】さらに各オブジェクトにおいては、これら
オブジェクトマネージャーからの要求、また他のオブジ
ェクトからの要求に対して、適宜、リターン値によりオ
ブザーバーによるサービス名、セレクタ番号等を通知す
るようになされている。
オブジェクトマネージャーからの要求、また他のオブジ
ェクトからの要求に対して、適宜、リターン値によりオ
ブザーバーによるサービス名、セレクタ番号等を通知す
るようになされている。
【0111】これによりこの実施の形態において、デザ
インロボットより通知される結合情報(Connection Dat
a )に基づいて、オブジェクトマネージャーによりオブ
ジェクトをロード、アンロードした後、オブジェクト間
通信を再構築できるようになされている。
インロボットより通知される結合情報(Connection Dat
a )に基づいて、オブジェクトマネージャーによりオブ
ジェクトをロード、アンロードした後、オブジェクト間
通信を再構築できるようになされている。
【0112】次式は、このデザインロボットより通知さ
れる結合情報(Connection Data )を示すものであり、
サブジェクトのサービス名とオブザーバーのサービス名
をコロンで区切ってテキストデータ形成により記述され
る。この場合、サブジェクト側においては、オブジェク
ト名であるFooB、データ形式Image 、対応する構成要素
名による名称RightCamera 、サブジェクトを示すSの記
述がサービス名として記述される。またオブザーバー側
にあっては、オブジェクト名であるFooA、データ形式Im
age 、対応する構成要素名による名称RightCamera 、オ
ブザーバーを示すOの記述がサービス名として記述され
る。
れる結合情報(Connection Data )を示すものであり、
サブジェクトのサービス名とオブザーバーのサービス名
をコロンで区切ってテキストデータ形成により記述され
る。この場合、サブジェクト側においては、オブジェク
ト名であるFooB、データ形式Image 、対応する構成要素
名による名称RightCamera 、サブジェクトを示すSの記
述がサービス名として記述される。またオブザーバー側
にあっては、オブジェクト名であるFooA、データ形式Im
age 、対応する構成要素名による名称RightCamera 、オ
ブザーバーを示すOの記述がサービス名として記述され
る。
【0113】
【数5】
【0114】オブジェクトマネージャーにおいては、オ
ブジェクトをロードする際に、この結合情報(Connecti
on Data )の記述よりロードするオブジェクト名を検出
する。さらにオブジェクトマネージャーは、スタックメ
モリ(Stack )、ヒープメモリ(heap)を確保してこの
検出したオブジェクト名のオブジェクトを所定のファイ
ルよりロードする。このときオブジェクトマネージャー
は、オペレーションシステム(OS:Operation System )
よりオブジェクトIDを取得し、このオブジェクトID
を結合情報(Connection Data )に記述されたオブジェ
クト名と共に記録する。
ブジェクトをロードする際に、この結合情報(Connecti
on Data )の記述よりロードするオブジェクト名を検出
する。さらにオブジェクトマネージャーは、スタックメ
モリ(Stack )、ヒープメモリ(heap)を確保してこの
検出したオブジェクト名のオブジェクトを所定のファイ
ルよりロードする。このときオブジェクトマネージャー
は、オペレーションシステム(OS:Operation System )
よりオブジェクトIDを取得し、このオブジェクトID
を結合情報(Connection Data )に記述されたオブジェ
クト名と共に記録する。
【0115】これによりオブジェクトマネージャーにお
いては、このようにして登録したオブジェクトIDを用
いて以下のドウイニシャライズ(DoInit)、ドウコネク
ト(DoConnect )、ドウスタート(DoStart )等の処理
を実行するようになされている。
いては、このようにして登録したオブジェクトIDを用
いて以下のドウイニシャライズ(DoInit)、ドウコネク
ト(DoConnect )、ドウスタート(DoStart )等の処理
を実行するようになされている。
【0116】すなわちドウイニシャライズ(DoInit)に
おいて、取得したオブジェクトIDと、上述したセレク
タ番号に基づいて、オブジェクトマネージャーは、オブ
ジェクトのロードにより取得した全てのオブジェクトに
対してドウイニシャライズ(DoInit)をコールする。各
オブジェクトにおいては、このドウイニシャライズ(Do
Init)により内部変数等を初期化し、これによりオブジ
ェクトマネージャーにおいては、各オブジェクトを初期
化する。
おいて、取得したオブジェクトIDと、上述したセレク
タ番号に基づいて、オブジェクトマネージャーは、オブ
ジェクトのロードにより取得した全てのオブジェクトに
対してドウイニシャライズ(DoInit)をコールする。各
オブジェクトにおいては、このドウイニシャライズ(Do
Init)により内部変数等を初期化し、これによりオブジ
ェクトマネージャーにおいては、各オブジェクトを初期
化する。
【0117】この初期化の処理において、オブジェクト
マネージャーは、各オブジェクトからの通知により、そ
れぞれ各オブジェクトのサブジェクトとしてのエントリ
(Control) 、オブジェクトとしてのエントリ(Connect
)を登録する。なおこの登録は、結合情報(Connectio
n Data )におけるサブジェクト及びオブジェクトの記
述に対応して、オブジェクトの名前とサブジェクト、オ
ブジェクトの名前により構成される。
マネージャーは、各オブジェクトからの通知により、そ
れぞれ各オブジェクトのサブジェクトとしてのエントリ
(Control) 、オブジェクトとしてのエントリ(Connect
)を登録する。なおこの登録は、結合情報(Connectio
n Data )におけるサブジェクト及びオブジェクトの記
述に対応して、オブジェクトの名前とサブジェクト、オ
ブジェクトの名前により構成される。
【0118】これに対してドウコネクト(DoConnect )
において、オブジェクトマネージャーは、ドウイニシャ
ライズ(DoInit)における登録に基づいて、オブザーバ
ーを有する各オブジェクトのエントリ(Connect )に対
して、それぞれ登録対象であるサブジェクトのサブジェ
クト(オブジェクトID)ID、エントリ(Control)
を通知する。これによりこの通知を受けたオブジェクト
において、通知されたサブジェクトID、エントリ(Co
ntrol )を用いて対応するサブジェクトを呼び出し、こ
こにエントリ(Notify)が接続登録される。また接続登録
が要求されたサブジェクトよりレディー(Ready )がオ
ブザーバーに返され、これによりオブザーバーと対応す
るサブジェクトとが結合される。
において、オブジェクトマネージャーは、ドウイニシャ
ライズ(DoInit)における登録に基づいて、オブザーバ
ーを有する各オブジェクトのエントリ(Connect )に対
して、それぞれ登録対象であるサブジェクトのサブジェ
クト(オブジェクトID)ID、エントリ(Control)
を通知する。これによりこの通知を受けたオブジェクト
において、通知されたサブジェクトID、エントリ(Co
ntrol )を用いて対応するサブジェクトを呼び出し、こ
こにエントリ(Notify)が接続登録される。また接続登録
が要求されたサブジェクトよりレディー(Ready )がオ
ブザーバーに返され、これによりオブザーバーと対応す
るサブジェクトとが結合される。
【0119】このようにしてオブザーバー及びサブジェ
クト間でオブジェクト間通信を構築するにつき、オブジ
ェクトマネージャーにおいては、結合情報(Connection
Data )で通知されたオブザーバーに対して対応するサ
ブジェクトのサブジェクトID(オブジェクトID)、
エントリ(Control )を通知する。これによりこの実施
の形態において、各オブジェクトにおいては、何ら結合
対象のオブジェクトを明示的に示すことなく開発できる
ようになされ、また必要に応じてオブジェクトマネージ
ャーの指示により種々のオブジェクトと結合できるよう
になされ、これにより従来に比して高い独立性を確保で
きるようになされている。
クト間でオブジェクト間通信を構築するにつき、オブジ
ェクトマネージャーにおいては、結合情報(Connection
Data )で通知されたオブザーバーに対して対応するサ
ブジェクトのサブジェクトID(オブジェクトID)、
エントリ(Control )を通知する。これによりこの実施
の形態において、各オブジェクトにおいては、何ら結合
対象のオブジェクトを明示的に示すことなく開発できる
ようになされ、また必要に応じてオブジェクトマネージ
ャーの指示により種々のオブジェクトと結合できるよう
になされ、これにより従来に比して高い独立性を確保で
きるようになされている。
【0120】またこのときオブジェクトマネージャーに
より結合情報(Connection Data )に従ってオブジェク
ト間通信を構築することにより、簡易かつ自在に形態依
存ソフトウエアを更新して、形態に適してソフトウエア
を簡易に変更できるようになされている。
より結合情報(Connection Data )に従ってオブジェク
ト間通信を構築することにより、簡易かつ自在に形態依
存ソフトウエアを更新して、形態に適してソフトウエア
を簡易に変更できるようになされている。
【0121】これに対してドウスタート(DoStart )に
おいて、オブジェクトマネージャーは、上述したセレク
タ番号1により各オブジェクトにドウスタート(DoStar
t )を指示する。各オブジェクトにおいては、オブザー
バーを有する場合、ドウコネクト(DoConnect )により
取得したサブジェクトID、エントリ(Ready )を用い
てサブジェクトにレディー(Ready )を送出し、これに
より対応するサブジェクトよりデータ受信可能な状態が
形成され、形態依存ソフトウエアにおいては、動作を開
始するようになされている。
おいて、オブジェクトマネージャーは、上述したセレク
タ番号1により各オブジェクトにドウスタート(DoStar
t )を指示する。各オブジェクトにおいては、オブザー
バーを有する場合、ドウコネクト(DoConnect )により
取得したサブジェクトID、エントリ(Ready )を用い
てサブジェクトにレディー(Ready )を送出し、これに
より対応するサブジェクトよりデータ受信可能な状態が
形成され、形態依存ソフトウエアにおいては、動作を開
始するようになされている。
【0122】すなわちマルチオブザーバーによるサブジ
ェクトにおいては、登録したオブザーバーのうちのレデ
ィー(Ready )を送出しているオブザーバーに例えばセ
ンサー出力であるデータをノーティファイ(Notify)
し、またオブザーバーにおいては、受信したデータの処
理を完了して次のデータを受信可能となるとレディー
(Ready )を送出する。
ェクトにおいては、登録したオブザーバーのうちのレデ
ィー(Ready )を送出しているオブザーバーに例えばセ
ンサー出力であるデータをノーティファイ(Notify)
し、またオブザーバーにおいては、受信したデータの処
理を完了して次のデータを受信可能となるとレディー
(Ready )を送出する。
【0123】これに対して上述したシャットダウン、プ
ラグイン、プラグアウト、状態変更の場合、デザインロ
ボットより通知される結合情報(Connection data )
が、以前デザインロボットより送出されて登録した内容
と異なることにより、この場合オブジェクトマネージャ
ーは、上述したセレクタ番号2により各オブジェクトに
ドウストップ(DoStop)を送出する。この場合オブザー
バーにあっては、エントリ(Ready )を解除する。
ラグイン、プラグアウト、状態変更の場合、デザインロ
ボットより通知される結合情報(Connection data )
が、以前デザインロボットより送出されて登録した内容
と異なることにより、この場合オブジェクトマネージャ
ーは、上述したセレクタ番号2により各オブジェクトに
ドウストップ(DoStop)を送出する。この場合オブザー
バーにあっては、エントリ(Ready )を解除する。
【0124】またドウディスコネクト(DoDisConnect)
において、オブジェクトマネージャーは、サブジェクト
とオブザーバーとの間の通信接続を遮断する。この場
合、オブジェクトマネージャーは、オブザーバーのエン
トリ(Connect )に対してドウディスコネクト(DoDisC
onnect)のメッセージを送出することにより、オブザー
バーより対応するサブジェクトにエントリ(Control )
の切断要求(Remove Observer )を発行させ、これによ
り通信接続を遮断する。
において、オブジェクトマネージャーは、サブジェクト
とオブザーバーとの間の通信接続を遮断する。この場
合、オブジェクトマネージャーは、オブザーバーのエン
トリ(Connect )に対してドウディスコネクト(DoDisC
onnect)のメッセージを送出することにより、オブザー
バーより対応するサブジェクトにエントリ(Control )
の切断要求(Remove Observer )を発行させ、これによ
り通信接続を遮断する。
【0125】これに対してドウデストロイ(DoDestroy
)において、オブジェクトマネージャーは、上述した
セレクタ番号3により対応するオブジェクトにドウデス
トロイ(DoDestroy )を送出し、これによりこのオブジ
ェクトを破壊する。このときこのオブジェクトにおいて
は、ドウイニシャライズ(DoInit)で実行した登録の解
除を実行する。
)において、オブジェクトマネージャーは、上述した
セレクタ番号3により対応するオブジェクトにドウデス
トロイ(DoDestroy )を送出し、これによりこのオブジ
ェクトを破壊する。このときこのオブジェクトにおいて
は、ドウイニシャライズ(DoInit)で実行した登録の解
除を実行する。
【0126】オブジェクトアンロード(Object Unload
)において、オブジェクトマネージャーは、ドウデス
トロイ(DoDestroy )により破壊したオブジェクトにつ
いて、スタックメモリ、ヒープメモリの領域を開放し、
このオブジェクトをアンロードする。またロード時に登
録したサブジェクトID、サブジェクト名を抹消する。
)において、オブジェクトマネージャーは、ドウデス
トロイ(DoDestroy )により破壊したオブジェクトにつ
いて、スタックメモリ、ヒープメモリの領域を開放し、
このオブジェクトをアンロードする。またロード時に登
録したサブジェクトID、サブジェクト名を抹消する。
【0127】オブジェクトマネージャーは、これらの制
御により、例えば結合情報(Connection data )をデザ
インロボットより受け取ると、図16に示すシーケンス
によりドウスタート(DoStart )までの制御を実行す
る。
御により、例えば結合情報(Connection data )をデザ
インロボットより受け取ると、図16に示すシーケンス
によりドウスタート(DoStart )までの制御を実行す
る。
【0128】すなわちオブジェクトマネージャーは、メ
ッセージにより結合情報(Connection data )が送られ
ると起動し、例えばこの結合情報に記述されたオブジェ
クトA及びオブジェクトBをロードする。なおここでは
オペレーションシステムのシステム命令によりオブジェ
クトA及びオブジェクトBをロードする。このときオブ
ジェクトマネージャーは、オブジェクトA及びBのオブ
ジェクトIDを取得して登録する。
ッセージにより結合情報(Connection data )が送られ
ると起動し、例えばこの結合情報に記述されたオブジェ
クトA及びオブジェクトBをロードする。なおここでは
オペレーションシステムのシステム命令によりオブジェ
クトA及びオブジェクトBをロードする。このときオブ
ジェクトマネージャーは、オブジェクトA及びBのオブ
ジェクトIDを取得して登録する。
【0129】続いてオブジェクトマネージャーは、上述
したようにしてこの取得したオブザーバーID、セレク
タ番号0によりオブジェクトA及びBのドウイニシャラ
イズ(DoInit)を起動し、これによりオブジェクトA及
びBより、サブジェクトとしてのエントリ(Control) 、
オブジェクトとしてのエントリ(Connect )を取得して
登録する。
したようにしてこの取得したオブザーバーID、セレク
タ番号0によりオブジェクトA及びBのドウイニシャラ
イズ(DoInit)を起動し、これによりオブジェクトA及
びBより、サブジェクトとしてのエントリ(Control) 、
オブジェクトとしてのエントリ(Connect )を取得して
登録する。
【0130】続いて登録したエントリ(Connect )を用
いてオブザーバーであるオブジェクトAのドウコネクト
(DoConnect )を起動し、サブジェクトであるオブジェ
クトBとこのオブジェクトAとを結合する。このように
して結合情報(Connection data )に基づいてオブジェ
クト間通信が構築され、オブジェクトマネージャーは、
続いてオブジェクトA及びBのドウスタート(DoStart
)を起動する。
いてオブザーバーであるオブジェクトAのドウコネクト
(DoConnect )を起動し、サブジェクトであるオブジェ
クトBとこのオブジェクトAとを結合する。このように
して結合情報(Connection data )に基づいてオブジェ
クト間通信が構築され、オブジェクトマネージャーは、
続いてオブジェクトA及びBのドウスタート(DoStart
)を起動する。
【0131】図17は、このドウスタート(DoStart )
以降のシーケンスを示すタイムチャートである。オブジ
ェクトマネージャーのドウスタート(DoStart )により
オブジェクトA、オブジェクトB、他のオブジェクト等
が起動すると、これらのオブジェクトにおいては、上述
したレディー(Ready )とノーティファイ(Notify)と
を用いてオブジェクト間通信を実行する。
以降のシーケンスを示すタイムチャートである。オブジ
ェクトマネージャーのドウスタート(DoStart )により
オブジェクトA、オブジェクトB、他のオブジェクト等
が起動すると、これらのオブジェクトにおいては、上述
したレディー(Ready )とノーティファイ(Notify)と
を用いてオブジェクト間通信を実行する。
【0132】すなわちこの場合、起動によりオブジェク
トAがオブジェクトBのレディー(Ready )エントリに
レディーメッセージを送出し、オブジェクトBによるオ
ブジェクトAのノーティファイ(Notify)エントリによ
りオブジェクトBからオブジェクトAにデータ等が送出
される。またこのデータの処理中に、オブジェクトAよ
りオブジェクトBのレディー(Ready )エントリに未だ
メッセージが送出されていない場合には、オブジェクト
BによるオブジェクトAのノーティファイ(Notify)エ
ントリが登録され、オブジェクトAによるオブジェクト
Bのレディー(Ready )エントリによりデータ等が送出
される。これによりこのオブジェクト間通信において
は、オブジェクトAのデータ処理能力を越えたデータの
伝送が防止される。
トAがオブジェクトBのレディー(Ready )エントリに
レディーメッセージを送出し、オブジェクトBによるオ
ブジェクトAのノーティファイ(Notify)エントリによ
りオブジェクトBからオブジェクトAにデータ等が送出
される。またこのデータの処理中に、オブジェクトAよ
りオブジェクトBのレディー(Ready )エントリに未だ
メッセージが送出されていない場合には、オブジェクト
BによるオブジェクトAのノーティファイ(Notify)エ
ントリが登録され、オブジェクトAによるオブジェクト
Bのレディー(Ready )エントリによりデータ等が送出
される。これによりこのオブジェクト間通信において
は、オブジェクトAのデータ処理能力を越えたデータの
伝送が防止される。
【0133】図18は、プラグイン、プラグアウト、状
態変更におけるシーケンスを示すタイムチャートであ
る。オブジェクトマネージャーは、デザインロボットよ
り通知される結合情報(Connection data )が、以前デ
ザインロボットより送出されて登録した内容と異なって
いると、全てのオブジェクトにドウストップ(DoStop)
を送出し、全てのオブジェクトの動作を停止する。この
場合各オブジェクトA及びBにおいては、エントリ(Re
ady )を解除することにより、それ以後、自己のノーテ
ィファイエントリが起動されないようにする。
態変更におけるシーケンスを示すタイムチャートであ
る。オブジェクトマネージャーは、デザインロボットよ
り通知される結合情報(Connection data )が、以前デ
ザインロボットより送出されて登録した内容と異なって
いると、全てのオブジェクトにドウストップ(DoStop)
を送出し、全てのオブジェクトの動作を停止する。この
場合各オブジェクトA及びBにおいては、エントリ(Re
ady )を解除することにより、それ以後、自己のノーテ
ィファイエントリが起動されないようにする。
【0134】全てのオブジェクトのドウストップ(DoSt
op)が完了すると、オブジェクトマネージャーは、この
場合、オブジェクトAにドウディスコネクト(DoDisCon
nect)を通知してこのオブジェクトAを他のオブジェク
トと切り離した後、このオブジェクトAのドウデストロ
イ(DoDestroy )を起動する。これによりオブジェクト
Aのリソースを開放し、またドウイニシャライズ(DoIn
it)で実行したオブジェクトBの登録を解除する。
op)が完了すると、オブジェクトマネージャーは、この
場合、オブジェクトAにドウディスコネクト(DoDisCon
nect)を通知してこのオブジェクトAを他のオブジェク
トと切り離した後、このオブジェクトAのドウデストロ
イ(DoDestroy )を起動する。これによりオブジェクト
Aのリソースを開放し、またドウイニシャライズ(DoIn
it)で実行したオブジェクトBの登録を解除する。
【0135】必要なオブジェクトに対するドウデストロ
イ(DoDestroy )が終了するとオブジェクトマネージャ
ーは、アンロードをオペレーションシステムのシステム
命令により実行する。なおここで必要なオブジェクトの
destructorが呼び出され、この場合はオブジェクトAの
destructorが呼び出されることにより、ロード時に実行
したオブジェクトAの登録を解除する。さらにオブジェ
クトマネージャーは、スタックメモリ、ヒープメモリを
開放し、これによりオブジェクトAのアンロードを完了
する。
イ(DoDestroy )が終了するとオブジェクトマネージャ
ーは、アンロードをオペレーションシステムのシステム
命令により実行する。なおここで必要なオブジェクトの
destructorが呼び出され、この場合はオブジェクトAの
destructorが呼び出されることにより、ロード時に実行
したオブジェクトAの登録を解除する。さらにオブジェ
クトマネージャーは、スタックメモリ、ヒープメモリを
開放し、これによりオブジェクトAのアンロードを完了
する。
【0136】続いてオブジェクトマネージャーは、結合
情報(Connection data )に従ってオブジェクトCのロ
ードを指示し、図16について上述したと同様にして、
順次ドウイニシャライズ(DoInit)、ドウコネクト(Do
Connect )、ドウスタート(DoStart )を起動する。こ
れによりこの場合、動作中に、コンパイルすることなく
オブジェクトA及びBによる構成がオブジェクトB及び
Cによる構成に変更されるようになされている。
情報(Connection data )に従ってオブジェクトCのロ
ードを指示し、図16について上述したと同様にして、
順次ドウイニシャライズ(DoInit)、ドウコネクト(Do
Connect )、ドウスタート(DoStart )を起動する。こ
れによりこの場合、動作中に、コンパイルすることなく
オブジェクトA及びBによる構成がオブジェクトB及び
Cによる構成に変更されるようになされている。
【0137】(1−5)連想記憶によるオブジェクトの
登録 図19は、(5)式により示した結合情報(Connection
data )に従ってオブジェクトA及びオブジェクトBを
示す略線図である。オブジェクトマネージャーにおいて
は、結合情報(Connection data )を連想記憶に保持し
て記録すると共に、オブジェクトのドウイニシャライズ
(DoInit)を起動して各オブジェクトを登録する際に、
結合情報(Connection data )の記述を基準にして連想
記憶に各オブジェクトを登録する。
登録 図19は、(5)式により示した結合情報(Connection
data )に従ってオブジェクトA及びオブジェクトBを
示す略線図である。オブジェクトマネージャーにおいて
は、結合情報(Connection data )を連想記憶に保持し
て記録すると共に、オブジェクトのドウイニシャライズ
(DoInit)を起動して各オブジェクトを登録する際に、
結合情報(Connection data )の記述を基準にして連想
記憶に各オブジェクトを登録する。
【0138】すなわちこの場合、オブザーバー側である
オブジェクトAのオブジェクト名がFooA、サブジェクト
側であるオブジェクトBのオブジェクト名がFooB、デー
タ形式がImage であり、サブの名称がRightCamera であ
る。これによりこのサブジェクトとオブジェクトとの結
合情報(Connection Data )においては、サブジェクト
のサービス名とオブザーバーのサービス名をコロンで区
切って(FooB.Image.RightCamera.S,FooA.Image.RightC
amera.O )により記述されることになる。
オブジェクトAのオブジェクト名がFooA、サブジェクト
側であるオブジェクトBのオブジェクト名がFooB、デー
タ形式がImage であり、サブの名称がRightCamera であ
る。これによりこのサブジェクトとオブジェクトとの結
合情報(Connection Data )においては、サブジェクト
のサービス名とオブザーバーのサービス名をコロンで区
切って(FooB.Image.RightCamera.S,FooA.Image.RightC
amera.O )により記述されることになる。
【0139】オブジェクトマネージャーは、この結合情
報(Connection Data )がデザインロボットより渡され
ると、図20に示すように、この結合情報のオブザーバ
ー側の記述( O.FooA.Image.RightCamera )をキーとし
て、サブジェクト側の記述(FooB.Image.RightCamera.
S)を連想記憶1に記憶して蓄積する。
報(Connection Data )がデザインロボットより渡され
ると、図20に示すように、この結合情報のオブザーバ
ー側の記述( O.FooA.Image.RightCamera )をキーとし
て、サブジェクト側の記述(FooB.Image.RightCamera.
S)を連想記憶1に記憶して蓄積する。
【0140】これに対して各オブジェクトにおいては、
ドウイニシャライズ(DoInit)によりオブジェクトマネ
ージャーの登録エントリに対してサービス名、セレクタ
番号を通知し、オブジェクトマネージャーは、これらの
通知を同様に連想記憶2に記憶して各オブジェクトを登
録する。
ドウイニシャライズ(DoInit)によりオブジェクトマネ
ージャーの登録エントリに対してサービス名、セレクタ
番号を通知し、オブジェクトマネージャーは、これらの
通知を同様に連想記憶2に記憶して各オブジェクトを登
録する。
【0141】すなわちこの場合オブザーバー側であるオ
ブジェクトAにおいては、結合情報(Connection Data
)におけるオブザーバー側の記述(FooB.Image.RightC
amera.O)と同一の記述によるサービス名を通知し、ま
たコネクションエントリのセレクタ番号を通知する。な
おこのオブジェクトAにおいては、このセレクタ番号を
5とする。
ブジェクトAにおいては、結合情報(Connection Data
)におけるオブザーバー側の記述(FooB.Image.RightC
amera.O)と同一の記述によるサービス名を通知し、ま
たコネクションエントリのセレクタ番号を通知する。な
おこのオブジェクトAにおいては、このセレクタ番号を
5とする。
【0142】オブジェクトマネージャーにおいては、図
21に示すように、結合情報(Connection Data )にお
けるオブザーバー側の記述(FooA.Image.RightCamera.
O)をキーにして、このオブジェクトAのオブジェクト
ID、セレクタ番号(OID,Entry )=(2,5)を連想
記憶2に記録する。なおここでこのオブジェクトAのオ
ブジェクトIDは、オペレーションシステムより値1と
して通知されたものである。
21に示すように、結合情報(Connection Data )にお
けるオブザーバー側の記述(FooA.Image.RightCamera.
O)をキーにして、このオブジェクトAのオブジェクト
ID、セレクタ番号(OID,Entry )=(2,5)を連想
記憶2に記録する。なおここでこのオブジェクトAのオ
ブジェクトIDは、オペレーションシステムより値1と
して通知されたものである。
【0143】またこの場合、サブジェクト側であるオブ
ジェクトBにおいては、結合情報(Connection Data )
におけるサブジェクト側の記述(FooB.Image.RightCame
ra.S)と同一の記述によるサービス名を通知し、またコ
ネクションエントリのセレクタ番号を通知する。なおこ
のオブジェクトBにおいては、このセレクタ番号を5と
する。
ジェクトBにおいては、結合情報(Connection Data )
におけるサブジェクト側の記述(FooB.Image.RightCame
ra.S)と同一の記述によるサービス名を通知し、またコ
ネクションエントリのセレクタ番号を通知する。なおこ
のオブジェクトBにおいては、このセレクタ番号を5と
する。
【0144】オブジェクトマネージャーにおいては、図
21において、オブジェクトAについての記述と共に示
すように、結合情報(Connection Data )におけるサブ
ジェクト側の記述(FooB.Image.RightCamera.S)をキー
にして、このオブジェクトBのオブジェクトID、セレ
クタ番号(OID,Entry )=(1,5)を連想記憶2に記
録する。なおここでこのオブジェクトBのオブジェクト
IDは、オペレーションシステムより値2として通知さ
れたものである。
21において、オブジェクトAについての記述と共に示
すように、結合情報(Connection Data )におけるサブ
ジェクト側の記述(FooB.Image.RightCamera.S)をキー
にして、このオブジェクトBのオブジェクトID、セレ
クタ番号(OID,Entry )=(1,5)を連想記憶2に記
録する。なおここでこのオブジェクトBのオブジェクト
IDは、オペレーションシステムより値2として通知さ
れたものである。
【0145】オブジェクトマネージャーにおいては、ド
ウコネクト(DoConnect )時、結合情報(Connection D
ata )よりサブジェクト側の記述とオブジェクト側の記
述を分離する。これによりオブジェクトマネージャーに
おいては、連想記憶1に記憶されたキー(FooA.Image.R
ightCamera.O)と、このキー(FooA.Image.RightCamer
a.O)により連想記憶1に蓄積された種々の記述(FooA.
Image.RightCamera.O)の1つとにそれぞれ対応するよ
うに、結合情報(Connection Data )の記述を分離す
る。
ウコネクト(DoConnect )時、結合情報(Connection D
ata )よりサブジェクト側の記述とオブジェクト側の記
述を分離する。これによりオブジェクトマネージャーに
おいては、連想記憶1に記憶されたキー(FooA.Image.R
ightCamera.O)と、このキー(FooA.Image.RightCamer
a.O)により連想記憶1に蓄積された種々の記述(FooA.
Image.RightCamera.O)の1つとにそれぞれ対応するよ
うに、結合情報(Connection Data )の記述を分離す
る。
【0146】さらにオブジェクトマネージャーは、この
分離した記述によりそれぞれ連想記憶2を検索し、対応
するオブザーバーのオブジェクトID及びセレクタ番号
(1,5)、サブジェクトのオブジェクトID及びセレ
クタ番号(2,5)を検出する。
分離した記述によりそれぞれ連想記憶2を検索し、対応
するオブザーバーのオブジェクトID及びセレクタ番号
(1,5)、サブジェクトのオブジェクトID及びセレ
クタ番号(2,5)を検出する。
【0147】オブジェクトマネージャーは、これにより
オブジェクトID及びセレクタ番号(1,5)に対し
て、オブジェクトID及びセレクタ番号(2,5)のメ
ッセージを送出し、オブザーバーのコネクトエントリを
起動し、このコネクトエントリーをオブジェクトID及
びセレクタ番号(2,5)によるサブジェクトの情報を
通知する。またこのコネクトエントリーよりオブジェク
トID及びセレクタ番号(2,5)によるサブジェクト
側コントロールエントリを起動し、このコントロールエ
ントリにオブザーバー側であるオブジェクトID及びセ
レクタ番号(1,6)(この場合はノーティファイ(No
tify)である)を登録する。このときオブザーバー側
は、戻り値によりレディーのセレクタ番号を得、これを
登録する。
オブジェクトID及びセレクタ番号(1,5)に対し
て、オブジェクトID及びセレクタ番号(2,5)のメ
ッセージを送出し、オブザーバーのコネクトエントリを
起動し、このコネクトエントリーをオブジェクトID及
びセレクタ番号(2,5)によるサブジェクトの情報を
通知する。またこのコネクトエントリーよりオブジェク
トID及びセレクタ番号(2,5)によるサブジェクト
側コントロールエントリを起動し、このコントロールエ
ントリにオブザーバー側であるオブジェクトID及びセ
レクタ番号(1,6)(この場合はノーティファイ(No
tify)である)を登録する。このときオブザーバー側
は、戻り値によりレディーのセレクタ番号を得、これを
登録する。
【0148】これによりオブジェクトマネージャーにお
いては、連想記憶1及び2を用いてオブジェクト間の結
合を確立するようになされている。
いては、連想記憶1及び2を用いてオブジェクト間の結
合を確立するようになされている。
【0149】このようにしてオブジェクト間の結合が確
立すると、オブジェクトマネージャーは、結合情報(Co
nnection Data )のオブザーバー側の記述(FooA.Imag
e.RightCamera.O)をキーにして、結合情報(Connectio
n Data )のサブジェクト側の記述(FooB.Image.RightC
amera.S)を連想記憶3に記憶し、さらに連想記憶の記
録よりオブザーバー側の記述(FooA.Image.RightCamer
a.O)をキーにしたサブジェクト側の記述(FooB.Image.
RightCamera.S)を削除する。
立すると、オブジェクトマネージャーは、結合情報(Co
nnection Data )のオブザーバー側の記述(FooA.Imag
e.RightCamera.O)をキーにして、結合情報(Connectio
n Data )のサブジェクト側の記述(FooB.Image.RightC
amera.S)を連想記憶3に記憶し、さらに連想記憶の記
録よりオブザーバー側の記述(FooA.Image.RightCamer
a.O)をキーにしたサブジェクト側の記述(FooB.Image.
RightCamera.S)を削除する。
【0150】これによりオブジェクトマネージャーは、
結合情報(Connection Data )に対応する記述により、
オブジェクト間の結合が確立されてなるオブザーバー及
びサブジェクトを連想記憶3に登録して保持するように
なされている。
結合情報(Connection Data )に対応する記述により、
オブジェクト間の結合が確立されてなるオブザーバー及
びサブジェクトを連想記憶3に登録して保持するように
なされている。
【0151】かくするにつきオブジェクトマネージャー
は、ドウディスコネクト(DoDisConnect)時において
は、上述したドウコネクト(DoConnect )時とは逆に、
結合を遮断すると共に、連想記憶3に記録された対応す
る記述を削除して連想記憶1に記録し直し、また連想記
憶2の対応する記述を削除すようになされている。
は、ドウディスコネクト(DoDisConnect)時において
は、上述したドウコネクト(DoConnect )時とは逆に、
結合を遮断すると共に、連想記憶3に記録された対応す
る記述を削除して連想記憶1に記録し直し、また連想記
憶2の対応する記述を削除すようになされている。
【0152】これに対して形態依存ソフトウエアの変更
により例えば次式により示される結合情報(Connection
Data )がデザインロボットより通知されたとする。
により例えば次式により示される結合情報(Connection
Data )がデザインロボットより通知されたとする。
【0153】
【数6】
【0154】すなわちこの結合情報(Connection Data
)は、オブジェクトBに代えて、オブジェクトCにオ
ブザーバーを変更する記述である。オブジェクトマネー
ジャーは、この場合、連想記憶2より FooA.Image.Righ
tCamera.O をキーにしてそれまでオブザーバーに設定さ
れているオブジェクトID、セレクタ番号(1,5)を
検出する。さらにこのオブジェクトID、セレクタ番号
(1,5)によりオブザーバーであるオブザーバーAに
ドウディスコネクト(DoDisConnect)を指示すると共
に、連想記憶2の対応する記述(オブザーバー及びサブ
ジェクトであるオブジェクトA及びBの記述)を削除
し、また連想記憶3に記録された対応する記述を削除し
て連想記憶1に記録し直す。
)は、オブジェクトBに代えて、オブジェクトCにオ
ブザーバーを変更する記述である。オブジェクトマネー
ジャーは、この場合、連想記憶2より FooA.Image.Righ
tCamera.O をキーにしてそれまでオブザーバーに設定さ
れているオブジェクトID、セレクタ番号(1,5)を
検出する。さらにこのオブジェクトID、セレクタ番号
(1,5)によりオブザーバーであるオブザーバーAに
ドウディスコネクト(DoDisConnect)を指示すると共
に、連想記憶2の対応する記述(オブザーバー及びサブ
ジェクトであるオブジェクトA及びBの記述)を削除
し、また連想記憶3に記録された対応する記述を削除し
て連想記憶1に記録し直す。
【0155】すなわちオブジェクトマネージャーは、連
想記憶2よりFooA.Image.RightCamera.O、FooA.Image.R
ightCamera.SをキーにしてなるオブジェクトID、セレ
クタ番号の記述を削除する。これによりオブジェクトマ
ネージャーは、オブジェクトを動的に変更できるように
なされている。
想記憶2よりFooA.Image.RightCamera.O、FooA.Image.R
ightCamera.SをキーにしてなるオブジェクトID、セレ
クタ番号の記述を削除する。これによりオブジェクトマ
ネージャーは、オブジェクトを動的に変更できるように
なされている。
【0156】(2)第1の実施の形態の動作
以上の構成において、ロボット1においては(図1)、
本体2に移動ユニット3として足を取り付けると4足型
の形態となり、この足に取り付けたモータの駆動により
4足歩行するようになされている。また後足に代えてタ
イヤを取り付けるとタイヤ型の形態となり、このタイヤ
により移動可能とされる。
本体2に移動ユニット3として足を取り付けると4足型
の形態となり、この足に取り付けたモータの駆動により
4足歩行するようになされている。また後足に代えてタ
イヤを取り付けるとタイヤ型の形態となり、このタイヤ
により移動可能とされる。
【0157】ロボット1においては(図2)、ロボット
コンポーネント24、25、26等である足等により配
置されたセンサーの出力、さらには頭部2Aに配置され
た各種情報取得手段により取得された情報等に基づい
て、中央処理ユニット22の処理により必要な制御指令
が出力されて、これら移動ユニット3等が制御される。
コンポーネント24、25、26等である足等により配
置されたセンサーの出力、さらには頭部2Aに配置され
た各種情報取得手段により取得された情報等に基づい
て、中央処理ユニット22の処理により必要な制御指令
が出力されて、これら移動ユニット3等が制御される。
【0158】ロボット1においては(図3及び図4)、
オブジェクト指向により構成される上位レイヤーのソフ
トウエアにより、デバイスドライバレイヤーの各種デバ
イスドライバを駆動してこれらの制御が実行される。こ
の制御において、デバイスドライバレイヤーの上位層で
あるロボットシステムソフトウエアにおいては、バーチ
ャルロボットによりシリアルバスに接続された各部品が
検出され、ロボット1全体でどの様なロボットコンポー
ネントがどの様な順番で接続されているのかを示す結合
情報( CPC Connection Information )がデザインロボ
ットに通知される。これによりロボット1においては、
シルアルバスに接続されたデバイスにより現在の形態が
特定され、さらにこの現在の形態を構成する制御対象等
が具体的に特定される。
オブジェクト指向により構成される上位レイヤーのソフ
トウエアにより、デバイスドライバレイヤーの各種デバ
イスドライバを駆動してこれらの制御が実行される。こ
の制御において、デバイスドライバレイヤーの上位層で
あるロボットシステムソフトウエアにおいては、バーチ
ャルロボットによりシリアルバスに接続された各部品が
検出され、ロボット1全体でどの様なロボットコンポー
ネントがどの様な順番で接続されているのかを示す結合
情報( CPC Connection Information )がデザインロボ
ットに通知される。これによりロボット1においては、
シルアルバスに接続されたデバイスにより現在の形態が
特定され、さらにこの現在の形態を構成する制御対象等
が具体的に特定される。
【0159】ロボット1においては、結合情報( CPC C
onnection Information )に応じてこのロボットシステ
ムソフトウエアの上位層のソフトウエアが更新され、こ
れにより形態に適した適切なソフトウエアにより全体の
動作が制御される。
onnection Information )に応じてこのロボットシステ
ムソフトウエアの上位層のソフトウエアが更新され、こ
れにより形態に適した適切なソフトウエアにより全体の
動作が制御される。
【0160】このソフトウエアの更新において、ロボッ
ト1は、ロボットシステムソフトウエアのデザインロボ
ットにより、各形態毎に、各部品の構成要素情報(CPC
Primitive Location Information)群に対してラベルを
付加して記述されてなるデザインファイルと、バーチャ
ルロボットより通知される結合情報( CPC Connection
Information )とを比較して、形態に適した適切なオブ
ジェクトを選択し、このオブジェクトによる形態依存ソ
フトウエアが変更される(図7、図8)。これによりロ
ボット1においては、形態に適した適切なソフトウエア
に簡易に変更して全体の動作を制御することができる。
ト1は、ロボットシステムソフトウエアのデザインロボ
ットにより、各形態毎に、各部品の構成要素情報(CPC
Primitive Location Information)群に対してラベルを
付加して記述されてなるデザインファイルと、バーチャ
ルロボットより通知される結合情報( CPC Connection
Information )とを比較して、形態に適した適切なオブ
ジェクトを選択し、このオブジェクトによる形態依存ソ
フトウエアが変更される(図7、図8)。これによりロ
ボット1においては、形態に適した適切なソフトウエア
に簡易に変更して全体の動作を制御することができる。
【0161】また、上位層のソフトウエアがロボットの
形態に依存しない形態独立ソフトウエアと、形態に依存
する形態依存ソフトウエアに分離されて、さらに形態独
立ソフトウエアにより形態に依存しない形式により取り
扱われるデータが形態依存ソフトウエアにより形態に対
応した形式により変換されてロボットシステムソフトウ
エアとの間で送受されるように構成された状態で、この
形態依存ソフトウエアのみが更新される。これにより簡
易な処理によりソフトウエアを更新することが可能とな
る。
形態に依存しない形態独立ソフトウエアと、形態に依存
する形態依存ソフトウエアに分離されて、さらに形態独
立ソフトウエアにより形態に依存しない形式により取り
扱われるデータが形態依存ソフトウエアにより形態に対
応した形式により変換されてロボットシステムソフトウ
エアとの間で送受されるように構成された状態で、この
形態依存ソフトウエアのみが更新される。これにより簡
易な処理によりソフトウエアを更新することが可能とな
る。
【0162】さらにこのときバーチャルロボットにおい
ては、テキストデータ形式の記述により構成要素情報
(CPC Primitive Location Information)を生成するの
に対し(図8及び図9)、デザインファイルにおいて
は、同様のテキストデータ形式により記述されているこ
とにより、変化する形態が将来増大したような場合に
も、簡易に対応することが可能となる。
ては、テキストデータ形式の記述により構成要素情報
(CPC Primitive Location Information)を生成するの
に対し(図8及び図9)、デザインファイルにおいて
は、同様のテキストデータ形式により記述されているこ
とにより、変化する形態が将来増大したような場合に
も、簡易に対応することが可能となる。
【0163】ロボット1においては、このソフトウエア
の更新がオブジェクトマネージャーにより形態依存ソフ
トウエアのオブジェクトの再構築により実行される。す
なわちオブジェクトマネージャーにおいては、起動時等
において、デザインロボットより現在の形態に適したオ
ブジェクトの結合を指示する結合情報(Connection Dat
a )が通知され、この結合情報(Connection Data )に
より指定されるオブジェクトがロードされる(図1
6)。
の更新がオブジェクトマネージャーにより形態依存ソフ
トウエアのオブジェクトの再構築により実行される。す
なわちオブジェクトマネージャーにおいては、起動時等
において、デザインロボットより現在の形態に適したオ
ブジェクトの結合を指示する結合情報(Connection Dat
a )が通知され、この結合情報(Connection Data )に
より指定されるオブジェクトがロードされる(図1
6)。
【0164】さらにロードしたオブジェクトが初期化さ
れた後、結合情報(Connection Data )の指定によりオ
ブジェクトマネージャーでデータ交換可能にサブジェク
ト及びオブザーバーが結合される。これによりロボット
1においては、形態に適したオブジェクトにより形態依
存ソフトウエアが構築される。
れた後、結合情報(Connection Data )の指定によりオ
ブジェクトマネージャーでデータ交換可能にサブジェク
ト及びオブザーバーが結合される。これによりロボット
1においては、形態に適したオブジェクトにより形態依
存ソフトウエアが構築される。
【0165】従ってロボット1においては、具体的な結
合対象を何ら考慮することなく各オブジェクトを設計し
て、ソフトウエアを構築することができ、また形態に応
じて結合情報(Connection Data )を生成することによ
り、形態に適したソフトウエアを簡易に構築することが
できる。さらに再コンパイル、再リンキングすることな
くソフトウエアを変更することができる。これによりロ
ボット1においては、オブジェクトの独立性を従来に比
して格段的に向上することができ、その分自由な形態の
変更に対して適切なソフトウエアを簡易かつ迅速に提供
することが可能となる。またこの結合情報の設定により
1つのオブジェクトと複数のオブジェクトとの間でオブ
ジェクト間通信を構築することもできる。
合対象を何ら考慮することなく各オブジェクトを設計し
て、ソフトウエアを構築することができ、また形態に応
じて結合情報(Connection Data )を生成することによ
り、形態に適したソフトウエアを簡易に構築することが
できる。さらに再コンパイル、再リンキングすることな
くソフトウエアを変更することができる。これによりロ
ボット1においては、オブジェクトの独立性を従来に比
して格段的に向上することができ、その分自由な形態の
変更に対して適切なソフトウエアを簡易かつ迅速に提供
することが可能となる。またこの結合情報の設定により
1つのオブジェクトと複数のオブジェクトとの間でオブ
ジェクト間通信を構築することもできる。
【0166】この結合情報(Connection Data )がサブ
ジェクトと通信するデータの形式とを特定する情報であ
ることにより、オブジェクトマネージャーにおいては、
この結合情報(Connection Data )により対応するオブ
ジェクトID、セレクタ番号を特定して簡易にオブジェ
クト通信を構築することができる。
ジェクトと通信するデータの形式とを特定する情報であ
ることにより、オブジェクトマネージャーにおいては、
この結合情報(Connection Data )により対応するオブ
ジェクトID、セレクタ番号を特定して簡易にオブジェ
クト通信を構築することができる。
【0167】またデザインロボットにより、複数の結合
情報が記録されてなるデザインファイルから結合情報
(Connection Data )を選択してオブジェクトマネージ
ャーに提供することにより、このデザインの設定により
必要に応じて各種形態に対応するソフトウエアを簡易に
構築することが可能となる。
情報が記録されてなるデザインファイルから結合情報
(Connection Data )を選択してオブジェクトマネージ
ャーに提供することにより、このデザインの設定により
必要に応じて各種形態に対応するソフトウエアを簡易に
構築することが可能となる。
【0168】またこの結合情報(Connection Data )に
おいても、テキストデータ形式により記述されているこ
とにより、簡易に種々に変更することができる。
おいても、テキストデータ形式により記述されているこ
とにより、簡易に種々に変更することができる。
【0169】これに対して形態が変更されると、ロボッ
ト1においては、バーチャルロボットにより形態の変更
が検出され、この変更された形態に係る結合情報( CPC
Connection Information )がデザインロボットに通知
される。さらにこのデザインロボットにおいてデザイン
ファイルとの比較により、変更された形態に係る結合情
報(Connection Data )が生成される。またこの結合情
報(Connection Data)に従ってオブジェクトマネージ
ャーによって形態の変更により不要となったオブジェク
トがアンロードされると共に、形態の変更により必要な
オブジェクトがロードされ、形態依存ソフトウエアを構
成するオブジェクトが再構築される。さらにこれらのオ
ブジェクトが結合情報(Connection Data )によりオブ
ジェクト間通信可能に結合され、これにより形態依存ソ
フトウエアが更新される。
ト1においては、バーチャルロボットにより形態の変更
が検出され、この変更された形態に係る結合情報( CPC
Connection Information )がデザインロボットに通知
される。さらにこのデザインロボットにおいてデザイン
ファイルとの比較により、変更された形態に係る結合情
報(Connection Data )が生成される。またこの結合情
報(Connection Data)に従ってオブジェクトマネージ
ャーによって形態の変更により不要となったオブジェク
トがアンロードされると共に、形態の変更により必要な
オブジェクトがロードされ、形態依存ソフトウエアを構
成するオブジェクトが再構築される。さらにこれらのオ
ブジェクトが結合情報(Connection Data )によりオブ
ジェクト間通信可能に結合され、これにより形態依存ソ
フトウエアが更新される。
【0170】これによりロボット1においては、形態独
立ソフトウエア等を動作させたままの状態で、必要に応
じて形態依存ソフトウエアを更新して形態に適したソフ
トウエアを構築することができる。またこのソフトウエ
アの変更を電力消費モードの切り換えに適用することも
可能となる。
立ソフトウエア等を動作させたままの状態で、必要に応
じて形態依存ソフトウエアを更新して形態に適したソフ
トウエアを構築することができる。またこのソフトウエ
アの変更を電力消費モードの切り換えに適用することも
可能となる。
【0171】(3)第1の実施の形態の効果
以上の構成によれば、部品を交換して形態を変更できる
ようになされたロボットにおいて、結合情報(結合関係
情報)に基づいて、オブジェクトマネージャーによりデ
ータ交換可能にオブジェクトを結合することにより、従
来に比してオブジェクトの独立性を向上することがで
き、その分簡易に形態に適してソフトウエアを変更する
ことができる。また再コンパイル、再リンキングするこ
となく、簡易にソフトウエアを変更することができる。
またこの結合情報の設定により1つのオブジェクトと複
数のオブジェクトとの間でオブジェクト間通信を構築す
ることもできる。
ようになされたロボットにおいて、結合情報(結合関係
情報)に基づいて、オブジェクトマネージャーによりデ
ータ交換可能にオブジェクトを結合することにより、従
来に比してオブジェクトの独立性を向上することがで
き、その分簡易に形態に適してソフトウエアを変更する
ことができる。また再コンパイル、再リンキングするこ
となく、簡易にソフトウエアを変更することができる。
またこの結合情報の設定により1つのオブジェクトと複
数のオブジェクトとの間でオブジェクト間通信を構築す
ることもできる。
【0172】このとき結合関係情報が、少なくともオブ
ジェクトと、通信するデータの形式とを特定する情報
と、サブジェクト又はオブザーバーの区別であることに
より、簡易にこれらオブジェクトを結合することができ
る。
ジェクトと、通信するデータの形式とを特定する情報
と、サブジェクト又はオブザーバーの区別であることに
より、簡易にこれらオブジェクトを結合することができ
る。
【0173】(4)第2の実施の形態
ところで上述したドウイニシャライズ(DoInit)等の命
令をCall命令により処理するオペレーションシステ
ムにおいては、命令の送出により送出先に処理を渡すこ
とになり、オブジェクトマネージャーにおいては、送出
先よりReplyが返されるまで各オブジェクトから送
出されるメッセージをブロックすることになる。従って
図16について上述したように、ドウイニシャライズ
(DoInit)を送出した後、サブジェクトとしてのエント
リ(Control) 、オブジェクトとしてのエントリ(Connec
t )をオブジェクトマネージャーで登録することが困難
になる。
令をCall命令により処理するオペレーションシステ
ムにおいては、命令の送出により送出先に処理を渡すこ
とになり、オブジェクトマネージャーにおいては、送出
先よりReplyが返されるまで各オブジェクトから送
出されるメッセージをブロックすることになる。従って
図16について上述したように、ドウイニシャライズ
(DoInit)を送出した後、サブジェクトとしてのエント
リ(Control) 、オブジェクトとしてのエントリ(Connec
t )をオブジェクトマネージャーで登録することが困難
になる。
【0174】このためこの実施の形態に係るロボットお
いては、図4との対比により図22に示すように、これ
らエントリ(Control、Connect ) をサービースマネージ
ャーに登録し、サービスマネージャーによりオブジェク
ト間通信を管理する。これに対してオブジェクトマネー
ジャーにおいては、オブジェクトのロード、アンロード
等の処理のみ実行する。すなわちこの実施の形態におい
て、オブジェクトマネージャーは、形態依存ソフトウエ
アを構成する全てのオブジェクトについて、動作の停
止、オブジェクト間通信のための結合解除、オブジェク
トの破壊、リソースの開放を指示し、さらに新たに必要
なオブジェクトのロード、初期化、オブジェクトの起動
を指示する。これに対してサービスマネージャーは、オ
ブジェクト間通信における通信相手の情報を管理する。
いては、図4との対比により図22に示すように、これ
らエントリ(Control、Connect ) をサービースマネージ
ャーに登録し、サービスマネージャーによりオブジェク
ト間通信を管理する。これに対してオブジェクトマネー
ジャーにおいては、オブジェクトのロード、アンロード
等の処理のみ実行する。すなわちこの実施の形態におい
て、オブジェクトマネージャーは、形態依存ソフトウエ
アを構成する全てのオブジェクトについて、動作の停
止、オブジェクト間通信のための結合解除、オブジェク
トの破壊、リソースの開放を指示し、さらに新たに必要
なオブジェクトのロード、初期化、オブジェクトの起動
を指示する。これに対してサービスマネージャーは、オ
ブジェクト間通信における通信相手の情報を管理する。
【0175】なおこの実施の形態においては、このオブ
ジェクトマネージャー、サービスマネージャーの構成、
これらの構成に関連する各部の構成が異なる点を除い
て、上述した第1の実施に形態と同一であることによ
り、この実施の形態では、オブジェクトマネージャー、
サービスマネージャーの構成を中心に説明し、重複した
説明は省略する。
ジェクトマネージャー、サービスマネージャーの構成、
これらの構成に関連する各部の構成が異なる点を除い
て、上述した第1の実施に形態と同一であることによ
り、この実施の形態では、オブジェクトマネージャー、
サービスマネージャーの構成を中心に説明し、重複した
説明は省略する。
【0176】なお図23に示すように、この実施の形態
において、オブジェクト間の結合は、オブジェクト間で
データを送受信するための結合を意味し、通信を行う双
方のサービス間の結合として表現する。また結合は、
(5)式について上述したように、データ出力側のサー
ビス、データ入力側のサービス、通信するデータ型、デ
ータフロー方向で表現される。また図24に示すよう
に、結合状態とは、ロボットシステム内にロードされて
いるオブジェクトの一群においてオブジェクト同士に張
られている結合の集合を意味し、接続情報とは、起動
時、形態の変更時に新たにオブジェクト間に張られる結
合の情報を意味し、現在の結合状態と新しい結合状態の
差分情報である。また切断情報とは、形態の変更時に、
不要となった結合情報を意味し、新しい結合状態と現在
の結合状態の差分情報である。
において、オブジェクト間の結合は、オブジェクト間で
データを送受信するための結合を意味し、通信を行う双
方のサービス間の結合として表現する。また結合は、
(5)式について上述したように、データ出力側のサー
ビス、データ入力側のサービス、通信するデータ型、デ
ータフロー方向で表現される。また図24に示すよう
に、結合状態とは、ロボットシステム内にロードされて
いるオブジェクトの一群においてオブジェクト同士に張
られている結合の集合を意味し、接続情報とは、起動
時、形態の変更時に新たにオブジェクト間に張られる結
合の情報を意味し、現在の結合状態と新しい結合状態の
差分情報である。また切断情報とは、形態の変更時に、
不要となった結合情報を意味し、新しい結合状態と現在
の結合状態の差分情報である。
【0177】図25は、図10との対比により、この実
施の形態に係るロボットシステムソフトウエアの起動時
の処理を示すタイムチャートである。電源が投入される
と、又はリセットがされると、始めにロボットシステム
ソフトウエアを構成する各オブジェクトに対して初期化
等の処理が実行される。すなわちロボットにおいては、
図26に示すように、パワーマネージャー、サービスマ
ネージャー、バーチャルロボット、デザインロボットの
順に、オブジェクトマネージャーよりドウイニシャライ
ズ(DoInit)の送出、リプライ(Reply )の受信が繰り
返され、これによりロボットシステムソフトウエアにお
けるドウイニシャライズのフェーズが実行される。なお
以下においては、適宜図面上で処理の順番を数字により
示す。
施の形態に係るロボットシステムソフトウエアの起動時
の処理を示すタイムチャートである。電源が投入される
と、又はリセットがされると、始めにロボットシステム
ソフトウエアを構成する各オブジェクトに対して初期化
等の処理が実行される。すなわちロボットにおいては、
図26に示すように、パワーマネージャー、サービスマ
ネージャー、バーチャルロボット、デザインロボットの
順に、オブジェクトマネージャーよりドウイニシャライ
ズ(DoInit)の送出、リプライ(Reply )の受信が繰り
返され、これによりロボットシステムソフトウエアにお
けるドウイニシャライズのフェーズが実行される。なお
以下においては、適宜図面上で処理の順番を数字により
示す。
【0178】さらに図27に示すように、パワーマネー
ジャー、サービスマネージャー、バーチャルロボット、
デザインロボットの順に、オブジェクトマネージャーよ
り順次ドウスタート(DoStart )が送出され、これによ
りロボットシステムソフトウエアにおけるドウスタート
のフェーズが実行されてこれらパワーマネージャー、サ
ービスマネージャー等が動作を開始する。
ジャー、サービスマネージャー、バーチャルロボット、
デザインロボットの順に、オブジェクトマネージャーよ
り順次ドウスタート(DoStart )が送出され、これによ
りロボットシステムソフトウエアにおけるドウスタート
のフェーズが実行されてこれらパワーマネージャー、サ
ービスマネージャー等が動作を開始する。
【0179】このときデザインロボットにおいては、こ
のドウスタート(DoStart )により、バーチャルロボッ
トに対してロボットの現在の形態を示す情報の送出を指
示し、バーチャルロボットは、この指示によりロボット
コンポーネントがどの様な順番で接続されているのかを
示す結合情報(CPC Connection Information)をデザイ
ンロボットに通知する。デザインロボットは、バーチャ
ルロボットよりこの結合情報(CPC Connection Informa
tion)を受け取り、この結合情報(CPC Connection Inf
ormation)より結合情報(Connection Data )を生成し
た後、オブジェクトマネージャーにリプライ(Reply )
を返す。
のドウスタート(DoStart )により、バーチャルロボッ
トに対してロボットの現在の形態を示す情報の送出を指
示し、バーチャルロボットは、この指示によりロボット
コンポーネントがどの様な順番で接続されているのかを
示す結合情報(CPC Connection Information)をデザイ
ンロボットに通知する。デザインロボットは、バーチャ
ルロボットよりこの結合情報(CPC Connection Informa
tion)を受け取り、この結合情報(CPC Connection Inf
ormation)より結合情報(Connection Data )を生成し
た後、オブジェクトマネージャーにリプライ(Reply )
を返す。
【0180】このようにしてドウスタートのフェーズが
実行されると、ロボットにおいては、続いてサービスマ
ネージャーに対して、オブジェクトマネージャーよりデ
ィスコネクト(DisConnect)の指示が発行される。起動
時においては、何らオブジェクトがロードされていない
ことにより、この場合、この指示に従ってサービスマネ
ージャーは、デザインロボットより結合情報(Connecti
on Data )を取得し、オブジェクトマネージャーに処理
の完了を通知する。オブジェクトマネージャーは、続い
て同様にしてデザインロボットより結合情報(Connecti
on Data )を取得する。これによりサービスマネージャ
ーにおいては、形態依存ソフトウエア等を構成する各オ
ブジェクトについて、オブジェクト間通信の構築に必要
な情報を取得するのに対し、オブジェクトマネージャー
においては、これらのオブジェクトのロード、アンロー
ドに必要な情報を取得する。
実行されると、ロボットにおいては、続いてサービスマ
ネージャーに対して、オブジェクトマネージャーよりデ
ィスコネクト(DisConnect)の指示が発行される。起動
時においては、何らオブジェクトがロードされていない
ことにより、この場合、この指示に従ってサービスマネ
ージャーは、デザインロボットより結合情報(Connecti
on Data )を取得し、オブジェクトマネージャーに処理
の完了を通知する。オブジェクトマネージャーは、続い
て同様にしてデザインロボットより結合情報(Connecti
on Data )を取得する。これによりサービスマネージャ
ーにおいては、形態依存ソフトウエア等を構成する各オ
ブジェクトについて、オブジェクト間通信の構築に必要
な情報を取得するのに対し、オブジェクトマネージャー
においては、これらのオブジェクトのロード、アンロー
ドに必要な情報を取得する。
【0181】これによりオブジェクトマネージャーは、
現在の形態に対応する必要なオブジェクトと、不必要な
オブジェクトとのリストを作成する。さらに図28に示
すように、これらの必要なオブジェクトA〜Cについ
て、順次ロードを指示し、これらオブジェクトA〜Cを
構築する。このときオブジェクトマネージャーは、図2
9に示すように、このロードコマンドの実行により、各
オブジェクトのオブジェクトID(OID−a、OID
−b、OID−c)を取得する。
現在の形態に対応する必要なオブジェクトと、不必要な
オブジェクトとのリストを作成する。さらに図28に示
すように、これらの必要なオブジェクトA〜Cについ
て、順次ロードを指示し、これらオブジェクトA〜Cを
構築する。このときオブジェクトマネージャーは、図2
9に示すように、このロードコマンドの実行により、各
オブジェクトのオブジェクトID(OID−a、OID
−b、OID−c)を取得する。
【0182】続いて図30及び図31に示すように、オ
ブジェクトマネージャーは、このようにして取得したオ
ブジェクトIDにより各オブジェクトに順次ドウイニシ
ャライズ(DoInit)をコールする。各オブジェクトにお
いては、このドウイニシャライズ(DoInit)によりサー
ビスマネージャーに対して各サービスの登録を要求す
る。なおここでこのサービスの登録は、各サービス名、
オブジェクトID、セレクタの登録により実行される。
ブジェクトマネージャーは、このようにして取得したオ
ブジェクトIDにより各オブジェクトに順次ドウイニシ
ャライズ(DoInit)をコールする。各オブジェクトにお
いては、このドウイニシャライズ(DoInit)によりサー
ビスマネージャーに対して各サービスの登録を要求す
る。なおここでこのサービスの登録は、各サービス名、
オブジェクトID、セレクタの登録により実行される。
【0183】サービスマネージャーは、各要求に応動し
て各オブジェクトのサービスを登録すると、登録の完了
を各オブジェクトに通知し、各オブジェクトにおいて
は、この通知によりオブジェクトマネージャーにリプラ
イ(Reply)を返す。
て各オブジェクトのサービスを登録すると、登録の完了
を各オブジェクトに通知し、各オブジェクトにおいて
は、この通知によりオブジェクトマネージャーにリプラ
イ(Reply)を返す。
【0184】このようにして各オブジェクトの初期化が
完了すると、オブジェクトマネージャーは、各オブジェ
クトのDisConnectをサービスマネージャーに指示する。
ここで図32に示すように、サービスマネージャーは、
上述したドウスタート(DoStart )フェーズでデザイン
ロボットが取得した結合情報を取得することによりリス
トを作成して保持する。ここでこのリストは、Connect
に係るリスト、DisConnectに係るリスト等により構成さ
れ、各リストは、それぞれ第1の実施の形態についた上
述した記述による結合情報により、各オブジェクトのサ
ービス名、データフォームで構成される。またサービス
マネージャーは、各オブジェクトのドウイニシャライズ
(DoInit)で取得したサービスをサービスリストにより
保持する。ここでこのサービスリストは、各オブジェク
ト毎にサービス情報としてまとめられて形成され、各サ
ービスにあっては、各サービスに係るオブジェクトI
D、セレクタによるサービスエントリと、各サービス名
とにより構成される。
完了すると、オブジェクトマネージャーは、各オブジェ
クトのDisConnectをサービスマネージャーに指示する。
ここで図32に示すように、サービスマネージャーは、
上述したドウスタート(DoStart )フェーズでデザイン
ロボットが取得した結合情報を取得することによりリス
トを作成して保持する。ここでこのリストは、Connect
に係るリスト、DisConnectに係るリスト等により構成さ
れ、各リストは、それぞれ第1の実施の形態についた上
述した記述による結合情報により、各オブジェクトのサ
ービス名、データフォームで構成される。またサービス
マネージャーは、各オブジェクトのドウイニシャライズ
(DoInit)で取得したサービスをサービスリストにより
保持する。ここでこのサービスリストは、各オブジェク
ト毎にサービス情報としてまとめられて形成され、各サ
ービスにあっては、各サービスに係るオブジェクトI
D、セレクタによるサービスエントリと、各サービス名
とにより構成される。
【0185】サービスマネージャーは、図33に示すよ
うに、オブジェクトマネージャーより各オブジェクトの
結合(Connect )が指示されると、これら各オブジェク
トより取得したサービスの情報と、デザインロボットか
ら取得した結合情報とを照合する。さらに照合結果に基
づいて、順次各オブジェクトに通信対象を登録し、これ
により各オブジェクトを順次データ通信可能に結合す
る。
うに、オブジェクトマネージャーより各オブジェクトの
結合(Connect )が指示されると、これら各オブジェク
トより取得したサービスの情報と、デザインロボットか
ら取得した結合情報とを照合する。さらに照合結果に基
づいて、順次各オブジェクトに通信対象を登録し、これ
により各オブジェクトを順次データ通信可能に結合す
る。
【0186】すなわち図34に示すように、サービスマ
ネージャーは、各オブジェクトからサービスが登録され
ると、各サービスのサービス名、サービスエントリよる
サービス情報を各オブジェクト毎にまとめてサービス情
報(Service Binding )を作成し、このサービス情報
(Service Binding )を登録する。これによりサービス
マネージャーは、サービスリストを作成する。またデザ
インロボットから取得した結合情報と、過去に記録した
結合情報とから新しい結合状態と現在の結合状態とを把
握し、接続情報、切断情報を作成する。さらにこれら接
続情報、切断情報からConnect に係るリスト、DisConne
ctに係るリストを作成する。
ネージャーは、各オブジェクトからサービスが登録され
ると、各サービスのサービス名、サービスエントリよる
サービス情報を各オブジェクト毎にまとめてサービス情
報(Service Binding )を作成し、このサービス情報
(Service Binding )を登録する。これによりサービス
マネージャーは、サービスリストを作成する。またデザ
インロボットから取得した結合情報と、過去に記録した
結合情報とから新しい結合状態と現在の結合状態とを把
握し、接続情報、切断情報を作成する。さらにこれら接
続情報、切断情報からConnect に係るリスト、DisConne
ctに係るリストを作成する。
【0187】サービスマネージャーは、サービスリスト
とConnect に係るリストとの照合により、結合するサー
ビスのエントリーを検出し、この検出結果に従って対応
するオブジェクトにサービスのエントリーを通知する。
またサービスリストとDisConnectに係るリストとの照合
により、結合を遮断するサービスのエントリーを検出
し、この検出結果に従って対応するオブジェクトにサー
ビスのエントリーを通知する。なお図30においては、
オブジェクトが未だ結合されていない起動時の処理であ
ることにより、サービスマネージャーにおいては、切断
情報を作成することなく一連の処理を実行する。これに
より図35に示すように、サービスマネージャーは、オ
ブザーバーとサブジェクトとの間で、データ交換可能に
対応するメソドを接続する。なお図36は図19との対
比によりこのようにして結合されたオブジェクトA及び
オブジェクトBを示す略線図である。
とConnect に係るリストとの照合により、結合するサー
ビスのエントリーを検出し、この検出結果に従って対応
するオブジェクトにサービスのエントリーを通知する。
またサービスリストとDisConnectに係るリストとの照合
により、結合を遮断するサービスのエントリーを検出
し、この検出結果に従って対応するオブジェクトにサー
ビスのエントリーを通知する。なお図30においては、
オブジェクトが未だ結合されていない起動時の処理であ
ることにより、サービスマネージャーにおいては、切断
情報を作成することなく一連の処理を実行する。これに
より図35に示すように、サービスマネージャーは、オ
ブザーバーとサブジェクトとの間で、データ交換可能に
対応するメソドを接続する。なお図36は図19との対
比によりこのようにして結合されたオブジェクトA及び
オブジェクトBを示す略線図である。
【0188】サービスマネージャーは、このようにして
結合情報による接続が完了すると、オブジェクトマネー
ジャーに接続の完了を通知する(図30)。オブジェク
トマネージャーにおいては、この通知が得られると、図
38に示すように、各オブジェクトにドウスタート(Do
Start )を指示する。これにより図28との対比により
図38に示すように、各オブジェクトA〜Cにおいて
は、結合が完了してデータ通信可能に動作を開始し、ロ
ボットにおいては、各オブジェクト間におけるデータ通
信により形態に応じて種々の動作を実行できるようにな
されている。
結合情報による接続が完了すると、オブジェクトマネー
ジャーに接続の完了を通知する(図30)。オブジェク
トマネージャーにおいては、この通知が得られると、図
38に示すように、各オブジェクトにドウスタート(Do
Start )を指示する。これにより図28との対比により
図38に示すように、各オブジェクトA〜Cにおいて
は、結合が完了してデータ通信可能に動作を開始し、ロ
ボットにおいては、各オブジェクト間におけるデータ通
信により形態に応じて種々の動作を実行できるようにな
されている。
【0189】図39は、図18との対比に係るプラグイ
ン、プラグアウトによる形態変更時のシーケンスを示す
タイムチャートである。ロボットにおいては、図40に
示すように、バーチャルロボットにより形態の変更が通
知されると、この一連のシーケンスを実行する。すなわ
ちオブジェクトマネージャーにおいては、この通知によ
り図41に示すように、ロボットシステムソフトウエア
の上位に位置する各オブジェクト(図39においてはオ
ブジェクトA〜C)に順次ドウストップ(DoStop)を送
出し、これらオブジェクトの動作を停止する。さらに続
いて起動時とは逆の順序で、デザインロボット、バーチ
ャルロボット、サービスマネージャー、パワーマネージ
ャーに順次ドウストップ(DoStop)を送出し、これらオ
ブジェクトの動作を制限する。なおここでこれらロボッ
トシステムソフトウエアを構成する各オブジェクトにお
いては、ドウストップ(DoStop)により上位のオブジェ
クトに関連する処理のみを停止し、例えば電源の管理等
のロボットシステムソフトウエアを構成する各オブジェ
クト間の処理においては引続き処理を継続するようにな
されている。
ン、プラグアウトによる形態変更時のシーケンスを示す
タイムチャートである。ロボットにおいては、図40に
示すように、バーチャルロボットにより形態の変更が通
知されると、この一連のシーケンスを実行する。すなわ
ちオブジェクトマネージャーにおいては、この通知によ
り図41に示すように、ロボットシステムソフトウエア
の上位に位置する各オブジェクト(図39においてはオ
ブジェクトA〜C)に順次ドウストップ(DoStop)を送
出し、これらオブジェクトの動作を停止する。さらに続
いて起動時とは逆の順序で、デザインロボット、バーチ
ャルロボット、サービスマネージャー、パワーマネージ
ャーに順次ドウストップ(DoStop)を送出し、これらオ
ブジェクトの動作を制限する。なおここでこれらロボッ
トシステムソフトウエアを構成する各オブジェクトにお
いては、ドウストップ(DoStop)により上位のオブジェ
クトに関連する処理のみを停止し、例えば電源の管理等
のロボットシステムソフトウエアを構成する各オブジェ
クト間の処理においては引続き処理を継続するようにな
されている。
【0190】このようにして全てのオブジェクトについ
てドウストップ(DoStop)の処理を完了すると、オブジ
ェクトマネージャーは、ロボットシステムソフトウエア
を構成するパワーマネージャー、サービスマネージャ
ー、バーチャルロボット、デザインロボットに対して、
起動時と同様の順序により順次ドウスタート(DoStar
t)を送出し、これによりパワーマネージャー、サービ
スマネージャー等の動作を指示する。
てドウストップ(DoStop)の処理を完了すると、オブジ
ェクトマネージャーは、ロボットシステムソフトウエア
を構成するパワーマネージャー、サービスマネージャ
ー、バーチャルロボット、デザインロボットに対して、
起動時と同様の順序により順次ドウスタート(DoStar
t)を送出し、これによりパワーマネージャー、サービ
スマネージャー等の動作を指示する。
【0191】このときデザインロボットにおいては、図
27について上述したと同様に、バーチャルロボットよ
り結合情報(CPC Connection Information)を取得し、
この結合情報(CPC Connection Information)より結合
情報(Connection Data )を生成する。なおオブジェク
トマネージャーにおいては、ユーザーによる形態の変更
が完全に完了するのを待って結合情報を取得可能とする
ために、例えばドウストップ(DoStop)の後、所定時間
経過して(DoStart )を指示することが考えられる。
27について上述したと同様に、バーチャルロボットよ
り結合情報(CPC Connection Information)を取得し、
この結合情報(CPC Connection Information)より結合
情報(Connection Data )を生成する。なおオブジェク
トマネージャーにおいては、ユーザーによる形態の変更
が完全に完了するのを待って結合情報を取得可能とする
ために、例えばドウストップ(DoStop)の後、所定時間
経過して(DoStart )を指示することが考えられる。
【0192】このようにしてドウスタート(DoStart )
を送出してパワーマネージャー等から応答が得られる
と、オブジェクトマネージャーは、サービスマネージャ
ーに対して、ディスコネクト(DisConnect)を指示す
る。ここでこのように形態が変更された場合には、現在
ロードされているオブジェクトと、形態の変更に対応す
るオブジェクトが異なることにより、サービスマネージ
ャーは、図43においてCheck Connectionにより示すよ
うに、デザインロボットより変更された形態に係る結合
情報(Connection Data )を取得する。さらにサービス
マネージャーは、この取得した結合情報(Connection D
ata )より図34について上述したようにして切断情報
を作成し、この切断情報により対応するオブジェクトの
結合を解除する。
を送出してパワーマネージャー等から応答が得られる
と、オブジェクトマネージャーは、サービスマネージャ
ーに対して、ディスコネクト(DisConnect)を指示す
る。ここでこのように形態が変更された場合には、現在
ロードされているオブジェクトと、形態の変更に対応す
るオブジェクトが異なることにより、サービスマネージ
ャーは、図43においてCheck Connectionにより示すよ
うに、デザインロボットより変更された形態に係る結合
情報(Connection Data )を取得する。さらにサービス
マネージャーは、この取得した結合情報(Connection D
ata )より図34について上述したようにして切断情報
を作成し、この切断情報により対応するオブジェクトの
結合を解除する。
【0193】このようにして切断を完了すると、サービ
スマネージャーは、オブジェクトマネージャーに処理の
完了を通知し、オブジェクトマネージャーは、続いて図
44に示すように、同様にしてデザインロボットより結
合情報(Connection Data )を取得する。さらにオブジ
ェクトマネージャーは、このようにして取得した結合情
報(Connection Data )に基づいて、対応するオブジェ
クトにドウデストロイ(DoDestroy )をコールし、対応
するオブジェクトにより専有されたメモリを開放する。
スマネージャーは、オブジェクトマネージャーに処理の
完了を通知し、オブジェクトマネージャーは、続いて図
44に示すように、同様にしてデザインロボットより結
合情報(Connection Data )を取得する。さらにオブジ
ェクトマネージャーは、このようにして取得した結合情
報(Connection Data )に基づいて、対応するオブジェ
クトにドウデストロイ(DoDestroy )をコールし、対応
するオブジェクトにより専有されたメモリを開放する。
【0194】さらにオブジェクトマネージャーは、続い
てこのオブジェクトのアンロードを指示する。これら一
連の処理によりサービスマネージャーは、形態の変更に
より必要とされなくなったオブジェクトについて、オブ
ジェクト間通信できないようにオブジェクト間の結合を
遮断するのに対し、オブジェクトマネージャーは、この
ようにして必要とされなくなったオブジェクトをアンロ
ードする。
てこのオブジェクトのアンロードを指示する。これら一
連の処理によりサービスマネージャーは、形態の変更に
より必要とされなくなったオブジェクトについて、オブ
ジェクト間通信できないようにオブジェクト間の結合を
遮断するのに対し、オブジェクトマネージャーは、この
ようにして必要とされなくなったオブジェクトをアンロ
ードする。
【0195】このようにして必要とされなくなったオブ
ジェクトをアンロードすると、オブジェクトマネージャ
ーは、図45に示すように、新たに必要となったオブジ
ェクトDのロードを指示した後、このロードしたオブジ
ェクトにドウイニシャライズ(DoInit)を指示する。続
いてオブジェクトマネージャーは、サービスマネージャ
ーにオブジェクト間の結合を指示し、この場合オブジェ
クトマネージャーは、図34について説明した接続情報
に基づいて対応するオブジェクト間で、起動時と同様に
データ通信が可能になるように結合情報を通知する。オ
ブジェクトマネージャーは、このようにしてデータ通信
可能に各オブジェクトが結合されると、各オブジェクト
にドウスタート(DoStart )を送出して一連の処理を完
了する。これら一連の処理により図37との対比により
オブジェクトA〜Dの関係を図46に示すように、オブ
ジェクトCに代えてオブジェクトDが登録され、図47
に示すように、これらオブジェクトA、B、Dは、動作
を開始することになる。
ジェクトをアンロードすると、オブジェクトマネージャ
ーは、図45に示すように、新たに必要となったオブジ
ェクトDのロードを指示した後、このロードしたオブジ
ェクトにドウイニシャライズ(DoInit)を指示する。続
いてオブジェクトマネージャーは、サービスマネージャ
ーにオブジェクト間の結合を指示し、この場合オブジェ
クトマネージャーは、図34について説明した接続情報
に基づいて対応するオブジェクト間で、起動時と同様に
データ通信が可能になるように結合情報を通知する。オ
ブジェクトマネージャーは、このようにしてデータ通信
可能に各オブジェクトが結合されると、各オブジェクト
にドウスタート(DoStart )を送出して一連の処理を完
了する。これら一連の処理により図37との対比により
オブジェクトA〜Dの関係を図46に示すように、オブ
ジェクトCに代えてオブジェクトDが登録され、図47
に示すように、これらオブジェクトA、B、Dは、動作
を開始することになる。
【0196】図48は、このようにして起動時、形態変
更時に係るサービスマネージャーの一連の処理を示す状
態遷移図である。すなわちサービスマネージャーは、初
期化された後、待機し、オブジェクトマネージャーから
の指示により切断情報、接続情報を生成し、起動時にお
いては、このうちの接続情報により各オブジェクトを結
合する。また形態変更時にあっては、切断情報により対
応するオブジェクトの結合を遮断した後、接続情報によ
り各オブジェクトを結合する。
更時に係るサービスマネージャーの一連の処理を示す状
態遷移図である。すなわちサービスマネージャーは、初
期化された後、待機し、オブジェクトマネージャーから
の指示により切断情報、接続情報を生成し、起動時にお
いては、このうちの接続情報により各オブジェクトを結
合する。また形態変更時にあっては、切断情報により対
応するオブジェクトの結合を遮断した後、接続情報によ
り各オブジェクトを結合する。
【0197】このようにしてデータ通信可能に結合され
た各オブジェクトは、サブジェクト側のメモリ空間に存
在するローカルデータをオブザーバー側のメモリ空間に
コピーすることにより、又はサブジェクトとオブザーバ
ーとの共有メモリを用いてデータ通信する。
た各オブジェクトは、サブジェクト側のメモリ空間に存
在するローカルデータをオブザーバー側のメモリ空間に
コピーすることにより、又はサブジェクトとオブザーバ
ーとの共有メモリを用いてデータ通信する。
【0198】図49は、このうちのコピーによるデータ
通信を示す略線図である。サブジェクトにおいては、メ
モリ空間に存在するローカルデータをオブザーバー側の
メモリ空間にコピーし、オブザーバー側のinvoke
されるメソッドにコピー先の先頭アドレスを通知する。
これによりロボットにおいては、データ量の少ない場
合、配信する相手先が少ない場合に、簡易にデータ通信
できるようになされている。
通信を示す略線図である。サブジェクトにおいては、メ
モリ空間に存在するローカルデータをオブザーバー側の
メモリ空間にコピーし、オブザーバー側のinvoke
されるメソッドにコピー先の先頭アドレスを通知する。
これによりロボットにおいては、データ量の少ない場
合、配信する相手先が少ない場合に、簡易にデータ通信
できるようになされている。
【0199】これに対して図50は、共有メモリを用い
たデータ通信を示す略線図である。サブジェクトにおい
ては、メモリ空間にマッピングされている共有メモリに
データを書き込み、この共有メモリのアドレスをメッセ
ージとしてオブザーバーに送出する。オブザーバーにお
いては、この通知されたアドレスにより共有メモリ領域
を自信のメモリ空間にマッピングして使用する。これに
よりロボットにおいては、画像データ、音声データ等の
大容量のデータを送信する場合、配信先の数が多い場合
に適用して、簡易かつ確実にデータ通信できるようにな
されている。
たデータ通信を示す略線図である。サブジェクトにおい
ては、メモリ空間にマッピングされている共有メモリに
データを書き込み、この共有メモリのアドレスをメッセ
ージとしてオブザーバーに送出する。オブザーバーにお
いては、この通知されたアドレスにより共有メモリ領域
を自信のメモリ空間にマッピングして使用する。これに
よりロボットにおいては、画像データ、音声データ等の
大容量のデータを送信する場合、配信先の数が多い場合
に適用して、簡易かつ確実にデータ通信できるようにな
されている。
【0200】このようにして共有メモリによりデータ通
信する際に、オブジェクトにおいては、データを配信し
たオブジェクトの数を計測できるようになされている。
すなわち図51に示すように、データを書き換え可能な
オブジェクトにおいては、共有メモリにデータを書き込
むと対応するカウンタのカウント値を値1にセットす
る。なおこのデータを書き換え可能なオブジェクトは、
データを配信したサブジェクトをメンバーに持つオブジ
ェクトである。
信する際に、オブジェクトにおいては、データを配信し
たオブジェクトの数を計測できるようになされている。
すなわち図51に示すように、データを書き換え可能な
オブジェクトにおいては、共有メモリにデータを書き込
むと対応するカウンタのカウント値を値1にセットす
る。なおこのデータを書き換え可能なオブジェクトは、
データを配信したサブジェクトをメンバーに持つオブジ
ェクトである。
【0201】サブジェクトは、Notifyを実行した数だけ
カウンタをインクリメントし、オブザーバは、使用の済
んだ領域のIDをレディーの際に返却する。サブジェク
トは、レディーを受けると、対応する共有メモリのカウ
ンタを値1だけデクリメントする。
カウンタをインクリメントし、オブザーバは、使用の済
んだ領域のIDをレディーの際に返却する。サブジェク
トは、レディーを受けると、対応する共有メモリのカウ
ンタを値1だけデクリメントする。
【0202】これによりこのデータ書き換え可能なオブ
ジェクトにおいては、このカウント値により他のオブジ
ェクトによる共有メモリのアクセスが完了したか否かを
判断できるようになされ、この判断結果により共有メモ
リを書き換えて確実にデータを保護するようになされて
いる。
ジェクトにおいては、このカウント値により他のオブジ
ェクトによる共有メモリのアクセスが完了したか否かを
判断できるようになされ、この判断結果により共有メモ
リを書き換えて確実にデータを保護するようになされて
いる。
【0203】このようにしてコピー又は共有メモリによ
りデータ通信する際に、ロボットにおいては、図52に
示すように、所定のコマンドによりデータ通信に供する
データを順次オブザーバーのメモリ空間にコピーした
後、又は共有メモリに書き込んだ後、所定のコマンドに
よりこれら複数のデータをオブザーバーで取得可能に、
アドレスを通知する。これによりロボットでは、複数の
データをまとめて配信できるようになされ、その分解使
い勝手を向上できるようになされている。
りデータ通信する際に、ロボットにおいては、図52に
示すように、所定のコマンドによりデータ通信に供する
データを順次オブザーバーのメモリ空間にコピーした
後、又は共有メモリに書き込んだ後、所定のコマンドに
よりこれら複数のデータをオブザーバーで取得可能に、
アドレスを通知する。これによりロボットでは、複数の
データをまとめて配信できるようになされ、その分解使
い勝手を向上できるようになされている。
【0204】第2の実施の形態によれば、ドウイニシャ
ライズ(DoInit)等の命令をCall命令により処理す
るオペレーションシステムにおいても、現在の形態に対
応する適切なソフトウエアを簡易に設定することがで
き、また従来に比してオブジェクトの独立性を向上する
ことができる。
ライズ(DoInit)等の命令をCall命令により処理す
るオペレーションシステムにおいても、現在の形態に対
応する適切なソフトウエアを簡易に設定することがで
き、また従来に比してオブジェクトの独立性を向上する
ことができる。
【0205】(5)他の実施の形態
なお上述の実施の形態においては、ドウイニシャライズ
等のセレクタ番号については、予め設定しておく場合に
ついて述べたが、本発明はこれに限らず、結合情報によ
り各オブジェクトのドウイニシャライズ等を起動するこ
とによりセレクタ番号を種々に設定してもよく、さらに
はオブジェクトマネージャーへのオブジェクトの登録に
従ってドウスタート等を起動することによりセレクタ番
号を種々に設定するようにしてもよい。
等のセレクタ番号については、予め設定しておく場合に
ついて述べたが、本発明はこれに限らず、結合情報によ
り各オブジェクトのドウイニシャライズ等を起動するこ
とによりセレクタ番号を種々に設定してもよく、さらに
はオブジェクトマネージャーへのオブジェクトの登録に
従ってドウスタート等を起動することによりセレクタ番
号を種々に設定するようにしてもよい。
【0206】また上述の実施の形態においては、形態依
存ソフトウエアについてのみ結合情報によりオブジェク
トを構築する場合について述べたが、本発明はこれに限
らず、全てのソフトウエアを結合情報により構築する場
合、さらにはデバイスドライバレイヤーのみを結合情報
により構築する場合等に広く適用することができる。
存ソフトウエアについてのみ結合情報によりオブジェク
トを構築する場合について述べたが、本発明はこれに限
らず、全てのソフトウエアを結合情報により構築する場
合、さらにはデバイスドライバレイヤーのみを結合情報
により構築する場合等に広く適用することができる。
【0207】また上述の実施の形態では、オブザーバー
とサブジェクトによるオブザーバーパターンを適用した
ロボットに本発明を適用した場合について述べたが、本
発明はこれに限らず、サーバークライアントシステム等
にも広く適用することができる。因みにこの場合、例え
ばクライアントが結合情報をデータ入力として受け取っ
てサーバーと結合することにより、サーバーの名前をソ
ースコード中に記述しないでシステムを構築することが
可能となる。かくするにつき、この場合は、クライアン
ト、サーバーがそれぞれオブジェクトを構成することに
なる。
とサブジェクトによるオブザーバーパターンを適用した
ロボットに本発明を適用した場合について述べたが、本
発明はこれに限らず、サーバークライアントシステム等
にも広く適用することができる。因みにこの場合、例え
ばクライアントが結合情報をデータ入力として受け取っ
てサーバーと結合することにより、サーバーの名前をソ
ースコード中に記述しないでシステムを構築することが
可能となる。かくするにつき、この場合は、クライアン
ト、サーバーがそれぞれオブジェクトを構成することに
なる。
【0208】また上述の実施の形態においては、レディ
ー、ノーティファイによりデータ交換する場合について
述べたが、本発明はこれに限らず、種々の手法によりデ
ータ交換するオブジェクト間通信に広く適用することが
できる。
ー、ノーティファイによりデータ交換する場合について
述べたが、本発明はこれに限らず、種々の手法によりデ
ータ交換するオブジェクト間通信に広く適用することが
できる。
【0209】
【発明の効果】上述のように本発明によれば、結合関係
情報に基づいて、データ交換可能にオブジェクトを結合
することにより、従来に比してオブジェクトの独立性を
向上することができる。
情報に基づいて、データ交換可能にオブジェクトを結合
することにより、従来に比してオブジェクトの独立性を
向上することができる。
【図1】本発明の実施の形態に係るロボットを示す斜視
図である。
図である。
【図2】図1のロボットの構成を示すブロック図であ
る。
る。
【図3】4足型におけるソフトウエア構造を示す略線図
である。
である。
【図4】タイヤ型におけるソフトウエア構造を示す略線
図である。
図である。
【図5】4足型における姿勢の変化を示す状態遷移図で
ある。
ある。
【図6】入力と状態の関係を示す図表である。
【図7】デザインロボットの処理手順を示すフローチャ
ートである。
ートである。
【図8】デザインファイルの記述を示す図表である。
【図9】結合情報を示す図表である。
【図10】ブート後におけるオブジェクトマネージャ
ー、バーチャルロボット、デザインロボットの動作を示
すタイムチャートである。
ー、バーチャルロボット、デザインロボットの動作を示
すタイムチャートである。
【図11】プラグイン、プラグアウト等におけるオブジ
ェクトマネージャー、バーチャルロボット、デザインロ
ボットの動作を示すタイムチャートである。
ェクトマネージャー、バーチャルロボット、デザインロ
ボットの動作を示すタイムチャートである。
【図12】オブザーバーとサブジェクトとの関係を示す
略線図である。
略線図である。
【図13】マルチオブザーバーにおけるオブザーバーと
サブジェクトとの関係を示す略線図である。
サブジェクトとの関係を示す略線図である。
【図14】マルチサブジェクトにおけるオブザーバーと
サブジェクトとの関係を示す略線図である。
サブジェクトとの関係を示す略線図である。
【図15】オブジェクトマネージャーとオブザーバー、
サブジェクトの関係を示す略線図である。
サブジェクトの関係を示す略線図である。
【図16】結合情報を受け取った場合におけるオブジェ
クトマネージャーの動作を示すタイムチャートである。
クトマネージャーの動作を示すタイムチャートである。
【図17】ドウスタート以降のシーケンスを示すタイム
チャートである。
チャートである。
【図18】プラグイン、プラグアウト、状態変更におけ
るシーケンスを示すタイムチャートである。
るシーケンスを示すタイムチャートである。
【図19】結合情報とオブザーバー、サブジェクトの関
係の説明に供する略線図である。
係の説明に供する略線図である。
【図20】連想記憶1の記述を示す図表である。
【図21】連想記憶2の記述を示す図表である。
【図22】本発明の第2の実施の形態に係るロボットの
タイヤ型におけるソフトウエア構造を示す略線図であ
る。
タイヤ型におけるソフトウエア構造を示す略線図であ
る。
【図23】オブジェクトの結合を示す略線図である。
【図24】形態の変更に係る結合状態の変化を示す略線
図である。
図である。
【図25】図22のロボットにおける起動時の処理手順
を示すタイムチャートである。
を示すタイムチャートである。
【図26】図25の処理における初期化の説明に供する
略線図である。
略線図である。
【図27】図25の処理におけるスタートの説明に供す
る略線図である。
る略線図である。
【図28】図25の続きを示すタイムチャートである。
【図29】図28の処理におけるオブジェクトのロード
の説明に供する略線図である。
の説明に供する略線図である。
【図30】図28の続きを示すタイムチャートである。
【図31】図30の処理におけるコネクトの説明に供す
る略線図である。
る略線図である。
【図32】サービスマネージャーにおけるデータを示す
図表である。
図表である。
【図33】図31の続きの説明に供する略線図である。
【図34】サービスマネージャーにおける処理の説明に
供する略線図である。
供する略線図である。
【図35】オブジェクトの結合の説明に供する略線図で
ある。
ある。
【図36】図19との対比により結合情報とオブザーバ
ー、サブジェクトの関係の説明に供する略線図である。
ー、サブジェクトの関係の説明に供する略線図である。
【図37】図28との対比により各オブジェクトの結合
を示す略線図である。
を示す略線図である。
【図38】図30におけるスタートの説明に供する略線
図である。
図である。
【図39】図22のロボットにおける形態変更時の処理
を示すタイムチャートである。
を示すタイムチャートである。
【図40】図39の処理における形態変更の通知を示す
略線図である。
略線図である。
【図41】図39の処理におけるストップの処理を示す
略線図である。
略線図である。
【図42】図39の続きの処理を示すタイムチャートで
ある。
ある。
【図43】図42の処理におけるオブジェクトの切り離
しを示す略線図である。
しを示す略線図である。
【図44】図43の続きの処理を示す略線図である。
【図45】図42の続きの処理を示すタイムチャートで
ある。
ある。
【図46】形態の変更に係るオブジェクトの変更を示す
略線図である。
略線図である。
【図47】形態変更後の各オブジェクトの関係を示す略
線図である。
線図である。
【図48】サービスマネージャーの処理を示す略線図で
ある。
ある。
【図49】コピーによるオブジェクト間通信の説明に供
する略線図である。
する略線図である。
【図50】共有メモリによるオブジェクト間通信の説明
に供する略線図である。
に供する略線図である。
【図51】共有メモリの監視の説明に供する略線図であ
る。
る。
【図52】複数のデータをまとめたデータ通信の説明に
供する略線図である。
供する略線図である。
1……ロボット、2……本体、3……移動ユニット、1
7……バッテリー
7……バッテリー
─────────────────────────────────────────────────────
フロントページの続き
(51)Int.Cl.7 識別記号 FI テーマコート゛(参考)
B25J 9/16 G06F 9/06 650C
(72)発明者 佐部 浩太郎
東京都品川区北品川6丁目7番35号 ソニ
ー株式会社内
(72)発明者 高木 剛
東京都品川区北品川6丁目7番35号 ソニ
ー株式会社内
Fターム(参考) 3C007 AS36 CS08 LV00 MT08 WA04
WA14 WC00
5B076 AB17 AB20
5B098 AA05 GA01 GC16
Claims (4)
- 【請求項1】オブジェクト間通信を管理する演算処理装
置において、 入力と出力とが定義された複数のオブジェクトと、 前記各オブジェクト間の入力と出力の結合関係情報を保
持する情報保持手段と、 前記結合関係情報に基づいて、前記オブジェクト間を所
定の時期に接続させる制御手段とを有することを特徴と
する演算処理装置。 - 【請求項2】前記結合関係情報には、 少なくとも、オブジェクト名と、データ形式と、サブジ
ェクト又はオブザーバの区別とが記載されていることを
特徴とする請求項1に記載の演算処理装置。 - 【請求項3】オブジェクト間通信を管理するオブジェク
ト間通信の管理方法において、 前記各オブジェクト間の入力と出力の結合関係情報に基
づいて、入力と出力とが定義された複数のオブジェクト
間を所定の時期に接続させることを特徴とするオブジェ
クト間通信の管理方法。 - 【請求項4】前記結合関係情報には、 少なくとも、オブジェクト名と、データ形式と、サブジ
ェクト又はオブザーバの区別とが記載されていることを
特徴とする請求項3に記載のオブジェクト間通信の管理
方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002324904A JP2003233502A (ja) | 1999-01-13 | 2002-11-08 | 演算処理装置及びオブジェクト間通信の管理方法 |
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11-6757 | 1999-01-13 | ||
| JP675799 | 1999-01-13 | ||
| JP649199 | 1999-01-13 | ||
| JP11-6491 | 1999-01-13 | ||
| JP2002324904A JP2003233502A (ja) | 1999-01-13 | 2002-11-08 | 演算処理装置及びオブジェクト間通信の管理方法 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000006032A Division JP3424631B2 (ja) | 1999-01-13 | 2000-01-11 | ロボット装置及びソフトウエアの更新方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2003233502A true JP2003233502A (ja) | 2003-08-22 |
Family
ID=27791916
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002324904A Withdrawn JP2003233502A (ja) | 1999-01-13 | 2002-11-08 | 演算処理装置及びオブジェクト間通信の管理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2003233502A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008090846A (ja) * | 2006-10-02 | 2008-04-17 | Fisher Rosemount Syst Inc | プロセス制御システムにおいて使用する機能ブロックの動作を修正変更するための方法及び動的モディファイア機能ブロック |
| WO2020152838A1 (ja) * | 2019-01-25 | 2020-07-30 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット |
-
2002
- 2002-11-08 JP JP2002324904A patent/JP2003233502A/ja not_active Withdrawn
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008090846A (ja) * | 2006-10-02 | 2008-04-17 | Fisher Rosemount Syst Inc | プロセス制御システムにおいて使用する機能ブロックの動作を修正変更するための方法及び動的モディファイア機能ブロック |
| WO2020152838A1 (ja) * | 2019-01-25 | 2020-07-30 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット |
| JPWO2020152838A1 (ja) * | 2019-01-25 | 2021-12-02 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット |
| JP7171767B2 (ja) | 2019-01-25 | 2022-11-15 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット |
| US11833441B2 (en) | 2019-01-25 | 2023-12-05 | Sony Interactive Entertainment Inc. | Robot |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3424631B2 (ja) | ロボット装置及びソフトウエアの更新方法 | |
| US7388879B2 (en) | Communication device and communication method network system and robot apparatus | |
| US6505097B1 (en) | Arithmetic processing device, inter-object communication method, and robot | |
| US6470235B2 (en) | Authoring system and method, and storage medium used therewith | |
| JPH0683746A (ja) | 分散情報処理システム | |
| CN100446942C (zh) | 一种模块化嵌入式多足机器人运动控制器 | |
| CN108136578A (zh) | 具有分层架构的实时设备控制系统及利用其的实时机器人控制系统 | |
| JPH1040196A5 (ja) | ||
| JPH10505700A (ja) | ネットワーク装置のローカルエリアネットワークを介した遠隔診断 | |
| JPH10124371A (ja) | 取引処理方法及びシステム | |
| JP5149258B2 (ja) | ロボットコンポーネント管理装置 | |
| CN114416222B (zh) | 应用程序调用驱动接口的方法及装置 | |
| JP2755437B2 (ja) | 通信制御プログラムの連続運転保証処理方法 | |
| US7228201B2 (en) | Information processing device, information processing method, and robot apparatus | |
| WO2002048886A2 (en) | Telecommunications platform with processor cluster and method of operation thereof | |
| JP2003233502A (ja) | 演算処理装置及びオブジェクト間通信の管理方法 | |
| JP2002189608A (ja) | 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置 | |
| JP2001310281A (ja) | コンフィギュレーション取得方法並びに状態検出方法 | |
| Scheutz | The TRADE Middleware for Advanced Robotic Architectures | |
| Arbuckle et al. | RECIPE–A System for Building Extensible, Run-time Configurable, Image Processing Systems | |
| CN121858167A (zh) | 设备处理方法、装置、设备、存储介质和程序产品 | |
| JP3741561B2 (ja) | エージェント簡易作成装置及びエージェント簡易作成方法 | |
| JPH07282017A (ja) | インタフェース定義ファイル生成装置 | |
| CN121722277A (zh) | 一种机器人可视化交互控制方法及装置、设备、存储介质 | |
| CN115167927A (zh) | 一种操作系统远程部署和还原系统及方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040213 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040412 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040820 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20041018 |