以下、本発明につき図面を参照しつつ詳細に説明する。なお、本発明を実施するための形態(以下、実施形態という)により本発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、下記実施形態で開示した構成要素は適宜組み合わせることが可能である。
(実施形態)
図1は、本実施形態のカメラの制御システムを示す模式図である。図2は、本実施形態のカメラの制御システムを示す模式図である。図3は、建設機械の右側面を示す図である。図4は、建設機械の左側面を示す図である。
本実施形態のカメラの制御システム1は、建設機械10を撮影するカメラ20を自動的に制御するシステムである。カメラの制御システム1は、建設機械10を遠隔操作する必要がある場合等に用いられる。建設機械10は、建築工事又は土木工事等が行われる工事現場で使用される。例えば、工事現場が災害現場であることがある。災害現場においては、2次災害が発生する可能性がある。作業者が2次災害に巻き込まれないようにするために、建設機械10は、災害現場から離れた遠隔操作室にいる作業者によって遠隔操作される。例えば、建設機械10は、無線通信機及び車載カメラを備える。建設機械10は、遠隔操作室にいる作業者の操作を無線通信機で受信できる。車載カメラは、例えば建設機械10のキャビン(操縦室)に設けられ、キャビンの内部から建設機械10の前方等を撮影する。
建設機械10を適切に遠隔操作するためには、建設機械10の周囲から建設機械10を撮影した画像を作業者に提供することが望ましい。このため、建設機械10の周囲にはカメラ20が配置される。しかし、建設機械10は、カメラ20に対して移動し且つ変形する。このため、カメラ20は、建設機械10を適切に撮影し続けるために、建設機械10の移動及び変形に応じて、撮影方向及び倍率を調整する必要がある。本実施形態のカメラの制御システム1は、カメラ20の撮影方向及び倍率を自動的に制御するシステムである。
図1に示すように、カメラの制御システム1は、建設機械10と、カメラ20と、中継機31と、モニタ33と、制御装置50と、を備える。建設機械10、カメラ20及び中継機31は、工事現場に配置される。モニタ33及び制御装置50は、工事現場から離れた遠隔操作室に配置される。
図2に示すように、建設機械10は、バックホウである。建設機械10は、走行装置19と、ボディ17と、ブーム15と、アーム13と、バケット11と、第1ARマーカ91と、第2ARマーカ92と、第3ARマーカ93と、第4ARマーカ94と、第5ARマーカ95と、第6ARマーカ96と、を備える。走行装置19は、地面に接する履帯を備える。走行装置19は、エンジンによって履帯を駆動する。建設機械10は、走行装置19によって不整地を移動することができる。
図2に示すように、ボディ17は、走行装置19の上に配置される。ボディ17は、軸受等を含むジョイントを介して走行装置19と接続される。ボディ17は、走行装置19に対して回転できる。ボディ17は、地面に対して直交する軸を中心に回転できる。ボディ17は、キャビンを備える。
図2に示すように、ブーム15は、ボディ17に支持される。ブーム15は、ボディ17に設けられるキャビンの隣りに配置される。ブーム15は、軸受等を含むジョイントを介してボディ17と接続される。ブーム15は、ボディ17に対して回転できる。ブーム15は、地面と平行な軸を中心に回転できる。例えば、ブーム15の角度は、ボディ17及びブーム15に接続される油圧シリンダーによって変えられる。
図2に示すように、アーム13は、ブーム15に支持される。アーム13は、軸受等を含むジョイントを介してブーム15と接続される。アーム13は、ブーム15に対して回転できる。アーム13は、地面と平行な軸を中心に回転できる。例えば、アーム13の角度は、ブーム15及びアーム13に接続される油圧シリンダーによって変えられる。
図2に示すように、バケット11は、アーム13に支持される。バケット11は、軸受等を含むジョイントを介してアーム13と接続される。バケット11は、アーム13に対して回転できる。バケット11は、地面と平行な軸を中心に回転できる。例えば、バケット11の角度は、アーム13及びバケット11に接続される油圧シリンダーによって変えられる。
第1ARマーカ91、第2ARマーカ92、第3ARマーカ93、第4ARマーカ94、第5ARマーカ95、及び第6ARマーカ96は、正方形状のであって、それぞれ異なる模様を有するAR(Augmented Reality)マーカである。
図3に示すように、第1ARマーカ91は、アーム13に設けられる。本実施形態においては、3つの第1ARマーカ91が、アーム13の右側面に設けられる。右側面とは、仮にキャビンに搭乗した作業者から見た場合に右側にある側面を意味し、以下において同様の意味で用いられる。3つの第1ARマーカ91は、アーム13の長手方向に沿って隣接して並べられる。3つの第1ARマーカ91は、それぞれ異なる模様を有するARマーカである。
図3に示すように、第2ARマーカ92は、ブーム15に設けられる。本実施形態においては、3つの第2ARマーカ92が、ブーム15の右側面に設けられる。3つの第2ARマーカ92は、ブーム15の長手方向に沿って隣接して並べられる。3つの第2ARマーカ92は、それぞれ異なる模様を有するARマーカである。
図3に示すように、第3ARマーカ93は、ボディ17に設けられる。本実施形態においては、2つの第3ARマーカ93が、ボディ17の右側面に設けられる。2つの第3ARマーカ93は、地面と平行な方向に沿って隣接して並べられる。2つの第3ARマーカ93は、それぞれ異なる模様を有するARマーカである。
図4に示すように、第4ARマーカ94は、アーム13に設けられる。本実施形態においては、3つの第4ARマーカ94が、アーム13の左側面に設けられる。左側面とは、仮にキャビンに搭乗した作業者から見た場合に左側にある側面を意味し、以下において同様の意味で用いられる。3つの第4ARマーカ94は、アーム13の長手方向に沿って隣接して並べられる。3つの第4ARマーカ94は、それぞれ異なる模様を有するARマーカである。
図4に示すように、第5ARマーカ95は、ブーム15に設けられる。本実施形態においては、3つの第5ARマーカ95が、ブーム15の左側面に設けられる。3つの第5ARマーカ95は、ブーム15の長手方向に沿って隣接して並べられる。3つの第5ARマーカ95は、それぞれ異なる模様を有するARマーカである。
図4に示すように、第6ARマーカ96は、ボディ17に設けられる。本実施形態においては、2つの第6ARマーカ96が、ボディ17の左側面に設けられる。2つの第6ARマーカ96は、地面と平行な方向に沿って隣接して並べられる。3つの第6ARマーカ96は、それぞれ異なる模様を有するARマーカである。
図2に示すように、カメラ20は、建設機械10の周囲から建設機械10を撮影する。カメラ20は、連続して画像を撮影できる。すなわち、カメラ20は、動画を撮影できる。カメラ20は、工事現場に配置される台車35に載せられる。カメラ20は、台車35によって移動できる。また、カメラ20は、左右への旋回(パン)、上下への旋回(チルト)、撮影画像の拡大(ズームイン)、及び撮影画像の縮小(ズームアウト)ができる。
カメラ20は、撮影動作を制御する撮影制御部21と、左右への旋回及び上下への旋回を可能にする駆動部23と、撮影画像の拡大及び縮小を可能にする倍率制御部25と、を備える。撮影制御部21は、外部から受信する電気信号に応じて、撮影を開始又は終了させる。駆動部23は、例えばカメラ20の本体の下部に設けられる。駆動部23が台車35に載せられ、駆動部23の上にカメラ20の本体が載せられる。駆動部23は、外部から受信する電気信号に応じて、カメラ20を左右又は上下へ旋回させる。倍率制御部25は、外部から受信する電気信号に応じて、撮影画像を拡大又は縮小する。
中継機31は、カメラ20の撮影画像のデータを無線通信によって遠隔操作室へ送る装置である。中継機31は、カメラ20から受信したデータを、モニタ33及び制御装置50に送信される。モニタ33は、中継機31から受信したデータに基づき、カメラ20の撮影画像を表示する。遠隔操作室にいる作業者は、モニタ33の表示画像を見ることによって、建設機械10の状態を知ることができる。
制御装置50は、コンピュータであり、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、入力インターフェース、及び出力インターフェースを含む。CPU、ROM、RAM、入力インターフェース、及び出力インターフェースは、内部バスによって接続されている。図1に示すように、制御装置50は、第1座標演算部51と、第2座標演算部52と、第3座標演算部53と、記憶部54と、長方形描画部55と、制御部56と、を備える。制御装置50の各機能は、CPU、ROM、RAM、入力インターフェース、及び出力インターフェースが連携することによって実現される。
図5は、カメラの撮影画像を示す図である。図6は、建設機械のアームの右側面図である。図7は、第1ARマーカの拡大図である。図8は、建設機械のボディの右側面図である。制御装置50は、図5に示す第1座標C1、第2座標C2、及び第3座標C3を算出する。第1座標C1は、撮影画像におけるバケット11の回転中心の位置に対応する座標である。第2座標C2は、撮影画像におけるアーム13の回転中心の位置に対応する座標である。第3座標C3は、撮影画像におけるボディ17の位置に対応する座標である。
第1座標演算部51は、第1座標C1を算出する。まず、第1座標演算部51は、撮影画像に含まれる画像と、記憶部54に記憶された第1ARマーカ91及び第4ARマーカ94の画像と、を比較する。第1座標演算部51は、撮影画像に含まれる画像と記憶部54に記憶された第1ARマーカ91との間の一致率が閾値以上である場合に、撮影画像に含まれる画像が第1ARマーカ91であると判定する。第1座標演算部51は、撮影画像に含まれる画像と記憶部54に記憶された第4ARマーカ94との間の一致率が閾値以上である場合に、撮影画像に含まれる画像が第4ARマーカ94であると判定する。このように、第1座標演算部51は、第1ARマーカ91又は第4ARマーカ94を検出する。
第1座標演算部51は、第1ARマーカ91を検出した場合、第1ARマーカ91の頂点の座標を算出する。第1座標演算部51は、第1ARマーカ91の頂点の座標に基づいて、第1座標C1を算出する。図6に示すように、3つの第1ARマーカ91は、2つの頂点を通る直線がバケット11の回転中心を通るように配置される。3つの第1ARマーカ91を、バケット11に近い方から、第1ARマーカ911、第1ARマーカ912、第1ARマーカ913とする。バケット11の回転中心を通る直線上にある第1ARマーカ911の頂点を、バケット11に近い方から、頂点a1、頂点b1とする。バケット11の回転中心を通る直線上にある第1ARマーカ912の頂点を、バケット11に近い方から、頂点a2、頂点b2とする。バケット11の回転中心を通る直線上にある第1ARマーカ913の頂点を、バケット11に近い方から、頂点a3、頂点b3とする。バケット11の回転中心から頂点a1までの距離をlbucとする。図7に示すように、第1ARマーカ91の辺の長さをpとする。第1ARマーカ91の外側に設けられた余白の長さをqとする。lbuc、p、qの値は、記憶部54に記憶されている。
以下の説明において、uv座標が用いられる。u軸は、撮影画像における横軸である。v軸は、撮影画像における縦軸である。撮影画像の左上の隅をuv座標の原点とする。
例えば、第1座標演算部51は、第1ARマーカ911、第1ARマーカ912及び第1ARマーカ913を検出できた場合、下記式(1)に基づいて第1座標C1を算出する。xbucは、第1座標C1のu座標である。ybucは、第1座標C1のv座標である。xa1は、頂点a1のu座標である。xb3は、頂点b3のu座標である。ya1は、頂点a1のv座標である。yb3は、頂点b3のv座標である。
例えば、第1座標演算部51は、第1ARマーカ912及び第1ARマーカ913のみを検出できた場合、下記式(2)に基づいて第1座標C1を算出する。xbucは、第1座標C1のu座標である。ybucは、第1座標C1のv座標である。xa2は、頂点a2のu座標である。xb3は、頂点b3のu座標である。ya2は、頂点a2のv座標である。yb3は、頂点b3のv座標である。
第1座標演算部51は、第4ARマーカ94を検出した場合、第4ARマーカ94の頂点の座標を算出する。第1座標演算部51は、第4ARマーカ94の頂点の座標に基づいて、第1座標C1を算出する。第1座標C1を算出する方法は、第1ARマーカ91が検出された場合と同様である。
第2座標演算部52は、第2座標C2を算出する。まず、第2座標演算部52は、撮影画像に含まれる画像と、記憶部54に記憶された第2ARマーカ92及び第5ARマーカ95の画像と、を比較する。第2座標演算部52は、撮影画像に含まれる画像と記憶部54に記憶された第2ARマーカ92との間の一致率が閾値以上である場合に、撮影画像に含まれる画像が第2ARマーカ92であると判定する。第2座標演算部52は、撮影画像に含まれる画像と記憶部54に記憶された第5ARマーカ95との間の一致率が閾値以上である場合に、撮影画像に含まれる画像が第5ARマーカ95であると判定する。このように、第2座標演算部52は、第2ARマーカ92又は第5ARマーカ95を検出する。
第2座標演算部52は、第2ARマーカ92を検出した場合、第2ARマーカ92の頂点の座標を算出する。第2座標演算部52は、第2ARマーカ92の頂点の座標に基づいて、第2座標C2を算出する。図5に示すように、3つの第2ARマーカ92は、2つの頂点を通る直線がアーム13の回転中心を通るように配置される。アーム13の回転中心から最も近い第2ARマーカ92の頂点までの距離(larm)は、記憶部54に記憶されている。第2座標演算部52による第2座標C2の算出方法は、上述した第1座標演算部51による第1座標C1の算出方法と同様である。
第2座標演算部52は、第5ARマーカ95を検出した場合、第5ARマーカ95の頂点の座標を算出する。第2座標演算部52は、第5ARマーカ95の頂点の座標に基づいて、第2座標C2を算出する。第2座標C2を算出する方法は、第2ARマーカ92が検出された場合と同様である。
第3座標演算部53は、第3座標C3を算出する。まず、第3座標演算部53は、撮影画像に含まれる画像と、記憶部54に記憶された第3ARマーカ93及び第6ARマーカ96の画像と、を比較する。第3座標演算部53は、撮影画像に含まれる画像と記憶部54に記憶された第3ARマーカ93との間の一致率が閾値以上である場合に、撮影画像に含まれる画像が第3ARマーカ93であると判定する。第3座標演算部53は、撮影画像に含まれる画像と記憶部54に記憶された第6ARマーカ96との間の一致率が閾値以上である場合に、撮影画像に含まれる画像が第6ARマーカ96であると判定する。このように、第3座標演算部53は、第3ARマーカ93又は第6ARマーカ96を検出する。
第3座標演算部53は、第3ARマーカ93を検出した場合、第3ARマーカ93の頂点の座標を算出する。図8に示すように、2つの第3ARマーカ93の一方を、第3ARマーカ931とし、他方を第3ARマーカ932とする。第3ARマーカ931の頂点を、第3ARマーカ932から遠い方から頂点a4、頂点b4とする。第3ARマーカ932の頂点を、第3ARマーカ931に近い方から頂点a5、頂点b5とする。第3座標C3は、頂点b4と頂点a5とを結ぶ線分の中点である。
例えば、第3座標演算部53は、第3ARマーカ931のみを検出できた場合、下記式(3)に基づいて第3座標C3を算出する。xbodは、第3座標C3のu座標である。ybodは、第3座標C3のv座標である。xa4は、頂点a4のu座標である。xb4は、頂点b4のu座標である。ya4は、頂点a4のv座標である。yb4は、頂点b4のv座標である。
第3座標演算部53は、第6ARマーカ96を検出した場合、第6ARマーカ96の頂点の座標を算出する。第3座標演算部53は、第6ARマーカ96の頂点の座標に基づいて、第3座標C3を算出する。第3座標C3を算出する方法は、第3ARマーカ93が検出された場合と同様である。
記憶部54は、第1ARマーカ91、第2ARマーカ92、第3ARマーカ93、第4ARマーカ94、第5ARマーカ95、及び第6ARマーカ96の画像を記憶している。記憶部54は、第1座標C1、第2座標C2、及び第3座標C3を算出するために必要であって、予め測定可能な値を記憶している。すなわち、記憶部54は、上述したlbuc、larm、p、qの値を記憶している。また、記憶部54は、建設機械10の初期位置を記憶している。初期位置の記憶部54への入力方法は、特に限定されない。例えば、制御装置50は、建設機械10に取り付けられたGPS受信機から得られる情報に基づき建設機械10の初期位置を算出し、記憶部54に記憶してもよい。建設機械10の初期位置は、作業者によって予め制御装置50に入力されてもよい。
長方形描画部55は、第1座標C1、第2座標C2、及び第3座標C3に基づいて、撮影映像に長方形99を描画する。長方形描画部55は、第1座標C1、第2座標C2、及び第3座標C3に基づき、長方形99の右辺、左辺、上辺、及び下辺を定義する。右辺は、第1座標C1、第2座標C2、及び第3座標C3のうちuv座標で最も右にある(u座標が最も大きい)座標を通り且つv軸と平行な直線である。左辺は、第1座標C1、第2座標C2、及び第3座標C3のうちuv座標で最も左にある(u座標が最も小さい)座標を通り且つv軸と平行な直線である。上辺は、第1座標C1、第2座標C2、及び第3座標C3のうちuv座標で最も上にある(v座標が最も小さい)座標を通り且つu軸と平行な直線である。下辺は、第1座標C1、第2座標C2、及び第3座標C3のうちuv座標で最も下にある(v座標が最も大きい)座標を通り且つu軸と平行な直線である。長方形描画部55は、作成した長方形99を撮影画像と合成してモニタ22に表示させる。
制御部56は、カメラ20を制御する。具体的には、制御部56は、カメラ20が備える撮影制御部21、駆動部23、及び倍率制御部25を制御する。制御部56は、中継機31を介して、カメラ20の撮影制御部21、駆動部23、及び倍率制御部25を制御するための制御信号を送信する。これにより、制御部56は、カメラ20に撮影させ、カメラ20を左右及び上下に旋回させ、且つ撮影画像の倍率を拡大及び縮小させることができる。
制御部56は、長方形描画部55が作成した長方形99の各辺の位置が所定の条件を満たすようにカメラ20を制御する。具体的には、制御部56は、下記式(4)を満たすようにカメラ20を制御する。wは、撮影画像の横方向の画素数であり、u座標の最大値である。hは、撮影画像の縦方向の画素数であり、v座標の最大値である。撮影画像の解像度が例えば720×480である場合、wが720であり、hが480である。xrは、長方形99の右辺のu座標である。xlは、長方形99の左辺のu座標である。ybは、長方形99の下辺のv座標である。ytは、長方形99の上辺のv座標である。p1、P1、p2、P2、t、T、z、Zは、定数である。
制御部56は、バケット11がボディ17に対して左右のどちらにあるか判定できる。例えば、第1座標演算部51が第1ARマーカ91に基づき第1座標C1を算出した場合、制御部56は、バケット11がボディ17に対して右にあると判定する。第1座標演算部51が第4ARマーカ94に基づき第1座標C1を算出した場合、制御部56は、バケット11がボディ17に対して左にあると判定する。なお、制御部56は、第2座標演算部52が第2ARマーカ92及び第5ARマーカ95のいずれに基づき第2座標C2を算出したかによって、バケット11がボディ17に対して左右のどちらにあるか判定してもよい。制御部56は、第3座標演算部53が第3ARマーカ93及び第6ARマーカ96のいずれに基づき第3座標C3を算出したかによって、バケット11がボディ17に対して左右のどちらにあるか判定してもよい。
例えば、バケット11がボディ17に対して右方向にある場合(図5に示す状態の場合)、下記式(4)の各定数は下記であることが望ましい。すなわち、p1は、0.4であることが望ましい。P1は、0.75であることが望ましい。p2は、0であることが望ましい。P2は、0.25であることが望ましい。tは、0であることが望ましい。Tは、0.8であることが望ましい。zは、0であることが望ましい。Zは、0.5であることが望ましい。
図9は、本実施形態のカメラの制御システムの制御フローのフローチャートである。図10は、第1座標が算出できない場合を示す図である。
図9に示すように、制御装置50がカメラ20と通信できた場合(ステップ101,YES)、制御部56は、カメラ20の上下方向の傾き及び倍率を初期状態に戻す(ステップ103)。例えば、初期状態は、撮影画像の縦方向が鉛直方向と平行であって、倍率が1倍である状態である。
次に、制御部56は、記憶部54に記憶された建設機械10の初期位置に基づき、建設機械10のある方向にカメラ20を旋回させる(ステップ105)。これにより、建設機械10の少なくとも一部がカメラ20の撮影範囲に入る。
次に、制御部56は、カメラ20に撮影を開始させ、撮影画像を取得する(ステップ107)。取得した撮影画像は、記憶部54に記憶される。
第1座標演算部51が第1座標C1を算出できず(ステップ109,NO)、且つ第2座標C2を算出できた場合(ステップ111,YES)、制御部56は、第2座標C2が撮影画像の中央に近付くようにカメラ20を右又は左に旋回させ、且つカメラ20を下に旋回させる(ステップ113)。図10に示すように、第2座標C2が撮影画像の端にあり、第1ARマーカ91(第4ARマーカ94)が撮影範囲外にある場合、カメラ20を単に下に旋回させるだけでは第1ARマーカ91(第4ARマーカ94)が撮影範囲に入らない。第2座標C2が撮影画像の中央に近付くようにカメラ20が右又は左に旋回することによって、第1ARマーカ91(第4ARマーカ94)が撮影範囲に入りやすくなる。
第1座標演算部51が第1座標C1を算出できず(ステップ109,NO)、第2座標演算部52が第2座標C2を算出できず(ステップ111,NO)、且つ第3座標演算部53が第3ARマーカ93によって第3座標C3を算出できた場合(ステップ115,YES)、制御部56は、カメラ20を右に旋回させる(ステップ117)。第3ARマーカ93によって第3座標C3が算出された場合、バケット11はボディ17に対して右にあるはずである。ステップ117によって、カメラ20の撮影範囲がバケット11のある方向に移動する。
第1座標演算部51が第1座標C1を算出できず(ステップ109,NO)、第2座標演算部52が第2座標C2を算出できず(ステップ111,NO)、且つ第3座標演算部53が第6ARマーカ96によって第3座標C3を算出できた場合(ステップ119,YES)、制御部56は、カメラ20を左に旋回させる(ステップ121)。第6ARマーカ96によって第3座標C3が算出された場合、バケット11はボディ17に対して左にあるはずである。ステップ121によって、カメラ20の撮影範囲がバケット11のある方向に移動する。
第1座標演算部51が第1座標C1を算出できず(ステップ109,NO)、第2座標演算部が第2座標C2を算出できず(ステップ111,NO)、且つ第3座標演算部53が第3座標C3を算出できない場合(ステップ119,NO)、制御部56は、カメラ20の撮影画像を拡大させる(ステップ123)。撮影画像に映るARマーカが小さすぎる場合、ARマーカが検出されない。ステップ123によって、撮影画像に映るARマーカが大きくなるので、ARマーカが検出されやすくなる。
第1座標演算部51が第1座標C1を算出でき(ステップ109,YES)、且つ第2座標演算部52が第2座標C2を算出できない場合(ステップ125,NO)、制御部56は、第1座標C1が撮影画像の中央に近付くようにカメラ20を右又は左に旋回させ、且つカメラ20を上に旋回させる(ステップ127)。これにより、第2ARマーカ92(第5ARマーカ95)が撮影範囲に入りやすくなる。
第1座標演算部51が第1座標C1を算出でき(ステップ109,YES)、第2座標演算部52が第2座標C2を算出でき(ステップ125,YES)、第3座標演算部53が第3座標C3を算出できず(ステップ129,NO)、且つ第1座標C1と第2座標C2との間の距離が所定値を超える場合(ステップ131,NO)、制御部56は、カメラ20の撮影画像を縮小させる(ステップ133)。カメラ20の倍率が大きすぎると、カメラ20を左右に旋回させたとしても、第3ARマーカ93(第6ARマーカ96)が撮影範囲に入る前に、第1ARマーカ91(第4ARマーカ94)又は第2ARマーカ92(第5ARマーカ95)が撮影範囲から外れる可能性がある。ステップ133によって、第1ARマーカ91(第4ARマーカ94)、第2ARマーカ92(第5ARマーカ95)、及び第3ARマーカ93(第6ARマーカ96)が撮影範囲に入りやすくなる。
第1座標C1と第2座標C2との間の距離が所定値以下であり(ステップ131,YES)、且つ第1座標演算部51が第1ARマーカ91によって第1座標C1を算出した場合(ステップ135,YES)、制御部56は、カメラ20を左に旋回させる(ステップ137)。第1ARマーカ91によって第1座標C1が算出された場合、ボディ17はバケット11に対して左にあるはずである。ステップ137によって、カメラ20の撮影範囲がボディ17のある方向に移動する。
第1座標C1と第2座標C2との間の距離が所定値以下であり(ステップ131,YES)、且つ第1座標演算部51が第4ARマーカ94によって第1座標C1を算出した場合(ステップ135,NO)、制御部56は、カメラ20を右に旋回させる(ステップ139)。第4ARマーカ94によって第1座標C1が算出された場合、ボディ17はバケット11に対して右にあるはずである。ステップ139によって、カメラ20の撮影範囲がボディ17のある方向に移動する。
なお、ステップ135においては、第1ARマーカ91(第4ARマーカ94)に代えて、第2ARマーカ92(第5ARマーカ95)が用いられてもよい。すなわち、第2座標演算部52が第2ARマーカ92によって第2座標C2を算出した場合に、制御部56は、カメラ20を左に旋回させてもよい。第2座標演算部52が第4ARマーカ94によって第2座標C2を算出した場合に、制御部56は、カメラ20を右に旋回させてもよい。
第1座標演算部51が第1座標C1を算出でき(ステップ109,YES)、第2座標演算部52が第2座標C2を算出でき(ステップ125,YES)、第3座標演算部53が第3座標C3を算出できた場合(ステップ129,YES)、長方形描画部55は、長方形99を描画する(ステップ141)。
長方形99の左辺の位置が所定範囲外である場合(ステップ143,NO)、制御部56は、左辺が所定範囲に入るようにカメラ20を右又は左に旋回させる。
長方形99の左辺の位置が所定範囲内であり(ステップ143,YES)、長方形99の右辺の位置が所定範囲外である場合(ステップ147,NO)、制御部56は、右辺が所定範囲に入るように撮影画像を拡大又は縮小する(ステップ149)。仮にステップ149でカメラ20を右又は左に旋回させると、左辺の位置が所定範囲から外れる可能性がある。撮影画像の拡大又は縮小によって右辺の位置を所定範囲に入れることによって、左辺及び右辺の両方の位置が所定範囲に収まる。
長方形99の下辺の位置が所定範囲外である場合(ステップ151,NO)、制御部56は、カメラ20を上に旋回させる。
長方形99の左辺、右辺、及び下辺の位置が所定範囲内である場合(ステップ151,YES)、制御部56は、カメラ20の姿勢及び倍率を保持する(ステップ155)。これにより、長方形99の左辺、右辺、及び下辺の位置が所定範囲内にある状態が維持される。
なお、第1ARマーカ91、第2ARマーカ92、第3ARマーカ93、第4ARマーカ94、第5ARマーカ95、及び第6ARマーカ96のそれぞれの数は、必ずしも上述した数でなくてもよい。それぞれのARマーカの数は、1つであってもよい。ただし、各ARマーカをより検出しやすくするために、各ARマーカは複数設けられることが望ましい。また、ARマーカは、必ずしも建設機械10の右側面及び左側面の両方に設けられなくてもよい。ARマーカは、建設機械10の右側面及び左側面の少なくとも一方に設けられていればよい。
以上で説明したように、本実施形態のカメラの制御システム1は、建設機械10と、カメラ20と、制御装置50と、を備える。建設機械10は、ボディ17、ボディ17に対して回転できるブーム15、ブーム15に対して回転できるアーム13、アーム13に対して回転できるバケット11、アーム13に設けられる第1ARマーカ91、ブーム15に設けられる第2ARマーカ92、及びボディ17に設けられる第3ARマーカ93を備える。カメラ20は、左右への旋回、上下への旋回、撮影画像の拡大、及び撮影画像の縮小ができる。制御装置50は、カメラ20を制御する。制御装置50は、カメラ20の撮影画像における第1ARマーカ91の座標に基づき、バケット11の回転中心の位置に対応する第1座標C1を算出する第1座標演算部51と、カメラ20の撮影画像における第2ARマーカ92の座標に基づき、アーム13の回転中心の位置に対応する第2座標C2を算出する第2座標演算部52と、カメラ20の撮影画像における第3ARマーカ93の座標に基づき、ボディ17の位置に対応する第3座標C3を算出する第3座標演算部53と、第1座標C1、第2座標C2、及び第3座標C3に基づき、カメラ20を制御する制御部56と、を備える。
建設機械10を遠隔操作する作業者は、バケット11、アーム13の回転中心、及びボディ17の履帯の位置に関する情報を得ることによって、建設機械10を円滑に操作できるようになる。本実施形態のカメラの制御システム1によれば、バケット11の回転中心、アーム13の回転中心、及びボディ17が撮影されるように、カメラ20の向き及び撮影画像の倍率が自動的に制御される。カメラの制御システム1は、撮影範囲を適切に変更できる。したがって、カメラの制御システム1は、建設機械10を遠隔操作する作業者が必要とする画像の撮影を容易にできる。
カメラの制御システム1において、制御装置50は、第1座標C1、第2座標C2、及び第3座標C3に基づき長方形99を描画する長方形描画部55を備える。制御部56は、長方形99の右辺の位置、左辺の位置、上辺及び下辺の位置が所定の条件を満たすようにカメラ20を制御する。
これにより、カメラの制御システム1は、撮影範囲をより適切に変更できる。また、長方形99が表示されることによって、作業者は、カメラの制御システム1が適切にカメラ20を制御していることを認識しやすくなる。
カメラの制御システム1において、第1座標演算部51が第1座標C1を算出できず、且つ第2座標C2を算出できた場合、制御部56は、第2座標C2が撮影画像の中央に近付くようにカメラ20を右又は左に旋回させ、且つカメラ20を下に旋回させる。
第2座標C2が撮影画像の端にあり、第1ARマーカ91(第4ARマーカ94)が撮影範囲外にある場合、カメラ20を単に下に旋回させるだけでは第1ARマーカ91(第4ARマーカ94)が撮影範囲に入らない。第2座標C2が撮影画像の中央に近付くようにカメラ20が右又は左に旋回することによって、第1ARマーカ91(第4ARマーカ94)が撮影範囲に入りやすくなる。
カメラの制御システム1において、建設機械10は、ボディ17の右側面に設けられる第3ARマーカ93と、ボディ17の左側面に設けられる第6ARマーカ96と、を備える。第3座標演算部53は、カメラ20の撮影画像における第3ARマーカ93又は第6ARマーカ96の座標に基づき第3座標C3を算出する。
これにより、制御装置50は、カメラ20がボディ17の右側面及び左側面のどちらを撮影しているか判定できる。このため、カメラの制御システム1は、撮影範囲をより適切に変更できる。
カメラの制御システム1において、第1座標演算部51が第1座標C1を算出できず、第2座標演算部52が第2座標C2を算出できず、且つ第3座標演算部53が第3ARマーカ93によって第3座標C3を算出できた場合、制御部56は、カメラ20を右に旋回させる。
これにより、バケット11の回転中心及びアーム13の回転中心の位置を特定できない場合に、制御部56が、カメラ20の撮影範囲をバケット11に近付く方向に移動させることになる。このため、カメラの制御システム1は、第1座標C1及び第2座標C2を算出できるようになるまでの時間を短縮させることができる。
カメラの制御システム1において、第1座標演算部51が第1座標C1を算出できず、第2座標演算部52が第2座標C2を算出できず、且つ第3座標演算部53が第6ARマーカ96によって第3座標C3を算出できた場合、制御部56は、カメラ20を左に旋回させる。
これにより、バケット11の回転中心及びアーム13の回転中心の位置を特定できない場合に、制御部56が、カメラ20の撮影範囲をバケット11に近付く方向に移動させることになる。このため、カメラの制御システム1は、第1座標C1及び第2座標C2を算出できるようになるまでの時間を短縮させることができる。
カメラの制御システム1において、制御装置50は、建設機械10の初期位置を記憶する記憶部54を備える。制御部56は、カメラ20の起動時において、初期位置に基づいて、建設機械10のある方向にカメラ20を旋回させる。
これにより、カメラの制御システム1は、建設機械10がカメラ20の撮影範囲に入っていない状態を回避できる。このため、カメラの制御システム1は、少なくとも1つのARマーカを検出するまでの時間を短縮できる。
カメラの制御システム1において、第1座標演算部51が第1座標C1を算出できず、第2座標演算部が第2座標C2を算出できず、且つ第3座標演算部53が第3座標C3を算出できない場合、制御部56は、カメラ20の撮影画像を拡大させる。
制御部56が建設機械10のある方向にカメラ20を旋回させた後、カメラ20の撮影画像を拡大すれば、ARマーカが拡大される。このため、ARマーカが検出される可能性が高くなる。カメラの制御システム1は、少なくとも1つのARマーカを検出するまでの時間をより短縮できる。
カメラの制御システム1において、第1座標演算部51が第1座標C1を算出でき、且つ第2座標演算部52が第2座標C2を算出できない場合、制御部56は、第1座標C1が撮影画像の中央に近付くようにカメラ20を右又は左に旋回させ、且つカメラ20を上に旋回させる。
これにより、第2ARマーカ92(第5ARマーカ95)が撮影範囲に入りやすくなる。このため、カメラの制御システム1は、第2ARマーカ92(第5ARマーカ95)を検出するまでの時間を短縮できる。
カメラの制御システム1において、第1座標演算部51が第1座標C1を算出でき、第2座標演算部52が第2座標C2を算出でき、第3座標演算部53が第3座標C3を算出できず、且つ第1座標C1と第2座標C2との間の距離が所定値を超える場合、制御部56は、カメラ20の撮影画像を縮小させる。
カメラ20の倍率が大きすぎると、カメラ20を左右に旋回させたとしても、第3ARマーカ93が撮影範囲に入る前に、第1ARマーカ91又は第2ARマーカ92が撮影範囲から外れる可能性がある。これに対して、第1座標C1と第2座標C2との間の距離に基づいてカメラ20の撮影画像が縮小されることによって、第1ARマーカ91、第2ARマーカ92、及び第3ARマーカ93の全てが撮影範囲に入りやすくなる。このため、カメラの制御システム1は、全てのARマーカを検出するまでの時間を短縮できる。
カメラの制御システム1において、建設機械10は、アーム13の右側面に設けられる第1ARマーカ91と、アーム13の左側面に設けられる第4ARマーカ94と、を備える。第1座標演算部51は、カメラ20の撮影画像における第1ARマーカ91又は第4ARマーカ94の座標に基づき第1座標C1を算出する。
これにより、制御装置50は、カメラ20がアーム13の右側面及び左側面のどちらを撮影しているか判定できる。このため、カメラの制御システム1は、撮影範囲をより適切に変更できる。
カメラの制御システム1において、第1座標C1と第2座標C2との間の距離が所定値以下であり、且つ第1座標演算部51が第1ARマーカ91によって第1座標C1を算出した場合、制御部56は、カメラ20を左に旋回させる。
これにより、ボディ17の位置を特定できない場合に、制御部56が、カメラ20の撮影範囲をボディ17に近付く方向に移動させることになる。このため、カメラの制御システム1は、第3座標C3を算出できるようになるまでの時間を短縮させることができる。
カメラの制御システム1において、第1座標C1と第2座標C2との間の距離が所定値以下であり、且つ第1座標演算部51が第4ARマーカ94によって第1座標C1を算出した場合、制御部56は、カメラ20を右に旋回させる。
これにより、ボディ17の位置を特定できない場合に、制御部56が、カメラ20の撮影範囲をボディ17に近付く方向に移動させることになる。このため、カメラの制御システム1は、第3座標C3を算出できるようになるまでの時間を短縮させることができる。
カメラの制御システム1において、建設機械10は、ブーム15の右側面に設けられる第2ARマーカ92と、ブーム15の左側面に設けられる第5ARマーカ95と、を備える。第2座標演算部52は、カメラ20の撮影画像における第2ARマーカ92又は第5ARマーカ95の座標に基づき第2座標C2を算出する。
これにより、制御装置50は、カメラ20がブーム15の右側面及び左側面のどちらを撮影しているか判定できる。このため、カメラの制御システム1は、撮影範囲をより適切に変更できる。
カメラの制御システム1において、第1座標C1と第2座標C2との間の距離が所定値以下であり、且つ第1座標演算部51が第1ARマーカ91によって第1座標C1を算出した場合、制御部56は、カメラ20を左に旋回させる。
これにより、ボディ17の位置を特定できない場合に、制御部56が、カメラ20の撮影範囲をボディ17に近付く方向に移動させることになる。このため、カメラの制御システム1は、第3座標C3を算出できるようになるまでの時間を短縮させることができる。
カメラの制御システム1において、第1座標C1と第2座標C2との間の距離が所定値以下であり、且つ第1座標演算部51が第4ARマーカ94によって第1座標C1を算出した場合、制御部56は、カメラ20を右に旋回させる。
これにより、ボディ17の位置を特定できない場合に、制御部56が、カメラ20の撮影範囲をボディ17に近付く方向に移動させることになる。このため、カメラの制御システム1は、第3座標C3を算出できるようになるまでの時間を短縮させることができる。