本発明の実施形態について図面を参照しながら説明する。
まず、本発明による作業要素の軌道制御が適用される建設機械の一例として油圧ショベルについて説明する。なお、本発明による軌道制御が適用される建設機械は、油圧ショベルに限定されるものではない。
図1は油圧ショベルの側面図である。油圧ショベルの下部走行体1には、旋回機構2を介して上部旋回体3が搭載されている。上部旋回体3からブーム4が延在し、ブーム4の先端にアーム5が接続される。さらに、アーム5の先端にバケット6が接続される。ブーム4、アーム5及びバケット6は、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9によりそれぞれ油圧駆動される。また、上部旋回体3には、運転室としてのキャビン10及び動力源としてのエンジン(図示せず)が搭載される。また、上部旋回体3には油圧ショベルの各部の動作を制御する制御装置としてコントローラ22が搭載される。コントローラ22はマイクロコンピュータ及びメモリ等で構成される制御装置である。
ブーム4は上部旋回体3に対して上下に旋回可能に支持されており、旋回支持部(関節)にブーム角度センサ(図示せず)が取り付けられている。ブーム角度センサは周知の角度検出器であればどのようなものでもかまわないが、安価なロータリエンコーダを用いることが好ましい。ブーム角度センサによりブーム角θ1を検出することができる。ブーム角θ1は水平方向からのブーム4の傾き角度である。なお、ブーム角θ1は、図2における反時計方向(ブームが開く方向)を正とする。また、ブーム角度センサを用いてブーム4の回転速度、すなわちブーム4の移動速度を検出することができる。
アーム5はブーム4の先端に旋回可能に支持されており、旋回支持部(関節)にアーム角度センサ(図示せず)が取り付けられている。アーム角度センサは周知の角度検出器であればどのようなものでもかまわないが、安価なロータリエンコーダを用いることが好ましい。アーム角度センサにより後述のアーム角θ2を検出することができる。アーム角θ2は水平方向からのアーム5の傾き角度である。なお、アーム角θ2は、図2における反時計方向(アームが開く方向)を正とする。また、アーム角度センサを用いてアーム5の回転速度、すなわちブーム5の移動速度を検出することができる。
バケット6はアーム5の先端に旋回可能に支持されており、旋回支持部(関節)にバケット角度センサ(図示せず)が取り付けられている。バケット角度センサは周知の角度検出器であればどのようなものでもかまわないが、安価なロータリエンコーダを用いることが好ましい。バケット角度センサにより後述のバケット角θ3を検出することができる。バケット角θ3はアーム5に対するバケット6の傾き角度である。なお、バケット角θ3は、図2における反半時計方向(バケットが開く方向)を正とする。また、バケット角度センサを用いてバケット6の回転速度、すなわちバケット6の移動速度を検出することができる。
上部旋回体3を旋回させる旋回機構2には、旋回角度センサ(図示せず)が設けられている。旋回角度センサは周知の角度検出器であればどのようなものでもかまわないが、安価なロータリエンコーダを用いることが好ましい。旋回角度センサにより、後述の旋回角θ4を検出することができる。旋回角θ4は上部旋回体3が正面を向いた位置からの角度である。また、旋回角度センサを用いて上部旋回体3の旋回速度を検出することができる。
ブーム4,アーム5,バケット6の位置は、上述のブーム角θ1、アーム角θ2、バケット角θ3及び旋回角θ4をパラメータとして演算により求めることができる。図2はブーム角θ1、アーム角θ2、バケット角θ3及び旋回角θ4を示す図である。図2において、地面からブーム4の旋回支持部までの高さH1は既知の一定の値である。また、ブーム4の旋回支持部からアーム5の旋回支持部までの距離L1も既知の一定の値である。さらに、アーム5の旋回支持部からバケット6の旋回支持部までの距離L2も既知の一定の値である。また、バケット6の厚みT1も既知の一定の値である。したがって、地面からバケット6までの高さHBは以下の式に各パラメータ(θ1〜θ3)の値を入れて演算することで容易に求めることができる。
HB=H1+L1・sinθ1+L2・sinθ2−T1
また、バケット6の先端の高さDBは以下の式で求めることができる。
DB=H1+L1・sinθ1+L2・sinθ2+L3・sin(θ2+θ3)
また、バケット6の旋回方向の位置は、旋回機構2に設けられた旋回角度センサで検出した旋回角θ4で表される。
ここで、上述の油圧ショベルの油圧回路について簡単に説明する。図3は油圧ショベルの油圧回路の回路図である。
図3に示すように、可変容量型の油圧ポンプ11の吐出油路12には各アクチュエータ用のコントロール弁13,14,15を含むコントロールバルブが設けられている。
旋回モータ16用の減圧弁17の操作レバー17aを操作することにより、コントロール弁14のスプールが切り替わって、油圧ポンプ11から吐出された高圧の作動油が旋回モータ16に供給され、旋回モータ16が左右何れかの方向へ回転する。減圧弁17を含むパイロット圧生成回路の詳細については後述する。
ブームシリンダ7用の減圧弁23の操作レバー23aを操作することにより、コントロール弁13のスプールが切り替わって、油圧ポンプ11から吐出された高圧の作動油がブームシリンダ7に供給され、ブームシリンダ7が何れかの方向へ駆動される。減圧弁23を含むパイロット圧生成回路の詳細については後述する。
油圧ポンプ11は可変容量型であり、油圧シリンダ33の伸縮によりポンプ傾転角を変えて吐出量を増減することができる。油圧シリンダ33には、油圧源34からの作動油とネガコン油路35からの作動油との何れか高圧の一方を選択して導入させるシャトル弁36が接続されている。油圧シリンダ33とシャトル弁36とで油圧ポンプ11の吐出量を変更する手段が構成される。
油圧源34とシャトル弁36との間には減圧弁37と電磁切替弁38が設けられる。油圧源34からの高圧の作動油が減圧弁37にて所定圧に減圧された後に、電磁切替弁38が開放されると、シャトル弁36を介して油圧シリンダ33に作動油が導入される。油圧シリンダ33に作動油が導入されずピストンロッドが引き込まれた状態であると、油圧ポンプ11の傾転角が大となって吐出量が大流量の状態となる。
なお、図3には旋回モータ16を駆動する油圧回路及びブームシリンダ7を駆動する油圧回路が示されているが、アーム5及びバケット6を駆動するアームシリンダ8、バケットシリンダ9が他のコントロール弁に接続され、ブームシリンダ7を駆動する油圧回路と同様な油圧回路がそれぞれのコントロール弁に対して設けられている。
ここで、パイロット圧生成回路について説明する。図4はパイロット圧生成回路の一例の油圧回路図である。図4に示すパイロット圧生成回路は、油圧式レバーをオペレータが操作することによりパイロット圧を生成する油圧回路である。この油圧回路には、コントロールバルブとしてパイロット作動系のバルブが使用される。例えば、減圧弁23の操作レバー23aを左側に倒すと、左側の減圧弁23Aが下方に押され、パイロットライン26aとパイロットライン24とが連通する。これにより、パイロット油圧ポンプ28からのパイロット圧が電磁比例弁Cでコントロールされ、パイロットライン26a,24及び電磁切替弁Bを介してコントロールバルブに供給される。操作レバー23aの操作量が大きいほど減圧弁23Aは下方へ大きく押し込まれ、より大きなパイロット圧がコントロールバルブへと供給される。同様に、操作レバー23aを右側に倒すと、右側の減圧弁23Bが下方に押され、パイロットライン26aとパイロットライン25とが連通する。これにより、パイロット油圧ポンプ28からのパイロット圧が、電磁比例弁C、パイロットライン26a,25及び電磁切替弁Bを介してコントロールバルブに供給される。操作レバー23aの操作量が大きいほど減圧弁23Bは下方へ大きく押し込まれ、より大きなパイロット圧がコントロールバルブへと供給される。自動運転時のパイロット圧生成回路の動作については後述する。減圧弁17についても上述のパイロット圧生成回路と同様な油圧回路に組み込まれるのでその説明は省略する。
次に、油圧ショベルを用いて行なう作業の一例について説明する。油圧ショベルを用いて行なう動作の代表的なものとして、掘削・積込み動作がある。掘削・積込み動作は、掘削動作と積込み動作を含む一連の動作であり、バケットで土を掘ってすくい上げ、ダンプカーの荷台等の所定の場所に排土する作業である。掘削・積込み動作については、社団法人日本建設機械化協会規格(JCMAS)において詳細に規定されている。
掘削・積込み動作について、図5を参照しながらさらに詳しく説明する。まず、図5(a)に示すように、上部旋回体3を旋回してバケット6が掘削位置の上方に位置している状態で、且つ、アーム5が開きバケット6も開いた状態で、オペレータはブーム4を下げ、バケット6の先端が目標の掘削深さDとなるようにバケット6を下降させる。通常、旋回及びブーム下げは、オペレータが操作し、目視でバケット6の位置を確認する。また、上部旋回体3の旋回と、ブーム4の下げは同時に行なうことが一般的である。以上の動作をブーム下げ旋回動作と称し、この動作区間をブーム下げ旋回動作区間と称する。
オペレータがバケット6の先端が目標の掘削深さDに到達したと判断したら、次に、図5(b)に示すように水平引き動作に移る。水平引き動作では、バケット6の先端がほぼ水平に移動するように、アーム5が地面に対して垂直になるまでアーム5を閉じる。この水平引き動作により、所定の深さの土が掘削されバケット6でかき寄せられる。水平引き動作が完了したら、次に、図5(c)に示すように、アーム5に対して90度になるまでバケット6を閉じる。すなわち、バケット6の上縁が水平となるまでバケット6を閉じ、かき集めた土をバケット6内に収容する。以上の動作を掘削動作と称し、この動作区間を掘削動作区間と称する。
オペレータは、バケット6が90度になるまで閉じたと判断したら、次に、図5(d)に示すように、バケット6を閉じたままバケット6の底部が所定の高さHとなるまでブーム4を上げる。これに続いて、あるいは同時に、上部旋回体3を旋回して排土する位置までバケット6を旋回移動する。以上の動作をブーム上げ旋回動作と称し、この動作区間をブーム上げ旋回動作区間と称する。
なお、バケット6の底部が所定の高さHとなるまでブーム4を上げるのは、例えば、ダンプカーの荷台に排土する際にはバケット6を荷台の高さより高く持ち上げないとバケット6が荷台にぶつかってしまうためである。例えば熟練していないオペレータが操縦していた場合、バケット6を所定の高さHまで持ち上げないまま旋回するおそれがある。そのような場合には、バケット6をダンプカーの荷台にぶつけてしまうおそれがある。
オペレータは、ブーム上げ旋回動作が完了したと判断したら、次に、図5(e)に示すようにアーム5及びバケット6を開いて、バケット6内の土を排出する。この動作をダンプ動作と称し、この動作区間をダンプ動作区間と称する。ダンプ動作では、バケット6のみを開いて排土してもよい。
オペレータは、ダンプ動作が完了したと判断したら、次に、図5(f)に示すように、上部旋回体3を旋回してバケット6を掘削位置の真上に移動させる。このとき、旋回と同時にブーム4を下げてバケット6を掘削開始位置まで下降させる。この動作は図5(a)にて説明したブーム下げ旋回動作の一部である。オペレータは、図5(a)に示すようにバケット6を掘削開始位置から目標の掘削深さDまで下降させ、再び図5(b)に示す掘削動作を行なう。
以上の「ブーム下げ旋回動作」、「掘削動作」、「ブーム上げ旋回動作」、「ダンプ動作」、「ブーム下げ旋回動作」を一サイクルとしてこのサイクルを繰り返し行いながら、掘削・積込みを進めていく。各動作が完了したか否か、すなわち各動作区間においてなすべき動作が終了したか否かはオペレータの判断によるものであり、オペレータが判断を誤った場合などは、一つの動作区間が完了しないのに、次の動作区間に移行してしまうおそれがある。また、熟練度の低いオペレータの場合は、一つの動作区間においてレバー操作の不慣れにより作業要素を目標値に到達させることができないことがある。このため、完了しなかった動作区間をやり直すことで作業効率が低下するばかりでなく、例えば、バケット6をダンプカーの荷台にぶつけて損傷するといった問題を引き起こす可能性がある。
そこで、本発明の一実施形態による軌道支援制御方法では、上述の各動作区間における作業要素の動作(旋回、ブーム上げ、ブーム下げ等)の目標値を定め、目標値をクリアするようにオペレータによる作業要素の駆動を自動的にアシストする。
ここで、自動アシストの概要について説明する。ここでいう自動アシストとは、オペレータ(人間)の操作を建設機械が自動的にアシストするということであり、軌跡制御のように建設機械が全て自動で作業を行なうものではない。
オペレータが操作レバーを操作して作業要素の駆動を開始すると、オペレータによるレバー操作量のとおりに作業要素が駆動される。オペレータのレバー操作量はパイロット圧で表されており、コントローラはパイロット圧で決定される油圧を作業要素に供給するようにコントロール弁を制御する。そして、作業動作の規定値(例えば、位置)が予め設定された判断値となるまでは、パイロット圧の値に基づいて作業要素が駆動される。すなわち、オペレータの熟練度に合わせるために、作業動作の規定値が判断値(閾値)に到達するまではオペレータのレバー操作量のとおりに作業要素が駆動される。
作業要素を駆動している間、パイロット圧はコントローラ22により監視されている。作業動作の規定値が判断値に到達した後は、作業動作の目標値に到達するように、コントロールバルブに入力するパイロット圧を調整する。例えば、オペレータが操作する操作レバーの操作量が最大でない場合、パイロット圧の最大値がコントロールバルブへ入力されるように調整される。これにより、作業要素は強制的に目標値に向かって最大速度で移動するように制御される。
作業要素の規定値が目標値に近づくと、コントローラ22はパイロット圧の値を減少し、作業要素の駆動が目標値で停止するように制御する。すなわち、作業動作が目標値に対して行き過ぎること(オーバーラン)を防止して目標値に達した時点で停止するために、パイロット圧を次第に低減してゼロにする。このとき、パイロット圧をどのように低減するかについては、目標値までの偏差とパイロット圧との関係を示す「フィードバック補正テーブル」を用いて算出することができる。
以下に、人間操作の自動アシストのアルゴリズムについて、ダンプ動作区間におけるブーム上げ操作を例にとってより具体的に説明する。図6はダンプ動作区間におけるブーム上げ操作を自動アシストする場合の制御のフローチャートである。
まず、ダンプ動作区間において、ブーム4を上げるときにブーム4の先端の高さhを検出する(ステップS1)。ブーム4の先端の高さhは、ブーム4の角度θ1とブームの長さL1とから求めることができる。そして、検出した高さhが予め設定された判断値h1となった時点で、操作レバー23aの操作量が最大値であるか否か、すなわちパイロット圧が最大値となっているか否かを判定する(ステップS2)。判断値h1は、例えば目標値h0の半分(h1=h0/2)に設定することができる。目標値h0は、ダンプ動作区間で最終的にバケット6をダンプ位置に持ち上げるためにブームの先端が到達すべき高さである。
ステップS2において、レバー操作量(パイロット圧)が最大値ではない(最大値未満)と判定されると、処理はステップS3に進む。ステップS3では、パイロット圧の値を最大値に設定する。実際のパイロット圧は最大値未満であるが、制御上でパイロット圧の値を最大値に設定することで、あたかもオペレータがレバー操作を最大にしてパイロット圧が最大値になったように制御する。
パイロット圧の最大値への設定は、図4に示すパイロット圧生成回路で行なう。ブーム上げ動作の加速時において、アシスト運転が必要であると判定されると、コントローラ22の記憶部22aから切替信号が電磁切替弁A(ブーム上げ動作用の電磁切替弁)に供給され、電磁切替弁Aが切り替えられる。また、加速時のアシスト運転に必要なパイロット圧を示すアシスト値がコントローラ22の記憶部22aから電磁比例弁Cに供給される。これにより、アシスト値に基づいたパイロット圧がコントロールバルブのコントロール弁13に供給され、ブームシリンダ7が駆動される。したがって、ブーム4はアシスト値で示される所定の加速パターンで自動的にブーム上げ動作を行なう。
同様に、ブーム上げ動作の減速時において、アシスト運転が必要であると判定されると、コントローラ22の記憶部22aから切替信号が電磁切替弁A(ブーム上げ動作用の電磁切替弁)に供給され、電磁切替弁Aが切り替えられる。また、減速時のアシスト運転に必要なパイロット圧を示すアシスト値がコントローラ22の記憶部22aから電磁比例弁Cに供給される。これにより、アシスト値に基づいたパイロット圧がコントロールバルブのコントロール弁13に供給され、ブームシリンダ7が駆動される。したがって、ブーム4はアシスト値で示される所定の減速パターンで自動的にブーム上げ動作を行なう。
図6の処理に戻り、パイロット圧が最大値に変更されると、パイロット圧の値に基づいて油圧を供給するコントロール弁13からブームシリンダ7に供給される作動油の油圧は最大となり、ブーム4は最大の駆動力で駆動される。したがって、ブーム4の移動速度(ブーム4の回転速度)が最大となるように加速される。
ステップS3において、パイロット圧の値をアシスト値として強制的に最大値に設定してオペレータの操作をアシストする状態となると、コントローラ22は、オペレータが操縦している運転室の表示器に「自動加速中」であることを示す表示を行なう。これにより、オペレータは現在自分が操作している操作レバーの操作量が不十分であることを認識することができ、より大きく操作レバーを操作する必要があることを学習することができる。
一方、ステップS2において、レバー操作量(パイロット圧)が最大値であると判定されると、処理はステップS4に進む。パイロット圧の値は操作者のレバー操作によって最大値になっているので、ステップS4ではパイロット圧を変更せず、そのままステップS5に進む。すなわち、パイロット圧の値がオペレータのレバー操作によって最大値になっている場合は、オペレータは適切なレバー操作を行なっている(この作業に熟練したオペレータである)と判断し、自動アシストを行なわずにオペレータの手動操作に任せる。
ステップS3による自動アシスト、あるいはステップS4によるオペレータの手動操作により、ブーム4は加速しながらあるいは最高速度で上昇を続ける。そして、ブーム4の先端の高さhが予め設定された判断値h2となった時点で、ブーム4の速度(回転速度)を検出し、検出した速度がどの程度の速度であるかを判定する(ステップS5)。判断値h2は、例えば目標値h0の2/3(h2=2h0/3)に設定することができる。なお、目標値h0は、ダンプ動作区間で最終的にバケット6をダンプ位置に持ち上げるためにブームの先端が到達すべき高さである。
検出した速度の判定は、例えば、高速、中速、低速、というように少なくとも3段階に分けて判定することが好ましい。ここで速度を判定する理由は、ブーム4の上昇を目標値h0で停止するためには、目標値のどのくらい手前から減速しなければばらないかを知るためである。ブーム4の速度が大きいほどより手前から減速しないと、目標値をオーバーランするおそれがあるためである。
続いて、ステップS6において、ステップS5における速度の判定結果に基づいて、ブーム4の減速を開始する高さh3を算出する。減速開始高さh3は、減速して停止するまでに必要な移動距離である制動距離Δhを目標値h0から減算することで求めることができる(h3=h0−Δh)。ここで、ブーム4の速度が高速のときに必要な制動距離をΔh1、中速のときに必要な制動距離をΔh2、低速のときに必要な制動距離をΔh3とする。制動距離Δh1,Δh2,Δh3は予め求められており、ブーム4の速度に対応してコントローラ22のメモリに格納されている。
ステップS6において減速開始高さh3の算出が終了したら、続いてステップS7において自動加速中であるか否かを判定する。すなわち、ブーム4の操作がステップS3における自動アシストによる操作なのか、ステップS4におけるオペレータの手動操作なのかを判定する。
ステップS7において自動加速中であると判定された場合、処理はステップS8に進む。ステップS8では、制動距離Δhで決定され、記憶部22aに入力されている減速パターンに従ってアシスト値が出力され、減速開始高さh3に到達した時点からブーム4を減速させ目標値h0で停止させる。この減速操作は、オペレータのレバー操作に関係なく強制的に自動で行なわれる。すなわち、オペレータのレバー操作により生成されたパイロット圧にかかわりなく、制御上のパイロット圧の値を自動的に小さくしてゼロにすることでブーム4を停止させる。ステップS7で自動加速中と判定されるということは、ステップS3で自動アシストが行なわれたということであり、このオペレータの熟練度が低いと判定できる。したがって、熟練度が低いオペレータの場合はブーム4を停止させる際にもアシストするほうが好ましいと判断し、オペレータの手動操作ではなく、自動的にブーム4を目標値h0で停止させる。
ブーム4を自動的に停止させるには、ステップS5において高速と判定された場合は、ブーム4が減速開始高さh3=h0−Δh1に到達した時点から、図7に示す予め設定された減速パターンIに従ってブーム4を減速させ、目標値h0で停止させる。ステップS5において中速と判定された場合は、ブーム4が減速開始高さh3=h0−Δh2に到達した時点から、図7に示す予め設定された減速パターンIIに従ってブーム4を減速させ、目標値h0で停止させる。ステップS5において低速と判定された場合は、ブーム4が減速開始高さh3=h0−Δh3に到達した時点から、図7に示す予め設定された減速パターンIIIに従ってブーム4を減速させ、目標値h0で停止させる。
一方、ステップS7において自動加速中ではないと判定されると、処理はステップS9に進む。ステップS9では、ブーム4の高さhがステップS6で算出した減速開始高さh3=h0−Δhとなった時点で、レバー操作量が最大値であるか、すなわち実際のパイロット圧が最大値であるか否かを判定する。
ステップS9においてレバー操作量が最大値であると判定されると、処理はステップS10に進む。ステップS10では、ステップS8と同様に、制動距離Δhで決定される減速パターンに従って、減速開始高さh3に到達した時点からブーム4を減速させ目標値h0で停止させる。この減速操作は、オペレータのレバー操作に関係なく強制的に自動で行なわれる。すなわち、オペレータのレバー操作により生成されたパイロット圧にかかわりなく、制御上のパイロット圧の値を自動的に小さくしてゼロにすることでブーム4を停止させる。ステップS7で自動加速中ではないと判定され、さらにステップS9でレバー操作量が最大値であると判定されるということは、減速を行なわなければならないのに未だオペレータは減速操作を行なっていないということである。したがって、この場合は自動アシストでブーム4を停止させるほうが好ましいと判断し、オペレータの手動操作ではなく、自動的にブーム4を目標値h0で停止させる。
ブーム4を自動的に停止させる処理はステップS8における処理と同様である。すなわち、ステップS5において高速と判定された場合は、ブーム4が減速開始高さh3=h0−Δh1に到達した時点から、図7に示す予め設定された減速パターンIに従ってブーム4を減速させ、目標値h0で停止させる。ステップS5において中速と判定された場合は、ブーム4が減速開始高さh3=h0−Δh2に到達した時点から、図7に示す予め設定された減速パターンIIに従ってブーム4を減速させ、目標値h0で停止させる。ステップS5において低速と判定された場合は、ブーム4が減速開始高さh3=h0−Δh3に到達した時点から、図7に示す予め設定された減速パターンIIIに従ってブーム4を減速させ、目標値h0で停止させる。
一方、ステップS9においてレバー操作量が最大値ではない(最大値未満)と判定されると、処理はステップS11に進む。ステップS11では、自動アシストを行なわず、ブーム4の停止をオペレータの手動操作に任せる。ステップS9においてレバー操作量が最大値ではない(最大値未満)と判定されるということは、オペレータが既に減速操作を行なっているということであり、そのままオペレータの手動操作に任せておけば目標値h0でブーム4を停止できると判断できる。
図8は上述の自動アシストアルゴリズムによりブーム上げ操作をアシストした場合のブーム4の軌道と速度の変化、及びパイロット圧の値の変化を示す図である。図8(a)はブーム4の高さを示し、図8(b)はブーム4の速度を示し、図8(c)はブームの駆動に用いられるパイロット圧の値を示している。図8に示す例は熟練度の低いオペレータが操作した場合を示しており、実線は自動アシストを行なった場合の変化を示し、点線は自動アシストを行なわない場合の変化を示している。
上述のステップS1〜S2は、図8(a)におけるT0〜T1の動作開始区間に相当する。オペレータがブーム上げ操作を時刻T0で開始すると、ブーム4の高さhが判断値h1に到達するまでは、自動アシストは行なわれず、オペレータのレバー操作のとおりにブーム4が駆動される。したがって、図8(a)に示されるようにブーム4の高さhは自動アシストありの場合も自動アシスト無しの場合も同様に変化し、図8(b)に示されるように速度も自動アシストありの場合も自動アシスト無しの場合も同様に変化する。また、ブーム4の駆動に用いられるパイロット圧の値は、オペレータによる操作レバーの操作で生成されたパイロット圧そのものである。
上述のステップS2の処理は、ブーム4の高さhが判断値h1になった時点で行なわれる判定であり、図8ではこの時点が時刻T1に相当する。すなわち、時刻T1において、オペレータがレバー操作を最大にしているか否かを判定している。時刻T1においてオペレータがレバー操作を最大にしていない場合は、その後のブーム4の速度が十分大きくならず、図8(b)の点線で示す変化となってしまう。この場合、ブーム4の高さhも図8(a)の点線で示すように目標値h0に到達しない。そこで、上述のステップS3において、自動アシストが行なわれ、パイロット圧の値を強制的に最大値に設定するよう補正する。したがって、パイロット圧の変化は、図8(c)の実線で示すように、時刻T1以後は最大値まで上昇して最大値が維持される。
このように、時刻T1以降のパイロット圧の値が最大値に設定されることにより、ブーム4の速度は図8(b)の実線で示すように時刻T1以降も上昇し、その結果ブーム4の高さhが目標値h0に到達できるようになる。
続いて、ブーム4の高さhが判断値h2となった時点で、上述のステップS5の処理が行なわれ、ブーム4の速度が高速であるか、中速であるか、低速であるかを判定する。図7において、ブーム4の高さhが判断値h2となった時点は時刻T2に相当する。判断値h2は目標値h0の2/3としているが、2/3に限定されるものではない。目標値h0の2/3の高さまで上昇していればブーム4の速度はほぼ最大となっているはずであり、その速度から停止させるまでの制動距離Δhを算出できるためである。判断値h2が小さすぎると、ブーム4の速度が最大値に到達していないおそれがあり、判断値h2が大きすぎると、目標値h0までの距離が算出した制動距離Δhより小さくなってしまうおそれがある。以上を考慮して判断値h2を適宜決定すればよい。
時刻T2で制動距離Δhを算出したら、目標値h0から制動距離Δhを減算して求めた高さ(h0−Δh)に到達するまでは、パイロット圧の値は最大値のまま維持される。図8において、ブーム4の高さhが(h0−Δh)となった時点が時刻T3に相当する。したがって、図8(b)の実線で示されるように、ブーム4の速度は、時刻T3までは最大値に維持される。
ブームの高さhが、目標値h0から制動距離Δhを減算して求めた高さ(h0−Δh)に到達すると(時刻T3において)、ブーム4の減速が開示され、図8(c)の実線で示されるように、パイロット圧の値が徐々に低減される。このときの減速パターンは、図7を参照して説明したとおりである。減速パターンに沿った減速(パイロット圧の値の減少)は時刻T4まで行なわれる。時刻T4では、図8(b)の実線で示されるようにブーム4の速度はほぼゼロであり、図8(a)の実線で示すようにブーム4の高さhはほぼ目標値h0となっている。そこで、時刻T4において、パイロット圧の値を急激にゼロまで落としてブーム4を停止させる。したがって、図8(b)の実線で示すように時刻T4を過ぎた時点でブームの速度はゼロとなり、図8(a)の実線で示すように時刻T4を過ぎた時点でブーム4の高さは目標値h0に到達する。
一方、自動アシストを行なわない場合は、図8(c)の点線で示すように時刻T3を過ぎてもパイロット圧の値は操作者のレバー操作により生成されたパイロット圧のままである。したがって、図8(b)の点線で示すように、ブーム4の速度の減少は鈍く、時刻T4の時点でもブーム4の速度はあまり低下していない。このため、時刻T4を過ぎてもすぐにはブーム4は停止できず、ある程度の時間の後に停止することとなる。
次に、ブーム4を停止する際の自動アシストについてさらに図9を参照しながら説明する。図9はブームを停止する際のパイロット圧の値の変化を示す図である。
図9において、実線は熟練したオペレータのレバー操作による減速パターン(パイロット圧の変化)の一例を示し、一点鎖線は本発明による自動アシストを行なった場合の減速パターン(パイロット圧の変化)を示し、点線は本発明による制御処理を適用しない場合の減速パターン(パイロット圧の変化)の一例を示している。
点線で示す本発明による制御処理を適用しない場合の減速パターンでは、パイロット圧はオペレータのレバー操作によって決定される。このため、例えば熟練度の低いオペレータが操作しており、時刻T3において依然としてレバー操作量を最大値のままにしていると、パイロット圧も最大値のままとなっている。したがって、減速を開始すべき時刻T3においても、減速が開始されないこととなる。オペレータが、時刻T4になって慌ててレバー操作量を小さくして減速しても、適切なタイミングで減速が開始されなかったため、作業要素が行き過ぎてしまい(ブームが高く上がりすぎてしまう)、迅速で的確な操作・制御を行なうことができない。
一方、実線で示す熟練したオペレータのレバー操作による減速パターンでは、ブームがh1=h0/2の高さになった時刻T2において、パイロット圧は最大値となっている。このため、図6に示すブーム上げ操作を自動アシストする場合の制御処理のうち、ステップS2からステップS4に進み、パイロット圧の補正は不要であると判断される。その結果、ステップS7においても手動加速中である(自動加速中ではない)と判断され、処理はステップS9に進む。そして、ブームの高さがh3(h0−h)となった時刻T3において、ステップS9でレバー操作量が最大値であるか否かが判定される。熟練したオペレータのレバー操作によれば、時刻T3において既にレバー操作量は低減されているので、パイロット圧は最大値より小さい値となっている。このため、制御処理はステップS11に進み、時刻T4において減速動作は終了する。
ここで、一点鎖線で示す本発明による自動アシストを行なった場合の減速パターンでは、ブームがh1=h0/2の高さになった時刻T2において、パイロット圧は最大値となっている。このため、図5に示すブーム上げ操作を自動アシストする場合の制御処理のうち、ステップS2からステップS4に進み、パイロット圧の補正は不要であると判断される。その結果、ステップS7においても手動加速中である(自動加速中ではない)と判断され、処理はステップS9に進む。ステップS9では、ブームの高さがh3(h0−h)となった時刻T3において、レバー操作量が最大値であるか否かが判定される。ここで、手動操作の状態でレバーがMAXのままの場合は、時刻T3においてもレバー操作量が最大であるため、制御処理はステップS10に進み、予め設定された適切な減速パターンに従って自動運転が行なわれる。
以上説明したように、本実施形態による自動アシストのアルゴリズムを用いた油圧ショベルでは、制御装置であるコントローラ22は、速度検出器が検出した作業要素であるブーム4の速度に基づいて複数の減速パターンのうちから選択した一つの減速パターンを用いてブーム4を自動的に減速して停止させるように自動アシストを行なう。このため、熟練度の低いオペレータが操作した場合でも、オペレータの操作によらず、適切に且つ確実に作業要素としてのブーム4を停止させることができる。
また、作業要素であるブーム4を駆動する際に、操作を開始してからブーム4が所定の高さ(目標高さの1/2)になった時点でブームの速度が最大速度となっているかを判定し、最大速度未満の場合は、オペレータの操作にかかわらずに最大速度となるように自動アシストする。これにより、熟練度の低いオペレータが操作した場合でも、オペレータの操作によらず、ブーム4を確実に目標の高さまで移動することができる。
上述の実施形態では、油圧式レバーを用いたパイロット圧生成回路を用いる例について説明したが、電気式レバーを用いたパイロット圧生成回路を用いることとしてもよい。
図10は電気式レバーを用いたパイロット圧生成回路の一例の回路図である。図10において、減圧弁23と操作レバー23とを含む油圧式レバーの代わりに電気式レバー40が用いられている。電気式レバー40の操作レバー40aを操作すると、その操作量に応じたレバー操作信号がレバー操作信号生成部40bから切替部42に供給される。切替部42は、供給されたレバー操作信号に応じて当該レバー操作信号を電磁比例弁A又は電磁比例弁Bに出力する。例えば、供給されたレバー操作信号がブーム上げを表す信号であると判断した場合、切替部42は当該レバー操作信号を電磁比例弁Aに出力する。これにより、パイロット油圧ポンプ28からの油圧が電磁比例弁Aにより制御されて、レバー操作量(ブーム上げ操作量)に応じたパイロット圧がコントロールバルブに供給される。同様に、供給されたレバー操作信号がブーム下げを表す信号であると判断した場合、切替部42は当該レバー操作信号を電磁比例弁Bに出力する。これにより、パイロット油圧ポンプ28からの油圧が電磁比例弁Bにより制御されて、レバー操作量(ブーム下げ操作量)に応じたパイロット圧がコントロールバルブに供給される。
一方、自動アシスト運転時には、切替部42は電気式レバー40からのレバー操作信号は用いずに無視し、コントローラ22の記憶部22aからのアシスト値を電磁比例弁A又は電磁比例弁Bに出力する。例えば、ブーム上げ動作における減速時において自動アシスト運転が必要であると判断されると、切替部42は記憶部22aに格納されている減速パターンに基づいたアシスト値を電磁比例弁Aに出力する。これにより、記憶部22aに格納されている減速パターンに応じたパイロット圧が電磁比例弁Aを介してコントロールバルブに供給される。同様に、ブーム下げ動作における加速時において自動アシスト運転が必要であると判断されると、切替部42は記憶部22aに格納されている加速パターンに基づいたアシスト値を電磁比例弁Bに出力する。これにより、記憶部22aに格納されている加速パターンに応じたパイロット圧が電磁比例弁Bを介してコントロールバルブに供給される。
図11は電気式レバーを用いたパイロット圧生成回路の他の例の回路図である。図11に示すパイロット圧生成回路では、油圧回路を用いずに、電気式レバー40からの電気信号をそのままコントロールバルブに供給する。この例では、コントロールバルブとして油圧作動系ではなく、電磁作動系のコントロールバルブが用いられる。電気式レバー40の操作レバー40aを操作すると、その操作量に応じたレバー操作信号がレバー操作信号生成部40bから切替部42に供給される。切替部42は、供給されたレバー操作信号に応じて当該レバー操作信号に応じた電気信号をコントロールバルブに出力する。例えば、供給されたレバー操作信号がブーム上げを表す信号であると判断した場合、切替部42は当該レバー操作信号をコントロールルバルブに出力する。これにより、コントロールバルブは油圧ポンプ14からの油圧を制御し、レバー操作量(ブーム上げ操作量)に応じた油圧をブームシリンダ7に出力する。同様に、供給されたレバー操作信号がブーム下げを表す信号であると判断した場合、切替部42は当該レバー操作信号をコントロールバルブに出力する。これにより、コントロールバルブは油圧ポンプ14からの油圧を制御し、レバー操作量(ブーム下げ操作量)に応じた油圧をブームシリンダ7に出力する。
一方、自動アシスト運転時には、切替部42は電気式レバー40からのレバー操作信号は用いずに無視し、コントローラ22の記憶部22aからのアシスト値をコントロールバルブに出力する。例えば、ブーム上げ動作における減速時において自動アシスト運転が必要であると判断されると、切替部42は記憶部22aに格納されている減速パターンに基づいたアシスト値をコントロールバルブに出力する。これにより、記憶部22aに格納されている減速パターンに応じた電気信号がコントロールバルブに供給される。同様に、ブーム下げ動作における加速時において自動アシスト運転が必要であると判断されると、切替部42は記憶部22aに格納されている加速パターンに基づいたアシスト値がコントロールバルブに供給される。