JP2002189608A - Communication device and communicating method, information processing system, programming method, network system, and robot device - Google Patents

Communication device and communicating method, information processing system, programming method, network system, and robot device

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
Application number
JP2001258429A
Other languages
Japanese (ja)
Other versions
JP2002189608A5 (en
Inventor
Kotaro Sabe
浩太郎 佐部
Kenta Kawamoto
献太 河本
Gabriel Costa
コスタ ガブリエル
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
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001258429A priority Critical patent/JP2002189608A/en
Publication of JP2002189608A publication Critical patent/JP2002189608A/en
Publication of JP2002189608A5 publication Critical patent/JP2002189608A5/ja
Pending legal-status Critical Current

Links

Landscapes

  • Toys (AREA)
  • Manipulator (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To facilitate programming. SOLUTION: A gateway object 48 for transmitting/receiving data to/from the object of a robot device 1 is allocated to a PC card 41 for wireless LAN of the robot device 1 while a gateway object 52 for transmitting/receiving data to/from an object on a personal computer 32 is allocated to a network adaptor 31 of a remote system 30. When the PC card 41 and the network adaptor 31 are connected to each other by wireless or by wire, inter-object communication is performed between the object of the robot device 1 and the object of the personal computer 32 by performing inter-object communication between the gateway object 48 of the PC card 41 for wireless LAN and the gateway object 52 of the network adaptor 31.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、電子機器間で通信
を行うための通信装置及び通信方法、情報処理を行う情
報処理システム、プログラムを作成するためのプログラ
ム作成方法、ネットワークシステム、並びにロボット装
置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a communication device and a communication method for performing communication between electronic devices, an information processing system for performing information processing, a program creation method for creating a program, a network system, and a robot device. About.

【0002】[0002]

【従来の技術】近年、動物のように行動するペット型の
ロボット装置が提案されている。例えば、ロボット装置
は、複数のプロセス間にてプロセス間通信を行うプログ
ラム等によってその行動が規定されている。
2. Description of the Related Art In recent years, a pet-type robot device that behaves like an animal has been proposed. For example, the behavior of the robot device is defined by a program or the like for performing inter-process communication between a plurality of processes.

【0003】[0003]

【発明が解決しようとする課題】ところで、ロボット装
置のような複雑な処理をリアルタイムで行う組み込み機
器において、ターゲットボード上で動作するソフトウェ
アの開発には大変手間がかかる。その理由として、以下
のようなことが挙げられる。
By the way, in an embedded device such as a robot device that performs complicated processing in real time, it takes a lot of time to develop software that operates on a target board. The reasons are as follows.

【0004】(1) ターゲットボード上で動作するプログ
ラムの状態を監視する手段が乏しい。
(1) There are few means for monitoring the state of a program operating on a target board.

【0005】(2) 通常はターゲットボード上には内部状
態を表示するようなデバイスはついていないため、なん
らかの方法でリモートマシンと通信をして内部の情報を
送り、リモートマシンのコンソールで確認をする手法が
とられる。また、このような場合、ターゲットボード上
のプログラムに通信用のコードを埋め込む必要がある。
(2) Normally, there is no device for displaying the internal state on the target board, so that it communicates with the remote machine by some method, sends the internal information, and confirms it on the console of the remote machine. An approach is taken. In such a case, it is necessary to embed a communication code in a program on the target board.

【0006】(3) さらに、通信手法が一般化されていな
いような場合には、ユーザがデバッグしたいプログラム
毎に通信用のコード作成しなければならない。このよう
な手法には、最も単純なものがソースコード中にprint
分を挿入してシリアル通信を用いてターミナルで確認す
る手法がある。この手法は、いわゆるprint文デバッグ
といわれるものであり、多くのシステムにおいて未だこ
の原始的な手法が使われている。
(3) Further, when the communication technique is not generalized, the user must create a communication code for each program to be debugged. The simplest of these techniques is printed in the source code.
There is a method of inserting a minute and confirming it at a terminal using serial communication. This technique is called print statement debugging, and many systems still use this primitive technique.

【0007】(4) 多くのリアルタイムOSでは、ユーザ
のリアルタイムタスクはカーネル空間で実行されるため
にそのタスクの不正な処理のためにシステムが破壊され
てしまう。しかし、そのような破壊の原因を調べようと
しても、システムが破壊されるために原因を知ることは
できない。また、print文デバッグを行っているとコン
パイルしなおすことで、コードの配置が変わりバグの挙
動が変化する可能性があり原因はますますわかりにくい
ものとなる。
(4) In many real-time OSs, since a real-time task of a user is executed in a kernel space, the system is destroyed due to illegal processing of the task. However, even if an attempt is made to investigate the cause of such a failure, the cause cannot be known because the system is destroyed. In addition, recompiling when debugging print statements can change the arrangement of code and change the behavior of bugs, making the cause more difficult to understand.

【0008】(5) ユーザのリアルタイムタスクはカーネ
ル空間にリンクされるために、ユーザプログラムの変更
は、システム全体の再リンク、再実行になる。例えば、
print文を1行を入れただけでも全てやり直すことにな
る。これでは非効率的である。
(5) Since the user's real-time task is linked to the kernel space, a change in the user program results in relinking and re-execution of the entire system. For example,
Even if you put one line in the print statement, you will have to redo all. This is inefficient.

【0009】そこで、本発明は、上述の実情に鑑みてな
されたものであり、ソフトウェア(プロセス)部品間の
変更を容易にする通信装置及び通信方法、情報処理シス
テム、プログラム作成方法、ネットワークシステム、並
びにロボット装置を提供することを目的としている。
Therefore, the present invention has been made in view of the above-mentioned circumstances, and a communication apparatus and a communication method for easily changing between software (process) components, an information processing system, a program creation method, a network system, It is another object of the present invention to provide a robot device.

【0010】[0010]

【課題を解決するための手段】本発明に係る通信装置
は、上述の課題を解決するために、第1の電子機器の情
報処理プロセスに対してデータの送受信を行う情報処理
プロセスを有する第1の通信手段と、第2の電子機器の
情報処理プロセスに対してデータの送受信を行う情報処
理プロセスを有する第2の通信手段とを備える。そし
て、第1の通信手段と第2の通信手段とが無線又は有線
により接続されたときに、第1の通信手段のデータの送
受信を行う情報処理プロセスと第2の通信手段のデータ
の送受信を行う情報処理プロセスとの間でプロセス間通
信を行うことにより、第1の電子機器の情報処理プロセ
スと第2の電子機器の情報処理プロセスとの間でプロセ
ス間通信がなされる。
In order to solve the above-mentioned problems, a communication apparatus according to the present invention has a first information processing process for transmitting and receiving data to and from an information processing process of a first electronic device. Communication means, and a second communication means having an information processing process for transmitting and receiving data to and from the information processing process of the second electronic device. Then, when the first communication unit and the second communication unit are connected wirelessly or by wire, an information processing process for transmitting / receiving data of the first communication unit and data transmission / reception of the second communication unit are performed. By performing inter-process communication with the information processing process to be performed, inter-process communication is performed between the information processing process of the first electronic device and the information processing process of the second electronic device.

【0011】このような構成を備えた通信装置により、
第1の通信手段の情報処理オブジェクトと第2の通信手
段のオブジェクトとの間のプロセス間通信があたかも同
一システム上におけるプロセス間通信のように振る舞う
ために、第1の電子機器の情報処理プロセスと第2の電
子機器の情報処理プロセスとの間の通信は、同一システ
ム上におけるプロセス間通信として取り扱われる。
[0011] With the communication device having such a configuration,
In order for the inter-process communication between the information processing object of the first communication means and the object of the second communication means to behave like inter-process communication on the same system, Communication with the information processing process of the second electronic device is handled as inter-process communication on the same system.

【0012】また、本発明に係る通信方法は、上述の課
題を解決するために、第1の電子機器の情報処理プロセ
スに対してデータの送受信を行う情報処理プロセスを有
する第1の通信手段と、第2の電子機器の情報処理プロ
セスに対してデータの送受信を行う情報処理プロセスを
有する第2の通信手段とを無線又は有線により接続し
て、第1の通信手段のデータの送受信を行う情報処理プ
ロセスと第2の通信手段のデータの送受信を行う情報処
理プロセスとの間でプロセス間通信を行うことにより、
第1の電子機器の情報処理プロセスと第2の電子機器の
情報処理プロセスとの間でプロセス間通信を行う。
According to another aspect of the present invention, there is provided a communication method comprising: a first communication unit having an information processing process for transmitting / receiving data to / from an information processing process of a first electronic device; Information for transmitting / receiving data of the first communication unit by connecting wirelessly or wiredly to a second communication unit having an information processing process of transmitting / receiving data to / from an information processing process of the second electronic device By performing inter-process communication between the processing process and the information processing process for transmitting and receiving data of the second communication unit,
Inter-process communication is performed between the information processing process of the first electronic device and the information processing process of the second electronic device.

【0013】このような通信方法により、第1の通信手
段の情報処理オブジェクトと第2の通信手段のオブジェ
クトとの間のプロセス間通信があたかも同一システム上
におけるプロセス間通信のように振る舞うために、第1
の電子機器の情報処理プロセスと第2の電子機器の情報
処理プロセスとの間の通信は、同一システム上における
プロセス間通信として取り扱われる。
According to such a communication method, the inter-process communication between the information processing object of the first communication means and the object of the second communication means behaves as if it were an inter-process communication on the same system. First
The communication between the information processing process of the electronic device and the information processing process of the second electronic device is treated as inter-process communication on the same system.

【0014】また、本発明に係る情報処理システムは、
上述の課題を解決するために、情報処理プロセスにより
制御される電子機器と、電子機器の制御に使用する情報
処理プロセスが取り込まれて、当該情報処理プロセスを
取り扱う情報処理装置と、電子機器と情報処理装置との
間で無線又は有線により通信を行う通信手段とを備えて
おいる。そして、情報処理装置は、電子機器が動作され
ている際の当該電子器機の情報の情報処理プロセスと取
り込んだ情報処理プロセスとの間で通信手段による通信
を行い、電子機器の情報処理プロセスから送信されてく
るデータを使用し、取り込んだ情報処理プロセスを取り
扱う。
Further, the information processing system according to the present invention comprises:
In order to solve the above-described problems, an electronic device controlled by an information processing process, an information processing process used to control the electronic device are fetched, and an information processing apparatus that handles the information processing process; Communication means for performing wireless or wired communication with the processing device. Then, the information processing device performs communication by a communication unit between the information processing process of the information of the electronic device and the captured information processing process when the electronic device is operated, and transmits from the information processing process of the electronic device. It handles the information processing processes that are captured using the incoming data.

【0015】この情報処理システムにより、情報処理装
置は、実環境にある電子機器が考慮された情報処理プロ
セスを取り扱う。
With this information processing system, the information processing apparatus handles an information processing process in which electronic devices in a real environment are considered.

【0016】また、本発明に係るプログラム作成方法
は、上述の課題を解決するために、情報処理プロセスに
より制御される電子機器が動作されている際の当該電子
器機の情報処理プロセスと情報処理装置上の情報処理プ
ロセスとの間で無線又は有線の通信手段による通信を行
い、情報処理装置にて、電子機器の情報処理プロセスか
ら送信されてくるデータを使用し、電子機器に使用する
情報処理プロセスを作成するプログラム作成工程と、プ
ログラム作成工程にて作成した情報処理プロセスを電子
機器に組み込むプログラム組み込み工程とを有する。
According to another aspect of the present invention, there is provided a program creating method for processing an electronic device controlled by an information processing process when the electronic device is operated. An information processing process for performing communication with the above information processing process by using wireless or wired communication means, using data transmitted from the information processing process of the electronic device in the information processing apparatus, and using the data for the electronic device. And a program incorporation step of incorporating the information processing process created in the program creation step into the electronic device.

【0017】このようなプログラム作成方法により、情
報処理装置は、実環境にある電子機器が考慮して情報処
理プロセスを作成し、電子機器は、そのような実環境が
考慮されて作成された情報処理プロセスが組み込まれ、
当該情報処理プロセスに基づいて動作する。
According to such a program creating method, the information processing apparatus creates an information processing process in consideration of an electronic device in a real environment, and the electronic device creates information processing in consideration of such a real environment. Processing process is incorporated,
It operates based on the information processing process.

【0018】さらに、本発明に係るネットワークシステ
ムは、上述の課題を解決するために、動作制御プログラ
ムがオブジェクト間通信で構築されたロボット装置と、
オブジェクト間通信で構築されたコンピュータシステム
とが有線又は無線を経由してデータ通信を行うネットワ
ークシステムにおいて、上記オブジェクト間通信と、上
記ロボット装置と上記コンピュータシステムとの間での
ネットワーク通信におけるプロトコル変換を動的に行う
ゲートウェイオブジェクトを有することを特徴とする。
Further, in order to solve the above-mentioned problems, a network system according to the present invention includes: a robot device having an operation control program constructed by inter-object communication;
In a network system in which a computer system constructed by inter-object communication performs data communication via wired or wireless communication, the protocol conversion in the inter-object communication and the network communication between the robot device and the computer system is performed. It is characterized by having a gateway object that performs dynamically.

【0019】また、本発明に係る通信方法は、上述の課
題を解決するために、オブジェクト間通信を有して構築
されたロボット装置と、オブジェクト間通信を有して構
築されたコンピュータシステムとが有線又は無線を経由
してデータ通信を行う通信方法において、上記オブジェ
クト間通信と、上記ロボット装置と上記コンピュータシ
ステムとの間でのネットワーク通信におけるプロトコル
変換を行うことを特徴とする。
In order to solve the above-mentioned problems, the communication method according to the present invention includes a robot device constructed with inter-object communication and a computer system constructed with inter-object communication. In a communication method for performing data communication via a wire or wirelessly, protocol conversion in the inter-object communication and network communication between the robot device and the computer system is performed.

【0020】またさらに、本発明に係るロボット装置
は、上述の課題を解決するために、動作制御プログラム
がオブジェクト間通信で構築されたロボット装置であっ
て、オブジェクト間通信で構築されたコンピュータシス
テムとの間で有線又は無線を経由してデータ通信を行う
ロボット装置において、上記オブジェクト間通信と、上
記コンピュータシステムとの間でのネットワーク通信に
おけるプロトコル変換を動的に行うゲートウェイオブジ
ェクトを有することを特徴とする。
Further, in order to solve the above-mentioned problems, a robot device according to the present invention is a robot device in which an operation control program is constructed by inter-object communication, and a computer system constructed by inter-object communication. A robot apparatus that performs data communication via a wired or wireless connection between the robot apparatus and a gateway object that dynamically performs a protocol conversion in the inter-object communication and the network communication with the computer system. I do.

【0021】[0021]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を用いて詳しく説明する。この実施の形態は、本
発明を、オブジェクト指向によりソフトウェア(オブジ
ェクト)が構築されたペット型のロボット装置が、有線
又は無線による通信により接続されたネットワークシス
テムに適用したものである。
Embodiments of the present invention will be described below in detail with reference to the drawings. In this embodiment, the present invention is applied to a network system in which a pet-type robot device in which software (object) is constructed in an object-oriented manner is connected by wired or wireless communication.

【0022】ペット型のロボット装置は、オブジェクト
間通信(プロセス間通信)による種種の処理結果とし
て、例えば動物に似た仕草等を出現するようになされて
いる。なお、ネットワークシステムに接続されるロボッ
ト装置は、ペット型のロボット装置に限定されないこと
はいうまでもなく、本発明の意義に応じて構成されるこ
とはいうまでもない。ロボット装置の構成等を先ず説明
して、その後、本発明が適用されたネットワークシステ
ムを詳述する。
The pet-type robot apparatus is designed to produce, for example, a gesture similar to an animal as a result of various processing by inter-object communication (inter-process communication). It is needless to say that the robot device connected to the network system is not limited to the pet type robot device, and it is needless to say that the robot device is configured according to the significance of the present invention. First, the configuration and the like of the robot device will be described, and then the network system to which the present invention is applied will be described in detail.

【0023】(1)ロボット装置の構成 (1−1)全体構成 ロボット装置1は、図1に示すように、いわゆるペット
型のロボット装置であり、全体が犬に似た形状であり、
4本足により歩行できるようになされている。すなわち
ロボット装置1は、本体2に移動ユニット3が取り付け
られ、この本体2が頭部2Aと胴体部2Bとにより構成
される。
(1) Configuration of Robot Device (1-1) Overall Configuration The robot device 1 is a so-called pet-type robot device as shown in FIG.
It is designed to be able to walk on four legs. That is, in the robot apparatus 1, the moving unit 3 is attached to the main body 2, and the main body 2 is composed of the head 2A and the body 2B.

【0024】頭部2Aは、マイク4、タッチセンサ5、
立体視可能なテレビジョンカメラ6、遠隔制御に係る赤
外線の受信部7等が配置され、これらにより各種情報を
取得できるようになされている。また、頭部2Aは、画
像表示部9、スピーカ10が配置され、これらにより種
々の情報を出力できるようになされている。なお、頭部
2Aの構成は、このような構成からなることに限定され
ないことはいうまでもなく、すなわち例えば、画像表示
部9を、LED(Light Emitting Diode)により構成し
て、表情を表現するようにすることもできる。
The head 2A has a microphone 4, a touch sensor 5,
A television camera 6 capable of stereoscopic viewing, an infrared receiving unit 7 for remote control, and the like are arranged so that various kinds of information can be obtained. An image display unit 9 and a speaker 10 are arranged on the head 2A, so that various information can be output by these. Needless to say, the configuration of the head 2A is not limited to such a configuration. That is, for example, the image display unit 9 is configured by an LED (Light Emitting Diode) to express a facial expression. You can also do so.

【0025】胴体部2Bは、背中の部分に操作子11が
配置され、また尻尾に相当する箇所にアンテナ12が配
置されるようになされ、これらを介してユーザの操作を
検出できるようになされている。また、胴体2Bは、ス
ロットを有し、このスロットにICカードを装着してソ
フトウェアのバージョンアップ等を実行できるようにな
されている。
The body 2B is provided with an operator 11 at the back and an antenna 12 at a position corresponding to the tail, through which a user's operation can be detected. I have. Further, the body 2B has a slot, and an IC card can be inserted into this slot so that software version upgrade or the like can be executed.

【0026】さらに、胴体部2Bは、頭部2Aを介して
入出力する各種情報、操作子11等の操作情報を処理し
て全体の動作を制御するコントローラ15、各部に電源
を供給する電源ユニット14、アンテナ12を介して各
種情報を送受する通信ユニット16等が配置され、下部
にバッテリ17が配置されるようになされている。
The body 2B includes a controller 15 for processing various information input / output via the head 2A and operation information of the operation elements 11 and the like to control the overall operation, and a power supply unit for supplying power to each unit. 14, a communication unit 16 for transmitting and receiving various information via the antenna 12 and the like are arranged, and a battery 17 is arranged below.

【0027】これに対して移動ユニット3は、それぞれ
関節に相当する箇所にアクチュエータ、角度検出センサ
を配置してなる4つの足を配置して形成され、本体2と
シリアルバスにより接続され、本体2の制御により動作
するようになされている。これによりロボット装置1
は、4足歩行により移動できるようになされている。
On the other hand, the moving unit 3 is formed by arranging four feet each having an actuator and an angle detection sensor at positions corresponding to joints, and connected to the main body 2 by a serial bus. It operates under the control of. Thereby, the robot device 1
Is designed to be able to move by quadrupedal walking.

【0028】さらに、この移動ユニット3は、後足が本
体2より取り外すことができるようになされている。ロ
ボット装置1は、この後足に代えて、タイヤを備えた移
動ユニットを取り付けることができるようになされてい
る。これによりこのロボット装置1は、ユーザの好みに
応じて4足により移動する形態(以下、4足型とい
う。)と、タイヤにより移動する形態(以下、タイヤ型
という。)とで形態を変更できるようになされている。
Further, the rear unit of the moving unit 3 can be detached from the main body 2. The robot apparatus 1 is configured such that a mobile unit provided with a tire can be attached instead of the rear foot. Thereby, the robot apparatus 1 can change the form between a form that moves with four feet (hereinafter, referred to as a quadruple type) and a form that moves with tires (hereinafter, referred to as a tire type) according to the user's preference. It has been made like that.

【0029】図2は、このロボット装置1の構成を示す
ブロック図である。ロボット装置1においては、処理プ
ログラムを記録したプログラムメディア20がペリフェ
ラル21を介して中央処理ユニット22に接続され、こ
の中央処理ユニット22によりプログラムメディア20
に記録された処理手順を実行するようになされている。
また、中央処理ユニット22は、ペリフェラル21を介
して移動ユニット3の各アクチュエータ、センサ、さら
にはテレビジョンカメラ6、操作子11等であるロボッ
ト装置コンポーネント24、25、26と接続され、こ
れにより全体の動作を制御できるようになされている。
FIG. 2 is a block diagram showing the configuration of the robot device 1. As shown in FIG. In the robot apparatus 1, a program medium 20 storing a processing program is connected to a central processing unit 22 via a peripheral 21, and the central processing unit 22 controls the program medium 20.
Is executed.
The central processing unit 22 is connected to the actuators and sensors of the mobile unit 3 via the peripherals 21 and also to the robot device components 24, 25 and 26 such as the television camera 6, the operating element 11, and the like. Operation can be controlled.

【0030】また、中央処理ユニット22は、同様に、
ペリフェラル21を介して電源ユニット14を構成する
電源制御用の1チップマイコン27と接続され、この1
チップマイコン27の動作を制御してバッテリ17より
全体に電源を供給し、さらには省電力モードにおいてバ
ッテリ17に代えてボタン電池29より全体の電源を供
給するようになされている。
The central processing unit 22 also
The power supply unit 14 is connected via a peripheral 21 to a one-chip microcomputer 27 for controlling the power supply.
The operation of the chip microcomputer 27 is controlled to supply power to the whole from the battery 17, and further, the whole power is supplied from the button battery 29 instead of the battery 17 in the power saving mode.

【0031】(1−2)ソフトウェア構成 図3は、ロボット装置1の4足型におけるソフトウェア
構成をレイヤにより示す略線図であり、図4は図3との
対比によりタイヤ型におけるソフトウェア構成を示す略
線図である。このソフトウェア構成において、最も下位
層はデバイスドライバレイヤであり、各種デバイスドラ
イバが配置される。ここでデバイスドライバは、移動ユ
ニット3のセンサ、アクチュエータ、さらには頭部2A
等に配置した各種ロボット装置コンポーネントとの間で
各種情報を入出力し、これらの処理のためのソフトウェ
アオブジェクトを備えるようになされている。
(1-2) Software Configuration FIG. 3 is a schematic diagram showing the software configuration of the four-legged robot apparatus 1 in layers, and FIG. 4 shows the software configuration in the tire type in comparison with FIG. FIG. In this software configuration, the lowest layer is a device driver layer, in which various device drivers are arranged. Here, the device driver is the sensor and actuator of the mobile unit 3 and the head 2A.
Various types of information are input / output to / from various types of robot device components arranged at the same location, and software objects for these processes are provided.

【0032】このうちバッテリマネージャデバイスドラ
イバ(バッテリマネージャDD)は、電源ユニット14
の1チップマイコン27との間のデータ通信によりバッ
テリ17の残量を検出して定期的に上位のロボットシス
テムソフトウェアに通知する。また、中央処理ユニット
22等のクロックを管理し、ロボットシステムソフトウ
ェアの指示によりこのクロックの周波数を低減すると共
に、不必要なデバイスの動作を停止し、これにより全体
の消費電力を低減する。
The battery manager device driver (battery manager DD) is a power supply unit 14
The remaining amount of the battery 17 is detected by data communication with the one-chip microcomputer 27, and is periodically notified to a higher-order robot system software. In addition, the clock of the central processing unit 22 and the like is managed, the frequency of this clock is reduced according to instructions from the robot system software, and unnecessary device operations are stopped, thereby reducing the overall power consumption.

【0033】また、ロボットシリアルバスデバイスドラ
イバ(ロボットシリアルバスDD)は、本体2に配置さ
れたシリアルバスのマスター制御用のハードウェアとの
間のデータ通信により、シリアルバスに接続された移動
ユニット3のセンサ情報等を取り込んで上位のロボット
システムソフトウェアに通知し、またこれとは逆にロボ
ットシステムソフトウェアより出力されるアクチュエー
タの制御データ、オーディオ信号等を各デバイスに送出
する。
The robot serial bus device driver (robot serial bus DD) communicates with the serial bus master control hardware provided in the main body 2 by data communication with the mobile unit 3 connected to the serial bus. The sensor information and the like are taken in and notified to the higher-order robot system software, and conversely, control data of the actuator, audio signals and the like output from the robot system software are sent to each device.

【0034】また、ロボットシリアルバスデバイスドラ
イバは、システムの起動時、シリアルバスに接続された
デバイスの変更(追加、削除である)を検出する。さら
に、この変更に係るデバイス固有の情報を取り込むこと
により、ロボット装置1の現在の形態を示す情報をロボ
ットシステムソフトウェアに出力する。
When the system is started, the robot serial bus device driver detects a change (addition or deletion) of a device connected to the serial bus. Further, by taking in the device-specific information related to this change, information indicating the current form of the robot apparatus 1 is output to the robot system software.

【0035】このデバイスドライバレイヤの上位には、
ロボットシステムソフトウェアが配置される。ここでロ
ボットシステムソフトウェアは、バーチャルロボット、
デザインロボット、パワーマネージャ、オブジェクトマ
ネージャ等のソフトウェアオブジェクトより構成され
る。
Above this device driver layer,
Robot system software is deployed. Here, the robot system software is a virtual robot,
It is composed of software objects such as a design robot, power manager, and object manager.

【0036】このうちバーチャルロボットは、ロボット
シリアルバスデバイスドライバとの間のデータ通信にお
いて、各デバイス固有のフォーマットによるデータをロ
ボット装置の一般的なフォーマットに変換して送受す
る。具体的に、例えばモータ制御用のデータについて、
デバイス固有のフォーマットにおいてはポテンションメ
ーターであるセンサ出力をアナログディジタル変換して
得られる10ビットにより表現するのに対し、バーチャ
ルロボットは、この表現によるデータを最下位の1ビッ
トが0.001度を示すデータに変換してロボット装置
1における一般的なフォーマットとして出力する。ま
た、バーチャルロボットは、このようなフォーマット変
換によるデータの送受に加えて、例えばテレビジョンカ
メラ6より取得したイメージデータを上位のソフトウェ
アに出力する。
The virtual robot converts data in a format unique to each device into a general format of the robot apparatus in data communication with the robot serial bus device driver, and transmits and receives the data. Specifically, for example, for data for motor control,
In the device-specific format, the sensor output, which is a potentiometer, is represented by 10 bits obtained by analog-to-digital conversion. On the other hand, in the virtual robot, the least significant 1 bit of the data represented by this representation is 0.001 degrees. The data is converted into the data shown in FIG. Further, the virtual robot outputs image data obtained from the television camera 6, for example, to higher-level software, in addition to sending and receiving data by such format conversion.

【0037】また、バーチャルロボットは、ロボットシ
リアルバスデバイスドライバよりロボット装置1の現在
の形態を示す情報を受け取り、この情報を取りまとめ
る。これによりバーチャルロボットは、ロボット装置1
全体でどの様なロボットコンポーネントがどの様な順番
で接続されているのかを示す結合情報(CPC(Configura
ble Physical Component)Connection Information)を
管理し、この結合情報(CPC Connection Information)
をデザインロボットに通知する。
Further, the virtual robot receives information indicating the current form of the robot apparatus 1 from the robot serial bus device driver, and collects this information. This allows the virtual robot to use the robot device 1
Connection information (CPC (Configura) that indicates what kind of robot components are connected in what order
ble Physical Component) Connection Information) and manages this connection information (CPC Connection Information)
To the design robot.

【0038】また、バーチャルロボットは、シリアルバ
スに接続されたデバイスに変更があった場合、デバイス
ドライバのロボットシリアルバスデバイスドライバより
通知を受け、デザインロボットに通知する。
When a change is made to a device connected to the serial bus, the virtual robot receives a notification from the robot serial bus device driver of the device driver and notifies the design robot.

【0039】デザインロボットは、バーチャルロボット
より結合情報(CPC Connection Information)を受け取
り、事前に記録した結合テンプレート情報と順次比較す
ることにより、現在のロボット装置1の形態に適したテ
ンプレートを選択する。さらに、デザインロボットは、
この選択したテンプレートに応じて、上位の形態依存ソ
フトウェアを現在の形態に適した形態依存ソフトウェア
に更新するように、オブジェクトマネージャに指示す
る。
The design robot receives the connection information (CPC Connection Information) from the virtual robot and sequentially compares it with the pre-recorded connection template information to select a template suitable for the current form of the robot apparatus 1. In addition, the design robot
The object manager is instructed to update the higher-level form-dependent software to form-dependent software suitable for the current form according to the selected template.

【0040】なお、この実施の形態において、結合テン
プレート情報は、デザインファイルにデザインデータと
して記述されるようになされている。
In this embodiment, the combined template information is described as design data in a design file.

【0041】オブジェクトマネージャは、デザインロボ
ットの指示により、デザインロボットより通知されるオ
ブジェクト、各オブジェクトの結合に関する情報を用い
て形態依存ソフトウェアを現在の形態に適した形態依存
ソフトウェアに更新する。すなわち、オブジェクトマネ
ージャは、形態依存ソフトウェアを構成する全てのオブ
ジェクトについて、動作の停止、オブジェクト間通信の
結合解除、オブジェクトの破壊、リソースの開放を指示
する。さらに新たに必要なオブジェクトのロード、初期
化し、さらにはオブジェクト間通信のための結合構築、
これらオブジェクトの起動を指示する。なお、ここで、
オブジェクト間の接合とは、オブジェクト間でデータを
送受信するための結合を意味する。
The object manager updates the form-dependent software to the form-dependent software suitable for the current form by using the object notified by the design robot and information on the combination of the objects according to the instruction of the design robot. That is, the object manager instructs to stop the operation, disconnect the inter-object communication, destroy the object, and release the resources for all the objects constituting the form-dependent software. Loads and initializes new required objects, and builds connections for inter-object communication,
Instruct the activation of these objects. Here,
The connection between objects means a connection for transmitting and receiving data between objects.

【0042】パワーマネージャは、バッテリマネージャ
デバイスドライバとの間でデータ通信し、上位のソフト
ウェア(形態独立ソフトウェア又は形態依存ソフトウェ
ア)の指示に従って、バッテリマネージャデバイスドラ
イバにクロックの切り換えを指示し、またオブジェクト
の動作の停止等を指示する。
The power manager communicates data with the battery manager device driver, instructs the battery manager device driver to switch the clock in accordance with the instruction of the higher-level software (form independent software or form dependent software), Instructs to stop the operation.

【0043】このロボットシステムソフトウェアの上位
には、形態依存ソフトウェアが配置され、さらにその上
位に形態独立ソフトウェアが配置される。形態依存ソフ
トウェアは、このロボット装置1の形態に応じて変更さ
れるソフトウェアであり、形態独立ソフトウェアは、こ
れとは逆に、ロボット装置の形態に係わらずに固定され
たこのロボット装置1の上位のソフトウェアである。こ
のため形態依存ソフトウェアには、ロボット装置1の形
態に依存した各種オブジェクトが存在する。この実施の
形態においては、形態依存ソフトウェアの変更により4
足型とタイヤ型とでそれぞれ形態に適したソフトウェア
を全体として簡易に構成できるようになされている。
Form-dependent software is arranged above the robot system software, and form-independent software is arranged further above the robot system software. The form-dependent software is software that is changed in accordance with the form of the robot apparatus 1, and the form-independent software, on the contrary, is a higher-ranking apparatus of the robot apparatus 1 that is fixed regardless of the form of the robot apparatus. Software. For this reason, various objects depending on the form of the robot apparatus 1 exist in the form-dependent software. In this embodiment, 4
Software suitable for the form of each of the last type and the tire type can be easily configured as a whole.

【0044】すなわち、4足型において、この形態依存
ソフトウェアは(図3)、移動ユニット3に関連するも
のとしてコマンドコンバータ、モーションネットワー
ク、モーションリプレイ、ウォーキングパターンジェネ
レータ、ビジョン等のオブジェクトにより構成される。
That is, in a quadruped type, this form-dependent software (FIG. 3) is composed of objects such as a command converter, a motion network, a motion replay, a walking pattern generator, and a vision as related to the mobile unit 3.

【0045】コマンドコンバータは、形態に依存しない
形態独立ソフトウェアからのコマンドをロボット装置1
の形態に適したコマンドに変換する。すなわち、形態独
立ソフトウェアから移動ユニット3に関するコマンドと
して、それぞれ睡眠(Sleep)、休憩(Rest)、起床(W
akeup)、移動(Move)の姿勢を指示するコマンドが入
力されると、コマンドコンバータは、この4足型におい
て、これらのコマンドをそれぞれ睡眠中(Sleeping)、
お座り(Sitting)、起立(Standing)、歩行(Walkin
g)の各姿勢を指示するコマンドに変換する。
The command converter converts commands from the form-independent software that does not depend on the form into the robot apparatus 1.
Into a command suitable for the form. That is, commands relating to the mobile unit 3 from the form-independent software include sleep (Sleep), rest (Rest), and wake-up (W
When commands for instructing the akeup) and the movement (Move) are input, the command converter converts these commands into sleep (Sleeping) for each of the four legs.
Sitting, Standing, Walking
g) is converted into a command to indicate each posture.

