JP2018120404A - Simulation system - Google Patents

Simulation system Download PDF

Info

Publication number
JP2018120404A
JP2018120404A JP2017011141A JP2017011141A JP2018120404A JP 2018120404 A JP2018120404 A JP 2018120404A JP 2017011141 A JP2017011141 A JP 2017011141A JP 2017011141 A JP2017011141 A JP 2017011141A JP 2018120404 A JP2018120404 A JP 2018120404A
Authority
JP
Japan
Prior art keywords
robot
objective
human
simulation
occurrence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017011141A
Other languages
Japanese (ja)
Other versions
JP6925013B2 (en
Inventor
聡 佐竹
Satoshi Satake
聡 佐竹
トーマ カスマルク
Thoma Kasmark
トーマ カスマルク
ドラジェン ブルシュチッチ
Drazen Brscic
ドラジェン ブルシュチッチ
神田 崇行
Takayuki Kanda
崇行 神田
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 JP2017011141A priority Critical patent/JP6925013B2/en
Publication of JP2018120404A publication Critical patent/JP2018120404A/en
Application granted granted Critical
Publication of JP6925013B2 publication Critical patent/JP6925013B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable objectives that control moving of person agents to be added and shared in a simulation system.SOLUTION: A simulation system (16) of a robot system (10) includes a person simulator 26. A moving module 114 in the person simulator 26 controls the moving of person agents in accordance with the four types of objectives preset in an objective model 116 and expansion objectives additionally registered in an expansion objective model 130.SELECTED DRAWING: Figure 5

Description

この発明はシミュレーションシステムに関し、特にたとえば、コミュニケーションロボットのようなロボットと人との共存環境におけるロボットや人エージェントをシミュレーションする、シミュレーションシステムに関する。   The present invention relates to a simulation system, and more particularly to a simulation system for simulating a robot or human agent in a coexistence environment of a robot such as a communication robot and a person.

従来のこの種のシミュレーション装置が非特許文献1、2で開示されている。これらの非特許文献1、2のシミュレーション装置では、センサやアクチュエータをシミュレーションして可視化することによって、人との共存環境におけるロボットの適応をより簡単にシミュレーションすることができる。   Non-patent documents 1 and 2 disclose this type of conventional simulation apparatus. In these simulation apparatuses of Non-Patent Documents 1 and 2, by simulating and visualizing sensors and actuators, it is possible to more easily simulate robot adaptation in a coexistence environment with humans.

https://www.openrobots.org/morse/doc/stable/morse.htmlhttps://www.openrobots.org/morse/doc/stable/morse.html http://gazebosim.org/http://gazebosim.org/

このようなシミュレータを導入することで、ロボットの効率的な開発が期待できるが、人々のロボットに対する反応ないし振る舞い(オブジェクティブ:objective)を事前にすべて定義することは困難である。   By introducing such a simulator, efficient robot development can be expected, but it is difficult to define in advance all the reactions or behaviors (objectives) of people to robots.

それゆえに、この発明の主たる目的は、新規な、シミュレーションシステムを提供することである。   Therefore, the main object of the present invention is to provide a novel simulation system.

この発明の他の目的は、新しいオブジェクティブを追加、共有できる、シミュレーションシステムを提供することである。   Another object of the present invention is to provide a simulation system capable of adding and sharing new objectives.

本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。   The present invention employs the following configuration in order to solve the above problems. The reference numerals in parentheses, supplementary explanations, and the like indicate correspondence relationships with embodiments described later to help understanding of the present invention, and do not limit the present invention in any way.

第1の発明は、仮想シミュレーション空間に投入した人エージェントの行動をシミュレーションするシミュレーションシステムであって、複数の基本オブジェクティブを発生尤度とともに記憶する第1記憶手段、第1記憶手段に記憶されている基本オブジェクティブを候補リストに追加する第1追加手段、拡張オブジェクティブ毎に条件が成立するかどうか判断する判断手段、条件を充足すると判断されたオブジェクトを候補リストに追加する第2追加手段、候補リスト内のオブジェクティブ毎に発生確率を計算する計算手段、計算した発生確率に基づく発生尤度とともに拡張オブジェクティブを記憶する第2記憶手段、および基本オブジェクティブおよび拡張オブジェクティブに従って人エージェントの移動を制御する移動制御手段を備える、シミュレーションシステムである。   1st invention is a simulation system which simulates the action of a human agent thrown into virtual simulation space, and is memorized by the 1st storage means and the 1st storage means which memorize a plurality of basic objectives with occurrence likelihood. First addition means for adding a basic objective to the candidate list, determination means for judging whether a condition is satisfied for each extended objective, second addition means for adding an object determined to satisfy the condition to the candidate list, in the candidate list Calculation means for calculating the probability of occurrence for each objective, second storage means for storing the extended objective together with the occurrence likelihood based on the calculated occurrence probability, and movement control means for controlling the movement of the human agent according to the basic objective and the extended objective Preparation , It is a simulation system.

第1の発明では、シミュレーションシステム(10:実施例において相当する部分を例示する参照符号。以下同様)は、仮想シミュレーション空間(22)に投入した人エージェントの行動をシミュレーションする。第1記憶手段(116)は、複数の基本オブジェクティブを発生尤度とともに記憶する。基本オブジェクティブとしては、一例として、Uninterested(興味を持たず、そのまま通り過ぎる)、Slow(速度を落とし、ロボットを見ながら通り過ぎる)、Interest(ロボットに近づき、対話を行う)、およびObserve(やや遠目に立ち止まり、ロボットを見る)が設定されている。第1追加手段(S33)は、その第1記憶手段に記憶されている基本オブジェクティブを候補リスト(List_cand)に追加する。判断手段(S35)は、拡張オブジェクティブ毎に、条件が成立するかどうかを判断する。判断手段によって、条件が充足するという判断を行われたオブジェクティブが第2追加手段(S37)によって候補リストに追加される。計算手段(S39)は、候補リスト内のオブジェクティブ毎に発生確率を計算し、第2記憶手段(130)は、計算した発生確率に基づく発生尤度とともに拡張オブジェクティブを記憶する。人シミュレータ(26)の移動制御手段(114)は、基本オブジェクティブおよび拡張オブジェクティブに従って人エージェントの移動を制御する。つまり、拡張オブジェクティブは、人シミュレータで使えるので、人シミュレータを使うユーザによって共有される。   In the first invention, a simulation system (10: reference numerals exemplifying corresponding parts in the embodiment; the same applies hereinafter) simulates the behavior of a human agent that has been input into the virtual simulation space (22). The first storage means (116) stores a plurality of basic objectives together with the likelihood of occurrence. Basic objectives include, for example, Uninterested (passes through as it is), Slow (slows down and passes while looking at the robot), Interest (closes to the robot and interacts with it), and Observe (stops at a little distance) , Watch robot) is set. The first addition means (S33) adds the basic objective stored in the first storage means to the candidate list (List_cand). The determination means (S35) determines whether the condition is satisfied for each extended objective. The objective whose determination is made that the condition is satisfied by the determination means is added to the candidate list by the second addition means (S37). The calculation means (S39) calculates the occurrence probability for each objective in the candidate list, and the second storage means (130) stores the extended objective together with the occurrence likelihood based on the calculated occurrence probability. The movement control means (114) of the human simulator (26) controls the movement of the human agent according to the basic objective and the extended objective. That is, since the extended objective can be used in a human simulator, it is shared by users who use the human simulator.

第1の発明によれば、オブジェクティブを追加し、共有することができる。   According to the first invention, an objective can be added and shared.

第2の発明は、第1の発明に従属し、計算手段は、候補リスト内のオブジェクティブの発生尤度を正規化することによって発生確率を計算する、シミュレーションシステムである。   A second invention is a simulation system according to the first invention, wherein the calculation means calculates the occurrence probability by normalizing the likelihood of occurrence of the objective in the candidate list.

この発明によれば、実世界での人々の反応ないし振る舞いをシミュレータに追加、共有することができるので、ロボットの開発を一層効率化することができる。   According to the present invention, since the reaction or behavior of people in the real world can be added to and shared with the simulator, the development of the robot can be made more efficient.

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

図1はこの発明の一実施例のシミュレーションシステムを示すブロック図である。FIG. 1 is a block diagram showing a simulation system according to an embodiment of the present invention. 図2はこの発明が適用されるロボットの一例を示す図解図である。FIG. 2 is an illustrative view showing one example of a robot to which the present invention is applied. 図3は図2に示すロボットの電気的な構成を示すブロック図である。FIG. 3 is a block diagram showing an electrical configuration of the robot shown in FIG. 図4は図1の仮想シミュレーション空間の一例を示す図解図である。FIG. 4 is an illustrative view showing one example of a virtual simulation space of FIG. 図5は図4の人シミュレータの詳細を示す機能ブロック図である。FIG. 5 is a functional block diagram showing details of the human simulator of FIG. 図6は基本オブジェクティブを示す表である。FIG. 6 is a table showing basic objectives. 図7は人エージェントの基本オブジェクティブモデルの一例を示す図解図である。FIG. 7 is an illustrative view showing one example of a basic objective model of a human agent. 図8は人エージェントの基本オブジェクティブモデルの他の例を示す図解図である。FIG. 8 is an illustrative view showing another example of a basic objective model of a human agent. 図9は人エージェントのオブジェクティブモデルのその他の例を示す図解図である。FIG. 9 is an illustrative view showing another example of an objective model of a human agent. 図10は図4の仮想シミュレーション空間の一部における人エージェントの移動の一例を示す図解図である。FIG. 10 is an illustrative view showing one example of movement of a human agent in a part of the virtual simulation space of FIG. 図11は図1実施例のシミュレーションシステムのオブジェクティブに従った動作の一例を示すフロー図である。FIG. 11 is a flowchart showing an example of the operation according to the objective of the simulation system of FIG. 1 embodiment. 図12は図5実施例の人シミュレータにおけるオブジェクティブを変更する動作の一例を示すフロー図である。FIG. 12 is a flowchart showing an example of an operation for changing the objective in the human simulator of the FIG. 5 embodiment. 図13は図12実施例においてオブジェクティブを変更する動作を詳細に示すフロー図である。FIG. 13 is a flowchart showing in detail the operation of changing the objective in the embodiment of FIG. 図14は累積分布の一例を示す図解図である。FIG. 14 is an illustrative view showing an example of a cumulative distribution. 図15は拡張オブジェクティブの一例を示す表である。FIG. 15 is a table showing an example of the extended objective.

