JP2003266352A - Robot device and control method therefor - Google Patents
Robot device and control method thereforInfo
- Publication number
- JP2003266352A JP2003266352A JP2002075148A JP2002075148A JP2003266352A JP 2003266352 A JP2003266352 A JP 2003266352A JP 2002075148 A JP2002075148 A JP 2002075148A JP 2002075148 A JP2002075148 A JP 2002075148A JP 2003266352 A JP2003266352 A JP 2003266352A
- Authority
- JP
- Japan
- Prior art keywords
- command
- action
- agent
- client
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 90
- 230000009471 action Effects 0.000 claims abstract description 129
- 239000003795 chemical substances by application Substances 0.000 claims description 145
- 230000008569 process Effects 0.000 claims description 60
- 230000006399 behavior Effects 0.000 claims description 50
- 230000004044 response Effects 0.000 claims description 43
- 230000008859 change Effects 0.000 claims description 27
- 239000000872 buffer Substances 0.000 claims description 23
- 230000008451 emotion Effects 0.000 claims description 22
- 239000004568 cement Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 32
- 230000011514 reflex Effects 0.000 abstract description 3
- 238000001514 detection method Methods 0.000 description 32
- 230000006870 function Effects 0.000 description 26
- 238000007726 management method Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 23
- 230000033001 locomotion Effects 0.000 description 22
- 230000001419 dependent effect Effects 0.000 description 16
- 210000004394 hip joint Anatomy 0.000 description 12
- 238000003860 storage Methods 0.000 description 12
- 210000002414 leg Anatomy 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 210000002683 foot Anatomy 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 210000000544 articulatio talocruralis Anatomy 0.000 description 6
- 210000000323 shoulder joint Anatomy 0.000 description 6
- 210000003857 wrist joint Anatomy 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 210000002310 elbow joint Anatomy 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000007774 longterm Effects 0.000 description 5
- 230000007935 neutral effect Effects 0.000 description 5
- 241000282412 Homo Species 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 230000002996 emotional effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 241000282472 Canis lupus familiaris Species 0.000 description 3
- 244000114635 Dombeya acutangula Species 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 210000000245 forearm Anatomy 0.000 description 3
- 210000000629 knee joint Anatomy 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 210000001364 upper extremity Anatomy 0.000 description 3
- 206010016173 Fall Diseases 0.000 description 2
- 235000014548 Rubus moluccanus Nutrition 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009194 climbing Effects 0.000 description 2
- 210000003414 extremity Anatomy 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 210000003141 lower extremity Anatomy 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000035484 reaction time Effects 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000282693 Cercopithecidae Species 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241001611093 Stimula Species 0.000 description 1
- 241000282458 Ursus sp. Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 210000001624 hip Anatomy 0.000 description 1
- 230000013632 homeostatic process Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 101150081985 scrib gene Proteins 0.000 description 1
- 230000015541 sensory perception of touch Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000031068 symbiosis, encompassing mutualism through parasitism Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 210000000689 upper leg Anatomy 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、自律的な動作を行
いリアリスティックなコミュニケーションを実現するロ
ボット装置及びロボット装置の制御方法に関し、特に、
画像や音声などの外界の情報を認識してそれに対して自
身の行動を反映させる機能を備えた自律型のロボット装
置及びロボット装置の制御方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a robot apparatus and a control method of the robot apparatus which realize autonomous communication and realize realistic communication, and more particularly,
The present invention relates to an autonomous robot apparatus having a function of recognizing external information such as images and sounds and reflecting its own behavior on the information and a control method of the robot apparatus.
【0002】[0002]
【従来の技術】電気的若しくは磁気的な作用を用いて人
間の動作に似せた運動を行う機械装置のことを「ロボッ
ト」という。ロボットの語源は、スラブ語の"ROBO
TA(奴隷機械)"に由来すると言われている。わが国で
は、ロボットが普及し始めたのは1960年代末からで
あるが、その多くは、工場における生産作業の自動化・
無人化などを目的としたマニピュレータや搬送ロボット
などの産業用ロボット(industrial robot)であった。2. Description of the Related Art A mechanical device that makes a motion similar to a human motion by using an electrical or magnetic action is called a "robot". The origin of the robot is the Slavic word "ROBO".
It is said that it is derived from "TA (slave machine)." In Japan, robots began to be popular since the end of the 1960s, but most of them are automation of production work in factories.
It was an industrial robot such as a manipulator and a transfer robot for the purpose of unmanned operation.
【0003】最近では、イヌやネコ、クマのように4足
歩行の動物の身体メカニズムやその動作を模したペット
型ロボット、あるいは、ヒトやサルなどの2足直立歩行
を行う動物の身体メカニズムや動作を模した「人間形」
若しくは「人間型」のロボット(humanoid robot)な
ど、脚式移動ロボットの構造やその安定歩行制御に関す
る研究開発が進展し、実用化への期待も高まってきてい
る。これら脚式移動ロボットは、クローラ式ロボットに
比し不安定で姿勢制御や歩行制御が難しくなるが、階段
の昇降や障害物の乗り越えなど、柔軟な歩行・走行動作
を実現できるという点で優れている。Recently, a pet type robot imitating the body mechanism of a four-legged animal such as dogs, cats, and bears and its movements, or the body mechanism of an animal that performs two-legged upright walking, such as a human or a monkey, has been used. "Humanoid" that imitates movement
Alternatively, research and development on the structure of legged mobile robots such as "humanoid robots" and their stable walking control have progressed, and expectations for their practical application are increasing. These legged mobile robots are more unstable than crawler robots, making posture control and walking control difficult, but they are superior in that they can realize flexible walking and running operations such as climbing stairs and climbing over obstacles. There is.
【0004】アーム式ロボットのように、ある特定の場
所に植設して用いるような据置きタイプのロボットは、
部品の組立・選別作業など固定的・局所的な作業空間で
のみ活動する。これに対し、移動式のロボットは、作業
空間は非限定的であり、所定の経路上または無経路上を
自在に移動して、所定の若しくは任意の人的作業を代行
したり、ヒトやイヌあるいはその他の生命体に置き換わ
る種々のサービスを提供することができる。Stationary type robots, such as arm type robots, which are implanted in a specific place and used,
Work only in fixed and local work spaces such as assembly and selection of parts. On the other hand, a mobile robot has a non-limitative work space, and can freely move on a predetermined route or on a non-route to perform a predetermined or arbitrary human work on behalf of a human or a dog. Alternatively, various services that replace other life forms can be provided.
【0005】脚式移動ロボットの用途の1つとして、産
業活動・生産活動等における各種の難作業の代行が挙げ
られる。例えば、原子力発電プラントや火力発電プラン
ト、石油化学プラントにおけるメンテナンス作業、製造
工場における部品の搬送・組立作業、高層ビルにおける
清掃、火災現場その他における救助といったような危険
作業・難作業の代行などである。One of the uses of legged mobile robots is to perform various difficult tasks on behalf of industrial activities and production activities. For example, maintenance work in nuclear power plants, thermal power plants, and petrochemical plants, parts transportation / assembly work in manufacturing plants, cleaning in high-rise buildings, agency of dangerous work / difficult work such as rescue at fire sites and the like. .
【0006】また、脚式移動ロボットの他の用途とし
て、上述の作業支援というよりも、生活密着型、すなわ
ち人間との「共生」あるいは「エンターティンメント」
という用途が挙げられる。この種のロボットは、ヒトあ
るいはイヌ(ペット)、クマなどの比較的知性の高い脚
式歩行動物の動作メカニズムや四肢を利用した豊かな感
情表現を忠実に再現する。また、あらかじめ入力された
動作パターンを単に忠実に実行するだけではなく、ユー
ザ(あるいは他のロボット)から受ける言葉や態度
(「褒める」とか「叱る」、「叩く」など)に対して動
的に対応した、生き生きとした応答表現を実現すること
も要求される。Further, as another application of the legged mobile robot, it is more closely related to life, that is, "symbiosis" or "entertainment" with humans, rather than the above-mentioned work support.
There are uses. This kind of robot faithfully reproduces the motion mechanism of humans, dogs (pets), bears and other relatively intelligent legged walking animals and the rich emotional expression using the limbs. In addition to simply faithfully executing the pre-entered motion pattern, it also dynamically responds to the words and attitudes received from the user (or other robot) (such as "praise", "scrib", "hit", etc.). It is also required to realize corresponding and lively response expressions.
【0007】従来の玩具機械は、ユーザ操作と応答動作
との関係が固定的であり、玩具の動作をユーザの好みに
合わせて変更することはできない。この結果、ユーザは
同じ動作しか繰り返さない玩具をやがては飽きてしまう
ことになる。In the conventional toy machine, the relationship between the user operation and the response motion is fixed, and the motion of the toy cannot be changed according to the user's preference. As a result, the user eventually gets tired of the toy that repeats only the same operation.
【0008】これに対し、自律動作を行うインテリジェ
ントなロボットは、一般に、外界の情報を認識してそれ
に対して自身の行動を反映させる機能を持っている。す
なわち、ロボットは、外部環境からの音声や画像、触覚
などの入力情報に基づいて感情モデルや本能モデルを変
化させて動作を決定することにより、自律的な思考及び
動作制御を実現する。すなわち、ロボットが感情モデル
や本能モデルを用意することにより、より高度な知的レ
ベルで人間とのリアリスティックなコミュニケーション
を実現することも可能となる。On the other hand, an intelligent robot that autonomously operates generally has a function of recognizing external information and reflecting its own behavior on it. That is, the robot realizes autonomous thinking and motion control by changing the emotion model or the instinct model based on input information such as voice, image, and tactile sense from the external environment to determine the motion. That is, by providing the emotion model and the instinct model, the robot can realize realistic communication with humans at a higher intellectual level.
【0009】ロボットが環境変化に応じた自律動作を行
うために、従来は、ある1つの観測結果に対してその情
報を受けて行動を取るような単純な行動記述の組み合わ
せで行動を記述していた。これら入力に対する行動のマ
ッピングにより、ランダム性、内部状態(感情・本
能)、学習、成長などの機能を導入することで一意では
ない複雑な行動の発現を可能にすることができる。In order for a robot to perform an autonomous operation according to a change in environment, conventionally, an action is described by a combination of simple action descriptions such as receiving an action for one observation result and taking an action. It was By mapping the actions to these inputs, it is possible to express complex actions that are not unique by introducing functions such as randomness, internal state (emotion / instinct), learning, and growth.
【0010】ところが、このような単純な行動マッピン
グ方法では、例えばボールを追いかけて蹴るといった動
作の中で一瞬でもボールを見失うと、ボールに関する情
報は保持されていないので、最初からボールを探すとい
った行動を取ることとなり、認識結果の利用に一貫性が
ない。However, in such a simple action mapping method, if the player loses sight of the ball even for a moment during the action of chasing and kicking the ball, the information regarding the ball is not retained, and the action of searching for the ball from the beginning is performed. Therefore, the use of recognition results is inconsistent.
【0011】また、ロボットは、複数のボールが観測さ
れたときに、どの認識結果が以前観測されたどの結果に
対応するのかという対応問題を解く必要がある。また、
顔の認識や肌色の認識や声の認識をなどより複雑な認識
結果を利用するためには、どの肌色領域が顔でどの人物
に対応しているかや、この声がどの人物の声なのかなど
を解く必要がある。Further, the robot needs to solve a correspondence problem of which recognition result corresponds to which previously observed result when a plurality of balls are observed. Also,
In order to use more complex recognition results such as face recognition, skin color recognition, voice recognition, etc., which skin color area corresponds to which person in the face, and which person this voice is Need to solve.
【0012】[0012]
【発明が解決しようとする課題】ところで、前述したよ
うな自律型ロボット装置においては、リソース管理はあ
まり成されてなかった。By the way, in the above-mentioned autonomous robot apparatus, resource management has not been carried out so much.
【0013】例えば、1つのエージェントに対して1つ
のリソースが割り当てられていたため、リソースの分
割、統合を行う必要がなかった。また、キャンセルコマ
ンドはエージェントへ素通しになっていて、2度打ちを
してしまう等、シーケンスを乱す可能性があった。ま
た、メタコマンドを扱う際、パラメータやコマンド名の
補完などを行うことがなかった。また、エージェント側
での早いフィードバック情報等を流すことのできる経路
を持たなかった。また、クライアントは1つしか許して
おらず、複数クライアントに対するコマンド制御を行う
ことがなかった。また、同時にコマンド返答制御に関し
ても複数クライアント対応のものはなかった。For example, since one resource is assigned to one agent, it is not necessary to divide and integrate the resources. Also, the cancel command is transparent to the agent, and there is a possibility of disturbing the sequence such as hitting twice. Also, when dealing with metacommands, we did not complete parameters and command names. In addition, the agent did not have a route through which quick feedback information could be sent. Also, only one client is allowed, and command control is not performed for multiple clients. At the same time, there is no command response control for multiple clients.
【0014】本発明は、前記実情に鑑みてなされたもの
であり、リソースの分割、統合を行い、また、キャンセ
ルコマンドの2度打ちによる、シーケンスの乱れを防
ぎ、また、メタコマンドを扱う際に、パラメータやコマ
ンド名の補完などを行うことができるロボット装置及び
ロボット装置の制御方法の提供を目的とする。The present invention has been made in view of the above-mentioned circumstances, and it divides and integrates resources, prevents the sequence from being disturbed due to double hitting of a cancel command, and handles meta commands. An object of the present invention is to provide a robot apparatus and a method for controlling the robot apparatus, which are capable of complementing parameters and command names.
【0015】また、本発明は、エージェント側での早い
フィードバック情報等を流すことのできる経路を持ち、
また、複数クライアントに対するコマンド制御が可能で
あり、同時にコマンド返答制御に関しても複数クライア
ントに対応することのできるロボット装置及びロボット
装置の制御方法の提供を目的とする。Further, the present invention has a route through which fast feedback information etc. on the agent side can flow.
Further, another object of the present invention is to provide a robot apparatus and a robot apparatus control method capable of controlling commands to a plurality of clients and simultaneously supporting a command response control to a plurality of clients.
【0016】[0016]
【課題を解決するための手段】本発明に係るロボット装
置は、前記課題を解決するために、感情モデルに基づい
た内部状態や外部環境に対する認識結果に基づいて自律
的に行動する自律型のロボット装置において、前記自律
的な行動を生成する行動生成部であるクライアント手段
と、前記クライアント手段が生成した行動に関するコマ
ンドを管理するコマンド管理手段と、前記コマンド管理
手段によって管理されたコマンドを受け取って前記行動
を起こすためのリソースを駆動するエージェント手段と
を備えてなり、前記コマンド管理手段は前記クライアン
ト手段からのコマンドに複数リソースが指定されている
ときには入力時に基本リソースに分割してから出力時に
リソースを合体する。In order to solve the above problems, a robot apparatus according to the present invention is an autonomous robot that acts autonomously based on a recognition result of an internal state based on an emotional model or an external environment. In the apparatus, a client unit that is an action generation unit that generates the autonomous action, a command management unit that manages a command related to the action generated by the client unit, and a command that is managed by the command management unit are received. The command management means divides the resource into basic resources at the time of input and then outputs the resource at the time of output when a plurality of resources are specified in the command from the client means. To unite.
【0017】これにより、エージェントの持つ基本リソ
ースの数を限定しなくてもよくなった。また、コマンド
の持つリソースについても同様に自由な設定を行っても
きちんとコマンド管理ができるようになった。As a result, it is not necessary to limit the number of basic resources possessed by the agent. In addition, command resources can now be properly managed even by freely setting them.
【0018】本発明に係るロボット装置は、前記課題を
解決するために、感情モデルに基づいた内部状態や外部
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置において、前記自律的な行動を生成す
る行動生成部であるクライアント手段と、前記クライア
ント手段が生成した行動に関するコマンドを管理するコ
マンド管理手段と、前記コマンド管理手段によって管理
されたコマンドを受け取って前記行動を起こすためのリ
ソースを駆動するエージェント手段とを備えてなり、前
記コマンド管理手段は前記クライアント手段からのコマ
ンドに対するキャンセルコマンドが送られた後、さらに
同じリソースに対するクライアント手段からのキャンセ
ルコマンドに対しては該当リソースからの前回のキャン
セルコマンドに対する返答が来た際に、同時に返答を作
り、該当のクライアントに送る。In order to solve the above-mentioned problems, the robot apparatus according to the present invention is an autonomous robot apparatus which acts autonomously based on a recognition result for an internal state or an external environment based on an emotion model, Client means that is a behavior generation unit that generates a behavior, command management means that manages a command related to the behavior that the client means generates, and a resource that receives the command managed by the command management means and causes the behavior And a command managing means, the command managing means sends a cancel command for the command from the client means, and further receives a cancel command from the corresponding resource for the cancel command from the client means for the same resource. Cancel command of When the reply came that, at the same time to make a reply, sent to the appropriate client.
【0019】これにより、無駄なステータスを乱すよう
なキャンセルが出なくなり、必要十分なコマンドのみで
機能するようになった。As a result, there is no cancellation that disturbs the useless status, and it is possible to operate with only necessary and sufficient commands.
【0020】本発明に係るロボット装置は、前記課題を
解決するために、感情モデルに基づいた内部状態や外部
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置において、前記自律的な行動を生成す
る行動生成部であるクライアント手段と、前記クライア
ント手段が生成した行動に関するコマンドを管理するコ
マンド管理手段と、前記コマンド管理手段によって管理
されたコマンドを受け取って前記行動を起こすためのリ
ソースを駆動するエージェント手段とを備えてなり、前
記コマンド管理手段は前記クライアント手段から既に送
られたコマンドのパラメータ変更に関するメタコマンド
を受け取ったとき、実際に該当するコマンドへと変換を
行い前記エージェント手段に送る。In order to solve the above-mentioned problems, a robot apparatus according to the present invention is an autonomous robot apparatus which acts autonomously based on a recognition result of an internal state based on an emotion model or an external environment, Client means that is a behavior generation unit that generates a behavior, command management means that manages a command related to the behavior that the client means generates, and a resource that receives the command managed by the command management means and causes the behavior When the command management means receives from the client means a meta-command regarding parameter change of a command already sent, the command management means converts the command into a corresponding command and causes the agent means to send.
【0021】これにより、メタコマンドを用いて必要な
情報を取り出してエージェントへ送ることができるよう
になった。また、エージェントからの返答を補完し、正
しい返答を作ることで、メタコマンドの返答も正しく受
け取れるようになった。As a result, it becomes possible to take out necessary information using the metacommand and send it to the agent. In addition, by supplementing the response from the agent and creating a correct response, the response from the metacommand can now be received correctly.
【0022】本発明に係るロボット装置は、前記課題を
解決するために、感情モデルに基づいた内部状態や外部
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置において、前記自律的な行動を生成す
る行動生成部であるクライアント手段と、前記クライア
ント手段が生成した行動に関するコマンドを管理するコ
マンド管理手段と、前記コマンド管理手段によって管理
されたコマンドを受け取って前記行動を起こすためのリ
ソースを駆動するエージェント手段とを備えてなり、前
記コマンド管理手段は前記エージェント手段からリソー
スの駆動による状態の変化に関する情報が送られてきた
ときには、その情報をエージェント手段が指定したクラ
イアントに流す。In order to solve the above-mentioned problems, a robot apparatus according to the present invention is an autonomous robot apparatus which acts autonomously based on a recognition result of an internal state based on an emotion model or an external environment, Client means that is a behavior generation unit that generates a behavior, command management means that manages a command related to the behavior that the client means generates, and a resource that receives the command managed by the command management means and causes the behavior When the information about the change of the state due to the driving of the resource is sent from the agent means, the command managing means sends the information to the client designated by the agent means.
【0023】これにより、エージェントからの情報を受
け取れることにより、上位クライアントのConifguratio
n依存性を減らし、エージェントからの情報を有効に使
つてより適切な行動を作ることができるようになった。As a result, by receiving the information from the agent, the Conifguratio of the upper client
n It has become possible to reduce dependence and make more appropriate actions by effectively using information from agents.
【0024】本発明に係るロボット装置は、前記課題を
解決するために、感情モデルに基づいた内部状態や外部
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置において、前記自律的な行動を生成す
る行動生成部である複数のクライアント手段と、前記複
数のクライアント手段が生成した行動に関するコマンド
を管理するコマンド管理手段と、前記コマンド管理手段
によって管理されたコマンドを受け取って前記行動を起
こすためのリソースを駆動するエージェント手段とを備
えてなり、前記コマンド管理手段は前記複数のクライア
ント手段から送られてきた複数のコマンドを、前記複数
のクライアント手段によって付加された優先度に応じて
調停して前記エージェント手段に送る。In order to solve the above-mentioned problems, a robot apparatus according to the present invention is an autonomous robot apparatus which acts autonomously based on a recognition result of an internal state based on an emotion model and an external environment, A plurality of client units that are action generation units that generate various actions, a command management unit that manages commands related to the actions generated by the plurality of client units, and a command that is managed by the command management unit The command management means arbitrates a plurality of commands sent from the plurality of client means according to the priority added by the plurality of client means. And sends it to the agent means.
【0025】これにより、複数クライアントに対応する
ことにより、上位クライアントも深く考える層と反射的
な層とを組み合わせることができる、行動選択部に階層
性を持たせることが可能になった。また、その際の基準
が動的に変えられることから、より状況にマッチしたコ
マンドを優先できるようになった。As a result, by supporting a plurality of clients, it becomes possible to combine the layer in which the upper client thinks deeply with the reflective layer, and to give the action selecting section a hierarchical structure. Also, since the criteria at that time can be changed dynamically, it is possible to give priority to commands that match the situation more.
【0026】[0026]
【発明の実施の形態】以下、本発明の一構成例として示
す2足歩行タイプのロボット装置について、図面を参照
して詳細に説明する。この人間型のロボット装置は、住
環境その他の日常生活上の様々な場面における人的活動
を支援する実用ロボットであり、内部状態(怒り、悲し
み、喜び、楽しみ等)に応じて行動できるほか、人間が
行う基本的な動作を表出できるエンターテインメントロ
ボットである。つまり、音声や画像などの外的刺激の認
識結果に基づいて自律的に行動制御を行うことができ
る。BEST MODE FOR CARRYING OUT THE INVENTION A bipedal type robot apparatus shown as an example of the configuration of the present invention will be described in detail below with reference to the drawings. This humanoid robot device is a practical robot that supports human activities in various situations in the living environment and other daily life, and can act according to internal conditions (anger, sadness, joy, enjoyment, etc.), It is an entertainment robot that can express the basic actions that humans perform. That is, the behavior control can be autonomously performed based on the recognition result of the external stimulus such as the voice or the image.
【0027】図1に示すように、ロボット装置1は、体
幹部ユニット2の所定の位置に頭部ユニット3が連結さ
れると共に、左右2つの腕部ユニット4R/4Lと、左
右2つの脚部ユニット5R/5Lが連結されて構成され
ている(但し、R及びLの各々は、右及び左の各々を示
す接尾辞である。以下において同じ。)。As shown in FIG. 1, in the robot apparatus 1, a head unit 3 is connected to a predetermined position of a torso unit 2, two left and right arm units 4R / 4L, and two left and right legs. The units 5R / 5L are connected to each other (however, each of R and L is a suffix indicating each of right and left. The same applies hereinafter).
【0028】このロボット装置1が具備する関節自由度
構成を図2に模式的に示す。頭部ユニット3を支持する
首関節は、首関節ヨー軸101と、首関節ピッチ軸10
2と、首関節ロール軸103という3自由度を有してい
る。FIG. 2 schematically shows the joint degree of freedom structure of the robot apparatus 1. The neck joint supporting the head unit 3 includes a neck joint yaw axis 101 and a neck joint pitch axis 10
It has two degrees of freedom, namely 2 and the neck joint roll shaft 103.
【0029】また、上肢を構成する各々の腕部ユニット
4R/4Lは、、肩関節ピッチ軸107と、肩関節ロー
ル軸108と、上腕ヨー軸109と、肘関節ピッチ軸1
10と、前腕ヨー軸111と、手首関節ピッチ軸112
と、手首関節ロール輪113と、手部114とで構成さ
れる。手部114は、実際には、複数本の指を含む多関
節・多自由度構造体である。ただし、手部114の動作
は、ロボット装置1の姿勢制御や歩行制御に対する寄与
や影響が少ないので、本明細書ではゼロ自由度と仮定す
る。したがって、各腕部は7自由度を有するとする。Each arm unit 4R / 4L constituting the upper limb has a shoulder joint pitch axis 107, a shoulder joint roll axis 108, an upper arm yaw axis 109, and an elbow joint pitch axis 1.
10, forearm yaw axis 111, wrist joint pitch axis 112
And a wrist joint roll wheel 113 and a hand portion 114. The hand portion 114 is actually a multi-joint / multi-degree-of-freedom structure including a plurality of fingers. However, since the motion of the hand portion 114 has little contribution or influence to the posture control and the walking control of the robot apparatus 1, it is assumed that the degree of freedom is zero in this specification. Therefore, each arm has seven degrees of freedom.
【0030】また、体幹部ユニット2は、体幹ピッチ軸
104と、体幹ロール軸105と、体幹ヨー軸106と
いう3自由度を有する。Further, the trunk unit 2 has three degrees of freedom: a trunk pitch axis 104, a trunk roll axis 105, and a trunk yaw axis 106.
【0031】また、下肢を構成する各々の脚部ユニット
5R/5Lは、股関節ヨー軸115と、股関節ピッチ軸
116と、股関節ロール軸117と、膝関節ピッチ軸1
18と、足首関節ピッチ軸119と、足首関節ロール軸
120と、足部121とで構成される。本明細書中で
は、股関節ピッチ軸116と股関節ロール軸117の交
点は、ロボット装置1の股関節位置を定義する。人体の
足部121は、実際には多関節・多自由度の足底を含ん
だ構造体であるが、ロボット装置1の足底は、ゼロ自由
度とする。したがって、各脚部は、6自由度で構成され
る。Each leg unit 5R / 5L constituting the lower limb has a hip joint yaw shaft 115, a hip joint pitch shaft 116, a hip joint roll shaft 117, and a knee joint pitch shaft 1.
18, an ankle joint pitch shaft 119, an ankle joint roll shaft 120, and a foot portion 121. In this specification, the intersection of the hip joint pitch axis 116 and the hip joint roll axis 117 defines the hip joint position of the robot apparatus 1. The foot 121 of the human body is actually a structure including a multi-joint, multi-degree-of-freedom foot, but the foot of the robot apparatus 1 has zero degrees of freedom. Therefore, each leg has 6 degrees of freedom.
【0032】以上を総括すれば、ロボット装置1全体と
しては、合計で3+7×2+3+6×2=32自由度を
有することになる。ただし、エンターテインメント向け
のロボット装置1が必ずしも32自由度に限定されるわ
けではない。設計・制作上の制約条件や要求仕様等に応
じて、自由度すなわち関節数を適宜増減することができ
ることはいうまでもない。In summary, the robot apparatus 1 as a whole has 3 + 7 × 2 + 3 + 6 × 2 = 32 degrees of freedom. However, the robot device 1 for entertainment is not necessarily limited to 32 degrees of freedom. It goes without saying that the degree of freedom, that is, the number of joints, can be appropriately increased or decreased in accordance with design / production constraint conditions and required specifications.
【0033】上述したようなロボット装置1がもつ各自
由度は、実際にはアクチュエータを用いて実装される。
外観上で余分な膨らみを排してヒトの自然体形状に近似
させること、2足歩行という不安定構造体に対して姿勢
制御を行うことなどの要請から、アクチュエータは小型
且つ軽量であることが好ましい。Each degree of freedom of the robot apparatus 1 as described above is actually implemented by using an actuator.
It is preferable that the actuator be small and lightweight in view of demands such as eliminating extra bulges in appearance and approximating the shape of a natural human body, and performing posture control for an unstable structure such as bipedal walking. .
【0034】図3には、ロボット装置1の制御システム
構成を模式的に示している。同図に示すように、ロボッ
ト装置1は、ヒトの四肢を表現した体幹部ユニット2,
頭部ユニット3,腕部ユニット4R/4L,脚部ユニッ
ト5R/5Lと、各ユニット間の協調動作を実現するた
めの適応制御を行う制御ユニット10とで構成される。FIG. 3 schematically shows the control system configuration of the robot apparatus 1. As shown in the figure, the robot device 1 includes a trunk unit 2, which represents human limbs.
The head unit 3, the arm units 4R / 4L, the leg units 5R / 5L, and the control unit 10 that performs adaptive control for realizing cooperative operation between the units.
【0035】ロボット装置1全体の動作は、制御ユニッ
ト10によって統括的に制御される。制御ユニット10
は、CPU(Central Processing Unit)や、DRA
M、フラッシュROM等の主要回路コンポーネント(図
示しない)で構成される主制御部11と、電源回路やロ
ボット装置1の各構成要素とのデータやコマンドの授受
を行うインターフェイス(何れも図示しない)などを含
んだ周辺回路12とで構成される。The overall operation of the robot apparatus 1 is controlled by the control unit 10. Control unit 10
Is a CPU (Central Processing Unit) or DRA
An interface (not shown) for exchanging data and commands with the main control unit 11 including main circuit components (not shown) such as M and flash ROM, and the power supply circuit and each component of the robot apparatus 1. And the peripheral circuit 12 including.
【0036】本発明を実現するうえで、この制御ユニッ
ト10の設置場所は、特に限定されない。図3では体幹
部ユニット2に搭載されているが、頭部ユニット3に搭
載してもよい。あるいは、ロボット装置1外に制御ユニ
ット10を配備して、ロボット装置1の機体とは有線又
は無線で交信するようにしてもよい。In implementing the present invention, the installation place of the control unit 10 is not particularly limited. Although it is mounted on the trunk unit 2 in FIG. 3, it may be mounted on the head unit 3. Alternatively, the control unit 10 may be provided outside the robot apparatus 1 to communicate with the body of the robot apparatus 1 in a wired or wireless manner.
【0037】図2に示したロボット装置1内の各関節自
由度は、それぞれに対応するアクチュエータによって実
現される。すなわち、頭部ユニット3には、首関節ヨー
軸101、首関節ピッチ軸102、首関節ロール軸10
3の各々を表現する首関節ヨー軸アクチュエータA2、
首関節ピッチ軸アクチュエータA3、首関節ロール軸ア
クチュエータA4が配設されている。The degree of freedom of each joint in the robot apparatus 1 shown in FIG. 2 is realized by an actuator corresponding to each joint. That is, the head unit 3 includes a neck joint yaw axis 101, a neck joint pitch axis 102, and a neck joint roll axis 10.
3, the neck joint yaw axis actuator A 2 representing each of
A neck joint pitch axis actuator A 3 and a neck joint roll axis actuator A 4 are arranged.
【0038】また、頭部ユニット3には、外部の状況を
撮像するためのCCD(Charge Coupled Device)カメ
ラが設けられているほか、前方に位置する物体までの距
離を測定するための距離センサ、外部音を集音するため
のマイク、音声を出力するためのスピーカ、使用者から
の「撫でる」や「叩く」といった物理的な働きかけによ
り受けた圧力を検出するためのタッチセンサ等が配設さ
れている。Further, the head unit 3 is provided with a CCD (Charge Coupled Device) camera for picking up an image of an external situation, and a distance sensor for measuring a distance to an object located in front of the head unit 3. A microphone for collecting external sound, a speaker for outputting voice, a touch sensor for detecting the pressure received by the physical action of the user such as "stroking" or "striking" are provided. ing.
【0039】また、体幹部ユニット2には、体幹ピッチ
軸104、体幹ロール軸105、体幹ヨー軸106の各
々を表現する体幹ピッチ軸アクチュエータA5、体幹ロ
ール軸アクチュエータA6、体幹ヨー軸アクチュエータ
A7が配設されている。また、体幹部ユニット2には、
このロボット装置1の起動電源となるバッテリを備えて
いる。このバッテリは、充放電可能な電池によって構成
されている。The trunk unit 2 has a trunk pitch axis actuator A 5 , a trunk roll axis actuator A 6 , which expresses the trunk pitch axis 104, trunk roll axis 105, and trunk yaw axis 106, respectively. A trunk yaw axis actuator A 7 is provided. Also, in the trunk unit 2,
The robot apparatus 1 is provided with a battery as a power source. This battery is composed of a chargeable / dischargeable battery.
【0040】また、腕部ユニット4R/4Lは、上腕ユ
ニット41R/41Lと、肘関節ユニット42R/42
Lと、前腕ユニット43R/43Lに細分化されるが、
肩関節ピッチ軸107、肩関節ロール軸108、上腕ヨ
ー軸109、肘関節ピッチ軸110、前腕ヨー軸11
1、手首関節ピッチ軸112、手首関節ロール軸113
の各々表現する肩関節ピッチ軸アクチュエータA8、肩
関節ロール軸アクチュエータA9、上腕ヨー軸アクチュ
エータA10、肘関節ピッチ軸アクチュエータA 11、
肘関節ロール軸アクチュエータA12、手首関節ピッチ
軸アクチュエータA13、手首関節ロール軸アクチュエ
ータA14が配備されている。The arm unit 4R / 4L is used for the upper arm unit.
Knit 41R / 41L and elbow joint unit 4TwoR / 4Two
L and forearm unit 4ThreeR / 4ThreeIt is subdivided into L,
Shoulder joint pitch axis 107, shoulder joint roll axis 108, upper arm yo
-Axis 109, elbow joint pitch axis 110, forearm yaw axis 11
1, wrist joint pitch axis 112, wrist joint roll axis 113
Of each shoulder joint pitch axis actuator A8,shoulder
Joint roll axis actuator A9, Upper arm yaw actu
Eta A10, Elbow joint pitch axis actuator A 11,
Elbow joint roll axis actuator A12, Wrist joint pitch
Axis actuator AThirteen, Wrist joint roll axis actuator
Data A14Has been deployed.
【0041】また、脚部ユニット5R/5Lは、大腿部
ユニット51R/51Lと、膝ユニット52R/52L
と、脛部ユニット53R/53Lに細分化されるが、股
関節ヨー軸115、股関節ピッチ軸116、股関節ロー
ル軸117、膝関節ピッチ軸118、足首関節ピッチ軸
119、足首関節ロール軸120の各々を表現する股関
節ヨー軸アクチュエータA16、股関節ピッチ軸アクチ
ュエータA17、股関節ロール軸アクチュエータ
A18、膝関節ピッチ軸アクチュエータA19、足首関
節ピッチ軸アクチュエータA20、足首関節ロール軸ア
クチュエータA21が配備されている。各関節に用いら
れるアクチュエータA2,A3・・・は、より好ましく
は、ギア直結型で旦つサーボ制御系をワンチップ化して
モータ・ユニット内に搭載したタイプの小型ACサーボ
・アクチュエータで構成することができる。The leg unit 5R / 5L includes a thigh unit 5 1 R / 5 1 L and a knee unit 5 2 R / 5 2 L.
The hip joint yaw axis 115, the hip joint pitch axis 116, the hip joint roll axis 117, the knee joint pitch axis 118, the ankle joint pitch axis 119, and the ankle joint roll axis are subdivided into the tibial unit 5 3 R / 5 3 L. A hip joint yaw axis actuator A 16 , a hip joint pitch axis actuator A 17 , a hip joint roll axis actuator A 18 , a knee joint pitch axis actuator A 19 , an ankle joint pitch axis actuator A 20 , and an ankle joint roll axis actuator A 21 that represent each of 120. Has been deployed. The actuators A 2 , A 3 ... Used for the respective joints are more preferably composed of small AC servo actuators of the type that are directly connected to the gears and the servo control system is integrated into one chip and mounted in the motor unit. can do.
【0042】体幹部ユニット2、頭部ユニット3、各腕
部ユニット4R/4L、各脚部ユニット5R/5Lなど
の各機構ユニット毎に、アクチュエータ駆動制御部の副
制御部20,21,22R/22L,23R/23Lが
配備されている。さらに、各脚部ユニット5R/5Lの
足底が着床したか否かを検出する接地確認センサ30R
/30Lを装着するとともに、体幹部ユニット2内に
は、姿勢を計測する姿勢センサ31を装備している。For each mechanical unit such as the trunk unit 2, the head unit 3, the arm units 4R / 4L, the leg units 5R / 5L, etc., the sub-control units 20, 21, 22R / of the actuator drive control unit are provided. 22L and 23R / 23L are provided. Furthermore, a ground contact confirmation sensor 30R for detecting whether or not the sole of each leg unit 5R / 5L has landed
In addition to wearing / 30L, the trunk unit 2 is equipped with a posture sensor 31 for measuring the posture.
【0043】接地確認センサ30R/30Lは、例えば
足底に設置された近接センサ又はマイクロ・スイッチな
どで構成される。また、姿勢センサ31は、例えば、加
速度センサとジャイロ・センサの組み合わせによって構
成される。The ground confirmation sensor 30R / 30L is composed of, for example, a proximity sensor or a micro switch installed on the sole of the foot. Further, the posture sensor 31 is composed of, for example, a combination of an acceleration sensor and a gyro sensor.
【0044】接地確認センサ30R/30Lの出力によ
って、歩行・走行などの動作期間中において、左右の各
脚部が現在立脚又は遊脚何れの状態であるかを判別する
ことができる。また、姿勢センサ31の出力により、体
幹部分の傾きや姿勢を検出することができる。By the output of the ground contact confirmation sensor 30R / 30L, it is possible to determine whether each of the left and right legs is currently standing or swinging during an operation period such as walking or running. Further, the output of the posture sensor 31 can detect the inclination and posture of the trunk.
【0045】主制御部11は、各センサ30R/30
L,31の出力に応答して制御目標をダイナミックに補
正することができる。より具体的には、副制御部20,
21,22R/22L,23R/23Lの各々に対して
適応的な制御を行い、ロボット装置1の上肢、体幹、及
び下肢が協調して駆動する全身運動パターンを実現でき
る。The main control unit 11 controls each sensor 30R / 30.
The control target can be dynamically corrected in response to the outputs of L and 31. More specifically, the sub control unit 20,
By performing adaptive control on each of 21, 22R / 22L and 23R / 23L, it is possible to realize a whole-body movement pattern in which the upper limbs, the trunk, and the lower limbs of the robot apparatus 1 are cooperatively driven.
【0046】ロボット装置1の機体上での全身運動は、
足部運動、ZMP(Zero Moment Point)軌道、体幹運
動、上肢運動、腰部高さなどを設定するとともに、これ
らの設定内容にしたがった動作を指示するコマンドを各
副制御部20,21,22R/22L,23R/23L
に転送する。そして、各々の副制御部20,21,・・
・等では、主制御部11からの受信コマンドを解釈し
て、各アクチュエータA 2,A3・・・等に対して駆動
制御信号を出力する。ここでいう「ZMP」とは、歩行
中の床反力によるモーメントがゼロとなる床面上の点の
ことであり、また、「ZMP軌道」とは、例えばロボッ
ト装置1の歩行動作期間中にZMPが動く軌跡を意味す
る。なお、ZMPの概念並びにZMPを歩行ロボットの
安定度判別規範に適用する点については、Miomir Vukob
ratovic著“LEGGED LOCOMOTION ROBOTS”(加藤一郎外
著『歩行ロボットと人工の足』(日刊工業新聞社))に
記載されている。The whole body motion of the robot apparatus 1 on the body is
Foot movement, ZMP (Zero Moment Point) trajectory, trunk movement
Movement, upper limb movement, waist height, etc.
Command to instruct the operation according to the setting contents
Sub control unit 20, 21, 22R / 22L, 23R / 23L
Transfer to. Then, each sub control unit 20, 21, ...
・ Interpret the received command from the main controller 11
Each actuator A Two, AThree... Drives for etc.
Output a control signal. "ZMP" here means walking
Of the point on the floor where the moment due to the floor reaction force inside becomes zero
The “ZMP orbit” is, for example, a robot
Means a locus of movement of the ZMP during the walking motion of the device 1.
It In addition, the concept of ZMP and ZMP
Regarding the points applied to the stability criterion, see Miomir Vukob.
ratovic "LEGGED LOCOMOTION ROBOTS" (Ichiro Kato
In "Walking Robot and Artificial Feet" (Nikkan Kogyo Shimbun))
Have been described.
【0047】以上のように、ロボット装置1は、各々の
副制御部20,21,・・・等が、主制御部11からの
受信コマンドを解釈して、各アクチュエータA2,A3
・・・に対して駆動制御信号を出力し、各ユニットの駆
動を制御している。これにより、ロボット装置1は、目
標の姿勢に安定して遷移し、安定した姿勢で歩行でき
る。As described above, in the robot apparatus 1, each of the sub-control units 20, 21, ... Interprets the received command from the main control unit 11 and each actuator A 2 , A 3
A drive control signal is output to ... to control the drive of each unit. As a result, the robot apparatus 1 makes a stable transition to the target posture and can walk in a stable posture.
【0048】また、ロボット装置1における制御ユニッ
ト10では、上述したような姿勢制御のほかに、加速度
センサ、タッチセンサ、接地確認センサ等の各種セン
サ、及びCCDカメラからの画像情報、マイクからの音
声情報等を統括して処理している。制御ユニット10で
は、図示しないが加速度センサ、ジャイロ・センサ、タ
ッチセンサ、距離センサ、マイク、スピーカなどの各種
センサ、各アクチュエータ、CCDカメラ及びバッテリ
が各々対応するハブを介して主制御部11と接続されて
いる。Further, in the control unit 10 in the robot apparatus 1, in addition to the posture control as described above, various sensors such as an acceleration sensor, a touch sensor, a ground contact confirmation sensor, image information from a CCD camera, and voice from a microphone. Information is handled in a centralized manner. In the control unit 10, although not shown, various sensors such as an acceleration sensor, a gyro sensor, a touch sensor, a distance sensor, a microphone, a speaker, actuators, CCD cameras, and batteries are connected to the main control unit 11 via corresponding hubs. Has been done.
【0049】主制御部11は、上述の各センサから供給
されるセンサデータや画像データ及び音声データを順次
取り込み、これらをそれぞれ内部インターフェイスを介
してDRAM内の所定位置に順次格納する。また、主制
御部11は、バッテリから供給されるバッテリ残量を表
すバッテリ残量データを順次取り込み、これをDRAM
内の所定位置に格納する。DRAMに格納された各セン
サデータ、画像データ、音声データ及びバッテリ残量デ
ータは、主制御部11がこのロボット装置1の動作制御
を行う際に利用される。The main controller 11 sequentially takes in sensor data, image data, and audio data supplied from the above-mentioned sensors, and sequentially stores them in a predetermined position in the DRAM via the internal interface. Further, the main control unit 11 sequentially takes in the battery remaining amount data representing the battery remaining amount supplied from the battery, and stores this in the DRAM.
It is stored in a predetermined position inside. Each sensor data, image data, voice data, and battery remaining amount data stored in the DRAM are used when the main control unit 11 controls the operation of the robot apparatus 1.
【0050】主制御部11は、ロボット装置1の電源が
投入された初期時、制御プログラムを読み出し、これを
DRAMに格納する。また、主制御部11は、上述のよ
うに主制御部11よりDRAMに順次格納される各セン
サデータ、画像データ、音声データ及びバッテリ残量デ
ータに基づいて自己及び周囲の状況や、使用者からの指
示及び働きかけの有無などを判断する。The main controller 11 reads the control program and stores it in the DRAM at the initial stage when the power of the robot apparatus 1 is turned on. In addition, the main control unit 11 uses the sensor data, the image data, the audio data, and the battery remaining amount data that are sequentially stored in the DRAM from the main control unit 11 as described above, based on the self and surrounding conditions and the user. Judging whether or not there are instructions and how to work.
【0051】さらに、主制御部11は、この判断結果及
びDRAMに格納した制御プログラムに基づいて自己の
状況に応じて行動を決定するとともに、当該決定結果に
基づいて必要なアクチュエータを駆動させることにより
ロボット装置1に、いわゆる「身振り」、「手振り」と
いった行動をとらせる。Further, the main control section 11 determines an action according to its own situation based on this determination result and the control program stored in the DRAM, and drives a necessary actuator based on the determination result. The robot apparatus 1 is caused to take actions such as so-called “gesture” and “hand gesture”.
【0052】このようにしてロボット装置1は、制御プ
ログラムに基づいて外部刺激の認識結果や内部状態の変
化に応じて行動制御を行うことができる。図4には、ロ
ボット装置1において採用される行動制御システム50
の基本アーキテクチャを模式的に示している。In this way, the robot apparatus 1 can perform the action control according to the recognition result of the external stimulus and the change of the internal state based on the control program. FIG. 4 shows an action control system 50 adopted in the robot apparatus 1.
The basic architecture of is schematically shown.
【0053】図示の行動制御システム50にはオブジェ
クト指向プログラミングを採り入れることができる。こ
の場合、各ソフトウェアは、データ(プロパティ)とそ
のデータに対する処理手続き(メソッド)とを一体化さ
せた「オブジェクト」というモジュール単位で扱われ
る。また、各オブジェクトは、メッセージ通信と共有メ
モリを使ったオブジェクト間通信方法によりプロパティ
の受け渡しとメソッドの継承を行なうことができる。Object-oriented programming can be incorporated into the illustrated behavior control system 50. In this case, each software is handled in module units called "objects" in which data (property) and a processing procedure (method) for the data are integrated. In addition, each object can pass properties and inherit methods by message communication and inter-object communication method using shared memory.
【0054】行動制御システム50は、外部環境(Envi
ronments)を認識するために、視覚認識機能部51と、
聴覚認識機能部52と、接触認識機能部53を備えてい
る。The behavior control system 50 uses the external environment (Envi
ronments), the visual recognition function unit 51,
The hearing recognition function unit 52 and the contact recognition function unit 53 are provided.
【0055】視覚認識機能部(Video)51は、例え
ば、電荷結合素子(Charge Coupled Device:CCD)
カメラのような画像入力装置を介して入力された撮影画
像を基に、顔認識や色認識などの画像認識処理や特徴抽
出を行う。視覚認識機能部51は、"MultiColorTracke
r","FaceDetector","FaceIdentify"といった複数のオ
ブジェクトで構成される。The visual recognition function section (Video) 51 is, for example, a charge coupled device (CCD).
Image recognition processing such as face recognition and color recognition and feature extraction are performed based on a captured image input through an image input device such as a camera. The visual recognition function unit 51 uses "MultiColorTracke
It consists of multiple objects such as "r", "FaceDetector", and "FaceIdentify".
【0056】聴覚認識機能部(Audio)52は、マイク
などの音声入力装置を介して入力される音声データを音
声認識して、特徴抽出したり、単語セット(テキスト)
認識を行ったりする。聴覚認識機能部52は、後述す
る"AudioRecog","AuthurDecoder"といった複数のオブ
ジェクトで構成される。The auditory recognition function unit (Audio) 52 performs voice recognition of voice data input through a voice input device such as a microphone to extract a feature or a word set (text).
Do recognition. The auditory recognition function unit 52 is composed of a plurality of objects such as "AudioRecog" and "AuthurDecoder" described later.
【0057】接触認識機能部(Tactile)53は、例え
ば機体の頭部などに内蔵された接触センサによるセンサ
信号を認識して、「なでられた」とか「叩かれた」とい
う外部刺激を認識する。The contact recognition function unit (Tactile) 53 recognizes a sensor signal from a contact sensor built in, for example, the head of the machine body, and recognizes an external stimulus such as "stroked" or "struck". To do.
【0058】内部状態管理部(ISM:Internal Statu
s Manager)54は、本能モデルや感情モデルを備え、
上述の視覚認識機能部51と、聴覚認識機能部52と、
接触認識機能部53によって認識された外部刺激(E
S:ExternalStimula)に応じてロボット装置1の本能
や情動といった内部状態を管理する。Internal status management unit (ISM: Internal Statu
s Manager) 54 has an instinct model and an emotional model,
The visual recognition function unit 51, the auditory recognition function unit 52,
External stimulus (E recognized by the touch recognition function unit 53
S: External Stimula) to manage internal states such as instinct and emotion of the robot apparatus 1.
【0059】感情モデルと本能モデルは、それぞれ認識
結果と行動履歴を入力に持ち、感情値と本能値を管理し
ている。行動モデルは、これら感情値や本能値を参照す
ることができる。The emotion model and the instinct model each have a recognition result and an action history as inputs, and manage emotion values and instinct values. The behavior model can refer to these emotional values and instinct values.
【0060】短期記憶部(ShortTermMemory)55は、
上述の視覚認識機能部51と、聴覚認識機能部52と、
接触認識機能部53によって外部環境から認識されたタ
ーゲットやイベントを短期間保持する機能モジュールで
ある。例えば、カメラからの入力画像を約15秒程度の
短い期間だけ記憶する。The short-term memory section (ShortTermMemory) 55 is
The visual recognition function unit 51, the auditory recognition function unit 52,
It is a functional module that holds a target or event recognized from the external environment by the contact recognition function unit 53 for a short period of time. For example, the input image from the camera is stored for a short period of about 15 seconds.
【0061】長期記憶部(LongTermMemory)56は、物
の名前など学習により得られた情報を超期間保持するた
めに使用される。長期記憶部56は、例えば、ある行動
モジュールにおいて外部刺激から内部状態の変化を連想
記憶する。The long-term storage unit (LongTermMemory) 56 is used to hold information obtained by learning such as the name of an object for a super-period. The long-term storage unit 56, for example, associatively stores a change in internal state from an external stimulus in a certain action module.
【0062】ロボット装置1の行動制御は、反射行動部
59によって実現される「反射行動」と、状況依存行動
階層58によって実現される「状況依存行動」と、熟考
行動階層57によって実現される「熟考行動」に大別さ
れる。The behavior control of the robot apparatus 1 is realized by the "reflexive behavior" realized by the reflexive behavior unit 59, the "situation dependent behavior" realized by the situation dependent behavior layer 58, and the "thinking behavior layer 57". It is roughly divided into "thinking behavior".
【0063】熟考行動階層(DeliberativeLayer)57
は、短期記憶部55並びに長期記憶部56の記憶内容に
基づいて、ロボット装置1の比較的長期にわたる行動計
画などを行う。Deliberative Layer 57
Performs a relatively long-term action plan of the robot apparatus 1 based on the stored contents of the short-term storage unit 55 and the long-term storage unit 56.
【0064】熟考行動は、与えられた状況あるいは人間
からの命令により、推論やそれを実現するための計画を
立てて行われる行動である。このような推論や計画は、
インタラクションを保つための反応時間よりも処理時間
や計算負荷を要するので、ロボット装置1は反射行動や
状況依存行動をリアルタイムで反応を返しながら行い、
熟考行動を推論や計画を立てて行う。The deliberative action is an action that is performed by inferring a plan or a plan for realizing it based on a given situation or an instruction from a human. Such inferences and plans are
Since the processing time and the calculation load are longer than the reaction time for maintaining the interaction, the robot apparatus 1 performs the reflexive behavior and the situation-dependent behavior while returning the reaction in real time,
Conduct deliberative actions by reasoning and planning.
【0065】状況依存行動階層(SBL:SituatedBeha
viorsLayer)58は、短期記憶部55並びに長期記憶部
56の記憶内容や、内部状態管理部54によって管理さ
れる内部状態を基に、ロボット装置1が現在置かれてい
る状況に即応した行動を制御する。Situation-dependent behavior hierarchy (SBL: Situated Beha)
The viorsLayer) 58 controls the action immediately corresponding to the current situation of the robot apparatus 1 based on the stored contents of the short-term storage unit 55 and the long-term storage unit 56 and the internal state managed by the internal state management unit 54. To do.
【0066】状況依存行動階層58は、各行動毎にステ
ートマシンを用意しており、それ以前の行動や状況に依
存して、センサ入力された外部情報の認識結果を分類し
て、行動を機体上で発現する。また、状況依存行動階層
58は、内部状態をある範囲に保つための行動(「ホメ
オスタシス行動」とも呼ぶ)も実現し、内部状態が指定
した範囲内を越えた場合には、その内部状態を当該範囲
内に戻すための行動が出易くなるようにその行動を活性
化させる(実際には、内部状態と外部環境の両方を考慮
した形で行動が選択される)。状況依存行動は、反射行
動(後述)に比し、反応時間が遅い。The state-dependent action hierarchy 58 prepares a state machine for each action, classifies the recognition result of the external information input by the sensor, depending on the action and the situation before that, and classifies the action as a machine. Expressed above. The situation-dependent action hierarchy 58 also realizes an action for keeping the internal state within a certain range (also called "homeostasis action"), and when the internal state exceeds the specified range, the internal state Activate the behavior so that it becomes easier for the behavior to return to within the range (actually, the behavior is selected in consideration of both the internal state and the external environment). Situation-dependent behavior has a slower reaction time than reflexive behavior (described later).
【0067】熟考行動階層57や状況依存行動階層58
は、アプリケーションとして実装することができる。Reflection action layer 57 and situation-dependent action layer 58
Can be implemented as an application.
【0068】反射的行動部(ConfigurationDependentAc
tionsAndReactions又はReflexiveSBL)59は、上述
の視覚認識機能部51と、聴覚認識機能部52と、接触
認識機能部53によって認識された外部刺激に応じて反
射的な機体動作を実現する機能モジュールである。Reflexive action part (ConfigurationDependentAc
The tionsAndReactions or ReflexiveSBL) 59 is a functional module that realizes reflexive body movements according to the external stimuli recognized by the visual recognition function unit 51, the auditory recognition function unit 52, and the contact recognition function unit 53.
【0069】反射行動は、基本的に、センサ入力された
外部情報の認識結果を直接受けて、これを分類して、出
力行動を直接決定する行動である。例えば、人間の顔を
追いかけたり、うなずくといった振る舞いは反射行動と
して実装することが好ましい。The reflex action is basically an action for directly receiving the recognition result of the external information input by the sensor, classifying the result, and directly determining the output action. For example, behaviors such as chasing a human face or nodding are preferably implemented as reflexive behaviors.
【0070】本実施形態に係るロボット装置1では、短
期記憶部55が、上述した視覚認識機能部51、聴覚認
識機能部52、接触認識機能部53などの複数の認識器
の結果を時間的及び空間的に整合性を保つように統合し
て、外部環境下の各物体に関する知覚を短期間の記憶と
して状況依存行動階層(SBL)58などに提供するよ
うになっている。また、センサ入力された外部情報の認
識結果を直接、反射行動部(Reflexive SBL)59に
提供するようになっている。In the robot apparatus 1 according to this embodiment, the short-term storage unit 55 stores the results of a plurality of recognizers such as the visual recognition function unit 51, the auditory recognition function unit 52, and the touch recognition function unit 53 described above temporally. They are integrated so as to maintain spatial consistency, and the perception of each object in the external environment is provided as a short-term memory to the context-dependent behavior hierarchy (SBL) 58 and the like. Further, the recognition result of the external information inputted by the sensor is directly provided to the reflexive SBL 59.
【0071】一般的に、様々な条件を加味した上で行動
を決定する状況依存行動階層(SBL)58や、熟考行
動階層57のみであるとロボットの反応は遅くなる。そ
こで、本実施の形態のロボット装置1の行動制御システ
ム50は、様々な条件(内部状態と外部状態)を加味し
て行動の発現を決定しようとするために、状況依存行動
階層(SBL)58や、熟考行動階層57の他、ある単
一のセンサ条件において行動の発現を決定する反射行動
部(Reflexive SBL)59も別プロセスとなるように
システム構成されている。Generally, if only the situation-dependent action hierarchy (SBL) 58 that determines an action in consideration of various conditions and the deliberation action hierarchy 57, the reaction of the robot becomes slow. Therefore, the behavior control system 50 of the robot apparatus 1 according to the present embodiment tries to determine the expression of the behavior in consideration of various conditions (internal state and external state), and therefore, the situation-dependent behavior hierarchy (SBL) 58. In addition to the consideration behavior layer 57, the reflexive action part (Reflexive SBL) 59 that determines the expression of an action under a certain single sensor condition is configured as a separate process.
【0072】このため、例えば、状況依存行動階層(S
BL)58や反射行動部(Reflexive SBL)59から
は、非同期にコマンドが送信可能となる。本実施の形態
のロボット装置1では、これらの非同期なコマンドを調
停するため、図5に示すコマンドマネージャー(CM:
Command Manager)を用いている。Therefore, for example, the situation-dependent action hierarchy (S
A command can be transmitted asynchronously from the BL) 58 or the reflexive SBL 59. In the robot device 1 according to the present embodiment, since these asynchronous commands are arbitrated, the command manager (CM:
Command Manager) is used.
【0073】図5に示すコマンドマネージャーは、上位
層の例えば前記状況依存行動階層(SBL)58からの
複数のクライアント(Client)や、例えば前記反射行動
部(Reflexive SBL)59からのクライアントに対応
する。また、コマンドマネージャーは、下位層の複数の
エージェントAgent1,Agent2,Agent3にも対応す
る。これら下位層の複数のエージェントは、前述した体
幹部ユニット2や、頭部ユニット3,腕部ユニット4R
/4L,脚部ユニット5R/5L等のロボット装置1が
稼動するのに必要な装置に関連したリソース(Resourc
e)を対象とする、クライアントからのコマンドを場面
に応じて理解して自立的な判断に基づいた処理を実行す
る。各エージェントAgent1,Agent2,Agent3は、そ
れぞれが複数のリソースに対する処理を実行する。The command manager shown in FIG. 5 corresponds to a plurality of clients (Clients) from the upper layer, for example, the situation-dependent action hierarchy (SBL) 58, or clients from the reflexive action unit (Reflexive SBL) 59, for example. . The command manager also corresponds to a plurality of lower layer agents Agent1, Agent2, Agent3. These lower layer agents are the trunk unit 2, the head unit 3, and the arm unit 4R described above.
/ 4L, leg units 5R / 5L, and other resources related to the devices necessary for the robot device 1 to operate (Resourc
Under the command e), understand the command from the client according to the scene and execute the process based on the independent judgment. Each of the agents Agent1, Agent2, Agent3 executes processing for a plurality of resources.
【0074】図6には、図4に示した行動制御システム
50を構成する各オブジェクトによる動作の流れを示し
ている。FIG. 6 shows a flow of operations performed by each object that constitutes the behavior control system 50 shown in FIG.
【0075】オブジェクト同士が非同期に通信し合うこ
とで、システム全体が動作する。各オブジェクトはメッ
セージ通信と共有メモリを使ったオブジェクト間通信方
法によりデータ(プロパティ)の受け渡しと、事物の振
る舞いを記述したプログラム(メソッド)の継承を行っ
ている。以下に、各オブジェクトの機能について説明す
る。The entire system operates by asynchronously communicating objects. Each object passes data (property) by message communication and inter-object communication method using shared memory, and inherits a program (method) that describes the behavior of things. The function of each object will be described below.
【0076】色検出部(MultiColorTracker)は、色検
出を行うオブジェクトであり、カメラなどの画像入力装
置から画像データを受け取り、あらかじめ持っている複
数のカラー・モデルに基づいて色領域を抽出し、連続し
た領域に分割する。分割された各領域の位置や大きさ、
特徴量などの情報を出力して、短期記憶部(ShortTermM
emory)へ送る。The color detection unit (MultiColorTracker) is an object for performing color detection, receives image data from an image input device such as a camera, extracts a color area based on a plurality of color models that it has in advance, and performs continuous extraction. Divided into regions. Position and size of each divided area,
Outputs information such as features, and stores it in the short-term memory (ShortTermM
send to emory).
【0077】音検出部(AudioRecog)は、マイクなどの
音声入力装置からの音声データを受け取って、特徴抽出
と音声区間検出を行うオブジェクトである。また、マイ
クがステレオである場合には、水平方向の音源方向推定
を行うことができる。音声区間であると判断されると、
その区間の音声データの特徴量及び音源方向が短期記憶
部に送られる。The sound detection unit (AudioRecog) is an object that receives voice data from a voice input device such as a microphone and performs feature extraction and voice section detection. When the microphone is stereo, the sound source direction estimation in the horizontal direction can be performed. When it is determined that it is a voice section,
The feature amount and the sound source direction of the voice data of the section are sent to the short-term storage unit.
【0078】接触検出部は、機体の頭部などに内蔵さ
れ、「なでられた」とか「叩かれた」という外部刺激を
検出し、その検出結果が短期記憶部に送られる。The contact detection unit is built in the head of the machine body or the like, detects an external stimulus such as "stroked" or "struck", and the detection result is sent to the short-term storage unit.
【0079】なお、図示はしていないが、このレベルの
検出部としては、顔検出部(FaceDetector)もある。画
像フレーム中から顔領域を検出するオブジェクトであ
り、カメラなどの画像入力装置から画像データを受け取
り、それを9段階のスケール画像に縮小変換する。この
すべての画像の中から顔に相当する矩形領域を探索す
る。重なりあった候補領域を削減して最終的に顔と判断
された領域に関する位置や大きさ、特徴量などの情報を
出力して、検出された顔画像を識別するオブジェクト
(FaceIdentify)へ送る。このFaceIdentifyは前記顔画
像から顔画像領域の位置、大きさ情報や人物IDを生成
し、短期記憶部に送る。Although not shown, a face detection section (FaceDetector) is also provided as a detection section for this level. It is an object that detects a face area in an image frame, receives image data from an image input device such as a camera, and reduces and converts the image data into a nine-step scale image. A rectangular area corresponding to the face is searched from all the images. The overlapping candidate areas are reduced, and information such as the position, size, and feature amount regarding the area finally determined to be the face is output, and is sent to the object (FaceIdentify) that identifies the detected face image. This FaceIdentify generates the position and size information of the face image area and the person ID from the face image and sends it to the short-term storage unit.
【0080】さらに、ボール識別部や、距離検出部など
もある。これらボール識別部や、距離検出部については
詳細を後述する。Further, there are a ball identification section, a distance detection section, and the like. Details of the ball identification unit and the distance detection unit will be described later.
【0081】短期記憶部(ShortTermMemory)は、ロボ
ット装置1の外部環境に関する情報を比較的短い時間だ
け保持するオブジェクトであり、音検出部から音声デー
タの特徴量及び音源方向を受け取る。また、色検出部か
ら分割された各領域の位置や大きさ、特徴量などの情報
を受け取る。また、接触検出部から、外部刺激の検出結
果を受け取る。そして、これらの複数の検出結果を時間
的及び空間的に整合性を保つように統合して、意味を持
ったシンボル情報として扱い、状況依存行動階層に渡
す。The short-term storage unit (ShortTermMemory) is an object that holds information about the external environment of the robot apparatus 1 for a relatively short period of time, and receives the feature amount and sound source direction of voice data from the sound detection unit. Also, information such as the position, size, and feature amount of each divided area is received from the color detection unit. Also, the detection result of the external stimulus is received from the contact detection unit. Then, these plural detection results are integrated so as to maintain temporal and spatial consistency, treated as meaningful symbol information, and passed to the situation-dependent action hierarchy.
【0082】状況依存階層(SituatedBehaviorLayer)
は、短期記憶部からの情報を基にロボット装置1の行動
(状況に依存した行動)を決定するオブジェクトであ
る。複数の行動を同時に評価したり、実行したりするこ
とができる。また、行動を切り替えて機体をスリープ状
態にしておき、別の行動を起動することができる。SituatedBehaviorLayer
Is an object that determines the action (action depending on the situation) of the robot apparatus 1 based on the information from the short-term storage unit. Multiple actions can be evaluated and performed simultaneously. In addition, the action can be switched to put the aircraft in a sleep state, and another action can be activated.
【0083】反射行動部(Reflexive SBL)は、前記
色検出部、音検出部、接触検出部のうちのある単一のセ
ンサ条件において行動の発現を決定する。The reflexive SBL determines the expression of a behavior under a single sensor condition among the color detecting unit, the sound detecting unit and the contact detecting unit.
【0084】コマンドマネージャー(CM:Command Ma
nager)は、状況依存行動階層(SBL)や反射行動部
(Reflexive SBL)からの、非同期のコマンドを調停
する。つまり、非同期の出力用のコマンドに対してロボ
ット装置1の各ハードウェアの複数のリソース調停を複
数のエージェントの処理を通じて行う。Command Manager (CM: Command Ma
nager) arbitrates asynchronous commands from the situation-dependent action hierarchy (SBL) and the reflexive action unit (Reflexive SBL). That is, a plurality of resource arbitrations of each hardware of the robot apparatus 1 are performed through the processes of a plurality of agents for an asynchronous output command.
【0085】ところで、従来、自律型のロボット装置に
おいては、コマンドマネージャーによるリソースの管理
は、あまりなされてなかった。それは、1つのエージェ
ントに対して1つのリソースが割り当てられていたため
である。これに対して、本実施の形態のロボット装置1
では、リソースの分割、統合を行うことができるので一
つのエージェントに対して複数のリソースを割り当てる
ことができるようになった。このリソースの分割、統合
については後述する。By the way, conventionally, in the autonomous robot apparatus, the resource management by the command manager has not been performed so much. This is because one resource was assigned to one agent. On the other hand, the robot apparatus 1 according to the present embodiment
Now, because resources can be divided and integrated, multiple resources can be assigned to one agent. The division and integration of this resource will be described later.
【0086】また、従来、自律型のロボット装置におい
ては、クライアントは1つしか許しておらず、複数クラ
イアントに対するコマンド制御を行うことがなかった。
また、同時にコマンド返答制御に関しても複数クライア
ント対応のものはなかった。これに対して、ロボット装
置1では、コマンドマネージャーがプライオリティに基
づいてクライアント側からのコマンドを調停するので、
複数クライアントを持つことが可能となった。この複数
クライアントへの対応についても後述する。Further, conventionally, in the autonomous robot apparatus, only one client is permitted and command control is not performed for a plurality of clients.
At the same time, there is no command response control for multiple clients. On the other hand, in the robot apparatus 1, since the command manager arbitrates the command from the client side based on the priority,
It is now possible to have multiple clients. Correspondence to the plurality of clients will also be described later.
【0087】以下、ロボット装置1のコマンドマネージ
ャーでのリソース等の制御について詳細に説明する。The control of resources and the like by the command manager of the robot apparatus 1 will be described in detail below.
【0088】先ず、コマンドマネージャーにおける、ク
ライアントからエージェントへのコマンド変換処理につ
いて図7を参照して説明する。ここでは、コマンドマネ
ージャーがクライアントからコマンドを受け取ってエー
ジェントに流すまでを説明する。First, the command conversion processing from the client to the agent in the command manager will be described with reference to FIG. Here, the process from the command manager receiving a command from the client to sending it to the agent will be described.
【0089】ステップS1にてクライアントからコマン
ドを受信すると、コマンドマネージャーはステップS2
にてコマンドがキャンセルコマンドか否かをチェックす
る。コマンドがキャンセルコマンドで無いと判定する
(NO)とコマンドマネージャーはコマンドを解釈する
(ステップS3)。そして、解釈したコマンドがコマン
ドのデータについて記述したコマンドであるメタコマン
ドであるか否かをステップS4にてチェックし、メタコ
マンドで無ければ(NO)、通常コマンドであるのでス
テップS5に進んでリソースの管理を行う。このリソー
スの管理についてはリソースを分割、統合してエージェ
ントに送る処理について後述する。そして、ステップS
6にてコマンドマネージャーが備える出力バッファのキ
ューへコマンドをためて送信する。When the command is received from the client in step S1, the command manager operates in step S2.
Check to see if the command is a cancel command. If the command manager determines that the command is not a cancel command (NO), the command manager interprets the command (step S3). Then, in step S4, it is checked whether or not the interpreted command is a meta command that is a command that describes the data of the command. If it is not a meta command (NO), the command is a normal command, so the process proceeds to step S5 and the resource Manage. Regarding the management of this resource, a process of dividing and integrating the resource and sending it to the agent will be described later. And step S
At 6, the command is accumulated and transmitted to the queue of the output buffer provided in the command manager.
【0090】一方、ステップS2にて受信したコマンド
がキャンセルコマンドであると判定する(YES)と、
コマンドマネージャーはステップS7にてキャンセルコ
マンドを解釈する。On the other hand, if it is determined that the command received in step S2 is a cancel command (YES),
The command manager interprets the cancel command in step S7.
【0091】キャンセルコマンドは、従来、コマンドマ
ネージャーによりエージェントに素通しされていた。こ
れにより、例えばあるリソースを用いるコマンドに対す
るキャンセルが送られている際中に、同じリソースに対
するキャンセルを行うような2度打ちをしてしまうと、
シーケンスを乱す可能性があった。Conventionally, the cancel command has been passed through to the agent by the command manager. As a result, for example, if a command for using a certain resource is sent twice while canceling for the same resource,
It could disrupt the sequence.
【0092】そこで、ロボット装置1のコマンドマネー
ジャーは、ステップS7にてキャンセルコマンドを解釈
し、既にキャンセルコマンドが打たれており、実行中
か、キャンセルを打った後返事を待っている状態かを確
認する。これにより、無駄にキャンセルをたくさん打つ
ようなことをせずに待っている。そして、ステップS8
にてキャンセルコマンドを生成し、ステップS9にてキ
ャンセルコマンドを送信する。このキャンセルコマンド
に対する処理については詳細を後述する。Therefore, the command manager of the robot apparatus 1 interprets the cancel command in step S7, and confirms whether the cancel command has already been issued and is in the process of execution, or waiting for a reply after hitting the cancel command. To do. This allows you to wait without wasting a lot of cancellations. Then, step S8
A cancel command is generated at, and the cancel command is transmitted at step S9. Details of the processing for the cancel command will be described later.
【0093】なお、前記ステップS4にてメタコマンド
であると判定するとステップS10に進んでメタコマン
ドの変更処理を行う。If it is determined in step S4 that the command is a meta command, the process proceeds to step S10 to perform meta command change processing.
【0094】このメタコマンドを扱う際、従来のロボッ
ト装置はパラメータやコマンド名の補完などを行うこと
がなかったが、本実施の形態のロボット装置1は、パラ
メータ変更等のメタコマンドを受け取った際に、実際に
該当するコマンドヘと変換を行いエージェントへ送るよ
うにした。またそのメタコマンドに対する返答をエージ
ェントから受けた際に該当メタコマンドの返答へと変換
し、クライアントヘと送るようにもした。このメタコマ
ンドに対する処理についても詳細を後述する。When the meta command is handled, the conventional robot device does not complement the parameters and command names, but the robot device 1 of the present embodiment receives the meta command such as parameter change. Then, I converted it to the corresponding command and sent it to the agent. Also, when the response to the meta command is received from the agent, it is converted into the response of the corresponding meta command and sent to the client. The processing for this metacommand will also be described in detail later.
【0095】次に、図7においてステップS1、ステッ
プS3、ステップS5及びステップS6へと続くリソー
スベースでの通常コマンドの受信と送信処理について図
8及び図9を用いて説明する。クライアントから受け取
ったコマンドが複数のリソースを使うコマンドであった
場合である。Next, with reference to FIGS. 8 and 9, a description will be given of the resource-based normal command reception and transmission processing following step S1, step S3, step S5, and step S6 in FIG. This is the case when the command received from the client is a command that uses multiple resources.
【0096】従来のロボット装置においては、一つのエ
ージェントに付き、一つのリソースが割り当てられてい
た。しかし、本実施の形態のロボット装置1では、エー
ジェントとリソースとが1対1の対応でなくてもよいよ
うに、コマンドマネージャー内に出力バッファの他、内
部バッファを設けている。In the conventional robot apparatus, one resource is assigned to one agent. However, in the robot device 1 of the present embodiment, the command manager is provided with an internal buffer in addition to the output buffer so that the agent and the resource do not have to have a one-to-one correspondence.
【0097】図8のステップS1においてクライアント
から例えばAとBというリソースを二つ使えという一つ
のコマンド(UseResource:AB)を受信したとする。す
ると、ステップS3のコマンド解釈処理では、前記一つ
のコマンド(UseResource:AB)の二つのリソースを分
割してリソースA,Bとし、内部バッファに別々に入れ
てやる。ステップS5のリソースマネジメント処理で
は、現在使用しているリソースと前記分割リソースA,
Bとを比較する。そして、バッファが重複しなければ、
ステップS6にてコマンドを合体して各エージェントに
割り当てられた出力バッファの各キューへ合体したコマ
ンドをためてタイミングを図り送信する。In step S1 of FIG. 8, it is assumed that one command (UseResource: AB) for using two resources A and B is received from the client. Then, in the command interpretation process of step S3, the two resources of the one command (UseResource: AB) are divided into resources A and B, which are separately stored in the internal buffer. In the resource management process of step S5, the currently used resource and the divided resource A,
Compare with B. And if the buffers do not overlap,
In step S6, the commands are combined, and the combined commands are transmitted to the queues of the output buffers assigned to the agents with the accumulated timing.
【0098】このように、ロボット装置1では、複数の
リソースを持つコマンドをクライアントから受け取った
ときでも、入力時に基本リソースに分解し出力時に実際
のリソースヘ統含することにより、リソ−スの部分的な
コンフリクトの検出が可能になり、かつ、1つのコマン
ドとして送られた複数リソースにまたがるコマンドを出
すタイミングを調整することができる。つまり、ロボッ
ト装置1では、エージェントの持つ基本リソースの数を
限定しなくてもよくなった。また、コマンドの持つリソ
ースについても同様に自由な設定を行ってもきちんとコ
マンド管理ができるようになった。As described above, in the robot apparatus 1, even when a command having a plurality of resources is received from the client, it is decomposed into basic resources at the time of input and included in the actual resource at the time of output, so that a partial resource can be obtained. It is possible to detect such conflicts, and it is possible to adjust the timing of issuing a command that is sent as one command and that spans multiple resources. That is, in the robot device 1, it is not necessary to limit the number of basic resources that the agent has. In addition, command resources can now be properly managed even by freely setting them.
【0099】次に、図7においてステップS1、ステッ
プS2、ステップS7、ステップS8及びステップS9
と続くキャンセルコマンドに対する処理について図10
を参照して説明する。Next, in FIG. 7, step S1, step S2, step S7, step S8 and step S9.
Regarding the processing for the cancel command that follows, FIG. 10
Will be described with reference to.
【0100】このロボット装置1では、キャンセルがク
ライアント1等の上位層にて2度打ちされてしまって
も、無駄なステータスを乱すようなキャンセルを出さな
いようにするため、実際に2回目のキャンセルコマンド
は送らずに、該当リソースからキャンセルコマンドへの
返答が来た際に同時に返答を作りクライアントに送るよ
うにする。In this robot apparatus 1, even if the cancellation is hit twice in the upper layer such as the client 1, in order to prevent the cancellation that disturbs the useless status, the second cancellation is actually performed. Instead of sending a command, when a reply to the cancel command comes from the relevant resource, a reply is created at the same time and sent to the client.
【0101】図10におけるステップS21にてコマン
ドを受け取ると、ステップS22においてキャンセルす
べきコマンドをコマンドバッファから検索する。また、
内部バッファ内にキャンセルすべきコマンドがあるかど
うかをステップS23にて検索しあればそこでコマンド
を取り出す(POP)。さらに、キャンセルすべきコマ
ンドが残っているか否かをステップS24にてチェック
し、残っていない(NO)と判定すれば、ステップS2
5に進んでキャンセルされたコマンド群に対する返答を
作成し、さらにステプS26にてキャンセルコマンドに
対する返答を作成し、それらの返答をステップS27に
てクライアントへ返答する。When the command is received in step S21 in FIG. 10, the command to be canceled is retrieved from the command buffer in step S22. Also,
If it is searched in step S23 whether there is a command to be canceled in the internal buffer, the command is fetched there (POP). Furthermore, it is checked in step S24 whether or not there is any command to be canceled, and if it is determined that there is no command (NO), then step S2
The process proceeds to step 5 to create a reply to the canceled command group, further creates a reply to the cancel command in step S26, and sends the reply to the client in step S27.
【0102】一方、ステップS24にてまだキャンセル
すべきコマンドが残っている(YES)と判定すると、
ステップS28に進んで、既に打ったキャンセルコマン
ドと残っているキャンセルコマンドのリソースがかぶっ
ているか否かをチェックする。もし、リソースがかぶっ
ているのであれば(YES)、ステップS29に進んで
重なったリソースを持つキャンセルコマンドの返答待ち
キューに入れる。また、ステップS28にて既に打った
キャンセルコマンドとリソースがかぶっていない(N
O)と判定すれば、ステップS30に進んで送るべきリ
ソースのキャンセルコマンドを生成してエージェントへ
送る。On the other hand, if it is determined in step S24 that there are still commands to be canceled (YES),
In step S28, it is checked whether or not the resources of the canceled cancel command and the remaining cancel command are covered. If the resource is covered (YES), the process advances to step S29 to put in the reply waiting queue of the cancel command having the overlapping resource. In addition, the cancel command that has already been issued in step S28 and the resource are not covered (N
If it is determined to be O), the process proceeds to step S30 and a cancel command for the resource to be sent is generated and sent to the agent.
【0103】このようにコマンドマネージャーでは、ク
ライアントからキャンセルコマンドが来たら既に打たれ
ている可能性があるので、キャンセルコマンドを既に実
行中か、あるいはキャンセルコマンドを打って返答を待
っているのかをステップS24、ステップS28にてチ
ェックする。ステップS28でのチェックの結果、先に
打たれたキャンセルコマンドの返答を待っているのであ
ればステップS29にて重なったリソースを持つキャン
セルコマンドの返答待ちキューにフラグを入れて、リソ
ースからキャンセルコマンドの返答がきたタイミングで
キャンセルが完了したとしてコマンドマネージャーの中
でコマンドの返答を作り、クライアントへ返答する。As described above, in the command manager, there is a possibility that the cancel command has already been entered when the cancel command comes from the client. Therefore, it is necessary to determine whether the cancel command is already being executed or whether the cancel command is entered and a reply is waited for. Check in S24 and S28. If the result of the check in step S28 is that the response to the previously entered cancel command is waiting, in step S29 a flag is put in the response queue for the cancel command with overlapping resources, and the cancel command from the resource is sent. When the response is received, it is assumed that the cancellation has been completed, and a command response is created in the command manager and the response is sent to the client.
【0104】このようにすれば、上位層のクライアント
側はキャンセルコマンドに対して正しいタイミングで正
しい返答が返ってきたと判断できる。よって、コマンド
マネージャーでは、無駄なステータスを乱すようなキャ
ンセルコマンドをエージェント側に素通ししなくなるの
で、ロボット装置1は必要充分なコマンドのみで機能す
るようになる。In this way, the client side of the upper layer can judge that the correct response is returned to the cancel command at the correct timing. Therefore, in the command manager, the cancel command that disturbs the useless status is not passed through to the agent side, so that the robot apparatus 1 can function only with necessary and sufficient commands.
【0105】次に、図7においてステップS1、ステッ
プS3、ステップS4及びステップS10と続くメタコ
マンドに対する処理について図11を参照して説明す
る。クライアントから来たコマンドが例えば「歩け」と
いうものであるとき、メタコマンドとは例えば速度を変
更せよというようなパラメータの変更などに関するもの
である。コマンドマネージャーは、メタコマンドが来た
ときに、パラメータ変更であればステップS41にて変
えたい値だけを変更し、実際に何のコマンドになるのか
を検索(ステップS42)し、ステップS43にて新た
なコマンドをコマンド名とメンバ変数をセットにして作
り、ステップS44にてバッファを用いて更新した後、
出力バッファのキューへ足し(ステップS45)てから
送信する。Next, with reference to FIG. 11, description will be given of the processing for the meta command following step S1, step S3, step S4 and step S10 in FIG. When the command coming from the client is, for example, "walk", the meta command relates to, for example, changing the parameter such as changing the speed. When a meta command arrives, the command manager changes only the value to be changed in step S41 if the parameter is changed, searches for what command it actually becomes (step S42), and newly updates in step S43. After creating a new command with the command name and member variable as a set and updating it using the buffer in step S44,
Transmission is performed after the queue is added to the output buffer (step S45).
【0106】したがって、ロボット装置1のコマンドマ
ネージャーは、パラメータ変更等のメタコマンドを受け
取った際に、実際に該当するコマンドヘと変換を行いエ
ージェントへ送ることができる。またそのメタコマンド
に対する返答をエージェントから受けた際には該当メタ
コマンドの返答へと変換し、クライアントヘと送ること
ができる。つまり、メタコマンドを用いて必要な情報を
取り出してエージェントへ送ることができるようになっ
た。また、エージェントからの返答を補完し、正しい返
答を作ることで、メタコマンドの返答も正しく受け取れ
るようになった。Therefore, when the command manager of the robot apparatus 1 receives a meta command such as parameter change, it can actually convert the meta command into a corresponding command and send it to the agent. When a response to the metacommand is received from the agent, it can be converted into a response to the corresponding metacommand and sent to the client. In other words, it became possible to retrieve the necessary information using the metacommand and send it to the agent. In addition, by supplementing the response from the agent and creating a correct response, the response from the metacommand can now be received correctly.
【0107】次に、コマンドマネージャーにおける、エ
ージェント側からの情報をクライアントへ伝える処理に
ついて説明する。従来は、ただ、クライアントからのコ
マンドに対してどうであったかということをエージェン
ト側からの返答として知らせるしかなかった。エージェ
ント側での早いフィードバック情報等を流すことのでき
る経路を持たなかった。よって、エージェント側からの
情報をクライアント側に逆向きに伝えてやる機能は今ま
でなかった。Next, the process of transmitting the information from the agent side to the client in the command manager will be described. In the past, the only option was to inform the agent of the response to the command from the client. The agent did not have a route through which quick feedback information could be sent. Therefore, until now, there was no function to convey information from the agent side to the client side in the opposite direction.
【0108】そこで、ロボット装置1のコマンドマネー
ジャーでは、エージェントからの状態変化などを示す情
報を受け取れるようにした。そして、エージェント側の
状態変化などの情報をクライアント側に送れるようにし
た。これにより、上位クライアントのコンフィギュレー
ション(Conifguration)依存性を減らし、エージェン
トからの情報を有効に使ってより適切な行動を作ること
ができるようになった。Therefore, the command manager of the robot apparatus 1 can receive the information indicating the status change from the agent. Then, information such as the state change on the agent side can be sent to the client side. As a result, it is possible to reduce the configuration dependency of the upper client and make more appropriate action by effectively using the information from the agent.
【0109】図12には、エージェントからの情報をク
ライアントへ伝える処理手順を示す。ステップS51に
て情報を受け取り、ステップS52にてそれらの情報を
解釈し、情報にコマンドが付いているか否かをチェック
する。ステップS53にてフラグを更新し、ステップS
54にてリソースを更新する。ステップS55にて姿勢
更新する。次に、ステップS56にてメンバ変数を代入
する。この後、ステップS57にて特定コマンドに関す
る情報であるか否かをチェックし、特定コマンドに関す
る情報である(YES)と判定すると、ステップS58
にてコマンドを出したクライアントへ通知する。ステッ
プS57にて特定コマンドに関する情報でない(NO)
と判定するとステップS59にて全てのクライアントに
通知する。FIG. 12 shows a processing procedure for transmitting information from the agent to the client. The information is received in step S51, the information is interpreted in step S52, and it is checked whether the information has a command. The flag is updated in step S53, and step S
The resource is updated at 54. The posture is updated in step S55. Next, the member variable is substituted in step S56. Thereafter, it is checked in step S57 whether or not the information is related to the specific command, and if it is determined that the information is related to the specific command (YES), step S58.
Notify the client that issued the command. It is not information related to the specific command in step S57 (NO)
If it is determined, all the clients are notified in step S59.
【0110】ここで、自発的にエージェントから流して
コマンドマネージャーが受け取る情報は、エージェント
だけが知っている情報である。例えば、関節角度のリミ
ッタチェックへの警告や、転倒などのイベント情報が挙
げられる。関節角度のリミッタチェックへの警告は、例
えば関節角度のリミッタを超えているというような情報
である。これはコマンドを出したクライアントだけに通
知すればよい。一方、転倒などのイベント情報は、全て
のクライアントに通知しなければならない。Here, the information voluntarily sent from the agent and received by the command manager is information known only to the agent. For example, warnings for limiter checks of joint angles and event information such as falls may be cited. The warning to the joint angle limiter check is, for example, information that the joint angle limiter is exceeded. This only needs to be reported to the client that issued the command. On the other hand, event information such as a fall must be notified to all clients.
【0111】なお、コマンドマネージャーは、逆にクラ
イアントからの情報を何もブロックせずにエージェント
へと伝える機構も備えている。直接エージェントに伝え
たい情報があるときは、クライアント側にて特殊なフラ
グを付ける。これによりコマンドマネージャーは前記特
殊なフラグの付いたコマンドに関してはリソースの制御
を行わずにエージェントに素通しする。The command manager, on the contrary, also has a mechanism for transmitting information from the client to the agent without blocking anything. When there is information that you want to send directly to the agent, add a special flag on the client side. As a result, the command manager passes the command with the special flag to the agent without controlling the resource.
【0112】このように、コマンドマネージャーは、コ
マンドのやりとり以外の情報のやりとりのパスを、クラ
イアント側からエージェント側に、またエージェント側
からクライアント側へと両方用意している。As described above, the command manager prepares both paths for exchanging information other than the exchange of commands from the client side to the agent side and from the agent side to the client side.
【0113】また、前述したように、ロボット装置1の
コマンドマネージャーは、複数クライアントを持つこと
が可能である。主な行動を決める状況依存行動階層(ク
ライアント1)と、反射的な行動をする反射行動部(ク
ライアント2)という、複数のクライアントを持つ場
合、複数のクライアントから来たコマンドも、リソース
の競合を見て、ぶつからないように効率的にコマンドを
出す。Also, as described above, the command manager of the robot apparatus 1 can have a plurality of clients. If you have multiple clients, the context-dependent action hierarchy (client 1) that determines the main action and the reflex action part (client 2) that performs reflexive actions, commands from multiple clients will also compete for resources. Watch and issue commands efficiently so that they do not collide.
【0114】このため、コマンドマネージャーは、複数
クライアントから来たコマンドに対して動的なプライオ
リティを用いたリソースに関する管理を行う。複数のク
ライアントから来たコマンドのプライオリティのチェッ
クは、コマンドマネージャーが内蔵のバッファにためな
がら行うことができる。つまり、複数のクライアントか
らのコマンドを受け付け、受けたものをプライオリティ
に基づいて調停してエージェントに出してやる。Therefore, the command manager manages the resources using the dynamic priority for the commands coming from a plurality of clients. The command manager can check the priority of commands from multiple clients while accumulating in a built-in buffer. That is, it receives commands from a plurality of clients, arbitrates the received commands based on the priority, and sends them to the agent.
【0115】また、同じオブジェクトから来たものに対
するプライオリティの値が刻々変わってくるときには以
下のようになる。例えば、コマンドマネージャーのバッ
ファの中に既にクライアント1からのコマンドがたまっ
ていたときに、クライアント1から新しいコマンドがき
て、そのプライオリティの値が変わっていた場合には、
元々あったものを更新して新しい情報でコマンドの出す
順番を決めてやる。Further, when the priority values for objects coming from the same object change every moment, it becomes as follows. For example, if a command from client 1 has already accumulated in the command manager buffer and a new command comes from client 1 and the priority value has changed,
Update what was originally there and decide the order in which the commands are issued with the new information.
【0116】さらに、コマンドマネージャーは、エージ
ェントからクライアントへのコマンド返答制御に関して
も、複数クライアントへの返答か、特定のクライアント
への返答かを制御する。エージェントからの返答をコマ
ンドを貰った特定のクライアントに返すのか、あるいは
全てのクライアントに返すのかの制御である。特定のコ
マンドに対する返答が出したクライアントにしか必要が
ないのであれば、コマンドを出した特定のクライアント
にのみ返答を返すし、全てのクライアントに返答した方
がいいというのであれば全てのクライアントに返答を返
す。これは、エージェント側にてフラグを付与すること
によりコマンドマネージャーにて判断する。Further, the command manager also controls the command response from the agent to the client, whether it is a response to a plurality of clients or a response to a specific client. Controls whether the response from the agent is returned to the specific client that received the command, or to all clients. If only the client that sent a response to a particular command needs it, return the response only to the specific client that issued the command. If it is better to respond to all clients, reply to all clients. return it. This is judged by the command manager by adding a flag on the agent side.
【0117】次に、コマンドマネージャーの具体的な処
理について図13〜図22面を参照して説明する。図1
3〜図22は、クライアントと、コマンドマネージャー
と、エージェント間のシーケンス図である。ただし、こ
こでは、リソースマネジメント(RM)に関する処理で
あるので、クライアントをRMクライアント、コマンド
マネージャーをRM、エージェントをRMエージェント
と記している。Next, the specific processing of the command manager will be described with reference to FIGS. 13 to 22. Figure 1
3 to 22 are sequence diagrams among the client, the command manager, and the agent. However, here, since the processing is related to resource management (RM), the client is described as an RM client, the command manager is described as an RM, and the agent is described as an RM agent.
【0118】先ず、一つのクライアントからの一つのコ
マンドに対するコマンドマネージャーの通常処理の具体
例について図13を参照して説明する。一つのクライア
ント(RMClient2)からバイバイStanding-byebyeという
コマンドが出される。コマンドマネージャー(RM)
は、Standing-byebyeのリソースを制御し、そのコマン
ドで指定されているリソース(Arm)のエージェント(R
MAgent)にコマンドを渡す。すると、エージェントはコ
マンドを受け取ったという返答Arm:Exec(Standing-byeb
ye):standingをコマンドマネージャーに返してからその
コマンドを実行し、完了通知Free:Complete(Standing-b
yebye):standingをコマンドマネージャーに送る。コマ
ンドマネージャーは、前記完了通知を受け取り、コマン
ドを出したクライアント(RMClient2)に通知Free:Comp
lete(Standing-byebye)を流す。First, a specific example of the normal process of the command manager for one command from one client will be described with reference to FIG. A command called Standing-byebye is issued from one client (RMClient2). Command manager (RM)
Controls the resource of Standing-byebye, and the agent (R) of the resource (Arm) specified by the command
Command to MAgent). The agent then responds that it has received the command Arm: Exec (Standing-byeb
ye): standing is returned to the command manager, then the command is executed, and the completion notification is sent: Free: Complete (Standing -b
yebye): Send standing to the command manager. The command manager receives the completion notification and notifies the client (RMClient2) that issued the command Free: Comp
Stream lete (Standing-byebye).
【0119】次に、一つのクライアントからの複数のリ
ソースを指定した一つのコマンドに対するコマンドマネ
ージャーの通常処理の具体例について図14を参照して
説明する。一つのクライアント(RMClient1)からスタ
ンディングバイバイStanding-byebyeというコマンドが
出される。コマンドマネージャー(RM)は、Standing
-byebyeのリソースを制御し、そのコマンドで指定され
ているリソース、ここでは頭部ユニットHeadと腕部Arm
のエージェント(RMAgent)にコマンドを渡す。このと
き、コマンドマネージャーは、前記図8、図9を用いて
説明したように、リソースを分割し、内部バッファに入
れて現在しようしているリソースと比較し、その比較結
果に応じて分割したリソースを合体して各エージェント
に割り当てた出力バッファの各キューへ合体したコマン
ドをためてタイミングを図りエージェントに送信する。
このエージェントには複数のリソースが割り当てられて
いる。すると、エージェントはコマンドを受け取ったと
いう返答HeadArm:Exec(Standing-byebye):standingをコ
マンドマネージャーに返してからそのコマンドを実行
し、完了通知Free:Complete(Standing-byebye):standin
gをコマンドマネージャーに送る。コマンドマネージャ
ーは、前記完了通知を受け取り、コマンドを出したクラ
イアント(RMClient1)に通知Free:Complete(Standing-
byebye)を流す。Next, a specific example of the normal process of the command manager for one command specifying a plurality of resources from one client will be described with reference to FIG. One client (RMClient1) issues the command Standing-byebye. Commanding Manager (RM) is Standing
-Controls the resource of byebye, and the resource specified in the command, here head unit Head and arm Arm
Command to the agent (RMAgent) of. At this time, the command manager divides the resource, puts it in the internal buffer, compares it with the resource currently being used, and divides the resource according to the comparison result, as described with reference to FIGS. 8 and 9. Are combined with each other, and the combined command is accumulated in each queue of the output buffer assigned to each agent and the timing is measured and transmitted to the agent.
Multiple resources are assigned to this agent. Then, the agent returns the response that it received the command HeadArm: Exec (Standing-byebye): standing to the command manager, then executes the command, and notifies completion: Free: Complete (Standing-byebye): standin
Send g to the command manager. The command manager receives the completion notification and notifies the client (RMClient1) that issued the command Free: Complete (Standing-
byebye).
【0120】次に、キャンセルコマンドのリソースマネ
ジメント処理について図15を用いて説明する。一つの
クライアント(RMClient1)からスタンディングバイバ
イStanding-byebyeというコマンドが出され、コマンド
マネージャー(RM)はリソースを制御し、そのコマン
ドで指定されているリソースのエージェントに前記コマ
ンドを渡す。すると、エージェントはコマンドを受け取
ったという返答Arm:Exec(Standing-byebye):standingを
コマンドマネージャーに返す。次のタイミングで、同じ
クライアント(RMClient1)からスタンディングバイバ
イをキャンセルするコマンドN_STOP(Standing-byebye)
が出されるとコマンドマネージャーはそのコマンドを該
当のリソースArmのエージェントに伝える。さらに、こ
こでクライアント(RMClient1)から2度目のキャンセ
ルコマンドArm:N_STOP()が出されたとき、コマンドマネ
ージャーは前記図10に示した処理手順に基づいて2度
目のキャンセルコマンドをエージェントに出さず、エー
ジェントからのFree:Incomplete(Standing-byebye)NSto
p:NeutralをクライアントにArm:Incomplete(Standing-b
yebye)N_Stopとして流してから1度目のキャンセルコマ
ンドへの返答Free:Complete(N STOP):standingが来たと
きに同時にクライアントへの二つ(1度目のキャンセル
コマンドと二度目のキャンセルコマンド)の返答Free:C
omplete(N STOP),Free:Complete(Arm:N_STOP)を作りク
ライアントへ送る。Next, the resource management process of the cancel command will be described with reference to FIG. A command called Standing-byebye is issued from one client (RMClient1), the command manager (RM) controls the resource, and passes the command to the agent of the resource designated by the command. Then, the agent returns a reply Arm: Exec (Standing-byebye): standing that the command is received to the command manager. Command N_STOP (Standing-byebye) to cancel standing bye from the same client (RMClient1) at the next timing
Is issued, the command manager sends the command to the agent of the corresponding resource Arm. Furthermore, when the client (RMClient1) issues the second cancel command Arm: N_STOP () here, the command manager does not issue the second cancel command to the agent based on the processing procedure shown in FIG. Free: Incomplete (Standing-byebye) NSto from agent
Arm p: Neutral as a client Arm: Incomplete (Standing-b
yebye) Response to the first cancel command after being sent as N_Stop When Free: Complete (N STOP): standing comes, two replies (first cancel command and second cancel command) to the client at the same time. Free: C
Create omplete (N STOP), Free: Complete (Arm: N_STOP) and send to client.
【0121】次に、エージェント側からの情報をクライ
アントへ伝える処理の具体例を図16及び図17を参照
して説明する。図16はエージェントからの通知を特定
のクライアントにだけ流す処理を示し、図17はエージ
ェントからの通知を全てのクライアントに流す処理を示
す。エージェント側からの情報を特定のクライアントに
だけ流すか、全てのクライアントに流すかはエージェン
トにてIDを付すことによりコマンドマネージャーでは
判別できる。Next, a specific example of the process of transmitting the information from the agent side to the client will be described with reference to FIGS. 16 and 17. FIG. 16 shows the processing for sending the notification from the agent only to a specific client, and FIG. 17 shows the processing for sending the notification from the agent to all the clients. The command manager can determine whether the information from the agent side is sent only to a specific client or to all clients by giving an ID to the agent.
【0122】図16において一つのクライアント(RMCl
ient1)からスタンディングバイバイStanding-byebyeと
いうコマンドが出される。コマンドマネージャー(R
M)は、Standing-byebyeのリソースを制御し、そのコ
マンドで指定されているリソース(Arm)のエージェン
ト(RMAgent)にコマンドを渡す。すると、エージェン
トはコマンドを受け取ったという返答Arm:Exec(Standin
g-byebye):standingをコマンドマネージャーに返してか
らそのコマンドを実行しようとする。このとき、エージ
ェントは前記コマンドにより腕部の関節角度がリミッタ
を超えていることを、オーバーリミテーション情報を出
すことにより上位層へ通知しようとし、オーバーリミテ
ーション情報Arm:Warning(Standing-byebye):standing:
OverLimitationをコマンドマネージャーに送る。このと
き、この情報はコマンドを出したクライアントにだけ知
らせればよいので例えばIDを付すことはせずデフォル
トになっている。すると、コマンドマネージャーは、コ
マンドを出したクライアントにのみ前記オーバーリミテ
ーション情報Arm:Warning(standing-byebye):standing:
OverLimitationを通知する。その後、エージェントはス
タンディングバイバイのコマンドが失敗であり、現在ニ
ュートラルであるという通知をFree:Incomplete(Standi
ng-byebye):Falldown:Neutralとしてコマンドマネージ
ャーに送る。コマンドマネージャーは、前記通知をFre
e:Incomplete(Standing-byebye):Falldownとしてコマン
ドを出したクライアントにのみ通知する。In FIG. 16, one client (RMCl
ient1) issues a command called Standing-byebye. Command manager (R
M) controls the resource of Standing-byebye, and passes the command to the agent (RMAgent) of the resource (Arm) specified by the command. The agent then responds that it has received the command Arm: Exec (Standin
g-byebye): Returns standing to the command manager and then tries to execute the command. At this time, the agent tries to notify the upper layer by issuing overlimitation information that the joint angle of the arm exceeds the limiter by the above command, and the overlimitation information Arm: Warning (Standing-byebye): standing:
Send OverLimitation to command manager. At this time, since this information needs to be notified only to the client that has issued the command, for example, the ID is not added and it is the default. Then, the command manager only sends the overlimitation information Arm: Warning (standing-byebye): standing: to the client that issued the command.
Notify Over Limitation. The agent then reports Free: Incomplete (Standi) that the standing by buy command was unsuccessful and is currently in neutral.
Send it to the command manager as ng-byebye): Falldown: Neutral. The command manager Fre
e: Incomplete (Standing-byebye): Notify only the client that issued the command as Falldown.
【0123】図17において、はじめは一つのクライア
ント(RMClient1)からスタンディングバイバイStandin
g-byebyeというコマンドが出される。コマンドマネージ
ャー(RM)は、Standing-byebyeのリソースを制御
し、そのコマンドで指定されているリソース(Arm)の
エージェント(RMAgent)にコマンドを渡す。すると、
エージェントはコマンドを受け取ったという返答Arm:Ex
ec(Standing-byebye):standingをコマンドマネージャー
に返してからそのコマンドを実行する。このとき、前記
コマンドにより腕部を動かしたら転倒してしまったとす
る。すると、エージェントは、転倒というイベントが全
てのクライアントに影響を及ぼすイベント情報であるの
で、情報を全てのクライアントに通知すべき情報とであ
ると判断し、IDを付け、All:FallingDown(Standing-b
yebye):standingとしてコマンドマネージャーに送る。
コマンドマネージャーは、前記フラグにより前記転倒情
報All:FallingDown(Standing-byebye):standingが全て
のクライアントに渡す情報であると判断し、クライアン
ト(RMClient1)のみならず、クライアント(RMClient
2)にも渡す。In FIG. 17, first, one client (RMClient1) stands by by Standin.
The command g-byebye is issued. The command manager (RM) controls the resource of Standing-byebye and passes the command to the agent (RMAgent) of the resource (Arm) specified by the command. Then,
Agent has responded to the command Arm: Ex
ec (Standing-byebye): Returns standing to the command manager and then executes the command. At this time, it is assumed that the user has fallen down if the arm is moved by the command. Then, the agent determines that the event of falling is event information that affects all clients, so it determines that the information should be notified to all clients, assigns an ID, and All: FallingDown (Standing-b
yebye): Send as standing to the command manager.
The command manager determines that the fall information All: FallingDown (Standing-byebye): standing is information to be passed to all clients by the flag, and not only the client (RMClient1) but also the client (RMClient1).
Pass it to 2) as well.
【0124】次に、メタコマンドに対する処理の具体例
について図18を用いて説明する。はじめに、一つのク
ライアント(RMClient1)からスタンディングバイバイS
tanding-byebyeというコマンドが出される。コマンドマ
ネージャー(RM)は、Standing-byebyeのリソースを
制御し、そのコマンドで指定されているリソース(Ar
m)のエージェント(RMAgent)にコマンドを渡す。する
と、エージェントはコマンドを受け取ったという返答Ar
m:Exec(Standing-byebye):standingをコマンドマネージ
ャーに返してそのコマンドを実行する。実行の途中に、
同じクライアントから、例えば速度のパラメータを変更
しろというようなメタコマンドChangeParam(Standing-b
yebye)が出されると、コマンドマネージャーは、メタコ
マンドに応じて変えたい値だけを変更し、実際に何のコ
マンドになるのかを検索し、新たなコマンドStanding-b
yebye(2):ChangeParamを生成して、エージェントに送
る。エージェントは、新たなコマンドStanding-byebye
(2):ChangeParamに対する、返答Arm:Exec(Standing-bye
bye(2)):standingをコマンドマネージャーに返してその
新たなコマンドを実行する。そして、Arm:Complete(Sta
nding-byebye(2)):change:standingを実行することをコ
マンドマネージャーを介してクライアントに通知する。
ここで、クライアントがキャンセルコマンドN_STOP(Sta
nding-byebye)が出されるとコマンドマネージャーはそ
のコマンドを該当のリソースArmのエージェントに伝え
る。このキャンセルコマンドに対するエージェントの処
理については説明を省略する。Next, a specific example of the process for the meta command will be described with reference to FIG. First of all, from one client (RMClient1) to Standing bye S
The command tanding-byebye is issued. The command manager (RM) controls the resources of Standing-byebye, and the resources specified by the command (Ar
Pass the command to the agent (RMAgent) of m). The agent then replies Ar that it has received the command.
m: Exec (Standing-byebye): standing is returned to the command manager and the command is executed. In the middle of the run,
From the same client, the metacommand ChangeParam (Standing-b
yebye) is issued, the command manager changes only the value that you want to change according to the meta command, searches for what command it actually becomes, and the new command Standing-b
yebye (2): Generate ChangeParam and send it to the agent. The agent uses the new command Standing-byebye
(2): Response to ChangeParam Arm: Exec (Standing-bye
bye (2)): returns standing to the command manager and executes the new command. And Arm: Complete (Sta
Notify the client via the command manager to perform nding-byebye (2): change: standing.
Here, the client sends the cancel command N_STOP (Sta
nding-byebye) is issued, the command manager notifies the agent of the corresponding resource Arm of the command. A description of the processing of the agent for this cancel command is omitted.
【0125】次に、リソースを変更するコマンドに対す
る処理について図19を参照して説明する。一つのクラ
イアント(RMClient)からバイバイStanding-byebyeと
いうコマンドが出される。コマンドマネージャー(R
M)は、Standing-byebyeのリソースを制御し、そのコ
マンドで指定されているリソース(Arm)のエージェン
ト(RMAgent)にコマンドを渡す。すると、エージェン
トはコマンドを受け取ったという返答Arm:Exec(Standin
g-byebye):standingをコマンドマネージャーに返してか
らそのコマンドを実行する。ここで、同じクライアント
からリソースを変更するスタンディングハローStanding
-hello(change)というコマンドが送られてくると、コマ
ンドマネージャーはスタンディングバイバイを止めろ
(キャンセル)というコマンドN_STOP(Standing-byeby
e)をエージェントに渡す。これに応えてエージェントは
Free:Incomplete(Standing-byebye)NStop:Neutralをコ
マンドマネージャーに渡し、コマンドマネージャーはエ
ージェントが変更されたリソースのコマンドを受け取っ
たことを示すArm:Incomplete(Standing-byebye)change
をクライアントに渡す。そして、エージェントがスタン
ディングバイバイを止めたという返答Free:Complete(NS
top):standingをコマンドマネージャーに送ると、コマ
ンドマネージャーはコマンドStanding-hello(change)を
該当のリソースに渡す。すると、エージェントはコマン
ドを受け取ったという返答Arm:Exec(Standing-hello):s
tandingをコマンドマネージャーに送り、そのコマンド
を実行する。実行が終わると、エージェントは完了通知
Free:Complete(Standing-hello):standingをコマンドマ
ネージャーに送る。コマンドマネージャーは、前記完了
通知を受け取り、コマンドを出したクライアント(RMCl
ient)に通知Free:Complete(Standing-hello)を流す。Next, the processing for the command for changing the resource will be described with reference to FIG. A command called Standing-byebye is issued from one client (RMClient). Command manager (R
M) controls the resource of Standing-byebye, and passes the command to the agent (RMAgent) of the resource (Arm) specified by the command. The agent then responds that it has received the command Arm: Exec (Standin
g-byebye): returns standing to the command manager and then executes that command. Standing Hello Standing changing resources from the same client here
-When a command "hello (change)" is sent, the command manager sends the command N_STOP (Standing-byeby)
Pass e) to the agent. In response, the agent
Free: Incomplete (Standing-byebye) NStop: Neutral is passed to the command manager, which indicates that the agent has received the command for the changed resource Arm: Incomplete (Standing-byebye) change
To the client. And the reply that the agent stopped standing bye Free: Complete (NS
When you send top): standing to the command manager, the command manager passes the command Standing-hello (change) to the corresponding resource. Then the agent responded that it received the command Arm: Exec (Standing-hello): s
Send tanding to the command manager and execute the command. When the execution is finished, the agent notifies the completion
Send Free: Complete (Standing-hello): standing to the command manager. The command manager receives the completion notification, and issues the command to the client (RMCl
flow Free: Complete (Standing-hello) to ient).
【0126】次に、追加されたコマンドに対する処理に
ついて図20を参照して説明する。一つのクライアント
からStanding-byebyeというコマンドが出される。コマ
ンドマネージャーは、Standing-byebyeのリソースを制
御し、そのコマンドで指定されているリソース(Arm)
のエージェント(RMAgent)にコマンドを渡す。する
と、エージェントはコマンドを受け取ったという返答Ar
m:Exec(Standing-byebye):standingをコマンドマネージ
ャーに返してからそのコマンドを実行する。ここで、同
じクライアントからStanding-hello(add)という追加コ
マンドが送られてくると、コマンドマネージャーはこの
コマンドを内部バッファに格納しておき、エージェント
から完了通知Free:Complete(Standing-byebye):standin
gが送られて来た後に、バッファから取り出してエージ
ェントにコマンドStanding-helloを渡す。エージェント
はコマンドを受け取ったという返答Arm:Exec(Standing-
hello):standingをコマンドマネージャーに送り、その
コマンドを実行する。コマンドの実行を完了するとエー
ジェントは、完了通知Free:Complete(Standing-hello):
standingをコマンドマネージャーに送る。コマンドマネ
ージャーは、前記完了通知を受け取り、コマンドを出し
たクライアント(RMClient)に通知Free:Complete(Stan
ding-hello)を流す。Next, the processing for the added command will be described with reference to FIG. The command Standing-byebye is issued from one client. The command manager controls the Standing-byebye resource and the resource (Arm) specified in the command
Command to the agent (RMAgent) of. The agent then replies Ar that it has received the command.
Execute m: Exec (Standing-byebye): standing after returning it to the command manager. Here, when an additional command called Standing-hello (add) is sent from the same client, the command manager stores this command in an internal buffer and notifies the completion notification from the agent Free: Complete (Standing-byebye): standin.
After g is sent, take it out of the buffer and pass the command Standing-hello to the agent. The agent responded that it received the command Arm: Exec (Standing-
Send hello): standing to the command manager and execute that command. When the command execution is complete, the agent sends a completion notification Free: Complete (Standing-hello):
Send standing to the command manager. The command manager receives the completion notification and notifies the client (RMClient) that issued the command to Free: Complete (Stan
ding-hello).
【0127】次に、イミディエイト(immidiate)コマン
ドに対する処理について図21を参照して説明する。こ
のイミディエイトコマンドは、直ぐに実行できなければ
それっきり実行しなくてもよいような即応コマンドであ
る。一つのクライアントからStanding-byebyeというコ
マンドが出される。コマンドマネージャーは、Standing
-byebyeのリソースを制御し、そのコマンドで指定され
ているリソース(Arm)のエージェント(RMAgent)にコ
マンドを渡す。すると、エージェントはコマンドを受け
取ったという返答Arm:Exec(Standing-byebye):standing
をコマンドマネージャーに返してからそのコマンドを実
行する。ここで、同じクライアントからStanding-hello
(immidiate)というコマンドが送られてくると、コマン
ドマネージャーはエージェントから完了通知Free:Compl
ete(Standing-byebye):standingが送られて来ていない
ので、そのイミディエイトコマンドはエージェントに流
さすに、クライアントにFree:Incomplete(Standing-hel
lo):RMを返す。その後、エージェントから、コマンドマ
ネージャーに完了通知Free:Complete(Standing-byeby
e):standingが送られ、それをコマンドを出したクライ
アント(RMClient)に通知Free:Complete(Standing-bye
bye)しても、前記イミディエイトコマンドをエージェン
トに渡すことはしない。Next, the processing for the immediate command will be described with reference to FIG. This immediate command is a prompt response command that does not have to be executed if it cannot be executed immediately. The command Standing-byebye is issued from one client. Command Manager Standing
-Controls the resource of byebye and passes the command to the agent (RMAgent) of the resource (Arm) specified by the command. Then, the response that the agent received the command Arm: Exec (Standing-byebye): standing
To the command manager and then execute the command. Now from the same client Standing-hello
When the command (immidiate) is sent, the command manager notifies the completion notification from the agent Free: Compl.
ete (Standing-byebye): standing has not been sent, so the immediate command is sent to the agent and Free: Incomplete (Standing-hel is sent to the client.
lo): Returns RM. After that, the agent notifies the command manager of completion Free: Complete (Standing-byeby
e): standing is sent, and it is notified to the client (RMClient) that issued the command Free: Complete (Standing-bye
Even bye), the immediate command is not passed to the agent.
【0128】次に、複数クライアントから来たコマンド
に対してのプライオリティに基づいた調停処理について
図22を用いて説明する。先ず、クライアント2(RMCli
ent2)からプライオリティ値50のStanding-byebyeが出
される。コマンドマネージャーは、Standing-byebyeの
リソースを検索し、そのコマンドで指定されているリソ
ース(Arm)のエージェント(RMAgent)にコマンドを渡
す。すると、エージェントはコマンドを受け取ったとい
う返答Arm:Exec(Standing-byebye):standingをコマンド
マネージャーに返してからそのコマンドの実行に入る。
ここで、クライアント1(RMClient1)から前記Standing-
byebyeよりも高いプライオリティ値100のコマンドCr
apHandが出されたとする。すると、コマンドマネージャ
ーは、プライオリティ値の高い、クライアント1からの
コマンドCrapHandを優先させるべく、エージェントにSt
anding-byebyeの停止コマンドN_Stop(Standing_byebye)
を出す。そして、エージェントからFree:Incomplete(St
anding-byebye)NStop:Neutralが返ってくるとクライア
ントにArm:Incomplete(Standing-byebye)changを流す。
この後に、エージェントからFree:Complete(N STOP):st
andingが通知されるのを待って前記プライオリティの高
いCrapHandをエージェントに出す。エージェントは、受
け取った旨のアンカーArm:Exec(CrapHand):standingを
コマンドマネージャーに返し、さらに実行が終了すると
完了通知Free:Complete(CrapHand):standingをコマンド
マネージャーに返す。コマンドマネージャーは、完了通
知Free:Complete(CrapHand)を該当のクライアント1(RM
Client1)に渡す。Next, arbitration processing based on priority for commands from a plurality of clients will be described with reference to FIG. First, the client 2 (RMCli
ent2) issues a Standing-byebye with a priority value of 50. The command manager searches for the Standing-byebye resource and passes the command to the agent (RMAgent) of the resource (Arm) specified by the command. Then, the agent returns a reply Arm: Exec (Standing-byebye): standing that the command is received to the command manager and then starts executing the command.
Here, from the client 1 (RMClient1) to the Standing-
Command Cr with higher priority value 100 than byebye
Suppose apHand is issued. Then, the command manager gives the agent St to give priority to the command CrapHand from the client 1, which has a high priority value.
anding-byebye stop command N_Stop (Standing_byebye)
Give out. And from the agent Free: Incomplete (St
anding-byebye) When NStop: Neutral is returned, Arm: Incomplete (Standing-byebye) chang is sent to the client.
After this, the agent sends Free: Complete (N STOP): st
After waiting for the notification of anding, the CrapHand with high priority is issued to the agent. The agent returns an anchor Arm: Exec (CrapHand): standing indicating that it has been received to the command manager, and upon completion of execution, returns a completion notification Free: Complete (CrapHand): standing to the command manager. The command manager sends the completion notification Free: Complete (CrapHand) to the corresponding client 1 (RM
Pass to Client1).
【0129】以上に、コマンドマネージャーの具体的な
処理例を説明した。次に、ロボット装置1における具体
的な動作例について説明する。この具体例は、図23に
示すように、ロボット装置1がピンク色のボール90を
追いかけている場合に崖が見えて停止するという動作で
ある。図23においてロボット装置1はCCDセンサー
等よりなるPSDセンサ80にてピンク色のボール90
を見ている。The specific processing example of the command manager has been described above. Next, a specific operation example of the robot device 1 will be described. In this specific example, as shown in FIG. 23, when the robot apparatus 1 is chasing the pink ball 90, a cliff is seen and the robot apparatus 1 stops. In FIG. 23, the robot apparatus 1 uses a PSD sensor 80 including a CCD sensor and the like to make a pink ball 90.
Looking at.
【0130】図24にはオブジェクト構成を示す。色検
出部にてピンク色を検出し、ボール識別部にてボールで
あることを識別するとボールと遊ぶ行動部(例えばクラ
イアント1)は、ボールの所までいってボールと遊ぶと
いう第1の動作コマンド信号をコマンドマネージャーに
出す。また、ロボット装置1の距離検出部はボールまで
の距離を連続して検出しその距離検出信号を緊急停止行
動部(例えばクライアント2)に送っている。FIG. 24 shows the object structure. When the color detection unit detects the pink color and the ball identification unit identifies the ball, the action unit (for example, the client 1) playing with the ball goes to the ball and plays with the ball. Send a signal to the command manager. Further, the distance detection unit of the robot apparatus 1 continuously detects the distance to the ball and sends the distance detection signal to the emergency stop action unit (for example, the client 2).
【0131】コマンドマネージャーは、前記図8及び図
9に示したように前記動作コマンド信号を受信し、解釈
してリソースを分割し、内部バッファに入れてから現在
使用しているリソースと比較し、バッファが重複しなけ
ればコマンドを合体して出力バッファのキューへためて
タイミングを図り、該当のリソースのエージェントに送
る。したがって、ロボット装置1はボール90までの距
離を検出しながらボール90に近づいていく。The command manager receives the operation command signal as shown in FIGS. 8 and 9, interprets it, divides the resource, puts it in an internal buffer, and then compares it with the resource currently used. If the buffers do not overlap, the commands are combined and stored in the queue of the output buffer for timing, and sent to the agent of the corresponding resource. Therefore, the robot apparatus 1 approaches the ball 90 while detecting the distance to the ball 90.
【0132】緊急停止行動部は、前記距離検出部からの
距離検出信号とコマンドマネージャーが選択し実行して
いるコマンドを表す実行中動作信号から、緊急停止コマ
ンドを発行する。これにより、ロボット装置1は緊急停
止する。The emergency stop action section issues an emergency stop command from the distance detection signal from the distance detection section and the running operation signal representing the command selected and executed by the command manager. As a result, the robot device 1 makes an emergency stop.
【0133】次に、各オブジェクトについて説明する。
先ず、色検出部について説明する。画像上の画素P(x,y)
は図25に示すように色情報(y,u,v)の値を各々持って
いる。したがって、ピンク色に設定された色空間にマッ
チする領域の中心とその大きさを検出する。Next, each object will be described.
First, the color detector will be described. Pixel P (x, y) on the image
Have respective values of color information (y, u, v) as shown in FIG. Therefore, the center and the size of the area that matches the color space set to pink are detected.
【0134】画素の色空間が, 8ビットで表現されると
すると図25に示すように、0≦y≦255, 0≦u≦255, 0
≦v≦255で表現されるので、空間指定の方法は、図26
に各y平面における色領域で示すように、(u1,v1),(u2,v
2)で定義される長方形と定義できる。
ここで、Color[y][0]=u1;
Color[y][1]=v1;
Color[y][2]=u2;
Color[y][3]=v2;
である。したがって、色空間colorは、Color[256][4]と
して定義できる。Assuming that the color space of pixels is represented by 8 bits, as shown in FIG. 25, 0 ≦ y ≦ 255, 0 ≦ u ≦ 255, 0
Since it is expressed by ≦ v ≦ 255, the space designation method is shown in FIG.
, (U1, v1), (u2, v
It can be defined as a rectangle defined in 2). Here, Color [y] [0] = u1; Color [y] [1] = v1; Color [y] [2] = u2; Color [y] [3] = v2; Therefore, the color space color can be defined as Color [256] [4].
【0135】次に、図27を参照して色検出アルゴリズ
ムについて説明する。画像上の画素の位置をP(x0,x1)と
し、yuvデータをCu(x0,x1),Cv(x0,x1),Cy(x0,x1)とする
と、色空間のフィルターを通した後の画像のデータ(設
定された色空間にマッチする場合には1,そうでない場合
には0となる)Q(x0,x1)は、
となる。Next, the color detection algorithm will be described with reference to FIG. If the position of the pixel on the image is P (x0, x1) and the yuv data is Cu (x0, x1), Cv (x0, x1), Cy (x0, x1), after filtering through the color space, Image data (1 if it matches the set color space, 0 otherwise) Q (x0, x1) is Becomes
【0136】色検出信号は、上記検出結果に、色空間id
を付加する。よって、
ColorDetectResult(id,centerX,centerY,sizeX,sizeY)
=(PINK,5,4,5,5)
となる。The color detection signal is obtained by adding the color space id to the above detection result.
Is added. Therefore, ColorDetectResult (id, centerX, centerY, sizeX, sizeY) = (PINK, 5,4,5,5).
【0137】次に、ボール識別部について説明する。Next, the ball identification section will be described.
【0138】前記色検出信号から、ボールとボールまで
の距離を大きさから判定する。前述のように、ボールは
色空間で以下のように指定される。
If( ColorDetectResult.id == PINK)
ここで、距離が画素数に比例するとして、Distance=(k/
Pixeltotal)*sizeX*sizeYとする。ただし、Pixel
totalは、全画素数、kは1pixel辺りの距離乗数で
ある。この例では、Pixeltotal=9*7, sizeX=5,siz
eY=5,Distance = k/63*25とする。From the color detection signal, the distance between the balls is judged from the size. As mentioned above, the ball is specified in color space as: If (ColorDetectResult.id == PINK) Here, assuming that the distance is proportional to the number of pixels, Distance = (k /
Pixel total ) * sizeX * sizeY. However, Pixel
total is the total number of pixels, and k is a distance multiplier around 1 pixel. In this example, Pixel total = 9 * 7, sizeX = 5, siz
Set eY = 5, Distance = k / 63 * 25.
【0139】計算例を以下に示す。ボールを100cmのと
ころでみせた場合に、20pixelの場合には、100 = k/63*
20,k=315 [cm/pixel]である。したがってこの場合、Di
stance =125[cm]となる。A calculation example is shown below. If you show the ball at 100 cm and it is 20 pixels, 100 = k / 63 *
20, k = 315 [cm / pixel]. So in this case Di
stance = 125 [cm].
【0140】したがって、ボール識別信号objectDetect
(id,distance)は、
objectDetect(id,distance)=(BALL,125[cm])
となる。Therefore, the ball identification signal objectDetect
(id, distance) becomes objectDetect (id, distance) = (BALL, 125 [cm]).
【0141】次に、ボールと遊ぶ行動部について図28
のフローチャートを用いて説明する。ステップS61に
てボールが有るか否かをチェックし、ステップS62に
てその距離が10cmよりも近いか否かをチェックす
る。さらに、ステップS63にて8cmよりも近いか否
かをチェックする。そして、ステップS61にてボール
が見えてその距離が触れる距離(ここでは、10cm)よ
りも遠い場合(ステップS62にてNO)には近づく
(ステップS66)、8cmよりも近い場合(ステップS
64にてYES)には下がる(ステップS64)、8cm
〜10cmだった(ステップS63にてNO)ら、蹴る(ス
テップS65)にて蹴る、という手順の行動である。Next, the action section for playing with the ball is shown in FIG.
This will be described with reference to the flowchart of. In step S61, it is checked whether or not there is a ball, and in step S62, it is checked whether or not the distance is shorter than 10 cm. Further, in step S63, it is checked whether the distance is closer than 8 cm. Then, in step S61, when the ball is visible and the distance is longer than the contact distance (here, 10 cm) (NO in step S62), the ball is closer (step S66) and is closer than 8 cm (step S61).
If YES, go down to 64) (step S64), 8 cm
It is an action of a procedure of kicking by kicking (step S65) if the distance is up to 10 cm (NO in step S63).
【0142】次に、距離検出部について図29を用いて
説明する。Next, the distance detector will be described with reference to FIG.
【0143】PSDセンサによるセンサ結果をdistance
psdとすると、ロボット装置1が接地している床まで
の距離dfloorは、dfloor=distancepsd√2
となる。距離検出信号は、FloorDetect(dfloor)と
表せる。よって、今、高さ20cmの崖95がある場合に、
距離検出信号FloorDetect(dfloor)は70cmとな
る。The sensor result obtained by the PSD sensor is measured as distance.
Assuming psd , the distance d floor to the floor where the robot apparatus 1 is grounded is d floor = distance psd √2
Becomes The distance detection signal can be expressed as FloorDetect (d floor ). Therefore, if there is a cliff 95 with a height of 20 cm,
The distance detection signal FloorDetect (d floor ) becomes 70 cm.
【0144】次に、緊急停止行動部について図30を用
いて説明する。ステップS71にて距離検出信号FloorD
etect(dfloor)が50+thresouldを超えたか否かをチ
ェックし、さらにステップS72にて現在前進するコマ
ンドを実行中か否かをチェックする。ステップS71に
おける閾値thresouldは、ロボット装置の不整地走破性
能に依存し、ここでは、5cmとする。そして、前記距離
検出部からの距離検出信号が55cmを超え(ステップS7
1にてYES)と、コマンドマネージャーが選択し実行
しているコマンドを表す実行中動作信号が前に歩くコマ
ンドによる(ステップS72にてYES)であると、緊
急停止コマンドを発行し(ステップS73)ロボット装
置1を緊急停止する。Next, the emergency stop action section will be described with reference to FIG. In step S71, the distance detection signal FloorD
It is checked whether etect (d floor ) exceeds 50 + thresould, and further it is checked in step S72 whether a command to move forward is being executed. The threshold thresould in step S71 depends on the performance of the robot apparatus on rough terrain, and is 5 cm here. Then, the distance detection signal from the distance detection unit exceeds 55 cm (step S7).
If YES in 1) and the in-execution operation signal representing the command selected and executed by the command manager is a command to walk forward (YES in step S72), an emergency stop command is issued (step S73). Emergency stop of the robot apparatus 1.
【0145】次に、動作コマンド信号について説明す
る。Next, the operation command signal will be described.
【0146】動作コマンド信号は、(id,clientID,prior
ity,policy)から構成される。前述の具体例では、("前
進",PLAYBALL,50,ADD)として送信している。ここで、PL
AYBALLはボールと遊ぶ行動を表し、ADDはもし同一のコ
マンドだった場合にはBufferingするというポリシーを
示す。The operation command signal is (id, clientID, prior
ity, policy). In the above-mentioned specific example, it is transmitted as ("forward", PLAYBALL, 50, ADD). Where PL
AYBALL represents the action of playing with the ball, and ADD represents the policy of buffering if the commands are the same.
【0147】そして、コマンドマネージャーでは、以下
の処理にしたがってコマンドを選択・実行する。先ず、
ステップS81にて同一のclientIDかどうかをチェック
し、同一の場合には新しいコマンドがaddかchangeかを
チェックする。異なるclientIDの場合には、どちらの方
がpriorityが高いのかをチェックする。Then, the command manager selects and executes a command according to the following processing. First,
In step S81, it is checked whether they have the same clientID, and if they are the same, it is checked whether the new command is add or change. In case of different clientID, check which one has higher priority.
【0148】図31にはコマンドの選択・実行のフロー
チャートを示す。ステップS81にてclientIDを見て同
一のクライアントclientから送信されたコマンドか否か
をチェックする。同一のクライアントから送信されたと
判定すれば(YES)、ステップS82に進んでpriori
tyを見て前のコマンドよりもプライオリティが高いのか
否かをチェックする。新しいコマンドのプライオリティ
の方が高ければ(YES)、ステップS83に進んでコ
マンドを変更してから、ステップS84にて緊急停止行
動部に実行中動作コマンド信号を送信する。ステップS
81にて新しいクライアントからのコマンドであると判
定するとステップS85に進んで新しいクライアントか
らのコマンドのプライオリティの方が高いか否かを判定
する。ここで新しいクライアントからのコマンドのプラ
イオリティの方が高いと判定すればステップS83に進
んでコマンドを変更する。一方、ステップS85にて新
しいクライアントからのコマンドのプライオリティが高
くない(NO)と判定すればステップS86に進んで新
しいコマンドをバッファリングする。また、ステップS
82にて前のコマンドよりもプライオリティが高くない
(同一のクライアントからのコマンドの比較)と判定す
れば(NO)、ステップS87に進んで、セレクション
ポリシーがAddであるか否かをチェックする。ここで、A
ddであればステップS86に進んで新しいコマンドをバ
ッファリングする。もし、AddでなければステップS8
8に進んで新しいコマンドを受け付けない。FIG. 31 shows a flowchart of command selection and execution. In step S81, the client ID is checked to see if the command is sent from the same client client. If it is determined that the same client has transmitted the data (YES), the process proceeds to step S82 and priori
Check ty to see if it has a higher priority than the previous command. If the priority of the new command is higher (YES), the process proceeds to step S83 to change the command, and then the in-execution operation command signal is transmitted to the emergency stop action part in step S84. Step S
If it is determined at 81 that the command is from a new client, the process proceeds to step S85 to determine whether the priority of the command from the new client is higher. If it is determined that the command from the new client has a higher priority, the process proceeds to step S83 to change the command. On the other hand, if it is determined in step S85 that the priority of the command from the new client is not high (NO), the process proceeds to step S86 to buffer the new command. Also, step S
If it is determined that the priority is not higher than the previous command in 82 (comparison of commands from the same client) (NO), the process proceeds to step S87 to check whether the selection policy is Add. Where A
If dd, proceed to step S86 to buffer a new command. If not Add, step S8
Go to step 8 and do not accept new commands.
【0149】図29を参照した、前述のピンクのボール
を見つけて遊ぶという行動の具体例においては、崖95
が検出されるまでは("前進",PLAYBALL,50,ADD)で前進コ
マンドが実行される。崖95が前記距離検出部によって
検出されると、("停止",EMERGENCY,100,ADD)で停止コマ
ンドが緊急停止行動部からコマンドマネージャーに送信
される。ここでは、clientIDが異なるため、前記図31
のステップS85からステップS83に進んでコマンド
が変更され、ロボットの動作が停止する。In the concrete example of the action of finding and playing the pink ball described above with reference to FIG.
The forward command is executed by ("forward", PLAYBALL, 50, ADD) until is detected. When the cliff 95 is detected by the distance detection unit, a stop command is transmitted from the emergency stop action unit to the command manager at (“stop”, EMERGENCY, 100, ADD). Here, since the clientID is different,
From step S85 to step S83, the command is changed and the robot operation is stopped.
【0150】以上に説明したように、本発明の実施の形
態によれば、ロボット装置において、リソースの分割、
統合を行い、また、キャンセルコマンドの2度打ちによ
る、シーケンスの乱れを防ぎ、また、メタコマンドを扱
う際に、パラメータやコマンド名の補完などを行うこと
ができる。As described above, according to the embodiment of the present invention, in the robot device, resource division,
It is possible to perform integration, to prevent the sequence from being disturbed due to double hitting of a cancel command, and to supplement parameters and command names when handling metacommands.
【0151】また、エージェント側での早いフィードバ
ック情報等を流すことのできる経路を持ち、また、複数
クライアントに対するコマンド制御が可能であり、同時
にコマンド返答制御に関しても複数クライアントに対応
することができる。Further, the agent side has a path through which quick feedback information and the like can flow, and command control for a plurality of clients is possible, and at the same time, command response control can be handled for a plurality of clients.
【0152】なお、本発明は、上述した実施の形態のみ
に限定されるものではなく、本発明の要旨を逸脱しない
範囲において種々の変更が可能であることは勿論であ
る。本実施の形態では、2足歩行の脚式移動ロボットに
関して説明したが、ロボット装置は、内部状態に応じて
動作するものであれば適用可能であって、移動手段は、
2足歩行、さらには脚式移動方式に限定されない。The present invention is not limited to the above-described embodiments, and it goes without saying that various modifications can be made without departing from the gist of the present invention. In the present embodiment, the bipedal legged mobile robot has been described, but the robot device is applicable as long as it operates according to the internal state, and the moving means is
The present invention is not limited to bipedal walking and even leg movement.
【0153】[0153]
【発明の効果】本発明のロボット装置及びロボット装置
の制御方法は、リソースの分割、統合を行い、また、キ
ャンセルコマンドの2度打ちによる、シーケンスの乱れ
を防ぎ、また、メタコマンドを扱う際に、パラメータや
コマンド名の補完などを行うことができる。また、エー
ジェント側での早いフィードバック情報等を流すことの
できる経路を持ち、また、複数クライアントに対するコ
マンド制御が可能であり、同時にコマンド返答制御に関
しても複数クライアントに対応することができる。The robot device and the control method of the robot device according to the present invention divides and integrates resources, prevents the sequence from being disturbed due to double hitting of a cancel command, and handles meta commands. , Parameter and command name can be completed. In addition, the agent has a route through which quick feedback information can be sent, and command control for a plurality of clients is possible. At the same time, command response control can be handled for a plurality of clients.
【図1】ロボット装置の外観斜視図である。FIG. 1 is an external perspective view of a robot device.
【図2】ロボット装置の関節自由度を示す模式図であ
る。FIG. 2 is a schematic diagram showing joint degrees of freedom of a robot apparatus.
【図3】ロボット装置の制御システム構成を模式的に示
す図である。FIG. 3 is a diagram schematically showing a control system configuration of a robot apparatus.
【図4】ロボット装置の行動制御システムの基本アーキ
テクチャを示す図である。FIG. 4 is a diagram showing a basic architecture of a behavior control system of a robot device.
【図5】コマンドマネージャーとクライアントとエージ
ェントの関係を示した図である。FIG. 5 is a diagram showing a relationship between a command manager, a client, and an agent.
【図6】前記図4に示した行動制御システムを構成する
各オブジェクトによる動作の流れを示した図である。FIG. 6 is a diagram showing a flow of an operation performed by each object constituting the behavior control system shown in FIG.
【図7】コマンドマネージャーによる、クライアントか
らエージェントへのコマンド変換を示すフローチャート
である。FIG. 7 is a flowchart showing command conversion from a client to an agent by a command manager.
【図8】コマンドマネージャーによる、複数リソースの
分割、合体を示すフローチャートである。FIG. 8 is a flowchart showing division and combination of a plurality of resources by a command manager.
【図9】前記複数リソースの分割、合体を説明するため
の図である。FIG. 9 is a diagram for explaining division and combination of the plurality of resources.
【図10】コマンドマネージャーによる、キャンセルコ
マンドの処理を示すフローチャートである。FIG. 10 is a flowchart showing processing of a cancel command by the command manager.
【図11】コマンドマネージャーによる、メタコマンド
の処理を示すフローチャートである。FIG. 11 is a flowchart showing processing of a meta command by the command manager.
【図12】コマンドマネージャーによる、エージェント
からの情報のクライアントへの通知処理を示すフローチ
ャートである。FIG. 12 is a flowchart showing a process of notifying a client of information from an agent by a command manager.
【図13】通常コマンドに対するシーケンス図である。FIG. 13 is a sequence diagram for a normal command.
【図14】複数リソースを扱う通常コマンドに対するシ
ーケンス図である。FIG. 14 is a sequence diagram for a normal command that handles multiple resources.
【図15】キャンセルコマンドに対するシーケンス図で
ある。FIG. 15 is a sequence diagram for a cancel command.
【図16】エージェントからの通知に対するシーケンス
図である。FIG. 16 is a sequence diagram for notification from an agent.
【図17】エージェントがリソースを奪った場合のシー
ケンス図である。FIG. 17 is a sequence diagram when an agent robs a resource.
【図18】メタコマンドに対するシーケンス図である。FIG. 18 is a sequence diagram for a meta command.
【図19】changeコマンドに対するリソースマネジメン
トのシーケンス図である。FIG. 19 is a sequence diagram of resource management for a change command.
【図20】addコマンドに対するリソースマネジメント
のシーケンス図である。FIG. 20 is a sequence diagram of resource management for an add command.
【図21】immidiateコマンドに対するリソースマネジ
メントのシーケンス図である。FIG. 21 is a sequence diagram of resource management for the immidiate command.
【図22】複数クライアントに対するシーケンス図であ
る。FIG. 22 is a sequence diagram for a plurality of clients.
【図23】ロボット装置における具体的な動作例を示す
図である。FIG. 23 is a diagram showing a specific operation example in the robot apparatus.
【図24】前記動作例のオブジェクト構成を示す図であ
る。FIG. 24 is a diagram showing an object configuration of the operation example.
【図25】色空間を示す図である。FIG. 25 is a diagram showing a color space.
【図26】平面における色領域を示す図である。FIG. 26 is a diagram showing a color region on a plane.
【図27】色検出アルゴリズムを説明するための図であ
る。FIG. 27 is a diagram for explaining a color detection algorithm.
【図28】ボールと遊ぶ行動部の処理手順を示すフロー
チャートである。FIG. 28 is a flowchart showing a processing procedure of an action unit playing with a ball.
【図29】距離検出部を説明するための図である。FIG. 29 is a diagram for explaining a distance detection unit.
【図30】距離検出部における処理手順を示すフローチ
ャートである。FIG. 30 is a flowchart showing a processing procedure in the distance detecting unit.
【図31】コマンドの選択・実行の処理手順を示すフロ
ーチャートである。FIG. 31 is a flowchart showing a processing procedure of command selection / execution.
1 ロボット装置、11 主制御部、50 行動制御シ
ステム1 robot device, 11 main control units, 50 behavior control system
───────────────────────────────────────────────────── フロントページの続き (72)発明者 狩谷 真一 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 藤田 雅博 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 Fターム(参考) 3C007 AS36 CS08 LV14 MT08 MT14 WA03 WA13 WB15 WB16 WB23 WB25 ─────────────────────────────────────────────────── ─── Continued front page (72) Inventor Shinichi Kariya 6-735 Kita-Shinagawa, Shinagawa-ku, Tokyo Soni -Inside the corporation (72) Inventor Masahiro Fujita 6-735 Kita-Shinagawa, Shinagawa-ku, Tokyo Soni -Inside the corporation F-term (reference) 3C007 AS36 CS08 LV14 MT08 MT14 WA03 WA13 WB15 WB16 WB23 WB25
Claims (17)
境に対する認識結果に基づいて自律的に行動する自律型
のロボット装置において、 前記自律的な行動を生成する行動生成部であるクライア
ント手段と、 前記クライアント手段が生成した行動に関するコマンド
を管理するコマンド管理手段と、 前記コマンド管理手段によって管理されたコマンドを受
け取って前記行動を起こすためにリソースを駆動するエ
ージェント手段とを備えてなり、 前記コマンド管理手段は前記クライアント手段からのコ
マンドに複数リソースが指定されているときには入力時
に基本リソースに分割してから出力時にリソースを合体
することを特徴とするロボット装置。1. An autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, a client unit that is an action generation unit that generates the autonomous action, Command management means for managing a command relating to an action generated by the client means, and agent means for receiving a command managed by the command management means and driving a resource to cause the action, the command management A robot apparatus, wherein the means divides the resources into basic resources at the time of input when a plurality of resources are specified in the command from the client means, and merges the resources at the time of output.
分割した基本リソースを内部バッファに格納して、現在
使用しているリソースと比較し、比較の結果重複が無け
れば出力時に出力バッファに合体したリソースを格納し
て出力タイミングを待つことを特徴とする請求項1記載
のロボット装置。2. The command management means stores the basic resource divided at the time of input in an internal buffer, compares it with the resource currently used, and merges it into the output buffer at the time of output if there is no duplication as a result of the comparison. The robot apparatus according to claim 1, wherein the robot apparatus stores resources and waits for an output timing.
境に対する認識結果に基づいて自律的に行動する自律型
のロボット装置において、 前記自律的な行動を生成する行動生成部であるクライア
ント手段と、 前記クライアント手段が生成した行動に関するコマンド
を管理するコマンド管理手段と、 前記コマンド管理手段によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント手段とを備えてなり、 前記コマンド管理手段は前記クライアント手段からのコ
マンドに対するキャンセルコマンドが送られた後、さら
に同じリソースに対するクライアント手段からのキャン
セルコマンドに対しては該当リソースからの前回のキャ
ンセルコマンドに対する返答が来た際に、同時に返答を
作り、該当のクライアントに送ることを特徴とするロボ
ット装置。3. An autonomous robot apparatus that autonomously acts based on a recognition result for an internal state or an external environment based on an emotion model, a client unit that is an action generating unit that generates the autonomous action, Command management means for managing a command related to an action generated by the client means, and agent means for receiving a command managed by the command management means and driving a resource for causing the action, the command management After the cancel command for the command from the client means is sent, the means further responds to the cancel command from the client means for the same resource when a reply to the previous cancel command from the corresponding resource comes at the same time. Make, applicable cry Robot apparatus characterized by sending the cement.
境に対する認識結果に基づいて自律的に行動する自律型
のロボット装置において、 前記自律的な行動を生成する行動生成部であるクライア
ント手段と、 前記クライアント手段が生成した行動に関するコマンド
を管理するコマンド管理手段と、 前記コマンド管理手段によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント手段とを備えてなり、 前記コマンド管理手段は前記クライアント手段から既に
送られたコマンドのパラメータ変更に関するメタコマン
ドを受け取ったとき、実際に該当するコマンドへと変換
を行い前記エージェント手段に送ることを特徴とするロ
ボット装置。4. In an autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, client means that is an action generating unit that generates the autonomous action, Command management means for managing a command related to an action generated by the client means, and agent means for receiving a command managed by the command management means and driving a resource for causing the action, the command management The means for receiving, when receiving from the client means a meta-command relating to a parameter change of a command already sent, actually converting the command into a corresponding command and sending it to the agent means.
ンドから変換したコマンドを送ったエージェントからの
コマンドに対する返答を受けたときに、コマンドの返答
から前記メタコマンドへの返答へと変換して該当のクラ
イアント手段に送ることを特徴とする請求項4記載のロ
ボット装置。5. The command management means, when receiving a response to a command from an agent that has sent a command converted from the meta command, converts the command response into a response to the meta command and The robot device according to claim 4, wherein the robot device is sent to a client means.
境に対する認識結果に基づいて自律的に行動する自律型
のロボット装置において、 前記自律的な行動を生成する行動生成部であるクライア
ント手段と、 前記クライアント手段が生成した行動に関するコマンド
を管理するコマンド管理手段と、 前記コマンド管理手段によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント手段とを備えてなり、 前記コマンド管理手段は前記エージェント手段からリソ
ースの駆動による状態の変化に関する情報が送られてき
たときには、その情報をエージェント手段が指定したク
ライアントに流すことを特徴とするロボット装置。6. An autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, a client unit that is an action generation unit that generates the autonomous action, Command management means for managing a command related to an action generated by the client means, and agent means for receiving a command managed by the command management means and driving a resource for causing the action, the command management A robot apparatus characterized in that, when the information about the change in the state due to the driving of the resource is sent from the agent means, the means sends the information to the client designated by the agent means.
ント手段が前記リソースの駆動による状態の変化に関す
る情報に付加した識別情報に基づいて前記リソースの駆
動による状態の変化に関する情報を特定のクライアント
手段又は複数のクライアント手段に流すことを特徴とす
る請求項6記載のロボット装置。7. The command management means specifies information regarding the state change caused by the driving of the resource based on identification information added to the information regarding the state change caused by the driving of the resource by the agent means, a specific client means or a plurality of clients. 7. The robot device according to claim 6, wherein the robot device is supplied to the client means.
境に対する認識結果に基づいて自律的に行動する自律型
のロボット装置において、 前記自律的な行動を生成する行動生成部である複数のク
ライアント手段と、 前記複数のクライアント手段が生成した行動に関するコ
マンドを管理するコマンド管理手段と、 前記コマンド管理手段によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント手段とを備えてなり、 前記コマンド管理手段は前記複数のクライアント手段か
ら送られてきた複数のコマンドを、前記複数のクライア
ント手段によって付加された優先度に応じて調停して前
記エージェント手段に送ることを特徴とするロボット装
置。8. In an autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, a plurality of client units that are action generating units that generate the autonomous action. And command management means for managing commands related to the actions generated by the plurality of client means, and agent means for receiving the commands managed by the command management means and driving the resources for causing the actions. The robot apparatus characterized in that the command management means arbitrates a plurality of commands sent from the plurality of client means according to the priority added by the plurality of client means and sends the command to the agent means. .
ント手段からの返答を前記複数のクライアント手段の全
てに流すか或いは特定のクライアントに流すかを管理す
ることを特徴とする請求項8記載のロボット装置。9. The robot apparatus according to claim 8, wherein the command management unit manages whether the reply from the agent unit is sent to all of the plurality of client units or to a specific client. .
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置において、 前記自律的な行動を生成する行動生成部であるクライア
ント手段と、 前記クライアント手段が生成した行動に関するコマンド
を管理するコマンド管理手段と、 前記コマンド管理手段によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント手段とを備えてなり、 前記コマンド管理手段は前記クライアント手段から時系
列的に出される複数のコマンドを、セレクションポリシ
ーに基づいて調停することを特徴とするロボット装置。10. In an autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, client means that is an action generating unit that generates the autonomous action, Command management means for managing a command related to an action generated by the client means, and agent means for receiving a command managed by the command management means and driving a resource for causing the action, the command management A means for arbitrating a plurality of commands issued in time series from the client means based on a selection policy.
マンド、追加コマンド、変更コマンドを示すものである
ことを特徴とする請求項10記載のロボット装置。11. The robot apparatus according to claim 10, wherein the selection policy indicates a prompt response command, an addition command, and a change command.
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置の制御方法において、 前記自律的な行動を生成する行動生成工程と、 前記行動生成工程が生成した行動に関するコマンドを管
理するコマンド管理工程と、 前記コマンド管理工程によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント工程とを備えてなり、 前記コマンド管理手段は前記行動生成工程からのコマン
ドに複数リソースが指定されているときには入力時に基
本リソースに分割してから出力時にリソースを合体する
ことを特徴とするロボット装置の制御方法。12. A method for controlling an autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, the action generating step of generating the autonomous action, The command management process includes a command management process that manages a command related to the action generated by the action generation process, and an agent process that receives a command managed by the command management process and drives a resource for causing the action. A means for controlling a robot apparatus, characterized in that when a plurality of resources are specified in the command from the action generation step, the means divides into basic resources at the time of input and merges the resources at the time of output.
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置の制御方法において、 前記自律的な行動を生成する行動生成工程と、 前記行動生成工程が生成した行動に関するコマンドを管
理するコマンド管理工程と、 前記コマンド管理工程によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント工程とを備えてなり、 前記コマンド管理工程は前記行動生成工程からのコマン
ドに対するキャンセルコマンドが送られた後、さらに同
じリソースに対するキャンセルコマンドに対しては該当
リソースからの前回のキャンセルコマンドに対する返答
が来た際に、同時に返答を作り、該当のクライアントに
送ることを特徴とするロボット装置の制御方法。13. A method of controlling an autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, the action generating step of generating the autonomous action, The command management process includes a command management process that manages a command related to the action generated by the action generation process, and an agent process that receives a command managed by the command management process and drives a resource for causing the action. The process makes a response at the same time when a cancel command for the command from the action generation process is sent, and further for a cancel command for the same resource, when a response to the previous cancel command from the relevant resource comes, Robot device characterized by sending to a client Control method of.
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置の制御方法において、 前記自律的な行動を生成する行動生成工程と、 前記行動生成工程が生成した行動に関するコマンドを管
理するコマンド管理工程と、 前記コマンド管理工程によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント工程とを備えてなり、 前記コマンド管理工程は前記行動生成工程から既に送ら
れたコマンドのパラメータ変更に関するメタコマンドを
受け取ったとき、実際に該当するコマンドへと変換を行
い前記エージェント工程に送ることを特徴とするロボッ
ト装置の制御方法。14. A method of controlling an autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, the action generating step of generating the autonomous action, The command management process includes a command management process that manages a command related to the action generated by the action generation process, and an agent process that receives a command managed by the command management process and drives a resource for causing the action. The method of controlling a robot apparatus, characterized in that, when the process receives a meta-command relating to parameter change of a command already sent from the action generation process, the meta-command is actually converted into a corresponding command and sent to the agent process.
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置の制御方法において、 前記自律的な行動を生成する行動生成工程と、 前記行動生成工程が生成した行動に関するコマンドを管
理するコマンド管理工程と、 前記コマンド管理工程によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント工程とを備えてなり、 前記コマンド管理工程は前記エージェント工程からリソ
ースの駆動による状態の変化に関する情報が送られてき
たときには、その情報をエージェント工程が指定した前
記行動生成工程のクライアントに流すことを特徴とする
ロボット装置の制御方法。15. A method of controlling an autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, the action generating step of generating the autonomous action, The command management process includes a command management process that manages a command related to the action generated by the action generation process, and an agent process that receives a command managed by the command management process and drives a resource for causing the action. In the process, when the agent process sends information about a change in a state caused by driving a resource, the information is sent to a client of the action generation process designated by the agent process.
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置の制御方法において、 前記自律的な行動を生成する複数の行動生成工程と、 前記複数の行動生成工程が生成した行動に関するコマン
ドを管理するコマンド管理工程と、 前記コマンド管理工程によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント工程とを備えてなり、 前記コマンド管理工程は前記複数のクライアント手段か
ら送られてきた複数のコマンドを、前記複数の行動生成
工程によって付加された優先度に応じて調停して前記エ
ージェント工程に送ることを特徴とするロボット装置の
制御方法。16. A control method of an autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, comprising a plurality of action generating steps for generating the autonomous action. A command management step of managing commands related to the behaviors generated by the plurality of behavior generation steps, and an agent step of receiving a command managed by the command management step and driving a resource for causing the behavior. The robot characterized in that the command management step arbitrates a plurality of commands sent from the plurality of client means according to the priority added by the plurality of behavior generation steps and sends the commands to the agent step. Device control method.
環境に対する認識結果に基づいて自律的に行動する自律
型のロボット装置の制御方法において、 前記自律的な行動を生成する行動生成工程と、 前記行動生成工程が生成した行動に関するコマンドを管
理するコマンド管理工程と、 前記コマンド管理工程によって管理されたコマンドを受
け取って前記行動を起こすためのリソースを駆動するエ
ージェント工程とを備えてなり、 前記コマンド管理工程は前記行動生成工程から時系列的
に出される複数のコマンドを、セレクションポリシーに
基づいて調停することを特徴とするロボット装置の制御
方法。17. A method of controlling an autonomous robot apparatus that autonomously acts based on a recognition result of an internal state or an external environment based on an emotion model, the action generating step of generating the autonomous action, The command management process includes a command management process that manages a command related to the action generated by the action generation process, and an agent process that receives a command managed by the command management process and drives a resource for causing the action. The step of arbitrating, based on a selection policy, a plurality of commands issued in time series from the action generating step, the robot apparatus control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002075148A JP2003266352A (en) | 2002-03-18 | 2002-03-18 | Robot device and control method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002075148A JP2003266352A (en) | 2002-03-18 | 2002-03-18 | Robot device and control method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003266352A true JP2003266352A (en) | 2003-09-24 |
Family
ID=29204335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002075148A Withdrawn JP2003266352A (en) | 2002-03-18 | 2002-03-18 | Robot device and control method therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003266352A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101049743B1 (en) | 2008-12-18 | 2011-07-19 | 한양대학교 산학협력단 | How to choose the behavior of the robot |
JP2011233071A (en) * | 2010-04-30 | 2011-11-17 | Fujitsu Ltd | Operation control method, interactive device and program |
JP2013031913A (en) * | 2011-08-02 | 2013-02-14 | GM Global Technology Operations LLC | Method and system for controlling dexterous robot execution sequence using state classification |
KR20140040091A (en) * | 2010-12-17 | 2014-04-02 | 알데바란 로보틱스 | Humanoid robot provided with a manager for the physical and virtual resources thereof, and methods for use and programming |
CN118559729A (en) * | 2024-08-01 | 2024-08-30 | 上海傅利叶智能科技有限公司 | Connecting structure, crotch assembly and humanoid robot |
-
2002
- 2002-03-18 JP JP2002075148A patent/JP2003266352A/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101049743B1 (en) | 2008-12-18 | 2011-07-19 | 한양대학교 산학협력단 | How to choose the behavior of the robot |
JP2011233071A (en) * | 2010-04-30 | 2011-11-17 | Fujitsu Ltd | Operation control method, interactive device and program |
KR20140040091A (en) * | 2010-12-17 | 2014-04-02 | 알데바란 로보틱스 | Humanoid robot provided with a manager for the physical and virtual resources thereof, and methods for use and programming |
US9975246B2 (en) | 2010-12-17 | 2018-05-22 | Softbank Robotics Europe | Humanoid robot provided with a manager for the physical and virtual resources thereof, and methods for use and programming |
KR101867640B1 (en) * | 2010-12-17 | 2018-06-15 | 소프트뱅크 로보틱스 유럽 | Humanoid robot provided with a manager for the physical and virtual resources thereof, and methods for use and programming |
JP2013031913A (en) * | 2011-08-02 | 2013-02-14 | GM Global Technology Operations LLC | Method and system for controlling dexterous robot execution sequence using state classification |
CN118559729A (en) * | 2024-08-01 | 2024-08-30 | 上海傅利叶智能科技有限公司 | Connecting structure, crotch assembly and humanoid robot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100898435B1 (en) | Robot device and its control method | |
US7103447B2 (en) | Robot apparatus, and behavior controlling method for robot apparatus | |
JP4239635B2 (en) | Robot device, operation control method thereof, and program | |
JP3714268B2 (en) | Robot device | |
KR101137205B1 (en) | Robot behavior control system, behavior control method, and robot device | |
JP4086024B2 (en) | Robot apparatus and behavior control method thereof | |
US7024276B2 (en) | Legged mobile robot and its motion teaching method, and storage medium | |
US8145492B2 (en) | Robot behavior control system and method, and robot apparatus | |
JP2004298977A (en) | Action control device, action control method, action control program and mobile robot device | |
JP2005193331A (en) | Robot device and its emotional expression method | |
JP2004110802A (en) | Device, method for identifying environment, program, recording medium and robot device | |
WO2004018159A1 (en) | Environment identification device, environment identification method, and robot device | |
JP4179230B2 (en) | Robot apparatus and operation control method thereof | |
JP2004302644A (en) | Face identification device, face identification method, recording medium and robot device | |
JP4281286B2 (en) | Robot apparatus and control method thereof | |
JP4449372B2 (en) | Robot apparatus and behavior control method thereof | |
JP2003266352A (en) | Robot device and control method therefor | |
JP2004130427A (en) | Robot device and method for controling operation of robot device | |
JP2006110707A (en) | Robot device | |
JP4193098B2 (en) | TRACKING DEVICE, TRACKING DEVICE TRACKING METHOD, AND ROBOT DEVICE | |
JP2005297095A (en) | Robot device and its action comparison method | |
JP2005271137A (en) | Robot device and control method thereof | |
JP4539291B2 (en) | Robot apparatus and operation control method thereof | |
JP2002205290A (en) | Device and method for controlling leg type mobile robot | |
JP2004299006A (en) | Robot device and face recognition state presenting method by robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050607 |