JP7258426B2 - Simulation system, simulation program and learning device - Google Patents

Simulation system, simulation program and learning device Download PDF

Info

Publication number
JP7258426B2
JP7258426B2 JP2019065629A JP2019065629A JP7258426B2 JP 7258426 B2 JP7258426 B2 JP 7258426B2 JP 2019065629 A JP2019065629 A JP 2019065629A JP 2019065629 A JP2019065629 A JP 2019065629A JP 7258426 B2 JP7258426 B2 JP 7258426B2
Authority
JP
Japan
Prior art keywords
human agent
human
robot
simulation
model
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
JP2019065629A
Other languages
Japanese (ja)
Other versions
JP2020163509A (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 JP2019065629A priority Critical patent/JP7258426B2/en
Publication of JP2020163509A publication Critical patent/JP2020163509A/en
Application granted granted Critical
Publication of JP7258426B2 publication Critical patent/JP7258426B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

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

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

環境に設置したセンサネットワークのキャリブレーション技術としては、環境内を人や物を動かして同時に記録することで、センサ間の位置関係を特定する、特許文献1および特許文献2などが知れられている。 As a calibration technique for a sensor network installed in an environment, Patent Documents 1 and 2 are known, which specify the positional relationship between sensors by moving people and objects in the environment and recording them at the same time. .

センサネットワークにおける人の向きやジェスチャ(動作)の認識精度を向上させる1つの方法は、性別、身長、体つきなどの異なる多くの人の多くの行動データを大量に収集し、認識アルゴリズムのパラメータ調整を実施することである。しかしながら、センサネットワーク内のセンサ配置は、実際の現場環境で固定されており、導入状況におうじても多岐に渡るため、これらの行動データを集めるために、現場での大量のデータ収集が必要となり、多大なコストがかかってしまう。 One way to improve the accuracy of human orientation and gesture (movement) recognition in sensor networks is to collect a large amount of behavioral data from many people with different genders, heights, body shapes, etc., and adjust the parameters of the recognition algorithm. It is to implement. However, the placement of sensors in the sensor network is fixed in the actual field environment, and there are many variations depending on the installation situation. , incurs a great deal of cost.

一方大量のデータをシミュレーションによって生成し、学習に利用するアプローチが、非特許文献3および非特許文献4などで知られている。 On the other hand, non-patent document 3, non-patent document 4, etc. have known an approach in which a large amount of data is generated by simulation and used for learning.

特開2017‐96813(G01S 7/497 G01S 17/42)JP 2017-96813 (G01S 7/497 G01S 17/42) 特許第6447706号(G01B 11/00 G06T 7/70 G06T 7/80)Patent No. 6447706 (G01B 11/00 G06T 7/70 G06T 7/80)

https://www.openrobots.org/morse/doc/stable/morse.htmlhttps://www.openrobots.org/morse/doc/stable/morse.html http://gazebosim.org/http://gazebosim.org/ David Silver et al., Mastering the game of Go with deep neural networks and tree branch, Nature, Vol.529, 484-503, 2016David Silver et al., Mastering the game of Go with deep neural networks and tree branch, Nature, Vol.529, 484-503, 2016 Mnih V et al., Human-level control through deep reinforcement learning, Nature, Vol.518, No.7540, 529-533, 2015Mnih V et al., Human-level control through deep reinforcement learning, Nature, Vol.518, No.7540, 529-533, 2015

非特許文献3および非特許文献4などのアプローチは、囲碁(非特許文献3)やコンピュータゲーム(非特許文献4)のような仮想世界で容易に再現できる対象に向けられており、人行動を認識するという実世界のセンシングシステムへの適用は困難である。 Approaches such as Non-Patent Document 3 and Non-Patent Document 4 are aimed at objects that can be easily reproduced in a virtual world, such as Go (Non-Patent Document 3) and computer games (Non-Patent Document 4), and are intended to simulate human behavior. It is difficult to apply to the real-world sensing system of recognition.


それゆえに、この発明の主たる目的は、新規な、シミュレーションシステムを提供することである。

SUMMARY OF THE INVENTION Therefore, a primary 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 generating human data that can be used in real-world sensing systems.

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

第1の発明は、複数の3次元距離画像センサをそれぞれの所定位置に配置した実世界を模した仮想シミュレーション空間に人エージェントを投入する人エージェント生成手段、仮想シミュレーション空間内で人エージェントを更新する更新手段、人エージェントの3次元形状を指示する複数の3Dモデルを有する3Dモデルデータベース、および人エージェントのオブジェクティブを有するオブジェクティブモデルデータベースを備え、人エージェント生成手段は3Dモデルデータベースから選択された3Dモデルに従った形状の人エージェントを生成し、更新手段はオブジェクティブに従って人エージェントを移動させ、さらに複数の3次元距離画像センサの各々から見た各人エージェントの少なくとも位置、向き、ジェスチャを含む、人エージェントの真値ラベルを作成する真値ラベル作成手段、更新手段によって人エージェントが移動されるとき複数の3次元距離画像センサによる各人エージェントの距離画像センサデータとして取得するセンサデータ取得手段、および真値ラベルとセンサデータを結合したデータセットを出力する出力手段を備える、シミュレーションシステムである。 A first invention is a human agent generation means for introducing a human agent into a virtual simulation space simulating the real world in which a plurality of three-dimensional range image sensors are arranged at respective predetermined positions, and updating the human agent in the virtual simulation space. an updating means, a 3D model database having a plurality of 3D models indicative of a three-dimensional shape of the human agent, and an objective model database having objectives of the human agent, wherein the human agent generating means applies a selected 3D model from the 3D model database. generating a human agent having a shape according to the objective, the updating means moving the human agent according to the objective, and further including at least the position, orientation and gesture of each human agent as seen from each of the plurality of three-dimensional range image sensors. true value label creation means for creating a true value label; sensor data acquisition means for acquiring, as sensor data , a range image of each human agent by a plurality of three-dimensional range image sensors when the human agent is moved by the update means; A simulation system comprising output means for outputting a data set combining value labels and sensor data.

第1の発明では、シミュレーションシステム(10:実施例において対応する部分を例示する参照符号。以下同じ。)は、人エージェント生成手段(26、110)を含み、この人エージェント生成手段は、3Dモデルデータベース(111)に設定されている複数の3Dモデルから選択した3Dモデルに従って、人エージェントを生成し、仮想エージェントシミュレーション空間(22)に投入する。更新手段(26、114)は、オブジェクティブモデルデータベース(116)から選択したオブジェクティブに従って人エージェントの位置を更新する。センサデータ取得手段(S33)は、更新手段によって人エージェントが移動されるとき複数の3次元距離画像センサをシミュレーションしたセンサデータを取得する。真値ラベル作成手段(S31)は、エージェントの真値ラベル(人エージェントの位置、向き、ジェスチャなど)を作成し、出力手段(S35)は、真値ラベルとセンサデータを結合したデータセットを出力する。このデータセットを学習器に投入すれば、3次元距離画像センサのキャリブレーションが可能になる。 In the first invention, a simulation system (10: reference numerals illustrating corresponding parts in the embodiments; the same shall apply hereinafter) includes human agent generation means (26, 110), and this human agent generation means is a 3D model A human agent is generated according to a 3D model selected from a plurality of 3D models set in a database (111) and put into a virtual agent simulation space (22). An updating means (26, 114) updates the position of the human agent according to the selected objectives from the objective model database (116). A sensor data acquiring means (S33) acquires sensor data obtained by simulating a plurality of three-dimensional range image sensors when the human agent is moved by the updating means. A true value label creation means (S31) creates a true value label of an agent (position, orientation, gesture , etc. of a human agent), and an output means (S35) outputs a data set combining the true value label and sensor data. do. By inputting this data set into the learning machine, it becomes possible to calibrate the 3D range image sensor.

第1の発明によれば、シミュレーションシステムが大量のデータセットを効率よく出力することができる。 According to the first invention, the simulation system can efficiently output a large amount of data sets.

第2の発明は、第1の発明に従属し、人エージェント生成手段は、それぞれが3Dモデルに従った形状を有する、異なるタイプの人エージェントを生成する、シミュレーションシステムである。 A second invention is according to the first invention, and is the simulation system, wherein the human agent generating means generates different types of human agents each having a shape according to a 3D model.

第2の発明では、人エージェント生成手段(110)は、たとえば大人、子ども、女性、男性のような異なるタイプの人エージェントを、それぞれ3Dモデルに従って、生成する。 In the second invention, human agent generation means (110) generates human agents of different types, such as adult, child, female, and male, according to 3D models.

第2の発明によれば、仮想シミュレーション空間に多様なタイプの人エージェントを投入することができるので、多様なデータセットを出力することができる。 According to the second invention, since various types of human agents can be introduced into the virtual simulation space, various data sets can be output.

第3の発明は、第1または第2の発明に従属し、人エージェントについての異なるジェスチャを設定しているジェスチャデータベースをさらに備え、更新手段は、ジェスチャデータベースから選択したジェスチャを人エージェントにさせる、シミュレーションシステムである。 A third invention is according to the first or second invention, further comprising a gesture database setting different gestures for the human agent, wherein the updating means causes the human agent to make a gesture selected from the gesture database. It is a simulation system.

第3の発明では、ジェスチャデータベース(113)が複数のジェスチャを有し、更新手段は、ジェスチャデータベースから選択したジェスチャを人エージェントにさせる。 In the third invention, the gesture database (113) has a plurality of gestures, and the updating means causes the human agent to select gestures from the gesture database.

第3の発明によれば、人エージェントにジェスチャをさせるので、実世界に近い多様なデータセットを出力することができる。 According to the third invention, since the human agent is made to make a gesture, it is possible to output various data sets close to the real world.

第4の発明は、第1ないし第3のいずれかの発明に従属し、ソーシャルフォースモデルを設定しているソーシャルフォースモデルデータベース(118)をさらに備え、更新手段は、ソーシャルフォースモデルに従って人エージェントの位置を更新する、シミュレーションシステムである。 A fourth invention is dependent on any one of the first to third inventions and further comprises a social force model database (118) setting a social force model, wherein the updating means is configured to update the human agent according to the social force model. It is a simulation system that updates the position.

第4の発明によれば、人エージェントをソーシャルフォースモデルに従って移動させるので、より実世界に近い多様なデータセットを出力することができる。 According to the fourth invention, since the human agent is moved according to the social force model, it is possible to output various data sets that are closer to the real world.

第5の発明は、複数の3次元距離画像センサをそれぞれの所定位置に配置した実世界を模した仮想シミュレーション空間においてシミュレーションを実行するシミュレーションシステムであって、シミュレーションシステムは、人エージェントの3次元形状を指示する複数の3Dモデルを有する3Dモデルデータベース、および人エージェントのオブジェクティブを有するオブジェクティブモデルデータベースを備え、シミュレーションシステムのコンピュータを、仮想シミュレーション空間に3Dモデルデータベースから選択された3Dモデルに従った形状の人エージェントを投入する人エージェント生成手段、仮想シミュレーション空間内でオブジェクティブに従って人エージェントを移動させて人エージェントを更新する更新手段、複数の3次元距離画像センサの各々から見た各人エージェントの少なくとも位置、向き、ジェスチャを含む、人エージェントの真値ラベルを作成する真値ラベル作成手段、更新手段によって人エージェントが移動されるとき複数の3次元距離画像センサによる各人エージェントの距離画像センサデータとして取得するセンサデータ取得手段、および真値ラベルとセンサデータを結合したデータセットを出力する出力手段として機能させる、シミュレーションプログラムである。 A fifth invention is a simulation system for executing a simulation in a virtual simulation space simulating the real world in which a plurality of three-dimensional range image sensors are arranged at respective predetermined positions , wherein the simulation system comprises a three-dimensional shape of a human agent. a 3D model database having a plurality of 3D models and an objective model database having human agent objectives, wherein the computer of the simulation system is placed in a virtual simulation space to create a shape according to a 3D model selected from the 3D model database. human agent generation means for inputting a human agent, updating means for updating the human agent by moving the human agent according to the objective in the virtual simulation space, at least the position of each human agent viewed from each of a plurality of three-dimensional range image sensors, When the human agent is moved by the true value label creating means and the updating means for creating the true value label of the human agent , including orientation and gestures, a range image of each human agent is acquired as sensor data by a plurality of three-dimensional range image sensors. It is a simulation program that functions as sensor data acquisition means for acquiring data, and output means for outputting a data set that combines true value labels and sensor data.

第5の発明によっても、第1の発明と同様の効果が期待できる。 According to the fifth invention, the same effects as those of the first invention can be expected.

第6の発明は、第1ないし第5のいずれかの発明の出力手段が出力するデータセットを学習する学習器を備える、センサキャリブレーションもしくは認識モデルの学習装置である。 A sixth aspect of the invention is a sensor calibration or recognition model learning device comprising a learning device for learning the data set output by the output means of any one of the first to fifth aspects of the invention.

第6の発明によれば、出力手段から大量のデータセットを効率よく得られるので、センサキャリブレーションや認識モデルの学習を効率的に実行することができる。 According to the sixth aspect, since a large amount of data sets can be efficiently obtained from the output means, sensor calibration and recognition model learning can be efficiently executed.

この発明によれば、仮想シミュレーション空間において多様な人(歩行者)を再現することによって、多様なセンサデータを大量に取得することができる。したがって、その大量のセンサデータを学習器に投入すれば、効率よくセンサキャリブレーションや認識モデルの学習を実行することができる。 According to this invention, a large amount of various sensor data can be obtained by reproducing various people (pedestrians) in the virtual simulation space. Therefore, by inputting a large amount of sensor data into a learning device, sensor calibration and recognition model learning can be performed efficiently.

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

図1はこの発明の一実施例のシミュレーションシステムを示す機能ブロック図である。FIG. 1 is a functional block diagram showing a simulation system of one embodiment of the 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 the electrical configuration of the robot shown in FIG. 2. As shown in FIG. 図4は図1の仮想シミュレーション空間の一例を示す図解図である。4 is an illustrative view showing one example of the virtual simulation space of FIG. 1. FIG. 図5は図4の人シミュレータの詳細を示す機能ブロック図である。FIG. 5 is a functional block diagram showing details of the human simulator of FIG. 図6は人エージェントの基本オブジェクティブモデルの一例を示す図解図である。FIG. 6 is an illustrative view showing one example of a basic objective model of a human agent. 図7は人エージェントの基本オブジェクティブモデルの他の例を示す図解図である。FIG. 7 is an illustrative view showing another example of the basic objective model of the human agent. 図8は人エージェントのオブジェクティブモデルのその他の例を示す図解図である。FIG. 8 is an illustrative view showing another example of the human agent objective model. 図9は図4の仮想シミュレーション空間の一部における人エージェントの移動の一例を示す図解図である。9 is an illustrative view showing an example of movement of a human agent in a part of the virtual simulation space of FIG. 4; FIG. 図10は図1実施例における基本的なシミュレーション動作の一例を示すフロー図である。FIG. 10 is a flow diagram showing an example of basic simulation operation in the embodiment of FIG. 図11は図1実施例における歩行者(人)のシミュレーション動作の一例を詳細に示すフロー図である。FIG. 11 is a flowchart showing in detail an example of a pedestrian (person) simulation operation in the FIG. 1 embodiment. 図12は図11実施例において歩行者を生成する動作の一例を示すフロー図である。FIG. 12 is a flow chart showing an example of the operation of creating a pedestrian in the embodiment of FIG. 11. FIG. 図13は図11実施例において歩行者を更新する動作の一例を示すフロー図である。FIG. 13 is a flow chart showing an example of the operation of updating pedestrians in the FIG. 11 embodiment. 図14は図11実施例におけるセンシングデータの一例を示し、図14(A)は各センサA‐Jのセンシングデータ(距離画像)を示し、図14(B)はそれらを統合したセンシングデータを示す。FIG. 14 shows an example of sensing data in FIG. 11 embodiment, FIG. 14(A) shows sensing data (distance image) of each sensor AJ, and FIG. 14(B) shows sensing data integrating them. . 図15は実施例の仮想シミュレーション空間に相当する実世界の環境における3次元距離画像センサの配置例を示す図解図である。FIG. 15 is an illustrative view showing an arrangement example of a three-dimensional range image sensor in a real world environment corresponding to the virtual simulation space of the embodiment.

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

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

なお、ロボット12が活動する、たとえばショッピングモールなどのように多様な人々が往来する環境(実世界)200には、図15に示すように、天井などの比較的高所には複数のセンサ202が配置されている。この実施例では、各センサ202は、3次元距離画像センサを想定している。 In an environment (real world) 200 where the robot 12 is active and where various people come and go, such as a shopping mall, as shown in FIG. are placed. In this example, each sensor 202 is assumed to be a three-dimensional range image sensor.

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

台車30の上には、円柱形のセンサ取り付けパネル38が設けられ、このセンサ取り付けパネル38には、多数の距離センサ40が取り付けられる。これらの距離センサ40は、たとえば赤外線や超音波などを用いてロボット12の周囲の物体(人や障害物など)との距離を測定するものである。 A cylindrical sensor mounting panel 38 is provided on the carriage 30, and a large number of distance sensors 40 are mounted on the sensor mounting panel 38. As shown in FIG. These distance sensors 40 measure the distance to 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 in the front central upper part of the body 42 (position corresponding to the chest of the person), and measures the distance in front of the robot 12, mainly to the person. Further, the body 42 is provided with a support 44 extending from substantially the center of the side upper end portion thereof, and an omnidirectional camera 46 is provided above the support 44 . The omnidirectional camera 46 captures the surroundings of the robot 12 and is distinguished from the eye camera 70 described later. As the omnidirectional camera 46, for example, a camera using a solid-state imaging device such as CCD or 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 on both side upper ends (positions corresponding to human shoulders) of the torso 42 by shoulder joints 48R and 48L, respectively. Although not shown, the shoulder joint 48R and the shoulder joint 48L each have degrees of freedom of three orthogonal axes. That is, the shoulder joint 48R can control the angle of the upper arm 50R around each of the three orthogonal axes. One 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 perpendicular to that axis from different directions. It is the axis that Similarly, the shoulder joint 48L can control the angle of the upper arm 50L around each of the three orthogonal axes. One 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 perpendicular to that axis from different directions. It is the axis that

また、上腕50Rおよび上腕50Lのそれぞれの先端には、肘関節52Rおよび肘関節52Lが設けられる。図示は省略するが、肘関節52Rおよび肘関節52Lは、それぞれ1軸の自由度を有し、この軸(ピッチ軸)の軸回りにおいて前腕54Rおよび前腕54Lの角度を制御できる。 Further, elbow joints 52R and 52L are provided at the distal ends of the upper arms 50R and 50L, respectively. Although not shown, the elbow joint 52R and the elbow joint 52L each have a degree of freedom of one axis, and can control the angles of the forearms 54R and 54L around this axis (pitch axis).

前腕54Rおよび前腕54Lのそれぞれの先端には、人の手に相当するハンド56Rおよびハンド56Lがそれぞれ設けられる。これらのハンド56Rおよび56Lは、詳細な図示は省略するが、開閉可能に構成され、それによってロボット12は、ハンド56Rおよび56Lを用いて物体を把持または挟持することができる。ただし、ハンド56R、56Lの形状は実施例の形状に限らず、人の手に酷似した形状や機能を持たせるようにしてもよい。 Hands 56R and 56L, which correspond to human hands, are provided at the tips of the forearms 54R and 54L, respectively. Although detailed illustration is omitted, these hands 56R and 56L are configured to be openable and closable, whereby the robot 12 can grip or pinch 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 be made to have a shape and functions very similar to those of human hands.

また、図示は省略するが、台車30の前面、肩関節48Rと肩関節48Lとを含む肩に相当する部位、上腕50R、上腕50L、前腕54R、前腕54L、ハンド56Rおよびハンド56Lには、それぞれ、接触センサ58(図3で包括的に示す)が設けられる。台車30の前面の接触センサ58は、台車30への人間や他の障害物の接触を検知する。したがって、ロボット12は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪32の駆動を停止してロボット12の移動を急停止させることができる。また、その他の接触センサ58は、当該各部位に触れたかどうかを検知する。 In addition, although not shown, the front surface of the carriage 30, the 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 are provided with , a contact sensor 58 (generically shown in FIG. 3) is provided. A contact sensor 58 on the front of the truck 30 detects contact of a person or other obstacle with the truck 30 . Therefore, if the robot 12 comes into contact with an obstacle during its own movement, it can detect it and immediately stop driving the wheels 32 to abruptly stop the movement of the robot 12 . Further, other contact sensors 58 detect whether or not each part is touched.

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

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

さらに、人の目に相当する位置には、右の眼球部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. Right eyeball portion 68R and left eyeball portion 68L include right eye camera 70R and left eye camera 70L, respectively. Hereinafter, the right eyeball portion 68R and the left eyeball portion 68L may be collectively referred to as an eyeball portion 68. As shown in FIG. Also, the right eye camera 70R and the left eye camera 70L may be collectively referred to as an eye camera 70. FIG.

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

また、眼カメラ70は、上述した全方位カメラ46と同様のカメラを用いることができる。たとえば、眼カメラ70は、眼球部68内に固定され、眼球部68は、眼球支持部(図示せず)を介して頭部62内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部62の上に向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部62の正面側(顔)が向く方向に直行する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部68ないし眼カメラ70の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ64、マイク66および眼カメラ70の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。 Also, the eye camera 70 can be the same camera as the omnidirectional camera 46 described above. For example, the eye camera 70 is fixed within the eyeball portion 68, and the eyeball portion 68 is attached at a predetermined position within the head 62 via an eyeball support (not shown). Although illustration is omitted, the eyeball supporting portion has two degrees of freedom and can be angularly controlled around each of these axes. For example, one of the two axes is the upward direction axis (yaw axis) of the head 62, and the other is orthogonal to one axis and orthogonal to the direction in which the front side (face) of the head 62 is directed. is the axis (pitch axis) in the direction to By rotating the eyeball supporting portion around each of these two axes, the eyeball portion 68 or the tip (front) side of the eye camera 70 is displaced, and the camera axis, that is, the line of sight direction is moved. The installation positions of the speaker 64, the microphone 66, and the eye camera 70 described above are not limited to these parts, 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 has independent two-axis drive of the wheels 32, three degrees of freedom of the shoulder joints 48 (six degrees of freedom on the left and right), one degree of freedom on the elbow joints 52 (two degrees of freedom on the left and right), It has a total of 17 degrees of freedom, including 3 degrees of freedom of the neck joint 60 and 2 degrees of freedom of the eyeball supporting portion (4 degrees of freedom in 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. As shown in FIG. Referring to FIG. 3, robot 12 includes one or more processors 80 . Processor 80 is connected via bus 82 to memory 84 , motor control board 86 , sensor input/output board 88 and audio input/output board 90 .

メモリ84は、図示は省略をするが、ROM、HDDおよびRAMを含む。ROMおよびHDDには、各種プログラムが予め記憶される。 Although not shown, the memory 84 includes ROM, HDD and RAM. Various programs are stored in advance in the ROM and 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 composed of, for example, a DSP, and controls the driving of each shaft motor of each arm, neck joint 60, eyeball portion 68, and the like. That is, the motor control board 86 receives control data from the processor 80, and controls two motors (in FIG. 3, collectively referred to as "right eyeball motor 92") for controlling the respective angles of the two axes of the right eyeball portion 68R. to control the rotation angle of the Similarly, the motor control board 86 receives control data from the processor 80 and controls two motors (collectively referred to as "left eye motor 94" in FIG. 3) for controlling the respective angles of the two axes of the left eyeball 68L. (shown) to 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」と示す)の回転角度を制御する。 Also, the motor control board 86 receives control data from the processor 80, and controls 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. It controls the rotation angles of four motors (shown collectively as "right arm motor 96" in FIG. 3). Similarly, the motor control board 86 receives control data from the processor 80, three motors controlling the angles of the three orthogonal axes of the shoulder joint 48L and one motor controlling the angle of the elbow joint 52L. (collectively referred to as "left arm motor 98" in FIG. 3).

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

モータ制御ボード86にはさらにハンドアクチュエータ101が結合され、モータ制御ボード86は、プロセサ80からの制御データを受け、ハンド56R、56Lの開閉を制御する。 A hand actuator 101 is further coupled to the motor control board 86, and the motor control board 86 receives control data from the processor 80 and controls 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に与えられる。 The sensor input/output board 88, like the motor control board 86, is composed of a DSP, takes in signals from each sensor, and supplies them to the processor 80. FIG. That is, data relating to the reflection time from each of the range sensors 40 are input to the processor 80 through this sensor input/output board 88 . Also, the video signal from the omnidirectional camera 46 is input to the processor 80 after undergoing predetermined processing by the sensor input/output board 88 as necessary. A video signal from the eye camera 70 is similarly input to the processor 80 . Signals from the plurality of contact sensors 58 (collectively referred to as “contact sensors 58 ” in FIG. 3 ) are provided to processor 80 via sensor input/output board 88 . The voice input/output board 90 is also composed of a DSP in the same way, and the speaker 64 outputs voice according to voice synthesis data given from the processor 80 . Audio input from microphone 66 is also provided to processor 80 via audio input/output board 90 .

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

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

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

操作装置14のメモリにはさらに、環境データ20を予め記憶している。環境データ20は主として図4に示す仮想シミュレーション空間22の地図データおよびその仮想シミュレーション空間22内での人エージェントの出現率データを含む。環境および環境内のオブジェクトは3次元モデルデータとして表され、3次元仮想空間として視覚化される。この3次元仮想シミュレーション空間22は先に説明した実世界200を再現したものである。 The memory of the operation device 14 further stores environmental data 20 in advance. 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 within the virtual simulation space 22 . The environment and objects within the environment are represented as 3D model data and visualized as a 3D virtual space. This three-dimensional virtual simulation space 22 reproduces the real world 200 described above.

環境データ20にはさらに、実世界200(図15)に設定された、たとえば3次元距離画像センサのような各センサ202の位置、向き、スキャン範囲(センシング範囲)なども含まれる。 The environment data 20 further includes the position, orientation, scanning range (sensing range), etc. of each sensor 202, such as a three-dimensional range image sensor, set in the real world 200 (FIG. 15).

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

シミュレーション装置16は、基本的には1または2以上のプロセサで構成され、ロボット12をシミュレートするロボットシミュレータ24および歩行者のような人エージェントをシミュレートする人シミュレータ26を含み、それぞれのシミュレーション結果が物理エンジン28に入力される。 The simulation device 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 in Non-Patent Document 1 above, and this MORSE simulator provides many sensors, actuators and robot models similar to the robot 12, and a model for such a model. An API (Application Programming Interface) is also available.

たとえば図11のステップS33において実行されるようなセンサシミュレーションにおいては、たとえば、距離画像センサの場合には、カメラ視点からの光学的な計算を行い、カメラ視点毎の画像情報を生成する。レーザ距離計の場合には、レーザによるスキャンを模して、センサから各方位へ距離計測を行い、その結果をセンサ値として保存する。 For example, in the sensor simulation executed in step S33 of FIG. 11, for example, in the case of a range image sensor, optical calculation from the viewpoint of the camera is performed to generate image information for each viewpoint of the camera. In the case of a laser range finder, the distance is measured from the sensor in each direction by simulating laser scanning, and the results are stored as sensor values.

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

人シミュレータ26は、定期的に新しい歩行者を生成し、それらの位置を更新し、それらがシミュレートされた環境(仮想シミュレーション空間22)を離れるときにそれらを除去する。歩行者すなわち人は、3次元オブジェクトとして表現され、仮想シミュレータ空間22内に配置され、アニメーションエンジンを使用して、その歩行動作がアニメーション化される。 The people simulator 26 periodically creates new pedestrians, updates their positions, and removes them when 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 human simulator 26 is provided with environmental data 20 as shown in FIG. 1, the human simulator 26 periodically generates new pedestrians with a predefined probability called the occurrence rate contained in the environmental data. do. The pedestrian is then assigned to one of the doorways 22a shown in FIG. 4 and set to go to the other one.

なお、歩行者はしばしばグループとして(家族やカップルのように)生成され、それらがグループで表示される場合、サイズはグループメンバの分布によって定義し、すべてのメンバが同じ目的を共有すると仮定する。 Note that pedestrians are often generated in groups (like families or 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 kind of movement path the robot or human agent will follow based on physical forces and laws. More specifically, the physics engine 28 performs processing that causes each agent (including robots) from the robot simulator 24 and the human simulator 26 to perform intended movements in the virtual simulation space 22 (FIG. 4). At this time, if there is no interference with other obstacles, structures, or other agents, it will generate the intended movement. However, in the presence of interference, the actual movement of each agent is processed according to the laws of physics (laws of mechanics). Then, the physics engine 28 outputs integrated simulation data.

シミュレーション装置16には、ディスプレイ105設けられていて、このディスプレイ105によって、たとえば図4に示すような仮想シミュレーション空間の画像が、その中に存在するシミュレートされたロボットや人エージェントとともに、表示される。たとえば、人エージェントは、3次元オブジェクトとして表現され、仮想シミュレーション空間22内に配置され、アニメーションエンジンを使用して、その歩行動作がアニメーション化される。ロボットアプリケーションプログラム18の開発者は、そのディスプレイ105に表示された画像で確認しながら、ロボット12の行動決定プログラム(アプリケーションプログラム)を作製し、修正する。 The simulation device 16 is provided with a display 105, and the display 105 displays an image of a virtual simulation space, such as that shown in FIG. 4, together with simulated robots and human agents present 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. A developer of the robot application program 18 creates and modifies an action determination program (application program) for the robot 12 while checking the image displayed on the display 105 .

さらに、シミュレーション装置16には入力装置107が付設されている。この入力装置107は、たとえば、キーボードあるいはタッチパネルであってよく、タッチパネルの場合にはディスプレイ105に組み込み、ディスプレイ105をタッチディスプレイとして構成することもできる。 Furthermore, the simulation device 16 is provided with an input device 107 . This input device 107 may be, for example, a keyboard or a touch panel. In the case of a touch panel, it may be incorporated in the display 105 and the display 105 may be configured as a touch display.

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

出現率データ108は、シミュレーション装置16の仮想シミュレーション空間22に投入する人エージェントのための、大人、子供、などの人のタイプ(パターン)やそれぞれの人の出現率が予め設定されているデータベースであり、設定された確率で設定された形状の人エージェントが生成される。 Appearance rate data 108 is a database in which types (patterns) of people, such as adults and children, and the rate of appearance of each person are set in advance for human agents to be introduced into the virtual simulation space 22 of the simulation device 16. A human agent with a set shape is generated with a set probability.

人生成モジュール110には3次元(3D)モデルデータベース111が付属される。3Dモデルデータベース111は、上述の人の各タイプのそれぞれについて複数の異なる形状、たとえば性別、身長、体つきなどの3Dモデルを保持している。したがって、人生成モジュール110は、出現率データ108の指示に従ったタイプでかつ3Dモデルデータベース111からランダムに選択した当該タイプの3Dモデルに従った人エージェントを仮想シミュレーション空間22内に生成する。 A three-dimensional (3D) model database 111 is attached to the human generation module 110 . The 3D model database 111 holds 3D models of a plurality of different shapes, such as gender, height, build, etc., for each of the types of persons mentioned above. Therefore, the human generation module 110 generates in the virtual simulation space 22 a human agent of the type indicated by the appearance rate data 108 and according to the 3D model of the type randomly selected from the 3D model database 111 .

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

ただし、生成される人エージェントがグループを形成することを出現率データ108が示していれば、人生成モジュール110は、シミュレーションパラメータとして設定されているグループメンバデータ112に従ったメンバ構成のグループで複数の人エージェントを生成する。この場合も、それらの人の体型は3Dモデルデータベース111から選択した3Dモデルに従う。 However, if the appearance rate data 108 indicates that the human agents to be generated form a group, the human generation module 110 generates a plurality of human agents in a group having a member configuration according to the group member data 112 set as a simulation parameter. to generate human agents. Again, their body shape follows the 3D model selected from the 3D model database 111 .

移動モジュール114は、人生成モジュール110が生成した人エージェントを、オブジェクティブモデル(Objective Model)データベース116に予め設定されているオブジェクティブに基づいて、仮想シミュレーション空間22(図4)内を移動させる。ここで、オブジェクティブ(Objective)とは、仮想シミュレーション空間22において、人エージェント(図示せず)の視界にロボットエージェント(図示せず)が入ったときに、人エージェントが示す反応の仕方、つまり人が実空間で実際に取り得る対ロボット行動パターンや、環境内で(ロボットがいない場合にも)行いうる行動パターン(たとえば、コンビニなどの商品棚の前で立ち止まるなど)を規定する命令セットである。命令セットは、たとえば、人が歩く場合、移動目標や移動速度をパラメータとして含む。 The movement module 114 moves the human agent generated by the human generation module 110 within the virtual simulation space 22 ( FIG. 4 ) based on objectives preset in the objective model database 116 . Here, the objective is the way a human agent (not shown) reacts when a robot agent (not shown) enters the field of view of the human agent (not shown) in the virtual simulation space 22, that is, the human agent reacts. It is an instruction set that defines possible action patterns against robots in real space, and possible action patterns in the environment (even when robots are not present) (for example, stopping in front of a product shelf at a convenience store, etc.). For example, when a person walks, the instruction set includes a movement target and a movement speed as parameters.

この実施例では後述の4つの典型的な反応の態様(オブジェクティブ)をモデルとして設定しておき、移動モジュール114は人エージェントを移動させるとき、そのモデルが示すオブジェクティブに従って移動させる。つまり、オブジェクティブ116は、仮想シミュレーション空間においてロボットの存在に対する反応行動を人エージェントに行わせる、第1命令セットとして機能する。これらのオブジェクティブはシミュレーションシステム10の第1メモリ(図示せず)に記憶されている。 In this embodiment, four typical reaction modes (objectives) described later are set as models, and the movement module 114 moves the human agent according to the objectives indicated by the models. In other words, the objective 116 functions as a first instruction set that causes the human agent to react to the presence of the robot in the virtual simulation space. These objectives are stored in a first memory (not shown) of simulation system 10 .

なお、このオブジェクティブモデル116に予め設定されている利用可能なオブジェクティブは、たとえば上記第1メモリから読み出してそれらの一覧をたとえばディスプレイ105などに表示するなどして、デバッグしようとする開発者が知ることができる。開発者は、その中の任意のオブジェクティブを選択して、後述のようにスクリプト(122)でそのオブジェクティブを変更(更新)することが可能である。このとき、開発者はシミュレーションシステム10に設けられているキーボードなどの入力装置(図示せず)を用いて、要変更箇所を変更することができる。そして、その変更(更新)されたオブジェクティブもまた第1メモリに記憶される。つまり、オブジェクティブモデル116は,拡張性を有するように設計しているので、別の誰かが更新したオブジェクティブを一覧情報として知るこことができる点は、有効である。 The available objectives preset in the objective model 116 can be read out from the first memory and displayed as a list on the display 105, for example, so that the developer who intends to debug can know them. can be done. The developer can select any objective in it and change (update) that objective in the script (122) as described below. At this time, the developer can use an input device (not shown) such as a keyboard provided in the simulation system 10 to change the portion to be changed. The modified (updated) objective is then also stored in the first memory. In other words, since the objective model 116 is designed to have extensibility, it is effective to be able to know the objectives updated by someone else as list information.

たとえば、ロボットが自分の視野に入ったときに人が取る行動パターン(オブジェクティブ)として、図6および図7に示す、ロボットと対話するパターンと、ロボットを観察するパターンがある。 For example, behavior patterns (objectives) that a person takes when a robot enters his/her field of view include a pattern of interacting with the robot and a pattern of observing the robot, as shown in FIGS.

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

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

オブジェクティブとしては、その他、ロボットの傍を通りすぎるオブジェクティブ、およびロボットの傍を減速し、見ながら通りすぎるオブジェクティブがあり、移動モジュール114では、人エージェントがその登録しているどれかのオブジェクティブに従って移動するようにシミュレーションする。 Objectives include other objectives that pass by the robot, and objectives that slow down and pass by the robot while looking at it. In the movement module 114, the human agent moves according to any registered objective. simulate as

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

仮想シミュレーション空間22内において、人エージェントの行動は、他のエージェントから影響されて変化するが(たとえば、人同士がぶつからないように避ける、ロボットを見たら近づく、など)。 In the virtual simulation space 22, the behavior of the human agent changes under the influence of other agents (for example, people avoid each other, approach robots when they see them, etc.).

たとえば図8に示すように、2人の人iおよびjは相互に影響して次のステップでの移動位置を決定する場合がある、人エージェントiは本来はdi,jの方向へ移動するのであるが、人エージェントjが人エージェントiに対して角度θi,jの方向に速度vi,jで移動しようとしているため、人エージェントiは、結局d’i,jの方向へ移動することになる。 For example, as shown in FIG. 8, two people i and j may influence each other to determine their movement 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 ends up moving in the direction of d'i,j. .

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

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

ロボットシミュレータ24は、環境データ20に含まれるロボット(ロボットエージェント)の位置等のデータに基づいて、ロボットアプリケーションプログラム18に従ったロボットの次のステップでの行動をシミュレーションする。ここで、ロボットアプリケーションプログラム18は、図3のセンサ入力/出力ボード88に入力されるセンサ出力に応じて、各モータすなわちアクチュエータを制御してロボットの行動を決定するプログラムである。 The robot simulator 24 simulates the action 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 controls each motor, that is, actuators, and determines the action of the robot according to the sensor output input to the sensor input/output board 88 of FIG.

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

人シミュレータ26はさらに、必要な場合、オブジェクティブ116ではなく、スクリプト122に従ってシミュレーションを実行する。オブジェクティブ116は上述のように、予め設定した、定型の対ロボット反応パターンであるが、スクリプト122は、シミュレーション装置16すなわち人シミュレータ26に非定型の動作を行わせる命令である。ここで、スクリプトとは、コンピュータが理解できる言語への変換作業を省略して、簡単に解釈実行できるようにした簡易プログラム(命令セット)のことである。ソフトウェアの設計などにおいて、コンピュータに命令を与える際には、通常、人間が普通に読み書きできる言語から、コンピュータが理解できる言語、いわゆる機械語への変換が必要であるが、スクリプトは、そのような変換作業を省略して簡単に解釈実行できるようにした簡易プログラムである。これらのスクリプトは、第2命令セットに該当するが、それらはシミュレーションシステム10の第2メモリ(図示せず)に記憶されている。ただし、第1メモリおよび第2メモリは同じメモリの異なる記憶場所であってよい。 Human simulator 26 also performs simulations according to scripts 122 rather than objectives 116 when necessary. The objective 116 is a preset, fixed response pattern to the robot, as described above, while the script 122 is an instruction that causes the simulation device 16, ie, the human simulator 26, to perform a non-fixed action. Here, a script is a simple program (instruction set) that can be easily interpreted and executed without conversion into a computer-readable language. When giving instructions to a computer in software design, etc., it is usually necessary to convert a language that humans can normally read and write into a language that computers can understand, so-called machine language. It is a simple program that can be easily interpreted and executed by omitting the conversion work. Although these scripts fall under the second set of instructions, they are stored in a second memory (not shown) of simulation system 10 . However, the first memory and the second memory may be different memory locations in the same memory.

人シミュレータ26にはさらに、ジェスチャモデルデータベース113が付属される。このジェスチャモデルデータベース113には人(歩行者)が取り得る複数種類のジェスチャ(動作)を登録しておく。そのジェスチャには、たとえば、物を見る、物を見ながら歩く、物を取る(右手および/または左手)、歩く(普通にまたはゆっくり、速く)、立ち止まる、しゃがむ等のジェスチャが含まれる。実世界で生じる人間のジェスチャと類似したデータを生成させるため、ジェスチャのデータには、モーションキャプチャシステムを用いて生成したデータが含まれることがある。 A gesture model database 113 is also attached to the human simulator 26 . A plurality of types of gestures (movements) that a person (walker) can take are registered in this gesture model database 113 . The gestures include, for example, looking at an object, walking while looking at an object, picking up an object (right and/or left hand), walking (normally or slowly, fast), stopping, crouching, and the like. Gesture data may include data generated using a motion capture system in order to generate data similar to human gestures occurring in the real world.

したがって、人シミュレータ26の移動モジュール114は、ジェスチャモデルデータベース113からランダムに選択したジェスチャを行う人エージェントを、オブジェクティブモデル116またはスクリプト122に従った移動パターンまたは移動経路で移動させる。 Therefore, the movement module 114 of the human simulator 26 causes the human agent performing the gesture randomly selected from the gesture model database 113 to move in a movement pattern or movement path according to the objective model 116 or the script 122 .

ここで、図11に示すこの発明の実施例の理解を容易にする目的で、まず、図10を参照して、オブジェクティブモデル116に従った図1に示すシミュレーション装置16における動作の一例を説明する。ただし、この図10に示すシミュレーションは、複数のステップ(S3‐S17)を1ステップとして実行する。実際的な運用において、シミュレーションの1ステップは最速0.1ミリ秒単位で実行可能であるが、ここでは10ミリ秒単位に設定し、ロボットシミュレーションプログラム18の実行は100ミリ秒単位とすることが可能である。この例の場合、ロボットアプリケーションプログラム18は、シミュレーション装置16による10ステップの実行毎に1度、実行される。つまり、この実施例では、このようにロボットアプリケーションプログラムの周期がシミュレーションの1ステップの実行周期より長い場合を想定している。 Here, for the purpose of facilitating understanding of the embodiment of the present invention shown in FIG. 11, first, referring to FIG. 10, an example of operation in the simulation device 16 shown in FIG. 1 according to the objective model 116 will be described. . However, the simulation shown in FIG. 10 executes a plurality of steps (S3-S17) as one step. In practical operation, one step of the simulation can be executed in units of 0.1 milliseconds at the fastest, but here it is set to units of 10 milliseconds, and execution of the robot simulation program 18 can be executed in units of 100 milliseconds. It is possible. In this example, the robot application program 18 is executed once every 10 steps executed by the simulation device 16 . In other words, in this embodiment, it is assumed that the period of the robot application program is longer than the execution period of one step of the simulation.

最初のステップS1において、一例として図4(および図9)に示す通路22b上を移動するように設定されている、ロボットアプリケーションプログラム18を読み込むとともに、環境データ20を読み込む。すなわち、ロボット12の行動をシミュレーションする図4(および図9)のような仮想シミュレーション空間22の地図データ106および出現率データ108が示す仮想シミュレーション空間22に投入する人エージェントの生成に関するパラメータ(出現頻度、移動経路、グループ人数、大人子供や男女の比率、背の高さなど)および各エージェント(ロボット12を含む)の位置データなどを読み込む。なお、この仮想シミュレーション空間22が、ロボット12および人エージェントとともに、ディスプレイ105に表示される。 In the first step S1, the robot application program 18, which is set to move on the path 22b shown in FIG. 4 (and FIG. 9) as an example, is read, and the environmental data 20 is read. That is, parameters (appearance frequency , movement route, number of people in the group, adult/child/male/female ratio, height, etc.) and location data of each agent (including the robot 12). This virtual simulation space 22 is displayed on the display 105 together with the robot 12 and the human agent.

さらに、このステップS1では、シミュレーションの初期化を行う。つまり、実行速度をs=1.0、基本実行ステップ数fpsをfps=30.0としてそれぞれ設定する。ただし、fpsは、1秒間に何ステップのシミュレーションを実行するかを示す数値で、この実施例の初期設定では、1秒間に30ステップのシミュレーションを実行するように、設定される。 Furthermore, in this step S1, the simulation is initialized. That is, the execution speed is set to s=1.0, and the number of basic execution steps fps is set to fps=30.0. However, fps is a numerical value indicating how many steps of simulation are executed per second, and in the initial setting of this embodiment, it is set so that 30 steps of simulation are executed per second.

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

ステップS5で人シミュレータ26は、環境データ20が示す現在の人エージェントおよびロボット12の位置に基づいて、そしてオブジェクティブモデル116が示す対ロボット行動パターンに基づいて、人エージェントの次のステップでの行動を決定する。なお、基本的な前述した4つのオブジェクティブの一覧は開発者(操作装置14のオペレータ)が自由にアクセスできる形で提供される。さらに、他のオブジェクティブモデルを採用することもできる。 In step S5, the human simulator 26 determines the human agent's next step action based on the current positions of the human agent and the robot 12 indicated by the environment data 20 and on the behavior pattern with respect to the robot indicated by the objective model 116. decide. A list of the four basic objectives described above is provided in a form that can be freely accessed by the developer (operator of the operation device 14). Additionally, other objective models can be employed.

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

具体的には、ステップS7では、ロボット12がたとえば搬送ロボットや搭乗型ロボットのように目的地に向かうことが主目的のロボットである場合、他の人々の現在の位置や移動速度から、なるべく他人の移動に干渉しないような移動経路を計算する処理を行う。また、ロボット12が人々にサービス提供することが目的のロボットである場合には、たとえば、ロボットに興味がありそうな人に接近するために、単純な場合では、ロボットの近傍で止まっている人を選択して、その人に向かって進む、また、人々が集まりがちな場所を選んでそのような場所でやってくる人を待ち受ける、また、混雑を起こさないように過度に人々が通る場所には近づかないようにする、といった処理を行ったりする。 Specifically, in step S7, if the robot 12 is a robot whose main purpose is to go to a destination, such as a carrier robot or a boarding robot, the other people's current positions and movement speeds are used as much as possible. processing to calculate 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, a person standing near the robot choose a place where people tend to gather and wait for the person who comes, and do not approach a place where people pass excessively so as not to cause congestion. We also take steps to prevent it from happening.

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

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

ところが、干渉がある場合、物理学法則(力学法則)に従って各エージェントの実際の動きが処理される。単純な場合、たとえば壁に向かって進もうとすると、壁に衝突し、それ以上前進できないし、一定の反発係数に従って反力を受ける。エージェント同士の衝突の場合、前進する動きと、反力による移動が重なり合って、たとえば、単純な例を考えると、前進中にたとえば側方から衝突すると、斜め前方へと実際には動くことになる。 However, in the presence of interference, the actual movement of each agent is processed according to the laws of physics (laws of mechanics). In a simple case, for example, if you try to move towards a wall, you will hit the wall, you will not be able to move further, and you will receive 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 the reaction force overlap, and for example, if we consider a simple example, if the agent collides from the side while moving forward, it will actually move diagonally forward. .

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

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

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

図11はこの実施例における主として人シミュレータ26の動作を示すフロー図であり、この図11の最初のステップS21では、コンピュータは、シミュレーションが実行されているかどうか判断する。“NO”ならそのまま終了する。 FIG. 11 is a flow diagram primarily showing the operation of the human simulator 26 in this embodiment, and in the first step S21 of this FIG. 11, the computer determines whether the simulation is running. If "NO", the process ends as it is.

この実施例の特徴は、図10のステップS3における人シミュレータ26による人エージェントの生成、仮想シミュレーション空間22への投入、およびステップS5におけるその仮想シミュレーション空間22内での人エージェントの移動、ジェスチャ等の行動の際の、3次元距離画像センサ202(図15)に対応するシミュレーションデータを取得することである。以下、説明する。 The features of this embodiment are that the human agent is generated by the human simulator 26 in step S3 of FIG. It is to acquire simulation data corresponding to the three-dimensional range image sensor 202 (FIG. 15) during action. This will be explained below.

ステップS21で“YES”が判断されたときは、次のステップS23で、コンピュータは歩行者(人)生成条件が成立したかどうか判断する。この歩行者は、仮想シミュレーション空間22に存在する歩行者数が所定の最大数未満の場合、出現率データ108(図5)に従って、一定確率で生成される。したがって、歩行者生成条件とは、出現率に達したという条件である。 When "YES" is determined in step S21, the computer determines in the next step S23 whether or not the pedestrian (person) generation condition is established. This pedestrian is generated with a certain probability according to the appearance rate data 108 (FIG. 5) when the number of pedestrians existing in the virtual simulation space 22 is less than a predetermined maximum number. Therefore, the pedestrian generation condition is a condition that the appearance rate is reached.

このステップS23で“YES”が判断されると、ステップS25で、人生成モジュール110によって、歩行者を生成する。具体的には、図12に示すフロー図に従って歩行者を生成する。 If "YES" is determined in step S23, a pedestrian is generated by the human generation module 110 in step S25. Specifically, pedestrians are generated according to the flowchart shown in FIG.

図12のステップS41では、コンピュータすなわち人生成モジュール110は、歩行者モデルを3Dモデルデータベース111からランダムにまたは所定の法則に従って選択する。 In step S41 of FIG. 12, the computer, that is, the human generation module 110 selects a pedestrian model from the 3D model database 111 at random or according to a predetermined rule.

そして、ステップS43で、オブジェクティブ(行動タイプ)をオブジェクティブモデル116からランダムにまたは所定の法則に従って選択するとともに、グループメンバデータ112、ソーシャルフォースモデル118およびインタラクションモデル120に従って、シミュレーションパラメータを確定的にまたは所定の法則に従って決定する。このステップS43ではオブジェクティブを複数個選択することができ、その場合、選択された順にオブジェクティブが実行される。 Then, in step S43, an objective (behavior type) is selected from the objective model 116 at random or according to a predetermined rule, and simulation parameters are deterministically or predetermined according to the group member data 112, the social force model 118, and the interaction model 120. determined according to the law of In this step S43, a plurality of objectives can be selected, in which case the objectives are executed in the order of selection.

ステップS45で、オブジェクティブ毎に、実行するジェスチャをジェスチャデータベース113からランダムにまたは所定の法則に従って選択して、オブジェクティブに設定する。ジェスチャとしては、先に説明したように、「物を取る」などである。ジェスチャは、オブジェクティブ毎に複数選択されてもよい。その後、リターンする。 In step S45, for each objective, a gesture to be executed is selected from the gesture database 113 at random or according to a predetermined rule, and set to the objective. Gestures include, as described above, "take an object". Multiple gestures may be selected for each objective. Then return.

このようにして、図11のステップS25で、仮想シミュレーション空間22(図4)内に人エージェント(歩行者)を生成することができる。したがって、このステップS25およびそれを実行するコンピュータは、人エージェント生成手段ということができる。 Thus, in step S25 of FIG. 11, a human agent (pedestrian) can be generated in the virtual simulation space 22 (FIG. 4). Therefore, step S25 and the computer that executes it can be called human agent generating means.

図11のステップS27で、歩行者Pi毎のループを実行し、ステップS29で、コンピュータすなわち移動モジュール114は、歩行者Piを更新する。具体的には、図13に示すフロー図に従う。 At step S27 of FIG. 11, a loop is executed for each pedestrian Pi, and at step S29 the computer or movement module 114 updates the pedestrian Pi. Specifically, the flowchart shown in FIG. 13 is followed.

図13のステップS51で、コンピュータは、オブジェクティブが終了したかどうか判断する。“YES”なら、歩行者Piを環境すなわち仮想シミュレーション空間22から削除(消去)して、リターンする。つまり、各歩行者に対して移動シーケンスを設定しているので、それが終わったら環境から消えるようにしている。 In step S51 of FIG. 13, the computer determines whether the objective has ended. If "YES", delete (delete) the pedestrian Pi from the environment, that is, the virtual simulation space 22, and return. In other words, I set a movement sequence for each pedestrian, so that they disappear from the environment when it's done.

一方、ステップS51で“NO”と判断されたとき、ステップS55において、先にステップS43で設定されたソーシャルフォースモデルに従って、歩行者の位置を更新する。そして、ステップS57で、ステップS45で設定されたジェスチャに従って、歩行者Piのジェスチャを再生し、その後リターンする。 On the other hand, when "NO" is determined in step S51, the position of the pedestrian is updated in step S55 according to the social force model previously set in step S43. Then, in step S57, the gesture of the pedestrian Pi is reproduced according to the gesture set in step S45, and then the process returns.

ステップS27の更新処理は複数のオブジェクティブが存在する場合、順次次のオブジェクティブの更新処理を実行する。このステップS27すなわちステップS29での更新は、仮想シミュレーション空間内で人エージェントを移動シーケンスを適用して人エージェントの位置を更新するので、このステップS27、S29およびそれらを実行するコンピュータは、更新手段ということができる。 In the updating process in step S27, if there are a plurality of objectives, the updating process for the next objective is sequentially executed. The update in step S27, that is, step S29, updates the position of the human agent by applying the movement sequence of the human agent in the virtual simulation space. be able to.

各歩行者Piの更新処理が終了したら、図11のステップS31において、各歩行者の真値ラベルを作成する。真値ラベルとは、各センサからの各歩行者(人)の見え方であり、たとえば、歩行者の位置、歩行者の向き、ジェスチャなどを含む。人シミュレータ26によって歩行者の移動シーケンスをシミュレーションしているので、コンピュータは、それぞれのモデルやパラメータからこのような真値ラベルを容易に取得できる。 When the updating process for each pedestrian Pi is finished, in step S31 of FIG. 11, a true value label for each pedestrian is created. A true value label is how each pedestrian (person) is seen from each sensor, and includes, for example, the position of the pedestrian, the orientation of the pedestrian, gestures, and the like. Since the movement sequence of the pedestrian is simulated by the human simulator 26, the computer can easily acquire such true value labels from each model and parameter.

次いで、ステップS33で、コンピュータは、センサデータを作成する。センサデータは、上述のようにして歩行者Piがシミュレートされるときの、各センサからの歩行者Piの見え方をシミュレーションしたデータ、たとえば距離画像である。センサ202(図15)として3次元距離画像センサを用いた場合、図14(A)に示すように、センサA‐Jのそれぞれの距離画像が作成される。図14(A)のセンサA‐J毎の距離画像を統合すると図14(B)のような距離画像が得られる。実世界のセンシングでは、センサノイズが存在するため、これらのセンサノイズを再現するためのセンサノイズモデルを距離画像データの作成時に適用する。つまり、シミュレーション内で計測した距離に、確率的なセンサノイズ(ガウシアン分布など)を加算(もしくは減算)した結果を、距離画像として生成する。このようなセンサのノイズモデルは、たとえば環境データ20(図1)に、実世界に配置された3次元距離画像センサのデータとともに、予め設定される。 Next, in step S33, the computer creates sensor data. The sensor data is data obtained by simulating how the pedestrian Pi looks from each sensor when the pedestrian Pi is simulated as described above, such as a distance image. When a three-dimensional range image sensor is used as the sensor 202 (FIG. 15), as shown in FIG. 14A, respective range images of sensors AJ are created. By integrating the distance images for each of the sensors A to J in FIG. 14A, a distance image as shown in FIG. 14B is obtained. Since sensor noise exists in sensing in the real world, a sensor noise model for reproducing such sensor noise is applied when creating range image data. That is, the distance image is generated by adding (or subtracting) probabilistic sensor noise (such as Gaussian distribution) to the distance measured in the simulation. Such sensor noise models are preset, for example, in environmental data 20 (FIG. 1), together with data from three-dimensional range image sensors placed in the real world.

次のステップS35で、コンピュータは、ステップS31で取得した真値ラベルのデータと、ステップS33で作成した図14に示すような距離画像とを組み合わせたデータセットを出力する。 In the next step S35, the computer outputs a data set obtained by combining the true value label data acquired in step S31 and the distance image as shown in FIG. 14 created in step S33.

このデータセットは、学習器(図示せず)へ投入することによって、センサのキャリブレーションや認識モデルの学習を行うことができる。ただし、センサキャリブレーションとは、各センサ202についてどのような計算をすれば、センシングの精度が向上するかを示すセンサデータの計算方法を決定することを意味し、学習器による学習のためには多数の、たとえば100万以上のデータセットが必要となる。 By inputting this data set into a learning device (not shown), sensor calibration and recognition model learning can be performed. However, sensor calibration means determining the calculation method of sensor data indicating what kind of calculation should be performed for each sensor 202 to improve the sensing accuracy. A large number of data sets are required, for example over a million.

極めて多数のデータセットを実世界で取得しようとすると、様々な場所(環境)、様々なパターンで行動するデータと、そのラベルセットを大量に収集することになり、多大なコストを要する。 Acquiring an extremely large number of data sets in the real world involves collecting a large amount of data that behaves in various places (environments) and various patterns, as well as their label sets, which incurs a great deal of cost.

これに対して、この実施例のように真値ラベルとセンサデータのペアをシミュレーションによって生成するようにすれば、シミュレーションでは人(歩行者)の行動モデルによって多様な人行動を生成し、それらの行動に人の3次元モデルと人のモーション(ジェスチャ)データ、センサノイズモデルを組み合わせることで、実世界のセンサシステムで利用可能な精度向上データを低コストでかつ短時間で獲得することができる。 On the other hand, if pairs of true value labels and sensor data are generated by simulation as in this embodiment, various human behaviors are generated by a human (pedestrian) behavior model in the simulation, and their By combining human 3D models, human motion (gesture) data, and sensor noise models for actions, it is possible to acquire precision improvement data that can be used in real-world sensor systems at low cost and in a short time.

このような認識モデルのパラメータを学習する学習器とは別に、この実施例の大量のデータセットをシミュレーションによって作成するアプローチは,深層学習(いわゆるディープラーニング)にも適用できる。深層学習は、いわば認識モデル自体を学習する学習器である。したがって、実施例によって得られるデータセットはセンサキャリブレーションや,認識モデルの獲得を目指した学習装置(ディープラーニング)に利用することができる。 Apart from such a learner that learns the parameters of the recognition model, the approach of creating a large amount of data sets by simulation in this embodiment can also be applied to deep learning (so-called deep learning). Deep learning is, so to speak, a learner that learns the recognition model itself. Therefore, the data set obtained by the embodiment can be used for sensor calibration and a learning device (deep learning) aiming at acquiring a recognition model.

なお、上述の実施例では、仮想シミュレーション空間に投入する人エージェントを3Dモデルに従った形状にし、それをオブジェクティブに従って移動させ、さらにジェスチャモデルに従った動作(motion)をさせるので、人エージェントが実世界の人(歩行者)と酷似したシミュレーションを実行できるので、そのような人エージェントをセンシングする3次元距離画像センサのセンシング精度も実世界のそれと同じような精度で再現することができる。したがって、ステップS35で出力されるデータセットで学習する学習器(図示せず)の精度もよくなる。 In the above-described embodiment, the human agent to be introduced into the virtual simulation space is shaped according to the 3D model, moved according to the objective, and made to perform motion according to the gesture model. Since a simulation that closely resembles a person (pedestrian) in the world can be executed, the sensing accuracy of the 3D range image sensor that senses such a human agent can be reproduced with the same accuracy as that in the real world. Therefore, the accuracy of a learner (not shown) that learns with the data set output in step S35 is also improved.

しかしながら、仮想シミュレーション空間に投入する人エージェントを3Dモデルに従った形状にし、それをオブジェクティブに従って移動させるだけでも、十分な精度を実現できれば、仮想シミュレーション空間で人エージェントにジェスチャを行わせない方法も可能である。 However, if it is possible to achieve sufficient accuracy simply by shaping the human agent to be inserted into the virtual simulation space according to the 3D model and moving it according to the objective, it is possible to prevent the human agent from making gestures in the virtual simulation space. is.

同様に、人エージェントにシミュレーションパラメータを付与させず、学習する方法も可能である。 Similarly, a method of learning without assigning simulation parameters to the human agent is also possible.

10 …シミュレーションシステム
12 …ロボット
14 …操作装置
16 …シミュレーション装置
18 …ロボットアプリケーションプログラム
22 …仮想シミュレーション空間
24 …ロボットシミュレータ
26 …人シミュレータ
28 …物理エンジン
105…ディスプレイ
202…距離画像センサ
10 ... Simulation system 12 ... Robot 14 ... Operation device 16 ... Simulation device 18 ... Robot application program 22 ... Virtual simulation space 24 ... Robot simulator 26 ... Human simulator 28 ... Physics engine 105 ... Display 202 ... Range image sensor

Claims (6)

複数の3次元距離画像センサをそれぞれの所定位置に配置した実世界を模した仮想シミュレーション空間に人エージェントを投入する人エージェント生成手段、
前記仮想シミュレーション空間内で前記人エージェントを更新する更新手段、
人エージェントの3次元形状を指示する複数の3Dモデルを有する3Dモデルデータベース、および
前記人エージェントのオブジェクティブを有するオブジェクティブモデルデータベースを備え、
前記人エージェント生成手段は前記3Dモデルデータベースから選択された3Dモデルに従った形状の人エージェントを生成し、前記更新手段は前記オブジェクティブに従って前記人エージェントを移動させ、さらに
前記複数の3次元距離画像センサの各々から見た各人エージェントの少なくとも位置、向き、ジェスチャを含む、前記人エージェントの真値ラベルを作成する真値ラベル作成手段、
前記更新手段によって前記人エージェントが移動されるとき前記複数の3次元距離画像センサによる各人エージェントの距離画像センサデータとして取得するセンサデータ取得手段、および
前記真値ラベルと前記センサデータを結合したデータセットを出力する出力手段を備える、シミュレーションシステム。
A human agent generating means for inserting a human agent into a virtual simulation space simulating the real world in which a plurality of three-dimensional range image sensors are arranged at respective predetermined positions ;
update means for updating the human agent in the virtual simulation space;
a 3D model database having a plurality of 3D models indicative of a three-dimensional shape of a human agent; and an objective model database having objectives of the human agent;
The human agent generating means generates a human agent having a shape according to the 3D model selected from the 3D model database, the updating means moves the human agent according to the objective, and
true value label creation means for creating a true value label of the human agent, including at least the position, orientation and gesture of each human agent viewed from each of the plurality of three-dimensional range image sensors;
sensor data acquisition means for acquiring, as sensor data , a range image of each human agent captured by the plurality of three-dimensional range image sensors when the human agent is moved by the updating means; and combining the true value label and the sensor data. A simulation system comprising output means for outputting a data set.
前記人エージェント生成手段は、それぞれが3Dモデルに従った形状を有する、異なるタイプの人エージェントを生成する、請求項1記載のシミュレーションシステム。 2. The simulation system according to claim 1, wherein said human agent generating means generates different types of human agents, each having a shape according to a 3D model. 前記人エージェントについての異なるジェスチャを設定しているジェスチャデータベースをさらに備え、
前記更新手段は、前記ジェスチャデータベースから選択したジェスチャを前記人エージェントにさせる、請求項1または2記載のシミュレーションシステム。
further comprising a gesture database setting different gestures for the human agent;
3. The simulation system according to claim 1, wherein said updating means causes said human agent to make a gesture selected from said gesture database.
ソーシャルフォースモデルを設定しているソーシャルフォースモデルデータベースをさらに備え、
前記更新手段は、前記ソーシャルフォースモデルに従って前記人エージェントの位置を更新する、請求項1ないし3のいずれかに記載のシミュレーションシステム。
further comprising a social force model database setting the social force model,
4. The simulation system according to any one of claims 1 to 3, wherein said updating means updates the position of said human agent according to said social force model.
複数の3次元距離画像センサをそれぞれの所定位置に配置した実世界を模した仮想シミュレーション空間においてシミュレーションを実行するシミュレーションシステムであって、
前記シミュレーションシステムは、人エージェントの3次元形状を指示する複数の3Dモデルを有する3Dモデルデータベース、および前記人エージェントのオブジェクティブを有するオブジェクティブモデルデータベースを備え、前記シミュレーションシステムのコンピュータを、
前記仮想シミュレーション空間に前記3Dモデルデータベースから選択された3Dモデルに従った形状の人エージェントを投入する人エージェント生成手段、
前記仮想シミュレーション空間内で前記オブジェクティブに従って前記人エージェントを移動させて前記人エージェントを更新する更新手段、
前記複数の3次元距離画像センサの各々から見た各人エージェントの少なくとも位置、向き、ジェスチャを含む、前記人エージェントの真値ラベルを作成する真値ラベル作成手段、
前記更新手段によって前記人エージェントが移動されるとき前記複数の3次元距離画像センサによる各人エージェントの距離画像センサデータとして取得するセンサデータ取得手段、および
前記真値ラベルと前記センサデータを結合したデータセットを出力する出力手段
として機能させる、シミュレーションプログラム。
A simulation system for executing a simulation in a virtual simulation space simulating the real world in which a plurality of three-dimensional range image sensors are arranged at respective predetermined positions ,
The simulation system comprises a 3D model database having a plurality of 3D models that indicate a three-dimensional shape of a human agent, and an objective model database having objectives of the human agent, the computer of the simulation system comprising:
human agent generation means for inputting a human agent having a shape according to the 3D model selected from the 3D model database into the virtual simulation space;
updating means for updating the human agent by moving the human agent according to the objective within the virtual simulation space;
true value label creation means for creating a true value label of the human agent, including at least the position, orientation and gesture of each human agent viewed from each of the plurality of three-dimensional range image sensors;
sensor data acquisition means for acquiring, as sensor data , a range image of each human agent captured by the plurality of three-dimensional range image sensors when the human agent is moved by the updating means; and combining the true value label and the sensor data. A simulation program that functions as an output means for outputting datasets.
請求項1ないし5のいずれかの前記出力手段が出力するデータセットを学習する学習器を備える、センサキャリブレーションもしくは認識モデルの学習装置。 6. A learning device for sensor calibration or recognition model, comprising a learning device for learning a data set output by said output means according to any one of claims 1 to 5.
JP2019065629A 2019-03-29 2019-03-29 Simulation system, simulation program and learning device Active JP7258426B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019065629A JP7258426B2 (en) 2019-03-29 2019-03-29 Simulation system, simulation program and learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019065629A JP7258426B2 (en) 2019-03-29 2019-03-29 Simulation system, simulation program and learning device

Publications (2)

Publication Number Publication Date
JP2020163509A JP2020163509A (en) 2020-10-08
JP7258426B2 true JP7258426B2 (en) 2023-04-17

Family

ID=72716802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019065629A Active JP7258426B2 (en) 2019-03-29 2019-03-29 Simulation system, simulation program and learning device

Country Status (1)

Country Link
JP (1) JP7258426B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005128959A (en) 2003-10-27 2005-05-19 Sony Corp Robot device and its method of learning object
JP2007181888A (en) 2006-01-05 2007-07-19 Advanced Telecommunication Research Institute International Communication robot system
US20160057511A1 (en) 2014-08-25 2016-02-25 Daqri, Llc Remote sensor access and queuing
JP2018097417A (en) 2016-12-08 2018-06-21 株式会社国際電気通信基礎技術研究所 Simulation system
WO2018139203A1 (en) 2017-01-26 2018-08-02 ソニー株式会社 Information processing device, information processing method, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11104984A (en) * 1997-10-06 1999-04-20 Fujitsu Ltd Real environment information display device and recording medium in which program for executing real environment information display process is recorded and which can be read by computer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005128959A (en) 2003-10-27 2005-05-19 Sony Corp Robot device and its method of learning object
JP2007181888A (en) 2006-01-05 2007-07-19 Advanced Telecommunication Research Institute International Communication robot system
US20160057511A1 (en) 2014-08-25 2016-02-25 Daqri, Llc Remote sensor access and queuing
JP2018097417A (en) 2016-12-08 2018-06-21 株式会社国際電気通信基礎技術研究所 Simulation system
WO2018139203A1 (en) 2017-01-26 2018-08-02 ソニー株式会社 Information processing device, information processing method, and program

Also Published As

Publication number Publication date
JP2020163509A (en) 2020-10-08

Similar Documents

Publication Publication Date Title
JP6809705B2 (en) Simulation system
JP6793905B2 (en) Robot behavior simulation device
JP5318623B2 (en) Remote control device and remote control program
Olivier et al. A virtual reality platform to study crowd behaviors
US9135392B2 (en) Semi-autonomous digital human posturing
JP4463120B2 (en) Imitation robot system and its imitation control method
JP7130062B2 (en) Route determination method
Thalmann et al. Autonomous virtual actors based on virtual sensors
KR101710000B1 (en) 3D interface device and method based motion tracking of user
JP7139643B2 (en) Robot, robot control method and program
KR20140009900A (en) Apparatus and method for controlling robot
JP7335084B2 (en) Simulation device and program
Grzeskowiak et al. Toward virtual reality-based evaluation of robot navigation among people
CN113056315B (en) Information processing apparatus, information processing method, and program
Kirakosian et al. Near-contact person-to-3d character dance training: Comparing ar and vr for interactive entertainment
JP6893630B2 (en) Service provision robot system
JP2015066623A (en) Robot control system and robot
Ovur et al. Naturalistic robot-to-human bimanual handover in complex environments through multi-sensor fusion
Das et al. GeroSim: A simulation framework for gesture driven robotic arm control using Intel RealSense
JP6142307B2 (en) Attention target estimation system, robot and control program
JP7258426B2 (en) Simulation system, simulation program and learning device
JP7250571B2 (en) Inverted pendulum type robot
JP6925013B2 (en) Simulation system
JP6908257B2 (en) Robots and robot control programs
WO2020166373A1 (en) Information processing device and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230303

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230404

R150 Certificate of patent or registration of utility model

Ref document number: 7258426

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150