図1を参照して、この実施例のシミュレーションシステム10は、ロボット12、ロボット12を遠隔操作する操作装置14およびロボット12をシミュレートしたロボットエージェントや人(歩行者)エージェントをシミュレーションするシミュレーション装置16含む。シミュレーションシステム10において、ロボット12を除いて、1台または2台以上のコンピュータ(プロセサ)によって実現される。   Referring to FIG. 1, a simulation system 10 of this embodiment includes a robot 12, an operation device 14 for remotely operating the robot 12, and a simulation device 16 for simulating a robot agent or a human (pedestrian) agent that simulates the robot 12. Including. The simulation system 10 is realized by one or more computers (processors) except for the robot 12.

この実施例のロボット12は、たとえば図2に示すコミュニケーションロボットのように、人との共存環境で活動するロボットである。このようなロボット12は環境の中に存在する人の行動に影響を受けるので、この実施例のシミュレーション装置16では、ロボット12の行動をロボットアプリケーションプログラム(ロボット行動決定プログラム)に従ってシミュレーションする際に、人の行動もシミュレーションすることによって、ロボット12のための安全なロボットアプリケーションプログラムの開発を支援する。   The robot 12 of this embodiment is a robot that operates in a coexistence environment with humans, such as a communication robot shown in FIG. Since such a robot 12 is affected by the behavior of a person existing in the environment, the simulation device 16 of this embodiment, when simulating the behavior of the robot 12 according to the robot application program (robot behavior determination program), The development of a safe robot application program for the robot 12 is supported by simulating human behavior.

ここで、図2および図3を参照して、この発明の理解に必要な範囲でロボット12の構成について説明する。ロボット12は台車30を含み、台車30の下面にはロボット12を移動させる2つの車輪32および1つの従輪34が設けられる。2つの車輪32は車輪モータ36(図3参照)によってそれぞれ独立に駆動され、台車30すなわちロボット12を前後左右の任意方向に動かすことができる。   Here, with reference to FIG. 2 and FIG. 3, the configuration of the robot 12 will be described within a range necessary for understanding the present invention. The robot 12 includes a carriage 30, and two wheels 32 and one slave wheel 34 for moving the robot 12 are provided on the lower surface of the carriage 30. The two wheels 32 are independently driven by a wheel motor 36 (see FIG. 3), and the carriage 30, that is, the robot 12 can be moved in any direction, front, back, left, and right.

台車30の上には、円柱形のセンサ取り付けパネル38が設けられ、このセンサ取り付けパネル38には、多数の距離センサ40が取り付けられる。これらの距離センサ40は、たとえば赤外線や超音波などを用いてロボット12の周囲の物体(人や障害物など)との距離を測定するものである。   A cylindrical sensor attachment panel 38 is provided on the carriage 30, and a number of distance sensors 40 are attached to the sensor attachment panel 38. These distance sensors 40 measure distances from objects (people, obstacles, etc.) around the robot 12 using, for example, infrared rays or ultrasonic waves.

センサ取り付けパネル38の上には、胴体42が直立して設けられる。また、胴体42の前方中央上部(人の胸に相当する位置)には、上述した距離センサ40がさらに設けられ、ロボット12の前方の、主として人との距離を計測する。また、胴体42には、その側面側上端部のほぼ中央から伸びる支柱44が設けられ、支柱44の上には、全方位カメラ46が設けられる。全方位カメラ46は、ロボット12の周囲を撮影するものであり、後述する眼カメラ70とは区別される。この全方位カメラ46としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。   A body 42 is provided upright on the sensor mounting panel 38. Further, the above-described distance sensor 40 is further provided at the front upper center of the body 42 (a position corresponding to a human chest), and measures the distance mainly from the person in front of the robot 12. Further, the body 42 is provided with a support column 44 extending from substantially the center of the upper end of the side surface, and an omnidirectional camera 46 is provided on the support column 44. The omnidirectional camera 46 photographs the surroundings of the robot 12 and is distinguished from an eye camera 70 described later. As this omnidirectional camera 46, for example, a camera using a solid-state imaging device such as a CCD or a CMOS can be adopted.

胴体42の両側面上端部(人の肩に相当する位置)には、それぞれ、肩関節48Rおよび肩関節48Lによって、上腕50Rおよび上腕50Lが設けられる。図示は省略するが、肩関節48Rおよび肩関節48Lは、それぞれ、直交する3軸の自由度を有する。すなわち、肩関節48Rは、直交する3軸のそれぞれの軸廻りにおいて上腕50Rの角度を制御できる。肩関節48Rの或る軸(ヨー軸)は、上腕50Rの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節48Lは、直交する3軸のそれぞれの軸廻りにおいて上腕50Lの角度を制御できる。肩関節48Lの或る軸(ヨー軸)は、上腕50Lの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。   An upper arm 50R and an upper arm 50L are provided at upper end portions on both sides of the torso 42 (position corresponding to a human shoulder) by a shoulder joint 48R and a shoulder joint 48L, respectively. Although illustration is omitted, each of the shoulder joint 48R and the shoulder joint 48L has three orthogonal degrees of freedom. That is, the shoulder joint 48R can control the angle of the upper arm 50R around each of three orthogonal axes. A certain axis (yaw axis) of the shoulder joint 48R is an axis parallel to the longitudinal direction (or axis) of the upper arm 50R, and the other two axes (pitch axis and roll axis) are orthogonal to the axes from different directions. It is an axis to do. Similarly, the shoulder joint 48L can control the angle of the upper arm 50L around each of three orthogonal axes. A certain axis (yaw axis) of the shoulder joint 48L is an axis parallel to the longitudinal direction (or axis) of the upper arm 50L, and the other two axes (pitch axis and roll axis) are orthogonal to the axes from different directions. It is an axis to do.

また、上腕50Rおよび上腕50Lのそれぞれの先端には、肘関節52Rおよび肘関節52Lが設けられる。図示は省略するが、肘関節52Rおよび肘関節52Lは、それぞれ1軸の自由度を有し、この軸(ピッチ軸)の軸回りにおいて前腕54Rおよび前腕54Lの角度を制御できる。   In addition, an elbow joint 52R and an elbow joint 52L are provided at the respective distal ends of the upper arm 50R and the upper arm 50L. Although illustration is omitted, each of the elbow joint 52R and the elbow joint 52L has one degree of freedom, and the angle of the forearm 54R and the forearm 54L can be controlled around the axis (pitch axis).

前腕54Rおよび前腕54Lのそれぞれの先端には、人の手に相当するハンド56Rおよびハンド56Lがそれぞれ設けられる。これらのハンド56Rおよび56Lは、詳細な図示は省略するが、開閉可能に構成され、それによってロボット12は、ハンド56Rおよび56Lを用いて物体を把持または挟持することができる。ただし、ハンド56R、56Lの形状は実施例の形状に限らず、人の手に酷似した形状や機能を持たせるようにしてもよい。   At the tip of each of the forearm 54R and the forearm 54L, a hand 56R and a hand 56L corresponding to a human hand are provided. Although the detailed illustration is omitted, these hands 56R and 56L are configured to be openable and closable so that the robot 12 can grip or hold an object using the hands 56R and 56L. However, the shape of the hands 56R and 56L is not limited to the shape of the embodiment, and may have a shape and a function very similar to a human hand.

また、図示は省略するが、台車30の前面、肩関節48Rと肩関節48Lとを含む肩に相当する部位、上腕50R、上腕50L、前腕54R、前腕54L、ハンド56Rおよびハンド56Lには、それぞれ、接触センサ58(図3で包括的に示す)が設けられる。台車30の前面の接触センサ58は、台車30への人間や他の障害物の接触を検知する。したがって、ロボット12は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪32の駆動を停止してロボット12の移動を急停止させることができる。また、その他の接触センサ58は、当該各部位に触れたかどうかを検知する。   Although not shown, the front surface of the carriage 30, a portion corresponding to the shoulder including the shoulder joint 48R and the shoulder joint 48L, the upper arm 50R, the upper arm 50L, the forearm 54R, the forearm 54L, the hand 56R, and the hand 56L, A contact sensor 58 (shown generically in FIG. 3) is provided. A contact sensor 58 on the front surface of the carriage 30 detects contact of a person or another obstacle with the carriage 30. Therefore, the robot 12 can detect the contact with the obstacle during its movement and immediately stop the driving of the wheel 32 to suddenly stop the movement of the robot 12. Further, the other contact sensors 58 detect whether or not the respective parts are touched.

