(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022149636
(43)【公開日】2022-10-07
(54)【発明の名称】訓練システム、方法及びプログラム
(51)【国際特許分類】
G09B 9/00 20060101AFI20220929BHJP
G09B 5/02 20060101ALI20220929BHJP
A01G 7/00 20060101ALI20220929BHJP
G06Q 10/06 20120101ALI20220929BHJP
G06Q 50/02 20120101ALI20220929BHJP
【FI】
G09B9/00 Z
G09B5/02
A01G7/00 603
G06Q10/06
G06Q50/02
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021051879
(22)【出願日】2021-03-25
(71)【出願人】
【識別番号】000221096
【氏名又は名称】東芝システムテクノロジー株式会社
(74)【代理人】
【識別番号】100112003
【弁理士】
【氏名又は名称】星野 裕司
(74)【代理人】
【識別番号】100177312
【弁理士】
【氏名又は名称】辰己 雄一
(72)【発明者】
【氏名】加藤 寛之
(72)【発明者】
【氏名】今澤 要
(72)【発明者】
【氏名】伊藤 真紀恵
(72)【発明者】
【氏名】堀川 秀文
(72)【発明者】
【氏名】清水 翔太
【テーマコード(参考)】
2C028
5L049
【Fターム(参考)】
2C028AA10
2C028BA01
2C028BB04
2C028BC05
2C028BD03
5L049AA20
5L049CC01
(57)【要約】
【課題】VR技術を用いて農作物の栽培技術について効果の高い訓練を可能にすること。
【解決手段】仮想空間に表示される訓練対象の農作物の栽培技術を教育・訓練するシステムにおいて、仮想空間に表示される農作物に対する作業対象部位と当該作業対象部位に用いる道具である作業手段とを作業手順に関連付けて記憶する訓練シナリオ記憶部と、作業手順の進行に伴って、前記農作物および作業手段を表示装置に三次元表示させる三次元表示制御部と、ユーザあるいは操作用装置の位置や動きを検知して検知信号を出力する検知信号出力部と、前記検知信号に基づいて、仮想空間に表示される作業手段を変化させる操作検知部と、仮想空間における作業対象部位の座標と、前記作業手段の座標および操作内容とに基づいて操作の結果を判定する操作判定部とを備え、前記三次元表示制御部は、前記操作判定部の判定結果に基づいて前記農作物を変化させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
表示装置の仮想空間に表示される訓練対象の農作物の栽培技術を教育・訓練する訓練システムであって、
作業手順に関連付けて、前記農作物に対する一又は二以上の作業対象部位を記憶すると共に、前記作業対象部位に用いる道具である作業手段を記憶する訓練シナリオ記憶部と、
作業手順の進行に伴って、前記農作物および前記作業手段の映像を前記表示装置に三次元表示させる三次元表示制御部と、
ユーザあるいは操作用装置の位置や動きを検知して検知信号を出力する検知信号出力部と、
前記検知信号に基づいて、仮想空間に表示される前記作業手段の映像を変化させる操作検知部と、
仮想空間における前記作業対象部位の座標と、前記作業手段の座標および操作内容とに基づいて操作の結果を判定する操作判定部と、を備え、
前記三次元表示制御部は、前記操作判定部の判定結果に基づいて前記農作物の映像を変化させることを特徴とする訓練システム。
【請求項2】
請求項1記載の訓練システムにおいて、
さらに、前記操作判定部の判定結果に基づいて変化した農作物について、作業後の成長過程の映像を生成して出力する操作判定出力部を備えたことを特徴とする訓練システム。
【請求項3】
前記訓練シナリオ記憶部は、作業に対する判定基準を外部パラメータとして記憶し、
前記操作判定出力部は、当該判定基準と前記操作判定部の判定結果とに基づいて作業の習熟度を演算することを特徴とする請求項2に記載の訓練システム。
【請求項4】
前記農作物は、房、茎、車、枝分かれ、実、へた、粒のうち少なくとも2以上をノードとして順に接続した階層構造のデータで表示可能な農作物であることを特徴とする請求項1乃至3のいずれか一項に記載の訓練システム。
【請求項5】
前記作業対象部位は前記ノードのいずれかであり、前記作業手段は刃を有する切断手段であることを特徴とする請求項4に記載の訓練システム。
【請求項6】
前記ノードのいずれかには、前記表示装置に表示されない衝突検出用の第1の仮想オブジェクトが設定可能になっており、前記切断手段の刃近傍には前記表示装置に表示されない衝突検出用の第2の仮想オブジェクトが設定可能であり、
前記操作判定部は、仮想空間において前記第1の仮想オブジェクトと前記第2の仮想オブジェクトとの衝突を検出したとき、衝突が検出されたノードから下位の末端に向かって当該ノードに繋がるノードを識別表示させ、さらに前記切断手段が所定の動作をしたタイミングで前記識別表示させたノードは切断されたと判定することを特徴とする請求項5に記載の訓練システム。
【請求項7】
前記三次元表示制御部は、前記操作判定部によって切断されたと判定されたノードについて、前記農作物を構成する他のノードと切り離して表示するか、または非表示にすることを特徴とする請求項6に記載の訓練システム。
【請求項8】
前記三次元表示制御部は、前記操作判定部によって切断されたと判定されたノード以外の全部又は一部のノードについて、経時的に拡大表示することによって前記農作物の成長の様子を表示させることを特徴とする請求項6に記載の訓練システム。
【請求項9】
表示装置の仮想空間に表示される訓練対象の農作物の栽培技術を教育・訓練する方法であって、
作業手順に関連付けて、前記農作物に対する一又は二以上の作業対象部位を記憶すると共に、前記作業対象部位に用いる道具である作業手段を記憶する処理と、
作業手順の進行に伴って、前記農作物および前記作業手段の映像を前記表示装置に三次元表示させる三次元表示制御処理と、
ユーザあるいは操作用装置の位置や動きを検知して検知信号を出力する検知信号出力処理と、前記検知信号に基づいて、仮想空間に表示される前記作業手段の映像を変化させる操作検知処理と、
仮想空間における前記作業対象部位の座標と、前記作業手段の座標および操作内容とに基づいて操作の結果を判定する操作判定処理と、を含み、
前記農作物には前記表示装置に表示されない衝突検出用の第1の仮想オブジェクトが設定され、また前記作業手段には前記表示装置に表示されない衝突検出用の第1の仮想オブジェクトが設定されており、
前記操作判定処理は、さらに、
前記第1の仮想オブジェクトと前記第2の仮想オブジェクトの仮想空間での衝突を検知することにより、前記農作物の映像の一部又は全部を変化させる第1の処理と、
前記第1の処理の後、前記第1の仮想オブジェクトと前記第2の仮想オブジェクトの仮想空間での衝突を検知した状態で、前記作業手段の操作を検知して前記第1の処理によって変化した映像部分をさらに変化させる第2の処理と、
を含むことを特徴とする訓練方法。
【請求項10】
仮想空間に表示される訓練対象の農作物の栽培技術を教育・訓練するプログラムであって、作業手順に関連付けて、仮想空間に表示される前記農作物に対する一又は二以上の作業対象部位を記憶すると共に、前記作業対象部位に用いる道具である作業手段を記憶する処理と、作業手順の進行に伴って、前記農作物および前記作業手段の映像を表示装置に三次元表示させる三次元表示制御処理と、
ユーザあるいは操作用装置の位置や動きを検知して検知信号を出力する検知信号出力処理と、前記検知信号に基づいて、仮想空間に表示される前記作業手段の映像を変化させる操作検知処理と、
仮想空間における前記作業対象部位の座標と、前記作業手段の座標および操作内容とに基づいて操作の結果を判定する操作判定処理と、を実行し、
前記三次元表示制御処理は、前記操作判定処理の判定結果に基づいて前記農作物の映像を変化させることを特徴とするコンピュータ実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想現実(Virtual Reality,以下「VR」という。)の技術を用いて、葡萄の摘粒、摘房、剪定など、葡萄等の農作物の栽培技術習得のための訓練を行う訓練システム、方法及びプログラムに関する。
【背景技術】
【0002】
従来、農作物として例えば葡萄の栽培方法について特許提案がなされている。(例えば、特許文献1,2を参照。)
【0003】
一般に農作物の栽培には技術が必要になる場合が多く、従来は専ら作業者が実地で作業をすることにより技術を修得していた。しかしながら、これでは実習が可能になる時期まで待つ必要があり、また実習できる農作物の量や数にも限りがある。
【0004】
この問題に対して、特許文献3では、農業を実地での経験ではなく、バーチャル(仮想的)な映像で、ユーザ(訓練対象者)が擬似的に体験することが提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4418863号公報
【特許文献2】特許第5206925号公報
【特許文献3】特開2009-87309号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、農作物の栽培に関する技術は多岐にわたるため、農作物の種類や特性に応じてどのようにシステムを構築して訓練するかが重要になる。例えば葡萄の栽培時に必要な摘粒作業の訓練をどのようなシステムで、どのように実施するかという点については特許文献3には何ら開示されていない。
【0007】
本発明は係る事情に鑑みてなされたものであり、VR技術を用いて、葡萄の摘粒など農作物の栽培技術について効果の高い訓練を可能にする訓練システム、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の訓練システムは、表示装置の仮想空間に表示される訓練対象の農作物の栽培技術を教育・訓練する訓練システムであって、
作業手順に関連付けて、仮想空間に表示される前記農作物に対する一又は二以上の作業対象部位を記憶すると共に、前記作業対象部位に用いる道具である作業手段を記憶する訓練シナリオ記憶部と、
作業手順の進行に伴って、前記農作物および前記作業手段の映像を表示装置に三次元表示させる三次元表示制御部と、
ユーザあるいは操作用装置の位置や動きを検知して検知信号を出力する検知信号出力部と、
前記検知信号に基づいて、仮想空間に表示される前記作業手段の映像を変化させる操作検知部と、
仮想空間における前記作業対象部位の座標と、前記作業手段の座標および操作内容とに基づいて操作の結果を判定する操作判定部と、を備え、
前記三次元表示制御部は、前記操作判定部の判定結果に基づいて前記農作物の映像を変化させることを特徴とする。
【0009】
本発明では、実空間におけるユーザあるいはコントローラなどの操作用装置の動きをもとに仮想空間の作業手段の映像を動かす。そして、仮想空間での作業手段の座標および操作内容と作業対象部位の座標とをもとに作業手の結果を判定し、この判定結果に基づいて仮想空間での農作物の映像を変化させる。これにより、仮想空間において、訓練対象の農作物等に応じて適切な作業手段を割り付けることができ、この作業手段による作業結果を効率よく判定することができる。
【0010】
好ましくは、前記操作判定部の判定結果に基づいて変化した農作物について、作業後の成長過程の映像を生成して出力する操作判定出力部を備えるとよい。これによりユーザは、作業の結果がその後の農作物の成長にどのように影響するのかを容易に知得することができる。
【0011】
前記農作物が葡萄の場合、房、茎、車、枝分かれ、実の夫々をノードとして、房ごとに少なくとも2以上のノードを末端に向かって順に接続したデータ、すなわち接続関係及び方向性を有するデータ構造にするのが好ましい。この場合、前記作業対象部位は前記ノードのいずれかであり、前記作業手段はハサミである。
【0012】
また、本発明に係る訓練システムは、少なくとも前記ノードのいずれかには、表示装置に表示されない衝突検出用の第1の仮想オブジェクトが設定可能になっており、前記ハサミの両刃間には表示装置に表示されない衝突検出用の第2の仮想オブジェクトが設定可能であり、前記操作判定部は、前記第1の仮想オブジェクトと前記第2の仮想オブジェクトとの衝突(重なりを含む。)を検出したとき、衝突が検出されたノードから末端(実あるいは粒側)に向かって当該ノードに接続するノードを識別表示させ、さらに前記ハサミが所定の動作(例えば閉じる動作)をしたとき、前記識別表示させたノードは切断されたと判定することを特徴とする。これにより、ユーザは切断される実を確認して切断動作をすることができる。
【0013】
本発明に係る訓練方法は、表示装置の仮想空間に表示される訓練対象の農作物の栽培技術を教育・訓練する方法であって、
作業手順に関連付けて、前記農作物に対する一又は二以上の作業対象部位を記憶すると共に、前記作業対象部位に用いる道具である作業手段を記憶する処理と、
作業手順の進行に伴って、前記農作物および前記作業手段の映像を前記表示装置に三次元表示させる三次元表示制御処理と、
ユーザあるいは操作用装置の位置や動きを検知して検知信号を出力する操作検知処理と、前記検知信号に基づいて、仮想空間に表示される前記作業手段の映像を変化させる操作検知処理と、
仮想空間における前記作業対象部位の座標と、前記作業手段の座標および操作内容とに基づいて操作の結果を判定する操作判定処理と、を含み、
前記農作物には前記表示装置に表示されない衝突検出用の第1の仮想オブジェクトが設定され、また前記作業手段には前記表示装置に表示されない衝突検出用の第1の仮想オブジェクトが設定されており、
前記操作判定処理は、さらに、
前記第1の仮想オブジェクトと前記第2の仮想オブジェクトの仮想空間での衝突を検知することにより、前記農作物の映像の一部又は全部を変化させる第1の処理と、
前記第1の処理の後、前記第1の仮想オブジェクトと前記第2の仮想オブジェクトの仮想空間での衝突を検知した状態で、前記作業手段の操作を検知して前記第1の処理によって変化した映像部分をさらに変化させる第2の処理と、
を含むことを特徴とする。
【0014】
また、本発明に係るプログラムは、仮想空間に表示される訓練対象の農作物の栽培技術を教育・訓練するプログラムであって、
作業手順に関連付けて、仮想空間に表示される前記農作物に対する一又は二以上の作業対象部位を記憶すると共に、前記作業対象部位に用いる道具である作業手段を記憶する処理と、作業手順の進行に伴って、前記農作物および前記作業手段を表示装置に三次元表示させる三次元表示制御処理と、
ユーザあるいは操作用装置の位置や動きを検知して検知信号を出力する操作検知処理と、前記検知信号に基づいて、仮想空間に表示される前記作業手段を変化させる操作検知処理と、仮想空間における前記作業対象部位の座標と、前記作業手段の座標および操作内容とに基づいて操作の結果を判定する操作判定処理と、を実行し、
前記三次元表示制御処理は、前記操作判定処理の判定結果に基づいて前記農作物を変化させることを特徴とする。
【発明の効果】
【0015】
本発明においては、VR技術を用いて、摘粒作業など農作物の栽培技術について効果の高い訓練が可能になる。
【図面の簡単な説明】
【0016】
【
図1】本発明の実施の形態による訓練システムの機能ブロック図である。
【
図2】本発明の実施の形態による装置構成及び訓練対象物の説明図である。
【
図3】
図1の訓練シナリオ記憶部のデータ構成図である。
【
図4】
図1の操作判定記憶部のデータ構成図であり、
図4(a)は、個々のユーザの操作判定記録、
図4(b)は複数のユーザの統計処理された操作記録である。
【
図5】本実施の形態による葡萄の摘粒作業に関する訓練システムの動作内容の説明図である。
【
図8】本実施の形態による葡萄モデルの座標系の説明図である。
【
図9】葡萄モデルとハサミに対する仮想オブジェクトの設定の説明図である。
【
図10】階層構造の葡萄モデルに対する仮想オブジェクトの設定の説明図である。
【
図11】本実施の形態によるコントローラと座標系の説明図である。
【
図12】
図1の操作判定部の処理手順を示すフローチャートである。
【
図13】本実施の形態による摘粒作業の評価方法の説明図であり、
図13(a)は、摘粒対象、非摘粒対象の全ての粒に点数を付与した房の状態を示す図であり、
図13(b)は、摘粒対象について摘粒した後の房の状態を示す図である。
【
図14】葡萄モデルのデータ構造の一例を示す説明図である。
【
図15】本実施の形態による摘粒作業の評価方法の説明図である。
【発明を実施するための形態】
【0017】
以下に本発明に係る訓練システムの実施の形態について図面を参照しながら説明する。
図1において、訓練システム1は、バーチャルコンテンツ表示装置10、操作用装置50、訓練シナリオ/操作記録判定装置(以下、単に「判定装置」という。)60で構成される。バーチャルコンテンツ表示装置10として、たとえばヘッドマウントディスプレイ(以下、単に「HMD」という。)を用いることができる。以下、このHMDを用いた場合を例に説明する。
【0018】
判定装置60とHMD10は有線又は無線の通信回線を介して接続される。この判定装置60は、汎用コンピュータで実現することもできるが、HMD10と一体として実現してもよい。また操作用装置50についても、HMD10の機能を用いて実現することもできる。
【0019】
判定装置60は、HMD10へ送信するための訓練対象物の三次元データや、訓練対象物の操作手順データなどを記憶する。また、判定装置60は、HMD10から送られてくる操作情報に基づいてユーザの操作内容に関する判定や統計分析を行う。そして、統計分析の結果に基づいて操作手順や判定基準などの訓練シナリオの変更を行う。
【0020】
操作用装置50は、ユーザが所持あるいは装着するコントローラ、あるいはユーザの手指の動きを検知するハンドトラッキングなどで構成することができる。この操作用装置50は、ユーザの動きを検知することができれば足り、ユーザの視線や検出した特定のオブジェクト(例えば手指の映像)で訓練対象物の操作が可能であれば、視線や特定のオブジェクトを検知する機能なども含まれる。
【0021】
HMD10は、判定装置60から渡される訓練対象物の三次元データをもとに、訓練対象物を三次元仮想空間に表示し、操作用装置50から渡される検知信号をもとに、訓練対象物を操作する手段(例えば後述するハサミ等)の位置や操作内容(例えばハサミの移動や開閉動作等)などの操作情報を得る。この操作情報は、判定装置60へ送られ、操作内容に関して判定が行われる。
【0022】
より詳細には、判定装置60は、訓練対象物の三次元データを保存する3Dモデル記憶部61、操作手順などユーザを訓練するためのシナリオ(訓練シナリオ)を保存する訓練シナリオ記憶部62、操作判定された結果を保存する操作判定記憶部63を備える。
【0023】
判定装置60は、また、3Dモデル記憶部61と訓練シナリオ記憶部62に保存されているデータをもとに、訓練対象物や訓練シナリオに従った操作指示などの情報をHMD10に仮想表示させるための制御情報を出力する3D-CG表示制御指令部71、HMD10から送られてくる操作情報をもとにユーザの操作内容を評価し、評価結果を操作判定記憶部63に書き込む操作判定部72、操作判定記憶部63に保存されている評価結果を出力する操作判定出力部73、当該評価結果をもとに統計・分析を行う統計分析部74、この統計分析の結果に基づいて訓練シナリオのデータを編集するシナリオ変更編集部75を備える。シナリオ変更編集部75は、図示しないユーザインタフェースによって人間系で訓練シナリオを編集するようにしてもよいが、統計分析の結果に基づいて自動的に編集処理を行うようにしてもよい。
【0024】
HMD10は、判定装置60の3D-CG表示制御指令部71から送られてくる制御情報をもとに表示装置(図示せず)の仮想空間に3Dオブジェクトとして表示する3D-CG表示部11、操作用装置50から渡される検知信号をもとに、アプリケーションプログラム固有で設定され、操作用装置50の動作に合わせた仮想空間上の座標取得やアプリケーションプログラム固有の操作内容を検知する操作検知部12を備える。具体的には、コントローラ等の操作用装置50の動きあるいはボタンの押下などの検知信号をもとに、例えば後述するハサミなど所定の作業手段の仮想空間での三次元座標や動き情報、あるいは操作内容(例えば、ハサミの開閉等)を検知する。操作検知部12が検知したこれらの情報は操作座標(操作座標情報および操作内容情報)として操作判定部72に渡される。
【0025】
操作用装置50は、ユーザの動作や操作など操作判定に用いるデータを検知して、HMD10の操作検知部12に渡す検知信号出力部51を備える。この検知信号出力部51はHMD10を立ち上げた際に自動で操作用装置50などの位置を取得する。
ここで、各手段11,12,51,71~75はコンピュータの機能としてプログラムによって実現可能である。
【0026】
訓練システム1の装置構成例およびHMD10に表示される訓練対象物のイメージを
図2に示す。ユーザの装着するHMD10の仮想空間には、右手のオブジェクト80a、左手のオブジェクト80b、農作業用の道具である作業手段81、訓練対象物82が表示される。
図2の例では、ユーザが操作するコントローラ50の動きに連動して、右手のオブジェクト80aと当該オブジェクトに把持された作業手段であるハサミ81が動作する。たとえば右手用コントローラ50のボタンが押下されると、この情報が検知信号出力部51から操作検知部12に渡り、操作検知部12で生成された操作情報(ハサミ81の閉動作)が操作判定部72、3D-CG表示制御指令部71へ渡る。3D-CG表示制御指令部71はこの操作情報をもとに状態変化分の制御情報(ハサミ81を閉動作およびこれに連動する右手のオブジェクト80aの映像)を生成して3D-CG表示部11経由で表示装置に表示させる。この結果、仮想空間上で右手のオブジェクト80aとハサミ81の映像が変化する。左手のオブジェクト80bはハンドトラッキング技術により仮想空間上で動作するが、左手用のコントローラによって動作するようにしてもよい。なお、ユーザの動きをトラッキングする方法としては、ヘッドトラッキング、ポジショントラッキング、ハンドトラッキング、アイトラッキングなど既知の方法を用いることができる。
【0027】
農作物として葡萄の摘粒の訓練を行う場合、HMD10には、訓練対象物82として複数の粒を有する葡萄の房が三次元仮想表示される。
図2の例では、訓練対象物である葡萄82と左手のオブジェクト80bの位置関係により、ユーザの左手の動きに伴って葡萄82の房が移動・回転する。また、葡萄82の粒とハサミ81との仮想空間での位置関係により、ハサミ81の開閉に伴い、所定の位置の粒が摘粒される。
【0028】
次に、訓練シナリオ記憶部62のデータ例を
図3に示す。訓練シナリオは、訓練手順の項目(作業項目)ごとにシステムの動作内容、動作条件、ガイダンス内容等が設定される。訓練シナリオは訓練題材ごとに複数設けられる。なお訓練シナリオは各項目の判定結果によって分岐させるようにしてもよい。
【0029】
図3において、訓練手順の順番に作業項目が記憶され、各作業項目にはガイダンス表示の有無、判定の有無、作業手段(識別情報)、作業対象(識別情報)、作業時の挙動、作業の制限時間、採点の有効/無効、ガイダンス表示用の設定データなどが設定可能になっている。例えばガイダンス表示欄にフラグをセットすれば、シナリオの進行に伴って設定データで設定されたガイダンスが表示される。判定欄にフラグをセットすれば、その項目に進んだときに判定プログラムが起動される。したがって、ユーザの作業能力や習熟度などユーザのレベルによってフラグの設定を変えることにより、適切な訓練を行うことができる。なお、これらフラグの設定は人間系で行うようにしてもよいが、シナリオ変更編集部75によって訓練対象のユーザの識別情報やユーザのレベルに基づいて自動的に設定するようにしてもよい。
【0030】
作業手段は作業に用いる道具であり、ユーザの操作に連動して仮想空間上で動く。作業対象は、作業の対象となる農作物である。本実施の形態の訓練シナリオデータでは、訓練シナリオの作業項目ごとに作業対象に合わせて異なる作業手段が設定可能になっている。
【0031】
図4(a)は、操作判定記憶部63のデータ構成例である。ユーザID、訓練シナリオIDごとに、各作業項目の判定結果が保存される。
図4(b)はグループごとの統計データの例である。3Dモデル記憶部61には、訓練対象物の3Dモデルを表示するための三次元座標が保存される。
【0032】
以下、訓練対象物が葡萄であり、作業項目が摘粒作業の場合を例に本実施の形態の動作概要を説明する。なお以下の説明では、ユーザは右手、左手にそれぞれコントローラ50を把持し、右手のコントローラで仮想空間のハサミ(作業手段)81を操作し、左手のコントローラで葡萄82の房を回転させたり、傾けたりする場合を想定する。
【0033】
葡萄の摘粒作業は
図5に示すように、仮想空間において摘粒対象にハサミ81があたると、摘粒対象である葡萄の粒の色が変わる。そしてユーザが右手のコントローラ50のトリガボタンを押すと粒がカットされる。また、左手のコントローラ50の操作によって房を回転させることができる。左手のコントローラ50を動かして、仮想空間上の左手のオブジェクト80bを葡萄の房82に近づけると、房の付け根に回転マークが表示される。この状態で、ユーザの左手コントローラ50をこの回転マーク方向に回転させることにより房82が回転する。
【0034】
複数の粒を有する葡萄の房は、
図6に示す3Dモデルによって表すことができる。
図6において、葡萄のデータ構造は「房」を単位として、順に「茎別れ」、「車」、「車内枝分かれ」、「実」というように、房の付け根から末端の実に至るまでの房を構成する部位をノードとして管理する。そして、各部位(ノード)には、S:房,E:茎分れ,C:車,K:車内枝分かれ,T:実,というように部位を識別するための情報(識別情報)を持たせる。
【0035】
図6に示すように、例えば実1には、「S01_E01_C01_T14」というように、どのような経路を通って接続しているかを示す属性情報(以下、「3Dオブジェクト名」という。)を付する。この3Dオブジェクト名は、部位の識別用アルファベットに通し番号を付け、各部位をアンダースコアのような記号で繋いで構成することができる。この場合、アンダースコアは、各部位(ノード)の接続関係を示す情報(ブランチ)としての機能を担う。房の付け根から該当するノードに至るまでを順に各部位(ノード)の識別情報を繋げることによって、各ノードの接続の順序や分岐を効果的に表すことができる。
【0036】
なお、葡萄のモデルは上記に限らず、訓練シナリオの中で葡萄82に対する作業に関して作業手段81が作用する部位をノードとして含むようにすれば足りる。例えば、
図7に示すように葡萄の「実」をさらに、「へた」と「粒」にわけて、作業手段81を「粒」に作用させるようにしてもよい。
【0037】
また、図示しないが、各部位(ノード)は、3D座標を有する。この3D座標は、仮想空間内の絶対座標として持たせることも可能であるが、
図8に示すように房の付け根を基準点として、茎を房の基準軸(例えばy軸)とした相対座標で表すことができる。そして、後述する処理によってコントローラ50の動きに連動して葡萄房82の映像を回転させる。
【0038】
また、
図9、
図10に示すように、この葡萄を構成する各ノードには仮想オブジェクト1、作業手段には仮想オブジェクト2が設定可能になっている。この仮想オブジェクト1,2は、仮想空間上には表示されない透明な特定形状の物体(オブジェクト)である。後述する操作判定部72の処理によって、仮想オブジェクト1と仮想オブジェクト2が衝突したか否かが判定される。そしてこの判定の結果によって作業対象について異なる処理が実行される。仮想オブジェクトは、
図9に示すように、立方体や直方体で表すことができるが、これに限らず球体その他の形態で表すことができる。
【0039】
葡萄の摘粒作業に関する本訓練システム1の動作について説明する。なお、この作業では現実空間において、ユーザは右手と左手にそれぞれコントローラ1(50)、コントローラ2(50)を握持する。コントローラ1(50)によって仮想空間上でハサミ81が動作し、コントローラ2(50)によって仮想空間上で作業対象の葡萄の房が回転、変位する。このコントローラ1,2(50)と仮想空間での作業手段の動作の割付は、
図3に示す訓練シナリオにおいて任意に設定できる。
【0040】
訓練システム1が起動すると、3D-CG表示制御指令部71は訓練シナリオ記憶部62および3Dモデル記憶部61にアクセスして、実行する訓練シナリオの訓練対象物や作業手段等の3Dオブジェクトを仮想空間上に表示するための制御情報をHMD10へ出力する。HMD10の3D-CG表示部11は3D-CG表示制御指令部71から受け取った制御情報に基づいて、図示しない表示装置にユーザ視界の仮想空間の映像を表示する。具体的には、
図2に示すように、ユーザの手80a,80b、作業手段である摘粒用のハサミ81、及び訓練対象の葡萄の房82などがそれぞれ3Dオブジェクトとして表示される。
【0041】
ユーザは、表示装置に表示される視界映像を見ながら、仮想空間内での左手が葡萄の房近傍にくるまで、コントローラ2(50)を動かす。ユーザがコントローラ2(50)のトリガボタンを押下すると、訓練システム1の操作検知部12は、コントローラ2(50)から送られてくる検知信号によってこれを検知すると、左手80bで葡萄の房を支える映像を表示する。
【0042】
ユーザは、この状態でコントローラ2(50)を回転させる。すると、操作検知部12は、コントローラ2(50)の検知信号出力部51から送られてくる検知信号をもとに葡萄の房を仮想空間内で回転させる。
【0043】
以下、房の回転処理について説明する。
操作検知部12は、ユーザが房を掴んだ際のコントローラ2の角度によって軸の値を設定する(
図11参照)。
【0044】
ステップ1)ユーザは左手(コントローラ2(50))のボタンを押し、房を掴んだ状態になった瞬間の房、手の回転を示すクオータニオンを保存する(房:Q_f1、手:Q_h1)
ステップ2)その後、左手を動かした後の現在の手のクオータニオンをQ_h2とする。
ステップ3)現在時点と掴み始め時点との差分の回転Q_h3を求める。
(Q_h3 = Q_h2 * Inverse(Q_h1))
ステップ4)Q_h3に対し、房を掴んだ瞬間の房の角度の補正を掛けてQ_f2を求める。
(Q_f2 = Q_h3 * Q_f1)
ステップ5)Q_f2を現在の房の回転として適用する。
【0045】
以上は、コントローラ2(50)を用いて房を回転させる場合の処理であるが、ハンドジェスチャ等の他の手法によって房を回転させるときも同様の処理で実現することができる。
【0046】
その房に属する各部位は、房の基準軸に対する相対座標として設定されているので、房の軸の変位に伴って、その房に属する各部位も同じように変位する。このコントローラ2(50)と房との連動は、ユーザのコントローラ2(50)に対する所定のアクション(例えばボタンの解放、あるいは再押下)によって解かれる。
【0047】
操作検知部12は、右手のコントローラ1(50)の位置及び向き(方向)を検知すると、この位置および方向情報によって、仮想空間上に右手80aおよび右手に把持されたハサミ81を表示する。そして仮想空間内のハサミ81の位置がある葡萄82の房の近傍にきたときに、その房を識別表示して作業対象として選択されたことを示す。
【0048】
(判定処理)
以下、摘粒作業に関する操作判定部72の判定処理の手順について
図12に基づいて説明する。
操作判定部72は、訓練シナリオの進行において、判定欄にフラグがセットされているとその作業項目に対応する判定処理を実行する。例えば、摘粒作業の場合は以下の処理が実行される。
【0049】
操作判定部72は、仮想空間上で葡萄の粒に設定された仮想オブジェクト1とハサミ81に設定された仮想オブジェクト2が重なっているか否か(すなわち衝突しているか否か)を判定する(S101)。この重なりは、操作検知部12から送られる仮想空間上の3D座標に基づいて判定される。そして、衝突が検出されたノード配下の階層のノードを切断対象として判定し(S102)、3D-CG表示制御指令部71を介して、切断対象を色替え表示する(S103)。例えば、
図10において、最下層の粒Xに設定された仮想オブジェクト1と、ハサミ1の仮想オブジェクト2に重なりが生じた場合は、粒Xのみが色替え表示される。もし、車C01に設定された仮想オブジェクト1とハサミ1の仮想オブジェクト2に重なりが生じた場合は、車C01の配下の部位(ノード)の全て(C,K,T,M,X)が色替え表示される。
【0050】
ユーザは、摘粒したいノードの色が変わったことを確認すると、コントローラ1(50)のトリガボタンを押下する。すると、操作検知部12によって、コントローラ1(50)のトリガボタン押下に対応する仮想空間上の動作として、ハサミ81の閉動作が検知される。このハサミ81の閉動作は、操作情報として操作検知部12から操作判定部72へ送られる。
【0051】
操作内容判定部72には、この操作情報からハサミ81が閉じたことを検知すると(S104)、ステップS103で色替え表示した切断対象を他のノードから切り離す(S105)。具体的には、
図10のノードに切断フラグ(図示せず)を設定し、3D-CG表示制御指令部71を介して、ハサミ81の両刃が閉じられた映像に切替えると共に、切断対象が葡萄の房から切り離されて落下する映像を表示する。
【0052】
操作判定部72は、続いてこの切断対象のオブジェクト名をキーにして、
図13、
図14に示す粒ごとの摘粒点数設定データから、点数を取得し、採点結果に加算する(S106)。この採点処理の詳細については後述する。一方、ステップS104で一定時間内にハサミ81の閉動作を検知しない場合は、ノードを元の色に戻す。
【0053】
そして、ステップS107で、摘粒作業が終了したか否かを判定し、終了していない場合は、ステップS101に戻り以降の処理を繰り返す。なお作業の終了か否かは、仮想空間に表示される訓練シナリオの項目で次の項目を設定したり、一定時間の経過により終了したり、任意に決めることができる。
【0054】
作業が終了すると、採点結果を操作判定記憶部63に保存する(S108)。この作業結果は、操作判定出力部73によって、HMD10の表示装置や、判定装置60の有する出力装置(図示せず)に出力することができる(S109)。
以上の処理によって摘粒作業についての操作判定を行う。
【0055】
(採点・評価処理)
本実施の形態では、
図14に示すような構造を有する房オブジェクトを複数保持する。房オブジェクト名は、3Dモデルとしての房の名前にすることができる。房オブジェクトは、車オブジェクトを配列の形で持つ。車オブジェクトは、3Dモデルとしての文字列型のオブジェクト名と、車に割り当てられた整数値の点数と、実オブジェクト複数を配列の形で持っている。実オブジェクトは、3Dモデルとしての文字列型のオブジェクト名と、整数値の点数を持っている。点数は、
図13に示すように、例えば切断したほうがよい部位(摘粒対象)についてはプラス点、残しておくべき部位(非摘粒対象)についてはマイナス点を割り付けておく。これにより、切断した粒についての合計点がある基準値以上、あるいは残しておいた粒の合計値が基準値以下である場合は、合格などの判定を行うことができる。以上の点数付けを応用して摘粒作業の習熟度を演算することができる。
【0056】
なお点数付けの仕方としては、摘粒理由と部位から各粒に点数を付与するのが好ましい。点数は対象粒を切除した場合の点数とする。摘粒理由としては、小粒/変形/内向き/飛び出しなどがある。部位としては、内側/外側や肩部/胴部/先端部などがある(
図15、
図13参照)。
【0057】
このように、摘粒習熟度について外部パラメータファイル化することにより、習熟度の調整をプログラムの改修を行わずに調整することができる。
【0058】
(摘粒後の成長処理)
3D-CG表示制御指令部71は、摘粒作業後の実のサイズを経時的に一定の割合で拡大する(
図16参照)。この成長過程のシミュレーション機能を設けることにより、ユーザは、摘粒、摘房の結果がどうなるかを確認することができる。
また、摘粒後の残した粒の属性から状態を判定することができる。具体的には、部位と位置から摘粒後の成長姿を判定する。例えば、肩部、胴部、先端部の夫々の残粒基準値、各部についての外側/内側の粒のバランス等を指標にすることができる。
【0059】
このように、摘粒結果判定について外部パラメータファイル化することにより、摘粒結果判定の調整をプログラムの改修を行わずに調整することができ、AI等を使用せず簡易的に成長姿を判定することが可能となる。
【0060】
(職人のルートとの比較。ある配置に対するアプローチのしかた)
6DoFセンサ値および操作ログを保存することにより、手本となる作業熟練者(匠)の動きを再現し、匠の銅線をなぞることでたくみの作業手順を直感的に学ぶことができる。
摘粒などのイベント種類、イベントの発生タイミング、そのときの6軸センサの値を保存する。DoFセンサ値としては、発生日時、イベント内容、HMD位置、HMD回転、左手位置、左手回転、右手位置、右手回転などがある。操作ログとしては、訓練シナリオ実行時のユーザによるコントローラ50の操作履歴を記録する。
【0061】
これらのデータを用いて、摘粒時の匠技法として、立ち位置、房の回転角度、ハサミ81の挿入角度、摘粒時の手の回転角度、摘粒順番などを指標にするとよい。また、剪定時の匠技法としては、剪定時の位置、時間から作成する動線、剪定順番、形状確認(確認位置)などを指標にするとよい。
【0062】
上記の処理によって効率のよい葡萄の摘粒、摘房の訓練システムを構築することができる。なお、訓練においては、複数の形態の房を準備し、また葡萄の木には、房の接続可能箇所を複数設けておき、訓練ごとにランダムあるいは難易度ごとなど所定の規則によって、房の接続可能箇所に各房を割り付けていくようにしてもよい。
【0063】
以上、本実施の形態によれば、VR技術を用いて、葡萄の摘粒など農作物の栽培技術について効果の高い訓練が可能になる。なお本発明は、本実施の形態に限定されることなく種々変形して実現することができる。例えば、農作物しては、ノードの階層構造で表されるものであれば適用でき、さくらんぼ、ラ・フランス、リンゴ、スイカ等における摘果にも適用可能であることは明らかである。また、摘粒作業に限らず、摘房や剪定などの作業についても実施することができる。例えば、摘房作業については、房そのものを摘むものであるがこれは、房のノードに関連付けて仮想オブジェクトを設定するようにすればよい。
【0064】
また、上記の説明では、操作検知部12で検知した操作情報は操作判定部72に渡され、3D-CG表示制御指令部71、3D-CG表示部11経由で仮想空間上の作業手段の映像を変化させることとしているが、操作検知部12から直接または3D-CG表示部11経由で表示装置の仮想空間に表示されている作業手段の映像を変化させるようにしてもよい。
【符号の説明】
【0065】
1 訓練システム
2 通信回線
10 バーチャルコンテンツ表示装置(HMD)
11 3D-CG表示部
12 操作検知部
50 操作用装置
51 検知信号出力部
60 訓練シナリオ/操作記録判定装置(判定装置)
61 3Dモデル記憶部
62 訓練シナリオ記憶部
63 操作判定記憶部
71 3D-CG表示制御指令部(三次元表示制御部)
72 操作判定部
73 操作判定出力部
74 統計分析部
75 シナリオ変更編集部
80 手のオブジェクト
80a 右手のオブジェクト
80b 左手のオブジェクト
81 作業手段識別画像
82 訓練対象物