JP2023027577A - 画像処理装置、画像処理方法、プログラムおよび画像処理システム - Google Patents

画像処理装置、画像処理方法、プログラムおよび画像処理システム Download PDF

Info

Publication number
JP2023027577A
JP2023027577A JP2021132769A JP2021132769A JP2023027577A JP 2023027577 A JP2023027577 A JP 2023027577A JP 2021132769 A JP2021132769 A JP 2021132769A JP 2021132769 A JP2021132769 A JP 2021132769A JP 2023027577 A JP2023027577 A JP 2023027577A
Authority
JP
Japan
Prior art keywords
virtual tool
image
virtual
unit
tool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021132769A
Other languages
English (en)
Inventor
大明 山根
Oaki Yamane
雄介 鈴木
Yusuke Suzuki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2021132769A priority Critical patent/JP2023027577A/ja
Publication of JP2023027577A publication Critical patent/JP2023027577A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Closed-Circuit Television Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

【課題】道具を用いずにユーザが意図する位置および姿勢で仮想道具画像を生成する。【解決手段】第1のユーザの撮像画像を取得する画像取得部と、前記第1のユーザの撮像画像における前記第1のユーザの第1の部位の位置および姿勢を示す第1の部位情報を検出する位置姿勢検出部と、仮想的な道具の画像である仮想道具画像を、前記第1の部位情報に応じた位置および姿勢で描画する仮想道具描画部と、前記仮想道具描画部により描画された前記仮想道具画像を第2のユーザが利用する端末に送信する送信部と、を備える、画像処理装置。【選択図】図2

Description

