JP2006088276A - Motion generation system - Google Patents

Motion generation system Download PDF

Info

Publication number
JP2006088276A
JP2006088276A JP2004277830A JP2004277830A JP2006088276A JP 2006088276 A JP2006088276 A JP 2006088276A JP 2004277830 A JP2004277830 A JP 2004277830A JP 2004277830 A JP2004277830 A JP 2004277830A JP 2006088276 A JP2006088276 A JP 2006088276A
Authority
JP
Japan
Prior art keywords
action
state
motion
robot
utterance
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.)
Granted
Application number
JP2004277830A
Other languages
Japanese (ja)
Other versions
JP4617428B2 (en
Inventor
Masayuki Kamajima
正幸 鎌島
Takayuki Kanda
崇行 神田
Tomohiro Imai
倫太 今井
Hiroshi Ishiguro
浩 石黒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2004277830A priority Critical patent/JP4617428B2/en
Publication of JP2006088276A publication Critical patent/JP2006088276A/en
Application granted granted Critical
Publication of JP4617428B2 publication Critical patent/JP4617428B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a motion generation system, especially the motion generation system, causing a communication robot to perform motion (cooperative motion or imitating motion) corresponding to the motion of the other party of communication such as human being. <P>SOLUTION: This motion generation system 10 includes: a communication robot 12 making gestures, and a robot control device 16 detects the state of motion of the human being 14 according to the body motion data of the human being 14 and the communication robot 12 measured by a motion capture system 18 and the speech measurement data obtained from a microphone 24. A behavior module corresponding to the detected state is selected from a behavior module DB20 storing a plurality of behavior modules for realizing the motion (the imitation motion and the sympathizing motion) cooperative with the motion of the human being 14. The control data for realizing the cooperative motion is generated by performing the behavior module, and in the communication robot 12, the cooperative motion is realized according to the control data. According to the invention, the communication robot is caused to perform suitable cooperative motion such as the imitation motion and the sympathizing motion corresponding to the state of the other party. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

この発明は動作生成システムに関し、特にたとえば、人間などコミュニケーションの相手の動作に対応する動作(協力的な動作ないし模倣する動作など)をコミュニケーションロボットに実行させる、動作生成システムに関する。   The present invention relates to an action generation system, and more particularly to an action generation system that causes a communication robot to execute an action (such as a cooperative action or an imitation action) corresponding to the action of a communication partner such as a human.

本件出願人は、特許文献1等で、人間と相互作用するコミュニケーションロボットを提案してきた。   The present applicant has proposed a communication robot that interacts with humans in Patent Document 1 and the like.

また、本発明者等のこれまでの研究において、人間が、たとえばアイコンタクトや同調する動作のような、コミュニケーションロボットの動作に対応する協力的な身体動作を行うことによって、コミュニケーションロボットと人間との相互作用における引き込み(Entrainment)が生じることが見出されている(たとえば非特許文献1)。
特開2002−355783号公報 神田崇行外3名(T. Kanda, H. Ishiguro, M. Imai, and T. Ono): 「人‐ロボット相互作用の身体動作解析」(“Body Movement Analysis of Human-Robot Interaction”), Proc. of International Joint Conference on Artificial Intelligence, pp. 177-182, 2003.
In addition, in the previous researches of the present inventors, humans perform cooperative body movements corresponding to the movements of the communication robots, such as eye contact and synchronous movements, for example. It has been found that entrainment in interactions occurs (eg, Non-Patent Document 1).
Japanese Patent Application Laid-Open No. 2002-355783 Takayuki Kanda (T. Kanda, H. Ishiguro, M. Imai, and T. Ono): “Body Movement Analysis of Human-Robot Interaction”, Proc. of International Joint Conference on Artificial Intelligence, pp. 177-182, 2003.

人間が自然なコミュニケーションのためにロボットに対応して協力的に振舞うことがわかってきているが、人間に対して協力的な動作を自律的に実行することが可能なコミュニケーションロボットは未だ開発されていない。   It has been found that humans behave cooperatively in response to robots for natural communication, but communication robots that can autonomously perform cooperative actions on humans have not yet been developed. Absent.

また、背景技術のコミュニケーションロボットを用いて、たとえば、協力的な動作として、人間の動作を模倣するロボットを作ることを考えた場合、単に人真似をするロボットを作ると問題が生じる。たとえば、ロボットは常に人間の真似をするだけになってしまうので、人間とのコミュニケーションが成り立たなくなる。また、至近距離でコミュニケーションが行われている場合、常に人間と同一の動作を行うだけであれば、人間にぶつかる危険性がある。   Further, for example, when considering creating a robot that imitates a human motion as a cooperative motion using a communication robot of the background art, a problem arises if a robot that imitates a person is simply created. For example, since a robot always imitates a human being, communication with a human is no longer possible. Further, when communication is performed at a close distance, there is a risk of hitting a human if the same operation as that of a human is always performed.

それゆえに、この発明の主たる目的は、コミュニケーションの相手の動作に対応する適切な動作をコミュニケーションロボットに実行させることができる、動作生成システムを提供することである。   Therefore, a main object of the present invention is to provide a motion generation system capable of causing a communication robot to execute an appropriate motion corresponding to the motion of a communication partner.

この発明の他の目的は、相手の動作の状態に応じて適切な協力的な動作や模倣動作をコミュニケーションロボットに実行させることができる、動作生成システムを提供することである。   Another object of the present invention is to provide a motion generation system capable of causing a communication robot to execute appropriate cooperative motion and imitation motion according to the motion state of the opponent.

請求項1の発明は、少なくとも腕を含む身体部位と身体部位を駆動するアクチュエータとを有するコミュニケーションロボットを備え、コミュニケーションの相手の動作に対応する動作をコミュニケーションロボットに実行させる動作生成システムであって、コミュニケーションロボットに相手の動作に対応する動作を実行させるための複数の行動プログラムを記憶したプログラム記憶手段、相手およびコミュニケーションロボットの動作を検出して動作に関するデータを生成する動作検出手段、動作に関するデータに基づいて相手の状態を検出する状態検出手段、状態検出手段によって検出された相手の状態に応じて、プログラム記憶手段に記憶された複数の行動プログラムから行動プログラムを選択する選択手段、選択手段によって選択された行動プログラムに従って、当該動作を実現するための制御データを生成する生成手段、および制御データに基づいてアクチュエータを制御するアクチュエータ制御手段を備える、動作生成システムである。   The invention of claim 1 is a motion generation system comprising a communication robot having at least a body part including an arm and an actuator for driving the body part, and causing the communication robot to perform an action corresponding to the action of a communication partner. Program storage means for storing a plurality of behavior programs for causing the communication robot to perform actions corresponding to the actions of the opponent, action detection means for detecting actions of the opponent and the communication robot and generating data relating to the actions, Based on the state detection means for detecting the state of the opponent based on the state of the opponent detected by the state detection means, the selection means for selecting an action program from a plurality of action programs stored in the program storage means, the selection by the selection means Accordance behavioral program includes an actuator control means for controlling the actuator based generator to generate, and the control data control data for realizing the operation is an operation generating system.

請求項1の発明では、動作検出手段が、コミュニケーションロボットとコミュニケーションの相手の動作を検出して動作に関するデータを生成する。実施例では、たとえばモーションキャプチャシステムによって身体動作に関するデータが取得され、また、マイクによって発話に関するデータが取得される。この検出した動作に関するデータに基づいて、状態検出手段は、相手の状態を検出する。選択手段は、プログラム記憶手段に記憶された相手の動作に対応する動作のための複数のプログラムの中から、検出された相手の状態に応じた行動プログラムを選択する。生成手段は、選択された行動プログラムに従って、当該動作を実現するためのコミュニケーションロボットの制御データを生成する。アクチュエータ制御手段は、生成された制御データに基づいて、身体部位を駆動するアクチュエータを制御する。このようにして、コミュニケーションロボットの少なくとも腕を含む身体部位が駆動され、相手の動作に対応する動作が実現される。したがって、請求項1の発明によれば、相手とコミュニケーションロボットの動作を検出し、その検出した動作に関するデータに基づいて検出された相手の状態に応じて、対応動作のための行動プログラムが選択されるので、コミュニケーションロボットに相手の状態に応じた適切な動作を実行させることが可能である。   According to the first aspect of the present invention, the motion detection means detects the motion of the communication robot and the communication partner and generates data related to the motion. In the embodiment, for example, data related to body movement is acquired by a motion capture system, and data related to speech is acquired by a microphone. Based on the data relating to the detected operation, the state detecting means detects the state of the other party. The selection means selects an action program corresponding to the detected partner's state from a plurality of programs for the action corresponding to the opponent's action stored in the program storage means. The generation means generates control data of the communication robot for realizing the operation according to the selected behavior program. The actuator control means controls the actuator that drives the body part based on the generated control data. In this way, the body part including at least the arm of the communication robot is driven, and an operation corresponding to the operation of the other party is realized. Therefore, according to the first aspect of the present invention, the action program for the corresponding action is selected according to the detected state of the opponent based on the data related to the detected action. Therefore, it is possible to cause the communication robot to execute an appropriate operation according to the state of the other party.

請求項2の発明は、請求項1の発明に従属し、コミュニケーションロボットの身体部位は頭をさらに含み、プログラム記憶手段に記憶される行動プログラムは、コミュニケーションロボットに相手に対して協力的な動作を実行させるための行動プログラムを含む。請求項2の発明では、コミュニケーションロボットに、腕だけでなく頭を使用して相手の状態に応じた協力的な動作を実行させることが可能である。したがって、コミュニケーションロボットと相手とのコミュニケーションをより自然なものにすることができる。   The invention of claim 2 is dependent on the invention of claim 1, wherein the body part of the communication robot further includes a head, and the behavior program stored in the program storage means causes the communication robot to cooperate with the opponent. Includes an action program to execute. According to the second aspect of the present invention, it is possible to cause the communication robot to execute a cooperative operation according to the condition of the other party using not only the arm but also the head. Therefore, communication between the communication robot and the other party can be made more natural.

請求項3の発明は、請求項1または2の発明に従属し、プログラム記憶手段に記憶される行動プログラムは、コミュニケーションロボットに相手を模倣する模倣動作を実行させるための行動プログラムを含み、動作検出手段は、相手およびコミュニケーションロボットの身体動作を検出して身体動作データを生成する身体動作検出手段を含み、状態検出手段は、少なくとも身体動作データに基づいて相手の状態を検出し、生成手段は、選択手段によって模倣動作を実行するための行動プログラムが選択されたとき、身体動作データに基づいて制御データを生成する。   The invention of claim 3 is dependent on the invention of claim 1 or 2, and the action program stored in the program storage means includes an action program for causing the communication robot to perform a mimic action imitating the opponent, and detects the action. The means includes body motion detection means for detecting body motion of the opponent and the communication robot to generate body motion data, the state detection means detects the state of the partner based on at least the body motion data, and the generation means includes: When the action program for executing the imitation action is selected by the selection means, the control data is generated based on the body action data.

請求項3の発明では、プログラム記憶手段には、相手の動作を模倣する動作を実行させるためのプログラムが記憶されている。動作検出手段は、コミュニケーションロボットと相手の身体動作を検出して身体動作データを生成する。実施例では、たとえば光学式のモーションキャプチャシステムが適用され、コミュニケーションロボットと相手の身体の特徴点の3次元位置座標データが取得される。状態検出手段は少なくとも身体動作データに基づいて相手の状態を検出する。この検出された相手の状態に応じて、選択手段は、模倣動作を実行するための行動プログラムを選択することができる。生成手段は、選択手段によって模倣動作を実行するための行動プログラムが選択されたとき、身体動作データに基づいて、当該模倣動作を実現するための制御データを生成する。したがって、請求項3の発明によれば、コミュニケーションロボットに、相手の状態に応じて適切な相手の模倣動作を実行させることができる。したがって、相手に協力的な動作としての模倣動作を適切に実行することができるので、自然で円滑なコミュニケーションを実現できる。   In the invention of claim 3, the program storage means stores a program for executing an operation imitating the operation of the other party. The motion detection means detects body motions of the communication robot and the other party and generates body motion data. In the embodiment, for example, an optical motion capture system is applied, and the three-dimensional position coordinate data of the feature points of the communication robot and the partner's body are acquired. The state detection means detects the state of the other party based on at least the body movement data. Depending on the detected state of the other party, the selection means can select an action program for executing the imitation operation. When the action program for executing the imitation operation is selected by the selection unit, the generation unit generates control data for realizing the imitation operation based on the body operation data. Therefore, according to the invention of claim 3, it is possible to cause the communication robot to execute an imitation operation of an appropriate opponent according to the state of the opponent. Therefore, the imitation operation as a cooperative operation with the other party can be appropriately executed, so that natural and smooth communication can be realized.

請求項4の発明は、請求項3の発明に従属し、プログラム記憶手段は、模倣動作を実行させるための複数の行動プログラムを記憶していて、状態検出手段は、相手が特定動作をしている手に関する第1状態を検出する第1状態検出手段、および相手に衝突するおそれのあるコミュニケーションロボットの腕に関する第2状態を検出する第2状態検出手段を含み、選択手段は、第1状態が相手のどちらかの手を示す場合、第2状態の示す腕とは異なる腕で特定動作を模倣する動作を実行させるための行動プログラムを選択する。   The invention of claim 4 is dependent on the invention of claim 3, wherein the program storage means stores a plurality of behavior programs for executing the imitation operation, and the state detection means is configured such that the partner performs a specific action. A first state detecting unit that detects a first state relating to a hand that is present, and a second state detecting unit that detects a second state relating to an arm of a communication robot that may collide with an opponent. When one of the opponent's hands is shown, an action program for executing an action imitating the specific action with an arm different from the arm indicated in the second state is selected.

請求項4の発明では、第1状態検出手段は、身体動作データに基づいて、相手が特定動作をしている手に関する第1状態を検出する。たとえば、実施例では、第1状態は相手が指差し等を行っている手を示す。第2状態検出手段は、身体動作データに基づいて、相手に衝突するおそれのあるコミュニケーションロボットの腕に関する第2状態を検出する。そして、選択手段は、第1状態が相手のどちらかの手を示す場合、つまり、相手が特定動作をしている場合には、第2状態の示す腕とは異なる腕による特定動作の模倣動作のための行動プログラムをプログラム記憶手段から選択する。したがって、請求項4の発明によれば、相手の特定動作と同一の動作をすれば相手に衝突するおそれがあるときに、衝突するおそれのない腕を用いた模倣動作を実行することができる。したがって、相手の動作を模倣する動作を安全に実行することができる。   According to a fourth aspect of the present invention, the first state detecting means detects the first state relating to the hand in which the opponent is performing the specific motion based on the body motion data. For example, in the embodiment, the first state indicates a hand that the opponent is pointing at. The second state detection means detects a second state related to the arm of the communication robot that may collide with the opponent based on the body motion data. When the first state indicates one of the opponent's hands, that is, when the opponent is performing a specific action, the selecting means imitates a specific action by an arm different from the arm indicated by the second state. The action program for is selected from the program storage means. Therefore, according to the invention of claim 4, when there is a possibility of colliding with the opponent if the same action as the opponent's specific action is performed, it is possible to execute the imitation operation using the arm that is not likely to collide. Therefore, it is possible to safely execute an operation that imitates the operation of the other party.

請求項5の発明は、請求項4の発明に従属し、状態検出手段は、特定動作の方向に関する第3状態を検出する第3状態検出手段をさらに含み、選択手段は、第2状態がいずれの腕も示さない場合、第3状態の示す方向に対応する側の腕で特定動作を模倣する動作を実行させるための行動プログラムを選択する。   The invention according to claim 5 is dependent on the invention according to claim 4, wherein the state detection means further includes third state detection means for detecting a third state relating to the direction of the specific action, and the selection means includes any one of the second states. If no arm is shown, an action program for causing the arm on the side corresponding to the direction indicated by the third state to perform an action imitating the specific action is selected.

請求項5の発明では、第3状態検出手段は、特定動作の方向に関する第3状態を検出する。たとえば、実施例では、第3状態は、コミュニケーションロボットから見て特定動作が行われている方向を示す。そして、選択手段は、第2状態がいずれの腕も示さない場合、つまり、いずれの腕も相手に衝突するおそれがない場合には、第3状態の示す方向に対応する側の腕による特定動作の模倣動作のための行動プログラムを選択する。したがって、請求項5の発明によれば、安全性が確保されている場合には、相手の動作が示す方向に応じた腕で模倣動作を実行することができるので、より自然な模倣動作を実現できる。   In the invention of claim 5, the third state detecting means detects the third state relating to the direction of the specific operation. For example, in the embodiment, the third state indicates the direction in which the specific operation is performed as viewed from the communication robot. When the second state does not indicate any arm, that is, when there is no possibility that any arm collides with the opponent, the selecting means performs a specific action by the arm on the side corresponding to the direction indicated by the third state. Select an action program for imitation action. Therefore, according to the invention of claim 5, when the safety is ensured, the imitation operation can be executed with the arm corresponding to the direction indicated by the opponent's operation, so that a more natural imitation operation is realized. it can.

請求項6の発明は、請求項4の発明に従属し、状態検出手段は、相手が特定動作に使用している手に関する第4状態を、相手の手の肩からの距離、相手の手の過去一定時間の動き、および検出された第4状態に基づいて検出し、選択手段は、第1状態の示す手と第4状態の示す手とが同じでないとき、模倣動作ではない動作を実行させるための行動プログラムを選択する。   The invention of claim 6 is dependent on the invention of claim 4, and the state detecting means determines the fourth state relating to the hand used by the opponent for the specific action, the distance from the shoulder of the opponent's hand, the opponent's hand. Detection is performed based on the movement of a predetermined time in the past and the detected fourth state, and the selection means executes an operation that is not an imitation operation when the hand indicated by the first state is not the same as the hand indicated by the fourth state To choose an action program.

請求項6の発明では、状態検出手段は、第4状態として、相手が特定動作に使用している手を検出する。この第4状態の検出は、相手の手の肩からの距離、相手の手の過去一定時間の動き、および前回検出された第4状態に基づいて行われる。たとえば、実施例では、前回の第4状態に示されない手に関しての距離と動きとの両者が、前回の第4状態に示す手に関しての距離と動きとの両者よりも大きくなった場合にのみ、使用している手が変更されたものとみなして、第4状態の示す手が切り替えられる。そして、選択手段は、第1状態の示す手と第4状態の示す手とが同じでないとき、つまり、特定動作をしている手と特定動作に使用されている手とが異なるものとなったときには、特定動作が終わっているとみなして、模倣動作ではない動作を実行させるための行動プログラムを選択する。したがって、請求項6の発明によれば、特定動作が変化するときに的確に対応して、相手の動作が変更されても模倣動作をし続けるようなことがないので、自然で違和感のない模倣動作を実現できる。   In the invention of claim 6, the state detecting means detects the hand used by the opponent for the specific action as the fourth state. The detection of the fourth state is performed based on the distance from the shoulder of the opponent's hand, the movement of the opponent's hand in the past fixed time, and the fourth state detected last time. For example, in the embodiment, only when both the distance and the movement concerning the hand not shown in the previous fourth state are larger than both the distance and the movement concerning the hand shown in the previous fourth state, Assuming that the hand being used has been changed, the hand indicated in the fourth state is switched. And the selection means becomes different when the hand in the first state and the hand in the fourth state are not the same, that is, the hand performing the specific action and the hand used for the specific action are different. Sometimes, it is considered that the specific action is finished, and an action program for executing an action that is not an imitation action is selected. Therefore, according to the invention of claim 6, since imitation operation is not continued even if the other party's operation is changed in an appropriate manner when the specific operation changes, imitation without a sense of incongruity. Operation can be realized.

請求項7の発明は、請求項3ないし6の発明のいずれかに従属し、選択手段は、特定動作を模倣する動作を実行させるための行動プログラムの選択が一定時間以上続いたとき、状態検出手段によって検出された相手の状態に応じて行動プログラムの再選択をする。   The invention of claim 7 is dependent on any of the inventions of claims 3 to 6, and the selection means detects the state when the selection of the action program for executing the action imitating the specific action continues for a certain time or more. The action program is reselected according to the state of the opponent detected by the means.

請求項7の発明では、特定動作のための行動プログラムの選択が一定時間以上続いたときに行動プログラムが相手の状態に応じて再選択される。したがって、請求項7の発明によれば、コミュニケーションロボットが模倣動作を長々と続けるようなことがなく、模倣動作の実現される時間を適切なものにすることができるので、相手を模倣する動作を自然に行うことができる。   According to the seventh aspect of the present invention, when the selection of the action program for the specific action continues for a certain time or more, the action program is reselected according to the state of the opponent. Therefore, according to the invention of claim 7, the communication robot does not continue the imitation operation for a long time, and the time for realizing the imitation operation can be made appropriate. Can be done naturally.

請求項8の発明は、請求項3ないし7の発明のいずれかに従属し、特定動作は指差しまたは方向を指し示す身体動作を含む。請求項8の発明では、状態検出手段によって、特定動作としての指差しまたは方向を指し示す身体動作に関して、相手の状態が検出されることとなる。したがって、たとえば実施例の順路案内状況のような指差し等が人間によって行われる場合において、コミュニケーションロボットに適切に相手の模倣動作を実行させることができ、円滑なコミュニケーションを実現できる。   The invention of claim 8 is dependent on any of the inventions of claims 3 to 7, and the specific action includes a pointing action or a body action indicating a direction. In the invention of claim 8, the state detection means detects the state of the other party with respect to the pointing operation as the specific operation or the body operation indicating the direction. Therefore, for example, when a pointing operation such as the route guidance situation in the embodiment is performed by a human, the communication robot can appropriately perform the imitation operation of the opponent, and smooth communication can be realized.

請求項9の発明は、請求項2の発明に従属し、動作検出手段は、相手の発話を検出して発話に関するデータを生成する発話検出手段を含み、状態検出手段は、発話に関するデータに基づいて相手の発話の状態を検出し、選択手段は、状態検出手段によって検出された相手の発話の状態が所定条件を満たすとき、頭を用いて相手に協力的な動作を実行させるための行動プログラムを選択する。   The invention according to claim 9 is dependent on the invention according to claim 2, wherein the motion detection means includes speech detection means for detecting speech of the other party and generating data related to speech, and the state detection means is based on the data related to speech. An action program for causing the partner to perform cooperative actions using the head when the partner's utterance state detected by the state detector satisfies a predetermined condition. Select.

請求項9の発明では、発話検出手段は、相手の発話を検出して発話に関するデータを生成して、状態検出手段は相手の発話の状態を検出する。選択手段は、相手の発話の状態が所定条件を満たすとき、頭を用いて相手に協力的な動作を実行させるための行動プログラムを選択する。したがって、コミュニケーションロボットは、相手の発話の状態に応じた協力的な動作を、頭を用いた身体動作によって実現することができる。   According to another aspect of the present invention, the utterance detection means detects the other party's utterance and generates data related to the utterance, and the state detection means detects the other party's utterance state. The selection means uses the head to select an action program for causing the partner to perform a cooperative action when the partner's utterance state satisfies a predetermined condition. Therefore, the communication robot can realize a cooperative operation according to the utterance state of the other party by a physical operation using the head.

請求項10の発明は、請求項1ないし9の発明のいずれかに従属し、コミュニケーションロボットは音声を出力する音声出力手段をさらに備えていて、プログラム記憶手段に記憶される行動プログラムは、発話をするための行動プログラムを含み、動作検出手段は、相手の発話を検出して発話に関するデータを生成する発話検出手段を含み、状態検出手段は、発話に関するデータに基づいて相手の発話の状態を検出し、選択手段は、コミュニケーションロボットの身体部位および発話ごとに行動プログラムを選択するものであって、状態検出手段によって検出された少なくとも相手の発話の状態に応じて、発話をするための行動プログラムを選択し、生成手段は、選択手段によって発話をするための行動プログラムが選択されたとき、当該発話をするための制御データを生成し、音声出力手段は、制御データに基づいて音声を出力する。   The invention of claim 10 is dependent on any one of the inventions of claims 1 to 9, wherein the communication robot further comprises voice output means for outputting voice, and the behavior program stored in the program storage means Action detecting means includes utterance detecting means for detecting utterance of the other party and generating data relating to the utterance, and the state detecting means detects the state of the other party's utterance based on the data relating to the utterance. The selecting means selects an action program for each body part and utterance of the communication robot, and selects an action program for uttering at least according to the state of the other party's utterance detected by the state detecting means. When the action program for speaking is selected by the selecting means, the generating means selects the utterance. Generates control data for the speech output means outputs the sound based on the control data.

請求項10の発明では、コミュニケーションロボットには音声出力手段が設けられる。プログラム記憶手段には、発話をするための行動プログラムが記憶される。発話検出手段は、相手の発話を検出して発話に関するデータを生成し、この発話に関するデータに基づいて、状態検出手段は相手の発話の状態を検出する。選択手段は、コミュニケーションロボットの身体部位および発話ごとに行動プログラムを選択することができるので、検出された少なくとも発話の状態に応じて、発話をするための行動プログラムを選択する。生成手段は、発話をするための行動プログラムが選択されたとき、当該発話をするための制御データを生成する。そして、音声出力手段は、発話をするための制御データに基づいて音声を出力する。したがって、コミュニケーションロボットは、検出された相手の発話状態に応じて適切な発話をすることができるので、身体動作とともに発話を用いて相手の動作に対応する動作、協力的な動作、あるいは模倣動作などを実行することができ、より円滑なコミュニケーションを実現できる。   In the invention of claim 10, the communication robot is provided with a voice output means. The program storage means stores an action program for speaking. The utterance detection means detects the utterance of the other party and generates data related to the utterance, and the state detection means detects the state of the utterance of the other party based on the data concerning the utterance. Since the selection means can select an action program for each body part and utterance of the communication robot, the action program for uttering is selected according to at least the detected utterance state. When an action program for uttering is selected, the generation means generates control data for uttering the utterance. The voice output means outputs voice based on the control data for speaking. Therefore, the communication robot can make an appropriate utterance according to the detected utterance state of the other party, so that the movement corresponding to the other party's movement using the utterance together with the body movement, cooperative movement, imitation movement, etc. Can be executed, and smoother communication can be realized.

この発明によれば、コミュニケーションの相手とコミュニケーションロボットの動作に関するデータに基づいて、相手の状態を検出し、その検出された状態に応じて、相手の動作に対応する動作としての協力的な動作や模倣動作のための行動プログラムを選択するようにしている。したがって、相手の動作の状態に応じて、適切な協力的な動作や模倣動作をコミュニケーションロボットに実行させることができるので、自然で円滑なコミュニケーションを実現することができる。   According to the present invention, based on the data related to the communication partner and the operation of the communication robot, the partner's state is detected, and in accordance with the detected state, the cooperative operation as the operation corresponding to the partner's operation or The action program for imitation operation is selected. Therefore, since the communication robot can execute appropriate cooperative operation or imitation operation according to the state of the other party's operation, natural and smooth communication can be realized.

この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。   The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.

図1を参照して、この実施例の動作生成システム10は、コミュニケーションロボット(以下、単に「ロボット」ともいう。)12に、人間14の動作(行動)に応じて、協力的な動作を実行させるためのものであり、協力的な動作として特に人間14の身体動作を模倣する(すなわち類似あるいは同一の)動作や、人間14の動作に同調する動作などを実行させるためのものである。この動作生成システム10は、少なくとも腕を含む身体部位を有して身体表現の可能なロボット12、ロボット12に実行させる行動を制御するロボット制御装置16、および身体動作を検出するモーションキャプチャシステム18を含む。   With reference to FIG. 1, the motion generation system 10 of this embodiment executes a cooperative motion on a communication robot (hereinafter also simply referred to as “robot”) 12 according to the motion (behavior) of a human 14. In particular, as a cooperative operation, an operation that imitates (i.e., is similar to or the same as) the body motion of the human 14 or an operation that synchronizes with the motion of the human 14 is executed. The motion generation system 10 includes a robot 12 having a body part including at least an arm and capable of expressing the body, a robot control device 16 for controlling a behavior to be executed by the robot 12, and a motion capture system 18 for detecting the body motion. Including.

ロボット制御装置16は、パーソナルコンピュータまたはワークステーション等のコンピュータからなり、CPU、RAM、ROMおよびHDD等を備える。ロボット12の行動を制御するためのプログラムおよびデータは主記憶装置としてのHDD等に格納されていて、CPUはこのプログラムに従って処理を実行する。ロボット制御装置16の内部または外部には、行動モジュールデータベース(DB)20、および発話計測データDB22が設けられる。行動モジュールDB20には、後述するように、ロボット12の各行動を実現するためのモジュール化された各プログラム(行動モジュールと呼ばれる。)が記憶される。発話計測データDB22には、マイク24によって取得される人間14の発話に関するデータが記憶される。マイク24は、この実施例ではロボット12に設けられている。ロボット12は、所定周期でマイク24から人間14の発話の音量を計測して、その取得した発話計測データをロボット制御装置16に送信する。ロボット制御装置16は、ロボット12から発話計測データを受信して、発話計測データDB22に格納する。発話計測データは計測時刻(フレーム)に関連付けて格納されている。   The robot control device 16 includes a computer such as a personal computer or a workstation, and includes a CPU, RAM, ROM, HDD, and the like. A program and data for controlling the behavior of the robot 12 are stored in an HDD or the like as a main storage device, and the CPU executes processing according to this program. A behavior module database (DB) 20 and an utterance measurement data DB 22 are provided inside or outside the robot control device 16. As will be described later, the behavior module DB 20 stores each modularized program (called a behavior module) for realizing each behavior of the robot 12. In the utterance measurement data DB 22, data related to the utterance of the human 14 acquired by the microphone 24 is stored. The microphone 24 is provided in the robot 12 in this embodiment. The robot 12 measures the volume of the utterance of the human 14 from the microphone 24 at a predetermined cycle, and transmits the acquired utterance measurement data to the robot control device 16. The robot control device 16 receives the utterance measurement data from the robot 12 and stores it in the utterance measurement data DB 22. The utterance measurement data is stored in association with the measurement time (frame).

なお、ロボット制御装置16とモーションキャプチャシステム18とは、たとえばHUB(図示せず)を介して有線または無線LANで互いに接続される。また、ロボット12は、たとえばHUBに接続されたアクセスポイント(図示せず)を介して無線LANでロボット制御装置16と接続される。   The robot control device 16 and the motion capture system 18 are connected to each other by a wired or wireless LAN via, for example, a HUB (not shown). Also, the robot 12 is connected to the robot control device 16 via a wireless LAN via an access point (not shown) connected to the HUB, for example.

ロボット制御装置16のCPUは、検出した人間14の動作(身体動作および発話)に基づいて、適切な行動モジュールを選択して実行する。人間14の動作に関するデータのうち身体動作に関するデータは、モーションキャプチャシステム18から取得される。行動モジュールの実行の結果、ロボット制御装置16のCPUは、その行動を実現するための指令データをロボット12に送信する。   The CPU of the robot control device 16 selects and executes an appropriate behavior module based on the detected motion (body motion and speech) of the human 14. Of the data related to the motion of the human 14, data related to the physical motion is acquired from the motion capture system 18. As a result of the execution of the behavior module, the CPU of the robot control device 16 transmits command data for realizing the behavior to the robot 12.

モーションキャプチャシステム(3次元動作計測装置)18としては、公知のモーションキャプチャシステムが適用される。たとえばVICON社(http://www.vicon.com/)の光学式のモーションキャプチャシステムが適用されてよい。モーションキャプチャシステム18は、パーソナルコンピュータまたはワークステーションなどのコンピュータを含み、その内部または外部には、人間14およびロボット12の身体動作に関する数値データを記憶する3次元動作計測データDB26が設けられる。このモーションキャプチャシステム18においては、図2に示すように、複数(少なくとも3つ)の赤外線照射機能を有するカメラ28が、玄関、廊下、部屋等のような適宜の空間において、ロボット12および人間14に対して互いに異なる方向に配置され、ロボット12と人間14との相互作用における身体動作を検出する。ロボット12と人間14には、複数の赤外線反射マーカ30が取り付けられる。人間14には、たとえば頭頂,眼の上,首,肩,肘,手先(手首)等のような人間14の動作を特徴付ける特徴点すなわち人間14の動作を特定可能な部分に、各マーカ30が取り付けられる。人間14は、たとえば、マーカ30の取り付けられた帽子や服を着用してよい。また、ロボット12にも、同様にして、その動作を特定可能な特徴点(頭頂,眼の上,首,肩,肘,手先等)に各マーカ30が取り付けられる。モーションキャプチャシステム18のコンピュータは、カメラ28から画像データをたとえば60Hz(1秒間に60フレーム)で取得し、画像データの画像処理によって、その計測時のすべての画像データにおける各マーカ30の2次元位置を抽出する。そして、コンピュータは、2次元位置に基づいて、実空間における各マーカ30の3次元位置座標データを算出し、その算出した3次元位置座標データを3次元動作計測データとして3次元動作計測データDB26に格納する。3次元動作計測データは計測時刻(フレーム)に関連付けて格納されている。   A known motion capture system is applied as the motion capture system (three-dimensional motion measurement device) 18. For example, an optical motion capture system of VICON (http://www.vicon.com/) may be applied. The motion capture system 18 includes a computer such as a personal computer or a workstation, and a three-dimensional motion measurement data DB 26 that stores numerical data related to the body motion of the human 14 and the robot 12 is provided inside or outside the computer. In this motion capture system 18, as shown in FIG. 2, a plurality of (at least three) cameras 28 having an infrared irradiation function are arranged in an appropriate space such as an entrance, a hallway, a room, etc. Are arranged in directions different from each other, and detects a body motion in the interaction between the robot 12 and the human 14. A plurality of infrared reflection markers 30 are attached to the robot 12 and the human 14. Each marker 30 has a feature point that characterizes the movement of the human 14, such as the top of the head, the top of the eye, the neck, the shoulder, the elbow, and the hand (wrist). It is attached. For example, the human 14 may wear a hat or clothes to which the marker 30 is attached. Similarly, each marker 30 is attached to the robot 12 at feature points (the top of the head, the top of the eye, the neck, the shoulder, the elbow, the hand, etc.) that can specify the operation. The computer of the motion capture system 18 acquires image data from the camera 28 at, for example, 60 Hz (60 frames per second), and by image processing of the image data, the two-dimensional position of each marker 30 in all the image data at the time of measurement. To extract. Then, the computer calculates the three-dimensional position coordinate data of each marker 30 in the real space based on the two-dimensional position, and uses the calculated three-dimensional position coordinate data as the three-dimensional movement measurement data in the three-dimensional movement measurement data DB 26. Store. The three-dimensional motion measurement data is stored in association with the measurement time (frame).

ロボット12は、人間のような身体を有し、その身体を用いて、コミュニケーションのために必要な複雑な身体動作を生成する。具体的には、図3を参照して、ロボット12は台車32を含み、この台車32の下面には、このロボット12を自律移動させる車輪34が設けられる。この車輪34は、車輪モータ(ロボット12の内部構成を示す図4において参照番号「36」で示す。)によって駆動され、台車32すなわちロボット12を前後左右任意の方向に動かすことができる。なお、図3では示さないが、この台車32の前面には、衝突センサ(図4において参照番号「38」で示す。)が取り付けられ、この衝突センサ38は、台車32への人や他の障害物の接触を検知する。そして、ロボット12の移動中に障害物との接触を検知すると、直ちに車輪34の駆動を停止してロボット12の移動を急停止させる。   The robot 12 has a human-like body, and uses the body to generate complex body movements necessary for communication. Specifically, referring to FIG. 3, the robot 12 includes a carriage 32, and wheels 34 for autonomously moving the robot 12 are provided on the lower surface of the carriage 32. The wheel 34 is driven by a wheel motor (indicated by reference numeral “36” in FIG. 4 showing the internal configuration of the robot 12), and the carriage 32, that is, the robot 12 can be moved in any direction. Although not shown in FIG. 3, a collision sensor (indicated by reference numeral “38” in FIG. 4) is attached to the front surface of the carriage 32. Detect obstacle contact. When contact with an obstacle is detected during the movement of the robot 12, the driving of the wheels 34 is immediately stopped and the movement of the robot 12 is suddenly stopped.

なお、ロボット12の背の高さは、この実施例では、人、特に子供に威圧感をあたえることがないように、100cm程度とされている。ただし、この背の高さは任意に変更可能である。   In this embodiment, the height of the robot 12 is about 100 cm so as not to intimidate people, particularly children. However, this height can be arbitrarily changed.

台車32の上には、多角形柱のセンサ取付パネル40が設けられ、このセンサ取付パネル40の各面には、超音波距離センサ42が取り付けられる。この超音波距離センサ42は、取付パネル40すなわちロボット12の周囲の主として人との間の距離を計測するものである。   A polygonal column sensor mounting panel 40 is provided on the carriage 32, and an ultrasonic distance sensor 42 is mounted on each surface of the sensor mounting panel 40. The ultrasonic distance sensor 42 measures the distance between the mounting panel 40, that is, the person around the robot 12 mainly.

台車32の上には、さらに、ロボット12の胴体が、その下部が上述の取付パネル40に囲まれて、直立するように取り付けられる。この胴体は下部胴体44と上部胴体46とから構成され、これら下部胴体44および上部胴体46は、連結部48によって連結される。連結部48には、図示しないが、昇降機構が内蔵されていて、この昇降機構を用いることによって、上部胴体46の高さすなわちロボット12の高さを変化させることができる。昇降機構は、後述のように、腰モータ(図4において参照番号「50」で示す。)によって駆動される。上で述べたロボット12の身長100cmは、上部胴体46をそれの最下位置にしたときの値である。したがって、ロボット12の身長は100cm以上にすることができる。   Further, the body of the robot 12 is mounted on the carriage 32 so that the lower portion thereof is surrounded by the mounting panel 40 described above and stands upright. The body is composed of a lower body 44 and an upper body 46, and the lower body 44 and the upper body 46 are connected by a connecting portion 48. Although not shown, the connecting portion 48 has a built-in lifting mechanism, and the height of the upper body 46, that is, the height of the robot 12 can be changed by using the lifting mechanism. As will be described later, the elevating mechanism is driven by a waist motor (indicated by reference numeral “50” in FIG. 4). The height 100 cm of the robot 12 described above is a value when the upper body 46 is at its lowest position. Therefore, the height of the robot 12 can be 100 cm or more.

上部胴体46のほぼ中央には、1つの全方位カメラ52と、1つのマイク24とが設けられる。全方位カメラ52は、ロボット12の周囲を撮影するもので、後述の眼カメラ54と区別される。マイク24は、上述のように、周囲の音、とりわけ人の声を取り込む。   One omnidirectional camera 52 and one microphone 24 are provided in the approximate center of the upper body 46. The omnidirectional camera 52 photographs the surroundings of the robot 12 and is distinguished from an eye camera 54 described later. As described above, the microphone 24 captures ambient sounds, particularly human voices.

上部胴体46の両肩には、それぞれ、肩関節56Rおよび56Lによって、上腕58Rおよび58Lが取り付けられる。肩関節56Rおよび56Lは、それぞれ3軸の自由度を有する。すなわち、右肩関節56Rは、X軸,Y軸およびZ軸の各軸廻りにおいて上腕58Rの角度を制御できる。Y軸は、上腕58Rの長手方向(または軸)に平行な軸であり、X軸およびZ軸は、そのY軸に、それぞれ異なる方向から直交する軸である。左肩関節56Lは、A軸,B軸およびC軸の各軸廻りにおいて上腕58Lの角度を制御できる。B軸は、上腕58Lの長手方向(または軸)に平行な軸であり、A軸およびC軸は、そのB軸に、それぞれ異なる方向から直交する軸である。   Upper arms 58R and 58L are attached to both shoulders of the upper body 46 by shoulder joints 56R and 56L, respectively. The shoulder joints 56R and 56L each have three degrees of freedom. That is, the right shoulder joint 56R can control the angle of the upper arm 58R around each of the X, Y, and Z axes. The Y axis is an axis parallel to the longitudinal direction (or axis) of the upper arm 58R, and the X axis and the Z axis are axes orthogonal to the Y axis from different directions. The left shoulder joint 56L can control the angle of the upper arm 58L around each of the A, B, and C axes. The B axis is an axis parallel to the longitudinal direction (or axis) of the upper arm 58L, and the A axis and the C axis are axes orthogonal to the B axis from different directions.

上腕58Rおよび58Lのそれぞれの先端には、肘関節60Rおよび60Lを介して、前腕62Rおよび62Lが取り付けられる。肘関節60Rおよび60Lは、それぞれ、W軸およびD軸の軸廻りにおいて、前腕62Rおよび62Lの角度を制御できる。   Forearms 62R and 62L are attached to the respective distal ends of upper arms 58R and 58L via elbow joints 60R and 60L. The elbow joints 60R and 60L can control the angles of the forearms 62R and 62L around the W axis and the D axis, respectively.

なお、上腕58Rおよび58Lならびに前腕62Rおよび62L(いずれも図3)の変位を制御するX,Y,Z,W軸およびA,B,C,D軸では、「0度」がホームポジションであり、このホームポジションでは、上腕58Rおよび58Lならびに前腕62Rおよび62Lは下方向に向けられる。   In the X, Y, Z, W axes and the A, B, C, D axes that control the displacement of the upper arms 58R and 58L and the forearms 62R and 62L (FIG. 3), “0 degree” is the home position. In this home position, the upper arms 58R and 58L and the forearms 62R and 62L are directed downward.

また、図3では示さないが、上部胴体46の肩関節56Rおよび56Lを含む肩の部分や上述の上腕58Rおよび58Lならびに前腕62Rおよび62Lを含む腕の部分には、それぞれ、タッチセンサ(図4において参照番号64で包括的に示す。)が設けられていて、これらのタッチセンサ64は、人がロボット12のこれらの部位に接触したかどうかを検知する。   Although not shown in FIG. 3, touch sensors (FIG. 4) are provided on the shoulder portion of the upper body 46 including the shoulder joints 56R and 56L and the above-mentioned upper arms 58R and 58L and the arm portions including the forearms 62R and 62L, respectively. The touch sensor 64 detects whether or not a person has touched these parts of the robot 12.

前腕62Rおよび62Lのそれぞれの先端には、手に相当する球体66Rおよび66Lがそれぞれ固定的に取り付けられる。なお、この球体66Rおよび66Lに代えて、この実施例のロボット12と異なり指の機能が必要な場合には、人の手の形をした「手」を用いることも可能である。   Spheres 66R and 66L corresponding to hands are fixedly attached to the tips of the forearms 62R and 62L, respectively. In place of the spheres 66R and 66L, a “hand” in the shape of a human hand can be used when a finger function is required unlike the robot 12 of this embodiment.

上部胴体46の中央上方には、首関節68を介して、頭部70が取り付けられる。この首関節68は、3軸の自由度を有し、S軸,T軸およびU軸の各軸廻りに角度制御可能である。S軸は首から真上に向かう軸であり、T軸およびU軸は、それぞれ、このS軸に対して異なる方向で直交する軸である。頭部70には、人の口に相当する位置に、スピーカ72が設けられる。スピーカ72は、ロボット12が、それの周囲の人に対して音声または声によってコミュニケーションを図るために用いられる。ただし、スピーカ72は、ロボット12の他の部位たとえば胴体に設けられてもよい。   A head 70 is attached to an upper center of the upper body 46 via a neck joint 68. The neck joint 68 has three degrees of freedom and can be controlled in angle around each of the S, T, and U axes. The S-axis is an axis that goes directly from the neck, and the T-axis and the U-axis are axes that are orthogonal to the S-axis in different directions. The head 70 is provided with a speaker 72 at a position corresponding to a human mouth. The speaker 72 is used for the robot 12 to communicate with a person around it by voice or voice. However, the speaker 72 may be provided in another part of the robot 12, for example, the trunk.

また、頭部70には、目に相当する位置に眼球部74Rおよび74Lが設けられる。眼球部74Rおよび74Lは、それぞれ眼カメラ54Rおよび54Lを含む。なお、右の眼球部74Rおよび左の眼球部74Lをまとめて眼球部74といい、右の眼カメラ54Rおよび左の眼カメラ54Lをまとめて眼カメラ54ということもある。眼カメラ54は、ロボット12に接近した人の顔や他の部分ないし物体等を撮影してその映像信号を取り込む。   The head 70 is provided with eyeball portions 74R and 74L at positions corresponding to the eyes. Eyeball portions 74R and 74L include eye cameras 54R and 54L, respectively. The right eyeball portion 74R and the left eyeball portion 74L may be collectively referred to as an eyeball portion 74, and the right eye camera 54R and the left eye camera 54L may be collectively referred to as an eye camera 54. The eye camera 54 captures the video signal by photographing the face of the person approaching the robot 12 and other parts or objects.

なお、上述の全方位カメラ52および眼カメラ54のいずれも、たとえばCCDやCMOSのように固体撮像素子を用いるカメラであってよい。   Note that each of the omnidirectional camera 52 and the eye camera 54 described above may be a camera using a solid-state imaging device such as a CCD or a CMOS.

たとえば、眼カメラ54は眼球部74内に固定され、眼球部74は眼球支持部(図示せず)を介して頭部70内の所定位置に取り付けられる。眼球支持部は、2軸の自由度を有し、α軸およびβ軸の各軸廻りに角度制御可能である。α軸およびβ軸は頭部70に対して設定される軸であり、α軸は頭部70の上へ向かう方向の軸であり、β軸はα軸に直交しかつ頭部70の正面側(顔)が向く方向に直交する方向の軸である。この実施例では、頭部70がホームポジションにあるとき、α軸はS軸に平行し、β軸はU軸に平行するように設定されている。このような頭部70において、眼球支持部がα軸およびβ軸の各軸廻りに回転されることによって、眼球部74ないし眼カメラ54の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。   For example, the eye camera 54 is fixed in the eyeball part 74, and the eyeball part 74 is attached to a predetermined position in the head 70 via an eyeball support part (not shown). The eyeball support unit has two degrees of freedom and can be controlled in angle around each of the α axis and the β axis. The α axis and the β axis are axes set with respect to the head 70, the α axis is an axis in a direction toward the top of the head 70, the β axis is orthogonal to the α axis and the front side of the head 70 It is an axis in a direction orthogonal to the direction in which (face) faces. In this embodiment, when the head 70 is at the home position, the α axis is set to be parallel to the S axis and the β axis is set to be parallel to the U axis. In such a head 70, when the eyeball support portion is rotated around each of the α axis and the β axis, the tip (front) side of the eyeball portion 74 or the eye camera 54 is displaced, and the camera axis, that is, the line-of-sight direction is changed. Moved.

なお、眼カメラ54の変位を制御するα軸およびβ軸では、「0度」がホームポジションであり、このホームポジションでは、図3に示すように、眼カメラ54のカメラ軸は頭部70の正面側(顔)が向く方向に向けられ、視線は正視状態となる。   In the α axis and β axis that control the displacement of the eye camera 54, “0 degree” is the home position. At this home position, the camera axis of the eye camera 54 is the head 70 as shown in FIG. The direction of the front side (face) is directed, and the line of sight is in the normal viewing state.

図4には、ロボット12の内部構成を示すブロック図が示される。図4に示すように、このロボット12は、全体の制御のためにマイクロコンピュータまたはCPU76を含み、このCPU76には、バス78を通して、メモリ80,モータ制御ボード82,センサ入力/出力ボード84および音声入力/出力ボード86が接続される。   FIG. 4 is a block diagram showing the internal configuration of the robot 12. As shown in FIG. 4, the robot 12 includes a microcomputer or CPU 76 for overall control. The CPU 76 is connected to a memory 80, a motor control board 82, a sensor input / output board 84, and a voice through a bus 78. An input / output board 86 is connected.

メモリ80は、図示しないが、ROMやHDD、RAM等を含み、ROMまたはHDDにはこのロボット12の制御プログラムおよびデータ等が予め格納されている。CPU76は、このプログラムに従って処理を実行する。また、RAMは、一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用され得る。   Although not shown, the memory 80 includes a ROM, an HDD, a RAM, and the like, and the control program and data for the robot 12 are stored in the ROM or the HDD in advance. The CPU 76 executes processing according to this program. The RAM can be used as a working memory as well as a temporary storage memory.

モータ制御ボード82は、たとえばDSP(Digital Signal Processor)で構成され、右腕、左腕、頭および眼等の身体部位を駆動するためのモータを制御する。すなわち、モータ制御ボード82は、CPU76からの制御データを受け、右肩関節56RのX,YおよびZ軸のそれぞれの角度を制御する3つのモータと右肘関節60Rの軸Wの角度を制御する1つのモータを含む計4つのモータ(図4ではまとめて、「右腕モータ」として示す。)88の回転角度を調節する。また、モータ制御ボード82は、左肩関節56LのA,BおよびC軸のそれぞれの角度を制御する3つのモータと左肘関節60LのD軸の角度を制御する1つのモータとを含む計4つのモータ(図4ではまとめて、「左腕モータ」として示す。)90の回転角度を調節する。モータ制御ボード82は、また、首関節68のS,TおよびU軸のそれぞれの角度を制御する3つのモータ(図4ではまとめて、「頭部モータ」として示す。)92の回転角度を調節する。モータ制御ボード82は、また、腰モータ50、および車輪34を駆動する2つのモータ(図4ではまとめて、「車輪モータ」として示す。)36を制御する。さらに、モータ制御ボード82は、右眼球部74Rのα軸およびβ軸のそれぞれの角度を制御する2つのモータ(図4ではまとめて、「右眼球モータ」として示す。)94の回転角度を調節し、また、左眼球部74Lのα軸およびβ軸のそれぞれの角度を制御する2つのモータ(図4ではまとめて、「左眼球モータ」として示す。)96の回転角度を調節する。   The motor control board 82 is composed of, for example, a DSP (Digital Signal Processor) and controls a motor for driving body parts such as the right arm, the left arm, the head, and the eyes. That is, the motor control board 82 receives control data from the CPU 76, and controls the angles of the three motors for controlling the X, Y, and Z axes of the right shoulder joint 56R and the axis W of the right elbow joint 60R. The rotation angles of a total of four motors including one motor (collectively shown as “right arm motor” in FIG. 4) 88 are adjusted. The motor control board 82 includes a total of four motors including three motors that control the angles of the A, B, and C axes of the left shoulder joint 56L and one motor that controls the angle of the D axis of the left elbow joint 60L. The rotation angle of the motor (collectively shown as “left arm motor” in FIG. 4) 90 is adjusted. The motor control board 82 also adjusts the rotation angles of three motors 92 (collectively shown as “head motors” in FIG. 4) that control the angles of the S, T, and U axes of the neck joint 68. To do. The motor control board 82 also controls the waist motor 50 and the two motors 36 that drive the wheels 34 (collectively shown as “wheel motors” in FIG. 4). Further, the motor control board 82 adjusts the rotation angle of two motors 94 (collectively shown as “right eyeball motor” in FIG. 4) that control the angles of the α axis and β axis of the right eyeball portion 74R. In addition, the rotation angle of two motors 96 (collectively shown as “left eyeball motor” in FIG. 4) for controlling the angles of the α axis and the β axis of the left eyeball portion 74L is adjusted.

なお、この実施例の上述のモータは、車輪モータ36を除いて、制御を簡単化するためにそれぞれステッピングモータまたはパルスモータであるが、車輪モータ36と同様に、直流モータであってよい。   The above-described motors of this embodiment are stepping motors or pulse motors for simplifying the control except for the wheel motors 36, but may be direct-current motors as with the wheel motors 36.

センサ入力/出力ボード84も、同様に、DSPで構成され、各センサやカメラからの信号を取り込んでCPU76に与える。すなわち、超音波距離センサ42の各々からの反射時間に関するデータがこのセンサ入力/出力ボード84を通して、CPU76に入力される。また、全方位カメラ52からの映像信号が、必要に応じてこのセンサ入力/出力ボード84で所定の処理が施された後、CPU76に入力される。眼カメラ54からの映像信号も、同様にして、CPU76に与えられる。また、タッチセンサ64からの信号がセンサ入力/出力ボード84を介してCPU76に与えられる。   Similarly, the sensor input / output board 84 is also constituted by a DSP, and takes in signals from each sensor and camera and gives them to the CPU 76. That is, data relating to the reflection time from each of the ultrasonic distance sensors 42 is input to the CPU 76 through the sensor input / output board 84. The video signal from the omnidirectional camera 52 is input to the CPU 76 after being subjected to predetermined processing by the sensor input / output board 84 as necessary. Similarly, the video signal from the eye camera 54 is also supplied to the CPU 76. Further, a signal from the touch sensor 64 is given to the CPU 76 via the sensor input / output board 84.

スピーカ72には音声入力/出力ボード86を介して、CPU76から、合成音声データが与えられ、それに応じて、スピーカ72からはそのデータに従った音声または声が出力される。また、マイク24からの音声入力が、音声入力/出力ボード86を介してCPU76に取り込まれる。   Synthetic voice data is given to the speaker 72 from the CPU 76 via the voice input / output board 86, and accordingly, voice or voice according to the data is outputted from the speaker 72. Further, the voice input from the microphone 24 is taken into the CPU 76 via the voice input / output board 86.

通信LANボード98も、同様に、DSPで構成され、CPU76から与えられた送信データを無線通信装置100に与え、無線通信装置100から送信データを送信させる。また、通信LANボード98は無線通信装置100を介してデータを受信し、受信データをCPU76に与える。   Similarly, the communication LAN board 98 is also configured by a DSP, and sends the transmission data given from the CPU 76 to the wireless communication apparatus 100 and causes the wireless communication apparatus 100 to transmit the transmission data. The communication LAN board 98 receives data via the wireless communication device 100 and provides the received data to the CPU 76.

この実施例では、たとえば人間14が指差しをしたり、方向を指示する身振り(ジェスチャ)をしたりするような順路案内状況において、人間14に対して協力的な動作(模倣動作や同調動作など)をロボット12に行わせる場合が想定される。なお、模倣動作を含む協力的な動作を行う状況はこの順路案内状況に限定されるものではなく適宜変更され得る。   In this embodiment, for example, in a route guidance situation in which the human 14 is pointing or gesturing (gesturing) indicating a direction, a cooperative operation (imitation operation, tuning operation, etc.) is performed on the human 14. ) Is assumed to be performed by the robot 12. The situation where the cooperative operation including the imitation operation is performed is not limited to the route guidance situation and may be changed as appropriate.

順路案内状況は、たとえば、ロボット12が人間14に対して「会議室へはどう行けばいいの?」と順路を尋ねる言葉を話し掛けたりすることによって引き起こされる。このような状況において、ロボット12が、人間14の動作に応じて、その動作に協力的な動作を実行する。つまり、たとえば、人間どうしのコミュニケーションでは、順路案内状況で人間が指差しをして方向を示すような特定動作を行った場合に、相手が同じように指差しをするという模倣動作がよく行われる。また、人間が指差しをして方向を示した場合にその方向に顔を向けたり、人間が発話も交えて順路案内を説明した場合には、相槌を打ったりうなずいたりする。このように、人間の動作に同調する動作もよく行われる。人間はこのような相手の動作に協力的な動作を無意識的に行って、円滑で自然なコミュニケーションを実現している。   The route guidance situation is caused, for example, when the robot 12 talks to the person 14 about the route asking "How do I get to the conference room?" In such a situation, the robot 12 executes a cooperative operation in response to the operation of the human 14. In other words, for example, in human-to-human communication, when a person performs a specific action indicating the direction by pointing in a route guidance situation, an imitation action is often performed in which the other person points in the same way. . In addition, when a person points and indicates a direction, the face is turned in that direction. When the person explains route guidance with utterances, he / she is nodded or nodded. Thus, the operation | movement which synchronizes with a human motion is often performed. Humans unconsciously perform cooperative actions on the movements of the other party to realize smooth and natural communication.

そこで、この実施例では、模倣動作の一例として、人間14が順路案内状況で特定動作を行ったとき、すなわち、順路を案内するために指差しをして方向を示したとき、ロボット12は、人間14の指した方向と同じ方向に指差し(方向を指し示すジェスチャ)をする。また、人間14が指差しではなく手を動かしているとき、ロボット12は人間14と同じ動きをする。これらの場合において、模倣動作に使用するロボット12の腕は、人間14との衝突の危険性を考慮して選択され、したがって、模倣動作としては、同一の動作ばかりでなく類似する動作も行われる。このように、ロボット12が、人間14の動作の模倣動作、すなわち、人間14の行動に類似するあるいは同一の行動を示すことによって、人間14との間で自然で円滑なコミュニケーションを実現することができる。   Therefore, in this embodiment, as an example of the imitation operation, when the human 14 performs a specific operation in the route guidance situation, that is, when pointing to indicate the direction and indicating the direction, the robot 12 Pointing in the same direction as the direction the human 14 points (gesture indicating the direction). Further, when the human 14 is moving his hand instead of pointing, the robot 12 moves in the same manner as the human 14. In these cases, the arm of the robot 12 used for the imitation operation is selected in consideration of the danger of a collision with the human 14, and therefore, not only the same operation but also a similar operation is performed as the imitation operation. . In this way, the robot 12 can realize natural and smooth communication with the human 14 by imitating the movement of the human 14, that is, an action similar to or the same as that of the human 14. it can.

また、同調する動作の一例としては、人間14が順路を案内するために指差しをして方向を示したとき、ロボット12は人間14の指した方向を見る(顔を向ける)。また、ロボット12は、指差しがなされていないときなどには、人間14にアイコンタクトをする。また、人間14の発話の状態に応じて、相槌を打ったり、うなづいたりする。   As an example of the synchronized operation, when the human 14 points to indicate the direction in order to guide the route, the robot 12 looks at the direction pointed by the human 14 (turns his face). Further, the robot 12 makes eye contact with the human 14 when the finger is not pointed. In addition, depending on the state of the utterance of the human 14, he / she confers or nods.

具体的には、人間14およびロボット12の身体動作は、モーションキャプチャシステム18によって計測され、各マーカ取付点の3次元位置座標データとして3次元動作計測データDB26に記憶される。また、人間14の発話は、ロボット12に設けられたマイク24によって取得され、発話計測データとしてロボット制御装置16の発話計測データDB22に記憶される。ロボット制御装置16は、3次元動作計測データDB26に記憶された身体動作データ(3次元動作計測データ)、および発話計測データDB22に記憶された発話に関するデータ(発話計測データ)に基づいて、人間14の状態をほぼリアルタイムに検出し、行動モジュールDB20に格納された複数の行動モジュールの中からロボット12に実行させるべき行動モジュールを選択する。   Specifically, the body movements of the human 14 and the robot 12 are measured by the motion capture system 18 and stored in the three-dimensional movement measurement data DB 26 as the three-dimensional position coordinate data of each marker attachment point. Further, the utterance of the human 14 is acquired by the microphone 24 provided in the robot 12 and is stored as the utterance measurement data in the utterance measurement data DB 22 of the robot control device 16. Based on the body motion data (three-dimensional motion measurement data) stored in the three-dimensional motion measurement data DB 26 and the utterance data (speech measurement data) stored in the utterance measurement data DB 22, the robot control device 16 The behavior module to be executed by the robot 12 is selected from a plurality of behavior modules stored in the behavior module DB 20.

図5には、行動モジュールDB20に記憶される複数の行動モジュールの内容の一例が示される。行動モジュールは、身体動作および発話を用いた行動をロボット12に実行させるためのプログラムであり、たとえばお辞儀、「こんにちは」と言う、抱っこするといった行動ごとに予め準備されている。この図5では、この実施例の順路案内状況において使用される協力的動作(模倣動作および同調動作)のための行動モジュールを含む複数の行動モジュールの一例が示されている。行動モジュールDB20では、右腕、左腕および頭の動作ならびに発話のための各行動モジュールが、各識別子に関連付けて記憶されている。   FIG. 5 shows an example of the contents of a plurality of behavior modules stored in the behavior module DB 20. Action module is a program for executing the action with body movements and speech to the robot 12, for example bow, say "Hello", it has been prepared in advance for each action, such as to hug. FIG. 5 shows an example of a plurality of behavior modules including behavior modules for cooperative operations (imitation operation and tuning operation) used in the route guidance situation of this embodiment. In the behavior module DB 20, the behavior modules for the right arm, the left arm and the head, and the speech are stored in association with each identifier.

右腕の動作に関しては、人間の右手と同じ動きをする行動モジュール(Rsr:識別子)、人間の左手と同じ動きをする行動モジュール(Rsl)、右手で指された方向を指差しする行動モジュール(Rpr)、左手で指された方向を指差しする行動モジュール(Rpl)、および何もしない行動モジュール(Rno)が記憶される。左腕の動作に関しては、人間の左手と同じ動きをする行動モジュール(Lsl)、人間の右手と同じ動きをする行動モジュール(Lsr)、右手で指された方向を指差しする行動モジュール(Lpr)、左手で指された方向を指差しする行動モジュール(Lpl)、および何もしない行動モジュール(Lno)が記憶される。頭の動作に関しては、アイコンタクトをする行動モジュール(Hec)、右手で指された方向を見る行動モジュール(Hrp)、左手で指された方向を見る行動モジュール(Hlp)、および、うなずく行動モジュール(Hnd)が記憶される。また、発話に関しては、「え?」と言う行動モジュール(Seh)、「うん」と言う行動モジュール(Sun)、「うんうん」と言う行動モジュール(Suu)、および「それで」と言う行動モジュール(Ssd)が記憶される。   Regarding the movement of the right arm, an action module (Rsr: identifier) that moves the same as the human right hand, an action module (Rsl) that moves the same as the human left hand, and an action module (Rpr) that points in the direction pointed by the right hand ), A behavior module (Rpl) that points in the direction pointed with the left hand, and a behavior module (Rno) that does nothing. Regarding the movement of the left arm, an action module (Lsl) that moves the same as the human left hand, an action module (Lsr) that moves the same as the human right hand, an action module (Lpr) that points in the direction pointed by the right hand, An action module (Lpl) that points in the direction pointed with the left hand and an action module (Lno) that does nothing are stored. Regarding the movement of the head, a behavior module (Hec) for making eye contact, a behavior module (Hrp) for viewing the direction pointed with the right hand, a behavior module (Hlp) for viewing the direction pointed with the left hand, and a nod behavior module ( Hnd) is stored. In addition, regarding speech, an action module (Seh) that says “E?”, An action module (Sun) that says “Yes”, an action module (Suu) that says “Yes”, and an action module that says “So” Ssd) is stored.

