(57)【要約】  本発明は、容器の内側全体をカメラで見ようとする場合に、掘削効率を落とさずに、容器内の物体の体積を推定する。  バケット１５とステレオカメラ装置２１０を備えた油圧ショベル１の作業中に、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定する容器判定部４１０と、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内の場合に、バケット１５内の掘削物の体積を推定する体積推定部３３０と、を備える。
2016170665.tif 000002
【特許請求の範囲】
【請求項１】
容器と複数のカメラを備えた移動体の作業中に、前記容器の内側の底が前記複数のカメラの撮影範囲内か否かを判定する容器判定部と、
前記容器の内側の底が前記複数のカメラの撮影範囲内の場合に、前記容器内の物体の体積を推定する体積推定部と、を備える
体積推定装置。
【請求項２】
請求項１において、
前記容器の開口面と前記複数のカメラとが成す角度を求める角度測定部を備え、
前記容器判定部は、前記容器の開口面と前記複数のカメラとが成す前記角度と、前記容器の内側の底が前記複数のカメラの撮影範囲に入る場合の所定の角度範囲とに基づき、前記容器の内側の底が前記複数のカメラの撮影範囲内か否かを判定する
体積推定装置。
【請求項３】
請求項１において、
前記角度測定部は、前記複数のカメラが撮影した撮影画像に基づき、前記容器の開口面と前記複数のカメラとが成す前記角度を求める
体積推定装置。
【請求項４】
請求項１において、
前記容器内の物体に死角領域が有るか否かを判定する死角判定部を備える
体積推定装置。
【請求項５】
請求項２において、
前記複数のカメラに対する前記容器の位置を求める位置測定部を備え、
前記容器判定部は、前記複数のカメラに対する前記容器の位置と、前記複数のカメラに対する前記容器の所定の位置範囲と、に基づき、前記複数のカメラに対する前記容器の位置が前記所定の位置範囲内か否かを判定する
体積推定装置。
【請求項６】
請求項５において、
前記容器判定部は、前記所定の位置範囲よりも前記所定の角度範囲を先に用いて、前記容器の内側の底が前記複数のカメラの撮影範囲内か否かを判定する
体積推定装置。
【請求項７】
請求項１の体積推定装置を備える作業機械。
【請求項８】
容器と複数のカメラを備えた移動体の作業中に、前記容器の内側の底が前記複数のカメラの撮影範囲内か否かを判定する容器判定部と、
前記容器の内側の底が前記複数のカメラの撮影範囲内の場合に、前記容器内の物体の体積を推定する体積推定部と、を備える
体積推定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、体積推定装置、それを備えた作業機械、および体積推定システムに関する。
【背景技術】
【０００２】
鉱山における掘削作業効率向上のため、ショベルは規定の掘削回数でダンプを満載にする必要がある。このため１回当たりの掘削量を把握できれば、オペレータは、次に掘削する量を調整できる。【０００３】
この点を鑑みた技術としては、バケット内の掘削物をステレオカメラで撮影して体積を計測するものがある。例えば、特許文献１には、ブーム左右側部またはアーム左右側部に複数台のカメラを備え、バケットのほぼ真上に位置するカメラで撮影しバケット内積み込み容量を算出する方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２４１３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１では体積計測のためにバケットの内側全体がカメラの撮影画像中に入り込むように、バケットを特定の位置に移動する必要があり、掘削の作業効率が低下する。【０００６】
本発明は、容器の内側全体をカメラで見ようとする場合に、掘削効率を落とさずに、容器内の物体の体積を推定することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明の特徴は、例えば以下の通りである。【０００８】
バケット１５とステレオカメラ装置２１０を備えた油圧ショベル１の作業中に、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定する容器判定部４１０と、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内の場合に、バケット１５内の掘削物の体積を推定する体積推定部３３０と、を備える。
【発明の効果】
【０００９】
本発明によれば、容器の内側全体をカメラで見ようとする場合に、掘削効率を落とさずに、容器内の物体の体積を推定できる。上記した以外の課題、構成及び効果は以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】油圧ショベルの外観図
【図２】本発明の一実施形態における油圧ショベルに搭載された体積推定装置の構成図
【図３】本発明の一実施形態におけるフローチャート
【図４】ステレオカメラ装置による視差データの作成方法
【図５】掘削物の体積を推定する方法の概要
【図６】バケットの側面によって死角領域が発生した場合の例
【図７】バケットの内側の底がステレオカメラ装置の撮影範囲内の場合の撮影画像
【図８】４種類の形状のバケットを用いて、バケットの内側の底を定義する図
【図９】バケット内の掘削物に死角領域が発生した場合のメッシュ視差データの例
【図１０】本発明の一実施形態における油圧ショベルに搭載された体積推定装置の構成図
【図１１】回転角の代わりに視差データを用いた角度測定方法
【図１２】本発明の一実施形態におけるフローチャート
【図１３】本発明の一実施形態における油圧ショベルに搭載された体積推定装置の構成図
【図１４】本発明の一実施形態におけるフローチャート
【発明を実施するための形態】
【００１１】
以下、図面等を用いて、本発明の実施形態について説明する。以下の説明は本発明の内容の具体例を示すものであり、本発明がこれらの説明に限定されるものではなく、本明細書に開示される技術的思想の範囲内において当業者による様々な変更および修正が可能である。また、本発明を説明するための全図において、同様の機能を有するものは、同様の符号を付け、同様の説明は繰り返さない場合がある。
【００１２】
本発明の制御方法及びコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の制御方法及びコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障しない範囲で変更できる。
【００１３】
さらに、本発明の制御方法及びコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、或る手順の実行中に他の手順が発生すること、或る手順の実行タイミングと他の手順の実行タイミングとの一部乃至全部が重複していること、等を許容する。
【実施例１】
【００１４】
図１は作業機械の一例である油圧ショベル１の外観図である。油圧ショベル１は、下部走行体１０と、上部旋回体１１と、上部旋回体１１に一端を取り付けたフロント機構１２と、を有する。【００１５】
下部走行体１０は、左走行モータ１７と、右走行モータ１８と、を有する。下部走行体１０は、左走行モータ１７と右走行モータ１８との駆動力によって、油圧ショベル１を走行させることができる。【００１６】
上部旋回体１１は、体積推定装置５０と、旋回モータ１６と、運転室２２と、を有する。上部旋回体１１は、下部走行体１０の上方に、旋回モータ１６によって旋回可能に設けられている。操作者が乗り込み油圧ショベル１を操作する運転室２２内には、図示しない制御レバーと、オペレータインターフェースと、ステレオカメラ装置２１０と、を配している。【００１７】
ステレオカメラ装置２１０は、右カメラ２１２と左カメラ２１１との２つのカメラを備え、２つのカメラの視差を用いて、ステレオカメラ装置２１０から被写体までの距離を測定できる。ステレオカメラ装置２１０は２つ以上の複数のカメラを備えていれば良く、例えば、カメラの数が３つ、４つでもいい。ステレオカメラ装置２１０の代わりに、ステレオカメラ装置２１０と同等の効果を発揮するセンサを１つ以上備えてもよい。【００１８】
ステレオカメラ装置２１０の配置場所は、ステレオカメラ装置２１０によってバケット１５内の掘削物を撮影可能であれば、特に制限されない。本実施例では、ステレオカメラ装置２１０を運転室２２内のバケット１５に対して正面に配置している。これにより、ステレオカメラ装置２１０への振動や汚れを抑えることができる。【００１９】
フロント機構１２は、一端が上部旋回体１１に設けられたブーム１３と、ブーム１３の他端側に対して一端側に設けられたアーム１４と、アーム１４の他端側に対して設けられたバケット１５と、シリンダ１９乃至２１を有する。【００２０】
ブーム１３は、上部旋回体１１に対して回動可能である。アーム１４は、ブーム１３の他端側に対して回動可能である。バケット１５は、アーム１４の他端側に対して回動可能である。シリンダ１９乃至２１は、ブーム１３、アーム１４、バケット１５をそれぞれ回動させるためのものである。【００２１】
ブーム１３、アーム１４、バケット１５は、それぞれの回転角を検出する角度センサ３０ｂ、３０ｃ、３０ｄを備えている。以下、角度センサ３０ｂ、３０ｃ、３０ｄをまとめて、角度センサ３０として説明する。角度θは、バケット１５の開口面とステレオカメラ装置２１０とが成す角度である。以下、バケット１５の開口面とステレオカメラ装置２１０とが成す角度を、バケット角度と定義して説明する。【００２２】
図２は、油圧ショベル１に搭載された体積推定装置５０の構成図である。体積推定装置５０は、ステレオカメラ装置２１０が撮影したバケット１５内の掘削物の体積を推定する装置である。体積推定装置５０は、ステレオカメラ装置２１０が撮影した撮影画像から求めた視差データを用いてバケット１５と地面を分離することでバケット領域を設定するバケット領域設定部３１００、設定されたバケット領域の視差データを３次元変換する視差データ分析部３１１０、バケット角度を求める角度測定部３２０、バケット１５とステレオカメラ装置２１０を備えた油圧ショベル１の作業中に、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定する容器判定部４１０、バケット領域内の掘削物に死角領域が有るか否かを判定する死角判定部５１０、死角領域の有無などを元に体積推定に用いる撮影画像を選択する画像選択部６１０、掘削物の体積を推定する体積推定部３３０、で構成される。表示部４０には、掘削物の体積の推定結果が表示される。【００２３】
本実施例では、油圧ショベル１の掘削動作、旋回動作、放土動作といった各動作を行っている間や、各動作間の動作を行っている間を、作業中としている。【００２４】
体積測定装置５０は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、その他周辺回路などを備えており、例えばバケット領域設定部３１００や画像選択部６１０などといった体積測定装置５０の各部をＲＯＭに保存しておき、ＲＡＭを用いてＣＰＵで実行することが考えられる。【００２５】
表示部４０は、例えば運転室２２内に設置したディスプレイとすることで、掘削物の体積の推定結果を操作者に表示できる。他には、表示部４０を、例えば複数の油圧ショベル１を遠隔操作するための集中操作装置など油圧ショベル１以外の装置に搭載されたディスプレイとすることで、遠隔操作を行う操作者に掘削物の体積の推定結果を表示できる。なお、体積推定部３３０で推定した掘削物の体積の推定結果は、表示部４０に表示しなくてもよい。【００２６】
ステレオカメラ装置２１０が撮影した撮影画像から求めた視差データがバケット領域設定部３１００に入力され、その視差データに基づいてバケット領域を設定する。そして、視差データ分析部３１１０でバケット領域をメッシュ分割し、各メッシュに含まれる視差データに基づき、各メッシュの視差データの代表値であるメッシュ視差データを求める。【００２７】
容器判定部４１０は、角度測定部３２０が求めたバケット角度を用いて、油圧ショベル１の作業中にバケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定する。容器判定部４１０は、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内に入るときの、所定の角度範囲を予め保有している。そして、容器判定部４１０は、バケット角度と、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲に入る場合の所定の角度範囲に基づき、バケット角度が所定の角度範囲に含まれている場合に、撮影範囲内であると判定する。なお、本実施例の角度測定部３２０は、油圧ショベル１に備わっている角度センサ３０が測定した回転角を基にバケット角度を求める。【００２８】
画像選択部６１０は、死角領域の有無や大きさに基づいて、掘削物の体積推定に用いる撮影画像を選択する。例えば、ある撮影画像に死角領域がある場合、死角領域が無い撮影画像を取得するまでステレオカメラ装置２１０が撮影を行い、死角領域が無い撮影画像を選択する。他には、例えばバケット角度が所定の角度範囲内の場合に撮影した撮影画像で、死角領域がある撮影画像を画像選択部６１０に保存しておき、死角領域が無い撮影画像を撮影できなかった場合は、その保存された撮影画像の中から死角領域が小さい撮影画像を選択する方法も考えられる。このときの撮影画像の保存場所は、本実施例では画像選択部６１０とする。ただし、保存場所は画像選択部６１０に限られない。なお、画像選択部６１０の説明では、掘削物の体積推定に用いる撮影画像を、選択し保存すると記載した。しかし、画像選択部６１０で選択し保存する画像は撮影画像に限られない。例えば、撮影画像に基づいて求めた、後述する視差画像でも良い。【００２９】
体積推定部３３０は、画像選択部６１０が選択した撮影画像を用いて求めたメッシュ視差データを用いて、掘削物の体積を推定する。つまり、体積推定部３３０は、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内の場合に、バケット１５内の掘削物の体積を推定する。【００３０】
図３は、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定し、掘削物の体積を推定するフローチャートを示したものである。【００３１】
＜Ｓ１１０＞
まず、ステレオカメラ装置２１０によりバケット１５を撮影し、撮影画像を用いて視差データを作成する。視差データの作成方法は図４に後述するように、被写体の左画像３４１と右画像３４０の座標のずれを求めることで作成される。この座標のずれを撮影画像全体において求めることにより、ステレオカメラ装置２１０で撮影された撮影画像の視差データである視差画像を得る。【００３２】
＜Ｓ１２０＞
次に、バケット領域設定部３１００によりバケット領域を設定する。掘削時にステレオカメラ装置２１０で撮影されるものとしてはバケット１５や地面、土砂が考えられる。これらの被写体の中からバケット領域を設定する方法として、バケット領域が地面や土砂よりもステレオカメラ装置２１０に近い場所に位置することを利用する。つまり、バケット領域は周囲の地面や土砂の領域に比べて極端に視差データが大きくなるため、視差データを用いてバケット領域を設定できる。【００３３】
＜Ｓ１３０＞
次に、視差データ分析部３１１０により、設定されたバケット領域の視差データを実際のサイズに合わせるために３次元変換する。【００３４】
＜Ｓ１４０＞
次に、視差データ分析部３１１０により、３次元変換したバケット領域を２次元上のメッシュに分割する。メッシュのサイズは小さい程、掘削物の体積推定の精度が良くなる。【００３５】
＜Ｓ１６０＞
次に、角度測定部３２０により、角度センサ３０を用いて、ブーム１３、アーム１４、バケット１５のそれぞれの回転角を取得する。【００３６】
＜Ｓ１７０＞
次に、角度測定部３２０により、回転角に基づいて、バケット角度を測定する。【００３７】
＜Ｓ１１００＞
次に、容器判定部４１０により、バケット角度が所定の角度範囲内であるかを作業中に判定する。バケット角度が所定の角度範囲内の場合は、Ｓ９００に移る。バケット角度が所定の角度範囲内でない場合は、Ｓ９５０に移る。【００３８】
＜Ｓ９００＞
Ｓ１１００でバケット角度が所定の角度範囲内と判定された場合は、死角判定部５１０により、バケット領域内に死角領域が有るか否かを判定する。バケット領域内に死角領域が有る場合は、Ｓ９１０に移る。バケット領域内に死角領域が無い場合は、Ｓ２１０に移る。【００３９】
＜Ｓ９１０＞
Ｓ９００でバケット領域内に死角領域があると判定された場合は、画像選択部６１０に撮影画像を保存する。つまり、バケット領域内に死角領域がないと判定されるまで、画像選択部６１０に撮影画像が保存される。本実施例には、撮影画像を上書き保存ではなく複数枚を保存する場合の例を記載している。【００４０】
＜Ｓ９５０＞
Ｓ１１００でバケット角度が所定の角度範囲内ではないと判定された場合は、画像選択部６１０に撮影画像が保存されているかを判定する。画像選択部６１０に撮影画像が保存されている場合は、Ｓ９６０に移る。画像選択部６１０に撮影画像が保存されていない場合は、Ｓ１１０に戻る。【００４１】
＜Ｓ９６０＞
Ｓ９５０で撮影画像が保存されていると判定された場合は、画像選択部６１０に保存されている撮影画像の枚数が所定の数であるＮ枚以上か否かを判定する。画像選択部６１０に保存されている撮影画像の枚数が所定の数Ｎ以上の場合は、Ｓ９２０に移る。画像選択部６１０に保存されている撮影画像の枚数が所定の数Ｎ未満の場合は、Ｓ１１０に戻る。【００４２】
＜Ｓ９２０＞
Ｓ９６０で画像選択部６１０に保存されている撮影画像の枚数が所定の数Ｎ以上と判定された場合は、保存されている撮影画像の中から、例えば死角領域が小さい場合の撮影画像を、画像選択部６１０で選択する。死角領域の大きさの判断は、例えばメッシュ視差データの大きさによって判断できる。【００４３】
＜Ｓ２１０＞        
Ｓ９００でバケット領域内に死角領域が無いと判定された場合は、体積推定部３３０はその死角領域が無い撮影画像を用いて、２次元上のメッシュ毎にバケット１５の底から掘削物の表面までの長さを求め、メッシュ毎の掘削物の体積を推定する。Ｓ９２０の次の場合は、体積推定部３３０はＳ９２０で選択された撮影画像を用いて、メッシュ毎の掘削物の体積を推定する。【００４４】
＜Ｓ２２０＞
次に、体積推定部３３０は全メッシュの掘削物の体積を合計して、バケット１５内の掘削物の体積を推定する。【００４５】
＜Ｓ２３０＞
次に、表示部４０に、推定された掘削物の体積を表示する。【００４６】
なお、例えばＳ９１０では画像選択部６１０に撮影画像を保存したり、Ｓ９６０では画像選択部６１０に保存されている撮影画像の枚数が所定の数であるＮ枚以上か否かを判定したりなど、図３の各フローでは撮影画像を用いて処理を行った。しかし、図３の各フローで用いる画像は撮影画像に限られなく、例えば撮影画像に基づいて求めた、後述する視差画像を用いて、図３の各フローを処理してもよい。【００４７】
図４において、ステレオカメラ装置２１０が視差データを生成する動作概要について説明する。バケット１５を右カメラ２１２で撮影した右画像３４０と、左カメラ２１１で撮影した左画像３４１がある場合、バケット１５の一部３４４は、右画像３４０では地点３４２の位置に撮影され、左画像３４１では地点３４３の位置に撮影される。この結果、地点３４２と地点３４３には視差ｄが生じる。この視差ｄは、バケット１５内の掘削物がステレオカメラ装置２１０に近い場合は大きい値となり、遠い場合は小さい値となる。このように求めた視差ｄを、撮影画像全体で求める。視差データは、視差ｄに基づいて求められる。この、撮影画像全体で求めた視差データを、視差画像とする。この視差ｄを用いて、三角測量の原理でバケット１５内の掘削物からステレオカメラ装置２１０までの距離を測定できる。視差ｄを用いると、距離Ｑ１は次の式で求められる。【００４８】
Ｑ１＝（ｆ×Ｐ）／ｄ
但し、ｆは右及び左カメラの焦点距離、Ｐは右カメラ２１２と左カメラ２１１の間の距離である。また、視差データを３次元変換するために、上記Ｑ１を求めた地点の３次元上のＸ１、Ｙ１の位置を次の式で表す。【００４９】
Ｘ１＝（Ｑ１×ｘｒ）／ｆ
Ｙ１＝（Ｑ１×ｙｒ）／ｆ
但し、ｘｒは、右画像３４０上でのｘ座標、ｙｒは、右画像３４０上でのｙ座標である。以上のように、ステレオカメラ装置２１０で撮影した撮影画像によって、被写体の３次元空間上の位置（Ｘ１，Ｙ１，Ｑ１）をステレオカメラ装置２１０からの距離で求めることができる。【００５０】
図５は、掘削物の体積の推定方法の概要を示したものであり、バケット１５の開口面が真上を向いている状態を例にして説明する。図５（ａ）は、バケット１５をステレオカメラ装置２１０の正面から見た画像であり、ステレオカメラ装置２１０でバケット１５をバケット１５の斜め上から撮影している。図５（ｂ）はアーム１４の側面に平行な、バケット１５の断面図である。図５（ａ）の右方向をＸ軸正の方向、上方向をｙ軸正の方向とする。そして、図５（ｂ）の右方向をＹ軸正の方向、下方向をＺ軸正の方向とする。そして、バケット１５のＹ軸方向の長さをＬ０とする。【００５１】
メッシュ群２３０の各メッシュのメッシュ視差データは、各メッシュに含まれる視差データを用いて求める。メッシュ視差データを求める方法は、例えばメッシュ内の複数の視差データの平均値や中央値に基づいて求める方法や、視差データの数を減らした後に平均値や中央値に基づいて求める方法など、１つの方法に限られない。さらに、メッシュを細かく設定することで、メッシュに含まれる視差データが１つになるメッシュが生成される。この場合は、メッシュ視差データと視差データは同値になる。【００５２】
バケット１５に掘削物が入っている状態ではバケット１５の底は撮影できないため、バケット１５の形状は予め学習しておくと好ましい。バケット１５の形状を学習するための方法としては、バケット１５が空の状態をステレオカメラ装置２１０で撮影し、撮影画像をメッシュで区分した後、それぞれのメッシュにおいてバケット１５の底からバケット開口面までの長さを計算しておく方法が考えられる。又は、ＣＡＤデータでバケットの形状を学習しても良い。【００５３】
掘削物が入った状態で各メッシュのバケット１５のバケット開口面から掘削物表面までの長さを求め、バケット１５が空の場合のバケット１５の底からバケット開口面までの長さを求め、メッシュ毎に前述した２つの長さを足せば、メッシュ毎にバケット１５の底から掘削物の表面までの長さを求めることができる。そして、メッシュ毎にバケット１５の底から掘削物の表面までの高さを用いてメッシュ毎の掘削物の体積を計算し、全てのメッシュの掘削物の体積を合計することでバケット１５内の掘削物の体積を推定できる。【００５４】
図６は、バケット１５の側面によってバケット領域内に死角領域２２１が発生した場合の例を示したものである。バケット角度が所定の角度範囲外の場合、バケット１５の側面によってバケット領域内に死角領域２２１が発生する場合がある。すると、図６に示すようにバケット１５の側面によって生じる死角領域２２１に掘削物が含まれる恐れがある。【００５５】
図７は、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内の場合の、ステレオカメラ装置２１０の撮影画像を示したものである。図７（ａ）はステレオカメラ装置２１０の正面から見た図であり、図７（ｂ）はアーム１４の側面に平行な、バケット１５の断面図である。ステレオカメラ装置２１０は運転室２２内に設置されているため、斜め上からバケット１５を撮影することになる。図７より、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内の場合、図６で述べたバケット１５の側面によって生じる死角領域２２１の発生を防ぐことができる。これにより、精度良く掘削物の体積を推定できる。【００５６】
図８は、４種類の形状のバケット１５の図である。以下、バケット１５の開口面が図８の真上を向いている４種類の形状のバケット１５を用いて、バケット１５の内側の底を定義する。【００５７】
図８（ａ）は、バケット内側の形状が曲線によって構成されているバケット１５の、アーム１４の側面に平行な断面図である。図８（ｂ）は、バケット内側の形状が直線によって構成されているバケット１５の、アーム１４の側面に平行な断面図である。図８（ｃ）は、バケット内側の形状が直線と曲線によって構成されているバケット１５の、アーム１４の側面に平行な断面図であり、点Ｓ１、点Ｓ２は、曲線部分と直線部分の繋ぎ目である。図８（ｄ）は、バケット内側の底の形状が平らなバケット１５の、アーム１４の側面に平行な断面図である。図８において、バケット１５とアーム１４の接続点を点Ａとする。バケット１５のアーム１４の側面に平行な断面図の、Ｚ軸正の方向の最下部の点を、点Ｒとする。図８（ｄ）の場合、Ｚ軸正の方向の最下部の点は多数存在する。よって、Ｚ軸正の方向の最下部の任意の点を、点Ｒとする。【００５８】
まず、図８（ａ）を用いて、バケット１５の内側の底の一例を示す。点Ｒから開口面までの長さをｈとした場合のｈ１の長さを、ｈの１０％以下とする。その場合の、バケット１５の内側の面と、バケット１５の開口面に平行で点Ｒからｈ１だけ離れている直線とが成す領域Ｈ内の、バケット１５の内側の面の部分を、バケット１５の内側の底とする。この方法は図８（ｂ）、図８（ｃ）、図８（ｄ）にも適用できる。なお、バケット１５の断面を半円と近似した場合、例えばｈの１０％の長さをｈ１とすると、バケット１５の内側の底の断面積は、バケット１５全体の断面積の約４％となる。【００５９】
他には、点Ｒを構成する線をバケット１５の内側の底とする方法も考えられる。例えば図８（ｃ）では、点Ｒを構成する線は曲線であるから、点Ｓ１と、点Ｓ２との間の曲線の部分をバケット１５の内側の底とする。この方法は、図８（ｄ）に適用できる。【００６０】
他には、点Ｒをバケット１５の内側の底と定義する方法も考えられる。この方法は図８（ａ）、図８（ｂ）、図８（ｃ）、図８（ｄ）に適用できる。【００６１】
なお、図６に記載されたように、バケット１５の側面によって生じた死角領域２２１内に掘削物が含まれるのを防ぐ場合、バケット１５の内側全体がステレオカメラ装置２１０の撮影範囲内に入ることは必要条件ではない。つまり、バケット１５の内側の面の中でも、ステレオカメラ装置２１０に近いバケット１５の内側の面が、撮影範囲内であれば良い。よって、例えば図８（ｃ）の場合、バケット１５の内側の底の領域は、点Ｓ２周辺を除き、点Ｓ１周辺としても良い。【００６２】
図９は、バケット領域内に死角領域２２１が発生した場合のメッシュ視差データの例を示したものである。図９（ａ）はアーム１４の側面に平行な、バケット１５の断面図である。掘削物が山なりになっている場合は、ステレオカメラ装置２１０から見て山なりの裏側が死角領域２２１になる。図９（ｂ）は、撮影画像から求めたバケット１５を２次元上のメッシュ群２３０に区分した状態の図である。ステレオカメラ装置２１０から掘削物までの距離２２０ａに対応するメッシュをメッシュ２４３、ステレオカメラ装置２１０から掘削物までの距離２２０ｂに対応するメッシュをメッシュ２４２、ステレオカメラ装置２１０から掘削物までの距離２２０ｃに対応するメッシュをメッシュ２４１、ステレオカメラ装置２１０から掘削物までの距離２２０ｄに対応するメッシュをメッシュ２４０とする。【００６３】
メッシュ群２３０の１つの列２３１に注目すると、メッシュ２４３からメッシュ２４１まではメッシュ視差データは１または２程度の差分で変化する。しかし、メッシュ２４１からメッシュ２４０のメッシュ視差データは９小さくなる。これは、ステレオカメラ装置２１０から掘削物までの距離２２０ｄが距離２２０ｃよりも急に大きくなることに起因する。このように、死角判定部５１０は、メッシュ視差データが急に小さくなるメッシュの間に、死角領域２２１があると判定する。【００６４】
バケット領域内に死角領域２２１があるか否かを判定することで、バケット領域内に死角領域２２１が無い撮影画像を、掘削物の体積推定に用いることができる。これにより、より正確に掘削物の体積を推定できる。【００６５】
以上の方法によれば、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内の場合、つまりバケット角度が所定の角度範囲内の場合は、撮影画像上の、バケット１５の側面によって生じるバケット領域内の死角領域を減らすことができる。よって、バケット１５内の掘削物の体積を精度良く推定できる。そして、バケット１５が撮影範囲内か否かの判定に所定の角度範囲を用いることで、撮影のためにバケット１５を特定の位置に移動することなく掘削物の体積を推定できる。【００６６】
また、作業中にバケット１５が撮影範囲内か否かの判定を行うことで、バケット１５の動作を停止することなく掘削物の体積を推定できる。つまり、掘削物の体積を推定するために特定の動作を行う必要はなく、通常の作業中に掘削物の体積を推定できる。これにより、効率良く掘削物の体積を推定できる。【００６７】
なお、掘削物の体積の推定や表示をするタイミングは、図３のＳ９００で死角領域は無いと判定された直後や、図３のＳ９２０の直後でなくても良い。例えば、油圧ショベル１が旋回動作を行っている間や、油圧ショベル１が放土動作を行う前など、作業中の各動作前や各動作を行っている間でも良い。他には、例えば掘削動作から旋回動作に切替るタイミングで図３のフローチャートのループを抜け、図３のＳ２１０移り、掘削物の体積の推定や表示を行っても良い。【００６８】
さらに、撮影した全ての撮影画像や視差画像に死角領域が有る場合でも、図３のＳ９２０で最も死角領域が小さい撮影画像や視差画像を選択することで、精度良く掘削物の体積を推定できる。【００６９】
さらに、図３のＳ２２０で掘削物の体積を推定したのち、図３のＳ２３０ではなく図３のＳ１１０に移動することで、掘削物の体積を複数回推定してもよい。これにより、例えば複数の掘削物の体積の推定結果に基づき、推定した掘削物の体積の値の平均値や中央値などを求めて、掘削物の体積を表示できる。これにより、より正確に掘削物の体積を推定できる。【００７０】
さらに、図３のＳ９６０の判定によって、例えばバケット角度θが所定の角度範囲内と角度範囲外を行き来する作業を油圧ショベル１が行っていた場合に、少ない枚数の撮影画像から掘削物の体積推定に用いる撮影画像を選択することを抑えることができる。つまり、撮影画像がある程度の枚数が保存されたときに、掘削物の体積推定を行うことができる。これにより、より正確な掘削物の体積を推定できる撮影画像を選ぶことができる。
【実施例２】
【００７１】
第２の実施例として、バケット角度を、角度センサ３０から求めた回転角の代わりに、ステレオカメラ装置２１０から得られる視差データに基づいて求める例を示す。【００７２】
図１０に、第２の実施例における油圧ショベル１に搭載された体積推定装置５０の構成図を示す。実施例１の構成図である図２と比べて、角度測定部３２０は、角度センサ３０が測定した回転角に基づいてバケット角度を求めるのではなく、ステレオカメラ装置２１０が撮影した撮影画像に基づいて、バケット角度を求めている点が異なる。【００７３】
図１１に、実施例２におけるバケット角度θを、視差データから求める例を示す。図１１（ａ）は、アーム１４の側面に平行な、バケット１５の断面図である。図１１（ｂ）は、バケット１５をステレオカメラ装置２１０正面から見た図である。この図は、ステレオカメラ装置２１０でバケット１５を、バケット１５の斜め上から撮影した画像である。【００７４】
図１１（ｂ）においてステレオカメラ装置２１０の正面から見たバケット１５のｙ軸方向の長さをＬ１とする。バケット角度θは、θ＝ｓｉｎ−１（Ｌ１／Ｌ０）で求まる。以上のように、ステレオカメラ装置２１０の撮影画像に基づいて、バケット角度を求めることができる。【００７５】
図１１（ｃ）は、図１１（ｂ）の四隅の点に、Ｐ１からＰ４の番号を振った図である。Ｌ１の長さはｙ軸に平行な長さに限られなく、例えば、Ｐ１からＰ２までの長さをＬ１としてもよい。他には、Ｐ３からＰ４までの長さをＬ１としてもよく、Ｐ１からＰ２までの長さとＰ３からＰ４までの長さの平均値を用いてＬ１を求めても良い。他には、例えばＰ１からＰ４がバケット１５内の掘削物により生じる死角領域に含まれている場合は、Ｌ１を求める点としてはバケット１５の四隅の点以外を用いても良い。【００７６】
図１２は、実施例２においてバケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定するフローチャートを示したものである。実施例１では、回転角を用いてバケット角度を測定していた。実施例２では、撮影画像や視差データを用いてバケット角度を測定することから、Ｓ１６０が無い点が図３と異なる。そして、Ｓ１７０において角度測定部３２０は、ステレオカメラ装置２１０が撮影した撮影画像に基づいてバケット角度を求める点が図３と異なる。【００７７】
以上の方法によれば、ステレオカメラ装置２１０から得られる撮影画像により、バケット角度を推定できる。この方法は、角度センサ３０を用いてバケット角度を推定する場合と比べて、例えばステレオカメラ装置２１０の撮影画像と角度センサ３０の測定した角度を関連付ける処理を行う場合に、時間遅れが発生しにくい。【００７８】
なお、実施例２では、ステレオカメラ装置２１０から得られる視差データに基づいてバケット角度を求めた。しかし、バケット角度の代わりの値に基づいて、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定してもよい。例えば、視差データから求めた、ステレオカメラ装置２１０の正面から見たバケット１５のｙ軸方向の長さＬ１に基づいて、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定してもよい。
【実施例３】
【００７９】
第３の実施例として、角度範囲に加えて、バケット１５の位置範囲も考慮して、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定する例を示す。【００８０】
図１３は、第３の実施例において油圧ショベル１に搭載された体積推定装置５０の構成図を示す。実施例２の構成図である図１０と比べて、ステレオカメラ装置２１０に対するバケット１５の現在位置を測定する位置測定部３１０がある点が異なる。位置測定部３１０は、ステレオカメラ装置２１０から得られたバケット領域の視差データを用いて、ステレオカメラ装置２１０に対するバケット１５の現在位置を測定する。そして、容器判定部４１０は、ステレオカメラ装置２１０が精度良く撮影できる所定の角度範囲と所定の位置範囲を予め保有している。【００８１】
図１４は、実施例３においてバケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定するフローチャートを示したものである。実施例３ではバケット１５の現在位置を求め、その位置が所定の位置範囲内か否かを判定することから、バケット１５の現在位置を求めるＳ１５０と、バケット位置が所定の位置範囲内か否かを判定するＳ１０００がある点が図１２と異なる。【００８２】
例えば、図１１に記載のように３次元座標系におけるバケット１５の点Ａの位置をＡ（Ｘ１、Ｙ１、Ｑ２）とする。Ｑ２は、ステレオカメラ装置２１０から点Ａまでの距離である。図４で示した、以下に記載の式から、視差ｄと距離Ｑ２は反比例の関係であることが分かる。つまり、ステレオカメラ装置２１０から測定対象までの距離が長いほど、ステレオカメラ装置２１０の撮影精度が低下することが分かる。【００８３】
Ｑ２＝（ｆ×Ｐ）／ｄ
そこで、容器判定部４１０は、所定の角度範囲と、ステレオカメラ装置２１０に対するバケット１５の所定の位置範囲とに基づき、バケット角度が所定の角度範囲内か否かを判定し、かつ、位置測定部３１０で求められたステレオカメラ装置２１０に対するバケット１５の現在位置が所定の位置範囲内か否かを判定する。【００８４】
例えば、ステレオカメラ装置２１０で精度良く撮影できる所定の位置範囲をＳとすると、点Ａの位置が所定の位置範囲Ｓに含まれる場合を撮影範囲内であると判定することで、ステレオカメラ装置２１０の撮影精度が低下していない撮影画像を得ることができる。これにより、精度良い視差データを得ることができる。ひいては精度良く掘削物の体積を推定できる。【００８５】
また、所定の位置範囲よりも所定の角度範囲を先に用いて、バケット１５の内側の底がステレオカメラ装置２１０の撮影範囲内か否かを判定することも考えられる。【００８６】
バケット角度が所定の角度範囲内の場合、バケット１５の現在位置が所定の位置範囲内か否かに関わらず、バケット１５の内側の底も撮影範囲内である。しかし、バケット１５の現在位置が所定の位置範囲内の場合、バケット角度によっては、バケット１５の内側の底は撮影範囲内に入らない。よって、撮影範囲内に入るためには位置範囲よりも角度範囲が重要であることから、位置範囲よりも角度範囲を先に用いて撮影範囲内か否かを判定することで、掘削物の体積推定の計算量を減らすことができる。【００８７】
なお、一般に油圧ショベルに代表されるバケットが設けられた作業機械は、土砂を掘削する掘削作業、運搬機械へ掘削物を放土するために旋回する旋回作業、土砂を運搬機械へ放土する積込作業、掘削位置にバケットを旋回させる旋回作業と、これらの作業を交互に繰返して運搬機械を土砂で満杯にする掘削・積込作業を行う。このとき、積込作業から掘削作業を開始するまでの間は、バケットの中の掘削物はほぼ無いと考えられる。よって、掘削物の体積推定を目的として体積推定を行う場合は、積込作業から掘削作業を開始するまでの間は掘削物の体積推定を行わない方が望ましい。一方、積込作業後にバケットに残った掘削物の体積推定を目的として体積推定を行う場合は、積込作業から掘削作業を開始するまでの間に掘削物の体積推定を行う。よって、目的によって掘削物の体積推定を行わない作業を定めてもよく、他にはバケットの中に掘削物があるか否かに関わらず掘削物の体積推定を行い、体積の推定結果を例えばＲＯＭに保存しておき、運搬機械に放土した掘削物の体積を求めるのに活用してもよい。【００８８】
実施例１から３では、体積推定装置５０は油圧ショベル１に備わっていると記載した。しかし、例えば複数の油圧ショベル１を遠隔操作するための集中操作装置など油圧ショベル１以外の装置に備わっていても良い。他には、体積測定装置５０の一部は油圧ショベル１以外の装置に備わっていても良い。【００８９】
実施例１から３では、体積推定装置５０はＣＰＵ、ＲＡＭ、ＲＯＭ、その他周辺回路などを備えると記載した。しかし、例えば体積推定装置５０はＣＰＵ、ＲＡＭ、ＲＯＭ、その他周辺回路などを備えなくても良い。この場合、体積推定装置５０の各部の処理を外部メモリなどに保存しておくことで、体積推定装置５０を体積推定システムとして扱うことができる。そして、体積推定システム以外の装置が備えているＣＰＵ、ＲＡＭ、ＲＯＭ、その他周辺回路などを用いて、体積推定システムの各部の処理を行わせても良い。【００９０】
また、体積を推定する対象として、バケット中の掘削物に限られない。バケット中の掘削物以外でも、何らかの容器内の物体の体積を推定することも考えられる。【００９１】
なお、本実施例では油圧ショベルのバケット内の掘削物を、体積推定の対象としたが、ダンプ等の積載物の体積を対象としてもよい。
【符号の説明】
【００９２】
１  油圧ショベル、１０  下部走行体、１１  上部旋回体、１３  ブーム、１４  アーム、１５  バケット、２２  運転室、３０ｂ〜３０ｄ  角度センサ、４０  表示部、５０  体積推定装置、２１０  ステレオカメラ装置、２２１  死角領域、２３０  メッシュ群、３１０  位置推定部、３２０  角度測定部、３３０  体積推定部、４１０  容器判定部、３１００  バケット領域設定部、３１１０  視差データ分析部、５１０  死角判定部、６１０  画像選択部
【図１】
2016170665.tif 000003
【図２】
2016170665.tif 000004
【図３】
2016170665.tif 000005
【図４】
2016170665.tif 000006
【図５】
2016170665.tif 000007
【図６】
2016170665.tif 000008
【図７】
2016170665.tif 000009
【図８】
2016170665.tif 000010
【図９】
2016170665.tif 000011
【図１０】
2016170665.tif 000012
【図１１】
2016170665.tif 000013
【図１２】
2016170665.tif 000014
【図１３】
2016170665.tif 000015
【図１４】
2016170665.tif 000016
【国際調査報告】
2016170665.tif 000017
2016170665.tif 000018
2016170665.tif 000019
2016170665.tif 000020