本発明は、画像処理装置、画像処理方法、プログラムおよび画像処理システムに関する。
従来、作業者が存在する拠点および指示者が存在する拠点の間でネットワークを介して音声および映像を送受信することで、指示者が作業者側の映像を見ながら作業者に対して作業を指示するための遠隔作業支援システムが提案されている。指示者から作業者への指示は、作業者側の端末が音声または表示を出力することにより行われ得る。
遠隔作業支援システムにおいては、指示者が道具を操作し、当該指示者の撮像画像を作業者側の端末が表示することにより、指示者が道具の使い方を作業者に教えることも可能である。
道具の操作に関連して、ユーザが実際に操作している道具と異なる仮想的な道具を表示する技術も知られている。例えば、特許文献1には、加速度センサなどを備えた専用のコントローラで仮想的な彫刻刀を動かす技術が開示されている。非特許文献1にも、専用のコントローラで仮想のテニスラケットを動かす技術が開示されている。
特開2017-182241号公報
Wiiで遊ぶマリオテニス、https://www.nintendo.co.jp/wii/rmaj/ 「Desktop controller - Leap Motion」(https://www.leapmotion.com/ja/product/desktop-controller/)
しかし、特許文献1および非特許文献1などに開示された技術では、加速度センサや通信機能を有する専用のデバイスが必要である。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、道具を用いずにユーザが意図する位置および姿勢で仮想道具画像を生成することが可能な、新規かつ改良された画像処理装置、画像処理方法、プログラムおよび画像処理システムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、第1のユーザの撮像画像を取得する画像取得部と、前記第1のユーザの撮像画像における前記第1のユーザの第1の部位の位置および姿勢を示す第1の部位情報を検出する位置姿勢検出部と、仮想的な道具の画像である仮想道具画像を、前記第1の部位情報に応じた位置および姿勢で描画する仮想道具描画部と、前記仮想道具描画部により描画された前記仮想道具画像を第2のユーザが利用する端末に送信する送信部と、を備える、画像処理装置が提供される。
前記画像処理装置は、1または2以上の仮想道具の一覧画面を生成する仮想道具一覧生成部をさらに備え、前記仮想道具描画部は、前記一覧画面において選択された仮想道具の仮想道具画像を描画してもよい。
前記第1の部位は、前記第1のユーザの部位のうちで、前記一覧画面において選択された仮想道具に応じた部位であってもよい。
前記画像処理装置は、前記第1の部位の形状を判定する身体形状判定部をさらに備え、前記一覧画面に含まれる前記1または2以上の仮想道具は、複数の仮想道具のうちで前記身体形状判定部により得られた判定結果に対応する仮想道具であってもよい。
前記第1の部位は、前記第1のユーザの手の少なくとも1の指を含んでもよい。
前記画像処理装置は、前記第1の部位を含む身体の形状を判定する身体形状判定部をさらに備え、前記仮想道具描画部は、前記身体形状判定部により得られた判定結果の変化に応じて、前記仮想道具画像を変形させてもよい。
前記位置姿勢検出部は、前記第1のユーザの第2の部位の姿勢を示す第2の部位情報を検出し、前記画像処理装置は、前記仮想道具描画部が前記仮想道具画像を描画する際に参照する部位情報を、前記第1の部位情報と前記第2の部位情報の間で切り替える参照元部位切替部をさらに備えてもよい。
前記参照元部位切替部は、前記第1のユーザの第1の部位の移動速度に基づいて、前記仮想道具描画部が前記仮想道具画像を描画する際に参照する部位情報を、前記第1の部位情報と前記第2の部位情報の間で切り替えてもよい。
前記参照元部位切替部は、前記第1のユーザの第1の部位の移動速度が閾値を下回る場合に、前記仮想道具描画部が前記仮想道具画像を描画する際に参照する部位情報を、前記第1の部位情報から前記第2の部位情報に切り替えてもよい。
前記仮想道具描画部は、前記仮想的な道具が作用する対象である仮想部品をさらに描画し、前記参照元部位切替部は、前記仮想部品に関する座標位置と、前記第1のユーザの第1の部位の位置との関係に応じて、前記仮想道具描画部が前記仮想道具画像を描画する際に参照する部位情報を、前記第1の部位情報と前記第2の部位情報の間で切り替えてもよい。
前記参照元部位切替部は、前記仮想道具画像の形状が所定の条件を満たす場合に、前記仮想道具描画部が前記仮想道具画像を描画する際に参照する部位情報を、前記第1の部位情報と前記第2の部位情報の間で切り替えてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、第1のユーザの撮像画像を取得することと、前記第1のユーザの撮像画像における前記第1のユーザの第1の部位の位置および姿勢を示す第1の部位情報を検出することと、仮想的な道具の画像である仮想道具画像を、前記第1の部位情報に応じた位置および姿勢で描画することと、前記仮想道具画像を第2のユーザが利用する端末に送信することと、を含む、コンピュータにより実行される画像処理方法が提供される。
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、第1のユーザの撮像画像を取得する画像取得部と、前記第1のユーザの撮像画像における前記第1のユーザの第1の部位の位置および姿勢を示す第1の部位情報を検出する位置姿勢検出部と、仮想的な道具の画像である仮想道具画像を、前記第1の部位情報に応じた位置および姿勢で描画する仮想道具描画部と、前記仮想道具描画部により描画された前記仮想道具画像を第2のユーザが利用する端末に送信する送信部と、として機能させるための、プログラムが提供される。
また、上記課題を解決するために、本発明の別の観点によれば、第1のユーザの撮像画像を取得する画像処理装置および第2のユーザにより利用される端末を有する画像処理システムであって、前記画像処理装置は、前記第1のユーザの撮像画像を取得する画像取得部と、前記第1のユーザの撮像画像における前記第1のユーザの第1の部位の位置および姿勢を示す第1の部位情報を検出する位置姿勢検出部と、仮想的な道具の画像である仮想道具画像を、前記第1の部位情報に応じた位置および姿勢で描画する仮想道具描画部と、前記仮想道具描画部により描画された前記仮想道具画像を前記端末に送信する送信部と、を備え、前記端末は、前記送信部から受信された前記仮想道具画像を表示する、画像処理システムが提供される。
以上説明した本発明によれば、道具を用いずにユーザが意図する位置および姿勢で仮想道具画像をすることが可能である。
本発明の一実施形態による遠隔作業支援システムの全体構成の一例を示す図である。 本発明の第1の実施形態による指示者端末10の構成を示す説明図である。 仮想道具DBの具体例を示す説明図である。 撮像画像と仮想道具画像の関係を示す説明図である。 小部位DBの具体例を示す説明図である。 手の骨の構成を示す説明図である。 仮想道具一覧画面の具体例を示す説明図である。 第1の実施形態による指示者端末10の動作を示す説明図である。 本発明の第2の実施形態による指示者端末12の構成を示す説明図である。 第2の実施形態による小部位DBの具体例を示す説明図である。 手の形状例を示す説明図である。 第2の実施形態による指示者端末12の動作を示す説明図である。 変形例を示す説明図である。 本発明の第3の実施形態による指示者端末13の構成を示す説明図である。 仮想道具DBの構成を示す説明図である。 反映先道具座標原点と参照元部位座標原点の対応関係、反映先姿勢ベクトルと参照元部位姿勢ベクトルの対応関係を示す説明図である。 仮想部品DBの具体例を示す説明図である。 ベクトル射影の具体例を示す説明図である。 第3の実施形態による指示者端末13の動作を示す説明図である。 第3の実施形態による指示者端末13の動作を示す説明図である。 第4の実施形態による指示者端末14の構成を示す説明図である。 部位形状指標DBの具体例を示す説明図である。 第4の実施形態による指示者端末14の動作を示す説明図である。 第4の実施形態による指示者端末14の動作を示す説明図である。
以下に添付図面を参照しながら、本発明の実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、複数の構成要素の各々に同一符号のみを付する。
<0.遠隔作業支援システムの概要>
本発明の一実施形態は、作業者から離れた遠隔地に存在する指示者が作業者に作業を指示するための遠隔作業支援システムに関する。まず、図1を参照して、本発明の一実施形態による遠隔作業支援システムの全体構成について説明する。
図1は、本発明の一実施形態による遠隔作業支援システムの全体構成の一例を示す図である。図1には、第1のユーザとして指示者U1を示し、指示者U1から離れた遠隔地に存在する第2のユーザとして作業者U2を示している。本発明の一実施形態による遠隔作業支援システムは、例えば遠隔地で何らかの作業を行っている作業者U2に対して、作業者U2の視界方向を撮像した映像(作業者U2の作業対象を含む画角の映像)を見ながら、リアルタイムで指示者U1が作業者U2に対して作業等に関する指示を行う場合に適用され得る。なお、ここでは「遠隔地」と表現したが、指示者U1と作業者U2が遠く離れた場所に存在する場合に限られず、指示者U1と作業者U2は同じ建物の別フロアに存在してもよいし、指示者U1と作業者U2は同一フロアの別部屋に存在してもよい。
図1に示すように、本実施形態による遠隔作業支援システムは、指示者端末10と、センサ部120と、マイク130と、撮像装置20と、作業者端末30と、を含む。指示者端末10は、撮像装置20および作業者端末30とネットワークを介して接続されている。ネットワークは、ネットワークに接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワークは、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワークは、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。
指示者端末10は、指示者U1が利用する端末であって、作業者U2側の映像(撮像画像)を表示する。作業者U2側の映像とは、例えば図1に示すように作業者U2の頭部などに装着されたウェアラブルデバイスである撮像装置20により、作業者U2の視界を撮影した映像である。撮像装置20は、ユーザの視界方向を撮影し得る。なお、撮像装置20は、図1に示すような作業者U2に装着される装置に限定されず、作業者U2周辺の天井や後方の壁などに、作業者U2の視界方向を撮影できるよう設置された装置であってもよい。
(指示者U1側の構成)
センサ部120は、指示者U1を撮像する撮像部としての機能を有する。センサ部120は、撮像により取得した撮像画像を指示者端末10に出力する。
マイク130は、指示者U1が発した音声を収音する。マイク130は、収音に取得した音声データを指示者端末10に出力する。
指示者端末10は、指示者U1側で利用される画像処理装置の一例である。指示者端末10には、センサ部120およびマイク130が接続される。また、指示者端末10は、ネットワークを介して接続されている撮像装置20から、作業者U2の視界方向を撮像して得られた撮像画像を受信する。
指示者端末10は、指示者による操作を検出する操作部、および、画面を表示する表示部として機能する操作表示部150を有する。操作表示部150は撮像装置20から受信された撮像画像を表示する。ここで、操作表示部150に表示される撮像画像には、撮像画像における指示者U1の身体のある部位(第1の部位)の位置に応じた位置、同撮像画像における上記部位の姿勢に応じた姿勢で仮想道具の画像(仮想道具画像)が重畳される。
図1に示した例では、指示者U1が人差指で指を差すジェスチャを行っており、操作表示部150に表示される撮像画像には、ドライバーを示す仮想道具画像60が重畳されている。指示者端末10は、当該仮想道具画像60を作業者端末30に送信する。また、指示者端末10は、マイク130から入力される指示者U1の音声を作業者端末30に送信する。
なお、身体は、複数の部位で構成される身体であればよく、例えば、親指、人差指などの部位で構成される手または足であってもよいし、腕、足および首などの部位で構成される人の体全部であってもよい。本明細書では、主に、上記身体が指示者U1の現実の手(以下、実手と称する。)である例を説明する。また、人差指、掌のような上記身体を構成する大きな部位を「身体部位」と称し、指の末節骨および中節骨のような上記身体部位を構成するより小さな部位を「小部位」と称する場合もある。
(作業者U2側の構成)
撮像装置20は、例えば図1に示すように作業者U2の頭部などに装着されたウェアラブルデバイスである。このため、撮像装置20は、作業者U2の視界方向を撮像する。撮像装置20により得られた撮像画像は指示者端末10に送信される。なお、図1においては、作業者U2の作業対象として、オブジェクトObj1~Obj3を図示している。作業内容や作業対象は特に限定しないが、例えば、工場における機械の操作や部品の組み立て、画面操作など、様々な場合が想定される。
作業者端末30は、作業者U2側で利用される端末の一例である。図1に示した例では、作業者端末30は、作業者U2に装着されるウェアラブルディスプレイである。作業者端末30は、透光性を有する表示部を有し、指示者端末10から受信した仮想道具画像60を当該表示部に表示する。また、作業者端末30は、音声出力機能も有し、指示者端末10から受信した指示者U1の音声を出力する。
(動作概要)
このような遠隔作業支援システムにおいては、作業者U2から見ると、自身の視界上に仮想道具画像60がAR(Augmented Reality)表示されている状態となる。また、指示者U1は、仮想道具画像60が重畳された重畳画像を見ながらジェスチャを行うことが可能である。従って、指示者U1は、作業者U2に操作方法を伝えたい道具(図1に示した例では、ドライバー)が手元にない場合であっても、作業者U2に所望の道具の操作方法を直感的かつ適切に伝えることが可能となる。
なお、上記では作業者端末30が透過型のウェアラブルディスプレイである例を説明したが、作業者端末30は非透過型のウェアラブルディスプレイであってもよい。この場合、指示者端末10は撮像画像に仮想道具画像60が重畳された重畳画像を作業者端末30に送信し、作業者端末30は当該重畳画像を表示してもよい。また、上記ではウェアラブルディスプレイである作業者端末30が用いられる例を説明したが、作業者端末30に代えて、作業者U2の周囲に設置された大型のディスプレイ、作業台の天板に設置されるディスプレイ、およびプロジェクタなどが用いられてもよい。
以下、このような遠隔作業支援システムを実現する各実施形態による指示者端末の構成および動作を順次詳細に説明する。
<1.第1の実施形態>
(1-1.指示者端末10の構成)
図2は、本発明の第1の実施形態による指示者端末10の構成を示す説明図である。図2に示したように、本発明の第1の実施形態による指示者端末10は、記憶部101と、画像取得部102と、身体情報取得部103と、仮想道具一覧生成部104と、位置姿勢検出部106と、仮想道具描画部107と、通信部108と、操作表示部150と、を備える。これら各構成は、メモリおよびプロセッサなどのコンピュータハードウェアとソフトウェアとの協働により実現され得る。また、これら各構成の一部または全ての構成は、作業者端末30に実装されてもよいし、ネットワーク上に配置されているサーバに実装されてもよい。
(記憶部101)
記憶部101は、指示者端末10の動作に用いられる多様なデータを記憶する。例えば、記憶部101は、仮想道具DBおよび小部位DBを記憶する。仮想道具DBは、複数の仮想道具の仮想道具画像を含むデータベースである。小部位DBは、指示者U1の撮像画像のうちで注目すべき点およびベクトルを形状ごとに示すデータベースである。以下、仮想道具DBおよび小部位DBの具体例を説明する。
図3は、仮想道具DBの具体例を示す説明図である。図3に示したように、仮想道具DBにおいては、道具識別子、道具名、道具形状を示す情報、仮想道具画像、道具座標原点、および道具姿勢ベクトルが対応付けられている。仮想道具画像は、典型的には、道具の3D映像を含み、背景が透明な画像データとして実現される。
道具座標原点は、仮想空間における仮想道具画像の位置を指定する点である。位置情報としてある特定の座標が与えられた場合、仮想道具画像は、後述する仮想道具描画部107により、道具座標原点が特定の座標になるように配置される。以下、図4を参照して具体的に説明する。
図4は、撮像画像と仮想道具画像の関係を示す説明図である。図3に示した道具名=「ドライバー」のデータの例では、道具座標原点は、道具名に対応する仮想道具の先端である。このため、図4に示した仮想道具画像におけるドライバーの先端(点D)が道具座標原点となる。例えば、特定の位置の情報として、図4に示した撮像画像における実手の人差指の指先(点B)の座標(10,20,30)が与えられた場合、ドライバーの仮想道具画像は、ドライバーの先端(点D)の座標が仮想空間の座標(10,20,30)に位置するように配置される。
道具姿勢ベクトルは、仮想空間における仮想道具画像の姿勢を指定するベクトルである。姿勢の情報としてある特定のベクトルが指定された場合、仮想道具画像は、後述する仮想道具描画部107により、道具姿勢ベクトルの方向と上記特定のベクトルの方向が一致するように配置(変形)される。図3に示した道具名=「ドライバー」のデータの例では、道具姿勢ベクトルが、道具名に対応する仮想道具の末端と先端を結ぶベクトルである。このため、図4に示した仮想道具画像におけるドライバーの末端(点C)と先端(点D)を結ぶベクトルCDが道具姿勢ベクトルとなる。例えば、姿勢の情報として、図4に示した実手の人差指の第1関節(点A)と指先(点B)を結ぶベクトルABが与えられた場合、ドライバーの仮想道具画像は、道具姿勢ベクトルCDの方向が上記ベクトルABの方向と一致するように配置される。
図5は、小部位DBの具体例を示す説明図である。小部位DBにおいては、形状識別子、形状名、小部位座標原点および小部位姿勢ベクトルが対応付けられている。形状名は、仮想道具DBの形状名に対応する項目であり、例えば、棒状、はさみ状、コの字状、などが形状名に該当し得る。
小部位座標原点は、現実空間における特定の小部位の位置を示す点である。図5に示した形状名=「棒状」のデータの例では、実手の人差指の指先の点である。従って、図4に示した撮像画像の例では、人差指の第1関節が点A、指先が点Bであるので、小部位座標原点は点Bである。
小部位姿勢ベクトルは、現実空間における特定の小部位の姿勢を示すベクトルである。図5に示した形状名=「棒状」のデータの例では、実手の人差指の末節骨の方向ベクトルである。人差指の末節骨の方向ベクトルは、図6に示した手の骨の構成図から分かるように、人差指の第1関節と指先で構成されるベクトルである。図4に示した撮像画像の例では、人差指の第1関節を点A、指先を点Bとすると、小部位姿勢ベクトルは、ベクトルABである。
(画像取得部102)
画像取得部102は、センサ部120から撮像画像を取得する。
(身体情報取得部103)
身体情報取得部103は、画像取得部102より取得された撮像画像から、指示者U1の身体の各小部位の名前、各小部位の位置情報、各小部位の姿勢情報を含む情報(以降、身体情報と称する)を取得し、出力する。
上記身体の典型的な一例は実手であり、各小部位の典型的な一例は実手を構成する各指の末節骨、中節骨、基節骨などである。各小部位の位置情報は、例えば小部位が人差指の中節骨である場合、現実空間の座標系における人差指の第1関節の位置座標(x、y、z)である。各小部位の姿勢情報は、例えば小部位が人差指の中節骨の場合、人差指の第2関節と第1関節を結ぶベクトルである。身体情報取得部103により出力される上記身体情報の典型的な例は、身体情報={(実手の人差指の末節骨、位置情報1、姿勢情報1)、(実手の人差指の中節骨、位置情報2、姿勢情報2)、…}である。
なお、上記の例では指示者U1の身体の例として実手を挙げたが、指示者U1の足などの他の部分が指示者U1の身体として用いられてもよい。
また、身体情報取得部103は、例えば非特許文献2に記載されているシステム、すなわち、赤外線のステレオカメラを用いてユーザの現実の手の形状や姿勢を認識するシステムにより、身体情報を取得してもよい。
(仮想道具一覧生成部104)
仮想道具一覧生成部104は、記憶部101に記憶されている仮想道具DBを参照し、1または2以上の仮想道具の一覧画面(仮想道具一覧画面)を生成する。例えば、仮想道具一覧生成部104は、各仮想道具について道具識別子、道具名および仮想道具画像を含む仮想道具一覧画面を生成する。仮想道具一覧生成部104は、生成した仮想道具一覧画面を操作表示部150に出力する。
(操作表示部150)
操作表示部150は、上述したように、指示者U1による操作を検出する操作部、および、画面を表示する表示部として機能する。仮想道具一覧生成部104から操作表示部150に仮想道具一覧画面が入力されると、操作表示部150は当該仮想道具一覧画面をタッチパネル上にGUIとして表示する。仮想道具一覧画面から指示者U1がいずれかの仮想道具を選択する操作を行うと、操作表示部150は当該操作を検出し、選択された仮想道具の道具識別子を仮想道具描画部107に出力し、選択された仮想道具の形状名を位置姿勢検出部106に出力する。
図7は、仮想道具一覧画面の具体例を示す説明図である。図7に示したように、仮想道具一覧画面は、複数の仮想道具についての道具識別子、道具名、仮想道具画像、選択ボタンを含む。指示者U1は、仮想道具一覧画面に含まれるいずれかの選択ボタンを選択することにより、作業者U2側で表示させたい仮想道具画像を選択することが可能である。
(位置姿勢検出部106)
位置姿勢検出部106は、身体情報取得部103から入力される身体情報、操作表示部150から入力される形状名、および記憶部101に記憶されている小部位DBに基づき、第1の部位情報として、特定の小部位の小部位座標原点の座標値と小部位姿勢ベクトルを取得し、これら小部位座標原点の座標値と小部位姿勢ベクトルを仮想道具描画部107に出力する。以下、位置姿勢検出部106による処理の具体例を説明する。
例えば、仮想道具一覧画面からドライバーが選択されたことに基づいて、位置姿勢検出部106には形状名として棒状が操作表示部150から入力される。この場合、位置姿勢検出部106は、小部位DBを参照し、小部位座標原点として実手の人差指の指先の点の座標値、および小部位姿勢ベクトルとして実手の人差指の末節骨の方向ベクトルを、身体情報取得部103から入力される身体情報に基づいて取得する。
(仮想道具描画部107)
仮想道具描画部107は、仮想道具一覧画面から選択された仮想道具の仮想道具画像を、位置姿勢検出部106から入力された小部位座標原点および小部位姿勢ベクトルで描画する。具体的には、仮想道具描画部107は、仮想道具DBにおいて指定されている仮想道具の道具座標原点を位置姿勢検出部106から入力された小部位座標原点とする。また、仮想道具描画部107は、仮想道具DBにおいて指定されている道具姿勢ベクトルの方向を小部位姿勢ベクトルの方向とする。
道具姿勢ベクトルの方向を、小部位姿勢ベクトルのように与えられたベクトルの方向に一致させる典型的な実現例は、道具姿勢ベクトルのx、y、z成分の比率を、上記与えられたベクトルの比率と等しくする方法である。
仮想道具一覧画面から選択された仮想道具がドライバーであり、位置姿勢検出部106で取得された小部位座標原点および小部位姿勢ベクトルが図4に示した点BおよびベクトルABであった場合を考える。この場合、仮想道具描画部107は、ドライバーの仮想道具画像を、ドライバーの先端(点D)が点Bの座標値と一致する位置に、かつ、ドライバーの末端(点C)と先端(点D)を結ぶベクトルCDの方向がベクトルABの方向に一致するような姿勢でレンダリングする。
(通信部108)
通信部108は、他の装置と通信するインターフェースである。例えば、通信部108は、撮像装置20から作業者側の撮像画像を受信する受信部としての機能、および仮想道具描画部107から入力される仮想道具画像を作業者端末30に送信する送信部としての機能を有する。通信部108から作業者端末30に仮想道具画像が送信されると、作業者端末30が当該仮想道具画像を作業者U2に対して表示する。
(1-2.指示者端末10の動作)
以上、第1の実施形態による指示者端末10の構成を説明した。続いて、図8を参照して、第1の実施形態による指示者端末10の動作を整理する。なお、ここでは、指示者UIが人差指のみを伸ばしたまま、実手の位置姿勢を変更、制御しているものとする。また、仮想道具DBには図3に示したデータが格納されており、小部位DBには図5に示したデータが格納されているものとする。
図8は、第1の実施形態による指示者端末10の動作を示す説明図である。図8に示したように、まず、身体情報取得部103が、指示者U1の撮像画像から身体情報を取得し、取得した身体情報を位置姿勢検出部106に出力する(S1)。ここで、身体情報の内容は{(実手の人差指の末節骨、位置情報1(=実手の人差指の指先の座標)、姿勢情報1(=実手の人差指の第1関節と指先を結ぶベクトル))、…}であるとする。
また、仮想道具一覧生成部104は、記憶部101に記憶されている仮想道具DBを参照し、仮想道具一覧画面を生成する(S2)。仮想道具一覧画面のデータの構成は、道具識別子、道具名と、仮想道具をあらわす3DCGデータ(仮想道具画像)であってもよい。例えば、仮想道具一覧画面に含まれる(道具識別子、道具名)の組合せは、{(001、ライバー)、(002、キリ)、(003、はんだごて)、(004、はさみ)、(005、ペンチ)、(006、ノギス)}である。
そして、操作表示部150は、仮想道具一覧生成部104により生成された仮想道具一覧画面を表示する(S3)。指示者U1が仮想道具一覧画面から仮想道具を選択すると、操作表示部150は、選択された仮想道具の道具識別子を仮想道具描画部107に出力する(S4)。ここで、指示者U1によって選択されたデータが、道具識別子=001の仮想道具であったとする。この場合、操作表示部150は、仮想道具描画部107に道具識別子=001を仮想道具描画部107に出力する。
また、操作表示部150は、選択された仮想道具の形状名を位置姿勢検出部106に出力する(S5)。例えば、操作表示部150は、選択された仮想道具の道具識別子を用いて仮想道具DBを検索し、道具識別子に対応する形状部位を取得してもよい。ここでは、操作表示部150が形状名=棒状を位置姿勢検出部106に出力したとする。
続いて、位置姿勢検出部106は、操作表示部150から入力された形状名に対応する小部位座標原点の内容と小部位姿勢ベクトルの内容を小部位DBから検索し、身体情報から小部位座標原点および小部位姿勢ベクトルを取得し、小部位座標原点および小部位姿勢ベクトルを仮想道具描画部107に出力する(S6)。S5で操作表示部150から入力された形状名が棒状であるので、小部位座標原点は実手の人差指の指先の位置であり、小部位姿勢ベクトルは実手の人差指の末節骨の方向ベクトルである。
さらに、仮想道具描画部107は、操作表示部150から入力された道具識別子を有する仮想道具画像を仮想道具DBから取得し、当該仮想道具画像を、位置姿勢検出部106から入力された小部位座標原点および小部位姿勢ベクトルで描画する(S7)。具体的には、仮想道具描画部107は、仮想道具DBにおいて指定されている仮想道具の道具座標原点を位置姿勢検出部106から入力された小部位座標原点とする。また、仮想道具描画部107は、仮想道具DBにおいて指定されている道具姿勢ベクトルの方向を小部位姿勢ベクトルの方向とする。
そして、通信部108は、仮想道具描画部107により描画された仮想道具画像を作業者端末30に送信する(S9)。これにより、作業者端末30において仮想道具画像が表示される。
(1-3.第1の実施形態の作用効果)
以上説明した本発明の第1の実施形態によれば、多様な作用効果が得られる。例えば、本発明の第1の実施形態によれば、指示者U1が身体の位置姿勢を変化させることによって、作業者U2側に提供される仮想道具の位置姿勢を変化させることが可能である。例えば、指示者U1は、実手の人差指の位置姿勢を変化させることで、ドライバーの仮想道具画像の位置姿勢を制御することができる。
また、本発明の第1の実施形態によれば、操作表示部150が、仮想道具一覧生成部104から入力された仮想道具一覧画面を表示する。かかる構成により、作業者U2側に提供される仮想道具画像をより確実に指示者U1が所望する仮想道具の仮想道具画像とすることができる。
また、本発明の第1の実施形態によれば、位置姿勢検出部106は、小部位座標原点および小部位姿勢ベクトルとして、仮想道具一覧画面において選択された仮想道具の形状に応じて異なる小部位の座標値およびベクトルを取得する。仮想道具の形状に応じて仮想道具画像の位置姿勢を制御することに適した小部位座標原点および小部位姿勢ベクトルは異なり得るので、上記構成により仮想道具画像の位置姿勢をより適切に制御することが可能となる。
<2.第2の実施形態>
以上、本発明の第1の実施形態を説明した。続いて、本発明の第2の実施形態を説明する。本発明の第2の実施形態によれば、仮想道具一覧画面に含まれる仮想道具を絞り込むことが可能である。
(2-1.指示者端末12の構成)
図9は、本発明の第2の実施形態による指示者端末12の構成を示す説明図である。図9に示したように、本発明の第2の実施形態による指示者端末12は、画像取得部102と、身体情報取得部103と、位置姿勢検出部106と、仮想道具描画部107と、通信部108と、操作表示部150と、記憶部701と、身体形状判定部702と、仮想道具一覧生成部704と、を備える。以下では、第1の実施形態による指示者端末10と異なる構成を主に説明する。
(記憶部701)
記憶部701は、仮想道具DBおよび小部位DBを記憶する。仮想道具DBは第1の実施形態で説明した通りである。第2の実施形態による小部位DBは、第1の実施形態で説明した小部位DBに、身体部位形状群条件が追加されているデータベースである。以下、図10を参照して、第2の実施形態による小部位DBの具体例を説明する。
図10は、第2の実施形態による小部位DBの具体例を示す説明図である。図10に示したように、小部位DBにおいては、形状識別子、形状名、小部位座標原点、小部位姿勢ベクトル、および身体部位形状群条件が対応付けられている。
身体部位形状群条件は、一群の身体部位の形状(以下、身体部位形状群と称する)に関する条件である。身体部位形状群の典型的な例は、実手の各指の曲げ度合を示す情報である。図10の形状名=棒状であるデータの例では、身体部位形状群の値は{(親指、曲げ大)、(人差指、伸び)、(中指、曲げ大)、(薬指、曲げ大)、(小指、曲げ大)}である。
なお、ある指に関し、図11に示した第1関節の角度θ1および第2関節の角度θ2の合計値が第1閾値未満である場合に当該指の形状が「伸び」に該当してもよい。また、合計値が第1閾値以上で第2閾値未満である場合には当該指の形状が「曲げ小」に該当し、合計値が第2閾値以上である場合には当該指の形状が「曲げ大」に該当してもよい。また、図11においては説明の便宜上、平面上での角度θ1および角度θ2を示しているが、角度θ1および角度θ2は三次元空間内で表現される角度であってもよい。
(身体形状判定部702)
身体形状判定部702は、身体情報取得部103により取得された指示者U1の身体情報に基づき、指示者U1の身体の形状を判定することで、身体部位形状群を生成する。さらに、身体形状判定部702は、上述した小部位DBを参照し、身体部位形状群に対応する形状名を判定し、判定結果である形状名を仮想道具一覧生成部704に出力する。
身体形状判定部702の機能を、身体を実手、実手を構成する各指を部位として、より具体的に説明する。例えば、身体形状判定部702は、身体情報取得部103により取得された指示者U1の身体情報に基づき、身体部位形状群={(親指、曲げ大)、(人差指、伸び)、(中指、曲げ大)、(薬指、曲げ大)、(小指、曲げ大)})を生成する。さらに、身体形状判定部702は、小部位DBを参照し、当該身体部位形状群に対応する形状名が「棒状」であると判定する。
(仮想道具一覧生成部704)
仮想道具一覧生成部704は、記憶部101に記憶されている仮想道具DBを参照し、1または2以上の仮想道具の一覧画面(仮想道具一覧画面)を生成する。特に、第2の実施形態による仮想道具一覧生成部704は、仮想道具DBにおいて身体形状判定部702から入力された形状名を有するデータの道具識別子、その他の情報(例えば道具名や仮想道具画像)を含む仮想道具一覧画面を生成し、仮想道具一覧画面を操作表示部150に出力する。
例えば、仮想道具一覧生成部704は、身体形状判定部702から形状名として「棒状」が入力された場合、仮想道具DBにおいて形状名として「棒状」を有する「ドライバー」、「キリ」、および「はんだごて」を含み、「はさみ」および「ペンチ」などを含まない仮想道具一覧画面を生成する。
(2-2.指示者端末12の動作)
以上、第2の実施形態による指示者端末12の構成を説明した。続いて、図12を参照して、第2の実施形態による指示者端末12の動作を整理する。なお、ここでは、指示者UIが人差指のみを伸ばしたまま、実手の位置姿勢を変更、制御しているものとする。また、仮想道具DBには図3に示したデータが格納されており、小部位DBには図10に示したデータが格納されているものとする。また、S3~S8の処理は第1の実施形態で説明した通りであるので、詳細な説明を省略する。
図12は、第2の実施形態による指示者端末12の動作を示す説明図である。まず、身体情報取得部103が、指示者U1の撮像画像から身体情報を取得し、取得した身体情報を位置姿勢検出部106に出力する(S201)。ここで、身体情報の内容は{(実手の人差指の末節骨、位置情報1(=実手の人差指の指先の座標)、姿勢情報1(=実手の人差指の第1関節と指先を結ぶベクトル))、…}であるとする。
身体形状判定部702は、身体情報取得部103により取得された身体情報を用いて、指示者U1の身体の形状を判定することで、身体部位形状群を生成する(S202)。ここで生成された身体部位形状群は、{(親指、曲げ大)、(人差指、伸び)、(中指、曲げ大)、(薬指、曲げ大)、(小指、曲げ大)}であったとする。
さらに、身体形状判定部702は、小部位DBを参照し、身体部位形状群に対応する形状名を判定し、判定結果である形状名を仮想道具一覧生成部704に出力する(S203)。ここでは、形状名として「棒状」が得られたとする。
続いて、仮想道具一覧生成部704は、仮想道具DBにおいて形状名として「棒状」を有する「ドライバー」、「キリ」、および「はんだごて」を含み、「はさみ」および「ペンチ」などを含まない仮想道具一覧画面を生成する(S204)。
(2-3.第2の実施形態の作用効果)
以上説明した本発明の第2の実施形態によれば、多様な作用効果が得られる。例えば、本発明の第2の実施形態では、身体形状判定部702により判定された形状を有する仮想道具を選択肢として含む仮想道具一覧画面が生成される。従って、指示者U1は、絞られた選択肢から容易に所望の仮想道具を選択することが可能となる。
(2-4.変形例)
作業者U2の作業者端末30に送信される仮想道具画像の形状は、指示者U1の身体の形状の変化に応じて変化してもよい。以下、当該変形例を具体的に説明する。
変形例による指示者端末12は、仮想道具一覧画面で選択された仮想道具の形状名に対応する身体の変形指標を取得する機能を有する。例えば、仮想道具一覧画面で「ペンチ」が選択され、「はさみ状」に対応する身体の変形指標が実手の人差指と中指の指の成す角度である場合、当該機能は指示者U1の実手の人差指と中指の指の成す角度φを取得する。そして、仮想道具描画部107は、「ペンチ」の仮想道具画像を、2つのくわえ部が角度φを成すように変形して描画する。
かかる構成によれば、図13の上段に示したように指示者U1の実手の人差指と中指の指の成す角度φが20度である場合には、2つのくわえ部の成す角度が20度である仮想道具画像が生成される。また、図13の下段に示したように指示者U1の実手の人差指と中指の指の成す角度φが0度に変化した場合には、仮想道具描画部107は仮想道具画像における2つのくわえ部の成す角度も0度に変化させる。
<3.第3の実施形態>
第1の実施形態および第2の実施形態では、指示者1の身体の部位の位置姿勢が仮想道具画像の位置姿勢に反映される例を説明した。しかし、状況に応じて仮想道具画像の位置姿勢の参照元となる部位(参照元部位)を変更した方がよい場合がある。
例えば上腕では、手の指よりも、位置姿勢および形状の変化の範囲が限定的である一方で、その分、無意識な位置姿勢および形状のぶれが小さく安定している。手の指では、上腕や前腕等の変化分も加味されるため位置姿勢の変化の範囲が大きく、骨の一つ一つが小さいので細かい位置姿勢および形状の変化にも適している。その一方で、手の指では、位置姿勢および形状が微調整され易いために、位置姿勢および形状のぶれが大きく不安定になりがちである。このため、手の指では、ある部位が他の部位の変形によって無意識に変形したり、道具の使用方法に関する指導に集中して無意識に指を脱力してしまい、部位の位置姿勢および形状が保てなくなったり、無意識な位置姿勢・形状のぶれが大きくなるなどの問題がある
例えば、第1の実施形態のシステムにおいて、Cの字状をした人差指および親指の位置姿勢が仮想のスパナの画像である仮想道具画像反映され、当該仮想のスパナを操作して仮想のボルトに当該スパナを接近および作用させるシーンを考える。
ボルトにスパナの2つの突起を接近および接触させるまでの状態、すなわち作用前の状態では、親指と人差指による形状の変形を、仮想のスパナに反映させたほうが位置姿勢の微調整が効きやすく接近しやすいことが考えられる。なぜなら、3次元仮想空間は位置関係がつかみにくいケースが多いため、仮想道具と仮想部品の位置関係が見た目と異なることに気づいては仮想道具の姿勢を微調整する、という動作が多く発生するからである。
その一方で、スパナをボルトに接触させてからの状態、すなわち作用中の状態では、人差指および親指のような、他の部位の変形に応じて無意識に状態が変わりやすい不安定な部位を参照元とするよりは、安定している掌を参照元としたほうが良い場合がある。なぜなら、仮想道具(スパナ)を仮想部品(ボルト)に接触させた後は仮想道具の位置が固定されるため、位置姿勢の微調整が不要になり、不安定な部位の位置姿勢・形状を反映してしまうと、それらの維持に気を取られ、指示をおろそかにしてしまう恐れがあるからである。
このように、位置姿勢・形状が変形しやすい部位を使って、仮想道具を操作する場合、状況(作用前/作用中)に応じて、仮想道具の位置姿勢・形状について、変形しやすい部位の位置姿勢・形状を反映したほうが良い場合と、変形しにくい部位の位置姿勢・形状を反映したほうが良い場合がある。
本件発明者は、上記事情を一着眼点にして本発明の第3の実施形態を創作するに至った。本発明の第3の実施形態によれば、身体の部位の位置姿勢を仮想道具の位置姿勢に反映する技術を応用したシステムにおいて、上記部位が、無意識に変形しやすい身体の部位である場合に、仮想道具の状況に応じて、仮想道具の位置姿勢の参照元となる、身体の部位を、適切に変更することが可能である。
概略的には、本発明の第3の実施形態は、第1の実施形態または第2の実施形態で説明した構成に加えて、仮想道具が作用する対象物(以降、仮想部品と称する)と仮想道具との「距離」と仮想道具の位置姿勢の参照元部位の「速度」の組合せに応じて、仮想道具が仮想部品に作用できるか・否かの状態(以降、作用可能状態と称する)を判定し、作用可能状態に応じて、仮想道具の位置・姿勢の決定に参照される部位を切り替える機能を新たに有する。例えば、本発明の第3の実施形態では、仮想道具が仮想部品に接近(距離が別に定める閾値以下である)し、かつ、仮想道具の動きが遅い(速度が別に定める閾値以下である)時、作用可能状態=作用可能と判定され、それ以外の時は、作用可能状態=作用不可と判定される。以下、このような本発明の第3の実施形態の構成および動作を順次詳細に説明する。
(3-1.指示者端末13の構成)
図14は、本発明の第3の実施形態による指示者端末13の構成を示す説明図である。図14に示したように、本発明の第3の実施形態による指示者端末13は、画像取得部102と、身体情報取得部103と、位置姿勢検出部106と、通信部108と、記憶部801と、部品検出部810と、仮想空間管理部811と、作用可能状態判定部812と、参照元部位切替部813と、位置姿勢設定部814と、仮想道具描画部815と、を備える。以下では、第1の実施形態による指示者端末10と異なる構成を主に説明する。
(記憶部801)
記憶部801は、仮想道具DB、仮想部品DBおよび仮想オブジェクトDBを記憶する。仮想道具DBは、部位と仮想道具の位置姿勢の対応関係を示すデータベースである。仮想道具DBは、図15に示すように、OID、道具名、作用可能状態、仮想道具、反映先道具座標原点、反映先道具姿勢ベクトル、参照元部位座標原点、参照元部位姿勢ベクトルを関連付けて格納する。作用可能状態は、前述した仮想道具が仮想部品に作用できるか否かを示す状態である。
図15に示した例において、スパナの作用可能状態=FALSEには、反映先道具座標原点として「突起の一方の先端」、反映先姿勢ベクトルとして「2つの突起の先端を結ぶベクトル」、参照元部位座標原点として「人差指の先端」、参照元部位姿勢ベクトルとして「人差指先端と親指先端を結ぶベクトル」が関連付けられている。図16を参照して、当該例における反映先道具座標原点と参照元部位座標原点の対応関係、反映先姿勢ベクトルと参照元部位姿勢ベクトルの対応関係を説明する。
図16は、反映先道具座標原点と参照元部位座標原点の対応関係、反映先姿勢ベクトルと参照元部位姿勢ベクトルの対応関係を示す説明図である。図16に示した例において、人差指の先端である点Gが参照元部位座標原点に該当し、点Gの位置が、反映先道具座標原点である突起の一方の先端の位置Kに反映される。また、人差指の先端である点Gと親指の先端である点Hを結ぶベクトルが参照元部位姿勢ベクトルに該当し、当該点Gと点Hを結ぶベクトルが、反映先姿勢ベクトルである2つの突起の先端である点Kおよび点Lを結ぶベクトルに反映される。
また、仮想部品DBは仮想部品に作用する仮想道具の姿勢変化の反映方向に対する制限などを示すデータをベースである。図17を参照して、仮想部品DBの具体例を説明する。
図17は、仮想部品DBの具体例を示す説明図である。図17に示したように、仮想部品DBは、OID、部品名、射影平面データ、および、実際の空間に存在する部品を検出し、当該部品の位置姿勢を推定するのに必要な検出用形状データを関連付けて格納する。
射影平面データは、仮想道具の姿勢の制限に関するデータである。例えば、仮想部品がボルトであり、参照元部位姿勢ベクトルが掌の法線ベクトルである場合、部品名=ボルトの射影平面は、ボルトの頭部座皿に平行な平面である。このため、スパナの姿勢には、掌の法線ベクトルではなく、図18に示すように、上記平面に対して法線ベクトルを射影して得られるベクトル+オフセットベクトルが反映される。なお、射影ベクトルの算出方法の既知の例として、内積計算を行う方法があり、具体的な実装例としてはUnityのVector3.ProjectOnPlaneなどが挙げられる。
検出用形状データは、典型的にはLidarと呼ばれるレーザーを用いたセンサやステレオカメラ等を用いて計測される物体の3次元形状を示すデータであり、典型的には、以下に示すような点群データと呼ばれる三次元座標位置を示す点列で構成される。
((px_1,py_1,pz_1),(px_2,py_2,pz_2),(px_3,py_3,pz_3),…..)
また、仮想オブジェクトDBは、実空間における指示者の身体部位座標と姿勢から計算される仮想道具の座標(仮想座標)と、実空間に存在する道具の作業対象となる実在の部品の座標と関連付けられる仮想部品の座標(仮想座標)を記憶する。仮想道具および仮想部品は仮想オブジェクトの一例である。なお、部品は作業者側の実空間に存在し得るが、部品の座標および指示者の身体部位座標は、仮想的な同一の座標系に配置される。当該仮想的な座標系における部品の座標を部品または仮想部品の実座標と称し、当該仮想的な座標系における指示者の身体部位座標を部位または仮想道具の実座標と称する場合がある。
(部品検出部810)
本発明の第3の実施形態では、作業者側に典型的にはウェアラブルステレオカメラ、3D赤外線センサ、またはLidarセンサのような点群データを取得するセンサが設けられ、当該センサにより取得された点群データが通信部108により受信される。部品検出部810は、仮想部品DBを参照することで、当該点群データに該当する部品を検出し、当該部品の位置姿勢を仮想オブジェクトDBに登録する。
部品の検出と位置姿勢の推定の具体的な方法としては、仮想部品DBに登録されている各部品の検出用形状データ値を用いて、作業空間をセンサで計測して得られた値に対して、ICP(Iterative Closest point)法を実施し、位置合わせの誤差が一定値以下に収束した場合を、物体が検出された場合を部品が計測されたと判定し、その時の位置姿勢を部品の姿勢として用いる、という方法がある。
(仮想空間管理部811)
仮想空間管理部811は、仮想オブジェクトDBの仮想オブジェクトの、仮想座標及び実座標を読み込む機能を有する。
(作用可能状態判定部812)
作用可能状態判定部812は、作用可能状態を判定する。作用可能状態は、部位によって操作された仮想道具が、仮想部品に対して作用可能または作用不可の状態を示す状態のことである。例えば、作用可能であるときは作用可能状態=TRUE、作用不可であるときは作用可能状態=FALSE、が設定される。
作用可能状態判定部812は、例えば、部位の実座標と、仮想部品の実座標から部位と仮想部品の間のユークリッド距離(以降、部位部品間距離と称する)を算出し、さらに、前記部位の実座標について、過去の実座標と現在の実座標から算出される、前記部位の速度を示すベクトルのスカラー値(以降、部位の速さと称する)、を算出する。さらに、作用可能状態判定部812は、部位部品間距離が閾値未満であり、かつ、前記部位の速さが閾値未満であるとき、作用可能状態=TRUE(作用可能)であり、それ以外の時は、作用可能状態=FALSE(作用不可)である、と判定する。また、作用可能状態判定部812は、作用可能状態のデフォルト値を作用可能状態=FALSE(作用不可)としてもよい。
ここで、部位部品間距離の算出方法を説明する。部位および部品それぞれの実座標が
(xa,ya,za),(xb,yb,zb)と表現されているとすると、部位部品間距離lは、以下のようにして算出できる。
Figure 2023027577000002
部位の速さの算出方法については、ある時刻と別の時刻の時刻差がΔtであり、それぞれの時刻における部位の実座標が、(xa1,ya1,za1),(xa2,ya2,za2),と表現されているとすると、部位の速さvは、以下のようにして算出できる。
Figure 2023027577000003
(参照元部位切替部813)
参照元部位切替部813は、作用可能状態に応じて、後述の仮想道具描画部815が描画する仮想道具画像の位置姿勢について、参照元となる部位に関する情報を切り替えて設定する。
例えば、参照元部位切替部813は、仮想道具のOIDと作用可能状態の組合せに応じた、参照元部位座標原点および参照元部位姿勢ベクトルを取得することで、参照元部位座標原点および参照元部位姿勢ベクトルを、第1の部位の座標およびベクトルから、第2の部位の座標およびベクトルに切り替えることができる。
(位置姿勢設定部814)
位置姿勢設定部814は、作用可能状態に応じて、反映先道具座標原点および反映先道具姿勢ベクトルを変更することで、仮想道具の位置姿勢に関する制限を制御する機能部である。
具体的には、位置姿勢設定部814は、作用可能状態=TRUE、である場合は、仮想部品DBを用いて、特定の仮想部品に対応する射影平面を取得し、当該射影平面への反映先道具姿勢ベクトルの射影ベクトルを、反映先道具姿勢ベクトルとして設定し、仮想部品の実座標を反映先道具座標原点として設定する。一方、位置姿勢設定部814は、作用可能状態=FALSE、である場合は、反映先道具姿勢ベクトルを反映先道具姿勢ベクトルとして設定し、参照元部位座標原点を反映先道具座標原点として設定する(すなわち変更しない)。
(仮想道具描画部815)
仮想道具描画部815は、反映先道具座標原点と反映先道具姿勢ベクトルが、反映先道具座標原点の値と反映先道具姿勢ベクトルの値である仮想道具を、レンダリングし、前記レンダリングした画像(以降、仮想道具画像と称する)を出力する。当該仮想道具画像は、通信部108を介して作業者端末30に送信される。
(3-2.指示者端末13の動作)
以上、第3の実施形態による指示者端末13の構成を説明した。続いて、図19および図20を参照し、第3の実施形態による指示者端末13の動作を整理する。
図19および図20は、第3の実施形態による指示者端末13の動作を示す説明図である。図19および図20の説明においては、仮想オブジェクトDBには、各仮想オブジェクトに関するデータが記録されており、少なくとも、(OID、種類、オブジェクト名、使用状態)=(001、道具、スパナ、TRUE)であるオブジェクトのデータと、(OID、種類、オブジェクト名、使用状態)=(101、部品、ボルト、TRUE)であるオブジェクトのデータと、が含まれているとする。また、作用可能状態について、部位部品間距離が閾値未満であり、かつ、部位の速さが閾値未満であるとき、作用可能状態=TRUE(作用可能)であり、それ以外の時は、作用可能状態=FALSE(作用不可)であるとし、さらに、システムの起動直後は、作用可能状態=FALSE(作用不可)であるとする。
図19に示したように、まず、作用可能状態判定部812は、システムの起動直後、作用可能状態=FALSE(デフォルト値)を、参照元部位切替部813と位置姿勢設定部814に渡す(S30)。
そして、仮想空間管理部811は、定期的に、仮想オブジェクトDBにおいて、種類=道具、使用状態=TRUEであるデータの、OID、オブジェクト名を、参照元部位切替部813に渡す(S31)。また、部品検出部810は、定期的に、作業者が作業する空間を計測し、仮想部品DBを参照して、作業する空間の中に存在する部品の位置と姿勢を検出し、仮想オブジェクトDBを更新する(S31-2)。なお、複数の部品が検出される場合があるが、その場合には本文中では明記しない指示者側、もしくは作業者側に備えられるインターフェースを用いて複数の部品の中から1つの部品を選択する方法が考えられる。以下では、当該方法により部品が一つ選択されている状態であることを仮定して説明を進める。
また、仮想空間管理部811は、定期的に、仮想オブジェクトDBの、種類=部品であるデータの、OID、オブジェクト名、実座標を、作用可能状態判定部812に渡す(S32)。
また、身体情報取得部103は、定期的に、取得した身体情報を、位置姿勢検出部106に渡す(S33)。ここで,身体情報の内容は,身体情報={実手の人差指の指先の実座標,実手の人差指の第1関節の実座標、,…}であるとする。
続いて、参照元部位切替部813は、仮想道具DBにおいて、OIDが前記OIDである仮想道具のデータの内、作用可能状態が前記作用可能状態であるデータの、参照元部位座標原点および参照元部位座標ベクトルを取得し、位置姿勢検出部106に渡す(S34)。ここでは、前記OID=001であり、作用可能状態=FALSEであるため、参照元部位座標原点=人差指の先端、参照元部位姿勢ベクトル={人差指と親指先端を結ぶベクトル,人差指の第1関節と先端を結ぶベクトル}、である。
そして、参照元部位切替部813は、仮想道具DBにおいて、OIDが前記OIDである仮想道具のデータの内、作用可能状態が前記作用可能状態であるデータの、反映先道具座標原点および反映先道具座標ベクトル、を取得し、仮想道具描画部815に渡す(S35)。ここでは、前記OID=001であり、作用可能状態=FALSEであるため、反映先道具座標原点=突起の一方の先端、反映先道具座標ベクトル={2つ突起の先端を結ぶベクトル、1つの突起の根元と先端を結ぶベクトル}、である。
続いて、位置姿勢検出部106は、身体情報を用いて、参照元部位座標原点および参照元部位姿勢ベクトルそれぞれの値を取得し、位置姿勢設定部814に渡す(S36)。
そして、位置姿勢設定部814は、前記作用可能状態に応じた反映先道具座標原点の値と反映先道具姿勢ベクトルの値を、仮想道具描画部815に渡す(S37)。ここでは、作用可能状態=FALSEなので、反映先道具座標原点=前記参照元部位座標原点、反映先道具姿勢ベクトル=前記参照元部位姿勢ベクトル、である。
仮想道具描画部815は、前記反映先道具座標原点の値および反映先道具姿勢ベクトルの値を設定した仮想道具の画像を描画し、得られた仮想道具画像を、通信部108に渡す(S38)。通信部108は、当該仮想道具画像を作業者端末30に送信する(S39)。
その後、指示者UIの実手の実座標が、仮想部品の実座標の近傍に接近し、ほぼ静止したとする。
図20に示したように、位置姿勢検出部106は、定期的に、身体情報を用いて、参照元部位座標原点および前記参照元部位姿勢ベクトルそれぞれの値を取得し、作用可能状態判定部812にわたす(S40)。
作用可能状態判定部812は、渡された参照元部位座標原点の値と、仮想部品の実座標の値を用いて、部位部品間距離を算出する(S41)。ここで、部位部品間距離<閾値、であったとする。
さらに、作用可能状態判定部812は、定期的に渡された参照元部位座標原点の値を用いて、部位の速さを算出する(S42)。ここで、部位の速さ<閾値、であったとする。
続いて、作用可能状態判定部812は、作用可能状態を判定し、作用可能状態の判定結果を、参照元部位切替部813と位置姿勢設定部814に渡す(S43)。ここでは、作用可能状態の判定結果=TRUE、である。
そして、参照元部位切替部813は、仮想道具DBにおいて、OIDが前記OIDである仮想道具のデータの内、作用可能状態が前記作用可能状態であるデータの、参照元部位座標原点および参照元部位座標ベクトルを取得し、位置姿勢検出部106に渡す(S44)。ここでは、前記OID=001であり、作用可能状態=TRUEであるため、参照元部位座標原点=仮想部品の実座標+オフセット、参照元部位姿勢ベクトル={掌の法線ベクトル+オフセット}、である。
さらに、参照元部位切替部813は、仮想道具DBにおいて、OIDが前記OIDである仮想道具のデータの内、作用可能状態が前記作用可能状態であるデータの、参照元部位座標原点および参照元部位座標ベクトルを取得し、仮想道具描画部815に渡す(S45)。ここでは、前記OID=001であり、作用可能状態=TRUEであるため、反映先道具座標原点=突起の一方の先端、反映先道具座標ベクトル={2つ突起の先端を結ぶベクトル}、である。
また、位置姿勢検出部106は、定期的に、身体情報を用いて、参照元部位座標原点および参照元部位姿勢ベクトルそれぞれの値を取得し、位置姿勢設定部814に渡す(S46)。
そして、位置姿勢設定部814は、参照元部位座標原点の値と、作用可能状態に応じた参照元部位姿勢ベクトルの値を、仮想道具描画部815に渡す(S47)。ここでは、作用可能状態=TRUEなので、位置姿勢設定部814は、仮想部品DBを用いて、仮想部品のOIDに対応する射影平面を取得し、当該射影平面への参照元部位姿勢ベクトルの射影ベクトルを、反映先道具姿勢ベクトルとして仮想道具描画部815に渡す。
仮想道具描画部815は、位置姿勢設定部814から受け取った反映先道具座標原点の値および反映先道具姿勢ベクトルの値が反映された仮想道具画像を描画し、仮想道具画像を通信部108に渡す(S48)。通信部108は、当該仮想道具画像を作業者端末30に送信する(S49)。
(3-3.第3の実施形態の作用効果)
以上説明した本発明の第3の実施形態によれば、多様な作用効果が得られる。例えば、本発明の第3の実施形態によれば、仮想道具DBの、(道具名、作用可能状態)=(スパナ、FALSE)の参照元部位座標原点および参照元部位姿勢ベクトルを、親指・人差し指のような、比較的位置姿勢を容易に変更しやすい部位に関するデータに設定することで、仮想道具が仮想部品に接近・接触するまでは、仮想道具の位置姿勢を柔軟に操作できる。
一方、仮想道具DBの、(道具名、作用可能状態)=(スパナ、TRUE)の参照元部位座標原点および参照元部位姿勢ベクトルを、掌のような、位置姿勢が安定しやすい部位に関するデータに設定することで、仮想道具の姿勢を安定的に操作することができる。このように本発明の第3の実施形態では、仮想道具を操作するための身体参照部位を状況に応じて自動的に変更可能なので、位置の微調整がしやすく、また同時に動作が不安定になりづらい仮想道具の操作を実現できる。
<第4の実施形態>
以上、本発明の第3の実施形態を説明した。続いて、本発明の第4の実施形態を説明する。第4の実施形態では、第3の実施形態で説明した構成に加えて、変形する仮想道具(例えば開閉するペンチ)が、仮想部品(例えばボルト)に作用可能な形状であるか否かも加味して、参照元部位を切り替える。
(4-1.指示者端末14の構成)
図21は、第4の実施形態による指示者端末14の構成を示す説明図である。図21に示したように、第4の実施形態による指示者端末14は、画像取得部102と、身体情報取得部103と、位置姿勢検出部106と、通信部108と、部品検出部810と、仮想空間管理部811と、作用可能状態判定部812と、参照元部位切替部813と、位置姿勢設定部814と、仮想道具描画部815と、記憶部901と、部位形状取得部902と、を備える。以下では、第3の実施形態による指示者端末10と異なる構成を主に説明する。
(記憶部901)
記憶部901は、仮想道具DB、仮想部品DB、仮想オブジェクトDBに加えて、部位形状指標DBを記憶する。部位形状指標DBは、OID、道具名、仮想道具および部位形状指標を関連付けて記憶する。
図22は、部位形状指標DBの具体例を示す説明図である。図22に示した例では、道具名=ペンチの部位形状指標は、人差指第3関節と第2関節を結ぶベクトルと中指第3関節と第2関節を結ぶベクトルが成す角度である。また、道具名=モンキーレンチの部位形状指標は、人差指先端と親指先端の間の距離×オフセット係数、である。
2つのベクトルが成す角度θは、内積値およびスカラー値を用いて次のように表現される。なお、2点間の距離は上述した数式1により計算される。
Figure 2023027577000004
(部位形状取得部902)
部位形状取得部902は、仮想道具の形状の参照元である部位の形状を示す指標の値を取得する機能部である。具体的には、部位形状取得部902は、身体情報を使用して、部位形状指標データの部位形状指標の値を算出する。図22に示した例では、部位形状取得部902は、道具名=ペンチ、の部位形状指標である、人差指第3関節と第2関節を結ぶベクトルと中指第3関節と第2関節を結ぶベクトルが成す角度、の値を算出する。
(作用可能状態判定部812)
作用可能状態判定部812は、部位部品間距離、部位の速さ、に加え、部位形状指標の値に応じて、仮想道具が作用可能状態を判定する。図22に示した例では、作用可能状態判定部812は、仮想道具が、道具名=ペンチ、であるとき、上記部位形状指標が閾値以上(すなわち、ペンチが十分開いている形状)であり、かつ、部位部品間距離が閾値未満であり、かつ、部位の速さが閾値未満であるとき、作用可能状態=TRUE(作用可能)であり、それ以外の時は、作用可能状態=FALSE(作用不可)である、と判定してもよい。なお、部位形状指標の判定の際に用いる閾値が、仮想部品の大きさに応じて設定されてもよい。
(4-2.指示者端末14の動作)
以上、第4の実施形態による指示者端末14の構成を説明した。続いて、図23および図24を参照し、第4の実施形態による指示者端末14の動作を整理する。
図23および図24は、第4の実施形態による指示者端末14の動作を示す説明図である。図23および図24においては、第3の実施形態の動作における処理と実質的に同一の処理には、同一のステップ番号を付している。これらの処理のここでの詳細な説明は省略する。また、仮想オブジェクトデータベース(101)には、(OID、種類、オブジェクト名、使用状態)=(002、道具、ペンチ、TRUE)であるオブジェクトのデータ、が含まれているとする。また、作用可能状態について、部位部品間距離が閾値未満であり、かつ、前記部位の速さが閾値未満であり、かつ、部位形状指標が閾値以上であるとき、作用可能状態=TRUE(作用可能)であり、それ以外の時は、作用可能状態=FALSE(作用不可)であるとし、さらに、システムの起動直後は、作用可能状態=FALSE(作用不可)であるとする。
図23に示したS51において、身体情報取得部103は、定期的に、取得した身体情報を、位置姿勢検出部106と、部位形状取得部902に渡す。
そして、指示者UIの実手の実座標が、仮想部品の実座標の近傍に接近し、ほぼ静止し、さらに、人差指と中指が十分開いた形状になったとする。
この場合、図24に示したS62において、部位形状取得部902は、部位形状指標DBにおいて、使用している仮想道具のOIDに対応する部位形状指標を取得し、前記身体情報を使用して算出した部位形状指標の値を、作用可能状態判定部812に渡す。ここでは、使用している仮想道具はペンチであり、OID=002であるため、部位形状指標=人差指第3関節と第2関節を結ぶベクトルと、中指第3関節と第2関節を結ぶベクトルが成す角度、である。そしてここで、前記部位形状指標≧閾値、であったとする。この場合、作用可能状態判定部812が作用可能状態=TRUEと判定し、S43~S49の処理が進められる。
(4-3.第4の実施形態の作用効果)
以上説明した本発明の第4の実施形態によれば、多様な作用効果が得られる。例えば、本発明の第4の実施形態によれば、部位部品間距離と、部位の速さだけでなく、部位の形状も加味して、作用可能状態を判定する。このため、仮想道具が適切な形状に調整された場合にのみ、仮想部品に作用させることができるので、意図しない動作を避けることができる。
<5.補足>
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
例えば、第3の実施形態などにおいて、仮想部品DBに保持される検出用形状データに基づいて部品を検出する例を説明したが、部品の検出および部品の位置姿勢の検出を他の方法で実現することも可能である。例えば、2次元画像から機械学習によって撮影されている物体の位置姿勢を検出するよう訓練された識別機と通常のカメラの組み合わせを部品検出部に用い、仮想部品DBに参照画像を保持するなどの方法を用いることもできる。
また、本明細書の遠隔作業支援システムの処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、遠隔作業支援システムの処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、指示者端末10、12、13、14に内蔵されるCPU、ROMおよびRAMなどのハードウェアに、上述した指示者端末10、12、13、14の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた非一時的な記憶媒体も提供される。
10、12、13、14 指示者端末
101、701、801、901 記憶部
102 画像取得部
103 身体情報取得部
104 仮想道具一覧生成部
106 位置姿勢検出部
107、815 仮想道具描画部
108 通信部
120 センサ部
130 マイク
150 操作表示部
20 撮像装置
30 作業者端末
811 仮想空間管理部
812 作用可能状態判定部
813 参照元部位切替部
814 位置姿勢設定部
902 部位形状取得部