【0046】モーションネットワークは、コマンドコン
バータにより出力されるこれら姿勢を示すコマンドよ
り、図5に示す遷移に従って、この遷移図の矢印に対応
するオブジェクトのメソド(エントリ)を起動する。す
なわち、睡眠中の状態で歩行のコマンドが入力された場
合、お座り、起立、歩行と姿勢を順次変化させるよう
に、モーションリプレイオブジェクトの対応するエント
リを順次起動する。なお、この場合、最後の歩行の状態
に辿り着いたときには、この状態を示す自己ループに対
応するウォーキングパターンジェネレータのエントリを
起動する。
The motion network activates the method (entry) of the object corresponding to the arrow in the transition diagram according to the transition shown in FIG. 5 from the commands indicating the postures output from the command converter. That is, when a walking command is input in the sleeping state, the corresponding entries of the motion replay object are sequentially activated so that the sitting, standing, walking, and posture are sequentially changed. In this case, when reaching the last walking state, the entry of the walking pattern generator corresponding to the self-loop indicating this state is started.

【0047】モーションリプレイは、モーションネット
ワークによるエントリの起動により、対応する姿勢変化
用の関節角度指令値を出力する。具体的に、モーション
リプレイは、登録された離散的な関節角度指令値をキー
データとして保持し、このキーデータを用いた補間演算
処理により一連の角度指令値を出力する。
In the motion replay, when a motion network activates an entry, a corresponding joint angle command value for posture change is output. Specifically, the motion replay holds a registered discrete joint angle command value as key data, and outputs a series of angle command values by an interpolation operation using the key data.

【0048】ウォーキングパターンジェネレータは、形
態独立ソフトウェアにより指定される方向に移動するよ
うに、各関節角度指令値を計算して出力する。
The walking pattern generator calculates and outputs each joint angle command value so as to move in the direction specified by the form-independent software.

【0049】ビジョンは、例えば画像処理用のオブジェ
クトであり、テレビジョンカメラ6で取得したイメージ
データをバーチャルロボットオブジェクトより受け取り
処理する。ビジョンは、これにより例えば赤色の物体を
識別し、このロボット装置1を基準にしたこの赤色の物
体の位置、見かけの大きさを検出して出力する。
The vision is, for example, an object for image processing. The vision receives image data obtained by the television camera 6 from the virtual robot object and processes it. The vision thereby identifies, for example, a red object, and detects and outputs the position and apparent size of the red object with respect to the robot device 1.

【0050】これに対してタイヤ型において、形態依存
ソフトウェアは(図4)、移動ユニット3に関するオブ
ジェクトとして、4足型と共通のビジョンのオブジェク
ト、このタイヤ型に特有のコマンドコンバータ、モーシ
ョンコマンダ、モーションリプレイ2、ホイールパター
ンジェネレータのオブジェクトを有する。
On the other hand, in the case of the tire type, the form-dependent software (FIG. 4) includes, as objects relating to the mobile unit 3, objects of a vision common to the quadruple type, a command converter specific to the tire type, a motion commander, and a motion. Replay 2 has a wheel pattern generator object.

【0051】このうちコマンドコンバータは、4足型に
おけるコマンドコンバータと同様に、形態に依存しない
形態独立ソフトウェアからのコマンドをロボット装置1
の形態に適したコマンドに変換する。この場合、ロボッ
ト装置1においてはタイヤ型であることにより、コマン
ドコンバータは、それぞれ睡眠(Sleep)、休憩(Res
t)、起床(Wakeup)、移動(Move)の姿勢を指示する
コマンドを、睡眠中(Sleeping)、休憩(Rest)、待機
(Ready)、移動(Go)のコマンドに変換する。
Among them, the command converter, like the quadruple type command converter, transmits commands from the form-independent software that does not depend on the form, to the robot apparatus 1.
Into a command suitable for the form. In this case, since the robot device 1 is of a tire type, the command converters respectively perform sleep (Sleep) and break (Res).
t), commands for instructing the posture of wake-up (Wakeup) and movement (Move) are converted into commands of sleeping (Sleeping), rest (Rest), standby (Ready), and movement (Go).

【0052】モーションコマンダは、コマンドコンバー
タの出力を受け、タイヤ用の制御コマンドと関連する関
節角度指令値を生成する。すなわち、モーションコマン
ダは、睡眠中(Sleeping)のコマンドが入力された場
合、関節角度指令値を中立(neutral)に設定する。こ
こで、中立(neutral)においては、何らモータを駆
動、制動しない状態であり、これにより移動ユニットを
構成する両腕にあっては、垂れ下がった状態に保持さ
れ、またタイヤにあっては停止状態に保持される。
The motion commander receives the output of the command converter and generates a joint angle command value associated with a tire control command. That is, when a command of “Sleeping” is input, the motion commander sets the joint angle command value to “neutral”. Here, in the neutral state, the motor is not driven or braked at all, so that the arms constituting the moving unit are held in a hanging state, and the tires are stopped in the stopped state. Is held.

【0053】これに対して休憩(Rest)のコマンドが入
力された場合、モーションコマンダは、両腕にあっては
肘の部分で90度折り曲げて前に差し出すように、ま
た、頭部2Aにあっては顔を正面に向けるように、関節
角度指令値を生成する。なおタイヤは停止したままであ
る。
On the other hand, when a rest (Rest) command is input, the motion commander bends 90 degrees at the elbows of both arms and extends forward, and the motion commander is attached to the head 2A. Then, a joint angle command value is generated so that the face is turned to the front. Note that the tires are still stopped.

【0054】また、待機(Ready)のコマンドが入力さ
れた場合、モーションコマンダは、両腕にあっては肘を
伸ばして前に差し出すように、また頭部2Aにあっては
顔を正面に向けるように関節角度指令値を生成する。な
お、この場合もタイヤは停止したままである。さらに、
移動(Go)のコマンドにあっては、待機(Ready)の状
態と同様に両腕を保持したまま、タイヤが前進方向に回
転するように、指令値を出力する。
When a command of "Ready" is input, the motion commander extends the elbow of both arms and extends forward, and faces the front of the head 2A. Is generated as described above. In this case, the tires are still stopped. further,
In the case of the move (Go) command, a command value is output so that the tire rotates in the forward direction while holding both arms similarly to the state of the standby (Ready).

【0055】モーションリプレイ2は、モーションコマ
ンダの指示によりタイヤ型に固有の動作に関して、タイ
ヤ以外の動作(例えば両腕の動作である)を制御する。
ホイールパターンジェネレータは、モーションコマンダ
の制御によりタイヤの制御情報を生成する。
The motion replay 2 controls the operation other than the tire (for example, the operation of both arms) with respect to the operation specific to the tire type in accordance with the instruction of the motion commander.
The wheel pattern generator generates tire control information under the control of the motion commander.

【0056】形態独立ソフトウェアは、ロボット装置1
の形態に依存しないソフトウェアであり、形態設定オブ
ジェクト等を有する。ここで形態設定オブジェクトは、
形態依存ソフトウェアよりロボット装置1の形態に依存
しない情報を受け取り、この情報によりロボット装置1
の形態に依存しない上述したようなロボット装置1の姿
勢を示すコマンド(睡眠等である)を形態依存ソフトウ
ェアに出力する。
The form-independent software is the robot device 1
Is software that does not depend on the form, and has a form setting object and the like. Where the configuration object is
The information which does not depend on the form of the robot apparatus 1 is received from the form-dependent software.
A command (such as sleep) indicating the posture of the robot device 1 as described above, which does not depend on the form, is output to the form-dependent software.

【0057】すなわち例えば、ビジョンオブジェクトよ
り通知される赤色の物体の有無とその位置情報に基づい
て、1分以上赤色の物体の存在が検出されなかった場
合、図6に示すように、睡眠(Sleep)の状態にあって
はその状態を維持するように、休憩(Rest)の状態にあ
っては睡眠(Sleep)に、起床(Wakeup)の状態にあっ
ては休憩(Rest)に、移動(Move)にあっては起床(Wa
keup)の状態に遷移するようにコマンドを発行する。
That is, for example, if the presence of a red object is not detected for one minute or more based on the presence / absence of the red object notified from the vision object and its position information, as shown in FIG. ), To maintain that state, to rest (Sleep) in the state of Rest, to rest (Rest) in the state of Wakeup, and to move (Move). ), Get up (Wa
Issue a command to transition to the (keup) state.

【0058】また、赤色物体が所定値より小さな大きさ
で検出され(ロボット装置の設定による値10以下)、
これが10秒以上続いた場合、睡眠(Sleep)の状態に
あっては休憩(Rest)の状態に、休憩(Rest)の状態に
あっては起床(Wakeup)に、起床(Wakeup)の状態にあ
っては移動(Move)に遷移するようにコマンドを発行
し、また移動(Move)にあっては移動(Move)を継続す
るようにコマンドを発行する。
Further, a red object is detected with a size smaller than a predetermined value (a value of 10 or less according to the setting of the robot device),
If this lasts for more than 10 seconds, it will be in a state of rest in the state of sleep, in a state of wakeup in the state of rest, and in a state of wakeup. In this case, a command is issued so as to make a transition to Move, and in the case of Move, a command is issued so as to continue the move.

【0059】さらに、赤色物体が所定値以上の大きさで
検出された場合、睡眠(Sleep)の状態にあっては(Wak
eup)の状態に遷移するように、休憩(Rest)及び起床
(Wakeup)の状態にあっては移動(Move)に遷移するよ
うに、また移動(Move)にあっては移動(Move)を継続
するようにコマンドを発行する。
Further, when a red object is detected with a size equal to or larger than a predetermined value, if the red object is in the sleep state (Wak
In the state of Rest (Rest) and wake-up (Wakeup), the state transitions to (Move), and in the state of Move (Move), the state continues to move (Move). Issue a command to

【0060】これらによりロボット装置1では、最も上
位のソフトウェアが、形態に依存しないように形成さ
れ、この形態に依存しないソフトウェアとの間では形態
に依存しない形式によりデータを送受するようになされ
ている。これによりこのロボット装置1では、形態に応
じて、この形態に依存するソフトウェアである形態依存
ソフトウェアだけを変更して、形態に応じてソフトウェ
アを簡易に変更することができるようになされている。
Thus, in the robot apparatus 1, the highest-order software is formed so as not to depend on the form, and data is transmitted to and received from software that does not depend on the form in a form-independent manner. . Thus, in the robot apparatus 1, only the form-dependent software, which is software depending on the form, is changed according to the form, and the software can be easily changed according to the form.

【0061】(1−3)形態依存ソフトウェアの変更 ロボット装置1において、この形態依存ソフトウェア
は、デザインロボットの指示によるオブジェクトマネー
ジャの処理により更新される。このとき、形態依存ソフ
トウェアを構成するオブジェクトのロード、アンロー
ド、オブジェクト間通信のための結合再構築により形態
依存ソフトウェアを更新する。
(1-3) Change of form-dependent software In the robot apparatus 1, this form-dependent software is updated by the processing of the object manager according to the instruction of the design robot. At this time, the form-dependent software is updated by loading and unloading the objects constituting the form-dependent software and reconstructing the connection for inter-object communication.

【0062】このためデザインロボットは、バーチャル
ロボットよりロボット装置1の形態を特定する結合情報
(CPC Connection Information)の通知を受け、この結
合情報(CPC Connection Information)に基づいてオブ
ジェクトマネージャに形態依存ソフトウェアの更新を指
示すると共に必要な情報を提供する。
For this reason, the design robot receives a notification of connection information (CPC Connection Information) for specifying the form of the robot apparatus 1 from the virtual robot, and based on the connection information (CPC Connection Information), notifies the object manager of the form-dependent software. Instruct update and provide necessary information.

【0063】また、バーチャルロボットにおいては、下
位層であるロボットシリアルバスデバイスドライバを介
してシリアルバスに接続された各デバイスの情報を取得
し、この情報より結合情報(CPC Connection Informati
on)を作成してデザインロボットに通知する。
In the virtual robot, information of each device connected to the serial bus is obtained via a robot serial bus device driver, which is a lower layer, and connection information (CPC Connection Informati) is obtained from this information.
on) and notify the design robot.

【0064】このためこのロボット装置1においては、
各ロボットコンポーネントのメモリに所定の情報が記録
され、ロボットシリアルバスデバイスドライバを介して
実行されるデータ通信により、バーチャルロボット1に
おいてシリアルバスに接続されたデバイスの情報をその
位置情報と共に取得できるようになされている。
Therefore, in this robot device 1,
Predetermined information is recorded in the memory of each robot component, and information of a device connected to the serial bus in the virtual robot 1 can be acquired together with its position information by data communication executed via a robot serial bus device driver. It has been done.

【0065】ここでロボット装置1においては、シリア
ルバスに接続されるテレビジョンカメラ、スピーカ、マ
イク、各種アクチュエータ、センサ等が基本的な構成要
素(CPC Primitive)であり、リンク状態に設定された
これら基本的な構成要素の複数の組み合わせにより各部
品(CPC Model)が構成される。すなわち例えば、部品
である1つの足は、3個のモータ、1個のスイッチによ
る複数の基本的な構成要素の特定なリンク状態により構
成される。
Here, in the robot apparatus 1, a television camera, a speaker, a microphone, various actuators, sensors, and the like connected to the serial bus are basic components (CPC Primitives), and these are set in a link state. Each component (CPC Model) is composed of a plurality of combinations of basic components. That is, for example, one foot as a component is configured by a specific link state of a plurality of basic components by three motors and one switch.

【0066】ロボット装置1においては、これら各部品
に固有の識別データが割り当てられ、この識別データに
よりシリアルバスに接続された各構成要素を特定できる
ようになされている。なお、この識別データは、部品を
作成した製造工場のIDと製品番号に対応するIDとに
より構成される。また、この識別データに対応するよう
に、各構成要素の情報、部品における各構成要素の位置
情報が部品中における各構成要素のリンク情報、各構成
要素の属性情報等により設定され、これらの情報が各部
品の識別データと共に各部品のメモリに保持されるよう
になされている。なお、この実施の形態では、部品側に
てメモリ容量が少ない場合には、各部品側に識別データ
のみ記録され、構成要素の情報、部品における構成要素
の位置情報は、本体2側に保持するようになされてい
る。
In the robot apparatus 1, unique identification data is assigned to each of these parts, and each of the components connected to the serial bus can be specified by the identification data. This identification data is composed of the ID of the manufacturing factory that created the component and the ID corresponding to the product number. In addition, information of each component, position information of each component in the component is set by link information of each component in the component, attribute information of each component, etc. so as to correspond to the identification data. Are stored in the memory of each component together with the identification data of each component. In this embodiment, when the memory capacity is small on the part side, only the identification data is recorded on each part side, and the information on the constituent elements and the position information on the constituent elements in the parts are held on the main body 2 side. It has been made like that.

【0067】バーチャルロボットは、システム起動時、
デバイスの変更時、ロボットシリアルバスデバイスドラ
イバより通知されるこれら識別データ、位置情報等によ
り、ツリー構造によるシリアルバスを順次辿って、各基
本的な構成要素(CPC Primitive)と各構成要素の結合
の順番を示すデータ構造とにより結合情報(CPC Connec
tion Information)を作成してデザインロボットに通知
する。かくするにつきバーチャルロボットより通知され
る結合情報(CPC Connection Information)にあって
は、形態に対応する構成要素情報(CPC Primitive Loca
tion Information)により構成される。
When the virtual robot starts the system,
When the device is changed, the serial data in the tree structure is sequentially traced by the identification data and the position information notified from the robot serial bus device driver to connect each basic component (CPC Primitive) and each component. The connection information (CPC Connec
Creation Information) and notify the design robot. In this connection, the connection information (CPC Connection Information) notified from the virtual robot includes component information (CPC Primitive Loca) corresponding to the form.
Information).