上記両腕および頭に関連した各行動モジュールでは、モーションキャプチャシステム18によって取得された3次元動作計測データに基づいて、両腕および頭の各関節の各軸モータ(右腕モータ88、左腕モータ90および頭部モータ92)の目標角度(角度制御データ)がそれぞれ算出される。たとえば、人間14の手と同じ動きをする行動モジュール(Rsr、Rsl、Lsl、Lsr)では、まず、3次元動作計測データに基づいて人間14の右手および左手の肩および肘の角度をそれぞれ計算する。そして、人間14がするのと同じ運動をロボット12が示すように、ロボット12の右腕の肩関節56Rおよび肘関節60R、ならびに左腕の肩関節56Lおよび肘関節60Lの各モータ(右腕モータ88および左腕モータ90)の目標角度を、人間14の右手および左手の角度に基づいてそれぞれ算出する。また、人間14が指した方向を指差しする行動モジュール(Rpr、Rpl、Lpr、Lpl)では、同様に、人間14の右手および左手の肩および肘の角度をそれぞれ計算する。そして、人間14が指した方向をロボット12が指差しするように、ロボット12の右腕モータ88または左腕モータ90の目標角度を、人間14の右手および左手の角度に基づいてそれぞれ算出する。また、何もしない行動モジュール(Rno、Lno)では、ロボット12の右腕モータ88および左腕モータ90の目標角度を、それぞれホームポジションを示す角度に変更するか、あるいは、現在と同じ角度に保持する。また、アイコンタクトをする行動モジュール(Hec)では、人間14の頭の方向ベクトルおよびロボット12の頭部70の方向ベクトルを算出して、これら2つのベクトルが反対方向を示すように、ロボット12の頭部70の望ましい角度すなわち頭部モータ92の目標角度を算出する。また、人間14が指差した方向を見る行動モジュール(Hrp、Hlp)では、まず、人間14の右手または左手の肩および肘の角度をそれぞれ算出する。そして、人間14が指した方向をロボット12が見るように、ロボット12の頭部モータ92の目標角度を算出する。なお、発話に関する行動モジュールでは、該当する発話内容を示す合成音声データ(発話内容データ)をHDD等から読み出す。   In each of the behavior modules related to both arms and the head, based on the three-dimensional motion measurement data acquired by the motion capture system 18, each axis motor (right arm motor 88, left arm motor 90 and A target angle (angle control data) of the head motor 92) is calculated. For example, in the behavior modules (Rsr, Rsl, Lsl, Lsr) that perform the same movement as the hand of the human 14, first, the angles of the shoulder and elbow of the right hand and the left hand of the human 14 are respectively calculated based on the three-dimensional motion measurement data. . Then, as the robot 12 shows the same movement as the human 14 does, the motors (the right arm motor 88 and the left arm) of the shoulder joint 56R and the elbow joint 60R of the right arm and the shoulder joint 56L and the elbow joint 60L of the left arm of the robot 12 are shown. The target angle of the motor 90) is calculated based on the right and left hand angles of the human 14 respectively. Similarly, the behavior modules (Rpr, Rpl, Lpr, Lpl) pointing in the direction pointed by the human 14 calculate the angles of the shoulder and elbow of the right hand and the left hand of the human 14 respectively. Then, the target angles of the right arm motor 88 or the left arm motor 90 of the robot 12 are calculated based on the angles of the right hand and the left hand of the human 14 so that the robot 12 points in the direction pointed by the human 14. Further, in the action modules (Rno, Lno) that do nothing, the target angles of the right arm motor 88 and the left arm motor 90 of the robot 12 are changed to the angles indicating the home positions, respectively, or held at the same angle as the present. Further, the behavior module (Hec) for making eye contact calculates the direction vector of the head of the human 14 and the direction vector of the head 70 of the robot 12, and the two vectors indicate opposite directions. A desired angle of the head 70, that is, a target angle of the head motor 92 is calculated. In the behavior modules (Hrp, Hlp) for viewing the direction pointed by the human 14, first, the angles of the shoulder and elbow of the right hand or the left hand of the human 14 are respectively calculated. Then, the target angle of the head motor 92 of the robot 12 is calculated so that the robot 12 sees the direction pointed by the human 14. Note that in the behavior module related to utterance, synthesized voice data (utterance content data) indicating the corresponding utterance content is read from the HDD or the like.

