JP2022147921A - Pseudo contact presentation system, control program and control method - Google Patents

Pseudo contact presentation system, control program and control method Download PDF

Info

Publication number
JP2022147921A
JP2022147921A JP2021049390A JP2021049390A JP2022147921A JP 2022147921 A JP2022147921 A JP 2022147921A JP 2021049390 A JP2021049390 A JP 2021049390A JP 2021049390 A JP2021049390 A JP 2021049390A JP 2022147921 A JP2022147921 A JP 2022147921A
Authority
JP
Japan
Prior art keywords
user
virtual
robot
contact
stimulus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021049390A
Other languages
Japanese (ja)
Inventor
昌裕 塩見
Masahiro Shiomi
英信 住岡
Hidenobu Sumioka
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 JP2021049390A priority Critical patent/JP2022147921A/en
Publication of JP2022147921A publication Critical patent/JP2022147921A/en
Pending legal-status Critical Current

Links

Images

Abstract

To enable providing a new pseudo contact presentation system that presents pseudo contact.SOLUTION: A pseudo contact presentation system (10) comprises: a communication robot 12; and a HMD 20, displays a plurality of virtual agents (70) on the HMD, and displays an animation in which predetermined actions are individually or simultaneously performed. An arm of a robot corresponding to a virtual agent is operated in connection with the predetermined action. In other words, the pseudo contact presentation system presents a visual stimulus to a user 60 wearing the HMD, and presents a contact stimulus associated with this. Thus, the user obtains a body feeling in which he/she is contacting with the virtual agent. In other words, pseudo contact is presented to the user.SELECTED DRAWING: Figure 4

Description

この発明は、疑似的接触提示システム、制御プログラムおよび制御方法に関し、特にたとえば、ユーザに接触による刺激を提示する作用体と当該ユーザに対して視覚による刺激を提示するヘッドマウントディスプレイを用いる、疑似的接触提示システム、制御プログラムおよび制御方法に関する。 TECHNICAL FIELD The present invention relates to a pseudo contact presentation system, a control program and a control method, and in particular, for example, a pseudo contact presentation system that uses an effector that presents a stimulus by contact to a user and a head-mounted display that presents a stimulus by sight to the user. The present invention relates to a contact presentation system, a control program and a control method.

この種の従来の疑似的接触提示システムの一例が特許文献1に開示されている。特許文献1に開示される疑似的接触提示システムによれば、コミュニケーションロボットは、ユーザの背中に回せるほどの長さの腕でユーザをハグするなどして、ユーザに接触刺激を提示する。ユーザの頭部に装着したHMD(Head Mounted Display)には、コミュニケーションロボットのハグ動作と実質的に同期して状態が変化される仮想エージェントが表示される。コミュニケーションロボットがユーザを抱き返すことによって接触刺激が当該ユーザに与えられ、さらにHMDの仮想エージェントによって視覚刺激が当該ユーザに与えられる。 An example of this type of conventional pseudo-contact presentation system is disclosed in Patent Document 1. According to the pseudo contact presentation system disclosed in Patent Literature 1, a communication robot presents a contact stimulus to a user by, for example, hugging the user with an arm long enough to be wrapped around the user's back. An HMD (Head Mounted Display) worn on the user's head displays a virtual agent whose state changes substantially in synchronization with the hugging motion of the communication robot. A contact stimulus is given to the user by the communication robot hugging the user, and a visual stimulus is given to the user by the virtual agent of the HMD.

特開2019-45928号JP 2019-45928

上記の特許文献1に開示される疑似的接触提示システムでは、1つのコミュニケーションロボットに対応して1つの仮想エージェントを割り当て、コミュニケーションロボットの動作に仮想エージェントの動作を同期させるようにしてある。つまり、コミュニケーションロボットおよび仮想エージェントを用いた接触による刺激をユーザに提示する構成が簡単である。この特許文献1では、複数の仮想エージェントの接触による刺激をユーザに提示することについては考慮されていなかった。 In the pseudo contact presentation system disclosed in the above Patent Document 1, one virtual agent is assigned to one communication robot, and the action of the virtual agent is synchronized with the action of the communication robot. In other words, the configuration for presenting the user with a stimulus by contact using the communication robot and the virtual agent is simple. In Patent Document 1, no consideration is given to presenting stimulation to the user by contact of a plurality of virtual agents.

それゆえに、この発明の主たる目的は、新規な、疑似的接触提示システム、制御プログラムおよび制御方法を提供することである。 SUMMARY OF THE INVENTION Therefore, a primary object of the present invention is to provide a novel pseudo-touch presentation system, control program and control method.

また、この発明の他の目的は、複雑な接触刺激を提供することができる、疑似的接触提示システム、制御プログラムおよび制御方法を提供することである。 Another object of the present invention is to provide a simulated contact presentation system, control program and control method capable of providing complex contact stimulation.

第1の発明は、ユーザに対して作用してユーザに接触刺激を与える複数の刺激提示部を備える接触刺激提示装置、複数の刺激提示部のうちの2つ以上の刺激提示部の各々に仮想エージェントを割り当てる割当手段、およびユーザの頭部に装着され、割当手段によって割り当てられた複数の仮想エージェントを表示し、複数の仮想エージェントのうちの一部または全部を動作させてユーザに視覚刺激を提示する頭部装着型表示装置を備え、接触刺激提示装置は、複数の仮想エージェントのうちの一部または全部の動作に関連して、複数の刺激提示部のうちの2つ以上の刺激提示部の各々を動作させる、疑似的接触提示システムである。 A first invention provides a contact stimulus presentation device comprising a plurality of stimulus presentation units that act on a user to provide a contact stimulus to the user, and a virtual An assigning means for assigning agents, and a plurality of virtual agents worn on the user's head and assigned by the assigning means are displayed, and some or all of the plurality of virtual agents are operated to present visual stimuli to the user. The contact stimulus presentation device is provided with a head-mounted display device for displaying two or more stimulus presentation units among the plurality of stimulus presentation units in relation to the actions of some or all of the plurality of virtual agents. It is a pseudo contact presentation system that operates each.

第2の発明は、第1の発明に従属し、視覚刺激提示装置は複数の仮想エージェントのうちの一部または全部についてユーザに対する動作を示すアニメーションで表示し、刺激提示部は可動部を含み、接触刺激提示部は、可動部の動きで複数の仮想エージェントのうちの一部または全部についての動作のアニメーションに関連して変化するように可動部を動作させて接触刺激をユーザに提示する。 A second invention is according to the first invention, wherein the visual stimulus presentation device displays an animation showing a user's action for some or all of the plurality of virtual agents, the stimulus presentation section includes a movable section, The contact stimulus presenting unit presents the contact stimulus to the user by operating the movable part such that the movement of the movable part changes in relation to the animation of the actions of some or all of the plurality of virtual agents.

第3の発明は、ユーザに対して作用してユーザに接触刺激を与える複数の刺激提示部を有する接触刺激提示装置およびユーザの頭部に装着される頭部装着型表示装置を備える、疑似的接触提示システムのコンピュータによって実行される制御プログラムであって、コンピュータを、接触刺激提示装置の複数の刺激提示部を制御してユーザに接触刺激を提示させる可動部制御部、複数の刺激提示部のうちの2つ以上の刺激提示部の各々に仮想エージェントを割り当てる割当手段、および割当手段において割り当てた複数の仮想エージェントのうちの一部または全部を表示する表示部として機能させ、複数の仮想エージェントを頭部装着型表示装置で表示することによってユーザに対して視覚刺激を提示するとともに、可動部制御部によって、複数の仮想エージェントのうちの一部または全部の動作に関連して、複数の刺激提示部のうちの2つ以上の刺激提示部の各々を動作させる、感覚刺激提示プログラムである。 A third aspect of the present invention provides a pseudo stimulus presentation device having a plurality of stimulus presentation units that act on a user to provide contact stimuli to the user and a head-mounted display device that is worn on the user's head. A control program executed by a computer of a contact presentation system, the computer controlling a movable section control section for controlling a plurality of stimulus presentation sections of a contact stimulus presentation device to present contact stimuli to a user, and a plurality of stimulus presentation sections. functioning as allocation means for allocating a virtual agent to each of two or more of the stimulus presentation units, and a display unit for displaying a part or all of the plurality of virtual agents allocated by the allocation means; Visual stimuli are presented to the user by displaying them on the head-mounted display device, and a plurality of stimuli are presented in relation to the actions of some or all of the plurality of virtual agents by the movable part control unit. A sensory stimulus presentation program for operating each of two or more stimulus presentation sections of the sections.

第4の発明は、ユーザに対して作用してユーザに接触刺激を与える複数の刺激提示部を有する接触刺激提示装置およびユーザの頭部に装着される頭部装着型表示装置を備える、疑似的接触提示システムの制御方法であって、接触刺激提示装置の複数の刺激提示部を制御してユーザに接触刺激を提示させるステップ、複数の刺激提示部のうちの2つ以上の刺激提示部の各々に仮想エージェントを割り当てるステップ、および割り当てた複数の仮想エージェントのうちの一部または全部を表示するステップを含み、複数の仮想エージェントを頭部装着型表示装置で表示することによってユーザに対して視覚刺激を提示するとともに、接触刺激提示装置で、複数の仮想エージェントのうちの一部または全部の動作に関連して、複数の刺激提示部のうちの2つ以上の刺激提示部の各々を動作させる、制御方法である。 A fourth aspect of the present invention provides a pseudo stimulus presentation device having a plurality of stimulus presentation units that act on a user to provide contact stimuli to the user and a head-mounted display device that is worn on the user's head. A control method for a contact presentation system, comprising: controlling a plurality of stimulus presentation units of a contact stimulus presentation device to present a contact stimulus to a user; and displaying some or all of the assigned plurality of virtual agents, the plurality of virtual agents being displayed on a head-mounted display to provide a visual stimulus to the user. and causing the contact stimulus presentation device to operate each of two or more stimulus presentation units among the plurality of stimulus presentation units in relation to the operation of some or all of the plurality of virtual agents; control method.

この発明によれば、ユーザの頭部に装着された頭部装着型表示装置に表示された複数の仮想エージェントのうちの一部または全部に動作させ、その動作に関連して、複数の仮想エージェントのうちの一部または全部に対応する刺激提示部を動作させるので、仮想エージェントの動作による視覚刺激を提示するとともに、これに関連して、刺激提示部による接触刺激を提示することができる。つまり、仮想エージェントに接触しているかのような体感を得ることができる。よって、疑似的な接触を提示する、新しい、疑似的接触提示システム、制御プログラムおよび制御方法を提示することができる。 According to the present invention, some or all of a plurality of virtual agents displayed on a head-mounted display mounted on the user's head are caused to act, and in relation to the operation, the plurality of virtual agents Since the stimulus presentation unit corresponding to some or all of them is operated, it is possible to present the visual stimulus by the action of the virtual agent and, in relation to this, to present the contact stimulus by the stimulus presentation unit. In other words, it is possible to obtain the sensation of being in contact with a virtual agent. Therefore, it is possible to present a new pseudo-contact presentation system, control program, and control method for presenting pseudo-contact.

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

図1はこの発明の一実施例の疑似的接触提示システムの電気的な構成を示すブロック図である。FIG. 1 is a block diagram showing the electrical configuration of a pseudo touch presentation system according to one embodiment of the present invention. 図2は図1に示すロボットの外観構成を正面から見た図である。FIG. 2 is a front view of the external configuration of the robot shown in FIG. 図3は図1に示すロボットの電気的な構成を示すブロック図である。3 is a block diagram showing an electrical configuration of the robot shown in FIG. 1. FIG. 図4は図1に示す疑似的接触提示システムを使用する状態の一例を横から見た図である。FIG. 4 is a side view of an example of a state in which the pseudo contact presentation system shown in FIG. 1 is used. 図5は図1に示すHMDに表示される2体の仮想エージェントの一例を示す図である。FIG. 5 is a diagram showing an example of two virtual agents displayed on the HMD shown in FIG. 図6は図1に示すHMDに表示される3体の仮想エージェントの一例を示す図である。FIG. 6 is a diagram showing an example of three virtual agents displayed on the HMD shown in FIG. 図7は図1に示すHMDに表示される2体の仮想エージェントの他の例を示す図である。FIG. 7 is a diagram showing another example of two virtual agents displayed on the HMD shown in FIG. 図8は図1に示すHMDに表示される3体の仮想エージェントの他の例を示す図である。FIG. 8 is a diagram showing another example of three virtual agents displayed on the HMD shown in FIG. 図9は図1に示すサーバに内蔵されるRAMのメモリマップの一例を示す図である。FIG. 9 is a diagram showing an example of a memory map of a RAM built into the server shown in FIG. 図10は図1に示すサーバに内蔵されるCPUの第1疑似接触処理の一例の一部を示すフロー図である。FIG. 10 is a flowchart showing a part of an example of first pseudo-contact processing of a CPU built in the server shown in FIG. 1; 図11は図1に示すサーバに内蔵されるCPUの第1疑似接触処理の他の一部であって、図10に後続するフロー図である。11 is another part of the first pseudo-contact processing of the CPU built in the server shown in FIG. 1, and is a flowchart subsequent to FIG. 10. FIG. 図12は図1に示すサーバに内蔵されるCPUの第2疑似接触処理の一例の一部を示すフロー図である。FIG. 12 is a flowchart showing a part of an example of second pseudo-contact processing of a CPU built in the server shown in FIG. 1; 図13は図1に示すサーバに内蔵されるCPUの第2疑似接触処理の他の一部であって、図12に後続するフロー図である。13 is another part of the second pseudo-contact processing of the CPU built in the server shown in FIG. 1, and is a flowchart subsequent to FIG. 12. FIG.

図1を参照して、この実施例の疑似的接触提示システム(以下、「システム」という)10は、ユーザ(人ないし参加者)に対して物理的または身体的な刺激、つまりユーザの触覚に与える刺激または接触によりユーザに与える刺激(以下、「接触刺激」という)を提示するためのロボット12を含む。ロボット12は、この実施例では、接触刺激を提示する動作を含み、必要に応じて、音声を発生するコミュニケーションロボットである。 Referring to FIG. 1, a pseudo-tactile presentation system (hereinafter referred to as "system") 10 of this embodiment provides a user (person or participant) with a physical or bodily stimulus, that is, a user's sense of touch. It includes a robot 12 for presenting a stimulus to be given or a stimulus given to the user by contact (hereinafter referred to as "contact stimulus"). In this embodiment, the robot 12 is a communication robot that includes actions that present contact stimuli and, if necessary, generates sounds.