【0068】デザインロボットは、バーチャルロボット
より通知される結合情報(CPC Connection Informatio
n)を基準にしてデザインファイルを参照することによ
り現在のロボット装置1の形態に対応する結合テンプレ
ート(後述するラベルである)を選択する。さらに、デ
ザインロボットは、この選択したテンプレートに応じ
て、現在の形態に適した形態依存ソフトウェアヘの更新
をオブジェクトマネージャに指示する。
The design robot communicates with the connection information (CPC Connection Informatio) notified by the virtual robot.
By referring to the design file on the basis of n), a combined template (a label to be described later) corresponding to the current form of the robot apparatus 1 is selected. Further, the design robot instructs the object manager to update the form-dependent software suitable for the current form according to the selected template.

【0069】ここで、デザインファイルは、テキストデ
ータ形式の記述であり、ロボット装置1の形態毎に、各
部品の構成要素情報(CPC Primitive Location Informa
tion)群に対してラベルを付加して記述される。また、
構成要素情報(CPC Primitive Location Information)
は、各部品の基本的な構成要素(CPC Primitive)と各
構成要素の位置情報(CPC Coordinate Locator)により
構成される。このうち位置情報(CPC Coordinate Locat
or)は、ロボット装置1に設定された基準位置からの座
標であり、一般的なリンク座標系により表記され、座標
系変換のための回転行列と位置ベクトルの縦続接続によ
り構成されるようになされている。
Here, the design file is a description in a text data format, and for each form of the robot device 1, component element information (CPC Primitive Location Informa) of each part.
Option) group is described with a label attached. Also,
Component information (CPC Primitive Location Information)
Is composed of basic components (CPC Primitive) of each component and position information (CPC Coordinate Locator) of each component. Location information (CPC Coordinate Locat
or) is a coordinate from a reference position set in the robot apparatus 1, is represented by a general link coordinate system, and is configured by a cascade connection of a rotation matrix for coordinate system conversion and a position vector. ing.

【0070】また、ラベルは、対応するオブジェクトの
特定、このオブジェクトのロード、オブジェクト間通信
の構築に必要なデータを特定するものであり、デザイン
ラベル(Design Label)、又はデザインラベルに比して
汎用的な理解容易な記述によるバーチャルラベル(Virt
ual Label)、デザインラベル(Design Label)とバー
チャルラベル(Virtual Label)との複合型のラベル(C
omposite Label)が適用される。なお、ビジュアルラベ
ルにあっては、デザインロボットによりデザインラベル
に置き換えられて利用に供されるようになされている。
The label is used to specify a corresponding object, to load this object, and to specify data required for establishing communication between objects. The label is a design label or a general-purpose label as compared with the design label. Virtual labels (Virt
ual Label), a composite label (C) of a design label (Design Label) and a virtual label (Virtual Label).
omposite Label) applies. Note that the visual label is used by the design robot after being replaced with the design label.

【0071】次式は、このうちのデザインラベルの記述
を示すものである。デザインラベルは、1つ以上の構成
要素情報(CPC Primitive Location Information )、
又はデザインラベル(Design Label)により構成され
る。
The following equation shows the description of the design label. The design label contains one or more component information (CPC Primitive Location Information),
Or, it is constituted by a design label (Design Label).

【0072】[0072]

【数1】 (Equation 1)

【0073】これに対して次式は、バーチャルラベル
(Virtual Label)の記述を示すものである。バーチャ
ルラベルは、デザインラベル(Design Label)、構成要
素(CPC Primitive)、構成要素(CPC Primitive)の位
置情報(CPC Coordinate Locator)により構成される。
On the other hand, the following expression shows the description of a virtual label. The virtual label includes a design label (Design Label), a component (CPC Primitive), and position information (CPC Coordinate Locator) of the component (CPC Primitive).

【0074】[0074]

【数2】 (Equation 2)

【0075】これに対して次式は、複合型のラベル(Co
mposite Label)の記述を示すものである。
On the other hand, the following equation shows a composite type label (Co
mposite Label).

【0076】[0076]

【数3】 (Equation 3)

【0077】かくするにつきデザインロボットは、通知
された結合情報(CPC Connection Information)により
特定される構成要素情報(CPC Primitive Location Inf
ormation)において、特定される位置情報(CPC Coordi
nate Locator)よりツリー構造の先端側にバーチャルラ
ベル(Virtual Label)内で定義された位置情報(CPCCo
ordinate Locator)が存在する場合、このバーチャルラ
ベル(Virtual Label)をデザインラベル(Design Labe
l)に置き換え、また、このようにして定義したデザイ
ンラベル(Design Label)を有効なものと設定する。
In this way, the design robot sends the component information (CPC Primitive Location Inf) specified by the notified connection information (CPC Connection Information).
location information (CPC Coordi)
nate Locator) and the position information (CPCCo) defined in the virtual label (Virtual Label) on the tip side of the tree structure.
ordinate Locator), this virtual label (Virtual Label) is designated as a design label (Design Label
l), and the design label (Design Label) thus defined is set as valid.

【0078】これらにより、結合情報(CPC Connection
Information)によりこのデザインファイルをアクセス
して現在のロボット装置を形態(4足型、タイヤ型等の
形態)を特定できるようになされ、また、形態依存ソフ
トウェアの更新に必要な各種データを取得できるように
なされている。
With these, the connection information (CPC Connection
Information), this design file is accessed so that the current robot device type (four-leg type, tire type, etc.) can be specified, and various data necessary for updating the type-dependent software can be obtained. Has been made.

【0079】図7は、このデザインロボットの処理手順
を具体的に示すフローチャートである。デザインロボッ
トは、バーチャルロボットより結合情報(CPC Connecti
on Information)が通知されると、ステップSP1から
ステップSP2に移り、この結合情報(CPC Connection
Information)によりデザインファイルをアクセスし、
これにより現在のロボット装置1の形態を特定する。
FIG. 7 is a flowchart specifically showing the processing procedure of the design robot. The design robot uses the connection information (CPC Connecti
on Information), the process proceeds from step SP1 to step SP2, and the connection information (CPC Connection
Information) to access the design file,
Thus, the current form of the robot device 1 is specified.

【0080】続いてデザインロボットは、ステップSP
3に移り、バーチャルロボットより通知された結合情報
(CPC Connection Information)による構成要素情報
(CPCPrimitive Location Information)とデザインフ
ァイルに保持された結合情報(CPC Connection Informa
tion)による構成要素情報(CPC Primitive Location I
nformation)とを比較する。
Subsequently, the design robot proceeds to step SP
3 and the component information (CPCPrimitive Location Information) based on the connection information (CPC Connection Information) notified from the virtual robot and the connection information (CPC Connection Informa) held in the design file
Component Information (CPC Primitive Location I)
nformation).

【0081】続いてデザインロボットは、ステップSP
4に移り、この比較結果に基づいて、デザインファイル
をアクセスし、現在の形態に対応するオブジェクト、オ
ブジェクト間通信の再構築に必要なデータを特定するデ
ザインラベルを検出する。
Subsequently, the design robot proceeds to step SP
Then, based on the result of the comparison, the design file is accessed, and an object corresponding to the current form and a design label for specifying data necessary for reconstructing communication between the objects are detected.

【0082】続いてデザインロボットは、ステップSP
5に移り、検出したデザインラベルより結合ファイル
(Connection File)をアクセスし、ラベルに対応する
結合情報(Connection Data)を検出することにより、
対応するオブジェクトの特定、オブジェクト間通信の再
構築に必要なデータを取得する。かくするにつき結合フ
ァイル(Connection File)は、ラベルとの対応により
結合情報(Connection Data)を記録したファイルであ
り、結合情報(Connection Data)は、対応するオブジ
ェクトの特定、オブジェクト間通信の再構築に必要なデ
ータである。
Subsequently, the design robot proceeds to step SP
Then, the process proceeds to step 5 where the connection file (Connection File) is accessed from the detected design label, and the connection information (Connection Data) corresponding to the label is detected.
Acquisition of data necessary for specifying the corresponding object and reconstructing communication between objects. Thus, a connection file is a file in which connection information (Connection Data) is recorded in correspondence with a label, and the connection information (Connection Data) is used for specifying a corresponding object and reconstructing communication between objects. Necessary data.

【0083】続いてデザインロボットは、ステップSP
6に移り、この結合情報(Connection Data)をオブジ
ェクトマネージャに送出し、これにより形態依存ソフト
ウェアの更新を指示した後、ステップSP7に移ってこ
の処理手順を終了する。
Subsequently, the design robot proceeds to step SP
6, the connection information (Connection Data) is sent to the object manager, thereby instructing the update of the form-dependent software. After that, the flow proceeds to step SP7 to end the processing procedure.

【0084】図8は、デザインファイルの一部の記述を
示す図表である。このデザインファイルにおいて、DRX
は、このロボット装置1の形態を示し、4 Leggedは、
4足型の形態であることを示す記述である。またHead、
RightFrontLeg、LeftFrontLeg、RightRearLeg、LeftRea
rLegは、それぞれ頭部、右前足、左前足、右後足、左後
足を示し、これにより第1文において4足型が頭部、右
前足、左前足、右後足、左後足により構成されることが
特定される。
FIG. 8 is a chart showing a description of a part of the design file. In this design file, DRX
Indicates the form of the robot device 1 and 4 Legged indicates
This is a description indicating that it is a quadruped type. Head,
RightFrontLeg, LeftFrontLeg, RightRearLeg, LeftRea
rLeg indicates the head, right forefoot, left forefoot, right hindpaw, and left hindpaw, respectively, whereby in the first sentence the four-legged form is represented by The configuration is specified.

【0085】また、第2文におけるWheelはタイヤ型を
示し、第1文との対比によりこの第2文においてタイヤ
型が頭部、右前足、左前足、右後輪、左後輪により構成
されることが特定される。また、第3文においては、頭
部にカメラリンクの配置が記述され、第4文にはこのカ
メラリンクのバーチャルラベル(Virtual Label)が記
述されるようになされ、第5文以降においては、右前
足、左前足等について、位置情報(CPC Coordinate Loc
ator)がツリー形式により記述されるようになされてい
る。
Wheel in the second sentence indicates a tire type, and in comparison with the first sentence, the tire type in the second sentence is composed of a head, a right front foot, a left front foot, a right rear wheel, and a left rear wheel. Is specified. In the third sentence, the arrangement of the camera link is described on the head, and in the fourth sentence, the virtual label (Virtual Label) of this camera link is described. Position information (CPC Coordinate Loc)
ator) is described in a tree format.

【0086】これに対して図9は、結合情報(CPC Conn
ection Information)の一部の記述を示す図表である。
結合情報は、デザインファイルと同様にテキストデータ
形式により記述される。この記述において、jointはイ
ンターフェースを示し、この部分が他の構成要素との結
合箇所であることを示すものである。この場合、第2行
目から第5行目までの記載により、CO、CO、CO、CO、CO
による5つのハブ等を介してテレビジョンカメラが接続
されていることが判る。
FIG. 9 shows the connection information (CPC Conn
2 is a chart showing a part of the description of the section information (section information).
The connection information is described in a text data format as in the case of the design file. In this description, “joint” indicates an interface, and indicates that this portion is a connection point with another component. In this case, the description from the second line to the fifth line indicates that CO, CO, CO, CO, CO
It can be seen that the television camera is connected via five hubs and the like.

【0087】これによりこの図9の例による結合情報
(CPC Connection Information)にあっては、図8につ
いて上述した記述である4足型と一致することになる。
As a result, the connection information (CPC Connection Information) according to the example of FIG. 9 matches the quadruped type described in FIG.

【0088】これに対して次式は、結合ファイル(Conn
ection File)の一部の記述を示す図表である。結合フ
ァイルは、テキストデータ形式により記述され、この記
述において、第1文及び第2文は、それぞれ4足型及び
タイヤ型における足及びタイヤに対応するオブジェクト
と、このオブジェクトにおけるオブジェクト間通信の構
築に必要なデータが記述される。
On the other hand, the following equation is used for the connection file (Conn
3 is a table showing a part of the description of the section file (section file). The connection file is described in a text data format. In this description, the first sentence and the second sentence are used to construct the object corresponding to the foot and the tire in the quadruple type and the tire type, respectively, and the communication between the objects in the object. Required data is described.

【0089】すなわち、第1文にあっては、サービス名
としてオブジェクト名であるMONetとデータ形式MONetOu
tData、サブジェクトを示すSの記述が記述される。さ
らに、同様のサービス名としてオブジェクト名であるMO
NetReplay、データ形式MONetOutData等が記述され、最
後にオブザーバを示すOの記述が割り当てられる。ま
た、続く行において、同様のサブジェクト及びオブザー
バ、データ形式等が記述される。
That is, in the first sentence, as the service name, the object name MONet and the data format MONetOu
The description of tData and S indicating the subject is described. Furthermore, MO which is an object name as a similar service name
NetReplay, data format MONetOutData, and the like are described, and finally, a description of O indicating an observer is assigned. In the following lines, similar subjects, observers, data formats, and the like are described.

【0090】[0090]

【数4】 (Equation 4)

【0091】これによりこの図8の例の場合、デザイン
ロボットは、このDRX 4Legged による第1文の記述より
結合情報(Connection Data)(DRX 4Legged以降の括弧
書の記述)を抽出してオブジェクトマネージャに通知
し、これにより形態依存ソフトウェアを更新するように
なされている。
As a result, in the case of the example of FIG. 8, the design robot extracts the connection information (Connection Data) (the description in parentheses after DRX 4 Legged) from the description of the first sentence by this DRX 4 Legged, and sends it to the object manager. Notification, thereby updating the form-dependent software.

【0092】図10は、オブジェクトマネージャ、バー
チャルロボット、デザインロボットにおけるブート時の
処理を示すタイムチャートである。ロボット装置1にお
いては、電源が投入されると、又はリセットがされる
と、ブートの処理を開始する。このとき、ロボット装置
1においては、各オブジェクトがファイルよりロードさ
れて形態依存ソフトウェアが構築され、このとき各オブ
ジェクトマネージャの内部変数が初期化される。
FIG. 10 is a time chart showing a boot process in the object manager, the virtual robot, and the design robot. When the power is turned on or reset, the robot apparatus 1 starts a boot process. At this time, in the robot apparatus 1, each object is loaded from a file to construct form-dependent software, and at this time, internal variables of each object manager are initialized.

【0093】続いてオブジェクトマネージャよりドゥイ
ニシャライズ(DoInit)が各オブジェクトに送出され、
このドゥイニシャライズ(DoInit)により各オブジェク
トの問い合わせ用エントリ(Entry)がオブジェクトマ
ネージャ等に登録される。これによりロボットシステム
ソフトウェアレイヤにおいて、各オブジェクト間通信が
構築される。
Subsequently, a do-initialization (DoInit) is sent to each object from the object manager.
By this do-initialization (DoInit), an entry for entry of each object is registered in the object manager or the like. Thus, communication between the objects is established in the robot system software layer.

【0094】続いてオブジェクトマネージャよりドゥス
タート(DoStart)がバーチャルロボット、デザインロ
ボットに順次送出され、バーチャルロボット、デザイン
ロボットが動作を開始する。これによりバーチャルロボ
ットにより結合情報(CPC Connection Information)
が生成され、デザインロボットの要求によりこの結合情
報(CPC Connection Information)がデザインロボット
に渡され、結合情報(Connection Data)が生成され
る。さらに、この結合情報(Connection Data)がオブ
ジェクトマネージャに渡され、この結合情報(Connecti
on Data)により形態依存ソフトウェアが構築される。
Subsequently, a do start (DoStart) is sequentially sent from the object manager to the virtual robot and the design robot, and the virtual robot and the design robot start operating. This allows the virtual robot to connect information (CPC Connection Information)
Is generated, and the connection information (CPC Connection Information) is passed to the design robot at the request of the design robot, and connection information (Connection Data) is generated. Further, the connection information (Connection Data) is passed to the object manager, and the connection information (Connecti
on Data) builds the form-dependent software.

【0095】これに対してシャットダウンにおいては、
オブジェクトマネージャよりドゥストップ(DoStop)が
各オブジェクトに送出され、このドゥストップ(DoSto
p)により各オブジェクトにおいては、全てのリクエス
トに対してエラーを通知して動作を停止する。統いてオ
ブジェクトマネージャよリドゥデストロイ(DoDestro
y)が各オブジェクトに送出され、これにより各オブジ
ェクトにおいては、使用していたソースを開放し、また
オブジェクトマネージャに登録したエントリを抹消して
待機する。
On the other hand, in the shutdown,
The object manager sends a do stop (DoStop) to each object, and this do stop (DoSto)
According to p), each object is notified of an error for all requests and stops its operation. Object Manager, RedDestro (DoDestro
y) is sent to each object, whereby each object releases its used source, deletes the entry registered in the object manager, and waits.

【0096】これによりロボット装置1においては、形
態が変更されて立ち上げられた場合でも、この変更され
た形態に適したソフトウェアにより動作できるようにな
されている。
Thus, the robot apparatus 1 can be operated by software suitable for the changed mode even when the robot apparatus 1 is started with its mode changed.

【0097】これに対していわゆるプラグイン(Plug-I
n)、プラグアウト(Plug-Out)においては、図11に
示すように、オブジェクトマネージャよりドゥストップ
(DoStop)が各オブジェクトに送出され、このドゥスト
ップ(DoStop)により各オブジェクトにおいては、全て
のリクエストに対してエラーを通知して動作を停止す
る。
On the other hand, a so-called plug-in (Plug-I
n), in the plug-out (Plug-Out), as shown in FIG. 11, a do-stop (DoStop) is sent from the object manager to each object. An error is notified to and operation stops.

【0098】続いてオブジェクトマネージャよりブート
時と同様にして順次ドゥスタート(DoStart)がバーチ
ャルロボット、デザインロボットに順次送出され、バー
チャルロボットにより結合情報(CPC Connection Infor
mation)が生成され、この結合情報(CPC Connection I
nformation)がデザインロボットに渡されて結合情報
(Connection Data)が生成され、この結合情報(Conne
ction Data)により形態依存ソフトウェアが構築され
る。
Subsequently, a do start (DoStart) is sequentially sent from the object manager to the virtual robot and the design robot in the same manner as at the time of booting, and the connection information (CPC Connection Infor) is transmitted by the virtual robot.
mation) is generated and this connection information (CPC Connection I
nformation) is passed to the design robot to generate connection information (Connection Data).
ction Data) builds form-dependent software.

【0099】これによりロボット装置1においては、プ
ラグイン(Plug-In)、プラグアウト(Plug-0ut)によ
り動的に形態が変更された場合でも、この変更された形
態に適したソフトウェアにより動作できるようになされ
ている。
Thus, even if the robot apparatus 1 is dynamically changed in form by plug-in (Plug-In) or plug-out (Plug-0ut), the robot apparatus 1 can be operated by software suitable for the changed form. It has been made like that.

【0100】また、バッテリ17が消耗した場合等にあ
っては、バッテリマネージャからの状態変更要求によ
り、プラグイン(Plug-In)、プラグアウト(Plug-Ou
t)の場合と同様に、ドゥストップ(DoStop)、ドゥス
タート(DoStart)の処理が繰り返され、これによりバ
ッテリ17が消耗した場合にあっては、クロック周波数
を低減すると共に不必要なデバイスの動作を停止してボ
タン電池29により動作するように状態が変更され、こ
れとは逆に充電されたバッテリ17が装着された場合に
あっては、クロック周波数を増大すると共に各デバイス
の動作が開始されてバッテリ17により動作するように
なされている。
When the battery 17 is exhausted or the like, a plug-in (Plug-In) and a plug-out (Plug-Ou)
As in the case of t), the processing of do-stop (DoStop) and do-start (DoStart) is repeated, so that when the battery 17 is exhausted, the clock frequency is reduced and unnecessary device operation is performed. Is stopped and the state is changed to operate with the button battery 29. Conversely, when the charged battery 17 is mounted, the clock frequency is increased and the operation of each device is started. It is operated by the battery 17.

【0101】(1−4)オブジェクトマネージャの処理 オブジェクトマネージャは、このようにして実行される
デザインロボットからの通知により形態依存ソフトウェ
アを構成するオブジェクトを再構成し、これにより形態
依存ソフトウェアを更新する。具体的に、オブジェクト
マネージャは、デザインロボットからの通知によりオブ
ジェクトをロード、アンロードすると共に、これらアン
ロード及びロードに対応するようにオブジェクト間通信
を再構築し、これにより形態依存ソフトウェアを変更す
る。
(1-4) Object Manager Processing The object manager reconfigures the objects constituting the form-dependent software based on the notification from the design robot executed in this way, and updates the form-dependent software. Specifically, the object manager loads and unloads the objects according to the notification from the design robot, reconstructs the communication between the objects so as to correspond to the unloading and loading, and thereby changes the form-dependent software.

【0102】このオブジェクト間通信を構築する際に、
対応するオブジェクト名等がオブジェクトに登録されて
いなければならないとすると、各オブジェクトの独立性
が害され、自由な形態に対応するようにオブジェクトを
複数種類用意することが必要になる。このためこの実施
の形態において、オブジェクトマネージャは、デザイン
ロボットより出力される結合情報(Connection Data)
に基づいてオブジェクト間通信を構築し、これによりオ
ブジェクトの独立性を担保する。
In constructing this inter-object communication,
If the corresponding object name or the like must be registered in the object, the independence of each object is impaired, and it is necessary to prepare a plurality of types of objects so as to correspond to a free form. For this reason, in this embodiment, the object manager outputs connection information (Connection Data) output from the design robot.
To establish communication between objects, thereby ensuring the independence of the objects.