このような行動モジュールの中から、ロボット制御装置16は、人間14の動作の状態に従って、適切な行動モジュールを選択する。選択の際には、人間14の動作の状態として、現在の動作の状態と過去の動作の状態とが検出される。   From such behavior modules, the robot control device 16 selects an appropriate behavior module according to the state of operation of the human 14. At the time of selection, the current operation state and the past operation state are detected as the operation state of the human 14.

現在の動作の状態としては、3次元動作計測データDB26から取得された3次元動作計測データおよび発話計測データDB22から取得された発話計測データに基づいて、この実施例では、次の6つの状態が判別される。   Based on the three-dimensional motion measurement data acquired from the three-dimensional motion measurement data DB 26 and the utterance measurement data acquired from the utterance measurement data DB 22 as the current motion state, the following six states are present in this embodiment. Determined.

すなわち、(1)人間14は右(または左)手で指差しをしているかが判別される。その結果、右手である場合には、指差しに関する状態を示す変数Pointに右手を示すデータが設定され、左手である場合には変数Pointに左手を示すデータが設定され、または、人間14が指差しをしていない場合には変数Pointに指差し無しを示すデータが設定される。人間14の行動が指差しであることの条件は、たとえば、人間14の肩および肘の角度の値が所定の角度の範囲内にあることである。なお、変数Pointの初期値は無しを示すデータが設定される。(2)人間14はロボット12のどちら側(右または左)の方へ指差しをしているかが判別される。その結果、右である場合には、方向に関する状態を示す変数Directionに右を示すデータが設定され、左である場合には変数Directionに左を示すデータが設定される。なお、変数Directionの初期値は方向無しを示すデータが設定される。(3)右(または左)手は動いているかが判別される。詳しくは、右(または左)手の動きの速度が閾値以上かが判別される。その結果、両手である場合には、動きに関する状態を示す変数Moveに両手を示すデータが設定され、右手である場合には変数Moveに右手を示すデータが設定され、左手である場合には変数Moveに左手を示すデータが設定され、両手とも動いていない場合には変数Moveに動き無しを示すデータが設定される。なお、変数Moveの初期値は無しを示すデータが設定される。(4)人間14は順路案内(指差しまたは方向を示すジェスチャ等)のために右(または左)手を使用しているかが判別される。その結果、右手である場合には、使用に関する状態を示す変数Activeに右手を示すデータが設定され、左手である場合には変数Activeに左手を示すデータが設定され、使用されていない場合には変数Activeに使用無しを示すデータが設定される。詳しくは、この使用または活動の状態は、現在の状態および過去の状態に基づいて判定される。つまり、前回のActiveに設定された手、過去の一定時間における右および左手の動き、および現在のフレームにおける手の肩からの距離の3つの観点に基づいて、判定される。前回のActiveが無しに設定されている場合には、過去一定時間の動きの多い方の手がActiveに設定される。前回のActiveがどちらかの手である場合には、Activeに設定されていない方の手に関してその肩からの距離および過去一定時間の動きの両者が、Activeに設定されている方の手に関してその肩からの距離および過去一定時間の動きの両者よりも大きくなったときにのみ、Activeに設定される手が切り替えられる。なお、変数Activeの初期値は無しを示すデータが設定される。(5)人間14はロボット12の右(または左)腕の当たるかもしれない場所にいるかが判別される。その結果、右手である場合には、衝突に関する状態を示す変数Hitに右手を示すデータが設定され、左手である場合には変数Hitに左手を示すデータが設定され、人間14が当たらない場所にいる場合には変数Hitに衝突無しを示すデータが設定される。なお、変数Hitの初期値は無しを示すデータが設定される。(6)人間14は発話しているかが判別される。詳しくは、発話に掛かった時間が計測されて、発話に関する変数Speechにその計測された発話時間が設定される。また、発話無しで経過している時間が計測されて変数Nospeechに設定される。なお、変数Speechおよび変数Nospeechの初期値はそれぞれゼロが設定される。   That is, (1) it is determined whether the human 14 is pointing with the right (or left) hand. As a result, in the case of the right hand, data indicating the right hand is set in the variable Point indicating the state related to pointing, and in the case of the left hand, the data indicating the left hand is set in the variable Point. When no insertion is made, data indicating no pointing is set in the variable Point. The condition that the action of the person 14 is a pointing is, for example, that the values of the shoulder and elbow angles of the person 14 are within a predetermined angle range. Note that the initial value of the variable Point is set to data indicating none. (2) It is determined to which side (right or left) of the robot 12 the human 14 is pointing. As a result, in the case of the right, data indicating the right is set in the variable Direction indicating the state relating to the direction, and in the case of the left, the data indicating the left is set in the variable Direction. The initial value of the variable Direction is set to data indicating no direction. (3) It is determined whether the right (or left) hand is moving. Specifically, it is determined whether the speed of movement of the right (or left) hand is greater than or equal to a threshold value. As a result, when both hands are used, data indicating both hands is set in the variable Move indicating the state relating to movement, when the right hand is set, data indicating the right hand is set in the variable Move, and when the left hand is set, the variable Data indicating the left hand is set in Move, and data indicating no movement is set in the variable Move when both hands are not moving. Note that the initial value of the variable Move is set to data indicating none. (4) It is determined whether the human 14 is using the right (or left) hand for route guidance (such as pointing or gesturing indicating direction). As a result, in the case of the right hand, data indicating the right hand is set in the variable Active indicating the state of use, and in the case of the left hand, the data indicating the left hand is set in the variable Active. Data indicating no use is set in the variable Active. Specifically, the state of use or activity is determined based on the current state and the past state. That is, the determination is made based on the three viewpoints of the hand set to Active last time, the movements of the right and left hands in the past certain time, and the distance from the shoulder of the hand in the current frame. If the previous Active is set to None, the hand with the most movement for a certain period of time in the past is set to Active. If the previous Active is either hand, both the distance from the shoulder and the movement for a certain period of time for the hand that is not set to Active are the same for the hand that is set to Active. Only when the distance from the shoulder and the movement over the past certain period of time have become larger, the hand set to Active can be switched. Note that the initial value of the variable Active is set to data indicating none. (5) It is determined whether the human 14 is in a place where the right (or left) arm of the robot 12 may hit. As a result, in the case of the right hand, the data indicating the right hand is set in the variable Hit indicating the state related to the collision, and in the case of the left hand, the data indicating the left hand is set in the variable Hit, and the human 14 is not hit. If there is, data indicating no collision is set in the variable Hit. Note that the initial value of the variable Hit is set to data indicating none. (6) It is determined whether the human 14 is speaking. Specifically, the time taken for utterance is measured, and the measured utterance time is set in the variable Speech related to utterance. Further, the elapsed time without utterance is measured and set to the variable Nospeech. Note that the initial values of the variable Speech and the variable Nospeech are each set to zero.