図2は図1の実施例に用いる接触刺激提示装置としてのロボット12を正面から見た場合の外観構成の一例を示す。ただし、他の外観、構造を持つ任意の接触刺激提示装置が利用可能である。 FIG. 2 shows an example of the external configuration of the robot 12 as a contact stimulus presentation device used in the embodiment of FIG. 1, viewed from the front. However, any tactile stimulus presentation device with other appearances and structures can be used.

ロボット12は、棒状の3本のフレーム120a、120b、120cを含む。フレーム120a、120b、120cは、たとえばアルミニウムのような金属でも、繊維強化プラスチックまたはエンジニアリングプラスチックのような樹脂でもよく、基本的に、安全な強度が得られる断面形状や太さで設計される。たとえば、角柱または角筒のフレームが利用され得る。 The robot 12 includes three rod-shaped frames 120a, 120b, and 120c. Frames 120a, 120b, and 120c may be made of metal such as aluminum, or resin such as fiber-reinforced plastic or engineering plastic, and are basically designed with cross-sectional shapes and thicknesses that provide safe strength. For example, a prismatic or tubular frame may be utilized.

フレーム120aは、ロボット12の底部を構成し、水平方向に延びて床または床面に据え付けられる。フレーム120bは、ロボット12の胴体部を構成し、垂直方向に延びて配置され、下端部をフレーム120aの中央またはほぼ中央に固定される。フレーム120cは、ロボット12の肩部を構成し、水平方向に延びて配置され、フレーム120bの上部に固定される。 The frame 120a constitutes the bottom of the robot 12, extends horizontally and is installed on the floor or floor surface. The frame 120b constitutes the body of the robot 12, is arranged to extend in the vertical direction, and has its lower end fixed to the center or approximately the center of the frame 120a. The frame 120c constitutes the shoulder of the robot 12, extends horizontally, and is fixed to the top of the frame 120b.

フレーム120cには、それの両端から延びるロボットアーム(以下、単に「アーム」という)122、124および126が設けられる。アーム122、124および126は、それぞれ、人間の腕を模した構造であり、それぞれ、肘関節および肩関節に相当する関節を有している。したがって、以下の説明においては、便宜上、人間の腕についての部位の名称を用いることがある。 Frame 120c is provided with robot arms (hereinafter simply referred to as "arms") 122, 124 and 126 extending from opposite ends thereof. Arms 122, 124 and 126 each have a structure imitating a human arm and have joints corresponding to elbow joints and shoulder joints, respectively. Therefore, in the following description, the names of parts of the human arm may be used for convenience.

アーム122および124は、ロボット12を正面から見た場合のフレーム120cの左側の端部に設けられ、アーム126は、ロボット12を正面から見た場合のフレーム120cの右側の端部に設けられる。以下、ロボット12およびその一部について方向を用いて説明する場合には、ロボット12を正面から見た場合の上下左右を用いることにする。 Arms 122 and 124 are provided at the left end of frame 120c when robot 12 is viewed from the front, and arm 126 is provided at the right end of frame 120c when robot 12 is viewed from the front. Hereinafter, when the robot 12 and a portion thereof are described using directions, the top, bottom, left, and right when the robot 12 is viewed from the front will be used.

アーム122は、前腕に相当するフレーム122aと上腕に相当するフレーム122bを含み、さらに、フレーム122aとフレーム122bを連結する関節(肘関節に相当する)122c、および、フレーム122bとフレーム120cを連結する関節(肩関節に相当する)122dを含む。 The arm 122 includes a frame 122a corresponding to the forearm and a frame 122b corresponding to the upper arm, a joint (corresponding to the elbow joint) 122c connecting the frame 122a and the frame 122b, and connecting the frame 122b and the frame 120c. It includes a joint (corresponding to the shoulder joint) 122d.

アーム124は、前腕に相当するフレーム124aと上腕に相当するフレーム124bを含み、さらに、フレーム124aとフレーム124bを連結する関節(肘関節に相当する)124c、および、フレーム124bとフレーム120cを連結する関節(肩関節に相当する)124dを含む。 The arm 124 includes a frame 124a corresponding to the forearm and a frame 124b corresponding to the upper arm, a joint (corresponding to the elbow joint) 124c connecting the frame 124a and the frame 124b, and connecting the frame 124b and the frame 120c. It includes a joint (corresponding to the shoulder joint) 124d.

ただし、図2からも分かるように、アーム122は、フレーム120cの左側端部の下面に連結され、アーム124は、フレーム120cの左側端部の上面に連結される。 However, as can be seen from FIG. 2, the arm 122 is connected to the lower surface of the left end of the frame 120c, and the arm 124 is connected to the upper surface of the left end of the frame 120c.

アーム126は、前腕に相当するフレーム126aと上腕に相当するフレーム126bを含み、さらに、フレーム126aとフレーム126bを連結する関節(肘関節に相当する)126c、および、フレーム126bとフレーム120cを連結する関節(肩関節に相当する)126dを含む。このアーム126は、フレーム120cの右側端部の下面に連結される。 The arm 126 includes a frame 126a corresponding to the forearm and a frame 126b corresponding to the upper arm, a joint (corresponding to the elbow joint) 126c connecting the frame 126a and the frame 126b, and connecting the frame 126b and the frame 120c. It includes a joint (corresponding to the shoulder joint) 126d. This arm 126 is connected to the lower surface of the right end of the frame 120c.

一例として、関節122c、124cおよび126cは、それぞれ、前腕を上腕に対して最大90°開くことができる。したがって、関節122c、124cおよび126cの角度を制御することによって、アーム122、124および126をそれぞれ曲げたり延ばしたりすることができる。 As an example, joints 122c, 124c and 126c can each open the forearm up to 90° relative to the upper arm. Thus, by controlling the angles of joints 122c, 124c and 126c, arms 122, 124 and 126 can be bent and extended, respectively.

また、一例として、関節122d、124dおよび126dは、それぞれ、上腕を、各関節122d、124dおよび126dがフレーム120cと連結された面に対して最大150°開くことができる。ただし、上腕を構成するフレーム122b、124bおよび126bが、関節122d、124dおよび126dがフレーム120cと連結されている面に対して垂直となる場合の角度を0°としてある。したがって、関節122d、124dおよび126dの角度を制御することによって、アーム122、124および126をそれぞれ上げ下げする、または、前後に出すことができる。 Also, by way of example, joints 122d, 124d and 126d, respectively, can open the upper arm up to 150° with respect to the plane to which each joint 122d, 124d and 126d is coupled with frame 120c. However, the angle when the frames 122b, 124b and 126b constituting the upper arm are perpendicular to the plane where the joints 122d, 124d and 126d are connected to the frame 120c is 0°. Thus, by controlling the angle of joints 122d, 124d and 126d, arms 122, 124 and 126 can be raised and lowered or extended and retracted, respectively.

さらに、この実施例では、ロボット12がアーム122、124および126の各々でユーザ60(図4参照)と握手できるように、関節122c、122d、124c、124d、126cおよび126dにアクチュエータを組み込んでいる。 Additionally, this embodiment incorporates actuators at joints 122c, 122d, 124c, 124d, 126c and 126d so that robot 12 can shake hands with user 60 (see FIG. 4) at each of arms 122, 124 and 126. .

接触刺激提示装置すなわちロボット12は、インターネットや電話通信回線のようなネットワーク14を介してサーバ16に接続される。サーバ16は、PC、PDA、スマートフォン、タブレット端末のような汎用のコンピュータである。 A contact stimulus presentation device, that is, a robot 12 is connected to a server 16 via a network 14 such as the Internet or a telephone communication line. The server 16 is a general-purpose computer such as a PC, PDA, smart phone, or tablet terminal.

図示は省略するが、サーバ16には、タッチパネルまたは/およびキーボードのような入力装置が含まれ、オペレータがそのような入力装置を操作することができる。このようなサーバ16の動作を制御するためのプログラムおよびデータは、サーバ16に内蔵しているメモリ(たとえば、HDDおよびRAM)16bに記憶されており、同じく内蔵のCPU16aによってサーバ16の全体的な動作が制御される。このCPU16aは、上述のオペレータの操作に従って、ロボット12のCPU36(後述)を通して、ロボット12の動作および発話を制御し、さらには後述のHMD20による仮想エージェントの表示を制御する。このため、サーバ16は通信モジュール16cを備えており、CPU16aは通信モジュール16cを介して、ネットワーク14すなわちロボット12およびHMD20と、有線で、または無線で、通信可能に接続される。 Although not shown, the server 16 includes input devices such as a touch panel and/or keyboard, and an operator can operate such input devices. Programs and data for controlling such operations of the server 16 are stored in a memory (for example, HDD and RAM) 16b built in the server 16, and the overall operation of the server 16 is controlled by a similarly built-in CPU 16a. movement is controlled. This CPU 16a controls the motion and speech of the robot 12 through the CPU 36 (described later) of the robot 12, and further controls the display of a virtual agent by the HMD 20 described later, according to the operator's operation described above. For this reason, the server 16 has a communication module 16c, and the CPU 16a is communicably connected to the network 14, that is, the robot 12 and the HMD 20 via the communication module 16c by wire or wirelessly.

また、図1のシステム10は頭部装着型表示装置であるHMD20を含み、このHMD20はロボット12による接触刺激の提示を受けるユーザ60の頭部64に装着される(図4参照)。実施例では、このHMD20として、Oculus社製のOculus Rift(商品名)を使用し、このHMD20の位置すなわちユーザ60の頭部位置を精度よく検出するために、Oculus sensor(商品名)のような位置検出装置18aを利用した。 The system 10 of FIG. 1 also includes an HMD 20, which is a head-mounted display device, and this HMD 20 is worn on the head 64 of the user 60 who receives contact stimuli presented by the robot 12 (see FIG. 4). In the embodiment, an Oculus Rift (trade name) manufactured by Oculus is used as the HMD 20, and an Oculus sensor (trade name) is used to accurately detect the position of the HMD 20, that is, the head position of the user 60. The position detection device 18a was used.

つまり、サーバ16には、位置検出装置18aの出力が与えられる。位置検出装置18aは、頭部位置計測部として機能するが、この位置検出装置18aとして利用されるOculus sensorは、ジャイロセンサと加速度を組み合わせることで、HMD20(Oculus Rift)の位置を追跡することによって、ユーザ60の頭部64の位置を精度よく検出することができる。 That is, the server 16 is provided with the output of the position detection device 18a. The position detection device 18a functions as a head position measurement unit, and the Oculus sensor used as the position detection device 18a tracks the position of the HMD 20 (Oculus Rift) by combining a gyro sensor and acceleration. , the position of the head 64 of the user 60 can be detected with high accuracy.

上記のとおり、ロボット12は床に固定されており、ロボット12に対するHMD20の初期位置を設定または登録することにより、実空間におけるHMD20の位置すなわちユーザ60の頭部位置を検出することができる。したがって、この実施例では、CPU16aは、実空間におけるロボット12とユーザ60の頭部位置の位置関係を用いて、仮想空間における仮想エージェントおよび視点(仮想のカメラ)の位置を制御する。HMD20はいわゆる一人称視点の画像(この実施例では、仮想エージェント)を表示するため、仮想のカメラの位置は仮想空間におけるユーザ60の頭部位置に相当する。また、仮想のカメラの注視点は、仮想空間におけるロボット12の所定の位置に設定する。たとえば、所定の位置は、仮想空間におけるロボット12の中心に設定される。これは一例であり、様々な大きさの仮想エージェントがHMD20に表示される画像に収まれば、他の位置が採用されてもよい。 As described above, the robot 12 is fixed to the floor, and by setting or registering the initial position of the HMD 20 with respect to the robot 12, the position of the HMD 20 in real space, that is, the head position of the user 60 can be detected. Therefore, in this embodiment, the CPU 16a uses the positional relationship between the head positions of the robot 12 and the user 60 in the real space to control the positions of the virtual agent and the viewpoint (virtual camera) in the virtual space. Since the HMD 20 displays a so-called first-person viewpoint image (virtual agent in this embodiment), the position of the virtual camera corresponds to the head position of the user 60 in the virtual space. Also, the gaze point of the virtual camera is set at a predetermined position of the robot 12 in the virtual space. For example, the predetermined position is set at the center of the robot 12 in virtual space. This is an example, and other positions may be adopted as long as virtual agents of various sizes fit within the image displayed on the HMD 20 .

ただし、仮想空間においてロボット12自体が描画されることはなく、仮想エージェントを仮想空間に配置したり、仮想空間における仮想のカメラの位置を決定したりする場合に、ロボット12の位置等が用いられるだけである。たとえば、ロボット12の位置(フレーム120aの中心の位置)が3次元の仮想空間における原点に設定され、ロボット12のフレーム120aおよび120cと平行な方向がX軸の方向に設定され、フレーム120bと平行な方向がZ軸の方向に設定され、X軸およびZ軸の両方に垂直な方向がY軸の方向に設定される。 However, the robot 12 itself is not drawn in the virtual space, and the position of the robot 12 is used when arranging the virtual agent in the virtual space or determining the position of the virtual camera in the virtual space. Only. For example, the position of the robot 12 (the position of the center of the frame 120a) is set to the origin in the three-dimensional virtual space, the direction parallel to the frames 120a and 120c of the robot 12 is set to the X-axis direction, and the direction parallel to the frame 120b is set. The direction perpendicular to both the X and Z axes is set to the direction of the Y axis.

サーバ16には、さらに環境音やユーザ60の声を収集するマイク18bおよび環境画像やユーザ60の画像を取得するカメラ18cなどが接続される。マイク18bが収集した音声データがサーバ16に入力され、サーバ16はその音声データを用いて音声認識をすることができる。カメラ18cからの画像データがサーバ16に入力され、サーバ16はその画像データを処理して、たとえば個人同定をすることができる。 Connected to the server 16 are a microphone 18b for collecting environmental sounds and the voice of the user 60, a camera 18c for acquiring environmental images and images of the user 60, and the like. The voice data collected by the microphone 18b is input to the server 16, and the server 16 can perform voice recognition using the voice data. Image data from camera 18c is input to server 16, which can process the image data, for example, for personal identification.

