以下、図面を参照して本開示の作業機械の実施形態を説明する。
図1および図2は、本開示の作業機械の一実施形態を示す概略図である。本実施形態の作業機械1は、たとえば、情報化施工を補助するシステムを備えた油圧ショベルである。情報化施工は、たとえば資源採掘や建設工事の現場などでの施工において、情報通信技術を活用し、各プロセスから得られる電子情報をやり取りして、高効率、高精度の施工を実現する。より具体的には、たとえばGPS(Global Positioning System)やGNSS(Global Navigation Satellite System)などの衛星測位システムにより得られた作業機械1の三次元の位置情報を用いて、作業機械1の管理、施工状態の管理、および作業機械1の制御などを行う。
詳細については後述するが、本実施形態の作業機械1は、次の構成を特徴としている。作業機械1は、本体10と、その本体10に設けられた作業装置20と、本体10を走行させる走行装置30と、を備えている。また、作業機械1は、本体10に搭載された第1制御装置100と、本体10の位置を検出する第1位置検出装置40と、本体10と独立して移動可能な移動体50と、を備えている。さらに、作業機械1は、移動体50に搭載された第2制御装置200と、移動体50の位置を検出する第2位置検出装置60と、移動体50と本体10との相対位置を検出する相対位置検出装置70と、を備えている。第1制御装置100を構成する第1中央処理装置101は、第1位置検出装置40の異常を検出して第2制御装置200へ通知する。第2制御装置200を構成する第2中央処理装置201は、第1制御装置100から前記通知があったときに、移動体50を移動させ、第2位置検出装置60によって移動体50の位置を検出し、相対位置検出装置70によって本体10と移動体50との相対位置を検出する。第1中央処理装置101は、第1位置検出装置40の異常を検出した後に、移動体50の位置、および、移動体50と本体10との相対位置に基づいて、本体10の推定位置を算出する。
以下、本実施形態の作業機械1の構成をより詳細に説明する。作業機械1は、たとえば、前述の本体10、作業装置20、走行装置30、第1位置検出装置40、移動体50、第2位置検出装置60、相対位置検出装置70、第1制御装置100および第2制御装置200に加えて、画像表示装置80(図7)、給電装置91、ケーブル92、非常用電源93、および第3制御装置300を備えている。以下の説明では、作業機械1の前後方向に平行なX軸、作業機械1の幅方向に平行なY軸、作業機械1の高さ方向に平行なZ軸からなる三次元の直交座標系を参照しながら、作業機械1の各部を説明する場合がある。
本体10は、たとえば、走行装置30の上に旋回可能に取り付けられている。本体10は、たとえば、図示を省略する油圧モータまたは電動モータによって駆動される。具体的には、たとえばオペレータが運転室11内の操作レバーを操作すると、本体10は、その操作に応じて作業機械1の高さ方向(Z方向)に平行な回転軸を中心に走行装置30に対して旋回する。本体10は、たとえば、図示を省略する原動機や、油圧ポンプおよび複数のバルブを含む油圧機構、第1制御装置100および第3制御装置300、ならびにカウンターウェイトなどを収容している。
作業機械1の前後方向(X方向)における本体10の前部には、運転室11が設けられている。一部は図示を省略するが、運転室11の内部には、オペレータが着座する運転席、オペレータが操作する操作レバーおよび操作ペダル、ならびにオペレータが視認する画像表示装置80(図7を参照)が設置されている。
作業装置20は、たとえば、掘削作業などの作業を行う作業装置である。作業装置20は、たとえば、本体10の前後方向(X軸方向)における前部で、本体10の車幅方向(Y軸方向)における中央部に設けられ、運転室11と車幅方向に隣接している。作業装置20は、たとえば、ブーム21と、アーム22と、バケット23と、を備えている。また、作業装置20は、たとえば、ブームシリンダ21sと、アームシリンダ22sと、バケットシリンダ23sと、リンク機構23lとを有している。
ブーム21の基端部は、たとえば、作業機械1の幅方向(Y方向)に平行な、図示を省略する回転軸を介して本体10に連結されている。ブーム21は、たとえば、油圧アクチュエータであるブームシリンダ21sによって駆動され、本体10に取り付けられた図示を省略する回転軸を中心に所定の角度範囲で回動する。
アーム22の基端部は、たとえば、作業機械1の幅方向(Y方向)に平行な回転軸22aを介してブーム21の先端部に連結されている。アーム22は、たとえば、油圧アクチュエータであるアームシリンダ22sによって駆動され、ブーム21に取り付けられた回転軸22aを中心に所定の角度範囲で回動する。
バケット23の基端部は、たとえば作業機械1の幅方向(Y方向)に平行な回転軸23a、およびリンク機構23lを介して、アーム22の先端部に連結されている。バケット23は、たとえば、油圧アクチュエータであるバケットシリンダ23sによって駆動され、アーム22に取り付けられた回転軸23aを中心に所定の角度範囲で回動する。
ブームシリンダ21s、アームシリンダ22s、バケットシリンダ23sは、それぞれ、シリンダチューブと、シリンダチューブの内周面に沿って軸方向に摺動可能に配置されたピストンと、そのピストンの一端に連結されたロッドを有している。シリンダチューブの内部は、ピストンによってロッド側のロッド室とロッドと反対側のボトム室とに区画されている。ブームシリンダ21s、アームシリンダ22s、およびバケットシリンダ23sは、たとえば、本体10の内部に収容された図示を省略する油圧機構の一部を構成している。
油圧機構は、オペレータが運転室11内の操作レバーを操作すると、その操作に応じたパイロット圧を切換バルブに作用させるように構成されている。油圧機構は、油圧ポンプから圧送される作動油の流量および供給先を、切換バルブを含む各種のバルブによりパイロット圧に応じて変化させ、ブームシリンダ21s、アームシリンダ22s、バケットシリンダ23sのそれぞれのボトム室またはロッド室へ作動油を供給する。これにより、ブームシリンダ21s、アームシリンダ22s、バケットシリンダ23sのロッドが伸縮し、前述のように、ブーム21、アーム22、およびバケット23が駆動される。
走行装置30は、たとえば、無限軌道履帯を有する左右のクローラ31と、図示を省略する左右の走行モータとを備えている。走行装置30は、左右の走行モータによって左右のクローラ31をそれぞれ駆動することで、作業機械1を走行させる。左右の走行モータは、たとえば、前述の油圧機構の一部を構成する油圧モータである。オペレータは、運転室11内の操作レバーまたは操作ペダルを操作することで、走行装置30の左右の走行モータを任意の方向へ回転させ、作業機械1を走行させることができる。
第1位置検出装置40は、たとえば、本体10に取り付けられて、RTK-GNSS(Real Time Kinematic - Global Navigation Satellite System)を構成するアンテナ41,42を含んでいる。第1位置検出装置40は、たとえば、運転室11よりも後方で本体10の上に離隔して配置された二つのアンテナ41,42を有している。第1位置検出装置40は、本体10に設けられた二つのアンテナ41,42のそれぞれの三次元の位置情報を検出することで、本体10の位置および姿勢を検出する。
移動体50は、たとえばドローンなどのUAV(Unmanned Aerial Vehicle)である。特に限定はされないが、図1および図2に示す例において、移動体50は複数のプロペラを備えている。移動体50は、たとえば複数のプロペラを回転させて自律的に飛行することで、本体10と独立して移動可能である。
第2位置検出装置60は、たとえば移動体50に搭載され、移動体50の位置を検出する。具体的には、第2位置検出装置60は、たとえば移動体50に取り付けられてRTK-GNSSを構成するアンテナ61,62を含んでいる。なお、第2位置検出装置60は、RTK-GNSSに限定されず、たとえば、3軸加速度センサやジャイロセンサを含む構成であってもよい。
相対位置検出装置70は、たとえば移動体50に搭載され、移動体50と本体10との相対位置を検出する。相対位置検出装置70は、たとえば、単眼カメラやステレオカメラなどの撮像装置、またはLIDAR(Light Detection and Ranging)装置などの測距装置を用いることができる。なお、相対位置検出装置70による本体10の位置および姿勢の検出を容易にするために、本体10は、相対位置検出装置70によって検出される2以上のマーカーを有してもよい。具体的には、たとえば相対位置検出装置70がLIDAR装置である場合、マーカーとして、レーザを反射するプリズムやミラーを用いることができる。
図7に示す画像表示装置80は、たとえば本体10に搭載されている。より具体的には、画像表示装置80は、たとえば運転室11内のオペレータから視認可能な位置に配置されている。画像表示装置80は、たとえば、液晶表示装置や有機EL表示装置によって構成され、第1制御装置100からの制御信号に基づいて画像を表示するように構成されている。画像表示装置80は、たとえば、オペレータが情報を入力可能なタッチパネルなどの入力装置を含んでもよい。
給電装置91は、たとえば本体10に搭載され、ケーブル92を介して移動体50に電力を供給する。給電装置91は、たとえば、本体10に搭載された発電機またはバッテリーによって構成することができる。ケーブル92は、たとえば、給電装置91の出力端子と移動体50の電源端子に接続された給電線を有し、給電装置91から移動体50へ電力を供給する。ケーブル92は、たとえば、第1制御装置100の信号入出力部と第2制御装置200の信号入出力部とを接続する信号線を有している。
非常用電源93は、移動体50に搭載され、たとえばケーブル92の断線などの非常時に、移動体50の移動および制御に必要な電力を供給する。非常用電源93は、たとえば、リチウムイオン二次電池や全固体リチウムイオン二次電池などのバッテリーによって構成することができる。
第1制御装置100および第3制御装置300は、たとえば、本体10に搭載され、第2制御装置200は、たとえば、移動体50に搭載されている。第1制御装置100、第2制御装置200、および第3制御装置300は、それぞれ、たとえば制御装置および演算装置を含む中央処理装置、主記憶装置、補助記憶装置、これらに記憶されたプログラム、ならびに入出力端子などを備える。以下では、第1制御装置100を構成する中央処理装置を第1中央処理装置101、第2制御装置200を構成する中央処理装置を第2中央処理装置201、第3制御装置300を構成する中央処理装置を第3中央処理装置301と呼ぶ。
図3は、図1および図2に示す作業機械1の第1制御装置100、第2制御装置200、および第3制御装置300の機能ブロック図である。第1制御装置100は、たとえば、本体10の位置検出機能F11と、システムの状態管理機能F12と、本体10の位置・姿勢演算機能F13と、移動体50の移動指示機能F14とを有している。なお、たとえば、ハードウェアの制約などによって、第1制御装置100とは別の制御装置が位置検出機能F11を有し、第1制御装置100が位置検出機能F11を有しない場合もある。
第2制御装置200は、移動体50の状態管理機能F21と、移動体50の位置・姿勢演算機能F22と、移動体50と本体10との相対位置・姿勢演算機能F23と、移動体50の移動制御機能F24とを有している。第3制御装置300は、作業機械1の本体10、作業装置20、および走行装置30を制御する車体制御機能F31を有している。これらの各機能は、第1制御装置100、第2制御装置200、および第3制御装置300を構成する中央処理装置、記憶装置、プログラム等によって実現されている。
図4は、第1制御装置100と第2制御装置200による位置検出と位置推定のフロー図である。作業機械1は、第1位置検出装置40から第1制御装置100の位置検出機能F11に本体10の位置に関する信号S1が入力されると、第1制御装置100の位置検出機能F11および状態管理機能F12によって、第1位置検出装置40が正常であるか否かを判定する処理P1を行う。
処理P1では、第1制御装置100の位置検出機能F11は、たとえば第1中央処理装置101によって、第1位置検出装置40から入力された信号S1の状態を判定し、その判定結果を状態管理機能F12に出力する。状態管理機能F12は、たとえば、位置検出機能F11の出力である第1位置検出装置40の信号S1の状態と、第2制御装置200の状態管理機能F21の出力である移動体50の各部の状態とを入力情報とする。状態管理機能F12は、たとえばこれらの入力情報に基づいて、第1中央処理装置101によってシステム全体の状態を判定し、その判定結果を移動指示機能F14および第3制御装置300の車体制御機能F31へ出力する。
処理P1において、第1制御装置100の状態管理機能F12は、たとえば第1位置検出装置40の位置測定精度が所定の水準よりも低下しておらず、かつ、第1位置検出装置40の信号S1の状態が異常ではない場合、第1中央処理装置101によって、第1位置検出装置40は正常である(YES)と判定する。すると、その判定結果が入力された第1制御装置100の移動指示機能F14は、移動体50を停止させる処理P2を実行する。
より具体的には、処理P2において、図1に示すように、移動体50が本体10の上のホームポジションに位置していれば、移動指示機能F14は、第1中央処理装置101によって停止を維持する信号を第2制御装置200の移動制御機能F24に出力する。これにより、第2制御装置200の移動制御機能F24は、移動体50がホームポジションに位置し、移動体50が停止した状態を維持する。
一方、処理P2において、図2に示すように、移動体50が本体10から離れた位置に移動している場合には、第1制御装置100の移動指示機能F14は、移動体50を本体10の上のホームポジションに戻し、移動体50を停止させる指示を、第1中央処理装置101によって、第2制御装置200の移動制御機能F24へ出力する。これにより、第2制御装置200の移動制御機能F24は、第2中央処理装置201によって、移動体50のアクチュエータを制御し、移動体50を本体10の上のホームポジションに戻し、移動体50を停止させる。
次に、処理P3において、第1制御装置100の位置検出機能F11は、第1位置検出装置40から入力された信号S1に基づいて、第1中央処理装置101によって本体10の三次元の位置を演算し、算出した位置を第3制御装置300へ出力する。なお、第1位置検出装置40から第1制御装置100に本体10の二点以上の位置を含む信号が入力される場合、第1中央処理装置101は、本体10の三次元の位置および姿勢を演算し、これらの位置および姿勢を第3制御装置300へ出力してもよい。
このように、第1位置検出装置40が正常である場合、第3制御装置300は、本体10に搭載された第1位置検出装置40の信号に基づく本体10の位置および姿勢を用いて、本体10の旋回、作業装置20の駆動、および走行装置30による作業機械1の走行を制御する。
一方、処理P1において、第1制御装置100の状態管理機能F12は、たとえば第1位置検出装置40の位置測定精度が所定の水準よりも低下しており、または、第1位置検出装置40の信号S1の状態が異常である場合、第1中央処理装置101によって、第1位置検出装置40は正常ではない(NO)と判定する。すると、その判定結果が入力された第1制御装置100の移動指示機能F14は、第1中央処理装置101によって、第2制御装置200の移動制御機能F24へ、第1位置検出装置40の異常を通知する処理P4を実行する。
また、処理P4において、第1制御装置100の状態管理機能F12は、たとえば、第1位置検出装置40の異常を検出したときに、第1中央処理装置101によって、図7に示す画像表示装置80に、第1位置検出装置40の異常を通知する画像G1を表示させる。次に、第1制御装置100の移動指示機能F14は、第1中央処理装置101によって、代替測位を開始する処理P5を実施する指示を、第2制御装置200の移動制御機能F24へ出力する。
処理P5において、第2制御装置200の移動指示機能F14は、第2中央処理装置201によって、移動体50を起動させ、移動体50を本体10から離れた位置に移動させる。より具体的には、第2中央処理装置201は、たとえばドローンなどのUAVである移動体50を、本体10のホームポジションから離陸させて、本体10の上空に滞空させる。また、処理P5において、第2中央処理装置201は、第2位置検出装置60による移動体50の位置の検出が可能で、かつ、相対位置検出装置70による本体10と移動体50との相対位置の検出が可能な位置へ移動体50を移動させる。
より具体的には、処理P5において、移動体50に搭載された第2制御装置200の状態管理機能F21は、信号S2に基づき、第2中央処理装置201によって、第2位置検出装置60および相対位置検出装置70の計測状態が良好であるか否か判定する。ここで、信号S2は、移動体50に搭載された第2位置検出装置60および相対位置検出装置70の計測状態を含んでいる。さらに、状態管理機能F21は、第2中央処理装置201による計測状態の判定結果を、移動制御機能F24に出力する。状態管理機能F21は、第2中央処理装置201によって移動体50のアクチュエータを制御し、第2位置検出装置60と相対位置検出装置70の双方の計測状態が良好となる位置に移動体50を移動させる。
次に、第2制御装置200の状態管理機能F21は、代替測位が正常であるか否かを判定する処理P6を実施する。処理P6では、まず、移動体50に搭載された第2位置検出装置60の出力である移動体50の位置の信号S3が位置・姿勢演算機能F22に入力される。そして、第2中央処理装置201によって、信号S3に基づく移動体50の位置および姿勢が算出され、算出結果が状態管理機能F21に入力される。また、処理P6では、相対位置検出装置70の出力である信号S4が相対位置・姿勢演算機能F23に入力され、第2中央処理装置201によって、信号S4に基づく本体10と移動体50との相対位置、相対姿勢が算出され、算出結果が状態管理機能F21に入力される。
処理P6において、第2制御装置200の状態管理機能F21は、移動体50の各部から入力された信号S2に移動体50の各部の異常に関する情報が含まれておらず、移動体50の位置および姿勢、および、本体10と移動体50との相対位置、相対姿勢の計測状態が良好であれば、第2中央処理装置201によって、代替測位は正常である(YES)と判定し、代替測位を実施する処理P7へ進む。
処理P7において、第2制御装置200の位置・姿勢演算機能F22は、第2中央処理装置201によって算出した移動体50の位置および姿勢を、第1制御装置100の位置・姿勢演算機能F13へ出力する。また、第2制御装置200の相対位置・姿勢演算機能F23は、第2中央処理装置201によって算出した本体10と移動体50の相対位置および相対姿勢を、第1制御装置100の位置・姿勢演算機能F13へ出力する。
処理P7において、第1制御装置100の位置・姿勢演算機能F13は、第2制御装置200から入力された、移動体50の位置および姿勢、ならびに、本体10と移動体50の相対位置および相対姿勢に基づいて、第1中央処理装置101によって本体10の推定位置および推定姿勢を算出する。第1制御装置100は、位置・姿勢演算機能F13で算出した本体10の推定位置および推定姿勢を、第3制御装置300の車体制御機能F31へ出力する。
一方、処理P6において、第2制御装置200の状態管理機能F21は、移動体50の各部の異常の有無を含む信号S2に異常に関する情報が含まれているか、または、移動体50の位置および姿勢もしくは本体10と移動体50との相対位置、相対姿勢の計測状態が不良であれば、第2中央処理装置201によって、代替測位は正常ではない(NO)と判定し、第1制御装置100の位置・姿勢演算機能F13へ判定結果を出力して、代替測位を停止する処理P8へ進む。
処理P8において、第1制御装置100の位置・姿勢演算機能F13は、第1中央処理装置101により、代替測位が異常であることを示す信号を、移動指示機能F14へ出力する。第1制御装置100の移動指示機能F14は、第1中央処理装置101により、移動体50を停止させる指示を、第2制御装置200の移動制御機能F24へ出力する。第2制御装置200の移動制御機能F24は、第2中央処理装置201により、移動体50のアクチュエータを制御し、移動体50を図1に示す本体10の上のホームポジションに着陸させる。
次に、第1制御装置100の状態管理機能F12は、たとえば、第1中央処理装置101によって代替測位の異常を通知する処理P9を行う。具体的には、処理P9において、状態管理機能F12は、第1中央処理装置101により、たとえば図7に示す画像表示装置80に、代替測位が異常であることを示す画像G2を表示させる。
さらに図5を参照して、移動体50に搭載された第2制御装置200による代替測位をより詳細に説明する。図5は、図3に示す第2制御装置200による本体10の位置推定のフロー図である。
移動体50に搭載された第2制御装置200による本体10の代替測位では、まず、図5に示すように、第1制御装置100から第1位置検出装置40の異常を示す通知の有無を判定する処理P201が行われる。処理P201において、第2制御装置200の移動制御機能F24は、たとえば、第1制御装置100の移動指示機能F14から、第1位置検出装置40の異常を示す通知があるか否かを、第2中央処理装置201によって判定する。処理P201において、第1位置検出装置40の異常を示す通知がない場合(NO)、処理P202へ進む。
処理P202において、移動制御機能F24は、第2中央処理装置201によって、移動体50を停止させた状態を維持する。なお、処理P202において、移動体50が本体10から離れた位置に移動している場合、移動制御機能F24は、第2中央処理装置201によって、移動体50のアクチュエータを制御して、移動体50を本体10の上のホームポジションに移動させ、移動体50を停止させ、代替測位を終了する。
一方、処理P201において、第1位置検出装置40の異常を示す通知がある場合(YES)、処理P203へ進む。処理P203において、第2制御装置200の移動制御機能F24は、第2中央処理装置201によって、移動体50のアクチュエータを制御して、移動体50を本体10のホームポジションから離陸させ、本体10の上空に滞空させる。
このとき、移動制御機能F24は、第1制御装置100の移動指示機能F14からの指示、移動体50に搭載された第2位置検出装置60および相対位置検出装置70からの信号S3,S4に基づいて、第2中央処理装置201によって移動体50のアクチュエータを制御する。これにより、移動体50の滞空位置と姿勢が、第2中央処理装置201によって制御される。なお、第1制御装置100の移動指示機能F14からの指示である離陸直後の滞空位置、すなわち初期滞空位置は、たとえば、現場の状況に応じてオペレータが設定できるようにしてもよい。
次に、第2制御装置200の状態管理機能F21は、移動体50が正常であるか否かを判定する処理P204を行う。処理P204において、第2制御装置200の状態管理機能F21は、移動体50の各部の異常の有無を含む信号S2に基づいて、第2中央処理装置201により移動体50の各部の異常の有無を判定する。ここで、信号S2に含まれる異常の情報が、移動体50の飛行を継続不能にするものである場合、第2中央処理装置201は、移動体50が正常ではない(NO)と判定し、移動体50を停止させて異常を通知する処理P205へ進む。
処理P205において、第2制御装置200の移動制御機能F24は、第2中央処理装置201により、移動体50のアクチュエータを制御し、移動体50を図1に示す本体10の上のホームポジションに着陸させる。さらに、第1制御装置100の状態管理機能F12は、第2制御装置200の状態管理機能F21から入力された第2位置検出装置60の異常を示す判定結果に基づいて、第1中央処理装置101によって、図7に示す画像表示装置80に第2位置検出装置60の異常を示す画像G2を表示させる。
より具体的には、たとえば、処理P204において、第2制御装置200の状態管理機能F21にケーブル92の断線を示す信号S2が入力されると、第2中央処理装置201は、移動体50が正常ではない(NO)と判定する。そして、処理P205において、第2制御装置200の移動制御機能F24は、第2中央処理装置201により非常用電源93を用いて移動体50を移動させ、移動体50を図1に示す本体10の上のホームポジションに着陸させ、画像表示装置80に異常を通知する画像を表示させる。
一方、処理P204において、たとえば、信号S2に含まれる異常の情報が、移動体50の飛行を継続不能にするものでない場合、第2中央処理装置201は、移動体50が正常である(YES)と判定し、移動体50の位置を検出する処理P206へ進む。処理P206において、第2制御装置200の位置・姿勢演算機能F22は、第2位置検出装置60から入力された信号S3に基づいて、第2中央処理装置201によって移動体50の位置および姿勢を算出する。次に、第2制御装置200の状態管理機能F21は、第2中央処理装置201によって、第2位置検出装置60の計測状態が正常か否かを判定する処理P207を実行する。
処理P207において、第2制御装置200の状態管理機能F21は、位置・姿勢演算機能F22から入力された移動体50の位置および姿勢が正常であるか否かを、第2中央処理装置201によって判定する。処理P207において、第2位置検出装置60に異常あるか、または、第2位置検出装置60の計測精度が所定のレベルよりも低下している場合、第2中央処理装置201は、第2位置検出装置60の計測状態が正常ではない(NO)と判定し、異常の継続時間を計測する処理P208へ進む。
処理P208において、第2制御装置200の状態管理機能F21は、第2位置検出装置60の計測状態が正常ではない異常な状態の継続時間を、たとえば第2中央処理装置201によって計測し、計測した継続時間を時間のしきい値Tと比較する処理P209へ進む。処理P209において、状態管理機能F21は、第2中央処理装置201によって、異常の継続時間と時間のしきい値Tとを比較し、異常の継続時間がしきい値T以上(YES)であれば、移動体50を停止させて異常を通知する、前述の処理P205を実行する。一方、処理P209において、異常の継続時間がしきい値Tよりも小(NO)であれば、第2中央処理装置201は、図5に示すフローを終了し、再度、図5に示すフローを開始する。
また、処理P207において、第2位置検出装置60に異常がなく、かつ第2位置検出装置60の計測精度が所定のレベル以上である場合、第2中央処理装置201は、第2位置検出装置60の計測状態が正常である(YES)と判定し、相対位置を検出する処理P210へ進む。処理P210において、第2制御装置200の相対位置・姿勢演算機能F23は、相対位置検出装置70から入力された信号S4に基づいて、第2中央処理装置201によって、移動体50と本体10との相対位置および相対姿勢を算出して状態管理機能F21へ出力する。
次に、第2制御装置200の状態管理機能F21は、相対位置検出装置70の計測状態が正常であるか否かを判定する処理P211を実行する。処理P211において、状態管理機能F21は、相対位置検出装置70に異常があるか、または、相対位置検出装置70の計測精度が所定のレベルよりも低下している場合に、第2中央処理装置201によって相対位置検出装置70の計測状態は正常でない(NO)と判定し、異常な状態の継続時間を計測する前述の処理P208へ進む。
一方、処理P211において、位置・姿勢演算機能F22は、相対位置検出装置70に異常がなく、かつ、相対位置検出装置70の計測精度が所定のレベル以上である場合に、第2中央処理装置201によって相対位置検出装置70の計測状態は正常である(YES)と判定し、移動体50と本体10の相対位置および相対姿勢を送信する処理P212へ進む。処理P212において、第2制御装置200の相対位置・姿勢演算機能F23は、第2中央処理装置201によって、相対位置および相対姿勢を第1制御装置100の位置・姿勢演算機能F13へ出力し、通信が正常に行われたか否かを判定する処理P213へ進む。
処理P213において、状態管理機能F21は、第2中央処理装置201によって、第2制御装置200の相対位置・姿勢演算機能F23と、第1制御装置100の位置・姿勢演算機能F13との間の通信が正常に行われたか否かを判定する。第2中央処理装置201は、通信が正常でない(NO)場合、異常な状態の継続時間を計測する前述の処理P208へ進む。一方、第2中央処理装置201は、通信が正常(YES)であれば図5に示すフローを終了し、再度、図5に示すフローを開始する。
図6は、作業機械1の測位モードの遷移図である。図6において、通常測位モードM1は、本体10に搭載された第1位置検出装置40によって本体10の位置を測定する測位モードである。代替測位モードM2は、移動体50に搭載された第2位置検出装置60および相対位置検出装置70によって本体10の推定位置を算出する測位モードである。測位不可モードM3は、第1位置検出装置40、および、第2位置検出装置60または相対位置検出装置70に異常が発生し、本体10の位置が測定できない測位モードである。
作業機械1の測位モードは、起動時の初期モードが通常測位モードM1である。また、作業機械1の測位モードは、第1位置検出装置40に異常があるか、または第1位置検出装置40の位置測定精度が低下しているときに、代替測位モードM2に遷移する。また、代替測位モードM2において、第1位置検出装置40が正常でかつ位置測定精度が所定のレベル以上である場合、作業機械1の測位モードは、代替測位モードM2から通常測位モードM1へ遷移する。
また、作業機械1の測位モードは、上記代替測位モードM2への遷移条件を満たし、かつ、第2位置検出装置60または相対位置検出装置70に異常があるか、もしくはこれらの測定精度が所定のレベルよりも低下しているときに、通常測位モードM1から測位不可モードM3へ遷移する。さらに、作業機械1の測位モードが測位不可モードM3であり、第1位置検出装置40が正常でかつ位置測定精度が所定のレベル以上である場合、作業機械1の測位モードは測位不可モードM3から通常測位モードM1へ遷移する。
また、作業機械1の測位モードが測位不可モードM3であり、かつ上記代替測位モードM2への遷移条件を満たし、かつ第2位置検出装置60および相対位置検出装置70に異常がなく測定精度が所定のレベル以上である場合、作業機械1の測位モードは、測位不可モードM3から代替測位モードM2へ遷移する。図6に示す作業機械1の測位モードの遷移は、第1制御装置100の第1中央処理装置101および第2制御装置200の第2中央処理装置201によって自律的に実行され、オペレータによる操作を必要としない。
図7は、図1および図2に示す作業機械1の画像表示装置80の画像の一例を示す画像図である。第1中央処理装置101および第2中央処理装置201は、たとえば、図6に示す作業機械1の測位モードの遷移を、画像表示装置80に表示させてもよい。また、第1中央処理装置101および第2中央処理装置201は、前述のように、画像表示装置80に第1位置検出装置40の異常または精度低下を示す画像G1や、第2位置検出装置60または相対位置検出装置70の異常または精度低下を示す画像G2を表示させるようにしてもよい。
以下、従来の作業機械の制御システムと対比しつつ、本実施形態の作業機械1の作用を説明する。
従来の作業機械は、何らかの原因で三次元の位置情報を取得ができない場合、その時点で情報化施工による作業を行うことが不可能になる。特に、作業機械による掘削など施工中に作業機械の測位精度が低下した場合、施工の精度が低下するおそれがある。たとえば、前述の従来の作業機械の制御システムは、前記位置検出装置による測位が異常であっても、前記位置検出装置が前記第2のモードまたは前記第3のモードで動作することで、前記目標値生成部によって前記作業機の位置を求めることができる。しかしながら、前記従来の作業機械の制御システムは、前記位置検出装置による測位が異常である場合に、前記作業機械が滑るなどして静定状態にもかかわらず位置が変化したり、前記作業機械の旋回動作が所定の条件を超えたりした場合に、前記作業機械の正確な位置を出力することができないという課題がある。
これに対し、本実施形態の作業機械1は、前述のように、本体10と、その本体10に設けられた作業装置20と、本体10を走行させる走行装置30と、を備えている。また、作業機械1は、本体10に搭載された第1制御装置100と、本体10の位置を検出する第1位置検出装置40と、本体10と独立して移動可能な移動体50と、を備えている。さらに、作業機械1は、移動体50に搭載された第2制御装置200と、移動体50の位置を検出する第2位置検出装置60と、移動体50と本体10との相対位置を検出する相対位置検出装置70と、を備えている。第1制御装置100を構成する第1中央処理装置101は、第1位置検出装置40の異常を検出して第2制御装置200へ通知する。第2制御装置200を構成する第2中央処理装置201は、第1制御装置100から前記通知があったときに、移動体50を移動させ、第2位置検出装置60によって移動体50の位置を検出し、相対位置検出装置70によって本体10と移動体50との相対位置を検出する。第1中央処理装置101は、第1位置検出装置40の異常を検出した後に、移動体50の位置、および、移動体50と本体10との相対位置に基づいて、本体10の推定位置を算出する。
この構成により、本体10の位置を検出する第1位置検出装置40の異常時に、移動体50の第2位置検出装置60と、移動体50と本体10との相対位置を検出する相対位置検出装置70とにより、従来よりも正確に本体10の位置を推定可能な作業機械1を提供することができる。すなわち、作業機械1の本体10に設けられた第1位置検出装置40による測位精度が低下しても、作業機械1とは独立して移動可能な移動体50が、適切な位置に移動して、本体10の測位を続ける。これにより、第1位置検出装置40の測位精度が低下している間に、作業機械1が走行、旋回により移動しても、本体10の位置情報を用いた情報化施工の継続が可能になる。
また、本実施形態の作業機械1において、第1中央処理装置101は、たとえば、第1位置検出装置40の異常を検出した後、その異常が検出されなくなったときに、第1位置検出装置40によって検出した本体10の位置を用いて作業装置20および走行装置30を制御する。この構成により、第1位置検出装置40が異常から復帰したときに、作業機械1による情報化施工を停止することなく継続することが可能となる。
また、本実施形態の作業機械1は、たとえば、本体10に搭載された画像表示装置80を備えている。そして、第1中央処理装置101は、たとえば、第1位置検出装置40の異常を検出したときに、画像表示装置80に第1位置検出装置40の異常を通知する画像G1を表示させる。また、第2中央処理装置201は、たとえば、第2位置検出装置60の異常を検出したときに、画像表示装置80に第2位置検出装置60の異常を通知する画像G2を表示させる。この構成により、作業機械1を操作するオペレータは、作業機械1による作業中に、常時、第1位置検出装置40および第2位置検出装置60の状態を認識して、作業機械1による作業に反映することが可能になる。
また、本実施形態の作業機械1は、たとえば、本体10に搭載された給電装置91と、その給電装置91から移動体50へ電力を供給するケーブル92と、移動体50に搭載された非常用電源93とを備えている。第2中央処理装置201は、ケーブル92の断線を検出したときに、非常用電源93を用いて移動体50を移動させる。この構成により、作業機械1の稼働中、移動体50は、本体10に搭載された給電装置91から、常時、電力の供給を受けて継続的に稼働することができる。また、たとえば、ケーブル92の断線によって、給電装置91から移動体50への電力供給が途絶しても、非常用電源93によって移動体50を移動させ、移動体50と作業機械1の他の部分や施工対象との衝突を回避しつつ、移動体50を安全に停止させることが可能になる。
また、本実施形態の作業機械1において、第2中央処理装置201は、第1中央処理装置101から前記通知があったときに、第2位置検出装置60による移動体50の位置の検出が可能で、かつ、相対位置検出装置70による本体10と移動体50との相対位置の検出が可能な位置へ移動体50を移動させる。この構成により、第1位置検出装置40による本体10の測位が困難な環境においても、移動体50に搭載された第2位置検出装置60と相対位置検出装置70によって、本体10の位置を測位し続けることが可能となる。
また、本実施形態の作業機械1において、第2制御装置200の第2中央処理装置201は、たとえば、相対位置検出装置70によって、本体10上の異なる2点以上に対して、それぞれ、移動体50との相対位置を検出する。この構成により、第1中央処理装置101または第2中央処理装置201は、本体10上の異なる2点以上と、移動体50との相対位置に基づいて、本体10の三次元位置だけでなく、本体10の姿勢を検出することが可能になる。
また、本実施形態の作業機械1において、第2中央処理装置201は、たとえば、相対位置検出装置70によって、本体10の異なる2点以上の相対位置を検出する。そして、第1中央処理装置101は、第2位置検出装置60で検出された本体10の位置と、相対位置検出装置70で検出された移動体50と本体10の異なる2点以上との相対位置に基づいて、本体10および作業装置20の位置および姿勢を算出する。この構成により、作業機械1は、第1位置検出装置40による本体10の測位精度が低下した場合でも、従来よりも正確に作業機械1の本体10および作業装置20の位置および姿勢を推定し、より高精度に情報化施工を継続することができる。
また、本実施形態の作業機械1は、本体10に搭載されて作業装置20および走行装置30を制御する第3制御装置300を備えている。第3制御装置300を構成する第3中央処理装置301は、第2中央処理装置201が推定位置を算出したときに、その推定位置を用いて作業装置20および走行装置30を制御する。この構成により、作業機械1は、第1位置検出装置40による本体10の測位精度が低下した場合でも、自律的に走行および旋回を行って、従来よりも高精度に情報化施工を継続することができる。
以上、図面を用いて本開示に係る作業機械の実施形態を詳述してきたが、具体的な構成はこの実施形態に限定されるものではなく、本開示の要旨を逸脱しない範囲における設計変更等があっても、それらは本開示に含まれるものである。たとえば、本開示の作業機械は、バックホウ、ドラグショベルなどの油圧ショベルに限定されず、たとえばローダー、バックホウ・ローダー、ダンプトラックを含む。また、移動体は、UAVに限定されず、たとえば地上を走行する無人走行体であってもよい。また、移動体がバッテリーを備える場合、移動体と本体とを接続するケーブルは必ずしも必要ではなく、移動体と本体との間の通信は無線通信であってもよい。