また、過去の動作の状態としては、行動モジュールの過去の選出に基づいて、この実施例では、次の4つの状態が判別される。すなわち、(1)腕の動作の選択について、指差しに応ずる行動モジュールRpr、Rpl、LprまたはLplは、過去一定時間続いているかが判別される。(2)頭の動作の選択について、頭に関連した行動モジュールは過去所定時間続いているかが判別される。(3)頭の動作の選択について、指差しに応ずる行動モジュールHrpまたはHlpは過去一定時間続いているかが判別される。(4)発話の選択について、最後に選択された発話に関する行動モジュールは何であったかが判別される。   Further, as the past operation states, the following four states are determined in this embodiment based on the past selection of the behavior module. That is, (1) With regard to the selection of arm movement, it is determined whether the action module Rpr, Rpl, Lpr or Lpl corresponding to the pointing has continued for a certain past time. (2) With regard to the selection of head movement, it is determined whether the behavior module related to the head has continued for a predetermined time in the past. (3) With regard to the selection of the head movement, it is determined whether the action module Hrp or Hlp responding to the pointing has continued for a certain past time. (4) Regarding the selection of an utterance, it is determined what the action module related to the last selected utterance was.

ロボット制御装置16は、検出された人間14の動作の状態に基づいて、行動選択規則に従って、実行すべき行動モジュールを選択する。行動選択規則は、この実施例では、腕動作、頭動作および発話に関する各選択処理プログラムとしてHDD等に予め記憶されており、各選択処理プログラムに従って腕動作、頭動作および発話の各選択処理が実行される。この行動選択規則は、発明者等の実験によって得た知識に基づいて作成されている。そして、ロボット制御装置16は、選択した行動モジュールを実行することによって、必要に応じて上述のような各モータの目標角度の算出等を行って、当該行動の実行を指示する指令データをロボット12に送信する。送信される指令データには、この実施例では、身体動作に関する行動モジュールの場合には、当該行動を実現するための各モータの角度制御データ(目標角度データ)が含まれ、また、発話に関する行動モジュールの場合には発話の内容を示す発話内容データ(合成音声データ)が含まれる。   The robot control device 16 selects a behavior module to be executed according to the behavior selection rule based on the detected motion state of the human 14. In this embodiment, the action selection rule is stored in advance in the HDD or the like as each selection processing program relating to arm movement, head movement and speech, and each selection process of arm movement, head movement and speech is executed according to each selection processing program. Is done. This action selection rule is created based on knowledge obtained through experiments by the inventors. Then, the robot control device 16 executes the selected action module, calculates the target angle of each motor as described above as necessary, and sends command data for instructing the execution of the action to the robot 12. Send to. In this embodiment, in the case of an action module related to body movement, the command data to be transmitted includes angle control data (target angle data) of each motor for realizing the action, and action related to speech In the case of a module, speech content data (synthesized speech data) indicating the content of speech is included.

ロボット12は、行動モジュール実行時には、ロボット制御装置16からの指令データを受信して、その指令データに基づいて当該行動を実行する。身体動作に関する指令データの場合には角度制御データに従って各モータが制御され、また、発話に関する指令データの場合には音声合成データに従って音声が出力される。このようにして、人間14の行動を模倣する行動あるいは同調する行動がロボット12によって実現される。   When the behavior module is executed, the robot 12 receives the command data from the robot control device 16 and executes the behavior based on the command data. In the case of command data related to body movement, each motor is controlled according to the angle control data, and in the case of command data related to speech, a voice is output according to the speech synthesis data. In this way, an action that imitates or synchronizes with the action of the human 14 is realized by the robot 12.

図6には、ロボット制御装置16の順路案内状況における動作の一例が示される。図6の最初のステップS1で、ロボット制御装置16のCPUは、状態検出処理を実行する。この処理の動作は図7から図9に詳細に示される。   FIG. 6 shows an example of the operation of the robot control device 16 in the normal route guidance situation. In the first step S1 of FIG. 6, the CPU of the robot control device 16 executes a state detection process. The operation of this process is shown in detail in FIGS.

図7の最初のステップS21で、モーションキャプチャシステム18のコンピュータを介して3次元動作計測データDB26から、人間14の身体動作の状態を検出するために必要な3次元動作計測データを取得する。次に、ステップS23で、人間14が右手で指差しをしているか否かを判断する。たとえば、3次元動作計測データに基づいて人間14の右肩および右肘の角度を算出して、それら角度が指差し状態を示す所定の角度範囲内にあるかどうかが判定される。   In the first step S21 in FIG. 7, the three-dimensional motion measurement data necessary for detecting the state of the body motion of the human 14 is acquired from the three-dimensional motion measurement data DB 26 via the computer of the motion capture system 18. Next, in step S23, it is determined whether or not the human 14 is pointing with the right hand. For example, the right shoulder and right elbow angles of the human 14 are calculated based on the three-dimensional motion measurement data, and it is determined whether or not these angles are within a predetermined angle range indicating the pointing state.