胴体42の中央上部(人の首に相当する位置)には首関節60が設けられ、さらにその上には頭部62が設けられる。図示は省略するが、首関節60は、3軸の自由度を有し、3軸の各軸廻りに角度制御可能である。或る軸(ヨー軸)はロボット12の真上(鉛直上向き)に向かう軸であり、他の2軸(ピッチ軸、ロール軸)は、それぞれ、それと異なる方向で直交する軸である。   A neck joint 60 is provided at the upper center of the body 42 (a position corresponding to a person's neck), and a head 62 is further provided thereon. Although illustration is omitted, the neck joint 60 has a degree of freedom of three axes, and the angle can be controlled around each of the three axes. A certain axis (yaw axis) is an axis directed directly above (vertically upward) of the robot 12, and the other two axes (pitch axis and roll axis) are axes orthogonal to each other in different directions.

頭部62には、人の口に相当する位置に、スピーカ64が設けられる。スピーカ64は、ロボット12が、それの周辺の人に対して音声によってコミュニケーションをとるために用いられる。また、人の耳に相当する位置には、マイク66Rおよびマイク66Lが設けられる。以下、右のマイク66Rと左のマイク66Lとをまとめてマイク66ということがある。マイク66は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。   The head 62 is provided with a speaker 64 at a position corresponding to a human mouth. The speaker 64 is used for the robot 12 to communicate by voice to people around it. A microphone 66R and a microphone 66L are provided at a position corresponding to a human ear. Hereinafter, the right microphone 66R and the left microphone 66L may be collectively referred to as a microphone 66. The microphone 66 captures ambient sounds, in particular, the voices of humans who are subjects of communication.

さらに、人の目に相当する位置には、右の眼球部68Rおよび左の眼球部68Lが設けられる。右の眼球部68Rおよび左の眼球部68Lは、それぞれ右の眼カメラ70Rおよび左の眼カメラ70Lを含む。以下、右の眼球部68Rと左の眼球部68Lとをまとめて眼球部68ということがある。また、右の眼カメラ70Rと左の眼カメラ70Lとをまとめて眼カメラ70ということがある。   Further, a right eyeball portion 68R and a left eyeball portion 68L are provided at positions corresponding to human eyes. The right eyeball portion 68R and the left eyeball portion 68L include a right eye camera 70R and a left eye camera 70L, respectively. Hereinafter, the right eyeball part 68R and the left eyeball part 68L may be collectively referred to as the eyeball part 68. The right eye camera 70R and the left eye camera 70L may be collectively referred to as an eye camera 70.

眼カメラ70は、ロボット12に接近した人の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。この実施例では、ロボット12は、この眼カメラ70からの映像信号によって、人の左右両目のそれぞれの視線方向(ベクトル)を検出する。   The eye camera 70 captures a human face approaching the robot 12, other parts or objects, and captures a corresponding video signal. In this embodiment, the robot 12 detects the line-of-sight directions (vectors) of the left and right eyes of the person based on the video signal from the eye camera 70.

また、眼カメラ70は、上述した全方位カメラ46と同様のカメラを用いることができる。たとえば、眼カメラ70は、眼球部68内に固定され、眼球部68は、眼球支持部(図示せず)を介して頭部62内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部62の上に向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部62の正面側(顔)が向く方向に直行する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部68ないし眼カメラ70の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ64、マイク66および眼カメラ70の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。   The eye camera 70 can be the same camera as the omnidirectional camera 46 described above. For example, the eye camera 70 is fixed in the eyeball unit 68, and the eyeball unit 68 is attached to a predetermined position in the head 62 via an eyeball support unit (not shown). Although illustration is omitted, the eyeball support portion has two degrees of freedom, and the angle can be controlled around each of these axes. For example, one of the two axes is an axis (yaw axis) in a direction toward the top of the head 62, and the other is orthogonal to the one axis and goes straight in a direction in which the front side (face) of the head 62 faces. It is an axis (pitch axis) in the direction to be. By rotating the eyeball support portion around each of these two axes, the tip (front) side of the eyeball portion 68 or the eye camera 70 is displaced, and the camera axis, that is, the line-of-sight direction is moved. Note that the installation positions of the speaker 64, the microphone 66, and the eye camera 70 described above are not limited to those portions, and may be provided at appropriate positions.

このように、この実施例のロボット12は、車輪32の独立2軸駆動、肩関節48の3自由度(左右で6自由度)、肘関節52の1自由度(左右で2自由度)、首関節60の3自由度および眼球支持部の2自由度(左右で4自由度)の合計17自由度を有する。   As described above, the robot 12 of this embodiment includes independent two-axis driving of the wheels 32, three degrees of freedom of the shoulder joint 48 (6 degrees of freedom on the left and right), one degree of freedom of the elbow joint 52 (2 degrees of freedom on the left and right), It has a total of 17 degrees of freedom, 3 degrees of freedom for the neck joint 60 and 2 degrees of freedom for the eyeball support (4 degrees of freedom on the left and right).

図3はロボット12の電気的な構成を示すブロック図である。この図3を参照して、ロボット12は、1つまたは2以上のプロセサ80を含む。プロセサ80は、バス82を介して、メモリ84、モータ制御ボード86、センサ入力/出力ボード88および音声入力/出力ボード90に接続される。   FIG. 3 is a block diagram showing the electrical configuration of the robot 12. With reference to FIG. 3, the robot 12 includes one or more processors 80. The processor 80 is connected to the memory 84, the motor control board 86, the sensor input / output board 88, and the audio input / output board 90 via the bus 82.

メモリ84は、図示は省略をするが、ROM、HDDおよびRAMを含む。ROMおよびHDDには、各種プログラムが予め記憶される。   Although not shown, the memory 84 includes a ROM, an HDD, and a RAM. Various programs are stored in advance in the ROM and the HDD.

モータ制御ボード86は、たとえばDSPで構成され、各腕や首関節60および眼球部68などの各軸モータの駆動を制御する。すなわち、モータ制御ボード86は、プロセサ80からの制御データを受け、右眼球部68Rの2軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「右眼球モータ92」と示す)の回転角度を制御する。同様にして、モータ制御ボード86は、プロセサ80からの制御データを受け、左眼球部68Lの2軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「左眼球モータ94」と示す)の回転角度を制御する。   The motor control board 86 is configured by, for example, a DSP, and controls driving of motors for the axes such as the arms, the neck joint 60, and the eyeball unit 68. That is, the motor control board 86 receives the control data from the processor 80, and controls two motors for controlling the angles of the two axes of the right eyeball portion 68R (in FIG. 3, they are collectively referred to as “right eyeball motor 92”). Control the rotation angle. Similarly, the motor control board 86 receives control data from the processor 80, and controls two angles of the two axes of the left eyeball portion 68L (in FIG. 3, collectively referred to as “left eyeball motor 94”). Control the angle of rotation.

また、モータ制御ボード86は、プロセサ80からの制御データを受け、肩関節48Rの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節52Rの角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「右腕モータ96」と示す)の回転角度を制御する。同様にして、モータ制御ボード86は、プロセサ80からの制御データを受け、肩関節48Lの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節52Lの角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「左腕モータ98」と示す)の回転角度を制御する。   The motor control board 86 receives control data from the processor 80, and includes a total of three motors for controlling the angles of the three orthogonal axes of the shoulder joint 48R and one motor for controlling the angle of the elbow joint 52R. The rotational angles of four motors (collectively indicated as “right arm motor 96” in FIG. 3) are controlled. Similarly, the motor control board 86 receives control data from the processor 80, three motors for controlling the angles of the three orthogonal axes of the shoulder joint 48L, and one motor for controlling the angle of the elbow joint 52L. The rotation angles of a total of four motors (collectively indicated as “left arm motor 98” in FIG. 3) are controlled.

さらに、モータ制御ボード86は、プロセサ80からの制御データを受け、首関節60の直交する3軸のそれぞれの角度を制御する3つのモータ(図3では、まとめて「頭部モータ100」と示す)の回転角度を制御する。そして、モータ制御ボード86は、プロセサ80からの制御データを受け、車輪32を駆動する2つのモータ(図3では、まとめて「車輪モータ36」と示す)の回転角度を制御する。   Further, the motor control board 86 receives three control data from the processor 80 and controls three angles of the three orthogonal axes of the neck joint 60 (in FIG. 3, collectively referred to as “head motor 100”). ) To control the rotation angle. The motor control board 86 receives control data from the processor 80 and controls the rotation angles of two motors (collectively indicated as “wheel motor 36” in FIG. 3) that drive the wheels 32.

モータ制御ボード86にはさらにハンドアクチュエータ101が結合され、モータ制御ボード86は、プロセサ80からの制御データを受け、ハンド56R、56Lの開閉を制御する。   A hand actuator 101 is further coupled to the motor control board 86. The motor control board 86 receives control data from the processor 80 and controls the opening and closing of the hands 56R and 56L.

センサ入力/出力ボード88は、モータ制御ボード86と同様に、DSPで構成され、各センサからの信号を取り込んでプロセサ80に与える。すなわち、距離センサ40のそれぞれからの反射時間に関するデータがこのセンサ入力/出力ボード88を通じてプロセサ80に入力される。また、全方位カメラ46からの映像信号が、必要に応じてセンサ入力/出力ボード88で所定の処理を施してからプロセサ80に入力される。眼カメラ70からの映像信号も、同様にして、プロセサ80に入力される。また、上述した複数の接触センサ58(図3では、まとめて「接触センサ58」と示す)からの信号がセンサ入力/出力ボード88を介してプロセサ80に与えられる。音声入力/出力ボード90もまた、同様に、DSPで構成され、プロセサ80から与えられる音声合成データに従った音声または声がスピーカ64から出力される。また、マイク66からの音声入力が、音声入力/出力ボード90を介してプロセサ80に与えられる。   Similar to the motor control board 86, the sensor input / output board 88 is configured by a DSP and takes in signals from each sensor and supplies them to the processor 80. That is, data relating to the reflection time from each of the distance sensors 40 is input to the processor 80 through the sensor input / output board 88. The video signal from the omnidirectional camera 46 is input to the processor 80 after being subjected to predetermined processing by the sensor input / output board 88 as necessary. The video signal from the eye camera 70 is also input to the processor 80 in the same manner. Signals from the plurality of contact sensors 58 described above (collectively referred to as “contact sensors 58” in FIG. 3) are provided to the processor 80 via the sensor input / output board 88. Similarly, the voice input / output board 90 is also configured by a DSP, and voice or voice in accordance with voice synthesis data supplied from the processor 80 is output from the speaker 64. In addition, voice input from the microphone 66 is given to the processor 80 via the voice input / output board 90.

