(57)【要約】【課題】衛星測位システムを用いなくても、建設機械の三次元位置を推定できるようにする。【解決手段】基準点取得部３３は、三次元の地図情報（Ｍ）における３つの地図上基準点（Ｐｍ）を取得する。カメラ３５は、上部旋回体１３に取り付けられ、３つの地図上基準点（Ｐｍ）に対応する、３つの実在基準点（Ｐｒ）を含む画像（Ｉｍ）（距離画像）を取得する。距離取得部４１は、画像（Ｉｍ）に基づいて、３つの実在基準点（Ｐｒ）のそれぞれからカメラ３５までの距離（Ｌ）を取得する。位置計算部４３は、距離取得部４１により計算された距離（Ｌ）に基づいて、実在基準点（Ｐｒ）に対する建設機械１の位置を計算する。【選択図】図１
2019143995.tif 000002
【特許請求の範囲】
【請求項１】
下部走行体と、前記下部走行体に対して旋回可能な上部旋回体と、を備える建設機械の三次元位置を推定する、建設機械の位置推定装置であって、
三次元の地図情報を取得する地図情報取得部と、
前記地図情報における３つの地図上基準点を取得する基準点取得部と、
前記上部旋回体に取り付けられ、３つの前記地図上基準点に対応する３つの実在基準点を含む距離画像を取得するカメラと、
前記距離画像に基づいて、３つの前記実在基準点のそれぞれから前記カメラまでの距離を取得する距離取得部と、
前記距離取得部により計算された距離に基づいて、前記実在基準点に対する前記建設機械の位置を計算する位置計算部と、
を備える、
建設機械の位置推定装置。
【請求項２】
請求項１に記載の建設機械の位置推定装置であって、
前記上部旋回体に対して前記カメラを回動させるカメラ回動部と、
３つの前記実在基準点を前記カメラが撮影し続けるように、前記建設機械の作動に応じて前記カメラ回動部に前記カメラを回動させることで、前記カメラの撮影範囲を制御する撮影範囲制御部と、
を備える、
建設機械の位置推定装置。
【請求項３】
請求項２に記載の建設機械の位置推定装置であって、
地面および前記下部走行体の少なくともいずれかに対する前記上部旋回体の回転の情報を検出する回転検出部を備え、
前記撮影範囲制御部は、前記回転検出部に検出された情報に基づいて、前記カメラの撮影範囲を制御する、
建設機械の位置推定装置。
【請求項４】
請求項２または３に記載の建設機械の位置推定装置であって、
地面に対する前記建設機械の並進移動の情報を取得する並進情報取得部を備え、
前記撮影範囲制御部は、前記並進情報取得部に取得された情報に基づいて、前記カメラの撮影範囲を制御する、
建設機械の位置推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、建設機械の三次元位置を推定する装置に関する。
【背景技術】
【０００２】
例えば、特許文献１などに、衛星測位システム（同文献ではＧＰＳ（Global Positioning System））を用いて、建設機械の三次元位置を計測する技術が記載されている（同文献の段落００２９、００３０、および図１などを参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−４２１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、通常、建設機械で用いられる衛星測位システムは高価である（具体例は後述）。
【０００５】
そこで、本発明は、衛星測位システムを用いなくても、建設機械の三次元位置を推定できる、建設機械の位置推定装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の建設機械の位置推定装置は、前記建設機械の三次元位置を推定する。前記建設機械は、下部走行体と、前記下部走行体に対して旋回可能な上部旋回体と、を備える。建設機械の位置推定装置は、地図情報取得部と、基準点取得部と、カメラと、距離取得部と、位置計算部と、を備える。前記地図情報取得部は、三次元の地図情報を取得する。前記基準点取得部は、前記地図情報における３つの地図上基準点を取得する。前記カメラは、前記上部旋回体に取り付けられ、３つの前記地図上基準点に対応する３つの実在基準点を含む距離画像を取得する。前記距離取得部は、前記距離画像に基づいて、３つの前記実在基準点のそれぞれから前記カメラまでの距離を取得する。前記位置計算部は、前記距離取得部により計算された距離に基づいて、前記実在基準点に対する前記建設機械の位置を計算する。
【発明の効果】
【０００７】
上記構成により、衛星測位システムを用いなくても、建設機械の三次元位置を推定できる。
【図面の簡単な説明】
【０００８】
【図１】建設機械１の位置推定装置２０を示す図である。
【図２】図１に示す位置推定装置２０が取得する地図情報を示す図である。
【図３】図１に示すカメラ３５が撮影した画像を示す図である。
【図４】図１に示す位置推定装置２０の作動のフローチャートである。
【図５】図４に示すステップＳ３０の制御のフローチャートである。
【図６】図１に示す建設機械１などを上から見た図である。
【図７】図１に示す建設機械１などを上から見た図である。
【図８】図７に示す建設機械１が地面に対して回転した状態を示す図７相当図である。
【発明を実施するための形態】
【０００９】
図１〜図８を参照して、図１に示す建設機械１の位置推定装置２０について説明する。
【００１０】
建設機械１は、建設作業などの作業を行う機械である。建設機械１は、例えばショベルである。建設機械１は、下部走行体１１と、上部旋回体１３と、アタッチメント１５と、を備える。下部走行体１１は、建設機械１を走行させる部分である。下部走行体１１は、左右のクローラを備える（図６参照）。上部旋回体１３は、下部走行体１１よりも上に配置され、下部走行体１１に対して旋回可能である。
【００１１】
アタッチメント１５は、上部旋回体１３に取り付けられ、作業を行う部分である。アタッチメント１５は、ブーム１５ａと、アーム１５ｂと、バケット１５ｃと、を備える。ブーム１５ａは、上部旋回体１３に回転可能に取り付けられる。アーム１５ｂは、ブーム１５ａに回転可能に取り付けられる。バケット１５ｃ（先端アタッチメント）は、アーム１５ｂに回転可能に取り付けられる。アタッチメント１５の先端部を、アタッチメント先端部１５ｔとする。アタッチメント先端部１５ｔは、例えば、バケット１５ｃの先端の刃先などである。
【００１２】
位置推定装置２０は、建設機械１の三次元位置を計算（推定）する。以下では、三次元位置を単に「位置」ともいう。位置推定装置２０は、例えばアタッチメント１５の位置を計算し、例えばアタッチメント先端部１５ｔの位置を計算する。位置推定装置２０は、地図情報取得部３１と、基準点取得部３３と、カメラ３５と、カメラ回動部３７と、演算部４０と、検出部５０と、を備える。
【００１３】
地図情報取得部３１は、三次元の地図情報Ｍを取得する。地図情報取得部３１は、ドローンなどを用いた空撮によって地図情報Ｍを取得するものでもよく、予め記憶装置などに記憶された既知の地図情報Ｍを取得するものでもよい。地図情報Ｍは、建設機械１が作業を行う現場（施工現場）の情報を含む、電子地図である。図２に、地図情報Ｍの一例を示す。なお、図２の下部に示す地図情報Ｍａは、施工現場などを上から見た状態に相当する情報である。図２の上部に示す地図情報Ｍｂは、地図情報Ｍａ内に示す矢印Ｖ１の向きに建物などを見た状態に相当する情報である。
【００１４】
基準点取得部３３（図１参照）は、３つの地図上基準点Ｐｍ（Ｐｍ１、Ｐｍ２、およびＰｍ３）を取得する。地図上基準点Ｐｍは、地図情報Ｍにおける基準点である。地図上基準点Ｐｍの位置（座標）は、既知である。基準点取得部３３は、少なくとも３つの地図上基準点Ｐｍを取得し、４つ以上の地図上基準点Ｐｍを取得してもよい。以下では、地図上基準点Ｐｍの数が３の場合について説明する。図１に示す基準点取得部３３は、例えば、操作者に操作されることで地図上基準点Ｐｍを取得するものでもよく、具体的には、タッチパネルの操作やカーソルの操作などにより地図上基準点Ｐｍを取得するものでもよい。例えば、基準点取得部３３は、予め記憶装置などに記憶された地図上基準点Ｐｍを取得するものでもよい。地図上基準点Ｐｍ（Ｐｍ１、Ｐｍ２、およびＰｍ３）に対応する、実在の基準点を、実在基準点Ｐｒ（Ｐｒ１、Ｐｒ２、およびＰｒ３）とする。
【００１５】
カメラ３５は、図３に示すように、３つの実在基準点Ｐｒを含む画像Ｉｍ（距離画像）を取得する。画像Ｉｍは、３つの実在基準点Ｐｒのそれぞれからカメラ３５までの距離Ｌ（図６参照）の情報を含む。カメラ３５は、例えばステレオカメラでもよく、例えば距離の情報を取得可能な単眼カメラでもよく、例えばＴＯＦ（Time of Flight）カメラなどでもよい。図１に示すように、カメラ３５は、上部旋回体１３に取り付けられる。
【００１６】
カメラ回動部３７は、上部旋回体１３に対してカメラ３５を回動させる。カメラ回動部３７は、カメラ３５を水平方向に（上下方向の回転軸回りに）回動させる。カメラ回動部３７は、カメラ３５を上下方向に（水平方向の回転軸回りに）回動させてもよい。
【００１７】
演算部４０は、信号の入出力、および演算などを行う。演算部４０は、距離取得部４１と、位置計算部４３と、撮影範囲制御部４５と、を備える。
【００１８】
距離取得部４１は、カメラ３５に取得された画像Ｉｍ（図３参照）に基づいて、３つの実在基準点Ｐｒ（図６参照）のそれぞれからカメラ３５までの距離Ｌ（図６参照）を取得する。位置計算部４３は、距離取得部４１により取得された距離Ｌ（図６参照）に基づいて、実在基準点Ｐｒ（図６参照）に対する建設機械１の位置（相対位置）を計算する。撮影範囲制御部４５は、３つの実在基準点Ｐｒ（図６参照）をカメラ３５が撮影し続けるように、カメラ３５の撮影範囲を制御する。撮影範囲制御部４５は、建設機械１の作動に応じて、カメラ３５の撮影範囲を制御する。距離取得部４１、位置計算部４３、および撮影範囲制御部４５のそれぞれの機能の詳細は後述する。
【００１９】
検出部５０は、建設機械１の状態を検出する。検出部５０は、回転検出部５１と、アタッチメント姿勢検出部５３と、を備える。なお、図１に示す並進情報取得部１５５については、後述する変形例１で説明する。
【００２０】
回転検出部５１は、地面および下部走行体１１の少なくともいずれかに対する、上部旋回体１３の回転の情報を検出する。上記「回転の情報」は、角度、角速度、および角加速度の少なくともいずれかである。回転検出部５１は、ジャイロセンサ５１ａと、旋回角度検出部５１ｂと、を備える。ジャイロセンサ５１ａは、地面に対する上部旋回体１３の角速度を検出する。ジャイロセンサ５１ａは、上部旋回体１３のヨー角速度を検出する。ジャイロセンサ５１ａの検出値を時間で積分することにより、地面に対する上部旋回体１３の角度が求められてもよい。旋回角度検出部５１ｂは、下部走行体１１に対する上部旋回体１３の旋回角度を検出する。下部走行体１１が地面に対して回転していない場合は、旋回角度検出部５１ｂは、地面に対する上部旋回体１３の回転の角度を検出する。旋回角度検出部５１ｂの検出値を時間で微分することにより、下部走行体１１に対する上部旋回体１３の角速度が求められてもよい。例えば、旋回角度検出部５１ｂは、上部旋回体１３に設けられる角度センサ（エンコーダ）である。
【００２１】
アタッチメント姿勢検出部５３は、アタッチメント１５の姿勢を検出する。アタッチメント姿勢検出部５３は、ブーム角度検出部５３ａと、アーム角度検出部５３ｂと、バケット角度検出部５３ｃと、を備える。ブーム角度検出部５３ａは、上部旋回体１３に対するブーム１５ａの回転角度（ブーム角度）を検出する。例えば、ブーム角度検出部５３ａは、角度センサ（エンコーダ）でもよい（アーム角度検出部５３ｂおよびバケット角度検出部５３ｃも同様）。例えば、ブーム角度検出部５３ａは、ブーム１５ａを駆動するシリンダ（図示なし）の伸縮量を検出することで、ブーム角度を検出してもよい。この場合、シリンダの伸縮量から、ブーム角度が算出される。シリンダの伸縮量を検出してもよい点は、アーム角度検出部５３ｂおよびバケット角度検出部５３ｃも同様である。アーム角度検出部５３ｂは、ブーム１５ａに対するアーム１５ｂの回転角度（アーム角度）を検出する。バケット角度検出部５３ｃ（先端アタッチメント角度検出部）は、アーム１５ｂに対するバケット１５ｃの回転角度（バケット角度）を検出する。
【００２２】
（作動）
図４および図５に示すフローチャートを参照して、図１に示す位置推定装置２０の作動（ステップＳ１１〜Ｓ４０）について説明する。上記の位置推定装置２０の各構成要素については、主に図１を参照して説明する。
【００２３】
ステップＳ１１（図４参照）では、図１に示す地図情報取得部３１が、三次元の地図情報Ｍ（図２参照）を取得する。
【００２４】
ステップＳ１３（図４参照）では、基準点取得部３３が、地図情報Ｍにおける３つの地図上基準点Ｐｍ（Ｐｍ１、Ｐｍ２、およびＰｍ３）（図２参照）を取得する。ここで、図６に示すように、地図上基準点Ｐｍ１の座標を（Ｘ1、Ｙ1、Ｚ1）、地図上基準点Ｐｍ２の座標を（Ｘ2、Ｙ2、Ｚ2）、地図上基準点Ｐｍ３の座標を（Ｘ3、Ｙ3、Ｚ3）とする。
【００２５】
地図上基準点Ｐｍは、例えば次のように選択される。まず、図３に示す実在基準点Ｐｒが、後述するように選択される。そして、選択された実在基準点Ｐｒに対応する、図２に示す地図情報Ｍ上の位置が、地図上基準点Ｐｍとして選択される。
【００２６】
実在基準点Ｐｒは、次のように選択される。図３に示す実在基準点Ｐｒとして選択される位置は、画像Ｉｍから識別可能な位置である。具体的には例えば、実在基準点Ｐｒは、次のように選択される。［例Ａ１］実在基準点Ｐｒとして選択される位置は、カメラ３５で撮影可能な位置（画像Ｉｍに映る位置）である。例えば、建物に隠れる位置、および、建物の屋根の上など、カメラ３５で撮影できない位置は、実在基準点Ｐｒとして不適である。［例Ａ２］実在基準点Ｐｒとして選択される位置は、画像Ｉｍに基づいて、実在基準点Ｐｒとそれ以外の位置とを演算部４０（図１参照）で識別できるような位置である。例えば、建物の壁の中央部など、画像Ｉｍに映っている位置でも、演算部４０で識別できない位置は、実在基準点Ｐｒとして不適である。［例Ａ３］実在基準点Ｐｒとして選択される位置は、地図情報Ｍに情報（座標の情報）が存在している位置である。例えば、図２に示すビルの角（頂点）の位置、および、街灯の上部の位置などは、地図情報Ｍに情報が存在しており、実在基準点Ｐｒとして適している。一方、図３に示すビルの窓、および、街灯の支柱部分は、図２に示す地図情報Ｍに情報が存在しておらず、実在基準点Ｐｒとして不適である。［例Ａ４］図３に示す実在基準点Ｐｒとして選択される位置は、画像Ｉｍにおける位置（画像Ｉｍ中のどこに映っているか）を演算部４０が容易に（正確に、精度よく）識別できる位置であることが好ましい。［例Ａ４ａ］例えば、形状や色彩などが、周囲の物と区別しやすい位置は、実在基準点Ｐｒとして好ましい。例えば、図３に示す例では、ビルの角の位置、および、街灯の上部の位置など、周囲の物と区別しやすい位置は、実在基準点Ｐｒとして好ましい。［例Ａ４ｂ］例えば、識別用（画像認識用）のマーカー（目印）が取り付けられた位置は、画像Ｉｍにおける位置を特定しやすく、実在基準点Ｐｒとして好ましい。［例Ａ４ｂ−１］例えば、マーカーは、周囲の物と区別しやすい位置（上記［例Ａ４ａ］参照）に取り付けられてもよい。この場合、画像Ｉｍにおける位置の識別を、より容易に行える。［例Ａ４ｂ−２］例えば、マーカーの位置の情報を含んだ地図情報Ｍ（図２参照）を取得し、地図情報Ｍにおけるマーカーの位置の情報に対応する実在の位置に、マーカーを取り付けてもよい。また、ある位置にマーカーを取り付け、マーカーを取り付けた位置の情報を、地図情報Ｍ（図２参照）に追加してもよい。これらの場合、例えば、ビルの壁の中央部など、周囲の物と区別不可能な位置であっても、マーカーが取り付けられた位置を、実在基準点Ｐｒとして選択できる。
【００２７】
次に、ステップＳ１５（図４参照）では、図３に示すように、カメラ３５の撮影範囲に３つの実在基準点Ｐｒが含まれるように、カメラ３５の撮影範囲の初期位置が設定される。カメラ３５の撮影範囲に３つの実在基準点Ｐｒが含まれるように、例えば、図１に示すカメラ回動部３７でカメラ３５が回動させられてもよく、例えば、地面に対する上部旋回体１３の向きが変えられてもよい。例えば、操作者が、画像Ｉｍまたはカメラ３５を見ながら、カメラ３５または上部旋回体１３の向きを操作することで、カメラ３５の撮影範囲が設定される。
【００２８】
ここで、３つの実在基準点Ｐｒの中央部の位置を、基準点中央位置Ｐ０とする。基準点中央位置Ｐ０は、３つの実在基準点Ｐｒからの距離が等しい位置である。図８に示すように、カメラ３５から、基準点中央位置Ｐ０の位置に向かう方向（向き）を、基準点中央位置方向Ｄ０とする。また、カメラ３５から、カメラ３５の正面に向かう方向（向き）を、カメラ撮影方向Ｄ３５とする。また、図３に示す画像Ｉｍの中央部の位置を、画像Ｉｍ中央部とする。画像Ｉｍ中央部は、画像Ｉｍの横方向における中央部、かつ、画像Ｉｍの縦方向における中央部でもよい。画像Ｉｍ中央部は、画像Ｉｍの横方向における中央部（縦に長い範囲）でもよい。
【００２９】
このステップＳ１５（図４参照）では、例えば、基準点中央位置Ｐ０が、画像Ｉｍ中央部（またはその近傍）に映るように、カメラ３５の撮影範囲が設定される。例えば、図７に示すように、基準点中央位置方向Ｄ０とカメラ撮影方向Ｄ３５とが一致（またはほぼ一致）するように、カメラ３５の撮影範囲が設定される。
【００３０】
ステップＳ２１（図４参照）では、図３に示すように、カメラ３５が、３つの実在基準点Ｐｒを含む画像Ｉｍを撮影する。画像Ｉｍ中の３つの実在基準点Ｐｒの位置は、次のように演算部４０（図１参照）に認識される。例えば、操作者が、画像Ｉｍ内の３つの実在基準点Ｐｒを、操作により指定することで、実在基準点Ｐｒの位置が演算部４０に認識されてもよい。上記操作は、例えば、タッチパネルの操作やカーソルの操作などであり、基準点取得部３３の操作と同様の操作などである。また、例えば、演算部４０が、画像Ｉｍ内の３つの実在基準点Ｐｒ（例えば識別用のマーカーの位置など）を、自動的に認識してもよい。
【００３１】
次に、ステップＳ２３（図４参照）では、距離取得部４１（図１参照）が、図６に示す３つの実在基準点Ｐｒのそれぞれからカメラ３５までの距離Ｌを取得する。距離取得部４１（図１参照）は、画像Ｉｍ（図３参照）に基づいて、距離Ｌを取得する。ここで、実在基準点Ｐｒ１からカメラ３５までの距離を距離Ｌ1とする。実在基準点Ｐｒ２からカメラ３５までの距離を距離Ｌ2とする。実在基準点Ｐｒ３からカメラ３５までの距離を距離Ｌ3とする。
【００３２】
次に、ステップＳ２５（図４参照）では、位置計算部４３（図１参照）が、実在基準点Ｐｒに対するカメラ３５の位置を計算する。位置計算部４３は、距離取得部４１（図１参照）により取得された距離Ｌに基づいて、カメラ３５の位置を計算する。さらに詳しくは、位置計算部４３が、各距離Ｌ1、Ｌ2、およびＬ3、ならびに、各実在基準点Ｐｒ１、Ｐｒ２、およびＰｒ３の座標から、カメラ３５の三次元座標（ＸC、ＹC、ＺC）を計算する。具体的には、位置計算部４３は、次の連立方程式を解くことで、カメラ３５の三次元座標を計算する。
【００３３】
【数１】
2019143995.tif 000003
【００３４】
次に、ステップＳ２７（図４参照）では、図１に示す位置計算部４３が、アタッチメント先端部１５ｔの位置を計算する。位置計算部４３は、カメラ３５の位置と、カメラ回動角度Ｒｃ（図７参照）と、アタッチメント１５の姿勢と、に基づいて、アタッチメント先端部１５ｔの位置を計算する。
【００３５】
さらに詳しくは、位置計算部４３は、図７に示す基準点中央位置方向Ｄ０と、カメラ回動角度Ｒｃと、に基づいて、上部旋回体方向Ｄ１３を計算する。上部旋回体方向Ｄ１３は、上部旋回体１３の方向（向き）であり、例えば、上部旋回体１３からアタッチメント１５が延びる方向である。そして、カメラ３５の位置と、上部旋回体方向Ｄ１３と、アタッチメント１５の姿勢と、に基づいて、アタッチメント先端部１５ｔの位置を計算する。その結果、アタッチメント１５を用いた作業を行っている位置（例えば土砂を掘削している位置など）を計算できる。
【００３６】
ここで、ステップＳ２７の計算に用いられる基準点中央位置方向Ｄ０は、ステップＳ２５（図４参照）で計算したカメラ３５の位置と、基準点中央位置Ｐ０の位置から計算可能である。基準点中央位置Ｐ０の位置は、３つの地図上基準点Ｐｍ（図２参照）の位置から計算可能である。
【００３７】
また、ステップＳ２７の計算に用いられるカメラ回動角度Ｒｃは、上部旋回体方向Ｄ１３に対する、カメラ撮影方向Ｄ３５の角度である。カメラ回動角度Ｒｃは、例えば、カメラ回動部３７（図１参照）に設けられたセンサなどにより取得可能である。
【００３８】
また、ステップＳ２７の計算に用いられるアタッチメント１５の姿勢は、図１に示すアタッチメント姿勢検出部５３により検出される。さらに詳しくは、ブーム角度検出部５３ａによりブーム角度が検出され、アーム角度検出部５３ｂによりアーム角度が検出され、バケット角度検出部５３ｃによりバケット角度が検出される。また、アタッチメント先端部１５ｔの位置の計算に必要な、アタッチメント１５の寸法などの情報は、位置計算部４３に（演算部４０に）予め設定される。
【００３９】
次に、ステップＳ３０（図４参照）では、撮影範囲制御部４５が、図３に示す３つの実在基準点Ｐｒをカメラ３５が撮影し続けるように、カメラ３５の撮影範囲を制御する。この制御を行う理由は次の通りである。図１に示す建設機械１が作業を行うとき、下部走行体１１による並進移動、地面に対する下部走行体１１の回転（左右のクローラの走行速度の相違による回転）、および、下部走行体１１に対する上部旋回体１３の旋回、の少なくともいずれかが行われる。すると、図３に示すカメラ３５の撮影範囲から実在基準点Ｐｒが外れようとする。そこで、撮影範囲制御部４５は、３つの実在基準点Ｐｒをカメラ３５が撮影し続けるように、建設機械１（図１参照）の作動に応じて、カメラ３５の撮影範囲を制御する。制御の具体例として、図８に示すように、上部旋回体方向Ｄ１３が、方向１３ａから方向１３ｂに、角度θだけ回転した場合の、カメラ３５の撮影範囲の制御について説明する。
【００４０】
ステップＳ３１（図５参照）では、回転検出部５１（図１参照）が、上部旋回体１３の回転の情報を検出する。回転検出部５１に検出される回転の情報は、例えば、角度θおよび角速度である。この検出は、例えば次の［例Ｂ１］、［例Ｂ２］のように行われる。［例Ｂ１］地面に対して下部走行体１１が回転していない場合は、この検出は、図１に示すジャイロセンサ５１ａおよび旋回角度検出部５１ｂの少なくともいずれかにより行われる。［例Ｂ１ａ］ジャイロセンサ５１ａで角速度を検出した場合、この角速度を時間で積分することで、所定時間内での角度の変化量（図８に示す角度θ）を求めてもよい。この計算を行う場合、ジャイロセンサ５１ａの検出値を積分することで生じる誤差を、旋回角度検出部５１ｂで検出した角度に基づいて、補正してもよい。［例Ｂ１ｂ］旋回角度検出部５１ｂで角度を検出した場合、この角度を時間で微分することで、角速度を求めてもよい。［例Ｂ２］地面に対して下部走行体１１が回転している場合は、この検出は、ジャイロセンサ５１ａにより行われる。
【００４１】
次に、ステップＳ３３（図５参照）では、撮影範囲制御部４５（図１参照）が、図８に示す地面に対する上部旋回体方向Ｄ１３の変化量（角度θ）に基づいて、ズレ角度Ｒｓを計算（推定）する。ズレ角度Ｒｓは、基準点中央位置方向Ｄ０に対する、カメラ撮影方向Ｄ３５の角度のズレの大きさである（例えば、上から見て右回りを正、左回りを負、などとする）。例えば、ズレ角度Ｒｓは、角度θと等しい。なお、建設機械１が並進しながら上部旋回体方向Ｄ１３が角度θだけ回転した場合は、ズレ角度Ｒｓは、角度θとほぼ等しい。以下では、撮影範囲制御部４５については図１を参照して説明する。
【００４２】
次に、ステップＳ３５（図５参照）では、撮影範囲制御部４５が、ズレ角度Ｒｓを用いて、カメラ３５の撮影範囲の目標範囲（目標撮影範囲）を設定する。具体的には、撮影範囲制御部４５は、ズレ角度Ｒｓがゼロに近づくように、目標撮影範囲を設定する。撮影範囲制御部４５は、ズレ角度Ｒｓがゼロに近づくように、カメラ回動部３７（図１参照）の目標角度を設定する。撮影範囲制御部４５は、ズレ角度Ｒｓとは逆向き、かつ、ズレ角度Ｒｓと同じ大きさだけ、カメラ３５が回動するように、カメラ回動部３７の目標角度を設定する。
【００４３】
次に、ステップＳ３７（図５参照）では、撮影範囲制御部４５が、地面に対する上部旋回体１３の角速度（ステップＳ３１で検出された値）を用いて、カメラ３５の撮影範囲の回転の目標角速度を設定する。具体的には、撮影範囲制御部４５は、ズレ角度Ｒｓの変化の向きとは逆向き、かつ、ズレ角度Ｒｓの角速度と同じ大きさの角速度で、カメラ３５が回動するように、カメラ回動部３７の目標角速度を設定する。
【００４４】
次に、ステップＳ３９（図５参照）では、撮影範囲制御部４５が、目標角度（ステップＳ３５で設定）および目標角速度（ステップＳ３７で設定）に基づいて、カメラ３５の撮影範囲を変える。具体的には、撮影範囲制御部４５が、目標角度および目標角速度に基づいて、カメラ回動部３７（図１参照）に駆動指令を出力し、カメラ３５を回動させる。よって、建設機械１が作動しても、カメラ３５は（カメラ撮影方向Ｄ３５は）、常に基準点中央位置Ｐ０を向くように制御される。
【００４５】
次に、Ｓ４０（図４参照）では、図１に示す位置推定装置２０による位置推定を終了するか否かが判定される。例えば、位置推定の終了の操作が、操作者によってされたか否かが判定される。位置推定を終了する場合は、フローを終了する。位置推定を終了しない場合は、ステップＳ２１（図４参照）に戻り、建設機械１の位置の計算（図４のステップＳ２５、ステップ２７）が継続され、カメラ３５の撮影範囲の制御（ステップＳ３０）が継続される。このように、本実施形態では、ＧＰＳなどの衛星測位システムを用いなくても、建設機械１の位置を把握し続けることが可能である。
【００４６】
（情報化施工について）
従来、施工現場の三次元地形の電子情報に基づく建設作業である、情報化施工が行われている。情報化施工により、丁張や、作業途中の測量検査作業をなくすことが図られている。情報化施工を行うためには、建設機械の位置の取得が必要である。そこで、従来、ＧＰＳなどの衛星測位システムを利用して、建設機械の位置が取得されていた。また、情報化施工では、高精度に位置を取得する必要があるため、例えば、固定局の情報を利用した高精度な衛星測位システム（例えばリアルタイムキネマティック測位など）が用いられる場合があった。しかし、高精度な衛星測位システムは、コストが高く、例えば中型〜小型ショベルの価格よりも高価である。
【００４７】
建設機械の位置を取得するだけであれば、衛星測位システムの受信機は１基で済む。しかし、情報化施工を行うには、作業を行う部分の位置、具体的には例えば、アタッチメントの先端部の位置を取得する必要がある。そのためには、地面に対する上部旋回体の方向の情報が必要である。そこで、従来、地面に対する上部旋回体の方向の情報を取得するために、衛星測位システムの受信機が、建設機械に２基設けられる場合があった。そのため、受信機が１基のみ設けられる場合に比べ、コストがかかる。このように、衛星測位システムを用いて建設機械の位置を取得する技術には、高いコストがかかっていた。一方、本実施形態では、衛星測位システムを用いなくても、建設機械１の位置を取得（推定）できる。よって、衛星測位システムを用いた技術に比べ、コストを低減できる。また、本実施形態では、衛星測位システムを用いなくても、情報化施工を行える。
【００４８】
（効果）
図１に示す建設機械１の位置推定装置２０による効果は、次の通りである。
【００４９】
（第１の発明の効果）
位置推定装置２０は、建設機械１の三次元位置を推定する。建設機械１は、下部走行体１１と、下部走行体１１に対して旋回可能な上部旋回体１３と、を備える。位置推定装置２０は、地図情報取得部３１と、基準点取得部３３と、カメラ３５と、距離取得部４１と、位置計算部４３と、を備える。
【００５０】
［構成１］地図情報取得部３１は、三次元の地図情報Ｍを取得する。基準点取得部３３は、図２に示すように、地図情報Ｍにおける３つの地図上基準点Ｐｍを取得する。図１に示すように、カメラ３５は、上部旋回体１３に取り付けられる。図３に示すように、カメラ３５は、３つの地図上基準点Ｐｍ（図２参照）に対応する、３つの実在基準点Ｐｒを含む画像Ｉｍ（距離画像）を取得する。距離取得部４１（図１参照）は、画像Ｉｍ（図３参照）に基づいて、図６に示すように、３つの実在基準点Ｐｒのそれぞれからカメラ３５までの距離Ｌを取得する。図１に示す位置計算部４３は、距離取得部４１により計算された距離Ｌ（図６参照）に基づいて、実在基準点Ｐｒ（図６参照）に対する建設機械１の位置を計算する。
【００５１】
上記［構成１］では、図３に示す、カメラ３５が画像Ｉｍを取得する。そして、画像Ｉｍに基づいて、図６に示す実在基準点Ｐｒからカメラ３５までの距離Ｌが取得される。そして、この距離Ｌに基づいて、実在基準点Ｐｒに対する建設機械１の位置が計算される。よって、衛星測位システムを用いなくても、実在基準点Ｐｒに対する建設機械１の位置（三次元位置）を推定できる。通常、衛星測位システムを用いるための装置に比べ、位置推定装置２０を構成する装置（距離画像を取得可能なカメラ３５など）の方が、コストが低い。よって、衛星測位システムを用いる技術に比べ、位置推定装置２０のコストを低減できる。
【００５２】
（第２の発明の効果）
［構成２］図１に示すように、位置推定装置２０は、カメラ回動部３７と、撮影範囲制御部４５と、を備える。カメラ回動部３７は、上部旋回体１３に対してカメラ３５を回動させる。撮影範囲制御部４５は、３つの実在基準点Ｐｒ（図３参照）をカメラ３５が撮影し続けるように、建設機械１の作動に応じてカメラ回動部３７にカメラ３５を回動させることで、カメラ３５の撮影範囲を制御する。
【００５３】
上記［構成２］により、建設機械１が作動しても、カメラ３５は、３つの実在基準点Ｐｒ（図３参照）を撮影し続けることができる。よって、位置推定装置２０は、建設機械１が作動しても、建設機械１の位置を計算し続けることができる。
【００５４】
（第３の発明の効果）
［構成３］位置推定装置２０は、回転検出部５１を備える。回転検出部５１は、地面および下部走行体１１の少なくともいずれかに対する、上部旋回体１３の回転の情報を検出する。撮影範囲制御部４５は、回転検出部５１に検出された情報に基づいて、カメラ３５の撮影範囲を制御する。
【００５５】
上記［構成３］により、地面または下部走行体１１に対して、上部旋回体１３が回転しても、カメラ３５は、３つの実在基準点Ｐｒ（図３参照）を撮影し続けることができる。よって、位置推定装置２０は、上部旋回体１３が回転しても、建設機械１の位置を計算し続けることができる。
【００５６】
（変形例１）
図８に示す建設機械１が並進移動すると、基準点中央位置方向Ｄ０に対してカメラ撮影方向Ｄ３５がずれる（ズレ角度Ｒｓの大きさが大きくなる）場合がある。そこで、撮影範囲制御部４５は、建設機械１の並進移動の情報に基づいて、カメラ３５の撮影範囲を制御してもよい。本変形例では、図１に示す検出部５０は、並進情報取得部１５５を備える。
【００５７】
並進情報取得部１５５は、地面に対する建設機械１の並進移動の情報を取得する。並進情報取得部１５５が取得する情報は、例えば、並進移動の速度（速さおよび方向）または加速度（加速度の大きさおよび方向）である。例えば、並進情報取得部１５５は、下部走行体１１を駆動させるための指令（電気指令または油圧指令など）を検出することで、並進移動の速さ、または加速度の大きさを取得してもよい。例えば、並進情報取得部１５５は、建設機械１の並進移動の方向を、上部旋回体方向Ｄ１３（図８参照）と、下部走行体１１に対する上部旋回体１３の角度（旋回角度検出部５１ｂの検出値）と、に基づいて取得してもよい。例えば、並進情報取得部１５５は、位置計算部４３に計算された建設機械１の位置の変化から、並進移動の情報を取得（計算）してもよい。
【００５８】
（第４の発明の効果）
［構成４］図１に示すように、位置推定装置２０は、並進情報取得部１５５を備える。並進情報取得部１５５は、地面に対する建設機械１の並進移動の情報を取得する。撮影範囲制御部４５は、並進情報取得部１５５に取得された情報に基づいて、カメラ３５の撮影範囲を制御する。
【００５９】
上記［構成４］により、建設機械１が並進移動しても、カメラ３５は、３つの実在基準点Ｐｒ（図３参照）を撮影し続けることができる。よって、位置推定装置２０は、上部旋回体１３が並進移動しても、建設機械１の位置を計算し続けることができる。
【００６０】
（変形例２）
撮影範囲制御部４５は、カメラ３５の撮影範囲を上下方向に制御してもよい。例えば、水平面に対する建設機械１の傾きの変化に基づいて、カメラ回動部３７にカメラ３５を上下方向に回動（水平方向の軸回りに回動）させてもよい。また、図６に示す建設機械１が、実在基準点Ｐｒに近づく、または遠ざかることで、図８に示すカメラ撮影方向Ｄ３５に対して、基準点中央位置方向Ｄ０が、上下方向にずれる場合がある。そこで、撮影範囲制御部４５は、並進移動の情報に基づいて、カメラ３５の撮影範囲を上下方向に制御してもよい。
【００６１】
（他の変形例）
上記実施形態は様々に変形されてもよい。例えば、上記実施形態および各変形例の構成要素どうしが組み合わされてもよい。例えば、図４、および図５に示すフローチャートのステップの順序は変更されてもよい。例えば、図１に示す位置推定装置２０の構成要素の数が変更されてもよく、構成要素の一部が設けられなくてもよい。
【００６２】
例えば、上記実施形態では、撮影範囲制御部４５は、建設機械１の作動に応じてカメラ３５の撮影範囲を制御した。一方、演算部４０が、図３に示す画像Ｉｍ内での実在基準点Ｐｒの移動を認識（画像認識）し、実在基準点Ｐｒの移動に追従するように、カメラ３５の撮影範囲を制御してもよい（画像認識による追従をしてもよい）。例えば、画像認識による追従が可能なほど、図８に示すズレ角度Ｒｓの変化が遅い場合（例えば、建設機械１が並進移動する場合など）は、画像認識による追従をしてもよい。一方、下部走行体１１に対して上部旋回体１３が旋回する場合は、通常、画像認識による追従が不可能なほど、ズレ角度Ｒｓの変化が速い。そのため、下部走行体１１に対して上部旋回体１３が旋回する場合は、回転検出部５１が検出した上部旋回体１３の回転の情報に基づいて、カメラ３５の撮影範囲を制御することが好ましい。
【００６３】
例えば、図１に示すカメラ３５は、全方位カメラでもよい。この場合、カメラ３５を回動させるカメラ回動部３７は不要である。この場合、カメラ３５で得られた画像Ｉｍ（図３参照）から、実在基準点Ｐｒ（図３参照）を含む部分を切り出し（トリミング）し、切り出した部分から距離Ｌ（図６参照）を取得してもよい。この場合、撮影範囲制御部４５による撮影範囲の制御と同様に、建設機械１の作動に応じて切り出しの範囲を制御してもよい。
【００６４】
位置推定装置２０の構成要素のうち、カメラ３５およびカメラ回動部３７は、建設機械１に設けられる。一方、位置推定装置２０の構成要素のうち、カメラ３５およびカメラ回動部３７を除く構成要素は、建設機械１に設けられてもよく、建設機械１の外部に設けられてもよい。例えば、地図情報取得部３１、基準点取得部３３、および演算部４０は、建設機械１の外部のコンピュータなどにより実現されてもよい。例えば、検出部５０の少なくとも一部は、建設機械１の外部に設けられてもよく、例えば、建設機械１の外部から建設機械１の状態を検出するカメラなどでもよい。
【００６５】
位置推定装置２０の構成要素の少なくとも一部は、一体的に構成されてもよく、別々に設けられてもよい。具体的には例えば、地図情報取得部３１、基準点取得部３３、および演算部４０は、一体的に構成された一台のコンピュータにより実現されてもよい。例えば、距離取得部４１、位置計算部４３、および撮影範囲制御部４５の、少なくともいずれか（例えば撮影範囲制御部４５）が、他の部分（例えば距離取得部４１および位置計算部４３）とは別々に設けられてもよい。
【符号の説明】
【００６６】
１  建設機械
１１  下部走行体
１３  上部旋回体
２０  位置推定装置
３１  地図情報取得部
３３  基準点取得部
３５  カメラ
３７  カメラ回動部
４１  距離取得部
４３  位置計算部
４５  撮影範囲制御部
５１  回転検出部
１５５  並進情報取得部
Ｉｍ  画像（距離画像）
Ｌ、Ｌ1、Ｌ2、Ｌ3  距離
Ｍ  地図情報
Ｐｍ、Ｐｍ１、Ｐｍ２、Ｐｍ３  地図上基準点
Ｐｒ、Ｐｒ１、Ｐｒ２、Ｐｒ３  実在基準点
【図１】
2019143995.tif 000004
【図２】
2019143995.tif 000005
【図３】
2019143995.tif 000006
【図４】
2019143995.tif 000007
【図５】
2019143995.tif 000008
【図６】
2019143995.tif 000009
【図７】
2019143995.tif 000010
【図８】
2019143995.tif 000011