この実施例では、ロボット12はユーザ60と対話することができるようにされている。そのために、サーバ16のメモリ16bには、そのようなユーザ60との対話に必要な話題およびその話題に応じたシナリオが予め設定される。ただし、先に説明したように、サーバ16を通して遠隔オペレータがユーザ60と対話することもできる。 In this embodiment, robot 12 is enabled to interact with user 60 . For this reason, the memory 16b of the server 16 is preset with topics necessary for dialogue with the user 60 and scenarios corresponding to the topics. However, a remote operator may also interact with user 60 through server 16 as previously described.

上述のHMD20は、たとえば90Hzのリフレッシュレートで110°視野の高解像度の立体画像を表示することができる。 The HMD 20 described above can display a high-resolution stereoscopic image with a 110° field of view at a refresh rate of 90 Hz, for example.

HMD20は、サーバ16から送信される画像データによって、後述の図5-図8に示すような仮想エージェント70(70a、70b、70c)を表示する。このことにより、ユーザ60の視覚または/および聴覚に対する刺激(視覚刺激)を付与する。 The HMD 20 displays virtual agents 70 (70a, 70b, 70c) as shown in FIGS. This gives a stimulus (visual stimulus) to the user's 60 vision and/or hearing.

そのため、サーバ16のメモリ16bには、性別や年代の異なる複数の仮想エージェント70の画像データを予め設定している。画像データは、仮想エージェント70が直立している静止画のデータのみならず、所定の動作(この実施例では、挨拶、握手および歩行)を行う場合のアニメーションのデータを含む。 Therefore, the memory 16b of the server 16 is preset with image data of a plurality of virtual agents 70 of different sexes and ages. The image data includes not only data of a still image in which the virtual agent 70 stands upright, but also data of animation when performing predetermined actions (greeting, shaking hands and walking in this embodiment).

そして、サーバ16は、ロボット12と協働する(インタラクションする)ユーザ60を同定した後、同定したユーザ60に適合する性別や年代の仮想エージェント70を選択して、その画像データを、ネットワーク14を介して、HMD20に送る。これによって、HMD20がユーザ60に適合した仮想エージェント70を表示することができる。ただし、仮想エージェント70は、ユーザ60によって登録されるようにしてもよい。 Then, after identifying the user 60 who cooperates (interacts) with the robot 12, the server 16 selects a virtual agent 70 whose gender and age match the identified user 60, and transfers the image data to the network 14. to the HMD 20 via the This allows the HMD 20 to display the virtual agent 70 that matches the user 60 . However, virtual agent 70 may be registered by user 60 .

この実施例では、ロボット12には、複数の仮想エージェント70を割り当てることができる。この実施例では、ロボット12に割り当てる仮想エージェント70の数は、ロボット12のアームの数以下である。したがって、ロボット12の3つのアーム122、124および126に対応して、1体、2体または3体の仮想エージェント70が割り当てられる。 In this embodiment, robot 12 may be assigned multiple virtual agents 70 . In this embodiment, the number of virtual agents 70 assigned to robot 12 is less than or equal to the number of arms of robot 12 . Accordingly, one, two or three virtual agents 70 are assigned corresponding to the three arms 122 , 124 and 126 of the robot 12 .

ロボット12に対して何体の仮想エージェント70を割り当てるかは、ユーザ60が決定することができる。ただし、このシステム10をゲームなどの任意のアプリケーションに適用する場合には、当該アプリケーションのシナリオに応じて固定的にまたは動的に決定することができる。 The user 60 can decide how many virtual agents 70 to assign to the robot 12 . However, when applying this system 10 to an arbitrary application such as a game, it can be fixedly or dynamically determined according to the scenario of the application.

1体の仮想エージェント70がロボット12に割り当てられる場合には、1体の仮想エージェント70がアーム122および126に割り当てられる。2体の仮想エージェント70がロボット12に割り当てられる場合には、2体のうちの一方の仮想エージェント70がアーム122に割り当てられ、2体のうちの他方の仮想エージェント70がアーム126に割り当てられる。3体の仮想エージェント70がロボット12に割り当てられる場合には、3体のうちの1体の仮想エージェント70がアーム122に割り当てられ、残り2体のうちの一方の仮想エージェント70がアーム124に割り当てられ、残り2体のうちの他方の仮想エージェント70がアーム126に割り当てられる。 If one virtual agent 70 is assigned to robot 12 , one virtual agent 70 is assigned to arms 122 and 126 . If two virtual agents 70 are assigned to robot 12 , one virtual agent 70 of the two is assigned to arm 122 and the other virtual agent 70 of the two is assigned to arm 126 . If three virtual agents 70 are assigned to robot 12 , one of the three virtual agents 70 is assigned to arm 122 and one of the remaining two virtual agents 70 is assigned to arm 124 . and the other virtual agent 70 of the remaining two is assigned to arm 126 .

ただし、これは一例であり限定される必要はない。また、割り当てられた複数の仮想エージェント70は、互いに重ならないようにHMD20に表示される。 However, this is an example and does not need to be limited. Also, the plurality of assigned virtual agents 70 are displayed on the HMD 20 so as not to overlap each other.

なお、1体の仮想エージェント70がロボット12に割り当てられる場合については、本願発明の本質的な内容ではなく、また、出願人が先に出願し、既に公開された特開2019-45928号に開示された内容と重複するため、詳細な説明については省略する。 It should be noted that the case where one virtual agent 70 is assigned to the robot 12 is not the essential content of the present invention, and is disclosed in Japanese Patent Application Laid-Open No. 2019-45928, which was previously filed by the applicant and has already been published. The detailed description is omitted because it overlaps with the contents described above.

図2では省略するが、ロボット12の上部(たとえば、フレーム120bの上端部)にはスピーカおよびマイクが取り付けられており、ロボット12は、ユーザ60に対して発話したり、ユーザ60の発話を聞き取ったりすることができる。発話のための音声合成ソフトウェアとしては、XIMERA(ATR音声言語研究所:商品名)を採用した。 Although not shown in FIG. 2, a speaker and a microphone are attached to the upper part of the robot 12 (for example, the upper end of the frame 120b), and the robot 12 speaks to the user 60 and listens to the speech of the user 60. can be XIMERA (ATR Spoken Language Laboratory: trade name) was adopted as speech synthesis software for speech.

図3はロボット12の電気的な構成の一例を示すブロック図である。図3に示すように、ロボット12は、ロボット12の全体制御を司るCPU36を備える。CPU36は、バス38を通して通信モジュール40に接続され、したがって、CPU36は通信モジュール40を介して、ネットワーク14すなわちサーバ16と、有線で、または無線で、通信可能に接続される。 FIG. 3 is a block diagram showing an example of the electrical configuration of the robot 12. As shown in FIG. As shown in FIG. 3, the robot 12 includes a CPU 36 that controls the robot 12 as a whole. CPU 36 is connected to communication module 40 through bus 38 and thus CPU 36 is communicatively connected via communication module 40 to network 14 or server 16, either by wire or wirelessly.

CPU36はまた、バス38を通してメモリ42にアクセスでき、このメモリ42に設定されているプログラムやデータに従って、バス38を通してアクチュエータ制御回路44に指令値を与え、各アクチュエータA1‐Anの動作を制御する。アクチュエータ制御回路44は、CPU36から与えられる指令値に応じた数のパルス電力を生成し、それを該当するステッピングモータに与えることによって、各アクチュエータA1‐Anを駆動する。 The CPU 36 can also access the memory 42 through the bus 38, and according to the programs and data set in this memory 42, give command values to the actuator control circuit 44 through the bus 38 to control the operation of each actuator A1-An. The actuator control circuit 44 generates the number of pulse powers according to the command value given from the CPU 36, and gives them to the corresponding stepping motors to drive the actuators A1-An.

ただし、アクチュエータとしてはこのようなステッピングモータを用いるものの他、サーボモータを用いるアクチュエータ、流体アクチュエータなど任意のアクチュエータが利用可能である。 However, as the actuator, in addition to the one using such a stepping motor, any actuator such as an actuator using a servomotor or a fluid actuator can be used.

ここで、アクチュエータA1‐Anは関節122c、122d、124c、124d、126cおよび126dのアクチュエータ(ステッピングモータ)である。したがって、アクチュエータ制御回路44は関節制御部としても機能する。 Here, actuators A1-An are actuators (stepping motors) of joints 122c, 122d, 124c, 124d, 126c and 126d. Therefore, the actuator control circuit 44 also functions as a joint control section.

センサI/F(インタフェース)46は、バス38を介して、CPU36に接続され、触覚センサ48およびカメラ50からのそれぞれの出力を受ける。 A sensor I/F (interface) 46 is connected to the CPU 36 via the bus 38 and receives outputs from the tactile sensor 48 and the camera 50 respectively.

触覚センサ48は、たとえばタッチセンサであり、ロボット12の触覚の一部を構成する。つまり、触覚センサ48は、人間や他の物体等がロボット12に触れたか否かを検出する。たとえば、触覚センサ48がロボット12のアーム122、124および126の前腕(フレーム122a、124aおよび126a)にそれぞれ設けられ、ユーザ60の手がロボット12のアーム122、124、126に触れたかどうかを検知することができる。 The tactile sensor 48 is, for example, a touch sensor and forms part of the tactile sense of the robot 12 . In other words, the tactile sensor 48 detects whether or not a person or other object has touched the robot 12 . For example, tactile sensors 48 are provided on the forearms (frames 122a, 124a and 126a) of arms 122, 124 and 126 of robot 12, respectively, to detect whether a hand of user 60 touches arms 122, 124 and 126 of robot 12. can do.

触覚センサ48はさらに感圧センサとしても機能する。このような触覚センサ48は、一例として、たとえば高分子ピエゾセンサシートで形成され、たとえば腕28の内面側に、複数のセンサシートが適宜分散して設けられる。このような触覚センサ48は、ユーザ60と握手したロボット12の前腕(フレーム122a、124a、126a)に掛かる圧力を検知することができる。 The tactile sensor 48 also functions as a pressure sensor. As an example, such a tactile sensor 48 is formed of, for example, a polymer piezo sensor sheet. Such a tactile sensor 48 can detect pressure applied to the forearms (frames 122a, 124a, 126a) of the robot 12 that shake hands with the user 60 .

触覚センサ48からの出力(検出データ)は、センサI/F46を介してCPU36に与えられる。したがって、CPU36は、人間や他の物体等がロボット12に触れたこと(およびその強弱ないし圧力)および人間や他の物体等がロボット12から離れたことを検出することができる。 Output (detected data) from the tactile sensor 48 is given to the CPU 36 via the sensor I/F 46 . Therefore, the CPU 36 can detect that a human or other object has touched the robot 12 (and its strength or pressure) and that the human or other object has left the robot 12 .

さらに、触覚センサ48が検出した圧力データはCPU36から出力され、通信モジュール40およびネットワーク14を介してサーバ16に与えられる。 Furthermore, pressure data detected by the tactile sensor 48 is output from the CPU 36 and provided to the server 16 via the communication module 40 and the network 14 .

カメラ50は、イメージセンサであり、ロボット12の視覚の一部を構成する。つまり、カメラ50は、ロボット12の眼から見た画像ないし画像を検出するために用いられる。この実施例では、カメラ50の撮影画像(動画ないし静止画)に対応するデータ(画像データ)は、センサI/F46を介してCPU36に与えられる。CPU36は、撮影画像の変化を検出するのみならず、その画像データを、通信モジュール40およびネットワーク14(図1)を介してサーバ16に送信する。そして、サーバ16は、受信した画像データをモニタ(図示せず)に出力する。したがって、カメラ50の撮影画像がモニタに表示される。 The camera 50 is an image sensor and forms part of the vision of the robot 12 . That is, the camera 50 is used to detect the image or images seen by the eyes of the robot 12 . In this embodiment, data (image data) corresponding to an image (moving or still image) captured by camera 50 is provided to CPU 36 via sensor I/F 46 . CPU 36 not only detects changes in the captured image, but also transmits the image data to server 16 via communication module 40 and network 14 (FIG. 1). The server 16 then outputs the received image data to a monitor (not shown). Therefore, the image captured by the camera 50 is displayed on the monitor.

また、スピーカ54およびマイク56は、入出力I/F52に接続される。スピーカ54は、ロボット12が発話を行う際に音声を出力する。サーバ16の操作者ないしオペレータ(以下、「遠隔オペレータ」ということがある。)が直接発話を行う場合、ネットワーク14、通信モジュール40および入出力I/F52を通して当該音声が出力される。具体的には、遠隔オペレータがマイク56を通して発話すると、対応する音声データがサーバ16からネットワーク14を介してCPU36に与えられる。そして、CPU36は、その音声データを、入出力I/F52を介してスピーカ54から出力する。 Also, the speaker 54 and the microphone 56 are connected to the input/output I/F 52 . The speaker 54 outputs sound when the robot 12 speaks. When an operator of the server 16 or an operator (hereinafter sometimes referred to as a “remote operator”) speaks directly, the voice is output through the network 14 , the communication module 40 and the input/output I/F 52 . Specifically, when the remote operator speaks through microphone 56 , corresponding voice data is provided from server 16 to CPU 36 via network 14 . The CPU 36 then outputs the audio data from the speaker 54 via the input/output I/F 52 .

マイク56は、音センサであり、ロボット12の聴覚の一部を構成する。このマイク56は、指向性を有し、主として、ロボット12と対話(コミュニケーション)するユーザ60(人)の音声を検出するために用いられる。 The microphone 56 is a sound sensor and forms part of the robot's 12 sense of hearing. The microphone 56 has directivity and is mainly used to detect the voice of the user 60 (person) who interacts (communicates) with the robot 12 .

ロボット12のメモリ42は、たとえばRAMおよびHDDであり、音声認識プログラムおよび上述のXIMERAのような音声合成プログラムが予め設定されている。音声認識プログラムは、マイク56を通して入力される、人間がロボット12に対して発話した内容をCPU36が認識するためのプログラムであり、CPU36は、たとえばDPマッチングや隠れマルコフ法(Hidden Markov Model:HMM)により、人間の発話内容を音声認識する。 The memory 42 of the robot 12 is, for example, RAM and HDD, and is preset with a speech recognition program and a speech synthesis program such as XIMERA described above. The speech recognition program is a program for the CPU 36 to recognize the contents of what a person has said to the robot 12, which is input through the microphone 56. The CPU 36 performs, for example, DP matching and Hidden Markov Model (HMM). recognizes the content of human utterances.