また、プロセサ80は、バス82を介して通信LANボード102に接続される。通信LANボード102は、たとえばDSPで構成され、プロセサ80から与えられた送信データを無線通信モジュール104に与え、無線通信モジュール104は送信データを、ネットワークを介してサーバ(図示せず)等に送信する。また、通信LANボード102は、無線通信モジュール104を介してデータを受信し、受信したデータをプロセサ80に与える。   The processor 80 is connected to the communication LAN board 102 via the bus 82. The communication LAN board 102 is configured by, for example, a DSP, and sends transmission data given from the processor 80 to the wireless communication module 104. The wireless communication module 104 sends the transmission data to a server (not shown) or the like via the network. To do. The communication LAN board 102 receives data via the wireless communication module 104 and gives the received data to the processor 80.

図1に戻って、操作装置14は、基本的には1または2以上のコンピュータまたはプロセサによって構成され、そのプロセサのメモリ(図示せず)にロボットアプリケーションプログラム18が設定されていて、そのロボットアプリケーションプログラムがコンピュータからたとえば無線でロボット12またはシミュレーション装置16に与えられる。ロボットアプリケーションプログラム18は、ロボット12に対すアプリケーションプログラムであり、たとえばロボット12を案内ロボットとしとて動作させるときには、そのための動作をロボット12が実行するようなプログラムである。   Returning to FIG. 1, the operating device 14 is basically composed of one or more computers or processors, and a robot application program 18 is set in a memory (not shown) of the processor. The program is given to the robot 12 or the simulation device 16 from a computer, for example, wirelessly. The robot application program 18 is an application program for the robot 12. For example, when the robot 12 is operated as a guide robot, the robot 12 executes an operation for that purpose.

操作装置14のメモリにはさらに、環境データ20を予め記憶している。環境データ20は主として図4に示す仮想シミュレーション空間22の地図データおよびその仮想シミュレーション空間22内での人エージェントの出現率データを含む。環境および環境内のオブジェクトは3次元モデルデータとして表され、3次元仮想空間として視覚化される。   Further, environmental data 20 is stored in advance in the memory of the operation device 14. The environment data 20 mainly includes map data of the virtual simulation space 22 shown in FIG. 4 and appearance rate data of human agents in the virtual simulation space 22. The environment and the objects in the environment are represented as 3D model data and visualized as a 3D virtual space.

図4に示す仮想シミュレーション空間22は、図中点線矩形で示す出入口22aを有する3次元閉空間を想定している。この仮想シミュレーション空間22においては黒色太線で示す通路22bが設定されていて、ロボット12や人エージェントはその通路50や広場などを通行し、またはそこに存在する。これらの通路22bや広場は建物や壁などオブジェクトによって区画され、図中丸印で示す場所で分岐または合流する。   The virtual simulation space 22 shown in FIG. 4 assumes a three-dimensional closed space having an entrance / exit 22a indicated by a dotted rectangle in the drawing. In this virtual simulation space 22, a passage 22b indicated by a black thick line is set, and the robot 12 and the human agent pass through or exist in the passage 50, a plaza, and the like. These passages 22b and squares are partitioned by objects such as buildings and walls, and branch or merge at locations indicated by circles in the figure.

シミュレーション装置16は、基本的には1または2以上のプロセサで構成され、ロボット12をシミュレートするロボットシミュレータ24および歩行者のような人エージェントをシミュレートする人シミュレータ26を含み、それぞれのシミュレーション結果が物理エンジン28に入力される。   The simulation apparatus 16 is basically composed of one or more processors, and includes a robot simulator 24 that simulates the robot 12 and a human simulator 26 that simulates a human agent such as a pedestrian. Is input to the physics engine 28.

ロボットシミュレータ24は、たとえば先の非特許文献1として例示したMORSEシミュレータであり、このMORSEシミュレータは、ロボット12と同様の、多くのセンサ、アクチュエータおよびロボットのモデルを提供し、そのようなモデル用のAPI(Application Programming Interface)も利用できる。   The robot simulator 24 is, for example, the MORSE simulator exemplified as the previous Non-Patent Document 1, and this MORSE simulator provides many sensors, actuators, and robot models similar to the robot 12, and for such models. An API (Application Programming Interface) can also be used.

センサシミュレーションにおいては、たとえば、カメラ画像の場合には、カメラ視点からの光学的な計算を行い、カメラ視点毎の画像情報を生成する。レーザ距離計の場合には、レーザによるスキャンを模して、センサから各方位へ距離計測を行い、その結果をセンサ値として保存する。   In the sensor simulation, for example, in the case of a camera image, optical calculation from the camera viewpoint is performed to generate image information for each camera viewpoint. In the case of a laser rangefinder, the distance is measured from the sensor to each direction, imitating scanning with a laser, and the result is stored as a sensor value.

開発者がロボットのためのロボットアプリケーションプログラムを準備するとき、それらのプログラムはこれらのAPIにアクセスしてセンサデータ(たとえば、レーザ距離計からの距離の読み取り)およびアクチュエータへのコマンドの送信(たとえば、移動速度)を行う。   When a developer prepares a robot application program for a robot, the program accesses these APIs to send sensor data (eg, reading distance from a laser rangefinder) and sending commands to an actuator (eg, Move speed).

人シミュレータ26は、定期的に新しい歩行者を生成し、それらの位置を更新し、それらがシミュレートされた環境(仮想シミュレーション空間22)を離れるときにそれらを除去する。歩行者すなわち人は、3次元オブジェクトとして表現され、仮想シミュレータ空間22内に配置され、アニメーションエンジンを使用して、その歩行動作がアニメーション化される。   The human simulator 26 periodically creates new pedestrians, updates their positions, and removes them as they leave the simulated environment (virtual simulation space 22). A pedestrian or person is represented as a three-dimensional object, placed in the virtual simulator space 22, and its walking motion is animated using an animation engine.

ただし、人シミュレータ26には図1に示すように環境データ20が与えられるので、人シミュレータ26は、その環境データに含まれる出現率と呼ばれる予め定義された確率で新しい歩行者を周期的に生成する。そして、その歩行者は図4に示す出入口22aの1つに割り当てられ、他の1つに行くように設定される。   However, since the environmental data 20 is given to the human simulator 26 as shown in FIG. 1, the human simulator 26 periodically generates new pedestrians with a predefined probability called the appearance rate included in the environmental data. To do. The pedestrian is assigned to one of the entrances 22a shown in FIG. 4 and is set to go to the other one.

ただし、歩行者はしばしばグループとして(家族やカップルのように)生成され、 それらがグループで表示される場合、サイズはグループメンバの分布によって定義し、すべてのメンバが同じ目的を共有すると仮定する。   However, pedestrians are often created as groups (like families and couples), and when they are displayed in groups, the size is defined by the distribution of group members, assuming that all members share the same purpose.

物理エンジン28は、物理的な力や法則などに基づいて、ロボットや人エージェントがどのような移動経路をたどるかを計算する。詳しくいうと、物理エンジン28は、ロボットシミュレータ24および人シミュレータ26からの各エージェント(ロボット含む)が意図した動きを、仮想シミュレーション空間22(図4)で実行する処理を実行する。このとき、他の障害物、構造物や他のエージェントとの干渉が何もなければ、意図したとおりの動きを生成する。しかしながら、干渉がある場合、物理学法則(力学法則)に従って、各エージェントの実際の動きを処理する。そして、物理エンジン28からは統合したシミュレーションデータが出力される。   The physics engine 28 calculates what movement path the robot or human agent follows based on physical force or law. Specifically, the physics engine 28 executes a process for executing movements intended by the agents (including robots) from the robot simulator 24 and the human simulator 26 in the virtual simulation space 22 (FIG. 4). At this time, if there is no interference with other obstacles, structures, or other agents, a motion as intended is generated. However, when there is interference, the actual movement of each agent is processed according to the laws of physics (dynamic laws). Then, integrated simulation data is output from the physics engine 28.

シミュレーション装置16には、ディスプレイ105設けられていて、このディスプレイ105によって、たとえば図4に示すような仮想シミュレーション空間の画像が、その中に存在するシミュレートされたロボットや人エージェントとともに、表示される。たとえば、人エージェントは、3次元オブジェクトとして表現され、仮想シミュレーション空間22内に配置され、アニメーションエンジンを使用して、その歩行動作がアニメーション化される。ロボットアプリケーションプログラム18の開発者は、そのディスプレイ105に表示された画像で確認しながら、ロボット12の行動決定プログラム(アプリケーションプログラム)を作製し、修正する。   The simulation apparatus 16 is provided with a display 105. By this display 105, for example, an image of a virtual simulation space as shown in FIG. 4 is displayed together with a simulated robot and human agent existing therein. . For example, a human agent is represented as a three-dimensional object, placed in the virtual simulation space 22, and its walking motion is animated using an animation engine. The developer of the robot application program 18 creates and corrects an action determination program (application program) of the robot 12 while confirming with the image displayed on the display 105.

