JP2002189608A - 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置 - Google Patents
通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置Info
- Publication number
- JP2002189608A JP2002189608A JP2001258429A JP2001258429A JP2002189608A JP 2002189608 A JP2002189608 A JP 2002189608A JP 2001258429 A JP2001258429 A JP 2001258429A JP 2001258429 A JP2001258429 A JP 2001258429A JP 2002189608 A JP2002189608 A JP 2002189608A
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- communication
- processing process
- data
- transmitting
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
- Toys (AREA)
- Manipulator (AREA)
- Multi Processors (AREA)
Abstract
ド41は、ロボット装置1のオブジェクトに対してデー
タの送受信を行うゲートウェイオブジェクト48が割り
当てられ、リモートシステム30のネットワークアダプ
タ31は、パーソナルコンピュータ32上のオブジェク
トに対してデータの送受信を行うゲートウェイオブジェ
クト52が割り当てられる。無線LAN用PCカード4
1とネットワークアダプタ31とが無線又は有線により
接続されたときに、無線LAN用PCカード41のゲー
トウェイオブジェクト48とネットワークアダプタ31
のゲートウェイオブジェクト52との間でオブジェクト
間通信を行うことにより、ロボット装置1のオブジェク
トとパーソナルコンピュータ32のオブジェクトとの間
でオブジェクト間通信がなされる。
Description
を行うための通信装置及び通信方法、情報処理を行う情
報処理システム、プログラムを作成するためのプログラ
ム作成方法、ネットワークシステム、並びにロボット装
置に関する。
ロボット装置が提案されている。例えば、ロボット装置
は、複数のプロセス間にてプロセス間通信を行うプログ
ラム等によってその行動が規定されている。
置のような複雑な処理をリアルタイムで行う組み込み機
器において、ターゲットボード上で動作するソフトウェ
アの開発には大変手間がかかる。その理由として、以下
のようなことが挙げられる。
ラムの状態を監視する手段が乏しい。
態を表示するようなデバイスはついていないため、なん
らかの方法でリモートマシンと通信をして内部の情報を
送り、リモートマシンのコンソールで確認をする手法が
とられる。また、このような場合、ターゲットボード上
のプログラムに通信用のコードを埋め込む必要がある。
いような場合には、ユーザがデバッグしたいプログラム
毎に通信用のコード作成しなければならない。このよう
な手法には、最も単純なものがソースコード中にprint
分を挿入してシリアル通信を用いてターミナルで確認す
る手法がある。この手法は、いわゆるprint文デバッグ
といわれるものであり、多くのシステムにおいて未だこ
の原始的な手法が使われている。
のリアルタイムタスクはカーネル空間で実行されるため
にそのタスクの不正な処理のためにシステムが破壊され
てしまう。しかし、そのような破壊の原因を調べようと
しても、システムが破壊されるために原因を知ることは
できない。また、print文デバッグを行っているとコン
パイルしなおすことで、コードの配置が変わりバグの挙
動が変化する可能性があり原因はますますわかりにくい
ものとなる。
ル空間にリンクされるために、ユーザプログラムの変更
は、システム全体の再リンク、再実行になる。例えば、
print文を1行を入れただけでも全てやり直すことにな
る。これでは非効率的である。
されたものであり、ソフトウェア(プロセス)部品間の
変更を容易にする通信装置及び通信方法、情報処理シス
テム、プログラム作成方法、ネットワークシステム、並
びにロボット装置を提供することを目的としている。
は、上述の課題を解決するために、第1の電子機器の情
報処理プロセスに対してデータの送受信を行う情報処理
プロセスを有する第1の通信手段と、第2の電子機器の
情報処理プロセスに対してデータの送受信を行う情報処
理プロセスを有する第2の通信手段とを備える。そし
て、第1の通信手段と第2の通信手段とが無線又は有線
により接続されたときに、第1の通信手段のデータの送
受信を行う情報処理プロセスと第2の通信手段のデータ
の送受信を行う情報処理プロセスとの間でプロセス間通
信を行うことにより、第1の電子機器の情報処理プロセ
スと第2の電子機器の情報処理プロセスとの間でプロセ
ス間通信がなされる。
第1の通信手段の情報処理オブジェクトと第2の通信手
段のオブジェクトとの間のプロセス間通信があたかも同
一システム上におけるプロセス間通信のように振る舞う
ために、第1の電子機器の情報処理プロセスと第2の電
子機器の情報処理プロセスとの間の通信は、同一システ
ム上におけるプロセス間通信として取り扱われる。
題を解決するために、第1の電子機器の情報処理プロセ
スに対してデータの送受信を行う情報処理プロセスを有
する第1の通信手段と、第2の電子機器の情報処理プロ
セスに対してデータの送受信を行う情報処理プロセスを
有する第2の通信手段とを無線又は有線により接続し
て、第1の通信手段のデータの送受信を行う情報処理プ
ロセスと第2の通信手段のデータの送受信を行う情報処
理プロセスとの間でプロセス間通信を行うことにより、
第1の電子機器の情報処理プロセスと第2の電子機器の
情報処理プロセスとの間でプロセス間通信を行う。
段の情報処理オブジェクトと第2の通信手段のオブジェ
クトとの間のプロセス間通信があたかも同一システム上
におけるプロセス間通信のように振る舞うために、第1
の電子機器の情報処理プロセスと第2の電子機器の情報
処理プロセスとの間の通信は、同一システム上における
プロセス間通信として取り扱われる。
上述の課題を解決するために、情報処理プロセスにより
制御される電子機器と、電子機器の制御に使用する情報
処理プロセスが取り込まれて、当該情報処理プロセスを
取り扱う情報処理装置と、電子機器と情報処理装置との
間で無線又は有線により通信を行う通信手段とを備えて
おいる。そして、情報処理装置は、電子機器が動作され
ている際の当該電子器機の情報の情報処理プロセスと取
り込んだ情報処理プロセスとの間で通信手段による通信
を行い、電子機器の情報処理プロセスから送信されてく
るデータを使用し、取り込んだ情報処理プロセスを取り
扱う。
置は、実環境にある電子機器が考慮された情報処理プロ
セスを取り扱う。
は、上述の課題を解決するために、情報処理プロセスに
より制御される電子機器が動作されている際の当該電子
器機の情報処理プロセスと情報処理装置上の情報処理プ
ロセスとの間で無線又は有線の通信手段による通信を行
い、情報処理装置にて、電子機器の情報処理プロセスか
ら送信されてくるデータを使用し、電子機器に使用する
情報処理プロセスを作成するプログラム作成工程と、プ
ログラム作成工程にて作成した情報処理プロセスを電子
機器に組み込むプログラム組み込み工程とを有する。
報処理装置は、実環境にある電子機器が考慮して情報処
理プロセスを作成し、電子機器は、そのような実環境が
考慮されて作成された情報処理プロセスが組み込まれ、
当該情報処理プロセスに基づいて動作する。
ムは、上述の課題を解決するために、動作制御プログラ
ムがオブジェクト間通信で構築されたロボット装置と、
オブジェクト間通信で構築されたコンピュータシステム
とが有線又は無線を経由してデータ通信を行うネットワ
ークシステムにおいて、上記オブジェクト間通信と、上
記ロボット装置と上記コンピュータシステムとの間での
ネットワーク通信におけるプロトコル変換を動的に行う
ゲートウェイオブジェクトを有することを特徴とする。
題を解決するために、オブジェクト間通信を有して構築
されたロボット装置と、オブジェクト間通信を有して構
築されたコンピュータシステムとが有線又は無線を経由
してデータ通信を行う通信方法において、上記オブジェ
クト間通信と、上記ロボット装置と上記コンピュータシ
ステムとの間でのネットワーク通信におけるプロトコル
変換を行うことを特徴とする。
は、上述の課題を解決するために、動作制御プログラム
がオブジェクト間通信で構築されたロボット装置であっ
て、オブジェクト間通信で構築されたコンピュータシス
テムとの間で有線又は無線を経由してデータ通信を行う
ロボット装置において、上記オブジェクト間通信と、上
記コンピュータシステムとの間でのネットワーク通信に
おけるプロトコル変換を動的に行うゲートウェイオブジ
ェクトを有することを特徴とする。
て図面を用いて詳しく説明する。この実施の形態は、本
発明を、オブジェクト指向によりソフトウェア(オブジ
ェクト)が構築されたペット型のロボット装置が、有線
又は無線による通信により接続されたネットワークシス
テムに適用したものである。
間通信(プロセス間通信)による種種の処理結果とし
て、例えば動物に似た仕草等を出現するようになされて
いる。なお、ネットワークシステムに接続されるロボッ
ト装置は、ペット型のロボット装置に限定されないこと
はいうまでもなく、本発明の意義に応じて構成されるこ
とはいうまでもない。ロボット装置の構成等を先ず説明
して、その後、本発明が適用されたネットワークシステ
ムを詳述する。
型のロボット装置であり、全体が犬に似た形状であり、
4本足により歩行できるようになされている。すなわち
ロボット装置1は、本体2に移動ユニット3が取り付け
られ、この本体2が頭部2Aと胴体部2Bとにより構成
される。
立体視可能なテレビジョンカメラ6、遠隔制御に係る赤
外線の受信部7等が配置され、これらにより各種情報を
取得できるようになされている。また、頭部2Aは、画
像表示部9、スピーカ10が配置され、これらにより種
々の情報を出力できるようになされている。なお、頭部
2Aの構成は、このような構成からなることに限定され
ないことはいうまでもなく、すなわち例えば、画像表示
部9を、LED(Light Emitting Diode)により構成し
て、表情を表現するようにすることもできる。
配置され、また尻尾に相当する箇所にアンテナ12が配
置されるようになされ、これらを介してユーザの操作を
検出できるようになされている。また、胴体2Bは、ス
ロットを有し、このスロットにICカードを装着してソ
フトウェアのバージョンアップ等を実行できるようにな
されている。
入出力する各種情報、操作子11等の操作情報を処理し
て全体の動作を制御するコントローラ15、各部に電源
を供給する電源ユニット14、アンテナ12を介して各
種情報を送受する通信ユニット16等が配置され、下部
にバッテリ17が配置されるようになされている。
関節に相当する箇所にアクチュエータ、角度検出センサ
を配置してなる4つの足を配置して形成され、本体2と
シリアルバスにより接続され、本体2の制御により動作
するようになされている。これによりロボット装置1
は、4足歩行により移動できるようになされている。
体2より取り外すことができるようになされている。ロ
ボット装置1は、この後足に代えて、タイヤを備えた移
動ユニットを取り付けることができるようになされてい
る。これによりこのロボット装置1は、ユーザの好みに
応じて4足により移動する形態(以下、4足型とい
う。)と、タイヤにより移動する形態(以下、タイヤ型
という。)とで形態を変更できるようになされている。
ブロック図である。ロボット装置1においては、処理プ
ログラムを記録したプログラムメディア20がペリフェ
ラル21を介して中央処理ユニット22に接続され、こ
の中央処理ユニット22によりプログラムメディア20
に記録された処理手順を実行するようになされている。
また、中央処理ユニット22は、ペリフェラル21を介
して移動ユニット3の各アクチュエータ、センサ、さら
にはテレビジョンカメラ6、操作子11等であるロボッ
ト装置コンポーネント24、25、26と接続され、こ
れにより全体の動作を制御できるようになされている。
ペリフェラル21を介して電源ユニット14を構成する
電源制御用の1チップマイコン27と接続され、この1
チップマイコン27の動作を制御してバッテリ17より
全体に電源を供給し、さらには省電力モードにおいてバ
ッテリ17に代えてボタン電池29より全体の電源を供
給するようになされている。
構成をレイヤにより示す略線図であり、図4は図3との
対比によりタイヤ型におけるソフトウェア構成を示す略
線図である。このソフトウェア構成において、最も下位
層はデバイスドライバレイヤであり、各種デバイスドラ
イバが配置される。ここでデバイスドライバは、移動ユ
ニット3のセンサ、アクチュエータ、さらには頭部2A
等に配置した各種ロボット装置コンポーネントとの間で
各種情報を入出力し、これらの処理のためのソフトウェ
アオブジェクトを備えるようになされている。
イバ(バッテリマネージャDD)は、電源ユニット14
の1チップマイコン27との間のデータ通信によりバッ
テリ17の残量を検出して定期的に上位のロボットシス
テムソフトウェアに通知する。また、中央処理ユニット
22等のクロックを管理し、ロボットシステムソフトウ
ェアの指示によりこのクロックの周波数を低減すると共
に、不必要なデバイスの動作を停止し、これにより全体
の消費電力を低減する。
イバ(ロボットシリアルバスDD)は、本体2に配置さ
れたシリアルバスのマスター制御用のハードウェアとの
間のデータ通信により、シリアルバスに接続された移動
ユニット3のセンサ情報等を取り込んで上位のロボット
システムソフトウェアに通知し、またこれとは逆にロボ
ットシステムソフトウェアより出力されるアクチュエー
タの制御データ、オーディオ信号等を各デバイスに送出
する。
イバは、システムの起動時、シリアルバスに接続された
デバイスの変更(追加、削除である)を検出する。さら
に、この変更に係るデバイス固有の情報を取り込むこと
により、ロボット装置1の現在の形態を示す情報をロボ
ットシステムソフトウェアに出力する。
ロボットシステムソフトウェアが配置される。ここでロ
ボットシステムソフトウェアは、バーチャルロボット、
デザインロボット、パワーマネージャ、オブジェクトマ
ネージャ等のソフトウェアオブジェクトより構成され
る。
シリアルバスデバイスドライバとの間のデータ通信にお
いて、各デバイス固有のフォーマットによるデータをロ
ボット装置の一般的なフォーマットに変換して送受す
る。具体的に、例えばモータ制御用のデータについて、
デバイス固有のフォーマットにおいてはポテンションメ
ーターであるセンサ出力をアナログディジタル変換して
得られる10ビットにより表現するのに対し、バーチャ
ルロボットは、この表現によるデータを最下位の1ビッ
トが0.001度を示すデータに変換してロボット装置
1における一般的なフォーマットとして出力する。ま
た、バーチャルロボットは、このようなフォーマット変
換によるデータの送受に加えて、例えばテレビジョンカ
メラ6より取得したイメージデータを上位のソフトウェ
アに出力する。
リアルバスデバイスドライバよりロボット装置1の現在
の形態を示す情報を受け取り、この情報を取りまとめ
る。これによりバーチャルロボットは、ロボット装置1
全体でどの様なロボットコンポーネントがどの様な順番
で接続されているのかを示す結合情報(CPC(Configura
ble Physical Component)Connection Information)を
管理し、この結合情報(CPC Connection Information)
をデザインロボットに通知する。
スに接続されたデバイスに変更があった場合、デバイス
ドライバのロボットシリアルバスデバイスドライバより
通知を受け、デザインロボットに通知する。
より結合情報(CPC Connection Information)を受け取
り、事前に記録した結合テンプレート情報と順次比較す
ることにより、現在のロボット装置1の形態に適したテ
ンプレートを選択する。さらに、デザインロボットは、
この選択したテンプレートに応じて、上位の形態依存ソ
フトウェアを現在の形態に適した形態依存ソフトウェア
に更新するように、オブジェクトマネージャに指示す
る。
プレート情報は、デザインファイルにデザインデータと
して記述されるようになされている。
ットの指示により、デザインロボットより通知されるオ
ブジェクト、各オブジェクトの結合に関する情報を用い
て形態依存ソフトウェアを現在の形態に適した形態依存
ソフトウェアに更新する。すなわち、オブジェクトマネ
ージャは、形態依存ソフトウェアを構成する全てのオブ
ジェクトについて、動作の停止、オブジェクト間通信の
結合解除、オブジェクトの破壊、リソースの開放を指示
する。さらに新たに必要なオブジェクトのロード、初期
化し、さらにはオブジェクト間通信のための結合構築、
これらオブジェクトの起動を指示する。なお、ここで、
オブジェクト間の接合とは、オブジェクト間でデータを
送受信するための結合を意味する。
デバイスドライバとの間でデータ通信し、上位のソフト
ウェア(形態独立ソフトウェア又は形態依存ソフトウェ
ア)の指示に従って、バッテリマネージャデバイスドラ
イバにクロックの切り換えを指示し、またオブジェクト
の動作の停止等を指示する。
には、形態依存ソフトウェアが配置され、さらにその上
位に形態独立ソフトウェアが配置される。形態依存ソフ
トウェアは、このロボット装置1の形態に応じて変更さ
れるソフトウェアであり、形態独立ソフトウェアは、こ
れとは逆に、ロボット装置の形態に係わらずに固定され
たこのロボット装置1の上位のソフトウェアである。こ
のため形態依存ソフトウェアには、ロボット装置1の形
態に依存した各種オブジェクトが存在する。この実施の
形態においては、形態依存ソフトウェアの変更により4
足型とタイヤ型とでそれぞれ形態に適したソフトウェア
を全体として簡易に構成できるようになされている。
ソフトウェアは(図3)、移動ユニット3に関連するも
のとしてコマンドコンバータ、モーションネットワー
ク、モーションリプレイ、ウォーキングパターンジェネ
レータ、ビジョン等のオブジェクトにより構成される。
形態独立ソフトウェアからのコマンドをロボット装置1
の形態に適したコマンドに変換する。すなわち、形態独
立ソフトウェアから移動ユニット3に関するコマンドと
して、それぞれ睡眠(Sleep)、休憩(Rest)、起床(W
akeup)、移動(Move)の姿勢を指示するコマンドが入
力されると、コマンドコンバータは、この4足型におい
て、これらのコマンドをそれぞれ睡眠中(Sleeping)、
お座り(Sitting)、起立(Standing)、歩行(Walkin
g)の各姿勢を指示するコマンドに変換する。
バータにより出力されるこれら姿勢を示すコマンドよ
り、図5に示す遷移に従って、この遷移図の矢印に対応
するオブジェクトのメソド(エントリ)を起動する。す
なわち、睡眠中の状態で歩行のコマンドが入力された場
合、お座り、起立、歩行と姿勢を順次変化させるよう
に、モーションリプレイオブジェクトの対応するエント
リを順次起動する。なお、この場合、最後の歩行の状態
に辿り着いたときには、この状態を示す自己ループに対
応するウォーキングパターンジェネレータのエントリを
起動する。
ワークによるエントリの起動により、対応する姿勢変化
用の関節角度指令値を出力する。具体的に、モーション
リプレイは、登録された離散的な関節角度指令値をキー
データとして保持し、このキーデータを用いた補間演算
処理により一連の角度指令値を出力する。
態独立ソフトウェアにより指定される方向に移動するよ
うに、各関節角度指令値を計算して出力する。
クトであり、テレビジョンカメラ6で取得したイメージ
データをバーチャルロボットオブジェクトより受け取り
処理する。ビジョンは、これにより例えば赤色の物体を
識別し、このロボット装置1を基準にしたこの赤色の物
体の位置、見かけの大きさを検出して出力する。
ソフトウェアは(図4)、移動ユニット3に関するオブ
ジェクトとして、4足型と共通のビジョンのオブジェク
ト、このタイヤ型に特有のコマンドコンバータ、モーシ
ョンコマンダ、モーションリプレイ2、ホイールパター
ンジェネレータのオブジェクトを有する。
おけるコマンドコンバータと同様に、形態に依存しない
形態独立ソフトウェアからのコマンドをロボット装置1
の形態に適したコマンドに変換する。この場合、ロボッ
ト装置1においてはタイヤ型であることにより、コマン
ドコンバータは、それぞれ睡眠(Sleep)、休憩(Res
t)、起床(Wakeup)、移動(Move)の姿勢を指示する
コマンドを、睡眠中(Sleeping)、休憩(Rest)、待機
(Ready)、移動(Go)のコマンドに変換する。
タの出力を受け、タイヤ用の制御コマンドと関連する関
節角度指令値を生成する。すなわち、モーションコマン
ダは、睡眠中(Sleeping)のコマンドが入力された場
合、関節角度指令値を中立(neutral)に設定する。こ
こで、中立(neutral)においては、何らモータを駆
動、制動しない状態であり、これにより移動ユニットを
構成する両腕にあっては、垂れ下がった状態に保持さ
れ、またタイヤにあっては停止状態に保持される。
力された場合、モーションコマンダは、両腕にあっては
肘の部分で90度折り曲げて前に差し出すように、ま
た、頭部2Aにあっては顔を正面に向けるように、関節
角度指令値を生成する。なおタイヤは停止したままであ
る。
れた場合、モーションコマンダは、両腕にあっては肘を
伸ばして前に差し出すように、また頭部2Aにあっては
顔を正面に向けるように関節角度指令値を生成する。な
お、この場合もタイヤは停止したままである。さらに、
移動(Go)のコマンドにあっては、待機(Ready)の状
態と同様に両腕を保持したまま、タイヤが前進方向に回
転するように、指令値を出力する。
ンダの指示によりタイヤ型に固有の動作に関して、タイ
ヤ以外の動作(例えば両腕の動作である)を制御する。
ホイールパターンジェネレータは、モーションコマンダ
の制御によりタイヤの制御情報を生成する。
の形態に依存しないソフトウェアであり、形態設定オブ
ジェクト等を有する。ここで形態設定オブジェクトは、
形態依存ソフトウェアよりロボット装置1の形態に依存
しない情報を受け取り、この情報によりロボット装置1
の形態に依存しない上述したようなロボット装置1の姿
勢を示すコマンド(睡眠等である)を形態依存ソフトウ
ェアに出力する。
り通知される赤色の物体の有無とその位置情報に基づい
て、1分以上赤色の物体の存在が検出されなかった場
合、図6に示すように、睡眠(Sleep)の状態にあって
はその状態を維持するように、休憩(Rest)の状態にあ
っては睡眠(Sleep)に、起床(Wakeup)の状態にあっ
ては休憩(Rest)に、移動(Move)にあっては起床(Wa
keup)の状態に遷移するようにコマンドを発行する。
で検出され(ロボット装置の設定による値10以下)、
これが10秒以上続いた場合、睡眠(Sleep)の状態に
あっては休憩(Rest)の状態に、休憩(Rest)の状態に
あっては起床(Wakeup)に、起床(Wakeup)の状態にあ
っては移動(Move)に遷移するようにコマンドを発行
し、また移動(Move)にあっては移動(Move)を継続す
るようにコマンドを発行する。
検出された場合、睡眠(Sleep)の状態にあっては(Wak
eup)の状態に遷移するように、休憩(Rest)及び起床
(Wakeup)の状態にあっては移動(Move)に遷移するよ
うに、また移動(Move)にあっては移動(Move)を継続
するようにコマンドを発行する。
位のソフトウェアが、形態に依存しないように形成さ
れ、この形態に依存しないソフトウェアとの間では形態
に依存しない形式によりデータを送受するようになされ
ている。これによりこのロボット装置1では、形態に応
じて、この形態に依存するソフトウェアである形態依存
ソフトウェアだけを変更して、形態に応じてソフトウェ
アを簡易に変更することができるようになされている。
は、デザインロボットの指示によるオブジェクトマネー
ジャの処理により更新される。このとき、形態依存ソフ
トウェアを構成するオブジェクトのロード、アンロー
ド、オブジェクト間通信のための結合再構築により形態
依存ソフトウェアを更新する。
ロボットよりロボット装置1の形態を特定する結合情報
(CPC Connection Information)の通知を受け、この結
合情報(CPC Connection Information)に基づいてオブ
ジェクトマネージャに形態依存ソフトウェアの更新を指
示すると共に必要な情報を提供する。
位層であるロボットシリアルバスデバイスドライバを介
してシリアルバスに接続された各デバイスの情報を取得
し、この情報より結合情報(CPC Connection Informati
on)を作成してデザインロボットに通知する。
各ロボットコンポーネントのメモリに所定の情報が記録
され、ロボットシリアルバスデバイスドライバを介して
実行されるデータ通信により、バーチャルロボット1に
おいてシリアルバスに接続されたデバイスの情報をその
位置情報と共に取得できるようになされている。
ルバスに接続されるテレビジョンカメラ、スピーカ、マ
イク、各種アクチュエータ、センサ等が基本的な構成要
素(CPC Primitive)であり、リンク状態に設定された
これら基本的な構成要素の複数の組み合わせにより各部
品(CPC Model)が構成される。すなわち例えば、部品
である1つの足は、3個のモータ、1個のスイッチによ
る複数の基本的な構成要素の特定なリンク状態により構
成される。
に固有の識別データが割り当てられ、この識別データに
よりシリアルバスに接続された各構成要素を特定できる
ようになされている。なお、この識別データは、部品を
作成した製造工場のIDと製品番号に対応するIDとに
より構成される。また、この識別データに対応するよう
に、各構成要素の情報、部品における各構成要素の位置
情報が部品中における各構成要素のリンク情報、各構成
要素の属性情報等により設定され、これらの情報が各部
品の識別データと共に各部品のメモリに保持されるよう
になされている。なお、この実施の形態では、部品側に
てメモリ容量が少ない場合には、各部品側に識別データ
のみ記録され、構成要素の情報、部品における構成要素
の位置情報は、本体2側に保持するようになされてい
る。
デバイスの変更時、ロボットシリアルバスデバイスドラ
イバより通知されるこれら識別データ、位置情報等によ
り、ツリー構造によるシリアルバスを順次辿って、各基
本的な構成要素(CPC Primitive)と各構成要素の結合
の順番を示すデータ構造とにより結合情報(CPC Connec
tion Information)を作成してデザインロボットに通知
する。かくするにつきバーチャルロボットより通知され
る結合情報(CPC Connection Information)にあって
は、形態に対応する構成要素情報(CPC Primitive Loca
tion Information)により構成される。
より通知される結合情報(CPC Connection Informatio
n)を基準にしてデザインファイルを参照することによ
り現在のロボット装置1の形態に対応する結合テンプレ
ート(後述するラベルである)を選択する。さらに、デ
ザインロボットは、この選択したテンプレートに応じ
て、現在の形態に適した形態依存ソフトウェアヘの更新
をオブジェクトマネージャに指示する。
ータ形式の記述であり、ロボット装置1の形態毎に、各
部品の構成要素情報(CPC Primitive Location Informa
tion)群に対してラベルを付加して記述される。また、
構成要素情報(CPC Primitive Location Information)
は、各部品の基本的な構成要素(CPC Primitive)と各
構成要素の位置情報(CPC Coordinate Locator)により
構成される。このうち位置情報(CPC Coordinate Locat
or)は、ロボット装置1に設定された基準位置からの座
標であり、一般的なリンク座標系により表記され、座標
系変換のための回転行列と位置ベクトルの縦続接続によ
り構成されるようになされている。
特定、このオブジェクトのロード、オブジェクト間通信
の構築に必要なデータを特定するものであり、デザイン
ラベル(Design Label)、又はデザインラベルに比して
汎用的な理解容易な記述によるバーチャルラベル(Virt
ual Label)、デザインラベル(Design Label)とバー
チャルラベル(Virtual Label)との複合型のラベル(C
omposite Label)が適用される。なお、ビジュアルラベ
ルにあっては、デザインロボットによりデザインラベル
に置き換えられて利用に供されるようになされている。
を示すものである。デザインラベルは、1つ以上の構成
要素情報(CPC Primitive Location Information )、
又はデザインラベル(Design Label)により構成され
る。
(Virtual Label)の記述を示すものである。バーチャ
ルラベルは、デザインラベル(Design Label)、構成要
素(CPC Primitive)、構成要素(CPC Primitive)の位
置情報(CPC Coordinate Locator)により構成される。
mposite Label)の記述を示すものである。
された結合情報(CPC Connection Information)により
特定される構成要素情報(CPC Primitive Location Inf
ormation)において、特定される位置情報(CPC Coordi
nate Locator)よりツリー構造の先端側にバーチャルラ
ベル(Virtual Label)内で定義された位置情報(CPCCo
ordinate Locator)が存在する場合、このバーチャルラ
ベル(Virtual Label)をデザインラベル(Design Labe
l)に置き換え、また、このようにして定義したデザイ
ンラベル(Design Label)を有効なものと設定する。
Information)によりこのデザインファイルをアクセス
して現在のロボット装置を形態(4足型、タイヤ型等の
形態)を特定できるようになされ、また、形態依存ソフ
トウェアの更新に必要な各種データを取得できるように
なされている。
を具体的に示すフローチャートである。デザインロボッ
トは、バーチャルロボットより結合情報(CPC Connecti
on Information)が通知されると、ステップSP1から
ステップSP2に移り、この結合情報(CPC Connection
Information)によりデザインファイルをアクセスし、
これにより現在のロボット装置1の形態を特定する。
3に移り、バーチャルロボットより通知された結合情報
(CPC Connection Information)による構成要素情報
(CPCPrimitive Location Information)とデザインフ
ァイルに保持された結合情報(CPC Connection Informa
tion)による構成要素情報(CPC Primitive Location I
nformation)とを比較する。
4に移り、この比較結果に基づいて、デザインファイル
をアクセスし、現在の形態に対応するオブジェクト、オ
ブジェクト間通信の再構築に必要なデータを特定するデ
ザインラベルを検出する。
5に移り、検出したデザインラベルより結合ファイル
(Connection File)をアクセスし、ラベルに対応する
結合情報(Connection Data)を検出することにより、
対応するオブジェクトの特定、オブジェクト間通信の再
構築に必要なデータを取得する。かくするにつき結合フ
ァイル(Connection File)は、ラベルとの対応により
結合情報(Connection Data)を記録したファイルであ
り、結合情報(Connection Data)は、対応するオブジ
ェクトの特定、オブジェクト間通信の再構築に必要なデ
ータである。
6に移り、この結合情報(Connection Data)をオブジ
ェクトマネージャに送出し、これにより形態依存ソフト
ウェアの更新を指示した後、ステップSP7に移ってこ
の処理手順を終了する。
示す図表である。このデザインファイルにおいて、DRX
は、このロボット装置1の形態を示し、4 Leggedは、
4足型の形態であることを示す記述である。またHead、
RightFrontLeg、LeftFrontLeg、RightRearLeg、LeftRea
rLegは、それぞれ頭部、右前足、左前足、右後足、左後
足を示し、これにより第1文において4足型が頭部、右
前足、左前足、右後足、左後足により構成されることが
特定される。
示し、第1文との対比によりこの第2文においてタイヤ
型が頭部、右前足、左前足、右後輪、左後輪により構成
されることが特定される。また、第3文においては、頭
部にカメラリンクの配置が記述され、第4文にはこのカ
メラリンクのバーチャルラベル(Virtual Label)が記
述されるようになされ、第5文以降においては、右前
足、左前足等について、位置情報(CPC Coordinate Loc
ator)がツリー形式により記述されるようになされてい
る。
ection Information)の一部の記述を示す図表である。
結合情報は、デザインファイルと同様にテキストデータ
形式により記述される。この記述において、jointはイ
ンターフェースを示し、この部分が他の構成要素との結
合箇所であることを示すものである。この場合、第2行
目から第5行目までの記載により、CO、CO、CO、CO、CO
による5つのハブ等を介してテレビジョンカメラが接続
されていることが判る。
(CPC Connection Information)にあっては、図8につ
いて上述した記述である4足型と一致することになる。
ection File)の一部の記述を示す図表である。結合フ
ァイルは、テキストデータ形式により記述され、この記
述において、第1文及び第2文は、それぞれ4足型及び
タイヤ型における足及びタイヤに対応するオブジェクト
と、このオブジェクトにおけるオブジェクト間通信の構
築に必要なデータが記述される。
としてオブジェクト名であるMONetとデータ形式MONetOu
tData、サブジェクトを示すSの記述が記述される。さ
らに、同様のサービス名としてオブジェクト名であるMO
NetReplay、データ形式MONetOutData等が記述され、最
後にオブザーバを示すOの記述が割り当てられる。ま
た、続く行において、同様のサブジェクト及びオブザー
バ、データ形式等が記述される。
ロボットは、このDRX 4Legged による第1文の記述より
結合情報(Connection Data)(DRX 4Legged以降の括弧
書の記述)を抽出してオブジェクトマネージャに通知
し、これにより形態依存ソフトウェアを更新するように
なされている。
チャルロボット、デザインロボットにおけるブート時の
処理を示すタイムチャートである。ロボット装置1にお
いては、電源が投入されると、又はリセットがされる
と、ブートの処理を開始する。このとき、ロボット装置
1においては、各オブジェクトがファイルよりロードさ
れて形態依存ソフトウェアが構築され、このとき各オブ
ジェクトマネージャの内部変数が初期化される。
ニシャライズ(DoInit)が各オブジェクトに送出され、
このドゥイニシャライズ(DoInit)により各オブジェク
トの問い合わせ用エントリ(Entry)がオブジェクトマ
ネージャ等に登録される。これによりロボットシステム
ソフトウェアレイヤにおいて、各オブジェクト間通信が
構築される。
タート(DoStart)がバーチャルロボット、デザインロ
ボットに順次送出され、バーチャルロボット、デザイン
ロボットが動作を開始する。これによりバーチャルロボ
ットにより結合情報(CPC Connection Information)
が生成され、デザインロボットの要求によりこの結合情
報(CPC Connection Information)がデザインロボット
に渡され、結合情報(Connection Data)が生成され
る。さらに、この結合情報(Connection Data)がオブ
ジェクトマネージャに渡され、この結合情報(Connecti
on Data)により形態依存ソフトウェアが構築される。
オブジェクトマネージャよりドゥストップ(DoStop)が
各オブジェクトに送出され、このドゥストップ(DoSto
p)により各オブジェクトにおいては、全てのリクエス
トに対してエラーを通知して動作を停止する。統いてオ
ブジェクトマネージャよリドゥデストロイ(DoDestro
y)が各オブジェクトに送出され、これにより各オブジ
ェクトにおいては、使用していたソースを開放し、また
オブジェクトマネージャに登録したエントリを抹消して
待機する。
態が変更されて立ち上げられた場合でも、この変更され
た形態に適したソフトウェアにより動作できるようにな
されている。
n)、プラグアウト(Plug-Out)においては、図11に
示すように、オブジェクトマネージャよりドゥストップ
(DoStop)が各オブジェクトに送出され、このドゥスト
ップ(DoStop)により各オブジェクトにおいては、全て
のリクエストに対してエラーを通知して動作を停止す
る。
時と同様にして順次ドゥスタート(DoStart)がバーチ
ャルロボット、デザインロボットに順次送出され、バー
チャルロボットにより結合情報(CPC Connection Infor
mation)が生成され、この結合情報(CPC Connection I
nformation)がデザインロボットに渡されて結合情報
(Connection Data)が生成され、この結合情報(Conne
ction Data)により形態依存ソフトウェアが構築され
る。
ラグイン(Plug-In)、プラグアウト(Plug-0ut)によ
り動的に形態が変更された場合でも、この変更された形
態に適したソフトウェアにより動作できるようになされ
ている。
っては、バッテリマネージャからの状態変更要求によ
り、プラグイン(Plug-In)、プラグアウト(Plug-Ou
t)の場合と同様に、ドゥストップ(DoStop)、ドゥス
タート(DoStart)の処理が繰り返され、これによりバ
ッテリ17が消耗した場合にあっては、クロック周波数
を低減すると共に不必要なデバイスの動作を停止してボ
タン電池29により動作するように状態が変更され、こ
れとは逆に充電されたバッテリ17が装着された場合に
あっては、クロック周波数を増大すると共に各デバイス
の動作が開始されてバッテリ17により動作するように
なされている。
デザインロボットからの通知により形態依存ソフトウェ
アを構成するオブジェクトを再構成し、これにより形態
依存ソフトウェアを更新する。具体的に、オブジェクト
マネージャは、デザインロボットからの通知によりオブ
ジェクトをロード、アンロードすると共に、これらアン
ロード及びロードに対応するようにオブジェクト間通信
を再構築し、これにより形態依存ソフトウェアを変更す
る。
対応するオブジェクト名等がオブジェクトに登録されて
いなければならないとすると、各オブジェクトの独立性
が害され、自由な形態に対応するようにオブジェクトを
複数種類用意することが必要になる。このためこの実施
の形態において、オブジェクトマネージャは、デザイン
ロボットより出力される結合情報(Connection Data)
に基づいてオブジェクト間通信を構築し、これによりオ
ブジェクトの独立性を担保する。
より構築されたロボット装置1(ターゲットボード或い
はターゲットシステム)のオブジェクト群と、パーソナ
ルコンピュータにプログラム作成等のために取り込んだ
ロボット装置1のオブジェクトとをオブジェクト間通信
によりデータ通信を可能とすることに特徴がある。後で
詳述するが、ロボット装置1とパーソナルコンピュータ
とが無線又は有線による通信手段により接続された際
に、それぞれの有するゲートウェイオブジェクトによる
オブジェクト間通信が可能とされることにより、ロボッ
ト装置1上のオブジェクトとパーソナルコンピュータ上
のオブジェクトとのオブジェクト間通信が構築されると
いったようにである。
な説明をする。なお、以下の説明では、オブジェクト名
の特定を避けて説明を簡略化し、すなわち例えば以下の
説明はロボット装置1内のオブジェクト間通信について
適用可能であり、また、ロボット装置1とパーソナルコ
ンピュータの備えるオブジェクト(後述するゲートウェ
イオブジェクト)間のオブジェクト間通信について適用
可能である。また、オブジェクト間通信は、非同期によ
り実行するものとする。
ブジェクト間におけるオブジェクト間通信の基本構成を
示す略線図である。この実施の形態においては、レディ
(Ready)とノーティファイ(Notify)とを用いてオブ
ジェクト間通信を実行し、これによりオブジェクト(こ
の例ではObjectB)の処理能力以上のデータを送出しな
いようになされている。
Aは、オブジェクトAのメンバーであるクラス0のサブ
ジェクトからオブジェクトBのメンバーである0オブザ
ーバクラスに対してデータを送出し、これによりオブジ
ェクトBのメソドがインヴォウク(invoke)される。こ
こでいう、サブジェクト及びオブザーバは、その属する
オブジェクトにおいていわゆる代理プログラムを構成し
ている。
ザーバよりレディ(Ready)の信号が送出されている場
合にのみデータを送出する。なお、レディ(Ready)の
信号は、1回のデータにつき1回送る必要がある。これ
によリオブザーバ側であるオブジェクトBにおいては、
受け取ったデータの処理の完了を待って続くデータを受
信することができるようになされている。
るオブジェクト間通信の基本構成を示す略線図である。
この場合、サブジェクトであるオブジェクトAは、全て
のオブザーバに対してデータを配信することができ、ま
た、オブジェクトIDにより特定される特定のオブザー
バに対してのみにデータを配信することもできる。な
お、この実施の形態においては、このようなマルチオブ
ザーバの状態においても、レディ(Ready)の信号によ
り対応するオブザーバに対してデータを送出する。
を特定するオブジェクトID、メソド(method)を特定
するセレクタ番号(selector)(メソド番号である)を
指定することにより、対応するメソドを起動(エント
リ)し、オブザーバを特定して所望のデータを送出す
る。
おけるオブジェクト間通信の基本構成を示す略線図であ
る。この場合、オブジェクトA及びBがサブジェクトで
あり、オブジェクトCがオブザーバである。オブザーバ
においては、このように複数のサブジェクトよりそれぞ
れデータを受信することができ、また、データを受信す
る毎にデータを処理するメソドがインヴォウク(invok
e)されるようになされている。また、オブザーバは、
サブジェクトIDにより特定される特定のサブジェクト
に対してのみにレディ(Ready)の信号を送出して所望
のデータを選択的に入力できるようになされている。
依存ソフトウェアレイヤの属するオブジェクトにおいて
は、これら図12〜図14を用いて説明したように、レ
ディ(Ready)とノーティファイ(Notify)とを用いて
オブジェクト間通信を実行し、また、必要に応じてマル
チオブザーバ、マルチサブジェクトの結合形態により他
のオブジェクトを結合できるようになされている。すな
わち、複数のオブザーバを有するオブジェクトにあって
は、これら複数のオブザーバに対応する数のコネクトエ
ントリを有するようになされている。
ブジェクトとの関係を示す略線図である。各オブジェク
トにおいては、それぞれオブジェクトID、セレクタ番
号(Selector)によリメソドを特定してデータ交換し、
それぞれ対応するサブジェクト、オブザーバとは何ら無
関係に、基本的なメソドについてセレクタ番号0〜3が
それぞれ割り当てられるようになされている。
ライズ(DoInit)が割り当てられ、各オブジェクトは、
このドゥイニシャライズ(DoInit)の起動により初期化
されるようになされている。また、セレクタ番号1に
は、ドゥスタート(DoStart)が割り当てられ、各オブ
ジェクトは、このドゥスタート(DoStart)の起動によ
り動作を開始するようになされている。さらに、セレク
タ番号2には、ドゥストップ(DoStop)が割り当てら
れ、各オブジェクトは、このドゥストップ(DoStop)の
起動により動作を停止するようになされている。また、
セレクタ番号2には、ドゥデストロイ(DoDestroy)が
割り当てられ、各オブジェクトは、このドゥデストロイ
(DoDestroy)によりリソースを開放するようになされ
ている。
らオブジェクトマネージャからの要求、また他のオブジ
ェクトからの要求に対して、適宜、リターン値によりオ
ブザーバによるサービス名、セレクタ番号等を通知する
ようになされている。
れる結合情報(Connection Data)に基づいて、オブジ
ェクトマネージャによリオブジェクトをロード、アンロ
ードした後、オブジェクト間通信を再構築できるように
なされている。
れる結合情報(Connection Data)を示すものであり、
サブジェクトのサービス名とオブザーバのサービス名を
コロンで区切ってテキストデータ形式により記述され
る。この場合、サブジェクト側においては、オブジェク
ト名であるFooB、データ形式Image、対応する構成要素
名による名称RightCamera、サブジェクトを示すSの記
述がサービス名として記述される。また、オブザーバ側
にあっては、オブジェクト名であるFooA、データ形式Im
age、対応する構成要素名による名称RightCamera、オブ
ザーバを示すOの記述がサービス名として記述される。
ジェクトをロードする際に、この結合情報(Connection
Data)の記述よりロードするオブジェクト名を検出す
る。
ックメモリ(Stack)、ヒープメモリ(heap)を確保し
てこの検出したオブジェクト名のオブジェクトを所定の
ファイルよりロードする。このときオブジェクトマネー
ジャは、オペレーションシステム(OS,Operation Sy
stem)よりオブジェクトIDを取得し、このオブジェク
トIDを結合情報(Connection Data)に記述されたオ
ブジェクト名と共に記録する。
ては、このようにして登録したオブジェクトIDを用い
て以下のドゥイニシャライズ(DoInit)、ドゥコネクト
(DoConnect)、ドゥスタート(DoStart)等の処理を実
行するようになされている。
において、取得したオブジェクトIDと、上述したセレ
クタ番号に基づいて、オブジェクトマネージャは、オブ
ジェクトのロードにより取得した全てのオブジェクトに
対してドゥイニシャライズ(DoInit)をコールする。各
オブジェクトにおいては、このドゥイニシャライズ(Do
Init)により内部変数等を初期化し、これによりオブジ
ェクトマネージャにおいては、各オブジェクトを初期化
する。
マネージャは、各オブジェクトからの通知により、それ
ぞれ各オブジェクトのサブジェクトとしてのエントリ
(Control)、オブジェクトとしてのエントリ(Connec
t)を登録する。なお、この登録は、結合情報(Connect
ion Data)におけるサブジェクト及びオブジェクトの記
述に対応して、オブジェクトの名前とサブジェクト、オ
ブジェクトの名前により構成される。
において、オブジェクトマネージャは、ドゥイニシャラ
イズ(DoInit)における登録に基づいて、オブザーバを
有する各オブジェクトのエントリ(Connect)に対し
て、それぞれ登録対象であるサブジェクトのサブジェク
トID(オブジェクトID)、エントリ(Control)を
通知する。これによりこの通知を受けたオブジェクトに
おいて、通知されたサブジェクトID、エントリ(Cont
rol)を用いて対応するサブジェクトを呼び出し、ここ
にエントリ(Notify)が接続登録される。また、接続登
録が要求されたサブジェクトよりレディ(Ready)がオ
ブザーバに返され、これによりオブザーバと対応するサ
ブジェクトとが結合される。
ト間でオブジェクト間通信を構築するにつきオブジェク
トマネージャにおいては、結合情報(Connection Dat
a)で通知されたオブザーバに対して対応するサブジェ
クトのサブジェクトID(オブジェクトID)、エント
リ(Control)を通知する。これにより、各オブジェク
トにおいては、何ら結合対象のオブジェクトを明示的に
示すことなく開発できるようになされ、また必要に応じ
てオブジェクトマネージャの指示により種々のオブジェ
クトと結合できるようになされ、これにより従来に比し
て高い独立性を確保できるようになされている。
より結合情報(Connection Data)に従ってオブジェク
ト間通信を構築することにより、簡易かつ自在に形態依
存ソフトウェアを更新して、形態に適してソフトウェア
を簡易に変更できるようになされている。
おいて、オブジェクトマネージャは、上述したセレクタ
番号1により各オブジェクトにドゥスタート(DoStar
t)を指示する。各オブジェクトにおいては、オブザー
バを有する場合、ドゥコネクト(DoConnect)により取
得したサブジェクトID、エントリ(Ready)を用いて
サブジェクトにレディ(Ready)を送出し、これにより
対応するサブジェクトよりデータ受信可能な状態が形成
され、形態依存ソフトウェアにおいては、動作を開始す
るようになされている。
ェクトにおいては、登録したオブザーバのうちのレディ
(Ready)を送出しているオブザーバに例えばセンサ出
力であるデータをノーティファイ(Notify)し、またオ
ブザーバにおいては、受信したデータの処理を完了して
次のデータを受信可能となるとレディ(Ready)を送出
する。
ラグイン、プラグアウト、状態変更の場合、デザインロ
ボットより通知される結合情報(Connection Data)
が、以前デザインロボットより送出されて登録した内容
と異なることにより、この場合オブジェクトマネージャ
は、上述したセレクタ番号2により各オブジェクトにド
ゥストップ(DoStop)を送出する。この場合オブザーバ
にあっては、エントリ(Ready)を解除する。
t)において、オブジェクトマネージャは、サブジェク
トとオブザーバとの間の通信接続を遮断する。この場
合、オブジェクトマネージャは、オブザーバのエントリ
(Connect)に対してドゥディスコネクト(DoDisconnec
t)のメッセージを送出することにより、オブザーバよ
り対応するサブジェクトにエントリ(Control)の切断
要求(Remove Observer)を発行させ、これにより通信
接続を遮断する。
y)において、オブジェクトマネージャは、上述したセ
レクタ番号3により対応するオブジェクトにドゥデスト
ロイ(DoDestroy)を送出し、これによりこのオブジェ
クトを破壊する。このときこのオブジェクトにおいて
は、ドゥイニシャライズ(DoInit)で実行した登録の解
除を実行する。
d)において、オブジェクトマネージャは、ドゥデスト
ロイ(DoDestroy)により破壊したオブジェクトについ
て、スタックメモリ、ヒープメモリの領域を開放し、こ
のオブジェクトをアンロードする。また、ロード時に登
録したサブジェクトID、サブジェクト名を抹消する。
により、例えば結合情報(Connection Data)をデザイ
ンロボットより受け取ると、図16に示すシーケンスに
よりドゥスタート(DoStart)までの制御を実行する。
ッセージにより結合情報(Connection Data)が送られ
ると起動し、例えばこの結合情報に記述されたオブジェ
クトA及びオブジェクトBをロードする。なお、ここで
はオペレーションシステムのシステム命令によりオブジ
ェクトA及びオブジェクトBをロードする。このときオ
ブジェクトマネージャは、オブジェクトA及びBのオブ
ジェクトIDを取得して登録する。
たようにしてこの取得したオブザーバID、セレクタ番
号0によりオブジェクトA及びBのドゥイニシャライズ
(DoInit)を起動し、これによリオブジェクトA及びB
より、サブジェクトとしてのエントリ(Control)、オ
ブジェクトとしてのエントリ(Connect)を取得して登
録する。
いてオブザーバであるオブジェクトAのドゥコネクト
(DoConnect)を起動し、サブジェクトであるオブジェ
クトBとこのオブジェクトAとを結合する。このように
して結合情報(Connection Data)に基づいてオブジェ
クト間通信が構築され、オブジェクトマネージャは、続
いてオブジェクトA及びBのドゥスタート(DoStart)
を起動する。
以降のシーケンスを示すタイムチャートである。オブジ
ェクトマネージャのドゥスタート(DoStart)によりオ
ブジェクトA、オブジェクトB、他のオブジェクト等が
起動すると、これらのオブジェクトにおいては、上述し
たレディ(Ready)とノーティファイ(Notify)とを用
いてオブジェクト間通信を実行する。
クトAがオブジェクトBのレディ(Ready)エントリに
レディ(Ready)メッセージを送出し、オブジェクトB
によるオブジェクトAのノーティファイ(Notify)エン
トリによりオブジェクトBからオブジェクトAにデータ
等が送出される。また、このデータの処理中に、オブジ
ェクトAよりオブジェクトBのレディ(Ready)エント
リに未だメッセージが送出されていない場合には、オブ
ジェクトBによるオブジェクトAのノーティファイ(No
tify)エントリが登録され、オブジェクトAによるオブ
ジェクトBのレディ(Ready)エントリによりデータ等
が送出される。これによりこのオブジェクト間通信にお
いては、オブジェクトAのデータ処理能力を越えたデー
タの伝送が防止される。
態変更におけるシーケンスを示すタイムチャートであ
る。オブジェクトマネージャは、デザインロボットより
通知される結合情報(Connection Data)が、以前デザ
インロボットより送出されて登録した内容と異なってい
ると、全てのオブジェクトにドゥストップ(DoStop)を
送出し、全てのオブジェクトの動作を停止する。この場
合、各オブジェクトA及びBにおいては、エントリ(Re
ady)を解除することにより、それ以後、自己のノーテ
ィファイエントリが起動されないようにする。
op)が完了すると、オブジェクトマネージャは、この場
合、オブジェクトAにドゥディスコネクト(DoDisconne
ct)を通知してこのオブジェクトAを他のオブジェクト
と切り離した後、このオブジェクトAのドゥデストロイ
(DoDestroy)を起動する。これによリオブジェクトA
のリソースを開放し、またドゥイニシャライズ(DoIni
t)で実行したオブジェクトBの登録を解除する。
イ(DoDestroy)が終了するとオブジェクトマネージャ
は、アンロードをオペレーションシステムのシステム命
令により実行する。なお、ここで必要なオブジェクトの
destructorが呼び出され、この場合はオブジェクトAの
destructorが呼び出されることにより、ロード時に実行
したオブジェクトAの登録を解除する。さらに、オブジ
ェクトマネージャは、スタックメモリ、ヒープメモリを
開放し、これによりオブジェクトAのアンロードを完了
する。
報(Connection Data)に従ってオブジェクトCのロー
ドを指示し、図16について上述したと同様にして、順
次ドゥイニシャライズ(DoInit)、ドゥコネクト(DoCo
nnect)、ドゥスタート(DoStart)を起動する。これに
よりこの場合、動作中に、コンパイルすることなくオブ
ジェクトA及びBによる構成がオブジェクトB及びCに
よる構成に変更されるようになされている。
ェクト間通信等について説明をした。次に、実施の形態
における要部である本発明に関するネットワークシステ
ムについて説明する。本発明が適用されるネットワーク
システムは、ネットワーク上においてリモートシステム
(例えば、端末をパーソナルコンピュータとするシステ
ム)に接続されているロボット装置の当該ソフトウェア
を変更すること等を可能とするものであって、ロボット
装置1がリモートシステムに接続されることが前提とな
るネットワークシステムである。
ークシステムの構成例を示している。このネットワーク
システムは、ローカルエリアネットワークとして構築さ
れており、このネットワークシステムにおいて、リモー
トシステム30は、パーソナルコンピュータ32やワー
クステーション33を端末として有するシステムであ
り、ロボット装置1は、ネットワークへの通信手段を備
えたロボット装置である。そして、ロボット装置1は、
ネットワーク通信用のアダプタとして無線LAN用PC
カード41を備え、リモートシステム30は、ロボット
装置1との通信のためのネットワークアダプタ31を備
えている。また、ネットワークシステムでは、ネットワ
ーク通信のプロトコルとされるTCP/IP(Transmis
sion Control Protocol/Internet Protocol)が採用さ
れて、リモートシステム30とロボット装置1との間の
通信がなされる。これにより、ロボット装置1にIPア
ドレスが与えられることにより、ロボット装置1は、ネ
ットワークシステム上のパーソナルコンピュータ32と
の通信が可能になる。このようにロボット装置1との通
信を可能としてネットワークシステムが構築されること
により、ロボット装置1は、無線LAN(ローカルエリ
アネットワーク)上のマシン(電子機器)として扱われ
るようになる。
示すように、少なくとも、PCカードI/F42、フラ
ッシュROM43、DRAM44及びCPU45を備え
ている。PCカードI/F42は、無線LAN用PCカ
ード41のインターフェースであり、フラッシュROM
43及びDRAM44は、ロボット装置1が取り扱う各
種情報が記憶される記憶手段であり、CPU45は、ロ
ボット装置1の各部を制御する制御手段である。例え
ば、CPU45は、図2に示した中央処理ユニット22
に対応される。図19には、3台のロボット装置1を示
しているが、各ロボット装置1ともにこのような構成を
有している。
システムにより、ロボット装置1の開発サイドでは、ネ
ットワークにロボット装置1を接続した状態で当該ロボ
ット装置1の有するオブジェクトを開発することができ
る。また、ユーザサイドでは、パーソナルコンピュータ
32等によってネットワーク上のロボット装置1の内部
状態等を監視することができるようになる。
ットワークシステムにロボット装置1が接続されている
が、これは例えばロボット装置1のように動き回る計算
機には物理的な結線が存在しないほうが望ましい、とい
う理由からくるものであり、よって、無線により通信が
なされることに限定されるものではなく、例えば、ロボ
ット装置1とパーソナルコンピュータ32とを有線より
通信することも可能である。
システムにおいて通信を可能とするロボット装置1及び
リモートシステム30の構成例を示している。
LAN用PCカード41、デバイスドライバ46、TC
P/IPプロトコルスタック47及び及びTCPゲート
ウェイ48を備え、リモートシステム30は、通信部分
として、ネットワークアダプタ31、デバイスドライバ
51及びTCPゲートウェイ52を備えている。
がともに最下層にネットワーク用のアダプタを備えてお
り、ロボット装置1におけるハードウェアとしての無線
LAN用PCカード41及びリモートシステム30にお
けるネットワークアダプタ31はそのネットワーク用の
アダプタを構成している。
装置1の無線LAN用PCカード41(例えば、PCカ
ードI/Fも含む。)は、ロボット装置1の情報処理プ
ロセス(オブジェクト)に対してデータの送受信を行う
情報処理プロセス(ゲートウェイオブジェクト48)を
有する(割り当てられた)第1の通信手段とされ、第2
の電子機器とされるパーソナルコンピュータ32(リモ
ートシステム30)に接続されるネットワークアダプタ
31は、パーソナルコンピュータ32上の情報処理プロ
セス(オブジェクト)に対してデータの送受信を行う情
報処理プロセス(ゲートウェイオブジェクト52)を有
する(割り当てられた)第2の通信手段とされる。そし
て、ネットワークシステムにおいて、無線LAN用PC
カード41とネットワークアダプタ31とが無線又は有
線により接続されたときに、無線LAN用PCカード4
1のデータの送受信を行う情報処理プロセス(ゲートウ
ェイオブジェクト48)とネットワークアダプタ31の
データの送受信を行う情報処理プロセス(ゲートウェイ
オブジェクト52)との間でプロセス間通信(オブジェ
クト間通信)を行うことにより、ロボット装置1の情報
処理プロセスとパーソナルコンピュータ32の情報処理
プロセスとの間でプロセス間通信(オブジェクト間通
信)がなされる。
タの送受信を行う情報処理プロセスとパーソナルコンピ
ュータ32のデータの送受信を行う情報処理プロセスと
の間で、ネットワーク通信で良く用いられるTCP/I
Pのデータ通信方式を採用したデータ通信を行ってい
る。
はともに、このような無線LAN用PCカード41及び
ネットワークアダプタ31の上位にデバイスドライバ4
6,51を有している。
ワーク用のアダプタとされる無線LAN用PCカード4
1及びネットワークアダプタ31を制御するソフトウェ
アである。
テム30では、デバイスドライバ46,51の上位に、
図示しないTCP/IPのソケットインターフェースを
有している。ロボット装置1及びリモートシステム30
では、TCP/IPのソケットインターフェースを介し
て、データの入出力を行う。例えば、ロボット装置1側
ではソケットライブラリーに相当するプロトコルスタッ
クオブジェクトを有しており、これによりアクセスす
る。
テム30が図示しないTCP/IPのソケットインター
フェースの上位層としてゲートウェイオブジェクト(T
CPゲートウェイ)48,52がある。ゲートウェイオ
ブジェクト48,52は、ネットワークへの出入り口を
構成するものとなる。ゲートウェイオブジェクト48,
52は、上述したオブジェクト間通信とネットワーク通
信のプロトコルとされるTCP/IPプロトコルとの変
換を行う。
ェクト48,52について、一方のゲートウェイオブジ
ェクトはサーバ(以下、サーバゲートウェイオブジェク
トという。)としての役割を果たし、他方のゲートウェ
イオブジェクトはクライアント(以下、クライアントゲ
ートウェイオブジェクトという。)として役割を果た
す。例えば、システムの性質を考慮し、ユーザとのやり
取りを仲介するリモートシステム側のゲートウェイオブ
ジェクトがクライアントゲートウェイオブジェクトとな
り、ターゲットシステム(ロボット装置)のゲートウェ
イオブジェクトをサーバゲートウェイオブジェクトとな
る。ゲートウェイオブジェクト48,52の動作は、具
体的には次のようになる。
port.cfgファイルという通信方式の設定が記述された
設定ファイルを有しており、これによってオブジェクト
間通信で定義される通信のサービス名とTCP/IPの
通信で用いられるIPアドレスとポート番号の対応を取
る。
ァイル)の一例を示している。例えば、port.cfgファ
イルには、テキストデータ形式として各種情報が記述さ
れており、具体的には、オブジェクト名、データ名、サ
ブジェクト名、ポート番号、IPアドレス等が記述され
ている。また、このport.cfgファイルは書き換えが自
由になされるようになっている。
は、上述の図12或いは図15に示すようなオブジェク
トAとオブジェクトBとの関係とされていることから、
所定のシーケンスに沿って所定の処理を行うことができ
る。具体的には、各ゲートウェイオブジェクト48,5
2は、代理プログラムとされるオブザーバ及びサブジェ
クトを動的に生成して、それぞれが有するport.cfgフ
ァイルに記述されたサービス名とそのオブザーバ又はサ
ブジェクトのIDを結びつけて、各々のシステム上のサ
ービスマネージャ(オブジェクトマネージャ)に登録を
行う。
ルへのサービス名が自由に記述することができるように
なっており、各ゲートウェイオブジェクト48,52
は、port.cfgファイルにそのように自由に記述されて
いる全てのサービスを実行する。このように、port.cf
gファイルへのサービス名の記述の制限をなくすことに
より、このゲートウェイオブジェクト48,52を介し
てあらゆるオブジェクト間(ロボット装置1のオブジェ
クトとパーソナルコンピュータ32のオブジェクト)の
オブジェクト間通信ができるようになる。
に記述されているネットワークポート(IPアドレスと
ポート番号)に対応するために結局はオブザーバ又はサ
ブジェクトのIDとボート番号が対応することになる。
また、ネットワーク上で異なる場所に存在するゲートウ
ェイオブジェクトにおいて、port.cfgファイルの記述
を対応させる、すなわち対応するオブジェクト間通信の
サービス名に対して同じポート番号を割り付けることに
より、ネットワーク上において、ロボット装置1とリモ
ートシステム30とのそれぞれのゲートウェイオブジェ
クト48,52間でのオブジェクト間通信の対応が取ら
れる。
ントゲートウエイオブジェクト52内のオブザーバ又は
サブジェクトに接続要求がきた場合、対応するポート番
号に対して接続(connect命令)を行う。ここで、ター
ゲットシステム(ターゲットボード、ロボット装置1)
側のサーバゲートウェイオブジェクト48が既に起動し
ていれば接続が成立する。一方、ターゲットシステムの
準備できていなければ数秒後に再接続を行い準備ができ
るまで待ち、接続を成立させる。
ブジェクトのオブザーバ又はサブジェクトは、データ
(ノーティファイ(Notify)やレディ(Ready)メッセ
ージ)を受信するたびに、対応するポートにそのメッセ
ージが送りこまれる。また、逆にネットワークポートが
データを受信すれば対応するオブザーバはノーティファ
イ(Notify)メッセージを送り出し、また、サブジェク
トはレディ(Ready)メッセージを送り出す。
1とリモートシステム30との間)の接続が確立される
と、本来ネットワークにより接続されるロボット装置1
とリモートシステム30とを、複数のオブジェクトから
なる一つのシステムとして取り扱うことができるように
なる。すなわち例えば、図22に示すように、接続前に
おいては、一群のオブジェクト(例えば、ソフトウェア
の一部)からなるシステムA(例えば、ロボット装置
1)と、他の一群のオブジェクト(例えば、ソフトウェ
アの一部)からなるシステムB(例えば、リモートシス
テム30)とが図中点線で示すような境界を境にそれぞ
れ独立して構築された存在とされるが、接続後において
は、図中点線をまたぐコネクションが切断されて、図2
3に示すような仮想的なゲートウェイオプジェクト(例
えば、ゲートウェイオブジェクト48,52の組)GO
を一つおいて各システムのオブジェクト群が接続された
ことと等価になる。これにより、ロボット装置1のオブ
ジェクトとリモートシステム30のオブジェクトとが一
つのシステムを構成するものと把握されるようになり、
ロボット装置1は、一つの仮想的なゲートウェイオブジ
ェクトGOを介してネットワーク越しのリモートシステ
ム30で動作されるようになる。
ト(仮想ゲートウェイオブジェクト)GOによりシステ
ム間(ロボット装置1とリモートシステム30)が接続
され、図20に示したようなデータの受け渡しが全て行
わることになるので、各システム(ロボット装置1及び
リモートシステム30)のゲートウェイオブジェクトに
接続されたオブジェクトは、ネットワーク越しの通信を
全く意識することなく、他のシステム上に存在するオブ
ジェクトとの間でオブジェクト間通信を行うことができ
るようになる。
成から図23に示すようなネットワーク構成への変更を
オブジェクト間の接続の変更と等価なものとして取り扱
うことができるので、図23に示すようなネットワーク
構成は、新たにオプジェクトのコードに変更を加える必
要がなく、所望のオブジェクト同士を接合するためのコ
ネクションファイルの記述を変えるだけで実現される。
システム(ロボット装置1)にてOSやプロセッサの違
いなどにより同じコードが実行できない場合でも、上述
のオブジェクト間通信のフレームワークはOSやプロセ
ッサに依存しないために、実行するシステム上で実装さ
れたフレームワークに基づいて再コンパイルしなおすこ
とで当該実行するシステム上にて実行可能オブジェクト
を生成することができる。
ターゲットシステム(ロボット装置1)上のオブジェク
トに接続(通信状態)されたリモートシステム30上の
オブジェクトを、リモートシステム30にて変更するこ
とができるようになる。これにより、ターゲットシステ
ムの実際の状態(実環境)が考慮されて、或いはリアル
タイムにて、オブジェクトをリモートシステム30上に
て開発(設計)することができるようになる。
で開発したオブジェクトが再コンパイルしてロボット装
置1に導入される。よって、ロボット装置1に導入され
たオブジェクトは、開発時点でロボット装置1に搭載さ
れた状態(実環境)での検討がなされているので、何ら
問題なく、例えば他のオブジェクトと不都合を生じるこ
となく、ロボット装置1にて処理を実行するようにな
る。また、単に仮想的なゲートウェイオブジェクトの接
続によりオブジェクトの開発が実現されるので、オブジ
ェクトの開発は容易なものとなる。
の規格、例えばソニー社の提唱するエンターテインメン
トロボットのためのハードウェア及びソフトウェアのプ
ラットフォーム技術であるOPEN−Rに適用したネッ
トワーク拡張技術について説明する。このプラットフォ
ーム技術においては、ソフトウェアがコンポーネント化
され、オブジェクト(プロセスに相当)という単位で実
行される。
ンのオブザーバパターンを基に設計されたオブジェクト
間の通信規約が決められており、ユーザは、オブジェク
トに入力されるデータ構造とそのサービス名、それを処
理するメソッド、出力データ構造とそのサービス名の3
つを定義する必要がある。これらが個々に定義されたオ
ブジェクトを接続することでイベントが伝搬し、認識か
ら行動までロボットの一連のシステムが実現される。
を持つ。 ・オブジェクト設計時には受信するデータと送信するデ
ータだけを定義してメッセージの送信先と受信元は決め
ない。 ・送受信する口をサービスといい、それぞれにはユーザ
が定義したユニークな名前が与えられる。 ・メッセージの送信と受信は、OSubjectとOObserber と
いう代理クラスが行う。それらのインスタンスが前述の
個々のサービスに1対1で対応する。 ・サービスとサービスの接続はコネクションファイルに
定義され、システムの起動時にOSubjectとOObserber の
インスタンスに通知される。 ・サービス間の通信は非同期通信で、接続は多対多通信
をサポートしている。 ・受信可能であるというReady メッセージによってデー
タのフロー制御を行っている。 ・データのスケーラビリティの確保と受け渡しの高速化
のために共有メモリを使用している。
説明する。ロボットにおいて無線ネットワークはその動
きが制限されないために非常に有用であり、ロボットの
センサ情報を送ったり、処理結果を送ったり、リモート
ホスト上のツールを使ってロボットを動かしたりなど、
種々の利用方法が考えられる。ネットワーク上の分散オ
ブジェクトに対するアクセスをクライアント側のプロキ
シに隠蔽することで意識させないフレームワークの提供
も知られているが、こうしたアプローチは新たなサービ
スを提供する度に通信用のオブジェクトを設計したり、
既存のオブジェクトやプロキシに通信用のコードを書き
加えたりすることになり開発の効率が悪い。ここで、ロ
ボット内部のソフトウェアは上記所定のプラットフォー
ム技術のプログラミングフレームワークに基づいて記述
されているために、オブジェクト間のデータの定義、通
信方法、通信相手の依存関係が全く分離されている。そ
こで、上記図20、図21と共に説明したように、ネッ
トワークの出入り口に相当するTCPゲートウェイとい
うオブジェクトを導入した。このオブジェクト(TCP
ゲートウェイ)は、オブジェクト間通信のサービス名と
TCP/IPのポート番号の対応が記述された設定ファ
イル(図21)を読み込み、サービスとポートを動的に
生成してそこに流されるデータのプロトコル変換を行う
(図20)。そこで決められたデータ用のポートに対し
てサービスを繋ぐことで通信相手を選択することがで
き、これにより通信方法と通信相手はTCPゲートウェ
イが解決してくれるために、オブジェクトの設計者はデ
ータの定義だけを決定すればよく、簡便にネットワーク
を利用することができる。
レームワークは、Unix(登録商標)のFork(),exe
c()や、IPCのメッセージ通信と共有メモリに相当す
る機能、すなわち、文献「Unixネットワークプログラミ
ング, 第2版, Vol.2, IPC:プロセス間通信」W. Richa
rd Stevens, ピアソン・エデュケーション, 2000 を利
用すれば、現在ロボット上で利用されているOS以外で
も実装が可能である。ここで、Linux 上に用意された実
行可能環境下では、オブジェクトはロボット内部のコー
ドとソースコードレベルで互換であるので、両方のシス
テムで実行可能なコード記述が可能である。
Pゲートウェイオブジェクトを同様に実装し、それぞれ
のTCPゲートウェイのポート番号を一致させると、上
記図23のように、2つのシステムを対称に接続するこ
とができる。これによりロボット内のオブジェクトとリ
モートホスト上のオブジェクトがリアルタイムで通信で
きるために、リモートホストのオブジェクト開発者は例
えばLinux 上の便利なツールを使いながら、ロボット上
のセンサ情報やロボットを動作させるコマンドを自由に
駆使できる。実際に複雑な画像認識をリモートホスト上
で行いその判断結果でロボットを動作させたり、商品化
されたペットプログラムの上位層のオブジェクトをコン
パイルし直してリモートホスト上でロボットと通信させ
ながら実行したりして、スタンドアローンシステムと実
時間性で全く遜色のないことを確認している。
り、Linux 等の汎用コンピュータ上でのソフトウェア開
発の方が圧倒的に効率が良い。また、世界中で利用され
ている開発環境でロボットのプログラムをすることがで
きることは普及面でも大きなメリットとなる。
の開発環境でコンパイルし直し、スタンドアローンシス
テム用のソフトウェアとして商品パッケージ化すること
も可能である。
適用について説明する。上述のようなオブジェクト間通
信の拡張の仕組みは、組込用のCPUを2つ以上持った
ロボットシステムに対しても応用することができる。現
在2つのCPUは、上述した所定のロボット用のプラッ
トフォーム技術のいわゆるOPEN−Rバスを介して通
信することができるが、このバス通信のプロトコル変換
オブジェクトを導入することで、一方にあるモーション
制御用のオブジェクト群ともう一方にある思考系オブジ
ェクト群の通信が自由に定義できる。
を導入することでオブジェクト間通信でやり取りするデ
ータをネットワーク上から利用可能にし、Unix, Linux
等の汎用コンピュータシステム上に上記ロボット用の所
定のプラットフォーム技術のプログラミングフレームワ
ークを実現し、該プラットフォーム技術のアーキテクチ
ャの移植性を示すことができ、また、ゲートウェイとエ
ミュレータを組み合わせることでロボットとリモートホ
スト間でシームレスなオブジェクト実効、開発環境を構
築可能としたものである。
たネットワークシステムの具体例を説明する。図24に
は、上述したオブジェクト間通信のフレームワークに基
づいて、いわゆるサッカードッグを実行するためのロボ
ットソフトウェア(複数のオブジェクト群からなるソフ
トウェア)の構成例を示す。
を探して、ボールに近づいて蹴るといったサッカープレ
イヤのような行動をロボット装置に実行させるプログラ
ムである。そして、このサッカードッグのプログラム
は、そのような行動を実行するため記述がなされてお
り、その記述に基づいてタスクの実行のために必要なソ
フトウェア部品(オブジェクト)が選択され、必要であ
れば全体のシステムが新規に生成してかたちづくられ
る。
は次のようになる。VRComm61はロボット装置1の各種
デバイスにアクセスするオブジェクトであり、OMPsd6
2は距離センサの情報を処理するオブジェクトであり、
OMCdt63は色の検出によりボールの位置を計算するオ
ブジェクトであり、OMTE64は首の姿勢管理をしてボー
ルの方向に視線を制御するオブジェクトであり、OMLE2_
S65は歩行動作を制御するオブジェクトであり、OMNE
66は転倒復帰を制御するオブジェクトであり、OMSE6
7は尻尾を制御するオブジェクトであり、OMoNET68は
動作制御オブジェクト間の排他制御及び姿勢情報管理を
行うオブジェクトであり、OMGsensor69はロボット装
置のボディの姿勢を検出するオブジェクトであり、OMBC
70はバッテリ情報を管理するオブジェクトであり、So
ccerDog71はサッカーにおける行動計画を行うオプジ
ェクトとなっている。また、これらのオプジェクトの接
続は図25乃至図27に示すように記述されている各オ
ブジェクト接合のためのコネクションファイルによって
実現される。なお、図25乃至図27に示すコネクショ
ンファイルは、紙面の都合上分割されたのであって、実
際は図25、図26、図27の順で連続して記述されて
いる。
ジェクト群におけるSoccerDogオブジェクト70を新規
に開発する場合(ソフトウェアの開発環境の場合)につ
いて説明する。以下のように処理がなされることによ
り、SoccerDogオブジェクト70が新規に開発される。
オプジェクトは全てすべてロボット装置1側に残してSo
ccerDogオブジェクト70のみをリモートシステム30
上に取り入れる。
gオブジェクトの代わりにゲートウェイオプジェクト
(図20に示すTCPゲートウェイオブジェクト48)
を置き、SoccerDogオブジェクトに接続すべきサービス
を全て当該ゲートウェイオブジェクトに接続する。一
方、リモートシステム30側では、既存のオブジエクト
の代わりにゲートウェイオブジェクト(図20に示すT
CPゲートウェイオブジェクト52)を導入してSoccer
Dogオブジェクトの全ての接続を当該ゲートウェイオブ
ジェクトに対して行う。
ト装置1側のゲートウェイオプジェクトをサーバとする
リモートシステム30側からは接続が随時可能になる。
よって、ロボット装置1側のシステムを予め立ち上げて
おき、SoccerDogオブジェクトのコンパイルが終わった
ら実行(起動)することでシステム全体を動作させるこ
とができる。これにより、リモートシステム30上にお
けるSoccerDogオブジェクトの開発が可能な環境が設定
される。すなわち、リモートシステム30(パーソナル
コンピュータ32)上のSoccerDogオブジェクトとロボ
ット装置1上のオブジェクトとのオブジェクト間通信が
構築される。
オブジェクトの開発は、例えばSoccerDogオブジェクト
に不具合があったらリモートシステム30側のSoccerDo
gオブジェクトを停止して再度修正をかけてコンパイル
して実行するといったようにして行う。例えば、Soccer
Dogオブジェクトの不具合とは、SoccerDogオブジェクト
により新たな動作(例えば、ボールを蹴る動作について
の新たな動作)を開発する場合に、その新たな動作をロ
ボット装置1が正常に実行できないような場合であり、
このような場合には、リモートシステム30にて、Socc
erDogオブジェクトを停止して修正をかけて再コンパイ
ルして実行しなおしたりする。
が終わったら、リモートシステム30上におけるSoccer
Dogオブジェクトのソースコードをターゲットシステム
の環境用(ロボット装置1用)にコンパイルしなおし
て、既存のオブジェクトとリンクしてロボット装置1用
の実行プログラムを作成してロボット装置1に導入す
る。ロボット装置1は、このように導入された実行プロ
グラムにより動作が制御される。
ワークシステムによりサッカードッグを実行するための
ロボットソフトウェアの開発がなされる。
装置1とが接続された状態において、リモートシステム
30上でソフトウェア(SoccerDogオブジェクト)の開
発がなされるので、ロボット装置1側のシステム全体を
立ち上げなおす必要がなく、SoccerDogオブジェクトに
修正をかける(加工する)ことができるようになる。こ
れにより、SoccerDogオブジェクトの開発を効率よく行
うことができるようになる。
ウンロードを要することなくソフトウェアの開発がなさ
れるので、効率よく開発を行うことができる。そして、
端末とされるリモートシステム30(パーソナルコンピ
ュータ32)では、従前のリモートシステム(パーソナ
ルコンピュータ32)として使用されているデバッガ
ー、プロファイラーなどの汎用プログラムを利用するこ
とができるので、資源を有効利用してソフトウェアを開
発することができる。
次にユーザサイドの使用例について、例えばユーザがパ
ーソナルコンピュータ等を介してロボット装置1と通信
してそのロボット装置1の内部状態を観測したり、或い
はロボット装置1に対して命令を送ったりして楽しみよ
うなプログラムを作る場合を説明する。
は、パーソナルコンピュータ側のブログラムを作成する
他に、ロボット装置1側の例えばロボット装置1の感情
を計算するモジュール(オブジェクト)に対してパーソ
ナルコンピュータ32に感情データを送信するようなコ
ードを付加したり、動作命令を受け取り実行するオブジ
ェクト(ロボット装置1側のオブジェクト)にパーソナ
ルコンピュータ32からのデータを受信するコードを付
加したりする必要がある。
ワークシステムでは、上述のように各ソフトウェアモジ
ュール(オブジェクト)がオブジェクト間通信のフレー
ムワークに基づいて動作されており、ネットワーク通信
を中継するゲートウェイオブジェクトを導入することが
できれば、コネクションファイルを書き換えて、既に存
在するロボット装置1の感情出力や動作命令受信サービ
スをゲートウェイオブジェクトに接続するだけで、パー
ソナルコンピュータ32とロボット装置1とのオブジェ
クト間でのオブジェクト間通信が構築され、各オブジェ
クトでの処理がなされるようになる。
込まれているプログラムを変更することなく、パーソナ
ルコンピュータ32上で新たにプログラムを開発するこ
とができるようになる。例えば、これにより、ユーザが
パーソナルコンピュータ32等を介してロボット装置1
と通信してそのロボット装置1の内部状態を観測したり
(オブジェクトの処理状態を外部出力したり)、ロボッ
ト装置1に対して命令を送ったりすることができ、ま
た、ロボット装置1に対して新機能を付け加えることが
できるようになる。
クを構築することにより次のような効果が得られる。
グラム(ソフトウェア)の開発者は、より利便性の高い
リモートシステム上で開発が可能になる。
ト装置1を動作させて開発が可能となるので、開発者
は、実環境とシミュレータ環境の違いに悩まされる必要
がなくなった。すなわち、実環境に真似たシミュレータ
環境の設定は困難であるが、開発者は、そのようなシミ
ュレータ環境の設定をすることなく、プログラムを開発
することができる。
ード、ロボット装置)のソースコードとリモートシステ
ムのソースコードは同じものが使われるためにシステム
変更に伴う導入作業(移植作業)は簡便となり、また、
ミスの混入も減らすことができる。
続をゲートウェイオブジェクトに対して行うだけで、既
存のロボットプログラムを変更することなく、ネットワ
ークを使った機能拡張が行えるようになる。
ートシステムのプログラムとの融合が容易とされ、リモ
ートシステム上でのプログラムの開発が可能になるため
に、ロボット装置1上の計算機資源では処理しきれない
ような処理も強力なリモートシステムの処理能力で実現
可能になる。これにより、より複雑なプログラムの開発
が可能になる。
ト装置は、上述の図1に示したような外観となされるこ
とに限定されるものではない。例えば、図28に示すよ
うに、ロボット装置1は、より動物に近いような外観形
状を有して構成することもできる。
器の情報処理プロセスに対してデータの送受信を行う情
報処理プロセスを有する第1の通信手段と、第2の電子
機器の情報処理プロセスに対してデータの送受信を行う
情報処理プロセスを有する第2の通信手段とを備える。
そして、第1の通信手段と第2の通信手段とが無線又は
有線により接続されたときに、第1の通信手段のデータ
の送受信を行う情報処理プロセスと第2の通信手段のデ
ータの送受信を行う情報処理プロセスとの間でプロセス
間通信を行うことにより、第1の電子機器の情報処理プ
ロセスと第2の電子機器の情報処理プロセスとの間でプ
ロセス間通信がなされることにより、第1の通信手段の
情報処理オブジェクトと第2の通信手段のオブジェクト
との間のプロセス間通信があたかも同一システム上にお
けるプロセス間通信のように振る舞うために、第1の電
子機器の情報処理プロセスと第2の電子機器の情報処理
プロセスとの間の通信は、同一システム上におけるプロ
セス間通信として取り扱うことができるようになる。
子機器の情報処理プロセスに対してデータの送受信を行
う情報処理プロセスを有する第1の通信手段と、第2の
電子機器の情報処理プロセスに対してデータの送受信を
行う情報処理プロセスを有する第2の通信手段とを無線
又は有線により接続して、第1の通信手段のデータの送
受信を行う情報処理プロセスと第2の通信手段のデータ
の送受信を行う情報処理プロセスとの間でプロセス間通
信を行うことにより、第1の電子機器の情報処理プロセ
スと第2の電子機器の情報処理プロセスとの間でプロセ
ス間通信を行うことにより、第1の通信手段の情報処理
オブジェクトと第2の通信手段のオブジェクトとの間の
プロセス間通信があたかも同一システム上におけるプロ
セス間通信のように振る舞うために、第1の電子機器の
情報処理プロセスと第2の電子機器の情報処理プロセス
との間の通信は、同一システム上におけるプロセス間通
信として取り扱うことができるようになる。
情報処理プロセスにより制御される電子機器と、電子機
器の制御に使用する情報処理プロセスが取り込まれて、
当該情報処理プロセスを取り扱う情報処理装置と、電子
機器と情報処理装置との間で無線又は有線により通信を
行う通信手段とを備えている。そして、情報処理装置
は、電子機器が動作されている際の当該電子器機の情報
の情報処理プロセスと取り込んだ情報処理プロセスとの
間で通信手段による通信を行い、電子機器の情報処理プ
ロセスから送信されてくるデータを使用し、取り込んだ
情報処理プロセスを取り扱うことにより、情報処理装置
は、実環境にある電子機器が考慮された情報処理プロセ
スを取り扱う(例えば加工する)ことがきるようにな
る。
は、情報処理プロセスにより制御される電子機器が動作
されている際の当該電子器機の情報処理プロセスと情報
処理装置上の情報処理プロセスとの間で無線又は有線の
通信手段による通信を行い、情報処理装置にて、電子機
器の情報処理プロセスから送信されてくるデータを使用
し、電子機器に使用する情報処理プロセスを作成するプ
ログラム作成工程と、プログラム作成工程にて作成した
情報処理プロセスを電子機器に組み込むプログラム組み
込み工程とを有することにより、情報処理装置は、実環
境にある電子機器が考慮して情報処理プロセスを作成
し、電子機器は、そのような実環境が考慮された作成さ
れた情報処理プロセスが組み込まれ、当該情報処理プロ
セスに基づいて動作するようになる。実環境が考慮され
て情報処理プロセスが作成されているので、電子機器は
何ら不具合なく動作する。
を示す斜視図である。
である。
図である。
ある。
ートである。
バーチャルロボット、デザインロボットの動作を示すタ
イムチャートである。
ェクトマネージャ、バーチャルロボット、デザインロボ
ットの動作を示すタイムチャートである。
線図である。
ジェクトとの関係を示す略線図である。
ブジェクトとの関係を示す略線図である。
ジェクトの関係を示す略線図である。
クトマネージャの動作を示すタイムチャートである。
チャートである。
るシーケンスを示すタイムチャートである。
示すブロック図である。
るロボット装置とリモートシステムの要部の構成を示す
ブロック図である。
る。
ある。
オブジェクト群を示す図である。
erDogオブジェクトを含めたオブジェクト群を示すブロ
ック図である。
ある。
ある。
ある。
る。
ットワークアダプタ、32 パーソナルコンピュータ、
41 無線LAN用PCカード、48,52TCPゲー
トウェイ
Claims (36)
- 【請求項1】 第1の電子機器の情報処理プロセスに対
してデータの送受信を行う情報処理プロセスを有する第
1の通信手段と、 第2の電子機器の情報処理プロセスに対してデータの送
受信を行う情報処理プロセスを有する第2の通信手段と
を備え、 上記第1の通信手段と上記第2の通信手段とが無線又は
有線により接続されたときに、当該第1の通信手段の上
記データの送受信を行う情報処理プロセスと当該第2の
通信手段の上記データの送受信を行う情報処理プロセス
との間でプロセス間通信を行うことにより、上記第1の
電子機器の情報処理プロセスと上記第2の電子機器の情
報処理プロセスとの間でプロセス間通信がなされること
を特徴とする通信装置。 - 【請求項2】 上記情報処理プロセスがオブジェクト指
向により作成されたプログラムからなることを特徴とす
る請求項1記載の通信装置。 - 【請求項3】 上記第1の電子機器が情報処理プロセス
により動作が制御されるロボット装置であり、上記第2
の電子機器が情報処理装置であることを特徴とする請求
項1記載の通信装置。 - 【請求項4】 上記第1の通信手段の上記データの送受
信を行う情報処理プロセスと上記第2の通信手段の上記
データの送受信を行う情報処理プロセスとの間のプロセ
ス間通信にてネットワーク通信へのプロトコル変換をす
ることにより、上記第1の電子機器の情報処理プロセス
と上記第2の電子機器の情報処理プロセスとの間でプロ
セス間通信がなされることを特徴とする請求項1記載の
通信装置。 - 【請求項5】 上記ネットワーク通信へのプロトコル変
換によりTCP/IP(Transmission Control Protoco
l/Internet Protocol)への変換がなされることを特徴
とする請求項4記載の通信装置。 - 【請求項6】 上記第1及び第2の通信手段の上記デー
タの送受信を行う情報処理プロセスは、通信方式の設定
が記述される設定ファイルを有し、この設定ファイルの
記述事項に基づいて、上記第1の通信手段の上記データ
の送受信を行う情報処理プロセスと上記第2の通信手段
の上記データの送受信を行う情報処理プロセスとの間で
プロセス間通信を行うことを特徴とする請求項1記載の
通信装置。 - 【請求項7】 上記設定ファイルには、上記第1の電子
機器の情報処理プロセスと上記第2の電子機器の情報処
理プロセスとの間のプロセス間通信のサービス名が記述
されており、 上記第1及び第2の通信手段の上記データの送受信を行
う情報処理プロセスが上記設定ファイルに記述されてい
るサービス名に基づいて上記第1の通信手段の上記デー
タの送受信を行う情報処理プロセスと上記第2の通信手
段の上記データの送受信を行う情報処理プロセスとの間
でプロセス間通信を行うことにより、上記第1の電子機
器の情報処理プロセスと上記第2の電子機器の情報処理
プロセスとの間で上記サービス名に対応されるプロセス
間通信がなされることを特徴とする請求項6記載の通信
装置。 - 【請求項8】 上記設定ファイルには、上記第1の通信
手段の上記データの送受信を行う情報処理プロセスと上
記第2の通信手段の上記データの送受信を行う情報処理
プロセスとの接続の対応事項が記述されており、 上記第1の通信手段の上記データの送受信を行う情報処
理プロセスと第2の通信手段の上記データの送受信を行
う情報処理プロセスとは、上記設定ファイルに記述され
ている上記接続の対応事項に基づいて、プロセス間通信
が可能な状態に接続されることを特徴とする請求項6記
載の通信装置。 - 【請求項9】 第1の電子機器の情報処理プロセスに対
してデータの送受信を行う情報処理プロセスを有する第
1の通信手段と、第2の電子機器の情報処理プロセスに
対してデータの送受信を行う情報処理プロセスを有する
第2の通信手段とを無線又は有線により接続して、当該
第1の通信手段の上記データの送受信を行う情報処理プ
ロセスと当該第2の通信手段の上記データの送受信を行
う情報処理プロセスとの間でプロセス間通信を行うこと
により、上記第1の電子機器の情報処理プロセスと上記
第2の電子機器の情報処理プロセスとの間でプロセス間
通信を行うことを特徴とする通信方法。 - 【請求項10】 情報処理プロセスにより制御される電
子機器と、 上記電子機器の制御に使用する上記情報処理プロセスが
取り込まれて、当該情報処理プロセスを取り扱う情報処
理装置と、 上記電子機器と上記情報処理装置との間で無線又は有線
により通信を行う通信手段とを備え、 上記情報処理装置は、上記電子機器が動作されている際
の当該電子器機の情報の情報処理プロセスと上記取り込
んだ情報処理プロセスとの間で上記通信手段による通信
を行い、上記電子機器の情報処理プロセスから送信され
てくるデータを使用し、上記取り込んだ情報処理プロセ
スを取り扱うことを特徴とする情報処理システム。 - 【請求項11】 上記情報処理プロセスがオブジェクト
指向により作成されたプログラムからなることを特徴と
する請求項10記載の情報処理システム。 - 【請求項12】 上記情報処理装置は、上記情報処理プ
ロセスを取り扱うこととして、当該情報処理プロセスを
加工することを特徴とする請求項10記載の情報処理シ
ステム。 - 【請求項13】 上記情報処理装置は、上記情報処理プ
ロセスを取り扱うこととして、当該情報処理プロセスに
よる処理状態を外部出力することを特徴とする請求項1
0記載の情報処理システム。 - 【請求項14】 上記通信手段は、電子機器の情報処理
プロセスに対してデータの送受信を行う情報処理プロセ
スを有する第1の通信手段と、上記情報処理装置の情報
処理プロセスに対してデータの送受信を行う情報処理プ
ロセスを有する第2の通信手段とを備え、 上記第1の通信手段と上記第2の通信手段とが無線又は
有線により接続されたときに、当該第1の通信手段の上
記データの送受信を行う情報処理プロセスと当該第2の
通信手段の上記データの送受信を行う情報処理プロセス
との間でプロセス間通信を行うことにより、上記電子機
器の情報処理プロセスと上記情報処理装置の情報処理プ
ロセスとの間でプロセス間通信がなされることを特徴と
する請求項10記載の情報処理システム。 - 【請求項15】 上記第1の通信手段の上記データの送
受信を行う情報処理プロセスと上記第2の通信手段の上
記データの送受信を行う情報処理プロセスとの間のプロ
セス間通信にてネットワーク通信へのプロトコル変換を
することにより、上記電子機器の情報処理プロセスと上
記情報処理装置の情報処理プロセスとの間でプロセス間
通信がなされることを特徴とする請求項14記載の情報
処理システム。 - 【請求項16】 上記ネットワーク通信へのプロトコル
変換によりTCP/IP(Transmission Control Proto
col/Internet Protocol)への変換がなされることを特
徴とする請求項15記載の情報処理システム。 - 【請求項17】 上記第1及び第2の通信手段の上記デ
ータの送受信を行う情報処理プロセスは、通信方式の設
定が記述される設定ファイルを有し、この設定ファイル
の記述事項に基づいて、上記第1の通信手段の上記デー
タの送受信を行う情報処理プロセスと上記第2の通信手
段の上記データの送受信を行う情報処理プロセスとの間
でプロセス間通信を行うことを特徴とする請求項14記
載の情報処理システム。 - 【請求項18】 上記設定ファイルには、上記電子機器
の情報処理プロセスと上記情報処理装置の情報処理プロ
セスとの間のプロセス間通信のサービス名が記述されて
おり、 上記第1及び第2の通信手段の上記データの送受信を行
う情報処理プロセスが上記設定ファイルに記述されてい
るサービス名に基づいて上記第1の通信手段の上記デー
タの送受信を行う情報処理プロセスと上記第2の通信手
段の上記データの送受信を行う情報処理プロセスとの間
でプロセス間通信を行うことにより、上記電子機器の情
報処理プロセスと上記情報処理装置の情報処理プロセス
との間で上記サービス名に対応されるプロセス間通信が
なされることを特徴とする請求項17記載の情報処理シ
ステム。 - 【請求項19】 上記設定ファイルには、上記第1の通
信手段の上記データの送受信を行う情報処理プロセスと
上記第2の通信手段の上記データの送受信を行う情報処
理プロセスとの接続の対応事項が記述されており、 上記第1の通信手段の上記データの送受信を行う情報処
理プロセスと第2の通信手段の上記データの送受信を行
う情報処理プロセスとは、上記設定ファイルに記述され
ている上記接続の対応事項に基づいて、プロセス間通信
が可能な状態に接続されることを特徴とする請求項17
記載の情報処理システム。 - 【請求項20】 情報処理プロセスにより制御される電
子機器が動作されている際の当該電子器機の情報処理プ
ロセスと情報処理装置上の情報処理プロセスとの間で無
線又は有線の通信手段による通信を行い、上記情報処理
装置にて、上記電子機器の情報処理プロセスから送信さ
れてくるデータを使用し、上記電子機器に使用する情報
処理プロセスを作成するプログラム作成工程と、 上記プログラム作成工程にて作成した上記情報処理プロ
セスを上記電子機器に組み込むプログラム組み込み工程
とを有することを特徴とするプログラム作成方法。 - 【請求項21】 上記情報処理プロセスがオブジェクト
指向により作成されたプログラムからなることを特徴と
する請求項20記載のプログラム作成方法。 - 【請求項22】 上記電子機器の情報処理プロセスに対
してデータの送受信を行う情報処理プロセスを有する第
1の通信手段と、上記情報処理装置の情報処理プロセス
に対してデータの送受信を行う情報処理プロセスを有す
る第2の通信手段とを無線又は有線により接続して、当
該第1の通信手段の上記データの送受信を行う情報処理
プロセスと当該第2の通信手段の上記データの送受信を
行う情報処理プロセスとの間でプロセス間通信を行うこ
とにより、上記電子機器の情報処理プロセスと上記情報
処理装置の情報処理プロセスとの間でプロセス間通信を
行うことを特徴とする請求項20記載のプログラム作成
方法。 - 【請求項23】 上記第1の通信手段の上記データの送
受信を行う情報処理プロセスと上記第2の通信手段の上
記データの送受信を行う情報処理プロセスとの間でプロ
セス間通信にてネットワーク通信へのプロトコル変換を
することにより、上記電子機器の情報処理プロセスと上
記情報処理装置の情報処理プロセスとの間でプロセス間
通信がなされることを特徴とする請求項22記載のプロ
グラム作成方法。 - 【請求項24】 上記ネットワーク通信へのプロトコル
変換によりTCP/IP(Transmission Control Proto
col/Internet Protocol)への変換がなされることを特
徴とする請求項23記載のプログラム作成方法。 - 【請求項25】 上記第1及び第2の通信手段の上記デ
ータの送受信を行う情報処理プロセスは、通信方式の設
定が記述される設定ファイルを有し、この設定ファイル
の記述事項に基づいて、上記第1の通信手段の上記デー
タの送受信を行う情報処理プロセスと上記第2の通信手
段の上記データの送受信を行う情報処理プロセスとの間
でプロセス間通信を行うことを特徴とする請求項22記
載のプログラム作成方法。 - 【請求項26】 上記設定ファイルには、上記電子機器
の情報処理プロセスと上記情報処理装置の情報処理プロ
セスとの間のプロセス間通信のサービス名が記述されて
おり、 上記第1及び第2の通信手段の上記データの送受信を行
う情報処理プロセスが上記設定ファイルに記述されてい
るサービス名に基づいて上記第1の通信手段の上記デー
タの送受信を行う情報処理プロセスと上記第2の通信手
段の上記データの送受信を行う情報処理プロセスとの間
でプロセス間通信を行うことにより、上記電子機器の情
報処理プロセスと上記情報処理装置の情報処理プロセス
との間で上記サービス名に対応されるプロセス間通信が
なされることを特徴とする請求項25記載のプログラム
作成方法。 - 【請求項27】 上記設定ファイルには、上記第1の通
信手段の上記データの送受信を行う情報処理プロセスと
上記第2の通信手段の上記データの送受信を行う情報処
理プロセスとの接続の対応事項が記述されており、 上記第1の通信手段の上記データの送受信を行う情報処
理プロセスと第2の通信手段の上記データの送受信を行
う情報処理プロセスとは、上記設定ファイルに記述され
ている上記接続の対応事項に基づいて、プロセス間通信
が可能な状態に接続されることを特徴とする請求項25
記載のプログラム作成方法。 - 【請求項28】 動作制御プログラムがオブジェクト間
通信で構築されたロボット装置と、オブジェクト間通信
で構築されたコンピュータシステムとが有線又は無線を
経由してデータ通信を行うネットワークシステムにおい
て、 上記オブジェクト間通信と、上記ロボット装置と上記コ
ンピュータシステムとの間でのネットワーク通信におけ
るプロトコル変換を動的に行うゲートウェイオブジェク
トを有することを特徴とするネットワークシステム。 - 【請求項29】 上記ゲートウェイオブジェクトは、上
記オブジェクト間通信で定義される通信のサービス名と
上記ネットワーク通信で用いられるアドレスとポート番
号の対応を取ることを特徴とする請求項28記載のネッ
トワークシステム。 - 【請求項30】 上記ネットワーク通信のプロトコル変
換によりTCP/IP(Transmission Control Protoco
l/Internet Protocol)への変換がなされることを特徴
とする請求項28記載のネットワークシステム。 - 【請求項31】 オブジェクト間通信を有して構築され
たロボット装置と、オブジェクト間通信を有して構築さ
れたコンピュータシステムとが有線又は無線を経由して
データ通信を行う通信方法において、 上記オブジェクト間通信と、上記ロボット装置と上記コ
ンピュータシステムとの間でのネットワーク通信におけ
るプロトコル変換を行うことを特徴とする通信方法。 - 【請求項32】 上記プロトコル変換は、ゲートウェイ
オブジェクトにより行われ、上記ゲートウェイオブジェ
クトは、上記オブジェクト間通信で定義される通信のサ
ービス名と上記ネットワーク通信で用いられるアドレス
とポート番号の対応を取ることを特徴とする請求項31
記載の通信方法。 - 【請求項33】 上記ネットワーク通信のプロトコル変
換によりTCP/IP(Transmission Control Protoco
l/Internet Protocol)への変換がなされることを特徴
とする請求項31記載の通信方法。 - 【請求項34】 動作制御プログラムがオブジェクト間
通信で構築されたロボット装置であって、オブジェクト
間通信で構築されたコンピュータシステムとの間で有線
又は無線を経由してデータ通信を行うロボット装置にお
いて、 上記オブジェクト間通信と、上記コンピュータシステム
との間でのネットワーク通信におけるプロトコル変換を
動的に行うゲートウェイオブジェクトを有することを特
徴とするロボット装置。 - 【請求項35】 上記ゲートウェイオブジェクトは、上
記オブジェクト間通信で定義される通信のサービス名と
上記ネットワーク通信で用いられるアドレスとポート番
号の対応を取ることを特徴とする請求項34記載のロボ
ット装置。 - 【請求項36】 上記ネットワーク通信のプロトコル変
換によりTCP/IP(Transmission Control Protoco
l/Internet Protocol)への変換がなされることを特徴
とする請求項34記載のロボット装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001258429A JP2002189608A (ja) | 2000-08-28 | 2001-08-28 | 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000-258039 | 2000-08-28 | ||
| JP2000258039 | 2000-08-28 | ||
| JP2001258429A JP2002189608A (ja) | 2000-08-28 | 2001-08-28 | 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002189608A true JP2002189608A (ja) | 2002-07-05 |
| JP2002189608A5 JP2002189608A5 (ja) | 2008-10-09 |
Family
ID=26598632
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001258429A Pending JP2002189608A (ja) | 2000-08-28 | 2001-08-28 | 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2002189608A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006176031A (ja) * | 2004-12-24 | 2006-07-06 | Tokyo Univ Of Agriculture | 四輪車両の接地機構、四輪車両、四足の接地機構、構造体 |
| JP2010040046A (ja) * | 2008-07-31 | 2010-02-18 | Robert Bosch Gmbh | 機械のエネルギー消費を削減するための装置及び方法 |
| JP2017520415A (ja) * | 2014-06-03 | 2017-07-27 | アルティミンズ ロボティクス ゲーエムベーハー | ロボットをプログラムする方法およびシステム |
| JP2021514515A (ja) * | 2018-02-20 | 2021-06-10 | ユニヴェルシテ・ドゥ・ランス・シャンパーニュ−アルデンヌ | ロボットを相互接続する方法 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0538689A (ja) * | 1991-07-29 | 1993-02-19 | Toshiba Corp | 多関節ロボツトの分散制御システム |
| JPH0713776A (ja) * | 1993-06-14 | 1995-01-17 | Internatl Business Mach Corp <Ibm> | 代理オブジェクトを用いた通信方法および装置並びにデータ処理システム |
| JPH08212180A (ja) * | 1995-02-08 | 1996-08-20 | Oki Electric Ind Co Ltd | プロセス間通信処理装置 |
| JPH10240504A (ja) * | 1997-02-28 | 1998-09-11 | Digital Electron Corp | 通信プログラムの作成方法 |
| JPH10320322A (ja) * | 1997-05-07 | 1998-12-04 | Internatl Business Mach Corp <Ibm> | 通信方法、通信装置、プロトコル・インターセプタおよびコンピュータ可読記憶媒体 |
| JPH11312088A (ja) * | 1998-03-06 | 1999-11-09 | Internatl Business Mach Corp <Ibm> | プログラムの配布方法およびシステム |
| JP2000148698A (ja) * | 1998-11-11 | 2000-05-30 | Hitachi Ltd | 分散オブジェクトセキュリティシステム |
-
2001
- 2001-08-28 JP JP2001258429A patent/JP2002189608A/ja active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0538689A (ja) * | 1991-07-29 | 1993-02-19 | Toshiba Corp | 多関節ロボツトの分散制御システム |
| JPH0713776A (ja) * | 1993-06-14 | 1995-01-17 | Internatl Business Mach Corp <Ibm> | 代理オブジェクトを用いた通信方法および装置並びにデータ処理システム |
| JPH08212180A (ja) * | 1995-02-08 | 1996-08-20 | Oki Electric Ind Co Ltd | プロセス間通信処理装置 |
| JPH10240504A (ja) * | 1997-02-28 | 1998-09-11 | Digital Electron Corp | 通信プログラムの作成方法 |
| JPH10320322A (ja) * | 1997-05-07 | 1998-12-04 | Internatl Business Mach Corp <Ibm> | 通信方法、通信装置、プロトコル・インターセプタおよびコンピュータ可読記憶媒体 |
| JPH11312088A (ja) * | 1998-03-06 | 1999-11-09 | Internatl Business Mach Corp <Ibm> | プログラムの配布方法およびシステム |
| JP2000148698A (ja) * | 1998-11-11 | 2000-05-30 | Hitachi Ltd | 分散オブジェクトセキュリティシステム |
Non-Patent Citations (2)
| Title |
|---|
| NULL: "/etcのファイル群(2)", UNIX MAGAZINE, vol. 第13巻,第8号, JPN6010039981, 1 August 1998 (1998-08-01), JP, pages 116 - 126, ISSN: 0001672666 * |
| 赤松徹: "Linux Network Tips! アクセス制限とネットワークの基礎", LINUX JAPAN, vol. 第3巻,第5号, JPN6010039983, 1 May 2000 (2000-05-01), JP, pages 101 - 106, ISSN: 0001672667 * |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006176031A (ja) * | 2004-12-24 | 2006-07-06 | Tokyo Univ Of Agriculture | 四輪車両の接地機構、四輪車両、四足の接地機構、構造体 |
| JP2010040046A (ja) * | 2008-07-31 | 2010-02-18 | Robert Bosch Gmbh | 機械のエネルギー消費を削減するための装置及び方法 |
| US8362655B2 (en) | 2008-07-31 | 2013-01-29 | Robert Bosch Gmbh | Apparatus and method for reducing the energy consumption of a machine or system |
| JP2017520415A (ja) * | 2014-06-03 | 2017-07-27 | アルティミンズ ロボティクス ゲーエムベーハー | ロボットをプログラムする方法およびシステム |
| US10279476B2 (en) | 2014-06-03 | 2019-05-07 | ArtiMinds Robotics GmbH | Method and system for programming a robot |
| JP2021514515A (ja) * | 2018-02-20 | 2021-06-10 | ユニヴェルシテ・ドゥ・ランス・シャンパーニュ−アルデンヌ | ロボットを相互接続する方法 |
| JP7266048B2 (ja) | 2018-02-20 | 2023-04-27 | ユニヴェルシテ・ドゥ・ランス・シャンパーニュ-アルデンヌ | ロボットを相互接続する方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7388879B2 (en) | Communication device and communication method network system and robot apparatus | |
| JP3424631B2 (ja) | ロボット装置及びソフトウエアの更新方法 | |
| US6505097B1 (en) | Arithmetic processing device, inter-object communication method, and robot | |
| US6470235B2 (en) | Authoring system and method, and storage medium used therewith | |
| US6011920A (en) | Method and apparatus for debugging applications on a personality neutral debugger | |
| Vaughan et al. | Reusable robot software and the player/stage project | |
| JP4577422B2 (ja) | 情報処理システム及び情報処理方法、ロボットの制御システム及び制御方法、並びコンピュータ・プログラム | |
| CN109159125B (zh) | 基于ros系统机器人的云服务系统 | |
| CN110524543A (zh) | 一种基于操控一体的工业机器人控制装置及系统 | |
| CN113360440B (zh) | 处理器通信控制方法及相关产品 | |
| WO1998041952A1 (en) | Image generating device and information storing medium | |
| JP2002189608A (ja) | 通信装置及び通信方法、情報処理システム、プログラム作成方法、ネットワークシステム、並びにロボット装置 | |
| CN105607940A (zh) | 一种arm平台中bdk向uefi bios传递信息的方法 | |
| US7228201B2 (en) | Information processing device, information processing method, and robot apparatus | |
| Le Xuan et al. | Cardin: An agile environment for edge computing on reconfigurable sensor networks | |
| JP2003233502A (ja) | 演算処理装置及びオブジェクト間通信の管理方法 | |
| Rigano et al. | A mixed real-time robot hardware abstraction layer (r-hal) | |
| Cox et al. | Real‐Time Software for Robotics | |
| Garcia-Espallargas et al. | Distributed agents control system, a framework for programming distributed agents | |
| CN121722277A (zh) | 一种机器人可视化交互控制方法及装置、设备、存储介质 | |
| CN119420754A (zh) | 一种云边协同云仪器架构、实现方法和边缘网关 | |
| CN121879777A (zh) | 一种欧拉操作系统与FreeRTOS操作系统的混合部署系统 | |
| CN121785945A (zh) | 嵌入式软件全数字化激励部署建模方法及系统 | |
| CN116652906A (zh) | 一种控制多台机器人的方法、示教器及装置 | |
| CN121764815A (zh) | 一种基于片上系统的嵌入式软件全数字化部署建模方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080827 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080827 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100413 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100427 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100621 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100713 |