ステップS23で“YES”であれば、ステップS25で、指差しの状態を示す変数Pointに右手を示すデータを設定する。続いて、ステップS27で、人間14の右手がロボット12の右側を指しているか否かを判断する。たとえば、人間14の右の前腕の指す方向が、ロボット12の中心から見てロボット12の右腕の存在する側であるか、または左腕の存在する側であるかが判定される。ステップS27で“YES”であれば、方向の状態を示す変数Directionに右を示すデータを設定する。一方、ステップS27で“NO”であれば、つまり、人間14がロボット12の左側を指している場合には、ステップS31で、変数Directionに左を示すデータを設定する。ステップS29またはステップS31を終了すると、処理はステップS45へ進む。   If “YES” in the step S23, data indicating the right hand is set in a variable Point indicating the pointing state in a step S25. Subsequently, in step S27, it is determined whether or not the right hand of the human 14 points to the right side of the robot 12. For example, it is determined whether the direction indicated by the right forearm of the human 14 is the side where the right arm of the robot 12 is present or the side where the left arm is present when viewed from the center of the robot 12. If “YES” in the step S27, data indicating the right is set in the variable Direction indicating the direction state. On the other hand, if “NO” in the step S27, that is, if the human 14 points to the left side of the robot 12, data indicating the left is set in the variable Direction in a step S31. When step S29 or step S31 is completed, the process proceeds to step S45.

一方、ステップS23で“NO”であれば、ステップS33で、人間14が左手で指差しをしているか否かを判断する。たとえば、人間14の左肩および左肘の角度を算出して、それら角度が指差し状態を示す所定の角度範囲内にあるかどうかが判定される。   On the other hand, if “NO” in the step S23, it is determined whether or not the human 14 is pointing with the left hand in a step S33. For example, the angles of the left shoulder and the left elbow of the human 14 are calculated, and it is determined whether or not these angles are within a predetermined angle range indicating the pointing state.

ステップS33で“YES”であれば、ステップS35で、変数Pointに左手を示すデータを設定する。続いて、ステップS37で、人間14の左手がロボット12の右側を指しているか否かを判断する。たとえば、人間の左の前腕の指す方向が、ロボット12の中心から見てロボット12の右腕の存在する側であるか、または左腕の存在する側であるかが判定される。ステップS37で“YES”であれば、変数Directionに右を示すデータを設定し、ステップS37で“NO”であれば、変数Directionに左を示すデータを設定する。ステップS39またはステップS41を終了すると、処理はステップS45へ進む。   If “YES” in the step S33, data indicating the left hand is set in the variable Point in a step S35. Subsequently, in step S37, it is determined whether or not the left hand of the human 14 points to the right side of the robot 12. For example, it is determined whether the direction indicated by the human left forearm is the side where the right arm of the robot 12 is present or the side where the left arm is present when viewed from the center of the robot 12. If “YES” in the step S37, data indicating the right is set in the variable Direction, and if “NO” in the step S37, data indicating the left is set in the variable Direction. When step S39 or step S41 is completed, the process proceeds to step S45.

また、ステップS33で“NO”であれば、つまり、人間14が右手でも左手でも指差しをしていない場合には、ステップS43で、変数Pointに指差し無しを示すデータを設定する。   If “NO” in the step S33, that is, if the human 14 is not pointing with either the right hand or the left hand, data indicating no pointing is set in the variable Point in a step S43.

ステップS45では、人間14の右手が動いているか否かを判定する。たとえば、3次元動作計測データに基づいて人間14の右手の動く速度を算出して、その算出した速度が所定の閾値以上であるか否かが判定される。ステップS45で“NO”であれば、ステップS47で、人間14の左手が動いているか否かを判定する。たとえば、人間の左手の動く速度を算出して、その速度が所定の閾値以上であるかが判定される。ステップS47で“NO”であれば、人間14の両手とも動いていないとみなして、ステップS49で動きの状態を示す変数Moveに動き無しを示すデータを設定する。一方、ステップS47で“YES”であれば、ステップS51で変数Moveに左手を示すデータを設定する。また、ステップS45で“YES”であれば、続くステップS53で、上述のステップS47と同様にして、人間14の左手が動いているか否かを判定する。ステップS53で“YES”であれば、人間14の両手とも動いているとみなして、ステップS55で変数Moveに両手を示すデータを設定する。一方、ステップS53で“NO”であれば、ステップS57で変数Moveに右手を示すデータを設定する。ステップS49、S51、S55またはS57を終了すると、処理は図8のステップS59へ進む。   In step S45, it is determined whether or not the right hand of the human 14 is moving. For example, the moving speed of the right hand of the human 14 is calculated based on the three-dimensional motion measurement data, and it is determined whether or not the calculated speed is equal to or higher than a predetermined threshold. If “NO” in the step S45, it is determined whether or not the left hand of the human 14 is moving in a step S47. For example, the moving speed of the human left hand is calculated, and it is determined whether the speed is equal to or higher than a predetermined threshold. If “NO” in the step S47, it is considered that both hands of the human 14 are not moving, and in a step S49, data indicating no movement is set in the variable Move indicating the movement state. On the other hand, if “YES” in the step S47, data indicating the left hand is set in the variable Move in a step S51. If “YES” in the step S45, it is determined in a succeeding step S53 whether or not the left hand of the human 14 is moving in the same manner as the above-described step S47. If “YES” in the step S53, it is considered that both hands of the human 14 are moving, and data indicating both hands is set in the variable Move in a step S55. On the other hand, if “NO” in the step S53, data indicating the right hand is set in the variable Move in a step S57. When step S49, S51, S55, or S57 is completed, the process proceeds to step S59 in FIG.

図8のステップS59では、手の使用状態を示す変数Activeに無しを示すデータが設定されているか否かを判断する。ステップS59で“YES”であれば、つまり、前回の処理の時点では順路案内のためにどちらの手も使用されていないと判定されていた場合等には、ステップS61で、人間14の左手の過去一定時間(たとえば1秒)の動きが、右手の過去一定時間の動きよりも多いか否かを判定する。ステップS61で“YES”であれば、左手が順路案内のために使用されているとみなして、ステップS63で変数Activeに左手を示すデータを設定する。一方、ステップS61で“NO”であれば、ステップS65で、左手の過去一定時間の動きが、右手の過去一定時間の動き以下であるか否かを判定する。ステップS65で“YES”であれば、右手が順路案内ために使用されているとみなして、ステップS67で変数Activeに右手を示すデータを設定する。ステップS65で“NO”であれば、つまり、どちらの手も過去一定時間の間に動きがない場合には、ステップS69で変数Activeに無しを示すデータを設定する。ステップS63、S67またはS69を終了すると、処理は図9のステップS89へ進む。   In step S59 of FIG. 8, it is determined whether or not data indicating none is set in the variable Active indicating the use state of the hand. If “YES” in the step S59, that is, if it is determined that neither hand is used for the route guidance at the time of the previous process, the left hand of the human 14 in the step S61. It is determined whether or not the movement in the past certain time (for example, 1 second) is greater than the movement in the past certain time in the right hand. If “YES” in the step S61, it is assumed that the left hand is used for route guidance, and data indicating the left hand is set in the variable Active in a step S63. On the other hand, if “NO” in the step S61, it is determined whether or not the movement of the left hand in the past certain time is equal to or less than the movement of the right hand in the past certain time. If “YES” in the step S65, it is assumed that the right hand is used for route guidance, and data indicating the right hand is set in the variable Active in a step S67. If “NO” in the step S65, that is, if neither hand has moved during the past fixed time, data indicating absence is set in the variable Active in a step S69. When step S63, S67 or S69 ends, the process proceeds to step S89 in FIG.

一方、ステップS59で“NO”であれば、ステップS71で、上述のステップS61と同様にして、左手の動きが右手の動きよりも多いか否かを判断する。ステップS71で“YES”であれば、ステップS73で、現在のフレームの3次元動作計測データに基づいて、左手の肩からの距離が右手の肩からの距離よりも長いか否かを判断する。ここで、手の肩からの距離は、人間14の身体を真上から見た場合の手(手先ないし手首)と肩との距離である。ステップS73で“YES”であれば、つまり、過去一定時間における左手の動きが右手の動きよりも多く、かつ、左手が右手よりも肩から離れている場合には、左手が順路案内のために使用されているものとみなして、ステップS75で変数Activeに左手を示すデータを設定する。   On the other hand, if “NO” in the step S59, it is determined whether or not the left hand movement is larger than the right hand movement in the step S71 as in the above-described step S61. If “YES” in the step S71, it is determined whether or not the distance from the shoulder of the left hand is longer than the distance from the shoulder of the right hand based on the three-dimensional motion measurement data of the current frame in a step S73. Here, the distance from the shoulder of the hand is the distance between the hand (hand or wrist) and the shoulder when the human body 14 is viewed from directly above. If “YES” in the step S73, that is, if the movement of the left hand in the past certain time is more than the movement of the right hand and the left hand is farther from the shoulder than the right hand, the left hand is used for route guidance. Assuming that it is being used, data indicating the left hand is set in the variable Active in step S75.

一方、ステップS71で“NO”であれば、ステップS77で、上述のステップS65と同様にして、左手の動きが右手の動き以下であるか否かを判断する。ステップS77で“YES”であれば、ステップS79で、現在のフレームの3次元動作計測データに基づいて、左手の肩からの距離が右手の肩からの距離以下であるか否かを判断する。ステップS79で“YES”であれば、つまり、過去一定時間における右手の動きが左手の動き以上であり、かつ、右手が左手以上に肩から離れている場合には、右手が順路案内のために使用されているものとみなして、ステップS81で変数Activeに右手を示すデータを設定する。ステップS75またはS81を終了すると、処理は図9のステップS89へ進む。   On the other hand, if “NO” in the step S71, it is determined whether or not the left-hand movement is equal to or less than the right-hand movement in a step S77 in the same manner as the above-described step S65. If “YES” in the step S77, it is determined whether or not the distance from the shoulder of the left hand is equal to or less than the distance from the shoulder of the right hand based on the three-dimensional motion measurement data of the current frame in a step S79. If “YES” in the step S79, that is, if the movement of the right hand in the past certain time is more than the movement of the left hand and the right hand is more than the left hand and away from the shoulder, the right hand is used for route guidance. Assuming that it is used, data indicating the right hand is set in the variable Active in step S81. When step S75 or S81 ends, the process proceeds to step S89 in FIG.

一方、ステップS73で“NO”である場合、ステップS77で“NO”である場合、またはステップS79で“NO”である場合には、処理はステップS83へ進んで、前回と同じ手をActiveに設定する。つまり、ステップS83では、変数Activeに左手を示すデータが設定されているか否かを判断する。ステップS83で“YES”であれば、ステップS85で変数Activeに左手を示すデータを設定し、ステップS83で“NO”であれば、ステップS87で変数Activeに右手を示すデータを設定して、処理は図9のステップS89へ進む。   On the other hand, if “NO” in step S73, “NO” in step S77, or “NO” in step S79, the process proceeds to step S83, and the same hand as in the previous time is set to Active. Set. That is, in step S83, it is determined whether or not data indicating the left hand is set in the variable Active. If “YES” in the step S83, the data indicating the left hand is set in the variable Active in a step S85, and if “NO” in the step S83, the data indicating the right hand is set in the variable Active in a step S87. Advances to step S89 in FIG.

図9のステップS89では、人間14がロボット12の右手の当たるかもしれない場所にいるか否かを判断する。つまり、たとえば、3次元動作計測データに基づいて、ロボット12の右腕(球体66R、前腕62R、肘関節60R、上腕58Rおよび肩関節56R)の可動範囲に人間14が存在しているか否かが判定される。ステップS89で“YES”であれば、ステップS91で、衝突の状態を示す変数Hitに右手を示すデータを設定する。   In step S89 in FIG. 9, it is determined whether or not the human 14 is in a place where the right hand of the robot 12 may hit. That is, for example, based on the three-dimensional motion measurement data, it is determined whether or not the human 14 is present in the movable range of the right arm (sphere 66R, forearm 62R, elbow joint 60R, upper arm 58R, and shoulder joint 56R) of the robot 12. Is done. If “YES” in the step S89, data indicating the right hand is set in a variable Hit indicating a collision state in a step S91.

一方、ステップS89で“NO”であれば、ステップS93で、人間14がロボット12の左手の当たるかもしれない場所にいるか否かを判断する。たとえば、ロボット12の左腕(球体66L、前腕62L、肘関節60L、上腕58Lおよび肩関節56L)の可動範囲に人間14が存在しているか否かが判定される。ステップS93で“YES”であれば、ステップS95で変数Hitに左手を示すデータを設定する。   On the other hand, if “NO” in the step S89, it is determined whether or not the human 14 is in a place where the left hand of the robot 12 may hit in a step S93. For example, it is determined whether or not the human 14 exists in the movable range of the left arm (the sphere 66L, the forearm 62L, the elbow joint 60L, the upper arm 58L, and the shoulder joint 56L) of the robot 12. If “YES” in the step S93, data indicating the left hand is set in the variable Hit in a step S95.

また、ステップS93で“NO”であれば、ステップS97で、ロボット12の両手と人間14とが衝突するおそれがないので、変数Hitに無しを示すデータを設定する。   If “NO” in the step S93, since there is no possibility that the both hands of the robot 12 collide with the human 14 in a step S97, data indicating absence is set in the variable Hit.

続いて、ステップS99で、発話計測データDB22から人間14の発話状態を検出するために必要な発話計測データを取得する。この発話計測データに基づいて、ステップS101で、人間14が話しているか否かを判断する。   Subsequently, in step S99, utterance measurement data necessary for detecting the utterance state of the person 14 is acquired from the utterance measurement data DB 22. Based on the utterance measurement data, it is determined in step S101 whether or not the human 14 is speaking.

ステップS101で“YES”であれば、ステップS103で発話時間Speechの計測処理を実行する。たとえば、発話開始の検出に応じて発話時間のカウントを開始し、発話終了を検出するまで発話時間のカウントを継続し、発話終了を検出したとき変数Speechに計測した発話時間を設定する。   If “YES” in the step S101, the speech time speech measuring process is executed in a step S103. For example, the utterance time is counted in response to the detection of the start of utterance, the utterance time is continuously counted until the end of the utterance is detected, and when the end of the utterance is detected, the measured utterance time is set in the variable Speech.

一方、ステップS101で“NO”であれば、ステップS105で、発話なし時間Nospeechの計測処理を実行する。たとえば、発話終了の検出に応じて発話なし時間のカウントを開始し、発話開始を検出するまで発話なし時間のカウントを継続するとともに、変数Nospeechに発話なし時間を設定する。ステップS103またはS105を終了すると、この状態検出処理を終了する。   On the other hand, if “NO” in the step S101, a measurement process of the no-speech time Nospeech is executed in a step S105. For example, in response to the detection of the end of utterance, the utterance-free time is counted, and the utterance-free time is counted until the utterance start is detected, and the no-speech time is set in the variable Nospeech. When step S103 or S105 ends, this state detection process ends.

図6に戻って、ステップS1を終了すると、ステップS3で腕動作選択処理を実行する。この腕の行動モジュールを選択するための処理の動作は図10から図12に詳細に示される。   Returning to FIG. 6, when step S <b> 1 is completed, arm motion selection processing is executed in step S <b> 3. The operation of the process for selecting the arm behavior module is shown in detail in FIGS.

図10の最初のステップS131で、腕動作に関する前回の行動モジュールが指差しの何れか(Rpr、Rpl、LprまたはLpl)であったか否かを判断する。ステップS131で“YES”であれば、ステップS133で指差し動作Rpr、Rpl、LprまたはLplが一定時間以上続いているか否かを判断する。ステップS133で“NO”であれば、つまり、指差しの行動モジュールが一定時間以上続いていない場合には、その行動モジュールの実行を継続すべく、ステップS135で、前回と同じ行動モジュールを選択する。ステップS135を終了すると、この腕動作選択処理を終了する。   In the first step S131 of FIG. 10, it is determined whether or not the previous action module related to the arm movement is any pointing (Rpr, Rpl, Lpr or Lpl). If “YES” in the step S131, it is determined whether or not the pointing operation Rpr, Rpl, Lpr, or Lpl continues for a predetermined time or more in a step S133. If “NO” in the step S133, that is, if the pointing action module does not continue for a certain period of time, the same action module as the previous one is selected in the step S135 in order to continue the execution of the action module. . When step S135 ends, the arm motion selection process ends.

一方、ステップS133で“YES”であれば、つまり、指差しの行動モジュールが一定時間以上続いている場合には、ステップS1で検出された状態に応じた行動モジュールの再選択を行うべく、処理はステップS137へ進む。これによって、ロボット12が指差しを模倣する動作を長々と続けるようなことがなく、その模倣動作の実現される時間を適切なものにすることができ、自然な模倣動作を実現できる。また、ステップS131で“NO”であれば、同様に、ステップS137へ進む。   On the other hand, if “YES” in the step S133, that is, if the pointing action module continues for a certain time or longer, the processing is performed so as to reselect the action module in accordance with the state detected in the step S1. Advances to step S137. Thereby, the robot 12 does not continue the operation of imitating the pointing operation for a long time, the time for realizing the imitation operation can be made appropriate, and a natural imitation operation can be realized. If “NO” in the step S131, the process similarly proceeds to the step S137.

ステップS137では、指差しの状態を示す変数Pointに左手を示すデータが設定されているか否かを判断する。ステップS137で“YES”であれば、ステップS139で、使用の状態を示す変数Activeに左手を示すデータが設定されているか否かを判断する。ステップS139で“YES”であれば、衝突の状態を示す変数Hitに左手を示すデータが設定されているか否かを判断する。ステップS141で“YES”であれば、つまり、人間14が左手を使用して指差し動作を行っていて、かつ、ロボット12の左腕の当たり得る位置に存在している場合には、ステップS143で、左手で指された方向を右腕で指差すための行動モジュールRplを選択する。   In step S137, it is determined whether data indicating the left hand is set in the variable Point indicating the pointing state. If “YES” in the step S137, it is determined whether or not data indicating the left hand is set in the variable Active indicating the use state in a step S139. If “YES” in the step S139, it is determined whether or not data indicating the left hand is set in the variable Hit indicating the collision state. If “YES” in the step S141, that is, if the human 14 is performing a pointing operation using the left hand and is present at a position where the left arm of the robot 12 can be hit, in a step S143. The action module Rpl for pointing the direction pointed with the left hand with the right arm is selected.

このように、人間14の身体動作をそのまま真似をすると人間14にぶつかる恐れのある場合には、模倣動作として、使用する腕を変更した類似する動作を選択する。したがって、人間14の動作を模倣する動作を安全に行うことができ、円滑で自然なコミュニケーションを実現できる。   In this way, when there is a possibility of hitting the person 14 if the body action of the person 14 is imitated as it is, a similar action in which the arm to be used is changed is selected as the imitation action. Therefore, the operation imitating the operation of the human 14 can be performed safely, and smooth and natural communication can be realized.

