本発明を実施するための形態(実施形態)につき、図面を参照しつつ詳細に説明する。
<作業機械の全体構成>
図1は、実施形態に係る作業機械の斜視図である。図2は、油圧ショベル100の油圧システム300と制御システム200との構成を示すブロック図である。作業機械としての油圧ショベル100は、本体部としての車両本体1と作業機2とを有する。車両本体1は、旋回体としての上部旋回体3と走行体としての走行装置5とを有する。上部旋回体3は、機関室3EGの内部に、動力発生装置としてのエンジン及び油圧ポンプ等の装置を収容している。機関室3EGは、上部旋回体3の一端側に配置されている。
実施形態において、油圧ショベル100は、動力発生装置としてのエンジンに、例えばディーゼルエンジン等の内燃機関が用いられるが、動力発生装置はこのようなものに限定されない。油圧ショベル100の動力発生装置は、例えば、内燃機関と発電電動機と蓄電装置とを組み合わせた、いわゆるハイブリッド方式の装置であってもよい。また、油圧ショベル100の動力発生装置は、内燃機関を有さず、蓄電装置と発電電動機とを組み合わせたものであってもよい。
上部旋回体3は、運転室4を有する。運転室4は、上部旋回体3の他端側に設置されている。すなわち、運転室4は、機関室3EGが配置されている側とは反対側に設置されている。運転室4内には、図2に示す、表示部29及び操作装置25が配置される。これらについては後述する。上部旋回体3の上方には、手すり9が取り付けられている。
走行装置5は、上部旋回体3を搭載する。走行装置5は、履帯5a、5bを有している。走行装置5は、左右に設けられた走行モータ5cの一方又は両方が駆動し、履帯5a、5bが回転することにより、油圧ショベル100を走行させる。作業機2は、上部旋回体3の運転室4の側方側に取り付けられている。
油圧ショベル100は、履帯5a、5bの代わりにタイヤを備え、エンジンの駆動力を、トランスミッションを介してタイヤへ伝達して走行が可能な走行装置を備えたものであってもよい。このような形態の油圧ショベル100としては、例えば、ホイール式油圧ショベルがある。また、油圧ショベル100は、このようなタイヤを有した走行装置を備え、さらに車両本体(本体部)に作業機が取り付けられ、図1に示すような上部旋回体3及びその旋回機構を備えていない構造を有する、例えばバックホウローダであってもよい。すなわち、バックホウローダは、車両本体に作業機が取り付けられ、車両本体の一部を構成する走行装置を備えたものである。
上部旋回体3は、作業機2及び運転室4が配置されている側が前であり、機関室3EGが配置されている側が後である(x方向)。前に向かって左側が上部旋回体3の左であり、前に向かって右側が上部旋回体3の右である。上部旋回体3の左右方向は、幅方向とも言う(y方向)。油圧ショベル100又は車両本体1は、上部旋回体3を基準として走行装置5側が下であり、走行装置5を基準として上部旋回体3側が上である(z方向)。油圧ショベル100が水平面に設置されている場合、下は鉛直方向、すなわち重力の作用方向側であり、上は鉛直方向とは反対側である。
作業機2は、ブーム6とアーム7と作業具としてのバケット8とブームシリンダ10とアームシリンダ11とバケットシリンダ12とを有する。ブーム6の基端部は、ブームピン13を介して車両本体1の前部に回動可能に取り付けられている。アーム7の基端部は、アームピン14を介してブーム6の先端部に回動可能に取り付けられている。アーム7の先端部には、バケットピン15を介してバケット8が取り付けられている。バケット8は、バケットピン15を中心として回動する。バケット8は、バケットピン15とは反対側に複数の刃8Bが取り付けられている。刃先8Tは、刃8Bの先端である。
バケット8は、複数の刃8Bを有していなくてもよい。つまり、図1に示すような刃8Bを有しておらず、刃先が鋼板によってストレート形状に形成されたようなバケットであってもよい。作業機2は、例えば、単数の刃を有するチルトバケットを備えていてもよい。チルトバケットとは、バケットチルトシリンダを備え、バケットが左右にチルト傾斜することで油圧ショベルが傾斜地にあっても、斜面、平地を自由な形に成形、整地をすることができ、底板プレートによる転圧作業もできるバケットである。この他にも、作業機2は、バケット8の代わりに、法面バケット又は削岩用のチップを備えた削岩用のアタッチメント等を備えていてもよい。
図1に示すブームシリンダ10とアームシリンダ11とバケットシリンダ12とは、それぞれ作動油の圧力(以下、適宜油圧という)によって駆動される油圧シリンダである。ブームシリンダ10はブーム6を駆動して、これを昇降させる。アームシリンダ11は、アーム7を駆動して、アームピン14の周りを回動させる。バケットシリンダ12は、バケット8を駆動して、バケットピン15の周りを回動させる。
ブームシリンダ10、アームシリンダ11及びバケットシリンダ12等の油圧シリンダと図2に示す油圧ポンプ36、37との間には、図2に示す方向制御弁64が設けられている。方向制御弁64は、油圧ポンプ36、37からブームシリンダ10、アームシリンダ11及びバケットシリンダ12等に供給される作動油の流量を制御するとともに、作動油が流れる方向を切り替える。方向制御弁64は、走行モータ5cを駆動するための走行用方向制御弁と、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12並びに上部旋回体3を旋回させる旋回モータを制御するための作業機用方向制御弁とを含む。
操作装置25から供給される、所定のパイロット圧力に調整された作動油が方向制御弁64のスプールを動作させると、方向制御弁64から流出する作動油の作動油の流量が調整されて、油圧ポンプ36、37からブームシリンダ10、アームシリンダ11、バケットシリンダ12、旋回モータ又は走行モータ5cに供給される作動油の流量が制御される。その結果、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12等の動作が制御される。
また、図2に示す作業機コントローラ26が、図2に示す制御弁27を制御することにより、操作装置25から方向制御弁64に供給される作動油のパイロット圧が制御されるので、方向制御弁64からブームシリンダ10、アームシリンダ11、バケットシリンダ12、旋回モータ又は走行モータ5cに供給される作動油の流量が制御される。その結果、作業機コントローラ26は、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12等の動作を制御することができる。
上部旋回体3の上部には、アンテナ21、22が取り付けられている。アンテナ21、22は、油圧ショベル100の現在位置を検出するために用いられる。アンテナ21、22は、図2に示す、油圧ショベル100の現在位置を検出するための位置検出部としての位置検出装置19と電気的に接続されている。位置検出装置19は、RTK−GNSS(Real Time Kinematic - Global Navigation Satellite Systems、GNSSは全地球航法衛星システムを言う)を利用して油圧ショベル100の現在位置を検出する。以下の説明において、アンテナ21、22を、適宜GNSSアンテナ21、22という。GNSSアンテナ21、22が受信したGNSS電波に応じた信号は、位置検出装置19に入力される。位置検出装置19は、GNSSアンテナ21、22の設置位置を検出する。位置検出装置19は、例えば、3次元位置センサを含む。
GNSSアンテナ21、22は、図1に示すように、上部旋回体3の上であって、油圧ショベル100の左右方向に離れた両端位置に設置されることが好ましい。実施形態において、GNSSアンテナ21、22は、上部旋回体3の幅方向両側にそれぞれ取り付けられた手すり9に取り付けられる。GNSSアンテナ21、22が上部旋回体3に取り付けられる位置は手すり9に限定されるものではないが、GNSSアンテナ21、22は、可能な限り離れた位置に設置される方が、油圧ショベル100の現在位置の検出精度は向上するので好ましい。また、GNSSアンテナ21、22は、オペレータの視界を極力妨げない位置に設置されることが好ましい。
図2に示すように、油圧ショベル100の油圧システム300は、動力発生源としてのエンジン35と油圧ポンプ36、37とを備える。油圧ポンプ36、37は、エンジン35によって駆動され、作動油を吐出する。油圧ポンプ36、37から吐出された作動油は、ブームシリンダ10とアームシリンダ11とバケットシリンダ12とに供給される。また、油圧ショベル100は、旋回モータ38を備える。旋回モータ38は、油圧モータであり、油圧ポンプ36、37から吐出された作動油によって駆動される。旋回モータ38は、上部旋回体3を旋回させる。なお、図2では、2つの油圧ポンプ36、37が図示されているが、1つの油圧ポンプのみが設けられてもよい。旋回モータ38は、油圧モータに限らず、電気モータであってもよい。
作業機械の制御システムとしての制御システム200は、位置検出装置19と、グローバル座標演算部23と、角速度及び加速度を検出する検出装置としてのIMU(Inertial Measurement Unit:慣性計測装置)24と、操作装置25と、作業機制御部としての作業機コントローラ26と、センサコントローラ39と、生成部としての表示コントローラ28と、表示部29とを含む。操作装置25は、図1に示す作業機2を操作するための装置である。操作装置25は、作業機2を駆動するためのオペレータによる操作を受け付けて、操作量に応じたパイロット油圧を出力する。
例えば、操作装置25は、オペレータの左側に設置される左操作レバー25Lと、オペレータの右側に配置される右操作レバー25Rと、を有する。左操作レバー25L及び右操作レバー25Rは、前後左右の動作が2軸の動作に対応されている。例えば、右操作レバー25Rの前後方向の操作は、ブーム6の操作に対応されている。右操作レバー25Rが前方へ操作されるとブーム6が下がり、後方へ操作されるとブーム6が上がる。前後方向の操作に応じてブーム6の下げ上げの動作が実行される。右操作レバー25Rの左右方向の操作は、バケット8の操作に対応されている。右操作レバー25Rが左側に操作されるとバケット8が掘削し、右側に操作されるとバケット8がダンプする。左右方向の操作に応じてバケット8の掘削又は開放動作が実行される。左操作レバー25Lの前後方向の操作は、アーム7の操作に対応されている。左操作レバー25Lが前方に操作されるとアーム7がダンプし、後方に操作されるとアーム7が掘削する。左操作レバー25Lの左右方向の操作は、上部旋回体3の旋回に対応されている。左操作レバー25Lが左側に操作されると左旋回し、右側に操作されると右旋回する。
本実施形態において、ブーム6の上げ動作は、ダンプ動作に相当する。ブーム6の下げ動作は、掘削動作に相当する。アーム7の掘削動作は、下げ動作に相当する。アーム7のダンプ動作は、上げ動作に相当する。バケット8の掘削動作は、下げ動作に相当する。バケット8のダンプ動作は、上げ動作に相当する。なお、アーム7の下げ動作を曲げ動作と称してもよい。アーム7の上げ動作を伸長動作と称してもよい。
本実施形態において、操作装置25は、パイロット油圧方式が用いられる。操作装置25には、油圧ポンプ36から、図示しない減圧弁によって所定のパイロット圧力に減圧された作動油がブーム操作、バケット操作、アーム操作及び旋回操作に基づいて供給される。
右操作レバー25Rの前後方向の操作に応じて、パイロット油路450へパイロット油圧が供給可能とされて、オペレータによるブーム6の操作が受け付けられる。右操作レバー25Rの操作量に応じて右操作レバー25Rが備える弁装置が開き、パイロット油路450へ作動油が供給される。また、圧力センサ66は、そのときのパイロット油路450内における作動油の圧力をパイロット圧として検出する。圧力センサ66は、検出したパイロット圧を、ブーム操作量MBとして作業機コントローラ26へ送信する。右操作レバー25Rの前後方向の操作量を、以下、適宜ブーム操作量MBと称する。操作装置25とブームシリンダ10との間のパイロット油路50には、圧力センサ68、制御弁(以下、適宜介入弁と称する)27C及びシャトル弁51が設けられる。介入弁27C及びシャトル弁51については後述する。
右操作レバー25Rの左右方向の操作に応じて、パイロット油路450へパイロット油圧が供給可能とされて、オペレータによるバケット8の操作が受け付けられる。右操作レバー25Rの操作量に応じて右操作レバー25Rが備える弁装置が開き、パイロット油路450に作動油が供給される。また、圧力センサ66は、そのときのパイロット油路450内における作動油の圧力をパイロット圧として検出する。圧力センサ66は、検出したパイロット圧を、バケット操作量MTとして作業機コントローラ26へ送信する。右操作レバー25Rの左右方向の操作量を、以下、適宜バケット操作量MTと称する。
左操作レバー25Lの前後方向の操作に応じて、パイロット油路450へパイロット油圧が供給可能とされて、オペレータによるアーム7の操作が受け付けられる。左操作レバー25Lの操作量に応じて左操作レバー25Lが備える弁装置が開き、パイロット油路450へ作動油が供給される。また、圧力センサ66は、そのときのパイロット油路450内における作動油の圧力をパイロット圧として検出する。圧力計66は、検出したパイロット圧を、アーム操作量MAとして作業機コントローラ26へ送信する。左操作レバー25Lの左右方向の操作量を、以下、適宜アーム操作量MAと称する。
左操作レバー25Lの左右方向の操作に応じて、パイロット油路450へパイロット油圧が供給可能とされて、オペレータによる上部旋回体3の旋回操作が受け付けられる。左操作レバー25Lの操作量に応じて左操作レバー25Lが備える弁装置が開き、パイロット油路450へ作動油が供給される。また、圧力センサ66は、そのときのパイロット油路450内における作動油の圧力をパイロット圧として検出する。圧力センサ66は、検出したパイロット圧を、旋回操作量MRとして作業機コントローラ26へ送信する。左操作レバー25Lの前後方向の操作量を、以下、適宜旋回操作量MRと称する。
右操作レバー25Rが操作されることにより、操作装置25は、右操作レバー25Rの操作量に応じた大きさのパイロット油圧を方向制御弁64に供給する。左操作レバー25Lが操作されることにより、操作装置25は、左操作レバー25Lの操作量に応じた大きさのパイロット油圧を制御弁27に供給する。このパイロット油圧によって、方向制御弁64のスプールが動作する。
パイロット油路450には、制御弁27が設けられている。右操作レバー25R及び左操作レバー25Lの操作量は、パイロット油路450に設置される圧力センサ66によって検出される。圧力センサ66が検出したパイロット油圧は、作業機コントローラ26に入力される。作業機コントローラ26は、入力されたパイロット油圧に応じた、パイロット油路450の制御信号Nを制御弁27に出力して、パイロット油路450を開閉する。
操作装置25は、走行用レバー25FL、25FRを有する。本実施形態において、操作装置25は、パイロット油圧方式が用いられるので、油圧ポンプ36から、減圧された作動油が方向制御弁64に供給され、パイロット油路450内の作動油の圧力に基づき方向制御弁のスプールが駆動される。すると、図示しない走行装置(油圧モータ)に油圧ポンプから供給され、走行可能となる。パイロット油路450内の作動油の圧力は、圧力計27PCによって検出される。
走行操作検出部25PL、25PRは、走行用レバー25FL、25FRの操作量に応じて、オペレータによる走行装置5の操作を受け付ける。オペレータによる走行装置5、具体的には履帯5a、5bの操作を受け付ける。走行用レバー25FL、25FRの踏み込み量は圧力センサ27PCで検出されて、作業機コントローラ26へ操作量MDとして出力される。
左操作レバー25L及び右操作レバー25Rの操作量が、例えば、ポテンショメータ及びホールIC等によって検出され、作業機コントローラ26は、これらの検出値に基づいて方向制御弁64及び制御弁27を制御することによって、作業機2を制御してもよい。このように、左操作レバー25L及び右操作レバー25Rは、電気方式であってもよい。旋回操作とアーム操作とは入れ替えられてもよい。この場合、左操作レバー25Lの左右方向における操作に応じてアーム7の伸長又は曲げ動作が実行され、左操作レバー25Lの前後方向における操作に応じて上部旋回体3の左右の旋回動作が実行される。
制御システム200は、第1ストロークセンサ16と第2ストロークセンサ17と第3ストロークセンサ18とを有する。例えば、第1ストロークセンサ16はブームシリンダ10に、第2ストロークセンサ17はアームシリンダ11に、第3ストロークセンサ18バケットシリンダ12に、それぞれ設けられる。第1ストロークセンサ16は、ブームシリンダ10のストローク長さ(以下、適宜ブームシリンダ長LS1と称する)を検出する。第1ストロークセンサ16は、ブームシリンダ10の伸長に対応する変位量を検出して、センサコントローラ39に出力する。センサコントローラ39は、第1ストロークセンサ16の変位量に対応するブームシリンダ10のシリンダ長LS1を算出する。センサコントローラ39は、第1ストロークセンサ16が検出したブームシリンダ長LS1から、油圧ショベル100のローカル座標系、具体的には車両本体1のローカル座標系における水平面と直交する方向(z軸方向)に対するブーム6の傾斜角θ1を算出して、作業機コントローラ26及び表示コントローラ28に出力する。
第2ストロークセンサ17は、アームシリンダ11のストローク長さ(以下、適宜アームシリンダ長LS2と称する)を検出する。第2ストロークセンサ17は、アームシリンダ11の伸長に対応する変位量を検出して、センサコントローラ39に出力する。センサコントローラ39は、第2ストロークセンサ17の変位量に対応するアームシリンダ11のシリンダ長LS2を算出する。
センサコントローラ39は、第2ストロークセンサ17が検出したアームシリンダ長LS2から、ブーム6に対するアーム7の傾斜角θ2を算出して、作業機コントローラ26及び表示コントローラ28に出力する。第3ストロークセンサ18は、バケットシリンダ12のストローク長さ(以下、適宜バケットシリンダ長LS3と称する)を検出する。第3ストロークセンサ18は、バケットシリンダ12の伸長に対応する変位量を検出して、センサコントローラ39に出力する。センサコントローラ39は、第3ストロークセンサ18の変位量に対応するバケットシリンダ12のシリンダ長LS2を算出する。
センサコントローラ39は、第3ストロークセンサ18が検出したバケットシリンダ長LS3から、アーム7に対するバケット8が有するバケット8の刃先8Tの傾斜角θ3を算出して、作業機コントローラ26及び表示コントローラ28に出力する。ブーム6、アーム7及びバケット8の傾斜角θ1、傾斜角θ2及び傾斜角θ3は、第1ストロークセンサ16等で計測する以外に、ブーム6に取り付けられてブーム6の傾斜角を計測するロータリーエンコーダと、アーム7に取り付けられてアーム7の傾斜角を計測するロータリーエンコーダと、バケット8に取り付けられてバケット8の傾斜角を計測するロータリーエンコーダとによって取得されてもよい。
作業機コントローラ26は、RAM(Random Access Memory)及びROM(Read Only Memory)等の記憶部26Mと、CPU(Central Processing Unit)等の処理部26Pとを有する。作業機コントローラ26は、図2に示す圧力センサ66の検出値に基づいて、制御弁27及び介入弁27Cを制御する。
図2に示す方向制御弁64は、例えば比例制御弁であり、操作装置25から供給される作動油によって制御される。方向制御弁64は、ブームシリンダ10、アームシリンダ11、バケットシリンダ12及び旋回モータ38等の油圧アクチュエータと、油圧ポンプ36、37との間に配置される。方向制御弁64は、油圧ポンプ36、37からブームシリンダ10、アームシリンダ11、バケットシリンダ12及び旋回モータ38に供給される作動油の流量を制御する。
制御システム200が備える位置検出装置19は、油圧ショベル100の位置を検出する。位置検出装置19は、前述したGNSSアンテナ21、22とを含む。GNSSアンテナ21、22で受信されたGNSS電波に応じた信号が、グローバル座標演算部23に入力される。GNSSアンテナ21は、自身の位置を示す基準位置データP1を測位衛星から受信する。GNSSアンテナ22は、自身の位置を示す基準位置データP2を測位衛星から受信する。GNSSアンテナ21、22は、例えば10Hz周期で基準位置データP1、P2を受信する。基準位置データP1、P2は、GNSSアンテナが設置されている位置の情報である。GNSSアンテナ21、22は、基準位置データP1、P2を受信する毎に、グローバル座標演算部23に出力する。
グローバル座標演算部23は、グローバル座標系で表される2つの基準位置データP1、P2(複数の基準位置データ)を取得する。グローバル座標演算部23は、2つの基準位置データP1、P2に基づいて、上部旋回体3の配置を示す旋回体配置データを生成する。本実施形態において、旋回体配置データには、2つの基準位置データP1、P2の一方の基準位置データPと、2つの基準位置データP1、P2に基づいて生成された旋回体方位データQとが含まれる。旋回体方位データQは、GNSSアンテナ21、22が取得した基準位置データPから決定される方位が、グローバル座標の基準方位(例えば北)に対してなす角に基づいて決定される。旋回体方位データQは、上部旋回体3、すなわち作業機2が向いている方位を示している。グローバル座標演算部23は、例えば10Hzの周波数でGNSSアンテナ21、22から2つの基準位置データP1、P2を取得する毎に、旋回体配置データ、すなわち基準位置データPと旋回体方位データQとを更新して、作業機コントローラ26及び表示コントローラ28に出力する。
IMU24は、上部旋回体3に取り付けられている。IMU24は、上部旋回体3の動作を示す動作データを検出する。IMU24が検出する動作データは、例えば、加速度及び角速度である。実施形態において、動作データは、図1に示す、上部旋回体3の旋回軸zを中心として上部旋回体3が旋回する旋回角速度ωである。旋回角速度ωは、例えば、IMU24が検出した上部旋回体3の旋回角度を時間で微分することにより求められる。上部旋回体3の旋回角度は、GNSSアンテナ21、22の位置情報から取得されてもよい。
図3Aは、油圧ショベル100の側面図である。図3Bは、油圧ショベル100の背面図である。IMU24は、図3A及び図3Bに示すように、車両本体1の左右方向に対する傾斜角θ4と、車両本体1の前後方向に対する傾斜角θ5と、加速度と、角速度とを検出する。IMU24は、例えば100Hzの周波数で旋回角速度ω、傾斜角θ4及び傾斜角θ5を更新する。IMU24における更新周期は、グローバル座標演算部23における更新周期よりも短いことが好ましい。IMU24が検出した旋回角速度ω、傾斜角θ5は、センサコントローラ39に出力される。センサコントローラ39は、旋回角速度ω、傾斜角θ4、傾斜角θ5に対してフィルタ処理等を施してから、作業機コントローラ26及び表示コントローラ28に出力する。
表示コントローラ28は、グローバル座標演算部23から旋回体配置データ(基準位置データP及び旋回体方位データQ)を取得する。本実施形態において、表示コントローラ28は、作業機位置データとして、バケット8の刃先8Tの3次元位置を示すバケット刃先位置データSを生成する。そして、表示コントローラ28は、バケット刃先位置データSと、後述する目標施工情報Tとを用いて、掘削対象の目標形状を示す目標掘削地形データUを生成する。表示コントローラ28は、目標掘削地形データUに基づく表示用の目標掘削地形データUaを導出し、表示用の目標掘削地形データUaに基づいて、表示部29に目標掘削地形43Iを表示させる。
表示部29は、例えば、液晶表示装置等であるが、これに限定されるものではない。実施形態においては、表示部29に隣接して、スイッチ29Sが設置されている。スイッチ29Sは、後述する掘削制御を実行させたり、実行中の掘削制御を停止させたりするための入力装置である。
作業機コントローラ26は、図1に示す旋回軸zを中心として上部旋回体3が旋回する旋回角速度ωを示す旋回角速度ωをセンサコントローラ39から取得する。また、作業機コントローラ26は、圧力センサ66からブーム操作信号MB、バケット操作信号MT、アーム操作信号MA及び旋回操作信号MRを取得する。作業機コントローラ26は、センサコントローラ39からブーム6の傾斜角度θ1、アーム7の傾斜角度θ2、バケット8の傾斜角度θ3を取得する。
作業機コントローラ26は、表示コントローラ28から、目標掘削地形データUを取得する。作業機コントローラ26は、センサコントローラ39から取得した作業機2の角度からバケット8の刃先8Tの位置(以下、適宜刃先位置と称する)を算出する。作業機コントローラ26は、目標掘削地形データUに沿ってバケット8の刃先8Tが移動するように、操作装置25から入力されたブーム操作量MB、バケット操作量MT及びアーム操作量MAを、目標掘削地形データUとバケット8の刃先8Tとの距離と速度に基づき調整する。作業機コントローラ26は、目標掘削地形データUに沿ってバケット8の刃先8Tが移動するように作業機2を制御するための制御信号Nを生成して、図2に示す制御弁27に出力する。このような処理により、作業機2が目標掘削地形データUに近づく速度は、目標掘削地形データUに対する距離に応じて制限される。
作業機コントローラ26からの制御信号Nに応じて、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12のそれぞれに対して2個ずつ設けられた制御弁27が開閉する。左操作レバー25L又は右操作レバー25Rの操作と制御弁27の開閉指令とに基づき、方向制御弁64のスプールが動作して、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12へ作動油が供給される。
グローバル座標演算部23は、グローバル座標系におけるGNSSアンテナ21、22の基準位置データP1、P2を検出する。グローバル座標系は、油圧ショベル100の作業エリアGDに設置された基準となる、例えば基準杭60の基準位置PGを基準とした、(X、Y、Z)で示される3次元座標系である。図3Aに示すように、基準位置PGは、例えば、作業エリアGDに設置された基準杭60の先端60Tに位置する。本実施形態において、グローバル座標系とは、例えば、GNSSにおける座標系である。
図2に示す表示コントローラ28は、位置検出装置19による検出結果に基づいて、グローバル座標系で見たときのローカル座標系の位置を算出する。ローカル座標系とは、油圧ショベル100を基準とした、(x、y、z)で示される3次元座標系である。本実施形態において、ローカル座標系の基準位置PLは、例えば、上部旋回体3が旋回するためのスイングサークル上に位置する。本実施形態において、例えば、作業機コントローラ26は、次のようにしてグローバル座標系で見たときのローカル座標系の位置を算出する。
センサコントローラ39は、第1ストロークセンサ16が検出したブームシリンダ長から、ローカル座標系における水平面と直交する方向(z軸方向)に対するブーム6の傾斜角θ1を算出する。作業機コントローラ26は、第2ストロークセンサ17が検出したアームシリンダ長から、ブーム6に対するアーム7の傾斜角θ2を算出する。作業機コントローラ26は、第3ストロークセンサ18が検出したバケットシリンダ長から、アーム7に対するバケット8の傾斜角θ3を算出する。
作業機コントローラ26の記憶部26Mは、作業機2のデータ(以下、適宜作業機データという)を記憶している。作業機データは、ブーム6の長さL1、アーム7の長さL2及びバケット8の長さL3を含む。図3Aに示すように、ブーム6の長さL1は、ブームピン13からアームピン14までの長さに相当する。アーム7の長さL2は、アームピン14からバケットピン15までの長さに相当する。バケット8の長さL3は、バケットピン15からバケット8の刃先8Tまでの長さに相当する。刃先8Tは、図1に示す刃8Bの先端である。また、作業機データは、ローカル座標系の基準位置PLに対するブームピン13までの位置情報を含む。
図4は、目標施工面の一例を示す模式図である。図4に示すように、油圧ショベル100が備える作業機2の掘削対象の掘削後における仕上がりの目標となる目標施工情報Tは、三角形ポリゴンによってそれぞれ表現される複数の目標施工面41を含む。図4では複数の目標施工面41のうち1つのみに符号41が付されており、他の目標施工面41の符号は省略されている。作業機コントローラ26は、バケット8が目標掘削地形43Iを侵食することを抑制するために、作業機2が掘削対象に接近する方向の速度が制限速度以下になるように制御する。この制御を、適宜掘削制御という。次に、作業機コントローラ26によって実行される掘削制御について説明する。
<掘削制御について>
図5は、作業機コントローラ26及び表示コントローラ28を示すブロック図である。図6は、表示部に表示される目標掘削地形43Iの一例を示す図である。図7は、目標速度と垂直速度成分と水平速度成分との関係を示す模式図である。図8は、垂直速度成分と水平速度成分との算出方法を示す図である。図9は、垂直速度成分と水平速度成分との算出方法を示す図である。図10は、刃先と目標掘削地形43Iとの間の距離を示す模式図である。図11は、制限速度情報の一例を示すグラフである。図12は、ブームの制限速度の垂直速度成分の算出方法を示す模式図である。図13は、ブームの制限速度の垂直速度成分とブームの制限速度との関係を示す模式図である。図14は、刃先の偏差量及び変位量を示す模式図である。
図4及び図5に示すように、表示コントローラ28は、目標掘削地形データUを生成して作業機コントローラ26に出力する。掘削制御は、例えば、油圧ショベル100のオペレータが、図2に示すスイッチ29Sを用いて掘削制御を実行することを選択した場合に実行される。掘削制御が実行されるにあたって、作業機コントローラ26は、ブーム操作量MB、アーム操作量MA及びバケット操作量MT並びに表示コントローラ28から取得した目標掘削地形データU及びセンサコントローラ39から取得した傾斜角度θ1、θ2、θ3を用いて、掘削制御に必要なブーム指令信号CBIを生成し、また必要に応じてアーム指令信号及びバケット指令信号を生成し、制御弁27及び介入弁27Cを駆動して作業機2を制御する。
まず、表示コントローラ28について説明する。表示コントローラ28は、目標施工情報格納部28Aと、バケット刃先位置データ生成部28Bと、目標掘削地形データ生成部28Cとエラー判定部28Dとを含む。目標施工情報格納部28Aは、作業エリアにおける目標形状を示す情報としての目標施工情報Tを格納している。目標施工情報Tは、掘削対象の目標形状を示す情報としての目標掘削地形データUを生成するために必要とされる座標データ及び角度データを含んでいる。目標施工情報Tは、複数の目標施工面41の位置情報を含む。掘削制御作業機コントローラ26が作業機2を制御したり、表示部29に目標掘削地形データUaを表示させたりするために必要な目標施工情報Tは、例えば、無線通信によって目標施工情報格納部28Aにダウンロードされる。また、必要な目標施工情報Tは、これを保存している端末装置を表示コントローラ28に接続して、目標施工情報格納部28Aにダウンロードされてもよいし、持ち出し可能な記憶装置をコントローラ28に接続して転送してもよい。
バケット刃先位置データ生成部28Bは、グローバル座標演算部23から取得する基準位置データP及び旋回体方位データQに基づいて、上部旋回体3の旋回軸zを通る油圧ショベル100の旋回中心の位置を示す旋回中心位置データXRを生成する。旋回中心位置データXRは、ローカル座標系の基準PLとxy座標が一致する。
バケット刃先位置データ生成部28Bは、旋回中心位置データXRと作業機2の傾斜角θ1、θ2、θ3とに基づいて、バケット8の刃先8Tの現在位置を示すバケット刃先位置データSを生成する。
バケット刃先位置データ生成部28Bは、前述したように、例えば10Hzの周波数で基準位置データPと旋回体方位データQとをグローバル座標演算部23から取得する。したがって、バケット刃先位置データ生成部28Bは、例えば10Hzの周波数でバケット刃先位置データSを更新することができる。バケット刃先位置データ生成部28Bは、更新したバケット刃先位置データSを目標掘削地形データ生成部28Cに出力する。
目標掘削地形データ生成部28Cは、目標施工情報格納部28Aに格納された目標施工情報Tと、バケット刃先位置データ生成部28Bからのバケット刃先位置データSと、を取得する。目標掘削地形データ生成部28Cは、ローカル座標系において刃先8Tの現時点における刃先位置P4を通る垂線と目標施工面41との交点を掘削対象位置44として設定する。掘削対象位置44は、バケット8の刃先位置P4の直下の点である。目標掘削地形データ生成部28Cは、目標施工情報Tとバケット刃先位置データSとに基づいて、図4に示すように、上部旋回体3の前後方向で規定され、かつ掘削対象位置44を通る作業機2の平面42と、複数の目標施工面41で表される目標施工情報Tとの交線43を、目標掘削地形43Iの候補線として取得する。掘削対象位置44は、候補線上の一点である。平面42は、作業機2が動作する平面(動作平面)である。
作業機2の動作平面は、ブーム6及びアーム7が油圧ショベル100のローカル座標系のz軸と平行な軸周りを回動しない場合、油圧ショベル100のxz平面と平行な平面である。ブーム6及びアーム7の少なくとも一方が油圧ショベル100のローカル座標系のz軸と平行な軸周りを回動する場合、作業機2の動作平面は、アームが回動する軸、すなわち図1に示すアームピン14の軸線と直交する平面である。以下において、作業機2の動作平面をアーム動作平面と称する。
目標掘削地形データ生成部28Cは、目標施工情報Tの掘削対象位置44の前後における単数又は複数の変曲点とその前後の線とを、掘削対象となる目標掘削地形43Iとして決定する。図4に示す例では、2個の変曲点Pv1、Pv2とその前後の線とが目標掘削地形43Iとして決定される。そして、目標掘削地形データ生成部28Cは、掘削対象位置44の前後における単数又は複数の変曲点の位置情報とその前後の線の角度情報とを、掘削対象の目標形状を示す情報である目標掘削地形データUとして生成する。本実施形態において、目標掘削地形43Iは線で規定しているが、例えばバケット8の幅等に基づき、面として規定されていてもよい。このようにして生成された目標掘削地形データUは、複数の目標施工面41の一部の情報を有している。目標掘削地形データ生成部28Cは、生成した目標掘削地形データUを作業機コントローラ26に出力する。本実施形態において、表示コントローラ28と作業機コントローラとは直接信号のやり取りをするが、例えば、CAN(Controller Area Network)のような車内信号線を介して信号をやり取りしてもよい。
本実施形態において、目標掘削地形データUは、作業機2が動作する動作平面としての平面42と、予め用意された少なくとも1つの目標施工面(第1の目標施工面)41とが交差する部分における情報である。平面42は、図3A、図3Bに示すローカル座標系(x、y、z)におけるxz平面である。平面42によって、複数の目標施工面41を切り出すことによって得られた目標掘削地形データUを、適宜前後方向目標掘削地形データUと称する。
表示コントローラ28は、必要に応じて、目標掘削地形データUに基づいて表示部29に目標掘削地形43Iを表示させる。表示用の情報としては、表示用の目標掘削地形データUaが用いられる。表示用の目標掘削地形データUaに基づき、例えば、図5に示すような、バケット8の掘削対象として設定された目標掘削地形43Iと刃先8Tとの位置関係を示す画像が、表示部29に表示される。表示コントローラ28は、表示用の目標掘削地形データUaに基づいて表示部29に目標掘削地形(表示用の目標掘削地形)43Iを表示する。作業機コントローラ26に出力された目標掘削地形データUは掘削制御に用いられる。掘削制御に用いられる目標掘削地形データUを、適宜作業用目標掘削地形データと称する。
目標掘削地形データ生成部28Cは、前述したように、例えば10Hzの周波数でバケット刃先位置データSをバケット刃先位置データ生成部28Bから取得する。したがって、目標掘削地形データ生成部28Cは、例えば10Hzの周波数で目標掘削地形データUを更新し、作業機コントローラ26に出力することができる。作業機コントローラ26は、目標掘削地形データ生成部28Cが目標掘削地形データUを生成する周期で、目標掘削地形データUを取得することができる。
エラー判定部28Dは、例えば、図1及び図2に示すGNSSアンテナ21、22が測位衛星から基準位置データP1、P2を受信できなくなった結果、基準位置データPをグローバル座標演算部23から取得できない場合に、エラー信号Jを作業機コントローラ26に出力する。エラー判定部28Dは、例えば、バケット刃先位置データ生成部28Bがバケット刃先位置データSを生成できなくなった結果、目標掘削地形データ生成部28Cが目標掘削地形データUを生成できなくなった場合等に、エラー信号Jを出力してもよい。また、エラー判定部28Dは、目標掘削地形データ生成部28Cが目標施工情報格納部28Aから目標施工情報Tを取得できない結果、目標掘削地形データUを生成できなくなった場合等に、エラー信号Jを出力してもよい。すなわち、エラー判定部28Dは、目標掘削地形データ生成部28Cが目標掘削地形データUを生成できなくなった場合等に、エラー信号Jを出力することができる。これは、例えば、掘削制御中に、作業機2、より具体的にはバケット8が目標施工面41から外れた場合が該当する。
掘削制御は、目標掘削地形43Iを導出する目標施工面41に対して行われるが、掘削制御中に、作業機2、より具体的にはバケット8が目標施工面41から外れた場合の処理について説明する。目標施工面41は現場単位で設定されるが、この設定は必ずしも簡易なものではないため、施工が必要となる一部の目標施工情報Tしか作成されないことがある。バケット8の刃先8Tが目標施工面41のない場所に移動した場合、表示コントローラ28は目標掘削地形43Iを無効値として取得し、出力する。作業機コントローラ26は、この場合には無効値となっている目標掘削地形43Iとバケット8の刃先8Tの下に存在する掘削対象位置44との距離を無限大として算出する。
掘削制御が実行されている目標掘削地形43Iとバケット8の刃先8Tとが近く、かつ(ブーム制限距離以内)ブーム6が介入する制御(以下、適宜ブーム介入制御と称する)の上昇動作が行われている場合、目標掘削地形43Iとバケット8の刃先8Tとの距離が大きくなるため、ブーム6の上昇動作が解除される。このとき、作業機コントローラ26は、ブーム6の上昇動作からブーム6の上昇動作の解除に徐々に移行するように、電磁弁27Eを徐々に閉じる。この処理をモジュレーション処理という。
目標掘削地形43Iとバケット8の刃先8Tとの距離が急激に増加すると、ブーム6が急激に下降するため、油圧ショベルのオペレータが予期しないショックが発生する可能性がある。モジュレーション処理は、このショックを解消することができる。モジュレーション処理が実行される条件の例外として、目標掘削地形43Iとバケット8の刃先8Tとの距離が、ブーム制限距離(後述する第1所定値dth1であり、例えば800mm)よりも大きい所定距離(例えば3000mm)以内である場合が挙げられる。この条件が成立すると、作業機コントローラ26は、モジュレーション処理を実行しない。例えば、オペレータが、段差の大きい地形で下方の地形に向かって作業機2を移動させ、掘削対象位置44が目標施工面41上に存在しない場合と同様に、ブーム介入制御が行われない状態になる。この場合、オペレータの意思に基づいて掘削制御から離脱する状態になる。この場合は、オペレータの意図なのでショックの発生は許容される。
GNSSアンテナ21、22が測位衛星から基準位置データP1、P2を受信できなくなった等の結果、目標掘削地形データ生成部28Cが目標掘削地形データUを生成できなくなった場合、表示コントローラ28は、初期化(イニシャライズ)作業を実行する。次に、作業機コントローラ26について説明する。
作業機コントローラ26は、目標速度決定部52と、距離取得部53と、制限速度決定部54と、作業機制御部57と、データ保持部58と、切替部59とを有する。作業機コントローラ26は、前述した前後方向目標掘削地形データUに基づく目標掘削地形43Iを用いて掘削制御を実行する。このように、本実施形態では、表示に用いられる目標掘削地形43Iと、掘削制御に用いられる目標掘削地形43Iとがある。前者を表示用目標掘削地形と称し、後者を掘削制御用目標掘削地形と称する。
本実施形態において、目標速度決定部52、距離取得部53、制限速度決定部54、作業機制御部57、データ保持部58及び切替部59の機能は、図2に示す処理部26Pが実現する。次に、作業機コントローラ26による掘削制御について説明する。この掘削制御は、作業機2の前後方向における掘削制御の例であるが、作業機2の幅方向においても掘削制御は可能である。
目標速度決定部52は、ブーム目標速度Vc_bmと、アーム目標速度Vc_amと、バケット目標速度Vc_bktとを決定する。ブーム目標速度Vc_bmは、ブームシリンダ10のみが駆動されるときの刃先8Tの速度である。アーム目標速度Vc_amは、アームシリンダ11のみが駆動されるときの刃先8Tの速度である。バケット目標速度Vc_bktは、バケットシリンダ12のみが駆動されるときの刃先8Tの速度である。ブーム目標速度Vc_bmは、ブーム操作量MBに応じて算出される。アーム目標速度Vc_amは、アーム操作量MAに応じて算出される。バケット目標速度Vc_bktは、バケット操作量MTに応じて算出される。
記憶部26Mは、ブーム操作量MBとブーム目標速度Vc_bmとの関係を規定する目標速度情報を記憶している。目標速度決定部52は、目標速度情報を参照することにより、ブーム操作量MBに対応するブーム目標速度Vc_bmを決定する。目標速度情報は、例えば、ブーム操作量MBに対するブーム目標速度Vc_bmの大きさが記述されたグラフである。目標速度情報は、テーブル又は数式等の形態でもよい。目標速度情報は、アーム操作量MAとアーム目標速度Vc_amとの関係を規定する情報を含む。目標速度情報は、バケット操作量MTとバケット目標速度Vc_bktとの関係を規定する情報を含む。目標速度決定部52は、目標速度情報を参照することにより、アーム操作量MAに対応するアーム目標速度Vc_amを決定する。目標速度決定部52は、目標速度情報を参照することにより、バケット操作量MTに対応するバケット目標速度Vc_bktを決定する。目標速度決定部52は、図7に示すように、ブーム目標速度Vc_bmを、目標掘削地形43I(目標掘削地形データU)に垂直な方向の速度成分(以下、適宜垂直速度成分と称する)Vcy_bm及び目標掘削地形43I(目標掘削地形データU)に平行な方向の速度成分(以下、適宜水平速度成分と称する)Vcx_bmに変換する。
例えば、まず、目標速度決定部52は、傾斜角θ5をセンサコントローラ39から取得し、グローバル座標系の垂直軸に対して目標掘削地形43Iと直交する方向における傾きとを求める。そして、目標速度決定部52は、これらの傾きからローカル座標系の垂直軸と目標掘削地形43Iに直交する方向との傾きを表す角度β2(図8参照)を求める。
次に、目標速度決定部52は、図8に示すように、ローカル座標系の垂直軸とブーム目標速度Vc_bmの方向とのなす角度β2とから、三角関数によりブーム目標速度Vc_bmをローカル座標系の垂直軸方向の速度成分VL1_bmと水平軸方向の速度成分VL2_bmとに変換する。そして、図9に示すように、目標速度決定部52は、前述したローカル座標系の垂直軸と目標掘削地形43Iに直交する方向との傾きβ1から、三角関数により、ローカル座標系の垂直軸方向における速度成分VL1_bmと水平軸方向における速度成分VL2_bmとを、前述した目標掘削地形43Iに対する垂直速度成分Vcy_bm及び水平速度成分Vcx_bmとに変換する。同様に、目標速度決定部52は、アーム目標速度Vc_amを、ローカル座標系の垂直軸方向における垂直速度成分Vcy_am及び水平速度成分Vcx_amに変換する。目標速度決定部52は、バケット目標速度Vc_bktを、ローカル座標系の垂直軸方向における垂直速度成分Vcy_bkt及び水平速度成分Vcx_bktに変換する。
距離取得部53は、図10に示すように、バケット8の刃先8Tと目標掘削地形43Iとの間の距離dを取得する。詳細には、距離取得部53は、前述したように取得した刃先8Tの位置情報及び目標掘削地形43Iの位置を示す目標掘削地形データU等から、バケット8の刃先8Tと目標掘削地形43Iとの間の最短となる距離dを算出する。本実施形態では、バケット8の刃先8Tと目標掘削地形43Iとの間の最短となる距離dに基づいて、掘削制御が実行される。
制限速度決定部54は、バケット8の刃先8Tと目標掘削地形43Iとの間の距離dに基づいて、図1に示す作業機2全体の制限速度Vcy_lmtを算出する。作業機2全体の制限速度Vcy_lmtは、バケット8の刃先8Tが目標掘削地形43Iに接近する方向において許容できる刃先8Tの移動速度である。図2に示す記憶部26Mは、距離dと制限速度Vcy_lmtとの関係を規定する制限速度情報を記憶している。
図11は、制限速度情報の一例を示している。図11中の横軸は距離d、縦軸は制限速度Vcyである。本実施形態において、刃先8Tが目標掘削地形43Iの外方、すなわち油圧ショベル100の作業機2側に位置しているときの距離dは正の値であり、刃先8Tが目標掘削地形43Iの内方、すなわち目標掘削地形43Iよりも掘削対象の内部側に位置しているときの距離dは負の値である。これは、例えば、図10に図示されるように、刃先8Tが目標掘削地形43Iの上方に位置しているときの距離dは正の値であり、刃先8Tが目標掘削地形43Iの下方に位置しているときの距離dは負の値であるとも言える。また、刃先8Tが目標掘削地形43Iに対して侵食しない位置にあるときの距離dは正の値であり、刃先8Tが目標掘削地形43Iに対して侵食する位置にあるときの距離dは負の値であるとも言える。刃先8Tが目標掘削地形43I上に位置しているとき、すなわち刃先8Tが目標掘削地形43Iと接しているときの距離dは0である。
本実施形態において、刃先8Tが目標掘削地形43Iの内方から外方に向かうときの速度を正の値とし、刃先8Tが目標掘削地形43Iの外方から内方に向かうときの速度を負の値とする。すなわち、刃先8Tが目標掘削地形43Iの上方に向かうときの速度を正の値とし、刃先8Tが下方に向かうときの速度を負の値とする。
制限速度情報において、距離dがd1とd2との間であるときの制限速度Vcy_lmtの傾きは、距離dがd1以上又はd2以下のときの傾きより小さい。d1は0より大きい。d2は0より小さい。目標掘削地形43I付近の操作においては制限速度をより詳細に設定するために、距離dがd1とd2との間であるときの傾きを、距離dがd1以上又はd2以下であるときの傾きよりも小さくする。距離dがd1以上のとき、制限速度Vcy_lmtは負の値であり、距離dが大きくなるほど制限速度Vcy_lmtは小さくなる。つまり、距離dがd1以上のとき、目標掘削地形43Iより上方において刃先8Tが目標掘削地形43Iから遠いほど、目標掘削地形43Iの下方へ向かう速度が大きくなり、制限速度Vcy_lmtの絶対値は大きくなる。距離dが0以下のとき、制限速度Vcy_lmtは正の値であり、距離dが小さくなるほど制限速度Vcy_lmtは大きくなる。つまり、バケット8の刃先8Tが目標掘削地形43Iから遠ざかる距離dが0以下のとき、目標掘削地形43Iより下方において刃先8Tが目標掘削地形43Iから遠いほど、目標掘削地形43Iの上方へ向かう速度が大きくなり、制限速度Vcy_lmtの絶対値は大きくなる。
距離dが第1所定値dth1以上では、制限速度Vcy_lmtは、Vminとなる。第1所定値dth1は正の値であり、d1より大きい。Vminは、目標速度の最小値よりも小さい。つまり、距離dが第1所定値dth1以上では、作業機2の動作の制限が行われない。したがって、刃先8Tが目標掘削地形43Iの上方において目標掘削地形43Iから大きく離れているときには、作業機2の動作の制限、すなわち掘削制御が行われない。距離dが第1所定値dth1より小さいときに、作業機2の動作の制限が行われる。詳細には、後述するように、距離dが第1所定値dth1より小さいときに、ブーム6の動作の制限が行われる。
制限速度決定部54は、作業機2全体の制限速度Vcy_lmtとアーム目標速度Vc_amとバケット目標速度Vc_bktとからブーム6の制限速度の垂直速度成分(以下、適宜ブーム6の制限垂直速度成分と称する)Vcy_bm_lmtを算出する。制限速度決定部54は、図12に示すように、作業機2全体の制限速度Vcy_lmtから、アーム目標速度の垂直速度成分Vcy_amと、バケット目標速度の垂直速度成分Vcy_bktとを減算することにより、ブーム6の制限垂直速度成分Vcy_bm_lmtを算出する。
制限速度決定部54は、図13に示すように、ブーム6の制限垂直速度成分Vcy_bm_lmtを、ブーム6の制限速度(ブーム制限速度)Vc_bm_lmtに変換する。制限速度決定部54は、前述したブーム6の傾斜角θ1、アーム7の傾斜角θ2、バケット8の傾斜角θ3、GNSSアンテナ21、22の基準位置データ及び目標掘削地形データU等から、目標掘削地形43Iに垂直な方向とブーム制限速度Vc_bm_lmtの方向との間の関係を求め、ブーム6の制限垂直速度成分Vcy_bm_lmtを、ブーム制限速度Vc_bm_lmtに変換する。この場合の演算は、前述したブーム目標速度Vc_bmから目標掘削地形43Iに垂直な方向の垂直速度成分Vcy_bmを求めた演算と逆の手順により行われる。
図2に示すシャトル弁51は、ブーム6の操作に基づいて生成されたパイロット圧力と、ブーム介入指令CBIに基づいて介入弁27Cが生成したパイロット圧力とのうち大きい方を選択して方向制御弁64に供給する。ブーム介入指令CBIに基づくパイロット圧力がブーム6の操作に基づいて生成されたパイロット圧力よりも大きい場合、ブーム介入指令CBIに基づくパイロット圧力によってブームシリンダ10に対応する方向制御弁64が動作する。その結果、ブーム制限速度Vc_bm_lmtに基づくブーム6の駆動が実現される。
作業機制御部57は、作業機2を制御する。作業機制御部57は、アーム指令信号とブーム指令信号とブーム介入指令CBIとバケット指令信号とを図2に示す制御弁27及び介入弁27Cに出力することによって、ブームシリンダ10とアームシリンダ11とバケットシリンダ12とを制御する。アーム指令信号とブーム指令信号とブーム介入指令CBIとバケット指令信号とは、それぞれブーム指令速度とアーム指令速度とバケット指令速度とに応じた電流値を有する。
ブーム6の上げ操作に基づいて生成されたパイロット圧力がブーム介入指令CBIに基づくパイロット圧力よりも大きい場合、シャトル弁51がレバー操作に基づくパイロット圧を選択する。ブーム6の操作に基づきシャトル弁51によって選択されたパイロット圧力によってブームシリンダ10に対応する方向制御弁64が動作する。すなわち、ブーム6は、ブーム目標速度Vc_bmに基づいて駆動されるので、ブーム制限速度Vc_bm_lmtに基づいては駆動されない。
ブーム6の操作に基づいて生成されたパイロット圧力がブーム介入指令CBIに基づくパイロット圧力よりも大きい場合、作業機制御部57は、ブーム目標速度Vc_bm、アーム目標速度Vc_am及びバケット目標速度Vc_bktのそれぞれを、ブーム指令速度、アーム指令速度及びバケット指令速度として選択する。作業機制御部57は、ブーム目標速度Vc_bm、アーム目標速度Vc_am及びバケット目標速度Vc_bktに応じてブームシリンダ10、アームシリンダ11及びバケットシリンダ12の速度(シリンダ速度)を決定する。そして、作業機制御部57は、決定したシリンダ速度に基づいて制御弁27を制御することにより、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12を動作させる。
このように、通常運転時において、作業機制御部57は、ブーム操作量MBとアーム操作量MAとバケット操作量MTとに応じて、ブームシリンダ10とアームシリンダ11とバケットシリンダ12とを動作させる。したがって、ブームシリンダ10はブーム目標速度Vc_bmで動作し、アームシリンダ11はアーム目標速度Vc_amで動作し、バケットシリンダ12はバケット目標速度Vc_bktで動作する。
ブーム介入指令CBIに基づくパイロット圧力がブーム6の操作に基づいて生成されたパイロット圧力よりも大きい場合、介入の指令に基づく介入弁27Cから出力されたパイロット圧をシャトル弁51が選択する。その結果、ブーム6は、ブーム制限速度Vc_bm_lmtで動作するとともに、アーム7は、アーム目標速度Vc_amで動作する。また、バケット8は、バケット目標速度Vc_bktで動作する。
前述したように、作業機2全体の制限速度Vcy_lmtから、アーム目標速度の垂直速度成分Vcy_amとバケット目標速度の垂直速度成分Vcy_bktとを減算することにより、ブーム6の制限垂直速度成分Vcy_bm_lmtが算出される。したがって、作業機2全体の制限速度Vcy_lmtが、アーム目標速度の垂直速度成分Vcy_amとバケット目標速度の垂直速度成分Vcy_bktとの和よりも小さいときには、ブーム6の制限垂直速度成分Vcy_bm_lmtは、ブームが上昇する負の値となる。
したがって、ブーム制限速度Vc_bm_lmtは、負の値となる。この場合、作業機制御部57は、ブーム6を下降させるが、ブーム目標速度Vc_bmよりも減速させる。このため、オペレータの違和感を小さく抑えながらバケット8が目標掘削地形43Iを侵食すること抑制することができる。
作業機2全体の制限速度Vcy_lmtが、アーム目標速度の垂直速度成分Vcy_amとバケット目標速度の垂直速度成分Vcy_bktとの和よりも大きいときには、ブーム6の制限垂直速度成分Vcy_bm_lmtは、正の値となる。したがって、ブーム制限速度Vc_bm_lmtは、正の値となる。この場合、操作装置25がブーム6を下降させる方向に操作されていても、図2に示す介入弁27Cからの指令信号に基づき、ブーム6が上昇する。このため、目標掘削地形43Iの侵食の拡大を迅速に抑えることができる。
刃先8Tが目標掘削地形43Iより上方に位置しているときには、刃先8Tが目標掘削地形43Iに近づくほど、ブーム6の制限垂直速度成分Vcy_bm_lmtの絶対値が小さくなるとともに、目標掘削地形43Iに平行な方向へのブーム6の制限速度の速度成分(以下、適宜制限水平速度成分と称する)Vcx_bm_lmtの絶対値も小さくなる。したがって、刃先8Tが目標掘削地形43Iより上方に位置しているときには、刃先8Tが目標掘削地形43Iに近づくほど、ブーム6の目標掘削地形43Iに垂直な方向への速度と、ブーム6の目標掘削地形43Iに平行な方向への速度とがともに減速される。油圧ショベルのオペレータによって左操作レバー25L及び右操作レバー25Rが同時に操作されることにより、ブーム6とアーム7とバケット8とが同時に動作する。このとき、ブーム6とアーム7とバケット8との各目標速度Vc_bm、Vc_am、Vc_bktが入力されたとして前述した制御を説明すると次の通りである。
図14は、目標掘削地形43Iとバケット8の刃先8Tとの間の距離dが第1所定値dth1より小さく、バケット8の刃先が位置Pn1から位置Pn2に移動する場合のブーム6の制限速度の変化の一例を示している。位置Pn2での刃先8Tと目標掘削地形43Iとの間の距離は、位置Pn1での刃先8Tと目標掘削地形43Iとの間の距離よりも小さい。このため、位置Pn2でのブーム6の制限垂直速度成分Vcy_bm_lmt2は、位置Pn1でのブーム6の制限垂直速度成分Vcy_bm_lmt1よりも小さい。したがって、位置Pn2でのブーム制限速度Vc_bm_lmt2は、位置Pn1でのブーム制限速度Vc_bm_lmt1よりも小さくなる。また、位置Pn2でのブーム6の制限水平速度成分Vcx_bm_lmt2は、位置Pn1でのブーム6の制限水平速度成分Vcx_bm_lmt1よりも小さくなる。ただし、このとき、アーム目標速度Vc_am及びバケット目標速度Vc_bktに対しては、制限は行われない。このため、アーム目標速度の垂直速度成分Vcy_am及び水平速度成分Vcx_amと、バケット目標速度の垂直速度成分Vcy_bkt及び水平速度成分Vcx_bktに対しては、制限は行われない。
前述したように、アーム7に対して制限を行わないことにより、オペレータの掘削意思に対応するアーム操作量の変化は、バケット8の刃先8Tの速度変化として反映される。このため、本実施形態は、目標掘削地形43Iの侵食の拡大を抑制しながらオペレータの掘削時の操作における違和感を抑えることができる。
図5に示すデータ保持部58は、表示コントローラ28の設計地形データ生成部28Cが出力した設計地形データUを、例えば100msec周期で取得し、1周期前の設計データUを保持する。データ保持部58は、例えば、1周期前の設計地形データU及び現在の設計地形データUを保持し、次の新たな設計地形データUを取得した時点で最も古い設計地形データUを順次消去することにより、一定の時間が経過した設計地形データUの保持を終了する。また、データ保持部58は、油圧ショベル100の走行又は作業機2の旋回があった場合には、保持していた設計地形データUを消去して設計地形データUの保持を終了する。データ保持部58は、例えば、図2に示す左操作レバー25Lの旋回操作量MR又は走行用レバー25FL、25FRの操作量MDに基づいて、油圧ショベル100の走行又は作業機2の旋回を判定する。
切替部59は、表示コントローラ28のエラー判定部28Dから出力されるエラー信号Jに応じて、設計地形データ生成部28Cの設計地形データU又はデータ保持部58に保持されている設計地形データUのいずれか一方を距離取得部53に出力する。実施形態において、切替部59は、エラー判定部28Dからエラー信号Jを取得した場合、データ保持部58に保持されている設計地形データUを距離取得部53に出力し、エラー判定部28Dからエラー信号Jを取得しない場合、設計地形データ生成部28Cから出力された設計地形データUを距離取得部53に出力する。
前述した作業機制御部57は、油圧ショベル100の走行又は作業機2の旋回があった場合には、領域制限掘削制御を終了する。この場合、作業機制御部57は、例えば、図2に示す左操作レバー25Lの旋回操作量MR又は走行用レバー25FL、25FRの操作量MDに基づいて、油圧ショベル100の走行又は作業機2の旋回を判定する。
刃先8Tの刃先位置P4は、GNSSに限らず、他の測位手段によって測位されもよい。したがって、刃先8Tと目標掘削地形43Iとの距離dは、GNSSに限らず、他の測位手段によって測位されてもよい。バケット制限速度の絶対値は、バケット目標速度の絶対値よりも小さい。バケット制限速度は、例えば前述したアーム制限速度と同様の手法で算出されてもよい。なお、アーム7の制限とともにバケット8の制限が行われてもよい。次に、図2に示す油圧システム300の詳細及び掘削制御時における油圧システム300の動作を説明する。
図15は、油圧ショベル100が備える油圧システム300の詳細な構造を示す図である。図15に示すように、油圧システム300は、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12を含む油圧シリンダ60を備える。油圧シリンダ60は、図2に示す油圧ポンプ36、37から供給された作動油によって作動する。
本実施形態においては、作動油が流れる方向を制御する方向制御弁64が設けられる。方向制御弁64は、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12のそれぞれに配置される。以下において、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12を区別しないときには、油圧シリンダ60と称する。方向制御弁64は、ロッド状のスプール64Sを動かして作動油が流れる方向を切り替えるスプール方式である。スプール64Sは、図2に示す操作装置25から供給された作動油パイロット油により移動する。方向制御弁64は、スプールの移動により油圧シリンダ60に作動油(以下、適宜パイロット油と称する)を供給して油圧シリンダ60を動作させる。
図2に示す油圧ポンプ36、37から供給された作動油は、方向制御弁64を介して、油圧シリンダ60に供給される。スプール64Sが軸方向に移動することにより、油圧シリンダ60のキャップ側油室48Rに対する作動油の供給と、ロッド側油室47Rに対する作動油の供給とが切り替わる。また、スプール64Sが軸方向に移動することにより、油圧シリンダ60に対する作動油の供給量(単位時間当たりの供給量)が調整される。油圧シリンダ60に対する作動油の供給量が調整されることにより、油圧シリンダ60のシリンダ速度が調整される。後述するブームシリンダ10に作動油を供給する方向制御弁640及びアームシリンダ11に作動油を供給する方向制御弁641には、スプール64Sの移動量(移動距離)を検出するスプールストロークセンサ65が設けられている。
方向制御弁64の動作は、操作装置25によって調整される。油圧ポンプ36から送出され、減圧弁によって減圧された作動油がパイロット油として操作装置25に供給される。油圧ポンプ36とは異なるパイロット油圧ポンプから送出されたパイロット油が操作装置25に供給されてもよい。操作装置25は、各操作レバーの操作に基づいて、パイロット油圧が調整される。そのパイロット油圧によって、方向制御弁64が駆動される。操作装置25によりパイロット油圧が調整されることによって、軸方向に関するスプール64Sの移動量が調整される。
方向制御弁64は、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12のそれぞれに設けられる。以下の説明において、ブームシリンダ10に接続される方向制御弁64を適宜、方向制御弁640、と称する。アームシリンダ11に接続される方向制御弁64を適宜、方向制御弁641、と称する。バケットシリンダ12に接続される方向制御弁64を適宜、方向制御弁642、と称する。
操作装置25と方向制御弁64とは、パイロット油路450を介して接続される。方向制御弁64のスプール64Sを移動するためのパイロット油は、パイロット油路450を流れる。本実施形態において、パイロット油路450に、制御弁27、圧力センサ66及び圧力センサ67が配置されている。
方向制御弁64に、パイロット油路450が接続される。パイロット油路450を介して、パイロット油が方向制御弁64に供給される。方向制御弁64は、第1受圧室及び第2受圧室を有する。パイロット油路450は、第1受圧室と第2受圧室とに接続される。後述するパイロット油路4520B、4521B、4522Bを介して方向制御弁64の第1受圧室にパイロット油が供給されると、そのパイロット油圧に応じてスプール64Sが移動し、方向制御弁64を介して油圧シリンダ60のキャップ側油室48Rに作動油が供給される。キャップ側油圧室48Rに対する作動油の供給量は、操作装置25の操作量(スプール64Sの移動量)により調整される。
後述するパイロット油路4520A、4521A、4522Aを介して方向制御弁64の第2受圧室にパイロット油が供給されると、そのパイロット油圧に応じてスプールが移動し、方向制御弁64を介して油圧シリンダ60のロッド側油室47Rに作動油が供給される。ロッド側油圧室47Rに対する作動油の供給量は、操作装置25の操作量(スプール64Sの移動量)により調整される。
すなわち、操作装置25によりパイロット油圧が調整されたパイロット油が方向制御弁64に供給されることにより、スプール64Sは軸方向に関して一方側に移動する。操作装置25によりパイロット油圧が調整されたパイロット油が方向制御弁64に供給されることにより、スプール64Sは軸方向に関して他方側に移動する。その結果、軸方向に関するスプール64Sの位置が調整される。
以下の説明において、ブームシリンダ10に対して作動油を供給する方向制御弁640に接続されるパイロット油路450を適宜、ブーム調整用油路4520A、4520B、と称する。アームシリンダ11に対する作動油の供給を行う方向制御弁641に接続されるパイロット油路450を適宜、アーム調整用油路4521A、4521B、と称する。バケットシリンダ12に対する作動油の供給を行う方向制御弁642に接続されるパイロット油路450を適宜、バケット調整用油路4522A、4522B、と称する。
以下の説明において、ブーム調整用油路4520Aに接続されるパイロット油路450を適宜、ブーム操作用油路4510A、と称し、ブーム調整用油路4520Bに接続されるパイロット油路450を適宜、ブーム操作用油路4510B、と称する。アーム調整用油路4521Aに接続されるパイロット油路450を適宜、アーム操作用油路4511A、と称し、アーム調整用油路4521Bに接続されるパイロット油路450を適宜、アーム操作用油路4511B、と称する。バケット調整用油路4522Aに接続されるパイロット油路450を適宜、バケット操作用油路4512A、と称し、バケット調整用油路4522Bに接続されるパイロット油路450を適宜、バケット操作用油路4512B、と称する。
ブーム操作用油路(4510A、4510B)及びブーム調整用油路(4520A、4520B)は、パイロット油圧方式の操作装置25と接続される。ブーム操作用油路(4510A、4510B)に、操作装置25の操作量に応じて圧力が調整されたパイロット油が流れる。アーム操作用油路(4511A、4511B)及びアーム調整用油路(4521A、4521B)は、パイロット油圧方式の操作装置25と接続される。アーム操作用油路(4511A、4511B)に、操作装置25の操作量に応じて圧力が調整されたパイロット油が流れる。バケット操作用油路(4512A、4512B)及びバケット調整用油路(4522A、4522B)は、パイロット油圧方式の操作装置25と接続される。バケット操作用油路(4512A、4512B)に、操作装置25の操作量に応じて圧力が調整されたパイロット油が流れる。
ブーム操作用油路4510A、ブーム操作用油路4510B、ブーム調整用油路4520A及びブーム調整用油路4520Bは、ブーム6を動作させるためのパイロット油が流れるブーム用油路である。アーム操作用油路4511A、アーム操作用油路4511B、アーム調整用油路4521A及びアーム調整用油路4521Bは、アーム7を動作させるためのパイロット油が流れるアーム用油路である。バケット操作用油路4512A、バケット操作用油路4512B、バケット調整用油路4522A及びバケット調整用油路4522Bは、バケット8を動作させるためのパイロット油が流れるバケット用油路である。
前述したように、操作装置25の操作により、ブーム6は、下げ動作及び上げ動作の2種類の動作を実行する。ブーム6の下げ動作が実行されるように操作装置25が操作されることにより、ブームシリンダ10に接続された方向制御弁640に、ブーム操作用油路4510A及びブーム調整用油路4520Aを介して、パイロット油が供給される。方向制御弁640はパイロット油圧に基づいて作動する。その結果、油圧ポンプ36、37からの作動油がブームシリンダ10に供給され、ブーム6の下げ動作が実行される。
ブーム6の上げ動作が実行されるように操作装置25が操作されることにより、ブームシリンダ10に接続された方向制御弁640に、ブーム操作用油路4510B及びブーム調整用油路4520Bを介して、パイロット油が供給される。方向制御弁640はパイロット油圧に基づいて作動する。その結果、油圧ポンプ36、37からの作動油がブームシリンダ10に供給され、ブーム6の上げ動作が実行される。
すなわち、本実施形態において、ブーム操作用油路4510A及びブーム調整用油路4520Aは、方向制御弁640の第2受圧室と接続され、ブーム6を下げ動作させるためのパイロット油が流れるブーム下げ用油路である。ブーム操作用油路4510B及びブーム調整用油路4520Bは、方向制御弁640の第1受圧室と接続され、ブーム6を上げ動作させるためのパイロット油が流れるブーム上げ用油路である。
また、操作装置25の操作により、アーム7は、下げ動作及び上げ動作の2種類の動作を実行する。アーム7の上げ動作が実行されるように操作装置25が操作されることにより、アームシリンダ11に接続された方向制御弁641に、アーム操作用油路4511A及びアーム調整用油路4521Aを介して、パイロット油が供給される。方向制御弁641はパイロット油圧に基づいて作動する。その結果、油圧ポンプ36、37からの作動油がアームシリンダ11に供給され、アーム7の上げ動作が実行される。
アーム7の下げ動作が実行されるように操作装置25が操作されることにより、アームシリンダ11に接続された方向制御弁641に、アーム操作用油路4511B及びアーム調整用油路4521Bを介して、パイロット油が供給される。方向制御弁641はパイロット油圧に基づいて作動する。その結果、油圧ポンプ36、37からの作動油がアームシリンダ11に供給され、アーム7の下げ動作が実行される。
すなわち、本実施形態において、アーム操作用油路4511A及びアーム調整用油路4521Aは、方向制御弁641の第2受圧室と接続され、アーム7を上げ動作させるためのパイロット油が流れるアーム上げ用油路である。アーム操作用油路4511B及びアーム調整用油路4521Bは、方向制御弁641の第1受圧室と接続され、アーム7を下げ動作させるためのパイロット油が流れるアーム下げ用油路である。
操作装置25の操作により、バケット8は、下げ動作及び上げ動作の2種類の動作を実行する。バケット8の上げ動作が実行されるように操作装置25が操作されることにより、バケットシリンダ12に接続された方向制御弁642に、バケット操作用油路4512A及びバケット調整用油路4522Aを介して、パイロット油が供給される。方向制御弁642はパイロット油圧に基づいて作動する。その結果、油圧ポンプ36、37からの作動油がバケットシリンダ12に供給され、バケット8の上げ動作が実行される。
バケット8の下げ動作が実行されるように操作装置25が操作されることにより、バケットシリンダ12に接続された方向制御弁642に、バケット操作用油路4512B及びバケット調整用油路4522Bを介して、パイロット油が供給される。方向制御弁642はパイロット油圧に基づいて作動する。その結果、油圧ポンプ36、37からの作動油がバケットシリンダ12に供給され、バケット8の下げ動作が実行される。
すなわち、本実施形態において、バケット操作用油路4512A及びバケット調整用油路4522Aは、方向制御弁642の第2受圧室と接続され、バケット8を上げ動作させるためのパイロット油が流れるバケット上げ用油路である。バケット操作用油路4512B及びバケット調整用油路4522Bは、方向制御弁642の第1受圧室と接続され、バケット8を下げ動作させるためのパイロット油が流れるバケット下げ用油路である。
制御弁27は、作業機コントローラ26からの制御信号(電流)に基づいて、パイロット油圧を調整する。制御弁27は、例えば、電磁比例制御弁であり、作業機コントローラ26からの制御信号に基づいて制御される。制御弁27は、制御弁27Aと、制御弁27Bとを含む。制御弁27Bは、方向制御弁64の第1受圧室に供給されるパイロット油のパイロット油圧を調整して、方向制御弁64を介して油圧シリンダ60のキャップ側油室48Rに供給される作動油の量を調整する。制御弁27Aは、方向制御弁64の第2受圧室に供給されるパイロット油のパイロット油圧を調整して、方向制御弁64を介して油圧シリンダ60のロッド側油室47Rに供給される作動油の量を調整する。
制御弁27の両側に、パイロット油圧を検出する圧力センサ66及び圧力センサ67が設けられる。本実施形態において、圧力センサ66は、パイロット油路451において操作装置25と制御弁27との間に配置される。圧力センサ67は、パイロット油路452において制御弁27と方向制御弁64との間に配置される。圧力センサ66は、制御弁27によって調整される前のパイロット油圧を検出可能である。圧力センサ67は、制御弁27によって調整されたパイロット油圧を検出可能である。圧力センサ66は、操作装置25の操作によって調整されるパイロット油圧を検出可能である。圧力センサ66及び圧力センサ67の検出結果は、作業機コントローラ26に出力される。
以下の説明において、ブームシリンダ10に対する作動油の供給を行う方向制御弁640に対するパイロット油圧を調整可能な制御弁27を適宜、ブーム用減圧弁270A、270B、と称する。ブーム用減圧弁270A、270Bは、ブーム操作用油路に配置される。以下の説明において、アームシリンダ11に対する作動油の供給を行う方向制御弁641に対するパイロット油圧を調整可能な制御弁27を適宜、アーム用減圧弁271A、271B、と称する。アーム用減圧弁271A、271Bは、アーム操作用油路に配置される。以下の説明において、バケットシリンダ12に対する作動油の供給を行う方向制御弁642に対するパイロット油圧を調整可能な制御弁27を適宜、バケット用減圧弁272、と称する。バケット用減圧弁272A、272Bは、バケット操作用油路に配置される。
以下の説明において、ブームシリンダ10に対する作動油の供給を行う方向制御弁640に接続されるパイロット油路451のパイロット油圧を検出する圧力センサ66を適宜、ブーム用圧力センサ660B、と称し、方向制御弁640に接続されるパイロット油路452のパイロット油圧を検出する圧力センサ67を適宜、ブーム用圧力センサ670A、と称する。
また、以下の説明において、ブーム操作用油路4510Aに配置されるブーム用圧力センサ660を適宜、ブーム用圧力センサ660A、と称し、ブーム操作用油路4510Bに配置されるブーム用圧力センサ660を適宜、ブーム用圧力センサ660B、と称する。また、ブーム調整用油路4520Aに配置されるブーム用圧力センサ670を適宜、ブーム用圧力センサ670A、と称し、ブーム調整用油路4520Bに配置されるブーム用圧力センサ670を適宜、ブーム用圧力センサ670B、と称する。
以下の説明において、アームシリンダ11に対する作動油の供給を行う方向制御弁641に接続されるパイロット油路451のパイロット油圧を検出する圧力センサ66を適宜、アーム用圧力センサ661、と称し、方向制御弁641に接続されるパイロット油路452のパイロット油圧を検出する圧力センサ67を適宜、アーム用圧力センサ671、と称する。
また、以下の説明において、アーム操作用油路4511Aに配置されるアーム用圧力センサ661を適宜、アーム用圧力センサ661A、と称し、アーム操作用油路4511Bに配置されるアーム用圧力センサ661を適宜、アーム用圧力センサ661B、と称する。また、アーム調整用油路4521Aに配置されるアーム用圧力センサ671を適宜、アーム用圧力センサ671A、と称し、アーム調整用油路4521Bに配置されるアーム用圧力センサ671を適宜、アーム用圧力センサ671B、と称する。
以下の説明において、バケットシリンダ12に対する作動油の供給を行う方向制御弁642に接続されるパイロット油路451のパイロット油圧を検出する圧力センサ66を適宜、バケット用圧力センサ662、と称し、方向制御弁642に接続されるパイロット油路452のパイロット油圧を検出する圧力センサ67を適宜、バケット用圧力センサ672、と称する。
また、以下の説明において、バケット操作用油路4512Aに配置されるバケット用圧力センサ661を適宜、バケット用圧力センサ661A、と称し、バケット操作用油路4512Bに配置されるバケット用圧力センサ661を適宜、バケット用圧力センサ661B、と称する。また、バケット調整用油路4522Aに配置されるバケット用圧力センサ672を適宜、バケット用圧力センサ672A、と称し、バケット調整用油路4522Bに配置されるバケット用圧力センサ672を適宜、バケット用圧力センサ672B、と称する。
掘削制御を実行しない場合、作業機コントローラ26は、制御弁27を制御して、パイロット油路450を開ける(全開にする)。パイロット油路450が開くことにより、パイロット油路451のパイロット油圧とパイロット油路452のパイロット油圧とは等しくなる。制御弁27によりパイロット油路450が開いた状態で、パイロット油圧は、操作装置25の操作量に基づいて調整される。
制御弁27によりパイロット油路450が全開したとき、圧力センサ66に作用するパイロット油圧と圧力センサ67に作用するパイロット油圧とは等しい。制御弁27の開度が小さくなることによって、圧力センサ66に作用するパイロット油圧と圧力センサ67に作用するパイロット油圧とは異なる。
掘削制御等のように、作業機2が作業機コントローラ26によって制御される場合、作業機コントローラ26は、制御弁27に制御信号を出力する。パイロット油路451は、例えばパイロットリリーフ弁の作用により所定の圧力(パイロット油圧)を有する。作業機コントローラ26から制御弁27に制御信号が出力されると、制御弁27は、その制御信号に基づいて作動する。パイロット油路451のパイロット油は、制御弁27を介して、パイロット油路452に供給される。パイロット油路452のパイロット油圧は、制御弁27により調整(減圧)される。パイロット油路452のパイロット油圧が、方向制御弁64に作用する。これにより、方向制御弁64は、制御弁27で制御されたパイロット油圧に基づいて作動する。本実施形態において、圧力センサ66は、制御弁27によって調整される前のパイロット油圧を検出する。圧力センサ67は、制御弁27によって調整された後のパイロット油圧を検出する。
減圧弁27Aにより圧力が調整されたパイロット油が方向制御弁64に供給されることにより、スプール64Sは軸方向に関して一側に移動する。減圧弁27Bにより圧力が調整されたパイロット油が方向制御弁64に供給されることにより、スプール64Sは軸方向に関して他側に移動する。その結果、軸方向に関するスプール64Sの位置が調整される。
例えば、作業機コントローラ26は、ブーム用減圧弁270A及びブーム用減圧弁270Bの少なくとも一方に制御信号を出力して、ブームシリンダ10に接続された方向制御弁640に対するパイロット油圧を調整することができる。
また、作業機コントローラ26は、アーム用減圧弁271A及びアーム用減圧弁271Bの少なくとも一方に制御信号を出力して、アームシリンダ11に接続された方向制御弁641に対するパイロット油圧を調整することができる。
また、作業機コントローラ26は、バケット用減圧弁272A及びバケット用減圧弁272Bの少なくとも一方に制御信号を出力して、バケットシリンダ12に接続された方向制御弁642に対するパイロット油圧を調整することができる。
作業機コントローラ26は、掘削制御において、前述したように、掘削対象の目標形状である設計地形を示す目標掘削地形43I(目標掘削地形データU)とバケット8の位置を示すバケット刃先位置データSとに基づき、目標掘削地形43Iとバケット8との距離dに応じてバケット8が目標掘削地形43Iに近づく速度が小さくなるように、ブーム6の速度を制限する。
本実施形態において、作業機コントローラ26は、ブーム6の速度を制限するための制御信号を出力するブーム制限部を有する。本実施形態においては、操作装置25の操作に基づいて作業機2が駆動する場合において、バケット8の刃先8Tが目標掘削地形43Iに侵入しないように、作業機コントローラ26のブーム制限部から出力される制御信号に基づいて、ブーム6の動きが制御(ブーム介入制御)される。具体的には、掘削制御において、刃先8Tが目標掘削地形43Iに侵入しないように、ブーム6は、作業機コントローラ26により、上げ動作が実行される。
本実施形態においては、ブーム介入制御を実現するために、作業機コントローラ26から出力された、ブーム介入制御に関する制御信号に基づいて作動する介入弁27Cがパイロット油路50に設けられる。ブーム介入制御において、パイロット油路50に、圧力がパイロット油圧に調整されたパイロット油が流れる。介入弁27Cは、パイロット油路50に配置され、パイロット油路50のパイロット油圧を調整可能である。
以下の説明において、ブーム介入制御において圧力が調整されたパイロット油が流れるパイロット油路50を適宜、介入用油路501、502と称する。
介入用油路501に、ブームシリンダ10に接続された方向制御弁640に供給されるパイロット油が流れる。介入用油路油路501は、方向制御弁640と接続されたブーム操作用油路4510B及びブーム調整用油路4520Bにシャトル弁51を介して接続されている。
シャトル弁51は、2つの入口と、1つの出口とを有する。一方の入口は、介入用油路501と接続される。他方の入口は、ブーム操作用油路4510Bと接続される。出口は、ブーム調整用油路4520Bと接続される。シャトル弁51は、介入用油路501及びブーム操作用油路4510Bのうち、パイロット油圧が高い方の油路と、ブーム調整用油路4520Bとを接続する。例えば、介入用油路501のパイロット油圧がブーム操作用油路4510Bのパイロット油圧よりも高い場合、シャトル弁51は、介入用油路501とブーム調整用油路4520Bとを接続し、ブーム操作用油路4510Bとブーム調整用油路4520Bとを接続しないように作動する。その結果、介入用油路501のパイロット油がシャトル弁51を介してブーム調整用油路4520Bに供給される。ブーム操作用油路4510Bのパイロット油圧が介入用油路501のパイロット油圧よりも高い場合、シャトル弁51は、ブーム操作用油路4510Bとブーム調整用油路4520Bとを接続し、介入用油路501とブーム調整用油路4520Bとを接続しないように作動する。これにより、ブーム操作用油路4510Bのパイロット油がシャトル弁51を介してブーム調整用油路4520Bに供給される。
介入用油路501に、介入弁27Cと、介入用油路501のパイロット油のパイロット油圧を検出する圧力センサ68とが設けられている。介入用油路501は、介入弁27Cを通過する前のパイロット油が流れる介入用油路501と、介入弁27Cを通過した後のパイロット油が流れる介入用油路502とを含む。介入弁27Cは、ブーム介入制御を実行するために作業機コントローラ26から出力された制御信号に基づいて制御される。
ブーム介入制御が実行されないとき、操作装置25の操作によって調整されたパイロット油圧に基づいて方向制御弁64が駆動されるようにする。例えば、作業機コントローラ26は、操作装置25の操作によって調整されたパイロット油圧に基づいて方向制御弁640が駆動されるように、ブーム用減圧弁270Bによりブーム操作用油路4510Bを開ける(全開にする)とともに、介入弁27Cにより介入用油路501を閉じる。
ブーム介入制御が実行されるとき、作業機コントローラ26は、介入弁27Cによって調整されたパイロット油圧に基づいて方向制御弁640が駆動されるように、各制御弁27を制御する。例えば、掘削制御においてブーム6の移動を制限するブーム介入制御を実行する場合、作業機コントローラ26は、介入弁27Cによって調整された介入用油路50のパイロット油圧が、操作装置25によって調整されるブーム操作用油路4510Bのパイロット油圧よりも高くなるように、介入弁27Cを制御する。このようにすることで、介入弁27Cからのパイロット油がシャトル弁51を介して方向制御弁640に供給される。
バケット8が目標掘削地形43Iに侵入しないように操作装置25によりブーム6が高速で上げ動作される場合、ブーム介入制御は実行されない。この場合、ブーム6が高速で上げ動作されるように操作装置25が操作され、その操作量に基づいてパイロット油圧が調整されることにより、操作装置25の操作によって調整されるブーム操作用油路4510Bのパイロット油圧は、介入弁27Cによって調整される介入用油路501のパイロット油圧よりも高くなる。その結果、操作装置25の操作によってパイロット油圧が調整されたブーム操作用油路4510Bのパイロット油がシャトル弁51を介して方向制御弁640に供給される。
ブーム介入制御において、作業機コントローラ26は、制限条件が満たされているか否かを判定する。制限条件は、距離dが前述した第1所定値dth1より小さいこと及びブーム制限速度Vc_bm_lmtがブーム目標速度Vc_bmよりも大きいことを含む。例えば、ブーム6を下降させる場合、ブーム6の下方へのブーム制限速度Vc_bm_lmtの大きさが、下方へのブーム目標速度Vc_bmの大きさよりも小さいときには、作業機コントローラ26は、制限条件が満たされていると判定する。また、ブーム6を上昇させる場合、ブーム6の上方へのブーム制限速度Vc_bm_lmtの大きさが、上方へのブーム目標速度Vc_bmの大きさよりも大きいときには、作業機コントローラ26は、制限条件が満たされていると判定する。
制限条件が満たされている場合、作業機コントローラ26は、ブーム制限速度Vc_bm_lmtでブームが上昇するようにブーム介入指令CBIを生成し、ブームシリンダ10の制御弁27を制御する。このようにすることで、ブームシリンダ10の方向制御弁640は、ブーム制限速度Vc_bm_lmtでブームが上昇するように作動油をブームシリンダ10に供給するので、ブームシリンダ10は、ブーム制限速度Vc_bm_lmtでブーム6を上昇させる。
実施形態1において、アーム制限速度Vc_am_lmtの絶対値が、アーム目標速度Vc_amの絶対値よりも小さいことが、制限条件に含まれてもよい。制限条件は、他の条件をさらに含んでもよい。例えば、制限条件は、アーム操作量が0であることをさらに含んでもよい。制限条件は、距離dが第1所定値dth1より小さいことを含まなくてもよい。例えば、制限条件は、ブーム6の制限速度がブーム目標速度よりも大きいことのみであってもよい。
第2所定値dth2は、第1所定値dth1より小さければ、0より大きくてもよい。この場合には、ブーム6の刃先8Tが目標掘削地形43Iに到達する前に、ブーム6の制限とアーム7の制限との両方が行われる。このため、ブーム6の刃先8Tが目標掘削地形43Iに到達する前であっても、ブーム6の刃先8Tが目標掘削地形43Iを超えそうなときに、ブーム6の制限とアーム7の制限との両方を行うことができる。
(操作レバーが電気方式である場合)
左操作レバー25L及び右操作レバー25Rが電気方式である場合、操作レバー25L及び右操作レバー25Rに対応するポテンショメータ等の電気信号を作業機コンコントローラ26が取得する。この電気信号を、操作指令電流値と称する。作業機コントローラ26は、操作指令電流値に基づく開閉指令を制御弁27へ出力する。制御弁27からは、開閉指令に応じた圧力の作動油が方向制御弁のスプールに供給されてスプールを移動させるので、方向制御弁を介してブームシリンダ10、アームシリンダ11又はバケットシリンダ12に作動油が供給されてこれらが伸縮する。
掘削制御において、作業機コントローラ26は、掘削制御の指令値及び操作指令電流値に基づく開閉指令を制御弁27に出力する。掘削制御の指令値は、例えば、前述したブーム介入指令CBIであり、掘削制御においてブーム介入制御を実行するための指令値である。開閉指令が入力された制御弁27は、開閉指令に応じた圧力の作動油が方向制御弁のスプールに供給されてスプールを移動させる。ブームシリンダ10の方向制御弁のスプールには、掘削制御の指令値に応じた圧力の作動油が供給されるので、ブームシリンダ10が伸びてブーム6を上昇させる。
次に、油圧ショベル100が掘削制御を実行しているときに、例えば基準位置データP1、P2を受信できなくなった結果、作業機コントローラ26が目標掘削地形データUを取得できなくなった場合の制御(実施形態に係る作業機械の制御方法)について、より詳細に説明する。
<作業機コントローラ26が目標掘削地形データUを取得できなくなった場合の制御>
図16Aは、油圧ショベル100が掘削制御を実行している状態を示す図である。図16Bは、油圧ショベル100が掘削制御を実行しているときに基準位置データP1、P2を受信できなくなった状態を示す図である。図16Cは、基準位置データP1、P2を受信できなくなった場合、データ保持部58に保持されている目標掘削地形データUに基づいて掘削制御を継続している状態を示す図である。
図16Aに示すように、油圧ショベル100が目標掘削地形43Iの目標掘削地形データUを用いて掘削制御を実行しているときに、例えば、図1及び図2に示すGNSSアンテナ21、22が測位衛星から基準位置データP1、P2を受信できなくなったとする。この場合、図5に示す表示コントローラ28のエラー判定部28Dは、エラー信号Jを作業機コントローラ26に出力する。基準位置データP1、P2が受信できない場合とは、例えば、油圧ショベル100の作業機2を上昇させた場合及び作業機2を旋回させた場合に、測位衛星とGNSSアンテナ21、22との間に作業機2が介在し、GNSSアンテナが受信する際の遮蔽物となるような場合がある。通常は、複数の測位衛星から基準位置データP1、P2を受信するため、これを受信できないことは少ないが、電波状況が特に弱い場合等に前述した動作が行われると、基準位置データP1、P2が受信できない状態が発生することがある。これは、特に作業中にGNSSアンテナ21、22よりも高い位置に作業機2が位置することがある油圧ショベル100において現れる現象である。
基準位置データP1、P2が受信されない場合、バケット刃先位置データ生成部28Bはバケット刃先位置データSを生成できなくなるので、目標掘削地形データ生成部28Cは目標掘削地形データUを生成できなくなる。作業機コントローラ26が掘削制御を実行しているときに目標掘削地形データUを取得できなくなると、作業機コントローラ26は掘削制御を実行できなくなる。この場合、図16Bに示すように、作業機コントローラ26の作業機制御部57は、作業機コントローラ26による制御弁27及び介入弁27Cの駆動を行わない。掘削制御が実行されず、図2に示す操作装置25への入力に基づいて作業機2が動作するモードを、本実施形態においてはマニュアル掘削モードと言う。
前述したように、GNSSアンテナ21、22が測位衛星から基準位置データP1、P2を受信できなくなると、前述したように、表示コントローラ28は、初期化(イニシャライズ)作業を実行する。この場合、作業機コントローラ26は目標掘削地形データUを取得できないため、掘削制御を継続することができない。したがって、作業機コントローラ26は、掘削制御を解除してマニュアル掘削モードに移行し、表示コントローラ28はマニュアル掘削モードに移行したことを表示部29に表示する。この場合、表示コントローラ28は、必要に応じてエラーを発報してもよい。
実施形態において、切替部59がエラー信号Jを取得すると、データ保持部58に保持されている目標掘削地形データUが距離取得部53に出力される。このため、作業機コントローラ26は、目標掘削地形データ生成部28Cから目標掘削地形データUを取得できなくても、データ保持部58が目標掘削地形データUを保持している時間が経過するまでは、図16Cに示すように、データ保持部58が保持している目標掘削地形データUを用いて掘削制御を継続することができる。
基準位置データP1、P2が受信できない結果、目標掘削地形データ生成部28Cが新たな目標掘削地形データUを生成できない場合でも、基準位置データP1、P2が受信できなくなる前と同一の掘削対象が、油圧ショベル100の作業機2と相対的な位置関係を一定に保った状態で掘削される限り、データ保持部58が保持している目標掘削地形データUに基づいて掘削制御が継続されても問題はない。作業機2と掘削対象との相対的な位置関係が一定に保たれている場合は、例えば、作業機2が旋回しない状態若しくは旋回したとしても所定の旋回角度以内である状態又は油圧ショベル100が走行していない状態若しくは走行していても走行距離が所定の大きさ以下である場合等である。
実施形態では、基準位置データP1、P2が受信できない場合、作業機2と掘削対象との相対的な位置関係が一定に保たれていることを条件として、作業機コントローラ26はデータ保持部58に保持されている目標掘削地形データUを用いて掘削制御を継続する。GNSSアンテナ21、22が測位衛星から基準位置データP1、P2を受信できなくなる現象は、比較的短時間(例えば、数秒程度)で回復することが多い。このため、データ保持部58が保持している目標掘削地形データUに基づいて掘削制御が継続されている間に、基準位置データP1、P2が受信できるようになることも多い。データ保持部58が保持している目標掘削地形データUに基づく掘削制御の実行中に基準位置データP1、P2が受信できるようになったら、作業機コントローラ26は、その後に目標掘削地形データ生成部28Cによって生成された目標掘削地形データUを用いて掘削制御を実行する。
前述したように、掘削制御は、図2に示すスイッチ29Sをオペレータが操作することにより実行又は停止される。GNSSアンテナ21、22が測位衛星から基準位置データP1、P2を受信できなくって掘削制御が一旦停止された後、掘削制御を再開させるためにオペレータにスイッチ29Sを操作させると、掘削作業以外の操作をオペレータに要求することになる。実施形態は、GNSSアンテナ21、22が測位衛星から基準位置データP1、P2を受信できなった場合でも、作業機コントローラ26は掘削制御を継続できる。このため、停止している掘削制御を再開させる操作が不要になるので、オペレータの負担が軽減される。
基準位置データP1、P2が受信できず、かつ作業機2と掘削対象との相対的な位置関係が一定に保たれていない場合又は基準位置データP1、P2が一定時間以上受信できない状態が続いた場合、作業機コントローラ26は掘削制御を一時停止状態としてマニュアル掘削モードに移行する。このとき、データ保持部58は、目標掘削地形データUの保持を終了する。データ保持部58による目標掘削地形データUの保持が終了した後であっても、作業機コントローラ26は、基準位置データP1、P2が受信できるようになったら、その後に目標掘削地形データ生成部28Cによって生成された目標掘削地形データUを用いて掘削制御を実行する。すなわち、オペレータが図2に示すスイッチ29Sを操作しなくても、作業機コントローラ26は掘削制御を実行する。このように、実施形態において、作業機コントローラ26は、データ保持部58による目標掘削地形データUの保持が終了した後も、基準位置データP1、P2の受信が再開したことを条件に、掘削制御を実行できる状態で待機する。このような処理により、停止している掘削制御を再開させる操作が不要になるので、オペレータの負担が軽減される。
<データ保持部58が保持する目標掘削地形データUについて>
図17及び図18は、データ保持部58が保持する目標掘削地形データUを説明するための図である。図17及び図18の横軸は時間t、M4は旋回信号、M5は走行信号、INIは表示コントローラ28の初期化、Uは設計地形データの入出力である。図17に示す目標掘削地形データUは、表示コントローラ28が出力するものであり、図18に示す目標掘削地形データUは、作業機コントローラ26が取得するものである。本実施形態において、旋回信号M4は、図2に示す、旋回角度検出装置としてのIMU24が検出した角度情報であり、IMU24が検出した角度情報が所定の大きさ以上の場合には、上部旋回体3が旋回していると判定される。
角度情報は、例えば、旋回角度が含まれる。角度の積算は、図18に示す時間tmから開始される。また、旋回角度は、角速度の積分で求められる。旋回信号M4は、上部旋回体3の旋回角度を検出するエンコーダ(旋回角度検出装置)等の出力であってもよい。上部旋回体3が旋回していることを判定する場合、オペレータの旋回指令をより確実に識別できるため、上部旋回体3の旋回角度を検出することが好ましい。走行信号M5は、図2に示す走行用ペダル25FL、25FRの少なくとも一方が操作された場合の操作量MDに基づき決定される。操作量MDが所定操作量以上の場合、図2に示す操作装置25は、車両本体1は走行状態であるとして、走行信号M5を1として出力する。操作量MDが所定操作量未満の場合、、図2に示す操作装置25は、車両本体1は停止状態であるとして、走行信号M5を0として出力する。
INIがSTARTになると表示コントローラ28の初期化が開始し、ENDになると初期化が終了する。初期化が開始するタイミングは、GNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できなくなった後である。図17に示す、目標掘削地形データ生成部28Cが出力する目標掘削地形データUは、ONのときに目標掘削地形データ生成部28Cから作業機コントローラ26に出力される。OFFのときには、何らかの目標掘削地形データUは出力されるが、その信頼性は保証されないか又はその出力は無効であることの情報が出力される。実施形態において、目標掘削地形データUは10Hzで目標掘削地形データ生成部28Cから出力されるので、周期Δt1は100msec.である。図18に示す、作業機コントローラ26が取得する目標掘削地形データUは、ONのときに作業機コントローラ26が取得し、OFFのときには取得しない。実施形態において、作業機コントローラ26は、目標掘削地形データUは100Hzで取得するので、図18に示す周期Δt2は10msec.である。
実施形態では、作業機コントローラ26は、掘削制御を実行中において、GNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できない結果、目標掘削地形情報としての目標掘削地形データUを取得できない場合、取得できなくなった時点よりも前の目標掘削地形データUを用いて掘削制御を実行する。図17に示す例では、初期化が時間t1で開始されているため、少なくとも時間t1よりも前に目標掘削地形データ生成部28Cから出力されてデータ保持部58に保持された目標掘削地形データUが用いられる。表示コントローラ28の初期化と、目標掘削地形データ生成部28Cが目標掘削地形データUを出力するタイミングとの同期が取れている保証はない。このため、表示コントローラ28の初期化が開始される直前、すなわちGNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できなくなる直前の目標掘削地形データU(時間t=t0のもの)は、信頼性が低い可能性がある。作業機コントローラ26のデータ保持部58は、表示コントローラ28の初期化が開始されるよりも1サイクルより前のタイミングで目標掘削地形データ生成部28Cが出力した目標掘削地形データU(時間t=tbのもの)を保持することが好ましい。
図18に示す例において、表示コントローラ28が初期化を開始するタイミングは、時間t=tmである。作業機コントローラ26は、表示コントローラ28の初期化が開始、すなわちGNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できなくなった後に、これを認識する(時間t=tr)。作業機コントローラ26は、表示コントローラ28の初期化が開始されるよりも1サイクルより前のタイミングで目標掘削地形データ生成部28Cが出力した目標掘削地形データU(時間t=to1のもの)を判別できない。
作業機コントローラ26のデータ保持部58は、GNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できなくなったことを認識したタイミングを基準として、その前に表示コントローラ28の目標掘削地形データ生成部28Cから取得した目標掘削地形データUを保持する。実施形態において、データ保持部58は、表示コントローラ28の目標掘削地形データ生成部28Cが目標掘削地形データUを出力する周期に換算して、GNSSアンテナ21、22が基準位置データP1、P2を受信できなくなったことを認識したタイミングよりも、少なくとも1周期以上前に取得した目標掘削地形データUを保持することが好ましい。図18に示す例において、データ保持部58は、時間t=to1における目標掘削地形データUを保持することが好ましい。
目標掘削地形データ生成部28Cが目標掘削地形データUを出力する周期は100msec.であり、作業機コントローラ26が目標掘削地形データUを取得する周期は10msec.である。作業機コントローラ26が目標掘削地形データUを取得するサイクルに換算すると、データ保持部58は、作業機コントローラ26が目標掘削地形データUを取得する周期に換算して、少なくとも10サイクル以上前(実施形態では15サイクル)に取得した目標掘削地形データUを保持することが好ましい。
このようにすれば、データ保持部58は、GNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できなくなった場合、少なくとも10サイクル以上前に取得した目標掘削地形データUを距離取得部53に出力することができる。その結果として、データ保持部58が異常な目標掘削地形データUを保持する可能性及び異常な目標掘削地形データUによって掘削制御が継続される可能性を低減できる。
作業機コントローラ26には、表示コントローラ28から目標掘削地形データU(目標掘削地形73I)が、例えば100msec.の周期で入力される。作業機コントローラ26及び第2表示装置39は、センサコントローラ39から、例えば10msec.毎にIMU29が検出した傾斜角θ5が入力される。作業機コントローラ26及び表示コントローラ28は、センサコントローラ39から入力されたピッチ角の前回値と今回値との増減分に基づき、目標掘削地形データU(目標掘削地形43I)の傾斜角θ5を更新し続ける。作業機コントローラ26は、この傾斜角θ5を用いて刃先位置P4を算出して掘削制御を実行し、表示コントローラ28はこの傾斜角θ5を用いて刃先位置P4を算出してガイダンス画像の刃先位置とする。100msec.が経過した後、作業機コントローラ26には、表示コントローラ28から新たな目標掘削地形データU(目標掘削地形43I)が入力されて更新される。
(実施形態に係る作業機械制御の制御例)
図19は、実施形態に係る作業機械制御の制御例を示すフローチャートである。ステップS101において、掘削制御が実行されている場合(ステップS101、Yes)、図5に示す作業機コントローラ26は、処理をステップS102に進める。ステップS101において、掘削制御が実行されていない場合(ステップS101、No)、作業機コントローラ26は、実施形態に係る作業機械制御を終了する。
ステップS102において、油圧ショベル100の走行が停止し、かつ作業機2の旋回が停止している場合(ステップS102、Yes)、作業機コントローラ26は、処理をステップS103に進める。ステップS102において、油圧ショベル100が走行しているか又は作業機2が旋回している場合(ステップS102、No)、作業機コントローラ26は、実施形態に係る作業機械制御を終了する。作業機コントローラ26は、油圧ショベル100の走行レバーから得られた信号が停止状態を示すものである場合には油圧ショベル100が停止していると判定し、作業機2の旋回角度が所定の閾値以下である場合に作業機2の旋回が停止していると判定する。所定の閾値は、作業機2と掘削対象との相対的な位置関係が変化しないと見なすことができる大きさである。
ステップS103において、基準位置データP1、P2が失効、すなわち、GNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できなくなった場合(ステップS103、Yes)、作業機コントローラ26は、ステップS104において、表示コントローラ28のエラー判定部28Dはエラー信号Jを作業機コントローラ26の切替部59に出力する。エラー信号Jを取得した切替部59は、距離取得部53に出力される目標掘削地形データUを、表示コントローラ28の目標掘削地形データ生成部28Cが生成したものからデータ保持部58が保持しているものに切り替える。作業機コントローラ26は、データ保持部58が保持している目標掘削地形データUを用いて掘削制御を継続する。ステップS104の掘削制御で使用される目標掘削地形データUは、前述したように、データ保持部58が保持している目標掘削地形データUのうち、少なくとも10サイクル以上前に作業機コントローラ26が取得した目標掘削地形データUである。ステップS103において、基準位置データP1、P2が失効していない場合(ステップS103、No)、作業機コントローラ26は、実施形態に係る作業機械制御を終了する。
ステップS104が終了したら、ステップS105において、作業機コントローラ26は、予め定められた一定の時間tcが経過する前であるか否かを判定する。一定の時間tcが経過する前である場合(ステップS105、Yes)、処理はステップS106に進む。ステップS106において、油圧ショベル100の走行が停止し、かつ作業機2の旋回が停止している場合(ステップS106、Yes)、作業機コントローラ26は、処理をステップS107に進める。
ステップS107において、GNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できるようになると(ステップS107、Yes)、処理はステップS108に進む。GNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できるようになると、バケット刃先位置データ生成部28Bはバケット刃先位置データSを生成して目標掘削地形データ生成部28Cに出力する。目標掘削地形データ生成部28Cは、目標掘削地形データUを生成して作業機コントローラ26に出力する。ステップS108において、作業機コントローラ26は、受信後の基準位置データP1、P2に基づき目標掘削地形データ生成部28Cによって新たに生成された目標掘削地形データUを用いて、掘削制御を実行する。GNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できない場合(ステップS107、No)、作業機コントローラ26は、一定の時間tcが経過するまでステップS105からステップS107を繰り返す。
ステップS105に戻り、一定の期間tcが経過した後である場合(ステップS105、No)、ステップS109において、作業機コントローラ26のデータ保持部58は、保持していた目標掘削地形データUの保持を終了し、作業機コントローラ26は掘削制御を終了する。この場合、マニュアル操作モードとなる。マニュアル操作モードは操作装置25の入力に応じて作業機2が動作するモードである。
次に、ステップS110において、GNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できるようになると(ステップS110、Yes)、処理はステップS111に進む。ステップS111において、作業機コントローラ26は、受信後の基準位置データP1、P2に基づき目標掘削地形データ生成部28Cによって新たに生成された目標掘削地形データUを用いて、掘削制御を再開する。この場合、油圧ショベル100のオペレータは、掘削制御を再開させるために図2に示したスイッチ29Sを改めて操作する必要はない。
GNSSアンテナ21、22が測位衛星80から基準位置データP1、P2を受信できない場合(ステップS110、No)、処理はステップS112に進む。ステップS112において、掘削制御の終了指令があった場合(ステップS112、Yes)、ステップS113において、作業機コントローラ26は、掘削制御を終了する。掘削制御の終了指令は、油圧ショベル100のオペレータが、図2に示すスイッチ29Sを操作することにより生成される。掘削制御の終了指令がない場合(ステップS112、No)、作業機コントローラ26は、ステップS110に戻って以後の処理を実行する。前述したステップS106において、油圧ショベル100が走行しているか又は作業機2が旋回している場合(ステップS106、No)、作業機コントローラ26は、ステップS109に進み、以後の処理を実行する。このようにして、図2に示す制御システム300は、実施形態に係る作業機械制御を実行する。
以上、実施形態を説明したが、前述した内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換及び変更のうち少なくとも1つを行うことができる。例えば、作業機2は、ブーム6、アーム7、バケット8を有しているが、作業機2に装着されるアタッチメントはこれに限られず、バケット8には限定されない。センサコントローラ39が実行する各処理は、作業機コントローラ26が実行してもよい。作業機械は油圧ショベル100に限定されず、他の建設機械であってもよい。