JP3424631B2 - ロボット装置及びソフトウエアの更新方法 - Google Patents

ロボット装置及びソフトウエアの更新方法

Info

Publication number
JP3424631B2
JP3424631B2 JP2000006032A JP2000006032A JP3424631B2 JP 3424631 B2 JP3424631 B2 JP 3424631B2 JP 2000006032 A JP2000006032 A JP 2000006032A JP 2000006032 A JP2000006032 A JP 2000006032A JP 3424631 B2 JP3424631 B2 JP 3424631B2
Authority
JP
Japan
Prior art keywords
robot
data
information
software
objects
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.)
Expired - Lifetime
Application number
JP2000006032A
Other languages
English (en)
Other versions
JP2000267852A (ja
Inventor
雅博 藤田
隆之 坂本
浩太郎 佐部
剛 高木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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
Priority to JP2000006032A priority Critical patent/JP3424631B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Priority to PCT/JP2000/000123 priority patent/WO2000042504A1/ja
Priority to EP00900363.3A priority patent/EP1072972B1/en
Priority to CNB2004100478556A priority patent/CN100511130C/zh
Priority to CNB008000336A priority patent/CN1200345C/zh
Priority to KR1020007010145A priority patent/KR100717982B1/ko
Priority to US09/623,972 priority patent/US6668211B1/en
Publication of JP2000267852A publication Critical patent/JP2000267852A/ja
Application granted granted Critical
Publication of JP3424631B2 publication Critical patent/JP3424631B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23312Load program from attached device to control that device
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23389Modular program, each process has corresponding program module
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23432Select as function of different connected tools, each tool has its parameters
    • 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/32Operator till task planning
    • G05B2219/32137Configure, connect, combine different program modules
    • 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/32Operator till task planning
    • G05B2219/32161Object oriented control, programming
    • 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/33Director till display
    • G05B2219/33105Identification of type of connected module, motor, panel
    • 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/33Director till display
    • G05B2219/33125System configuration, reconfiguration, customization, automatic
    • 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/40304Modular structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T74/00Machine element or mechanism
    • Y10T74/20Control lever and linkage systems
    • Y10T74/20207Multiple controlling elements for single controlled element
    • Y10T74/20305Robotic arm
    • Y10T74/20317Robotic arm including electric motor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ロボット装置及び
ソフトウエアの更新方法に関し、例えばペット型のロボ
ットに適用することができる。本発明は、形態毎に保持
されたファイルと、現在の形態に係る結合情報との比較
結果に基づいて、形態に応じてソフトウエアを変更する
ことにより、現在の形態に対応する適切なソフトウエア
を簡易に設定することができるようにする。
【0002】
【従来の技術】従来、例えばペット型のロボット等にお
いては、オブジェクト指向によりソフトウエアが構成さ
れるようになされ、オブジェクト間通信により種々のデ
ータを処理して例えば動物に似た仕草等を実行できるよ
うになされている。
【0003】
【発明が解決しようとする課題】ところでこの種のペッ
ト型のロボットにおいて、例えば脚等の構成部品を必要
に応じて交換してユーザーの所望する形態に設定するこ
とができれば、この種のペット型のロボットをさらに一
段と身近なものにできると考えられる。
【0004】この場合、形態に対応してソフトウエアを
簡易に交換することが望まれる。
【0005】本発明は以上の点を考慮してなされたもの
で、第1に、現在の形態に対応する適切なソフトウエア
を簡易に設定することができるロボット装置、ソフトウ
エアの更新方法を提案しようとするものである。
【0006】
【0007】
【0008】
【0009】
【0010】
【0011】
【0012】
【0013】
【0014】
【0015】
【0016】
【課題を解決するための手段】かかる課題を解決するた
め請求項1に係る発明においては、ソフトウェアシステ
ムがオブジェクトにより構成されるロボット装置に適用
して、ロボット本体に結合されるロボットコンポーネン
トに基づき結合情報を出力する結合情報出力手段と、前
記ロボットコンポーネントの結合により変化する前記ロ
ボット装置の形態毎に、少なくとも一種類以上のロボッ
ト装置の構成が記述されたファイルを保持するファイル
保持手段と、前記ロボット装置の形態毎に、対応するオ
ブジェクトとオブジェクト間通信に必要な結合データが
記録された結合ファイルを保持する結合ファイル保持手
段と、出力された前記結合情報とロボット装置の構成が
記述された前記ファイルとを比較して前記ロボット装置
の現在の形態を特定する形態特定手段と、特定された前
記形態に基づいて、前記結合ファイルへアクセスし、前
記形態に応じて前記ソフトウェアシステムのオブジェク
トを再構成し、前記ロボット装置の形態に依存するソフ
トウェアを更新する手段とを有するようにする
【0017】また請求項4の発明においては、ソフトウ
ェアシステムが複数のオブジェクトにより構成されるロ
ボット装置に適用されるソフトウエアの更新方法に適用
して、ロボット本体に結合されるロボットコンポーネン
トに基づき結合情報を出力する結合情報の出力ステップ
と、出力された前記結合情報と、前記ロボットコンポー
ネントの結合により変化する前記ロボット装置の形態毎
に、少なくとも一種類以上のロボット装置の構成が記述
されたファイルとを比較して前記ロボット装置の現在の
形態を特定する形態特定のステップと、特定された前記
形態に基づいて、前記ロボット装置の形態毎に、対応す
るオブジェクトとオブジェクト間通信に必要な結合デー
タが記録された結合ファイルへアクセスし、前記形態に
応じて前記ソフトウェアシステムのオブジェクトを再構
し、前記ロボット装置の形態に依存するソフトウェア
を更新するステップとを有するようにする。
【0018】また請求項1に係る構成によれば、前記ロ
ボットコンポーネントの結合により変化する前記ロボッ
ト装置の形態毎に、少なくとも一種類以上のロボット装
置の構成が記述されたファイルを保持するファイル保持
手段と、前記ロボット装置の形態毎に、対応するオブジ
ェクトとオブジェクト間通信に必要な結合データが記録
された結合ファイルを保持する結合ファイル保持手段
と、出力された前記結合情報とロボット装置の構成が記
述された前記ファイルとを比較して前記ロボット装置の
現在の形態を特定する形態特定手段と、特定された前
態に基づいて、前記結合ファイルへアクセスし、前記
形態に応じて前記ソフトウェアシステムのオブジェクト
を再構成し、前記ロボット装置の形態に依存するソフト
ウェアを更新する手段とを有することにより、部品であ
るロボットコンポーネントの変更に伴う形態の変更に対
応してソフトウエアを変更することができ、これにより
現在の形態に対応する適切なソフトウエアを簡易に設定
することができる。
【0019】これにより請求項4の構成によれば、現
の形態に対応する適切なソフトウエアを簡易に設定する
ことができるソフトウエアの更新方法を提供することが
できる。
【0020】
【0021】
【0022】
【0023】
【0024】
【発明の実施の形態】以下、適宜図面を参照しながら本
発明の実施の形態を詳述する。
【0025】(1)第1の実施の形態の構成 (1−1)全体構成 図1は、本発明の実施の形態に係るロボットを示す斜視
図である。このロボット1は、いわゆるペット型のロボ
ットであり、全体が犬に似た形状であり、4本脚により
歩行できるようになされている。すなわちロボット1
は、本体2に移動ユニット3が取り付けられ、この本体
2が頭部2Aと胴体部2Bとにより構成される。
【0026】頭部2Aは、マイク4、タッチセンサー
5、立体視可能なテレビジョンカメラ6、遠隔制御に係
る赤外線の受信部7等が配置され、これらにより各種情
報を取得できるようになされている。また頭部2Aは、
画像表示部9、スピーカー10が配置され、これらによ
り種々の情報を出力できるようになされている。
【0027】胴体部2Bは、背中の部分に操作子11が
配置され、また尻尾に相当する箇所にアンテナ12が配
置されるようになされ、これらを介してユーザーの操作
を検出できるようになされている。また胴体2Bは、ス
ロットを有し、このスロットにICカードを装着してソ
フトウエアのバージョンアップ等を実行できるようにな
されている。
【0028】さらに胴体部2Bは、頭部2Aを介して入
出力する各種情報、操作子11等の操作情報を処理して
全体の動作を制御するコントローラ15、各部に電源を
供給する電源ユニット14、アンテナ12を介して各種
情報を送受する通信ユニット16等が配置され、下部に
バッテリー17が配置されるようになされている。
【0029】これに対して移動ユニット3は、それぞれ
関節に相当する箇所にアクチュエータ、角度検出センサ
ーを配置してなる4つの足を配置して形成され、本体2
とシリアルバスにより接続され、本体2の制御により動
作するようになされている。これによりロボット1は、
4足歩行により移動できるようになされている。
【0030】さらにこの移動ユニット3は、後足が本体
2より取り外すことができるようになされている。ロボ
ット1は、この後足に代えて、タイヤを備えた移動ユニ
ットを取り付けることができるようになされている。こ
れによりこのロボット1は、ユーザーの好みに応じて4
足により移動する形態(以下4足型と呼ぶ)と、タイヤ
により移動する形態(以下タイヤ型と呼ぶ)とで形態を
変更できるようになされている。
【0031】図2は、このロボット1の構成を示すブロ
ック図である。ロボット1においては、処理プログラム
を記録したプログラムメディア20がフェリペラル21
を介して中央処理ユニット22に接続され、この中央処
理ユニット22によりプログラムメディア20に記録さ
れた処理手順を実行するようになされている。また中央
処理ユニット22は、フェリペラル21を介して移動ユ
ニット3の各アクチュエーター、センサー、さらにはテ
レビジョンカメラ6、操作子11等であるロボットコン
ポーネント24、25、26と接続され、これにより全
体の動作を制御できるようになされている。
【0032】また中央処理ユニット22は、同様に、フ
ェリペラル21を介して電源ユニット14を構成する電
源制御用の1チップマイコン27と接続され、この1チ
ップマイコン27の動作を制御してバッテリー17より
全体に電源を供給し、さらには省電力モードにおいてバ
ッテリー17に代えてボタン電池29より全体の電源を
供給するようになされている。
【0033】(1−2)ソフトウエア構成 図3は、ロボット1の4足型におけるソフトウエア構成
をレイヤーにより示す略線図であり、図4は図3との対
比によりタイヤ型におけるソフトウエア構成を示す略線
図である。このソフトウエア構成において、最も下位層
はデバイスドライバレイヤーであり、各種デバイスドラ
イバが配置される。ここでデバイスドライバは、移動ユ
ニット3のセンサー、アクチュエータ、さらには頭部2
A等に配置した各種ロボットコンポーネントとの間で各
種情報を入出力し、これらの処理のためのソフトウェア
オブジェクトを備えるようになされている。
【0034】このうちバッテリーマネージャーデバイス
ドライバ(バッテリーマネージャーDD)は、電源ユニ
ット14の1チップマイコン27との間のデータ通信に
よりバッテリー17の残量を検出して定期的に上位のロ
ボットシステムソフトウエアに通知する。また中央処理
ユニット22等のクロックを管理し、ロボットシステム
ソフトウエアの指示によりこのクロックの周波数を低減
すると共に、不必要なデバイスの動作を停止し、これに
より全体の消費電力を低減する。
【0035】またロボットシリアルバスデバイスドライ
バ(ロボットシリアルバスDD)は、本体2に配置され
たシリアルバスのマスター制御用のハードウェアとの間
のデータ通信により、シリアルバスに接続された移動ユ
ニット3のセンサー情報等を取り込んで上位のロボット
システムソフトウエアに通知し、またこれとは逆にロボ
ットシステムソフトウエアより出力されるアクチュエー
タの制御データ、オーディオ信号等を各デバイスに送出
する。
【0036】またロボットシリアルバスデバイスドライ
バは、システムの起動時、シリアルバスに接続されたデ
バイスの変更(追加、削除である)を検出する。さらに
この変更に係るデバイス固有の情報を取り込むことによ
り、ロボット1の現在の形態を示す情報をロボットシス
テムソフトウエアに出力する。
【0037】このデバイスドライバレイヤーの上位に
は、ロボットシステムソフトウエアが配置される。ここ
でロボットシステムソフトウエアは、バーチャルロボッ
ト、デザインロボット、パワーマネージャー、オブジェ
クトマネージャー等のソフトウエアオブジェクトより構
成される。
【0038】このうちバーチャルロボットは、ロボット
シリアルバスデバイスドライバとの間のデータ通信にお
いて、各デバイス固有のフォーマットによるデータをロ
ボット一般的なフォーマットに変換して送受する。具体
的に、例えばモータ制御用のデータについて、デバイス
固有のフォーマットにおいてはポテンションメーターで
あるセンサー出力をアナログディジタル変換して得られ
る10ビットにより表現するのに対し、バーチャルロボ
ットは、この表現によるデータを最下位の1ビットが
0.001度を示すデータに変換してロボット1におけ
る一般的なフォーマットとして出力する。またバーチャ
ルロボットは、このようなフォーマット変換によるデー
タの送受に加えて、例えばテレビジョンカメラ6より取
得したイメージデータを上位のソフトウエアに出力す
る。
【0039】またバーチャルロボットは、ロボットシリ
アルバスデバイスドライバよりロボット1の現在の形態
を示す情報を受け取り、この情報を取りまとめる。これ
によりバーチャルロボットは、ロボット1全体でどの様
なロボットコンポーネントがどの様な順番で接続されて
いるのかを示す結合情報( CPC(Configurable Physica
l Component )Connection Information)を管理し、こ
の結合情報(CPC Connection Information )をデザイ
ンロボットに通知する。
【0040】またバーチャルロボットは、シリアルバス
に接続されたデバイスに変更があった場合、デバイスド
ライバのロボットシリアルバスデバイスドライバより通
知を受け、デザインロボットに通知する。
【0041】デザインロボットは、バーチャルロボット
より結合情報(CPC Connection Information )を受け
取り、事前に記録した結合テンプレート情報と順次比較
することにより、現在のロボット1の形態に適したテン
プレートを選択する。さらにデザインロボットは、この
選択したテンプレートに応じて、上位の形態依存ソフト
ウエアを現在の形態に適した形態依存ソフトウエアに更
新するように、オブジェクトマネージャーに指示する。
【0042】なおこの実施の形態において、結合テンプ
レート情報は、デザインファイルにデザインデータとし
て記述されるようになされている。
【0043】オブジェクトマネージャーは、デザインロ
ボットの指示により、デザインロボットより通知される
オブジェクト、各オブジェクトの結合に関する情報を用
いて形態依存ソフトウエアを現在の形態に適した形態依
存ソフトウエアに更新する。すなわちオブジェクトマネ
ージャーは、形態依存ソフトウエアを構成する全てのオ
ブジェクトについて、動作の停止、オブジェクト間通信
の結合解除、オブジェクトの破壊、リソースの開放を指
示する。さらに新たに必要なオブジェクトのロード、初
期化し、さらにはオブジェクト間通信のための結合構
築、これらオブジェクトの起動を指示する。なおここで
オブジェクト間の接合とは、オブジェクト間でデータを
送受信するための結合を意味する。
【0044】パワーマネージャーは、バッテリーマネー
ジャーデバイスドライバとの間でデータ通信し、上位の
ソフトウエア(形態独立ソフトウエア又は形態依存ソフ
トウエア)の指示に従って、バッテリーマネージャーデ
バイスドライバにクロックの切り換えを指示し、またオ
ブジェクトの動作の停止等を指示する。
【0045】このロボットシステムソフトウエアの上位
には、形態依存ソフトウエアが配置され、さらにその上
位に形態独立ソフトウエアが配置される。ここで形態依
存ソフトウエアは、このロボット1の形態に応じて変更
されるソフトウエアであり、形態独立ソフトウエアは、
これとは逆に、ロボットの形態に係わらずに固定された
このロボット1の上位のソフトウエアである。このため
形態依存ソフトウエアは、ロボット1の形態に依存した
各種オブジェクトが存在する。この実施の形態において
は、形態依存ソフトウエアの変更により4足型とタイヤ
型とでそれぞれ形態に適したソフトウエアを全体として
簡易に構成できるようになされている。
【0046】すなわちここで4足型において、この形態
依存ソフトウエアは(図3)、移動ユニット3に関連す
るものとしてコマンドコンバータ、モーションネットワ
ーク、モーションリプレイ、ウォーキングパターンジェ
ネレータ、ビジョン等のオブジェクトにより構成され
る。
【0047】このうちコマンドコンバータは、形態に依
存しない形態独立ソフトウエアからのコマンドをロボッ
ト1の形態に適したコマンドに変換する。すなわち形態
独立ソフトウエアから移動ユニット3に関するコマンド
として、それぞれ睡眠(Sleep )、休憩(Rest)、起床
(Wakeup)、移動(Move)の姿勢を指示するコマンドが
入力されると、コマンドコンバータは、この4足型にお
いて、これらのコマンドをそれぞれ睡眠中(Sleepin
g)、お座り(Sitting )、起立(Standing)、歩行(W
alking )の各姿勢を指示するコマンドに変換する。
【0048】モーションネットワークは、コマンドコン
バータにより出力されるこれら姿勢を示すコマンドよ
り、図5に示す遷移に従って、この遷移図の矢印に対応
するオブジェクトのメソド(エントリ)を起動する。す
なわち睡眠中の状態で歩行のコマンドが入力された場
合、お座り、起立、歩行と姿勢を順次変化させるよう
に、モーションリプレイオブジェクトの対応するエント
リを順次起動する。なおこの場合、最後の歩行の状態に
辿り着いたときには、この状態を示す自己ループに対応
するウォーキングパターンジェネレータのエントリを起
動する。
【0049】モーションリプレイは、モーションネット
ワークによるエントリの起動により、対応する姿勢変化
用の関節角度指令値を出力する。具体的に、モーション
リプレイは、登録された離散的な関節角度指令値をキー
データとして保持し、このキーデータを用いた補間演算
処理により一連の角度指令値を出力する。
【0050】ウォーキングパターンジェネレータは、形
態独立ソフトウエアにより指定される方向に移動するよ
うに、各関節角度指令値を計算して出力する。
【0051】ビジョンは、例えば画像処理用のオブジェ
クトであり、テレビジョンカメラ6で取得したイメージ
データをバーチャルロボットオブジェクトより受け取り
処理する。ビジョンは、これにより例えば赤色の物体を
識別し、このロボット1を基準にしたこの赤色の物体の
位置、見かけの大きさを検出して出力する。
【0052】これに対してタイヤ型において、形態依存
ソフトウエアは(図4)、移動ユニット3に関するオブ
ジェクトとして、4足型と共通のビジョンのオブジェク
ト、このタイヤ型に特有のコマンドコンバータ、モーシ
ョンコマンダ、モーションリプレイ2、ホイールパター
ンジェネレータのオブジェクトを有する。
【0053】このうちコマンドコンバータは、4足型に
おけるコマンドコンバータと同様に、形態に依存しない
形態独立ソフトウエアからのコマンドをロボット1の形
態に適したコマンドに変換する。この場合、ロボット1
においてはタイヤ型であることにより、コマンドコンバ
ータは、それぞれ睡眠(Sleep )、休憩(Rest)、起床
(Wakeup)、移動(Move)の姿勢を指示するコマンド
を、睡眠中(Sleeping)、休憩(Rest)、待機(Ready
)、移動(Go)のコマンドに変換する。
【0054】モーションコマンダは、コマンドコンバー
タの出力を受け、タイヤ用の制御コマンドと関連する関
節角度指令値を生成する。すなわちモーションコマンダ
は、睡眠中(Sleeping)のコマンドが入力された場合、
関節角度指令値を中立(neutral )に設定する。ここで
中立(neutral )においては、何らモータを駆動、制動
しない状態であり、これにより移動ユニットを構成する
両腕にあっては、垂れ下がった状態に保持され、またタ
イヤにあっては停止状態に保持される。
【0055】これに対して休憩(Rest)のコマンドが入
力された場合、モーションコマンダは、両腕にあっては
肘の部分で90度折り曲げて前に差し出すように、また
頭部2Aにあっては顔を正面に向けるように、関節角度
指令値を生成する。なおタイヤは停止したままである。
【0056】また待機(Ready )のコマンドが入力され
た場合、モーションコマンダは、両腕にあっては肘を伸
ばして前に差し出すように、また頭部2Aにあっては顔
を正面に向けるように関節角度指令値を生成する。なお
この場合もタイヤは停止したままである。さらに移動
(Go)のコマンドにあっては、待機(Ready )の状態と
同様に両腕を保持したまま、タイヤが前進方向に回転す
るように、指令値を出力する。
【0057】モーションリプレイ2は、モーションコマ
ンダの指示によりタイヤ型に固有の動作に関して、タイ
ヤ以外の動作(例えば両腕の動作である)を制御する。
ホイールパターンジェネレータは、モーションコマンダ
の制御によりタイヤの制御情報を生成する。
【0058】形態独立ソフトウエアは、ロボット1の形
態に依存しないソフトウエアであり、形態設定オブジェ
クト等を有する。ここで形態設定オブジェクトは、形態
依存ソフトウエアよりロボット1の形態に依存しない情
報を受け取り、この情報によりロボット1の形態に依存
しない上述したようなロボット1の姿勢を示すコマンド
(睡眠等である)を形態依存ソフトウエアに出力する。
【0059】すなわち例えば、ビジョンオブジェクトよ
り通知される赤色の物体の有無とその位置情報に基づい
て、1分以上赤色の物体の存在が検出されなかった場
合、図6に示すように、睡眠(Sleep )の状態にあって
はその状態を維持するように、休憩(Rest)の状態にあ
っては睡眠(Sleep )に、起床(Wakeup)の状態にあっ
ては休憩(Rest)に、移動(Move)にあっては起床(Wa
keup)の状態に遷移するようにコマンドを発行する。
【0060】また赤色物体が所定値より小さな大きさで
検出され(ロボットの設定による値10以下)、これが
10秒以上続いた場合、睡眠(Sleep )の状態にあって
は休憩(Rest)の状態に、休憩(Rest)の状態にあって
は起床(Wakeup)に、起床(Wakeup)の状態にあっては
移動(Move)に遷移するようにコマンドを発行し、また
移動(Move)にあっては移動(Move)を継続するように
コマンドを発行する。
【0061】さらに赤色物体が所定値以上の大きさで検
出された場合、睡眠(Sleep )の状態にあっては(Wake
up)の状態に遷移するように、休憩(Rest)及び起床
(Wakeup)の状態にあっては移動(Move)に遷移するよ
うに、また移動(Move)にあっては移動(Move)を継続
するようにコマンドを発行する。
【0062】これらによりロボット1では、最も上位の
ソフトウエアが、形態に依存しないように形成され、こ
の形態に依存しないソフトウエアとの間では形態に依存
しない形式によりデータを送受するようになされてい
る。これによりこのロボット1では、形態に応じて、こ
の形態に依存するソフトウエアである形態依存ソフトウ
エアだけを変更して、形態に応じてソフトウエアを簡易
に変更することができるようになされている。
【0063】(1−3)形態依存ソフトウエアの変更 ロボット1において、この形態依存ソフトウエアは、デ
ザインロボットの指示によるオブジェクトマネージャー
の処理により更新される。このときこの実施の形態にお
いては、形態依存ソフトウエアを構成するオブジェクト
のロード、アンロード、オブジェクト間通信のための結
合再構築により形態依存ソフトウエアを更新する。
【0064】このためデザインロボットは、バーチャル
ロボットよりロボット1の形態を特定する結合情報(CP
C Connection Information )の通知を受け、この結合
情報(CPC Connection Information )に基づいてオブ
ジェクトマネージャーに形態依存ソフトウエアの更新を
指示すると共に必要な情報を提供する。
【0065】またバーチャルロボットにおいては、下位
層であるロボットシリアルバスデバイスドライバを介し
てシリアルバスに接続された各デバイスの情報を取得
し、この情報より結合情報(CPC Connection Informati
on )を作成してデザインロボットに通知する。
【0066】このためこのロボット1においては、各ロ
ボットコンポーネントのメモリに所定の情報が記録さ
れ、ロボットシリアルバスデバイスドライバを介して実
行されるデータ通信により、バーチャルロボット1にお
いてシリアルバスに接続されたデバイスの情報をその位
置情報と共に取得できるようになされている。
【0067】ここでロボット1においては、シリアルバ
スに接続されるテレビジョンカメラ、スピーカー、マイ
ク、各種アクチュエータ、センサー等が基本的な構成要
素(CPC Primitive )であり、リンク状態に設定された
これら基本的な構成要素の複数の組み合わせにより各部
品(CPC Model )が構成される。すなわち例えば部品で
ある1つの足は、3個のモータ、1個のスイッチによる
複数の基本的な構成要素の特定なリンク状態により構成
される。
【0068】ロボット1においては、これら各部品に固
有の識別データが割り当てられ、この識別データにより
シリアルバスに接続された各構成要素を特定できるよう
になされている。なおこの識別データは、部品を作成し
た製造工場のIDと製品番号に対応するIDとにより構
成される。またこの識別データに対応するように、各構
成要素の情報、部品における各構成要素の位置情報が部
品中における各構成要素のリンク情報、各構成要素の属
性情報等により設定され、これらの情報が各部品の識別
データと共に各部品のメモリに保持されるようになされ
ている。なおこの実施の形態では、部品側にてメモリ容
量が少ない場合には、各部品側に識別データのみ記録さ
れ、構成要素の情報、部品における構成要素の位置情報
は、本体2側に保持するようになされている。
【0069】バーチャルロボットは、システム起動時、
デバイスの変更時、ロボットシリアルバスデバイスドラ
イバより通知されるこれら識別データ、位置情報等によ
り、ツリー構造によるシリアルバスを順次辿って、各基
本的な構成要素(CPC Primitive )と各構成要素の結合
の順番を示すデータ構造とにより結合情報(CPC Connec
tion Information )を作成してデザインロボットに通
知する。かくするにつきバーチャルロボットより通知さ
れる結合情報(CPC Connection Information)にあって
は、形態に対応する構成要素情報(CPC Primitive Loca
tion Information )により構成される。
【0070】デザインロボットは、バーチャルロボット
より通知される結合情報(CPC Connection Information
)を基準にしてデザインファイルを参照することによ
り現在のロボット1の形態に対応する結合テンプレート
(後述するラベルである)を選択する。さらにデザイン
ロボットは、この選択したテンプレートに応じて、現在
の形態に適した形態依存ソフトウエアへの更新をオブジ
ェクトマネージャーに指示する。
【0071】ここでデザインファイルは、テキストデー
タ形成の記述であり、ロボット1の形態毎に、各部品の
構成要素情報(CPC Primitive Location Information
)群に対してラベルを付加して記述される。また構成
要素情報(CPC Primitive Location Information )
は、各部品の基本的な構成要素(CPC Primitive )と各
構成要素の位置情報(CPC Coordinate Locator)により
構成される。このうち位置情報(CPC Coordinate Locat
or)は、ロボット1に設定された基準位置からの座標で
あり、一般的なリンク座標系により表記され、座標系変
換のための回転行列と位置ベクトルの縦続接続により構
成されるようになされている。
【0072】またラベルは、対応するオブジェクトの特
定、このオブジェクトのロード、オブジェクト間通信の
構築に必要なデータを特定するものであり、デザインラ
ベル(Design Label)、又はデザインラベルに比して汎
用的な理解容易な記述によるバーチャルラベル(Virtua
l Label )、デザインラベル(Design Label)とバーチ
ャルラベル(Virtual Label )との複合型のラベル(Co
mposite Label )が適用される。なおビジュアルラベル
にあっては、デザインロボットによりデザインラベルに
置き換えられて利用に供されるようになされている。
【0073】次式は、このうちのデザインラベルの記述
を示すものである。デザインラベルは、1つ以上の構成
要素情報(CPC Primitive Location Information )、
又はデザインラベル(Design Label)により構成され
る。
【0074】
【数1】
【0075】これに対して次式は、バーチャルラベル
(Virtual Label )の記述を示すものである。バーチャ
ルラベルは、デザインラベル(Design Label)、構成要
素(CPC Primitive )、構成要素(CPC Primitive )の
位置情報(CPC Coordinate Locator)により構成され
る。
【0076】
【数2】
【0077】これに対して次式は、複合型のラベル(Co
mposite Label )の記述を示すものである。
【0078】
【数3】
【0079】かくするにつきデザインロボットは、通知
された結合情報(CPC Connection Information )によ
り特定される構成要素情報(CPC Primitive Location I
nformation )において、特定される位置情報(CPC Co
ordinate Locator)よりツリー構造の先端側にバーチャ
ルラベル(Virtual Label )内で定義された位置情報
(CPC Coordinate Locator)が存在する場合、このバー
チャルラベル(VirtualLabel )をデザインラベル(Des
ign Label)に置き換え、またこのようにして定義した
デザインラベル(Design Label)を有効なものと設定す
る。
【0080】これらによりこの実施の形態では、結合情
報(CPC Connection Information)によりこのデザイン
ファイルをアクセスして現在のロボットを形態(4足
型、タイヤ型等の形態)を特定できるようになされ、ま
た形態依存ソフトウエアの更新に必要な各種データを取
得できるようになされている。
【0081】図7は、このデザインロボットの処理手順
を具体的に示すフローチャートである。デザインロボッ
トは、バーチャルロボットより結合情報(CPC Connecti
on Information)が通知されると、ステップSP1から
ステップSP2に移り、この結合情報(CPC Connection
Information)によりデザインファイルをアクセスし、
これにより現在のロボット1の形態を特定する。
【0082】続いてデザインロボットは、ステップSP
3に移り、バーチャルロボットより通知された結合情報
(CPC Connection Information)による構成要素情報
(CPCPrimitive Location Information)とデザインフ
ァイルに保持された結合情報(CPC Connection Informa
tion)による構成要素情報(CPC Primitive Location I
nformation)とを比較する。
【0083】続いてデザインロボットは、ステップSP
4に移り、この比較結果に基づいて、デザインファイル
をアクセスし、現在の形態に対応するオブジェクト、オ
ブジェクト間通信の再構築に必要なデータを特定するデ
ザインラベルを検出する。
【0084】続いてデザインロボットは、ステップSP
5に移り、検出したデザインラベルより結合ファイル
(Connection File )をアクセスし、ラベルに対応する
結合情報(Connection Data )を検出することにより、
対応するオブジェクトの特定、オブジェクト間通信の再
構築に必要なデータを取得する。かくするにつき結合フ
ァイル(Connection File )は、ラベルとの対応により
結合情報(Connection Data )を記録したファイルであ
り、結合情報(Connection Data )は、対応するオブジ
ェクトの特定、オブジェクト間通信の再構築に必要なデ
ータである。
【0085】続いてデザインロボットは、ステップSP
6に移り、この結合情報(Connection Data )をオブジ
ェクトマネージャーに送出し、これにより形態依存ソフ
トウエアの更新を指示した後、ステップSP7に移って
この処理手順を終了する。
【0086】図8は、デザインファイルの一部の記述を
示す図表である。このデザインファイルにおいて、DRX
は、このロボット1の形態を示し、4Leggedは、4足型
の形態であることを示す記述である。またHead、RightF
rontLeg 、LeftFrontLeg、RightRearLeg、LeftRearLeg
は、それぞれ頭部、右前足、左前足、右後足、左後足を
示し、これにより第1文において4足型が頭部、右前
足、左前足、右後足、左後足により構成されることが特
定される。
【0087】また第2文におけるWheel はタイヤ型を示
し、第1文との対比によりこの第2文においてタイヤ型
が頭部、右前足、左前足、右後輪、左後輪により構成さ
れることが特定される。また第3文においては、頭部に
カメラリンクの配置が記述され、第4文にはこのカメラ
リンクのバーチャルラベル(Virtual Label )が記述さ
れるようになされ、第5文以降においては、右前足、左
前足等について、位置情報(CPC Coordinate Locator)
がツリー形式により記述されるようになされている。
【0088】これに対して図9は、結合情報(CPC Conn
ection Information)の一部の記述を示す図表である。
この実施の形態においては結合情報もデザインファイル
と同様にテキストデータ形成により記述される。この記
述において、joint はインターフェースを示し、この部
分が他の構成要素との結合箇所であることを示すもので
ある。この場合第2行目から第5行目までの記載によ
り、C0、C0、C0、C0、C0による5つのハブ等を介してテ
レビジョンカメラが接続されていることが判る。
【0089】これによりこの図9の例による結合情報
(CPC Connection Information)にあっては、図8につ
いて上述した記述である4足型と一致することになる。
【0090】これに対して次式は、結合ファイル(Conn
ection File )の一部の記述を示す図表である。結合フ
ァイルは、テキストデータ形成により記述され、この記
述において、第1文及び第2文は、それぞれ4足型及び
タイヤ型における足及びタイヤに対応するオブジェクト
と、このオブジェクトにおけるオブジェクト間通信の構
築に必要なデータが記述される。
【0091】すなわち第1文にあっては、サービス名と
してオブジェクト名であるMoNet とデータ形式MoNetOut
Data、サブジェクトを示すSの記述が記述される。さら
に同様のサービス名としてオブジェクト名であるMoNetR
eplay 、データ形式MoNetOutData等が記述され、最後に
オブザーバーを示すOの記述が割り当てられる。また続
く行において、同様のサブジェクト及びオブザーバー、
データ形式等が記述される。
【0092】
【数4】
【0093】これによりこの図8の例の場合、デザイン
ロボットは、このDRX 4Legged による第1文の記述より
結合情報(Connection Data )(DRX 4Legged 以降の括
弧書の記述)を抽出してオブジェクトマネージャーに通
知し、これによりこの実施の形態では形態依存ソフトウ
エアを更新するようになされている。
【0094】図10は、オブジェクトマネージャー、バ
ーチャルロボット、デザインロボットにおけるブート時
の処理を示すタイムチャートである。ロボット1におい
ては、電源が投入されると、又はリセットがされると、
ブートの処理を開始する。ここでロボット1において
は、各オブジェクトがファイルよりロードされて形態依
存ソフトウエアが構築され、このとき各オブジェクトマ
ネージャーの内部変数が初期化される。
【0095】続いてオブジェクトマネージャーよりドウ
イニシャライズ(DoInit)が各オブジェクトに送出さ
れ、このドウイニシャライズ(DoInit)により各オブジ
ェクトの問い合わせ用エントリ(Entry )がオブジェク
トマネージャー等に登録される。これによりロボットシ
ステムソフトウエアレイヤーにおいて、各オブジェク間
通信が構築される。
【0096】続いてオブジェクトマネージャーよりドウ
スタート(DoStart )がバーチャルロボット、デザイン
ロボットに順次送出され、バーチャルロボット、デザイ
ンロボットが動作を開始する。これによりバーチャルロ
ボットにより結合情報( CPCConnection Information
)が生成され、デザインロボットの要求によりこの結
合情報( CPC Connection Information )がデザインロ
ボットに渡され、結合情報(Connection Data )が生成
される。
【0097】さらにこの結合情報(Connection Data )
がオブジェクトマネージャーに渡され、この結合情報
(Connection Data )により形態依存ソフトウエアが構
築される。
【0098】これに対してシャットダウンにおいては、
オブジェクトマネージャーよりドウストップ(DoStop)
が各オブジェクトに送出され、このドウストップ(DoSt
op)により各オブジェクトにおいては、全てのリクエス
トに対してエラーを通知して動作を停止する。続いてオ
ブジェクトマネージャーよりドウデストロイ(DoDestro
y )が各オブジェクトに送出され、これにより各オブジ
ェクトにおいては、使用していたソースを開放し、また
オブジェクトマネージャーに登録したエントリを抹消し
て待機する。
【0099】これによりロボット1においては、形態が
変更されて立ち上げられた場合でも、この変更された形
態に適したソフトウエアにより動作できるようになされ
ている。
【0100】これに対していわゆるプラグイン(Plug-I
n )、プラグアウト(Plug-Out)においては、図11に
示すように、オブジェクトマネージャーよりドウストッ
プ(DoStop)が各オブジェクトに送出され、このドウス
トップ(DoStop)により各オブジェクトにおいては、全
てのリクエストに対してエラーを通知して動作を停止す
る。
【0101】続いてオブジェクトマネージャーよりブー
ト時と同様にして順次ドウスタート(DoStart )がバー
チャルロボット、デザインロボットに順次送出され、バ
ーチャルロボットにより結合情報( CPC Connection In
formation )が生成され、この結合情報( CPC Connect
ion Information )がデザインロボットに渡されて結合
情報(Connection Data )が生成され、この結合情報
(Connection Data )により形態依存ソフトウエアが構
築される。
【0102】これによりロボット1においては、プラグ
イン(Plug-In )、プラグアウト(Plug-Out)により動
的に形態が変更された場合でも、この変更された形態に
適したソフトウエアにより動作できるようになされてい
る。
【0103】また、バッテリー17が消耗した場合等に
あっては、バッテリーマネージャーからの状態変更要求
により、プラグイン(Plug-In )、プラグアウト(Plug
-Out)の場合と同様に、ドウストップ(DoStop)、ドウ
スタート(DoStart )の処理が繰り返され、これにより
バッテリー17が消耗した場合にあっては、クロック周
波数を低減すると共に不必要なデバイスの動作を停止し
てボタン電池29により動作するように状態が変更さ
れ、これとは逆に充電されたバッテリー17が装着され
た場合にあっては、クロック周波数を増大すると共に各
デバイスの動作が開始されてバッテリー17により動作
するようになされている。
【0104】(1−4)オブジェクトマネージャーの処
理 オブジェクトマネージャーは、このようにして実行され
るデザインロボットからの通知により形態依存ソフトウ
エアを構成するオブジェクトを再構成し、これにより形
態依存ソフトウエアを更新する。具体的に、オブジェク
トマネージャーは、デザインロボットからの通知により
オブジェクトをロード、アンロードすると共に、これら
アンロード及びロードに対応するようにオブジェクト間
通信を再構築し、これにより形態依存ソフトウエアを変
更する。
【0105】このオブジェクト間通信を構築する際に、
対応するオブジェクト名等がオブジェクトに登録されて
いなければならないとすると、各オブジェクトの独立性
が害され、自由な形態に対応するようにオブジェクトを
複数種類用意することが必要になる。このためこの実施
の形態において、オブジェクトマネージャーは、デザイ
ンロボットより出力される結合情報(Connection Data
)に基づいてオブジェクト間通信を構築し、これによ
りオブジェクトの独立性を担保する。
【0106】なお以下の説明においては、ロボット1に
おける具体的なオブジェクト名の特定を避けて説明を簡
略化する。またオブジェクト間通信は、非同期により実
行するものとする。
【0107】すなわち図12は、この実施の形態に係る
2つのオブジェクト間におけるオブジェクト間通信の基
本構成を示す略線図である。この実施の形態において
は、レディー(Ready )とノーティファイ(Notify)と
を用いてオブジェクト間通信を実行し、これによりオブ
ジェクト(この例ではObjectB)の処理能力以上のデータ
を送出しないようになされている。
【0108】すなわち図12において、オブジェクトA
は、オブジェクトAのメンバーであるクラス0のサブジ
ェクトからオブジェクトBのメンバーである0オブザー
バークラスに対してデータを送出し、これによりオブジ
ェクトBのメソドがインボウク(invoke)される。
【0109】この関係において、サブジェクトは、オブ
ザーバーよりレディー(Ready )の信号が送出されてい
る場合にのみデータを送出する。なおレディー(Ready
)の信号は、1回のデータにつき1回送る必要があ
る。これによりオブザーバー側であるオブジェクトBに
おいては、受け取ったデータの処理の完了を待って続く
データを受信することができるようになされている。
【0110】これに対して図13は、マルチオブザーバ
ーにおけるオブジェクト間通信の基本構成を示す略線図
である。この場合、サブジェクトであるオブジェクトA
は、全てのオブザーバーに対してデータを配信すること
ができ、またオブジェクトIDにより特定される特定の
オブザーバーに対してのみにデータを配信することもで
きる。なおこの実施の形態においては、このようなマル
チオブザーバーの状態においても、レディー(Ready )
の信号により対応するオブザーバーに対してデータを送
出する。
【0111】各オブジェクトにおいては、オブジェクト
を特定するオブジェクトID、メソド(method)を特定
するセレクタ番号(selector)(メソド番号である)を指
定することにより、対応するメソドを起動(エントリ)
し、オブザーバーを特定して所望のデータを送出する。
【0112】図14は、いわゆるマルチサブジェクトに
おけるオブジェクト間通信の基本構成を示す略線図であ
る。この場合、オブジェクトA及びBがサブジェクトで
あり、オブジェクトCがオブザーバーである。オブザー
バーにおいては、このように複数のサブジェクトよりそ
れぞれデータを受信することができ、またデータを受信
する毎にデータを処理するメソドがインボウク(invok
e)されるようになされている。またオブザーバーは、
サブジェクトIDにより特定される特定のサブジェクト
に対してのみにレディー(Ready )の信号を送出して所
望のデータを選択的に入力できるようになされている。
【0113】この実施の形態において、少なくとも形態
依存ソフトウエアレイヤーの属するオブジェクトにおい
ては、これら図12〜図14を用いて説明したように、
レディー(Ready )とノーティファイ(Notify)とを用
いてオブジェクト間通信を実行し、また必要に応じてマ
ルチオブザーバー、マルチサブジェクトの結合形態によ
り他のオブジェクトを結合できるようになされている。
すなわち複数のオブザーバーを有するオブジェクトにあ
っては、これら複数のオブザーバーに対応する数のコネ
クトエントリーを有するようになされている。
【0114】図15は、オブジェクトマネージャーと各
オブジェクトとの関係を示す略線図である。各オブジェ
クトにおいては、それぞれオブジェクトID、セレクタ
番号(Selector)によりメソドを特定してデータ交換
し、それぞれ対応するサブジェクト、オブザーバーとは
何ら無関係に、基本的なメソドについてセレクタ番号0
〜3がそれぞれ割り当てられるようになされている。
【0115】ここでセレクタ番号0には、ドウイニシャ
ライズ(DoInit)が割り当てられ、各オブジェクトは、
このドウイニシャライズ(DoInit)の起動により初期化
されるようになされている。またセレクタ番号1には、
ドウスタート(DoStart )が割り当てられ、各オブジェ
クトは、このドウスタート(DoStart )の起動により動
作を開始するようになされている。さらにセレクタ番号
2には、ドウストップ(DoStop)が割り当てられ、各オ
ブジェクトは、このドウストップ(DoStop)の起動によ
り動作を停止するようになされている。またセレクタ番
号2には、ドウデストロイ(DoDestroy )が割り当てら
れ、各オブジェクトは、このドウデストロイ(DoDestro
y )によりリソースを開放するようになされている。
【0116】さらに各オブジェクトにおいては、これら
オブジェクトマネージャーからの要求、また他のオブジ
ェクトからの要求に対して、適宜、リターン値によりオ
ブザーバーによるサービス名、セレクタ番号等を通知す
るようになされている。
【0117】これによりこの実施の形態において、デザ
インロボットより通知される結合情報(Connection Dat
a )に基づいて、オブジェクトマネージャーによりオブ
ジェクトをロード、アンロードした後、オブジェクト間
通信を再構築できるようになされている。
【0118】次式は、このデザインロボットより通知さ
れる結合情報(Connection Data )を示すものであり、
サブジェクトのサービス名とオブザーバーのサービス名
をコロンで区切ってテキストデータ形成により記述され
る。この場合、サブジェクト側においては、オブジェク
ト名であるFooB、データ形式Image 、対応する構成要素
名による名称RightCamera 、サブジェクトを示すSの記
述がサービス名として記述される。またオブザーバー側
にあっては、オブジェクト名であるFooA、データ形式Im
age 、対応する構成要素名による名称RightCamera 、オ
ブザーバーを示すOの記述がサービス名として記述され
る。
【0119】
【数5】
【0120】オブジェクトマネージャーにおいては、オ
ブジェクトをロードする際に、この結合情報(Connecti
on Data )の記述よりロードするオブジェクト名を検出
する。さらにオブジェクトマネージャーは、スタックメ
モリ(Stack )、ヒープメモリ(heap)を確保してこの
検出したオブジェクト名のオブジェクトを所定のファイ
ルよりロードする。このときオブジェクトマネージャー
は、オペレーションシステム(OS:Operation System )
よりオブジェクトIDを取得し、このオブジェクトID
を結合情報(Connection Data )に記述されたオブジェ
クト名と共に記録する。
【0121】これによりオブジェクトマネージャーにお
いては、このようにして登録したオブジェクトIDを用
いて以下のドウイニシャライズ(DoInit)、ドウコネク
ト(DoConnect )、ドウスタート(DoStart )等の処理
を実行するようになされている。
【0122】すなわちドウイニシャライズ(DoInit)に
おいて、取得したオブジェクトIDと、上述したセレク
タ番号に基づいて、オブジェクトマネージャーは、オブ
ジェクトのロードにより取得した全てのオブジェクトに
対してドウイニシャライズ(DoInit)をコールする。各
オブジェクトにおいては、このドウイニシャライズ(Do
Init)により内部変数等を初期化し、これによりオブジ
ェクトマネージャーにおいては、各オブジェクトを初期
化する。
【0123】この初期化の処理において、オブジェクト
マネージャーは、各オブジェクトからの通知により、そ
れぞれ各オブジェクトのサブジェクトとしてのエントリ
(Control) 、オブジェクトとしてのエントリ(Connect
)を登録する。なおこの登録は、結合情報(Connectio
n Data )におけるサブジェクト及びオブジェクトの記
述に対応して、オブジェクトの名前とサブジェクト、オ
ブジェクトの名前により構成される。
【0124】これに対してドウコネクト(DoConnect )
において、オブジェクトマネージャーは、ドウイニシャ
ライズ(DoInit)における登録に基づいて、オブザーバ
ーを有する各オブジェクトのエントリ(Connect )に対
して、それぞれ登録対象であるサブジェクトのサブジェ
クト(オブジェクトID)ID、エントリ(Control)
を通知する。これによりこの通知を受けたオブジェクト
において、通知されたサブジェクトID、エントリ(Co
ntrol )を用いて対応するサブジェクトを呼び出し、こ
こにエントリ(Notify)が接続登録される。また接続登録
が要求されたサブジェクトよりレディー(Ready )がオ
ブザーバーに返され、これによりオブザーバーと対応す
るサブジェクトとが結合される。
【0125】このようにしてオブザーバー及びサブジェ
クト間でオブジェクト間通信を構築するにつき、オブジ
ェクトマネージャーにおいては、結合情報(Connection
Data )で通知されたオブザーバーに対して対応するサ
ブジェクトのサブジェクトID(オブジェクトID)、
エントリ(Control )を通知する。これによりこの実施
の形態において、各オブジェクトにおいては、何ら結合
対象のオブジェクトを明示的に示すことなく開発できる
ようになされ、また必要に応じてオブジェクトマネージ
ャーの指示により種々のオブジェクトと結合できるよう
になされ、これにより従来に比して高い独立性を確保で
きるようになされている。
【0126】またこのときオブジェクトマネージャーに
より結合情報(Connection Data )に従ってオブジェク
ト間通信を構築することにより、簡易かつ自在に形態依
存ソフトウエアを更新して、形態に適してソフトウエア
を簡易に変更できるようになされている。
【0127】これに対してドウスタート(DoStart )に
おいて、オブジェクトマネージャーは、上述したセレク
タ番号1により各オブジェクトにドウスタート(DoStar
t )を指示する。各オブジェクトにおいては、オブザー
バーを有する場合、ドウコネクト(DoConnect )により
取得したサブジェクトID、エントリ(Ready )を用い
てサブジェクトにレディー(Ready )を送出し、これに
より対応するサブジェクトよりデータ受信可能な状態が
形成され、形態依存ソフトウエアにおいては、動作を開
始するようになされている。
【0128】すなわちマルチオブザーバーによるサブジ
ェクトにおいては、登録したオブザーバーのうちのレデ
ィー(Ready )を送出しているオブザーバーに例えばセ
ンサー出力であるデータをノーティファイ(Notify)
し、またオブザーバーにおいては、受信したデータの処
理を完了して次のデータを受信可能となるとレディー
(Ready )を送出する。
【0129】これに対して上述したシャットダウン、プ
ラグイン、プラグアウト、状態変更の場合、デザインロ
ボットより通知される結合情報(Connection data )
が、以前デザインロボットより送出されて登録した内容
と異なることにより、この場合オブジェクトマネージャ
ーは、上述したセレクタ番号2により各オブジェクトに
ドウストップ(DoStop)を送出する。この場合オブザー
バーにあっては、エントリ(Ready )を解除する。
【0130】またドウディスコネクト(DoDisconnect)
において、オブジェクトマネージャーは、サブジェクト
とオブザーバーとの間の通信接続を遮断する。この場
合、オブジェクトマネージャーは、オブザーバーのエン
トリ(Connect )に対してドウディスコネクト(DoDisc
onnect)のメッセージを送出することにより、オブザー
バーより対応するサブジェクトにエントリ(Control )
の切断要求(Remove Observer )を発行させ、これによ
り通信接続を遮断する。
【0131】これに対してドウデストロイ(DoDestroy
)において、オブジェクトマネージャーは、上述した
セレクタ番号3により対応するオブジェクトにドウデス
トロイ(DoDestroy )を送出し、これによりこのオブジ
ェクトを破壊する。このときこのオブジェクトにおいて
は、ドウイニシャライズ(DoInit)で実行した登録の解
除を実行する。
【0132】オブジェクトアンロード(Object Unload
)において、オブジェクトマネージャーは、ドウデス
トロイ(DoDestroy )により破壊したオブジェクトにつ
いて、スタックメモリ、ヒープメモリの領域を開放し、
このオブジェクトをアンロードする。またロード時に登
録したサブジェクトID、サブジェクト名を抹消する。
【0133】オブジェクトマネージャーは、これらの制
御により、例えば結合情報(Connection data )をデザ
インロボットより受け取ると、図16に示すシーケンス
によりドウスタート(DoStart )までの制御を実行す
る。
【0134】すなわちオブジェクトマネージャーは、メ
ッセージにより結合情報(Connection data )が送られ
ると起動し、例えばこの結合情報に記述されたオブジェ
クトA及びオブジェクトBをロードする。なおここでは
オペレーションシステムのシステム命令によりオブジェ
クトA及びオブジェクトBをロードする。このときオブ
ジェクトマネージャーは、オブジェクトA及びBのオブ
ジェクトIDを取得して登録する。
【0135】続いてオブジェクトマネージャーは、上述
したようにしてこの取得したオブザーバーID、セレク
タ番号0によりオブジェクトA及びBのドウイニシャラ
イズ(DoInit)を起動し、これによりオブジェクトA及
びBより、サブジェクトとしてのエントリ(Control) 、
オブジェクトとしてのエントリ(Connect )を取得して
登録する。
【0136】続いて登録したエントリ(Connect )を用
いてオブザーバーであるオブジェクトAのドウコネクト
(DoConnect )を起動し、サブジェクトであるオブジェ
クトBとこのオブジェクトAとを結合する。このように
して結合情報(Connection data )に基づいてオブジェ
クト間通信が構築され、オブジェクトマネージャーは、
続いてオブジェクトA及びBのドウスタート(DoStart
)を起動する。
【0137】図17は、このドウスタート(DoStart )
以降のシーケンスを示すタイムチャートである。オブジ
ェクトマネージャーのドウスタート(DoStart )により
オブジェクトA、オブジェクトB、他のオブジェクト等
が起動すると、これらのオブジェクトにおいては、上述
したレディー(Ready )とノーティファイ(Notify)と
を用いてオブジェクト間通信を実行する。
【0138】すなわちこの場合、起動によりオブジェク
トAがオブジェクトBのレディー(Ready )エントリに
レディーメッセージを送出し、オブジェクトBによるオ
ブジェクトAのノーティファイ(Notify)エントリによ
りオブジェクトBからオブジェクトAにデータ等が送出
される。またこのデータの処理中に、オブジェクトAよ
りオブジェクトBのレディー(Ready )エントリに未だ
メッセージが送出されていない場合には、オブジェクト
BによるオブジェクトAのノーティファイ(Notify)エ
ントリが登録され、オブジェクトAによるオブジェクト
Bのレディー(Ready )エントリによりデータ等が送出
される。これによりこのオブジェクト間通信において
は、オブジェクトAのデータ処理能力を越えたデータの
伝送が防止される。
【0139】図18は、プラグイン、プラグアウト、状
態変更におけるシーケンスを示すタイムチャートであ
る。オブジェクトマネージャーは、デザインロボットよ
り通知される結合情報(Connection data )が、以前デ
ザインロボットより送出されて登録した内容と異なって
いると、全てのオブジェクトにドウストップ(DoStop)
を送出し、全てのオブジェクトの動作を停止する。この
場合各オブジェクトA及びBにおいては、エントリ(Re
ady )を解除することにより、それ以後、自己のノーテ
ィファイエントリが起動されないようにする。
【0140】全てのオブジェクトのドウストップ(DoSt
op)が完了すると、オブジェクトマネージャーは、この
場合、オブジェクトAにドウディスコネクト(DoDiscon
nect)を通知してこのオブジェクトAを他のオブジェク
トと切り離した後、このオブジェクトAのドウデストロ
イ(DoDestroy )を起動する。これによりオブジェクト
Aのリソースを開放し、またドウイニシャライズ(DoIn
it)で実行したオブジェクトBの登録を解除する。
【0141】必要なオブジェクトに対するドウデストロ
イ(DoDestroy )が終了するとオブジェクトマネージャ
ーは、アンロードをオペレーションシステムのシステム
命令により実行する。なおここで必要なオブジェクトの
destructorが呼び出され、この場合はオブジェクトAの
destructorが呼び出されることにより、ロード時に実行
したオブジェクトAの登録を解除する。さらにオブジェ
クトマネージャーは、スタックメモリ、ヒープメモリを
開放し、これによりオブジェクトAのアンロードを完了
する。
【0142】続いてオブジェクトマネージャーは、結合
情報(Connection data )に従ってオブジェクトCのロ
ードを指示し、図16について上述したと同様にして、
順次ドウイニシャライズ(DoInit)、ドウコネクト(Do
Connect )、ドウスタート(DoStart )を起動する。こ
れによりこの場合、動作中に、コンパイルすることなく
オブジェクトA及びBによる構成がオブジェクトB及び
Cによる構成に変更されるようになされている。
【0143】(1−5)連想記憶によるオブジェクトの
登録 図19は、(5)式により示した結合情報(Connection
data )に従ってオブジェクトA及びオブジェクトBを
示す略線図である。オブジェクトマネージャーにおいて
は、結合情報(Connection data )を連想記憶に保持し
て記録すると共に、オブジェクトのドウイニシャライズ
(DoInit)を起動して各オブジェクトを登録する際に、
結合情報(Connection data )の記述を基準にして連想
記憶に各オブジェクトを登録する。
【0144】すなわちこの場合、オブザーバー側である
オブジェクトAのオブジェクト名がFooA、サブジェクト
側であるオブジェクトBのオブジェクト名がFooB、デー
タ形式がImage であり、サブの名称がRightCamera であ
る。これによりこのサブジェクトとオブジェクトとの結
合情報(Connection Data )においては、サブジェクト
のサービス名とオブザーバーのサービス名をコロンで区
切って(FooB.Image.RightCamera.S,FooA.Image.RightC
amera.O )により記述されることになる。
【0145】オブジェクトマネージャーは、この結合情
報(Connection Data )がデザインロボットより渡され
ると、図20に示すように、この結合情報のオブザーバ
ー側の記述( O.FooA.Image.RightCamera )をキーとし
て、サブジェクト側の記述(FooB.Image.RightCamera.
S)を連想記憶1に記憶して蓄積する。
【0146】これに対して各オブジェクトにおいては、
ドウイニシャライズ(DoInit)によりオブジェクトマネ
ージャーの登録エントリに対してサービス名、セレクタ
番号を通知し、オブジェクトマネージャーは、これらの
通知を同様に連想記憶2に記憶して各オブジェクトを登
録する。
【0147】すなわちこの場合オブザーバー側であるオ
ブジェクトAにおいては、結合情報(Connection Data
)におけるオブザーバー側の記述(FooB.Image.RightC
amera.O)と同一の記述によるサービス名を通知し、ま
たコネクションエントリのセレクタ番号を通知する。な
おこのオブジェクトAにおいては、このセレクタ番号を
5とする。
【0148】オブジェクトマネージャーにおいては、図
21に示すように、結合情報(Connection Data )にお
けるオブザーバー側の記述(FooA.Image.RightCamera.
O)をキーにして、このオブジェクトAのオブジェクト
ID、セレクタ番号(OID,Entry )=(2,5)を連想
記憶2に記録する。なおここでこのオブジェクトAのオ
ブジェクトIDは、オペレーションシステムより値1と
して通知されたものである。
【0149】またこの場合、サブジェクト側であるオブ
ジェクトBにおいては、結合情報(Connection Data )
におけるサブジェクト側の記述(FooB.Image.RightCame
ra.S)と同一の記述によるサービス名を通知し、またコ
ネクションエントリのセレクタ番号を通知する。なおこ
のオブジェクトBにおいては、このセレクタ番号を5と
する。
【0150】オブジェクトマネージャーにおいては、図
21において、オブジェクトAについての記述と共に示
すように、結合情報(Connection Data )におけるサブ
ジェクト側の記述(FooB.Image.RightCamera.S)をキー
にして、このオブジェクトBのオブジェクトID、セレ
クタ番号(OID,Entry )=(1,5)を連想記憶2に記
録する。なおここでこのオブジェクトBのオブジェクト
IDは、オペレーションシステムより値2として通知さ
れたものである。
【0151】オブジェクトマネージャーにおいては、ド
ウコネクト(DoConnect )時、結合情報(Connection D
ata )よりサブジェクト側の記述とオブジェクト側の記
述を分離する。これによりオブジェクトマネージャーに
おいては、連想記憶1に記憶されたキー(FooA.Image.R
ightCamera.O)と、このキー(FooA.Image.RightCamer
a.O)により連想記憶1に蓄積された種々の記述(FooA.
Image.RightCamera.O)の1つとにそれぞれ対応するよ
うに、結合情報(Connection Data )の記述を分離す
る。
【0152】さらにオブジェクトマネージャーは、この
分離した記述によりそれぞれ連想記憶2を検索し、対応
するオブザーバーのオブジェクトID及びセレクタ番号
(1,5)、サブジェクトのオブジェクトID及びセレ
クタ番号(2,5)を検出する。
【0153】オブジェクトマネージャーは、これにより
オブジェクトID及びセレクタ番号(1,5)に対し
て、オブジェクトID及びセレクタ番号(2,5)のメ
ッセージを送出し、オブザーバーのコネクトエントリを
起動し、このコネクトエントリーをオブジェクトID及
びセレクタ番号(2,5)によるサブジェクトの情報を
通知する。またこのコネクトエントリーよりオブジェク
トID及びセレクタ番号(2,5)によるサブジェクト
側コントロールエントリを起動し、このコントロールエ
ントリにオブザーバー側であるオブジェクトID及びセ
レクタ番号(1,6)(この場合はノーティファイ(No
tify)である)を登録する。このときオブザーバー側
は、戻り値によりレディーのセレクタ番号を得、これを
登録する。
【0154】これによりオブジェクトマネージャーにお
いては、連想記憶1及び2を用いてオブジェクト間の結
合を確立するようになされている。
【0155】このようにしてオブジェクト間の結合が確
立すると、オブジェクトマネージャーは、結合情報(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)を削除する。
【0156】これによりオブジェクトマネージャーは、
結合情報(Connection Data )に対応する記述により、
オブジェクト間の結合が確立されてなるオブザーバー及
びサブジェクトを連想記憶3に登録して保持するように
なされている。
【0157】かくするにつきオブジェクトマネージャー
は、ドウディスコネクト(DoDisconnect)時において
は、上述したドウコネクト(DoConnect )時とは逆に、
結合を遮断すると共に、連想記憶3に記録された対応す
る記述を削除して連想記憶1に記録し直し、また連想記
憶2の対応する記述を削除すようになされている。
【0158】これに対して形態依存ソフトウエアの変更
により例えば次式により示される結合情報(Connection
Data )がデザインロボットより通知されたとする。
【0159】
【数6】
【0160】すなわちこの結合情報(Connection Data
)は、オブジェクトBに代えて、オブジェクトCにオ
ブザーバーを変更する記述である。オブジェクトマネー
ジャーは、この場合、連想記憶2より FooA.Image.Righ
tCamera.O をキーにしてそれまでオブザーバーに設定さ
れているオブジェクトID、セレクタ番号(1,5)を
検出する。さらにこのオブジェクトID、セレクタ番号
(1,5)によりオブザーバーであるオブザーバーAに
ドウディスコネクト(DoDisConnect)を指示すると共
に、連想記憶2の対応する記述(オブザーバー及びサブ
ジェクトであるオブジェクトA及びBの記述)を削除
し、また連想記憶3に記録された対応する記述を削除し
て連想記憶1に記録し直す。
【0161】すなわちオブジェクトマネージャーは、連
想記憶2よりFooA.Image.RightCamera.O、FooA.Image.R
ightCamera.SをキーにしてなるオブジェクトID、セレ
クタ番号の記述を削除する。これによりオブジェクトマ
ネージャーは、オブジェクトを動的に変更できるように
なされている。
【0162】(2)第1の実施の形態の動作 以上の構成において、ロボット1においては(図1)、
本体2に移動ユニット3として足を取り付けると4足型
の形態となり、この足に取り付けたモータの駆動により
4足歩行するようになされている。また後足に代えてタ
イヤを取り付けるとタイヤ型の形態となり、このタイヤ
により移動可能とされる。
【0163】ロボット1においては(図2)、ロボット
コンポーネント24、25、26等である足等により配
置されたセンサーの出力、さらには頭部2Aに配置され
た各種情報取得手段により取得された情報等に基づい
て、中央処理ユニット22の処理により必要な制御指令
が出力されて、これら移動ユニット3等が制御される。
【0164】ロボット1においては(図3及び図4)、
オブジェクト指向により構成される上位レイヤーのソフ
トウエアにより、デバイスドライバレイヤーの各種デバ
イスドライバを駆動してこれらの制御が実行される。こ
の制御において、デバイスドライバレイヤーの上位層で
あるロボットシステムソフトウエアにおいては、バーチ
ャルロボットによりシリアルバスに接続された各部品が
検出され、ロボット1全体でどの様なロボットコンポー
ネントがどの様な順番で接続されているのかを示す結合
情報( CPC Connection Information )がデザインロボ
ットに通知される。これによりロボット1においては、
シルアルバスに接続されたデバイスにより現在の形態が
特定され、さらにこの現在の形態を構成する制御対象等
が具体的に特定される。
【0165】ロボット1においては、結合情報( CPC C
onnection Information )に応じてこのロボットシステ
ムソフトウエアの上位層のソフトウエアが更新され、こ
れにより形態に適した適切なソフトウエアにより全体の
動作が制御される。
【0166】このソフトウエアの更新において、ロボッ
ト1は、ロボットシステムソフトウエアのデザインロボ
ットにより、各形態毎に、各部品の構成要素情報(CPC
Primitive Location Information)群に対してラベルを
付加して記述されてなるデザインファイルと、バーチャ
ルロボットより通知される結合情報( CPC Connection
Information )とを比較して、形態に適した適切なオブ
ジェクトを選択し、このオブジェクトによる形態依存ソ
フトウエアが変更される(図7、図8)。これによりロ
ボット1においては、形態に適した適切なソフトウエア
に簡易に変更して全体の動作を制御することができる。
【0167】また、上位層のソフトウエアがロボットの
形態に依存しない形態独立ソフトウエアと、形態に依存
する形態依存ソフトウエアに分離されて、さらに形態独
立ソフトウエアにより形態に依存しない形式により取り
扱われるデータが形態依存ソフトウエアにより形態に対
応した形式により変換されてロボットシステムソフトウ
エアとの間で送受されるように構成された状態で、この
形態依存ソフトウエアのみが更新される。これにより簡
易な処理によりソフトウエアを更新することが可能とな
る。
【0168】さらにこのときバーチャルロボットにおい
ては、テキストデータ形式の記述により構成要素情報
(CPC Primitive Location Information)を生成するの
に対し(図8及び図9)、デザインファイルにおいて
は、同様のテキストデータ形式により記述されているこ
とにより、変化する形態が将来増大したような場合に
も、簡易に対応することが可能となる。
【0169】ロボット1においては、このソフトウエア
の更新がオブジェクトマネージャーにより形態依存ソフ
トウエアのオブジェクトの再構築により実行される。す
なわちオブジェクトマネージャーにおいては、起動時等
において、デザインロボットより現在の形態に適したオ
ブジェクトの結合を指示する結合情報(Connection Dat
a )が通知され、この結合情報(Connection Data )に
より指定されるオブジェクトがロードされる(図1
6)。
【0170】さらにロードしたオブジェクトが初期化さ
れた後、結合情報(Connection Data )の指定によりオ
ブジェクトマネージャーでデータ交換可能にサブジェク
ト及びオブザーバーが結合される。これによりロボット
1においては、形態に適したオブジェクトにより形態依
存ソフトウエアが構築される。
【0171】従ってロボット1においては、具体的な結
合対象を何ら考慮することなく各オブジェクトを設計し
て、ソフトウエアを構築することができ、また形態に応
じて結合情報(Connection Data )を生成することによ
り、形態に適したソフトウエアを簡易に構築することが
できる。さらに再コンパイル、再リンキングすることな
くソフトウエアを変更することができる。これによりロ
ボット1においては、オブジェクトの独立性を従来に比
して格段的に向上することができ、その分自由な形態の
変更に対して適切なソフトウエアを簡易かつ迅速に提供
することが可能となる。またこの結合情報の設定により
1つのオブジェクトと複数のオブジェクトとの間でオブ
ジェクト間通信を構築することもできる。
【0172】この結合情報(Connection Data )がサブ
ジェクトと通信するデータの形式とを特定する情報であ
ることにより、オブジェクトマネージャーにおいては、
この結合情報(Connection Data )により対応するオブ
ジェクトID、セレクタ番号を特定して簡易にオブジェ
クト通信を構築することができる。
【0173】またデザインロボットにより、複数の結合
情報が記録されてなるデザインファイルから結合情報
(Connection Data )を選択してオブジェクトマネージ
ャーに提供することにより、このデザインの設定により
必要に応じて各種形態に対応するソフトウエアを簡易に
構築することが可能となる。
【0174】またこの結合情報(Connection Data )に
おいても、テキストデータ形式により記述されているこ
とにより、簡易に種々に変更することができる。
【0175】これに対して形態が変更されると、ロボッ
ト1においては、バーチャルロボットにより形態の変更
が検出され、この変更された形態に係る結合情報( CPC
Connection Information )がデザインロボットに通知
される。さらにこのデザインロボットにおいてデザイン
ファイルとの比較により、変更された形態に係る結合情
報(Connection Data )が生成される。またこの結合情
報(Connection Data)に従ってオブジェクトマネージ
ャーによって形態の変更により不要となったオブジェク
トがアンロードされると共に、形態の変更により必要な
オブジェクトがロードされ、形態依存ソフトウエアを構
成するオブジェクトが再構築される。さらにこれらのオ
ブジェクトが結合情報(Connection Data )によりオブ
ジェクト間通信可能に結合され、これにより形態依存ソ
フトウエアが更新される。
【0176】これによりロボット1においては、形態独
立ソフトウエア等を動作させたままの状態で、必要に応
じて形態依存ソフトウエアを更新して形態に適したソフ
トウエアを構築することができる。またこのソフトウエ
アの変更を電力消費モードの切り換えに適用することも
可能となる。
【0177】(3)第1の実施の形態の効果 以上の構成によれば、部品検出結果である結合情報と、
各形態毎の部品検出結果に対応する情報である結合テン
プレートの集合によるデザインファイルとを比較し、こ
の比較結果に基づいて形態に応じてソフトウエアを変更
することにより、部品の変更に伴う形態の変更に対応し
てソフトウエアを変更することができ、これにより現在
の形態に対応する適切なソフトウエアを簡易に設定する
ことができる。
【0178】このときオブジェクトの変更によりソフト
ウエアを変更することにより、簡易な処理によりソフト
ウエアを変更することができる。
【0179】また上位のソフトウエアを形態依存ソフト
ウエアと形態独立ソフトウエアにより構成し、形態依存
のソフトウエアの変更により形態に応じてソフトウエア
を変更することにより、形態に適したソフトウエアを簡
易に提供することができる。
【0180】また部品検出結果に対応する情報がテキス
トデータによる記述であることにより、変化する形態が
将来増大したような場合にも、簡易に対応することが可
能となる。
【0181】
【0182】このとき結合情報が、オブジェクトと、通
信するデータの形式とを特定する情報であることによ
り、簡易にこれらオブジェクトを結合することができ
る。
【0183】また複数の結合情報が記録されてなるデザ
インファイルより結合情報を選択してオブジェクトを結
合することにより、このデザインファイルの設定により
形態に適したソフトウエアを簡易に提供することができ
る。
【0184】さらに結合情報に従って、対応するオブジ
ェクト間の結合を一旦切り離した後、オブジェクトを結
合してオブジェクト間通信を構築することにより、ソフ
トウエアを動作させたままの状態で、必要に応じてソフ
トウエアを更新して形態に適したソフトウエアを構成す
ることができる。
【0185】またすなわちバーチャルロボットにより部
品を検出して結合情報を提供することにより、形態に応
じてソフトウエアを変更することができる。
【0186】また結合情報をテキストデータにより記述
したことにより、形態に応じた適切なソフトウエアを簡
易かつ迅速に作成することができる。
【0187】またこのようにしてデータ通信するオブジ
ェクト間において、レディー、ノーティファイによりデ
ータ交換することにより、処理に能力を越えるようなデ
ータの供給を防止することができる。
【0188】(4)第2の実施の形態 ところで上述したドウイニシャライズ(DoInit)等の命
令をCall命令により処理するオペレーションシステ
ムにおいては、命令の送出により送出先に処理を渡すこ
とになり、オブジェクトマネージャーにおいては、送出
先よりReplyが返されるまで各オブジェクトから送
出されるメッセージをブロックすることになる。従って
図16について上述したように、ドウイニシャライズ
(DoInit)を送出した後、サブジェクトとしてのエント
リ(Control) 、オブジェクトとしてのエントリ(Connec
t )をオブジェクトマネージャーで登録することが困難
になる。
【0189】このためこの実施の形態に係るロボットお
いては、図4との対比により図22に示すように、これ
らエントリ(Control、Connect ) をサービースマネージ
ャーに登録し、サービスマネージャーによりオブジェク
ト間通信を管理する。これに対してオブジェクトマネー
ジャーにおいては、オブジェクトのロード、アンロード
等の処理のみ実行する。すなわちこの実施の形態におい
て、オブジェクトマネージャーは、形態依存ソフトウエ
アを構成する全てのオブジェクトについて、動作の停
止、オブジェクト間通信のための結合解除、オブジェク
トの破壊、リソースの開放を指示し、さらに新たに必要
なオブジェクトのロード、初期化、オブジェクトの起動
を指示する。これに対してサービスマネージャーは、オ
ブジェクト間通信における通信相手の情報を管理する。
【0190】なおこの実施の形態においては、このオブ
ジェクトマネージャー、サービスマネージャーの構成、
これらの構成に関連する各部の構成が異なる点を除い
て、上述した第1の実施に形態と同一であることによ
り、この実施の形態では、オブジェクトマネージャー、
サービスマネージャーの構成を中心に説明し、重複した
説明は省略する。
【0191】なお図23に示すように、この実施の形態
において、オブジェクト間の結合は、オブジェクト間で
データを送受信するための結合を意味し、通信を行う双
方のサービス間の結合として表現する。また結合は、
(5)式について上述したように、データ出力側のサー
ビス、データ入力側のサービス、通信するデータ型、デ
ータフロー方向で表現される。また図24に示すよう
に、結合状態とは、ロボットシステム内にロードされて
いるオブジェクトの一群においてオブジェクト同士に張
られている結合の集合を意味し、接続情報とは、起動
時、形態の変更時に新たにオブジェクト間に張られる結
合の情報を意味し、現在の結合状態と新しい結合状態の
差分情報である。また切断情報とは、形態の変更時に、
不要となった結合情報を意味し、新しい結合状態と現在
の結合状態の差分情報である。
【0192】図25は、図10との対比により、この実
施の形態に係るロボットシステムソフトウエアの起動時
の処理を示すタイムチャートである。電源が投入される
と、又はリセットがされると、始めにロボットシステム
ソフトウエアを構成する各オブジェクトに対して初期化
等の処理が実行される。すなわちロボットにおいては、
図26に示すように、パワーマネージャー、サービスマ
ネージャー、バーチャルロボット、デザインロボットの
順に、オブジェクトマネージャーよりドウイニシャライ
ズ(DoInit)の送出、リプライ(Reply )の受信が繰り
返され、これによりロボットシステムソフトウエアにお
けるドウイニシャライズのフェーズが実行される。なお
以下においては、適宜図面上で処理の順番を数字により
示す。
【0193】さらに図27に示すように、パワーマネー
ジャー、サービスマネージャー、バーチャルロボット、
デザインロボットの順に、オブジェクトマネージャーよ
り順次ドウスタート(DoStart )が送出され、これによ
りロボットシステムソフトウエアにおけるドウスタート
のフェーズが実行されてこれらパワーマネージャー、サ
ービスマネージャー等が動作を開始する。
【0194】このときデザインロボットにおいては、こ
のドウスタート(DoStart )により、バーチャルロボッ
トに対してロボットの現在の形態を示す情報の送出を指
示し、バーチャルロボットは、この指示によりロボット
コンポーネントがどの様な順番で接続されているのかを
示す結合情報(CPC Connection Information)をデザイ
ンロボットに通知する。デザインロボットは、バーチャ
ルロボットよりこの結合情報(CPC Connection Informa
tion)を受け取り、この結合情報(CPC Connection Inf
ormation)より結合情報(Connection Data )を生成し
た後、オブジェクトマネージャーにリプライ(Reply )
を返す。
【0195】このようにしてドウスタートのフェーズが
実行されると、ロボットにおいては、続いてサービスマ
ネージャーに対して、オブジェクトマネージャーよりデ
ィスコネクト(DisConnect)の指示が発行される。起動
時においては、何らオブジェクトがロードされていない
ことにより、この場合、この指示に従ってサービスマネ
ージャーは、デザインロボットより結合情報(Connecti
on Data )を取得し、オブジェクトマネージャーに処理
の完了を通知する。オブジェクトマネージャーは、続い
て同様にしてデザインロボットより結合情報(Connecti
on Data )を取得する。これによりサービスマネージャ
ーにおいては、形態依存ソフトウエア等を構成する各オ
ブジェクトについて、オブジェクト間通信の構築に必要
な情報を取得するのに対し、オブジェクトマネージャー
においては、これらのオブジェクトのロード、アンロー
ドに必要な情報を取得する。
【0196】これによりオブジェクトマネージャーは、
現在の形態に対応する必要なオブジェクトと、不必要な
オブジェクトとのリストを作成する。さらに図28に示
すように、これらの必要なオブジェクトA〜Cについ
て、順次ロードを指示し、これらオブジェクトA〜Cを
構築する。このときオブジェクトマネージャーは、図2
9に示すように、このロードコマンドの実行により、各
オブジェクトのオブジェクトID(OID−a、OID
−b、OID−c)を取得する。
【0197】続いて図30及び図31に示すように、オ
ブジェクトマネージャーは、このようにして取得したオ
ブジェクトIDにより各オブジェクトに順次ドウイニシ
ャライズ(DoInit)をコールする。各オブジェクトにお
いては、このドウイニシャライズ(DoInit)によりサー
ビスマネージャーに対して各サービスの登録を要求す
る。なおここでこのサービスの登録は、各サービス名、
オブジェクトID、セレクタの登録により実行される。
【0198】サービスマネージャーは、各要求に応動し
て各オブジェクトのサービスを登録すると、登録の完了
を各オブジェクトに通知し、各オブジェクトにおいて
は、この通知によりオブジェクトマネージャーにリプラ
イ(Reply)を返す。
【0199】このようにして各オブジェクトの初期化が
完了すると、オブジェクトマネージャーは、各オブジェ
クトのDisConnectをサービスマネージャーに指示する。
ここで図32に示すように、サービスマネージャーは、
上述したドウスタート(DoStart )フェーズでデザイン
ロボットが取得した結合情報を取得することによりリス
トを作成して保持する。ここでこのリストは、Connect
に係るリスト、DisConnectに係るリスト等により構成さ
れ、各リストは、それぞれ第1の実施の形態についた上
述した記述による結合情報により、各オブジェクトのサ
ービス名、データフォームで構成される。またサービス
マネージャーは、各オブジェクトのドウイニシャライズ
(DoInit)で取得したサービスをサービスリストにより
保持する。ここでこのサービスリストは、各オブジェク
ト毎にサービス情報としてまとめられて形成され、各サ
ービスにあっては、各サービスに係るオブジェクトI
D、セレクタによるサービスエントリと、各サービス名
とにより構成される。
【0200】サービスマネージャーは、図33に示すよ
うに、オブジェクトマネージャーより各オブジェクトの
結合(Connect )が指示されると、これら各オブジェク
トより取得したサービスの情報と、デザインロボットか
ら取得した結合情報とを照合する。さらに照合結果に基
づいて、順次各オブジェクトに通信対象を登録し、これ
により各オブジェクトを順次データ通信可能に結合す
る。
【0201】すなわち図34に示すように、サービスマ
ネージャーは、各オブジェクトからサービスが登録され
ると、各サービスのサービス名、サービスエントリよる
サービス情報を各オブジェクト毎にまとめてサービス情
報(Service Binding )を作成し、このサービス情報
(Service Binding )を登録する。これによりサービス
マネージャーは、サービスリストを作成する。またデザ
インロボットから取得した結合情報と、過去に記録した
結合情報とから新しい結合状態と現在の結合状態とを把
握し、接続情報、切断情報を作成する。さらにこれら接
続情報、切断情報からConnect に係るリスト、DisConne
ctに係るリストを作成する。
【0202】サービスマネージャーは、サービスリスト
とConnect に係るリストとの照合により、結合するサー
ビスのエントリーを検出し、この検出結果に従って対応
するオブジェクトにサービスのエントリーを通知する。
またサービスリストとDisConnectに係るリストとの照合
により、結合を遮断するサービスのエントリーを検出
し、この検出結果に従って対応するオブジェクトにサー
ビスのエントリーを通知する。なお図30においては、
オブジェクトが未だ結合されていない起動時の処理であ
ることにより、サービスマネージャーにおいては、切断
情報を作成することなく一連の処理を実行する。これに
より図35に示すように、サービスマネージャーは、オ
ブザーバーとサブジェクトとの間で、データ交換可能に
対応するメソドを接続する。なお図36は図19との対
比によりこのようにして結合されたオブジェクトA及び
オブジェクトBを示す略線図である。
【0203】サービスマネージャーは、このようにして
結合情報による接続が完了すると、オブジェクトマネー
ジャーに接続の完了を通知する(図30)。オブジェク
トマネージャーにおいては、この通知が得られると、図
38に示すように、各オブジェクトにドウスタート(Do
Start )を指示する。これにより図28との対比により
図38に示すように、各オブジェクトA〜Cにおいて
は、結合が完了してデータ通信可能に動作を開始し、ロ
ボットにおいては、各オブジェクト間におけるデータ通
信により形態に応じて種々の動作を実行できるようにな
されている。
【0204】図39は、図18との対比に係るプラグイ
ン、プラグアウトによる形態変更時のシーケンスを示す
タイムチャートである。ロボットにおいては、図40に
示すように、バーチャルロボットにより形態の変更が通
知されると、この一連のシーケンスを実行する。すなわ
ちオブジェクトマネージャーにおいては、この通知によ
り図41に示すように、ロボットシステムソフトウエア
の上位に位置する各オブジェクト(図39においてはオ
ブジェクトA〜C)に順次ドウストップ(DoStop)を送
出し、これらオブジェクトの動作を停止する。さらに続
いて起動時とは逆の順序で、デザインロボット、バーチ
ャルロボット、サービスマネージャー、パワーマネージ
ャーに順次ドウストップ(DoStop)を送出し、これらオ
ブジェクトの動作を制限する。なおここでこれらロボッ
トシステムソフトウエアを構成する各オブジェクトにお
いては、ドウストップ(DoStop)により上位のオブジェ
クトに関連する処理のみを停止し、例えば電源の管理等
のロボットシステムソフトウエアを構成する各オブジェ
クト間の処理においては引続き処理を継続するようにな
されている。
【0205】このようにして全てのオブジェクトについ
てドウストップ(DoStop)の処理を完了すると、オブジ
ェクトマネージャーは、ロボットシステムソフトウエア
を構成するパワーマネージャー、サービスマネージャ
ー、バーチャルロボット、デザインロボットに対して、
起動時と同様の順序により順次ドウスタート(DoStar
t)を送出し、これによりパワーマネージャー、サービ
スマネージャー等の動作を指示する。
【0206】このときデザインロボットにおいては、図
27について上述したと同様に、バーチャルロボットよ
り結合情報(CPC Connection Information)を取得し、
この結合情報(CPC Connection Information)より結合
情報(Connection Data )を生成する。なおオブジェク
トマネージャーにおいては、ユーザーによる形態の変更
が完全に完了するのを待って結合情報を取得可能とする
ために、例えばドウストップ(DoStop)の後、所定時間
経過して(DoStart )を指示することが考えられる。
【0207】このようにしてドウスタート(DoStart )
を送出してパワーマネージャー等から応答が得られる
と、オブジェクトマネージャーは、サービスマネージャ
ーに対して、ディスコネクト(DisConnect)を指示す
る。ここでこのように形態が変更された場合には、現在
ロードされているオブジェクトと、形態の変更に対応す
るオブジェクトが異なることにより、サービスマネージ
ャーは、図43においてCheck Connectionにより示すよ
うに、デザインロボットより変更された形態に係る結合
情報(Connection Data )を取得する。さらにサービス
マネージャーは、この取得した結合情報(Connection D
ata )より図34について上述したようにして切断情報
を作成し、この切断情報により対応するオブジェクトの
結合を解除する。
【0208】このようにして切断を完了すると、サービ
スマネージャーは、オブジェクトマネージャーに処理の
完了を通知し、オブジェクトマネージャーは、続いて図
44に示すように、同様にしてデザインロボットより結
合情報(Connection Data )を取得する。さらにオブジ
ェクトマネージャーは、このようにして取得した結合情
報(Connection Data )に基づいて、対応するオブジェ
クトにドウデストロイ(DoDestroy )をコールし、対応
するオブジェクトにより専有されたメモリを開放する。
【0209】さらにオブジェクトマネージャーは、続い
てこのオブジェクトのアンロードを指示する。これら一
連の処理によりサービスマネージャーは、形態の変更に
より必要とされなくなったオブジェクトについて、オブ
ジェクト間通信できないようにオブジェクト間の結合を
遮断するのに対し、オブジェクトマネージャーは、この
ようにして必要とされなくなったオブジェクトをアンロ
ードする。
【0210】このようにして必要とされなくなったオブ
ジェクトをアンロードすると、オブジェクトマネージャ
ーは、図45に示すように、新たに必要となったオブジ
ェクトDのロードを指示した後、このロードしたオブジ
ェクトにドウイニシャライズ(DoInit)を指示する。続
いてオブジェクトマネージャーは、サービスマネージャ
ーにオブジェクト間の結合を指示し、この場合オブジェ
クトマネージャーは、図34について説明した接続情報
に基づいて対応するオブジェクト間で、起動時と同様に
データ通信が可能になるように結合情報を通知する。オ
ブジェクトマネージャーは、このようにしてデータ通信
可能に各オブジェクトが結合されると、各オブジェクト
にドウスタート(DoStart )を送出して一連の処理を完
了する。これら一連の処理により図37との対比により
オブジェクトA〜Dの関係を図46に示すように、オブ
ジェクトCに代えてオブジェクトDが登録され、図47
に示すように、これらオブジェクトA、B、Dは、動作
を開始することになる。
【0211】図48は、このようにして起動時、形態変
更時に係るサービスマネージャーの一連の処理を示す状
態遷移図である。すなわちサービスマネージャーは、初
期化された後、待機し、オブジェクトマネージャーから
の指示により切断情報、接続情報を生成し、起動時にお
いては、このうちの接続情報により各オブジェクトを結
合する。また形態変更時にあっては、切断情報により対
応するオブジェクトの結合を遮断した後、接続情報によ
り各オブジェクトを結合する。
【0212】このようにしてデータ通信可能に結合され
た各オブジェクトは、サブジェクト側のメモリ空間に存
在するローカルデータをオブザーバー側のメモリ空間に
コピーすることにより、又はサブジェクトとオブザーバ
ーとの共有メモリを用いてデータ通信する。
【0213】図49は、このうちのコピーによるデータ
通信を示す略線図である。サブジェクトにおいては、メ
モリ空間に存在するローカルデータをオブザーバー側の
メモリ空間にコピーし、オブザーバー側のinvoke
されるメソッドにコピー先の先頭アドレスを通知する。
これによりロボットにおいては、データ量の少ない場
合、配信する相手先が少ない場合に、簡易にデータ通信
できるようになされている。
【0214】これに対して図50は、共有メモリを用い
たデータ通信を示す略線図である。サブジェクトにおい
ては、メモリ空間にマッピングされている共有メモリに
データを書き込み、この共有メモリのアドレスをメッセ
ージとしてオブザーバーに送出する。オブザーバーにお
いては、この通知されたアドレスにより共有メモリ領域
を自信のメモリ空間にマッピングして使用する。これに
よりロボットにおいては、画像データ、音声データ等の
大容量のデータを送信する場合、配信先の数が多い場合
に適用して、簡易かつ確実にデータ通信できるようにな
されている。
【0215】このようにして共有メモリによりデータ通
信する際に、オブジェクトにおいては、データを配信し
たオブジェクトの数を計測できるようになされている。
すなわち図51に示すように、データを書き換え可能な
オブジェクトにおいては、共有メモリにデータを書き込
むと対応するカウンタのカウント値を値1にセットす
る。なおこのデータを書き換え可能なオブジェクトは、
データを配信したサブジェクトをメンバーに持つオブジ
ェクトである。
【0216】サブジェクトは、Notifyを実行した数だけ
カウンタをインクリメントし、オブザーバは、使用の済
んだ領域のIDをレディーの際に返却する。サブジェク
トは、レディーを受けると、対応する共有メモリのカウ
ンタを値1だけデクリメントする。
【0217】これによりこのデータ書き換え可能なオブ
ジェクトにおいては、このカウント値により他のオブジ
ェクトによる共有メモリのアクセスが完了したか否かを
判断できるようになされ、この判断結果により共有メモ
リを書き換えて確実にデータを保護するようになされて
いる。
【0218】このようにしてコピー又は共有メモリによ
りデータ通信する際に、ロボットにおいては、図52に
示すように、所定のコマンドによりデータ通信に供する
データを順次オブザーバーのメモリ空間にコピーした
後、又は共有メモリに書き込んだ後、所定のコマンドに
よりこれら複数のデータをオブザーバーで取得可能に、
アドレスを通知する。これによりロボットでは、複数の
データをまとめて配信できるようになされ、その分解使
い勝手を向上できるようになされている。
【0219】第2の実施の形態によれば、ドウイニシャ
ライズ(DoInit)等の命令をCall命令により処理す
るオペレーションシステムにおいても、現在の形態に対
応する適切なソフトウエアを簡易に設定することがで
き、また従来に比してオブジェクトの独立性を向上する
ことができる。
【0220】(5)他の実施の形態 なお上述の実施の形態においては、ドウイニシャライズ
等のセレクタ番号については、予め設定しておく場合に
ついて述べたが、本発明はこれに限らず、結合情報によ
り各オブジェクトのドウイニシャライズ等を起動するこ
とによりセレクタ番号を種々に設定してもよく、さらに
はオブジェクトマネージャーへのオブジェクトの登録に
従ってドウスタート等を起動することによりセレクタ番
号を種々に設定するようにしてもよい。
【0221】また上述の実施の形態においては、形態依
存ソフトウエアについてのみ結合情報によりオブジェク
トを構築する場合について述べたが、本発明はこれに限
らず、全てのソフトウエアを結合情報により構築する場
合、さらにはデバイスドライバレイヤーのみを結合情報
により構築する場合等に広く適用することができる。
【0222】また上述の実施の形態では、オブザーバー
とサブジェクトによるオブザーバーパターンを適用した
ロボットに本発明を適用した場合について述べたが、本
発明はこれに限らず、サーバークライアントシステム等
にも広く適用することができる。因みにこの場合、例え
ばクライアントが結合情報をデータ入力として受け取っ
てサーバーと結合することにより、サーバーの名前をソ
ースコード中に記述しないでシステムを構築することが
可能となる。かくするにつき、この場合は、クライアン
ト、サーバーがそれぞれオブジェクトを構成することに
なる。
【0223】また上述の実施の形態においては、レディ
ー、ノーティファイによりデータ交換する場合について
述べたが、本発明はこれに限らず、種々の手法によりデ
ータ交換するオブジェクト間通信に広く適用することが
できる。
【0224】
【発明の効果】上述のように本発明によれば、形態毎に
保持された部品検出結果に対応する情報である結合テン
プレートと、現在の形態に係る部品検出結果である結合
情報との比較結果に基づいて、形態に応じてソフトウエ
アを変更することにより、現在の形態に対応する適切な
ソフトウエアを簡易に設定することができる
【図面の簡単な説明】
【図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……バッテリー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 高木 剛 東京都品川区北品川6丁目7番35号 ソ ニー株式会社内 (56)参考文献 特開 平10−217174(JP,A) (58)調査した分野(Int.Cl.7,DB名) B25J 1/00 - 21/02 G05B 19/18 - 19/46

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】ソフトウェアシステムが複数のオブジェク
    トにより構成されるロボット装置において、 ロボット本体に結合されるロボットコンポーネントに基
    づき結合情報を出力する結合情報出力手段と、 前記ロボットコンポーネントの結合により変化する前記
    ロボット装置の形態毎に、少なくとも一種類以上のロボ
    ット装置の構成が記述されたファイルを保持するファイ
    保持手段と、前記ロボット装置の形態毎に、対応するオブジェクトと
    オブジェクト間通信に必要な結合データが記録された結
    合ファイルを保持する結合ファイル保持手段と、 出力された 前記結合情報とロボット装置の構成が記述さ
    れた前記ファイルとを比較して前記ロボット装置の現在
    の形態を特定する形態特定手段と、 定された前記形態に基づいて、前記結合ファイルへア
    クセスし、前記形態に応じて前記ソフトウェアシステム
    のオブジェクトを再構成し、前記ロボット装置の形態に
    依存するソフトウェアを更新する手段とを有することを
    特徴とするロボット装置。
  2. 【請求項2】前記結合ファイル保持手段は、前記ロボッ
    ト装置の形態毎に、ラベルと共に、対応するオブジェク
    トとオブジェクト間通信に必要なデータが記録された結
    合データを保持し、 さらに、前記形態特定手段により特定された前記形態に
    基づいて、現在の形態に対応する前記ラベルを検出する
    ラベル検出手段を備え、 検出された前記ラベルより前記結合ファイルをアクセス
    し、前記ラベルに対応する前記結合データに基づいて、
    前記ソフトウェアシステムのオブジェクトを再構成し、
    前記ロボット装置の形態に依存するソフトウェアを更新
    する手段とを有する ことを特徴とする請求項1に記載の
    ロボット装置。
  3. 【請求項3】前記ラベルは、 少なくとも、使用されるオブジェクト名とデータ形式が
    記述されていることを特徴とする請求項2に記載のロボ
    ット装置。
  4. 【請求項4】ソフトウェアシステムが複数のオブジェク
    トにより構成されるロボット装置に適用されるソフトウ
    エアの更新方法において、 ロボット本体に結合されるロボットコンポーネントに基
    づき結合情報を出力する結合情報の出力ステップと、出力された前記結合情報と、前記ロボットコンポーネン
    トの結合により変化する前記ロボット装置の形態毎に、
    少なくとも一種類以上のロボット装置の構成が記述され
    たファイルとを比較して前記ロボット装置の現在の形態
    を特定する形態特定のステップと、 特定された前記形態に基づいて、前記ロボット装置の形
    態毎に、対応するオブジェクトとオブジェクト間通信に
    必要な結合データが記録された結合ファイルへアクセス
    し、前記形態に応じて 前記ソフトウェアシステムのオブ
    ジェクトを再構成し、前記ロボット装置の形態に依存す
    るソフトウェアを更新するステップとを有することを特
    徴とするソフトウエアの更新方法。
JP2000006032A 1999-01-13 2000-01-11 ロボット装置及びソフトウエアの更新方法 Expired - Lifetime JP3424631B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2000006032A JP3424631B2 (ja) 1999-01-13 2000-01-11 ロボット装置及びソフトウエアの更新方法
EP00900363.3A EP1072972B1 (en) 1999-01-13 2000-01-13 Processor, method for communication between objects, and robot
CNB2004100478556A CN100511130C (zh) 1999-01-13 2000-01-13 算术处理装置和对象对对象的通信方法
CNB008000336A CN1200345C (zh) 1999-01-13 2000-01-13 算术处理装置,对象对对象的通信方法和机器人装置
PCT/JP2000/000123 WO2000042504A1 (fr) 1999-01-13 2000-01-13 Processeur, procede de communications entre objets, et robot
KR1020007010145A KR100717982B1 (ko) 1999-01-13 2000-01-13 연산 처리 장치, 오브젝트간 통신 방법 및 로봇
US09/623,972 US6668211B1 (en) 1999-01-13 2000-01-13 Arithmetic processing device, object-to-object communication method and robot

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP11-6491 1999-01-13
JP649199 1999-01-13
JP11-6757 1999-01-13
JP675799 1999-01-13
JP2000006032A JP3424631B2 (ja) 1999-01-13 2000-01-11 ロボット装置及びソフトウエアの更新方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002324904A Division JP2003233502A (ja) 1999-01-13 2002-11-08 演算処理装置及びオブジェクト間通信の管理方法

Publications (2)

Publication Number Publication Date
JP2000267852A JP2000267852A (ja) 2000-09-29
JP3424631B2 true JP3424631B2 (ja) 2003-07-07

Family

ID=27277189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000006032A Expired - Lifetime JP3424631B2 (ja) 1999-01-13 2000-01-11 ロボット装置及びソフトウエアの更新方法

Country Status (6)

Country Link
US (1) US6668211B1 (ja)
EP (1) EP1072972B1 (ja)
JP (1) JP3424631B2 (ja)
KR (1) KR100717982B1 (ja)
CN (2) CN1200345C (ja)
WO (1) WO2000042504A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010032278A1 (en) 1997-10-07 2001-10-18 Brown Stephen J. Remote generation and distribution of command programs for programmable devices
US8032605B2 (en) 1999-10-27 2011-10-04 Roy-G-Biv Corporation Generation and distribution of motion commands over a distributed network
JP2002113675A (ja) 2000-10-11 2002-04-16 Sony Corp ロボット制御システム並びにロボット制御用ソフトウェアの導入方法
EP1327503B1 (en) 2000-10-11 2017-12-06 Sony Corporation Robot control system and robot control method
TWI236610B (en) * 2000-12-06 2005-07-21 Sony Corp Robotic creature device
JP4143305B2 (ja) * 2001-01-30 2008-09-03 日本電気株式会社 ロボット装置、照合環境判定方法、及び照合環境判定プログラム
US7904194B2 (en) 2001-02-09 2011-03-08 Roy-G-Biv Corporation Event management systems and methods for motion control systems
JP2003108208A (ja) * 2001-09-28 2003-04-11 Matsushita Electric Ind Co Ltd ロボット制御装置およびロボットと生産設備
KR100980793B1 (ko) 2001-11-28 2010-09-10 에볼루션 로보틱스, 인크. 로봇을 위한 하드웨어 추상화 계층에서의 센서 및액추에이터 추상화 및 집단화
JP2003308221A (ja) * 2002-04-12 2003-10-31 Nec Corp ロボット制御システムと方法並びにプログラム
JP3870257B2 (ja) * 2002-05-02 2007-01-17 独立行政法人 宇宙航空研究開発機構 オフセット回転関節を有するロボット
KR100578342B1 (ko) * 2003-01-03 2006-05-11 주식회사 메가로보틱스 인공지능형 로봇완구 및 그 제어방법
US20060064503A1 (en) 2003-09-25 2006-03-23 Brown David W Data routing systems and methods
US8027349B2 (en) 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
JP4613487B2 (ja) * 2003-11-07 2011-01-19 ソニー株式会社 電子機器、情報処理システム、情報処理装置および方法、プログラム、並びに記録媒体
JP4729345B2 (ja) * 2005-05-30 2011-07-20 博明 山口 移動機構、移動機構用部材及び該移動機構の制御方法
EP1795481A1 (de) * 2005-12-07 2007-06-13 Inventio Ag Beförderungsanlage und Verfahren zur Inbetriebnahme einer Beförderungsanlage
KR101255685B1 (ko) * 2008-12-22 2013-04-24 한국전자통신연구원 로봇 응용 프로그램 실행 장치 및 방법
US20120072020A1 (en) * 2010-09-20 2012-03-22 Electronics And Telecommunications Research Institute Method and apparatus for dynamically reconfiguring robot components
CN102722432B (zh) * 2011-03-29 2016-02-24 国际商业机器公司 追踪内存访问的方法和装置
US10279470B2 (en) 2014-06-12 2019-05-07 Play-i, Inc. System and method for facilitating program sharing
SG10201809399VA (en) 2014-06-12 2018-11-29 Play I Inc System and method for reinforcing programming education through robotic feedback
US9672756B2 (en) 2014-06-12 2017-06-06 Play-i, Inc. System and method for toy visual programming
USD777846S1 (en) 2015-05-19 2017-01-31 Play-i, Inc. Connector accessory for toy robot
KR102219801B1 (ko) * 2017-09-22 2021-02-23 엘지전자 주식회사 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법
USD916160S1 (en) * 2017-10-31 2021-04-13 Sony Corporation Robot
JP1622874S (ja) 2017-12-29 2019-01-28 ロボット
US11198218B1 (en) * 2018-06-27 2021-12-14 Nick Gorkavyi Mobile robotic system and method
KR102401242B1 (ko) * 2020-03-10 2022-05-25 주식회사 힐스엔지니어링 로봇 케어 시스템
USD985645S1 (en) * 2021-04-16 2023-05-09 Macroact Inc. Companion robot

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7324396A (en) * 1996-11-05 1998-05-29 Millennium Interactive Limited Process control
US6505097B1 (en) * 1999-01-13 2003-01-07 Sony Corporation Arithmetic processing device, inter-object communication method, and robot
JP3994365B2 (ja) * 1999-09-03 2007-10-17 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置及び記憶媒体

Also Published As

Publication number Publication date
US6668211B1 (en) 2003-12-23
CN1200345C (zh) 2005-05-04
CN100511130C (zh) 2009-07-08
CN1293777A (zh) 2001-05-02
EP1072972A1 (en) 2001-01-31
EP1072972B1 (en) 2017-04-26
KR20010041854A (ko) 2001-05-25
KR100717982B1 (ko) 2007-05-16
EP1072972A4 (en) 2004-05-26
JP2000267852A (ja) 2000-09-29
WO2000042504A1 (fr) 2000-07-20
CN1560738A (zh) 2005-01-05

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
JPH0683746A (ja) 分散情報処理システム
US6446219B2 (en) Highly available cluster message passing facility
US6470235B2 (en) Authoring system and method, and storage medium used therewith
US5761505A (en) System and method for automatically and reliably managing global resources in a computer network
JP5149258B2 (ja) ロボットコンポーネント管理装置
US7228201B2 (en) Information processing device, information processing method, and robot apparatus
JP2003233502A (ja) 演算処理装置及びオブジェクト間通信の管理方法
JP2002189608A (ja) 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置
JPH0744290A (ja) システム制御方式及び装置
CN114416222A (zh) 应用程序调用驱动接口的方法及装置
Elkady et al. A plug and play middleware for sensory modules, actuation platforms and task descriptions in robotic manipulation platforms
JPH08272644A (ja) 分散処理装置で実行されるプログラムのデバッグ方法
JP2004078550A (ja) ソフトウェア更新システム
JP2003015709A (ja) プログラマブルコントローラ・システム
JP2890962B2 (ja) 疎結合マルチホットスタンバイコンピュータシステム
JP3496800B2 (ja) オブジェクトの高機能化方法およびその処理プログラムを記録した記録媒体
JP2019032672A (ja) デバイス制御装置、その制御方法およびプログラム
KR20080057401A (ko) 인간형 로봇의 장치관리자 및 관리 방법
JPH06243081A (ja) プロセス・データ入出力システム
JPS62243048A (ja) ワ−クステ−シヨンシステム
JP2004050725A (ja) インターフェイスプログラム管理システム
JPS60254270A (ja) 統合計算機システム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
R151 Written notification of patent or utility model registration

Ref document number: 3424631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090502

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100502

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100502

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130502

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140502

Year of fee payment: 11

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

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

EXPY Cancellation because of completion of term