以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明の第1実施形態に係る操作支援装置1の主要部の構成を示した機能ブロック図であり、センサ装置10、データベース20、画像出力装置30及び表示装置40を主要な構成としている。
センサ装置10は、操作支援に係る対象物(操作対象)Tの位置/姿勢を検知する。このようなセンサ装置10としては、可視光、赤外線、超音波または磁気用のセンサを用いることができる。一般的なスマートフォン等に搭載される可視光カメラを用いる場合は、専用のマーカを対象物に貼り付けることで操作対象Tの位置/姿勢パラメータを取得する手法が非特許文献2に開示されている。
あるいは、操作対象Tから抽出できる特徴点の配置を登録しておくことで、マーカを貼り付けることなく操作対象Tの位置・姿勢パラメータを計算できる。赤外線を用いる場合は、赤外線カメラ、赤外線照射センサ及び反射マーカが必要となる。超音波や磁気を用いる場合は、各々のセンサと専用のトランスミッタが必要となる。
なお、操作対象Tに対するセンサ装置10の位置/姿勢パラメータまたはセンサ装置10に対する操作対象Tの位置/姿勢パラメータが計算できるものであれば、センサ装置10は上述のセンサ等に限定されない。なお、本実施形態では、センサ装置10として特に可視光カメラを用いる場合を例にして説明する。
データベース20は、位置/姿勢パラメータの算出に必要な情報及び後述する指定領域の情報や第1CG等の電子情報を記録しておくことができる記憶装置であり、ハードディスクやフラッシュメモリ等の不揮発性メモリストレージまたはPCの主記憶装置として使用される揮発性メモリを用いることができる。
表示装置40は、PCやスマートフォンのディスプレイであり、ヘッドマウントディスプレイやヘッドアップディスプレイ、ホログラムディスプレイを使用してもよい。ヘッドマウントディスプレイには、透過型と非透過型との2種類が存在するが、そのいずれであっても良い。
画像出力装置30において、位置/姿勢算出部31は、例えば非特許文献2に開示された手法を利用して、可視光カメラ10が撮影したカメラ画像から抽出した複数の特徴点(SIFT,SURF,ORB等)またはマーカの配置と、操作対象Tから予め抽出してデータベース20に蓄積されている複数の特徴点またはマーカの配置との対応関係に基づいて、操作対象Tと可視光カメラ10との相対的な位置、姿勢関係を表す位置/姿勢パラメータを算出する。
前記位置/姿勢パラメータとしては、並進及び移動のパラメータ、射影変換行列またはアフィン変換行列、ホモグラフィ行列などを用いることができる。位置/姿勢パラメータとは、より厳密には可視光カメラ10と操作対象Tとの間との相対的な位置関係を示すものであり、操作対象Tに対する可視光カメラ10の位置/姿勢パラメータ及び可視光カメラ10に対する操作対象Tの位置/姿勢パラメータのいずれも用いることができる。
指定領域情報取得部32は、操作対象Tにおける指定領域Uの位置及び形状を特定する指定領域情報をデータベース20から取得して第1CG取得部33へ提供する。第1CG取得部33は、前記提供された指定領域情報に基づいて、指定領域Uの位置及び形状を、少なくともその要部と重ならないように明示する第1CGを、データベース20から取得または自ら生成して第1CG重畳部34へ提供する。
指定領域Uとは、操作対象Tにおける具体的な操作部分として予め指定される少なくとも一つの領域であり、位置/姿勢算出部31が位置/姿勢パラメータを算出する際に使用した操作対象Tの座標系上の点群に基づいて定めることができる。
例えば、図2,3に示したように、指定領域Uが矩形の形状であって、その4頂点の座標を操作対象Tの座標系上で指定することで指定領域Uが予め登録されているのであれば、当該4頂点の各座標を指定領域情報取得部32がデータベース20から取得して第1CG取得部33へ提供する。
第1CG取得部33は、前記提供された情報に基づいて、前記4頂点を結ぶ矩形枠状の第1CGをデータベース20から取得する。あるいは、前記提供された情報に基づいて、前記4頂点を結ぶ矩形枠状の第1CGを自ら生成する。
本実施形態では、前記位置/姿勢パラメータを算出するために、マーカや特徴点の配置を用いる場合及びセンサ装置10として可視光カメラ以外を用いる場合のいずれにおいても、操作象物Tに対して座標系が設定され、この座標系を用いて指定領域Uが登録される。
図2は、マーカを用いた際に設定される座標系(X,Y,Z)の一例を示しており、図3は、特徴点(図中の×印)の配置を用いた際に設定される座標系の一例を示している。なお、図2、3ではいずれも画像の左上が原点となっているが、これに限定されるものではない。
また、指定領域Uは上記のような矩形の形状に限定されるものではなく、楕円形状や任意の形状とすることもできる。この場合には、指定領域Uの輪郭に沿った点群の各座標が予め登録されることになる。
このとき、指定領域Uの位置及び形状を示す点群の一部又は全てによって構成される図形を第1CGとして用いても良い。あるいは、点群の一部又は全てを頂点とする多角形を第1CGとして用いてもよい。あるいは、点群を内包する図形(例えば、凸包や円)を取得し、その輪郭線を第1CGとして用いても良い。
さらに、複数の指定領域Uを、その操作タイミングに応じた時系列で順次に明示したい場合には、各指定領域Uに対応する点群を、その再生タイミングに応じた時間情報と対応付けてデータベース20に登録することができる。
例えば、作業支援システムにおいて、複数の作業工程から構成される作業手順を提示する場合に、第1工程は第1指定領域U1を対象とし、第2工程は第2指定領域U2を対象とするのであれば、作業の進捗状況に応じて、第1指定領域U1を明示する第1CG及び第2指定領域U2を明示する第1CGが、当該順序で表示、消去を繰り返すようにしても良い。
なお、処理を簡略化するために、位置/姿勢算出部31で用いる操作対象Tの撮影範囲と指定領域情報取得部32で用いる指定領域Uの範囲とを同一にしてもよい。具体的には、図4に示したように、操作対象Tを映した画像の左上を原点とした座標系において事前に特徴点を計算しておくと共に、指定領域Uが操作対象画像の全体を示すように、指定領域Uを四隅の点によって定めてもよい。
第1CG重畳部34は、第1CGを前記位置/姿勢パラメータを用いて、表示装置40上で操作対象Tの指定領域Uが視認される位置(表示装置40が透過スクリーンであれば、指定領域Uの透過位置)近傍に重畳表示する。このとき、第1CGが操作対象Tに張り付いて視認されるように、位置/姿勢パラメータに応じた態様、例えば射影変換(アフィン変換や相似変換等を包含する)した後に、当該指定領域Uの近傍に重畳表示するようにしても良い。図5は、矩形枠状の第1CGを射影変換して、現実空間の指定領域の視認が妨げられないように、その輪郭近傍に沿って重畳表示した例を示している。
あるいは、位置/姿勢パラメータを用いて指定領域Uの位置及び形状を示す点群の一部又は全てについて表示装置40上の投影先を算出し、投影先に基づいて第1CGを逐次的に生成、表示しても良い。
例えば、図6に示すように、点群の投影先(図中の×)を内包する図形(例えば、楕円や矩形)を第1CGとして生成し、正射影により表示してもよい。
なお、表示装置40が透過型ディスプレイによって構成される場合は、位置/姿勢パラメータと透過型ディスプレイに関するキャリブレーションパラメータとを用いて、第1CGの表示位置を指定領域の透過位置として算出すれば良い。
本実施形態によれば、操作対象Tの指定領域Uを特定する第1CGを、指定領域Uの視認が妨げられないように表示装置40のスクリーン上に表示して作業者に視認させることができるので、作業者に対して指定領域Uの位置及び範囲を正確に認識させることができるようになる。
図7は、本発明の第2実施形態に係る操作支援装置1の主要部の構成を示した機能ブロック図であり、前記と同一の符号は同一又は同等部分を表しているので、その説明は省略する。本実施形態は、指定領域Uへの操作内容等を表す見本画像を第2CGとして取得する第2CG取得部35及び当該第2CGを表示装置40に表示する第2CG表示部36を具備した点に特徴がある。
第2CG取得部35は、指定領域Uに予め紐付けられた第2CGをデータベース20から取得して第2CG表示部36へ提供する。第2CGは、指定領域Uへの作業者による適切な操作内容等を撮影した画像または動画、もしくは操作内容等に応じて作成されたイラストまたはアニメーションである。
第2CG表示部36は、前記第2CGを表示装置40に表示する。このとき、現実空間中の指定領域Uとの比較がしやすいように、位置/姿勢パラメータを用いて射影変換(アフィン変換等を包含する)した第2CGを表示するようにすることが望ましい。
図8は、所定のLANポートに装着されているLANケーブルを取り外す操作を支援する第2CGの一例を示しており、当該LANポートからLANケーブルを取り外す動画やアニメーションが第2CGとなり得る。
なお、各指定領域Uに関連して表示する第2CGは一つに限定されるものではなく、図9に一例を示したように、操作支援用に指定領域Uに対する推奨操作を撮影したカメラ画像(見本画像)を第1の第2CG要素[同図(a)]とし、これに操作する部品等を具体的に特定するための目印や操作内容を説明する文字列を表す第2の第2CG要素等[同図(b)]を重畳し、この重畳画像を第2CGとして表示[同図(c)]するようにしても良い。前記第1の第2CG要素は、指定領域Uに対する推奨操作を描画したアニメーション(見本画像)であっても良い。
前記図9は、所定のLANポートに装着されているLANケーブルを取り外す操作を支援する第2CGなので、所定のLANポートにLANケーブルが装着されている第1の第2CG要素[同図(a)]に、取り外し対象のLANケーブルを特定するための目印(ここでは、〇印)及び操作内容(ここでは、「ヌク」の文字列)を示す第2の第2CG要素[同図(b)]を重畳して第2CG[同図(c)]としている。
また、指定領域Uは一つの操作対象Tについて1か所である必要は無く、複数の指定領域U(U1,U2,U3)を逐次的に操作する場合には、第1CGの位置および形状を各指定領域Uに応じて逐次更新し、当該第1CGの更新に同期して、これに関連付けて表示する第2CGの内容も更新するようにしても良い。
例えば、複数のLANケーブルを所定の順序で挿抜する操作支援であれば、図10に示したように、時刻t1では1番目に挿抜すべきLANケーブルに対応した指定領域U1の位置に、その範囲に応じた形状の第1CGを表示すると共に、その操作内容を説明する第2CGを関連付けて表示する。
次いで、その操作に要する時間経過後の時刻t2では、2番目に挿抜すべきLANケーブルに対応した指定領域U2の位置に、その範囲に応じた形状の第1CGを表示すると共に、その操作内容を示す第2CGを関連付けて表示する。
最後に、その操作に要する時間経過後の時刻t3に、3番目に挿抜すべきLANケーブルに対応した指定領域U3の位置に、その範囲に応じた形状の第1CGを表示すると共に、その操作内容を示す第2CGを関連付けて表示するようにしても良い。
このような時系列表示は、表示すべき複数の第1CGおよび第2CGのペアを、その表示タイミングと共にデータベース20に蓄積しておき、第1CG状重畳部34および第2CG表示部36が、各CGをその表示タイミングで順次に表示することで実現できる。
一方、前記第2CG表示部36は第2CGを表示する際に、現実空間中の指定領域Uとの比較がしやすいように、図11に示したように、位置/姿勢パラメータを用いて射影変換(アフィン変換等を包含する)した第2CGを表示してもよい。
あるいは、第2CGが常に正面方向で提示されるように、図12に示したように、表示装置40内の位置・回転・拡大縮小のみを補正(相似変換)するようにしても良い。このようにすれば、作業者にとってCG単体の視認性を向上させることができるようになる。
さらに、表示装置40に傾きを検知するセンサを設けておき、当該センサにより検知された傾きパラメータを用いて第2CGの回転成分を補正してもよい。表示装置40の傾きパラメータとしては、加速度センサの出力信号を用いることができる。これによって、図13に示すように、表示装置40が傾いた状態でも第2CGを常に直立姿勢の状態で表示できるようになる。
前記第2CGの表示位置は、第2CGと第1CGとの距離を指標(第1指標)として決定してもよい。第1CG及び第2CGの位置は、例えば各CGを構成する点群の座標の中央値や平均値で代表できる。その上で、第2CGと第1CGとの距離が一定値、もしくは一定以上となる位置を第2CGの表示位置として算出してもよい。第2CGと第1CGとの距離に相当する線分の一例を図14に示す。
もしくは、第2CGと第1CGとの重複率を指標(第2指標)として第2CGの表示位置を決定してもよい。例えば、第1CG及び第2CGの各CGを構成する点群の凸包を取得し、(第1凸包と第2凸包とのAND領域の面積)/(第1凸包と第2凸包とのOR領域の面積)を重複率として算出してもよい。その上で、重複率が一定値もしくは一定以下となる位置を第2CGの表示位置として算出してもよい。
なお、第2CGの表示位置は、上記の第1または第2指標に基づいて距離や重複率に関する条件を満たす位置をランダムに算出するのみならず、事前に定義した複数の候補位置の中から最適位置を適応的に選択するようにしてもよい。例えば、複数の候補位置の中から指標値が最小(例えば、重複率が最小)になる候補位置を選択してもよい。
図15は、第2CGを予め用意された複数の候補位置のいずれかに相似変換して表示する方法を示した図であり、ここでは候補位置の大きさを固定とし、回転角度は、位置/姿勢パラメータを用いて第1CGと同等の回転量となるように補正されるものとする。また、4つの候補位置を表示装置40の四隅に定義(x1〜x4)し、重複率に基づいて適応的にいずれかの候補位置が選択されるようにしている。そして、各候補位置について、前記固定の大きさと回転量とを用いた場合に想定される第2CGの表示領域を算出する。
図15の例では、第1CGと第2CGとの重複率が最小となるのは候補位置x3であるため、図16に示したように、候補位置x3が第2CGの表示位置として選択される。
本実施形態によれば、指定領域に対する操作内容を明示する操作支援用の第2CGが、指定領域に重ねてではなく、指定領域から離れた位置に表示されるので、第1CGで明示された指定領域の状態を目視で確認しながら、第2CGを参照することで、その操作内容を確認することができるようになる。
図17は、本発明の第3実施形態に係る操作支援装置1の主要部の構成を示した機能ブロック図であり、前記と同一の符号は同一又は同等部分を表しているので、その説明は省略する。本実施形態は、第1CGと第2CGとの対応関係を明示する第3CGを表示する第3CG表示部37をさらに具備した点に特徴がある。
第3CG表示部37は、図18に例示したように、第1CGと第2CGとを結ぶ図形(例えば、線分)を第3CGとして表示するので、作業者は第1CGと第2CGとの対応関係を容易に把握できるようになる。
なお、上記の実施形態では、第2CGとして予め録画された操作支援用の動画やアニメーション、またはカメラ画像から切り出した指定領域Uのリアルタイム映像のいずれかを選択的に表示するものとして説明したが、本発明はこれのみに限定されるものでなく、最初は予め録画された操作支援用の動画を第2CGとして表示して操作内容を作業者に学習させ、その後、所定のタイミングで指定領域Uのリアルタイム映像に切り替えるようにしても良い。