Claims (14)

  1. 第1のユーザの撮像画像を取得する画像取得部と、
    前記第1のユーザの撮像画像における前記第1のユーザの第1の部位の位置および姿勢を示す第1の部位情報を検出する位置姿勢検出部と、
    仮想的な道具の画像である仮想道具画像を、前記第1の部位情報に応じた位置および姿勢で描画する仮想道具描画部と、
    前記仮想道具描画部により描画された前記仮想道具画像を第2のユーザが利用する端末に送信する送信部と、
    を備える、画像処理装置。
  2. 前記画像処理装置は、
    1または2以上の仮想道具の一覧画面を生成する仮想道具一覧生成部をさらに備え、
    前記仮想道具描画部は、前記一覧画面において選択された仮想道具の仮想道具画像を描画する、請求項1に記載の画像処理装置。
  3. 前記第1の部位は、前記第1のユーザの部位のうちで、前記一覧画面において選択された仮想道具に応じた部位である、請求項2に記載の画像処理装置。
  4. 前記画像処理装置は、
    前記第1の部位の形状を判定する身体形状判定部をさらに備え、
    前記一覧画面に含まれる前記1または2以上の仮想道具は、複数の仮想道具のうちで前記身体形状判定部により得られた判定結果に対応する仮想道具である、請求項2または3に記載の画像処理装置。
  5. 前記第1の部位は、前記第1のユーザの手の少なくとも1の指を含む、請求項1~4のいずれか一項に記載の画像処理装置。
  6. 前記画像処理装置は、
    前記第1の部位を含む身体の形状を判定する身体形状判定部をさらに備え、
    前記仮想道具描画部は、前記身体形状判定部により得られた判定結果の変化に応じて、前記仮想道具画像を変形させる、
    請求項1~3のいずれか一項に記載の画像処理装置。
  7. 前記位置姿勢検出部は、前記第1のユーザの第2の部位の姿勢を示す第2の部位情報を検出し、
    前記画像処理装置は、
    前記仮想道具描画部が前記仮想道具画像を描画する際に参照する部位情報を、前記第1の部位情報と前記第2の部位情報の間で切り替える参照元部位切替部をさらに備える、請求項1~6のいずれか一項に記載の画像処理装置。
  8. 前記参照元部位切替部は、前記第1のユーザの第1の部位の移動速度に基づいて、前記仮想道具描画部が前記仮想道具画像を描画する際に参照する部位情報を、前記第1の部位情報と前記第2の部位情報の間で切り替える、請求項7に記載の画像処理装置。
  9. 前記参照元部位切替部は、前記第1のユーザの第1の部位の移動速度が閾値を下回る場合に、前記仮想道具描画部が前記仮想道具画像を描画する際に参照する部位情報を、前記第1の部位情報から前記第2の部位情報に切り替える、請求項8に記載の画像処理装置。
  10. 前記仮想道具描画部は、前記仮想的な道具が作用する対象である仮想部品をさらに描画し、
    前記参照元部位切替部は、前記仮想部品に関する座標位置と、前記第1のユーザの第1の部位の位置との関係に応じて、前記仮想道具描画部が前記仮想道具画像を描画する際に参照する部位情報を、前記第1の部位情報と前記第2の部位情報の間で切り替える、請求項7~9のいずれか一項に記載の画像処理装置。
  11. 前記参照元部位切替部は、前記仮想道具画像の形状が所定の条件を満たす場合に、前記仮想道具描画部が前記仮想道具画像を描画する際に参照する部位情報を、前記第1の部位情報と前記第2の部位情報の間で切り替える、請求項7~10のいずれか一項に記載の画像処理装置。
  12. 第1のユーザの撮像画像を取得することと、
    前記第1のユーザの撮像画像における前記第1のユーザの第1の部位の位置および姿勢を示す第1の部位情報を検出することと、
    仮想的な道具の画像である仮想道具画像を、前記第1の部位情報に応じた位置および姿勢で描画することと、
    前記仮想道具画像を第2のユーザが利用する端末に送信することと、
    を含む、コンピュータにより実行される画像処理方法。
  13. コンピュータを、
    第1のユーザの撮像画像を取得する画像取得部と、
    前記第1のユーザの撮像画像における前記第1のユーザの第1の部位の位置および姿勢を示す第1の部位情報を検出する位置姿勢検出部と、
    仮想的な道具の画像である仮想道具画像を、前記第1の部位情報に応じた位置および姿勢で描画する仮想道具描画部と、
    前記仮想道具描画部により描画された前記仮想道具画像を第2のユーザが利用する端末に送信する送信部と、
    として機能させるための、プログラム。
  14. 第1のユーザの撮像画像を取得する画像処理装置および第2のユーザにより利用される端末を有する画像処理システムであって、
    前記画像処理装置は、
    前記第1のユーザの撮像画像を取得する画像取得部と、
    前記第1のユーザの撮像画像における前記第1のユーザの第1の部位の位置および姿勢を示す第1の部位情報を検出する位置姿勢検出部と、
    仮想的な道具の画像である仮想道具画像を、前記第1の部位情報に応じた位置および姿勢で描画する仮想道具描画部と、
    前記仮想道具描画部により描画された前記仮想道具画像を前記端末に送信する送信部と、
    を備え、
    前記端末は、前記送信部から受信された前記仮想道具画像を表示する、画像処理システム。