一方、ステップS141で“NO”であれば、ステップS145で変数Hitに右手を示すデータが設定されているか否かを判断する。ステップS145で“YES”であれば、つまり、人間14が左手を使用して指差し動作を行っていて、かつ、ロボット12の右腕の当たり得る位置に存在している場合には、ステップS147で、左手で指された方向を左腕で指差すための行動モジュールLplを選択する。この場合、安全が確保されているので、模倣動作として、同じ腕を使用する同一の動作を選択する。   On the other hand, if “NO” in the step S141, it is determined whether or not data indicating the right hand is set in the variable Hit in a step S145. If “YES” in the step S145, that is, if the human 14 is performing a pointing operation using the left hand and is present at a position where the right arm of the robot 12 can be hit, in a step S147. The action module Lpl for pointing the direction pointed with the left hand with the left arm is selected. In this case, since safety is ensured, the same operation using the same arm is selected as the imitation operation.

また、ステップS145で“NO”であれば、つまり、変数Hitに無しを示すデータが設定されている場合には、ステップS149で、指差しの方向を示す変数Directionに右を示すデータが設定されているか否かを判断する。ステップS149で“YES”であれば、つまり、人間14がロボット12の腕の当たり得る位置に存在せず、かつ、左手でロボット12から見て右側を指している場合には、ステップS151で、左手で指された方向を右腕で指差すための行動モジュールRplを選択する。   If “NO” in the step S145, that is, if data indicating none is set in the variable Hit, data indicating the right is set in the variable Direction indicating the pointing direction in a step S149. Judge whether or not. If “YES” in the step S149, that is, if the human 14 is not present at a position where the arm of the robot 12 can be hit and is pointing to the right side when viewed from the robot 12 with the left hand, in a step S151, The action module Rpl for pointing the direction pointed with the left hand with the right arm is selected.

一方、ステップS149で“NO”であれば、つまり、変数Directionに左を示すデータが設定されている場合、つまり、人間14がロボット12の腕の当たり得る位置に存在せず、かつ、左手でロボット12から見て左側を指している場合には、ステップS153で、左手で指された方向を左腕で指差すための行動モジュールLplを選択する。   On the other hand, if “NO” in the step S 149, that is, if data indicating the left is set in the variable Direction, that is, the human 14 is not present at a position where the arm of the robot 12 can hit, and the left hand is used. When pointing to the left side as viewed from the robot 12, the action module Lpl for pointing the direction pointed with the left hand with the left arm is selected in step S153.

このように、安全性が確保されている場合には、人間14の指している方向に対応する側の腕を使用した模倣動作を選択する。したがって、ロボット12は、指差しする方向と同じ側の腕を使用するので、人間14の動作を模倣する動作をより自然な形で行うことができ、自然で円滑なコミュニケーションを実現することができる。   In this way, when safety is ensured, the imitation operation using the arm on the side corresponding to the direction in which the human 14 is pointing is selected. Therefore, since the robot 12 uses the arm on the same side as the pointing direction, it is possible to perform an operation imitating the operation of the human 14 in a more natural form, and to realize natural and smooth communication. .

ステップS143、S147、S151またはS153を終了すると、ステップS133等での判断に使用するために指差し動作時間のカウントを開始して、この腕動作選択処理を終了する。   When step S143, S147, S151, or S153 is completed, the pointing operation time is counted for use in the determination in step S133 and the arm operation selection process is terminated.

また、ステップS139で“NO”であれば、つまり、左手で指差しをしている状態ではあるが、左手を使用していると認められない場合には、左手による指差しが終わっているとみなして、ステップS155で、右腕および左腕で何もしない動作をするための行動モジュールRnoおよびLnoを選択する。このように、人間14が動作に使用する手を検出するようにしたので、動作が変化するときに的確に対応することができる。つまり、動作が変更されても模倣動作をし続けるようなことがないので、自然で違和感のない模倣動作を実現できる。ステップS155を終了すると、この腕動作選択処理を終了する。   If “NO” in the step S 139, that is, if the left hand is pointing, but it is not recognized that the left hand is used, the pointing with the left hand is finished. Accordingly, in step S155, the behavior modules Rno and Lno for performing the operation of doing nothing with the right arm and the left arm are selected. As described above, since the human 14 detects the hand used for the motion, it is possible to accurately cope with the change of the motion. That is, since the imitation operation does not continue even if the operation is changed, a natural and uncomfortable imitation operation can be realized. When step S155 ends, the arm motion selection process ends.

また、ステップS137で“NO”であれば、ステップS157で変数Pointに右手を示すデータが設定されているか否かを判断する。ステップS157で“YES”であれば、処理は図11のステップS159へ進む。   If “NO” in the step S137, it is determined whether or not data indicating the right hand is set in the variable Point in a step S157. If “YES” in the step S157, the process proceeds to a step S159 in FIG.

図11のステップS159では、変数Activeに右手を示すデータが設定されているか否かを判断する。ステップS159で“YES”であれば、ステップS161で変数Hitに右手を示すデータが設定されているか否かを判断する。ステップS161で“YES”であれば、つまり、人間14が右手を使用して指差し動作を行っていて、かつ、ロボット12の右腕の当たり得る位置に存在している場合には、ステップS163で、右手で指された方向を左腕で指差すための行動モジュールLprを選択する。このようにして、安全に模倣動作を行うことができる。   In step S159 of FIG. 11, it is determined whether data indicating the right hand is set in the variable Active. If “YES” in the step S159, it is determined whether or not data indicating the right hand is set in the variable Hit in a step S161. If “YES” in the step S161, that is, if the human 14 is performing a pointing operation using the right hand and is present at a position where the right arm of the robot 12 can be hit, in a step S163. The action module Lpr for pointing the direction pointed with the right hand with the left arm is selected. In this way, the imitation operation can be performed safely.

一方、ステップS161で“NO”であれば、ステップS165で変数Hitに左手を示すデータが設定されているか否かを判断する。ステップS165で“YES”であれば、つまり、人間14が右手を使用して指差し動作を行っていて、かつ、ロボット12の左腕の当たり得る位置に存在している場合には、ステップS167で、右手で指された方向を右腕で指差すための行動モジュールRprを選択する。   On the other hand, if “NO” in the step S161, it is determined whether or not data indicating the left hand is set in the variable Hit in a step S165. If “YES” in the step S165, that is, if the human 14 is performing a pointing operation using the right hand and is present at a position where the left arm of the robot 12 can be hit, in a step S167. The action module Rpr for pointing the direction pointed with the right hand with the right arm is selected.

また、ステップS165で“NO”であれば、つまり、変数Hitに無しを示すデータが設定されている場合には、ステップS169で、変数Directionに右を示すデータが設定されているか否かを判断する。ステップS169で“YES”であれば、つまり、人間14がロボット12の腕の当たり得る位置に存在せず、かつ、右手でロボット12から見て右側を指している場合には、ステップS171で、右手で指された方向を右腕で指差すための行動モジュールRprを選択する。   If “NO” in the step S165, that is, if data indicating none is set in the variable Hit, it is determined whether or not data indicating the right is set in the variable Direction in a step S169. To do. If “YES” in the step S169, that is, if the human 14 does not exist at a position where the arm of the robot 12 can hit and is pointing to the right side when viewed from the robot 12 with the right hand, in a step S171, The action module Rpr for pointing the direction pointed with the right hand with the right arm is selected.

一方、ステップS169で“NO”であれば、つまり、変数Directionに左を示すデータが設定されている場合、つまり、人間14がロボット12の腕の当たり得る位置に存在せず、かつ、右手でロボット12からみて左側を指している場合には、ステップS173で、右手で指された方向を左腕で指差すための行動モジュールLprを選択する。このようにして、自然に模倣動作を行うことができる。   On the other hand, if “NO” in the step S169, that is, if data indicating the left is set in the variable Direction, that is, the human 14 is not present at a position where the arm of the robot 12 can be hit, and the right hand is used. When pointing to the left side when viewed from the robot 12, in step S173, the action module Lpr for pointing the direction pointed with the right hand with the left arm is selected. In this way, an imitation operation can be performed naturally.

ステップS163、S167、S171またはS173を終了すると、ステップS133等での判断に使用するために指差し動作時間のカウントを開始して、この腕動作選択処理を終了する。   When step S163, S167, S171, or S173 is completed, the pointing operation time is counted for use in the determination in step S133 and the arm operation selection process is ended.

また、ステップS159で“NO”であれば、つまり、右手で指差しをしている状態であるが、右手を使用していると認められない場合には、右手による指差しが終わっているとみなして、図10のステップS155で、行動モジュールRnoおよびLnoを選択する。   If “NO” in the step S 159, that is, the finger is pointing with the right hand, but it is not recognized that the right hand is used, the finger pointing with the right hand is finished. Accordingly, the behavior modules Rno and Lno are selected in step S155 of FIG.

また、図10のステップS157で“NO”であれば、つまり、変数Pointに無しを示すデータが設定されている場合には、処理は図12のステップS175へ進む。   If “NO” in the step S157 in FIG. 10, that is, if data indicating none is set in the variable Point, the process proceeds to a step S175 in FIG.

図12のステップS175では、変数Hitに無しを示すデータが設定されているか否かを判断する。ステップS175で“YES”であれば、ステップS177で動きの状態を示す変数Moveに両手を示すデータが設定されているか否かを判断する。ステップS177で“YES”であれば、つまり、人間14が指差しではなく両手を動かしていて、かつ、ロボット12の腕の当たり得る位置に存在していない場合には、ステップS179で、右腕で人間14の右手と同じ動きをする行動モジュールRsr、および左腕で人間14の左手と同じ動きをする行動モジュールLslを選択する。このように、この実施例では、人間14が指差しを行っていない場合でも、安全が確保されていれば、模倣動作を実行させる。   In step S175 of FIG. 12, it is determined whether or not data indicating absence is set in the variable Hit. If “YES” in the step S175, it is determined whether or not data indicating both hands is set in the variable Move indicating the movement state in a step S177. If “YES” in the step S177, that is, if the human 14 moves both hands instead of pointing, and does not exist at a position where the arm of the robot 12 can be hit, in the step S179, the right arm is used. The action module Rsr that moves the same as the right hand of the human 14 and the action module Lsl that moves the same as the left hand of the human 14 with the left arm are selected. Thus, in this embodiment, even when the human 14 is not pointing, if the safety is ensured, the imitation operation is executed.

一方、ステップS177で“NO”であれば、ステップS181で変数Moveに右手を示すデータが設定されているか否かを判断する。ステップS181で“YES”であれば、つまり、人間14が指差しではなく右手を動かしていて、かつ、ロボット12の腕の当たり得る位置に存在していない場合には、ステップS183で、行動モジュールRsrを選択する。   On the other hand, if “NO” in the step S177, it is determined whether or not data indicating the right hand is set in the variable Move in a step S181. If “YES” in the step S181, that is, if the human 14 moves the right hand instead of pointing, and does not exist at a position where the arm of the robot 12 can be hit, the action module in the step S183. Select Rsr.

また、ステップS181で“NO”であれば、ステップS185で変数Moveに左手を示すデータが設定されているか否かが判断される。ステップS185で“YES”であれば、つまり、人間14が指差しではなく左手を動かしていて、かつ、ロボット12の腕の当たり得る位置に存在していない場合には、ステップS187で行動モジュールLslを選択する。なお、ステップS179、S183またはS187を終了すると、この腕動作選択処理を終了する。   If “NO” in the step S181, it is determined whether or not data indicating the left hand is set in the variable Move in a step S185. If “YES” in the step S185, that is, if the human 14 moves the left hand instead of pointing, and does not exist at a position where the arm of the robot 12 can hit, the action module Lsl in the step S187. Select. Note that when step S179, S183, or S187 ends, the arm motion selection process ends.

また、ステップS185で“NO”であれば、つまり、変数Moveに無しを示すデータが設定されている場合には、人間14が手を動かしていないものとみなして、図10のステップS155へ進んで、行動モジュールRnoおよびLnoを選択する。   If “NO” in the step S 185, that is, if data indicating none is set in the variable Move, it is assumed that the human 14 has not moved the hand, and the process proceeds to the step S 155 in FIG. Then, the behavior modules Rno and Lno are selected.

一方、図12のステップS175で“NO”であれば、つまり、人間14がロボット12の腕の当たり得る位置に存在している場合には、ステップS189で、変数Activeに右手を示すデータが設定されているか否かを判断する。ステップS189で“YES”であれば、ステップS191で変数Hitに右手を示すデータが設定されているか否かを判断する。ステップS191で“NO”であれば、つまり、人間14が指差しではないが右手を使用していて、かつ、ロボット12の左腕の当たり得る位置に存在している場合には、ステップS193で行動モジュールRsrを選択する。   On the other hand, if “NO” in the step S175 of FIG. 12, that is, if the human 14 is present at a position where the arm of the robot 12 can hit, data indicating the right hand is set in the variable Active in a step S189. It is judged whether it is done. If “YES” in the step S189, it is determined whether or not data indicating the right hand is set in the variable Hit in a step S191. If “NO” in the step S191, that is, if the human 14 is not pointing but uses the right hand and is present at a position where the left arm of the robot 12 can hit, the action is performed in the step S193. Module Rsr is selected.

一方、ステップS191で“YES”であれば、つまり、変数Hitに右手を示すデータが設定されている場合、つまり、人間14が指差しではないが右手を使用していて、かつ、ロボット12の右腕の当たり得る位置に存在している場合には、ステップS195で、左腕で人間14の右手と同じ動きをするための行動モジュールLsrを選択する。この場合にも、使用する腕を変更して模倣動作を安全に行うことができる。ステップS193またはS195を終了すると、この腕動作選択処理を終了する。   On the other hand, if “YES” in the step S191, that is, if data indicating the right hand is set in the variable Hit, that is, the human 14 is not pointing but uses the right hand, and the robot 12 If it exists at a position where the right arm can be hit, in step S195, the behavior module Lsr for making the same movement as the right hand of the human 14 with the left arm is selected. Also in this case, it is possible to safely perform the imitation operation by changing the arm to be used. When step S193 or S195 ends, the arm motion selection process ends.

一方、ステップS189で“NO”であれば、ステップS197で変数Activeに左手を示すデータが設定されているか否かを判断する。ステップS197で“YES”であれば、ステップS199で変数Hitに左手を示すデータが設定されているか否かを判断する。ステップS199で“YES”であれば、つまり、人間14が指差しではなく左手を使用していて、かつ、ロボット12の左腕の当たり得る位置に存在している場合には、ステップS201で、右腕で人間14の左手と同じ動きをするための行動モジュールRslを選択する。この場合にも、腕を替えて人間14の模倣動作を安全に行うことができる。   On the other hand, if “NO” in the step S189, it is determined whether or not data indicating the left hand is set in the variable Active in a step S197. If “YES” in the step S197, it is determined whether or not data indicating the left hand is set in the variable Hit in a step S199. If “YES” in the step S199, that is, if the human 14 is using the left hand instead of the pointing hand and is present at a position where the left arm of the robot 12 can be hit, the right arm in the step S201. The action module Rsl for making the same movement as the left hand of the human 14 is selected. Also in this case, the human 14 can be safely imitated by changing the arm.

一方、ステップS199で“NO”であれば、つまり、変数Hitに右手を示すデータが設定されている場合、つまり、人間14が指差しではなく左手を使用していて、かつ、ロボット12の右腕の当たり得る位置に存在している場合には、ステップS203で行動モジュールLslを選択する。ステップS201またはS203を終了すると、この腕動作選択処理を終了する。   On the other hand, if “NO” in the step S199, that is, if data indicating the right hand is set in the variable Hit, that is, the human 14 is using the left hand instead of pointing, and the right arm of the robot 12 is used. If it exists at a position that can be hit, the action module Lsl is selected in step S203. When step S201 or S203 ends, the arm motion selection process ends.

また、ステップS197で“NO”であれば、つまり、変数Activeに無しを示すデータが設定されている場合、つまり、人間14が指差しをせず、かつ、両手とも使用せず、かつ、ロボット12のどちらかの腕に当たり得る位置に存在している場合には、図10のステップS155で行動モジュールRnoおよびLnoを選択する。   If “NO” in the step S197, that is, if data indicating that the variable Active is not set is set, that is, the human 14 does not point and does not use both hands, and the robot If it exists in a position that can hit either of the 12 arms, the behavior modules Rno and Lno are selected in step S155 of FIG.

図6に戻って、ステップS3の腕動作選択処理を終了すると、ステップS5で頭動作選択処理を実行する。この頭の行動モジュールを選択するための処理の動作は図13に詳細に示される。   Returning to FIG. 6, when the arm motion selection process in step S3 is completed, the head motion selection process is executed in step S5. The operation of the process for selecting the head behavior module is shown in detail in FIG.

図13の最初のステップS221で、頭動作に関する前回の行動モジュールが所定時間以上続いているか否かを判断する。ステップS221で“NO”であれば、前回の行動モジュールの実行を継続すべく、ステップS223で前回と同じ行動モジュールを選択する。ステップS223を終了すると、この頭動作選択処理を終了する。   In the first step S221 in FIG. 13, it is determined whether or not the previous action module related to the head movement continues for a predetermined time or more. If “NO” in the step S221, the same behavior module as the previous one is selected in a step S223 to continue the execution of the previous behavior module. When step S223 ends, this head movement selection process ends.

一方、ステップS221で“YES”であれば、ステップS225で、前回の行動モジュールが、指差しに同調するあるいは協力的な頭動作、すなわち、右手で指された方向を見るための行動モジュールHrpまたは左手で指された方向を見るための行動モジュールHlpであったか否かを判断する。ステップS225で“NO”であれば、人間14の動作状態に応じて行動モジュールを選択すべく、処理はステップS229へ進む。   On the other hand, if “YES” in the step S221, in the step S225, the previous behavior module is synchronized with the pointing or cooperative head movement, that is, the behavior module Hrp for viewing the direction pointed with the right hand or It is determined whether or not the action module Hlp is for viewing the direction pointed with the left hand. If “NO” in the step S225, the process proceeds to a step S229 so as to select an action module according to the operation state of the human 14.

一方、ステップS225で“YES”であれば、ステップS227で、指差しに応じた行動モジュールHrpまたはHlpは一定時間以上続いているか否かを判断する。なお、ステップS227で判定される一定時間は、ステップS221で判定される所定時間よりも長い時間であって、たとえば人間14の指差し動作に対して同調したとみなされるのに十分な時間が設定されている。ステップS227で“NO”であれば、人間14の状態に応じた動作を行うべく、処理はステップS229へ進む。   On the other hand, if “YES” in the step S225, it is determined whether or not the action module Hrp or Hlp corresponding to the pointing is continued for a predetermined time or more in a step S227. Note that the fixed time determined in step S227 is longer than the predetermined time determined in step S221, and is set to a time sufficient to be regarded as synchronized with the pointing action of the human 14, for example. Has been. If “NO” in the step S227, the process proceeds to a step S229 so as to perform an operation according to the state of the human 14.

ステップS229では、変数Pointに左手を示すデータが設定されているか否かを判断する。ステップS229で“YES”であれば、つまり、行動モジュールHrpまたはHlpが一定時間以上続いておらず、かつ、人間14が左手で指差しを行っている場合には、あるいは、前回の行動モジュールが指差しに同調する動作HrpおよびHlp以外であり、かつ、人間14が左手で指差しを行っている場合には、ステップS231で、行動モジュールHlpを選択する。   In step S229, it is determined whether data indicating the left hand is set in the variable Point. If “YES” in the step S229, that is, if the behavior module Hrp or Hlp has not continued for a certain time and the human 14 is pointing with the left hand, or if the previous behavior module is If the operation is other than the operations Hrp and Hlp that synchronize with the pointing and the human 14 is pointing with the left hand, the behavior module Hlp is selected in step S231.