CPU36は、その音声認識プログラムに従って、遠隔オペレータがマイク56を通して入力した発話を認識する。たとえば、上述のHMM法やディープニューラルネットワーク(Deep Neural Network:DNN)のような音響モデルを用いて発話音声を検出できる。 The CPU 36 recognizes speech input through the microphone 56 by the remote operator according to its speech recognition program. For example, an utterance can be detected using an acoustic model such as the above-mentioned HMM method or a deep neural network (DNN).

遠隔オペレータの音声を直接スピーカ54から出力する外に、ロボット12から合成音声によって発話させることができる。CPU36は、サーバ16から合成音声によってスピーカ54から発話する指示が入力されたとき、このサーバ16から与えられる合成音声データに従って合成音声をスピーカ54に出力する。 In addition to outputting the remote operator's voice directly from the speaker 54, the robot 12 can be made to utter synthetic voice. The CPU 36 outputs synthesized speech to the speaker 54 in accordance with the synthesized speech data given from the server 16 when an instruction to speak from the speaker 54 is input from the server 16 using synthesized speech.

この実施例では基本的に、ロボット12のすべての動作は、オペレータ(図示せず)が操作するサーバ16から与えられる。そのために、CPU36は、センサI/F46を通して取得するセンサデータや、入出力I/F52を通して取得する音声データや画像データを、通信モジュール40からネットワーク14を経由して、サーバ16のCPU16aに与える。サーバ16は、それらのデータを得て、ロボット12の状態を知ることができる。 Essentially, in this embodiment, all movements of the robot 12 are provided by a server 16 operated by an operator (not shown). Therefore, the CPU 36 supplies sensor data acquired through the sensor I/F 46 and audio data and image data acquired through the input/output I/F 52 to the CPU 16 a of the server 16 from the communication module 40 via the network 14 . The server 16 can obtain those data and know the state of the robot 12 .

ただし、サーバ16は、位置検出装置18aからの位置情報と圧力情報を使用して、仮想エージェント70とロボット12の両方の動作を自律的に制御することもできる。 However, server 16 can also autonomously control the motion of both virtual agent 70 and robot 12 using position and pressure information from position sensing device 18a.

図4はユーザ60がシステム10を使用する場合の状態を横から見た場合の一例を示す。図4に示すように、ユーザ60はHMD20を装着し、ロボット12の前方に正対して立つ。つまり、ロボット12とユーザ60は向かい合っている。ロボット12とユーザ60は対話ないし会話することができる。また、ユーザ60がロボット12に近づき、ロボット12とユーザ60の距離dが所定距離df以下になると、ロボット12はアーム122、124および126でユーザ60に触れることができる。この場合、ユーザ60がロボット12のアーム122、124および126の少なくとも1つに触れることができる。一例として、所定距離dfは、70cm-1mであり、アーム122、124および126の長さによって決定される。 FIG. 4 shows an example of a side view of a user 60 using the system 10. As shown in FIG. As shown in FIG. 4 , the user 60 wears the HMD 20 and stands in front of the robot 12 . That is, the robot 12 and the user 60 face each other. Robot 12 and user 60 can interact or converse. Also, when the user 60 approaches the robot 12 and the distance d between the robot 12 and the user 60 becomes equal to or less than the predetermined distance df, the robot 12 can touch the user 60 with the arms 122 , 124 and 126 . In this case, user 60 can touch at least one of arms 122 , 124 and 126 of robot 12 . As an example, the predetermined distance df is 70 cm−1 m and is determined by the lengths of arms 122 , 124 and 126 .

上述したように、ロボット12には、複数の仮想エージェント70を割り当てることができる。2体の仮想エージェント70がロボット12に割り当てられる場合には、一方の仮想エージェント70がロボット12のアーム122に重なる位置に配置され、他方の仮想エージェント70がロボット12のアーム126に重なる位置に配置される。図5に示す例では、仮想エージェント70aの左腕がアーム122に重なり、仮想エージェント70bの右腕がアーム126に重なるように、仮想エージェント70aおよび70bが仮想空間に配置される。つまり、2体の仮想エージェント70がロボット12に割り当てられる場合には、ロボット12のアーム122が仮想エージェント70aの左腕に対応し、ロボット12のアーム126が仮想エージェント70bの右腕に対応する。 As noted above, a robot 12 may be assigned multiple virtual agents 70 . When two virtual agents 70 are assigned to the robot 12 , one virtual agent 70 is positioned to overlap the arm 122 of the robot 12 and the other virtual agent 70 is positioned to overlap the arm 126 of the robot 12 . be done. In the example shown in FIG. 5, virtual agents 70a and 70b are placed in the virtual space such that virtual agent 70a's left arm overlaps arm 122 and virtual agent 70b's right arm overlaps arm 126. FIG. That is, when two virtual agents 70 are assigned to robot 12, arm 122 of robot 12 corresponds to the left arm of virtual agent 70a and arm 126 of robot 12 corresponds to the right arm of virtual agent 70b.

また、3体の仮想エージェント70がロボット12に割り当てられる場合には、3体のうちの1体の仮想エージェント70がロボット12のアーム122に重なる位置に配置され、残りの2体のうちの一方の仮想エージェント70bがロボット12のアーム126に重なる位置に配置され、残りの2体のうちの他方の仮想エージェント70cがロボット12のアーム124に重なる位置に配置される。図6に示す例では、仮想エージェント70aの右腕がロボット12のアーム122に重なる位置に配置され、仮想エージェント70bの右腕がロボット12のアーム126に重なる位置に配置され、仮想エージェント70cの左腕がロボット12のアーム124に重なる位置に配置される。つまり、3体の仮想エージェント70がロボット12に割り当てられる場合には、ロボット12のアーム122が仮想エージェント70aの右腕に対応し、ロボット12のアーム124が仮想エージェント70cの左腕に対応し、ロボット12のアーム126が仮想エージェント70bの右腕に対応する。 Also, when three virtual agents 70 are assigned to the robot 12, one of the three virtual agents 70 is placed in a position overlapping the arm 122 of the robot 12, and one of the remaining two The virtual agent 70b is placed at a position overlapping the arm 126 of the robot 12, and the other virtual agent 70c of the remaining two is placed at a position overlapping the arm 124 of the robot 12. FIG. In the example shown in FIG. 6, the right arm of the virtual agent 70a is positioned to overlap the arm 122 of the robot 12, the right arm of the virtual agent 70b is positioned to overlap the arm 126 of the robot 12, and the left arm of the virtual agent 70c is positioned to overlap the arm 126 of the robot. It is arranged in a position overlapping twelve arms 124 . That is, when three virtual agents 70 are assigned to robot 12, arm 122 of robot 12 corresponds to the right arm of virtual agent 70a, arm 124 of robot 12 corresponds to the left arm of virtual agent 70c, and robot 12 corresponds to the left arm of virtual agent 70c. corresponds to the right arm of the virtual agent 70b.

したがって、サーバ16のCPU16aは、ロボット12に接近するユーザ60(人ないし参加者)60に対して、複数の仮想エージェント70の各々が、個別にユーザ60に対して第1の所定の動作を行うとともに、ユーザ60に対して第1の所定の動作を行う仮想エージェント70に同期して、当該仮想エージェント70が割り当てられたアーム122、124または126を動作させる処理(以下、「第1疑似接触処理」という)を実行することができる。ただし、アーム122、124または126の動作は、第1の所定の動作に応じた動作である。 Therefore, the CPU 16a of the server 16 causes each of the plurality of virtual agents 70 to individually perform a first predetermined action on the user 60 (person or participant) 60 approaching the robot 12. Also, in synchronism with the virtual agent 70 performing a first predetermined action on the user 60, a process of operating the arm 122, 124 or 126 to which the virtual agent 70 is assigned (hereinafter referred to as "first pseudo-contact process ) can be executed. However, the movement of arm 122, 124 or 126 is movement according to the first predetermined movement.

また、サーバ16のCPU16aは、仮想空間において、複数の仮想エージェント70を仮想空間内のユーザ60に近づけて、複数の仮想エージェント70がユーザ60に対して同時に第2の所定の動作を行うとともに、複数の仮想エージェント70が割り当てられたアーム122およびアーム124、または、アーム122、124および126を動作させる処理(以下、「第2疑似接触処理」という)を実行することができる。ただし、アーム122、124および126の動作は、第2の所定の動作に応じた動作である。 In addition, the CPU 16a of the server 16 brings the plurality of virtual agents 70 closer to the user 60 in the virtual space, and the plurality of virtual agents 70 performs the second predetermined action on the user 60 at the same time. A process (hereinafter referred to as a "second pseudo-contact process") for operating arms 122 and 124 or arms 122, 124 and 126 to which a plurality of virtual agents 70 are assigned can be executed. However, the movements of arms 122, 124 and 126 are movements according to a second predetermined movement.

この実施例では、第1の所定の動作および第2の所定の動作は握手である。一例として、第1疑似接触処理は、仮想空間に設定された握手会の会場において、ユーザ60が、アイドルである複数の仮想エージェント70と個別に握手するような状況において実行される。一方、第2疑似接触処理は、ユーザ60がアイドルであり、複数のファンである複数の仮想エージェント70に囲まれ、各仮想エージェント70から握手を求められている状況において実行される。 In this example, the first predetermined action and the second predetermined action are handshakes. As an example, the first pseudo-contact process is executed in a situation where the user 60 individually shakes hands with a plurality of idle virtual agents 70 at a handshake meeting venue set in the virtual space. On the other hand, the second pseudo-contact process is executed in a situation where the user 60 is idle, surrounded by a plurality of virtual agents 70 who are fans, and each virtual agent 70 requests a handshake.

したがって、第1疑似接触処理および第2疑似接触処理のうち、いずれの処理を実行するかは、サーバ16の操作者ないし遠隔オペレータが決定したり、システム10が適用されるアプリケーションのシナリオ(文脈)によって決定されたりする。ただし、アプリケーションのシナリオは、ユーザ60がどの選択肢を選んだかに応じて可変的に決定されることがある。 Therefore, which of the first pseudo-contact process and the second pseudo-contact process is to be executed is determined by the operator of the server 16 or the remote operator, or determined by the scenario (context) of the application to which the system 10 is applied. or determined by However, the application scenario may be variably determined depending on which option the user 60 chooses.

たとえば、第1疑似接触処理では、ユーザ60はロボット12に割り当てられた1体、2体または3体の仮想エージェント70と対話し、ユーザ60がロボット12と握手できる所定距離dfまで接近すると、サーバ16のCPU16aは、仮想エージェント70とロボット12の両方に信号を送信し、HMD20に仮想エージェント70の握手のアニメーションを表示させるとともに、ロボット12に握手を開始させる。つまり、ユーザ60に対する接触動作が実行される。したがって、ユーザ60は、ロボット12のアーム122、124または126を握って握手することができ、握ったアーム122、124または126に割り当てられた仮想エージェント70と握手している体感を得る。つまり、疑似的な接触がユーザ60に提示される。ただし、複数の仮想エージェント70のうち、握手のアニメーションが表示されるのは、ユーザ60との距離が最も近いアーム122、124または126に割り当てられた仮想エージェント70のみである。 For example, in the first pseudo-contact process, the user 60 interacts with one, two, or three virtual agents 70 assigned to the robot 12, and when the user 60 approaches a predetermined distance df at which the robot 12 can shake hands, the server The CPU 16a of 16 sends a signal to both the virtual agent 70 and the robot 12 to cause the HMD 20 to display the handshake animation of the virtual agent 70 and to cause the robot 12 to start shaking hands. That is, a contact action is performed on the user 60 . Accordingly, the user 60 can grasp the arm 122, 124 or 126 of the robot 12 to shake hands and get the sensation of shaking hands with the virtual agent 70 assigned to the grasping arm 122, 124 or 126. In other words, a pseudo contact is presented to the user 60 . However, among the plurality of virtual agents 70, the handshake animation is displayed only for the virtual agents 70 assigned to the arms 122, 124, or 126 closest to the user 60. FIG.

たとえば、2体の仮想エージェント70がロボット12に割り当てられている場合において、ユーザ60が仮想エージェント70aに近づくと、図7に示すように、仮想エージェント70aが握手を行い、これに関連(または、同期)して、仮想エージェント70aに対応するアーム122が動作される。つまり、ロボット12はアーム122を用いて握手を行う。したがって、ユーザ60は、HMD20で仮想エージェント70aが握手する様子を見ながら、ロボット12のアーム122を握って握手する。つまり、HMD20に表示された仮想エージェント70のアニメーションによる視覚刺激がユーザ60に提示されるとともに、ロボット12の動作による接触刺激がユーザ60に与えられる。 For example, when two virtual agents 70 are assigned to the robot 12, when the user 60 approaches the virtual agent 70a, as shown in FIG. synchronously), the arm 122 corresponding to the virtual agent 70a is operated. That is, the robot 12 uses the arm 122 to shake hands. Therefore, the user 60 holds the arm 122 of the robot 12 and shakes hands while watching the handshake of the virtual agent 70a on the HMD 20 . That is, the user 60 is presented with a visual stimulus by the animation of the virtual agent 70 displayed on the HMD 20 , and a contact stimulus by the action of the robot 12 is given to the user 60 .

図示は省略するが、カメラ18cの画像などからユーザの手の動きを検出可能にしておくことにより、ユーザが握手を行う場合に、ユーザの手の画像もHMD20に表示することができる。ただし、ユーザの手の動きを検出しない場合であっても、ユーザの手等がロボット12のアームに触れたことは触覚センサ48の出力から知ることができるため、ユーザ手等がロボット12のアームに触れたことが検知された場合に、ユーザの手の画像をHMD20に表示するようにしてもよい。以下、ユーザが握手する場合について同様である。 Although illustration is omitted, by enabling the movement of the user's hand to be detected from the image of the camera 18c, etc., the image of the user's hand can also be displayed on the HMD 20 when the user shakes hands. However, even if the movement of the user's hand is not detected, it can be detected from the output of the tactile sensor 48 that the user's hand or the like has touched the arm of the robot 12. The image of the user's hand may be displayed on the HMD 20 when it is detected that the is touched. Hereinafter, the same applies to the case where the user shakes hands.

また、図示は省略するが、第1疑似接触処理では、3体の仮想エージェント70がロボット12に割り当てられた場合も、同様に、仮想空間において、ユーザ60(視点)が最も近づいた仮想エージェント70が握手を行い、ロボット12は、当該仮想エージェント70に対応するアーム122、124または126を用いて握手の動作を実行する。 Also, although illustration is omitted, in the first pseudo-contact process, when three virtual agents 70 are assigned to the robot 12, similarly, the virtual agent 70 to which the user 60 (viewpoint) is closest in the virtual space handshake, and the robot 12 uses the arm 122 , 124 or 126 corresponding to the virtual agent 70 to perform the handshake motion.

なお、第1疑似接触処理では、1体の仮想エージェント70がロボット12に割り当てられた場合には、仮想空間において、ユーザ60(視点)が当該仮想エージェント70に近づくと、当該仮想エージェント70は握手を行い、ロボット12は、当該仮想エージェント70が対応するアーム122または124を用いて握手の動作を実行する。 In the first pseudo-contact process, when one virtual agent 70 is assigned to the robot 12, when the user 60 (viewpoint) approaches the virtual agent 70 in the virtual space, the virtual agent 70 shakes hands. , and the robot 12 uses the arm 122 or 124 to which the virtual agent 70 corresponds to perform a handshake action.

また、この実施例では、ユーザ60と各仮想エージェント70の親密度が設定されており、第1疑似接触処理においては、ユーザ60が仮想エージェント70と握手すると、当該ユーザ60に対する当該仮想エージェント70の親密度が向上される。たとえば、握手をしたことが無い仮想エージェント70の親密度は0に設定され、握手をする度に、親密度が1加算される。たとえば、親密度は、仮想エージェント70を選択する際の条件として使用することができ、また、挨拶するときの発話内容の決定に使用することができる。仮想エージェント70を選択する場合に、親密度が高いまたは低い仮想エージェント70を選択することができる。また、親密度が0のユーザ60に対しては“はじめまして”と挨拶し、親密度が1以上のユーザ60に対しては“こんにちは”または“久しぶり”と挨拶することができる。これらは一例であり、親密度は他の用途に使用されてもよい。 Also, in this embodiment, the degree of intimacy between the user 60 and each virtual agent 70 is set. Increased intimacy. For example, the familiarity level of the virtual agent 70 that has never shaken hands is set to 0, and the familiarity level is incremented by 1 every time handshake occurs. For example, familiarity can be used as a condition for selecting the virtual agent 70, and can be used to determine what to say when greeting. When selecting a virtual agent 70, a virtual agent 70 with high or low familiarity can be selected. In addition, it is possible to greet a user 60 with a degree of familiarity of 0 with "Nice to meet you", and greet a user 60 with a degree of familiarity of 1 or higher with "Hello" or "Long time no see". These are just examples, and affinity may be used for other purposes.

また、第1疑似接触処理では、複数の仮想エージェント70のうちの少なくとも1つの仮想エージェント70がユーザ60に対して挨拶したり、複数の仮想エージェント70はユーザ60と個別に対話したりする。仮想エージェント70がユーザ60に挨拶することで、ユーザ60はロボット12に近づくように誘導される。また、ユーザ60が複数の仮想エージェント70と個別に対話する場合には、一例として、複数の仮想エージェント70は、順番にユーザ60に話しかけ、複数の仮想エージェント70の発話が終了すると、次にユーザ60が発話する。 Also, in the first pseudo-contact process, at least one virtual agent 70 among the plurality of virtual agents 70 greets the user 60, and the plurality of virtual agents 70 interacts with the user 60 individually. User 60 is guided to approach robot 12 by virtual agent 70 greeting user 60 . Further, when the user 60 interacts with a plurality of virtual agents 70 individually, as an example, the plurality of virtual agents 70 speak to the user 60 in order, and when the plurality of virtual agents 70 finishes speaking, the user 60 speaks.

なお、本件は、ロボット12の動作によって、ユーザ60に、仮想エージェント70の動作を疑似的に体感させる、つまり、疑似的接触を提示することが目的であるため、ユーザ60と仮想エージェント、70は対話しなくてもよい。 In this case, the purpose of this case is to allow the user 60 to simulate the motion of the virtual agent 70 through the motion of the robot 12, that is, to present a pseudo contact. You don't have to interact.

また、第1疑似接触処理は、ユーザ60がロボット12から離れる、ロボット12に対して手を振る、またはユーザ60がHMD20を外すなどの特定の動作を行ったり、ユーザ60が「さようなら」または「ばいばい」などの特定の内容を発話したりした場合に、第1疑似接触処理は終了される。このことは、第2疑似接触処理を終了する場合についても同様である。なお、ユーザ60がHMD20を外したことはカメラ18cの画像に基づいて検出することができる。 In the first pseudo-contact process, the user 60 moves away from the robot 12, waves a hand toward the robot 12, performs a specific action such as the user 60 removing the HMD 20, or when the user 60 says "Goodbye" or " When the user utters a specific content such as "bye bye", the first pseudo-contact process is terminated. This is the same when ending the second pseudo-contact process. It should be noted that removal of the HMD 20 by the user 60 can be detected based on the image captured by the camera 18c.

第2疑似接触処理では、ロボット12に割り当てられた1体、2体および3体の仮想エージェント70がユーザ60に近づき、ユーザ60はロボット12に割り当てられた1体、2体または3体の仮想エージェント70と握手する。ユーザ60がロボット12と握手できる所定距離dfまで接近すると、サーバ16のCPU16aは、第2疑似接触処理を開始する。このようにするのは、第2疑似接触処理では、仮想空間において、仮想エージェント70をユーザ60(視点)に近づけて握手するため、ユーザ60はロボット12と握手できる距離に近づいている必要があるからである。 In the second pseudo-contact process, one, two, and three virtual agents 70 assigned to the robot 12 approach the user 60, and the user 60 interacts with one, two, or three virtual agents assigned to the robot 12. Shake hands with Agent 70. When the user 60 approaches the robot 12 within a predetermined distance df at which they can shake hands, the CPU 16a of the server 16 starts the second pseudo-contact process. This is because in the second pseudo-contact process, the virtual agent 70 is brought close to the user 60 (viewpoint) in the virtual space to shake hands, so the user 60 needs to be close enough to the robot 12 to shake hands. It is from.

なお、第2疑似接触処理では、仮想エージェント70をユーザ(視点)に近づけるように移動させるため、この実施例では、サーバ16は、第2疑似接触処理を開始したときに、1または複数の仮想エージェント70を描画する場合には、実空間のロボット12とユーザ60の位置関係よりも、1または複数の仮想エージェント70を視点から離した位置に配置(描画)する。 In the second pseudo-contact process, the virtual agent 70 is moved closer to the user (viewpoint). Therefore, in this embodiment, the server 16 performs one or more virtual When drawing the agent 70, one or a plurality of virtual agents 70 are placed (drawn) at positions farther from the viewpoint than the positional relationship between the robot 12 and the user 60 in the real space.

第2疑似接触処理が開始されると、ロボット12に割り当てられた1体、2体または3体の仮想エージェント70は次第にユーザ60(仮想のカメラ)に近づけられる。ロボット12に割り当てられた1体、2体または3体の仮想エージェント70とロボット12の各々に信号を送信し、ロボット12に割り当てられたすべての仮想エージェント70の握手のアニメーションをHMD20に表示させるとともに、ロボット12に握手を開始させる。つまり、ユーザ60に対する接触動作が実行される。ただし、第2疑似接触処理では、ロボット12に割り当てられたすべての仮想エージェント70が同時に握手を行うため、ロボット12が握手を行う場合には、ロボット12に割り当てられたすべての仮想エージェント70に対応するアームが動作される。つまり、1体の仮想エージェント70および2体の仮想エージェント70がロボット12に割り当てられている場合には、アーム122および126が動作される。また、3体の仮想エージェント70がロボット12に割り当てられている場合には、アーム122、124および126が動作される。したがって、ユーザ60は、ロボット12のアーム122、124および126のうちのいずれか1つまたは2つを握って握手することができ、ロボット12に割り当てられた1体、2体または3体のすべての仮想エージェント70と握手している体感を得る。つまり、疑似的な接触がユーザ60に提示される。 When the second pseudo-contact process is started, one, two or three virtual agents 70 assigned to the robot 12 are gradually brought closer to the user 60 (virtual camera). A signal is transmitted to each of one, two or three virtual agents 70 assigned to the robot 12 and the robot 12 to cause the HMD 20 to display the handshake animation of all the virtual agents 70 assigned to the robot 12. , causing the robot 12 to initiate a handshake. That is, a contact action is performed on the user 60 . However, in the second pseudo-contact process, all the virtual agents 70 assigned to the robot 12 shake hands at the same time. An arm is operated. That is, if one virtual agent 70 and two virtual agents 70 are assigned to robot 12, arms 122 and 126 are actuated. Also, if three virtual agents 70 are assigned to robot 12, arms 122, 124 and 126 are actuated. Thus, the user 60 can grasp and shake any one or two of the arms 122, 124 and 126 of the robot 12 and all one, two or three of the arms 122, 124 and 126 assigned to the robot 12 to get the feeling of shaking hands with a virtual agent 70 of In other words, a pseudo contact is presented to the user 60 .

たとえば、3体の仮想エージェント70がロボット12に割り当てられている場合において、仮想空間において、3体の仮想エージェント70がユーザ60(視点)に近づくと、図8に示すように、3体の仮想エージェント70(70a、70b、70c)が握手を行い、これに関連(または、同期)して、3体の仮想エージェント70の各々に対応するアーム122、124および126が動作される。つまり、ロボット12はアーム122、124および126を用いて握手を行う。したがって、ユーザ60は、HMD20で3体の仮想エージェント70が握手する様子を見ながら、ロボット12のアーム122、124および126のうちの1つまたは2つを握って握手する。つまり、HMD20に表示された仮想エージェント70のアニメーションによる視覚刺激がユーザ60に提示されるとともに、ロボット12の動作による接触刺激がユーザ60に与えられる。 For example, when three virtual agents 70 are assigned to the robot 12, when the three virtual agents 70 approach the user 60 (viewpoint) in the virtual space, as shown in FIG. Agents 70 (70a, 70b, 70c) shake hands, and associated (or synchronized) arms 122, 124 and 126 corresponding to each of the three virtual agents 70 are moved. That is, robot 12 uses arms 122, 124 and 126 to shake hands. Therefore, the user 60 shakes hands by grasping one or two of the arms 122, 124 and 126 of the robot 12 while watching the three virtual agents 70 shaking hands on the HMD 20. FIG. That is, the user 60 is presented with a visual stimulus by the animation of the virtual agent 70 displayed on the HMD 20 , and a contact stimulus by the action of the robot 12 is given to the user 60 .

図示は省略するが、第2疑似接触処理では、2体の仮想エージェント70がロボット12に割り当てられた場合も、同様に、仮想空間において、2体の仮想エージェント70がユーザ60(視点)に近づくと、当該2体の仮想エージェント70が握手を行い、ロボット12は、当該2体の仮想エージェント70に対応するアーム122および126を用いて握手の動作を実行する。 Although not shown, in the second pseudo-contact process, when two virtual agents 70 are assigned to the robot 12, the two virtual agents 70 also approach the user 60 (viewpoint) in the virtual space. Then, the two virtual agents 70 shake hands, and the robot 12 uses the arms 122 and 126 corresponding to the two virtual agents 70 to perform the handshake action.

なお、第2疑似接触処理では、1体の仮想エージェント70がロボット12に割り当てられた場合には、仮想空間において、1体の仮想エージェント70がユーザ60(視点)に近づくと、当該1体の仮想エージェント70は握手を行い、ロボット12は、当該1体の仮想エージェント70が対応するアーム122を用いて握手の動作を実行する。 In the second pseudo contact process, when one virtual agent 70 is assigned to the robot 12, when the one virtual agent 70 approaches the user 60 (viewpoint) in the virtual space, the one virtual agent The virtual agent 70 shakes hands, and the robot 12 uses the arm 122 to which the one virtual agent 70 corresponds to perform the handshake action.

なお、詳細な説明は省略するが、ロボット12はアーム122、124、126のフレーム122a、124a、126aにそれぞれ触覚センサ48を備えるため、第1疑似接触処理および第2疑似接触処理において、ロボット12が握手を行っている場合には、ユーザ60の手等が触れたことを検出すると、アーム122、124、126を上下に反復移動させるようにしてもよい。 Although detailed description is omitted, the robot 12 includes the tactile sensors 48 on the frames 122a, 124a, and 126a of the arms 122, 124, and 126, respectively. is shaking hands, the arms 122, 124, and 126 may be repeatedly moved up and down upon detecting that the user 60's hand or the like has touched them.

また、アーム122、124、126の動きが仮想エージェント70の動きに関連して変化するが、サーバ16には、そのような関連性をより高めることができるように、ロボット12の動作(状態遷移)と、HMD20での仮想エージェント70の動作(状態遷移)とを同期させることができるプログラムが設定されている。 Also, the movements of the arms 122, 124, and 126 change in relation to the movements of the virtual agent 70, but the server 16 stores the movements (state transitions) of the robot 12 so that such relevance can be further enhanced. ) and the operation (state transition) of the virtual agent 70 on the HMD 20 are set.

そのプログラムでは、仮想エージェント70の腕および肩の関節の角度と一致するように、ロボット12の関節122c、122d、124c、124d、126c、126dの関節角(各関節を制御するアクチュエータA1-Anで検出され、モータ制御にフィードバックされる)が制御される。 In that program, the joint angles of the joints 122c, 122d, 124c, 124d, 126c, and 126d of the robot 12 (actuators A1-An controlling each joint are detected and fed back to the motor control) is controlled.

ただし、ロボット12の動作と仮想エージェント70の動作とは必ずしも同期させる必要はない。ロボット12の動作とHMD20に表示される仮想エージェント70の動作とが多少時間的に前後しても、ある程度のずれであれば問題がないことを確認している。 However, the motion of the robot 12 and the motion of the virtual agent 70 do not necessarily have to be synchronized. It has been confirmed that there is no problem even if the motion of the robot 12 and the motion of the virtual agent 70 displayed on the HMD 20 are slightly behind each other as long as there is a certain degree of lag.

ロボット12の動作と仮想エージェント70の動作とを同期させる場合には、ロボット12の動作の遅延時間を予め検出しておき、その遅延時間を考慮して、仮想エージェント70のアニメーションの再生を行えば良い。 When synchronizing the action of the robot 12 and the action of the virtual agent 70, the delay time of the action of the robot 12 is detected in advance, and the animation of the virtual agent 70 is reproduced in consideration of the delay time. good.

図9はサーバ16に内蔵されるメモリ(ここでは、RAM)16bのメモリマップ300の一例を示す。図9に示すように、メモリ16bは、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、この実施例の制御プログラムが記憶されている。 FIG. 9 shows an example of a memory map 300 of the memory (here, RAM) 16b built in the server 16. As shown in FIG. As shown in FIG. 9, memory 16b includes program storage area 302 and data storage area 304 . A program storage area 302 stores the control program of this embodiment.

制御プログラムは、通信プログラム302a、割当プログラム302b、センサ値検出プログラム302c、画像生成プログラム302dおよびロボット制御プログラム302eなどを含む。 The control programs include a communication program 302a, an allocation program 302b, a sensor value detection program 302c, an image generation program 302d, a robot control program 302e, and the like.

通信プログラム302aは、外部の機器、この実施例では、ロボット12およびHMD20のそれぞれと有線または無線で通信するためのプログラムである。 The communication program 302a is a program for communicating with an external device, the robot 12 and the HMD 20 in this embodiment, by wire or wirelessly.

割当プログラム302bは、ユーザの操作等に従って設定された仮想エージェント70の数に応じて、ロボット12に1または複数の仮想エージェント70を割り当てるためのプログラムである。 The allocation program 302b is a program for allocating one or more virtual agents 70 to the robot 12 according to the number of virtual agents 70 set according to user's operation or the like.

センサ値検出プログラム302cは、各種のセンサ(この実施例では、触覚センサ48、カメラ50およびマイク56)からの出力を検出するためのプログラムである。 The sensor value detection program 302c is a program for detecting outputs from various sensors (the tactile sensor 48, the camera 50 and the microphone 56 in this embodiment).

画像生成プログラム302dは、HMD20に表示する画像データを生成するためのプログラムである。この実施例では、ロボット12に割り当てられた1または複数の仮想エージェント70の静止画および動画(アニメーション)についての画像データが生成される。 The image generation program 302d is a program for generating image data to be displayed on the HMD 20. FIG. In this embodiment, image data is generated for still and animated images of one or more virtual agents 70 assigned to robot 12 .

ロボット制御プログラム302eは、ロボット12に割り当てられた1または複数の仮想エージェント70が所定の第1の動作および第2の動作(この実施例では、第1の動作および第2の動作は、握手)する場合に、各仮想エージェント70に対応するアーム(122および124、または、122、124および126)を、所定の第1の動作および第2の動作に同期して動作させる動作データと、必要に応じて、ロボット12の発話内容に対応する音声データをロボット12に送信するためのプログラムである。 The robot control program 302e causes one or more virtual agents 70 assigned to the robot 12 to perform predetermined first and second actions (in this embodiment, the first and second actions are shaking hands). 122 and 124, or 122, 124 and 126) corresponding to each virtual agent 70 in synchronization with predetermined first and second motions; This is a program for transmitting voice data corresponding to the utterance content of the robot 12 to the robot 12 in response.

図示は省略するが、プログラム記憶領域302には、ロボット12の制御および仮想エージェント70の制御を行うための他のプログラムも記憶される。 Although not shown, the program storage area 302 also stores other programs for controlling the robot 12 and the virtual agent 70 .

また、データ記憶領域304には、センサ値データ304a、アーム制御データ304b、発話データ304cおよび画像データ304dが記憶される。 The data storage area 304 also stores sensor value data 304a, arm control data 304b, speech data 304c, and image data 304d.

センサ値データ304aは、各種のセンサから出力されたデータであり、センサ値検出プログラム302cに従って検出されたデータである。アーム制御データ304bは、ロボット12のアーム122、124および126を制御するためのデータであり、具体的には、アクチュエータを駆動するためのデータである。 The sensor value data 304a is data output from various sensors and detected according to the sensor value detection program 302c. The arm control data 304b is data for controlling the arms 122, 124 and 126 of the robot 12, specifically, data for driving the actuators.

発話データ304cは、ロボット12に割り当てられた仮想エージェント70が発話する内容の合成音声のデータである。ただし、発話(対話)コンテンツは予めデータベース(たとえば、サーバ16のメモリ16b)に設定しておいたコンテンツを利用したり、ウェブ上のAPI(Application Programming Interface)などを利用したりすることができる。 The utterance data 304c is synthesized speech data of the content uttered by the virtual agent 70 assigned to the robot 12. FIG. However, utterance (dialogue) content can use content set in advance in a database (for example, memory 16b of server 16) or use an API (Application Programming Interface) on the web.

画像データ304dは、仮想エージェント70をHMD20に表示するための画像データであり、画像生成プログラム302dに従って生成される。ただし、画像データ304dは、仮想エージェント70の静止画のデータおよび仮想エージェント70の動作についてのアニメーションのデータを含む。 The image data 304d is image data for displaying the virtual agent 70 on the HMD 20, and is generated according to the image generation program 302d. However, the image data 304 d includes still image data of the virtual agent 70 and animation data of the action of the virtual agent 70 .

図示は省略するが、データ記憶領域304には、ロボット12の制御および仮想エージェント70の制御を行うために必要な他のデータが記憶されたり、タイマ(カウンタ)およびフラグが設けられたりする。 Although illustration is omitted, the data storage area 304 stores other data necessary for controlling the robot 12 and the virtual agent 70, and provides timers (counters) and flags.

図10および図11は、図1に示したサーバ16に内蔵されるCPU16aの第1疑似接触処理のフロー図である。図12および図13は、図1に示したサーバ16に内蔵されるCPU16aの第2疑似接触処理のフロー図である。以下、第1疑似接触処理および第2疑似接触処理について説明するが、一度説明した処理と同じ処理については簡単に説明することにする。また、第1疑似接触および第2疑似接触の動作は、この実施例では、サーバ16のCPU16aがメモリ16bに設定されている制御プログラムに従って実行する。つまり、サーバ16のCPU16aがロボット12のCPU36(図3)に指令信号を送ることによって、サーバ16が間接的にロボット12の動作も制御する。 10 and 11 are flowcharts of the first pseudo-contact processing of the CPU 16a incorporated in the server 16 shown in FIG. 12 and 13 are flow charts of the second pseudo-contact processing of the CPU 16a incorporated in the server 16 shown in FIG. The first pseudo-contact process and the second pseudo-contact process will be described below, but the same processes as those already described will be briefly described. Also, in this embodiment, the operations of the first pseudo-contact and the second pseudo-contact are executed by the CPU 16a of the server 16 according to a control program set in the memory 16b. In other words, the server 16 indirectly controls the operation of the robot 12 by sending a command signal from the CPU 16a of the server 16 to the CPU 36 of the robot 12 (FIG. 3).

図10に示すように、CPU16aは、第1疑似接触処理を開始すると、ステップS1で、カメラ18cからの画像データを検出し、ステップS3で、ステップS1で検出した画像データに基づいて、ユーザ60が誰であるかを同定する。 As shown in FIG. 10, when the CPU 16a starts the first pseudo-contact process, in step S1, the CPU 16a detects image data from the camera 18c. identify who the

ただし、カメラ18cからの画像データではなく、たとえばRFID(radio frequency identifier)など他の手段を利用してユーザ60の個人同定を行うようにしてもよい。この場合、CPU16aは、ステップS1では、RFIDを検出する。 However, the personal identification of the user 60 may be performed using other means such as RFID (radio frequency identifier) instead of the image data from the camera 18c. In this case, the CPU 16a detects the RFID in step S1.

なお、ユーザ60が予め登録されておらず、ステップS1で誰であるかを同定できなかったユーザ60に対しては、匿名のIDを暫定的に割り当てることによって処理を継続することもできる。 For users 60 who have not been registered in advance and whose identities could not be identified in step S1, it is possible to continue the process by provisionally assigning an anonymous ID.

続くステップS5では、仮想エージェント70の数を設定する。上述したように、仮想エージェント70の数は、ロボット12が備えるアームの本数以内で、ユーザの操作等に従って設定することができ、この実施例では、1-3のいずれかに設定される。 In the following step S5, the number of virtual agents 70 is set. As described above, the number of virtual agents 70 can be set according to the user's operation within the number of arms provided in the robot 12, and is set to any one of 1-3 in this embodiment.

続くステップS7では、仮想エージェント70の数が1であるかどうかを判断する。ステップS7で“YES”であれば、つまり、仮想エージェント70の数が1であれば、ステップS9で、HMD20に1体の仮想エージェント70を表示して、図11に示すステップS17に進む。 In the following step S7, it is determined whether or not the number of virtual agents 70 is one. If "YES" in step S7, that is, if the number of virtual agents 70 is 1, in step S9, one virtual agent 70 is displayed on the HMD 20, and the process proceeds to step S17 shown in FIG.

ただし、ステップS9では、ステップS3で同定したユーザ60に応じて選択された1体の仮想エージェント70が、その右腕がアーム122と重なり、かつ、その左腕がアーム124と重なる位置に描画された画像データがHMD20に送信される。 However, in step S9, an image of one virtual agent 70 selected according to the user 60 identified in step S3 is drawn at a position where the right arm overlaps the arm 122 and the left arm overlaps the arm 124. Data is sent to the HMD 20 .

この場合、サーバ16は、ユーザ60と同性または異性の仮想エージェント70の候補からランダムに選択してもよいし、ユーザ60が自分のために予め登録している仮想エージェント70を手動的に選択するようにしてもよい。 In this case, the server 16 may randomly select from virtual agent candidates 70 of the same sex or the opposite sex as the user 60, or manually select a virtual agent 70 that the user 60 has pre-registered for himself/herself. You may do so.

ただし、上述の匿名IDを持つユーザ60に対しては、特定の仮想エージェント70を手動的に選択してもよい。 However, a specific virtual agent 70 may be manually selected for a user 60 with an anonymous ID as described above.

このように仮想エージェント70を手動的に選択させる場合には、たとえばHMD20に選択スイッチ(図示せず)を設け、その選択スイッチの操作に応じて、サーバ16が仮想エージェント70の候補の画像を順次HMD20に表示し、所望の仮想エージェント70が表示されるとその選択スイッチの操作を停止すればよい。 When the virtual agent 70 is manually selected in this manner, for example, a selection switch (not shown) is provided on the HMD 20, and the server 16 sequentially selects images of candidates for the virtual agent 70 according to the operation of the selection switch. When the desired virtual agent 70 is displayed on the HMD 20, the operation of the selection switch may be stopped.

なお、ロボット12とユーザ60との距離dは、予め決定されているロボット12の位置と、位置検出装置18aからの位置情報に基づいて算出され、仮想空間において、視点(仮想のカメラ)とロボット12の距離が現実空間における距離dに相当する距離に設定され、仮想エージェント70が描画される。また、上述したように、仮想のカメラの注視点は、仮想空間におけるロボット12の中心である。以下、仮想エージェント70を描画して画像データを生成する場合について同様である。 The distance d between the robot 12 and the user 60 is calculated based on the predetermined position of the robot 12 and the position information from the position detection device 18a. A distance of 12 is set to a distance corresponding to the distance d in the real space, and the virtual agent 70 is drawn. Also, as described above, the gaze point of the virtual camera is the center of the robot 12 in the virtual space. The same applies to the case where the virtual agent 70 is rendered to generate image data.

一方、ステップS7で“NO”であれば、つまり、仮想エージェント70の数が1でなければ、ステップS11で、仮想エージェント70の数が2であるかどうかを判断する。 On the other hand, if "NO" in step S7, that is, if the number of virtual agents 70 is not one, it is determined whether or not the number of virtual agents 70 is two in step S11.

ステップS11で“YES”であれば、つまり、仮想エージェント70の数が2であれば、ステップS13で、HMD20に2体の仮想エージェント70を表示して、ステップS17に進む。 If "YES" in step S11, that is, if the number of virtual agents 70 is two, two virtual agents 70 are displayed on the HMD 20 in step S13, and the process proceeds to step S17.

ただし、ステップS13では、ステップS3で同定したユーザ60に応じて選択された2体の仮想エージェント70が、そのうちの一方の1体の左腕がアーム122と重なり、かつ、そのうちの他方の1体の右腕がアーム124と重なり、横並びで描画された画像データがHMD20に送信される。 However, in step S13, the two virtual agents 70 selected according to the user 60 identified in step S3 overlap the left arm of one of them with the arm 122, and the other one of them Image data in which the right arm overlaps the arm 124 and is drawn side by side is transmitted to the HMD 20 .

一方、ステップS11で“NO”であれば、つまり、仮想エージェント70の数が3であれば、ステップS15で、HMD20に3体の仮想エージェント70を表示して、ステップS17に進む。 On the other hand, if "NO" in step S11, that is, if the number of virtual agents 70 is three, three virtual agents 70 are displayed on the HMD 20 in step S15, and the process proceeds to step S17.

ただし、ステップS15では、ステップS3で同定したユーザ60に応じて選択された3体の仮想エージェント70が、そのうちの1体の右腕がアーム122と重なり、残りの2体のうちの一方の1体の右腕がアーム124と重なり、かつ、残りの2体のうちの他方の1体の左腕がアーム126と重なり、横並びで描画された画像データがHMD20に送信される。 However, in step S15, one of the three virtual agents 70 selected according to the user 60 identified in step S3 has its right arm overlapped with the arm 122, and one of the remaining two The right arm of one of the remaining two overlaps the arm 124, and the left arm of the other one of the remaining two overlaps the arm 126, and the image data drawn side by side is transmitted to the HMD 20.

図11に示すように、ステップS17では、話題を選択し、対話を開始する。このとき、ユーザ60が対話のテーマを選択してもよいし、サーバ16に蓄積している各ユーザ60の対話履歴に基づいて特定のテーマを自動的に選択するようにしてもよい。また、ステップS17では、対話を開始するに際して、挨拶についての発話内容の合成音声データをロボット12およびHMD20に送信する。ただし、挨拶に代えて、ユーザ60をロボット12に近づけたり、対話を誘導したりする発話内容であってもよい。さらに、複数の仮想エージェント70がロボット12に割り当てられている場合には、複数の仮想エージェント70の各々についての発話内容の合成音声データが所定の順番でロボット12およびHMD20に送信される。ただし、これは一例であり、いずれか1体の仮想エージェント70の発話内容の合成音声データのみが送信されてもよい。ただし、仮想エージェント70の種類に応じて合成音声の音高(周波数)が変化される。 As shown in FIG. 11, in step S17, a topic is selected and dialogue is started. At this time, the user 60 may select a dialogue theme, or a specific theme may be automatically selected based on the dialogue history of each user 60 stored in the server 16 . Also, in step S17, when starting the dialogue, synthetic speech data of the utterance content of the greeting is transmitted to the robot 12 and the HMD 20. FIG. However, instead of the greeting, the content of the utterance may bring the user 60 closer to the robot 12 or induce a dialogue. Furthermore, when a plurality of virtual agents 70 are assigned to the robot 12 , synthetic voice data of the utterance contents of each of the plurality of virtual agents 70 are transmitted to the robot 12 and HMD 20 in a predetermined order. However, this is only an example, and only the synthetic voice data of the utterance content of any one virtual agent 70 may be transmitted. However, the pitch (frequency) of the synthesized speech is changed according to the type of virtual agent 70 .

続く、ステップS19では、ロボット12のすべてのアーム122、124および126を初期位置に戻す。つまり、CPU16aは、ロボット12に、アーム122、124および126を初期位置に戻す制御データを送信する。 Subsequently, in step S19, all arms 122, 124 and 126 of robot 12 are returned to their initial positions. That is, the CPU 16a transmits to the robot 12 control data for returning the arms 122, 124 and 126 to their initial positions.

続いて、ステップS21で、一定時間(たとえば、2~3秒)待機する。ここでは、ロボット12およびすべての仮想エージェント70の移動および動作を一定時間停止させる。そして、ステップS23で、ユーザ60(視点)が仮想エージェント70と握手できる距離に近づいたかどうかを判断する。ただし、複数の仮想エージェント70がロボット12に割り当てられている場合には、いずれか1体の仮想エージェント70と握手できる距離に近づいたかどうかを判断する。つまり、現実空間において、ユーザ60と、仮想エージェント70が割り当てられたロボット12のアーム122、124、126との距離が所定距離df以下であるかどうかを判断する。具体的には、CPU16aは、ネットワーク14を通してロボット12から受信したカメラ50からの画像データに基づいて、ユーザ60が、アーム122、124および126の少なくとも1つと握手可能な位置まで近づいてきたかどうか判断する。 Subsequently, in step S21, it waits for a certain period of time (for example, 2 to 3 seconds). Here, the movements and actions of the robot 12 and all virtual agents 70 are stopped for a certain period of time. Then, in step S23, it is determined whether or not the user 60 (viewpoint) has approached the distance at which the virtual agent 70 can shake hands. However, if a plurality of virtual agents 70 are assigned to the robot 12, it is determined whether or not the robot 12 has come close enough to shake hands with any one of the virtual agents 70. FIG. That is, it is determined whether or not the distance between the user 60 and the arms 122, 124, 126 of the robot 12 to which the virtual agent 70 is assigned is equal to or less than the predetermined distance df in the real space. Specifically, the CPU 16a determines whether or not the user 60 has come close enough to shake hands with at least one of the arms 122, 124 and 126 based on the image data from the camera 50 received from the robot 12 through the network 14. do.

ただし、カメラ50からの画像データをモニタ(図示せず)上で確認し、オペレータが判断するようにしてもよい。 However, the operator may check the image data from the camera 50 on a monitor (not shown) and make a decision.

なお、このステップS23の判断のためには、実施例ではカメラ50の画像データを解析するようにしたが、たとえばロボット12を置いている床または天井のような環境に設置しているカメラ18c、先に説明したレーザ距離計(Oculus Sensors)、マットセンサのようなユーザ60位置検知システムを利用するようにしてもよい。 In the embodiment, the image data of the camera 50 is analyzed for the determination of step S23. User 60 position sensing systems such as laser rangefinders (Oculus Sensors), matte sensors, etc. previously described may be utilized.

ステップS23で“NO”であれば、つまり、ユーザ60が仮想エージェント70と握手できる距離に近づいていなければ、ステップS21に戻る。一方、ステップS23で“YES”であれば、つまり、ユーザ60が仮想エージェント70と握手できる距離に近づいていれば、ステップS25で、ユーザ60に最も近い仮想エージェント70の腕をユーザ60(視点)に近づけて握手する。ここでは、CPU16aは、ユーザ60に最も近い仮想エージェント70の腕を仮想空間における視点の方向に近づけて握手するアニメーションを再生する。 If "NO" in step S23, that is, if the user 60 is not close enough to shake hands with the virtual agent 70, the process returns to step S21. On the other hand, if "YES" in step S23, that is, if the user 60 is close enough to shake hands with the virtual agent 70, the arm of the virtual agent 70 closest to the user 60 is brought to the user 60 (viewpoint) in step S25. Get close to and shake hands. Here, the CPU 16a reproduces an animation in which the arm of the virtual agent 70 closest to the user 60 approaches the direction of the viewpoint in the virtual space and handshake.

続くステップS27で、ユーザ60に最も近い仮想エージェント70に対応するロボット12のアーム122、124または126をユーザ60に近づけて握手する。ステップS27では、CPU16aは、アクチュエータ制御回路44を通して関節(122cと122d、124cと124d、または、126cと126d)のアクチュエータを制御することで、ユーザ60に最も近い仮想エージェント70に対応するロボット12のアーム122、124または126を、上腕(フレーム122b)に対する前腕(フレーム122a)の角度、上腕(フレーム124b)に対する前腕(フレーム124a)の角度、または、上腕(フレーム126b)に対する前腕(フレーム126a)の角度を70°に設定した状態で、ユーザ60が存在する方向に少し上げる(または、前に出す)。 In the subsequent step S27, the arm 122, 124 or 126 of the robot 12 corresponding to the virtual agent 70 closest to the user 60 is brought close to the user 60 to shake hands. In step S27, the CPU 16a controls the actuators of the joints (122c and 122d, 124c and 124d, or 126c and 126d) through the actuator control circuit 44 to move the robot 12 corresponding to the virtual agent 70 closest to the user 60. Arm 122, 124 or 126 can be positioned at the angle of the forearm (frame 122a) relative to the upper arm (frame 122b), the angle of the forearm (frame 124a) relative to the upper arm (frame 124b), or the angle of the forearm (frame 126a) relative to the upper arm (frame 126b). With the angle set to 70°, raise (or move forward) slightly in the direction where the user 60 is.

続いて、ステップS29で、当該仮想エージェント70の親密度を向上させ、ステップS31で、話題に応じた対話を実行する。ここでは、CPU16aは、ステップS17で選択した話題に応じた対話を実行する。ただし、対話の履歴を記憶しておくことにより、選択した話題について過去に対話したことが有る場合には、重複しない発言内容が選択される。 Subsequently, in step S29, the familiarity of the virtual agent 70 is improved, and in step S31, dialogue corresponding to the topic is executed. Here, the CPU 16a executes dialogue according to the topic selected in step S17. However, by storing the conversation history, when the selected topic has been discussed in the past, non-overlapping statement contents are selected.

また、発言とともに、仮想エージェント70が動作を行う場合には、この仮想エージェント70が割り当てられたアーム122、124または126も仮想エージェント70の動作に同期して動作される。 In addition, when the virtual agent 70 performs an action along with the speech, the arm 122, 124 or 126 to which the virtual agent 70 is assigned also operates in synchronization with the action of the virtual agent 70. FIG.

そして、ステップS33では、ユーザ60が対話終了を希望しているかどうかを判断する。ここでは、CPU16aは、上記のようなユーザ60の特定の動作を検出したり、上記のようなユーザ60の特定の内容についての発話を検出したりした場合に、ユーザ60が対話終了を希望していると判断する。このことは、後述するステップS81の処理についても同様である。 Then, in step S33, it is determined whether or not the user 60 wishes to end the dialogue. Here, when the CPU 16a detects a specific action of the user 60 as described above or an utterance about a specific content of the user 60 as described above, the CPU 16a detects that the user 60 wishes to end the dialogue. It is determined that This also applies to the process of step S81, which will be described later.

ステップS33で“NO”であれば、つまり、ユーザ60が対話終了を希望していない場合にはステップS31に戻って対話を続行する。一方、ステップS33で“YES”であれば、つまり、ユーザ60が対話終了を希望している場合には、第1疑似接触処理を終了する。 If "NO" in step S33, that is, if the user 60 does not wish to end the dialogue, the process returns to step S31 to continue the dialogue. On the other hand, if "YES" in step S33, that is, if the user 60 wishes to end the dialogue, the first pseudo-contact process is ended.

また、図12に示すように、CPU16aは、第2疑似接触処理を開始すると、ステップS51で、カメラ18cからの画像データを検出し、ステップS53で、ステップS51で検出した画像データに基づいて、ユーザ60が誰であるか同定する。 Further, as shown in FIG. 12, when the second pseudo-contact process is started, the CPU 16a detects image data from the camera 18c in step S51, and based on the image data detected in step S51 in step S53, Identify who the user 60 is.

ただし、第2疑似接触処理では、仮想エージェント70がユーザ60に近づくように、HMD20に画像を表示するため、上述したように、この第2疑似接触処理は、ユーザ60がロボット12と握手可能な位置に近づいたことを前提として開始される。 However, in the second pseudo-contact process, an image is displayed on the HMD 20 so that the virtual agent 70 approaches the user 60. Therefore, as described above, this second pseudo-contact process enables the user 60 to shake hands with the robot 12. It is started on the assumption that the position is approached.

続くステップS55で、仮想エージェント70の数を設定し、ステップS57で、仮想エージェント70の数が1であるかどうかを判断する。ステップS57で“YES”であれば、ステップS59で、HMD20に1体の仮想エージェント70を表示して、図13に示すステップS67に進む。 At subsequent step S55, the number of virtual agents 70 is set, and at step S57, it is determined whether or not the number of virtual agents 70 is one. If "YES" in step S57, one virtual agent 70 is displayed on the HMD 20 in step S59, and the process proceeds to step S67 shown in FIG.

一方、ステップS57で“NO”であれば、ステップS61で、仮想エージェント70の数が2であるかどうかを判断する。ステップS61で“YES”であれば、ステップS63で、HMD20に2体の仮想エージェント70を表示して、ステップS67に進む。一方、ステップS61で“NO”であれば、ステップS65で、HMD20に3体の仮想エージェント70を表示して、ステップS67に進む。 On the other hand, if "NO" in step S57, it is determined whether or not the number of virtual agents 70 is two in step S61. If "YES" in step S61, two virtual agents 70 are displayed on the HMD 20 in step S63, and the process proceeds to step S67. On the other hand, if "NO" in step S61, three virtual agents 70 are displayed on the HMD 20 in step S65, and the process proceeds to step S67.

なお、第2疑似接触処理では、上述したように、仮想エージェント70をユーザ(視点)に近づけるように移動させるため、CPU16aは、ステップS59、S63およびS65において1または複数の仮想エージェント70を描画する場合には、実空間のロボット12とユーザ60の位置関係よりも、1または複数の仮想エージェント70を視点から離した位置に配置(描画)する。 In the second pseudo contact process, as described above, the CPU 16a draws one or more virtual agents 70 in steps S59, S63 and S65 in order to move the virtual agent 70 closer to the user (viewpoint). In this case, one or more virtual agents 70 are arranged (drawn) at positions farther from the viewpoint than the positional relationship between the robot 12 and the user 60 in the real space.

図13に示すように、ステップS67では、ロボット12のすべてのアーム122、124および126を初期位置に戻す。続いて、ステップS69で、一定時間待機する。次のステップS71では、すべての仮想エージェント70をユーザ60に接近させる。たとえば、CPU16aは、仮想空間において、すべての仮想エージェント70を視点に向けて所定距離(たとえば、70cm)移動させた場合の画像データを生成し、HMD20に送信する。 As shown in FIG. 13, in step S67, all arms 122, 124 and 126 of robot 12 are returned to their initial positions. Subsequently, in step S69, the system waits for a certain period of time. In the next step S71, all the virtual agents 70 are made to approach the user 60. FIG. For example, the CPU 16 a generates image data when all the virtual agents 70 are moved toward the viewpoint by a predetermined distance (for example, 70 cm) in the virtual space, and transmits the image data to the HMD 20 .

そして、ステップS73で、すべての仮想エージェント70がユーザ60と握手できる距離に近づいたかどうかを判断する。ここでは、仮想空間において、すべての仮想エージェント70と視点の距離が、それぞれ、所定距離df以下になったかどうかを判断する。 Then, in step S73, it is determined whether or not all the virtual agents 70 are close enough to shake hands with the user 60 or not. Here, in the virtual space, it is determined whether or not the distances between all the virtual agents 70 and the viewpoint are equal to or less than a predetermined distance df.

ステップS73で“NO”であれば、つまり、すべての仮想エージェント70がユーザ60と握手できる距離に近づいていなければ、ステップS69に戻る。一方、ステップS73で“YES”であれば、つまり、すべての仮想エージェント70が握手できる距離に近づいていれば、ステップS75で、すべての仮想エージェント70の腕をユーザ60に近づけて握手する。ここでは、CPU16aは、すべての仮想エージェント70の腕を仮想空間における視点の方向に近づけて握手するアニメーションを再生する。ただし、仮想エージェント70が1体の場合には、当該仮想エージェント70のアニメーションが再生される。仮想エージェント70が2体の場合には、当該2体の仮想エージェント70の各々のアニメーションが再生される。仮想エージェント70が3体の場合には、当該3体の仮想エージェント70のアニメーションの各々が再生される。 If "NO" in step S73, that is, if none of the virtual agents 70 are close enough to shake hands with the user 60, the process returns to step S69. On the other hand, if "YES" in step S73, that is, if all the virtual agents 70 are close enough to shake hands, then in step S75 the arms of all the virtual agents 70 are brought close to the user 60 to shake hands. Here, the CPU 16a reproduces an animation in which the arms of all the virtual agents 70 are brought closer to the direction of the viewpoint in the virtual space and handshake. However, when there is only one virtual agent 70, the animation of the virtual agent 70 is reproduced. When there are two virtual agents 70, the animation of each of the two virtual agents 70 is reproduced. When there are three virtual agents 70, each animation of the three virtual agents 70 is reproduced.

続くステップS77では、すべての仮想エージェント70に対応するロボット12のアームをユーザ60に近づけて握手する。ステップS77では、CPU16aは、すべての仮想エージェント70に対応するロボット12のアームを、上腕に対する前腕の角度を70°に設定した状態で、ユーザ60が存在する方向に少し上げる(または、前に出す)。ただし、仮想エージェント70が1体の場合には、アーム122の動作が制御される。仮想エージェント70が2体の場合には、アーム122および124の動作が制御される。仮想エージェント70が3体の場合には、アーム122、124および126の動作が制御される。 In the subsequent step S77, the arms of the robots 12 corresponding to all the virtual agents 70 are brought close to the user 60 to shake hands. In step S77, the CPU 16a raises the arms of the robots 12 corresponding to all the virtual agents 70 slightly in the direction in which the user 60 exists (or moves them forward) while setting the angle of the forearm to the upper arm at 70°. ). However, when there is one virtual agent 70, the movement of the arm 122 is controlled. When there are two virtual agents 70, the movements of arms 122 and 124 are controlled. When there are three virtual agents 70, the movements of arms 122, 124 and 126 are controlled.

続いて、ステップS79で、一定時間(たとえば、2~3秒)待機し、ステップS81で、ユーザ60が握手終了を希望しているかどうかを判断する。ステップS81で“NO”であれば、つまり、ユーザ60が握手終了を希望していない場合には、ステップS79に戻る。一方、ステップS81で“YES”であれば、つまり、ユーザ60が握手終了を希望している場合には、第2疑似接触処理を終了する。 Subsequently, in step S79, it waits for a certain period of time (for example, 2 to 3 seconds), and in step S81, it is determined whether or not the user 60 wishes to end the handshake. If "NO" in step S81, that is, if the user 60 does not wish to end the handshake, the process returns to step S79. On the other hand, if "YES" in step S81, that is, if the user 60 wishes to end the handshake, the second pseudo-contact process ends.

この実施例によれば、HMDを利用して複数の仮想エージェントを用いた任意の視覚刺激を提示しながら、複数の仮想エージェントが割り当てられたロボットの複数のアームから接触刺激を提示するので、仮想エージェントに接触している体感を得ることができる。つまり、新しい疑似的接触提示システムを提供することができる。 According to this embodiment, an HMD is used to present arbitrary visual stimuli using a plurality of virtual agents, while contact stimuli are presented from a plurality of arms of a robot to which a plurality of virtual agents are assigned. You can get the feeling that you are in contact with the agent. That is, a new pseudo-touch presentation system can be provided.

また、この実施例によれば、視覚刺激提示装置すなわちHMDが複数の仮想エージェントの動作を表示し、この動作に関連して、接触刺激提示装置の可動部すなわちロボットの複数のアームを動かすことよって接触刺激をユーザに提示するので、視覚刺激と接触刺激の一体感を高めることができる。 Further, according to this embodiment, the visual stimulus presentation device, that is, the HMD, displays the motions of a plurality of virtual agents, and by moving the movable parts of the contact stimulus presentation device, that is, the plurality of arms of the robot, in relation to the motions. Since the contact stimulus is presented to the user, the sense of unity between the visual stimulus and the contact stimulus can be enhanced.

なお、この実施例の第2疑似接触処理では、3体の仮想エージェントがロボットに割り当てられている場合には、3体の仮想エージェントをユーザ(視点)に近づけて動作を行うようにしたが、3体のうちの2体の仮想エージェントをユーザに近づけて動作を行うようにしてもよい。この場合、3体のうちの2体の仮想エージェントはランダムなどの所定のルールに従って、または、ユーザによって選択される。 In the second pseudo-contact process of this embodiment, when three virtual agents are assigned to the robot, the three virtual agents are brought closer to the user (viewpoint) to move. Two of the three virtual agents may be brought closer to the user to perform the action. In this case, two of the three virtual agents are selected according to a predetermined rule such as random or by the user.

また、この実施例では、ロボットのアームは肘関節と肩関節に相当する関節を有する構成であるが、肘関節または肩関節のみを有する構成でもよい。肘関節のみを有する場合には、上腕を動かすことで握手を行うことができ、肩関節のみを有する場合には、腕全体を動かすことで握手を行うことができる。 Also, in this embodiment, the arm of the robot is configured to have joints corresponding to elbow joints and shoulder joints, but may be configured to have only elbow joints or shoulder joints. If only the elbow joint is provided, the handshake can be performed by moving the upper arm, and if only the shoulder joint is provided, the handshake can be performed by moving the entire arm.

さらに、この実施例では、ロボットのアームを3本設けるようにしたが、アームは2本以上であれば、4本以上設けることも可能である。アームを4本以上設ける場合には、さらに多数の仮想エージェントをHMDに表示し、各仮想エージェントと個別にまたは同時にインタラクションすることができる。 Furthermore, in this embodiment, three arms of the robot are provided, but four or more arms can be provided as long as the number of arms is two or more. If four or more arms are provided, more virtual agents can be displayed on the HMD and interacted with each virtual agent individually or simultaneously.

さらにまた、この実施例では、ユーザは仮想エージェントと握手する場合について説明したが、所定の動作は握手に限定される必要はなく、タッチであってもよい。 Furthermore, in this embodiment, the case where the user shakes hands with the virtual agent has been described, but the predetermined action need not be limited to handshakes, and may be touches.

なお、上述の実施例では、サーバが1台でシステムの各要素を制御するようにしたが、ロボット、サーバおよびHMDをそれぞれ別のコンピュータで制御するようにしてもよいし、任意の台数のコンピュータでシステムを管理および制御することができる。 In the above-described embodiment, one server controls each element of the system, but the robot, server, and HMD may be controlled by separate computers, or any number of computers may be used. can manage and control the system.

また、上述の実施例で示したHMDに表示する仮想エージェントとしては、3Dのコンピュータグラフィクスエージェントであればどのようなキャラクタを用いてもよい。そのため、ユーザに応じて、見た目や性別、服装、種族(人、動物、擬人化キャラクタなど)、リアルさ(アニメ調、実写調など)を変更してもよい。 As the virtual agent displayed on the HMD shown in the above embodiment, any character may be used as long as it is a 3D computer graphics agent. Therefore, appearance, gender, clothing, race (person, animal, anthropomorphic character, etc.), and realism (animation style, live-action style, etc.) may be changed according to the user.

なお、上述の実施例で挙げた角度などの具体的数値はいずれも単なる例示であり、必要に応じて適宜変更可能である。 It should be noted that the specific numerical values such as the angles given in the above examples are merely examples, and can be appropriately changed as necessary.

10 …疑似的接触提示システム
12 …コミュニケーションロボット
16 …サーバ
20 …HMD
60 …ユーザ
70 …仮想エージェント
122、124、126 …ロボットアーム
DESCRIPTION OF SYMBOLS 10... Pseudo contact presentation system 12... Communication robot 16... Server 20... HMD
60 ... user 70 ... virtual agent 122, 124, 126 ... robot arm

Claims (4)

ユーザに対して作用して前記ユーザに接触刺激を与える複数の刺激提示部を備える接触刺激提示装置、
前記複数の刺激提示部のうちの2つ以上の前記刺激提示部の各々に仮想エージェントを割り当てる割当手段、および
前記ユーザの頭部に装着され、前記割当手段によって割り当てられた複数の仮想エージェントを表示し、前記複数の仮想エージェントのうちの一部または全部を動作させて前記ユーザに視覚刺激を提示する頭部装着型表示装置を備え、
前記接触刺激提示装置は、前記複数の仮想エージェントのうちの一部または全部の動作に関連して、前記複数の刺激提示部のうちの2つ以上の前記刺激提示部の各々を動作させる、疑似的接触提示システム。
A contact stimulus presentation device comprising a plurality of stimulus presentation units that act on a user and provide contact stimuli to the user;
assigning means for assigning a virtual agent to each of the two or more stimulus presentation units among the plurality of stimulus presentation units; and mounted on the user's head to display the plurality of virtual agents assigned by the assignment means. and a head-mounted display device that operates some or all of the plurality of virtual agents to present visual stimuli to the user;
The contact stimulus presentation device operates each of two or more of the plurality of stimulus presentation units in relation to the motion of some or all of the plurality of virtual agents. contact presentation system.
前記視覚刺激提示装置は前記複数の仮想エージェントのうちの一部または全部について前記ユーザに対する動作を示すアニメーションで表示し、
前記刺激提示部は可動部を含み、前記接触刺激提示部は、前記可動部の動きで前記複数の仮想エージェントのうちの一部または全部についての動作のアニメーションに関連して変化するように前記可動部を動作させて前記接触刺激を前記ユーザに提示する、請求項1記載の疑似的接触提示システム。
The visual stimulus presentation device displays an animation showing actions for the user for some or all of the plurality of virtual agents,
The stimulus presenting unit includes a movable unit, and the contact stimulus presenting unit is movable so as to change in association with animation of actions of some or all of the plurality of virtual agents by movement of the movable unit. 2. The pseudo contact presentation system according to claim 1, wherein a part is operated to present the contact stimulus to the user.
ユーザに対して作用して前記ユーザに接触刺激を与える複数の刺激提示部を有する接触刺激提示装置および前記ユーザの頭部に装着される頭部装着型表示装置を備える、疑似的接触提示システムのコンピュータによって実行される制御プログラムであって、前記コンピュータを、
前記接触刺激提示装置の前記複数の刺激提示部を制御して前記ユーザに接触刺激を提示させる可動部制御部、
前記複数の刺激提示部のうちの2つ以上の前記刺激提示部の各々に仮想エージェントを割り当てる割当手段、および
前記割当手段によって割り当てられた複数の仮想エージェントのうちの一部または全部を表示する表示部として機能させ、
前記複数の仮想エージェントを前記頭部装着型表示装置で表示することによって前記ユーザに対して視覚刺激を提示するとともに、前記可動部制御部によって、前記複数の仮想エージェントのうちの一部または全部の動作に関連して、前記複数の刺激提示部のうちの2つ以上の前記刺激提示部の各々を動作させる、感覚刺激提示プログラム。
A pseudo contact presentation system comprising: a contact stimulus presentation device having a plurality of stimulus presentation units that act on a user to provide contact stimuli to the user; and a head-mounted display device that is worn on the head of the user. A control program executed by a computer, comprising:
a movable unit control unit that controls the plurality of stimulus presentation units of the contact stimulus presentation device to present contact stimuli to the user;
allocation means for allocating a virtual agent to each of two or more of the plurality of stimulus presentation units; and a display for displaying part or all of the plurality of virtual agents allocated by the allocation means. function as a department,
Visual stimuli are presented to the user by displaying the plurality of virtual agents on the head-mounted display device, and some or all of the plurality of virtual agents are displayed by the movable part control unit. A sensory stimulus presentation program that causes each of the two or more stimulus presentation sections among the plurality of stimulus presentation sections to operate in relation to motion.
ユーザに対して作用して前記ユーザに接触刺激を与える複数の刺激提示部を有する接触刺激提示装置および前記ユーザの頭部に装着される頭部装着型表示装置を備える、疑似的接触提示システムの制御方法であって、
前記接触刺激提示装置の前記複数の刺激提示部を制御して前記ユーザに接触刺激を提示させるステップ、
前記複数の刺激提示部のうちの2つ以上の前記刺激提示部の各々に仮想エージェントを割り当てるステップ、および
前記割当手段によって割り当てられた複数の仮想エージェントのうちの一部または全部を表示するステップを含み、
前記複数の仮想エージェントを前記頭部装着型表示装置で表示することによって前記ユーザに対して視覚刺激を提示するとともに、前記接触刺激提示装置で、前記複数の仮想エージェントのうちの一部または全部の動作に関連して、前記複数の刺激提示部のうちの2つ以上の前記刺激提示部の各々を動作させる、制御方法。
A pseudo contact presentation system comprising: a contact stimulus presentation device having a plurality of stimulus presentation units that act on a user to provide contact stimuli to the user; and a head-mounted display device that is worn on the head of the user. A control method comprising:
controlling the plurality of stimulus presentation units of the contact stimulus presentation device to present contact stimuli to the user;
a step of assigning a virtual agent to each of two or more of the plurality of stimulus presentation units; and a step of displaying some or all of the plurality of virtual agents assigned by the assignment means. including
presenting a visual stimulus to the user by displaying the plurality of virtual agents on the head-mounted display device, and displaying some or all of the plurality of virtual agents on the contact stimulus presentation device; A control method for operating each of the two or more stimulus presentation units among the plurality of stimulus presentation units in relation to motion.
JP2021049390A 2021-03-24 2021-03-24 Pseudo contact presentation system, control program and control method Pending JP2022147921A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021049390A JP2022147921A (en) 2021-03-24 2021-03-24 Pseudo contact presentation system, control program and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021049390A JP2022147921A (en) 2021-03-24 2021-03-24 Pseudo contact presentation system, control program and control method

Publications (1)

Publication Number Publication Date
JP2022147921A true JP2022147921A (en) 2022-10-06

Family

ID=83463898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021049390A Pending JP2022147921A (en) 2021-03-24 2021-03-24 Pseudo contact presentation system, control program and control method

Country Status (1)

Country Link
JP (1) JP2022147921A (en)

Similar Documents

Publication Publication Date Title
US11017779B2 (en) System and method for speech understanding via integrated audio and visual based speech recognition
US11017551B2 (en) System and method for identifying a point of interest based on intersecting visual trajectories
KR101295003B1 (en) Intelligent robot, system for interaction between intelligent robot and user, and method for interaction between intelligent robot and user
Csapo et al. Multimodal conversational interaction with a humanoid robot
US20190371318A1 (en) System and method for adaptive detection of spoken language via multiple speech models
EP3373301A1 (en) Apparatus, robot, method and recording medium having program recorded thereon
EP3732677A1 (en) System and method for artificial intelligence driven automated companion
US20220215678A1 (en) System and method for reconstructing unoccupied 3d space
US10785489B2 (en) System and method for visual rendering based on sparse samples with predicted motion
JP2009241166A (en) Robot remote operation system
US20190251350A1 (en) System and method for inferring scenes based on visual context-free grammar model
US20220101856A1 (en) System and method for disambiguating a source of sound based on detected lip movement
WO2019133706A1 (en) System and method for learning preferences in dialogue personalization
JP7193015B2 (en) Communication support program, communication support method, communication support system, terminal device and non-verbal expression program
JP7012953B2 (en) Sensory stimulation presentation system, program and method
JP6798258B2 (en) Generation program, generation device, control program, control method, robot device and call system
JP2022147921A (en) Pseudo contact presentation system, control program and control method
JP2017162268A (en) Dialog system and control program
JP7423490B2 (en) Dialogue program, device, and method for expressing a character's listening feeling according to the user's emotions
JP4735965B2 (en) Remote communication system
JP7133840B2 (en) ROBOT, ROBOT CONTROL PROGRAM AND ROBOT CONTROL METHOD
KR102147835B1 (en) Apparatus for determining speech properties and motion properties of interactive robot and method thereof
JP2023072111A (en) Information processing apparatus, control program, control method, and information processing system
JP7442341B2 (en) Robot, robot control program and robot control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240206