【0103】そして、本発明は、オブジェクト間通信に
より構築されたロボット装置1(ターゲットボード或い
はターゲットシステム)のオブジェクト群と、パーソナ
ルコンピュータにプログラム作成等のために取り込んだ
ロボット装置1のオブジェクトとをオブジェクト間通信
によりデータ通信を可能とすることに特徴がある。後で
詳述するが、ロボット装置1とパーソナルコンピュータ
とが無線又は有線による通信手段により接続された際
に、それぞれの有するゲートウェイオブジェクトによる
オブジェクト間通信が可能とされることにより、ロボッ
ト装置1上のオブジェクトとパーソナルコンピュータ上
のオブジェクトとのオブジェクト間通信が構築されると
いったようにである。
The present invention relates to an object group consisting of an object group of the robot device 1 (target board or target system) constructed by inter-object communication and an object of the robot device 1 loaded into a personal computer for program creation or the like. It is characterized by enabling data communication by inter-communication. As will be described in detail later, when the robot apparatus 1 and the personal computer are connected by wireless or wired communication means, inter-object communication is enabled by the respective gateway objects, so that the robot apparatus 1 An inter-object communication between the object and the object on the personal computer is established.

【0104】以下、オブジェクト間通信について具体的
な説明をする。なお、以下の説明では、オブジェクト名
の特定を避けて説明を簡略化し、すなわち例えば以下の
説明はロボット装置1内のオブジェクト間通信について
適用可能であり、また、ロボット装置1とパーソナルコ
ンピュータの備えるオブジェクト(後述するゲートウェ
イオブジェクト)間のオブジェクト間通信について適用
可能である。また、オブジェクト間通信は、非同期によ
り実行するものとする。
Hereinafter, the inter-object communication will be specifically described. In the following description, the description is simplified by avoiding the specification of the object name. That is, for example, the following description is applicable to the communication between objects in the robot device 1. This is applicable to inter-object communication between (gateway objects to be described later). The communication between the objects is executed asynchronously.

【0105】図12は、この実施の形態に係る2つのオ
ブジェクト間におけるオブジェクト間通信の基本構成を
示す略線図である。この実施の形態においては、レディ
(Ready)とノーティファイ(Notify)とを用いてオブ
ジェクト間通信を実行し、これによりオブジェクト(こ
の例ではObjectB)の処理能力以上のデータを送出しな
いようになされている。
FIG. 12 is a schematic diagram showing a basic configuration of inter-object communication between two objects according to this embodiment. In this embodiment, inter-object communication is performed using Ready and Notify, so that data exceeding the processing capability of the object (Object B in this example) is not sent. I have.

【0106】すなわち、図12において、オブジェクト
Aは、オブジェクトAのメンバーであるクラス0のサブ
ジェクトからオブジェクトBのメンバーである0オブザ
ーバクラスに対してデータを送出し、これによりオブジ
ェクトBのメソドがインヴォウク(invoke)される。こ
こでいう、サブジェクト及びオブザーバは、その属する
オブジェクトにおいていわゆる代理プログラムを構成し
ている。
That is, in FIG. 12, the object A sends data from the class 0 subject that is a member of the object A to the 0 observer class that is a member of the object B, whereby the method of the object B is changed to the invok ( invoke). Here, the subject and the observer constitute a so-called proxy program in the object to which the subject and the observer belong.

【0107】この関係において、サブジェクトは、オブ
ザーバよりレディ(Ready)の信号が送出されている場
合にのみデータを送出する。なお、レディ(Ready)の
信号は、1回のデータにつき1回送る必要がある。これ
によリオブザーバ側であるオブジェクトBにおいては、
受け取ったデータの処理の完了を待って続くデータを受
信することができるようになされている。
In this relation, the subject sends data only when a ready signal is sent from the observer. Note that the ready signal needs to be sent once for each data. Accordingly, in the object B on the rear observer side,
It is configured to wait for the completion of the processing of the received data and receive the subsequent data.

【0108】また、図13は、マルチオブザーバにおけ
るオブジェクト間通信の基本構成を示す略線図である。
この場合、サブジェクトであるオブジェクトAは、全て
のオブザーバに対してデータを配信することができ、ま
た、オブジェクトIDにより特定される特定のオブザー
バに対してのみにデータを配信することもできる。な
お、この実施の形態においては、このようなマルチオブ
ザーバの状態においても、レディ(Ready)の信号によ
り対応するオブザーバに対してデータを送出する。
FIG. 13 is a schematic diagram showing a basic configuration of inter-object communication in the multi-observer.
In this case, the object A as a subject can distribute data to all observers, and can distribute data only to a specific observer specified by the object ID. In this embodiment, even in such a multi-observer state, data is transmitted to the corresponding observer by a Ready signal.

【0109】各オブジェクトにおいては、オブジェクト
を特定するオブジェクトID、メソド(method)を特定
するセレクタ番号(selector)(メソド番号である)を
指定することにより、対応するメソドを起動(エント
リ)し、オブザーバを特定して所望のデータを送出す
る。
In each object, by specifying an object ID for specifying the object and a selector number (method number) for specifying the method, the corresponding method is started (entry) and the observer is started. And transmits the desired data.

【0110】図14は、いわゆるマルチサブジェクトに
おけるオブジェクト間通信の基本構成を示す略線図であ
る。この場合、オブジェクトA及びBがサブジェクトで
あり、オブジェクトCがオブザーバである。オブザーバ
においては、このように複数のサブジェクトよりそれぞ
れデータを受信することができ、また、データを受信す
る毎にデータを処理するメソドがインヴォウク(invok
e)されるようになされている。また、オブザーバは、
サブジェクトIDにより特定される特定のサブジェクト
に対してのみにレディ(Ready)の信号を送出して所望
のデータを選択的に入力できるようになされている。
FIG. 14 is a schematic diagram showing a basic configuration of communication between objects in a so-called multi-subject. In this case, objects A and B are subjects and object C is an observer. The observer can receive data from a plurality of subjects as described above, and a method for processing data every time data is received is called invok (invok).
e) is to be made. The observer also
A ready signal is transmitted only to a specific subject specified by the subject ID so that desired data can be selectively input.

【0111】この実施の形態において、少なくとも形態
依存ソフトウェアレイヤの属するオブジェクトにおいて
は、これら図12〜図14を用いて説明したように、レ
ディ(Ready)とノーティファイ(Notify)とを用いて
オブジェクト間通信を実行し、また、必要に応じてマル
チオブザーバ、マルチサブジェクトの結合形態により他
のオブジェクトを結合できるようになされている。すな
わち、複数のオブザーバを有するオブジェクトにあって
は、これら複数のオブザーバに対応する数のコネクトエ
ントリを有するようになされている。
In this embodiment, at least the objects to which the form-dependent software layer belongs, as described with reference to FIGS. Communication is performed, and if necessary, other objects can be connected in a multi-observer / multi-subject connection form. That is, an object having a plurality of observers has a number of connect entries corresponding to the plurality of observers.

【0112】図15は、オブジェクトマネージャと各オ
ブジェクトとの関係を示す略線図である。各オブジェク
トにおいては、それぞれオブジェクトID、セレクタ番
号(Selector)によリメソドを特定してデータ交換し、
それぞれ対応するサブジェクト、オブザーバとは何ら無
関係に、基本的なメソドについてセレクタ番号0〜3が
それぞれ割り当てられるようになされている。
FIG. 15 is a schematic diagram showing the relationship between the object manager and each object. In each object, data is exchanged by specifying a method by an object ID and a selector number (Selector).
Regardless of the corresponding subject and observer, selector numbers 0 to 3 are assigned to basic methods, respectively.

【0113】ここでセレクタ番号0には、ドゥイニシャ
ライズ(DoInit)が割り当てられ、各オブジェクトは、
このドゥイニシャライズ(DoInit)の起動により初期化
されるようになされている。また、セレクタ番号1に
は、ドゥスタート(DoStart)が割り当てられ、各オブ
ジェクトは、このドゥスタート(DoStart)の起動によ
り動作を開始するようになされている。さらに、セレク
タ番号2には、ドゥストップ(DoStop)が割り当てら
れ、各オブジェクトは、このドゥストップ(DoStop)の
起動により動作を停止するようになされている。また、
セレクタ番号2には、ドゥデストロイ(DoDestroy)が
割り当てられ、各オブジェクトは、このドゥデストロイ
(DoDestroy)によりリソースを開放するようになされ
ている。
Here, the selector number 0 is assigned a do-initialization (DoInit).
The initialization is performed by starting the DoInit. Further, a do start (DoStart) is assigned to the selector number 1, and each object starts operating when the do start (DoStart) is started. Further, a do-stop (DoStop) is assigned to the selector number 2, and the operation of each object is stopped by activating the do-stop (DoStop). Also,
The selector number 2 is assigned a DoDestroy, and each object releases resources by the DoDestroy.

【0114】さらに、各オブジェクトにおいては、これ
らオブジェクトマネージャからの要求、また他のオブジ
ェクトからの要求に対して、適宜、リターン値によりオ
ブザーバによるサービス名、セレクタ番号等を通知する
ようになされている。
Further, in response to requests from these object managers and requests from other objects, each object is notified of a service name, a selector number, and the like by the observer by a return value as appropriate.

【0115】これにより、デザインロボットより通知さ
れる結合情報(Connection Data)に基づいて、オブジ
ェクトマネージャによリオブジェクトをロード、アンロ
ードした後、オブジェクト間通信を再構築できるように
なされている。
Thus, based on the connection information (Connection Data) notified from the design robot, after the object manager loads and unloads the object, the inter-object communication can be reconstructed.

【0116】次式は、このデザインロボットより通知さ
れる結合情報(Connection Data)を示すものであり、
サブジェクトのサービス名とオブザーバのサービス名を
コロンで区切ってテキストデータ形式により記述され
る。この場合、サブジェクト側においては、オブジェク
ト名であるFooB、データ形式Image、対応する構成要素
名による名称RightCamera、サブジェクトを示すSの記
述がサービス名として記述される。また、オブザーバ側
にあっては、オブジェクト名であるFooA、データ形式Im
age、対応する構成要素名による名称RightCamera、オブ
ザーバを示すOの記述がサービス名として記述される。
The following equation shows connection information (Connection Data) notified from the design robot.
The service name of the subject and the service name of the observer are described in text data format, separated by a colon. In this case, on the subject side, the description of the object name FooB, the data format Image, the name RightCamera by the corresponding component name, and the description S of the subject are described as the service name. On the observer side, the object name FooA, data format Im
The description of age, the name RightCamera by the corresponding component name, and O indicating the observer is described as a service name.

【0117】[0117]

【数5】 (Equation 5)

【0118】オブジェクトマネージャにおいては、オブ
ジェクトをロードする際に、この結合情報(Connection
Data)の記述よりロードするオブジェクト名を検出す
る。
In the object manager, when the object is loaded, the connection information (Connection
Data), the name of the object to be loaded is detected.

【0119】さらに、オブジェクトマネージャは、スタ
ックメモリ(Stack)、ヒープメモリ(heap)を確保し
てこの検出したオブジェクト名のオブジェクトを所定の
ファイルよりロードする。このときオブジェクトマネー
ジャは、オペレーションシステム(OS,Operation Sy
stem)よりオブジェクトIDを取得し、このオブジェク
トIDを結合情報(Connection Data)に記述されたオ
ブジェクト名と共に記録する。
Further, the object manager secures a stack memory (Stack) and a heap memory (heap), and loads an object having the detected object name from a predetermined file. At this time, the object manager operates the operating system (OS, Operation Sy
An object ID is obtained from the stem and the object ID is recorded together with the object name described in the connection information (Connection Data).

【0120】これによりオブジェクトマネージャにおい
ては、このようにして登録したオブジェクトIDを用い
て以下のドゥイニシャライズ(DoInit)、ドゥコネクト
(DoConnect)、ドゥスタート(DoStart)等の処理を実
行するようになされている。
Thus, the object manager executes the following processing such as do-initialization (DoInit), do-connect (DoConnect), and do-start (DoStart) using the object ID registered in this way. I have.

【0121】すなわち、ドゥイニシャライズ(DoInit)
において、取得したオブジェクトIDと、上述したセレ
クタ番号に基づいて、オブジェクトマネージャは、オブ
ジェクトのロードにより取得した全てのオブジェクトに
対してドゥイニシャライズ(DoInit)をコールする。各
オブジェクトにおいては、このドゥイニシャライズ(Do
Init)により内部変数等を初期化し、これによりオブジ
ェクトマネージャにおいては、各オブジェクトを初期化
する。
That is, do initialization (DoInit)
In, based on the acquired object ID and the above-described selector number, the object manager calls DoInit for all the objects acquired by loading the objects. For each object, this do-initialization (Do
Init) initializes internal variables and the like, and thereby initializes each object in the object manager.

【0122】この初期化の処理において、オブジェクト
マネージャは、各オブジェクトからの通知により、それ
ぞれ各オブジェクトのサブジェクトとしてのエントリ
(Control)、オブジェクトとしてのエントリ(Connec
t)を登録する。なお、この登録は、結合情報(Connect
ion Data)におけるサブジェクト及びオブジェクトの記
述に対応して、オブジェクトの名前とサブジェクト、オ
ブジェクトの名前により構成される。
In the initialization process, the object manager receives an entry (Control) as a subject of each object and an entry (Connec
Register t). Note that this registration is performed using the connection information (Connect
The data is composed of the name of the object, the subject, and the name of the object corresponding to the description of the subject and the object in the ion data.

【0123】これに対してドゥコネクト(DoConnect)
において、オブジェクトマネージャは、ドゥイニシャラ
イズ(DoInit)における登録に基づいて、オブザーバを
有する各オブジェクトのエントリ(Connect)に対し
て、それぞれ登録対象であるサブジェクトのサブジェク
トID(オブジェクトID)、エントリ(Control)を
通知する。これによりこの通知を受けたオブジェクトに
おいて、通知されたサブジェクトID、エントリ(Cont
rol)を用いて対応するサブジェクトを呼び出し、ここ
にエントリ(Notify)が接続登録される。また、接続登
録が要求されたサブジェクトよりレディ(Ready)がオ
ブザーバに返され、これによりオブザーバと対応するサ
ブジェクトとが結合される。
On the other hand, do connect (DoConnect)
, The object manager assigns the subject ID (object ID) and the entry (Control) of the subject to be registered to the entry (Connect) of each object having the observer based on the registration in the do-initialization (DoInit). Notice. As a result, the notified subject ID and entry (Cont.
rol), the corresponding subject is called, and an entry (Notify) is registered here. Also, Ready is returned to the observer from the subject for which connection registration has been requested, and the observer is combined with the corresponding subject.

【0124】このようにしてオブザーバ及びサブジェク
ト間でオブジェクト間通信を構築するにつきオブジェク
トマネージャにおいては、結合情報(Connection Dat
a)で通知されたオブザーバに対して対応するサブジェ
クトのサブジェクトID(オブジェクトID)、エント
リ(Control)を通知する。これにより、各オブジェク
トにおいては、何ら結合対象のオブジェクトを明示的に
示すことなく開発できるようになされ、また必要に応じ
てオブジェクトマネージャの指示により種々のオブジェ
クトと結合できるようになされ、これにより従来に比し
て高い独立性を確保できるようになされている。
In constructing inter-object communication between the observer and the subject in this way, in the object manager, the connection information (Connection Dat
The observer notified in a) is notified of the subject ID (object ID) and entry (Control) of the corresponding subject. As a result, each object can be developed without explicitly indicating an object to be combined, and if necessary, can be combined with various objects by the instruction of the object manager. It is designed to ensure a higher level of independence.

【0125】また、このときオブジェクトマネージャに
より結合情報(Connection Data)に従ってオブジェク
ト間通信を構築することにより、簡易かつ自在に形態依
存ソフトウェアを更新して、形態に適してソフトウェア
を簡易に変更できるようになされている。
At this time, by constructing inter-object communication according to the connection information (Connection Data) by the object manager, the form-dependent software can be updated easily and freely, and the software can be easily changed to suit the form. It has been done.

【0126】これに対してドゥスタート(DoStart)に
おいて、オブジェクトマネージャは、上述したセレクタ
番号1により各オブジェクトにドゥスタート(DoStar
t)を指示する。各オブジェクトにおいては、オブザー
バを有する場合、ドゥコネクト(DoConnect)により取
得したサブジェクトID、エントリ(Ready)を用いて
サブジェクトにレディ(Ready)を送出し、これにより
対応するサブジェクトよりデータ受信可能な状態が形成
され、形態依存ソフトウェアにおいては、動作を開始す
るようになされている。
On the other hand, in DoStart, the object manager assigns DoStart (DoStar) to each object by the selector number 1 described above.
t). When each object has an observer, the object sends Ready to the subject by using the subject ID and entry (Ready) acquired by DoConnect, and the data can be received from the corresponding subject. In the form-dependent software, the operation is started.

【0127】すなわち、マルチオブザーバによるサブジ
ェクトにおいては、登録したオブザーバのうちのレディ
(Ready)を送出しているオブザーバに例えばセンサ出
力であるデータをノーティファイ(Notify)し、またオ
ブザーバにおいては、受信したデータの処理を完了して
次のデータを受信可能となるとレディ(Ready)を送出
する。
That is, in the case of a subject by a multi-observer, for example, data that is a sensor output is notified to the observer that sends out a ready signal among the registered observers, and the observer receives the received data. When the data processing is completed and the next data can be received, Ready is sent out.

【0128】これに対して上述したシャットダウン、プ
ラグイン、プラグアウト、状態変更の場合、デザインロ
ボットより通知される結合情報(Connection Data)
が、以前デザインロボットより送出されて登録した内容
と異なることにより、この場合オブジェクトマネージャ
は、上述したセレクタ番号2により各オブジェクトにド
ゥストップ(DoStop)を送出する。この場合オブザーバ
にあっては、エントリ(Ready)を解除する。
On the other hand, in the case of the shutdown, plug-in, plug-out, and state change described above, connection information (Connection Data) notified from the design robot.
In this case, the object manager sends a do-stop (DoStop) to each object by the selector number 2 described above because the content is different from the content registered and sent from the design robot before. In this case, the entry (Ready) is released from the observer.

【0129】また、ドゥディスコネクト(DoDisconnec
t)において、オブジェクトマネージャは、サブジェク
トとオブザーバとの間の通信接続を遮断する。この場
合、オブジェクトマネージャは、オブザーバのエントリ
(Connect)に対してドゥディスコネクト(DoDisconnec
t)のメッセージを送出することにより、オブザーバよ
り対応するサブジェクトにエントリ(Control)の切断
要求(Remove Observer)を発行させ、これにより通信
接続を遮断する。
[0129] Also, DoDisconnec
At t), the object manager cuts off the communication connection between the subject and the observer. In this case, the object manager responds to the observer entry (Connect) with a DoDisconnec connection.
By sending the message of t), the observer issues a request to remove the entry (Control) (Remove Observer) to the corresponding subject, thereby cutting off the communication connection.

【0130】これに対してドゥデストロイ(DoDestro
y)において、オブジェクトマネージャは、上述したセ
レクタ番号3により対応するオブジェクトにドゥデスト
ロイ(DoDestroy)を送出し、これによりこのオブジェ
クトを破壊する。このときこのオブジェクトにおいて
は、ドゥイニシャライズ(DoInit)で実行した登録の解
除を実行する。
On the other hand, DoDestro
In y), the object manager sends DoDestroy to the corresponding object by the selector number 3 described above, thereby destroying this object. At this time, in this object, the registration performed by DoInit is canceled.

【0131】オブジェクトアンロード(Object Unloa
d)において、オブジェクトマネージャは、ドゥデスト
ロイ(DoDestroy)により破壊したオブジェクトについ
て、スタックメモリ、ヒープメモリの領域を開放し、こ
のオブジェクトをアンロードする。また、ロード時に登
録したサブジェクトID、サブジェクト名を抹消する。
Object unload (Object Unloa
In d), the object manager releases the area of the stack memory and the heap memory for the object destroyed by DoDestroy, and unloads this object. Further, the subject ID and subject name registered at the time of loading are deleted.

【0132】オブジェクトマネージャは、これらの制御
により、例えば結合情報(Connection Data)をデザイ
ンロボットより受け取ると、図16に示すシーケンスに
よりドゥスタート(DoStart)までの制御を実行する。
When the object manager receives, for example, connection information (Connection Data) from the design robot under these controls, the object manager executes control up to DoStart according to the sequence shown in FIG.

【0133】すなわち、オブジェクトマネージャは、メ
ッセージにより結合情報(Connection Data)が送られ
ると起動し、例えばこの結合情報に記述されたオブジェ
クトA及びオブジェクトBをロードする。なお、ここで
はオペレーションシステムのシステム命令によりオブジ
ェクトA及びオブジェクトBをロードする。このときオ
ブジェクトマネージャは、オブジェクトA及びBのオブ
ジェクトIDを取得して登録する。
That is, the object manager is activated when connection information (Connection Data) is sent by a message, and loads, for example, the object A and the object B described in the connection information. Here, the object A and the object B are loaded by a system instruction of the operation system. At this time, the object manager acquires and registers the object IDs of the objects A and B.

【0134】続いてオブジェクトマネージャは、上述し
たようにしてこの取得したオブザーバID、セレクタ番
号0によりオブジェクトA及びBのドゥイニシャライズ
(DoInit)を起動し、これによリオブジェクトA及びB
より、サブジェクトとしてのエントリ(Control)、オ
ブジェクトとしてのエントリ(Connect)を取得して登
録する。
Subsequently, the object manager activates DoInit of the objects A and B with the obtained observer ID and selector number 0 as described above, and thereby the re-objects A and B
Then, an entry (Control) as a subject and an entry (Connect) as an object are acquired and registered.

【0135】続いて登録したエントリ(Connect)を用
いてオブザーバであるオブジェクトAのドゥコネクト
(DoConnect)を起動し、サブジェクトであるオブジェ
クトBとこのオブジェクトAとを結合する。このように
して結合情報(Connection Data)に基づいてオブジェ
クト間通信が構築され、オブジェクトマネージャは、続
いてオブジェクトA及びBのドゥスタート(DoStart)
を起動する。
Subsequently, the doConnect (DoConnect) of the object A, which is an observer, is activated using the registered entry (Connect), and the object A, which is a subject, is connected to the object A. In this manner, communication between objects is established based on the connection information (Connection Data), and the object manager subsequently performs DoStart of the objects A and B.
Start

【0136】図17は、このドゥスタート(DoStart)
以降のシーケンスを示すタイムチャートである。オブジ
ェクトマネージャのドゥスタート(DoStart)によりオ
ブジェクトA、オブジェクトB、他のオブジェクト等が
起動すると、これらのオブジェクトにおいては、上述し
たレディ(Ready)とノーティファイ(Notify)とを用
いてオブジェクト間通信を実行する。
FIG. 17 shows this do start (DoStart).
6 is a time chart showing a subsequent sequence. When the objects A, B, and other objects are activated by DoStart of the object manager, these objects execute inter-object communication using the above-mentioned Ready and Notify. I do.

【0137】すなわち、この場合、起動によりオブジェ
クトAがオブジェクトBのレディ(Ready)エントリに
レディ(Ready)メッセージを送出し、オブジェクトB
によるオブジェクトAのノーティファイ(Notify)エン
トリによりオブジェクトBからオブジェクトAにデータ
等が送出される。また、このデータの処理中に、オブジ
ェクトAよりオブジェクトBのレディ(Ready)エント
リに未だメッセージが送出されていない場合には、オブ
ジェクトBによるオブジェクトAのノーティファイ(No
tify)エントリが登録され、オブジェクトAによるオブ
ジェクトBのレディ(Ready)エントリによりデータ等
が送出される。これによりこのオブジェクト間通信にお
いては、オブジェクトAのデータ処理能力を越えたデー
タの伝送が防止される。
That is, in this case, upon activation, the object A sends a ready message to the ready entry of the object B, and the object B
The data and the like are sent from the object B to the object A by the Notify entry of the object A according to (1). If a message has not yet been sent from the object A to the ready entry of the object B during the processing of this data, the notifying of the object A by the object B (No.
tify) entry is registered, and data and the like are transmitted by a ready (Ready) entry of the object B by the object A. As a result, in this inter-object communication, transmission of data exceeding the data processing capability of the object A is prevented.