図5を参照して、人シミュレータ26を詳細に説明する。人シミュレータ26は、ロボットシミュレータ24と同様に、シミュレーション装置16のコンピュータないしプロセサによって実現される機能であり、人生成モジュール110を含む。この人生成モジュール110は、上述のように、環境データ20に含まれる出現率データ108に従って新しい歩行者(人エージェント)を、地図データ106が表す、図4に一例を示す仮想シミュレーション空間22内に、周期的に生成する。   The human simulator 26 will be described in detail with reference to FIG. Similar to the robot simulator 24, the human simulator 26 is a function realized by a computer or a processor of the simulation device 16 and includes a human generation module 110. As described above, the human generation module 110 represents a new pedestrian (human agent) according to the appearance rate data 108 included in the environment data 20 in the virtual simulation space 22 shown in FIG. Generate periodically.

出現率データ108は、シミュレーション装置16の仮想シミュレーション空間22に投入する人エージェントのための、人の形状、すなわち大人、子供、男性、女性などの人の形状(パターン)やそれぞれの人の出現率が予め設定されているデータベースであり、設定された確率で設定された形状の人エージェントが生成される。   The appearance rate data 108 is the shape of a person, ie, the shape (pattern) of a person such as an adult, a child, a man, or a woman, and the appearance rate of each person for the human agent to be input to the virtual simulation space 22 of the simulation device 16. Is a preset database, and a human agent having a set shape is generated with a set probability.

なお、この出現率データ108では、曜日や時間ごとに異なるデータセットを保持しておき、曜日や時間を指定してシミュレーションできるようにしてもよい。そうすれば、ある時間帯にロボットを動かすとどうなるのかなど、いろいろシミュレーションすることができる。   In this appearance rate data 108, different data sets may be held for each day of the week and time, and simulation may be performed by designating the day of the week and time. Then, you can do various simulations such as what happens if you move the robot in a certain time zone.

ただし、生成される人エージェントがグループを形成することを出現率データ108が示していれば、人生成モジュール110は、シミュレーションパラメータとして設定されているグループメンバデータ112に従ったメンバ構成のグループで複数の人エージェントを生成する。   However, if the appearance rate data 108 indicates that the generated human agent forms a group, the human generation module 110 is a group of member configurations according to the group member data 112 set as simulation parameters. Create a human agent.

移動モジュール114は、人生成モジュール110が生成した人エージェントを、オブジェクティブモデル(Objective Model)116に基づいて、仮想シミュレーション空間22(図4)内を移動させる。ここで、オブジェクティブとは、先に述べたように人々のロボットに対する反応ないし振る舞いを意味するが、具体的には、仮想シミュレーション空間22において、人エージェント(図示せず)の視界にロボットエージェント(図示せず)が入ったときに、人エージェントが示す反応の仕方、つまり人が実空間で実際に執り得る対ロボット行動パターンを規定する命令セットである。この実施例では図6に示す4つの典型的な反応の態様(オブジェクティブ)をモデルとして設定しておき、移動モジュール114は人エージェントを移動させるとき、そのモデルが示すオブジェクティブに従って移動させる。つまり、オブジェクティブ116は、仮想シミュレーション空間においてロボットの存在に対する反応行動を人エージェントに行わせる、第1命令セットとして機能する。これらのオブジェクティブはシミュレーションシステム10の第1メモリ(図示せず)に記憶されている。   The movement module 114 moves the human agent generated by the human generation module 110 in the virtual simulation space 22 (FIG. 4) based on the objective model 116. Here, the objective means the reaction or behavior of people to the robot as described above. Specifically, in the virtual simulation space 22, the robot agent (not shown) is visible in the field of view of the human agent (not shown). (Not shown) is a command set that defines how the human agent reacts, that is, the robot action pattern that a person can actually perform in real space. In this embodiment, four typical reaction modes (objectives) shown in FIG. 6 are set as models, and the movement module 114 moves the human agent according to the objectives indicated by the model when moving the human agent. That is, the objective 116 functions as a first instruction set that causes a human agent to perform a reaction behavior with respect to the presence of the robot in the virtual simulation space. These objectives are stored in a first memory (not shown) of the simulation system 10.

なお、このオブジェクティブモデル116に予め設定されている利用可能なオブジェクティブは、たとえば上記第1メモリから読み出してそれらの一覧をたとえばディスプレイ105などに表示するなどして、デバッグしようとする開発者が知ることができる。   It should be noted that the available objectives preset in the objective model 116 are known to the developer who wants to debug, for example, by reading from the first memory and displaying a list of them on the display 105, for example. Can do.

図6に示す基本オブジェクティブ116は、ロボットが自分の視野に入ったときに人が執る行動パターン(オブジェクティブ)である。図6において、発生尤度は、そのオブジェクティブが再現される確率を示し、オブジェクティブUninterested(興味を持たず、そのまま通り過ぎる)の発生尤度は0.6に設定されている。オブジェクティブSlow(速度を落とし、ロボットを見ながら通り過ぎる)の発生尤度は0.05に設定されている。図7に図解しているオブジェクティブInterest(ロボットに近づき、対話を行う)の発生尤度は0.3に設定されている。図8に図解しているオブジェクティブObserve(やや遠目に立ち止まり、ロボットを見る)の発生尤度は0.05に設定されている。   A basic objective 116 shown in FIG. 6 is an action pattern (objective) that a person takes when the robot enters his or her field of vision. In FIG. 6, the occurrence likelihood indicates the probability that the objective will be reproduced, and the occurrence likelihood of the objective Uninterested (not interested and passed as it is) is set to 0.6. The occurrence likelihood of Objective Slow (slows down and passes by looking at the robot) is set to 0.05. The occurrence likelihood of Objective Interest illustrated in FIG. 7 (approaching and interacting with the robot) is set to 0.3. The occurrence likelihood of Objective Observe (slightly stopping at a distance and looking at the robot) illustrated in FIG. 8 is set to 0.05.

図7は、人(「i」で示す)が自分の視野内にロボット12を発見すると、ロボット12の回りに、ロボット12から停止距離Dstopを隔てて停止し、ロボット12と対話するオブジェクティブを図解している。   FIG. 7 illustrates an objective of interacting with a robot 12 when a person (indicated by “i”) finds the robot 12 within his field of view and stops around the robot 12 at a stop distance Dstop. doing.

図8は、人(「i」で示す)が自分の視野内にロボット12を発見すると、ロボット12の回りに、ロボット12から停止距離Dstopよりもやや大きい観察距離Dobserveを隔てて停止し、ロボット12を観察するオブジェクティブを図解している。   FIG. 8 shows that when a person (indicated by “i”) finds the robot 12 within his field of view, the robot 12 stops around the robot 12 with an observation distance Dobserve slightly larger than the stop distance Dstop. Illustrates the objective of observing 12.

ただし、移動モジュール114は、シミュレーションパラメータに含まれるソーシャルフォースモデル(Social Force Model)118およびインタラクションモデル(Interaction with robot model)120からのそれぞれのモデルデータを考慮して、人エージェントの移動をシミュレートする。ソーシャルフォースモデルとは、後述の図10に示すように歩行者どうしがいかに影響して挙動が変わるかということを表すモデルである。たとえば、斥力または反力などとして知られている。   However, the movement module 114 simulates the movement of the human agent in consideration of each model data from the social force model 118 and the interaction with robot model 120 included in the simulation parameters. . The social force model is a model representing how pedestrians influence and behavior change as shown in FIG. 10 described later. For example, it is known as repulsive force or reaction force.

仮想シミュレーション空間22内において、人エージェントの行動は、他のエージェントから影響されて変化するが(たとえば、人同士がぶつからないように避ける、ロボットを見たら近づく、など)。   In the virtual simulation space 22, the behavior of the human agent is changed by being influenced by other agents (for example, avoiding people from colliding with each other, approaching when looking at the robot, etc.).

たとえば図9に示すように、2人の人iおよびjは相互に影響して次のステップでの移動位置を決定する場合がある、人エージェントiは本来はdi,jの方向へ移動するのであるが、人エージェントjが人エージェントiに対して角度θi,jの方向に速度vi,jで移動しようとしているため、人エージェントiは、結局d’i,jの方向へ移動することになる。   For example, as shown in FIG. 9, two people i and j may influence each other to determine the moving position in the next step. Since human agent i originally moves in the direction of di, j. However, since the human agent j is about to move in the direction of the angle θi, j with respect to the human agent i at the speed vi, j, the human agent i eventually moves in the direction of d′ i, j. .

なお、インタラクションモデル120とは、人のロボットとの相互作用のパターンを予め設定しているモデルである。   The interaction model 120 is a model in which an interaction pattern with a human robot is set in advance.

図10は図4に示す仮想シミュレーション環境(空間)の一部を模式的に示していて、仮想シミュレーション空間22は、出入口22aを設けた壁などのオブジェクト124で仕切られた閉空間を想定している。ただし、オブジェクト124はすべて、障害物として地図データ106に書き込まれている。   FIG. 10 schematically shows a part of the virtual simulation environment (space) shown in FIG. 4. The virtual simulation space 22 is assumed to be a closed space partitioned by an object 124 such as a wall provided with an entrance 22a. Yes. However, all the objects 124 are written in the map data 106 as obstacles.

ロボットシミュレータ24は、環境データ20に含まれるロボット(ロボットエージェント)の位置等のデータに基づいて、ロボットアプリケーションプログラム18に従ったロボットの次のステップでの行動をシミュレーションする。ここで、ロボットアプリケーションプログラム18は、図3のセンサ入力/出力ボード88に入力されるセンサ出力に応じて、各モータすなわちアクチュエータを制御してロボットの行動を決定するプログラムである。   The robot simulator 24 simulates the behavior of the robot in the next step according to the robot application program 18 based on data such as the position of the robot (robot agent) included in the environment data 20. Here, the robot application program 18 is a program that determines the behavior of the robot by controlling each motor, that is, the actuator, in accordance with the sensor output input to the sensor input / output board 88 of FIG.

図10の例でいえば、ロボットアプリケーションプログラム18は、たとえば図10において、一方の出入口22aからロボット12が仮想シミュレーション空間22に入り、他方の出入口22aから出るまで、通路22bに従って移動させるように設定されている。なお、図10において参照符号126が、シミュレーションのためにこの仮想シミュレーション空間22に投入された人エージェントを示し、参照符号128が障害物を示す。   In the example of FIG. 10, the robot application program 18 is set to move along the path 22b until the robot 12 enters the virtual simulation space 22 from one entrance 22a and exits the other entrance 22a in FIG. 10, for example. Has been. In FIG. 10, reference numeral 126 indicates a human agent input into the virtual simulation space 22 for simulation, and reference numeral 128 indicates an obstacle.

さらに、図5に示す実施例では、拡張オブジェクティブモデル130が設けられる。この拡張オブジェクティブモデル130は、後述のようにして実世界で発見した人々の反応を、基本オブジェクティブモデル116とは別に、追加して共有するようにしたオブジェクティブである。このような拡張オブジェクティブモデル130を追加でき、その追加した拡張オブジェクティブモデル130に従って人々の振る舞いをシミュレーションすることによって、人エージェントの新しい動きをシミュレータ上で再現させることができる。   Further, in the embodiment shown in FIG. 5, an extended objective model 130 is provided. The extended objective model 130 is an objective in which reactions of people discovered in the real world are added and shared separately from the basic objective model 116 as described later. Such an extended objective model 130 can be added, and by simulating the behavior of people according to the added extended objective model 130, a new movement of the human agent can be reproduced on the simulator.

ここで、まず、図11を参照して、基本オブジェクティブモデル116に従った図1に示すシミュレーション装置16における動作の一例を説明する。   Here, first, an example of the operation of the simulation apparatus 16 shown in FIG. 1 according to the basic objective model 116 will be described with reference to FIG.

最初のステップS1において、一例として図4(および図11)に示す通路22b上を移動するように設定されている、ロボットアプリケーションプログラム18を読み込むとともに、環境データ20を読み込む。すなわち、ロボット12の行動をシミュレーションする図4(および図11)のような仮想シミュレーション空間22の地図データ106および出現率データ108が示す仮想シミュレーション空間22に投入する人エージェントの生成に関するパラメータ(出現頻度、移動経路、グループ人数、大人子供や男女の比率、背の高さなど)および各エージェント(ロボット12を含む)の位置データなどを読み込む。   In the first step S1, as an example, the robot application program 18 set to move on the passage 22b shown in FIG. 4 (and FIG. 11) is read, and the environment data 20 is read. That is, parameters (appearance frequency) relating to generation of human agents to be input to the virtual simulation space 22 indicated by the map data 106 and the appearance rate data 108 in the virtual simulation space 22 as shown in FIG. 4 (and FIG. 11) for simulating the behavior of the robot 12. , Movement route, number of groups, ratio of adult children and men, height, etc.) and position data of each agent (including robot 12).

次のステップS3では、人シミュレータ26の人生成モジュール110によって、環境データ20が提示する人エージェントの生成に関する上述のパラメータおよびグループからの人パターンのデータに従って、仮想シミュレーション空間22内で、1または2以上の人エージェントを生成して配置する。   In the next step S3, the human generation module 110 of the human simulator 26 uses 1 or 2 in the virtual simulation space 22 according to the human parameter data from the above-mentioned parameters and groups related to generation of the human agent presented by the environmental data 20 The above human agents are generated and arranged.

ステップS5で人シミュレータ26は、環境データ20が示す現在の人エージェントおよびロボット12の位置に基づいて、そしてオブジェクティブモデル116が示す対ロボット行動パターンに基づいて、人エージェントの次のステップでの行動を決定する。なお、図6に示す基本オブジェクティブの一覧は開発者(操作装置14のオペレータ)が自由にアクセスできる形で提供される。   In step S5, the human simulator 26 determines the action of the human agent in the next step based on the current position of the human agent and the robot 12 indicated by the environmental data 20, and based on the anti-robot action pattern indicated by the objective model 116. decide. The list of basic objectives shown in FIG. 6 is provided in a form that can be freely accessed by the developer (the operator of the operation device 14).

ステップS7でロボットシミュレータ24は、環境データ20が示す現在の人エージェントおよびロボット12の位置に基づいて、ロボットアプリケーションプログラム18に従って、次のステップでのロボット12の行動を決定する。   In step S <b> 7, the robot simulator 24 determines the action of the robot 12 in the next step according to the robot application program 18 based on the current human agent indicated by the environment data 20 and the position of the robot 12.

具体的には、ステップS7では、ロボット12がたとえば搬送ロボットや搭乗型ロボットのように目的地に向かうことが主目的のロボットである場合、他の人々の現在の位置や移動速度から、なるべく他人の移動に干渉しないような移動経路を計算する処理を行う。また、ロボット12が人々にサービス提供することが目的のロボットである場合には、たとえば、ロボットに興味がありそうな人に接近するために、単純な場合では、ロボットの近傍で止まっている人を選択して、その人に向かって進む、また、人々が集まりがちな場所を選んでそのような場所でやってくる人を待ち受ける、また、混雑を起こさないように過度に人々が通る場所には近づかないようにする、といった処理を行ったりする。   Specifically, in step S7, when the robot 12 is a robot whose main purpose is to go to the destination, such as a transfer robot or a boarding robot, for example, it is possible to use another person as much as possible from the current position and moving speed of other people. The process of calculating a movement route that does not interfere with the movement of In addition, when the robot 12 is a robot whose purpose is to provide services to people, for example, in order to approach a person who is likely to be interested in the robot, in a simple case, the person who stops in the vicinity of the robot Select a place to go to that person, choose a place where people tend to gather and wait for a person to come to such a place, or approach a place where people pass excessively so as not to cause congestion To prevent it from being performed.

このステップS7の場合、ステップS5での人エージェントの次のステップでの行動を決定しているので、それを考慮して、上述の処理を実行する。そのため、人と共存する実空間で活動するロボットアプリケーションプログラムの当否を、仮想シミュレーション空間内で判断することができる。   In the case of this step S7, since the action of the human agent in the next step in step S5 has been determined, the above-described processing is executed in consideration thereof. Therefore, whether or not a robot application program that is active in a real space coexisting with a person can be determined in the virtual simulation space.

その後ステップS9で、物理エンジン28において、各エージェントの行動を実現する。詳しくいうと、ステップS9では、先に説明したように、各エージェント(ロボット含む)が意図した動きを仮想シミュレーション空間22内で実施する処理が行われ、他の障害物、構造物や他のエージェントとの干渉が何もなければ、各エージェントは意図したとおりに動く。たとえば、エージェントが1歩前進しようとした場合、その意図通り、エージェントが1歩前進する。   Thereafter, in step S9, the behavior of each agent is realized in the physics engine 28. Specifically, in step S9, as described above, a process of executing the motion intended by each agent (including the robot) in the virtual simulation space 22 is performed, and other obstacles, structures, and other agents are performed. If there is no interference with each agent, each agent moves as intended. For example, when an agent tries to move forward one step, the agent moves forward one step as intended.

ところが、干渉がある場合、物理学法則(力学法則)に従って各エージェントの実際の動きが処理される。単純な場合、たとえば壁に向かって進もうとすると、壁に衝突し、それ以上前進できないし、一定の反発係数に従って反力を受ける。エージェント同士の衝突の場合、前進する動きと、反力による移動が重なり合って、たとえば、単純な例を考えると、前進中にたとえば側方から衝突すると、斜め前方へと実際には動くことになる。   However, when there is interference, the actual movement of each agent is processed according to the laws of physics (dynamics laws). In a simple case, for example, when trying to advance toward the wall, it collides with the wall, cannot advance further, and receives a reaction force according to a certain coefficient of restitution. In the case of a collision between agents, the forward movement and the movement due to reaction force overlap. For example, if a simple example is considered, if it collides from the side during forward movement, it actually moves diagonally forward .

次のステップS11で、環境データやセンサデータなどを更新する。   In the next step S11, environmental data, sensor data, and the like are updated.

そして、ステップS13でシミュレーションを終了するかどうか判断し、シミュレーションを続行するなら再び先のステップS3に戻り、たとえば行動決定プログラムが終了するなどした場合“YES”が判断され、シミュレーションを終了する。   Then, in step S13, it is determined whether or not to end the simulation. If the simulation is continued, the process returns to step S3 again. For example, when the action determination program ends, “YES” is determined and the simulation is ended.

このように、シミュレーション装置16においてオブジェクティブモデル116に従ってロボットの周囲の人の行動を再現するようにシミュレーションを行い、その状態をディスプレイ105(図1)で確認することにより、ロボットの行動をシミュレーションできるので、ロボットを実空間で実際に動かすことなく、人と共存する実空間で活動するロボットアプリケーションプログラム18の開発を効率的に行うことができる。   As described above, the simulation device 16 can simulate the behavior of the robot by performing the simulation so as to reproduce the behavior of the person around the robot according to the objective model 116 and confirming the state on the display 105 (FIG. 1). It is possible to efficiently develop the robot application program 18 that operates in a real space that coexists with a person without actually moving the robot in the real space.

しかしながら、人々の存在する環境でロボットの移動をテストすることで新たなオブジェクティブが発見される現状がある。たとえば、ロボットがちらしを配ると、ちらしだけを受け取って去っていくという人々の振る舞い、移動するロボットが停止すると多くの子供が寄ってくるという振る舞いなどである。そこで、この実施例では、こうした人々の新しい振る舞いを追加して共有可能にしようとする。   However, there is a current situation where new objectives are discovered by testing the movement of the robot in an environment where people exist. For example, when a robot distributes a flyer, the behavior of people receiving only the flyer and leaving, or when a moving robot stops, a lot of children come. Therefore, in this embodiment, an attempt is made to add and share these new behaviors of these people.

そのための動作例が図12に示される。図12のフロー図は操作装置14の1または2以上のコンピュータまたはプロセサのメモリ(図示せず)に予め設定されているロボットアプリケーションプログラムであり、たとえばロボット12を案内ロボットとしとて動作させるときには、そのための動作をロボット12が実行するようなプログラムである。   An example of the operation for this purpose is shown in FIG. The flowchart of FIG. 12 is a robot application program set in advance in a memory (not shown) of one or more computers or processors of the operation device 14. For example, when operating the robot 12 as a guide robot, The program is such that the robot 12 executes the operation for that purpose.

図12の最初のステップS21では、上記の1または2以上のコンピュータまたはプロセサ(以下の説明では単に、「コンピュータ」とする。)は、図6に示す基本オブジェクティブおよび発生尤度を読み込み、初期オブジェクティブ(目的地に向かう)を設定する。   In the first step S21 in FIG. 12, the above-described one or more computers or processors (simply referred to as “computer” in the following description) read the basic objective and occurrence likelihood shown in FIG. Set (to the destination).

次のステップS23では、コンピュータは、シミュレーションが実行されているかどうか判断する。このステップS23で“NO”を判断したときには、この図12の処理は終了する。   In the next step S23, the computer determines whether a simulation is being executed. If “NO” is determined in the step S23, the process of FIG.

ステップS23で“YES”が判断されたとき、すなわち、シミュレーションが実行されているとき、続くステップS25で、コンピュータは、現在選択されているオブジェクティブを実行し、人エージェントの動きを出力する。同時に、コンピュータは、オブジェクティブを変更可能な状態かどうか計算する。オブジェクティブ自身は、その継続時間を初期化時に形成さんでき、その継続時間内に他のオブジェクティブに遷移することはない。たとえば、ロボットを見るというオブジェクティブでは、「ロボットを見ている時間」を実データの確率分布に基づいて決定しており、その継続時間内は他のオブジェクティブに遷移しない。   When “YES” is determined in step S23, that is, when the simulation is being executed, in the subsequent step S25, the computer executes the currently selected objective and outputs the movement of the human agent. At the same time, the computer calculates whether the objective can be changed. The objective itself can form its duration at initialization and does not transition to other objectives within that duration. For example, in the objective of watching a robot, “the time of watching the robot” is determined based on the probability distribution of the actual data, and does not transition to another objective within the duration.

その計算に基づいて、ステップS27でコンピュータは、オブジェクティブが変更可能な状態、すなわち、実行中のオブジェクティブの継続時間を過ぎたかどうか判断する。   Based on the calculation, in step S27, the computer determines whether or not the objective can be changed, that is, whether or not the duration of the objective being executed has passed.

ステップS27で“NO”なら、終了し、“YES”なら、具体的に図13に示す次のステップS29でオブジェクティブを変更する。   If “NO” in the step S27, the process ends. If “YES”, the objective is specifically changed in a next step S29 shown in FIG.

図13の最初のステップS31では、コンピュータは、該当する人エージェントからロボットが見えるかどうか、判断する。つまり、オブジェクティブを変更するためには、人エージェントからロボットエージェントが見えることが前提である。したがって、このステップS31で“NO”をコンピュータが判断したとき、そのまま終了する。   In the first step S31 in FIG. 13, the computer determines whether or not the robot can be seen from the corresponding human agent. In other words, in order to change the objective, it is assumed that the robot agent can be seen from the human agent. Accordingly, when the computer determines “NO” in this step S31, the processing is ended as it is.

ステップS31で“YES”を判断したとき、コンピュータは、次のステップS33で、図6に示す基本オブジェクティブをすべて候補リスト(List_cand)に追加する。   If “YES” is determined in the step S31, the computer adds all the basic objectives shown in FIG. 6 to the candidate list (List_cand) in a next step S33.

その後、ステップS35を繰り返し実行して、拡張オブジェクティブ(EOi)毎に、拡張オブジェクティブの条件が成立するかどうか判断する。この条件が成立するかどうかは、ロボットの状態(ステータス)、たとえば、ロボットが紙(ちらし)を持っているかどうか、ロボットの移動速度かが所定の速度以上か、以下か、対象が大人か子供か、ロボットが発話中かどうか、などの各パラメータに基づいて判断する。   Thereafter, step S35 is repeatedly executed to determine whether or not the extended objective condition is satisfied for each extended objective (EOi). Whether this condition is met depends on the status (status) of the robot, for example, whether the robot has paper (flyer), whether the robot's moving speed is higher or lower than the specified speed, and whether the target is an adult or a child Or whether the robot is speaking or not.

ステップS35で“YES”が判断されると、ステップS37で、その拡張オブジェティブEOiを候補リストList_candに追加するが、“NO”なら、次の拡張オブジェクティブに対してステップS35を判断する。   If “YES” is determined in step S35, the extended objective EOi is added to the candidate list List_cand in step S37. If “NO”, step S35 is determined for the next extended objective.

このような処理に従って拡張オブジェクティブEOiを候補リストList_candに追加する。   According to such processing, the extended objective EOi is added to the candidate list List_cand.

その後、ステップS39において、コンピュータは、候補リストList_cand内に存在するオブジェクティブ(Oi)すなわち基本オブジェクティブもしくは拡張オブジェクティブのうち条件を充足したオブジェクティブ毎に、発生確率(Pj)を計算する。   Thereafter, in step S39, the computer calculates an occurrence probability (Pj) for each objective (Oi) existing in the candidate list List_cand, that is, for each objective that satisfies the condition among basic objectives or extended objectives.

ステップS39では、具体的には、たとえば図6や図14に示す発生各尤度を正規化し、発生確率を計算する、という方法を採る。たとえば、以下の3つの尤度を持つオブジェクティブが、発生する条件を満たしていた、とする。
01:尤度0.8
02:尤度0.3
03:尤度0.2
これらの総和では1.0にならないので、総和が1.0になるように正規化を実施する。
Specifically, in step S39, for example, a method of normalizing each likelihood of occurrence shown in FIGS. 6 and 14 and calculating the occurrence probability is adopted. For example, it is assumed that an objective having the following three likelihoods satisfies the conditions for occurrence.
01: Likelihood 0.8
02: Likelihood 0.3
03: Likelihood 0.2
Since these sums do not reach 1.0, normalization is performed so that the sum is 1.0.

単純な正規化は、数1のように、3つのオブジェクティブを加算して正規化を行うことである。
[数1]
01:発生確率P1=0.8/(0.8+0.3+0.2)=0.615
02:発生確率P2=0.3/(0.8+0.3+0.2)=0.2307
03:発生確率P3=0.2/(0.8+0.3+0.2)=0.1538
実施例ではこの数1のような正規化を行っているが、別の正規化方法を採用することももちろん可能である。
Simple normalization is to perform normalization by adding three objectives as shown in Equation (1).
[Equation 1]
01: Occurrence probability P1 = 0.8 / (0.8 + 0.3 + 0.2) = 0.615
02: Occurrence probability P2 = 0.3 / (0.8 + 0.3 + 0.2) = 0.2307
03: Occurrence probability P3 = 0.2 / (0.8 + 0.3 + 0.2) = 0.1538
In the embodiment, normalization as shown in Equation 1 is performed, but it is of course possible to adopt another normalization method.

次のステップS41では、コンピュータは、乱数を使用して次に実行するオブジェクティブ(O_next)を候補リストList_candから選択し、発生尤度として発生確率Pjに基づいて決定する。   In the next step S41, the computer uses the random number to select the next objective (O_next) to be executed from the candidate list List_cand, and determines the occurrence likelihood based on the occurrence probability Pj.

たとえば、ステップS41は、0.0‐1.0までの乱数randを発生させ、そのうち、以下の数2のような方法で次に実行するオブジェクティブO_nextを決定する。実施例では、オブジェクティブの発生確率の総和により、どこに分布するかを決定している
[数2]
01:rand <=P1(0.615)
02:P1(0.615) <rand <=P1+P2(0.615+0.2307)
03:P1+P2(0.615+0.2307) <rand <=1+P2+P3(1.0)
そして、ステップS43で、オブジェクティブO_nextを変更する。
For example, in step S41, random numbers rand from 0.0 to 1.0 are generated, and among these, objective O_next to be executed next is determined by the following equation 2. In the embodiment, where the distribution is made is determined by the sum of the occurrence probability of the objective [Equation 2].
01: rand <= P1 (0.615)
02: P1 (0.615) <rand <= P1 + P2 (0.615 + 0.2307)
03: P1 + P2 (0.615 + 0.2307) <rand <= 1 + P2 + P3 (1.0)
In step S43, the objective O_next is changed.

このように、この実施例では、オブジェクティブが変更可能な状態かどうか判断し、変更可能な状態であれば、実施可能なオブジェクティブを候補リストに追加する。続いて、各拡張オブジェクティブ毎の条件を確認し、条件が成立した拡張オブジェクティブのみが候補リストへと追加される。最後に、候補リスト内の各オブジェクティブの尤度に基づいて発生確率を計算し、変更するオブジェクティブが決定される。拡張オブジェクティブは,例えば図15に示す拡張オブジェクティブモデル130として、登録されている。この拡張オブジェクティブモデル130は、図6に示す基本オブジェクティブモデル116と同様、オブジェクティブ一覧としてディスプレイ105(図1)に表示され、他の開発者(ユーザ)と共有することができる。   In this way, in this embodiment, it is determined whether or not the objective is changeable. If the objective is changeable, the executable objective is added to the candidate list. Subsequently, the conditions for each extended objective are confirmed, and only the extended objectives that satisfy the condition are added to the candidate list. Finally, the occurrence probability is calculated based on the likelihood of each objective in the candidate list, and the objective to be changed is determined. The extended objective is registered as an extended objective model 130 shown in FIG. 15, for example. Similar to the basic objective model 116 shown in FIG. 6, the extended objective model 130 is displayed as an objective list on the display 105 (FIG. 1) and can be shared with other developers (users).

