以下,本発明の実施形態について図面を用いて説明する。
なお,以下では作業機械として油圧ショベルを例に挙げて説明するが,所定の距離以上は目標地形に近接しないように作業装置の動作範囲を制限するマシンコントロール機能を備えた作業機械であれば,油圧ショベル以外の作業機械にも適用可能である。また,油圧ショベルのアタッチメントとしてはバケットを例示するが,バケット以外のものを備えた作業機械にも適用可能である。
<第1実施形態>
図1は本発明の実施形態に係る油圧ショベルの側面図である。この図に示した油圧ショベルは,下部走行体10と,下部走行体10の上部に旋回可能に取り付けられた上部旋回体20と,消耗部(爪37)が設けられたアタッチメント(バケット35)を先端に有し,上部旋回体20に取り付けられた多関節型のフロント作業装置30とを備えている。
下部走行体10は,一対のクローラ11及びクローラフレーム12(図では片側のみを示す)と,各クローラ11を独立して駆動制御する一対の走行油圧モータ13(図では片側のみを示す)と,その減速機構などで構成されている。
上部旋回体20は,旋回フレーム21と,旋回フレーム21上に設けられた,原動機としてのエンジン22と,旋回用油圧モータ23の駆動力により下部走行体10に対して上部旋回体20(旋回フレーム21)を旋回駆動させるための旋回油圧モータ23と,オペレータが搭乗して操作を行うキャブ(運転室)24などを搭載している。
フロント作業装置30は,ブーム31と,ブーム31を駆動するためのブームシリンダ32と,ブーム31の先端部分に回転自在に軸支されたアーム33と,アーム33を駆動するためのアームシリンダ34と,アーム33の先端部分に回転可能に軸支されたバケット(アタッチメント)35と,バケット35を駆動するためのバケットシリンダ36などを備えている。
バケット35は先端に交換可能な消耗部である爪37が取り付けられており,バケット35の背面39は爪37の先端に向かって略平坦な面になるように形成されている。
図2は図1の油圧ショベルの運転室24内の斜視図である。この図に示すように、キャブ(運転室)24内には,走行右油圧モータ13a(下部走行体10)を操作するための走行右レバー82aと,走行左油圧モータ13b(下部走行体10)を操作するための走行左レバー82bと,ブームシリンダ32(ブーム31)及びバケットシリンダ36(バケット35)を操作するための操作右レバー81aと,アームシリンダ34(アーム33)及び旋回油圧モータ23(上部旋回体20)を操作するための操作左レバー81bが設置されている。以下では,操作右レバー81a,操作左レバー81b,走行右レバー82aおよび走行左レバー82bを操作レバー(操作装置)81,82と総称することがある。
操作右レバー81a及び操作左レバー81bはそれぞれ前後、左右の2方向操作が割り当てられたマルチレバーである。操作右レバー81aの前後方向にはブームシリンダ32の伸縮操作(ブーム31の上げ・下げ操作)が、操作右レバー81aの左右方向にはバケットシリンダ36の伸縮操作(バケット35のクラウド・ダンプ操作)が割り当てられている。一方、操作左レバー81bの前後方向にはアームシリンダ34の伸縮操作(アーム33のクラウド・ダンプ操作)が、操作右レバー81bの左右方向には旋回油圧モータ23の左右旋回操作(上部旋回体20の左右旋回操作)が割り当てられている。
操作右レバー81aの把持部には、コントローラ60(図1,図3等参照)による領域制限制御(詳細は後述する)が実行可能な状態である有効状態(ON)と、コントローラ60による領域制限制御が実行不可能な状態である無効状態(OFF)とを切り替える制御状態切り替えスイッチ(切替装置)68が設けられている。オペレータは制御状態切り替えスイッチ68を操作することで領域制限制御のONとOFFを切り替えることができる。制御状態切り替えスイッチ68の種類(形状・動作方式)には特に限定はなく、形状としては、例えば、ボタンスイッチ、トグルスイッチ、スライドスイッチなどが利用可能であり、動作方式としては、例えば、モーメンタリ式、オルタネイト式などが利用可能である。制御状態切り替えスイッチ68がオペレータに操作されると、領域制限制御の状態が有効状態及び無効状態のうち当該オペレータの操作の直前の状態と異なる状態に切り替えられ、切り替え後の領域制限制御の状態(有効状態または無効状態)を示す信号(データ)がコントローラ60に出力される。
運転室24内における運転席の左側には,操作レバー81,82に操作を不可能にするロック位置と,操作レバー81,82による操作を許可するロック解除位置とのいずれか一方の切り換え位置(ポジション)に切り換えられるロックレバー(ゲートロックレバーとも称される)69と,ロックレバー69の切り換え位置がロック位置かロック解除位置のいずれであるかを検出するロックレバーセンサ53が設けられている。ロックレバーセンサ53はロックレバー69の切り換え位置情報(ポジション)を示す信号(データ)をコントローラ60に出力する。この信号がロック解除位置を示す場合は,オペレータによる下部走行体10,上部旋回体20及びフロント作業装置30を含む操作対象の操作が可能な状態であることを示す。反対に,ロック位置を示す場合は,オペレータによる上記の操作対象10,20,30の操作が不可能な状態であることを示す。
運転室24内における運転席の右側には、目標面60(図6参照)とバケット35の位置関係やコントローラ60による領域制限制御の状態(有効状態または無効状態)を表示するモニタ(通知装置)70が設けられている。モニタ70はコントローラ60による領域制限制御の状態が切り替えられたときにその旨(例えば文字や図形)を画面に表示してオペレータに通知する通知装置として機能し得る。
また、モニタ70にはコントローラ60によって演算された油圧ショベルの姿勢情報が表示され得る。油圧ショベルの姿勢情報には油圧ショベルの側面図や正面図、各フロント部材31,33,35の角度情報(θ1-θ3)、油圧ショベルの前後左右の傾き(θ4)などの情報が含まれる。モニタ70には予め作成して取り込んだ設計面や簡易的に作成した目標面、バケット35の爪37の先端と設計面や目標面との距離Dなどの情報も数値やインジケータ、図などで表示することができる。油圧ショベルの操作者はこれらの情報を基に施工することで、通常の施工時に目印として使用する丁張や水糸などを設置することなく施工を進めることができる。
図1に戻り、上部旋回体20の旋回フレーム21上には,走行油圧モータ13(13a,13b),旋回用油圧モータ23,ブームシリンダ32,アームシリンダ34,及びバケットシリンダ36などの油圧アクチュエータを駆動するための油圧(作動油)及び当該油圧アクチュエータを操作するための油圧(パイロット圧)を発生する油圧ポンプ41(41a,41b)と,フロント作業装置30による作業対象の設計データから演算される目標面60上及びその上方にフロント作業装置30の動作範囲が制限されるように、フロント作業装置30と目標面60との距離Dに基づいてフロント作業装置30を制御する領域制限制御(マシンコントロール)が可能なコントローラ(制御装置)60が搭載されている。油圧源となる油圧ポンプ41はエンジン22によって駆動される。
図1に示すように、フロント作業装置30および上部旋回体20には,フロント作業装置30を構成する各フロント部材31,33,35及び上部旋回体20の姿勢を検出するための姿勢センサとして,ブーム31,アーム33,バケット35,上部旋回体20にそれぞれIMU50(Inertial Measurement Unit,慣性計測装置)が搭載されている。コントローラ60は,これらのIMU50で検出及び出力される加速度信号および角速度信号に基づいて,フロント作業装置30を構成する各フロント部材(ブーム31,アーム33,バケット35)及び上部旋回体20の傾斜角度が演算できる。演算した各傾斜角度から図6に示したブーム31の回転角θ1、アーム33の回転角θ2、バケット35の回転角θ3、車体(上部旋回体20)の傾斜角θ4(ただし、図6ではピッチ角のみ示す)を演算できる。演算した各角度θ1-θ4のデータをここでは「姿勢データ」と称することがある。
コントローラ60は,演算した各フロント部材31,33,35の回転角θ1-θ3(姿勢データ)と、各フロント部材31,33,35の寸法データL1,L2,L3(図6参照)とに基づいて,車体座標系(油圧ショベルに設定した3次元座標系。ローカル座標系とも言う。)における油圧ショベル上の任意の点(制御点)の位置(例えばバケット35の爪37の先端(バケット爪先)の位置P4)が演算できる。そして、例えばGNSS(Global Navigation Satellite System:全球測位衛星システム)を利用して上部旋回体20の地理座標系(グローバル座標系)における座標及び方位が分かれば、当該座標及び方位に上部旋回体20の傾斜角θ4を加味することで地理座標系のおける油圧ショベル上の制御点(例えば、爪先P4)の位置を演算できる。本実施形態では、説明を簡単にするために、目標面60は車体座標系上に定義されているものとし、コントローラ60は車体座標系における爪先P4の座標を演算するものとする。この場合、爪先P4の座標と目標面60の位置から、爪先と目標面の距離(目標面距離)Dが演算できる。
なお,図1においては,アーム33とバケット35を接続するリンク機構の構成部材(バケットリンク部材)にバケット35の姿勢データを取得するためのIMU50を配置した場合を例示しているが,油圧ショベルの設計データ等に基づいてバケット35の姿勢データを間接的に取得しているため,当該IMU50がバケット35に搭載されていると取り扱うこと,すなわち当該IMU50の出力でバケット35の傾斜角度を演算することができる。
図3は本発明の実施形態に係る油圧ショベルのコントローラ(制御装置)60を油圧駆動装置と共に示す図である。
エンジン(原動機)18は、油圧ポンプ41aとパイロットポンプ41bを駆動する。図3に示すように、油圧ポンプ41aとしては可変容量型ポンプを選択でき、パイロットポンプ41bとしては固定容量型ポンプを選択できる。各ポンプ41a,41bは複数にしても良い。
操作レバー81、82としては、例えば、図3に示した電気レバーが利用できる。コントローラ60は、オペレータによる操作レバー81、82の操作情報(例えば,操作量,操作方向)を、操作レバー81、82に取り付けられたロータリエンコーダやポテンショメータ等の操作量センサ52a,52b,52c,52d,52e,52fで読み取り、その読み取ったデータ(操作データ)に応じた電流指令を電磁比例弁47a、47b、47c、47d、47e、47f、47g、47h、47i、47j、47k、47l(以下では,電磁比例弁47a-lと総称することがある。)に出力し得る。
操作量センサ52aは操作左レバー81bの左右方向の操作量(旋回油圧モータ23(上部旋回体20)の操作量)を検出し、操作量センサ52bは操作左レバー81bの前後方向の操作量(アームシリンダ34(アーム33)の操作量)を検出し、操作量センサ52cは操作右レバー81aの前後方向の操作量(ブームシリンダ32(ブーム31)の操作量)を検出し、操作量センサ52dは操作右レバー81aの左右方向の操作量(バケットシリンダ36(バケット35)の操作量)を検出し、操作量センサ52eは走行右レバー82aの操作量(走行油圧モータ13aの操作量)を検出し、操作量センサ52fは走行左レバー82bの操作量(走行油圧モータ13bの操作量)を検出する。
なお、操作レバー81,82が油圧パイロット式の場合には、操作量センサ52a-52fとして操作レバー81,82の操作量に応じて出力されるパイロット圧を検出する圧力センサを利用しても良い。この場合、ロックレバー69がロック位置にあるとロック弁によりパイロット圧の供給が遮断されるため、操作レバー81,82を操作してもパイロット圧は発生しなくなる。
電磁比例弁47a-lは、パイロットライン150に設けられており、コントローラ60からの指令が入力された場合に駆動され、流量制御弁(コントロールバルブ)15にパイロット圧を出力し、これにより流量制御弁15が駆動する。
流量制御弁15は、旋回油圧モータ23、アームシリンダ34、ブームシリンダ32、バケットシリンダ36、走行右油圧モータ13a、走行右油圧モータ13bのそれぞれに、操作レバー81,82の操作データ(電磁比例弁47a-47fから流量制御弁15へのパイロット圧)に応じたポンプ41aからの圧油を供給できるよう構成されている。
電磁比例弁47a-bは旋回油圧モータ23に、電磁比例弁47c-dはアームシリンダ34に、電磁比例弁47e-fはブームシリンダ32に、電磁比例弁47g-hはバケットシリンダ36に、電磁比例弁47i-jは走行右油圧モータ13aに、電磁比例弁47k-lは走行右油圧モータ13bに圧油を供給する流量制御弁15にパイロット圧を供給する。
パイロットライン150において、パイロットポンプ41bと電磁比例弁47a-lの間には、コントローラ60と接続されたロック弁59が設けられている。運転室24内のロックレバー69のロックレバーセンサ53がコントローラ60と接続され、ロックレバーの位置が検出される。ロックレバー69がロック位置にある場合にはロック弁59がロックされパイロットライン150に圧油は供給されず、ロック解除位置にある場合には、ロック弁59は解除され、パイロットライン150に圧油が供給される。
油圧ポンプ41aから吐出された圧油は、パイロット圧によって駆動される流量制御弁15を介して、走行右油圧モータ13a、走行左油圧モータ13b、旋回油圧モータ23、ブームシリンダ32、アームシリンダ34、バケットシリンダ36に供給される。供給された圧油によってブームシリンダ32、アームシリンダ34、バケットシリンダ36が伸縮することで、ブーム31、アーム33、バケット35がそれぞれ回動し、バケット35の位置及び姿勢が変化する。また、供給された圧油によって旋回油圧モータ23が回転することで、下部走行体10に対して上部旋回体20が左右方向のいずれかに旋回する。そして、供給された圧油によって走行右油圧モータ13a、走行左油圧モータ13bが回転することで、下部走行体10が走行する。
コントローラ(制御装置)60は、演算処理装置(例えばCPU等)と、記憶装置(例えばROM,RAM等の半導体メモリ)とを備え、記憶装置に記憶されたプログラムを演算処理装置で実行することで当該プログラムが規定する各種処理を実行可能に構成されている。
コントローラ60は、操作レバー81から出力された操作量と、フロント作業装置30に予め設定した所定の制御点であるバケット先端P4の位置情報(制御点位置情報)と、コントローラ60内に予め記憶された目標面60(図6参照)の位置情報(目標面情報)とに基づいて制御指令を演算し、その制御指令に基づいて流量制御弁15を制御する。本実施形態のコントローラ60は、操作レバー81の操作時に、フロント作業装置30の動作範囲が目標面60上及びその上方に制限されるようにアームシリンダ34及びブームシリンダ32の目標速度をバケット先端P4(制御点)と目標面60の距離(目標面距離)D(図6参照)に応じて演算する。なお、本実施形態ではフロント作業装置30の制御点としてバケット先端P4(バケット35の爪先)を設定したが、フロント作業装置30上の任意の点を制御点に設定でき、例えばフロント作業装置30においてアーム33より先の部分で目標面60に最も近い点を制御点に設定しても良い。
図4はコントローラ60で行われる複数の処理を機能で分類した機能ブロック図であり、この図に示すようにコントローラ60によって行われる処理は、制御点位置演算部61、目標面記憶部62、操作判定部63、制御状態管理部64、及び領域制限制御部65に区分できる。図5は領域制限制御部65の機能ブロック図であり、この図に示すように領域制限制御部65は、距離演算部65a、目標速度演算部65b、及び電磁比例弁制御部65cに区分できる。
操作判定部63は、操作量センサ52a-52fから入力される情報に基づいて、操作レバー81,82が操作されていない状態(以下、非操作状態と称する)であるか否かを判定する。本実施形態の操作判定部63は、操作レバー81,82の非操作状態が所定時間T1以上継続した場合に、操作レバー81,82が非操作状態であると判定する。操作レバー81,82が非操作状態か否かは全ての操作量センサ52からコントローラ60に入力される操作量(電圧値)が、非操作時でも振動や外乱等によって生じる操作量の変動よりわずかに大きい値に設定された閾値Vt未満か否かによって判定することができる。すなわち全ての操作量センサ52で検出される操作量が当該閾値Vt未満であれば操作レバー81,82は非操作状態であると操作判定部63は判定する。なお、目標面60の掘り過ぎを防止すれば足りるという立場に立つのであれば、フロント作業装置30を操作し得る操作レバー81a,81bのみが非操作状態であるか否かを判定しても良い。すなわち、走行操作レバー82a,82bの操作状態を問わないように構成しても良い。
制御状態管理部64は、オペレータによる制御状態切り替えスイッチ68の操作に基づいて、コントローラ60(領域制限制御部65)による領域制限制御の制御状態を有効状態と無効状態のいずれか一方に切り替える部分である。ただし、制御状態切り替えスイッチ68の操作によって領域制限制御の制御状態が有効状態(ON)から無効状態(OFF)に切り替えられた後には、制御状態管理部64は、操作判定部63の判定結果と、ロックレバーセンサ53により検出されるロックレバー69の位置との少なくとも一方に基づいて、領域制限制御の制御状態を無効状態(OFF)から有効状態(ON)に切り替えることがある。前者に関して、制御状態切り替えスイッチ68の操作によって領域制限制御の制御状態が有効状態(ON)から無効状態(OFF)に切り替えられた後に操作判定部63の判定結果が非操作状態と判定された場合には、制御状態管理部64は、領域制限制御の制御状態を無効状態から有効状態に切り替える。また、後者に関して、制御状態切り替えスイッチ68の操作によって領域制限制御の制御状態が有効状態(ON)から無効状態(OFF)に切り替えられた後にロックレバー69がロック位置に切り替えられた場合には、制御状態管理部64は、領域制限制御を無効状態(OFF)から有効状態(ON)に切り替える。
制御状態管理部64は、領域制限制御の制御状態を有効状態(ON)に切り替えた場合には、領域制限制御部65内の目標速度演算部65bに対してON信号を出力する。一方、制御状態管理部64は、領域制限制御の制御状態を無効状態(OFF)に切り替えた場合には、目標速度演算部65bに対してOFF信号を出力する。
制御点位置演算部61は,車体座標系におけるバケット先端P4の位置と、車体座標系におけるフロント作業装置30の各フロント部材31,33,35の姿勢を演算する。演算は公知の方法に基づけば良いが、IMU50の情報から演算される傾斜角θ1,θ2,θ3の情報と、車体座標系におけるブームフートピンP1の座標値と、ブーム長さL1及びアーム長さL2及びバケット長さL3を利用して、車体座標系におけるバケット先端P4の位置と、車体座標系におけるフロント作業装置30の各フロント部材31,33,35の姿勢を演算する。なお、フロント作業装置30の制御点の座標値は、レーザー測量計などの外部計測機器により計測し、その外部計測機器との通信により取得されてもよい。
目標面記憶部62は,例えば運転室24内にある目標面設定装置66から入力されるデータに基づき演算された目標面60の車体座標系における位置データ(目標面データ)を記憶している。本実施形態では,図6に示すように,フロント作業装置30の各フロント部材31,33,35が動作する平面(作業機の動作平面)で設計図の3次元データを切断した断面形状を目標面60(2次元の目標面)として利用する。なお、目標面60の位置データは、地理座標系におけるフロント作業装置30の制御点の位置データに基づいて、油圧ショベルの周辺の目標面60の位置データを外部サーバから通信により取得して目標面記憶部62に記憶してもよい。
距離演算部65a(図5)は、制御点位置演算部61で演算されたフロント作業装置30の制御点の位置データと、目標面記憶部62から取得した目標面60の位置データとからフロント作業装置30の制御点と目標面60との距離D(図6参照)を演算する。
目標速度演算部65b(図5)は、操作レバー81の操作時に、フロント作業装置30の動作範囲が目標面60上及びその上方に制限されるように各油圧シリンダ32,34,36の目標速度を距離Dに応じて演算する部分である。その一例として本実施の形態では下記の演算を行う。
まず、目標速度演算部65bは、まず、操作量センサ52cから入力される電圧値(ブーム操作量)からブームシリンダ32への要求速度(ブームシリンダ要求速度)を計算し、操作量センサ52bから入力される電圧値(アーム操作量)からアームシリンダ34への要求速度を計算し、操作量センサ52dから入力される電圧値(バケット操作量)からバケットシリンダ36への要求速度を計算する。この3つの要求速度と制御点位置演算部61で演算されたフロント作業装置30の各フロント部材31,33,35の姿勢から、バケット先端P4におけるフロント作業装置30の速度ベクトル(要求速度ベクトル)V0(図8)を計算する。そして、速度ベクトルV0の目標面鉛直方向の速度成分V0zと目標面水平方向の速度成分V0xも計算する。
次に、目標速度演算部65bは、距離Dに応じて決定される補正係数kを演算する。図7はバケット先端P4と目標面60の距離Dと速度補正係数kとの関係を表すグラフである。バケット爪先座標P4(フロント作業装置30の制御点)が目標面60の上方に位置している時の距離を正、目標面60の下方に位置している時の距離を負として、距離Dが正の時は正の補正係数を、距離Dが負の時は負の補正係数を、1以下の値として出力する。なお、速度ベクトルは目標面60の上方から目標面60に近づく方向を正としている。
(A.制御状態管理部64からON信号が入力された場合)
制御状態管理部64からON信号が入力された場合(すなわち領域制限制御が有効状態の場合)には、目標速度演算部65bは、距離Dに応じて決定される補正係数kを、速度ベクトルV0の目標面鉛直方向の速度成分V0zに乗ずることによって速度成分V1zを計算する。この速度成分V1zと、速度ベクトルV0の目標面水平方向の速度成分V0xとを合成することで合成速度ベクトル(目標速度ベクトル)V1を計算し、この合成速度ベクトルV1を発生可能なブームシリンダ速度と、アームシリンダ速度(Va1)と、バケットシリンダ速度をそれぞれ目標速度として演算する。この目標速度の演算の際には、制御点位置演算部61で演算されたフロント作業装置30の各フロント部材31,33,35の姿勢を利用しても良い。
図8はバケット先端P4における距離Dに応じた補正前後の速度ベクトルを表す模式図である。要求速度ベクトルV0の目標面鉛直方向の成分V0z(図8の左の図参照)に速度補正係数kを乗じることにより、V0z以下の目標面鉛直方向の速度ベクトルV1z(図8の右の図参照)が得られる。V1zと要求速度ベクトルV0の目標面水平方向の成分のV0xとの合成速度ベクトルV1を計算し、V1を出力可能なアームシリンダ目標速度Va1と、ブームシリンダ目標速度と、バケットシリンダ目標速度とが計算される。
(B.制御状態管理部64からOFF信号が入力された場合)
制御状態管理部64からOFF信号が入力された場合(すなわち領域制限制御が無効状態の場合)には、目標速度演算部65bは、距離Dに関わらず補正係数kを1とする。したがって、この場合の速度ベクトルは、距離Dに関わらず操作レバー81a,81bの操作量によって規定されるV0となり、当該速度ベクトルV0を出力可能なアームシリンダ目標速度Va0と、ブームシリンダ目標速度と、バケットシリンダ目標速度とが計算される。
電磁比例弁制御部65cは、目標速度演算部65bで演算された各油圧シリンダ32,34,36の目標速度に基づいて、電磁比例弁47c,47d,47e,47f,47g,47hへの制御指令を演算し、その制御指令を対応する電磁弁47c,47d,47e,47f,47g,47hに出力することで対応する各流量制御弁(各スプール)15を制御する部分である。
ところで、制御点位置演算部61で演算される油圧ショベルの姿勢情報、目標面記憶部62で記憶される目標面、制御状態管理部64から出力される領域制限制御の制御状態は、油圧ショベルの運転室24内に設置されたモニタ70などの通知装置を介してオペレータに随時通知される。図10は領域制限制御が無効状態に変更されたことをオペレータに通知するときのモニタ70の表示画面の一例であり、図11は領域制限制御が有効状態に変更されたことをオペレータに通知するときのモニタ70の表示画面の一例である。
次に、本実施形態のコントローラ60での処理を表す図9のフローチャートに沿って、領域制限制御の制御状態の変更処理について説明する。コントローラ60は図9のフローチャートの処理を所定の制御周期で実行する。
処理が開始されると、コントローラ60(制御状態管理部64)は、まずステップ1で、制御状態切り替えスイッチ68の操作によって領域制限制御の制御状態が有効状態(ON)から無効状態(OFF)に切り替えられたか否かを判定する。
ステップ1の条件が満たされない場合(制御状態切り替えスイッチ68の操作により無効状態に切り替えられていない場合)には、条件成立まで待機状態となる。ステップ1の条件が成立した場合(制御状態切り替えスイッチ68の操作により無効状態に切り替えられた場合)には、コントローラ60(制御状態管理部64)は、図10に示すように領域制限制御が無効に変更された旨をモニタ70に表示し(ステップ2)、ステップ3に進む。
ステップ3では、コントローラ60(操作判定部63)は、操作レバー81,82が非操作であるかを判定する。具体的には、先述のように、操作レバー81,82の操作量が当該操作レバー81,82が非操作であることを示す閾値Vt未満かを判定する
ステップ3の条件が満たされない場合(操作レバー81,82が操作状態である場合)には、条件成立まで待機状態となる。なお、この間に、制御状態切り替えスイッチ68の操作によって領域制限制御の制御状態が無効状態(OFF)から有効状態(ON)に切り替えられた場合には、図9の処理を終了して次の制御周期まで待機することが好ましい。一方、ステップ3の条件が成立した場合(操作レバー81,82が非操作である場合)には、ステップ4に進む。
ステップ4では、コントローラ60(制御状態管理部64)は、領域制限制御が無効状態となった後に操作レバー81,82が非操作である時間t1(操作判定部63により非操作状態であると判定されている時間)が、所定の判定時間T1(所定時間T1)を経過したかを判定する。ただし、時間t1は或る制御周期で図9のフローを開始した後にステップ3で1回目に操作レバー81,82が非操作と判定された時刻から計測するものとし、次の制御周期で再び図9のフローを開始する際にはゼロリセットするものとする。また、判定時間T1はオペレータの使用状況に応じて変更可能にすると良い。当該変更は、運転室24内に設置された操作装置(入力装置)によって行っても良いし、コントローラ60に外部機器を接続して行うよう構成しても良い。ステップ4の条件が満たされない場合(ステップ4でNoの場合)には、ステップ3に戻る。なお、この間に、制御状態切り替えスイッチ68の操作によって領域制限制御の制御状態が無効状態(OFF)から有効状態(ON)に切り替えられた場合には、図9の処理を終了して次の制御周期まで待機することが好ましい。
ステップ4で条件が成立した場合(ステップ4でYesの場合)には、コントローラ60(制御状態管理部64)は、ステップ5で領域制限制御を有効状態(ON)に変更し(この処理を「自動有効化処理」と称することがある)、ステップ6で図11に示すように領域制限制御が有効状態に変更された旨をモニタ70に表示して処理を終了する。
一般的に、オペレータによって領域制限制御が無効状態(OFF)に変更された後に操作レバー81,82が非操作の状態で所定の判定時間T1が経過している場合は、オペレータが作業を中断している状態である可能性が高い。そこで、本実施形態では、そのような条件が成立した場合には、領域制限制御を無効状態(OFF)から有効状態(ON)に強制的に変更することとした。これにより、その後にオペレータが作業を再開したときに領域制限制御が無効状態(OFF)であるにもかかわらず有効状態(ON)であると思い込んで作業をしてしまい、目標面60の下方にバケット35が侵入して掘り過ぎが発生してしまうというオペレータの意に反する事態の発生を回避できる。すなわち、本実施形態によれば、領域制限制御が無効にされた場合にも所定の条件が成立したときに自動的に領域制限制御が有効になるので、オペレータが領域制限制御を無効にしたことを失念した場合でも現況地形の掘り過ぎが生じることを防止できる。なお、本実施形態では、オペレータが領域制限制御を無効にした場合に操作レバー81,82の操作を継続すれば、オペレータの意図通り領域制限制御は無効状態で保持されるので、領域制限制御が突然有効になることはなく、本実施形態の構成がオペレータの作業に支障を与える可能性は低いと考えられる。
<第2実施形態>
次に、第2実施形態のコントローラ60での処理を表す図12のフローチャートに沿って、領域制限制御の制御状態の変更処理について説明する。コントローラ60は図12のフローチャートの処理を所定の制御周期で実行する。なお、本実施形態に係る油圧ショベルのハードウェア構成は第1実施形態と同じため説明は省略し、図9と同じ処理については同じ符号を付して説明を省略することがある。
ステップ7では、コントローラ60(制御状態管理部64)はロックレバーセンサ53からの信号に基づいてロックレバー69がロック解除位置にあるか(操作レバー81,82により操作可能な状態であるか)を判定する。ステップ7の条件が満たされない場合(ロックレバー69がロック位置にある場合)には、ステップ8に進む。ステップ7の条件が成立した場合(ロックレバー69がロック解除位置にある場合)には、ステップ4に進む。
ステップ8では、コントローラ60(制御状態管理部64)は、領域制限制御が無効状態となった後にロックレバー69がロック位置にある(操作レバー81,82が操作不可能である)時間t2が、所定の判定時間T2を経過したかを判定する。ロックレバー69がロック位置にある場合には、オペレータが作業を中断している状態であると判断できるため判定時間T2は0秒として良い。ただし、時間t2は或る制御周期で図9のフローを開始した後にステップ7で1回目にロックレバー69がロック位置にあると判定された時刻から計測するものとし、次の制御周期で再び図9のフローを開始する際にはゼロリセットするものとする。また、判定時間T2はオペレータの使用状況に応じて変更可能にすると良い。当該変更は、運転室24内に設置された操作装置(入力装置)によって行っても良いし、コントローラ60に外部機器を接続して行うよう構成しても良い。ステップ8の条件が満たされない場合(ステップ8でNoの場合)には、ステップ3に戻る。なお、この間に、制御状態切り替えスイッチ68の操作によって領域制限制御の制御状態が無効状態(OFF)から有効状態(ON)に切り替えられた場合には、図9の処理を終了して次の制御周期まで待機することが好ましい。
ステップ8で条件が成立した場合(ステップ8でYesの場合)には、コントローラ60(制御状態管理部64)は、ステップ5で領域制限制御を有効状態(ON)に変更し(自動有効化処理を実行し)、ステップ6で図11に示すように領域制限制御が有効状態に変更された旨をモニタ70に表示して処理を終了する。
一般的に、オペレータによって領域制限制御が無効状態(OFF)に変更された後にロックレバー69がロック位置にある場合は、オペレータが作業を中断している状態である可能性が高い。そこで、本実施形態では、そのような条件が成立した場合には、領域制限制御を無効状態(OFF)から有効状態(ON)に強制的に変更することとした。これにより、第1実施形態同様に、その後にオペレータが作業を再開したときに領域制限制御が無効状態(OFF)であるにもかかわらず有効状態(ON)であると思い込んで作業をしてしまい掘り過ぎが発生してしまうというオペレータの意に反する事態の発生を回避できる。
<第3実施形態>
次に、第3実施形態のコントローラ60での処理を表す図13のフローチャートに沿って、領域制限制御の制御状態の変更処理について説明する。コントローラ60は図13のフローチャートの処理を所定の制御周期で実行する。なお、本実施形態に係る油圧ショベルのハードウェア構成は第1実施形態と同じため説明は省略し、図9,12と同じ処理については同じ符号を付して説明を省略することがある。
第3実施形態では、所定期間のうちにステップ5でコントローラ60によって自動有効化処理(領域制限制御を自動的に無効状態(OFF)から有効状態(ON)に切り替える処理)が行われた回数をカウントし、そのカウントした回数が所定の回数N1以上にとなった場合には、第1、第2実施形態で自動有効化処理が行われる条件が満たされた場合であっても、自動有効化処理を行わずに領域制限制御を無効状態(OFF)に保持している。次に具体的な処理について説明する。
ステップ5の自動有効化処理が行われた後のステップ10において、コントローラ60(制御状態管理部64)は、自動有効化処理が行われた回数として自動有効化処理カウント値を+1して記憶装置に記憶する処理を行う。自動有効化処理カウント値の初期値はゼロであり、所定の周期(当該周期は例えば図13のフローチャートの制御周期より長く設定できる)でゼロにリセットされる。
次の制御周期でコントローラ60(制御状態管理部64)は、ステップ9において自動有効化処理カウント値が所定の回数N1未満であるかどうかを判定する。この条件が成立した場合(ステップ9でYESの場合)にはステップ1に進む。条件が満たされない場合(自動有効化処理カウント値がN1以上の場合)には、ステップ1から8に関する自動有効化処理の実施要否の判定を行わず、ステップ11で自動有効化処理を無効にしつつ図14に示す自動有効化処理が無効であることを示す情報(無効情報)をモニタ70に表示して処理を終了する。
本実施形態の自動有効化処理の無効化処理は、ステップ1から8に関する自動有効化処理の判定処理を行わないというものであることは図13から明かであるが、これに代えて、例えば、ステップ4又はステップ8でYESと判定された場合にステップ5,6の処理を実行しないというものでも良い。この場合、制御状態切り替えスイッチ68の操作によって領域制限制御が無効状態に切り替えられた後に操作レバー81,82が非操作状態であると判定された場合やロックレバー69がロック位置にあると判定された場合であっても、領域制限制御は無効状態に保持されることになる。
ステップ11の自動有効化処理の無効化処理は、領域制限制御が無効(OFF)の状態でオペレータが操作を継続したいにもかかわらず、操作レバー81,82の非操作状態やロックレバー69の位置によって領域制限制御が自動的に有効(ON)となり、その度にオペレータが制御状態切り替えスイッチ68の操作により領域制限制御を無効状態(OFF)に戻す操作を行うことを回避する目的がある。
なお、ステップ9の自動有効化処理カウント値の判定値N1は、オペレータの使用状況に応じて変更可能にしておくと良い。また、自動有効化処理カウント値はコントローラ60の電源OFFで初期化(ゼロリセット)される設定としても良いし、所定の期間内に連続して領域制限制御を無効にする操作が行われた場合のみに自動有効化処理を無効にすることを目的として、一定期間毎に初期化(ゼロリセット)されることとしても良い。
以上のように、本実施形態では第1,第2実施形態の効果に加えて、領域制限制御が無効(OFF)の状態で操作を継続したい場合に、既定の回数N1以上、制御状態切り替えスイッチ68の手動操作で領域制限制御を無効(OFF)にすると、領域制限制御の自動有効化処理を無効化することができるので、領域制限制御を無効状態で継続することを希望するオペレータの操作性を向上し得る。
なお、本発明は、上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内の様々な変形例が含まれる。例えば、本発明は、上記の実施の形態で説明した全ての構成を備えるものに限定されず、その構成の一部を削除したものも含まれる。また、ある実施の形態に係る構成の一部を、他の実施の形態に係る構成に追加又は置換することが可能である。
例えば、第2実施形態では操作レバー81,82の非操作とロックレバー69の位置の双方に基づいて自動有効化処理を行うか否かを判定したが、ロックレバー69の位置だけに基づいて当該判定を行っても良い。この場合、操作レバー81,82の操作量に関わらずロックレバー69がロック位置にある場合に自動有効化処理が行われることになる。
上記の実施形態ではフロント作業装置30の姿勢を取得するためのセンサをIMU50としたが、これに限らず、各部位に取り付けられる傾斜センサや各シリンダに取り付けられるストロークセンサ、各フロント部材31,33,35に取り付けられるポテンショメータなどの回転角センサで構成しても良い。また、上記の各実施形態では通知装置はモニタ70としたが、ブザーや音声案内などをスピーカ等の音声出力装置を介して出力する方法で、オペレータに領域制限制御の有効状態または無効状態を通知するよう構成しても良い。
また、上記のコントローラ(制御装置)60に係る各構成や当該各構成の機能及び実行処理等は、それらの一部又は全部をハードウェア(例えば各機能を実行するロジックを集積回路で設計する等)で実現しても良い。また、上記のコントローラ60に係る構成は、演算処理装置(例えばCPU)によって読み出し・実行されることで当該コントローラ60の構成に係る各機能が実現されるプログラム(ソフトウェア)としてもよい。当該プログラムに係る情報は、例えば、半導体メモリ(フラッシュメモリ、SSD等)、磁気記憶装置(ハードディスクドライブ等)及び記録媒体(磁気ディスク、光ディスク等)等に記憶することができる。
また、上記の各実施の形態の説明では、制御線や情報線は、当該実施の形態の説明に必要であると解されるものを示したが、必ずしも製品に係る全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えて良い。