【0138】図18は、プラグイン、プラグアウト、状
態変更におけるシーケンスを示すタイムチャートであ
る。オブジェクトマネージャは、デザインロボットより
通知される結合情報(Connection Data)が、以前デザ
インロボットより送出されて登録した内容と異なってい
ると、全てのオブジェクトにドゥストップ(DoStop)を
送出し、全てのオブジェクトの動作を停止する。この場
合、各オブジェクトA及びBにおいては、エントリ(Re
ady)を解除することにより、それ以後、自己のノーテ
ィファイエントリが起動されないようにする。
FIG. 18 is a time chart showing a sequence in plug-in, plug-out, and state change. If the connection information (Connection Data) notified by the design robot is different from the registered content sent from the design robot before, the object manager sends a DoStop to all objects and sends all objects Stop the operation of. In this case, in each of the objects A and B, the entry (Re
By canceling ady), its own notify entry will not be activated thereafter.

【0139】全てのオブジェクトのドゥストップ(DoSt
op)が完了すると、オブジェクトマネージャは、この場
合、オブジェクトAにドゥディスコネクト(DoDisconne
ct)を通知してこのオブジェクトAを他のオブジェクト
と切り離した後、このオブジェクトAのドゥデストロイ
(DoDestroy)を起動する。これによリオブジェクトA
のリソースを開放し、またドゥイニシャライズ(DoIni
t)で実行したオブジェクトBの登録を解除する。
[0139] Do stop of all objects (DoSt
op) is completed, the object manager, in this case, assigns a DoDisconne
ct), the object A is separated from other objects, and then DoDestroy of the object A is started. This allows re-object A
Free up resources and re-initialize (DoIni
The registration of the object B executed in t) is canceled.

【0140】必要なオブジェクトに対するドゥデストロ
イ(DoDestroy)が終了するとオブジェクトマネージャ
は、アンロードをオペレーションシステムのシステム命
令により実行する。なお、ここで必要なオブジェクトの
destructorが呼び出され、この場合はオブジェクトAの
destructorが呼び出されることにより、ロード時に実行
したオブジェクトAの登録を解除する。さらに、オブジ
ェクトマネージャは、スタックメモリ、ヒープメモリを
開放し、これによりオブジェクトAのアンロードを完了
する。
When DoDestroy for a required object ends, the object manager executes unloading by a system instruction of the operation system. Note that the required object
destructor is called, in this case the object A
When the destructor is called, the registration of the object A executed at the time of loading is canceled. Further, the object manager releases the stack memory and the heap memory, thereby completing the unloading of the object A.

【0141】統いてオブジェクトマネージャは、結合情
報(Connection Data)に従ってオブジェクトCのロー
ドを指示し、図16について上述したと同様にして、順
次ドゥイニシャライズ(DoInit)、ドゥコネクト(DoCo
nnect)、ドゥスタート(DoStart)を起動する。これに
よりこの場合、動作中に、コンパイルすることなくオブ
ジェクトA及びBによる構成がオブジェクトB及びCに
よる構成に変更されるようになされている。
Then, the object manager instructs the loading of the object C in accordance with the connection information (Connection Data), and sequentially performs the initialization (DoInit) and the deconnect (DoCoCo) in the same manner as described above with reference to FIG.
nnect), start DoStart. Thus, in this case, the configuration of the objects A and B is changed to the configuration of the objects B and C during the operation without compiling.

【0142】以上、図12乃至図18を用いて、オブジ
ェクト間通信等について説明をした。次に、実施の形態
における要部である本発明に関するネットワークシステ
ムについて説明する。本発明が適用されるネットワーク
システムは、ネットワーク上においてリモートシステム
(例えば、端末をパーソナルコンピュータとするシステ
ム)に接続されているロボット装置の当該ソフトウェア
を変更すること等を可能とするものであって、ロボット
装置1がリモートシステムに接続されることが前提とな
るネットワークシステムである。
The inter-object communication and the like have been described above with reference to FIGS. Next, a network system according to the present invention, which is a main part of the embodiment, will be described. The network system to which the present invention is applied enables the software of a robot device connected to a remote system (for example, a system in which a terminal is a personal computer) to be changed on a network, and the like. This is a network system on the premise that the robot apparatus 1 is connected to a remote system.

【0143】図19には、本発明が適用されるネットワ
ークシステムの構成例を示している。このネットワーク
システムは、ローカルエリアネットワークとして構築さ
れており、このネットワークシステムにおいて、リモー
トシステム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(ローカルエリ
アネットワーク)上のマシン(電子機器)として扱われ
るようになる。
FIG. 19 shows a configuration example of a network system to which the present invention is applied. This network system is constructed as a local area network. In this network system, the remote system 30 is a system having a personal computer 32 or a workstation 33 as a terminal, and the robot apparatus 1 provides a means for communicating with the network. It is a robot device equipped with. And the robot apparatus 1
PC for wireless LAN as adapter for network communication
The remote system 30 includes a network adapter 31 for communicating with the robot apparatus 1. In a network system, TCP / IP (Transmis- sion), which is a protocol for network communication, is used.
The communication between the remote system 30 and the robot apparatus 1 is performed by adopting the Ssion Control Protocol / Internet Protocol). Thus, the IP address is given to the robot device 1 so that the robot device 1 can communicate with the personal computer 32 on the network system. By constructing a network system that enables communication with the robot device 1 in this manner, the robot device 1 is handled as a machine (electronic device) on a wireless LAN (local area network).

【0144】なお、ロボット装置1は、例えば図19に
示すように、少なくとも、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ともにこのような構成を
有している。
The robot device 1 includes at least a PC card I / F 42, a flash ROM 43, a DRAM 44, and a CPU 45, as shown in FIG. The PC card I / F 42 is an interface for the wireless LAN PC card 41 and has a flash ROM
The 43 and the DRAM 44 are storage means for storing various information handled by the robot device 1, and the CPU 45 is a control means for controlling each part of the robot device 1. For example, the CPU 45 may operate the central processing unit 22 shown in FIG.
Is supported. FIG. 19 shows three robot devices 1. Each of the robot devices 1 has such a configuration.

【0145】後で詳述するが、このようなネットワーク
システムにより、ロボット装置1の開発サイドでは、ネ
ットワークにロボット装置1を接続した状態で当該ロボ
ット装置1の有するオブジェクトを開発することができ
る。また、ユーザサイドでは、パーソナルコンピュータ
32等によってネットワーク上のロボット装置1の内部
状態等を監視することができるようになる。
As will be described in detail later, such a network system allows the development side of the robot apparatus 1 to develop an object of the robot apparatus 1 while the robot apparatus 1 is connected to the network. Further, on the user side, the internal state of the robot device 1 on the network can be monitored by the personal computer 32 or the like.

【0146】なお、上述の例では、無線LANによりネ
ットワークシステムにロボット装置1が接続されている
が、これは例えばロボット装置1のように動き回る計算
機には物理的な結線が存在しないほうが望ましい、とい
う理由からくるものであり、よって、無線により通信が
なされることに限定されるものではなく、例えば、ロボ
ット装置1とパーソナルコンピュータ32とを有線より
通信することも可能である。
In the above-described example, the robot apparatus 1 is connected to the network system by the wireless LAN. However, it is desirable that a computer that moves around like the robot apparatus 1 has no physical connection. For this reason, the communication is not limited to the wireless communication. For example, the robot device 1 and the personal computer 32 can communicate with each other by wire.

【0147】図20には、上述したようなネットワーク
システムにおいて通信を可能とするロボット装置1及び
リモートシステム30の構成例を示している。
FIG. 20 shows a configuration example of the robot apparatus 1 and the remote system 30 which enable communication in the above-described network system.

【0148】ロボット装置1は、通信部分として、無線
LAN用PCカード41、デバイスドライバ46、TC
P/IPプロトコルスタック47及び及びTCPゲート
ウェイ48を備え、リモートシステム30は、通信部分
として、ネットワークアダプタ31、デバイスドライバ
51及びTCPゲートウェイ52を備えている。
The robot apparatus 1 includes a wireless LAN PC card 41, a device driver 46, a TC
The remote system 30 includes a P / IP protocol stack 47 and a TCP gateway 48, and the remote system 30 includes a network adapter 31, a device driver 51, and a TCP gateway 52 as communication parts.

【0149】ロボット装置1及びリモートシステム30
がともに最下層にネットワーク用のアダプタを備えてお
り、ロボット装置1におけるハードウェアとしての無線
LAN用PCカード41及びリモートシステム30にお
けるネットワークアダプタ31はそのネットワーク用の
アダプタを構成している。
[0149] Robot apparatus 1 and remote system 30
Both have a network adapter in the lowermost layer, and the wireless LAN PC card 41 as hardware in the robot apparatus 1 and the network adapter 31 in the remote system 30 constitute the network adapter.

【0150】ここで、第1の電子機器とされるロボット
装置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の情報処理
プロセスとの間でプロセス間通信(オブジェクト間通
信)がなされる。
Here, the wireless LAN PC card 41 (for example, including the PC card I / F) of the robot apparatus 1 as the first electronic apparatus is used for the information processing process (object) of the robot apparatus 1. A first communication means having an information processing process (gateway object 48) for transmitting and receiving data by means of
A network adapter 31 connected to a personal computer 32 (remote system 30), which is an electronic device of the present invention, transmits and receives data to and from an information processing process (object) on the personal computer 32 (a gateway object 52). (Assigned) as the second communication means. Then, in the network system, a wireless LAN PC
When the card 41 and the network adapter 31 are connected wirelessly or by wire, the wireless LAN PC card 4
By performing inter-process communication (inter-object communication) between the information processing process (gateway object 48) for transmitting and receiving data of the first data and the information processing process (gateway object 52) for transmitting and receiving data of the network adapter 31 Communication between processes (communication between objects) is performed between the information processing process of the robot apparatus 1 and the information processing process of the personal computer 32.

【0151】また、無線LAN用PCカード41のデー
タの送受信を行う情報処理プロセスとパーソナルコンピ
ュータ32のデータの送受信を行う情報処理プロセスと
の間で、ネットワーク通信で良く用いられるTCP/I
Pのデータ通信方式を採用したデータ通信を行ってい
る。
A TCP / I which is frequently used in network communication between an information processing process for transmitting and receiving data of the wireless LAN PC card 41 and an information processing process for transmitting and receiving data of the personal computer 32 is used.
Data communication using the data communication method of P is performed.

【0152】ロボット装置1及びリモートシステム30
はともに、このような無線LAN用PCカード41及び
ネットワークアダプタ31の上位にデバイスドライバ4
6,51を有している。
The robot apparatus 1 and the remote system 30
Are device drivers 4 above the wireless LAN PC card 41 and the network adapter 31.
6,51.

【0153】デバイスドライバ46,51は、各ネット
ワーク用のアダプタとされる無線LAN用PCカード4
1及びネットワークアダプタ31を制御するソフトウェ
アである。
The device drivers 46 and 51 are provided for the wireless LAN PC card 4 which is an adapter for each network.
1 and software for controlling the network adapter 31.

【0154】そして、ロボット装置1及びリモートシス
テム30では、デバイスドライバ46,51の上位に、
図示しないTCP/IPのソケットインターフェースを
有している。ロボット装置1及びリモートシステム30
では、TCP/IPのソケットインターフェースを介し
て、データの入出力を行う。例えば、ロボット装置1側
ではソケットライブラリーに相当するプロトコルスタッ
クオブジェクトを有しており、これによりアクセスす
る。
Then, in the robot apparatus 1 and the remote system 30, the device drivers 46 and 51
It has a TCP / IP socket interface (not shown). Robot apparatus 1 and remote system 30
Then, data is input / output via a TCP / IP socket interface. For example, the robot device 1 has a protocol stack object corresponding to a socket library, and accesses by using this.

【0155】そして、ロボット装置1及びリモートシス
テム30が図示しないTCP/IPのソケットインター
フェースの上位層としてゲートウェイオブジェクト(T
CPゲートウェイ)48,52がある。ゲートウェイオ
ブジェクト48,52は、ネットワークへの出入り口を
構成するものとなる。ゲートウェイオブジェクト48,
52は、上述したオブジェクト間通信とネットワーク通
信のプロトコルとされるTCP/IPプロトコルとの変
換を行う。
The robot object 1 and the remote system 30 serve as a gateway object (T) as an upper layer of a TCP / IP socket interface (not shown).
CP gateway) 48,52. The gateway objects 48 and 52 constitute gateways to the network. Gateway object 48,
Reference numeral 52 performs conversion between the above-described inter-object communication and the TCP / IP protocol which is a protocol for network communication.

【0156】各システム内の2つのゲートウェイオブジ
ェクト48,52について、一方のゲートウェイオブジ
ェクトはサーバ(以下、サーバゲートウェイオブジェク
トという。)としての役割を果たし、他方のゲートウェ
イオブジェクトはクライアント(以下、クライアントゲ
ートウェイオブジェクトという。)として役割を果た
す。例えば、システムの性質を考慮し、ユーザとのやり
取りを仲介するリモートシステム側のゲートウェイオブ
ジェクトがクライアントゲートウェイオブジェクトとな
り、ターゲットシステム(ロボット装置)のゲートウェ
イオブジェクトをサーバゲートウェイオブジェクトとな
る。ゲートウェイオブジェクト48,52の動作は、具
体的には次のようになる。
Regarding the two gateway objects 48 and 52 in each system, one gateway object serves as a server (hereinafter, referred to as a server gateway object), and the other gateway object serves as a client (hereinafter, referred to as a client gateway object). .). For example, in consideration of the characteristics of the system, the gateway object on the remote system side that mediates the exchange with the user becomes the client gateway object, and the gateway object of the target system (robot device) becomes the server gateway object. The operation of the gateway objects 48 and 52 is specifically as follows.

【0157】ゲートウェイオブジェクト48,52は、
port.cfgファイルという通信方式の設定が記述された
設定ファイルを有しており、これによってオブジェクト
間通信で定義される通信のサービス名とTCP/IPの
通信で用いられるIPアドレスとポート番号の対応を取
る。
The gateway objects 48 and 52 are:
port. It has a configuration file that describes the settings of the communication method called a cfg file, and this makes correspondence between the service name of the communication defined in the inter-object communication, the IP address and the port number used in the TCP / IP communication. .

【0158】図21には、port.cfgファイル(設定フ
ァイル)の一例を示している。例えば、port.cfgファ
イルには、テキストデータ形式として各種情報が記述さ
れており、具体的には、オブジェクト名、データ名、サ
ブジェクト名、ポート番号、IPアドレス等が記述され
ている。また、このport.cfgファイルは書き換えが自
由になされるようになっている。
FIG. 21 shows that port. An example of a cfg file (configuration file) is shown. For example, port. The cfg file describes various types of information in a text data format, and specifically describes an object name, a data name, a subject name, a port number, an IP address, and the like. Also, this port. The cfg file can be freely rewritten.

【0159】各ゲートウェイオブジェクト48,52
は、上述の図12或いは図15に示すようなオブジェク
トAとオブジェクトBとの関係とされていることから、
所定のシーケンスに沿って所定の処理を行うことができ
る。具体的には、各ゲートウェイオブジェクト48,5
2は、代理プログラムとされるオブザーバ及びサブジェ
クトを動的に生成して、それぞれが有するport.cfgフ
ァイルに記述されたサービス名とそのオブザーバ又はサ
ブジェクトのIDを結びつけて、各々のシステム上のサ
ービスマネージャ(オブジェクトマネージャ)に登録を
行う。
Each gateway object 48, 52
Is a relationship between the object A and the object B as shown in FIG. 12 or FIG.
A predetermined process can be performed according to a predetermined sequence. Specifically, each gateway object 48,5
2 dynamically generates an observer and a subject as a proxy program, and has a port. By linking the service name described in the cfg file with the ID of the observer or subject, registration is made with a service manager (object manager) on each system.

【0160】また、上述したように、port.cfgファイ
ルへのサービス名が自由に記述することができるように
なっており、各ゲートウェイオブジェクト48,52
は、port.cfgファイルにそのように自由に記述されて
いる全てのサービスを実行する。このように、port.cf
gファイルへのサービス名の記述の制限をなくすことに
より、このゲートウェイオブジェクト48,52を介し
てあらゆるオブジェクト間(ロボット装置1のオブジェ
クトとパーソナルコンピュータ32のオブジェクト)の
オブジェクト間通信ができるようになる。
Further, as described above, port. The service name in the cfg file can be freely described, and each gateway object 48, 52
Is port. Executes all services so freely described in the cfg file. Thus, port. cf
By eliminating the restriction on the description of the service name in the g file, inter-object communication between any objects (the object of the robot apparatus 1 and the object of the personal computer 32) can be performed via the gateway objects 48 and 52.

【0161】ここで、サービス名はport.cfgファイル
に記述されているネットワークポート(IPアドレスと
ポート番号)に対応するために結局はオブザーバ又はサ
ブジェクトのIDとボート番号が対応することになる。
また、ネットワーク上で異なる場所に存在するゲートウ
ェイオブジェクトにおいて、port.cfgファイルの記述
を対応させる、すなわち対応するオブジェクト間通信の
サービス名に対して同じポート番号を割り付けることに
より、ネットワーク上において、ロボット装置1とリモ
ートシステム30とのそれぞれのゲートウェイオブジェ
クト48,52間でのオブジェクト間通信の対応が取ら
れる。
Here, the service name is port. In order to correspond to the network port (IP address and port number) described in the cfg file, the ID of the observer or subject and the port number will eventually correspond.
In a gateway object existing at a different location on the network, the port. By associating the description of the cfg file, that is, by assigning the same port number to the corresponding service name of the communication between the objects, the respective gateway objects 48 and 52 of the robot apparatus 1 and the remote system 30 on the network. Of inter-object communication is taken.

【0162】そして、リモートシステム30のクライア
ントゲートウエイオブジェクト52内のオブザーバ又は
サブジェクトに接続要求がきた場合、対応するポート番
号に対して接続(connect命令)を行う。ここで、ター
ゲットシステム(ターゲットボード、ロボット装置1)
側のサーバゲートウェイオブジェクト48が既に起動し
ていれば接続が成立する。一方、ターゲットシステムの
準備できていなければ数秒後に再接続を行い準備ができ
るまで待ち、接続を成立させる。
When a connection request comes to an observer or a subject in the client gateway object 52 of the remote system 30, a connection (connect command) is made to the corresponding port number. Here, the target system (target board, robot device 1)
If the server gateway object 48 on the side has already been activated, the connection is established. On the other hand, if the target system has not been prepared, the connection is re-established after a few seconds and waited until the preparation is completed to establish the connection.

【0163】接続が成立すると、以後、ゲートウェイオ
ブジェクトのオブザーバ又はサブジェクトは、データ
(ノーティファイ(Notify)やレディ(Ready)メッセ
ージ)を受信するたびに、対応するポートにそのメッセ
ージが送りこまれる。また、逆にネットワークポートが
データを受信すれば対応するオブザーバはノーティファ
イ(Notify)メッセージを送り出し、また、サブジェク
トはレディ(Ready)メッセージを送り出す。
After the connection is established, the observer or the subject of the gateway object sends the message (Notify or Ready message) to the corresponding port every time it receives data (Notify or Ready message). Conversely, if the network port receives the data, the corresponding observer sends a Notify message, and the subject sends a Ready message.

