以下、添付図面を参照しながら実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
[ショベルの概要]
最初に、図1を参照して、実施形態に係るショベル100の概要について説明する。図1は、実施形態に係るショベル100の側面図である。
本実施形態に係るショベル100は、下部走行体1と、旋回機構2を介して旋回可能に下部走行体1に搭載される上部旋回体3と、アタッチメントとしてのブーム4、アーム5、及びバケット6と、オペレータが搭乗するキャビン10と、を備える。
下部走行体1は、例えば、左右1対のクローラを含み、それぞれのクローラが走行油圧モータ1A,1B(図2等参照)で油圧駆動されることにより、ショベル100を走行させる。
上部旋回体3は、後述する旋回油圧モータ21(図2参照)等で駆動されることにより、下部走行体1に対して旋回する。
ブーム4は、上部旋回体3の前部中央に俯仰可能に枢着され、ブーム4の先端には、アーム5が上下回動可能に枢着され、アーム5の先端には、バケット6が上下回動可能に枢着される。ブーム4、アーム5、及びバケット6は、それぞれ、油圧アクチュエータとしてのブームシリンダ7、アームシリンダ8、及びバケットシリンダ9によりそれぞれ油圧駆動される。
キャビン10は、オペレータが搭乗する操縦室であり、上部旋回体3の前部左側に搭載される。
[ショベルの基本構成]
次に、図2を参照して、図1のショベル100の構成を詳細に説明する。図2は、図1のショベル100の駆動系を中心とする構成の一例を示すブロック図である。なお、図2において、機械的動力系は二重線、高圧油圧ラインは太い実線、パイロットラインは破線、電気駆動・制御系は細い実線でそれぞれ示される。
本実施形態に係るショベル100の油圧駆動系は、エンジン11と、メインポンプ14と、コントロールバルブ17を含む。また、本実施形態に係る油圧駆動系は、上述の如く、下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6のそれぞれを油圧駆動する走行油圧モータ1A,1B、旋回油圧モータ21、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9を含む。
エンジン11は、ショベル100の駆動力源であり、例えば、上部旋回体3の後部に搭載される。エンジン11は、例えば、軽油を燃料とするディーゼルエンジンである。エンジン11の出力軸には、メインポンプ14及びパイロットポンプ15が接続される。
メインポンプ14は、例えば、上部旋回体3の後部に搭載され、高圧油圧ライン16を通じてコントロールバルブ17に作動油を供給する。メインポンプ14は、上述の如く、エンジン11により駆動される。メインポンプ14は、例えば、可変容量式油圧ポンプであり、レギュレータにより斜板の角度(傾転角)が制御されることにより、ピストンのストローク長を調整し、吐出流量(吐出圧)を制御することができる。
コントロールバルブ17は、例えば、上部旋回体3の中央部に搭載され、オペレータによる操作装置26の操作に応じて、油圧駆動系の制御を行う油圧制御装置である。走行油圧モータ1A(右用),1B(左用)、ブームシリンダ7、アームシリンダ8、バケットシリンダ9、旋回油圧モータ21等は、高圧油圧ラインを介してコントロールバルブ17に接続される。コントロールバルブ17は、メインポンプ14とそれぞれの油圧アクチュエータとの間に設けられ、メインポンプ14からそれぞれの油圧アクチュエータに供給される作動油の流量と流れる方向を制御する複数の油圧制御弁を含むバルブユニットである。
本実施形態に係るショベル100の操作系は、パイロットポンプ15、操作装置26、圧力センサ29等を含む。
パイロットポンプ15は、例えば、上部旋回体3の後部に搭載され、パイロットライン25を介してメカニカルブレーキ23及び操作装置26にパイロット圧を供給する。パイロットポンプ15は、例えば、固定容量式油圧ポンプであり、上述の如く、エンジン11により駆動される。
操作装置26は、レバー装置26A,26Bと、ペダル装置26Cを含む。操作装置26は、キャビン10の操縦席付近に設けられ、オペレータが各動作要素(下部走行体1、上部旋回体3、ブーム4、アーム5、バケット6等)の操作を行う操作手段である。換言すれば、操作装置26は、各動作要素を駆動するそれぞれの油圧アクチュエータ(走行油圧モータ1A,1B、ブームシリンダ7、アームシリンダ8、バケットシリンダ9、旋回油圧モータ21)等の操作を行う操作手段である。操作装置26(レバー装置26A,26B、及びペダル装置26C)は、油圧ライン27を介して、コントロールバルブ17に接続される。これにより、コントロールバルブ17には、操作装置26における下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の操作状態に応じたパイロット信号(パイロット圧)が入力される。そのため、コントロールバルブ17は、操作装置26における操作状態に応じて、各油圧アクチュエータを駆動することができる。また、操作装置26は、油圧ライン28を介して圧力センサ29に接続される。
レバー装置26A,26Bは、それぞれ、キャビン10内の操縦席に着座したオペレータから見て、左側及び右側に配置され、それぞれの操作レバーが中立状態(オペレータによる操作入力が無い状態)を基準にして前後方向及び左右方向に傾倒可能に構成される。これにより、レバー装置26Aにおける操作レバーの前後方向の傾倒、及び左右方向の傾倒、並びに、レバー装置26Bにおける操作レバーの前後方向の傾倒、及び左右方向の傾倒のそれぞれに対して、上部旋回体3(旋回油圧モータ21)、ブーム4(ブームシリンダ7)、アーム5(アームシリンダ8)、及びバケット6(バケットシリンダ9)の何れかを操作対象として任意に設定されうる。
また、ペダル装置26Cは、下部走行体1(走行油圧モータ1A,1B)を操作対象とし、キャビン10内の操縦席に着座したオペレータから見て、前方のフロアに配置され、その操作ペダルは、オペレータにより踏み込み可能に構成される。
圧力センサ29は、上述の如く、油圧ライン28を介して操作装置26と接続され、操作装置26の二次側のパイロット圧、即ち、操作装置26における各動作要素の操作状態に対応するパイロット圧を検出する。圧力センサ29は、コントローラ30に接続され、操作装置26における下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の操作状態に応じた圧力信号(圧力検出値)がコントローラ30に入力される。これにより、コントローラ30は、ショベルの下部走行体1、上部旋回体3、及びアタッチメントの操作状態を把握することができる。
本実施形態に係るショベル100の制御系は、コントローラ30、加速度検出部31、各種センサ32等を含む。
コントローラ30は、ショベル100における駆動制御を行う主たる制御装置である。コントローラ30は、任意のハードウェア、ソフトウェア、或いはそれらの組み合わせにより実現されてよい。コントローラ30は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置、I/O(Input−Output interface)等を含むマイクロコンピュータを中心に構成されてよく、ROMや補助記憶装置等に格納される各種プログラムをCPU上で実行することにより各種駆動制御が実現される。
コントローラ30は、上部旋回体3の加速度の方向に基づき、下部走行体1に対する上部旋回体3の相対的な旋回角度θを算出し、この算出した旋回角度θに基づいて、オペレータの意図しないショベル100の動作(意図しない動作)が発生しうるショベル100の不安定状態を検出すると、ショベル100の安定化制御を行う。
図3は、コントローラ30により実施される安定化制御の概要を示すフローチャートである。
ステップS1では、ショベル100の下部走行体1が走行中か否かが判定される。ショベル100が走行中の場合(ステップS1のYes)にはステップS2に進み、ショベル100が走行中でない場合(ステップS01のNo)にはステップS4へ進む。
ステップS2では、下部走行体1が走行中であるので、下部走行体1の走行中における上部旋回体3の加速度ACが検出される。ステップS2の処理が完了するとステップS3に進む。
ステップS3では、ステップS2にて検出された加速度ACの方向に基づき、下部走行体1に対する上部旋回体3の相対的な旋回角度θが算出される。ステップS3の処理が完了するとコントローラ30は算出した旋回角度θの情報を記憶して本制御フローを終了する。
ステップS4では、ステップS1にて下部走行体1が走行中ではないと判定されたので、ショベル100がアタッチメント操作中であるか否かが判定される。アタッチメント操作とは、ショベル100の走行以外の作業(例えば掘削やアタッチメントの空中動作など)をいう。ショベル100がアタッチメント操作中の場合(ステップS4のYes)にはステップS5へ進み、そうでない場合(ステップS5のNo)には本制御フローを終了する。
ステップS5では、ステップS4にてアタッチメント操作中と判定されたので、ショベル100が不安定状態となっているか否かが判定される。この不安定状態の判定基準は、ステップS3にて算出した上部旋回体3の旋回角度θに応じて変動する。ショベル100が不安定状態の場合(ステップS5のYes)にはステップS6に進み、そうでない場合(ステップS5のNo)には本制御フローを終了する。
ステップS6では、ステップS5にてショベル100が不安定状態となっていることが判定されたので、不安定状態を解消すべく安定化制御が実施される。安定化制御は、例えば、安定度の表示、力発生の抑制、油圧ポンプ馬力を減らす(圧力、流量など)、ブームリリーフ(車体への反力をブームシリンダで吸収)などの各制御を含む。
ステップS7では、表示装置33を介して不安定状態の発生がオペレータに報知される。ステップS7の処理が完了すると本制御フローを終了する。
本実施形態では、コントローラ30は、オペレータが意図しないショベル100の動作のうち浮き上がり動作の発生の有無を判定する。そして、コントローラ30は、そのような浮き上がり動作が発生したと判定されると、当該動作を抑制するように、ショベル100のアタッチメントの動作を補正したり、オペレータに報知したりする。これにより、ショベル100に発生した意図しない動作が抑制される。
浮き上がり動作には、例えば、掘削反力等により、ショベル100の前部或いは後部が浮き上がる浮き上がり動作が含まれる。以下、浮き上がり動作のうち、ショベル100の前部が浮き上がる場合を「前部浮き上がり動作」と称し、ショベル100の後部が浮き上がる場合を「後部浮き上がり動作」と称して区別する場合がある。
コントローラ30は、例えば、ROMや補助記憶装置に格納される一以上のプログラムをCPU上で実行することにより実現される機能部として、旋回角度算出部301と、浮き上がり支点推定部302と、距離算出部303と、判定部304と、上限値設定部305と、動作補正部306と、を含む。
旋回角度算出部301は、加速度検出部31により検出された上部旋回体3の加速度の方向に基づき、下部走行体1に対する上部旋回体3の相対的な旋回角度θを算出する。旋回角度算出部301は、例えば、加速度に関連する情報、速度、位置等から、加速度を求めたり、加速度に関連する情報から直接θを求めてもよい。
浮き上がり支点推定部302は、旋回角度算出部301により算出された旋回角度θに基づき、前部浮き上がり動作における下部走行体1の浮き上がり支点P1fと、後部浮き上がり動作における下部走行体1の浮き上がり支点P1rとを推定する(図6、図7参照)。
距離算出部303は、浮き上がり支点推定部302により推定された下部走行体1の浮き上がり支点P1f,P1rに基づき、ショベル100の車体重心P3と、下部走行体1の浮き上がり支点P1f,P1rとの間の距離D1,D2を算出する(図6、図7参照)。また、距離算出部303は、下部走行体1の浮き上がり支点P1f,P1rと、ブームシリンダ7の角度と、に基づきブームシリンダ7の延長線l2と浮き上がり支点P1との間の距離D3,D4を算出する(図6、図7参照)。
判定部304は、距離算出部303により算出された距離D1〜D4と、ブームシリンダ7(アクチュエータ)が発生する力F1の情報、または各種センサ32から入力されるショベル100の各種状態に関する情報に基づき、下部走行体1の浮き上がりが発生したか否かを判定する。
上限値設定部305は、距離算出部303により算出された距離D1〜D4に基づき、下部走行体1が浮き上がらない範囲でブームシリンダ7(アクチュエータ)が発生する力(またはシリンダ圧力)の上限値F1maxを設定する。
動作補正部306は、上限値設定部305により設定された上限値F1maxを超えないように、ブームシリンダ7(アクチュエータ)の力F1を制御して、アタッチメントの動作を補正し、浮き上がり動作を抑制させる。
加速度検出部31は、上部旋回体3の加速度を検出する。加速度検出部31は、例えば、ジャイロセンサ、加速度センサ、三軸加速度及び三軸角加速度を出力可能なIMU(Inertial Measurement Unit:慣性計測装置)等を含む。加速度検出部31は、本実施形態では上部旋回体3に取り付けられる。
各種センサ32は、ショベル100の各種状態やショベル100の周辺の各種状態を検出する既知の検出手段である。各種センサ32には、上部旋回体3とブーム4との連結点におけるブーム4の基準面に対する角度(ブーム角度)、ブーム4とアーム5との間の相対的な角度(アーム角度)、及び、アーム5とバケット6との間の相対的な角度(バケット角度)を検出する角度センサが含まれうる。また、各種センサ32には、油圧アクチュエータ内の油圧状態、具体的には、油圧シリンダのロッド側油室及びボトム側油室の圧力を検出する圧力センサ等が含まれうる。また、各種センサ32には、ショベル100の周辺の地形や障害物等との相対位置関係を検出する距離センサや画像センサ等が含まれうる。
表示装置33(報知部)は、各種情報を表示するための装置であり、例えば、ショベルの運転室に設置される液晶ディスプレイである。表示装置33は、コントローラ30からの制御信号に応じて各種情報を表示する。本実施形態では、表示装置33は、コントローラ30の判定部304により浮き上がり動作が発生すると判定されたときに、浮き上がり動作の発生を乗員に報知する。
[前部浮き上がり動作]
図4は、ショベル100の前部浮き上がり動作を説明する図である。具体的には、図4は、前部浮き上がり動作が発生するショベル100の作業状況を示す図である。
図4に示すように、ショベル100は、地面50aの掘削作業を行っており、主に、アーム5及びバケット6の閉じ動作によって、バケット6から地面50aにショベル100の車体寄りの斜め下方向への力F2が作用する。このとき、ショベル100の車体には、バケット6に作用する力F2の反力、即ち、掘削反力F2aのうちの垂直方向成分F2aVに対応する車体を後方に傾斜させようとする反力F3(力のモーメント。以下、本実施形態では、単に「モーメント」と称する)がアタッチメントを介して作用する。具体的には、当該反力F3は、ブームシリンダ7を引き上げようとする力F1として車体に作用する。そして、この力F1に起因して車体を後方に傾斜させようとするモーメントが、重力に基づく車体を地面に抑え付けようとする力(モーメント)を上回ると、車体の前部が浮き上がってしまう。
[後部浮き上がり動作]
図5は、ショベル100の後部浮き上がり動作を説明する図である。具体的には、図5は、後部浮き上がり動作が発生するショベル100の作業状況を示す図である。
図5に示すように、ショベル100は、地面60aの掘削作業を行っている。バケット6が斜面60bを掘り込むように力F2(モーメント)が発生しており、また、ブーム4がバケット6を斜面60bに抑え付けるように、換言すれば、ブーム4が車体を前傾させるように、力F3(モーメント)が発生している。このとき、ブームシリンダ7のロッドを引き上げる力F1が発生し、力F1が、ショベル100の車体を傾けるように作用する。そして、力F1に起因する車体を前傾させようとするモーメントが、重力に基づく車体を地面に抑え付けようとする力(モーメント)を上回ると、車体の後部が浮き上がってしまう。
特に、バケット6が地面や対象物に接触し、引っかかったり、或いは、めり込んだりしている場合、ブーム4に力が作用してもブーム4は動かないため、ブームシリンダ7のロッドは変位しない。ブームシリンダ7の収縮側(本例では、ロッド側)の油室の圧力が大きくなると、ブームシリンダ7自体を持ち上げる力F1、即ち、車体を前方に傾けようとする力が大きくなる。
このような状況は、例えば、前方斜面の整地作業の他、バケット6が車体(下部走行体1)よりも下方に位置する深掘り作業等で生じうる。また、ブーム4自体が操作された場合に限らず、アーム5やバケット6が操作された場合にも生じうる。
[浮き上がり動作の抑制方法]
図6は、前部浮き上がり動作に関連するショベル100の力学的なモデルを示す図であり、図4と同様、ショベル100が地面120aの掘削作業を行っている場合に、ショベル100に作用する力を示す図である。
図6に示すように、ショベル100の前部浮き上がり動作における浮き上がり支点P1fは、下部走行体1の有効接地領域120bのうち、アタッチメントが延在する方向(上部旋回体3の向き)における最後端とみなすことができる。よって、浮き上がり支点P1fまわりに車体前部を持ち上げようとするモーメントτ1は、ブームシリンダ7の延長線l2と浮き上がり支点P1fとの間の距離D3と、力F1に基づき、次の式(1)で表される。
τ1=D3・F1 ・・・(1)
一方、重力が浮き上がり支点P1fまわりに車体を地面に抑え付けようとするモーメントτ2は、ショベル100の車体重心P3と、下部走行体1の後方の浮き上がり支点P1fとの間の距離D1と、車体重量Mと、重力加速度gに基づき、次の式(2)で表される。
τ2=D1・Mg …(2)
車体の前部が浮き上がらずに安定する条件(安定条件)は、次の式(3)で表される。
τ1<τ2 …(3)
よって、式(3)に、式(1),(2)が代入されることにより、安定条件として、次の不等式(4)が得られる。
D3・F1<D1・Mg ・・・(4)
つまり、判定部304は、不等式(4)が成り立つ場合に前部浮き上がり動作が未発生と判定し、不等式(4)が成り立たない場合に前部浮き上がり動作が発生していると判定できる。また、動作補正部306は、制御条件として不等式(4)が成り立つように、アタッチメントの動作を補正することにより、ショベル100の前部浮き上がり動作を防止できる。
図7は、後部浮き上がりに関連するショベル100の力学的なモデルを示す図であり、図5と同様、地面130aの掘削作業を行っている場合に、ショベル100に作用する力を示す図である。
ショベル100の後部浮き上がり動作における浮き上がり支点P1rは、下部走行体1の有効接地領域130bのうち、アタッチメントが延在する方向(上部旋回体3の向き)における最先端とみなすことができる。よって、浮き上がり支点P1まわりに車体を前方に傾けようとするモーメントτ1、即ち、車体後部を持ち上げようとするモーメントτ1は、ブームシリンダ7の延長線l2と、浮き上がり支点P1rの間の距離D4と、ブームシリンダ7が上部旋回体3に及ぼす力F1とに基づき、次の式(5)で表される。
τ1=D4・F1 ・・・(5)
一方、重力が浮き上がり支点P1rまわりに車体を地面に抑え付けようとするモーメントτ2は、ショベルの車体重心P3と、下部走行体1の前方の浮き上がり支点P1rの間の距離D2と、車体重量Mと、重力加速度gに基づき、次の式(6)で表される。
τ2=D2・Mg ・・・(6)
車体の後方が浮き上がらずに安定する条件(安定条件)は、式(3)と同様、次の式(7)で表される。
τ1<τ2 …(7)
よって、式(7)に、式(5),(6)が代入されることにより、安定条件として、次の不等式(8)が得られる。
D4・F1<D2・Mg ・・・(8)
つまり、判定部304は、不等式(8)が成り立つ場合に後部浮き上がり動作が未発生と判定し、不等式(8)が成り立たない場合に後部浮き上がり動作が発生していると判定できる。また、動作補正部306は、制御条件として不等式(8)が成り立つように、アタッチメントの動作を補正すれば、ショベル100の後部浮き上がり動作を防止できる。
[浮き上がり支点の変化を考慮した浮き上がり動作の抑制方法]
以下、図8を参照して、浮き上がり支点の変化を考慮した浮き上がり動作の抑制方法について説明する。図8は、浮き上がり支点P1f,P1rと上部旋回体3の向きとの関係を示す図である。
上述の如く、前部浮き上がり、後部浮き上がりが発生しない制御条件(安定条件)は、不等式(4),(8)である。不等式(4),(8)は、距離D1,D2,D3,D4をパラメータとし、これらの距離は、浮き上がり支点P1f、P1rの位置に依存する。
図8は、アタッチメントが延在する方向(アタッチメントの向き)と下部走行体1の向き(走行方向)とが同じ場合を旋回角度θ=0°とし、右旋回を正方向とする場合の浮き上がり支点P1rと上部旋回体3の向き(旋回角度θ)との関係を説明する図である。具体的には、図8(a)〜(c)は、それぞれ、旋回角度θが0°の場合、30°の場合、及び90°の場合における浮き上がり支点P1を表す図である。
尚、図8(a)〜(c)では、後部浮き上がりを想定し、浮き上がり支点P1rが車体前部に位置している。また、図8(a)〜(c)における線l1は、アタッチメントが延在する方向(上部旋回体3の向き)と直交し、かつ、有効接地領域140aのうちのアタッチメントの延在方向における最先端を通る線を表しており、浮き上がり支点P1rは、線l1上に位置する。
図8に示すように、浮き上がり支点P1rは、上部旋回体3の向きや地面の状態に応じて移動する。例えば、図8(a)〜(c)に示すように、浮き上がり支点P1が移動すると、距離D2も変化する。また、同様に、距離D4も、浮き上がり支点P1rの移動にともなって変化する。
浮き上がり支点P1rの移動は、距離D2,D4に影響を与え、車体が転倒しない力学的な安定条件に影響を及ぼす。
なお、前部浮き上がり動作の浮き上がり支点P1fも、浮き上がり支点P1rと同様に、上部旋回体3の向きや地面の状態に応じて移動し、これにより距離D1,D3も変化する。
そこで本実施形態では、距離算出部303が、浮き上がり支点P1f,P1rの位置に応じて距離D1〜D4を算出する。浮き上がり支点P1f,P1rの位置は、浮き上がり支点推定部302によって、下部走行体1に対する上部旋回体3の相対旋回角度θを用いて算出できる。
ここで、従来のショベル100に搭載されるセンサ類では、下部走行体1に対する上部旋回体3の相対旋回角度θを検出する手段を基本的には備えていなかった。これに対して本実施形態では、下部走行体1の走行中の上部旋回体3の加速度ACを利用して、上部旋回体3の旋回角度θを算出する。
図8(a)〜(c)に示すように、上部旋回体3の旋回角度θが異なる状態で下部走行体1が走行すると、上部旋回体3に搭載される加速度検出部31は、下部走行体1の走行方向(図8では上方向)と同じ方向の加速度ACを検出する。この加速度ACの方向と、アタッチメントが延在する方向とのなす角度は、上部旋回体3の旋回角度θと対応する。したがって、加速度検出部31により下部走行体1の走行中における上部旋回体3の加速度ACを検出すれば、旋回角度算出部301が、加速度検出部31により検出された加速度ACの方向に基づいて旋回角度θを算出できる。
加速度ACの方向に基づく旋回角度θの算出について具体的に説明する。加速度検出部31は少なくとも、互いに直交するx軸、y軸の加速度を取得できればよい。例えば図8に示すように、x軸が上部旋回体3の前後方向、y軸が上部旋回体3の左右幅方向に向くように加速度検出部31を設置する。この場合、図8(a)に示す旋回角度θ=0°のとき加速度検出部31はx方向のみ加速度を検出するので、下部走行体1に対する上部旋回体3の相対的な旋回角度θはほぼ0°とわかる。同様に、図8(c)に示す旋回角度θ=90°のとき加速度検出部31はy方向のみ加速度を検出するので、下部走行体1に対する上部旋回体3の相対的な旋回角度θはほぼ90°とわかる。
一方、図8(b)に示すように、旋回角度θが0°より大きく、かつ、90°より小さいとき、加速度検出部31はx方向の加速度成分ACxと、y方向の加速度成分ACyの両方を検出する。これらの加速度成分ACx,ACyの大きさから、加速度検出部31(すなわち上部旋回体3)が下部走行体1の走行方向に対してどの程度の旋回角度θをとっているかがわかる。
なお、旋回角度θの基準となる方向は、例えば上部旋回体3と下部走行体1のクローラとが正対状態(例えば図8(a)の位置)でキャリブレーションを行い、このときの加速度ACを基準にしてもよいし、加速度検出部31で予め設定された方向を基準としてもよい。加速度検出部31は、少なくとも二軸の加速度を検出できればよいが、三軸の加速度を検出できるIMUセンサなどを用いてもよい。
判定部304は、距離算出部303が算出した距離D1〜D4の情報に基づき安定条件(不等式(4),(8))を動的に設定し、この安定条件を用いて下部走行体1の前部或いは後部が浮き上がった瞬間を特定する。また、上限値設定部305は、判定部304が動的に設定した安定条件を満たすように、すなわち、下部走行体1が浮き上がり動作が抑制されるようにブームシリンダ7が発生する力F1の上限値F1maxを設定する。
浮き上がりの瞬間は、アタッチメントが車体を傾けようとする力F1に基づくモーメントτ1と、それに抗う重力に基づくモーメントτ2がバランスした状態と近似しうる。よって、浮き上がりの瞬間を特定し、ショベル100の状態を監視することにより、浮き上がりを抑制するための制御条件を適応的に設定でき、様々な使用状況下において、浮き上がりを適切に抑制できる。
一度取得された距離D1,D2は、上部旋回体3の方向を変化させず、また、地面状況が変化しない限り、同じ値を用いることができる。一方、距離D3,D4は、ブーム4の上げ下げに応じて変化する。上限値設定部305は、ブーム4の角度が変化すると、それに応じて距離D3,D4を変化させ、制御条件に反映させることができる。
図9は、浮き上がり動作の抑制制御の一例を示すフローチャートである。図9に示すフローチャートの処理は、コントローラ30によりショベル100の動作中に定期的に実行することができる。なお、図9のステップS01〜S03は、図3のフローチャートのステップS1〜S3に対応する。また、図9のステップS06〜S09は、図3のステップS4〜S7を浮き上がり動作に限定した内容である。
ステップS01では、コントローラ30により、ショベル100の下部走行体1が走行中か否かが判定される。ショベル100が走行中の場合(ステップS01のYes)にはステップS02に進み、ショベル100が走行中でない場合(ステップS01のNo)にはステップS05へ進む。
ステップS02では、下部走行体1が走行中であるので、加速度検出部31により、下部走行体1の走行中における上部旋回体3の加速度ACが検出される。ステップS02の処理が完了するとステップS03に進む。
ステップS03では、旋回角度算出部301により、ステップS02にて加速度検出部31により検出された加速度ACの方向に基づき、下部走行体1に対する上部旋回体3の相対的な旋回角度θが算出される。旋回角度算出部301は、図8を参照して説明したように、例えば加速度ACの方向と、アタッチメントが延在する方向とのなす角度を、上部旋回体3の旋回角度θとして算出できる。ステップS03の処理が完了するとステップS04に進む。
ステップS04では、浮き上がり支点推定部302により、ステップS03にて旋回角度算出部301により算出された上部旋回体3の旋回角度θに基づき、前部浮き上がり動作の場合の浮き上がり支点P1f、及び後部浮き上がり動作の場合の浮き上がり支点P1rの位置が推定される。ステップS04の処理が完了するとステップS05に進む。
ステップS05では、距離算出部303により、ステップS04にて浮き上がり支点推定部302により推定された浮き上がり支点P1f,P1rの位置に基づき、ショベル100の車体重心P3と、下部走行体1の浮き上がり支点P1との間の距離D1,D2が算出される。また、ステップS05では、距離算出部303により、ブームシリンダ7の延長線l2と浮き上がり支点P1との間の距離D3,D4も算出される。距離D3,D4は、浮き上がり支点P1f,P1rの位置と、ブームシリンダ7の角度(例えば、図6、図7に示すブームシリンダ7と鉛直軸130cのなす角度η1)とに基づき、幾何学的に計算することができる。角度η1は、ブームシリンダ7の伸縮長、ショベル100の寸法諸元、及びショベル100の車体の傾き等から幾何学的に計算されうる。距離算出部303は、例えば、各種センサ32に含まれうるブーム角度を検出するセンサの出力を利用し、角度η1を算出してもよいし、各種センサ32に含まれうる角度η1を直接的に測定するセンサの出力を利用することにより取得してもよい。ステップS05の処理が完了すると、コントローラ30は算出した距離D1〜D4の情報を記憶して本制御フローを終了する。
ステップS06では、ステップS01にて下部走行体1が走行中ではないと判定されたので、ショベル100が掘削作業中か否かが判定される。ショベル100が掘削作業中の場合(ステップS06のYes)にはステップS06へ進み、そうでない場合(ステップS06のNo)には本制御フローを終了する。
ステップS07では、ステップS06にて掘削作業中と判定されたので、判定部304により、掘削作業中の下部走行体1の浮き上がり動作が発生しているか否かが判定される。判定部304は、例えば、ステップS05にて算出された距離D1〜D4の情報と、現在のブームシリンダ7の力F1の情報を、安定条件の不等式(4),(8)に代入する。力F1は、例えば、ブームシリンダ7のロッド圧PR及びボトム圧PBに基づいて算出できる。このとき、判定部304は、各種センサ32に含まれうるブームシリンダ7のロッド圧及びボトム圧を検出する圧力センサの出力信号に基づき、ロッド圧PR及びボトム圧PBを取得してよい。
ステップS07の判定の結果、不等式(4),(8)の少なくとも一方が成立しない場合には、ショベル100の安定条件を満たしておらず、浮き上がり動作が発生していると判定して(ステップS07のYes)、ステップS08に進む。一方、不等式(4),(8)の両方が成立する場合には、ショベル100の安定条件を満たしているので、浮き上がり動作が発生していないと判定して(ステップS07のNo)、本制御フローを終了する。
なお、ステップS07の下部走行体1の浮き上がり動作の判定中に、上限値設定部305により、下部走行体1が浮き上がらない範囲でブームシリンダ7が発生する力の上限値F1maxが設定される。上限値設定部305は、例えば、ステップS05にて距離算出部303により算出された距離D1〜D4を、不等式(4),(8)に代入し、不等式が成立するように最大値F1maxを設定する。
ステップS08では、ステップS07にて下部走行体1の浮き上がり動作が発生していると判定されたので、動作補正部306により、ブームシリンダ7の動作が補正される。具体的には、上限値設定部305により設定された上限値F1maxを超えないように、ブームシリンダ7(アクチュエータ)の力F1を制御して、アタッチメントの動作が補正される。動作補正部306は、例えば、ブームシリンダ7の力F1が上限値F1maxを超えた場合にリリーフする制御や、ブームシリンダ7への供給流量や排出流量を減らす制御などを行って、ブームシリンダ7の力F1を上限値F1max以下に維持することができる。この補正によって浮き上がり動作が抑制される。ステップS09の処理が完了するとステップS10に進む。
ステップS09では、コントローラ30により、表示装置33を介して浮き上がり動作の発生がオペレータに報知される。なお、オペレータへの報知手段は、表示装置33による文字や視覚情報に限られず、音、音声、振動などの他の手段を用いても良い。ステップS10の処理が完了すると本制御フローを終了する。
なお、浮き上がり動作が発生した後に実施するステップS08〜S09の動作補正処理と、ステップS10の報知処理は、いずれか一方のみを実施してもよい。
次に本実施形態のショベル100の作用効果を説明する。本実施形態のショベル100は、下部走行体1と、下部走行体1に旋回可能に搭載される上部旋回体3と、上部旋回体3に搭載されるアタッチメント(ブーム4、アーム5、バケット6)と、アタッチメントを駆動するアクチュエータ(ブームシリンダ7、アームシリンダ8、バケットシリンダ9)と、上部旋回体3に取り付けられ、下部走行体1の走行中における上部旋回体3の加速度ACを検出する加速度検出部31と、加速度検出部31により検出された加速度ACの方向に基づき、下部走行体1に対する上部旋回体3の相対的な旋回角度θを算出する旋回角度算出部301と、を備える。
従来より、ショベル100は下部走行体1のクローラの前後方向長さと幅に差があるため、アタッチメントが搭載される上部旋回体3が下部走行体1に対してどの方向を向いているかで安定度が大きく異なる。しかし、従来のショベルには、下部走行体1に対する上部旋回体3の旋回角度θを検出する機能は基本的には搭載されていない。このため、下部走行体1の浮き上がり動作を含む、意図しない下部走行体1の移動の発生を判定精度が低下し、このような移動を適切に抑制できない場合がある。
これに対して本実施形態では、上記構成により、上部旋回体3の加速度ACの方向に基づいて、下部走行体1に対する上部旋回体3の相対的な旋回角度θを精度良く算出できる。算出した旋回角度θを用いれば、旋回角度θに応じて変動する、浮き上がり動作を含む、意図しない下部走行体1の移動を精度良く判定できる。意図しないショベル100の下部走行体1の移動の判定を精度良く行えるので、このような動作の抑制処理も適切な機会に行うことができ、この結果、意図しない下部走行体1の移動を良好に抑制できる。
また、本実施形態のショベル100は、旋回角度算出部301により算出された旋回角度θに基づき、下部走行体1の浮き上がり動作が発生した場合の浮き上がり支点P1f,P1rを推定する浮き上がり支点推定部302と、浮き上がり支点推定部302により推定された浮き上がり支点P1f,P1rと、アクチュエータが発生する力F1の情報に基づき、下部走行体1の浮き上がり動作が発生するか否かを判定する判定部304と、を備える。
この構成により、旋回角度算出部301により精度良く算出された旋回角度θを用いて、旋回角度θに応じて変動するショベル100の下部走行体1の浮き上がり支点P1f,P1rを精度良く推定でき、これらの推定した浮き上がり支点P1f,P1rを用いて掘削作業中の下部走行体1の浮き上がり動作の発生を精度良く判定できる。浮き上がり動作の判定を精度良く行えるので、浮き上がり動作の抑制処理も適切な機会に行うことができ、この結果、浮き上がり動作を良好に抑制できる。
また、本実施形態のショベル100は、浮き上がり支点推定部302により推定された浮き上がり支点P1f,P1rに基づき、下部走行体1が浮き上がらない範囲でアクチュエータが発生する力の上限値F1maxを設定する上限値設定部305を備える。上限値設定部305は、判定部304により浮き上がり動作が発生すると判定されたときに、上限値F1maxを設定する。
この構成により、浮き上がり動作の発生時に速やかにアクチュエータの力の上限値F1maxが設定されるので、下部走行体1が浮き上がらない範囲で最大限の力で掘削作業を実施でき、作業効率を維持できる。
また、本実施形態のショベル100において、上限値設定部305は、判定部304により浮き上がり動作が発生すると判定されたときに、上限値F1maxを設定する。つまり、浮き上がり動作の未発生時にはアクチュエータが発生する力に上限を設けずにアクチュエータを制御可能とし、また、浮き上がり動作の発生時には即座に力の上限値F1maxを設定する。これにより、浮き上がり動作の未発生時には操作の制約を最小限にとどめることができ、かつ、浮き上がり動作の発生時には浮き上がり動作を迅速に抑制できる。
また、本実施形態のショベル100は、判定部304により浮き上がり動作が発生すると判定されたときに、浮き上がり動作の発生をオペレータに報知する表示装置33を備える。これにより、浮き上がり動作の発生をオペレータが迅速に把握できるので、オペレータ自身でも自らの操作で浮き上がり動作の回避を行うことも可能となり、より確実に浮き上がり動作を抑制できる。
以上、具体例を参照しつつ本実施形態について説明した。しかし、本開示はこれらの具体例に限定されるものではない。これら具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。
上記実施形態では、上限値設定部305は、判定部304により浮き上がり動作が発生すると判定されたときに、上限値F1maxを設定する構成を例示したが、浮き上がり動作の発生を検知する前に上限値設定部305が予め上限値を設定しておき、コントローラ30が上限値F1maxを超えないようにアクチュエータの力F1を制御してもよい。これにより、浮き上がり動作発生を事前に抑制することができる。
上記実施形態では、加速度検出部31が上部旋回体3に取り付けられる構成を例示したが、加速度検出部31はアタッチメント(ブーム4、アーム5、及びバケット6のいずれか)に取り付けられてもよい。
上記実施形態では、オペレータの意図しないショベル100の動作として浮き上がり動作を例示し、安定化制御としてブームシリンダの力を抑制して浮き上がり動作を抑制する制御を例示したが、意図しない動作と安定化制御は他の内容でもよい。例えば意図しない動作として、ショベル100のアタッチメントの空中動作時にショベル本体に発生する振動動作を含んでもよい。
図10、図11を参照して、ショベル100の振動動作の一例を説明する。図10は、ショベル100の空中動作時に振動動作が発生する状況を説明する図である。また、図11は、図10に示す状況におけるショベル100の排出動作に伴うピッチング軸方向の角度(ピッチ角度)及び角速度(ピッチ角速度)の時間波形を示す図である。本例では、空中動作の一例として、バケット6内の積載物DPを排出する排出動作を説明する。
図10(a)に示すように、ショベル100は、バケット6及びアーム5が閉じられ、且つ、ブーム4が上がった状態となっており、バケット6には、土砂などの積載物DPが収容されている。
図10(b)に示すように、図10(a)に示す状態からショベル100の排出動作が行われると、バケット6及びアーム5が大きく開かれ、ブーム4が下げられ、積載物DPがバケット6の外部に排出される。このとき、アタッチメントの慣性モーメントの変化が、ショベル100の車体を図中矢印Aに示すピッチング方向に振動させるように作用する。
このとき、図11に示すように、空中動作、具体的には、排出動作に起因して、ショベル100を転倒させようとする転倒モーメントが発生し、ピッチ軸周りの振動が発生することが分かる。
また、意図しない動作が振動動作である場合には、安定化制御は振動動作の抑制制御となる。この制御は、例えば以下のような内容となる。上述のとおり、振動動作の原因となる排出動作時には、排出動作に起因する転倒モーメントが発生し、この転倒モーメントがショベル本体に伝達されて振動動作が発生する。
ショベル100は、上部旋回体3の旋回角度θに応じて、この転倒モーメントによる転倒のしやすさが変わる。図8(a)に示したように、旋回角度θが0度の場合には、ショベルの重心と下部走行体1の浮き上がり支点との間の距離D2が最大となるので、ショベル100は転倒しにくい。一方、図8(c)に示したように、旋回角度θが90度の場合には、ショベルの重心と下部走行体1の浮き上がり支点との間の距離D2が最小となるので、ショベル100は転倒しやすい。
振動抑制のためには、基本的には、ブームシリンダ7の力の上限値を設定して、それ以上の力が入ったらブームシリンダ7をリリーフして転倒モーメントをブームシリンダ7で吸収する。そして、旋回角度θが90度に近くなるほど、ピッチングが起こりやすいので、ブームシリンダ7をリリーフしやすくして、転倒モーメントを早いタイミングで吸収してショベル本体に伝わりにくくし、振動を早く抑制するようにする。具体的には、例えばブームシリンダ7の力の上限値を下げて、リリーフを起こしやすくする。
一方、旋回角度θが0度にちかいほど、ピッチングが起こりにくい状況なので、ブームシリンダ7をリリーフしにくくして、ブームシリンダ7の力の上限値を無闇に下げないようにする。
また、安定化制御として、上記実施形態で求めた上部旋回体3の旋回角度θを利用して、ショベル100の安定度を表示装置33を介してオペレータに提示してもよい。
図12は、表示装置33の安定度表示の一例を示す図である。図12の例では、アタッチメントの姿勢、より詳しくは、バケットの位置がパラメータであり、それと予測安定度の関係が視覚的に示されている。この例では、予測安定度は3値で表されており、値ごとの領域に区画して表示される。第1領域(i)は、安全な領域を、第2領域(ii)は注意を要する領域を、第3領域(iii)は不安定な領域を示している。
各領域(i)〜(iii)の表示は、アタッチメントの動作と関連付けることができる。すなわち第1領域(i)はアタッチメントを高速で動かしても問題ない領域、言い換えれば、何の制約も受けずに動作させることができる領域と把握できる。第2領域(ii)は、アタッチメント12の速度(あるいはパワー)を落として低速〜中速で動作させるべき領域、第3領域(iii)は、アタッチメントを低速(低パワー)運転すべき領域である。
別の観点からみると図12の安定度表示は、アタッチメントを制約無く動作可能な領域(i)と、アタッチメントの動作を制約すべき領域(ii)、(iii)と、を区別して表示したものと言える。
さらに別の観点から見ると、図12の安定度表示は、ショベルの予測安定度を、バケットの位置およびアタッチメントの速度(あるいはパワー)の2つをパラメータとして、視覚的に示したものと言える。
図12(a)と(b)とでは、上部旋回体3の旋回角度θが異なっている。図12(a)では旋回角度θ=0度であり、図12(b)では、旋回角度θ=90度である。図12(b)では、下部走行体1の幅が、図12(a)の場合に比べて狭くなるため、転倒しやすいといえる。したがって図12(b)の第1領域(i)は、図12(a)のそれよりも狭くなっている。
図12の例によれば、現在のショベルの状態において、バケットをどこまで移動させても問題が無いのかをオペレータが動作前に確認できる。あるいは、バケットをどの程度の速度、あるいはどの程度のパワーで移動させても問題が無いのかを、オペレータが動作前に確認できる。
図13は、表示装置33の安定度表示の他の例を示す図である。図13の例では、フロントガラスに重畳した形式で、安定度が表示される。たとえばフロントガラスに、境界線A,Bを表示するための表示パネル(表示装置33)を埋め込み、フロントガラスの向こうに見える実視野と、境界線A,Bを重ね合わせてもよい。たとえば境界線Aより手前は安全な領域(図12の第1領域)、境界線AとBの間は注意領域(図12の第2領域)、境界線Bより向こう側は、不安定領域(図12の第3領域)に対応してもよい。実視野と予測安定度の表示を重ね合わせることで、オペレータはさらに直感的に、転倒や揺れが生じうる操作を把握することができる。
また、上記実施形態では、ショベルの走行中に上部旋回体3の旋回角度θを算出し、この旋回角度θに基づいてその後のアタッチメント操作中の不安定状態の判定を行う構成を例示したが、これに限られない。例えば、走行終了後の旋回量も加味して不安定状態の判定に用いてもよい。図14を参照してこの制御について説明する。図14は、浮き上がり動作の抑制制御の他の例を示すフローチャートである。
図14のステップS101〜S102,S107〜S110は、それぞれ図9のステップS01〜S02,S06〜09と同様の処理なので説明を省略する。
ステップS103では、旋回角度算出部301により、ステップS102にて加速度検出部31により検出された加速度ACの方向に基づき、下部走行体1に対する上部旋回体3の相対的な旋回角度θ0が算出される。この旋回角度θ0は、ショベルの走行終了時の旋回角度であり、後述するステップS105、S106で求める現在の旋回角度の基準値である。
ステップS104では、ステップS101にて下部走行体1が走行中ではないと判定されたので、ショベルが旋回中であるか否かが判定される。例えば、オペレータが操作装置26を介して旋回操作を行っているか否かを検出して、ショベルが旋回中であるか否かを判定できる。
ステップS104の判定の結果、ショベルが旋回中である場合(ステップS104のYes)には、ステップS105に進み、ステップS103にて算出された旋回角度の基準値θ0に旋回量が加算されて、上部旋回体3の現在の旋回角度θが算出される。この構成では、例えばショベルには、走行終了時の旋回角度θ0を基準として、上部旋回体3の旋回量を検出する旋回量検出部が設けられている。
一方、ステップS104の判定の結果、ショベルが旋回中ではない場合(ステップS104のNo)には、ステップS106に進み、ステップS103にて算出された旋回角度の基準値θ0が、上部旋回体3の現在の旋回角度θとして設定される。ステップS105またはステップS106の処理が完了するとステップS107に進む。
なお、ステップS110では、図9のステップS09と同様に、コントローラ30により、表示装置33を介して浮き上がり動作の発生がオペレータに報知されるが、この他にも、ステップS105またはステップS106にて旋回角度算出部301により算出された上部旋回体3の現在の旋回角度θに基づき、すなわち、走行終了後の旋回量も加味してショベルの不安定状態を判定し、現在の車体の安定度に関連する情報をオペレータに報知してもよい。
図15は、加速度検出部のキャリブレーション手法の一例を説明する図である。図15に示すように、下部走行体1の走行微操作を入力して、加速度検出部31を微振動させることにより、加速度検出部31のキャリブレーションを行うこともできる。下部走行体1の走行微操作は、オペレータによる手動実施してもよいし、コントローラ30による自動実施でもよい。