以下、本発明に係る作業機械の制御システム、作業機械及び作業機械の制御方法の実施形態を図面に基づいて説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。
図1は、本実施形態に係る作業機械の一例を示す図である。本実施形態では、作業機械として、例えばブルドーザ100を例に挙げて説明する。ブルドーザ100は、車両本体10と、作業機20とを有する。本実施形態において、ブルドーザ100は、例えば鉱山等の作業現場において用いられる。
図1に示すX軸、Y軸、Z軸は、グローバル座標系におけるX軸、Y軸、Z軸を示している。本実施形態においては、車両本体10に対して作業機20がある方向を前方とする。したがって、作業機20に対して車両本体10がある方向を後方とする。本実施形態においては、履帯11aが地面と接する接地面に対して車両本体10ある方向を上方とし、車両本体10から接地面に向かう方向、すなわち重力方向を下方する。なお、図1では、前後方向をX方向に一致させ、車幅方向をY方向に一致させ、上下方向をZ方向に一致させた状態でブルドーザ100を配置している。
車両本体10は、走行部としての走行装置11を有する。走行装置11は、履帯11aを有する。履帯11aは、車両本体10の左右のそれぞれに配置される。走行装置11は、不図示の油圧モータにより履帯11aを回転させることにより、ブルドーザ100を走行させる。
車両本体10は、アンテナ12を有する。アンテナ12は、ブルドーザ100の現在位置を検出するために用いられる。アンテナ12は、グローバル座標演算装置15と電気的に接続されている。グローバル座標演算装置15は、ブルドーザ100の位置を検出する位置検出装置である。グローバル座標演算装置15は、GNSS(Global Navigation Satellite Systems、GNSSは全地球航法衛星システムをいう)を利用してブルドーザ100の現在位置を検出する。以下の説明において、アンテナ12を、適宜GNSSアンテナ12と称する。GNSSアンテナ12が受信したGNSS電波に応じた信号は、グローバル座標演算装置15に入力される。グローバル座標演算装置15は、図1に示すグローバル座標系(X、Y、Z)におけるGNSSアンテナ12の設置位置を求める。全地球航法衛星システムの一例としては、GPS(Global Positioning System)が挙げられるが、全地球航法衛星システムは、これに限定されるものではない。GNSSアンテナ12は、例えば運転室13の上端に設置されることが好ましい。
車両本体10は、運転者が着座する運転席が設けられた運転室13を有する。運転室13には、各種の操作装置及び画像データを表示する表示部14が配置される。表示部14は、例えば、液晶表示装置等であるが、これに限定されるものではない。表示部14は、例えば入力部と表示部を一体化したタッチパネルを用いることができる。また、運転室13には、不図示の操作装置が設けられる。操作装置は、作業機20及び走行装置11の少なくとも1つを操作するための装置である。
作業機20は、作業具であるブレード21と、ブレード21を支持するリフトフレーム22と、リフトフレームを駆動するリフトシリンダ23とを有する。ブレード21は、刃先21pを有する。刃先21pは、ブレード21の下端部に配置される。整地作業又は掘削作業等の作業において、刃先21pは、地面に接触する。ブレード21は、リフトフレーム22を介して車両本体10に支持される。リフトシリンダ23は、車両本体10とリフトフレーム22とを連結する。リフトシリンダ23は、リフトフレーム22を駆動してブレード21を上下方向に移動させる。作業機20は、リフトシリンダセンサ23aを含む。リフトシリンダセンサ23aは、リフトシリンダ23のストローク長さを示すリフトシリンダ長データLaを検出する。
図2は、本実施形態に係る作業機械の制御システムである制御システム200の一例を示すブロック図である。図2に示すように、制御システム200は、グローバル座標演算装置15と、角速度及び加速度を検出する状態検出装置であるIMU(Inertial Measurement Unit:慣性計測装置)16と、ナビゲーションコントローラ40と、表示コントローラ30と、作業機コントローラ50と、を含む。
グローバル座標演算装置15は、グローバル座標系で表されるアンテナ12の位置データである基準位置データP1を取得する。グローバル座標演算装置15は、CPU(Central Processing Unit)等のプロセッサである処理部と、RAM(Random Access Memory)及びROM(Read Only Memory)等の記憶装置である記憶部とを有する。
グローバル座標演算装置15は、基準位置データP1に基づいて、車両本体10の位置を示す位置データPを生成する。位置データPは、グローバル座標系(X、Y、Z)における位置を示す。グローバル座標演算装置15は、生成した位置データPを、ナビゲーションコントローラ40及び表示コントローラ30に出力する。
IMU16は、ブルドーザ100の動作を示す動作情報を検出する状態検出装置である。実施形態において、動作情報は、ブルドーザ100の姿勢を示す情報を含んでいてもよい。ブルドーザ100の姿勢を示す情報は、ブルドーザ100のロール角、ピッチ角及び方位角が例示される。IMU16は、車両本体10に取り付けられている。IMU16は、例えば運転室13の下部に設置されてもよい。
IMU16は、ブルドーザ100の角速度及び加速度を検出する。ブルドーザ100の動作にともない、ブルドーザ100には、走行時に発生する加速度、旋回時に発生する角加速度及び重力加速度といった様々な加速度が生じるが、IMU16は少なくとも重力加速度を検出して出力する。ここで、重力加速度は、重力に対する抗力に対応した加速度である。IMU16は、例えばグローバル座標系(X、Y、Z)において、X軸方向、Y軸方向及びZ軸方向の加速度と、X軸、Y軸及びZ軸周りの角速度(回転角速度)とを検出する。
表示コントローラ30は、表示部14にガイダンス画面等の画像を表示させる。表示コントローラ30は、通信部32を有する。通信部32は、外部の通信機器との間で通信が可能である。通信部32は、例えば管理サーバ300等から作業現場の現況地形データ70及び設計地形データ80を受信する。通信部32は、USBメモリ等の外部記憶装置、PC、携帯端末から作業現場の現況地形データ70及び設計地形データ80を受信してもよい。
ナビゲーションコントローラ40は、CPU等のプロセッサである処理部と、RAM及びROM等の記憶装置である記憶部とを有する。ナビゲーションコントローラ40には、グローバル座標演算装置15の検出値、IMU16の検出値、後述する作業機コントローラ50からの出力値が入力される。ナビゲーションコントローラ40は、グローバル座標演算装置15の検出値及びIMU16の検出値から、ブルドーザ100の位置に関連する位置情報を求めて表示コントローラ30に出力する。ナビゲーションコントローラ40は、作業機コントローラ50から刃先位置データが入力される。刃先位置データは、刃先21pの3次元位置である刃先位置を示すデータである。ナビゲーションコントローラ40は、刃先位置データに基づいて、目標刃先位置を示す目標刃先位置データを生成する。ナビゲーションコントローラ40は、目標刃先位置データを生成する際、作業現場の現況地形を示す現況地形データを用いる。ナビゲーションコントローラ40は、例えば現況地形データにより示される現況地形を所定距離だけ下方にオフセットした仮想目標地面を生成し、刃先21pが当該仮想目標地面に沿うように目標刃先位置データを生成する。
作業機コントローラ(作業機制御部)50は、CPU等のプロセッサである処理部と、RAM及びROM等の記憶装置である記憶部とを有する。作業機コントローラ50は、ブレード21の位置情報を用いて、上記刃先位置データを検出し、ナビゲーションコントローラ40に出力する。作業機コントローラ50は、ナビゲーションコントローラ40から目標刃先位置データが入力される。作業機コントローラ50は、目標刃先位置データに基づいて、作業機20の動作を制御する作業機指令値を生成して出力する。
図4は、現況地形データの一例を示す図である。図4に示すように、現況地形データ70は、作業現場をグローバル座標系のX方向及びY方向に沿って複数のグリッド領域Gに区画した場合における、グリッド領域G毎の高さ位置(Z座標)に関するデータである。なお、現況地形データ70は、グリッド領域Gにおける任意の位置の高さデータに関するデータであればよく、例えばグリッド領域Gの中心位置の高さデータであってもよいし、グリッド領域Gの4隅の高さデータであってもよい。グリッド領域Gは、例えば正方形に設定されるが、これに限定されるものではなく、例えば長方形、平行四辺形、三角形等、他の形状であってもよい。
本実施形態において、現況地形データ70は、例えば作業現場の現況地形を各種の測定手法を用いて測定することにより生成される。現況地形データ70は、例えば測定手法等が異なる複数種類の現況地形データを含む。現況地形データ70を生成するための測定手法としては、例えば、作業現場を走行する車両の位置情報を用いて現況地形を測定する手法、作業現場を走行するブルドーザ100等の作業機械の位置情報を用いて現況地形を測定する手法、測量車を走行させて現況地形を測量する手法、静止した測量器を用いて現況地形を測量する手法、ステレオカメラを用いて現況地形を測定する手法、ドローン等の無人飛行体により現況地形を測定する手法等が挙げられる。なお、ドローン等による計測は、例えばカメラ等を用いて現況地形を撮影し、撮影結果から現況地形データを測定する手法であってもよいし、レーザスキャナを用いて現況地形データを測定してもよい。現況地形データ70には、測定手法等を識別するための識別情報が付与されてもよい。
図3は、ナビゲーションコントローラ40の一例を示すブロック図である。図3に示すように、ナビゲーションコントローラ40は、処理部44と、記憶部45とを有する。ナビゲーションコントローラ40は、処理部44及び記憶部45がバスライン46等の信号線を介して接続される。
処理部44は、例えばCPU等のプロセッサである。処理部44は、現況地形データ算出部61と、取得部62と、設定部63と、演算部64と、補正部65と、調整部66とを有する。
現況地形データ算出部61は、例えば作業現場のうちブルドーザ100が通過した領域についての現況地形を示す現況地形データ70を算出する。現況地形データ算出部61は、例えばグローバル座標演算装置15で出力される位置情報に基づいて現況地形データ70を算出する。この場合、現況地形データ算出部61は、例えばブルドーザ100が通過した領域に対応するグリッド領域G毎のZ座標を算出する。
取得部62は、作業現場の現況地形を示す複数の現況地形データ70を取得する。取得部62が取得する現況地形データ70は、例えば管理サーバ300から受信する現況地形データ70と、現況地形データ算出部61で生成される現況地形データ70とを含む。
取得部62が取得する複数の現況地形データ70は、測定手法等に応じて、精度やデータを有する範囲等が異なる場合がある。例えば、作業現場に車両を走行させて測定を行うことで得られる現況地形データ70は、測定時の走行速度が速くなるため、測定精度が低くなる。一方、作業現場の広い領域に亘って走行させて現況地形データ70を測定することにより、データの存在するグリッド領域Gの数を多くすることができる。
また、上記車両に比べて走行速度が低いブルドーザ100を走行させることで得られる現況地形データ70は、走行速度が低い分、測定精度が高くなる。一方、ブルドーザ100は、例えば作業現場のうちブルドーザ100が作業を行う箇所及び作業のために移動する箇所を主として走行するため、データの存在するグリッド領域Gの数が限られる。
したがって、取得部62は、例えば、精度が高くかつデータの存在するグリッド領域Gの数が少ない現況地形データ70と、精度が低くかつデータの存在するグリッド領域Gの数が多い現況地形データ70とを取得する場合、すなわち精度が異なる複数の現況地形データ70を混在して取得する場合がある。この場合、精度の高い現況地形データ70の存在するグリッド領域Gについては、当該精度の高い現況地形データ70を用いて処理を行うことが可能である。一方、精度の高い現況地形データ70が存在しないグリッド領域Gについては、精度の低い現況地形データ70を用いて処理を行うことになる。本実施形態では、この場合において、精度の低い現況地形データ70を精度の高い現況地形データ70を用いて修正することで、精度の低い現況地形データ70の精度向上を図るものである。以下、相対的に精度が低い現況地形データ70を第1現況地形データ71とし、相対的に精度が高い現況地形データ70を第2現況地形データ72とする。
設定部63は、取得部62が取得した複数の現況地形データ70から、上記の第1現況地形データ71及び第2現況地形データ72を設定する。設定部63は、どのような方法で第1現況地形データ71及び第2現況地形データ72を設定してもよい。以下、例えば第1現況地形データ71に設定される現況地形データ70の測定方法と、第2現況地形データ72に設定される現況地形データ72の測定方法とを予め決めておき、現況地形データ70が測定された方法に基づいて設定部63が第1現況地形データ71及び第2現況地形データ72を設定する場合を例に挙げて説明する。
演算部64は、同一位置におけるグリッド領域Gにおける第1現況地形データ71と第2現況地形データ72との高さデータの差分を各グリッド領域G毎に算出する。グリッド領域G毎に算出した複数の高さデータの差分は、差分データ82として記憶部45に記憶される。
また、演算部64は、グリッド領域G毎に算出した複数の差分と、後述する作業現場の現況地形に関するパラメータ情報とに基づいて、第1現況地形データ71を修正するための推定誤差関数を求める。推定誤差関数は、修正データの一例である。本発明者は、現況地形データ70において、例えば水平面に対する傾斜角度が大きいグリッド領域Gほど上記の高さデータの差分が大きくなるという相関関係を見出した。したがって、本実施形態では、パラメータ情報として、各グリッド領域Gについての水平面に対する傾斜角度を例に挙げて説明する。この場合、演算部64は、各グリッド領域Gについて水平面に対する傾斜角度を算出し、算出した傾斜角度を角度の大きさに基づいて各グリッド領域Gを複数のグループに分類し、当該グループをパラメータ情報として設定する。以下、演算部64がパラメータ情報を設定する手順を説明する。
図5は、傾斜角度を算出する様子を示す模式図である。図5に示すように、1つのグリッド領域Gtの傾斜角度を求める場合、演算部64は、当該グリッド領域Gtの周囲のグリッド領域との高さ位置の差を求める。本実施形態では、グリッド領域Gtの周囲のグリッド領域として、グリッド領域Gtと各辺を共有する4つのグリッド領域Gn、Gs、Ge、Gwを含む。なお、グリッド領域Gtの周囲のグリッド領域は、上記4つのグリッド領域Gn、Gs、Ge、Gwに代えて又は上記4つのグリッド領域Gn、Gs、Ge、Gwに加えて、グリッド領域Gtに対して斜め方向に隣り合うグリッド領域Gを含んでもよい。
図5では、一例として、グリッド領域Gtとグリッド領域Geとの間の高さ位置の差hが示されている。演算部64は、このような高さ位置の差を、グリッド領域Gn、Gs、Ge、Gwとの間について算出する。演算部64は、算出した高さ位置の差と、グリッド領域のピッチdとに基づいて角度αを算出する。この場合、角度αは、グリッド領域Gtの中心点Otとグリッド領域Gn、Gs、Ge、Gwの各中心点(図5では中心点Oeを示す)とを結ぶそれぞれの直線が水平面との間に角度である。演算部64は、算出した4つの角度αのうち、例えば最も大きい値をグリッド領域Gtの傾斜角度とする。なお、演算部64は、算出した4つの角度αの平均値をグリッド領域Gtの傾斜角度としてもよい。
演算部64は、傾斜角度を算出した場合、当該算出した傾斜角度を、角度の大きさに基づいて複数の角度群(グループ)に分類する。図6は、角度群と推定誤差量との対応関係を示す表である。図6に示すように、演算部64は、傾斜角度を角度の大きさに基づいて、例えば第1群から第7群までの7つのグループのいずれかに分類する。
例えば、角度α1、α2、α3、α4、α5、α6が、α1<α2<α3<α4<α5<α6という関係であった場合に、第1群は、傾斜角度が0°以上、α1°未満となるグリッド領域Gが属するグループである。第2群は、傾斜角度がα1°以上、α2°未満となるグリッド領域Gが属するグループである。第3群は、傾斜角度がα2°以上、α3°未満となるグリッド領域Gが属するグループである。第4群は、傾斜角度がα3°以上、α4°未満となるグリッド領域Gが属するグループである。第5群は、傾斜角度がα4°以上、α5°未満となるグリッド領域Gが属するグループである。第6群は、傾斜角度がα5°以上、α6°未満となるグリッド領域Gが属するグループである。第7群は、傾斜角度がα6°以上となるグリッド領域Gが属するグループである。このように、演算部64は、複数の角度群(グループ)を設定することで、パラメータ情報を設定する。
演算部64は、算出した複数の差分とパラメータ情報とに基づいて、第1現況地形データ71を修正するための推定誤差関数を求める。以下、演算部64が推定誤差関数を求める手順を説明する。本実施形態において、演算部64は、パラメータ情報である角度群毎に推定誤差量を求める。具体的には、演算部64は、各角度群に属する複数のグリッド領域G毎に同一位置におけるグリッド領域Gにおける第1現況地形データ71と第2現況地形データ72との高さデータの差分を求め、その差分の例えば平均値又は中央値を算出する。当該算出された結果がその角度群における推定誤差量である。図6に示すように、第1群から第7群の各グループについて、対応する推定誤差量(E1〜E7)が求められる。このように、演算部64は、パラメータ情報である角度群(角度情報)と推定誤差量とを対応付けることにより、両者の関係を示す推定誤差関数F1を求める。本実施形態において、推定誤差関数F1は、第1群から第7群までの各角度群と、当該角度群毎の推定誤差量(E1〜E7)との関係をすべて含む。本実施形態において、演算部64は、推定誤差関数F1の一形式として、例えば角度群と誤差推定量とが1対1で対応するヒストグラムを作成してもよい。
図7は、推定誤差関数を示すヒストグラムであり、具体的には、グリッド領域Gが属する角度群と推定誤差量との関係を示している。図7の横軸は角度群を示し、図7の縦軸は推定誤差量(単位:m)を示す。図7に示すように、推定誤差量は、E1<E2<E3<E4<E5<E6<E7となっている。図7から明らかなように、傾斜角度が大きい角度群に属するグリッド領域Gほど、そのグリッド領域Gにおける推定誤差量が大きくなる。
また、図8は、グリッド領域G毎に推定誤差量を求める処理を模式的に示す図である。演算部64は、推定誤差関数F1に基づいて、グリッド領域G毎に、当該グリッド領域Gが属する角度群に対応した推定誤差量を求める。
補正部65は、演算部64で求めた推定誤差関数F1に基づいて第1現況地形データ71を補正する。なお、補正部65は、補正の前後で第1現況地形データ71の値が小さくなる場合にのみ、第1現況地形データ71の補正を行うようにしてもよい。この場合、現況地形データ71の値が実際の現況地形よりも大きくなることを抑制できるため、作業機20の自動制御を行う際にブレード21の刃先21pが地面から離れてしまうことを抑制できる。例えば、第2現況地形データ72が無く、第1現況地形データ71しか存在しないグリッド領域Gを、当該第1現況地形データ71に基づいて作業機20の自動制御を行う場合、補正部65が第1現況地形データ71の高さデータを推定誤差量分だけ下に修正することで、確実に作業現場の地面を掘削することができ、いわゆるブレード21の空振りを防止できる。
調整部66は、すでに推定誤差量E1、E2、E3、E4、E5、E6、E7が求められている状態において、新たに第2現況地形データ72と第1現況地形データ71との差分データ82が得られた場合に、新たな差分データ82を用いることにより、推定誤差量を更新する。例えば、それまで精度の高い第2現況地形データ72が存在せず、相対的に精度の低い第1現況地形データ71のみ存在していたグリッド領域Gをブルドーザ100が新たに走行し、当該グリッド領域Gについての第2現況地形データ72が新たに生成された場合、当該グリッド領域Gにおける差分データ82を推定誤差量の算出に用いることにより、すでに計算されていた推定誤差量を更新できるようになる。
この場合、調整部66は、演算部64と同様に、各角度群に属する複数のグリッド領域Gについて差分を算出し、当該差分の例えば平均値又は中央値を算出する。図9は、推定誤差量を調整する処理を模式的に示すグラフであり、図7と同様に横軸は角度群を示し、縦軸は推定誤差量を示す。
例えば第3群に属する複数のグリッド領域Gについて、例えば調整部66による調整処理前には第3群の推定誤差量がE3である。調整部66における調整処理の結果、すなわち新たに追加された第2現況地形データ72を用いて推定誤差量を再計算した結果、推定誤差量がE3aとなった場合、図9に示すように、調整部66は、第3群の推定誤差量をE3からE3aに変更する。
また、記憶部45は、現況地形データ70と、設計地形データ80と、差分データ82と、推定誤差関数F1とを記憶する。また、記憶部45は、処理部44において各種の処理を行うためのプログラム及びデータ等が記憶される。
図10は、本実施形態に係る作業機械の制御方法の一例を示すフローチャートである。ステップST10において、ナビゲーションコントローラ40の取得部62は、現況地形データ70を取得する。このような現況地形データ70として、例えば管理サーバ300から受信する現況地形データ70と、現況地形データ算出部61で生成される現況地形データ70とが含まれる。
次に、設定部63は、取得部62が取得した複数の現況地形データ70から、第1現況地形データ71及び第2現況地形データ72を設定する(ステップST20)。ステップST20において、第1現況地形データ71を修正することを目的として、設定部63は、第2現況地形データ72を教師データ(修正するための基準となるデータ)とするべく、第2現況地形データ72に実際の現況地形に近い方のデータ、つまり精度が高い方のデータを設定する。また、ステップST20において、設定部63は、どのような方法で第1現況地形データ71及び第2現況地形データ72を設定してもよいが、本実施形態では、例えば第1現況地形データ71に設定する現況地形データ70の測定方法と、第2現況地形データ72に設定する現況地形データ70の測定方法とを予め決めておき、現況地形データ70が測定された方法に基づいて設定部63が第1現況地形データ71及び第2現況地形データ72を設定する。
次に、演算部64は、同一位置におけるグリッド領域Gにおける第2現況地形データ72に対する第1現況地形データ71の高さデータの差分を各グリッド領域G毎に算出する(ステップST30)。次に、演算部64は、各グリッド領域G毎にパラメータ情報を設定する(ステップST40)。ステップST40において、演算部64は、パラメータ情報として各種情報を設定することができる。本実施形態において、演算部64は、例えば各グリッド領域Gについて水平面に対する傾斜角度を算出し、算出した傾斜角度を角度の大きさに基づいて各グリッド領域Gを複数のグループに分類し、当該グループをパラメータ情報として設定する。演算部64は、ステップST40において、傾斜角度を角度の大きさに基づいて、例えば第1群から第7群までの角度群を設定することで、パラメータ情報を設定する。
次に、演算部64は、算出した差分とパラメータ情報とに基づいて、推定誤差関数F1を導出する(ステップST50)。演算部64は、ステップST50において、例えば角度群毎に推定誤差量(E1〜E7)を求め、角度群と推定誤差量とを対応付けることにより、推定誤差関数F1を導出する。
その後、例えば第2現況地形データ72が無く、第1現況地形データ71しか存在しないグリッド領域Gを、当該第1現況地形データ71に基づいて作業機20の自動制御を行う場合、補正部65は、導出された推定誤差関数F1に基づいて第1現況地形データ71を補正する(ステップST60)。その後、ナビゲーションコントローラ40及び作業機コントローラ50は、現況地形データ70として補正後の第1現況地形データ71に基づいて作業機20の制御を行ってもよい。この場合、精度が向上された第1現況地形データ71に基づいて作業機20の制御を行うため、作業機20を精度良く制御することができる。また、作業機20が確実に作業現場の地面を掘削することができるため、いわゆるブレード21の空振りを防止できる。
なお、ステップST50又はステップST60の後、それまで精度の高い第2現況地形データ72が存在せず、相対的に精度の低い第1現況地形データ71のみ存在しているグリッド領域Gをブルドーザ100が新たに走行し、当該グリッド領域Gについての第2現況地形データ72が新たに生成された場合、調整部66は、推定誤差関数F1を更新する処理を行ってもよい。この場合、調整部66は、第2現況地形データ72に対する第1現況地形データ71の差分データ82に基づいて推定誤差量を更新する。
以上のように、本実施形態に係る作業機械の制御システム200は、ブルドーザ100が作業を行う作業現場についての複数の現況地形データ70を取得する取得部62と、取得部62が取得した複数の現況地形データ70から、第1現況地形データ71と、第2現況地形データ72とを設定する設定部63と、第1現況地形データ71と第2現況地形データ72との差分を算出し、差分と作業現場の現況地形に関するパラメータ情報とに基づいて第1現況地形データ71を修正するための修正データである推定誤差関数F1を求める演算部64とを備える。
また、本実施形態に係る作業機械の制御システム200は、パラメータ情報として、各グリッド領域Gについての水平面に対する傾斜角度を求め、当該求めた傾斜角度を角度の大きさに基づいて複数の角度群に分類する。このため、傾斜角度を求めたグリッド領域Gの数が増加しても、パラメータ情報の数が増加することなく一定のままである。したがって、多くの情報を効率的に処理することができる。
この構成によれば、取得される複数の現況地形データ70の中から第1現況地形データ71と、第2現況地形データ72とを設定し、第2現況地形データ72を教師データとして第1現況地形データの推定誤差関数F1を算出し、推定誤差関数F1に基づいて第1現況地形データ71を修正することができるため、第1現況地形データ71の精度を向上することが可能となる。
以上、実施形態を説明したが、前述した内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換及び変更のうち少なくとも1つを行うことができる。例えば、ナビゲーションコントローラ40が実行する各処理は、表示コントローラ30、作業機コントローラ50又はこれら以外のコントローラが実行してもよい。
また、上記実施形態では、作業機械として、ブルドーザ100を例に挙げて説明したが、これに限定するものではなく、油圧ショベル又はホイールローダー等、他の作業機械であってもよい。また、上記実施形態における制御システム200は、ブルドーザ100等の作業機械に設けられてもよいし、管理サーバ300等に設けられてもよいし、作業機械と管理サーバが分担してもよい。
また、上記実施形態では、例えば第1現況地形データ71に設定する現況地形データ70の測定方法と、第2現況地形データ72に設定する現況地形データ70の測定方法とを予め決めておき、現況地形データ70が測定された方法に基づいて設定部63が第1現況地形データ71及び第2現況地形データ72を設定する場合を例に挙げて説明したが、これに限定されない。例えば設定部63は、作業者の指示又は入力に基づいて第1現況地形データ71及び第2現況地形データ72を設定してもよい。また、設定部63は、現況地形データ70の各測定方法に応じて例えば優先順位又は数値化された精度情報を設定しておき、当該優先順位又は精度情報に基づいて、第1現況地形データ71及び第2現況地形データ72を設定してもよい。また、設定部63は、例えばレーザスキャナ等の測量器により予め測定された正確な現況地形データと、取得部62が取得した複数の現況地形データ70とを比較し、差分が大きい現況地形データ70を第1現況地形データ71とし、差分が小さい現況地形データ70を第2現況地形データ72としてもよい。
なお、上記実施形態では、設定部63は、作業現場を走行する車両の位置情報を用いて現況地形を測定した場合の現況地形データ70を第1現況地形データ71に、作業現場を走行するブルドーザ100等の作業機械の位置情報を用いて現況地形を測定した場合の現況地形データ70を第2現況地形データ72に設定したが、この例に限定されない。例えば、車両等の位置情報を用いて現況地形を測定する場合、各種センサの精度や計算アルゴリズムに応じて精度が異なる場合がある。したがって、車両の位置情報を用いて現況地形を測定した場合の現況地形データ70を第2現況地形データ72に、作業機械の位置情報を用いて現況地形を測定した場合の現況地形データ70を第1現況地形データ71に設定してもよい。
また、上記実施形態では、パラメータ情報として、グリッド領域Gについての水平面に対する傾斜角度を求め、当該求めた傾斜角度を角度の大きさに基づいて複数の角度群に分類したが、これに限定するものではない。図11は、変形例に係る推定誤差関数を示すグラフである。
例えば、パラメータ情報としてグリッド領域Gについての水平面に対する傾斜角度を用いる場合において、演算部64は、図11に示すように、傾斜角度と推定誤差量との関係をグリッド領域G毎に求め、各値に基づいて近似曲線を導出し、当該近似曲線を推定誤差関数F2としてもよい。近似曲線については、最小二乗法等の近似法により求めることができる。また、近似曲線は、二次関数、又は三次以上の高次の関数により規定される曲線とすることができる。この場合、補正部65は、推定誤差関数F2に基づいて第1現況地形データ71を補正する。推定誤差関数F2は、修正データの一例である。
また、修正データは、上述した推定誤差関数F1及び推定誤差関数F2に限定されず、どのような形式のデータであってもよい。
また、上記実施形態では、パラメータ情報として、グリッド領域Gについての水平面に対する傾斜角度を用いる場合を例に挙げて説明したが、これに限定するものではない。例えば、アンテナ12がGNSS電波を受信する際、位置情報に加えて精度情報も受信する。この場合、ナビゲーションコントローラ40は、受信した精度情報を位置情報に対応付けて、グリッド領域G毎のデータとして記憶部45に記憶させる。演算部64は、例えば現況地形データ算出部61等でGNSS電波に含まれる位置情報に基づいて現況地形データ70を生成した場合には、GNSS電波に含まれる精度情報を第1現況地形データ71のパラメータ情報として用いてもよい。
また、例えば作業現場において施工対象となる土砂の水分含有量、土又は岩の成分等の地質情報をパラメータ情報としてもよい。この場合、ナビゲーションコントローラ40は、例えば計測機器等により計測した地質情報を位置情報に対応付けて、グリッド領域G毎のデータとして記憶部45に記憶させる。これにより、演算部64は、例えば計測機器等により計測した地質情報をパラメータ情報とすることができる。
また、例えば現況地形データ70が生成された時刻、又は取得部62が現況地形データ70を取得した時刻を時間情報として現況地形データ70に書き込むこととし、当該時間情報をパラメータ情報として用いてもよい。この場合、例えば時刻が古い現況地形データ70ほど誤差が大きいと推定することが可能である。
また、例えばナビゲーションコントローラ40は、現況地形データ70を生成する際の測定方法を示す測定方法データを、現況地形データ70に紐づけて、又はグリッド領域G毎のデータとして、記憶部45に記憶させてもよい。この場合、設定部63は、現況地形データ70の測定方法に基づいて、第1現況地形データ71と第2現況地形データ72とを設定する。そして演算部64は、第1現況地形データ71と第2現況地形データ72との測定方法の違いに基づく第1現況地形データ71の修正量を予め定めておき、当該修正量に基づいて一律に第1現況地形データ71を修正するようにしてもよい。