JP2021132769A 2021-08-17 2021-08-17 画像処理装置、画像処理方法、プログラムおよび画像処理システム Pending JP2023027577A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021132769A JP2023027577A (ja) 2021-08-17 2021-08-17 画像処理装置、画像処理方法、プログラムおよび画像処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021132769A JP2023027577A (ja) 2021-08-17 2021-08-17 画像処理装置、画像処理方法、プログラムおよび画像処理システム

Publications (1)

Publication Number Publication Date
JP2023027577A true JP2023027577A (ja) 2023-03-02

Family

ID=85330447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021132769A Pending JP2023027577A (ja) 2021-08-17 2021-08-17 画像処理装置、画像処理方法、プログラムおよび画像処理システム

Country Status (1)

Country Link
JP (1) JP2023027577A (ja)

Similar Documents

Publication Publication Date Title
US10179407B2 (en) Dynamic multi-sensor and multi-robot interface system
WO2016185845A1 (ja) インタフェース制御システム、インタフェース制御装置、インタフェース制御方法、及びプログラム
JP4608326B2 (ja) 指示動作認識装置及び指示動作認識プログラム
US8416189B2 (en) Manual human machine interface operation system and method thereof
JP2000132305A (ja) 操作入力装置
CN110549353B (zh) 力觉视觉化装置、机器人以及存储力觉视觉化程序的计算机可读介质
JP6902369B2 (ja) 提示装置、提示方法およびプログラム、ならびに作業システム
KR102021851B1 (ko) 가상현실 환경에서의 사용자와 객체 간 상호 작용 처리 방법
CN110662631A (zh) 控制装置、机器人控制方法以及机器人控制系统
KR20150040580A (ko) 가상 공간 멀티 터치 인터랙션 장치 및 방법
JP2010257081A (ja) 画像処理方法及び画像処理装置
KR101654311B1 (ko) 사용자 모션 인식 방법 및 장치
JP2002304246A (ja) 力覚提示装置及び仮想空間システム
WO2018198272A1 (ja) 制御装置、情報処理システム、制御方法、及びプログラム
JP5863984B2 (ja) ユーザインタフェース装置及びユーザインタフェース方法
JP2023027577A (ja) 画像処理装置、画像処理方法、プログラムおよび画像処理システム
KR20190048810A (ko) 증강현실용 컨텐츠 제공 장치 및 방법
KR101519589B1 (ko) 손 아바타를 이용한 콘텐츠 제어가능 전자학습 장치 및 방법
JP7398227B2 (ja) 作業支援システム及びプログラム
Yu et al. A hand-based collaboration framework in egocentric coexistence reality
JP7392512B2 (ja) 情報処理装置、情報処理方法、プログラム、および情報処理システム
KR102256607B1 (ko) 다중 콘텐츠 표현이 가능한 다중 가상현실 콘텐츠 제공 시스템
Prabhakar et al. Comparison of three hand movement tracking sensors as cursor controllers
JP7243541B2 (ja) 情報処理装置、情報処理方法、プログラム、および、情報処理システム
JP7386451B2 (ja) 教示システム、教示方法及び教示プログラム