【0164】上述したようにシステム間(ロボット装置
1とリモートシステム30との間)の接続が確立される
と、本来ネットワークにより接続されるロボット装置1
とリモートシステム30とを、複数のオブジェクトから
なる一つのシステムとして取り扱うことができるように
なる。すなわち例えば、図22に示すように、接続前に
おいては、一群のオブジェクト(例えば、ソフトウェア
の一部)からなるシステムA(例えば、ロボット装置
1)と、他の一群のオブジェクト(例えば、ソフトウェ
アの一部)からなるシステムB(例えば、リモートシス
テム30)とが図中点線で示すような境界を境にそれぞ
れ独立して構築された存在とされるが、接続後において
は、図中点線をまたぐコネクションが切断されて、図2
3に示すような仮想的なゲートウェイオプジェクト(例
えば、ゲートウェイオブジェクト48,52の組)GO
を一つおいて各システムのオブジェクト群が接続された
ことと等価になる。これにより、ロボット装置1のオブ
ジェクトとリモートシステム30のオブジェクトとが一
つのシステムを構成するものと把握されるようになり、
ロボット装置1は、一つの仮想的なゲートウェイオブジ
ェクトGOを介してネットワーク越しのリモートシステ
ム30で動作されるようになる。
When the connection between the systems (between the robot apparatus 1 and the remote system 30) is established as described above, the robot apparatus 1 originally connected by the network is connected.
And the remote system 30 can be handled as one system including a plurality of objects. That is, for example, as shown in FIG. 22, before connection, a system A (for example, the robot apparatus 1) including a group of objects (for example, a part of software) and another group of objects (for example, software The system B (e.g., the remote system 30) is constructed independently of each other at a boundary indicated by a dotted line in the figure, but after the connection, the connection crosses the dotted line in the figure. Is cut off, and FIG.
A virtual gateway object (for example, a set of gateway objects 48 and 52) GO as shown in FIG.
Is equivalent to connecting the object group of each system. As a result, the object of the robot apparatus 1 and the object of the remote system 30 are grasped as constituting one system,
The robot apparatus 1 is operated by the remote system 30 via the network via one virtual gateway object GO.

【0165】よって、仮想的なゲートウェイオブジェク
ト(仮想ゲートウェイオブジェクト)GOによりシステ
ム間(ロボット装置1とリモートシステム30)が接続
され、図20に示したようなデータの受け渡しが全て行
わることになるので、各システム(ロボット装置1及び
リモートシステム30)のゲートウェイオブジェクトに
接続されたオブジェクトは、ネットワーク越しの通信を
全く意識することなく、他のシステム上に存在するオブ
ジェクトとの間でオブジェクト間通信を行うことができ
るようになる。
Therefore, the virtual gateway object (virtual gateway object) GO connects the systems (the robot apparatus 1 and the remote system 30), and all data transfer as shown in FIG. 20 is performed. The object connected to the gateway object of each system (the robot apparatus 1 and the remote system 30) performs inter-object communication with an object existing on another system without being aware of communication over the network at all. Will be able to do it.

【0166】また、図22に示すようなネットワーク構
成から図23に示すようなネットワーク構成への変更を
オブジェクト間の接続の変更と等価なものとして取り扱
うことができるので、図23に示すようなネットワーク
構成は、新たにオプジェクトのコードに変更を加える必
要がなく、所望のオブジェクト同士を接合するためのコ
ネクションファイルの記述を変えるだけで実現される。
Further, a change from the network configuration shown in FIG. 22 to the network configuration shown in FIG. 23 can be treated as being equivalent to a change in the connection between objects. The configuration can be realized by simply changing the description of a connection file for joining desired objects without the need to newly change the object code.

【0167】また、リモートシステム30とターゲット
システム(ロボット装置1)にてOSやプロセッサの違
いなどにより同じコードが実行できない場合でも、上述
のオブジェクト間通信のフレームワークはOSやプロセ
ッサに依存しないために、実行するシステム上で実装さ
れたフレームワークに基づいて再コンパイルしなおすこ
とで当該実行するシステム上にて実行可能オブジェクト
を生成することができる。
Even when the same code cannot be executed between the remote system 30 and the target system (robot device 1) due to a difference between the OS and the processor, the above-described framework for inter-object communication does not depend on the OS or the processor. By recompiling based on the framework implemented on the system to be executed, an executable object can be generated on the system to be executed.

【0168】このようなネットワークシステムにより、
ターゲットシステム(ロボット装置1)上のオブジェク
トに接続(通信状態)されたリモートシステム30上の
オブジェクトを、リモートシステム30にて変更するこ
とができるようになる。これにより、ターゲットシステ
ムの実際の状態(実環境)が考慮されて、或いはリアル
タイムにて、オブジェクトをリモートシステム30上に
て開発(設計)することができるようになる。
With such a network system,
An object on the remote system 30 connected (communicated) to an object on the target system (robot device 1) can be changed by the remote system 30. Thus, the object can be developed (designed) on the remote system 30 in consideration of the actual state (real environment) of the target system or in real time.

【0169】また、開発後は、リモートシステム30上
で開発したオブジェクトが再コンパイルしてロボット装
置1に導入される。よって、ロボット装置1に導入され
たオブジェクトは、開発時点でロボット装置1に搭載さ
れた状態(実環境)での検討がなされているので、何ら
問題なく、例えば他のオブジェクトと不都合を生じるこ
となく、ロボット装置1にて処理を実行するようにな
る。また、単に仮想的なゲートウェイオブジェクトの接
続によりオブジェクトの開発が実現されるので、オブジ
ェクトの開発は容易なものとなる。
After the development, the objects developed on the remote system 30 are recompiled and introduced into the robot device 1. Therefore, since the object introduced into the robot apparatus 1 is examined in a state (real environment) mounted on the robot apparatus 1 at the time of development, there is no problem, for example, without causing inconvenience with other objects. Then, the processing is executed by the robot apparatus 1. Further, since the development of the object is realized simply by connecting the virtual gateway objects, the development of the object becomes easy.

【0170】ここで、以上説明した内容について、所定
の規格、例えばソニー社の提唱するエンターテインメン
トロボットのためのハードウェア及びソフトウェアのプ
ラットフォーム技術であるOPEN−Rに適用したネッ
トワーク拡張技術について説明する。このプラットフォ
ーム技術においては、ソフトウェアがコンポーネント化
され、オブジェクト(プロセスに相当)という単位で実
行される。
Here, regarding the contents described above, a network expansion technology applied to a predetermined standard, for example, OPEN-R, a hardware and software platform technology for an entertainment robot proposed by Sony Corporation, will be described. In this platform technology, software is componentized and executed in units of objects (corresponding to processes).

【0171】オブジェクト指向におけるデザインパター
ンのオブザーバパターンを基に設計されたオブジェクト
間の通信規約が決められており、ユーザは、オブジェク
トに入力されるデータ構造とそのサービス名、それを処
理するメソッド、出力データ構造とそのサービス名の3
つを定義する必要がある。これらが個々に定義されたオ
ブジェクトを接続することでイベントが伝搬し、認識か
ら行動までロボットの一連のシステムが実現される。
The communication protocol between objects designed based on the observer pattern of the design pattern in the object orientation is determined, and the user can specify the data structure input to the object, the service name thereof, the method for processing it, and the output. Data structure and its service name 3
One needs to be defined. The event is propagated by connecting these individually defined objects, and a series of robot systems from recognition to action are realized.

【0172】オブジェクト間通信は、以下のような特徴
を持つ。 ・オブジェクト設計時には受信するデータと送信するデ
ータだけを定義してメッセージの送信先と受信元は決め
ない。 ・送受信する口をサービスといい、それぞれにはユーザ
が定義したユニークな名前が与えられる。 ・メッセージの送信と受信は、OSubjectとOObserber と
いう代理クラスが行う。それらのインスタンスが前述の
個々のサービスに1対1で対応する。 ・サービスとサービスの接続はコネクションファイルに
定義され、システムの起動時にOSubjectとOObserber の
インスタンスに通知される。 ・サービス間の通信は非同期通信で、接続は多対多通信
をサポートしている。 ・受信可能であるというReady メッセージによってデー
タのフロー制御を行っている。 ・データのスケーラビリティの確保と受け渡しの高速化
のために共有メモリを使用している。
The inter-object communication has the following features. At the time of object design, only the data to be received and the data to be transmitted are defined, and the destination and the source of the message are not determined. -The mouth for sending and receiving is called a service, and each is given a unique name defined by the user. -Sending and receiving messages are performed by proxy classes OSubject and OObserber. These instances correspond one-to-one to the individual services described above. -Service-to-service connections are defined in the connection file and are notified to the OSubject and OObserber instances when the system starts. -Communication between services is asynchronous communication, and connection supports many-to-many communication. -Data flow is controlled by a Ready message indicating that data can be received. -Shared memory is used to ensure data scalability and speed up data transfer.

【0173】次に、ゲートウェイオブジェクトについて
説明する。ロボットにおいて無線ネットワークはその動
きが制限されないために非常に有用であり、ロボットの
センサ情報を送ったり、処理結果を送ったり、リモート
ホスト上のツールを使ってロボットを動かしたりなど、
種々の利用方法が考えられる。ネットワーク上の分散オ
ブジェクトに対するアクセスをクライアント側のプロキ
シに隠蔽することで意識させないフレームワークの提供
も知られているが、こうしたアプローチは新たなサービ
スを提供する度に通信用のオブジェクトを設計したり、
既存のオブジェクトやプロキシに通信用のコードを書き
加えたりすることになり開発の効率が悪い。ここで、ロ
ボット内部のソフトウェアは上記所定のプラットフォー
ム技術のプログラミングフレームワークに基づいて記述
されているために、オブジェクト間のデータの定義、通
信方法、通信相手の依存関係が全く分離されている。そ
こで、上記図20、図21と共に説明したように、ネッ
トワークの出入り口に相当するTCPゲートウェイとい
うオブジェクトを導入した。このオブジェクト(TCP
ゲートウェイ)は、オブジェクト間通信のサービス名と
TCP/IPのポート番号の対応が記述された設定ファ
イル(図21)を読み込み、サービスとポートを動的に
生成してそこに流されるデータのプロトコル変換を行う
(図20)。そこで決められたデータ用のポートに対し
てサービスを繋ぐことで通信相手を選択することがで
き、これにより通信方法と通信相手はTCPゲートウェ
イが解決してくれるために、オブジェクトの設計者はデ
ータの定義だけを決定すればよく、簡便にネットワーク
を利用することができる。
Next, the gateway object will be described. Wireless networks are very useful in robots because their movement is not restricted, such as sending sensor information of the robot, sending processing results, moving the robot using tools on a remote host, etc.
Various utilization methods are conceivable. It is also known to provide a framework that hides access to distributed objects on the network by hiding it on the client side proxy, but such an approach requires designing a communication object every time a new service is provided,
Writing communication code to existing objects and proxies is inefficient, resulting in poor development efficiency. Here, since the software inside the robot is described based on the programming framework of the predetermined platform technology, the definition of data between objects, the communication method, and the dependence of the communication partner are completely separated. Therefore, as described with reference to FIGS. 20 and 21, an object called a TCP gateway corresponding to an entrance / exit of a network is introduced. This object (TCP
The gateway) reads a setting file (FIG. 21) in which the correspondence between the service name of the inter-object communication and the TCP / IP port number is described, dynamically generates the service and the port, and converts the protocol of the data flowing there. (FIG. 20). The communication partner can be selected by connecting the service to the determined data port, and the communication method and the communication partner can be resolved by the TCP gateway. Only the definition needs to be determined, and the network can be easily used.

【0174】上述した所定のプラットフォーム技術のフ
レームワークは、Unix(登録商標)のFork(),exe
c()や、IPCのメッセージ通信と共有メモリに相当す
る機能、すなわち、文献「Unixネットワークプログラミ
ング, 第2版, Vol.2, IPC:プロセス間通信」W. Richa
rd Stevens, ピアソン・エデュケーション, 2000 を利
用すれば、現在ロボット上で利用されているOS以外で
も実装が可能である。ここで、Linux 上に用意された実
行可能環境下では、オブジェクトはロボット内部のコー
ドとソースコードレベルで互換であるので、両方のシス
テムで実行可能なコード記述が可能である。
The framework of the predetermined platform technology described above is based on Unix (registered trademark) Fork (), exe
c () and functions corresponding to IPC message communication and shared memory, ie, the document "Unix Network Programming, 2nd Edition, Vol. 2, IPC: Interprocess Communication" W. Richa
If you use rd Stevens, Pearson Education, 2000, you can implement other OS than the one currently used on the robot. Here, in an executable environment prepared on Linux, objects are compatible at the source code level with the code inside the robot, so that code that can be executed on both systems is possible.

【0175】このエミュレーション環境上で上述のTC
Pゲートウェイオブジェクトを同様に実装し、それぞれ
のTCPゲートウェイのポート番号を一致させると、上
記図23のように、2つのシステムを対称に接続するこ
とができる。これによりロボット内のオブジェクトとリ
モートホスト上のオブジェクトがリアルタイムで通信で
きるために、リモートホストのオブジェクト開発者は例
えばLinux 上の便利なツールを使いながら、ロボット上
のセンサ情報やロボットを動作させるコマンドを自由に
駆使できる。実際に複雑な画像認識をリモートホスト上
で行いその判断結果でロボットを動作させたり、商品化
されたペットプログラムの上位層のオブジェクトをコン
パイルし直してリモートホスト上でロボットと通信させ
ながら実行したりして、スタンドアローンシステムと実
時間性で全く遜色のないことを確認している。
In this emulation environment, the above TC
When the P gateway object is implemented in the same manner and the port numbers of the respective TCP gateways are matched, the two systems can be symmetrically connected as shown in FIG. This allows the object in the robot to communicate with the object on the remote host in real time, so the object developer on the remote host can use the useful tools on Linux, for example, to send sensor information on the robot and commands to operate the robot. You can use it freely. Actually perform complex image recognition on the remote host and operate the robot based on the judgment result, or recompile the upper layer object of the commercialized pet program and execute it while communicating with the robot on the remote host We have confirmed that there is no inferiority between the stand-alone system and real time.

【0176】勿論、組み込み機器のソフトウェア開発よ
り、Linux 等の汎用コンピュータ上でのソフトウェア開
発の方が圧倒的に効率が良い。また、世界中で利用され
ている開発環境でロボットのプログラムをすることがで
きることは普及面でも大きなメリットとなる。
Of course, software development on a general-purpose computer such as Linux is overwhelmingly more efficient than software development of embedded devices. In addition, being able to program a robot in a development environment used around the world is a great advantage in terms of popularization.

【0177】ここで開発されたコードを最終的に組込用
の開発環境でコンパイルし直し、スタンドアローンシス
テム用のソフトウェアとして商品パッケージ化すること
も可能である。
The code developed here can be finally recompiled in a development environment for embedding, and can be made into a product package as software for a stand-alone system.

【0178】次に、マルチCPUタイプのロボットへの
適用について説明する。上述のようなオブジェクト間通
信の拡張の仕組みは、組込用のCPUを2つ以上持った
ロボットシステムに対しても応用することができる。現
在2つのCPUは、上述した所定のロボット用のプラッ
トフォーム技術のいわゆるOPEN−Rバスを介して通
信することができるが、このバス通信のプロトコル変換
オブジェクトを導入することで、一方にあるモーション
制御用のオブジェクト群ともう一方にある思考系オブジ
ェクト群の通信が自由に定義できる。
Next, application to a multi-CPU type robot will be described. The mechanism for expanding the inter-object communication as described above can also be applied to a robot system having two or more embedded CPUs. At present, the two CPUs can communicate via the so-called OPEN-R bus of the platform technology for the predetermined robot described above. By introducing a protocol conversion object for the bus communication, one of the two CPUs can be used for motion control. The communication between the group of objects and the group of thinking objects in the other can be freely defined.

【0179】以上説明したように、TCPオブジェクト
を導入することでオブジェクト間通信でやり取りするデ
ータをネットワーク上から利用可能にし、Unix, Linux
等の汎用コンピュータシステム上に上記ロボット用の所
定のプラットフォーム技術のプログラミングフレームワ
ークを実現し、該プラットフォーム技術のアーキテクチ
ャの移植性を示すことができ、また、ゲートウェイとエ
ミュレータを組み合わせることでロボットとリモートホ
スト間でシームレスなオブジェクト実効、開発環境を構
築可能としたものである。
As described above, by introducing a TCP object, data exchanged by inter-object communication can be made available on a network, and Unix, Linux
A programming framework of the predetermined platform technology for the robot can be realized on a general-purpose computer system such as the above, and the portability of the architecture of the platform technology can be demonstrated. A seamless object execution and development environment can be constructed between them.

【0180】次に、ゲートウェイオブジェクトを使用し
たネットワークシステムの具体例を説明する。図24に
は、上述したオブジェクト間通信のフレームワークに基
づいて、いわゆるサッカードッグを実行するためのロボ
ットソフトウェア(複数のオブジェクト群からなるソフ
トウェア)の構成例を示す。
Next, a specific example of a network system using a gateway object will be described. FIG. 24 shows a configuration example of robot software (software composed of a plurality of object groups) for executing a so-called soccer dog based on the framework of inter-object communication described above.

【0181】サッカードッグのプログラムとは、ボール
を探して、ボールに近づいて蹴るといったサッカープレ
イヤのような行動をロボット装置に実行させるプログラ
ムである。そして、このサッカードッグのプログラム
は、そのような行動を実行するため記述がなされてお
り、その記述に基づいてタスクの実行のために必要なソ
フトウェア部品(オブジェクト)が選択され、必要であ
れば全体のシステムが新規に生成してかたちづくられ
る。
The soccer dog program is a program that causes the robot apparatus to execute a behavior like a soccer player, such as searching for a ball and kicking by approaching the ball. The soccer dog program is described to execute such an action, and software components (objects) necessary for executing the task are selected based on the description. System is newly created and formed.

【0182】図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の順で連続して記述されて
いる。
The outline of the function of each object shown in FIG. 24 is as follows. VRComm 61 is an object that accesses various devices of the robot device 1 and OMPsd 6
2 is an object for processing information of the distance sensor,
The OMCdt 63 is an object that calculates the position of the ball by detecting the color. The OMTE 64 is an object that manages the posture of the neck and controls the line of sight in the direction of the ball.
S65 is an object that controls the walking motion.
Reference numeral 66 denotes an object for controlling the return from a fall.
Reference numeral 7 denotes an object that controls the tail, OMoNET 68 is an object that performs exclusive control between the motion control objects and manages posture information, and OMGsensor 69 is an object that detects the posture of the body of the robot device.
Reference numeral 70 denotes an object for managing battery information.
ccerDog71 is an object for performing an action plan in soccer. The connection of these objects is realized by a connection file for each object connection described as shown in FIGS. The connection files shown in FIGS. 25 to 27 are divided for the sake of space, and are actually described continuously in the order of FIGS. 25, 26, and 27.

【0183】このような構成からなる既に存在するオブ
ジェクト群におけるSoccerDogオブジェクト70を新規
に開発する場合(ソフトウェアの開発環境の場合)につ
いて説明する。以下のように処理がなされることによ
り、SoccerDogオブジェクト70が新規に開発される。
A case where a SoccerDog object 70 in an existing object group having such a configuration is newly developed (in the case of a software development environment) will be described. By performing the following processing, a SoccerDog object 70 is newly developed.

【0184】SoccerDogオブジェクト70以外の既存の
オプジェクトは全てすべてロボット装置1側に残してSo
ccerDogオブジェクト70のみをリモートシステム30
上に取り入れる。
All the existing objects other than the SoccerDog object 70 are left on the robot device 1 side,
Only the ccerDog object 70 is stored in the remote system 30
Take it on.

【0185】そして、ロボット装置1側では、SoccerDo
gオブジェクトの代わりにゲートウェイオプジェクト
(図20に示すTCPゲートウェイオブジェクト48)
を置き、SoccerDogオブジェクトに接続すべきサービス
を全て当該ゲートウェイオブジェクトに接続する。一
方、リモートシステム30側では、既存のオブジエクト
の代わりにゲートウェイオブジェクト(図20に示すT
CPゲートウェイオブジェクト52)を導入してSoccer
Dogオブジェクトの全ての接続を当該ゲートウェイオブ
ジェクトに対して行う。
Then, in the robot apparatus 1 side, SoccerDo
Gateway object instead of g object (TCP gateway object 48 shown in FIG. 20)
And connect all services to be connected to the SoccerDog object to the gateway object. On the other hand, on the remote system 30 side, a gateway object (T shown in FIG. 20) is used instead of an existing object.
Introduce CP Gateway Object 52) to Soccer
Make all connections of the Dog object to the gateway object.

【0186】このように接続されることにより、ロボッ
ト装置1側のゲートウェイオプジェクトをサーバとする
リモートシステム30側からは接続が随時可能になる。
よって、ロボット装置1側のシステムを予め立ち上げて
おき、SoccerDogオブジェクトのコンパイルが終わった
ら実行(起動)することでシステム全体を動作させるこ
とができる。これにより、リモートシステム30上にお
けるSoccerDogオブジェクトの開発が可能な環境が設定
される。すなわち、リモートシステム30(パーソナル
コンピュータ32)上のSoccerDogオブジェクトとロボ
ット装置1上のオブジェクトとのオブジェクト間通信が
構築される。
[0186] By being connected in this way, connection can be made at any time from the remote system 30 side using the gateway object of the robot apparatus 1 as a server.
Therefore, the entire system can be operated by starting up the system on the robot apparatus 1 side in advance and executing (starting) when the compilation of the SoccerDog object is completed. Thereby, an environment in which the SoccerDog object can be developed on the remote system 30 is set. That is, inter-object communication between the SoccerDog object on the remote system 30 (personal computer 32) and the object on the robot apparatus 1 is established.

【0187】リモートシステム30におけるSoccerDog
オブジェクトの開発は、例えばSoccerDogオブジェクト
に不具合があったらリモートシステム30側のSoccerDo
gオブジェクトを停止して再度修正をかけてコンパイル
して実行するといったようにして行う。例えば、Soccer
Dogオブジェクトの不具合とは、SoccerDogオブジェクト
により新たな動作(例えば、ボールを蹴る動作について
の新たな動作)を開発する場合に、その新たな動作をロ
ボット装置1が正常に実行できないような場合であり、
このような場合には、リモートシステム30にて、Socc
erDogオブジェクトを停止して修正をかけて再コンパイ
ルして実行しなおしたりする。
SoccerDog in Remote System 30
For example, if there is a problem with the SoccerDog object, the SoccerDog object on the remote system 30 side is developed.
Stop the g object, modify it again, compile and execute, and so on. For example, Soccer
The malfunction of the Dog object is a case where the robot device 1 cannot normally execute the new operation when a new operation (for example, a new operation for kicking a ball) is developed by the SoccerDog object. ,
In such a case, the remote system 30
Stop the erDog object, fix it, recompile and rerun.

【0188】そして、不具合を調整等して最終的に開発
が終わったら、リモートシステム30上におけるSoccer
Dogオブジェクトのソースコードをターゲットシステム
の環境用(ロボット装置1用)にコンパイルしなおし
て、既存のオブジェクトとリンクしてロボット装置1用
の実行プログラムを作成してロボット装置1に導入す
る。ロボット装置1は、このように導入された実行プロ
グラムにより動作が制御される。
Then, when the development is finally completed after adjusting the malfunction, etc., the Soccer
The source code of the Dog object is recompiled for the environment of the target system (for the robot device 1), linked to an existing object, and an execution program for the robot device 1 is created and introduced into the robot device 1. The operation of the robot device 1 is controlled by the execution program thus introduced.

【0189】以上のように、本発明が適用されたネット
ワークシステムによりサッカードッグを実行するための
ロボットソフトウェアの開発がなされる。
As described above, robot software for executing a soccer dog is developed by the network system to which the present invention is applied.

【0190】よって、リモートシステム30とロボット
装置1とが接続された状態において、リモートシステム
30上でソフトウェア(SoccerDogオブジェクト)の開
発がなされるので、ロボット装置1側のシステム全体を
立ち上げなおす必要がなく、SoccerDogオブジェクトに
修正をかける(加工する)ことができるようになる。こ
れにより、SoccerDogオブジェクトの開発を効率よく行
うことができるようになる。
Therefore, in a state where the remote system 30 and the robot apparatus 1 are connected, software (SoccerDog object) is developed on the remote system 30. Therefore, it is necessary to restart the entire system on the robot apparatus 1 side. Instead, you can modify (process) the SoccerDog object. Thereby, the development of the SoccerDog object can be performed efficiently.

【0191】また、ロボット装置1ヘのプログラムのダ
ウンロードを要することなくソフトウェアの開発がなさ
れるので、効率よく開発を行うことができる。そして、
端末とされるリモートシステム30(パーソナルコンピ
ュータ32)では、従前のリモートシステム(パーソナ
ルコンピュータ32)として使用されているデバッガ
ー、プロファイラーなどの汎用プログラムを利用するこ
とができるので、資源を有効利用してソフトウェアを開
発することができる。
Further, since the software is developed without downloading the program to the robot apparatus 1, the development can be performed efficiently. And
In the remote system 30 (personal computer 32) as a terminal, general-purpose programs such as a debugger and a profiler used as the conventional remote system (personal computer 32) can be used. Can be developed.

【0192】以上の例は、開発環境としての例であり、
次にユーザサイドの使用例について、例えばユーザがパ
ーソナルコンピュータ等を介してロボット装置1と通信
してそのロボット装置1の内部状態を観測したり、或い
はロボット装置1に対して命令を送ったりして楽しみよ
うなプログラムを作る場合を説明する。
The above example is an example as a development environment.
Next, regarding a usage example on the user side, for example, the user communicates with the robot apparatus 1 via a personal computer or the like to observe the internal state of the robot apparatus 1 or sends a command to the robot apparatus 1. Explain the case of creating a fun program.

【0193】通常、そのような機能を実現させるために
は、パーソナルコンピュータ側のブログラムを作成する
他に、ロボット装置1側の例えばロボット装置1の感情
を計算するモジュール(オブジェクト)に対してパーソ
ナルコンピュータ32に感情データを送信するようなコ
ードを付加したり、動作命令を受け取り実行するオブジ
ェクト(ロボット装置1側のオブジェクト)にパーソナ
ルコンピュータ32からのデータを受信するコードを付
加したりする必要がある。
Normally, in order to realize such a function, in addition to creating a program on the personal computer side, for example, a module (object) for calculating the emotions of the robot apparatus 1 on the robot apparatus 1 side is used. It is necessary to add a code for transmitting emotion data to the computer 32, or to add a code for receiving data from the personal computer 32 to an object that receives and executes an operation command (an object on the robot apparatus 1 side). .

【0194】これに対して、本発明が適用されたネット
ワークシステムでは、上述のように各ソフトウェアモジ
ュール(オブジェクト)がオブジェクト間通信のフレー
ムワークに基づいて動作されており、ネットワーク通信
を中継するゲートウェイオブジェクトを導入することが
できれば、コネクションファイルを書き換えて、既に存
在するロボット装置1の感情出力や動作命令受信サービ
スをゲートウェイオブジェクトに接続するだけで、パー
ソナルコンピュータ32とロボット装置1とのオブジェ
クト間でのオブジェクト間通信が構築され、各オブジェ
クトでの処理がなされるようになる。
On the other hand, in the network system to which the present invention is applied, as described above, each software module (object) is operated based on the framework for communication between objects, and the gateway object for relaying network communication is used. Can be introduced, by simply rewriting the connection file and connecting the emotion output and the operation command reception service of the existing robot apparatus 1 to the gateway object, the object between the personal computer 32 and the object between the robot apparatus 1 can be obtained. Inter-communication is established, and processing is performed on each object.