なお、図15に例示する拡張オブジェクティブの1つは、ステップS35でロボットが紙(ちらし)を持っていることという発生条件の成立を判断したとき変更される拡張オブジェクティブTaking paper(ロボットに近づき、紙を取って立ち去る)であり、この拡張オブジェクティブに対しては、ステップS39で計算された発生確率が発生尤度0.4として登録されている。   Note that one of the extended objectives illustrated in FIG. 15 is an extended objective taking paper that is changed when it is determined in step S35 that the occurrence condition that the robot has a paper (flyer) is satisfied. The probability of occurrence calculated in step S39 is registered as an occurrence likelihood of 0.4 for this extended objective.

図15に例示する拡張オブジェクティブの他の1つは、ステップS35でロボットの移動速度が遅い(0.5m/秒以下)こと、ロボットが発話中であること、対象が子供であること、という発生条件の成立を判断したとき変更される拡張オブジェクティブInterrupt(ロボットの前に立ち、移動を邪魔する)であり、この拡張オブジェクティブに対しては、ステップS39で計算された発生確率が発生尤度0.5として登録されている。   Another example of the extended objective illustrated in FIG. 15 is that the movement speed of the robot is slow (0.5 m / second or less) in step S35, the robot is speaking, and the target is a child. This is an extended objective interrupt (standing before the robot and obstructing movement) that is changed when it is determined that the condition is satisfied. For this extended objective, the occurrence probability calculated in step S39 is the occurrence likelihood of 0. It is registered as 5.

ただし、ここでの発生尤度は、ユーザが任意に調整(変更)可能である。   However, the occurrence likelihood here can be arbitrarily adjusted (changed) by the user.

したがって、人シミュレータ26すなわち移動モジュール114は、第1記憶手段としての基本オブジェクティブモデル116に記憶されている基本オブジェクティブおよび第2記憶手段としての拡張オブジェクティブモデル130に記憶された拡張オブジェクティブに従って、人エージェントの移動を制御する。   Accordingly, the human simulator 26, that is, the movement module 114, determines the human agent according to the basic objective stored in the basic objective model 116 as the first storage means and the extended objective stored in the extended objective model 130 as the second storage means. Control movement.

すなわち、拡張オブジェクティブモデル130も基本オブジェクティブモデル116と同様に人シミュレータ26すなわちシミュレーションシステム10のユーザが等しく利用できるので、ロボットアプリケーションの開発を効率的に行うことが可能である。たとえば、同じチームの誰かが経験した反応を拡張オブジェクティブに記載しておくと、別の誰かのテスト時においても、登録された拡張オブジェクティブのテストが可能となる。こうした,やりとりは,ロボットアプリケーション開発の効率化に寄与する。   That is, since the extended objective model 130 can be equally used by the human simulator 26, that is, the user of the simulation system 10, similarly to the basic objective model 116, it is possible to efficiently develop a robot application. For example, if a reaction experienced by someone on the same team is recorded in the extended objective, the registered extended objective can be tested even when another person tests. Such exchanges contribute to the efficiency of robot application development.

そのため、実世界で生じた新しい人々の反応ないし振る舞いを拡張オブジェクティブとして追加、共有することができ、新しい人エージェントの動きをシミュレータ上で再現させることができる。そのため、ロボットのアプリケーションプログラムの開発を効率的に実施することができる。   Therefore, the reaction or behavior of new people that occurred in the real world can be added and shared as an extended objective, and the movement of a new human agent can be reproduced on the simulator. Therefore, it is possible to efficiently develop a robot application program.

現場で発見された新たな反応パターンを、シミュレータのユーザが逐次追加していくことは、シミュレータが現場を再現する能力の向上につながる。これによって、シミュレータ上でのロボットシステム(ロボットを用いたアプリケーション)のテストの効果が高まる。   When the simulator user sequentially adds new reaction patterns discovered on the site, the simulator improves the ability to reproduce the site. This increases the effect of testing the robot system (application using the robot) on the simulator.

なお、このシミュレーションシステム10が行動をシミュレーションできるロボットは実施例で説明した図3および図4に示すロボット12に限定されるものではない。他の形式、構造のコミュニケーションロボットにもこのシミュレーション装置は適用可能である。   The robot that can simulate the behavior of the simulation system 10 is not limited to the robot 12 shown in FIGS. 3 and 4 described in the embodiment. The simulation apparatus can be applied to communication robots of other types and structures.

10 …シミュレーションシステム
12 …ロボット
14 …操作装置
16 …シミュレーション装置
18 …ロボットアプリケーションプログラム
22 …仮想シミュレーション空間
24 …ロボットシミュレータ
26 …人シミュレータ
28 …物理エンジン
116 …基本オブジェクティブモデル
130 …拡張オブジェクティブモデル
DESCRIPTION OF SYMBOLS 10 ... Simulation system 12 ... Robot 14 ... Operating device 16 ... Simulation device 18 ... Robot application program 22 ... Virtual simulation space 24 ... Robot simulator 26 ... Human simulator 28 ... Physical engine 116 ... Basic objective model 130 ... Extended objective model

Claims (2)

仮想シミュレーション空間に投入した人エージェントの行動をシミュレーションするシミュレーションシステムであって、
複数の基本オブジェクティブを発生尤度とともに記憶する第1記憶手段、
前記第1記憶手段に記憶されている基本オブジェクティブを候補リストに追加する第1追加手段、
拡張オブジェクティブ毎に拡張オブジェクティブとしての条件が成立するかどうか判断する判断手段、
条件を充足すると判断されたオブジェクトを候補リストに追加する第2追加手段、
前記候補リスト内のオブジェクティブ毎に発生確率を計算する計算手段、
前記計算した発生確率に基づく発生尤度とともに拡張オブジェクティブを記憶する第2記憶手段、および
前記基本オブジェクティブおよび前記拡張オブジェクティブに従って前記人エージェントの移動を制御する移動制御手段を備える、シミュレーションシステム。
A simulation system for simulating the behavior of a human agent put into a virtual simulation space,
First storage means for storing a plurality of basic objectives together with the likelihood of occurrence;
First addition means for adding a basic objective stored in the first storage means to a candidate list;
Judgment means for judging whether the condition as an extended objective is satisfied for each extended objective,
A second adding means for adding an object determined to satisfy the condition to the candidate list;
Calculating means for calculating the occurrence probability for each objective in the candidate list;
A simulation system comprising: second storage means for storing an extended objective together with an occurrence likelihood based on the calculated occurrence probability; and a movement control means for controlling movement of the human agent according to the basic objective and the extended objective.
前記計算手段は、前記候補リストの各オブジェクティブの発生尤度を正規化することによって発生確率を計算する、請求項1記載のシミュレーションシステム。   The simulation system according to claim 1, wherein the calculation unit calculates an occurrence probability by normalizing an occurrence likelihood of each objective in the candidate list.
JP2017011141A 2017-01-25 2017-01-25 Simulation system Active JP6925013B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017011141A JP6925013B2 (en) 2017-01-25 2017-01-25 Simulation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017011141A JP6925013B2 (en) 2017-01-25 2017-01-25 Simulation system

Publications (2)

Publication Number Publication Date
JP2018120404A true JP2018120404A (en) 2018-08-02
JP6925013B2 JP6925013B2 (en) 2021-08-25

Family

ID=63045103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017011141A Active JP6925013B2 (en) 2017-01-25 2017-01-25 Simulation system

Country Status (1)

Country Link
JP (1) JP6925013B2 (en)

Also Published As

Publication number Publication date
JP6925013B2 (en) 2021-08-25

Similar Documents

Publication Publication Date Title
JP6809705B2 (en) Simulation system
US11615598B2 (en) Mission driven virtual character for user interaction
JP6793905B2 (en) Robot behavior simulation device
EP3592443B1 (en) Augmented ride system and method
Shapiro Building a character animation system
US9744672B2 (en) Systems and methods for communicating robot intentions to human beings
JP6761340B2 (en) Simulation system and program
CN106601062A (en) Interactive method for simulating mine disaster escape training
JP5318623B2 (en) Remote control device and remote control program
JP7139643B2 (en) Robot, robot control method and program
JP7120254B2 (en) Information processing device, information processing method, and program
JP6709633B2 (en) Simulation system and game system
JP6738641B2 (en) Simulation control device and simulation control program
JP2015066624A (en) Robot control system, robot control program, and explanation robot
Grzeskowiak et al. Toward virtual reality-based evaluation of robot navigation among people
JP7335084B2 (en) Simulation device and program
Kirakosian et al. Near-contact person-to-3d character dance training: Comparing ar and vr for interactive entertainment
JP2017170568A (en) Service providing robot system
JPWO2020105309A1 (en) Information processing equipment, information processing methods, and programs
US20210197393A1 (en) Information processing device, information processing method, and program
US11620097B2 (en) Information processing apparatus and information processing method for displaying a figure corresponding to an autonomous moving body
JP6925013B2 (en) Simulation system
JP7258426B2 (en) Simulation system, simulation program and learning device
JP6908257B2 (en) Robots and robot control programs
CN110403409A (en) A kind of robot and merchandise display method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210401

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: 20210720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210727

R150 Certificate of patent or registration of utility model

Ref document number: 6925013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250