一方、ステップS229で“NO”であれば、ステップS233で変数Pointに右手を示すデータが設定されているか否かを判断する。ステップS233で“YES”であれば、つまり、行動モジュールHrpまたはHlpが一定時間以上続いておらず、かつ、人間14が右手で指差しを行っている場合には、あるいは、前回の行動モジュールが指差しに協力的な動作HrpおよびHlp以外であり、かつ、人間14が右手で指差しを行っている場合には、ステップS235で、行動モジュールHrpを選択する。   On the other hand, if “NO” in the step S229, it is determined whether or not data indicating the right hand is set in the variable Point in a step S233. If “YES” in the step S233, that is, if the action module Hrp or Hlp has not continued for a certain time and the human 14 is pointing with the right hand, or the previous action module is If the action is other than the actions Hrp and Hlp that are cooperative with pointing, and the human 14 is pointing with the right hand, the behavior module Hrp is selected in step S235.

ステップS231またはS235を終了すると、ステップS221およびステップS227等での判定に使用するために頭動作に関する行動モジュールの実行時間のカウントを開始して、この頭動作選択処理を終了する。ただし、ステップS227で“NO”と判断されていた場合には、カウント開始を実行せずに、この頭動作選択処理を終了する。   When step S231 or S235 is completed, counting of the execution time of the behavior module related to the head motion is started for use in the determination in step S221, step S227, and the head motion selection process is terminated. However, if “NO” is determined in the step S227, the head movement selection process is terminated without starting the count.

また、ステップS233で“NO”であれば、つまり、変数Pointに無しを示すデータが設定されている場合、つまり、人間14が指差しを行っていない場合には、ステップS237で、アイコンタクトをするための行動モジュールHecを選択する。なお、ステップS227で“YES”である場合、つまり、人間14の指差しに十分な時間同調した場合にも、ステップS237で行動モジュールHecを選択する。ステップS237を終了すると、ステップS221等での判定に使用するために頭動作に関する行動モジュールの実行時間のカウントを開始して、この頭動作選択処理を終了する。   If “NO” in the step S233, that is, if data indicating none is set in the variable Point, that is, if the human 14 is not pointing, the eye contact is performed in the step S237. The action module Hec to do is selected. Note that if “YES” in the step S227, that is, if the user 14 is synchronized with the finger 14 for a sufficient time, the behavior module Hec is selected in the step S237. When step S237 is ended, counting of the execution time of the behavior module related to the head motion is started for use in the determination in step S221 and the head motion selection process is ended.

図6に戻って、ステップS5を終了すると、ステップS7で、発話選択処理を実行する。この発話の行動モジュールを選択するための処理の動作は図14に詳細に示される。   Returning to FIG. 6, when step S5 is completed, an utterance selection process is executed in step S7. The operation of the process for selecting the speech action module is shown in detail in FIG.

図14の最初のステップS251で、人間14が発話した時間を示す変数Speechの値がたとえば1秒以上2秒未満であるか否かを判断する。ステップS251で“YES”であれば、ステップS253で発話に関する前回の行動モジュールが「え?」と発話するための行動モジュールSehであるか否かを判断する。ステップS253で“NO”であれば、ステップS255で行動モジュールSehを選択する。この場合、人間14の発話時間が短いので、ロボット12は聞き取れなかったことを表現する。また、ステップS253で“YES”であれば、この発話選択処理を終了する。   In the first step S251 in FIG. 14, it is determined whether or not the value of the variable Speech indicating the time when the human 14 spoke is, for example, 1 second or more and less than 2 seconds. If “YES” in the step S251, it is determined whether or not the previous action module regarding the utterance is the action module Seh for speaking “E?” In a step S253. If “NO” in the step S253, the behavior module Seh is selected in a step S255. In this case, since the utterance time of the human 14 is short, the robot 12 expresses that it cannot be heard. If “YES” in the step S253, the utterance selection process is ended.

一方、ステップS251で“NO”であれば、ステップS257で変数Speechの値がたとえば2秒以上5秒未満であるか否かを判断する。ステップS257で“YES”であれば、ステップS259で、「うん」と発話するための行動モジュールSun、および、うなずくための行動モジュールHndを選択する。この場合、人間14の発話時間が適度な長さであるので、ロボット12は普通に相槌を打つ。なお、ここでは頭動作に関する行動モジュールも一緒に選択される。   On the other hand, if “NO” in the step S251, it is determined whether or not the value of the variable Speech is, for example, not less than 2 seconds and less than 5 seconds in a step S257. If “YES” in the step S257, an action module Sun for speaking “no” and an action module Hnd for nodding are selected in a step S259. In this case, since the utterance time of the human 14 is an appropriate length, the robot 12 normally hits each other. In addition, the action module regarding head movement is also selected here.

また、ステップS257で“NO”であれば、ステップS261で変数Speechがたとえば5秒以上であるか否かを判断する。ステップS261で“YES”であれば、ステップS263で、「うんうん」と発話するための行動モジュールSuu、および、うなずくための行動モジュールHndを選択する。この場合、人間14の発話時間が比較的長いので、ロボット12はその長い発話に応じた相槌を打つ。   If “NO” in the step S257, it is determined whether or not the variable Speech is, for example, 5 seconds or more in a step S261. If “YES” in the step S261, a behavior module Suu for speaking “no” and a behavior module Hnd for nodding are selected in a step S263. In this case, since the utterance time of the human 14 is relatively long, the robot 12 makes a match according to the long utterance.

一方、ステップS261で“NO”であれば、ステップS265で発話なし時間を示す変数Nospeechがたとえば3秒以上であるか否かを判断する。ステップS265で“YES”であれば、ステップS267で、「それで」と発話するための行動モジュールSsdを選択する。この場合、人間14の無言の時間が長くなったので、ロボット12は人間14の話を先へ促す。   On the other hand, if “NO” in the step S261, it is determined whether or not the variable Nospeech indicating the no-speech time is, for example, 3 seconds or more in a step S265. If “YES” in the step S265, an action module Ssd for speaking “So” is selected in a step S267. In this case, since the silent time of the human 14 has become longer, the robot 12 prompts the human 14 to talk first.

ステップS255、S259、S263またはS267を終了すると、または、ステップS265で“NO”であれば、この発話選択処理を終了する。   When step S255, S259, S263, or S267 ends, or if “NO” in the step S265, the utterance selection processing is ended.

図6に戻って、ステップS7を終了すると、ステップS9で、行動モジュールを実行するか否かを判断する。行動モジュールは、たとえば、腕、頭または発話に関する行動モジュールの各選択が変更された場合、または、各行動モジュールの実行に要する所定時間が経過した場合等に実行される。   Returning to FIG. 6, when step S <b> 7 is completed, it is determined in step S <b> 9 whether or not the behavior module is to be executed. The behavior module is executed, for example, when each selection of the behavior module regarding the arm, the head, or the utterance is changed, or when a predetermined time required for executing each behavior module has passed.

ステップS9で“NO”であれば、行動モジュールを実行せずに、処理はステップS15へ進む。一方、ステップS9で“YES”であれば、ステップS11で、反応の遅延時間が経過したか否かを判断する。人間14が何かを行うときに、ロボット12がこの種の模倣動作や同調動作(たとえば、人間14が指差しをするときに、ロボット12の頭がすぐに同じ方向を向く)を即座に実行するならば、明らかに不自然である。したがって、発明者等は、人間同士のコミュニケーション実験において取得した反応の遅延時間をこのロボット制御装置16に実装し、ロボット12が所定の遅延時間経過後に模倣動作や同調動作を行うようにしている。発明者等の実験によれば、反応遅延時間は平均的には0.89秒であれば自然な振る舞いに感じられるので、所定の遅延時間としては、この値、あるいはその近傍の値(たとえば1秒程度)を設定する。   If “NO” in the step S9, the process proceeds to a step S15 without executing the behavior module. On the other hand, if “YES” in the step S9, it is determined whether or not a reaction delay time has elapsed in a step S11. When the human 14 does something, the robot 12 immediately performs this kind of imitation or tuning (for example, when the human 14 points, the head of the robot 12 immediately faces the same direction). If you do, it is clearly unnatural. Therefore, the inventors mount the reaction delay time acquired in the communication experiment between humans in the robot controller 16 so that the robot 12 performs the imitation operation and the tuning operation after a predetermined delay time elapses. According to the experiments by the inventors, the reaction delay time is felt to be natural if the reaction delay time is 0.89 seconds on average, so this value or a value in the vicinity thereof (for example, 1) Second).

ステップS11で“YES”であれば、つまり、実行すべき行動モジュール(すなわち、選択に変更のあった行動モジュール、もしくは所定時間経過した行動モジュール)が選択されてから所定の遅延時間が経過した場合には、ステップS13で、行動モジュール実行処理を実行する。この処理の動作の詳細は図15に示される。   If “YES” in the step S11, that is, if a predetermined delay time has elapsed since an action module to be executed (that is, an action module whose selection has been changed or an action module that has passed a predetermined time) has been selected. In step S13, behavior module execution processing is executed. Details of the operation of this processing are shown in FIG.

図15の最初のステップS281で、実行すべき行動モジュールを行動モジュールDB20から読み出して、起動する。これによって、腕動作または頭動作に関する行動モジュールの場合には、たとえば3次元動作計測データを用いながら、各モータの目標角度が算出される。また、発話に関する行動モジュールの場合には、発話内容データがHDD等から読み出される。   In the first step S281 in FIG. 15, the behavior module to be executed is read from the behavior module DB 20 and activated. Thus, in the case of an action module related to arm movement or head movement, the target angle of each motor is calculated using, for example, three-dimensional movement measurement data. In the case of an action module related to speech, speech content data is read from the HDD or the like.

そして、ステップS283で、各モータの目標角度データ(角度制御データ)または発話内容データを含む指令データを生成して、この指令データをロボット12に送信する。   In step S283, command data including target angle data (angle control data) or utterance content data of each motor is generated, and the command data is transmitted to the robot 12.

続いて、ステップS285で実行すべき行動モジュールが残っているか否かを判断して、“YES”であれば、その行動モジュールについて、ステップS281およびS283の処理を実行する。ステップS285で“NO”であれば、この行動モジュール実行処理を終了する。   Subsequently, it is determined whether or not there is a behavior module to be executed in step S285. If “YES”, the processing of steps S281 and S283 is executed for the behavior module. If “NO” in the step S285, the action module executing process is ended.

図6に戻って、ステップS15では、模倣動作ないし同調動作を終了するか否かを判断する。たとえば、人間14が立ち去った等、順路案内状況が終了したか否かが判定される。ステップS15で“NO”であれば、処理はステップS1に戻る。ステップS15で“YES”であれば、この順路案内状況における行動の処理を終了する。   Returning to FIG. 6, in step S <b> 15, it is determined whether to end the imitation operation or the tuning operation. For example, it is determined whether or not the route guidance situation has ended, for example, the person 14 has left. If “NO” in the step S15, the process returns to the step S1. If “YES” in the step S15, the action processing in the route guidance situation is ended.

図16には、ロボット12の行動モジュール実行時の動作の一例が示される。ステップS301で、ロボット12のCPU76は、ロボット制御装置16からの指令データを受信したか否かを判断する。ステップS301で“NO”であれば、この行動モジュール実行時の処理を終了する。   FIG. 16 shows an example of the operation of the robot 12 when the behavior module is executed. In step S301, the CPU 76 of the robot 12 determines whether or not command data from the robot control device 16 has been received. If “NO” in the step S301, the process at the time of executing the behavior module is ended.

一方、ステップS301で“YES”であれば、ステップS303で、指令データが身体動作に関するか否かを判断する。ステップS303で“YES”であれば、ステップS305で、目標角度データをモータ制御ボード82に与えて、各モータ88、90または92を制御する。協力的な動作を実現する行動モジュールが選択されていた場合には、ロボット12の右腕、左腕または頭部は、人間14の動作の状態に応じた模倣動作または同調動作を示すこととなる。   On the other hand, if “YES” in the step S301, it is determined whether or not the command data is related to physical movement in a step S303. If “YES” in the step S303, the target angle data is given to the motor control board 82 in a step S305 to control the respective motors 88, 90, or 92. When the behavior module that realizes the cooperative operation is selected, the right arm, the left arm, or the head of the robot 12 shows an imitation operation or a tuning operation according to the state of the operation of the human 14.

また、ステップS303で“NO”であれば、つまり、指令データが発話に関するデータである場合には、ステップS307で、発話内容データを音声入力/出力ボード86に与えて、スピーカ72からその音声を出力する。これによって、ロボット12は人間14の動作の状態に応じた発話を行う。ステップS305またはS307を終了すると、この処理を終了する。   If “NO” in the step S303, that is, if the command data is data relating to the utterance, the utterance content data is given to the voice input / output board 86 in the step S307, and the voice is outputted from the speaker 72. Output. As a result, the robot 12 speaks in accordance with the state of movement of the human 14. When step S305 or S307 ends, this process ends.

この実施例によれば、人間14の模倣をする際に、人間14とロボット12の身体動作データを計測して、その身体動作データに基づいて人間14の動作の状態を検出し、その検出された状態に適切な行動モジュールを選択するようにしている。したがって、人間14の動作の状態に応じて適切な模倣動作をロボット12に実行させることができ、自然で円滑なコミュニケーションを実現できる。   According to this embodiment, when imitating the human 14, the body motion data of the human 14 and the robot 12 is measured, the motion state of the human 14 is detected based on the body motion data, and the detected state is detected. The appropriate action module is selected. Therefore, it is possible to cause the robot 12 to perform an appropriate imitation operation according to the state of the human 14 operation, and to realize natural and smooth communication.

また、この実施例では、人間14の動作を模倣する動作に加えて、たとえば指された方向に顔を向ける動作や発話に応じた相槌等のような人間14の動作に同調する動作も、検出された状態に応じて選択するようにしたので、人間14の行動に同調する動作もロボット12に適切に実行させることができる。したがって、人間14に協力的な動作をロボット12に適切に実行させることによって、人間14とロボット12との間で自然かつ円滑なコミュニケーションを実現できる。   Further, in this embodiment, in addition to the operation imitating the operation of the human 14, for example, the operation of turning the face in the pointing direction or the operation synchronized with the operation of the human 14 such as the reconciliation according to the utterance is also detected. Since the selection is made according to the performed state, the robot 12 can appropriately execute the operation synchronized with the action of the human 14. Therefore, natural and smooth communication between the human 14 and the robot 12 can be realized by causing the human 14 to appropriately perform cooperative operations on the robot 12.

被験者を使用した発明者等の実験によれば、ロボット12が相互作用する人間(被験者)に対応する協力的な行動(上述の実施例における模倣動作および同調動作)を実行することによって、人間はロボット12と円滑にコミュニケーションをすることができるということが証明されている。また、この実験では、身体動作因子に関しては、傾聴、共有および共感の観点において重要な効果があり、発話因子に関しては、共有の観点において重要な効果があることが検証されている。さらに、身体動作因子および発話因子の両方が、共感するコミュニケーションの観点、および信頼できるコミュニケーションの観点に影響を及ぼすことが検証されている。したがって、身体動作因子と発話因子の調和によって、共感しかつ信頼できるコミュニケーションが促進され、より円滑なコミュニケーションが実現できるのである。   According to experiments conducted by the inventors using a subject, by performing a cooperative action corresponding to a human (subject) with which the robot 12 interacts (imitation operation and tuning operation in the above-described embodiment), the human It has been proved that the robot 12 can communicate smoothly. In this experiment, it has been verified that the body movement factor has an important effect in terms of listening, sharing, and empathy, and the speech factor has an important effect in terms of sharing. Furthermore, it has been verified that both body movement factors and utterance factors affect the empathic and reliable communication aspects. Therefore, the harmony between the body movement factor and the utterance factor promotes sympathetic and reliable communication, thereby realizing smoother communication.

なお、上述の実施例では、人間14の発話の音量を計測して発話時間の長さに応じて行動モジュールを選択するようにしている。しかしながら、ロボット制御装置16に音声認識のためのプログラムおよびデータを備えさせるようにしてもよい。つまり、この場合には、ロボット制御装置16は、人間14の発話の音声データを取得して音声認識をすることによってその発話内容を検出し、検出した発話内容に応じて発話または身体動作に関する行動モジュールを選択することが可能である。   In the above-described embodiment, the volume of the utterance of the human 14 is measured, and the action module is selected according to the length of the utterance time. However, the robot controller 16 may be provided with a program and data for voice recognition. That is, in this case, the robot control device 16 acquires the voice data of the utterance of the human 14 and recognizes the voice to detect the utterance content, and the behavior related to the utterance or the body motion according to the detected utterance content. It is possible to select a module.

また、上述の各実施例では、ロボット12の腕、頭、眼などの身体部位を駆動するアクチュエータとして電力を駆動源とするモータを用いた。しかしながら、ロボット12は、たとえば空気圧(または負圧)、油圧、圧電素子あるいは形状記憶合金などによる他のアクチュエータによって身体表現をするロボット12であってもよい。   In each of the above-described embodiments, a motor using electric power as a drive source is used as an actuator for driving a body part such as an arm, a head, or an eye of the robot 12. However, the robot 12 may be a robot 12 that expresses the body by other actuators such as air pressure (or negative pressure), hydraulic pressure, a piezoelectric element, or a shape memory alloy.

また、上述の各実施例では、ロボット12に模倣動作などの協力的な動作を実行させるようにしていた。しかしながら、この発明にかかる動作生成システム10では、人間14およびロボット12の動作をたとえばモーションキャプチャシステム18やマイク24でリアルタイムに検出してその動作に関するデータ(身体動作データおよび発話に関するデータ)を生成することが可能であるので、ロボット12には、人間14の動作に協力的な動作よりも広い範囲で、人間14の動作に対応する動作を適切に実行させることができる。たとえば、ロボット12と人間14とがお別れする状況や再会した状況などにおいて、人間14が手を上げたときにロボット12がその人間14に抱きつくようにすることも可能である。もちろんこのような抱きつき動作を実現するための行動モジュールを行動モジュールDB20に予め記憶しておく。また、人間14が手を上げたときに、この抱きつき動作のための行動モジュールが、人間14の動作の状態(Hit、Activeなど)に応じて選択される腕動作選択処理プログラムもロボット制御装置16に記憶される。この場合には、ロボット12の手先の動きの範囲を算出し、人間14との相対位置関係を検出するとともに、手や腕などに配置しているタッチセンサ64の信号によって人間14を適切に抱きしめることができる。また、タッチセンサ64がオン/オフの2値を検出するものでなく、接触の強さ(圧力)を検知可能なセンサである場合、たとえば、本件出願人が平成15年3月24日付けで出願した特願2003−80106号で詳細に示した皮膚センサ等である場合には、抱きつき時のセンサ出力を検出することによって、人間14をきつく締め付けることがないようにすることも可能である。   In each of the above-described embodiments, the robot 12 is caused to execute a cooperative operation such as an imitation operation. However, in the motion generation system 10 according to the present invention, the motions of the human 14 and the robot 12 are detected in real time by, for example, the motion capture system 18 or the microphone 24, and data related to the motions (physical motion data and data related to speech) are generated. Therefore, the robot 12 can appropriately execute the operation corresponding to the operation of the human 14 in a wider range than the operation cooperative with the operation of the human 14. For example, in a situation where the robot 12 and the human 14 are separated or reunited, the robot 12 can be hugged by the human 14 when the human 14 raises his hand. Of course, a behavior module for realizing such a hugging operation is stored in the behavior module DB 20 in advance. Further, when the human 14 raises his / her hand, the robot motion control device 16 also performs an arm motion selection processing program in which the action module for the hugging motion is selected according to the motion state (Hit, Active, etc.) of the human 14. Is remembered. In this case, the range of movement of the hand of the robot 12 is calculated, the relative positional relationship with the human 14 is detected, and the human 14 is appropriately held by the signal of the touch sensor 64 disposed on the hand or arm. be able to. Further, when the touch sensor 64 is not a sensor that detects the on / off binary value but can detect the contact strength (pressure), for example, the applicant of the present application is effective as of March 24, 2003. In the case of a skin sensor or the like shown in detail in Japanese Patent Application No. 2003-80106 filed, it is possible to prevent the human 14 from being tightened by detecting the sensor output at the time of hugging.