【0195】これにより、既存のロボット装置1に組み
込まれているプログラムを変更することなく、パーソナ
ルコンピュータ32上で新たにプログラムを開発するこ
とができるようになる。例えば、これにより、ユーザが
パーソナルコンピュータ32等を介してロボット装置1
と通信してそのロボット装置1の内部状態を観測したり
(オブジェクトの処理状態を外部出力したり)、ロボッ
ト装置1に対して命令を送ったりすることができ、ま
た、ロボット装置1に対して新機能を付け加えることが
できるようになる。
As a result, a new program can be developed on the personal computer 32 without changing a program incorporated in the existing robot device 1. For example, this allows the user to operate the robot apparatus 1 via the personal computer 32 or the like.
To observe the internal state of the robot apparatus 1 (externally output the processing state of the object), send a command to the robot apparatus 1, and New features can be added.

【0196】以上のように本発明を適用してネットワー
クを構築することにより次のような効果が得られる。
The following effects can be obtained by constructing a network by applying the present invention as described above.

【0197】ロボットシステム(ロボット装置)のプロ
グラム(ソフトウェア)の開発者は、より利便性の高い
リモートシステム上で開発が可能になる。
A developer of a program (software) for a robot system (robot device) can develop on a more convenient remote system.

【0198】また、シミュレータ等と違い実際にロボッ
ト装置1を動作させて開発が可能となるので、開発者
は、実環境とシミュレータ環境の違いに悩まされる必要
がなくなった。すなわち、実環境に真似たシミュレータ
環境の設定は困難であるが、開発者は、そのようなシミ
ュレータ環境の設定をすることなく、プログラムを開発
することができる。
Further, unlike the simulator, etc., the development can be performed by actually operating the robot apparatus 1, so that the developer does not have to worry about the difference between the real environment and the simulator environment. In other words, it is difficult to set a simulator environment that mimics the real environment, but a developer can develop a program without setting such a simulator environment.

【0199】また、ターゲットシステム(ターゲットボ
ード、ロボット装置)のソースコードとリモートシステ
ムのソースコードは同じものが使われるためにシステム
変更に伴う導入作業(移植作業)は簡便となり、また、
ミスの混入も減らすことができる。
Further, since the same source code is used for the source system of the target system (target board and robot device) and the source code of the remote system, the introduction work (transplantation work) accompanying the system change is simplified.
Mistakes can be reduced.

【0200】また、オブジェクト間通信のサービスの接
続をゲートウェイオブジェクトに対して行うだけで、既
存のロボットプログラムを変更することなく、ネットワ
ークを使った機能拡張が行えるようになる。
[0200] Also, by simply connecting the service of inter-object communication to the gateway object, it is possible to extend the function using the network without changing the existing robot program.

【0201】また、ロボット装置上のプログラムとリモ
ートシステムのプログラムとの融合が容易とされ、リモ
ートシステム上でのプログラムの開発が可能になるため
に、ロボット装置1上の計算機資源では処理しきれない
ような処理も強力なリモートシステムの処理能力で実現
可能になる。これにより、より複雑なプログラムの開発
が可能になる。
Further, since the integration of the program on the robot device with the program on the remote system is facilitated and the program can be developed on the remote system, the computer resources on the robot device 1 cannot complete the processing. Such processing can be realized with the powerful processing capability of the remote system. This enables the development of more complex programs.

【0202】また、本発明の実施の形態とされるロボッ
ト装置は、上述の図1に示したような外観となされるこ
とに限定されるものではない。例えば、図28に示すよ
うに、ロボット装置1は、より動物に近いような外観形
状を有して構成することもできる。
The robot apparatus according to the embodiment of the present invention is not limited to the appearance as shown in FIG. 1 described above. For example, as shown in FIG. 28, the robot device 1 can be configured to have an appearance shape closer to an animal.

【0203】[0203]

【発明の効果】本発明に係る通信装置は、第1の電子機
器の情報処理プロセスに対してデータの送受信を行う情
報処理プロセスを有する第1の通信手段と、第2の電子
機器の情報処理プロセスに対してデータの送受信を行う
情報処理プロセスを有する第2の通信手段とを備える。
そして、第1の通信手段と第2の通信手段とが無線又は
有線により接続されたときに、第1の通信手段のデータ
の送受信を行う情報処理プロセスと第2の通信手段のデ
ータの送受信を行う情報処理プロセスとの間でプロセス
間通信を行うことにより、第1の電子機器の情報処理プ
ロセスと第2の電子機器の情報処理プロセスとの間でプ
ロセス間通信がなされることにより、第1の通信手段の
情報処理オブジェクトと第2の通信手段のオブジェクト
との間のプロセス間通信があたかも同一システム上にお
けるプロセス間通信のように振る舞うために、第1の電
子機器の情報処理プロセスと第2の電子機器の情報処理
プロセスとの間の通信は、同一システム上におけるプロ
セス間通信として取り扱うことができるようになる。
The communication apparatus according to the present invention has a first communication means having an information processing process for transmitting and receiving data to and from an information processing process of a first electronic device, and an information processing process for a second electronic device. A second communication unit having an information processing process for transmitting and receiving data to and from the process.
Then, when the first communication unit and the second communication unit are connected wirelessly or by wire, an information processing process for transmitting / receiving data of the first communication unit and data transmission / reception of the second communication unit are performed. By performing inter-process communication with the information processing process to be performed, the first process is performed by performing inter-process communication between the information processing process of the first electronic device and the information processing process of the second electronic device. In order for the inter-process communication between the information processing object of the communication means and the object of the second communication means to behave like inter-process communication on the same system, the information processing process of the first electronic device and the Communication with the information processing process of the electronic device can be handled as inter-process communication on the same system.

【0204】また、本発明に係る通信方法は、第1の電
子機器の情報処理プロセスに対してデータの送受信を行
う情報処理プロセスを有する第1の通信手段と、第2の
電子機器の情報処理プロセスに対してデータの送受信を
行う情報処理プロセスを有する第2の通信手段とを無線
又は有線により接続して、第1の通信手段のデータの送
受信を行う情報処理プロセスと第2の通信手段のデータ
の送受信を行う情報処理プロセスとの間でプロセス間通
信を行うことにより、第1の電子機器の情報処理プロセ
スと第2の電子機器の情報処理プロセスとの間でプロセ
ス間通信を行うことにより、第1の通信手段の情報処理
オブジェクトと第2の通信手段のオブジェクトとの間の
プロセス間通信があたかも同一システム上におけるプロ
セス間通信のように振る舞うために、第1の電子機器の
情報処理プロセスと第2の電子機器の情報処理プロセス
との間の通信は、同一システム上におけるプロセス間通
信として取り扱うことができるようになる。
Further, the communication method according to the present invention includes a first communication means having an information processing process for transmitting and receiving data to and from an information processing process of the first electronic device, and an information processing process for the second electronic device. A second communication unit having an information processing process for transmitting / receiving data to / from the process is connected wirelessly or by a wire, and an information processing process for transmitting / receiving data of the first communication unit and a second communication unit. By performing inter-process communication with an information processing process that transmits and receives data, by performing inter-process communication between the information processing process of the first electronic device and the information processing process of the second electronic device The inter-process communication between the information processing object of the first communication means and the object of the second communication means is as if it were inter-process communication on the same system. To act, the information processing process of the first electronic device communication with the information processing process of the second electronic device will be able to be handled as the inter-process communication on the same system.

【0205】また、本発明に係る情報処理システムは、
情報処理プロセスにより制御される電子機器と、電子機
器の制御に使用する情報処理プロセスが取り込まれて、
当該情報処理プロセスを取り扱う情報処理装置と、電子
機器と情報処理装置との間で無線又は有線により通信を
行う通信手段とを備えている。そして、情報処理装置
は、電子機器が動作されている際の当該電子器機の情報
の情報処理プロセスと取り込んだ情報処理プロセスとの
間で通信手段による通信を行い、電子機器の情報処理プ
ロセスから送信されてくるデータを使用し、取り込んだ
情報処理プロセスを取り扱うことにより、情報処理装置
は、実環境にある電子機器が考慮された情報処理プロセ
スを取り扱う(例えば加工する)ことがきるようにな
る。
The information processing system according to the present invention
The electronic device controlled by the information processing process and the information processing process used to control the electronic device are fetched,
An information processing apparatus that handles the information processing process; and a communication unit that performs wireless or wired communication between the electronic device and the information processing apparatus. Then, the information processing device performs communication by a communication unit between the information processing process of the information of the electronic device and the captured information processing process when the electronic device is operated, and transmits from the information processing process of the electronic device. By using the received data and handling the imported information processing process, the information processing apparatus can handle (for example, process) an information processing process in which an electronic device in a real environment is considered.

【0206】また、本発明に係るプログラム作成方法
は、情報処理プロセスにより制御される電子機器が動作
されている際の当該電子器機の情報処理プロセスと情報
処理装置上の情報処理プロセスとの間で無線又は有線の
通信手段による通信を行い、情報処理装置にて、電子機
器の情報処理プロセスから送信されてくるデータを使用
し、電子機器に使用する情報処理プロセスを作成するプ
ログラム作成工程と、プログラム作成工程にて作成した
情報処理プロセスを電子機器に組み込むプログラム組み
込み工程とを有することにより、情報処理装置は、実環
境にある電子機器が考慮して情報処理プロセスを作成
し、電子機器は、そのような実環境が考慮された作成さ
れた情報処理プロセスが組み込まれ、当該情報処理プロ
セスに基づいて動作するようになる。実環境が考慮され
て情報処理プロセスが作成されているので、電子機器は
何ら不具合なく動作する。
Further, according to the program creating method of the present invention, the information processing process of the electronic device when the electronic device controlled by the information processing process is operating and the information processing process of the information processing device are performed. A program creating step of performing communication by wireless or wired communication means, and using an information processing device to transmit data from the information processing process of the electronic device to create an information processing process to be used for the electronic device; By having a program incorporation step of incorporating the information processing process created in the creating step into the electronic device, the information processing apparatus creates the information processing process in consideration of the electronic device in the real environment, and the electronic device Such an information processing process created taking into account the actual environment is incorporated and operates based on the information processing process. So as to. Since the information processing process is created in consideration of the real environment, the electronic device operates without any problem.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態に係るロボット装置の構成
を示す斜視図である。
FIG. 1 is a perspective view showing a configuration of a robot device according to an embodiment of the present invention.

【図2】ロボット装置の構成を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration of a robot device.

【図3】4足型におけるソフトウェア構造を示す略線図
である。
FIG. 3 is a schematic diagram illustrating a software structure of a quadruped;

【図4】タイヤ型におけるソフトウェア構造を示す略線
図である。
FIG. 4 is a schematic diagram showing a software structure of a tire type.

【図5】4足型における姿勢の変化を示す状態遷移図で
ある。
FIG. 5 is a state transition diagram showing a change in posture in a quadruped.

【図6】入力と状態の関係を示す図表である。FIG. 6 is a table showing a relationship between an input and a state.

【図7】デザインロボットの処理手順を示すフローチャ
ートである。
FIG. 7 is a flowchart illustrating a processing procedure of the design robot.

【図8】デザインファイルの記述を示す図表である。FIG. 8 is a table showing a description of a design file.

【図9】結合情報を示す図表である。FIG. 9 is a table showing connection information.

【図10】ブート後におけるオブジェクトマネージャ、
バーチャルロボット、デザインロボットの動作を示すタ
イムチャートである。
FIG. 10 Object Manager after boot,
5 is a time chart illustrating operations of a virtual robot and a design robot.

【図11】プラグイン、プラグアウト等におけるオブジ
ェクトマネージャ、バーチャルロボット、デザインロボ
ットの動作を示すタイムチャートである。
FIG. 11 is a time chart showing operations of an object manager, a virtual robot, and a design robot in plug-in, plug-out, and the like.

【図12】オブザーバとサブジェクトとの関係を示す略
線図である。
FIG. 12 is a schematic diagram illustrating a relationship between an observer and a subject.

【図13】マルチオブザーバにおけるオブザーバとサブ
ジェクトとの関係を示す略線図である。
FIG. 13 is a schematic diagram illustrating a relationship between an observer and a subject in a multi-observer.

【図14】マルチサブジェクトにおけるオブザーバとサ
ブジェクトとの関係を示す略線図である。
FIG. 14 is a schematic diagram illustrating a relationship between an observer and a subject in a multi-subject.

【図15】オブジェクトマネージャとオブザーバ、サブ
ジェクトの関係を示す略線図である。
FIG. 15 is a schematic diagram illustrating a relationship between an object manager, an observer, and a subject.

【図16】結合情報を受け取った場合におけるオブジェ
クトマネージャの動作を示すタイムチャートである。
FIG. 16 is a time chart showing the operation of the object manager when the binding information is received.

【図17】ドゥスタート以降のシーケンスを示すタイム
チャートである。
FIG. 17 is a time chart showing a sequence after a do start.

【図18】プラグイン、プラグアウト、状態変更におけ
るシーケンスを示すタイムチャートである。
FIG. 18 is a time chart showing a sequence in plug-in, plug-out, and state change.

【図19】実施の形態のネットワークシステムの構成を
示すブロック図である。
FIG. 19 is a block diagram illustrating a configuration of a network system according to an embodiment.

【図20】実施の形態のネットワークシステムを構成す
るロボット装置とリモートシステムの要部の構成を示す
ブロック図である。
FIG. 20 is a block diagram illustrating a configuration of a main part of a robot device and a remote system that constitute the network system according to the embodiment;

【図21】port.cfgファイルの記述事項を示す図であ
る。
FIG. 21 is a diagram showing description items of a port.cfg file.

【図22】接続前のオブジェクト群間の状態を示す図で
ある。
FIG. 22 is a diagram illustrating a state between object groups before connection.

【図23】ゲートウェイオブジェクトにより接続された
オブジェクト群を示す図である。
FIG. 23 is a diagram showing a group of objects connected by a gateway object.

【図24】ロボット装置のソフトウェアを構成するSocc
erDogオブジェクトを含めたオブジェクト群を示すブロ
ック図である。
FIG. 24 shows Socc constituting software of a robot device.
FIG. 3 is a block diagram illustrating an object group including an erDog object.

【図25】コネクションファイルの前半部分を示す図で
ある。
FIG. 25 is a diagram showing a first half of a connection file.

【図26】コネクションファイルの中間部分を示す図で
ある。
FIG. 26 is a diagram showing an intermediate part of a connection file.

【図27】コネクションファイルの後半部分を示す図で
ある。
FIG. 27 is a diagram illustrating the latter half of the connection file.

【図28】ロボット装置のより具体的な例を示す図であ
る。
FIG. 28 is a diagram illustrating a more specific example of a robot device.

【符号の説明】[Explanation of symbols]

1 ロボット装置、30 リモートシステム、31 ネ
ットワークアダプタ、32 パーソナルコンピュータ、
41 無線LAN用PCカード、48,52TCPゲー
トウェイ
1 robot device, 30 remote system, 31 network adapter, 32 personal computer,
41 PC card for wireless LAN, 48, 52 TCP gateway

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) // A63H 11/00 A63H 11/00 Z (72)発明者 ガブリエル コスタ 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 Fターム(参考) 2C150 CA02 DA05 DA24 DA26 DA27 DA28 DF03 DF04 DF33 ED42 ED47 ED52 EF07 EF16 EF17 EF23 EF29 EF33 EF36 3C007 AS36 CS08 JS02 JS07 WA04 WA14 WC03 5B045 AA00 BB42 GG01 5B089 GA23 GB02 HA11 HB02 JA35 JB22 KA10 KB09 5B098 AA09 AA10 GA02 GA04 GC16──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) // A63H 11/00 A63H 11/00 Z (72) Inventor Gabriel Costa 6-7 Kita Shinagawa, Shinagawa-ku, Tokyo No. 35 Sony Corporation F-term (reference) 2C150 CA02 DA05 DA24 DA26 DA27 DA28 DF03 DF04 DF33 ED42 ED47 ED52 EF07 EF16 EF17 EF23 EF29 EF33 EF36 3C007 AS36 CS08 JS02 JS07 WA04 WA14 WC03 5B045 A02 GB02 A02 JA35 JB22 KA10 KB09 5B098 AA09 AA10 GA02 GA04 GC16

Claims (36)

