(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024180057
(43)【公開日】2024-12-26
(54)【発明の名称】作業機械の表示システムおよび表示方法
(51)【国際特許分類】
G09B 9/04 20060101AFI20241219BHJP
G09B 9/052 20060101ALI20241219BHJP
G09B 19/16 20060101ALI20241219BHJP
E02F 9/26 20060101ALI20241219BHJP
【FI】
G09B9/04 Z
G09B9/052
G09B19/16
E02F9/26 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023099484
(22)【出願日】2023-06-16
(71)【出願人】
【識別番号】000001236
【氏名又は名称】株式会社小松製作所
(71)【出願人】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】奥田 浩詞
(72)【発明者】
【氏名】松村 幸紀
(72)【発明者】
【氏名】大槻 麻衣
【テーマコード(参考)】
2D015
【Fターム(参考)】
2D015HA03
(57)【要約】
【課題】作業機械の操作のトレーニングにおいて、操作者による操作と他の操作とを容易に比較する。
【解決手段】表示システムは、第1操作者による第1操作データの入力を受け付ける。表示システムは、第1操作データに従って作業機械の姿勢の変化をシミュレートする。表示システムは、過去に第2操作者によって入力された第2操作データを含む模範データに基づいて、第2操作者による操作を再現する。表示システムは、シミュレートされた作業機械の姿勢の変化を表す第1動画像と、再現された前記第2操作者による操作を表す第2動画像とを同時に表示する。
【選択図】
図11
【特許請求の範囲】
【請求項1】
作業機械の表示システムであって、
第1操作者による第1操作データの入力を受け付け、
前記第1操作データに従って作業機械の姿勢の変化をシミュレートし、
過去に第2操作者によって入力された第2操作データを含む模範データに基づいて、前記第2操作者による操作を再現し、
シミュレートされた前記作業機械の姿勢の変化を表す第1動画像と、再現された前記第2操作者による操作を表す第2動画像とを同時に表示する
表示システム。
【請求項2】
前記模範データに基づいて作業機械の挙動を再現し、
前記第2動画像は、再現された前記第2操作者による操作と、再現された作業機械の挙動とを含み、
前記第1動画像と前記第2動画像とは重ねて表示される
請求項1に記載の表示システム。
【請求項3】
前記第2動画像は、操作レバーの基準位置を示す基準位置画像と、操作後の前記操作レバーの位置を示す入力位置画像とを含む
請求項2に記載の表示システム。
【請求項4】
前記第1動画像は、前記第1操作者による前記第1操作データの操作レバーの位置を示す入力位置画像を含む
請求項3に記載の表示システム。
【請求項5】
前記第2動画像は、前記操作レバーの過去の位置を示す複数の過去位置画像を含み、前記複数の過去位置画像は、古いほど小さくまたは透明度が高い
請求項3に記載の表示システム。
【請求項6】
前記第2動画像は、操作レバーを前記操作レバーの操作平面の上方から平面視したときの、前記操作レバーの位置の変化を表す
請求項1から請求項5のいずれか1項に記載の表示システム。
【請求項7】
前記第1動画像および前記第2動画像はヘッドマウントディスプレイに表示され、
前記第2動画像は前記ヘッドマウントディスプレイにおける視線方向前方に位置する
請求項1から請求項5のいずれか1項に記載の表示システム。
【請求項8】
コンピュータが、
第1操作者による第1操作データの入力を受け付け、
前記第1操作データに従って作業機械の姿勢の変化をシミュレートし、
過去に第2操作者によって入力された第2操作データを含む模範データに基づいて、前記第2操作者による操作を再現し、
シミュレートされた前記作業機械の姿勢の変化を表す第1動画像と、再現された前記第2操作者による操作を表す第2動画像とを同時に表示する
表示方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、作業機械の表示システムおよび表示方法に関する。
【背景技術】
【0002】
特許文献1には、オペレータが自身または他のオペレータによる作業機械の操作を参考にしながら、作業機械の操作のシミュレーションを行う技術が開示されている。特許文献1に記載の技術は、遠隔操作による作業機械の過去の作業の動画像を再生し、動画像を停止させたときの再生位置に係る作業環境で、作業のシミュレーションを行うものである。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
トレーニングのためのシミュレーションにおいて、操作のシミュレーションを行っているときに、同時に過去の作業機械の操作を確認することが求められている。例えば、初心者であるトレーニーは、熟練者であるトレーナーの操作に追従して作業機械の操作を行うことで、効率的に操作を習得することができる。また例えば、中級者であるトレーニーは、熟練者であるトレーナーの操作との違いをリアルタイムに認識することで、操作の細かな違いに気づくことができる。
【0005】
本開示の目的は、作業機械の操作のトレーニングにおいて、操作者による操作と他の操作とを容易に比較することができる作業機械の表示システムおよび表示方法を提供することにある。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、作業機械の表示システムは、第1操作者による第1操作データの入力を受け付け、前記第1操作データに従って作業機械の姿勢の変化をシミュレートし、過去に第2操作者によって入力された第2操作データを含む模範データに基づいて、前記第2操作者による操作を再現し、シミュレートされた前記作業機械の姿勢の変化を表す第1動画像と、再現された前記第2操作者による操作を表す第2動画像とを同時に表示する。
【発明の効果】
【0007】
上記態様によれば、作業機械の操作のトレーニングにおいて、操作者による操作と他の操作とを容易に比較することができる。
【図面の簡単な説明】
【0008】
【
図1】第1の実施形態に係るトレーニングシステムの構成を示す概略図である。
【
図2】第1の実施形態に係るトレーニングシミュレータのソフトウェア構成を示すブロック図である。
【
図3】第1の実施形態に係る模範データの作成方法を示すフローチャートである。
【
図4】第1の実施形態に係る設定データの入力画面の一例を示す図である。
【
図5】第1の実施形態に係るトレーニングの実施方法を示すフローチャート(パート1)である。
【
図6】第1の実施形態に係るトレーニングの実施方法を示すフローチャート(パート2)である。
【
図7】第1の実施形態に係るトレーニングの実施方法を示すフローチャート(パート3)である。
【
図8】第1の実施形態に係るゴーストマシンの全体をレンダリングするときの画像データの一例である。
【
図9】第1の実施形態に係るゴーストマシンのバケットのみをレンダリングするときの画像データの一例である。
【
図10】第1の実施形態に係るゴーストマシンのバケットの刃先の軌跡を表示するときの画像データの一例である。
【
図11】第1の実施形態に係るトレーナーのレバー操作を表示するときの画像データの一例である。
【
図12】第1の実施形態に係るトレーナーの視線を表示するときの画像データの一例である。
【
図13】第1の実施形態に係るサイドビューを表示するときの画像データの一例である。
【
図14】第1の実施形態に係る軌跡モデルの例を示す図である。
【
図15】第1の実施形態に係るトレーナーによるワークデータの評価方法を示すフローチャートである。
【
図16】第1の実施形態に係るトレーニーによる評価結果の閲覧方法を示すフローチャートである。
【
図17】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0009】
〈第1の実施形態〉
《トレーニングシステム1の構成》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第1の実施形態に係るトレーニングシステム1の構成を示す概略図である。
第1の実施形態に係るトレーニングシステム1は、作業機械100の操作に不慣れなオペレータであるトレーニーが、作業機械100の操作に熟練したオペレータであるトレーナーの操作を参考にしながら、作業機械100の操作のシミュレーションを行うためのシステムである。トレーニーは、自身の操作について、トレーニングシステム1やトレーナーによる評価を受けることができる。トレーナーおよびトレーニーは、いずれも作業機械100の操作者である。第1の実施形態では、トレーニングシステム1は、作業機械100である油圧ショベルの操作のトレーニングに用いられる。なお、作業機械100の種類は、油圧ショベルに限られず、ブルドーザ、ホイルローダ、フォークリフトなどの他の作業機械であってもよい。
【0010】
トレーニングシステム1は、データサーバ10と、1または複数のトレーニングシミュレータ30とを備える。
【0011】
データサーバ10は、トレーニングに用いる模範データおよびワークデータを記憶する。模範データは、トレーナーによる作業機械100の操作を表す。トレーニーは、模範データを参考にしてトレーニングを行う。ワークデータは、トレーニーによる作業機械100の操作を表す。トレーニングシステム1およびトレーナーは、ワークデータに基づいてトレーニーの操作を評価する。模範データおよびワークデータは、操作レバーの操作の時系列、作業機械100の姿勢(作業機の関節角度および旋回角度)の時系列、および視線の時系列を含む。以下、模範データおよびワークデータのような、作業機械100の操作および挙動の時系列を表すデータを、挙動記録データともいう。
【0012】
具体的には、データサーバ10は、模範データを格納する模範データテーブルT1と、ワークデータを格納するワークデータテーブルT2と、認証データを格納するユーザテーブルT3とを備える。
模範データテーブルT1は、模範データと、当該模範データのID(識別情報)である模範IDと、当該模範データで再現される作業内容を示す概要データとを関連付けて格納する。
ワークデータテーブルT2は、ワークデータと、当該ワークデータのID(識別情報)であるワークIDと、対応する模範データの模範IDと、トレーニングシステム1による評価を示す評価データと、トレーナーによる評価を示すコメントデータとを関連付けて格納する。
ユーザテーブルT3は、ユーザIDと、ユーザ区分と、認証情報とを関連付けて記憶する。ユーザ区分の値は、トレーナーおよびトレーニーのいずれかである。認証情報は、例えばパスワードであってよい。
【0013】
トレーニングシミュレータ30は、操作者による操作入力を受け付け、当該操作入力に応じた作業機械100の挙動を模擬する。トレーニングシミュレータ30は、作業機械100の挙動を表す映像を生成し、操作者に提示する。またトレーニングシミュレータ30は、データサーバ10が記憶する模範データに基づいて作業機械100の挙動を再現し、作業機械100の挙動を表す映像を生成し、操作者に提示する。
【0014】
トレーニングシミュレータ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が表示される。
【0015】
《作業機械100の構成》
作業機械100は、走行体110、旋回体120および作業機130を備える。
走行体110は、作業機械100を走行可能に支持する。
旋回体120は、走行体110に旋回中心回りに旋回可能に支持される。旋回体120の前部には運転室121が設けられる。演算装置31による仮想空間Vを描画するためのレンダリングカメラは、運転室121内に設けられる。
作業機130は、旋回体120の前部に上下方向に駆動可能に支持される。
作業機130は、ブーム131、アーム132、作業具としてのバケット133を備える。例えば、作業具は幅方向に亘る刃先を有する。作業具の他の例として、クラムバケット、チルトバケット、チルトローテートバケット、ブレーカ、グラップラなどの先端アタッチメントが挙げられる。
【0016】
ブーム131の基端部は、旋回体120にブームピンを介して回転可能に取り付けられる。なお、
図1に示す作業機械100においては、ブーム131が旋回体120の正面中央部分に設けられるが、これに限られず、ブーム131は左右方向にオフセットして取り付けられたものであってもよい。この場合、旋回体120の旋回中心は作業機130の動作平面上に位置しない。
アーム132は、ブーム131とバケット133とを連結する。アーム132の基端部は、ブーム131の先端部にアームピンを介して回転可能に取り付けられる。
バケット133は、アーム132の先端部にピンを介して回転可能に取り付けられる。バケット133は、掘削した土砂を収容するための容器として機能する。
【0017】
《トレーニングシミュレータ30の構成》
図2は、第1の実施形態に係るトレーニングシミュレータ30が備える演算装置31のソフトウェア構成を示すブロック図である。
トレーニングシミュレータ30が備える演算装置31は、入力部311、取得部312、再現部313、シミュレータ314、レンダリング部315、表示制御部316、生成部317、評価部318、送信部319、設定記憶部320、コメント部321、認証部322を備える。
【0018】
入力部311は、操作装置33の操作データ、ヘッドマウントディスプレイ35のIMUが計測する姿勢データ、およびヘッドマウントディスプレイ35のアイトラッカが計測する視線データを取得する。視線データは、ヘッドマウントディスプレイ35の表示面を基準とする方向によって表される。なお、姿勢データと視線データとを組み合わせることで、絶対的な視線方向を特定することができる。以下、アイトラッカによって計測される視線データを一次視線データとよび、姿勢データと視線データとから特定された絶対的な視線方向を示す視線データを二次視線データとよぶ。
【0019】
取得部312は、データサーバ10から挙動記録データ(模範データおよびワークデータ)を取得する。
再現部313は、取得部312が取得した挙動記録データに基づいて作業機械100の挙動を再現する。以下、再現部313によって仮想空間Vに再現される作業機械100をゴーストマシン100Gと呼ぶ。再現部313は、挙動記録データに含まれる作業機130の関節角度および旋回体120の旋回角度の時系列に従ってゴーストマシン100Gを配置することで、作業機械100の挙動を再現する。なお、他の実施形態に係る再現部313は、例えば、挙動記録データに含まれる操作レバーの動きの時系列データを基に作業機械100の挙動をシミュレートし、ゴーストマシン100Gを配置してもよい。
【0020】
シミュレータ314は、入力部311に入力された操作データに基づいて、作業機械100の挙動をシミュレートする。以下、シミュレータ314によって模擬される作業機械100をアバターマシン100Aと呼ぶ。シミュレータ314は、操作データが示す操作量に従って旋回体120および作業機130の角速度を計算することで、アバターマシン100Aの挙動を模擬する。
【0021】
レンダリング部315は、ゴーストマシン100Gおよびアバターマシン100Aを描画し、画像データを生成する。仮想空間におけるレンダリングカメラは、アバターマシン100Aの運転室121内に位置する。レンダリングカメラは、アバターマシン100Aの前方を基準に、入力部311に入力された姿勢データが示すヘッドマウントディスプレイ35の正面方向に向けられる。なお、レンダリング部315によるレンダリングは所定のフレームレートごとに行われる。そのため、レンダリング部315が生成する画像データは動画像のフレーム画像として扱われる。
【0022】
表示制御部316は、レンダリング部315によって描画された画像データをヘッドマウントディスプレイ35に出力する。
【0023】
生成部317は、入力部311に入力された操作データ、姿勢データおよび一次視線データ、並びにシミュレータ314によって模擬されたアバターマシン100Aの姿勢に基づいて、挙動記録データを生成する。具体的には、生成部317は、シミュレータ314によって模擬されたアバターマシン100Aの姿勢に基づいて、仮想空間におけるアバターマシン100Aの走行体110、旋回体120、ブーム131、アーム132およびバケット133の位置および姿勢を得る。各位置および姿勢は、仮想空間を定義する三次元直行座標系である仮想空間座標系で表される。生成部317は、仮想空間における走行体110、旋回体120、ブーム131、アーム132およびバケット133の位置および姿勢、並びに姿勢データおよび一次視線データに基づいて、仮想空間座標系における視線の方向を示す二次視線データを生成する。
【0024】
評価部318は、取得部312が取得した模範データと生成部317が生成したワークデータとの違いに基づいて、トレーニーによる操作を評価する。例えば、評価部318は、模範データとワークデータとが示す仮想空間における旋回体120の位置および姿勢、並びに姿勢データおよび二次視線データの距離を算出する。評価部318は、例えば走行体110、旋回体120、ブーム131、アーム132およびバケット133の位置および姿勢の時系列、姿勢データの時系列、並びに二次視線データの時系列のそれぞれについて、模範データとワークデータとの距離を求め、距離の加重和を評価値として産出する。この場合、評価値はゼロに近いほど評価が高いことを示す。時系列の距離は、DTW法を用いて計算されてよい。
【0025】
送信部319は、生成部317が生成した挙動記録データをデータサーバ10に送信する。
【0026】
設定記憶部320は、トレーニングシミュレータ30の設定データを記憶する。設定データは、ゴーストマシン100Gの再生速度、ゴーストマシン100Gの表示の有無、ゴーストマシン100Gの作業具の刃先の軌跡の表示の有無、サイドビューの表示の有無、トレーナーのレバー操作の表示の有無、トレーナーの視線の表示の有無を格納する。設定データはトレーニーの操作によって更新できる。サイドビューは、仮想空間をアバターマシン100Aの側方から表示する画像である。サイドビューは、運転室内に描画される。
【0027】
コメント部321は、ワークデータへのコメントの入力を受け付ける。コメントには再生タイミングを関連付けることができる。これにより、コメント部321は、ワークデータを再生したときに、所定の再生タイミングにおいてコメントが表示されるように設定することができる。
【0028】
認証部322は、データサーバ10が記憶する認証情報に基づいてトレーニングシミュレータ30の操作者の認証を行う。
【0029】
《トレーニングシステム1の処理》
トレーニングシミュレータ30が起動すると、認証部322はヘッドマウントディスプレイ35にログイン画面を表示させる。ログイン画面には、例えばユーザIDおよび認証情報の入力フォームが表示される。操作者がログイン画面にユーザIDおよび認証情報の値を入力すると、認証部322はデータサーバ10のユーザテーブルT3から入力されたユーザIDに関連付けられた認証情報を取得し、認証情報の照合を行う。
【0030】
認証部322が照合に成功すると、表示制御部316はヘッドマウントディスプレイ35にメニュー画面を表示させる。
操作者のユーザ区分がトレーナーである場合、メニュー画面には、模範データの作成およびワークデータの評価のいずれかを選択させるためのトレーナーメニューが表示される。
操作者のユーザ区分がトレーニーである場合、メニュー画面には、トレーニングの実施、評価結果の閲覧、および設定の変更のいずれかを選択させるためのトレーニーメニューが表示される。
【0031】
《模範データの生成》
図3は、第1の実施形態に係る模範データの作成方法を示すフローチャートである。
トレーナーがトレーニングシミュレータ30にログインし、メニュー画面にて模範データの作成を選択すると、シミュレータ314は、仮想空間に初期姿勢のアバターマシン100Aと、フィールドとを配置する(ステップS101)。
【0032】
入力部311は、操作装置33の操作データ、ヘッドマウントディスプレイ35のIMUが計測する姿勢データ、およびヘッドマウントディスプレイ35のアイトラッカが計測する一次視線データを取得する(ステップS102)。
【0033】
シミュレータ314は、ステップS102で入力された操作データに基づいて、所定のフレーム時間後のアバターマシン100Aの挙動をシミュレートする(ステップS103)。このとき、シミュレータ314は、走行体110、旋回体120、ブーム131、アーム132およびバケット133の位置および姿勢を計算する。
【0034】
シミュレータ314は、旋回体120の位置および姿勢、並びにステップS102で入力された姿勢データに基づいて、仮想空間におけるレンダリングカメラの位置および姿勢を決定する(ステップS104)。レンダリング部315は、ステップS104で求めたレンダリングカメラからアバターマシン100Aが配置された仮想空間を描画する(ステップS105)。表示制御部316は、ステップS105で描画された画像データをヘッドマウントディスプレイ35に出力する(ステップS106)。
【0035】
生成部317は、ステップS104で計算されたレンダリングカメラの位置および姿勢、並びにステップS102で取得された一次視線データに基づいて、仮想空間におけるトレーナーの視線の向きを示す二次視線データを生成する(ステップS107)。生成部317は、ステップS102で取得された操作データ、ステップS104で計算したアバターマシン100Aの姿勢、およびステップS107で生成された二次視線データに基づいて、1フレーム分の挙動記録データを生成する(ステップS108)。
【0036】
生成部317は、トレーナーによる操作が終了したか否かを判定する(ステップS109)。トレーナーは、操作を終了すると判断すると、画面上の終了ボタンへ視線を移すなどトレーニングシミュレータ30に所定の操作を行うことで、操作終了を指示する。トレーナーによる操作が終了していない場合(ステップS109:NO)、ステップS102に処理を戻し、次のフレームのシミュレーションを行う。
【0037】
他方、トレーナーによる操作が終了した場合(ステップS109:YES)、生成部317は、生成された複数フレームの挙動記録データを模範データとしてまとめる(ステップS110)。また生成部317は、トレーナーから模範データについての概要データの入力を受け付ける(ステップS111)。送信部319は、模範データおよび概要データをデータサーバ10に送信する(ステップS112)。これにより、データサーバ10は、受信した模範データに模範IDを付し、模範ID、模範データおよび概要データを関連付けて模範データテーブルT1に記録する。
【0038】
《設定の変更》
トレーニーがトレーニングシミュレータ30にログインし、メニュー画面にて設定の変更を選択すると、表示制御部316は、設定記憶部320が記憶する設定データを読み出し、設定データの入力画面をヘッドマウントディスプレイ35に出力する。
図4は、第1の実施形態に係る設定データの入力画面の一例を示す図である。入力画面には、ゴーストマシン100Gの再生速度、ゴーストマシン100Gの表示の有無、ゴーストマシン100Gの刃先の軌跡の表示の有無、サイドビューの表示の有無、トレーナーのレバー操作の表示の有無、トレーナーの視線の表示の有無の入力フォームと、決定ボタンとが含まれる。設定データはトレーニーの操作によって更新できる。入力フォームにおいてゴーストマシン100Gの表示がONである場合に、入力画面にはゴーストマシン100Gのバケット133のみを表示するか否かの入力フォームが表示される。トレーニーの操作により決定ボタンが操作されると、設定記憶部320は入力画面に入力された値に従って設定データを更新する。
【0039】
《トレーニングの実施》
図5は、第1の実施形態に係るトレーニングの実施方法を示すフローチャート(パート1)である。
図6は、第1の実施形態に係るトレーニングの実施方法を示すフローチャート(パート2)である。
図7は、第1の実施形態に係るトレーニングの実施方法を示すフローチャート(パート3)である。
トレーニーがトレーニングシミュレータ30にログインし、メニュー画面にてトレーニングの実施を選択すると、取得部312はデータサーバ10にアクセスし、模範データテーブルT1に記録された模範データのリストを取得する(ステップS201)。表示制御部316は、取得したリストから1つの模範データを選択するための選択画面をヘッドマウントディスプレイ35に出力する(ステップS202)。このとき、選択画面には、模範データの一覧と、当該模範データの内容を示す概要データとが表示される。トレーニーは概要データを読み、1つの模範データを選択する。
【0040】
取得部312は、データサーバ10にアクセスし、トレーニーによって選択された模範データを、模範データテーブルT1から取得する(ステップS203)。シミュレータ314は、仮想空間にアバターマシン100Aとゴーストマシン100Gとフィールドとを配置する(ステップS204)。アバターマシン100Aとゴーストマシン100Gは、同じ位置に重複して配置される。
【0041】
入力部311は、操作装置33の操作データ、ヘッドマウントディスプレイ35のIMUが計測する姿勢データ、およびヘッドマウントディスプレイ35のアイトラッカが計測する一次視線データを取得する(ステップS205)。
【0042】
シミュレータ314は、ステップS205で入力された操作データに基づいて、所定のフレーム時間後のアバターマシン100Aの挙動をシミュレートする(ステップS206)。このとき、シミュレータ314は、走行体110、旋回体120、ブーム131、アーム132およびバケット133の位置および姿勢を計算する。シミュレータ314は、旋回体120の位置および姿勢、並びにステップS205で入力された姿勢データに基づいて、仮想空間におけるレンダリングカメラの位置および姿勢を計算する(ステップS207)。
【0043】
再現部313は、ステップS203で取得した模範データに含まれる作業機130の関節角度および旋回体120の旋回角度の時系列と、設定データが示すゴーストマシン100Gの再生速度とに基づいてゴーストマシン100Gの姿勢を計算することで、ゴーストマシン100Gの挙動を再現する(ステップS208)。
【0044】
再現部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)。
【0045】
次に、再現部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は、刃先の左端から右端に亘る線分が通る帯状の軌跡として表されてもよい。
【0046】
次に、再現部313は、設定データにおいて、トレーナーのレバー操作を表示すべきと設定されているか否かを判定する(ステップS217)。レバー操作を表示すべきと設定されている場合(ステップS217:YES)、再現部313は、ステップS207で決定したレンダリングカメラの位置から、レンダリングカメラが向く方向に所定距離だけ離れた位置にレバーオブジェクトObj2を配置する(ステップS218)。
【0047】
図11は、第1の実施形態に係るトレーナーのレバー操作を表示するときの画像データの一例である。レバーオブジェクトObj2は、左右の操作レバーを表す2つの基準円Obj21と、トレーニーによる左右の操作レバーの入力位置を表す2つの操作点Obj22と、トレーナーによるレバーの入力位置を示す複数のプロットObj23とを含む。2つの基準円Obj21は左右方向に所定の間隔を開けて配置される。レバーオブジェクトObj2は、基準円がレンダリングカメラに対向するように配置される。
【0048】
再現部313は、模範データに含まれる操作データに基づいて、基準円Obj21の中心から、ステップS208で再現された時点の操作量だけ離れた位置にプロットObj23を配置し、基準円Obj21の中心からステップS205で取得した操作データが示す操作量だけ離れた位置に操作点Obj22を移動させる(ステップS219)。つまり、レバーオブジェクトObj2は、操作レバーの操作平面の上方から操作レバーを平面視したときの、操作レバーの位置の変化を表している。再現部313は、過去に配置したプロットObj23のサイズを所定の値だけ小さくする(ステップS220)。これにより、複数のプロットObj23は直近の所定時間におけるレバー操作の軌跡を表す。なお、他の実施形態において再現部313はプロットObj23のサイズに代えて透明度を変化させてもよい。サイズが所定の閾値を下回るプロットObj23は仮想空間から除去してもよい。
レバー操作を表示すべきと設定されていない場合(ステップS217:NO)、再現部313はレバーオブジェクトObj2を配置しない。
【0049】
次に、再現部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を配置しない。
【0050】
レンダリング部315は、設定データにおいて、サイドビューを表示すべきと設定されているか否かを判定する(ステップS224)。サイドビューを表示すべきと設定されている場合(ステップS224:YES)、レンダリング部315は、レンダリングカメラを、アバターマシン100Aの側方に、アバターマシン100Aの方向を向くように配置する(ステップS225)。レンダリング部315は、アバターマシン100Aおよびゴーストマシン100Gが配置された仮想空間を描画することで、サイドビュー画像Obj4を生成する(ステップS226)。シミュレータ314は、サイドビュー画像Obj4を運転室121内部の所定の位置に配置する(ステップS227)。
図13は、第1の実施形態に係るサイドビューを表示するときの画像データの一例である。
【0051】
次に、レンダリング部315は、ステップS207で求めた位置および姿勢のレンダリングカメラからアバターマシン100Aおよびゴーストマシン100Gが配置された仮想空間を描画する(ステップS228)。表示制御部316は、ステップS228で描画された画像データをヘッドマウントディスプレイ35に出力する(ステップS229)。レンダリング部315はフレーム時間ごとに画像データを生成するため、画像データは動画像のフレーム画像として扱われる。またレンダリング部315は、アバターマシン100Aおよびゴーストマシン100Gが配置された仮想空間を描画することで、アバターマシン100Aが写る第1動画像とゴーストマシン100Gが写る第2動画像とを同時に表示する動画像データを生成したといえる。また、レンダリング部315は、アバターマシン100Aが写る第1動画像およびゴーストマシン100Gが写る第2動画像を、同じ仮想空間に重ねて表示する動画像データを生成したといえる。
【0052】
生成部317は、ステップS207で計算されたレンダリングカメラの位置および姿勢、並びにステップS205で取得された一次視線データに基づいて、仮想空間におけるトレーニーの視線の向きを示す二次視線データを生成する(ステップS230)。生成部317は、ステップS205で取得された操作データ、ステップS206で計算したアバターマシン100Aの姿勢、およびステップS230で生成された二次視線データに基づいて、1フレーム分の挙動記録データを生成する(ステップS231)。
【0053】
生成部317は、トレーニングが終了したか否かを判定する(ステップS232)。例えば、生成部317は、模範データの再生位置が時系列の末尾まで到達してから一定時間が経過したときに、トレーニングが終了したと判定してよい。トレーニングが終了していない場合(ステップS232:NO)、ステップS205に処理を戻し、次のフレームのシミュレーションを行う。
【0054】
他方、トレーニングが終了した場合(ステップ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操作、視線のそれぞれについて評価値が表示されてよい。
【0055】
評価部318は、ワークデータが示すトレーニーの操作によるトレーニングの開始から終了までの刃先の移動軌跡と、模範データが示すトレーナーの操作によるトレーニングの開始から終了までの刃先の移動軌跡とを三次元空間に配置した三次元モデルである軌跡モデルを生成する。
図14は、第1の実施形態に係る軌跡モデルの例を示す図である。表示制御部316は、評価部318が生成した軌跡モデルを、回転可能にヘッドマウントディスプレイ35に表示させて良い。これにより、表示制御部316は、トレーニーの操作による刃先の移動軌跡と、トレーナーの操作による刃先の移動軌跡とを同時に表示することができる。軌跡モデルの回転は、ヘッドマウントディスプレイ35の姿勢の変化によってなされてもよいし、操作装置33の操作によってなされてもよい。
【0056】
《ワークデータの評価》
図15は、第1の実施形態に係るトレーナーによるワークデータの評価方法を示すフローチャートである。
トレーナーがトレーニングシミュレータ30にログインし、メニュー画面にてワークデータの評価を選択すると、取得部312はデータサーバ10にアクセスし、ワークデータテーブルT2に記録されたワークデータのリストを取得する(ステップS301)。表示制御部316は、取得したリストから1つのワークデータを選択するための選択画面をヘッドマウントディスプレイ35に出力する(ステップS302)。トレーナーは1つのワークデータを選択する。
【0057】
取得部312は、データサーバ10にアクセスし、トレーナーによって選択されたワークデータを、ワークデータテーブルT2から取得する(ステップS303)。再現部313は、仮想空間にゴーストマシン100Gとフィールドとを配置する(ステップS304)。
【0058】
再現部313は、ステップS303で取得したワークデータに含まれる作業機130の関節角度および旋回体120の旋回角度の時系列に基づいてゴーストマシン100Gの姿勢を計算することで、ゴーストマシン100Gの挙動を再現する(ステップS305)。再現部313は、ゴーストマシン100Gの旋回体120の位置および姿勢、並びにステップS305で入力された姿勢データに基づいて、仮想空間におけるレンダリングカメラの位置および姿勢を計算する(ステップS306)。
【0059】
再現部313は、ステップS306で決定したレンダリングカメラの位置から、レンダリングカメラが向く方向に所定距離だけ離れた位置にレバーオブジェクトObj2を配置する(ステップS307)。これにより、トレーナーは、トレーニーのレバー操作を確認することができる。
再現部313は、視線オブジェクトObj3を仮想空間に配置する(ステップS308)。視線オブジェクトObj3は、ステップS306で決定したレンダリングカメラの位置から、二次視線データが示す方向に所定距離だけ離れた位置に配置される。
【0060】
レンダリング部315は、ステップS306で求めた位置および姿勢のレンダリングカメラからゴーストマシン100Gが配置された仮想空間を描画する(ステップS309)。表示制御部316は、ステップS309で描画された画像データをヘッドマウントディスプレイ35に出力する(ステップS310)。
【0061】
コメント部321は、現在の再生タイミングにおいてトレーナーからコメントの入力があるか否かを判定する(ステップS311)。コメントの入力がある場合、入力されたコメントと、当該コメントの再生タイミングとを関連付けたコメントデータを生成する(ステップS312)。
【0062】
再現部313は、ワークデータの再生が終了したか否かを判定する(ステップS313)。再生が終了していない場合(ステップS313:NO)、ステップS305に処理を戻し、次のフレームのシミュレーションを行う。
【0063】
他方、再生が終了した場合(ステップS313:YES)、送信部319は、ステップS303で取得したワークデータのワークIDおよびステップS312で生成したコメントデータをデータサーバ10に送信する(ステップS314)。これにより、データサーバ10は、ワークデータテーブルT2において受信したワークIDに関連付けられたデータ列に、受信したコメントデータを追加する。
【0064】
《評価結果の閲覧》
図16は、第1の実施形態に係るトレーニーによる評価結果の閲覧方法を示すフローチャートである。
トレーニーがトレーニングシミュレータ30にログインし、メニュー画面にて評価結果の閲覧を選択すると、取得部312はデータサーバ10にアクセスし、ワークデータテーブルT2に記録されたワークデータのリストを取得する(ステップS401)。このとき取得するリストは、ログインしたトレーニーによって作成されたワークデータのリストであってよい。表示制御部316は、取得したリストから1つのワークデータを選択するための選択画面をヘッドマウントディスプレイ35に出力する(ステップS402)。トレーニーは、1つのワークデータを選択する。取得部312は、データサーバ10にアクセスし、トレーニーによって選択されたワークデータをワークデータテーブルT2から取得する(ステップS403)。再現部313は、仮想空間にゴーストマシン100Gとフィールドとを配置する(ステップS404)。
【0065】
再現部313は、ステップS403で取得したワークデータに含まれる作業機130の関節角度および旋回体120の旋回角度の時系列に基づいてゴーストマシン100Gの姿勢を計算することで、ゴーストマシン100Gの挙動を再現する(ステップS405)。再現部313は、ゴーストマシン100Gの旋回体120の位置および姿勢、並びにステップS405で入力された姿勢データに基づいて、仮想空間におけるレンダリングカメラの位置および姿勢を決定する(ステップS406)。
【0066】
再現部313は、ステップS406で決定したレンダリングカメラの位置から、レンダリングカメラが向く方向に所定距離だけ離れた位置にレバーオブジェクトObj2を配置する(ステップS407)。再現部313は、視線オブジェクトObj3を仮想空間に配置する(ステップS408)。
【0067】
レンダリング部315は、ステップS406で求めた位置および姿勢のレンダリングカメラからゴーストマシン100Gが配置された仮想空間を描画する(ステップS409)。コメント部321は、ワークデータに含まれるコメントデータにおいて、現在の再生タイミングに関連付けられたコメントが存在するか否かを判定する(ステップS410)。現在の再生タイミングに関連付けられたコメントがある場合(ステップS410:YES)、当該コメントを描画された画像データに重畳させる(ステップS411)。表示制御部316は、ステップS409またはステップS411で描画された画像データをヘッドマウントディスプレイ35に出力する(ステップS412)。
【0068】
再現部313は、ワークデータの再生が終了したか否かを判定する(ステップS413)。再生が終了していない場合(ステップS413:NO)、ステップS405に処理を戻し、次のフレームのシミュレーションを行う。他方、再生が終了した場合(ステップS413:YES)、トレーニングシミュレータ30は処理を終了する。
なお、トレーニングシステム1は、トレーナーによる評価が付与されていないワークデータについても、
図16に示す手順で再生することができる。この場合、コメントがないため、ステップS411のコメントの重畳処理がすべてスキップされる。
【0069】
《作用・効果》
このように、第1の実施形態に係るトレーニングシステム1は、以下の処理を実行する。トレーニングシステム1は、第1操作者であるトレーニーによる第1操作データの入力を受け付ける。トレーニングシステム1は、第1操作データに従って第1作業機械であるアバターマシン100Aの姿勢の変化をシミュレートする。トレーニングシステム1は、過去に第2操作者であるトレーナーによって入力された第2操作データに基づいて生成された模範データに基づいて、第2作業機械であるゴーストマシン100Gの挙動を再現する。トレーニングシステム1は、アバターマシン100Aの姿勢の変化を表す第1動画像と、ゴーストマシン100Gの挙動を表す第2動画像とを同時に表示する。
これにより、トレーニングシステム1は、トレーニーが自らの操作と、トレーナーによる操作とを比較しながらトレーニングをすることができる。つまり、第1操作者と第2操作者は同一の操作者であってもよい。同一操作者が過去の操作データと現在の操作データを比較することで、操作の上達度合を確認し、または過去の操作を振り返ることができる。
【0070】
第1の実施形態に係るトレーニングシステム1に係る模範データは、第2操作データに従ってシミュレートされた作業機械100の姿勢の時系列を含む。これにより、トレーニングシステム1はゴーストマシン100Gの挙動を再現するために、シミュレータ314によるシミュレーションを行う必要がない。つまりトレーニングシステム1は、単に時系列が示す姿勢に従ってゴーストマシン100Gの姿勢を変化させることでゴーストマシン100Gの挙動を再現することができる。なお、他の実施形態においては、模範データが作業機械100の姿勢の時系列を含まず、操作データの時系列によって表されてもよい。この場合、トレーニングシステム1は、操作データの時系列に従ってシミュレーションを行うことで、ゴーストマシン100Gの挙動を再現することができる。
【0071】
第1の実施形態に係るトレーニングシステム1の模範データは、第2操作データの入力時におけるトレーナーの視線の時系列を含む。これにより、トレーニングシステム1は、作業機械100の操作方法のみならず、注目すべき点をトレーニーに提示することができる。例えば、注目すべき点とは、作業機械100を操作する場合に、注目すべき注視点である。
【0072】
第1の実施形態に係るトレーニングシステム1は、ワークデータとトレーナーによるコメントデータとを関連付けて記録する。トレーニングシステム1は、ワークデータに基づいて作業機械100の姿勢の変化を再現した動画像と、ワークデータに関連付けられたコメントデータとを同時に表示する。これにより、トレーニーは、自身の操作に対する他者からの指摘を受けることができる。
特に、第1の実施形態に係るトレーニングシステム1は、動画像の再生タイミングがコメントデータに係る再生タイミングとなったときに、コメントデータを表示する。これにより、トレーニーは、作業機械100の一連の操作のうち、どの操作を注意すべきか認識することができる。
【0073】
第1の実施形態に係るトレーニングシステム1は、ワークデータに係る第1操作データと模範データに係る第2操作データの違いに基づいてトレーニーの操作を評価する。これにより、トレーニーは客観的に模範データとの操作のずれの大きさを認識することができる。
【0074】
第1の実施形態に係るトレーニングシステム1は、トレーニーから模範データに係る第2動画像の再生速度の入力を受け付け、アバターマシン100Aが写る第1動画像と、ゴーストマシン100Gが写り、指定の再生速度で再生される第2動画像とを同時に表示する。これにより、トレーニーは、自身の技術レベルに応じたトレーニングを行うことができる。つまり、トレーニーは、操作に不慣れなときに低い再生速度でゴーストマシン100Gを動かすことで、トレーナーの操作を丁寧に確認しながらトレーニングすることができる。他方、トレーニーは、操作に慣れてきたときに1倍に近い再生速度でゴーストマシン100Gを動かすことで、トレーナーの実際の操作に近づくようにトレーニングすることができる。また、トレーニーは、1倍より速い再生速度でゴーストマシン100Gを動かすことで、実機より困難な条件下でトレーニングすることができる。この場合、トレーニーは、実機の操作において体感時間を長く感じることで、丁寧な操作をすることができる。
【0075】
第1の実施形態に係るトレーニングシステム1は、以下の処理を実行する。トレーニングシステム1は、第1操作者であるトレーニーによる第1操作データの入力を受け付ける。トレーニングシステム1は、第1操作データに従って第1作業機械であるアバターマシン100Aの姿勢の変化をシミュレートする。トレーニングシステム1は、過去に第2操作者であるトレーナーによって入力された第2操作データに従ってトレーナーの操作を再現する。トレーニングシステム1は、アバターマシン100Aの姿勢の変化を表す第1動画像と、トレーナーの操作を表すレバーオブジェクトObj2とを同時に表示する。これにより、トレーニーは、トレーナーによる操作を視認しながら、作業機械100のシミュレーションを行うことができる。また、第1の実施形態によれば、レバーオブジェクトObj2として、トレーニーのレバー操作を表す操作点Obj22と、トレーナーのレバー操作を表すプロットObj23とが同時に表示される。これにより、トレーニーは、トレーナーによる操作を視認しながら、作業機械100のシミュレーションを行うことができる。
【0076】
第1の実施形態に係るレバーオブジェクトObj2は、操作レバーの基準位置を示す基準位置画像である基準円Obj21と、操作後の操作レバーの位置を示すプロットObj23とを含む。これにより、トレーニーは、基準円Obj21とプロットObj23との位置関係によって容易に操作レバーの入力位置を認識することができる。
【0077】
第1の実施形態に係るレバーオブジェクトObj2は、操作レバーの過去の位置を示す複数のプロットObj23を含む。複数のプロットObj23は、古いほど小さくまたは透明度が高くなる。これにより、トレーニーは、操作レバーの軌跡を認識することができ、かつ現在の操作レバーの入力位置と過去の入力位置とが混同することを防ぐことができる。
【0078】
第1の実施形態に係るレバーオブジェクトObj2は、ヘッドマウントディスプレイ35における視線方向前方に位置する。これにより、トレーニーは、向いている方向によらず、トレーナーによる操作を視認することができる。
【0079】
第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とを横並びに表示する場合と比較して、挙動の違いを認識しやすい。
【0080】
第1の実施形態に係るトレーニングシステム1のアバターマシン100Aの動画像は、アバターマシン100Aの運転室121内に位置する視点から、アバターマシン100Aが描画された画像である。第1の実施形態に係るトレーニングシステム1のゴーストマシン100Gの動画像は、アバターマシン100Aの運転室121内に位置する視点から、ゴーストマシン100Gが描画された画像である。これにより、トレーニングシステム1は、トレーニーは、アバターマシン100Aの運転室121からの視点において、自身の操作とトレーナーの操作との差を容易に認識することができる。
【0081】
第1の実施形態に係るトレーニングシステム1は、ゴーストマシン100Gの作業具であるバケット133のみを描画することができる。これにより、ゴーストマシン100Gの旋回体120やブーム131などがアバターマシン100Aと干渉して視認性が悪化することを防ぐことができる。他方、トレーニングシステム1は、ゴーストマシン100Gの全体を描画することで、よりアバターマシン100Aとゴーストマシン100Gの姿勢の違いを明確にトレーニーに認識させることができる。
【0082】
第1の実施形態に係るゴーストマシン100Gは、アバターマシン100Aより透明度が高い。これにより、トレーニングシステム1はゴーストマシン100Gがシミュレーションの邪魔となることを防ぐことができる。他の実施形態に係るゴーストマシン100Gは、アバターマシン100Aより透明度を高くしたうえで、アバターマシン100Aと色相を異ならせてもよい。これにより、ゴーストマシン100Gをアバターマシン100Aとより区別しやすくなる。また、他の実施形態に係るゴーストマシン100Gは、輪郭線のみで表示されてもよい。
【0083】
第1の実施形態に係るトレーニングシステム1は、以下の処理を実行する。トレーニングシステム1は、第1操作者であるトレーニーによる第1操作データの入力を受け付ける。トレーニングシステム1は、第1操作データに従って第1作業機械であるアバターマシン100Aの姿勢の変化をシミュレートする。トレーニングシステム1は、過去に第2操作者によって入力された第2操作データに基づいて生成された模範データに基づいて、第2作業機械であるゴーストマシン100Gの姿勢の変化を再現する。トレーニングシステム1は、アバターマシン100Aと、ゴーストマシン100Gの作業具であるバケット133の軌跡を表す刃先オブジェクトObj1とを同時に表示する。これにより、トレーニーは自身の操作とトレーナーの操作との差を容易に認識することができる。
【0084】
第1の実施形態に係るトレーニングシステム1は、刃先上の複数の点それぞれに対応して刃先オブジェクトObj1を配置する。各刃先オブジェクトObj1は、それぞれの点の軌跡を表す。刃先上の複数の点について刃先オブジェクトObj1が設けられることで、トレーニーは、バケット133の刃先の奥行方向の位置を容易に認識することができる。
【0085】
第1の実施形態に係る刃先オブジェクトObj1の色は、複数の点それぞれによって異なる。これにより、複数の刃先オブジェクトObj1を混同して認識する可能性を低減することができる。
【0086】
第1の実施形態に係るトレーニングシステム1は、以下の処理を実行する。トレーニングシステム1は、操作者による操作データの入力を受け付ける。トレーニングシステム1は、操作データの入力時における操作者の視線を検出する。トレーニングシステム1は、操作データに従って作業機械100の姿勢の変化をシミュレートする。トレーニングシステム1は、シミュレートされた作業機械100の姿勢の変化を表す姿勢画像と、視線の変化を表す視線オブジェクトObj3とを同時に表示する。これにより、トレーニングシステム1は、操作者が作業機械100の操作と視線方向との関係を表示することができる。これにより、トレーニーは、トレーナーの視線から操作中に注視すべき点を認識することができる。またこれにより、トレーナーは、トレーニーの視線に基づいて運転を評価することができる。
【0087】
第1の実施形態に係る刃先オブジェクトObj1、レバーオブジェクトObj2のプロットObj23、および視線オブジェクトObj3は、軌跡を表す複数の点である。他方、他の実施形態においては、これらのオブジェクトの一部または全部は、軌跡を表す曲線であってもよい。
【0088】
〈第2の実施形態〉
第1の実施形態に係るトレーニングシステム1において、ゴーストマシン100Gの挙動は、設定データにおいて、指定された再生速度で連続的に再現される。一方で、トレーニーが初心者である場合などに、操作がゴーストマシン100Gの挙動に追いつかない可能性がある。このような場合に、ゴーストマシン100Gが連続的に再現され、アバターマシン100Aとゴーストマシン100Gの姿勢が大きく相違してしまうと、トレーニーは操作の指標を見失ってしまう可能性がある。第2の実施形態に係るトレーニングシステム1は、トレーニーによる操作が遅い場合にも、適切なトレーニングの実施を可能とする。
【0089】
第1の実施形態に係るトレーニングシステム1は、
図5に示すように、フレーム時間ごとにステップS208でゴーストマシン100Gの挙動を再現する。これに対し、第2の実施形態では、ステップS208に代えて以下に示す処理を実行する。
【0090】
再現部313は、ステップS206で計算したアバターマシン100Aの姿勢と、前回のゴーストマシン100Gの姿勢との距離を算出する。姿勢どうしの距離は、例えば、旋回角の差、ブーム角の差、アーム角の差およびバケット角の差の二乗和平方根によって求めることができる。再現部313は、算出した距離があらかじめ設定データにおいて設定したの閾値を超える場合、ゴーストマシン100Gの姿勢を維持する。他方、算出した距離があらかじめ設定データにおいて設定したの閾値を超えない場合、再現部313は、模範データに含まれる作業機130の関節角度および旋回体120の旋回角度の時系列と、設定データが示すゴーストマシン100Gの再生速度とに基づいてゴーストマシン100Gの姿勢を計算することで、ゴーストマシン100Gの挙動を再現する。
【0091】
このように、第2の実施形態によれば、トレーニングシステム1は、シミュレートされたアバターマシン100Aの姿勢とゴーストマシン100Gの姿勢との差が所定の閾値を超える場合、ゴーストマシン100Gの挙動の再現を中断する。例えば、トレーニングシステム1は、ゴーストマシン100Gの挙動の再現を中断する際、中断した瞬間の画像を保管しておいてもよい。これにより、第2の実施形態に係るトレーニングシステム1は、トレーニーによる操作が遅い場合にも、適切なトレーニングの実施を可能とする。
【0092】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
【0093】
上述した実施形態に係るトレーニングシステム1は、データサーバ10とトレーニングシミュレータ30とを備えるが、これに限られない。例えば、他の実施形態に係るトレーニングシステム1は、トレーニングシミュレータ30単独で構成されてもよい。この場合、トレーニングシミュレータ30にはあらかじめ記録された模範データに基づいてトレーニングを実施することができる。また、他の実施形態に係るトレーニングシステム1は、トレーニーが過去に操作したワークデータを参照しながらトレーニングを実施するものであってもよい。また、他の実施形態においては、トレーニングシミュレータ30の一部が外部のコンピュータに設けられてもよい。例えば、他の実施形態においては、トレーニングシミュレータ30が操作データの入力と演算結果の表示のみを担い、外部装置にてシミュレーションの計算を行ってもよい。
【0094】
上述した実施形態に係るトレーニングシステム1は、ヘッドマウントディスプレイ35を表示装置として用いるが、これに限られない。例えば、他の実施形態においては、作業機械100の遠隔操作に用いる大型ディスプレイを表示装置として用いてよい。このとき、入力部311は、操作者からレンダリングカメラの位置および姿勢の指定を受け付けてよい。レンダリングカメラの位置および姿勢の指定の例としては、主観視点(運転者視点)、客観視点(運転者の斜め後ろ)、俯瞰視点(作業機械100の側方)、自由視点などが挙げられる。レンダリング部315は、指定されたレンダリングカメラの位置および姿勢に従って、仮想空間をレンダリングする。また、表示制御部316は、ワークデータの再生時に、リプレイ(Start over)や一時停止の指示を受け付けてもよい。また、表示制御部316は、再生位置を示すシークバーを表示し、当該シークバーの操作によって任意のポイントの頭出しの指示を受け付けてもよい。
【0095】
〈コンピュータ構成〉
図17は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ90は、プロセッサ91、メインメモリ92、ストレージ93、インタフェース94を備える。
上述のトレーニングシミュレータ30は、コンピュータ90に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ93に記憶されている。プロセッサ91は、プログラムをストレージ93から読み出してメインメモリ92に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ91は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ92に確保する。プロセッサ91の例としては、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、マイクロプロセッサなどが挙げられる。
【0096】
プログラムは、コンピュータ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または複数のコンピュータ上で仮想化されたものであってもよい。
【0097】
ストレージ93の例としては、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリ等が挙げられる。ストレージ93は、コンピュータ90のバスに直接接続された内部メディアであってもよいし、インタフェース94または通信回線を介してコンピュータ90に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムをメインメモリ92に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ93は、一時的でない有形の記憶媒体である。
【0098】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ93に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0099】
1…トレーニングシステム 10…データサーバ 100…作業機械 100A…アバターマシン 100G…ゴーストマシン 110…走行体 120…旋回体 121…運転室 130…作業機 131…ブーム 132…アーム 133…バケット 30…トレーニングシミュレータ 31…演算装置 311…入力部 312…取得部 313…再現部 314…シミュレータ 315…レンダリング部 316…表示制御部 317…生成部 318…評価部 319…送信部 320…設定記憶部 321…コメント部 322…認証部 33…操作装置 35…ヘッドマウントディスプレイ 90…コンピュータ 91…プロセッサ 92…メインメモリ 93…ストレージ 94…インタフェース Obj1…刃先オブジェクト Obj2…レバーオブジェクト Obj21…基準円 Obj22…操作点 Obj23…プロット Obj3…視線オブジェクト Obj4…サイドビュー画像 T1…模範データテーブル T2…ワークデータテーブル T3…ユーザテーブル V…仮想空間