また、上述の各実施例では、ロボット12とは別個にロボット制御装置16を設けるようにしたが、ロボット制御装置16の機能、すなわち、模倣動作を行うためのプログラム等を、行動モジュールDB20および発話計測データDB22を含めてロボット12に内蔵するようにしてもよい。   In each of the above-described embodiments, the robot control device 16 is provided separately from the robot 12. However, the functions of the robot control device 16, that is, programs for performing imitation operations, etc. are stored in the behavior module DB 20 and the speech. The measurement data DB 22 may be included in the robot 12.

また、上述の各実施例では、コミュニケーションの相手は人間14であったが、ロボット12の相手は人間に限られず、たとえば他のコミュニケーションロボットであってもよい。   In each of the above-described embodiments, the communication partner is the human 14, but the robot 12 is not limited to a human, and may be another communication robot, for example.

この発明の一実施例の動作生成システムの概要を示す図解図である。It is an illustration figure which shows the outline | summary of the action production | generation system of one Example of this invention. マーカの取付位置の一例を示す図解図である。It is an illustration figure which shows an example of the attachment position of a marker. 図1のコミュニケーションロボットの外観の一例を示す図解図(正面図)である。It is an illustration figure (front view) which shows an example of the external appearance of the communication robot of FIG. 図1のコミュニケーションロボットの電気的構成の一例を示すブロック図である。It is a block diagram which shows an example of an electrical configuration of the communication robot of FIG. 図1の行動モジュールDBに記憶される行動モジュールの内容の一例を示す図解図である。It is an illustration figure which shows an example of the content of the action module memorize | stored in action module DB of FIG. 図1のロボット制御装置の真似時の動作の一例を示すフロー図である。It is a flowchart which shows an example of the operation | movement at the time of imitation of the robot control apparatus of FIG. 図6の状態検出処理の動作の一例の一部を示すフロー図である。It is a flowchart which shows a part of example of operation | movement of the state detection process of FIG. 図7の続きの一部を示すフロー図である。It is a flowchart which shows a part of continuation of FIG. 図8の続きを示すフロー図である。FIG. 9 is a flowchart showing a continuation of FIG. 8. 図6の腕動作選択処理の動作の一例の一部を示すフロー図である。It is a flowchart which shows a part of example of operation | movement of the arm operation | movement selection process of FIG. 図10の続きの一部を示すフロー図である。It is a flowchart which shows a part of continuation of FIG. 図10の続きの他の一部を示すフロー図である。FIG. 11 is a flowchart showing another part of the continuation of FIG. 10. 図6の頭動作選択処理の動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the head movement selection process of FIG. 図6の発話選択処理の動作の一例を示すフロー図である。It is a flowchart which shows an example of the operation | movement of the speech selection process of FIG. 図6の行動モジュール実行処理の動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the action module execution process of FIG. 図1のコミュニケーションロボットの行動時の動作の一例を示すフロー図である。It is a flowchart which shows an example of the operation | movement at the time of the action of the communication robot of FIG.

符号の説明Explanation of symbols

10 …動作生成システム
12 …コミュニケーションロボット
14 …人間
16 …ロボット制御装置
18 …モーションキャプチャシステム
20 …行動モジュールDB
24 …マイク
56R,56L …肩関節
58R,58L …上腕
60R,60L …肘関節
62R,62L …前腕
68 …首関節
70 …頭部
82 …モータ制御ボード
88 …右腕モータ
90 …左腕モータ
92 …頭部モータ
DESCRIPTION OF SYMBOLS 10 ... Motion generation system 12 ... Communication robot 14 ... Human 16 ... Robot control apparatus 18 ... Motion capture system 20 ... Action module DB
24 ... Microphone 56R, 56L ... Shoulder joint 58R, 58L ... Upper arm 60R, 60L ... Elbow joint 62R, 62L ... Forearm 68 ... Neck joint 70 ... Head 82 ... Motor control board 88 ... Right arm motor 90 ... Left arm motor 92 ... Head motor

Claims (10)

少なくとも腕を含む身体部位と身体部位を駆動するアクチュエータとを有するコミュニケーションロボットを備え、コミュニケーションの相手の動作に対応する動作を前記コミュニケーションロボットに実行させる動作生成システムであって、
前記コミュニケーションロボットに前記相手の動作に対応する動作を実行させるための複数の行動プログラムを記憶したプログラム記憶手段、
前記相手および前記コミュニケーションロボットの動作を検出して動作に関するデータを生成する動作検出手段、
前記動作に関するデータに基づいて前記相手の状態を検出する状態検出手段、
前記状態検出手段によって検出された前記相手の状態に応じて、前記プログラム記憶手段に記憶された複数の行動プログラムから行動プログラムを選択する選択手段、
前記選択手段によって選択された行動プログラムに従って、当該動作を実現するための制御データを生成する生成手段、および
前記制御データに基づいて前記アクチュエータを制御するアクチュエータ制御手段を備える、動作生成システム。
An operation generation system comprising a communication robot having at least a body part including an arm and an actuator for driving the body part, and causing the communication robot to execute an action corresponding to an action of a communication partner,
Program storage means for storing a plurality of behavior programs for causing the communication robot to execute an action corresponding to the action of the opponent;
Motion detection means for generating motion data by detecting motions of the opponent and the communication robot;
State detecting means for detecting the state of the other party based on the data relating to the operation;
Selection means for selecting an action program from a plurality of action programs stored in the program storage means according to the state of the opponent detected by the state detection means;
A motion generation system comprising: generation means for generating control data for realizing the operation according to the behavior program selected by the selection means; and actuator control means for controlling the actuator based on the control data.
前記コミュニケーションロボットの身体部位は頭をさらに含み、
前記プログラム記憶手段に記憶される行動プログラムは、前記コミュニケーションロボットに前記相手に対して協力的な動作を実行させるための行動プログラムを含む、請求項1記載の動作生成システム。
The body part of the communication robot further includes a head,
The action generation system according to claim 1, wherein the action program stored in the program storage unit includes an action program for causing the communication robot to execute a cooperative action on the opponent.
前記プログラム記憶手段に記憶される行動プログラムは、前記コミュニケーションロボットに前記相手を模倣する模倣動作を実行させるための行動プログラムを含み、
前記動作検出手段は、前記相手および前記コミュニケーションロボットの身体動作を検出して身体動作データを生成する身体動作検出手段を含み、
前記状態検出手段は、少なくとも前記身体動作データに基づいて前記相手の状態を検出し、
前記生成手段は、前記選択手段によって前記模倣動作を実行するための行動プログラムが選択されたとき、前記身体動作データに基づいて前記制御データを生成する、請求項1または2記載の動作生成システム。
The action program stored in the program storage means includes an action program for causing the communication robot to execute a mimic action that imitates the opponent,
The motion detection means includes body motion detection means for generating body motion data by detecting the body motion of the opponent and the communication robot,
The state detection means detects the state of the other party based on at least the body movement data,
The motion generation system according to claim 1, wherein the generation unit generates the control data based on the body motion data when an action program for executing the imitation operation is selected by the selection unit.
前記プログラム記憶手段は、前記模倣動作を実行させるための複数の行動プログラムを記憶していて、
前記状態検出手段は、前記相手が特定動作をしている手に関する第1状態を検出する第1状態検出手段、および前記相手に衝突するおそれのある前記コミュニケーションロボットの腕に関する第2状態を検出する第2状態検出手段を含み、
前記選択手段は、前記第1状態が前記相手のどちらかの手を示す場合、前記第2状態の示す腕とは異なる腕で前記特定動作を模倣する動作を実行させるための行動プログラムを選択する、請求項3記載の動作生成システム。
The program storage means stores a plurality of behavior programs for executing the imitation operation,
The state detection means detects a first state detection means for detecting a first state relating to a hand in which the opponent is performing a specific action, and a second state relating to an arm of the communication robot that may collide with the opponent. Including a second state detecting means;
The selection means selects an action program for executing an action imitating the specific action with an arm different from the arm indicated in the second state when the first state indicates either hand of the opponent. The motion generation system according to claim 3.
前記状態検出手段は、前記特定動作の方向に関する第3状態を検出する第3状態検出手段をさらに含み、
前記選択手段は、前記第2状態がいずれの腕も示さない場合、前記第3状態の示す方向に対応する側の腕で前記特定動作を模倣する動作を実行させるための行動プログラムを選択する、請求項4記載の動作生成システム。
The state detecting means further includes third state detecting means for detecting a third state relating to the direction of the specific action,
When the second state does not indicate any arm, the selection unit selects an action program for executing an operation imitating the specific operation with an arm on a side corresponding to the direction indicated by the third state. The motion generation system according to claim 4.
前記状態検出手段は、前記相手が前記特定動作に使用している手に関する第4状態を、前記相手の手の肩からの距離、前記相手の手の過去一定時間の動き、および前回検出された第4状態に基づいて検出し、
前記選択手段は、前記第1状態の示す手と前記第4状態の示す手とが同じでないとき、前記模倣動作ではない動作を実行させるための行動プログラムを選択する、請求項4記載の動作生成システム。
The state detection means detects the fourth state relating to the hand used by the opponent for the specific action, the distance from the shoulder of the opponent's hand, the movement of the opponent's hand for a certain past time, and the previous detection. Detecting based on the fourth state,
The operation generation according to claim 4, wherein the selection means selects an action program for executing an operation that is not the imitation operation when the hand indicated by the first state and the hand indicated by the fourth state are not the same. system.
前記選択手段は、特定動作を模倣する動作を実行させるための行動プログラムの選択が一定時間以上続いたとき、前記状態検出手段によって検出された前記相手の状態に応じて前記行動プログラムの再選択をする、請求項3ないし6のいずれかに記載の動作生成システム。   The selection means reselects the action program according to the state of the opponent detected by the state detection means when selection of the action program for executing an action imitating a specific action continues for a certain time or more. The motion generation system according to any one of claims 3 to 6. 前記特定動作は指差しまたは方向を指し示す身体動作を含む、請求項3ないし7のいずれかに記載の動作生成システム。   The motion generation system according to claim 3, wherein the specific motion includes a finger motion or a physical motion indicating a direction. 前記動作検出手段は、前記相手の発話を検出して発話に関するデータを生成する発話検出手段を含み、
前記状態検出手段は、前記発話に関するデータに基づいて前記相手の発話の状態を検出し、
前記選択手段は、前記状態検出手段によって検出された前記相手の発話の状態が所定条件を満たすとき、前記頭を用いて前記相手に協力的な動作を実行させるための行動プログラムを選択する、請求項2記載の動作生成システム。
The motion detection means includes utterance detection means for detecting the utterance of the opponent and generating data related to the utterance,
The state detection means detects the state of the other party's utterance based on the data related to the utterance,
The selection unit selects an action program for causing the partner to perform a cooperative action when the state of the partner's utterance detected by the state detection unit satisfies a predetermined condition. Item 3. The motion generation system according to Item 2.
前記コミュニケーションロボットは音声を出力する音声出力手段をさらに備えていて、
前記プログラム記憶手段に記憶される行動プログラムは、発話をするための行動プログラムを含み、
前記動作検出手段は、前記相手の発話を検出して発話に関するデータを生成する発話検出手段を含み、
前記状態検出手段は、前記発話に関するデータに基づいて前記相手の発話の状態を検出し、
前記選択手段は、前記コミュニケーションロボットの身体部位および発話ごとに行動プログラムを選択するものであって、前記状態検出手段によって検出された少なくとも前記相手の発話の状態に応じて、前記発話をするための行動プログラムを選択し、
前記生成手段は、前記選択手段によって発話をするための行動プログラムが選択されたとき、当該発話をするための制御データを生成し、
前記音声出力手段は、前記制御データに基づいて音声を出力する、請求項1ないし9のいずれかに記載の動作生成システム。
The communication robot further includes voice output means for outputting voice,
The action program stored in the program storage means includes an action program for speaking,
The motion detection means includes utterance detection means for detecting the utterance of the opponent and generating data related to the utterance,
The state detection means detects the state of the other party's utterance based on the data related to the utterance,
The selection means is for selecting an action program for each body part and utterance of the communication robot, and for making the utterance according to at least the utterance state of the opponent detected by the state detection means. Select an action program,
The generating means generates control data for making an utterance when an action program for making an utterance is selected by the selecting means,
The motion generation system according to claim 1, wherein the voice output unit outputs a voice based on the control data.
JP2004277830A 2004-09-24 2004-09-24 Motion generation system Expired - Fee Related JP4617428B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004277830A JP4617428B2 (en) 2004-09-24 2004-09-24 Motion generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004277830A JP4617428B2 (en) 2004-09-24 2004-09-24 Motion generation system

Publications (2)

Publication Number Publication Date
JP2006088276A true JP2006088276A (en) 2006-04-06
JP4617428B2 JP4617428B2 (en) 2011-01-26

Family

ID=36229730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004277830A Expired - Fee Related JP4617428B2 (en) 2004-09-24 2004-09-24 Motion generation system

Country Status (1)

Country Link
JP (1) JP4617428B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813693B1 (en) * 2006-11-28 2008-03-14 한국과학기술연구원 Method for controlling arm movement of robot and robot thereof
JP2009545061A (en) * 2006-07-24 2009-12-17 ザ・ボーイング・カンパニー Closed loop feedback control using motion capture system
JP2013139067A (en) * 2012-01-05 2013-07-18 Fujitsu Ltd Motion setting method for robot with image pickup device mounted thereon
JP5892531B1 (en) * 2015-11-16 2016-03-23 プレンプロジェクト・ホールディングス有限会社 Link string mapping device, link string mapping method, and program
JP2017170535A (en) * 2016-03-18 2017-09-28 プレンプロジェクト・ホールディングス有限会社 Link row mapping device, link row mapping method, and program
JP2019018336A (en) * 2017-07-18 2019-02-07 パナソニックIpマネジメント株式会社 Device, method, program, and robot
JP2020055066A (en) * 2018-10-02 2020-04-09 カシオ計算機株式会社 Robot control device, robot, robot control method and program
WO2020116678A1 (en) * 2018-12-05 2020-06-11 (주)모어이즈모어 Robot for imitating user's posture, and real-time posture monitoring system including same
KR20210101791A (en) * 2020-02-11 2021-08-19 부산대학교 산학협력단 Machine-learning Turntable With Motion Analysis Sysyem
JP2022187004A (en) * 2018-08-03 2022-12-15 学校法人麻布獣医学園 Control method
WO2024071171A1 (en) * 2022-09-29 2024-04-04 日東電工株式会社 Robot, learning device, control method, and program

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101650764B1 (en) * 2014-04-21 2016-08-24 한국기계연구원 System and method for preventing collision between workers and robots
CN109591033A (en) * 2018-09-28 2019-04-09 广州智伴人工智能科技有限公司 A kind of non-contact type human-machine interaction system
CN110421559B (en) * 2019-06-21 2021-01-05 国网安徽省电力有限公司淮南供电公司 Teleoperation method and motion track library construction method of distribution network live working robot

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189497A (en) * 2000-10-11 2002-07-05 Sony Corp Robot controller and robot control method, recording medium, and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189497A (en) * 2000-10-11 2002-07-05 Sony Corp Robot controller and robot control method, recording medium, and program

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009545061A (en) * 2006-07-24 2009-12-17 ザ・ボーイング・カンパニー Closed loop feedback control using motion capture system
KR100813693B1 (en) * 2006-11-28 2008-03-14 한국과학기술연구원 Method for controlling arm movement of robot and robot thereof
JP2013139067A (en) * 2012-01-05 2013-07-18 Fujitsu Ltd Motion setting method for robot with image pickup device mounted thereon
CN108290293A (en) * 2015-11-16 2018-07-17 早石直广 Link sequences mapping device, link sequences mapping method and program
WO2017086364A1 (en) * 2015-11-16 2017-05-26 直広 早石 Link-sequence mapping device, link-sequence mapping method, and program
JP5892531B1 (en) * 2015-11-16 2016-03-23 プレンプロジェクト・ホールディングス有限会社 Link string mapping device, link string mapping method, and program
US10899005B2 (en) 2015-11-16 2021-01-26 Keisuu Giken Co., Ltd. Link-sequence mapping device, link-sequence mapping method, and program
CN108290293B (en) * 2015-11-16 2021-05-14 株式会社计数技研 Link sequence mapping device, link sequence mapping method, and program
JP2017170535A (en) * 2016-03-18 2017-09-28 プレンプロジェクト・ホールディングス有限会社 Link row mapping device, link row mapping method, and program
JP7075168B2 (en) 2017-07-18 2022-05-25 パナソニックホールディングス株式会社 Equipment, methods, programs, and robots
JP2019018336A (en) * 2017-07-18 2019-02-07 パナソニックIpマネジメント株式会社 Device, method, program, and robot
JP7466944B2 (en) 2018-08-03 2024-04-15 学校法人麻布獣医学園 Control Method
JP2022187004A (en) * 2018-08-03 2022-12-15 学校法人麻布獣医学園 Control method
JP2020055066A (en) * 2018-10-02 2020-04-09 カシオ計算機株式会社 Robot control device, robot, robot control method and program
JP7275518B2 (en) 2018-10-02 2023-05-18 カシオ計算機株式会社 ROBOT CONTROL DEVICE, ROBOT, ROBOT CONTROL METHOD AND PROGRAM
WO2020116678A1 (en) * 2018-12-05 2020-06-11 (주)모어이즈모어 Robot for imitating user's posture, and real-time posture monitoring system including same
KR102319789B1 (en) * 2020-02-11 2021-11-01 부산대학교 산학협력단 Machine-learning Turntable With Motion Analysis Sysyem
KR20210101791A (en) * 2020-02-11 2021-08-19 부산대학교 산학협력단 Machine-learning Turntable With Motion Analysis Sysyem
WO2024071171A1 (en) * 2022-09-29 2024-04-04 日東電工株式会社 Robot, learning device, control method, and program

Also Published As

Publication number Publication date
JP4617428B2 (en) 2011-01-26

Similar Documents

Publication Publication Date Title
JP4822319B2 (en) Communication robot and attention control system using the same
JP5120745B2 (en) Communication robot
CN110900617B (en) Robot and method for operating the same
JP4617428B2 (en) Motion generation system
EP1669172B1 (en) Communication robot control system
JP5732632B2 (en) Robot system and space formation recognition device used therefor
JP5429462B2 (en) Communication robot
JP5186723B2 (en) Communication robot system and communication robot gaze control method
JP7400923B2 (en) Information processing device and information processing method
JP5366048B2 (en) Information provision system
JP2006289508A (en) Robot device and its facial expression control method
WO2019138619A1 (en) Information processing device, information processing method and program
JP4399603B2 (en) Communication robot
US20180085924A1 (en) Communication device
WO2019087495A1 (en) Information processing device, information processing method, and program
JP2024009862A (en) Information processing apparatus, information processing method, and program
JP2007160427A (en) Robot control system
JP2008018529A (en) Communication robot
JP4798581B2 (en) Robot system
JP2007130691A (en) Communication robot
KR102171428B1 (en) Dancing Robot that learns the relationship between dance and music
CN211806147U (en) Main control unit based on modular robot and modular robot
CN111195902B (en) Main control unit based on modular robot and modular robot
JP2003266353A (en) Robot device and control method therefor
JP2020042593A (en) Program, information processing device, and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100830

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100917

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100922

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4617428

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees