Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7627488B2 - Pseudo-touch presentation system, control program, and control method - Google Patents
[go: Go Back, main page]

JP7627488B2 - Pseudo-touch presentation system, control program, and control method - Google Patents

Pseudo-touch presentation system, control program, and control method Download PDF

Info

Publication number
JP7627488B2
JP7627488B2 JP2021049390A JP2021049390A JP7627488B2 JP 7627488 B2 JP7627488 B2 JP 7627488B2 JP 2021049390 A JP2021049390 A JP 2021049390A JP 2021049390 A JP2021049390 A JP 2021049390A JP 7627488 B2 JP7627488 B2 JP 7627488B2
Authority
JP
Japan
Prior art keywords
user
virtual
robot
virtual agents
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.)
Active
Application number
JP2021049390A
Other languages
Japanese (ja)
Other versions
JP2022147921A (en
Inventor
昌裕 塩見
英信 住岡
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/JP7627488B2/en
Publication of JP2022147921A publication Critical patent/JP2022147921A/en
Application granted granted Critical
Publication of JP7627488B2 publication Critical patent/JP7627488B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

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

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

特開2019-45928号JP 2019-45928 A

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

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

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

第1の発明は、ユーザに対して作用してユーザに接触刺激を与える複数の刺激提示部を備える接触刺激提示装置、複数の刺激提示部のうちの2つ以上の刺激提示部の各々に仮想エージェントを割り当てる割当手段、およびユーザの頭部に装着され、割当手段によって割り当てられた複数の仮想エージェントを表示し、複数の仮想エージェントのうちの一部または全部を動作させてユーザに視覚刺激を提示する頭部装着型表示装置を備え、接触刺激提示装置は、ユーザに対して第1の所定の動作を行う1体の仮想エージェントに同期して、当該仮想エージェントが割り当てられた刺激提示部に第1の所定の動作に対応する動作を実行させる第1処理または複数の仮想エージェントのうちの2体以上がユーザに対して同時に第2の所定の動作を行うとともに、当該複数の仮想エージェントのうちの2体以上が割り当てられた刺激提示部の各々に第2の所定の動作に対応する動作を実行させる第2処理を選択的に実行させる、疑似的接触提示システムである。 The first invention is a pseudo-touch presentation system comprising a contact stimulation presentation device having a plurality of stimulation presentation units that act on a user to provide the user with a contact stimulation, an allocation means for assigning a virtual agent to each of two or more of the plurality of stimulation presentation units, and a head-mounted display device that is worn on the user's head, displays the plurality of virtual agents assigned by the allocation means, and operates some or all of the plurality of virtual agents to present a visual stimulation to the user, wherein the contact stimulation presentation device selectively executes a first process in synchronization with one virtual agent that performs a first predetermined action toward the user, causing the stimulation presentation unit to which the virtual agent is assigned to perform an action corresponding to the first predetermined action, or a second process in which two or more of the plurality of virtual agents simultaneously perform a second predetermined action toward the user, and each of the stimulation presentation units to which two or more of the plurality of virtual agents are assigned performs an action corresponding to the second predetermined action .

第2の発明は、第1の発明に従属し、頭部装着型表示装置は複数の仮想エージェントのうちの一部または全部についてユーザに対する動作を示すアニメーションで表示し、刺激提示部は可動部を含み、接触刺激提示装置は、可動部の動きで複数の仮想エージェントのうちの一部または全部についての動作のアニメーションに関連して変化するように可動部を動作させて接触刺激をユーザに提示する。 A second invention is dependent on the first invention, and the head-mounted display device displays an animation of some or all of the multiple virtual agents showing their actions toward the user, the stimulation presentation unit includes a movable part, and the contact stimulation presentation device presents a contact stimulation to the user by operating the movable part such that movement of the movable part changes in relation to the animation of the actions of some or all of the multiple virtual agents.

第3の発明は、ユーザに対して作用してユーザに接触刺激を与える複数の刺激提示部を有する接触刺激提示装置およびユーザの頭部に装着される頭部装着型表示装置を備える、疑似的接触提示システムのコンピュータによって実行される制御プログラムであって、コンピュータを、接触刺激提示装置の複数の刺激提示部を制御してユーザに接触刺激を提示させる刺激提示部制御手段、複数の刺激提示部のうちの2つ以上の刺激提示部の各々に仮想エージェントを割り当てる割当手段、割当手段において割り当てた複数の仮想エージェントのうちの一部または全部を頭部装着型表示装置に表示する表示制御手段、およびユーザに対して第1の所定の動作を行う1体の仮想エージェントに同期して、当該仮想エージェントが割り当てられた刺激提示部に第1の所定の動作に対応する動作を実行させる第1処理または複数の仮想エージェントのうちの2体以上がユーザに対して同時に第2の所定の動作を行うとともに、当該複数の仮想エージェントのうちの2体以上が割り当てられた刺激提示部の各々に第2の所定の動作に対応する動作を実行させる第2処理を選択的に実行させる実行手段として機能させる、感覚刺激提示プログラムである。 A third invention is a control program executed by a computer of a pseudo-touch presentation system including a contact stimulus presentation device having a plurality of stimulus presentation units that act on a user to provide the user with contact stimuli, and a head-mounted display device that is worn on the user's head, the sensory stimulus presentation program causing the computer to function as: a stimulus presentation unit control means for controlling the plurality of stimulus presentation units of the contact stimulus presentation device to present contact stimuli to the user; an allocation means for assigning a virtual agent to each of two or more of the plurality of stimulus presentation units ; a display control means for displaying some or all of the plurality of virtual agents assigned by the allocation means on the head-mounted display device ; and an execution means for selectively executing a first process for causing the stimulus presentation unit to which the virtual agent is assigned to perform an operation corresponding to the first predetermined operation in synchronization with one virtual agent that performs a first predetermined action toward the user, or a second process for causing two or more of the plurality of virtual agents to simultaneously perform a second predetermined action toward the user and for each of the stimulus presentation units to which two or more of the plurality of virtual agents are assigned to perform an operation corresponding to the second predetermined action .

第4の発明は、ユーザに対して作用してユーザに接触刺激を与える複数の刺激提示部を有する接触刺激提示装置およびユーザの頭部に装着される頭部装着型表示装置を備える、疑似的接触提示システムの制御方法であって、接触刺激提示装置の複数の刺激提示部を制御してユーザに接触刺激を提示させるステップ、複数の刺激提示部のうちの2つ以上の刺激提示部の各々に仮想エージェントを割り当てるステップ、割り当てた複数の仮想エージェントのうちの一部または全部を頭部装着型表示装置に表示するステップ、およびユーザに対して第1の所定の動作を行う1体の仮想エージェントに同期して、当該仮想エージェントが割り当てられた刺激提示部に第1の所定の動作に対応する動作を実行させる第1処理または複数の仮想エージェントのうちの2体以上がユーザに対して同時に第2の所定の動作を行うとともに、当該複数の仮想エージェントのうちの2体以上が割り当てられた刺激提示部の各々に第2の所定の動作に対応する動作を実行させる第2処理を選択的に実行させるステップを含む、制御方法である。 A fourth invention is a control method for a pseudo-touch presentation system including a contact stimulus presentation device having a plurality of stimulus presentation units that act on a user to present a contact stimulus to the user, and a head-mounted display device that is worn on the user's head, the control method including the steps of controlling the plurality of stimulus presentation units of the contact stimulus presentation device to present a contact stimulus to the user, assigning a virtual agent to each of two or more of the plurality of stimulus presentation units , displaying some or all of the assigned plurality of virtual agents on the head-mounted display device , and selectively executing a first process of causing the stimulus presentation unit to which the virtual agent is assigned to perform an action corresponding to the first predetermined action in synchronization with one virtual agent that performs a first predetermined action toward the user, or a second process of causing two or more of the plurality of virtual agents to simultaneously perform a second predetermined action toward the user, and causing each of the stimulus presentation units to which two or more of the plurality of virtual agents are assigned to perform an action corresponding to the second predetermined action .

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

この発明の上述の目的、その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。 The above and 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-tactile presentation system according to an 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に示すロボットの電気的な構成を示すブロック図である。FIG. 3 is a block diagram showing the electrical configuration of the robot shown in FIG. 図4は図1に示す疑似的接触提示システムを使用する状態の一例を横から見た図である。FIG. 4 is a side view of an example of a state in which the pseudo tactile 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 in the server shown in FIG. 図10は図1に示すサーバに内蔵されるCPUの第1疑似接触処理の一例の一部を示すフロー図である。FIG. 10 is a flowchart showing a part of an example of the first pseudo-contact process of the CPU built in the server shown in FIG. 図11は図1に示すサーバに内蔵されるCPUの第1疑似接触処理の他の一部であって、図10に後続するフロー図である。FIG. 11 is a flowchart showing another part of the first pseudo-contact processing by the CPU built in the server shown in FIG. 1, which follows FIG. 図12は図1に示すサーバに内蔵されるCPUの第2疑似接触処理の一例の一部を示すフロー図である。FIG. 12 is a flowchart showing a part of an example of the second pseudo-touch process of the CPU built in the server shown in FIG. 図13は図1に示すサーバに内蔵されるCPUの第2疑似接触処理の他の一部であって、図12に後続するフロー図である。FIG. 13 is a flowchart showing another part of the second pseudo-contact processing by the CPU built in the server shown in FIG. 1, which follows FIG.

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

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

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

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

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

アーム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 describing robot 12 or parts thereof using directions, up, down, left and right when 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, and further includes a joint (corresponding to an elbow joint) 122c that connects frames 122a and 122b, and a joint (corresponding to a shoulder joint) 122d that connects frames 122b and 120c.

アーム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, and further includes a joint 124c (corresponding to an elbow joint) that connects frames 124a and 124b, and a joint 124d (corresponding to a shoulder joint) that connects frames 124b and 120c.

ただし、図2からも分かるように、アーム122は、フレーム120cの左側端部の下面に連結され、アーム124は、フレーム120cの左側端部の上面に連結される。 However, as can be seen from FIG. 2, arm 122 is connected to the underside of the left end of frame 120c, and arm 124 is connected to the upper side of the left end of 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, and further includes a joint (corresponding to an elbow joint) 126c that connects the frames 126a and 126b, and a joint (corresponding to a shoulder joint) 126d that connects the frames 126b and 120c. This arm 126 is connected to the underside 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 to a maximum of 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をそれぞれ上げ下げする、または、前後に出すことができる。 As another example, the joints 122d, 124d, and 126d can open the upper arm up to 150° with respect to the plane where the joints 122d, 124d, and 126d are connected to the frame 120c. However, the angle when the frames 122b, 124b, and 126b that make up the upper arm are perpendicular to the plane where the joints 122d, 124d, and 126d are connected to the frame 120c is set to 0°. Therefore, by controlling the angles of the joints 122d, 124d, and 126d, the arms 122, 124, and 126 can be raised and lowered, or extended forward and backward.

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

接触刺激提示装置すなわちロボット12は、インターネットや電話通信回線のようなネットワーク14を介してサーバ16に接続される。サーバ16は、PC、PDA、スマートフォン、タブレット端末のような汎用のコンピュータである。 The contact stimulation presentation device, i.e., the 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, a PDA, a smartphone, or a 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 an input device such as a touch panel and/or a keyboard, and an operator can operate such an input device. Programs and data for controlling the operation of the server 16 are stored in a memory (e.g., HDD and RAM) 16b built into the server 16, and the overall operation of the server 16 is controlled by a CPU 16a also built into the server 16. This CPU 16a controls the movement and speech of the robot 12 through a CPU 36 (described below) of the robot 12 in accordance with the above-mentioned operation of the operator, and further controls the display of a virtual agent by the HMD 20 described below. For this reason, the server 16 is provided with a communication module 16c, and the CPU 16a is connected to the network 14, i.e., the robot 12 and the HMD 20, via the communication module 16c, in a wired or wireless manner so as to be able to communicate with them.

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

つまり、サーバ16には、位置検出装置18aの出力が与えられる。位置検出装置18aは、頭部位置計測部として機能するが、この位置検出装置18aとして利用されるOculus sensorは、ジャイロセンサと加速度を組み合わせることで、HMD20(Oculus Rift)の位置を追跡することによって、ユーザ60の頭部64の位置を精度よく検出することができる。 In other words, 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 this position detection device 18a combines a gyro sensor and acceleration to track the position of the HMD 20 (Oculus Rift), thereby enabling it to accurately detect the position of the user 60's head 64.

上記のとおり、ロボット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 the position of the HMD 20 in real space, i.e., the head position of the user 60, can be detected by setting or registering the initial position of the HMD 20 relative to the robot 12. Therefore, in this embodiment, the CPU 16a controls the positions of the virtual agent and the viewpoint (virtual camera) in the virtual space using the positional relationship between the head positions of the robot 12 and the user 60 in real space. Since the HMD 20 displays a so-called first-person perspective image (in this embodiment, the virtual agent), the position of the virtual camera corresponds to the head position of the user 60 in the virtual space. In addition, the gaze point of the virtual camera is set to a predetermined position of the robot 12 in the virtual space. For example, the predetermined position is set to the center of the robot 12 in the virtual space. This is just one example, and other positions may be adopted as long as virtual agents of various sizes fit into 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 rendered in the virtual space, and the position of the robot 12 and the like are only used when placing a virtual agent in the virtual space and when determining the position of a virtual camera in the virtual space. For example, the position of the robot 12 (the position of the center of frame 120a) is set to the origin in the three-dimensional virtual space, the direction parallel to frames 120a and 120c of the robot 12 is set to the X-axis direction, the direction parallel to frame 120b is set to the Z-axis direction, and the direction perpendicular to both the X-axis and Z-axis is set to the Y-axis direction.

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

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

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

HMD20は、サーバ16から送信される画像データによって、後述の図5-図8に示すような仮想エージェント70(70a、70b、70c)を表示する。このことにより、ユーザ60の視覚または/および聴覚に対する刺激(視覚刺激)を付与する。 The HMD 20 displays virtual agents 70 (70a, 70b, 70c) as shown in Figures 5-8, which will be described later, based on image data transmitted from the server 16. This provides visual and/or auditory stimuli (visual stimuli) to the user 60.

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

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

この実施例では、ロボット12には、複数の仮想エージェント70を割り当てることができる。この実施例では、ロボット12に割り当てる仮想エージェント70の数は、ロボット12のアームの数以下である。したがって、ロボット12の3つのアーム122、124および126に対応して、1体、2体または3体の仮想エージェント70が割り当てられる。 In this embodiment, multiple virtual agents 70 can be assigned to the robot 12. In this embodiment, the number of virtual agents 70 assigned to the robot 12 is equal to or less than the number of arms of the robot 12. Thus, one, two or three virtual agents 70 are assigned to correspond 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 the system 10 is applied to any application such as a game, the number can be determined either fixedly or dynamically depending on 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に割り当てられる。 When one virtual agent 70 is assigned to the robot 12, one virtual agent 70 is assigned to the arms 122 and 126. When two virtual agents 70 are assigned to the robot 12, one of the two virtual agents 70 is assigned to the arm 122, and the other of the two virtual agents 70 is assigned to the arm 126. When three virtual agents 70 are assigned to the robot 12, one of the three virtual agents 70 is assigned to the arm 122, one of the remaining two virtual agents 70 is assigned to the arm 124, and the other of the remaining two virtual agents 70 is assigned to the arm 126.

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

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

図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 can speak to the user 60 and listen to what the user 60 says. XIMERA (product name: ATR Speech and Language Research Laboratories) was used as the speech synthesis software for speaking.

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

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 the memory 42, it issues 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 a number of pulse powers according to the command values provided by the CPU 36, and provides them to the corresponding stepping motors to drive each actuator A1-An.

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

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

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

触覚センサ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 constitutes part of the sense of touch of the robot 12. In other words, the tactile sensor 48 detects whether or not a human or other object has touched the robot 12. For example, the tactile sensor 48 is provided on each of the forearms (frames 122a, 124a, and 126a) of the arms 122, 124, and 126 of the robot 12, and can detect whether or not the hand of the user 60 has touched the arms 122, 124, and 126 of the robot 12.

触覚センサ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, for example, from a polymer piezoelectric sensor sheet, and multiple sensor sheets are appropriately distributed and provided, for example, on the inner surface of the arm 28. Such a tactile sensor 48 can detect the pressure applied to the forearm (frames 122a, 124a, 126a) of the robot 12 when shaking hands with the user 60.

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

さらに、触覚センサ48が検出した圧力データはCPU36から出力され、通信モジュール40およびネットワーク14を介してサーバ16に与えられる。 Furthermore, the 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 constitutes part of the robot 12's vision. In other words, the camera 50 is used to detect an image or pictures seen by the eyes of the robot 12. In this embodiment, data (image data) corresponding to the image (moving image or still image) captured by the camera 50 is provided to the CPU 36 via the sensor I/F 46. The CPU 36 not only detects changes in the captured image, but also transmits the image data to the server 16 via the communication module 40 and the network 14 (Figure 1). The server 16 then outputs the received image data to a monitor (not shown). Thus, 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から出力する。 The speaker 54 and microphone 56 are also connected to the input/output I/F 52. The speaker 54 outputs sound when the robot 12 speaks. When the operator of the server 16 (hereinafter sometimes referred to as the "remote operator") speaks directly, the sound is output via the network 14, the communication module 40, and the input/output I/F 52. Specifically, when the remote operator speaks through the microphone 56, corresponding voice data is provided from the server 16 to the CPU 36 via the network 14. The CPU 36 then outputs the voice data from the speaker 54 via the input/output I/F 52.

マイク56は、音センサであり、ロボット12の聴覚の一部を構成する。このマイク56は、指向性を有し、主として、ロボット12と対話(コミュニケーション)するユーザ60(人)の音声を検出するために用いられる。 The microphone 56 is a sound sensor that constitutes part of the robot 12's hearing. The microphone 56 is directional and is primarily used to detect the voice of the user 60 (person) who is interacting (communicating) 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, a RAM and a HDD, and is preset with a voice recognition program and a voice synthesis program such as the above-mentioned XIMERA. The voice recognition program is a program that allows the CPU 36 to recognize the contents of speech from a human being to the robot 12, which is input through the microphone 56, and the CPU 36 recognizes the contents of the human speech by, for example, DP matching or the Hidden Markov Model (HMM).

CPU36は、その音声認識プログラムに従って、遠隔オペレータがマイク56を通して入力した発話を認識する。たとえば、上述のHMM法やディープニューラルネットワーク(Deep Neural Network:DNN)のような音響モデルを用いて発話音声を検出できる。 The CPU 36 recognizes the speech input by the remote operator through the microphone 56 according to the speech recognition program. For example, the speech 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 directly outputting the voice of the remote operator from the speaker 54, the robot 12 can also speak using a synthetic voice. When an instruction to speak using a synthetic voice from the speaker 54 is input from the server 16, the CPU 36 outputs the synthetic voice to the speaker 54 according to the synthetic voice data provided by the server 16.

この実施例では基本的に、ロボット12のすべての動作は、オペレータ(図示せず)が操作するサーバ16から与えられる。そのために、CPU36は、センサI/F46を通して取得するセンサデータや、入出力I/F52を通して取得する音声データや画像データを、通信モジュール40からネットワーク14を経由して、サーバ16のCPU16aに与える。サーバ16は、それらのデータを得て、ロボット12の状態を知ることができる。 In this embodiment, basically, all of the movements of the robot 12 are given by the server 16 operated by an operator (not shown). To this end, the CPU 36 gives 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 16a of the server 16 via the communication module 40 and the network 14. The server 16 can obtain this data and know the state of the robot 12.

ただし、サーバ16は、位置検出装置18aからの位置情報と圧力情報を使用して、仮想エージェント70とロボット12の両方の動作を自律的に制御することもできる。 However, the server 16 can also autonomously control the behavior of both the virtual agent 70 and the robot 12 using position information and pressure information from the position detection 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の長さによって決定される。 Figure 4 shows an example of a state in which a user 60 uses the system 10, viewed from the side. As shown in Figure 4, the user 60 wears the HMD 20 and stands directly in front of the robot 12. In other words, the robot 12 and the user 60 face each other. The robot 12 and the user 60 can converse or talk with each other. 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 smaller than a predetermined distance df, the robot 12 can touch the user 60 with the arms 122, 124, and 126. In this case, the user 60 can touch at least one of the arms 122, 124, and 126 of the robot 12. As an example, the predetermined distance df is 70 cm-1 m, and is determined by the length of the 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 described above, multiple virtual agents 70 can be assigned to the robot 12. When two virtual agents 70 are assigned to the robot 12, one virtual agent 70 is placed at a position overlapping the arm 122 of the robot 12, and the other virtual agent 70 is placed at a position overlapping the arm 126 of the robot 12. In the example shown in FIG. 5, the virtual agents 70a and 70b are placed in the virtual space such that the left arm of the virtual agent 70a overlaps the arm 122, and the right arm of the virtual agent 70b overlaps the arm 126. In other words, when two virtual agents 70 are assigned to the robot 12, the arm 122 of the robot 12 corresponds to the left arm of the virtual agent 70a, and the arm 126 of the robot 12 corresponds to the right arm of the 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の右腕に対応する。 In addition, when three virtual agents 70 are assigned to the robot 12, one of the three virtual agents 70 is arranged at a position overlapping the arm 122 of the robot 12, one of the remaining two virtual agents 70b is arranged at a position overlapping the arm 126 of the robot 12, and the other of the remaining two virtual agents 70c is arranged at a position overlapping the arm 124 of the robot 12. In the example shown in FIG. 6, the right arm of the virtual agent 70a is arranged at a position overlapping the arm 122 of the robot 12, the right arm of the virtual agent 70b is arranged at a position overlapping the arm 126 of the robot 12, and the left arm of the virtual agent 70c is arranged at a position overlapping the arm 124 of the robot 12. In other words, when three virtual agents 70 are assigned to the robot 12, the arm 122 of the robot 12 corresponds to the right arm of the virtual agent 70a, the arm 124 of the robot 12 corresponds to the left arm of the virtual agent 70c, and the arm 126 of the robot 12 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 can execute a process (hereinafter referred to as "first pseudo-contact process") in which each of the multiple virtual agents 70 individually performs a first predetermined action toward a user 60 (person or participant) 60 approaching the robot 12, and also operates the arm 122, 124 or 126 to which the virtual agent 70 is assigned in synchronization with the virtual agent 70 performing the first predetermined action toward the user 60. However, the action of the arm 122, 124 or 126 is an action corresponding to the first predetermined action.

また、サーバ16のCPU16aは、仮想空間において、複数の仮想エージェント70を仮想空間内のユーザ60に近づけて、複数の仮想エージェント70がユーザ60に対して同時に第2の所定の動作を行うとともに、複数の仮想エージェント70が割り当てられたアーム122およびアーム124、または、アーム122、124および126を動作させる処理(以下、「第2疑似接触処理」という)を実行することができる。ただし、アーム122、124および126の動作は、第2の所定の動作に応じた動作である。 The CPU 16a of the server 16 can also execute a process (hereinafter referred to as "second pseudo-contact process") in which multiple virtual agents 70 are brought close to the user 60 in the virtual space, and the multiple virtual agents 70 simultaneously perform a second predetermined action toward the user 60, and the arms 122 and 124, or the arms 122, 124 and 126 to which the multiple virtual agents 70 are assigned are operated. However, the actions of the arms 122, 124 and 126 correspond to the second predetermined action.

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

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

たとえば、第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 the robot 12 to a predetermined distance df at which the user 60 can shake hands with the robot 12, the CPU 16a of the server 16 transmits a signal to both the virtual agent 70 and the robot 12, causes the HMD 20 to display an animation of the virtual agent 70 shaking hands with the robot 12, and causes the robot 12 to start shaking hands. That is, a contact action toward the user 60 is executed. Therefore, the user 60 can grasp the arm 122, 124 or 126 of the robot 12 to shake hands, and gets the experience of shaking hands with the virtual agent 70 assigned to the grasped arm 122, 124 or 126. That is, a pseudo-contact is presented to the user 60. However, among the multiple virtual agents 70, only the virtual agent 70 assigned to the arm 122, 124 or 126 that is closest to the user 60 displays the animation of the handshake.

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

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

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

なお、第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 performs a handshake, and the robot 12 performs the handshake action using the arm 122 or 124 that corresponds to the virtual agent 70.

また、この実施例では、ユーザ60と各仮想エージェント70の親密度が設定されており、第1疑似接触処理においては、ユーザ60が仮想エージェント70と握手すると、当該ユーザ60に対する当該仮想エージェント70の親密度が向上される。たとえば、握手をしたことが無い仮想エージェント70の親密度は0に設定され、握手をする度に、親密度が1加算される。たとえば、親密度は、仮想エージェント70を選択する際の条件として使用することができ、また、挨拶するときの発話内容の決定に使用することができる。仮想エージェント70を選択する場合に、親密度が高いまたは低い仮想エージェント70を選択することができる。また、親密度が0のユーザ60に対しては“はじめまして”と挨拶し、親密度が1以上のユーザ60に対しては“こんにちは”または“久しぶり”と挨拶することができる。これらは一例であり、親密度は他の用途に使用されてもよい。 In this embodiment, the intimacy between the user 60 and each virtual agent 70 is set, and in the first pseudo-contact process, when the user 60 shakes hands with a virtual agent 70, the intimacy of the virtual agent 70 with respect to the user 60 is improved. For example, the intimacy of a virtual agent 70 with which the user has never shook hands is set to 0, and the intimacy is increased by 1 each time the user shakes hands. For example, the intimacy can be used as a condition for selecting a virtual agent 70, and can also be used to determine the content of speech when greeting. When selecting a virtual agent 70, a virtual agent 70 with a high or low intimacy can be selected. Also, a user 60 with an intimacy of 0 can be greeted with "Nice to meet you," and a user 60 with an intimacy of 1 or more can be greeted with "Hello" or "It's been a while." These are just examples, and the intimacy may be used for other purposes.

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

なお、本件は、ロボット12の動作によって、ユーザ60に、仮想エージェント70の動作を疑似的に体感させる、つまり、疑似的接触を提示することが目的であるため、ユーザ60と仮想エージェント、70は対話しなくてもよい。 Note that since the purpose of this case is to allow the user 60 to virtually experience the movements of the virtual agent 70 through the movements of the robot 12, i.e., to present a simulated contact, there is no need for interaction between the user 60 and the virtual agent 70.

また、第1疑似接触処理は、ユーザ60がロボット12から離れる、ロボット12に対して手を振る、またはユーザ60がHMD20を外すなどの特定の動作を行ったり、ユーザ60が「さようなら」または「ばいばい」などの特定の内容を発話したりした場合に、第1疑似接触処理は終了される。このことは、第2疑似接触処理を終了する場合についても同様である。なお、ユーザ60がHMD20を外したことはカメラ18cの画像に基づいて検出することができる。 The first pseudo-contact process is terminated when the user 60 performs a specific action such as moving away from the robot 12, waving at the robot 12, or removing the HMD 20, or when the user 60 utters a specific message such as "goodbye" or "bye bye." The same applies to the termination of the second pseudo-contact process. Note that it is possible to detect that the user 60 has removed the HMD 20 based on the image from 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, or three virtual agents 70 assigned to the robot 12 approach the user 60, and the user 60 shakes hands with the one, two, or three virtual agents 70 assigned to the robot 12. When the user 60 approaches the robot 12 to a predetermined distance df at which the user 60 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.

なお、第2疑似接触処理では、仮想エージェント70をユーザ(視点)に近づけるように移動させるため、この実施例では、サーバ16は、第2疑似接触処理を開始したときに、1または複数の仮想エージェント70を描画する場合には、実空間のロボット12とユーザ60の位置関係よりも、1または複数の仮想エージェント70を視点から離した位置に配置(描画)する。 In addition, in the second pseudo-contact process, the virtual agent 70 is moved closer to the user (the viewpoint), so in this embodiment, when the server 16 draws one or more virtual agents 70 at the start of the second pseudo-contact process, the server 16 places (draws) the one or more virtual agents 70 in a position farther away 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 sent to each of the one, two or three virtual agents 70 assigned to the robot 12 and the robot 12, and an animation of all the virtual agents 70 assigned to the robot 12 shaking hands is displayed on the HMD 20, and the robot 12 starts shaking hands. That is, a contact action toward the user 60 is executed. However, in the second pseudo-contact process, all the virtual agents 70 assigned to the robot 12 shake hands at the same time, so that when the robot 12 shakes hands, the arms corresponding to all the virtual agents 70 assigned to the robot 12 are operated. That is, when one virtual agent 70 and two virtual agents 70 are assigned to the robot 12, the arms 122 and 126 are operated. Also, when three virtual agents 70 are assigned to the robot 12, the arms 122, 124 and 126 are operated. Therefore, the user 60 can grasp any one or two of the arms 122, 124, and 126 of the robot 12 to shake hands, and experience the sensation of shaking hands with one, two, or all three virtual agents 70 assigned to the robot 12. 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. 8, the three virtual agents 70 (70a, 70b, 70c) shake hands, and in association with (or in synchronization with) this, the arms 122, 124, and 126 corresponding to each of the three virtual agents 70 are operated. That is, the robot 12 shakes hands using the arms 122, 124, and 126. Therefore, the user 60 grasps one or two of the arms 122, 124, and 126 of the robot 12 and shakes hands while watching the three virtual agents 70 shaking hands on the HMD 20. That is, a visual stimulus due to the animation of the virtual agents 70 displayed on the HMD 20 is presented to the user 60, and a tactile stimulus due to the movement 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 figure, in the second pseudo-contact process, when two virtual agents 70 are assigned to the robot 12, in the virtual space, when the two virtual agents 70 approach the user 60 (viewpoint), the two virtual agents 70 shake hands, and the robot 12 performs the handshake action using the arms 122 and 126 corresponding to the two virtual agents 70.

なお、第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 70 performs a handshake, and the robot 12 performs the handshake action using the arm 122 that corresponds to the one virtual agent 70.

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

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

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

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

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

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

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

通信プログラム302aは、外部の機器、この実施例では、ロボット12およびHMD20のそれぞれと有線または無線で通信するためのプログラムである。 The communication program 302a is a program for communicating with external devices, in this embodiment, the robot 12 and the HMD 20, either wired 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 operations, etc.

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

画像生成プログラム302dは、HMD20に表示する画像データを生成するためのプログラムである。この実施例では、ロボット12に割り当てられた1または複数の仮想エージェント70の静止画および動画(アニメーション)についての画像データが生成される。 The image generation program 302d is a program for generating image data to be displayed on the HMD 20. In this embodiment, image data is generated for still images and videos (animations) of one or more virtual agents 70 assigned to the 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 is a program for transmitting to the robot 12, when one or more virtual agents 70 assigned to the robot 12 perform a predetermined first motion and a second motion (in this embodiment, the first motion and the second motion are shaking hands), motion data for moving the arms (122 and 124, or 122, 124 and 126) corresponding to each virtual agent 70 in synchronization with the predetermined first motion and second motion, and, if necessary, voice data corresponding to the speech content of the robot 12.

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

また、データ記憶領域304には、センサ値データ304a、アーム制御データ304b、発話データ304cおよび画像データ304dが記憶される。 The data memory 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 is data 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, and more specifically, data for driving the actuators.

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

画像データ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 304d includes still image data of the virtual agent 70 and animation data of the movements of the virtual agent 70.

図示は省略するが、データ記憶領域304には、ロボット12の制御および仮想エージェント70の制御を行うために必要な他のデータが記憶されたり、タイマ(カウンタ)およびフラグが設けられたりする。 Although not shown in the figure, the data memory area 304 stores other data necessary for controlling the robot 12 and the virtual agent 70, and is provided with 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の動作も制御する。 Figures 10 and 11 are flow diagrams of the first pseudo-contact process of the CPU 16a built into the server 16 shown in Figure 1. Figures 12 and 13 are flow diagrams of the second pseudo-contact process of the CPU 16a built into the server 16 shown in Figure 1. Below, the first pseudo-contact process and the second pseudo-contact process will be explained, but the same processes as those already explained will be explained briefly. 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 CPU 16a of the server 16 sends a command signal to the CPU 36 (Figure 3) of the robot 12, so that the server 16 indirectly controls the operation of the robot 12.

図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, it detects image data from the camera 18c, and in step S3, it identifies who the user 60 is based on the image data detected in step S1.

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

なお、ユーザ60が予め登録されておらず、ステップS1で誰であるかを同定できなかったユーザ60に対しては、匿名のIDを暫定的に割り当てることによって処理を継続することもできる。 If the user 60 has not been registered in advance and the user's identity cannot be identified in step S1, the process can be continued by temporarily assigning an anonymous ID.

続くステップS5では、仮想エージェント70の数を設定する。上述したように、仮想エージェント70の数は、ロボット12が備えるアームの本数以内で、ユーザの操作等に従って設定することができ、この実施例では、1-3のいずれかに設定される。 Then, in 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 equipped to the robot 12, and in this embodiment, it is set to any one of 1 to 3.

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

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

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

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

このように仮想エージェント70を手動的に選択させる場合には、たとえばHMD20に選択スイッチ(図示せず)を設け、その選択スイッチの操作に応じて、サーバ16が仮想エージェント70の候補の画像を順次HMD20に表示し、所望の仮想エージェント70が表示されるとその選択スイッチの操作を停止すればよい。 When manually selecting a virtual agent 70 in this manner, for example, a selection switch (not shown) may be provided on the HMD 20, and in response to the operation of the selection switch, the server 16 may sequentially display images of candidate virtual agents 70 on the HMD 20, and when the desired virtual agent 70 is displayed, 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, and in the virtual space, the distance between the viewpoint (virtual camera) and the robot 12 is set to a distance equivalent to the distance d in real space, and the virtual agent 70 is rendered. As described above, the gaze point of the virtual camera is the center of the robot 12 in the virtual space. The same applies below to the case of rendering the virtual agent 70 and generating image data.

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

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

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

一方、ステップS11で“NO”であれば、つまり、仮想エージェント70の数が3であれば、ステップS15で、HMD20に3体の仮想エージェント70を表示して、ステップS17に進む。 On the other hand, if step S11 is "NO", 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, the image data of the three virtual agents 70 selected according to the user 60 identified in step S3, drawn side-by-side with the right arm of one of them overlapping with the arm 122, the right arm of one of the remaining two overlapping with the arm 124, and the left arm of the other of the remaining two overlapping with the arm 126, 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 a dialogue is started. At this time, the user 60 may select the theme of the dialogue, or a specific theme may be automatically selected based on the dialogue history of each user 60 stored in the server 16. In addition, in step S17, when starting the dialogue, synthetic voice data of the speech content of a greeting is transmitted to the robot 12 and the HMD 20. However, instead of a greeting, the speech content may be for bringing the user 60 closer to the robot 12 or for inducing a dialogue. Furthermore, when multiple virtual agents 70 are assigned to the robot 12, synthetic voice data of the speech content for each of the multiple virtual agents 70 is transmitted to the robot 12 and the HMD 20 in a predetermined order. However, this is just one example, and synthetic voice data of the speech content of only one virtual agent 70 may be transmitted. However, the pitch (frequency) of the synthetic voice is changed depending on the type of virtual agent 70.

続く、ステップS19では、ロボット12のすべてのアーム122、124および126を初期位置に戻す。つまり、CPU16aは、ロボット12に、アーム122、124および126を初期位置に戻す制御データを送信する。 Next, in step S19, all arms 122, 124, and 126 of the robot 12 are returned to their initial positions. In other words, the CPU 16a transmits control data to the robot 12 to return 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つと握手可能な位置まで近づいてきたかどうか判断する。 Then, in step S21, the robot waits for a certain period of time (for example, 2 to 3 seconds). Here, the movement and operation 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 the user 60 (viewpoint) has come close enough to shake hands with the virtual agents 70. However, if multiple virtual agents 70 are assigned to the robot 12, it is determined whether the user has come close enough to shake hands with any one of the virtual agents 70. In other words, it is determined whether the distance between the user 60 and the arms 122, 124, and 126 of the robot 12 to which the virtual agent 70 is assigned in real space is equal to or less than a predetermined distance df. Specifically, the CPU 16a determines whether the user 60 has come close enough to shake hands with at least one of the arms 122, 124, and 126 based on image data from the camera 50 received from the robot 12 via the network 14.

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

なお、このステップS23の判断のためには、実施例ではカメラ50の画像データを解析するようにしたが、たとえばロボット12を置いている床または天井のような環境に設置しているカメラ18c、先に説明したレーザ距離計(Oculus Sensors)、マットセンサのようなユーザ60位置検知システムを利用するようにしてもよい。 In the embodiment, the image data from the camera 50 is analyzed to make the judgment in step S23, but it is also possible to use a camera 18c installed in the environment, such as the floor or ceiling on which the robot 12 is placed, the laser range finder (Oculus Sensors) described above, or a user 60 position detection system such as a mat sensor.

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

続くステップ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 next 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 slightly raise (or move forward) the arm 122, 124 or 126 of the robot 12 corresponding to the virtual agent 70 closest to the user 60 in the direction of the user 60 with 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) set to 70°.

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

また、発言とともに、仮想エージェント70が動作を行う場合には、この仮想エージェント70が割り当てられたアーム122、124または126も仮想エージェント70の動作に同期して動作される。 In addition, when the virtual agent 70 performs an action in conjunction with a 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.

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

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

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

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

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

一方、ステップS57で“NO”であれば、ステップS61で、仮想エージェント70の数が2であるかどうかを判断する。ステップS61で“YES”であれば、ステップS63で、HMD20に2体の仮想エージェント70を表示して、ステップS67に進む。一方、ステップS61で“NO”であれば、ステップS65で、HMD20に3体の仮想エージェント70を表示して、ステップS67に進む。 On the other hand, if the result of step S57 is "NO", then in step S61 it is determined whether the number of virtual agents 70 is two. If the result of step S61 is "YES", then in step S63 two virtual agents 70 are displayed on the HMD 20, and the process proceeds to step S67. On the other hand, if the result of step S61 is "NO", then in step S65 three virtual agents 70 are displayed on the HMD 20, 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, in order to move the virtual agent 70 closer to the user (point of view), when drawing one or more virtual agents 70 in steps S59, S63, and S65, the CPU 16a places (draws) the one or more virtual agents 70 in a position farther away from the point of view 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 the robot 12 are returned to their initial positions. Then, in step S69, the process waits for a certain period of time. In the next step S71, all virtual agents 70 are moved closer to the user 60. For example, the CPU 16a generates image data of the case where all virtual agents 70 are moved a predetermined distance (e.g., 70 cm) toward the viewpoint 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 all virtual agents 70 have come close enough to shake hands with the user 60. Here, it is determined whether the distance between each of the virtual agents 70 and the viewpoint in the virtual space has become 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 step S73 is "NO", that is, if all virtual agents 70 have not come close enough to shake hands with the user 60, the process returns to step S69. On the other hand, if step S73 is "YES", that is, if all virtual agents 70 have come close enough to shake hands, in step S75, all virtual agents 70 bring their arms closer to the user 60 and shake hands. Here, the CPU 16a plays an animation in which all virtual agents 70 bring their arms closer to the direction of the viewpoint in the virtual space and shake hands. However, if there is only one virtual agent 70, the animation of that virtual agent 70 is played. If there are two virtual agents 70, the animation of each of the two virtual agents 70 is played. If there are three virtual agents 70, the animation of each of the three virtual agents 70 is played.

続くステップS77では、すべての仮想エージェント70に対応するロボット12のアームをユーザ60に近づけて握手する。ステップS77では、CPU16aは、すべての仮想エージェント70に対応するロボット12のアームを、上腕に対する前腕の角度を70°に設定した状態で、ユーザ60が存在する方向に少し上げる(または、前に出す)。ただし、仮想エージェント70が1体の場合には、アーム122の動作が制御される。仮想エージェント70が2体の場合には、アーム122および124の動作が制御される。仮想エージェント70が3体の場合には、アーム122、124および126の動作が制御される。 In the next 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 (or moves forward) the arms of the robots 12 corresponding to all the virtual agents 70 slightly in the direction of the user 60, with the angle of the forearm relative to the upper arm set to 70°. However, if there is one virtual agent 70, the movement of the arm 122 is controlled. If there are two virtual agents 70, the movements of the arms 122 and 124 are controlled. If there are three virtual agents 70, the movements of the arms 122, 124 and 126 are controlled.

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

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

また、この実施例によれば、視覚刺激提示装置すなわちHMDが複数の仮想エージェントの動作を表示し、この動作に関連して、接触刺激提示装置の可動部すなわちロボットの複数のアームを動かすことよって接触刺激をユーザに提示するので、視覚刺激と接触刺激の一体感を高めることができる。 In addition, according to this embodiment, the visual stimulation presentation device, i.e., the HMD, displays the movements of multiple virtual agents, and in association with these movements, the movable parts of the tactile stimulation presentation device, i.e., the multiple arms of the robot, are moved to present tactile stimulation to the user, thereby enhancing the sense of unity between the visual stimulation and the tactile stimulation.

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

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

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

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

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

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

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

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

Claims (4)

ユーザに対して作用して前記ユーザに接触刺激を与える複数の刺激提示部を備える接触刺激提示装置、
前記複数の刺激提示部のうちの2つ以上の前記刺激提示部の各々に仮想エージェントを割り当てる割当手段、および
前記ユーザの頭部に装着され、前記割当手段によって割り当てられた複数の仮想エージェントを表示し、前記複数の仮想エージェントのうちの一部または全部を動作させて前記ユーザに視覚刺激を提示する頭部装着型表示装置を備え、
前記接触刺激提示装置は、前記ユーザに対して第1の所定の動作を行う1体の前記仮想エージェントに同期して、当該仮想エージェントが割り当てられた前記刺激提示部に前記第1の所定の動作に対応する動作を実行させる第1処理または前記複数の仮想エージェントのうちの2体以上が前記ユーザに対して同時に第2の所定の動作を行うとともに、当該複数の仮想エージェントのうちの2体以上が割り当てられた前記刺激提示部の各々に前記第2の所定の動作に対応する動作を実行させる第2処理を選択的に実行させる、疑似的接触提示システム。
A contact stimulus presentation device including a plurality of stimulus presentation units that act on a user to provide the user with a contact stimulus;
an allocation means for allocating virtual agents to each of two or more of the plurality of stimulus presentation units; and a head-mounted display device that is worn on the head of the user, displays the plurality of virtual agents allocated by the allocation means, and operates some or all of the plurality of virtual agents to present a visual stimulus to the user,
The contact stimulation presentation device selectively executes a first process in which, in synchronization with one of the virtual agents performing a first predetermined action toward the user, the stimulation presentation unit to which the virtual agent is assigned executes an action corresponding to the first predetermined action, or a second process in which two or more of the plurality of virtual agents simultaneously perform a second predetermined action toward the user and each of the stimulation presentation units to which two or more of the plurality of virtual agents are assigned executes an action corresponding to the second predetermined action. This is a pseudo-contact presentation system.
前記頭部装着型表示装置は前記複数の仮想エージェントのうちの一部または全部について前記ユーザに対する動作を示すアニメーションで表示し、
前記刺激提示部は可動部を含み、前記接触刺激提示装置は、前記可動部の動きで前記複数の仮想エージェントのうちの一部または全部についての動作のアニメーションに関連して変化するように前記可動部を動作させて前記接触刺激を前記ユーザに提示する、請求項1記載の疑似的接触提示システム。
the head-mounted display displays some or all of the plurality of virtual agents as animations showing actions for the user;
The pseudo-touch presentation system of claim 1, wherein the stimulus presentation unit includes a movable part, and the tactile stimulus presentation device presents the tactile stimulus to the user by operating the movable part so that the movement of the movable part changes in association with animation of actions for some or all of the plurality of virtual agents.
ユーザに対して作用して前記ユーザに接触刺激を与える複数の刺激提示部を有する接触刺激提示装置および前記ユーザの頭部に装着される頭部装着型表示装置を備える、疑似的接触提示システムのコンピュータによって実行される制御プログラムであって、前記コンピュータを、
前記接触刺激提示装置の前記複数の刺激提示部を制御して前記ユーザに接触刺激を提示させる刺激提示部制御手段
前記複数の刺激提示部のうちの2つ以上の前記刺激提示部の各々に仮想エージェントを割り当てる割当手段、
前記割当手段によって割り当てられた複数の仮想エージェントのうちの一部または全部を前記頭部装着型表示装置に表示する表示制御手段、および
前記ユーザに対して第1の所定の動作を行う1体の前記仮想エージェントに同期して、当該仮想エージェントが割り当てられた前記刺激提示部に前記第1の所定の動作に対応する動作を実行させる第1処理または前記複数の仮想エージェントのうちの2体以上が前記ユーザに対して同時に第2の所定の動作を行うとともに、当該複数の仮想エージェントのうちの2体以上が割り当てられた前記刺激提示部の各々に前記第2の所定の動作に対応する動作を実行させる第2処理を選択的に実行させる実行手段として機能させる、感覚刺激提示プログラム。
A control program executed by a computer of a pseudo-touch presentation system including a touch stimulus presentation device having a plurality of stimulus presentation units that act on a user to provide the user with touch stimuli, and a head-mounted display device that is mounted on the user's head, the control program comprising:
a stimulus presentation unit control means for controlling the plurality of stimulus presentation units of the tactile stimulus presentation device to present a tactile stimulus to the user;
an allocation means for allocating a virtual agent to each of two or more of the plurality of stimulus presentation units;
a display control means for displaying , on the head-mounted display device, a part or all of the plurality of virtual agents assigned by the assignment means; and
a sensory stimulus presentation program that functions as an execution means for selectively executing a first process of causing the stimulus presentation unit to which the virtual agent is assigned to perform an action corresponding to the first predetermined action in synchronization with one of the virtual agents performing a first predetermined action toward the user, or a second process of causing two or more of the plurality of virtual agents to simultaneously perform a second predetermined action toward the user and causing each of the stimulus presentation units to which two or more of the plurality of virtual agents are assigned to perform an action corresponding to the second predetermined action .
ユーザに対して作用して前記ユーザに接触刺激を与える複数の刺激提示部を有する接触刺激提示装置および前記ユーザの頭部に装着される頭部装着型表示装置を備える、疑似的接触提示システムの制御方法であって、
前記接触刺激提示装置の前記複数の刺激提示部を制御して前記ユーザに接触刺激を提示させるステップ、
前記複数の刺激提示部のうちの2つ以上の前記刺激提示部の各々に仮想エージェントを割り当てるステップ、
割り当てた複数の仮想エージェントのうちの一部または全部を前記頭部装着型表示装置に表示するステップ、および
前記ユーザに対して第1の所定の動作を行う1体の前記仮想エージェントに同期して、当該仮想エージェントが割り当てられた前記刺激提示部に前記第1の所定の動作に対応する動作を実行させる第1処理または前記複数の仮想エージェントのうちの2体以上が前記ユーザに対して同時に第2の所定の動作を行うとともに、当該複数の仮想エージェントのうちの2体以上が割り当てられた前記刺激提示部の各々に前記第2の所定の動作に対応する動作を実行させる第2処理を選択的に実行させるステップを含む、制御方法。
A method for controlling a pseudo-touch presentation system including a touch stimulus presentation device having a plurality of stimulus presentation units that act on a user to provide the user with touch stimuli, and a head-mounted display device that is mounted on the user's head, comprising:
A step of controlling the plurality of stimulus presentation units of the contact stimulus presentation device to present a contact stimulus to the user;
assigning a virtual agent to each of two or more of the stimulus presentation units;
A control method comprising: a step of displaying some or all of the multiple assigned virtual agents on the head-mounted display device; and selectively executing a first process in which, in synchronization with one of the virtual agents performing a first predetermined action toward the user, the stimulus presentation unit to which the virtual agent is assigned executes an action corresponding to the first predetermined action, or a second process in which two or more of the multiple virtual agents simultaneously perform a second predetermined action toward the user and each of the stimulus presentation units to which two or more of the multiple virtual agents are assigned executes an action corresponding to the second predetermined action.
JP2021049390A 2021-03-24 2021-03-24 Pseudo-touch presentation system, control program, and control method Active JP7627488B2 (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

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

Family

ID=83463898

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP7627488B2 (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010137289A (en) 2008-12-09 2010-06-24 Sony Corp Information processing apparatus, information processing method, and computer program
JP5688574B2 (en) 2009-11-04 2015-03-25 株式会社国際電気通信基礎技術研究所 Robot with tactile display
US20160349835A1 (en) 2015-05-28 2016-12-01 Microsoft Technology Licensing, Llc Autonomous drones for tactile feedback in immersive virtual reality
JP6257826B1 (en) 2017-05-31 2018-01-10 株式会社コロプラ Method, program, and information processing apparatus executed by computer to provide virtual space
JP2018126340A (en) 2017-02-08 2018-08-16 株式会社バンダイナムコエンターテインメント Simulation system, program and controller
WO2019231477A1 (en) 2018-05-31 2019-12-05 Gillett Carla R Robot and drone array
WO2020073681A1 (en) 2018-10-10 2020-04-16 Midea Group Co., Ltd. Method and system for providing remote robotic control
JP2020113025A (en) 2019-01-11 2020-07-27 ダイキン工業株式会社 Space control system
JP2020157442A (en) 2019-03-27 2020-10-01 株式会社国際電気通信基礎技術研究所 Simulation system
JP2021501496A (en) 2017-09-29 2021-01-14 株式会社ソニー・インタラクティブエンタテインメント Robot utilities and interface devices

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7012953B2 (en) * 2017-08-30 2022-01-31 株式会社国際電気通信基礎技術研究所 Sensory stimulation presentation system, program and method

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010137289A (en) 2008-12-09 2010-06-24 Sony Corp Information processing apparatus, information processing method, and computer program
JP5688574B2 (en) 2009-11-04 2015-03-25 株式会社国際電気通信基礎技術研究所 Robot with tactile display
US20160349835A1 (en) 2015-05-28 2016-12-01 Microsoft Technology Licensing, Llc Autonomous drones for tactile feedback in immersive virtual reality
JP2018126340A (en) 2017-02-08 2018-08-16 株式会社バンダイナムコエンターテインメント Simulation system, program and controller
JP6257826B1 (en) 2017-05-31 2018-01-10 株式会社コロプラ Method, program, and information processing apparatus executed by computer to provide virtual space
JP2021501496A (en) 2017-09-29 2021-01-14 株式会社ソニー・インタラクティブエンタテインメント Robot utilities and interface devices
WO2019231477A1 (en) 2018-05-31 2019-12-05 Gillett Carla R Robot and drone array
WO2020073681A1 (en) 2018-10-10 2020-04-16 Midea Group Co., Ltd. Method and system for providing remote robotic control
JP2020113025A (en) 2019-01-11 2020-07-27 ダイキン工業株式会社 Space control system
JP2020157442A (en) 2019-03-27 2020-10-01 株式会社国際電気通信基礎技術研究所 Simulation system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中林暁,"カラオケ店でアイドルのバーチャル握手会や360度ライブ。KDDIがVR実証事業",AV Watch[online],日本,2016年10月12日,[2024年6月26日検索],インターネット <URL:https://av.watch.impress.co.jp/docs/news/1024426.html>

Also Published As

Publication number Publication date
JP2022147921A (en) 2022-10-06

Similar Documents

Publication Publication Date Title
JP7517390B2 (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
KR102217797B1 (en) Pericular and audio synthesis of entire face images
JP7038210B2 (en) Systems and methods for interactive session management
EP3732677A1 (en) System and method for artificial intelligence driven automated companion
CN107511832A (en) Cloud interactive system, its multi-sensing intelligent robot and its perceptual interaction method
CN205989331U (en) Cloud interactive system and its multi-sensory intelligent robot
US20220215678A1 (en) System and method for reconstructing unoccupied 3d space
KR20130039578A (en) Intelligent robot, system for interaction between intelligent robot and user, and method for interaction between intelligent robot and user
JP7439826B2 (en) Information processing device, information processing method, and program
WO2019133706A1 (en) System and method for learning preferences in dialogue personalization
JP5407069B2 (en) Listening dialog system
JP6992957B2 (en) Agent dialogue system
KR20190066632A (en) Robot System and Robot Conversation Method
JP2004034274A (en) Conversation robot and its operation method
JP2006088276A (en) Motion generation system
JP7102169B2 (en) Equipment, robots, methods, and programs
JP7627488B2 (en) Pseudo-touch presentation system, control program, and control method
JP6798258B2 (en) Generation program, generation device, control program, control method, robot device and call system
JP7642259B2 (en) OBJECT CONTROL PROGRAM AND OBJECT CONTROL METHOD
JP2017162268A (en) Dialog system and control program
JP7133840B2 (en) ROBOT, ROBOT CONTROL PROGRAM AND ROBOT CONTROL METHOD
CN111195902B (en) Main control unit based on modular robot and modular robot
CN211806147U (en) Main control unit based on modular robot and modular robot
JP7833716B2 (en) Information processing device, control program, control method, and information processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241118

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250120

R150 Certificate of patent or registration of utility model

Ref document number: 7627488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150