【特許請求の範囲】[Claims] 【請求項1】 第1の電子機器の情報処理プロセスに対
してデータの送受信を行う情報処理プロセスを有する第
1の通信手段と、 第2の電子機器の情報処理プロセスに対してデータの送
受信を行う情報処理プロセスを有する第2の通信手段と
を備え、 上記第1の通信手段と上記第2の通信手段とが無線又は
有線により接続されたときに、当該第1の通信手段の上
記データの送受信を行う情報処理プロセスと当該第2の
通信手段の上記データの送受信を行う情報処理プロセス
との間でプロセス間通信を行うことにより、上記第1の
電子機器の情報処理プロセスと上記第2の電子機器の情
報処理プロセスとの間でプロセス間通信がなされること
を特徴とする通信装置。
A first communication unit having an information processing process for transmitting and receiving data to and from an information processing process of the first electronic device; And a second communication unit having an information processing process to be performed. When the first communication unit and the second communication unit are connected wirelessly or by wire, the data of the first communication unit is transmitted. By performing inter-process communication between the information processing process for transmitting and receiving and the information processing process for transmitting and receiving the data of the second communication unit, the information processing process of the first electronic device and the second process are performed. A communication device wherein inter-process communication is performed with an information processing process of an electronic device.
【請求項2】 上記情報処理プロセスがオブジェクト指
向により作成されたプログラムからなることを特徴とす
る請求項1記載の通信装置。
2. The communication apparatus according to claim 1, wherein said information processing process comprises a program created in an object-oriented manner.
【請求項3】 上記第1の電子機器が情報処理プロセス
により動作が制御されるロボット装置であり、上記第2
の電子機器が情報処理装置であることを特徴とする請求
項1記載の通信装置。
3. The robot according to claim 2, wherein the first electronic device is a robot device whose operation is controlled by an information processing process.
The communication device according to claim 1, wherein the electronic device is an information processing device.
【請求項4】 上記第1の通信手段の上記データの送受
信を行う情報処理プロセスと上記第2の通信手段の上記
データの送受信を行う情報処理プロセスとの間のプロセ
ス間通信にてネットワーク通信へのプロトコル変換をす
ることにより、上記第1の電子機器の情報処理プロセス
と上記第2の電子機器の情報処理プロセスとの間でプロ
セス間通信がなされることを特徴とする請求項1記載の
通信装置。
4. An inter-process communication between an information processing process of the first communication unit for transmitting and receiving the data and an information processing process of the second communication unit for transmitting and receiving the data to a network communication. 2. The communication according to claim 1, wherein by performing the protocol conversion, an inter-process communication is performed between the information processing process of the first electronic device and the information processing process of the second electronic device. apparatus.
【請求項5】 上記ネットワーク通信へのプロトコル変
換によりTCP/IP(Transmission Control Protoco
l/Internet Protocol)への変換がなされることを特徴
とする請求項4記載の通信装置。
5. A transmission control protocol (TCP / IP) according to the protocol conversion to the network communication.
5. The communication device according to claim 4, wherein conversion to l / Internet Protocol is performed.
【請求項6】 上記第1及び第2の通信手段の上記デー
タの送受信を行う情報処理プロセスは、通信方式の設定
が記述される設定ファイルを有し、この設定ファイルの
記述事項に基づいて、上記第1の通信手段の上記データ
の送受信を行う情報処理プロセスと上記第2の通信手段
の上記データの送受信を行う情報処理プロセスとの間で
プロセス間通信を行うことを特徴とする請求項1記載の
通信装置。
6. The information processing process for transmitting and receiving the data of the first and second communication means has a setting file in which a setting of a communication method is described, and based on the description of the setting file, 2. An inter-process communication is performed between an information processing process of the first communication unit for transmitting and receiving the data and an information processing process of the second communication unit for transmitting and receiving the data. The communication device as described.
【請求項7】 上記設定ファイルには、上記第1の電子
機器の情報処理プロセスと上記第2の電子機器の情報処
理プロセスとの間のプロセス間通信のサービス名が記述
されており、 上記第1及び第2の通信手段の上記データの送受信を行
う情報処理プロセスが上記設定ファイルに記述されてい
るサービス名に基づいて上記第1の通信手段の上記デー
タの送受信を行う情報処理プロセスと上記第2の通信手
段の上記データの送受信を行う情報処理プロセスとの間
でプロセス間通信を行うことにより、上記第1の電子機
器の情報処理プロセスと上記第2の電子機器の情報処理
プロセスとの間で上記サービス名に対応されるプロセス
間通信がなされることを特徴とする請求項6記載の通信
装置。
7. The service file for inter-process communication between the information processing process of the first electronic device and the information processing process of the second electronic device is described in the setting file. An information processing process of the first and second communication means for transmitting and receiving the data; an information processing process of the first communication means for transmitting and receiving the data based on a service name described in the setting file; By performing inter-process communication between the information processing process of the second communication device and the information processing process of transmitting and receiving the data, a communication between the information processing process of the first electronic device and the information processing process of the second electronic device is performed. 7. The communication apparatus according to claim 6, wherein inter-process communication corresponding to the service name is performed.
【請求項8】 上記設定ファイルには、上記第1の通信
手段の上記データの送受信を行う情報処理プロセスと上
記第2の通信手段の上記データの送受信を行う情報処理
プロセスとの接続の対応事項が記述されており、 上記第1の通信手段の上記データの送受信を行う情報処
理プロセスと第2の通信手段の上記データの送受信を行
う情報処理プロセスとは、上記設定ファイルに記述され
ている上記接続の対応事項に基づいて、プロセス間通信
が可能な状態に接続されることを特徴とする請求項6記
載の通信装置。
8. The correspondence between the information processing process of the first communication unit for transmitting and receiving the data and the information processing process of the second communication unit for transmitting and receiving the data, wherein the setting file has correspondence items. The information processing process of transmitting and receiving the data of the first communication means and the information processing process of transmitting and receiving the data of the second communication means are described in the setting file. 7. The communication device according to claim 6, wherein the communication device is connected in a state in which inter-process communication can be performed based on the correspondence of the connection.
【請求項9】 第1の電子機器の情報処理プロセスに対
してデータの送受信を行う情報処理プロセスを有する第
1の通信手段と、第2の電子機器の情報処理プロセスに
対してデータの送受信を行う情報処理プロセスを有する
第2の通信手段とを無線又は有線により接続して、当該
第1の通信手段の上記データの送受信を行う情報処理プ
ロセスと当該第2の通信手段の上記データの送受信を行
う情報処理プロセスとの間でプロセス間通信を行うこと
により、上記第1の電子機器の情報処理プロセスと上記
第2の電子機器の情報処理プロセスとの間でプロセス間
通信を行うことを特徴とする通信方法。
9. A first communication unit having an information processing process for transmitting and receiving data to and from an information processing process of a first electronic device, and transmitting and receiving data to and from an information processing process of a second electronic device. An information processing process for transmitting and receiving the data of the first communication unit and a transmission and reception of the data for the second communication unit are connected to a second communication unit having an information processing process to be performed by wireless or wired. By performing inter-process communication with the information processing process to be performed, inter-process communication is performed between the information processing process of the first electronic device and the information processing process of the second electronic device. Communication method to be used.
【請求項10】 情報処理プロセスにより制御される電
子機器と、 上記電子機器の制御に使用する上記情報処理プロセスが
取り込まれて、当該情報処理プロセスを取り扱う情報処
理装置と、 上記電子機器と上記情報処理装置との間で無線又は有線
により通信を行う通信手段とを備え、 上記情報処理装置は、上記電子機器が動作されている際
の当該電子器機の情報の情報処理プロセスと上記取り込
んだ情報処理プロセスとの間で上記通信手段による通信
を行い、上記電子機器の情報処理プロセスから送信され
てくるデータを使用し、上記取り込んだ情報処理プロセ
スを取り扱うことを特徴とする情報処理システム。
10. An electronic device controlled by an information processing process, an information processing device that fetches the information processing process used for controlling the electronic device, and handles the information processing process, the electronic device, and the information A communication unit for performing wireless or wired communication with a processing device, wherein the information processing device is configured to perform an information processing process of information of the electronic device when the electronic device is operated and the captured information process. An information processing system that performs communication by the communication unit with a process, uses the data transmitted from the information processing process of the electronic device, and handles the captured information processing process.
【請求項11】 上記情報処理プロセスがオブジェクト
指向により作成されたプログラムからなることを特徴と
する請求項10記載の情報処理システム。
11. The information processing system according to claim 10, wherein said information processing process comprises a program created by object orientation.
【請求項12】 上記情報処理装置は、上記情報処理プ
ロセスを取り扱うこととして、当該情報処理プロセスを
加工することを特徴とする請求項10記載の情報処理シ
ステム。
12. The information processing system according to claim 10, wherein the information processing apparatus processes the information processing process by treating the information processing process.
【請求項13】 上記情報処理装置は、上記情報処理プ
ロセスを取り扱うこととして、当該情報処理プロセスに
よる処理状態を外部出力することを特徴とする請求項1
0記載の情報処理システム。
13. The information processing apparatus according to claim 1, wherein the information processing apparatus handles the information processing process and externally outputs a processing state of the information processing process.
0 information processing system.
【請求項14】 上記通信手段は、電子機器の情報処理
プロセスに対してデータの送受信を行う情報処理プロセ
スを有する第1の通信手段と、上記情報処理装置の情報
処理プロセスに対してデータの送受信を行う情報処理プ
ロセスを有する第2の通信手段とを備え、 上記第1の通信手段と上記第2の通信手段とが無線又は
有線により接続されたときに、当該第1の通信手段の上
記データの送受信を行う情報処理プロセスと当該第2の
通信手段の上記データの送受信を行う情報処理プロセス
との間でプロセス間通信を行うことにより、上記電子機
器の情報処理プロセスと上記情報処理装置の情報処理プ
ロセスとの間でプロセス間通信がなされることを特徴と
する請求項10記載の情報処理システム。
14. The first communication means having an information processing process for transmitting / receiving data to / from an information processing process of an electronic device, and the data transmitting / receiving data to / from the information processing process of the information processing apparatus. And a second communication unit having an information processing process for performing the data communication. When the first communication unit and the second communication unit are wirelessly or wiredly connected, the data of the first communication unit is provided. By performing inter-process communication between an information processing process for transmitting and receiving data and an information processing process for transmitting and receiving the data of the second communication means, the information processing process of the electronic device and the information of the information processing device are performed. 11. The information processing system according to claim 10, wherein inter-process communication is performed with a processing process.
【請求項15】 上記第1の通信手段の上記データの送
受信を行う情報処理プロセスと上記第2の通信手段の上
記データの送受信を行う情報処理プロセスとの間のプロ
セス間通信にてネットワーク通信へのプロトコル変換を
することにより、上記電子機器の情報処理プロセスと上
記情報処理装置の情報処理プロセスとの間でプロセス間
通信がなされることを特徴とする請求項14記載の情報
処理システム。
15. An inter-process communication between an information processing process of the first communication unit for transmitting and receiving the data and an information processing process of the second communication unit for transmitting and receiving the data to the network communication. 15. The information processing system according to claim 14, wherein by performing the protocol conversion, inter-process communication is performed between the information processing process of the electronic device and the information processing process of the information processing apparatus.
【請求項16】 上記ネットワーク通信へのプロトコル
変換によりTCP/IP(Transmission Control Proto
col/Internet Protocol)への変換がなされることを特
徴とする請求項15記載の情報処理システム。
16. Transmission control protocol (TCP / IP) based on the protocol conversion to the network communication.
16. The information processing system according to claim 15, wherein conversion to col / Internet Protocol is performed.
【請求項17】 上記第1及び第2の通信手段の上記デ
ータの送受信を行う情報処理プロセスは、通信方式の設
定が記述される設定ファイルを有し、この設定ファイル
の記述事項に基づいて、上記第1の通信手段の上記デー
タの送受信を行う情報処理プロセスと上記第2の通信手
段の上記データの送受信を行う情報処理プロセスとの間
でプロセス間通信を行うことを特徴とする請求項14記
載の情報処理システム。
17. The information processing process for transmitting and receiving the data of the first and second communication means has a setting file in which a setting of a communication method is described, and based on the description of the setting file, 15. An inter-process communication is performed between an information processing process of the first communication unit for transmitting and receiving the data and an information processing process of the second communication unit for transmitting and receiving the data. The information processing system as described.
【請求項18】 上記設定ファイルには、上記電子機器
の情報処理プロセスと上記情報処理装置の情報処理プロ
セスとの間のプロセス間通信のサービス名が記述されて
おり、 上記第1及び第2の通信手段の上記データの送受信を行
う情報処理プロセスが上記設定ファイルに記述されてい
るサービス名に基づいて上記第1の通信手段の上記デー
タの送受信を行う情報処理プロセスと上記第2の通信手
段の上記データの送受信を行う情報処理プロセスとの間
でプロセス間通信を行うことにより、上記電子機器の情
報処理プロセスと上記情報処理装置の情報処理プロセス
との間で上記サービス名に対応されるプロセス間通信が
なされることを特徴とする請求項17記載の情報処理シ
ステム。
18. The service file for inter-process communication between the information processing process of the electronic device and the information processing process of the information processing device is described in the setting file. An information processing process of the communication means for transmitting and receiving the data is performed based on a service name described in the setting file. The information processing process of the first communication means for transmitting and receiving the data and the information processing process of the second communication means. By performing inter-process communication with the information processing process for transmitting and receiving the data, the process corresponding to the service name is performed between the information processing process of the electronic device and the information processing process of the information processing device. 18. The information processing system according to claim 17, wherein communication is performed.
【請求項19】 上記設定ファイルには、上記第1の通
信手段の上記データの送受信を行う情報処理プロセスと
上記第2の通信手段の上記データの送受信を行う情報処
理プロセスとの接続の対応事項が記述されており、 上記第1の通信手段の上記データの送受信を行う情報処
理プロセスと第2の通信手段の上記データの送受信を行
う情報処理プロセスとは、上記設定ファイルに記述され
ている上記接続の対応事項に基づいて、プロセス間通信
が可能な状態に接続されることを特徴とする請求項17
記載の情報処理システム。
19. The correspondence between the information processing process of the first communication means for transmitting and receiving the data and the information processing process of the second communication means for transmitting and receiving the data, in the setting file. The information processing process of transmitting and receiving the data of the first communication means and the information processing process of transmitting and receiving the data of the second communication means are described in the setting file. 18. A connection is made in a state where inter-process communication is possible based on the correspondence of the connection.
The information processing system as described.
【請求項20】 情報処理プロセスにより制御される電
子機器が動作されている際の当該電子器機の情報処理プ
ロセスと情報処理装置上の情報処理プロセスとの間で無
線又は有線の通信手段による通信を行い、上記情報処理
装置にて、上記電子機器の情報処理プロセスから送信さ
れてくるデータを使用し、上記電子機器に使用する情報
処理プロセスを作成するプログラム作成工程と、 上記プログラム作成工程にて作成した上記情報処理プロ
セスを上記電子機器に組み込むプログラム組み込み工程
とを有することを特徴とするプログラム作成方法。
20. When an electronic device controlled by an information processing process is operated, communication by wireless or wired communication means is performed between the information processing process of the electronic device and the information processing process on the information processing device. A program creating step of creating, in the information processing apparatus, an information processing process to be used for the electronic device using data transmitted from the information processing process of the electronic device; A program incorporation step of incorporating the information processing process into the electronic device.
【請求項21】 上記情報処理プロセスがオブジェクト
指向により作成されたプログラムからなることを特徴と
する請求項20記載のプログラム作成方法。
21. The program creating method according to claim 20, wherein said information processing process comprises a program created by object orientation.
【請求項22】 上記電子機器の情報処理プロセスに対
してデータの送受信を行う情報処理プロセスを有する第
1の通信手段と、上記情報処理装置の情報処理プロセス
に対してデータの送受信を行う情報処理プロセスを有す
る第2の通信手段とを無線又は有線により接続して、当
該第1の通信手段の上記データの送受信を行う情報処理
プロセスと当該第2の通信手段の上記データの送受信を
行う情報処理プロセスとの間でプロセス間通信を行うこ
とにより、上記電子機器の情報処理プロセスと上記情報
処理装置の情報処理プロセスとの間でプロセス間通信を
行うことを特徴とする請求項20記載のプログラム作成
方法。
22. A first communication unit having an information processing process for transmitting and receiving data to and from the information processing process of the electronic device, and an information processing for transmitting and receiving data to and from the information processing process of the information processing device. An information processing process of transmitting and receiving the data of the first communication unit and an information processing of transmitting and receiving the data of the second communication unit by connecting the second communication unit having the process wirelessly or by wire; 21. The program creation method according to claim 20, wherein by performing inter-process communication with a process, inter-process communication is performed between an information processing process of the electronic device and an information processing process of the information processing device. Method.
【請求項23】 上記第1の通信手段の上記データの送
受信を行う情報処理プロセスと上記第2の通信手段の上
記データの送受信を行う情報処理プロセスとの間でプロ
セス間通信にてネットワーク通信へのプロトコル変換を
することにより、上記電子機器の情報処理プロセスと上
記情報処理装置の情報処理プロセスとの間でプロセス間
通信がなされることを特徴とする請求項22記載のプロ
グラム作成方法。
23. Network communication by inter-process communication between an information processing process of the first communication means for transmitting and receiving the data and an information processing process of the second communication means for transmitting and receiving the data. 23. The program creating method according to claim 22, wherein by performing the protocol conversion, an inter-process communication is performed between the information processing process of the electronic device and the information processing process of the information processing device.
【請求項24】 上記ネットワーク通信へのプロトコル
変換によりTCP/IP(Transmission Control Proto
col/Internet Protocol)への変換がなされることを特
徴とする請求項23記載のプログラム作成方法。
24. Transmission control protocol (TCP / IP) by converting the protocol into the network communication.
The method according to claim 23, wherein conversion to col / Internet Protocol is performed.
【請求項25】 上記第1及び第2の通信手段の上記デ
ータの送受信を行う情報処理プロセスは、通信方式の設
定が記述される設定ファイルを有し、この設定ファイル
の記述事項に基づいて、上記第1の通信手段の上記デー
タの送受信を行う情報処理プロセスと上記第2の通信手
段の上記データの送受信を行う情報処理プロセスとの間
でプロセス間通信を行うことを特徴とする請求項22記
載のプログラム作成方法。
25. An information processing process for transmitting and receiving the data of the first and second communication means has a setting file in which a setting of a communication method is described, and based on the description of the setting file, 23. An inter-process communication is performed between an information processing process of the first communication unit for transmitting and receiving the data and an information processing process of the second communication unit for transmitting and receiving the data. The program creation method described.
【請求項26】 上記設定ファイルには、上記電子機器
の情報処理プロセスと上記情報処理装置の情報処理プロ
セスとの間のプロセス間通信のサービス名が記述されて
おり、 上記第1及び第2の通信手段の上記データの送受信を行
う情報処理プロセスが上記設定ファイルに記述されてい
るサービス名に基づいて上記第1の通信手段の上記デー
タの送受信を行う情報処理プロセスと上記第2の通信手
段の上記データの送受信を行う情報処理プロセスとの間
でプロセス間通信を行うことにより、上記電子機器の情
報処理プロセスと上記情報処理装置の情報処理プロセス
との間で上記サービス名に対応されるプロセス間通信が
なされることを特徴とする請求項25記載のプログラム
作成方法。
26. The service file for inter-process communication between the information processing process of the electronic device and the information processing process of the information processing device is described in the setting file. An information processing process for transmitting and receiving the data of the communication unit is based on a service name described in the setting file. An information processing process for transmitting and receiving the data of the first communication unit and a communication process of the second communication unit. By performing inter-process communication with the information processing process for transmitting and receiving the data, the process corresponding to the service name is performed between the information processing process of the electronic device and the information processing process of the information processing device. 26. The method according to claim 25, wherein communication is performed.
【請求項27】 上記設定ファイルには、上記第1の通
信手段の上記データの送受信を行う情報処理プロセスと
上記第2の通信手段の上記データの送受信を行う情報処
理プロセスとの接続の対応事項が記述されており、 上記第1の通信手段の上記データの送受信を行う情報処
理プロセスと第2の通信手段の上記データの送受信を行
う情報処理プロセスとは、上記設定ファイルに記述され
ている上記接続の対応事項に基づいて、プロセス間通信
が可能な状態に接続されることを特徴とする請求項25
記載のプログラム作成方法。
27. Correspondence of a connection between the information processing process of the first communication means for transmitting and receiving the data and the information processing process of the second communication means for transmitting and receiving the data, in the setting file. The information processing process of transmitting and receiving the data of the first communication means and the information processing process of transmitting and receiving the data of the second communication means are described in the setting file. 26. A connection is made in a state where inter-process communication is possible based on the correspondence of connection.
The program creation method described.
【請求項28】 動作制御プログラムがオブジェクト間
通信で構築されたロボット装置と、オブジェクト間通信
で構築されたコンピュータシステムとが有線又は無線を
経由してデータ通信を行うネットワークシステムにおい
て、 上記オブジェクト間通信と、上記ロボット装置と上記コ
ンピュータシステムとの間でのネットワーク通信におけ
るプロトコル変換を動的に行うゲートウェイオブジェク
トを有することを特徴とするネットワークシステム。
28. In a network system in which a robot apparatus whose operation control program is constructed by inter-object communication and a computer system constructed by inter-object communication perform data communication via a wired or wireless connection, And a gateway object for dynamically performing protocol conversion in network communication between the robot device and the computer system.
【請求項29】 上記ゲートウェイオブジェクトは、上
記オブジェクト間通信で定義される通信のサービス名と
上記ネットワーク通信で用いられるアドレスとポート番
号の対応を取ることを特徴とする請求項28記載のネッ
トワークシステム。
29. The network system according to claim 28, wherein the gateway object associates a service name of communication defined in the inter-object communication with an address and a port number used in the network communication.
【請求項30】 上記ネットワーク通信のプロトコル変
換によりTCP/IP(Transmission Control Protoco
l/Internet Protocol)への変換がなされることを特徴
とする請求項28記載のネットワークシステム。
30. Transmission control protocol (TCP / IP) based on the protocol conversion of the network communication.
29. The network system according to claim 28, wherein conversion to L / Internet Protocol is performed.
【請求項31】 オブジェクト間通信を有して構築され
たロボット装置と、オブジェクト間通信を有して構築さ
れたコンピュータシステムとが有線又は無線を経由して
データ通信を行う通信方法において、 上記オブジェクト間通信と、上記ロボット装置と上記コ
ンピュータシステムとの間でのネットワーク通信におけ
るプロトコル変換を行うことを特徴とする通信方法。
31. A communication method in which a robot apparatus constructed with inter-object communication and a computer system constructed with inter-object communication perform data communication via a wired or wireless connection. A communication method comprising performing protocol conversion in inter-communication and network communication between the robot device and the computer system.
【請求項32】 上記プロトコル変換は、ゲートウェイ
オブジェクトにより行われ、上記ゲートウェイオブジェ
クトは、上記オブジェクト間通信で定義される通信のサ
ービス名と上記ネットワーク通信で用いられるアドレス
とポート番号の対応を取ることを特徴とする請求項31
記載の通信方法。
32. The protocol conversion is performed by a gateway object, and the gateway object associates a service name of communication defined in the inter-object communication with an address and a port number used in the network communication. Claim 31.
The communication method described.
【請求項33】 上記ネットワーク通信のプロトコル変
換によりTCP/IP(Transmission Control Protoco
l/Internet Protocol)への変換がなされることを特徴
とする請求項31記載の通信方法。
33. Transmission control protocol (TCP / IP) based on the protocol conversion of the network communication.
32. The communication method according to claim 31, wherein conversion to I / Internet Protocol is performed.
【請求項34】 動作制御プログラムがオブジェクト間
通信で構築されたロボット装置であって、オブジェクト
間通信で構築されたコンピュータシステムとの間で有線
又は無線を経由してデータ通信を行うロボット装置にお
いて、 上記オブジェクト間通信と、上記コンピュータシステム
との間でのネットワーク通信におけるプロトコル変換を
動的に行うゲートウェイオブジェクトを有することを特
徴とするロボット装置。
34. A robot device in which an operation control program is constructed by inter-object communication, wherein the robot device performs data communication via a wired or wireless connection with a computer system constructed by inter-object communication. A robot apparatus comprising a gateway object for dynamically performing protocol conversion in the inter-object communication and network communication with the computer system.
【請求項35】 上記ゲートウェイオブジェクトは、上
記オブジェクト間通信で定義される通信のサービス名と
上記ネットワーク通信で用いられるアドレスとポート番
号の対応を取ることを特徴とする請求項34記載のロボ
ット装置。
35. The robot apparatus according to claim 34, wherein the gateway object associates a service name of communication defined in the inter-object communication with an address and a port number used in the network communication.
【請求項36】 上記ネットワーク通信のプロトコル変
換によりTCP/IP(Transmission Control Protoco
l/Internet Protocol)への変換がなされることを特徴
とする請求項34記載のロボット装置。
36. TCP / IP (Transmission Control Protocol) by protocol conversion of the network communication.
35. The robot apparatus according to claim 34, wherein conversion to l / Internet Protocol) is performed.
JP2001258429A 2000-08-28 2001-08-28 Communication device and communicating method, information processing system, programming method, network system, and robot device Pending JP2002189608A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001258429A JP2002189608A (en) 2000-08-28 2001-08-28 Communication device and communicating method, information processing system, programming method, network system, and robot device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000258039 2000-08-28
JP2000-258039 2000-08-28
JP2001258429A JP2002189608A (en) 2000-08-28 2001-08-28 Communication device and communicating method, information processing system, programming method, network system, and robot device

Publications (2)

Publication Number Publication Date
JP2002189608A true JP2002189608A (en) 2002-07-05
JP2002189608A5 JP2002189608A5 (en) 2008-10-09

Family

ID=26598632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001258429A Pending JP2002189608A (en) 2000-08-28 2001-08-28 Communication device and communicating method, information processing system, programming method, network system, and robot device

Country Status (1)

Country Link
JP (1) JP2002189608A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006176031A (en) * 2004-12-24 2006-07-06 Tokyo Univ Of Agriculture Grounding mechanism for four-wheel vehicle, four-wheel vehicle, grounding mechanism of four-legs and structure body
JP2010040046A (en) * 2008-07-31 2010-02-18 Robert Bosch Gmbh Device and method for reducing energy consumption of machine
JP2017520415A (en) * 2014-06-03 2017-07-27 アルティミンズ ロボティクス ゲーエムベーハー Method and system for programming a robot
JP2021514515A (en) * 2018-02-20 2021-06-10 ユニヴェルシテ・ドゥ・ランス・シャンパーニュ−アルデンヌ How to interconnect robots

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0538689A (en) * 1991-07-29 1993-02-19 Toshiba Corp Dispersive control system of multi-joint robot
JPH0713776A (en) * 1993-06-14 1995-01-17 Internatl Business Mach Corp <Ibm> Method fna apparatus for communication using representation object as well as data-processing system
JPH08212180A (en) * 1995-02-08 1996-08-20 Oki Electric Ind Co Ltd Inter-process communication processor
JPH10240504A (en) * 1997-02-28 1998-09-11 Digital Electron Corp Preparation method for communication program
JPH10320322A (en) * 1997-05-07 1998-12-04 Internatl Business Mach Corp <Ibm> Communication method, communication device, protocol interceptor and computer readable storage medium
JPH11312088A (en) * 1998-03-06 1999-11-09 Internatl Business Mach Corp <Ibm> Program distributing method and system
JP2000148698A (en) * 1998-11-11 2000-05-30 Hitachi Ltd Distributed object security system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0538689A (en) * 1991-07-29 1993-02-19 Toshiba Corp Dispersive control system of multi-joint robot
JPH0713776A (en) * 1993-06-14 1995-01-17 Internatl Business Mach Corp <Ibm> Method fna apparatus for communication using representation object as well as data-processing system
JPH08212180A (en) * 1995-02-08 1996-08-20 Oki Electric Ind Co Ltd Inter-process communication processor
JPH10240504A (en) * 1997-02-28 1998-09-11 Digital Electron Corp Preparation method for communication program
JPH10320322A (en) * 1997-05-07 1998-12-04 Internatl Business Mach Corp <Ibm> Communication method, communication device, protocol interceptor and computer readable storage medium
JPH11312088A (en) * 1998-03-06 1999-11-09 Internatl Business Mach Corp <Ibm> Program distributing method and system
JP2000148698A (en) * 1998-11-11 2000-05-30 Hitachi Ltd Distributed object security system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006176031A (en) * 2004-12-24 2006-07-06 Tokyo Univ Of Agriculture Grounding mechanism for four-wheel vehicle, four-wheel vehicle, grounding mechanism of four-legs and structure body
JP2010040046A (en) * 2008-07-31 2010-02-18 Robert Bosch Gmbh Device and method for reducing energy consumption of machine
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 (en) * 2014-06-03 2017-07-27 アルティミンズ ロボティクス ゲーエムベーハー Method and system for programming a robot
US10279476B2 (en) 2014-06-03 2019-05-07 ArtiMinds Robotics GmbH Method and system for programming a robot
JP2021514515A (en) * 2018-02-20 2021-06-10 ユニヴェルシテ・ドゥ・ランス・シャンパーニュ−アルデンヌ How to interconnect robots
JP7266048B2 (en) 2018-02-20 2023-04-27 ユニヴェルシテ・ドゥ・ランス・シャンパーニュ-アルデンヌ How to interconnect robots

Similar Documents

Publication Publication Date Title
US7388879B2 (en) Communication device and communication method network system and robot apparatus
JP3424631B2 (en) Robot apparatus and software updating method
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 (en) Information processing system and information processing method, robot control system and control method, and computer program
CN109159125B (en) Cloud service system based on ROS system robot
JP2010182297A (en) System and method for integrated hardware platform for flash application with distributed objects
Xie et al. Smart platform-a software infrastructure for smart space (siss)
JP2010105150A (en) Device and method for managing robot component
WO1998041952A1 (en) Image generating device and information storing medium
JP2002189608A (en) Communication device and communicating method, information processing system, programming method, network system, and robot device
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 (en) Arithmetic processing device and communication management method between objects
US7051093B1 (en) QNX operation system network auto configuration
CN114416222A (en) Method and device for calling drive interface by application program
Cox et al. Real‐Time Software for Robotics
Garcia-Espallargas et al. Distributed agents control system, a framework for programming distributed agents
Lofaro et al. Extending the life of legacy robots: MDS-Ach via x-Ach
JP2000215180A (en) Data communication device, system and method
Peng et al. Connecting the Robot to ROS
Magee et al. The CONIC Support Environment for Distributed Systems
Chepurnov et al. Device Net implementation under Linux for use in control system of a particle accelerator

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