〈第1の実施形態〉
《トレーニングシステム1の構成》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第1の実施形態に係るトレーニングシステム1の構成を示す概略図である。
第1の実施形態に係るトレーニングシステム1は、作業機械100の操作に不慣れなオペレータであるトレーニーが、作業機械100の操作に熟練したオペレータであるトレーナーの操作を参考にしながら、作業機械100の操作のシミュレーションを行うためのシステムである。トレーニーは、自身の操作について、トレーニングシステム1やトレーナーによる評価を受けることができる。トレーナーおよびトレーニーは、いずれも作業機械100の操作者である。第1の実施形態では、トレーニングシステム1は、作業機械100である油圧ショベルの操作のトレーニングに用いられる。なお、作業機械100の種類は、油圧ショベルに限られず、ブルドーザ、ホイルローダ、フォークリフトなどの他の作業機械であってもよい。
First Embodiment
Configuration of Training System 1
Hereinafter, the embodiments will be described in detail with reference to the drawings.
FIG. 1 is a schematic diagram showing the configuration of a training system 1 according to the first embodiment.
The training system 1 according to the first embodiment is a system that allows a trainee, who is an operator unfamiliar with operating the work machine 100, to simulate the operation of the work machine 100 while referring to the operation of a trainer, who is an operator skilled in operating the work machine 100. The trainee can receive evaluation of his or her own operation by the training system 1 and the trainer. Both the trainer and the trainee are operators of the work machine 100. In the first embodiment, the training system 1 is used for training in the operation of a hydraulic excavator, which is the work machine 100. It should be noted that the type of work machine 100 is not limited to a hydraulic excavator, and may be other work machines such as a bulldozer, a wheel loader, or a forklift.
トレーニングシステム1は、データサーバ10と、1または複数のトレーニングシミュレータ30とを備える。
The training system 1 includes a data server 10 and one or more training simulators 30.
データサーバ10は、トレーニングに用いる模範データおよびワークデータを記憶する。模範データは、トレーナーによる作業機械100の操作を表す。トレーニーは、模範データを参考にしてトレーニングを行う。ワークデータは、トレーニーによる作業機械100の操作を表す。トレーニングシステム1およびトレーナーは、ワークデータに基づいてトレーニーの操作を評価する。模範データおよびワークデータは、操作レバーの操作の時系列、作業機械100の姿勢(作業機の関節角度および旋回角度)の時系列、および視線の時系列を含む。以下、模範データおよびワークデータのような、作業機械100の操作および挙動の時系列を表すデータを、挙動記録データともいう。
The data server 10 stores model data and work data used for training. The model data represents the operation of the work machine 100 by the trainer. The trainee performs training with reference to the model data. The work data represents the operation of the work machine 100 by the trainee. The training system 1 and the trainer evaluate the trainee's operation based on the work data. The model data and work data include a time series of the operation of the operating lever, a time series of the posture of the work machine 100 (joint angles and turning angles of the work machine), and a time series of the line of sight. Hereinafter, data that represents a time series of the operation and behavior of the work machine 100, such as the model data and work data, is also referred to as behavior record data.
具体的には、データサーバ10は、模範データを格納する模範データテーブルT1と、ワークデータを格納するワークデータテーブルT2と、認証データを格納するユーザテーブルT3とを備える。
模範データテーブルT1は、模範データと、当該模範データのID(識別情報)である模範IDと、当該模範データで再現される作業内容を示す概要データとを関連付けて格納する。
ワークデータテーブルT2は、ワークデータと、当該ワークデータのID(識別情報)であるワークIDと、対応する模範データの模範IDと、トレーニングシステム1による評価を示す評価データと、トレーナーによる評価を示すコメントデータとを関連付けて格納する。
ユーザテーブルT3は、ユーザIDと、ユーザ区分と、認証情報とを関連付けて記憶する。ユーザ区分の値は、トレーナーおよびトレーニーのいずれかである。認証情報は、例えばパスワードであってよい。
Specifically, the data server 10 includes a model data table T1 for storing model data, a work data table T2 for storing work data, and a user table T3 for storing authentication data.
The model data table T1 stores model data, a model ID which is an ID (identification information) of the model data, and summary data which indicates the work content reproduced by the model data, in association with each other.
The work data table T2 stores, in association with each other, work data, a work ID which is the ID (identification information) of the work data, a model ID of the corresponding model data, evaluation data indicating the evaluation by the training system 1, and comment data indicating the evaluation by the trainer.
The user table T3 stores a user ID, a user category, and authentication information in association with each other. The value of the user category is either trainer or trainee. The authentication information may be, for example, a password.
トレーニングシミュレータ30は、操作者による操作入力を受け付け、当該操作入力に応じた作業機械100の挙動を模擬する。トレーニングシミュレータ30は、作業機械100の挙動を表す映像を生成し、操作者に提示する。またトレーニングシミュレータ30は、データサーバ10が記憶する模範データに基づいて作業機械100の挙動を再現し、作業機械100の挙動を表す映像を生成し、操作者に提示する。
The training simulator 30 accepts operation input by the operator and simulates the behavior of the work machine 100 in response to the operation input. The training simulator 30 generates an image representing the behavior of the work machine 100 and presents it to the operator. The training simulator 30 also reproduces the behavior of the work machine 100 based on the model data stored in the data server 10, generates an image representing the behavior of the work machine 100, and presents it to the operator.
トレーニングシミュレータ30は、演算装置31と、操作装置33と、ヘッドマウントディスプレイ35とを備える。操作装置33は、作業機械100を操作するための入力インタフェースである。第1の実施形態に係る操作装置33は、2つの操作レバー(右側操作レバーと左側操作レバー)である。なお、操作装置33は、シミュレーションを行う作業機械100の種類によって異なっていてよい。ヘッドマウントディスプレイ35は、演算装置31によって演算された映像を表示する。ヘッドマウントディスプレイ35は、装着者の視線を検出するアイトラッカおよびヘッドマウントディスプレイ35の姿勢を検出するIMU(Inertial Measurement Unit)を備える。演算装置31は、操作装置33の入力に基づいて仮想空間Vにおける作業機械100のシミュレーションを行う。演算装置31は、ヘッドマウントディスプレイ35の姿勢に基づいて仮想空間Vにおける視線の方向を決定し、シミュレーション結果をレンダリングする。これによりヘッドマウントディスプレイ35には、ヘッドマウントディスプレイ35の姿勢と連動して仮想空間Vが表示される。
The training simulator 30 includes a calculation device 31, an operation device 33, and a head-mounted display 35. The operation device 33 is an input interface for operating the work machine 100. The operation device 33 according to the first embodiment is two operation levers (a right operation lever and a left operation lever). The operation device 33 may differ depending on the type of work machine 100 to be simulated. The head-mounted display 35 displays an image calculated by the calculation device 31. The head-mounted display 35 includes an eye tracker that detects the line of sight of the wearer and an IMU (Inertial Measurement Unit) that detects the attitude of the head-mounted display 35. The calculation device 31 performs a simulation of the work machine 100 in the virtual space V based on the input of the operation device 33. The calculation device 31 determines the direction of the line of sight in the virtual space V based on the attitude of the head-mounted display 35, and renders the simulation results. As a result, the virtual space V is displayed on the head-mounted display 35 in conjunction with the attitude of the head-mounted display 35.
《作業機械100の構成》
作業機械100は、走行体110、旋回体120および作業機130を備える。
走行体110は、作業機械100を走行可能に支持する。
旋回体120は、走行体110に旋回中心回りに旋回可能に支持される。旋回体120の前部には運転室121が設けられる。演算装置31による仮想空間Vを描画するためのレンダリングカメラは、運転室121内に設けられる。
作業機130は、旋回体120の前部に上下方向に駆動可能に支持される。
作業機130は、ブーム131、アーム132、作業具としてのバケット133を備える。例えば、作業具は幅方向に亘る刃先を有する。作業具の他の例として、クラムバケット、チルトバケット、チルトローテートバケット、ブレーカ、グラップラなどの先端アタッチメントが挙げられる。
Configuration of the work machine 100
The work machine 100 includes a running body 110, a rotating body 120, and a work implement 130.
The traveling body 110 supports the work machine 100 so that the work machine 100 can travel.
The rotating body 120 is supported by the running body 110 so as to be rotatable about a rotation center. A cab 121 is provided at the front of the rotating body 120. A rendering camera for rendering the virtual space V by the computing device 31 is provided in the cab 121.
The work machine 130 is supported at the front of the revolving body 120 so as to be drivable in the vertical direction.
The work machine 130 includes a boom 131, an arm 132, and a bucket 133 as a work tool. For example, the work tool has a cutting edge extending in the width direction. Other examples of the work tool include end attachments such as a clam bucket, a tilt bucket, a tilt rotate bucket, a breaker, and a grappler.
ブーム131の基端部は、旋回体120にブームピンを介して回転可能に取り付けられる。なお、図1に示す作業機械100においては、ブーム131が旋回体120の正面中央部分に設けられるが、これに限られず、ブーム131は左右方向にオフセットして取り付けられたものであってもよい。この場合、旋回体120の旋回中心は作業機130の動作平面上に位置しない。
アーム132は、ブーム131とバケット133とを連結する。アーム132の基端部は、ブーム131の先端部にアームピンを介して回転可能に取り付けられる。
バケット133は、アーム132の先端部にピンを介して回転可能に取り付けられる。バケット133は、掘削した土砂を収容するための容器として機能する。
The base end of the boom 131 is rotatably attached to the revolving body 120 via a boom pin. In the work machine 100 shown in Fig. 1, the boom 131 is provided at the center of the front of the revolving body 120, but the present invention is not limited to this and the boom 131 may be attached offset in the left-right direction. In this case, the center of rotation of the revolving body 120 is not located on the operating plane of the work implement 130.
The arm 132 connects the boom 131 and the bucket 133. A base end of the arm 132 is rotatably attached to a tip end of the boom 131 via an arm pin.
The bucket 133 is rotatably attached via a pin to the tip of the arm 132. The bucket 133 functions as a container for storing excavated soil and sand.
《トレーニングシミュレータ30の構成》
図2は、第1の実施形態に係るトレーニングシミュレータ30が備える演算装置31のソフトウェア構成を示すブロック図である。
トレーニングシミュレータ30が備える演算装置31は、入力部311、取得部312、再現部313、シミュレータ314、レンダリング部315、表示制御部316、生成部317、評価部318、送信部319、設定記憶部320、コメント部321、認証部322を備える。
Configuration of training simulator 30
FIG. 2 is a block diagram showing the software configuration of the arithmetic device 31 included in the training simulator 30 according to the first embodiment.
The calculation device 31 provided in the training simulator 30 includes an input unit 311, an acquisition unit 312, a reproduction unit 313, a simulator 314, a rendering unit 315, a display control unit 316, a generation unit 317, an evaluation unit 318, a transmission unit 319, a setting memory unit 320, a comment unit 321, and an authentication unit 322.
入力部311は、操作装置33の操作データ、ヘッドマウントディスプレイ35のIMUが計測する姿勢データ、およびヘッドマウントディスプレイ35のアイトラッカが計測する視線データを取得する。視線データは、ヘッドマウントディスプレイ35の表示面を基準とする方向によって表される。なお、姿勢データと視線データとを組み合わせることで、絶対的な視線方向を特定することができる。以下、アイトラッカによって計測される視線データを一次視線データとよび、姿勢データと視線データとから特定された絶対的な視線方向を示す視線データを二次視線データとよぶ。
The input unit 311 acquires operation data from the operating device 33, posture data measured by the IMU of the head mounted display 35, and gaze data measured by the eye tracker of the head mounted display 35. The gaze data is represented by a direction based on the display surface of the head mounted display 35. It should be noted that the absolute gaze direction can be determined by combining the posture data and the gaze data. Hereinafter, the gaze data measured by the eye tracker is referred to as primary gaze data, and the gaze data indicating the absolute gaze direction determined from the posture data and gaze data is referred to as secondary gaze data.
取得部312は、データサーバ10から挙動記録データ(模範データおよびワークデータ)を取得する。
再現部313は、取得部312が取得した挙動記録データに基づいて作業機械100の挙動を再現する。以下、再現部313によって仮想空間Vに再現される作業機械100をゴーストマシン100Gと呼ぶ。再現部313は、挙動記録データに含まれる作業機130の関節角度および旋回体120の旋回角度の時系列に従ってゴーストマシン100Gを配置することで、作業機械100の挙動を再現する。なお、他の実施形態に係る再現部313は、例えば、挙動記録データに含まれる操作レバーの動きの時系列データを基に作業機械100の挙動をシミュレートし、ゴーストマシン100Gを配置してもよい。
The acquisition unit 312 acquires behavior record data (model data and work data) from the data server 10 .
The reproduction unit 313 reproduces the behavior of the work machine 100 based on the behavior record data acquired by the acquisition unit 312. Hereinafter, the work machine 100 reproduced in the virtual space V by the reproduction unit 313 will be referred to as a ghost machine 100G. The reproduction unit 313 reproduces the behavior of the work machine 100 by arranging the ghost machine 100G in accordance with the time series of the joint angles of the work implement 130 and the swing angle of the swing body 120 included in the behavior record data. Note that the reproduction unit 313 according to other embodiments may, for example, simulate the behavior of the work machine 100 based on time series data of the movement of the operation lever included in the behavior record data, and arrange the ghost machine 100G.
シミュレータ314は、入力部311に入力された操作データに基づいて、作業機械100の挙動をシミュレートする。以下、シミュレータ314によって模擬される作業機械100をアバターマシン100Aと呼ぶ。シミュレータ314は、操作データが示す操作量に従って旋回体120および作業機130の角速度を計算することで、アバターマシン100Aの挙動を模擬する。
The simulator 314 simulates the behavior of the work machine 100 based on the operation data input to the input unit 311. Hereinafter, the work machine 100 simulated by the simulator 314 is referred to as the avatar machine 100A. The simulator 314 simulates the behavior of the avatar machine 100A by calculating the angular velocities of the revolving body 120 and the work machine 130 according to the operation amount indicated by the operation data.
レンダリング部315は、ゴーストマシン100Gおよびアバターマシン100Aを描画し、画像データを生成する。仮想空間におけるレンダリングカメラは、アバターマシン100Aの運転室121内に位置する。レンダリングカメラは、アバターマシン100Aの前方を基準に、入力部311に入力された姿勢データが示すヘッドマウントディスプレイ35の正面方向に向けられる。なお、レンダリング部315によるレンダリングは所定のフレームレートごとに行われる。そのため、レンダリング部315が生成する画像データは動画像のフレーム画像として扱われる。
The rendering unit 315 renders the ghost machine 100G and the avatar machine 100A, and generates image data. The rendering camera in the virtual space is located in the driver's cab 121 of the avatar machine 100A. The rendering camera is directed toward the front of the head-mounted display 35 indicated by the posture data input to the input unit 311, based on the front of the avatar machine 100A. Rendering by the rendering unit 315 is performed at a predetermined frame rate. Therefore, the image data generated by the rendering unit 315 is treated as frame images of a moving image.
表示制御部316は、レンダリング部315によって描画された画像データをヘッドマウントディスプレイ35に出力する。
The display control unit 316 outputs the image data rendered by the rendering unit 315 to the head-mounted display 35.
生成部317は、入力部311に入力された操作データ、姿勢データおよび一次視線データ、並びにシミュレータ314によって模擬されたアバターマシン100Aの姿勢に基づいて、挙動記録データを生成する。具体的には、生成部317は、シミュレータ314によって模擬されたアバターマシン100Aの姿勢に基づいて、仮想空間におけるアバターマシン100Aの走行体110、旋回体120、ブーム131、アーム132およびバケット133の位置および姿勢を得る。各位置および姿勢は、仮想空間を定義する三次元直行座標系である仮想空間座標系で表される。生成部317は、仮想空間における走行体110、旋回体120、ブーム131、アーム132およびバケット133の位置および姿勢、並びに姿勢データおよび一次視線データに基づいて、仮想空間座標系における視線の方向を示す二次視線データを生成する。
The generation unit 317 generates behavior record data based on the operation data, posture data, and primary gaze data input to the input unit 311, and the posture of the avatar machine 100A simulated by the simulator 314. Specifically, the generation unit 317 obtains the positions and postures of the running body 110, the revolving body 120, the boom 131, the arm 132, and the bucket 133 of the avatar machine 100A in the virtual space based on the posture of the avatar machine 100A simulated by the simulator 314. Each position and posture is represented in a virtual space coordinate system, which is a three-dimensional Cartesian coordinate system that defines the virtual space. The generation unit 317 generates secondary gaze data indicating the direction of the gaze in the virtual space coordinate system based on the positions and postures of the running body 110, the revolving body 120, the boom 131, the arm 132, and the bucket 133 in the virtual space, as well as the posture data and the primary gaze data.
評価部318は、取得部312が取得した模範データと生成部317が生成したワークデータとの違いに基づいて、トレーニーによる操作を評価する。例えば、評価部318は、模範データとワークデータとが示す仮想空間における旋回体120の位置および姿勢、並びに姿勢データおよび二次視線データの距離を算出する。評価部318は、例えば走行体110、旋回体120、ブーム131、アーム132およびバケット133の位置および姿勢の時系列、姿勢データの時系列、並びに二次視線データの時系列のそれぞれについて、模範データとワークデータとの距離を求め、距離の加重和を評価値として産出する。この場合、評価値はゼロに近いほど評価が高いことを示す。時系列の距離は、DTW法を用いて計算されてよい。
The evaluation unit 318 evaluates the operation by the trainee based on the difference between the model data acquired by the acquisition unit 312 and the work data generated by the generation unit 317. For example, the evaluation unit 318 calculates the position and attitude of the revolving unit 120 in the virtual space indicated by the model data and the work data, as well as the distance between the attitude data and the secondary gaze data. The evaluation unit 318 calculates the distance between the model data and the work data for each of the time series of the positions and attitudes of the traveling unit 110, the revolving unit 120, the boom 131, the arm 132, and the bucket 133, the time series of the attitude data, and the time series of the secondary gaze data, and produces a weighted sum of the distances as an evaluation value. In this case, the closer the evaluation value is to zero, the higher the evaluation. The distance in the time series may be calculated using the DTW method.
送信部319は、生成部317が生成した挙動記録データをデータサーバ10に送信する。
The transmission unit 319 transmits the behavior record data generated by the generation unit 317 to the data server 10.
設定記憶部320は、トレーニングシミュレータ30の設定データを記憶する。設定データは、ゴーストマシン100Gの再生速度、ゴーストマシン100Gの表示の有無、ゴーストマシン100Gの作業具の刃先の軌跡の表示の有無、サイドビューの表示の有無、トレーナーのレバー操作の表示の有無、トレーナーの視線の表示の有無を格納する。設定データはトレーニーの操作によって更新できる。サイドビューは、仮想空間をアバターマシン100Aの側方から表示する画像である。サイドビューは、運転室内に描画される。
The setting storage unit 320 stores the setting data of the training simulator 30. The setting data stores the playback speed of the ghost machine 100G, whether or not to display the ghost machine 100G, whether or not to display the trajectory of the cutting edge of the tool of the ghost machine 100G, whether or not to display a side view, whether or not to display the trainer's lever operation, and whether or not to display the trainer's line of sight. The setting data can be updated by the trainee's operation. The side view is an image that displays the virtual space from the side of the avatar machine 100A. The side view is drawn in the driver's cab.
コメント部321は、ワークデータへのコメントの入力を受け付ける。コメントには再生タイミングを関連付けることができる。これにより、コメント部321は、ワークデータを再生したときに、所定の再生タイミングにおいてコメントが表示されるように設定することができる。
The comment section 321 accepts input of comments for the work data. Comments can be associated with playback timing. This allows the comment section 321 to be set so that the comment is displayed at a specified playback timing when the work data is played back.
認証部322は、データサーバ10が記憶する認証情報に基づいてトレーニングシミュレータ30の操作者の認証を行う。
The authentication unit 322 authenticates the operator of the training simulator 30 based on the authentication information stored in the data server 10.
《トレーニングシステム1の処理》
トレーニングシミュレータ30が起動すると、認証部322はヘッドマウントディスプレイ35にログイン画面を表示させる。ログイン画面には、例えばユーザIDおよび認証情報の入力フォームが表示される。操作者がログイン画面にユーザIDおよび認証情報の値を入力すると、認証部322はデータサーバ10のユーザテーブルT3から入力されたユーザIDに関連付けられた認証情報を取得し、認証情報の照合を行う。
<<Processing of Training System 1>>
When the training simulator 30 is started, the authentication unit 322 displays a login screen on the head mounted display 35. The login screen displays, for example, an input form for a user ID and authentication information. When the operator inputs the user ID and the value of the authentication information on the login screen, the authentication unit 322 obtains the authentication information associated with the input user ID from the user table T3 of the data server 10, and verifies the authentication information.
認証部322が照合に成功すると、表示制御部316はヘッドマウントディスプレイ35にメニュー画面を表示させる。
操作者のユーザ区分がトレーナーである場合、メニュー画面には、模範データの作成およびワークデータの評価のいずれかを選択させるためのトレーナーメニューが表示される。
操作者のユーザ区分がトレーニーである場合、メニュー画面には、トレーニングの実施、評価結果の閲覧、および設定の変更のいずれかを選択させるためのトレーニーメニューが表示される。
If the authentication unit 322 succeeds in the matching, the display control unit 316 causes the head mounted display 35 to display a menu screen.
When the user category of the operator is a trainer, a trainer menu is displayed on the menu screen for allowing the operator to select either the creation of model data or the evaluation of work data.
If the user category of the operator is a trainee, a trainee menu is displayed on the menu screen for allowing the operator to select from among carrying out training, viewing evaluation results, and changing settings.
《模範データの生成》
図3は、第1の実施形態に係る模範データの作成方法を示すフローチャートである。
トレーナーがトレーニングシミュレータ30にログインし、メニュー画面にて模範データの作成を選択すると、シミュレータ314は、仮想空間に初期姿勢のアバターマシン100Aと、フィールドとを配置する(ステップS101)。
<<Generation of model data>>
FIG. 3 is a flowchart showing a method for creating model data according to the first embodiment.
When the trainer logs in to the training simulator 30 and selects creation of model data on the menu screen, the simulator 314 places the avatar machine 100A in an initial posture and a field in the virtual space (step S101).
入力部311は、操作装置33の操作データ、ヘッドマウントディスプレイ35のIMUが計測する姿勢データ、およびヘッドマウントディスプレイ35のアイトラッカが計測する一次視線データを取得する(ステップS102)。
The input unit 311 acquires operation data from the operating device 33, posture data measured by the IMU of the head-mounted display 35, and primary gaze data measured by the eye tracker of the head-mounted display 35 (step S102).
シミュレータ314は、ステップS102で入力された操作データに基づいて、所定のフレーム時間後のアバターマシン100Aの挙動をシミュレートする(ステップS103)。このとき、シミュレータ314は、走行体110、旋回体120、ブーム131、アーム132およびバケット133の位置および姿勢を計算する。
Based on the operation data input in step S102, the simulator 314 simulates the behavior of the avatar machine 100A after a predetermined frame time (step S103). At this time, the simulator 314 calculates the positions and attitudes of the running body 110, the rotating body 120, the boom 131, the arm 132, and the bucket 133.
シミュレータ314は、旋回体120の位置および姿勢、並びにステップS102で入力された姿勢データに基づいて、仮想空間におけるレンダリングカメラの位置および姿勢を決定する(ステップS104)。レンダリング部315は、ステップS104で求めたレンダリングカメラからアバターマシン100Aが配置された仮想空間を描画する(ステップS105)。表示制御部316は、ステップS105で描画された画像データをヘッドマウントディスプレイ35に出力する(ステップS106)。
The simulator 314 determines the position and orientation of the rendering camera in the virtual space based on the position and orientation of the rotating body 120 and the orientation data input in step S102 (step S104). The rendering unit 315 renders the virtual space in which the avatar machine 100A is placed from the rendering camera determined in step S104 (step S105). The display control unit 316 outputs the image data rendered in step S105 to the head-mounted display 35 (step S106).
生成部317は、ステップS104で計算されたレンダリングカメラの位置および姿勢、並びにステップS102で取得された一次視線データに基づいて、仮想空間におけるトレーナーの視線の向きを示す二次視線データを生成する(ステップS107)。生成部317は、ステップS102で取得された操作データ、ステップS104で計算したアバターマシン100Aの姿勢、およびステップS107で生成された二次視線データに基づいて、1フレーム分の挙動記録データを生成する(ステップS108)。
The generation unit 317 generates secondary gaze data indicating the direction of the trainer's gaze in the virtual space based on the position and orientation of the rendering camera calculated in step S104 and the primary gaze data acquired in step S102 (step S107). The generation unit 317 generates one frame of behavior record data based on the operation data acquired in step S102, the orientation of the avatar machine 100A calculated in step S104, and the secondary gaze data generated in step S107 (step S108).
生成部317は、トレーナーによる操作が終了したか否かを判定する(ステップS109)。トレーナーは、操作を終了すると判断すると、画面上の終了ボタンへ視線を移すなどトレーニングシミュレータ30に所定の操作を行うことで、操作終了を指示する。トレーナーによる操作が終了していない場合(ステップS109:NO)、ステップS102に処理を戻し、次のフレームのシミュレーションを行う。
The generation unit 317 determines whether the trainer's operation has ended (step S109). When the trainer determines that the operation is to end, the trainer instructs the trainer to end the operation by performing a predetermined operation on the training simulator 30, such as moving his/her gaze to an end button on the screen. If the trainer's operation has not ended (step S109: NO), the process returns to step S102, and the next frame is simulated.
他方、トレーナーによる操作が終了した場合(ステップS109:YES)、生成部317は、生成された複数フレームの挙動記録データを模範データとしてまとめる(ステップS110)。また生成部317は、トレーナーから模範データについての概要データの入力を受け付ける(ステップS111)。送信部319は、模範データおよび概要データをデータサーバ10に送信する(ステップS112)。これにより、データサーバ10は、受信した模範データに模範IDを付し、模範ID、模範データおよび概要データを関連付けて模範データテーブルT1に記録する。
On the other hand, when the trainer's operation is completed (step S109: YES), the generation unit 317 compiles the generated behavior record data of multiple frames as model data (step S110). The generation unit 317 also accepts input of summary data for the model data from the trainer (step S111). The transmission unit 319 transmits the model data and summary data to the data server 10 (step S112). As a result, the data server 10 assigns a model ID to the received model data, and records the model ID, model data, and summary data in association with each other in the model data table T1.
《設定の変更》
トレーニーがトレーニングシミュレータ30にログインし、メニュー画面にて設定の変更を選択すると、表示制御部316は、設定記憶部320が記憶する設定データを読み出し、設定データの入力画面をヘッドマウントディスプレイ35に出力する。図4は、第1の実施形態に係る設定データの入力画面の一例を示す図である。入力画面には、ゴーストマシン100Gの再生速度、ゴーストマシン100Gの表示の有無、ゴーストマシン100Gの刃先の軌跡の表示の有無、サイドビューの表示の有無、トレーナーのレバー操作の表示の有無、トレーナーの視線の表示の有無の入力フォームと、決定ボタンとが含まれる。設定データはトレーニーの操作によって更新できる。入力フォームにおいてゴーストマシン100Gの表示がONである場合に、入力画面にはゴーストマシン100Gのバケット133のみを表示するか否かの入力フォームが表示される。トレーニーの操作により決定ボタンが操作されると、設定記憶部320は入力画面に入力された値に従って設定データを更新する。
Change settings
When the trainee logs in to the training simulator 30 and selects to change the settings on the menu screen, the display control unit 316 reads out the setting data stored in the setting storage unit 320 and outputs an input screen for the setting data to the head mounted display 35. FIG. 4 is a diagram showing an example of an input screen for the setting data according to the first embodiment. The input screen includes input forms for the playback speed of the ghost machine 100G, whether or not to display the ghost machine 100G, whether or not to display the trajectory of the blade tip of the ghost machine 100G, whether or not to display a side view, whether or not to display the trainer's lever operation, and whether or not to display the trainer's line of sight, and a decision button. The setting data can be updated by the trainee's operation. When the display of the ghost machine 100G is ON in the input form, an input form for whether or not to display only the bucket 133 of the ghost machine 100G is displayed on the input screen. When the decision button is operated by the trainee's operation, the setting storage unit 320 updates the setting data according to the value input to the input screen.
《トレーニングの実施》
図5は、第1の実施形態に係るトレーニングの実施方法を示すフローチャート(パート1)である。図6は、第1の実施形態に係るトレーニングの実施方法を示すフローチャート(パート2)である。図7は、第1の実施形態に係るトレーニングの実施方法を示すフローチャート(パート3)である。
トレーニーがトレーニングシミュレータ30にログインし、メニュー画面にてトレーニングの実施を選択すると、取得部312はデータサーバ10にアクセスし、模範データテーブルT1に記録された模範データのリストを取得する(ステップS201)。表示制御部316は、取得したリストから1つの模範データを選択するための選択画面をヘッドマウントディスプレイ35に出力する(ステップS202)。このとき、選択画面には、模範データの一覧と、当該模範データの内容を示す概要データとが表示される。トレーニーは概要データを読み、1つの模範データを選択する。
《Training Implementation》
Fig. 5 is a flowchart (part 1) showing a method for implementing training according to the first embodiment. Fig. 6 is a flowchart (part 2) showing a method for implementing training according to the first embodiment. Fig. 7 is a flowchart (part 3) showing a method for implementing training according to the first embodiment.
When the trainee logs in to the training simulator 30 and selects to carry out training on the menu screen, the acquisition unit 312 accesses the data server 10 and acquires a list of model data recorded in the model data table T1 (step S201). The display control unit 316 outputs a selection screen for selecting one model data from the acquired list to the head mounted display 35 (step S202). At this time, the selection screen displays a list of model data and summary data indicating the contents of the model data. The trainee reads the summary data and selects one model data.
取得部312は、データサーバ10にアクセスし、トレーニーによって選択された模範データを、模範データテーブルT1から取得する(ステップS203)。シミュレータ314は、仮想空間にアバターマシン100Aとゴーストマシン100Gとフィールドとを配置する(ステップS204)。アバターマシン100Aとゴーストマシン100Gは、同じ位置に重複して配置される。
The acquisition unit 312 accesses the data server 10 and acquires the model data selected by the trainee from the model data table T1 (step S203). The simulator 314 places the avatar machine 100A, the ghost machine 100G, and a field in the virtual space (step S204). The avatar machine 100A and the ghost machine 100G are placed overlappingly at the same position.
入力部311は、操作装置33の操作データ、ヘッドマウントディスプレイ35のIMUが計測する姿勢データ、およびヘッドマウントディスプレイ35のアイトラッカが計測する一次視線データを取得する(ステップS205)。
The input unit 311 acquires operation data from the operating device 33, posture data measured by the IMU of the head-mounted display 35, and primary gaze data measured by the eye tracker of the head-mounted display 35 (step S205).
シミュレータ314は、ステップS205で入力された操作データに基づいて、所定のフレーム時間後のアバターマシン100Aの挙動をシミュレートする(ステップS206)。このとき、シミュレータ314は、走行体110、旋回体120、ブーム131、アーム132およびバケット133の位置および姿勢を計算する。シミュレータ314は、旋回体120の位置および姿勢、並びにステップS205で入力された姿勢データに基づいて、仮想空間におけるレンダリングカメラの位置および姿勢を計算する(ステップS207)。
The simulator 314 simulates the behavior of the avatar machine 100A after a predetermined frame time based on the operation data input in step S205 (step S206). At this time, the simulator 314 calculates the positions and orientations of the running body 110, the rotating body 120, the boom 131, the arm 132, and the bucket 133. The simulator 314 calculates the position and orientation of the rendering camera in the virtual space based on the position and orientation of the rotating body 120 and the orientation data input in step S205 (step S207).
再現部313は、ステップS203で取得した模範データに含まれる作業機130の関節角度および旋回体120の旋回角度の時系列と、設定データが示すゴーストマシン100Gの再生速度とに基づいてゴーストマシン100Gの姿勢を計算することで、ゴーストマシン100Gの挙動を再現する(ステップS208)。
The reproduction unit 313 reproduces the behavior of the ghost machine 100G by calculating the posture of the ghost machine 100G based on the time series of the joint angles of the work machine 130 and the rotation angle of the rotating body 120 contained in the model data acquired in step S203 and the playback speed of the ghost machine 100G indicated by the setting data (step S208).
再現部313は、設定データにおいて、ゴーストマシン100Gを表示すべきと設定されているか否かを判定する(ステップS209)。ゴーストマシン100Gを表示すべきと設定されている場合(ステップS209:YES)、再現部313は、設定データにおいて、ゴーストマシン100Gのバケット133のみを表示すべきと設定されているか否かを判定する(ステップS210)。バケット133のみを表示すべきと設定されていない場合(ステップS210:NO)、再現部313は、ゴーストマシン100Gのすべての構成要素をレンダリング対象に決定する(ステップS211)。この場合、画像データは、図8のように描画される。図8は、第1の実施形態に係るゴーストマシン100Gの全体をレンダリングするときの画像データの一例である。
バケット133のみを表示すべきと設定されている場合(ステップS210:YES)、再現部313は、ゴーストマシン100Gのバケット133をレンダリング対象に決定し、ゴーストマシン100Gのバケット133以外の構成要素をレンダリング対象から外す(ステップS212)。この場合、画像データは、図9のように描画される。図9は、第1の実施形態に係るゴーストマシン100Gのバケット133のみをレンダリングするときの画像データの一例である。
ゴーストマシン100Gを表示すべきと設定されていない場合(ステップS209:NO)、再現部313は、ゴーストマシン100Gをレンダリング対象から外す(ステップS213)。
The reproducing unit 313 judges whether or not the setting data indicates that the ghost machine 100G should be displayed (step S209). If the setting data indicates that the ghost machine 100G should be displayed (step S209: YES), the reproducing unit 313 judges whether or not the setting data indicates that only the bucket 133 of the ghost machine 100G should be displayed (step S210). If the setting data indicates that only the bucket 133 should be displayed (step S210: NO), the reproducing unit 313 determines that all the components of the ghost machine 100G are to be rendered (step S211). In this case, the image data is drawn as shown in FIG. 8. FIG. 8 is an example of image data when rendering the entire ghost machine 100G according to the first embodiment.
If it is set that only the bucket 133 should be displayed (step S210: YES), the reproduction unit 313 determines the bucket 133 of the ghost machine 100G as the rendering target, and excludes components other than the bucket 133 of the ghost machine 100G from the rendering target (step S212). In this case, the image data is drawn as shown in Fig. 9. Fig. 9 is an example of image data when rendering only the bucket 133 of the ghost machine 100G according to the first embodiment.
If it is not set that the ghost machine 100G should be displayed (step S209: NO), the reproducing unit 313 excludes the ghost machine 100G from the rendering target (step S213).
次に、再現部313は、設定データにおいて、ゴーストマシン100Gの刃先の軌跡を表示すべきと設定されているか否かを判定する(ステップS214)。ゴーストマシン100Gの刃先の軌跡を表示すべきと設定されている場合(ステップS214:YES)、再現部313は、刃先の軌跡を示す刃先オブジェクトObj1を生成し、ステップS208で計算されたゴーストマシン100Gのバケット133の刃先の両端および中心にそれぞれ配置する(ステップS215)。刃先オブジェクトObj1は、例えば小さな球体であってよい。刃先オブジェクトObj1は、例えば刃先上の一つまたは複数の点それぞれに対応してもよく、各刃先オブジェクトObj1は、それぞれの点の軌跡を表す。再現部313は、過去に生成した刃先オブジェクトObj1の透明度を所定の値だけ高くする(ステップS216)。これにより、複数の刃先オブジェクトObj1は直近の所定時間におけるバケット133の刃先の位置の軌跡を表し、過去の位置ほど透明度が高く表示される。なお、他の実施形態において再現部313は刃先オブジェクトObj1の透明度に代えてサイズを変化させてもよい。透明度が所定の閾値を上回る刃先オブジェクトObj1は仮想空間から除去してもよい。例えば、透明度が所定の閾値を上回る刃先オブジェクトObj1は表示しなくてもよい。この場合、画像データは、図10のように描画される。図10は、第1の実施形態に係るゴーストマシン100Gのバケット133の刃先の軌跡を表示するときの画像データの一例である。複数の刃先オブジェクトObj1は、刃先の軌跡を表す曲線のように描画される。
ゴーストマシン100Gの刃先の軌跡を表示すべきと設定されていない場合(ステップS214:NO)、再現部313は仮想空間に刃先オブジェクトObj1を配置しない。刃先オブジェクトObj1は、刃先の左端、中央、右端のそれぞれで色が異なっていてもよい。刃先オブジェクトObj1は、例えば、刃先の左端、中央、右端の何れかが描画されてもよい。また刃先オブジェクトObj1は、刃先の左端から右端に亘る線分が通る帯状の軌跡として表されてもよい。
Next, the reproduction unit 313 judges whether or not the setting data indicates that the trajectory of the blade tip of the ghost machine 100G should be displayed (step S214). If the setting indicates that the trajectory of the blade tip of the ghost machine 100G should be displayed (step S214: YES), the reproduction unit 313 generates a blade tip object Obj1 indicating the trajectory of the blade tip, and places the blade tip object Obj1 at both ends and the center of the blade tip of the bucket 133 of the ghost machine 100G calculated in step S208 (step S215). The blade tip object Obj1 may be, for example, a small sphere. The blade tip object Obj1 may correspond to one or more points on the blade tip, for example, and each blade tip object Obj1 represents the trajectory of each point. The reproduction unit 313 increases the transparency of the blade tip object Obj1 generated in the past by a predetermined value (step S216). As a result, the multiple cutting edge objects Obj1 represent the trajectory of the cutting edge position of the bucket 133 at the most recent predetermined time, and the more recent the position, the more transparent the cutting edge object Obj1 is displayed. In another embodiment, the reproduction unit 313 may change the size of the cutting edge object Obj1 instead of the transparency. The cutting edge object Obj1 whose transparency exceeds a predetermined threshold may be removed from the virtual space. For example, the cutting edge object Obj1 whose transparency exceeds a predetermined threshold may not be displayed. In this case, the image data is rendered as shown in FIG. 10. FIG. 10 is an example of image data when displaying the trajectory of the cutting edge of the bucket 133 of the ghost machine 100G according to the first embodiment. The multiple cutting edge objects Obj1 are rendered as curves representing the trajectory of the cutting edge.
If the setting is not made to display the trajectory of the blade tip of the ghost machine 100G (step S214: NO), the reproduction unit 313 does not place the blade tip object Obj1 in the virtual space. The blade tip object Obj1 may have different colors at the left end, center, and right end of the blade tip. For example, the blade tip object Obj1 may be drawn at the left end, center, or right end of the blade tip. The blade tip object Obj1 may also be represented as a band-like trajectory along which a line segment runs from the left end to the right end of the blade tip.
次に、再現部313は、設定データにおいて、トレーナーのレバー操作を表示すべきと設定されているか否かを判定する(ステップS217)。レバー操作を表示すべきと設定されている場合(ステップS217:YES)、再現部313は、ステップS207で決定したレンダリングカメラの位置から、レンダリングカメラが向く方向に所定距離だけ離れた位置にレバーオブジェクトObj2を配置する(ステップS218)。
Next, the reproduction unit 313 determines whether or not the setting data indicates that the trainer's lever operation should be displayed (step S217). If the setting indicates that the lever operation should be displayed (step S217: YES), the reproduction unit 313 places the lever object Obj2 at a position a predetermined distance away from the rendering camera position determined in step S207 in the direction the rendering camera faces (step S218).
図11は、第1の実施形態に係るトレーナーのレバー操作を表示するときの画像データの一例である。レバーオブジェクトObj2は、左右の操作レバーを表す2つの基準円Obj21と、トレーニーによる左右の操作レバーの入力位置を表す2つの操作点Obj22と、トレーナーによるレバーの入力位置を示す複数のプロットObj23とを含む。2つの基準円Obj21は左右方向に所定の間隔を開けて配置される。レバーオブジェクトObj2は、基準円がレンダリングカメラに対向するように配置される。
Figure 11 is an example of image data when displaying the trainer's lever operation according to the first embodiment. The lever object Obj2 includes two reference circles Obj21 representing the left and right operating levers, two operation points Obj22 representing the input positions of the left and right operating levers by the trainee, and multiple plots Obj23 indicating the input positions of the levers by the trainer. The two reference circles Obj21 are arranged with a predetermined distance between them in the left and right direction. The lever object Obj2 is arranged so that the reference circle faces the rendering camera.
再現部313は、模範データに含まれる操作データに基づいて、基準円Obj21の中心から、ステップS208で再現された時点の操作量だけ離れた位置にプロットObj23を配置し、基準円Obj21の中心からステップS205で取得した操作データが示す操作量だけ離れた位置に操作点Obj22を移動させる(ステップS219)。つまり、レバーオブジェクトObj2は、操作レバーの操作平面の上方から操作レバーを平面視したときの、操作レバーの位置の変化を表している。再現部313は、過去に配置したプロットObj23のサイズを所定の値だけ小さくする(ステップS220)。これにより、複数のプロットObj23は直近の所定時間におけるレバー操作の軌跡を表す。なお、他の実施形態において再現部313はプロットObj23のサイズに代えて透明度を変化させてもよい。サイズが所定の閾値を下回るプロットObj23は仮想空間から除去してもよい。
レバー操作を表示すべきと設定されていない場合(ステップS217:NO)、再現部313はレバーオブジェクトObj2を配置しない。
Based on the operation data included in the model data, the reproduction unit 313 places the plot Obj23 at a position away from the center of the reference circle Obj21 by the operation amount at the time of reproduction in step S208, and moves the operation point Obj22 to a position away from the center of the reference circle Obj21 by the operation amount indicated by the operation data acquired in step S205 (step S219). In other words, the lever object Obj2 represents the change in the position of the operation lever when the operation lever is viewed in plan from above the operation plane of the operation lever. The reproduction unit 313 reduces the size of the plot Obj23 placed in the past by a predetermined value (step S220). As a result, the multiple plots Obj23 represent the trajectory of the lever operation at the most recent predetermined time. Note that in another embodiment, the reproduction unit 313 may change the transparency instead of the size of the plot Obj23. The plot Obj23 whose size is below a predetermined threshold may be removed from the virtual space.
If it is not set that the lever operation should be displayed (step S217: NO), the reproducing unit 313 does not place the lever object Obj2.
次に、再現部313は、設定データにおいて、トレーナーの視線を表示すべきと設定されているか否かを判定する(ステップS221)。視線を表示すべきと設定されている場合(ステップS221:YES)、再現部313は視線オブジェクトObj3を仮想空間に配置する(ステップS222)。視線オブジェクトObj3は、ステップS207で決定したレンダリングカメラの位置から、二次視線データが示す方向に所定距離だけ離れた位置に配置される。視線オブジェクトObj3は例えば小さな球体であってよい。再現部313は、過去に配置した視線オブジェクトObj3の透明度を所定の値だけ高くする(ステップS223)。これにより、複数の視線オブジェクトObj3は直近の所定時間におけるトレーナーの視線の軌跡を表す。なお、他の実施形態において再現部313はプロットObj23の透明度に代えてサイズや色相を変化させてもよい。透明度が所定の閾値を上回る視線オブジェクトObj3は仮想空間から除去してもよい。再現部313は、例えば、視線オブジェクトObj3の透明度が所定の閾値より上回った場合、当該視線オブジェクトObj3を表示しなくてもよい。図12は、第1の実施形態に係るトレーナーの視線を表示するときの画像データの一例である。
視線を表示すべきと設定されていない場合(ステップS221:NO)、再現部313は仮想空間に視線オブジェクトObj3を配置しない。
Next, the reproduction unit 313 judges whether or not the setting data indicates that the trainer's line of sight should be displayed (step S221). If the setting indicates that the line of sight should be displayed (step S221: YES), the reproduction unit 313 places the line of sight object Obj3 in the virtual space (step S222). The line of sight object Obj3 is placed at a position a predetermined distance away from the position of the rendering camera determined in step S207 in the direction indicated by the secondary line of sight data. The line of sight object Obj3 may be, for example, a small sphere. The reproduction unit 313 increases the transparency of the line of sight object Obj3 placed in the past by a predetermined value (step S223). As a result, the multiple line of sight objects Obj3 represent the trajectory of the trainer's line of sight at the most recent predetermined time. In another embodiment, the reproduction unit 313 may change the size or hue of the plot Obj23 instead of the transparency. Line of sight objects Obj3 whose transparency exceeds a predetermined threshold value may be removed from the virtual space. For example, when the transparency of the gaze object Obj3 exceeds a predetermined threshold, the reproduction unit 313 may not display the gaze object Obj3. Fig. 12 is an example of image data when displaying the gaze of the trainer according to the first embodiment.
If it is not set that the line of sight should be displayed (step S221: NO), the reproduction unit 313 does not place the line of sight object Obj3 in the virtual space.
レンダリング部315は、設定データにおいて、サイドビューを表示すべきと設定されているか否かを判定する(ステップS224)。サイドビューを表示すべきと設定されている場合(ステップS224:YES)、レンダリング部315は、レンダリングカメラを、アバターマシン100Aの側方に、アバターマシン100Aの方向を向くように配置する(ステップS225)。レンダリング部315は、アバターマシン100Aおよびゴーストマシン100Gが配置された仮想空間を描画することで、サイドビュー画像Obj4を生成する(ステップS226)。シミュレータ314は、サイドビュー画像Obj4を運転室121内部の所定の位置に配置する(ステップS227)。図13は、第1の実施形態に係るサイドビューを表示するときの画像データの一例である。
The rendering unit 315 determines whether or not the setting data indicates that a side view should be displayed (step S224). If the setting indicates that a side view should be displayed (step S224: YES), the rendering unit 315 positions the rendering camera to the side of the avatar machine 100A so that the camera faces the avatar machine 100A (step S225). The rendering unit 315 generates a side view image Obj4 by drawing a virtual space in which the avatar machine 100A and the ghost machine 100G are positioned (step S226). The simulator 314 positions the side view image Obj4 at a predetermined position inside the cab 121 (step S227). FIG. 13 is an example of image data when a side view according to the first embodiment is displayed.
次に、レンダリング部315は、ステップS207で求めた位置および姿勢のレンダリングカメラからアバターマシン100Aおよびゴーストマシン100Gが配置された仮想空間を描画する(ステップS228)。表示制御部316は、ステップS228で描画された画像データをヘッドマウントディスプレイ35に出力する(ステップS229)。レンダリング部315はフレーム時間ごとに画像データを生成するため、画像データは動画像のフレーム画像として扱われる。またレンダリング部315は、アバターマシン100Aおよびゴーストマシン100Gが配置された仮想空間を描画することで、アバターマシン100Aが写る第1動画像とゴーストマシン100Gが写る第2動画像とを同時に表示する動画像データを生成したといえる。また、レンダリング部315は、アバターマシン100Aが写る第1動画像およびゴーストマシン100Gが写る第2動画像を、同じ仮想空間に重ねて表示する動画像データを生成したといえる。
Next, the rendering unit 315 renders a virtual space in which the avatar machine 100A and the ghost machine 100G are placed from the rendering camera with the position and orientation determined in step S207 (step S228). The display control unit 316 outputs the image data rendered in step S228 to the head-mounted display 35 (step S229). Since the rendering unit 315 generates image data for each frame time, the image data is treated as a frame image of a moving image. Moreover, by rendering the virtual space in which the avatar machine 100A and the ghost machine 100G are placed, the rendering unit 315 can be said to have generated moving image data that simultaneously displays a first moving image in which the avatar machine 100A appears and a second moving image in which the ghost machine 100G appears. Moreover, the rendering unit 315 can be said to have generated moving image data that displays the first moving image in which the avatar machine 100A appears and the second moving image in which the ghost machine 100G appears in the same virtual space in an overlapping manner.
生成部317は、ステップS207で計算されたレンダリングカメラの位置および姿勢、並びにステップS205で取得された一次視線データに基づいて、仮想空間におけるトレーニーの視線の向きを示す二次視線データを生成する(ステップS230)。生成部317は、ステップS205で取得された操作データ、ステップS206で計算したアバターマシン100Aの姿勢、およびステップS230で生成された二次視線データに基づいて、1フレーム分の挙動記録データを生成する(ステップS231)。
The generation unit 317 generates secondary gaze data indicating the direction of the trainee's gaze in the virtual space based on the position and orientation of the rendering camera calculated in step S207 and the primary gaze data acquired in step S205 (step S230). The generation unit 317 generates one frame of behavior record data based on the operation data acquired in step S205, the orientation of the avatar machine 100A calculated in step S206, and the secondary gaze data generated in step S230 (step S231).
生成部317は、トレーニングが終了したか否かを判定する(ステップS232)。例えば、生成部317は、模範データの再生位置が時系列の末尾まで到達してから一定時間が経過したときに、トレーニングが終了したと判定してよい。トレーニングが終了していない場合(ステップS232:NO)、ステップS205に処理を戻し、次のフレームのシミュレーションを行う。
The generation unit 317 determines whether the training has ended (step S232). For example, the generation unit 317 may determine that the training has ended when a certain amount of time has elapsed since the playback position of the model data reached the end of the time series. If the training has not ended (step S232: NO), the process returns to step S205, and the next frame is simulated.
他方、トレーニングが終了した場合(ステップS232:YES)、生成部317は、生成された複数フレームの挙動記録データをワークデータとしてまとめる(ステップS233)。評価部318は、ステップS233で生成したワークデータとステップS203で取得した模範データとの違いに基づいて、トレーニーによる操作を評価する評価値を算出する(ステップS234)。送信部319は、ステップS233で生成したワークデータ、ステップS203で取得した模範データの模範ID、およびステップS234で計算した評価値をデータサーバ10に送信する(ステップS235)。これにより、データサーバ10は、受信したワークデータにワークIDを付し、ワークID、ワークデータ、模範IDおよび評価値を関連付けてワークデータテーブルT2に記録する。
また、表示制御部316は、ステップS234で算出した評価値を表示する評価画面をヘッドマウントディスプレイ35に出力する(ステップS236)。評価画面には、旋回操作、作業機130操作、視線のそれぞれについて評価値が表示されてよい。
On the other hand, when the training is completed (step S232: YES), the generating unit 317 compiles the generated behavior record data of the multiple frames as work data (step S233). The evaluating unit 318 calculates an evaluation value for evaluating the operation by the trainee based on the difference between the work data generated in step S233 and the model data acquired in step S203 (step S234). The transmitting unit 319 transmits the work data generated in step S233, the model ID of the model data acquired in step S203, and the evaluation value calculated in step S234 to the data server 10 (step S235). As a result, the data server 10 assigns a work ID to the received work data, and records the work ID, work data, model ID, and evaluation value in the work data table T2 in association with each other.
Furthermore, the display control unit 316 outputs an evaluation screen displaying the evaluation values calculated in step S234 to the head mounted display 35 (step S236). The evaluation screen may display evaluation values for each of the turning operation, the operation of the work machine 130, and the line of sight.
評価部318は、ワークデータが示すトレーニーの操作によるトレーニングの開始から終了までの刃先の移動軌跡と、模範データが示すトレーナーの操作によるトレーニングの開始から終了までの刃先の移動軌跡とを三次元空間に配置した三次元モデルである軌跡モデルを生成する。図14は、第1の実施形態に係る軌跡モデルの例を示す図である。表示制御部316は、評価部318が生成した軌跡モデルを、回転可能にヘッドマウントディスプレイ35に表示させて良い。これにより、表示制御部316は、トレーニーの操作による刃先の移動軌跡と、トレーナーの操作による刃先の移動軌跡とを同時に表示することができる。軌跡モデルの回転は、ヘッドマウントディスプレイ35の姿勢の変化によってなされてもよいし、操作装置33の操作によってなされてもよい。
The evaluation unit 318 generates a trajectory model, which is a three-dimensional model in which the movement trajectory of the blade tip from the start to the end of the training by the trainee's operation, which is indicated by the work data, and the movement trajectory of the blade tip from the start to the end of the training by the trainer's operation, which is indicated by the model data, are arranged in a three-dimensional space. FIG. 14 is a diagram showing an example of a trajectory model according to the first embodiment. The display control unit 316 may rotatably display the trajectory model generated by the evaluation unit 318 on the head-mounted display 35. This allows the display control unit 316 to simultaneously display the movement trajectory of the blade tip from the trainee's operation and the movement trajectory of the blade tip from the trainer's operation. The rotation of the trajectory model may be performed by changing the attitude of the head-mounted display 35, or may be performed by operating the operation device 33.
《ワークデータの評価》
図15は、第1の実施形態に係るトレーナーによるワークデータの評価方法を示すフローチャートである。
トレーナーがトレーニングシミュレータ30にログインし、メニュー画面にてワークデータの評価を選択すると、取得部312はデータサーバ10にアクセスし、ワークデータテーブルT2に記録されたワークデータのリストを取得する(ステップS301)。表示制御部316は、取得したリストから1つのワークデータを選択するための選択画面をヘッドマウントディスプレイ35に出力する(ステップS302)。トレーナーは1つのワークデータを選択する。
<Work data evaluation>
FIG. 15 is a flowchart showing a method for evaluating work data by a trainer according to the first embodiment.
When the trainer logs in to the training simulator 30 and selects to evaluate work data on the menu screen, the acquisition unit 312 accesses the data server 10 and acquires a list of work data recorded in the work data table T2 (step S301). The display control unit 316 outputs a selection screen for selecting one piece of work data from the acquired list to the head mounted display 35 (step S302). The trainer selects one piece of work data.
取得部312は、データサーバ10にアクセスし、トレーナーによって選択されたワークデータを、ワークデータテーブルT2から取得する(ステップS303)。再現部313は、仮想空間にゴーストマシン100Gとフィールドとを配置する(ステップS304)。
The acquisition unit 312 accesses the data server 10 and acquires the work data selected by the trainer from the work data table T2 (step S303). The reproduction unit 313 places the ghost machine 100G and the field in the virtual space (step S304).
再現部313は、ステップS303で取得したワークデータに含まれる作業機130の関節角度および旋回体120の旋回角度の時系列に基づいてゴーストマシン100Gの姿勢を計算することで、ゴーストマシン100Gの挙動を再現する(ステップS305)。再現部313は、ゴーストマシン100Gの旋回体120の位置および姿勢、並びにステップS305で入力された姿勢データに基づいて、仮想空間におけるレンダリングカメラの位置および姿勢を計算する(ステップS306)。
The reproduction unit 313 reproduces the behavior of the ghost machine 100G by calculating the attitude of the ghost machine 100G based on the time series of the joint angles of the work machine 130 and the rotation angle of the rotating body 120 included in the work data acquired in step S303 (step S305). The reproduction unit 313 calculates the position and attitude of the rendering camera in the virtual space based on the position and attitude of the rotating body 120 of the ghost machine 100G and the attitude data input in step S305 (step S306).
再現部313は、ステップS306で決定したレンダリングカメラの位置から、レンダリングカメラが向く方向に所定距離だけ離れた位置にレバーオブジェクトObj2を配置する(ステップS307)。これにより、トレーナーは、トレーニーのレバー操作を確認することができる。
再現部313は、視線オブジェクトObj3を仮想空間に配置する(ステップS308)。視線オブジェクトObj3は、ステップS306で決定したレンダリングカメラの位置から、二次視線データが示す方向に所定距離だけ離れた位置に配置される。
The reproduction unit 313 places the lever object Obj2 at a position a predetermined distance away from the rendering camera position determined in step S306 in the direction in which the rendering camera faces (step S307). This allows the trainer to check the lever operation of the trainee.
The reproduction unit 313 places the line-of-sight object Obj3 in the virtual space (step S308). The line-of-sight object Obj3 is placed at a position a predetermined distance away from the position of the rendering camera determined in step S306 in the direction indicated by the secondary line-of-sight data.
レンダリング部315は、ステップS306で求めた位置および姿勢のレンダリングカメラからゴーストマシン100Gが配置された仮想空間を描画する(ステップS309)。表示制御部316は、ステップS309で描画された画像データをヘッドマウントディスプレイ35に出力する(ステップS310)。
The rendering unit 315 renders the virtual space in which the ghost machine 100G is placed from the rendering camera with the position and orientation determined in step S306 (step S309). The display control unit 316 outputs the image data rendered in step S309 to the head-mounted display 35 (step S310).
コメント部321は、現在の再生タイミングにおいてトレーナーからコメントの入力があるか否かを判定する(ステップS311)。コメントの入力がある場合、入力されたコメントと、当該コメントの再生タイミングとを関連付けたコメントデータを生成する(ステップS312)。
The comment unit 321 determines whether or not a comment has been input from the trainer at the current playback timing (step S311). If a comment has been input, comment data is generated that associates the input comment with the playback timing of the comment (step S312).
再現部313は、ワークデータの再生が終了したか否かを判定する(ステップS313)。再生が終了していない場合(ステップS313:NO)、ステップS305に処理を戻し、次のフレームのシミュレーションを行う。
The reproduction unit 313 determines whether the playback of the work data has ended (step S313). If the playback has not ended (step S313: NO), the process returns to step S305 and the simulation of the next frame is performed.
他方、再生が終了した場合(ステップS313:YES)、送信部319は、ステップS303で取得したワークデータのワークIDおよびステップS312で生成したコメントデータをデータサーバ10に送信する(ステップS314)。これにより、データサーバ10は、ワークデータテーブルT2において受信したワークIDに関連付けられたデータ列に、受信したコメントデータを追加する。
On the other hand, if playback has ended (step S313: YES), the transmission unit 319 transmits the work ID of the work data acquired in step S303 and the comment data generated in step S312 to the data server 10 (step S314). As a result, the data server 10 adds the received comment data to the data string associated with the received work ID in the work data table T2.
《評価結果の閲覧》
図16は、第1の実施形態に係るトレーニーによる評価結果の閲覧方法を示すフローチャートである。
トレーニーがトレーニングシミュレータ30にログインし、メニュー画面にて評価結果の閲覧を選択すると、取得部312はデータサーバ10にアクセスし、ワークデータテーブルT2に記録されたワークデータのリストを取得する(ステップS401)。このとき取得するリストは、ログインしたトレーニーによって作成されたワークデータのリストであってよい。表示制御部316は、取得したリストから1つのワークデータを選択するための選択画面をヘッドマウントディスプレイ35に出力する(ステップS402)。トレーニーは、1つのワークデータを選択する。取得部312は、データサーバ10にアクセスし、トレーニーによって選択されたワークデータをワークデータテーブルT2から取得する(ステップS403)。再現部313は、仮想空間にゴーストマシン100Gとフィールドとを配置する(ステップS404)。
Viewing the evaluation results
FIG. 16 is a flowchart showing a method for a trainee to view an evaluation result according to the first embodiment.
When the trainee logs in to the training simulator 30 and selects to view the evaluation results on the menu screen, the acquisition unit 312 accesses the data server 10 and acquires a list of work data recorded in the work data table T2 (step S401). The list acquired at this time may be a list of work data created by the logged-in trainee. The display control unit 316 outputs a selection screen for selecting one work data from the acquired list to the head-mounted display 35 (step S402). The trainee selects one work data. The acquisition unit 312 accesses the data server 10 and acquires the work data selected by the trainee from the work data table T2 (step S403). The reproduction unit 313 places the ghost machine 100G and the field in the virtual space (step S404).
再現部313は、ステップS403で取得したワークデータに含まれる作業機130の関節角度および旋回体120の旋回角度の時系列に基づいてゴーストマシン100Gの姿勢を計算することで、ゴーストマシン100Gの挙動を再現する(ステップS405)。再現部313は、ゴーストマシン100Gの旋回体120の位置および姿勢、並びにステップS405で入力された姿勢データに基づいて、仮想空間におけるレンダリングカメラの位置および姿勢を決定する(ステップS406)。
The reproduction unit 313 reproduces the behavior of the ghost machine 100G by calculating the attitude of the ghost machine 100G based on the time series of the joint angles of the work machine 130 and the rotation angle of the rotating body 120 included in the work data acquired in step S403 (step S405). The reproduction unit 313 determines the position and attitude of the rendering camera in the virtual space based on the position and attitude of the rotating body 120 of the ghost machine 100G and the attitude data input in step S405 (step S406).
再現部313は、ステップS406で決定したレンダリングカメラの位置から、レンダリングカメラが向く方向に所定距離だけ離れた位置にレバーオブジェクトObj2を配置する(ステップS407)。再現部313は、視線オブジェクトObj3を仮想空間に配置する(ステップS408)。
The reproduction unit 313 places the lever object Obj2 at a position a predetermined distance away from the rendering camera position determined in step S406 in the direction in which the rendering camera faces (step S407). The reproduction unit 313 places the line of sight object Obj3 in the virtual space (step S408).
レンダリング部315は、ステップS406で求めた位置および姿勢のレンダリングカメラからゴーストマシン100Gが配置された仮想空間を描画する(ステップS409)。コメント部321は、ワークデータに含まれるコメントデータにおいて、現在の再生タイミングに関連付けられたコメントが存在するか否かを判定する(ステップS410)。現在の再生タイミングに関連付けられたコメントがある場合(ステップS410:YES)、当該コメントを描画された画像データに重畳させる(ステップS411)。表示制御部316は、ステップS409またはステップS411で描画された画像データをヘッドマウントディスプレイ35に出力する(ステップS412)。
The rendering unit 315 renders a virtual space in which the ghost machine 100G is placed from the rendering camera with the position and orientation determined in step S406 (step S409). The comment unit 321 determines whether or not a comment associated with the current playback timing exists in the comment data included in the work data (step S410). If a comment associated with the current playback timing exists (step S410: YES), the comment is superimposed on the rendered image data (step S411). The display control unit 316 outputs the image data rendered in step S409 or step S411 to the head-mounted display 35 (step S412).
再現部313は、ワークデータの再生が終了したか否かを判定する(ステップS413)。再生が終了していない場合(ステップS413:NO)、ステップS405に処理を戻し、次のフレームのシミュレーションを行う。他方、再生が終了した場合(ステップS413:YES)、トレーニングシミュレータ30は処理を終了する。
なお、トレーニングシステム1は、トレーナーによる評価が付与されていないワークデータについても、図16に示す手順で再生することができる。この場合、コメントがないため、ステップS411のコメントの重畳処理がすべてスキップされる。
The reproducing unit 313 judges whether the reproduction of the work data is completed (step S413). If the reproduction is not completed (step S413: NO), the process returns to step S405 and the simulation of the next frame is performed. On the other hand, if the reproduction is completed (step S413: YES), the training simulator 30 ends the process.
The training system 1 can also play back work data to which no evaluation has been given by a trainer, in the procedure shown in Fig. 16. In this case, since there are no comments, the comment superimposition process in step S411 is skipped entirely.
《作用・効果》
このように、第1の実施形態に係るトレーニングシステム1は、以下の処理を実行する。トレーニングシステム1は、第1操作者であるトレーニーによる第1操作データの入力を受け付ける。トレーニングシステム1は、第1操作データに従って第1作業機械であるアバターマシン100Aの姿勢の変化をシミュレートする。トレーニングシステム1は、過去に第2操作者であるトレーナーによって入力された第2操作データに基づいて生成された模範データに基づいて、第2作業機械であるゴーストマシン100Gの挙動を再現する。トレーニングシステム1は、アバターマシン100Aの姿勢の変化を表す第1動画像と、ゴーストマシン100Gの挙動を表す第2動画像とを同時に表示する。
これにより、トレーニングシステム1は、トレーニーが自らの操作と、トレーナーによる操作とを比較しながらトレーニングをすることができる。つまり、第1操作者と第2操作者は同一の操作者であってもよい。同一操作者が過去の操作データと現在の操作データを比較することで、操作の上達度合を確認し、または過去の操作を振り返ることができる。
<Action and Effects>
In this way, the training system 1 according to the first embodiment executes the following processing. The training system 1 accepts input of first operation data by a trainee who is a first operator. The training system 1 simulates a change in posture of the avatar machine 100A which is a first work machine according to the first operation data. The training system 1 reproduces the behavior of the ghost machine 100G which is a second work machine based on model data generated based on second operation data previously input by a trainer who is a second operator. The training system 1 simultaneously displays a first moving image showing a change in posture of the avatar machine 100A and a second moving image showing the behavior of the ghost machine 100G.
In this way, the training system 1 allows the trainee to train while comparing his/her own operation with the operation performed by the trainer. In other words, the first operator and the second operator may be the same operator. By comparing past operation data with current operation data, the same operator can check the degree of improvement in operation or look back on past operations.
第1の実施形態に係るトレーニングシステム1に係る模範データは、第2操作データに従ってシミュレートされた作業機械100の姿勢の時系列を含む。これにより、トレーニングシステム1はゴーストマシン100Gの挙動を再現するために、シミュレータ314によるシミュレーションを行う必要がない。つまりトレーニングシステム1は、単に時系列が示す姿勢に従ってゴーストマシン100Gの姿勢を変化させることでゴーストマシン100Gの挙動を再現することができる。なお、他の実施形態においては、模範データが作業機械100の姿勢の時系列を含まず、操作データの時系列によって表されてもよい。この場合、トレーニングシステム1は、操作データの時系列に従ってシミュレーションを行うことで、ゴーストマシン100Gの挙動を再現することができる。
The model data for the training system 1 according to the first embodiment includes a time series of the posture of the work machine 100 simulated according to the second operation data. This means that the training system 1 does not need to perform a simulation using the simulator 314 to reproduce the behavior of the ghost machine 100G. In other words, the training system 1 can reproduce the behavior of the ghost machine 100G by simply changing the posture of the ghost machine 100G according to the posture indicated by the time series. Note that in other embodiments, the model data may not include a time series of the posture of the work machine 100, and may be represented by a time series of operation data. In this case, the training system 1 can reproduce the behavior of the ghost machine 100G by performing a simulation according to the time series of the operation data.
第1の実施形態に係るトレーニングシステム1の模範データは、第2操作データの入力時におけるトレーナーの視線の時系列を含む。これにより、トレーニングシステム1は、作業機械100の操作方法のみならず、注目すべき点をトレーニーに提示することができる。例えば、注目すべき点とは、作業機械100を操作する場合に、注目すべき注視点である。
The model data of the training system 1 according to the first embodiment includes a time series of the trainer's gaze when the second operation data is input. This allows the training system 1 to present the trainee with not only the method of operating the work machine 100, but also points that require attention. For example, points that require attention are the gaze points that require attention when operating the work machine 100.
第1の実施形態に係るトレーニングシステム1は、ワークデータとトレーナーによるコメントデータとを関連付けて記録する。トレーニングシステム1は、ワークデータに基づいて作業機械100の姿勢の変化を再現した動画像と、ワークデータに関連付けられたコメントデータとを同時に表示する。これにより、トレーニーは、自身の操作に対する他者からの指摘を受けることができる。
特に、第1の実施形態に係るトレーニングシステム1は、動画像の再生タイミングがコメントデータに係る再生タイミングとなったときに、コメントデータを表示する。これにより、トレーニーは、作業機械100の一連の操作のうち、どの操作を注意すべきか認識することができる。
The training system 1 according to the first embodiment records work data and comment data from a trainer in association with each other. The training system 1 simultaneously displays a moving image that reproduces a change in the posture of the work machine 100 based on the work data, and the comment data associated with the work data. This allows the trainee to receive feedback from others on his or her operation.
In particular, the training system 1 according to the first embodiment displays the comment data when the playback timing of the moving image coincides with the playback timing related to the comment data, thereby enabling the trainee to recognize which operation, among a series of operations of the work machine 100, requires attention.
第1の実施形態に係るトレーニングシステム1は、ワークデータに係る第1操作データと模範データに係る第2操作データの違いに基づいてトレーニーの操作を評価する。これにより、トレーニーは客観的に模範データとの操作のずれの大きさを認識することができる。
The training system 1 according to the first embodiment evaluates the trainee's operation based on the difference between the first operation data related to the work data and the second operation data related to the model data. This allows the trainee to objectively recognize the magnitude of the deviation of the operation from the model data.
第1の実施形態に係るトレーニングシステム1は、トレーニーから模範データに係る第2動画像の再生速度の入力を受け付け、アバターマシン100Aが写る第1動画像と、ゴーストマシン100Gが写り、指定の再生速度で再生される第2動画像とを同時に表示する。これにより、トレーニーは、自身の技術レベルに応じたトレーニングを行うことができる。つまり、トレーニーは、操作に不慣れなときに低い再生速度でゴーストマシン100Gを動かすことで、トレーナーの操作を丁寧に確認しながらトレーニングすることができる。他方、トレーニーは、操作に慣れてきたときに1倍に近い再生速度でゴーストマシン100Gを動かすことで、トレーナーの実際の操作に近づくようにトレーニングすることができる。また、トレーニーは、1倍より速い再生速度でゴーストマシン100Gを動かすことで、実機より困難な条件下でトレーニングすることができる。この場合、トレーニーは、実機の操作において体感時間を長く感じることで、丁寧な操作をすることができる。
The training system 1 according to the first embodiment accepts an input of the playback speed of the second moving image related to the model data from the trainee, and simultaneously displays the first moving image showing the avatar machine 100A and the second moving image showing the ghost machine 100G and played at the specified playback speed. This allows the trainee to train according to his/her own skill level. That is, when the trainee is not familiar with the operation, he/she can train while carefully checking the trainer's operation by moving the ghost machine 100G at a low playback speed. On the other hand, when the trainee becomes familiar with the operation, he/she can train to be closer to the trainer's actual operation by moving the ghost machine 100G at a playback speed close to 1x. In addition, the trainee can train under more difficult conditions than the actual machine by moving the ghost machine 100G at a playback speed faster than 1x. In this case, the trainee can operate the actual machine carefully by feeling the time it takes to operate it longer.
第1の実施形態に係るトレーニングシステム1は、以下の処理を実行する。トレーニングシステム1は、第1操作者であるトレーニーによる第1操作データの入力を受け付ける。トレーニングシステム1は、第1操作データに従って第1作業機械であるアバターマシン100Aの姿勢の変化をシミュレートする。トレーニングシステム1は、過去に第2操作者であるトレーナーによって入力された第2操作データに従ってトレーナーの操作を再現する。トレーニングシステム1は、アバターマシン100Aの姿勢の変化を表す第1動画像と、トレーナーの操作を表すレバーオブジェクトObj2とを同時に表示する。これにより、トレーニーは、トレーナーによる操作を視認しながら、作業機械100のシミュレーションを行うことができる。また、第1の実施形態によれば、レバーオブジェクトObj2として、トレーニーのレバー操作を表す操作点Obj22と、トレーナーのレバー操作を表すプロットObj23とが同時に表示される。これにより、トレーニーは、トレーナーによる操作を視認しながら、作業機械100のシミュレーションを行うことができる。
The training system 1 according to the first embodiment executes the following process. The training system 1 accepts input of first operation data by a trainee who is a first operator. The training system 1 simulates a change in posture of an avatar machine 100A which is a first work machine according to the first operation data. The training system 1 reproduces the operation of the trainer according to second operation data previously input by a trainer who is a second operator. The training system 1 simultaneously displays a first moving image which represents a change in posture of the avatar machine 100A and a lever object Obj2 which represents the operation of the trainer. This allows the trainee to simulate the work machine 100 while visually checking the operation by the trainer. In addition, according to the first embodiment, an operation point Obj22 which represents the trainee's lever operation and a plot Obj23 which represents the trainer's lever operation are simultaneously displayed as the lever object Obj2. This allows the trainee to simulate the work machine 100 while visually checking the operation by the trainer.
第1の実施形態に係るレバーオブジェクトObj2は、操作レバーの基準位置を示す基準位置画像である基準円Obj21と、操作後の操作レバーの位置を示すプロットObj23とを含む。これにより、トレーニーは、基準円Obj21とプロットObj23との位置関係によって容易に操作レバーの入力位置を認識することができる。
The lever object Obj2 according to the first embodiment includes a reference circle Obj21, which is a reference position image showing the reference position of the control lever, and a plot Obj23 showing the position of the control lever after operation. This allows the trainee to easily recognize the input position of the control lever based on the positional relationship between the reference circle Obj21 and the plot Obj23.
第1の実施形態に係るレバーオブジェクトObj2は、操作レバーの過去の位置を示す複数のプロットObj23を含む。複数のプロットObj23は、古いほど小さくまたは透明度が高くなる。これにより、トレーニーは、操作レバーの軌跡を認識することができ、かつ現在の操作レバーの入力位置と過去の入力位置とが混同することを防ぐことができる。
The lever object Obj2 according to the first embodiment includes a number of plots Obj23 that indicate past positions of the control lever. The older the plots Obj23 are, the smaller or more transparent they are. This allows the trainee to recognize the trajectory of the control lever and prevents confusion between the current input position of the control lever and the past input position.
第1の実施形態に係るレバーオブジェクトObj2は、ヘッドマウントディスプレイ35における視線方向前方に位置する。これにより、トレーニーは、向いている方向によらず、トレーナーによる操作を視認することができる。
The lever object Obj2 in the first embodiment is located forward in the line of sight direction on the head-mounted display 35. This allows the trainee to visually recognize the operation by the trainer regardless of the direction he or she is facing.
第1の実施形態に係るトレーニングシステム1は、以下の処理を実行する。トレーニングシステム1は、第1操作者であるトレーニーによる第1操作データの入力を受け付ける。トレーニングシステム1は、第1操作データに従って第1作業機械であるアバターマシン100Aの姿勢の変化をシミュレートする。トレーニングシステム1は、過去に第2操作者によって入力された第2操作データに基づいて生成された模範データに基づいて、第2作業機械であるゴーストマシン100Gの姿勢の変化を再現する。トレーニングシステム1は、アバターマシン100Aの姿勢の変化を表す第1動画像と、ゴーストマシン100Gの姿勢の変化を表す第2動画像とを同時に表示する。このとき、アバターマシン100Aとゴーストマシン100Gの初期位置が一致している。つまり、トレーニングシステム1はアバターマシン100Aとゴーストマシン100Gを重畳して表示する。これにより、トレーニーは自身の操作とトレーナーの操作との差を容易に認識することができる。例えば、アバターマシン100Aとゴーストマシン100Gとを横並びに表示する場合と比較して、挙動の違いを認識しやすい。
The training system 1 according to the first embodiment executes the following process. The training system 1 accepts input of first operation data by a trainee who is a first operator. The training system 1 simulates a change in posture of the avatar machine 100A which is a first work machine according to the first operation data. The training system 1 reproduces a change in posture of the ghost machine 100G which is a second work machine based on model data generated based on second operation data input by a second operator in the past. The training system 1 simultaneously displays a first moving image representing a change in posture of the avatar machine 100A and a second moving image representing a change in posture of the ghost machine 100G. At this time, the initial positions of the avatar machine 100A and the ghost machine 100G are the same. In other words, the training system 1 displays the avatar machine 100A and the ghost machine 100G in a superimposed manner. This allows the trainee to easily recognize the difference between his or her operation and the trainer's operation. For example, it is easier to recognize the difference in behavior compared to when the avatar machine 100A and the ghost machine 100G are displayed side-by-side.
第1の実施形態に係るトレーニングシステム1のアバターマシン100Aの動画像は、アバターマシン100Aの運転室121内に位置する視点から、アバターマシン100Aが描画された画像である。第1の実施形態に係るトレーニングシステム1のゴーストマシン100Gの動画像は、アバターマシン100Aの運転室121内に位置する視点から、ゴーストマシン100Gが描画された画像である。これにより、トレーニングシステム1は、トレーニーは、アバターマシン100Aの運転室121からの視点において、自身の操作とトレーナーの操作との差を容易に認識することができる。
The moving image of the avatar machine 100A in the training system 1 according to the first embodiment is an image in which the avatar machine 100A is rendered from a viewpoint located in the driver's cab 121 of the avatar machine 100A. The moving image of the ghost machine 100G in the training system 1 according to the first embodiment is an image in which the ghost machine 100G is rendered from a viewpoint located in the driver's cab 121 of the avatar machine 100A. In this way, the training system 1 allows the trainee to easily recognize the difference between his or her own operation and the trainer's operation from the viewpoint from the driver's cab 121 of the avatar machine 100A.
第1の実施形態に係るトレーニングシステム1は、ゴーストマシン100Gの作業具であるバケット133のみを描画することができる。これにより、ゴーストマシン100Gの旋回体120やブーム131などがアバターマシン100Aと干渉して視認性が悪化することを防ぐことができる。他方、トレーニングシステム1は、ゴーストマシン100Gの全体を描画することで、よりアバターマシン100Aとゴーストマシン100Gの姿勢の違いを明確にトレーニーに認識させることができる。
The training system 1 according to the first embodiment can render only the bucket 133, which is the working tool of the ghost machine 100G. This can prevent the rotating body 120, boom 131, etc. of the ghost machine 100G from interfering with the avatar machine 100A and reducing visibility. On the other hand, the training system 1 renders the entire ghost machine 100G, allowing the trainee to more clearly recognize the difference in posture between the avatar machine 100A and the ghost machine 100G.
第1の実施形態に係るゴーストマシン100Gは、アバターマシン100Aより透明度が高い。これにより、トレーニングシステム1はゴーストマシン100Gがシミュレーションの邪魔となることを防ぐことができる。他の実施形態に係るゴーストマシン100Gは、アバターマシン100Aより透明度を高くしたうえで、アバターマシン100Aと色相を異ならせてもよい。これにより、ゴーストマシン100Gをアバターマシン100Aとより区別しやすくなる。また、他の実施形態に係るゴーストマシン100Gは、輪郭線のみで表示されてもよい。
The ghost machine 100G according to the first embodiment has a higher transparency than the avatar machine 100A. This allows the training system 1 to prevent the ghost machine 100G from interfering with the simulation. The ghost machine 100G according to other embodiments may have a higher transparency than the avatar machine 100A and a different hue from the avatar machine 100A. This makes it easier to distinguish the ghost machine 100G from the avatar machine 100A. Furthermore, the ghost machine 100G according to other embodiments may be displayed with only an outline.
第1の実施形態に係るトレーニングシステム1は、以下の処理を実行する。トレーニングシステム1は、第1操作者であるトレーニーによる第1操作データの入力を受け付ける。トレーニングシステム1は、第1操作データに従って第1作業機械であるアバターマシン100Aの姿勢の変化をシミュレートする。トレーニングシステム1は、過去に第2操作者によって入力された第2操作データに基づいて生成された模範データに基づいて、第2作業機械であるゴーストマシン100Gの姿勢の変化を再現する。トレーニングシステム1は、アバターマシン100Aと、ゴーストマシン100Gの作業具であるバケット133の軌跡を表す刃先オブジェクトObj1とを同時に表示する。これにより、トレーニーは自身の操作とトレーナーの操作との差を容易に認識することができる。
The training system 1 according to the first embodiment executes the following process. The training system 1 accepts input of first operation data by a trainee who is a first operator. The training system 1 simulates a change in posture of an avatar machine 100A which is a first work machine according to the first operation data. The training system 1 reproduces a change in posture of a ghost machine 100G which is a second work machine based on model data generated based on second operation data previously input by a second operator. The training system 1 simultaneously displays the avatar machine 100A and a cutting edge object Obj1 which represents the trajectory of a bucket 133 which is a work tool of the ghost machine 100G. This allows the trainee to easily recognize the difference between his/her own operation and the trainer's operation.
第1の実施形態に係るトレーニングシステム1は、刃先上の複数の点それぞれに対応して刃先オブジェクトObj1を配置する。各刃先オブジェクトObj1は、それぞれの点の軌跡を表す。刃先上の複数の点について刃先オブジェクトObj1が設けられることで、トレーニーは、バケット133の刃先の奥行方向の位置を容易に認識することができる。
The training system 1 according to the first embodiment places cutting edge objects Obj1 corresponding to each of the multiple points on the cutting edge. Each cutting edge object Obj1 represents the trajectory of the respective point. By providing cutting edge objects Obj1 for the multiple points on the cutting edge, the trainee can easily recognize the position of the cutting edge of the bucket 133 in the depth direction.
第1の実施形態に係る刃先オブジェクトObj1の色は、複数の点それぞれによって異なる。これにより、複数の刃先オブジェクトObj1を混同して認識する可能性を低減することができる。
In the first embodiment, the color of the blade tip object Obj1 varies depending on each of the multiple points. This reduces the possibility of confusing and recognizing multiple blade tip objects Obj1.
第1の実施形態に係るトレーニングシステム1は、以下の処理を実行する。トレーニングシステム1は、操作者による操作データの入力を受け付ける。トレーニングシステム1は、操作データの入力時における操作者の視線を検出する。トレーニングシステム1は、操作データに従って作業機械100の姿勢の変化をシミュレートする。トレーニングシステム1は、シミュレートされた作業機械100の姿勢の変化を表す姿勢画像と、視線の変化を表す視線オブジェクトObj3とを同時に表示する。これにより、トレーニングシステム1は、操作者が作業機械100の操作と視線方向との関係を表示することができる。これにより、トレーニーは、トレーナーの視線から操作中に注視すべき点を認識することができる。またこれにより、トレーナーは、トレーニーの視線に基づいて運転を評価することができる。
The training system 1 according to the first embodiment executes the following processing. The training system 1 accepts input of operation data by an operator. The training system 1 detects the operator's line of sight when inputting the operation data. The training system 1 simulates a change in the posture of the work machine 100 in accordance with the operation data. The training system 1 simultaneously displays a posture image representing the simulated change in posture of the work machine 100 and a gaze object Obj3 representing the change in gaze. This allows the training system 1 to display the relationship between the operation of the work machine 100 by the operator and the gaze direction. This allows the trainee to recognize the points to focus on during operation from the trainer's gaze. This also allows the trainer to evaluate the driving based on the trainee's gaze.
第1の実施形態に係る刃先オブジェクトObj1、レバーオブジェクトObj2のプロットObj23、および視線オブジェクトObj3は、軌跡を表す複数の点である。他方、他の実施形態においては、これらのオブジェクトの一部または全部は、軌跡を表す曲線であってもよい。
In the first embodiment, the cutting edge object Obj1, the plot Obj23 of the lever object Obj2, and the line of sight object Obj3 are multiple points that represent a trajectory. On the other hand, in other embodiments, some or all of these objects may be curves that represent a trajectory.
〈第2の実施形態〉
第1の実施形態に係るトレーニングシステム1において、ゴーストマシン100Gの挙動は、設定データにおいて、指定された再生速度で連続的に再現される。一方で、トレーニーが初心者である場合などに、操作がゴーストマシン100Gの挙動に追いつかない可能性がある。このような場合に、ゴーストマシン100Gが連続的に再現され、アバターマシン100Aとゴーストマシン100Gの姿勢が大きく相違してしまうと、トレーニーは操作の指標を見失ってしまう可能性がある。第2の実施形態に係るトレーニングシステム1は、トレーニーによる操作が遅い場合にも、適切なトレーニングの実施を可能とする。
Second Embodiment
In the training system 1 according to the first embodiment, the behavior of the ghost machine 100G is continuously reproduced at a reproduction speed specified in the setting data. On the other hand, when the trainee is a beginner, there is a possibility that the operation cannot keep up with the behavior of the ghost machine 100G. In such a case, if the ghost machine 100G is continuously reproduced and the postures of the avatar machine 100A and the ghost machine 100G differ greatly, the trainee may lose sight of the indicators of the operation. The training system 1 according to the second embodiment enables appropriate training to be carried out even when the trainee's operation is slow.
第1の実施形態に係るトレーニングシステム1は、図5に示すように、フレーム時間ごとにステップS208でゴーストマシン100Gの挙動を再現する。これに対し、第2の実施形態では、ステップS208に代えて以下に示す処理を実行する。
As shown in FIG. 5, the training system 1 according to the first embodiment reproduces the behavior of the ghost machine 100G for each frame time in step S208. In contrast, in the second embodiment, the following process is executed instead of step S208.
再現部313は、ステップS206で計算したアバターマシン100Aの姿勢と、前回のゴーストマシン100Gの姿勢との距離を算出する。姿勢どうしの距離は、例えば、旋回角の差、ブーム角の差、アーム角の差およびバケット角の差の二乗和平方根によって求めることができる。再現部313は、算出した距離があらかじめ設定データにおいて設定したの閾値を超える場合、ゴーストマシン100Gの姿勢を維持する。他方、算出した距離があらかじめ設定データにおいて設定したの閾値を超えない場合、再現部313は、模範データに含まれる作業機130の関節角度および旋回体120の旋回角度の時系列と、設定データが示すゴーストマシン100Gの再生速度とに基づいてゴーストマシン100Gの姿勢を計算することで、ゴーストマシン100Gの挙動を再現する。
The reproduction unit 313 calculates the distance between the posture of the avatar machine 100A calculated in step S206 and the previous posture of the ghost machine 100G. The distance between the postures can be calculated, for example, by taking the square root of the sum of the squares of the difference in the rotation angle, the difference in the boom angle, the difference in the arm angle, and the difference in the bucket angle. If the calculated distance exceeds a threshold value previously set in the setting data, the reproduction unit 313 maintains the posture of the ghost machine 100G. On the other hand, if the calculated distance does not exceed a threshold value previously set in the setting data, the reproduction unit 313 reproduces the behavior of the ghost machine 100G by calculating the posture of the ghost machine 100G based on the time series of the joint angle of the work machine 130 and the rotation angle of the rotating body 120 included in the model data and the playback speed of the ghost machine 100G indicated by the setting data.
このように、第2の実施形態によれば、トレーニングシステム1は、シミュレートされたアバターマシン100Aの姿勢とゴーストマシン100Gの姿勢との差が所定の閾値を超える場合、ゴーストマシン100Gの挙動の再現を中断する。例えば、トレーニングシステム1は、ゴーストマシン100Gの挙動の再現を中断する際、中断した瞬間の画像を保管しておいてもよい。これにより、第2の実施形態に係るトレーニングシステム1は、トレーニーによる操作が遅い場合にも、適切なトレーニングの実施を可能とする。
Thus, according to the second embodiment, the training system 1 suspends reproduction of the behavior of the ghost machine 100G when the difference between the posture of the simulated avatar machine 100A and the posture of the ghost machine 100G exceeds a predetermined threshold. For example, when suspending reproduction of the behavior of the ghost machine 100G, the training system 1 may store an image of the moment of suspension. In this way, the training system 1 according to the second embodiment enables appropriate training to be carried out even when the trainee's operations are slow.
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
Other Embodiments
Although one embodiment has been described in detail above with reference to the drawings, the specific configuration is not limited to the above, and various design changes are possible. That is, in other embodiments, the order of the above-mentioned processes may be changed as appropriate. Also, some of the processes may be executed in parallel.
上述した実施形態に係るトレーニングシステム1は、データサーバ10とトレーニングシミュレータ30とを備えるが、これに限られない。例えば、他の実施形態に係るトレーニングシステム1は、トレーニングシミュレータ30単独で構成されてもよい。この場合、トレーニングシミュレータ30にはあらかじめ記録された模範データに基づいてトレーニングを実施することができる。また、他の実施形態に係るトレーニングシステム1は、トレーニーが過去に操作したワークデータを参照しながらトレーニングを実施するものであってもよい。また、他の実施形態においては、トレーニングシミュレータ30の一部が外部のコンピュータに設けられてもよい。例えば、他の実施形態においては、トレーニングシミュレータ30が操作データの入力と演算結果の表示のみを担い、外部装置にてシミュレーションの計算を行ってもよい。
The training system 1 according to the embodiment described above includes a data server 10 and a training simulator 30, but is not limited to this. For example, the training system 1 according to another embodiment may be configured with the training simulator 30 alone. In this case, the training simulator 30 can carry out training based on model data recorded in advance. Furthermore, the training system 1 according to another embodiment may carry out training while referring to work data operated by the trainee in the past. Furthermore, in another embodiment, a part of the training simulator 30 may be provided in an external computer. For example, in another embodiment, the training simulator 30 may only be responsible for inputting operation data and displaying calculation results, and the simulation calculations may be performed by an external device.
上述した実施形態に係るトレーニングシステム1は、ヘッドマウントディスプレイ35を表示装置として用いるが、これに限られない。例えば、他の実施形態においては、作業機械100の遠隔操作に用いる大型ディスプレイを表示装置として用いてよい。このとき、入力部311は、操作者からレンダリングカメラの位置および姿勢の指定を受け付けてよい。レンダリングカメラの位置および姿勢の指定の例としては、主観視点(運転者視点)、客観視点(運転者の斜め後ろ)、俯瞰視点(作業機械100の側方)、自由視点などが挙げられる。レンダリング部315は、指定されたレンダリングカメラの位置および姿勢に従って、仮想空間をレンダリングする。また、表示制御部316は、ワークデータの再生時に、リプレイ(Start over)や一時停止の指示を受け付けてもよい。また、表示制御部316は、再生位置を示すシークバーを表示し、当該シークバーの操作によって任意のポイントの頭出しの指示を受け付けてもよい。
The training system 1 according to the embodiment described above uses the head-mounted display 35 as a display device, but is not limited to this. For example, in another embodiment, a large display used for remote operation of the work machine 100 may be used as a display device. At this time, the input unit 311 may receive designation of the position and attitude of the rendering camera from the operator. Examples of designation of the position and attitude of the rendering camera include a subjective viewpoint (driver's viewpoint), an objective viewpoint (diagonally behind the driver), an overhead viewpoint (to the side of the work machine 100), and a free viewpoint. The rendering unit 315 renders the virtual space according to the designated position and attitude of the rendering camera. In addition, the display control unit 316 may receive instructions to replay (start over) or pause when playing back the work data. In addition, the display control unit 316 may display a seek bar indicating the playback position and receive an instruction to cue to an arbitrary point by operating the seek bar.
〈コンピュータ構成〉
図17は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ90は、プロセッサ91、メインメモリ92、ストレージ93、インタフェース94を備える。
上述のトレーニングシミュレータ30は、コンピュータ90に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ93に記憶されている。プロセッサ91は、プログラムをストレージ93から読み出してメインメモリ92に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ91は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ92に確保する。プロセッサ91の例としては、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、マイクロプロセッサなどが挙げられる。
Computer Configuration
FIG. 17 is a schematic block diagram illustrating a configuration of a computer according to at least one embodiment.
The computer 90 comprises a processor 91 , a main memory 92 , a storage 93 , and an interface 94 .
The above-mentioned training simulator 30 is implemented in a computer 90. The operations of the above-mentioned processing units are stored in the storage 93 in the form of a program. The processor 91 reads the program from the storage 93, loads it in the main memory 92, and executes the above-mentioned processing in accordance with the program. The processor 91 also secures storage areas in the main memory 92 corresponding to the above-mentioned storage units in accordance with the program. Examples of the processor 91 include a CPU (Central Processing Unit), a GPU (Graphic Processing Unit), and a microprocessor.
プログラムは、コンピュータ90に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータ90は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサ91によって実現される機能の一部または全部が当該集積回路によって実現されてよい。このような集積回路も、プロセッサの一例に含まれる。また、他の実施形態においては、コンピュータ90は、1または複数のコンピュータ上で仮想化されたものであってもよい。
The program may be for implementing part of the functions to be performed by the computer 90. For example, the program may be implemented by combining it with other programs already stored in the storage or with other programs implemented in other devices. In another embodiment, the computer 90 may include a custom LSI (Large Scale Integrated Circuit) such as a PLD (Programmable Logic Device) in addition to or instead of the above configuration. Examples of PLDs include PAL (Programmable Array Logic), GAL (Generic Array Logic), CPLD (Complex Programmable Logic Device), and FPGA (Field Programmable Gate Array). In this case, part or all of the functions implemented by the processor 91 may be implemented by the integrated circuit. Such an integrated circuit is also included as an example of a processor. In another embodiment, the computer 90 may be virtualized on one or more computers.
ストレージ93の例としては、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリ等が挙げられる。ストレージ93は、コンピュータ90のバスに直接接続された内部メディアであってもよいし、インタフェース94または通信回線を介してコンピュータ90に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムをメインメモリ92に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ93は、一時的でない有形の記憶媒体である。
Examples of storage 93 include a magnetic disk, a magneto-optical disk, an optical disk, and a semiconductor memory. Storage 93 may be an internal medium directly connected to the bus of computer 90, or an external medium connected to computer 90 via interface 94 or a communication line. In addition, when this program is distributed to computer 90 via a communication line, computer 90 that receives the program may expand the program into main memory 92 and execute the above-mentioned processing. In at least one embodiment, storage 93 is a non-transitory tangible storage medium.
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ93に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
The program may be for realizing some of the functions described above. Furthermore, the program may be a so-called differential file (differential program) that realizes the functions described above in combination with another program already stored in storage 93.