(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-25
(45)【発行日】2023-05-08
(54)【発明の名称】作業機械
(51)【国際特許分類】
E02F 3/43 20060101AFI20230426BHJP
【FI】
E02F3/43 B
(21)【出願番号】P 2021161526
(22)【出願日】2021-09-30
【審査請求日】2022-09-08
(73)【特許権者】
【識別番号】000005522
【氏名又は名称】日立建機株式会社
(74)【代理人】
【識別番号】110001829
【氏名又は名称】弁理士法人開知
(72)【発明者】
【氏名】五十嵐 輝樹
(72)【発明者】
【氏名】福地 亮平
(72)【発明者】
【氏名】鈴木 悠介
(72)【発明者】
【氏名】田中 宏明
(72)【発明者】
【氏名】金濱 充彦
【審査官】柿原 巧弥
(56)【参考文献】
【文献】特開2021-004540(JP,A)
【文献】国際公開第2019/202673(WO,A1)
【文献】国際公開第2018/012700(WO,A1)
【文献】国際公開第2016/035898(WO,A1)
【文献】特開平10-008492(JP,A)
【文献】国際公開第95/033100(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
E02F 3/43
(57)【特許請求の範囲】
【請求項1】
複数の油圧アクチュエータ、及び、前記複数の油圧アクチュエータにより駆動される複数の駆動対象部材を有する作業装置と、
前記作業装置の姿勢情報を検出する姿勢検出装置と、
前記複数の油圧アクチュエータに作動油を供給する油圧ポンプと、
前記油圧ポンプから前記複数の油圧アクチュエータに供給される作動油の流れを制御する制御弁ユニットと、
前記制御弁ユニットを駆動するためのパイロット圧を生成する複数の電磁弁を有する電磁弁ユニットと、
前記電磁弁で生成するパイロット圧の指令値を演算し、前記指令値に応じた制御信号を前記電磁弁に出力するコントローラと、を備えた作業機械において、
前記コントローラは、
前記姿勢検出装置で検出される姿勢情報に基づいて、前記駆動対象部材の動作方向ベクトルの重力方向成分を演算し、
前記指令値が所定圧力を超えると、前記動作方向ベクトルの重力方向成分に基づいて前記パイロット圧の指令値を補正し、
補正後の前記指令値に応じた制御信号を前記電磁弁に出力する
ことを特徴とする作業機械。
【請求項2】
請求項1に記載の作業機械において、
前記コントローラは、重力の向きとは反対方向の前記動作方向ベクトルの重力方向成分を正の値とし、重力の向きの前記動作方向ベクトルの重力方向成分を負の値としたとき、前記動作方向ベクトルの重力方向成分が大きいほど、前記パイロット圧の指令値を高い値に補正する
ことを特徴とする作業機械。
【請求項3】
請求項2に記載の作業機械において、
前記コントローラは、補正前の前記指令値が前記所定圧力を超えると、前記補正前の前記指令値よりも高い所定の補正圧力を前記補正後の指令値として設定し、経過時間の増加とともに前記補正後の指令値が前記補正前の指令値に漸近するように、前記補正後の指令値を演算する
ことを特徴とする作業機械。
【請求項4】
請求項3に記載の作業機械において、
前記コントローラは、前記動作方向ベクトルの重力方向成分が大きいほど、前記補正圧力を高くする、
ことを特徴とする作業機械。
【請求項5】
請求項1に記載の作業機械において、
前記コントローラは、
外部装置から入力される重量情報に基づいて前記駆動対象部材の重量を設定し、
前記駆動対象部材の重量に基づいて、前記動作方向ベクトルの重力方向成分を補正する
ことを特徴とする作業機械。
【請求項6】
請求項1に記載の作業機械において、
前記作業機械の車体の位置情報を検出する位置検出装置と、
前記作業装置を操作するための操作装置と、を備え、
前記コントローラは、
目標形状データを取得し、
取得した前記目標形状データ、前記車体の位置情報及び前記作業装置の姿勢情報に基づいて目標面を設定し、
前記操作装置の操作量に基づいて、前記目標面に沿うように操作パイロット圧を演算し、
前記作業装置において予め定められた基準点が、前記目標面に沿って前記目標面を越えないように目標パイロット圧を演算し、
前記作業装置の前記基準点から前記目標面までの距離が小さくなるほど大きくなる制御介入比率を演算し、
前記操作パイロット圧、前記目標パイロット圧、及び、前記制御介入比率に基づいて、指令パイロット圧を演算し、
前記指令パイロット圧に応じた制御信号を前記電磁弁に出力し、
前記目標パイロット圧が前記所定圧力を超えると、前記動作方向ベクトルの重力方向成分に基づいて、前記目標パイロット圧を補正し、
前記制御介入比率が大きいほど、前記目標パイロット圧が前記指令パイロット圧に与える影響度合いが大きくなる
ことを特徴とする作業機械。
【請求項7】
請求項6に記載の作業機械において、
前記コントローラは、
前記目標面に対する前記駆動対象部材の動作方向ベクトルの角度を演算し、
前記操作装置により前記駆動対象部材が操作された場合、操作された前記駆動対象部材の動作方向ベクトルの前記角度、及び、前記制御介入比率に基づいて、前記駆動対象部材に対する操作が前記目標面に近づく方向の操作であるか否かを判定し、
前記駆動対象部材に対する操作が前記目標面に近づく方向の操作でないと判定した場合には、前記操作パイロット圧に基づいて
第1指令パイロット圧を演算し、前記
第1指令パイロット圧に応じた制御信号を前記電磁弁に出力し、
前記駆動対象部材に対する操作が前記目標面に近づく方向の操作であると判定した場合には、前記操作パイロット圧、前記目標パイロット圧、及び、前記制御介入比率に基づいて、
第2指令パイロット圧を演算し、前記
第2指令パイロット圧に応じた制御信号を前記電磁弁に出力する
ことを特徴とする作業機械。
【請求項8】
請求項1に記載の作業機械において、
走行体と、
前記走行体に旋回可能に取り付けられた旋回体と、
前記旋回体を駆動する油圧モータと、
前記旋回体に取り付けられた前記作業装置と、を備え、
前記制御弁ユニットは、前記油圧ポンプから前記油圧モータに供給される作動油の流れを制御するモータ制御弁を有し、
前記電磁弁ユニットは、前記モータ制御弁を駆動するためのパイロット圧を生成するモータ用電磁弁を有し、
前記姿勢検出装置は、前記旋回体の姿勢情報を検出し、
前記コントローラは、
前記姿勢検出装置で検出される前記作業装置の姿勢情報及び前記旋回体の姿勢情報に基づいて、前記旋回体の動作方向ベクトルの重力方向成分を演算し、
前記モータ用電磁弁で生成するパイロット圧の指令値が所定圧力を超えると、
前記旋回体の動作方向ベクトルの重力方向成分に基づいて、前記モータ用電磁弁のパイロット圧の指令値を補正し、
前記モータ用電磁弁の補正後の前記指令値に応じた制御信号を前記モータ用電磁弁に出力する
ことを特徴とする作業機械。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業機械に関する。
【背景技術】
【0002】
ブーム、アーム及びバケット等を駆動させる複数の油圧アクチュエータと、複数の油圧アクチュエータを制御するための制御弁ユニットと、制御弁ユニットを駆動するためのパイロット圧を生成する複数の電磁弁と、電磁弁を制御するコントローラと、を備えた作業機械が知られている。このような作業機械では、コントローラから制御信号が電磁弁に出力されてから、油圧アクチュエータが駆動を開始するまでの遅れ時間が長いと、作業精度の低下につながるおそれがある。
【0003】
特許文献1には、制御信号が電磁弁に出力されてから油圧アクチュエータが駆動を開始するまでの遅れ時間を低減させる方法として、電磁弁の駆動開始時にソレノイドに過励磁電流を流すことで電磁弁を高速に開弁させ、開弁後は所要の油圧力を保持するために保持電流を流す方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、作業装置の重力の影響により、コントローラが制御信号を電磁弁に出力してから油圧アクチュエータが駆動するまでの遅れ時間にばらつきが生じるおそれがある。例えば、作業機械は、駆動対象部材を重力に逆らわずに動作させる場合に比べて、駆動対象部材を重力に逆らって動作させる場合の方が、コントローラが電磁弁に制御信号を出力してから油圧アクチュエータが駆動するまでの遅れ時間が長くなるおそれがある。その結果、作業機械は、精度よく作業を行うことができないおそれがある。
【0006】
本発明は、作業装置に作用する重力の影響に起因した遅れ時間のばらつきを均一化させることにより、作業精度の向上を図ることを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様による作業機械は、複数の油圧アクチュエータ、及び、前記複数の油圧アクチュエータにより駆動される複数の駆動対象部材を有する作業装置と、前記作業装置の姿勢情報を検出する姿勢検出装置と、前記複数の油圧アクチュエータに作動油を供給する油圧ポンプと、前記油圧ポンプから前記複数の油圧アクチュエータに供給される作動油の流れを制御する制御弁ユニットと、前記制御弁ユニットを駆動するためのパイロット圧を生成する複数の電磁弁を有する電磁弁ユニットと、前記電磁弁で生成するパイロット圧の指令値を演算し、前記指令値に応じた制御信号を前記電磁弁に出力するコントローラと、を備える。前記コントローラは、前記姿勢検出装置で検出される姿勢情報に基づいて、前記駆動対象部材の動作方向ベクトルの重力方向成分を演算し、前記指令値が所定圧力を超えると、前記動作方向ベクトルの重力方向成分に基づいて前記パイロット圧の指令値を補正し、補正後の前記指令値に応じた制御信号を前記電磁弁に出力する。
【発明の効果】
【0008】
本発明によれば、作業装置に作用する重力の影響に起因した遅れ時間のばらつきを均一化させることにより、作業精度の向上を図ることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は本発明の第1実施形態に係る油圧ショベルの側面図である。
【
図2】
図2は油圧ショベルが備える油圧システムを示す図である。
【
図3】
図3は作業装置の基準点の演算方法の説明図である。
【
図4】
図4は油圧ショベルのコントローラのハードウェア構成図である。
【
図5】
図5は表示装置の表示画面の一例を示す図である。
【
図6】
図6は本発明の第1実施形態に係るコントローラの機能ブロック図である。
【
図7】
図7は、バケットの爪先が補正後の目標速度ベクトルVcaの通りに制御されたときの、バケットの爪先の軌跡の一例を示す図である。
【
図8】
図8は目標面距離Hと制御介入比率aとの関係を示す図である。
【
図9A】
図9Aは、操作パイロット圧Pi0と、補正操作パイロット圧Pi0’の時刻歴波形を模式的に示す図である。
【
図9B】
図9Bは、目標パイロット圧Pi1と、補正目標パイロット圧Pi1’の時刻歴波形を模式的に示す図である。
【
図10】
図10は駆動対象部材の動作方向ベクトル及びその重力方向成分を示す図である。
【
図11】
図11は、動作方向ベクトルの重力方向成分と、補正圧力との関係を示す図である。
【
図12】
図12は、本発明の第2実施形態に係るコントローラにより実行される目標面距離Hの演算処理から領域制限比率cの演算処理までの流れについて示すフローチャートである。
【
図13】
図13は、駆動対象部材の動作方向が加味された指令パイロット圧の演算処理の内容について示すフローチャートである。
【
図14A】
図14Aは、バケットダンプ操作時における目標面Stに対するバケットの動作方向ベクトルVBkDの角度φBkDについて示す図である。
【
図14B】
図14Bは、バケットクラウド操作時における目標面Stに対するバケットの動作方向ベクトルVBkCの角度φBkCについて示す図である。
【
図15】
図15は、目標面Stに対する動作方向ベクトルVDの角度φと目標面侵食率bとの関係を示す図である。
【
図16】
図16は、本発明の第3実施形態に係るコントローラの機能ブロック図である。
【発明を実施するための形態】
【0010】
図面を参照して、本発明の実施形態に係る作業機械について説明する。
【0011】
<第1実施形態>
-油圧ショベル-
図1は本発明の第1実施形態に係る油圧ショベル1の側面図である。なお、本実施形態では作業装置1Aの先端にアタッチメント(作業具)としてバケット10を装着した油圧ショベルを例示して説明するが、バケット以外のアタッチメントを装着した油圧ショベルにも本発明は適用され得る。
【0012】
図1に示すように、油圧ショベル1は、車体(機体)1Bと、車体1Bに取り付けられる多関節型の作業装置1Aと、を備える。車体1Bは、左右の走行モータ(油圧モータ)3a,3b(
図2参照)により走行する走行体11と、走行体11に旋回可能に取り付けられた旋回体12と、を有する。作業装置1Aは、旋回体12に取り付けられる。旋回体12は、旋回モータ(油圧モータ)4(
図2参照)により走行体11に対して旋回する。走行体11は、左右一対のクローラを有する。走行モータ3aは右側のクローラを駆動し、走行モータ3bは左側のクローラを駆動する。旋回体12の旋回中心軸は油圧ショベル1が水平地に停車した状態で鉛直である。旋回体12には運転室16が設けられている。運転室16内には、作業装置1A、走行体11及び旋回体12を操作するための電気式の操作装置A1~A6が設置されている。旋回体12には原動機であるエンジン18(
図2参照)、エンジン18により駆動されるメインポンプ2(
図2参照)及びパイロットポンプ48(
図2参照)、並びに油圧ショベル1の各部を制御するコントローラ140が搭載されている。
【0013】
作業装置1Aは、複数の油圧シリンダ(ブームシリンダ5、アームシリンダ6、バケットシリンダ7)と、複数の油圧シリンダ(5~7)により駆動される複数の駆動対象部材(ブーム8、アーム9及びバケット10)と、を備える。複数の駆動対象部材(8~10)は、直列的に連結され鉛直面内でそれぞれ回動する。ブーム8の基端部はブームピンを介して旋回体12の前部に回動可能に連結されている。ブーム8の先端部にはアームピンを介してアーム9が回動可能に連結されている。アーム9の先端部にはバケットピンを介してバケット10が回動可能に連結されている。ブーム8は油圧アクチュエータであるブームシリンダ5によって駆動され、アーム9は油圧アクチュエータであるアームシリンダ6によって駆動され、バケット10は油圧アクチュエータであるバケットシリンダ7によって駆動される。
【0014】
ブームピンにはブーム角度センサ30、アームピンにはアーム角度センサ31、バケットリンク13にはバケット角度センサ32、旋回体12には車体傾斜角度センサ33が取り付けられている。角度センサ30,31,32は、それぞれブーム8、アーム9、バケット10の回動角度α,β,γ(
図3参照)を表す情報を作業装置1Aの姿勢情報として検出し、その検出結果をコントローラ140に出力する。角度センサ30,31,32は、例えば、駆動対象部材の回動角度に応じた信号(電圧)を出力するポテンショメータである。なお、角度センサ30,31,32は、対地角センサであってもよい。車体傾斜角度センサ33は、基準面(例えば水平面)に対する旋回体12(車体1B)の傾斜角度θ(
図3参照)を表す情報を旋回体12の姿勢情報として検出し、その検出結果をコントローラ140に出力する。車体傾斜角度センサ33には、姿勢に関する情報として直交3軸の角速度及び加速度を取得し、この情報に基づき傾斜角度θを演算し、傾斜角度θを表す信号をコントローラ140に出力するIMU(Inertial Measurement Unit:慣性計測装置)を採用することができる。なお、傾斜角度θの演算は、IMUの出力信号に基づき、コントローラ140が行うようにしてもよい。
【0015】
このように、角度センサ30~33は、油圧ショベル1の姿勢に関する情報を検出する姿勢センサとして機能する。なお、作業装置1Aの姿勢センサは、角度センサ30~32に代えて、基準面に対する傾斜角度を測定可能なIMU等のセンサとしてもよい。また、作業装置1Aの姿勢センサは、角度センサ30~32に代えて、油圧シリンダのストロークを検出するストロークセンサとしてもよい。
【0016】
旋回体12には複数のGNSS(Global Navigation Satellite System:全地球衛星測位システム)用のアンテナ(以下、GNSSアンテナと記す)G1,G2が設けられている。GNSSアンテナG1,G2には、測位演算装置(不図示)が接続されている。測位演算装置は、GNSSアンテナG1,G2で受信された複数の測位衛星からの衛星信号(GNSS電波)に基づいて、地理座標系(グローバル座標系)における旋回体12(車体1B)の位置座標(位置情報)及び基準方位からの角度である方位角(方位情報)を演算する。また、測位演算装置は、GNSSアンテナG1,G2からの情報を基に、地理座標系(グローバル座標系)における作業装置1Aの基準点の位置を演算する。測位演算装置は、旋回体12の地理座標系における位置情報及び方位情報をコントローラ140に出力する。
【0017】
なお、本実施形態では作業装置1Aの基準点をバケット10の爪先とした場合を例に挙げて説明する。但し、基準点の位置は適宜変更可能である。例えば、基準点は、バケット10の背側面(外面)、あるいはバケットリンク13に設定してもよい。また、バケット全体において掘削目標面と最短距離となる点を基準点として設定してもよい。この場合、状況に応じて基準点の位置が変化する。
【0018】
-油圧システム-
図2は油圧ショベル1が備える油圧システムを示す図である。
図2に示すように、油圧システムは、メインポンプ2と、パイロットポンプ48と、制御弁ユニット61と、電磁弁ユニット62と、ブーム8を駆動するブームシリンダ5と、アーム9を駆動するアームシリンダ6と、バケット10を駆動するバケットシリンダ7と、旋回体12を駆動する旋回モータ4と、走行体11を駆動する走行モータ3a,3bと、を備えている。
【0019】
メインポンプ2は、レギュレータ2aによって容量が制御される可変容量型の油圧ポンプである。メインポンプ2は、エンジン18により駆動され、タンク内の作動油を吸い込み、吐出する。メインポンプ2は、複数の油圧アクチュエータ(3a,3b,4~7)に作動油を供給する。パイロットポンプ48は固定容量型の油圧ポンプである。
【0020】
制御弁ユニット61は、メインポンプ2から複数の油圧アクチュエータ(3a,3b,4~7)に供給される作動油の流れを制御する複数の流量制御弁D1~D6を有する。電磁弁ユニット62は、制御弁ユニット61を駆動するためのパイロット圧を生成する複数の電磁弁54a~59bを有する。電磁弁54a~59bで生成されるパイロット圧は、電磁弁54a~59bのソレノイドに供給される制御電流が大きいほど高くなる。
【0021】
電磁弁54a~59bは、コントローラ140から出力される制御信号によって制御される。電磁弁54a~59bは、パイロットポンプ48の吐出圧である一次圧をコントローラ140からの制御信号に応じた二次圧に減圧することで、流量制御弁D1~D6を駆動するためのパイロット圧を生成する電磁比例減圧弁である。コントローラ140は、操作装置A1~A6の操作量及び操作方向に基づいて、電磁弁54a~59bで生成するパイロット圧の指令値を演算し、指令値に応じた制御信号(駆動電圧)を電磁弁54a~59bに出力する。電磁弁54a~59bは、操作装置A1~A6の操作方向及び操作量に応じて、生成したパイロット圧を流量制御弁D1~D6の受圧室(E1~E12)へ出力する。コントローラ140によるパイロット圧の指令値の演算方法の詳細については後述する。
【0022】
流量制御弁D1~D6は、メインポンプ2からブームシリンダ5、アームシリンダ6、バケットシリンダ7、旋回モータ4、及び、走行モータ3a,3bに供給される作動油の流れを制御する。流量制御弁D1は、操作装置A1の操作に応じて電磁弁54a,54bから出力されるパイロット圧が、パイロットラインC1,C2を通じて受圧室E1,E2に入力されることにより駆動される。これにより、流量制御弁D1は、メインポンプ2からブームシリンダ5に供給される作動油の方向及び流量を制御してブームシリンダ5を駆動する。流量制御弁D2は、操作装置A2の操作に応じて電磁弁55a,55bから出力されるパイロット圧が、パイロットラインC3,C4を通じて受圧室E3,E4に入力されることにより駆動される。これにより、流量制御弁D2は、メインポンプ2からアームシリンダ6に供給される作動油の方向及び流量を制御してアームシリンダ6を駆動する。流量制御弁D3は、操作装置A3の操作に応じて電磁弁56a,56bから出力されるパイロット圧が、パイロットラインC5,C6を通じて受圧室E5,E6に入力されることにより駆動される。これにより、流量制御弁D3は、メインポンプ2からバケットシリンダ7に供給される作動油の方向及び流量を制御してバケットシリンダ7を駆動する。
【0023】
流量制御弁D4は操作装置A4の操作に応じて電磁弁57a,57bから出力されるパイロット圧が、パイロットラインC7,C8を通じて受圧室E7,E8に入力されることにより駆動される。これにより、流量制御弁D4は、メインポンプ2から旋回モータ4に供給される作動油の方向及び流量を制御して、旋回モータ4を駆動する。流量制御弁D5は操作装置A5の操作に応じて電磁弁58a,58bから出力されるパイロット圧が、パイロットラインC9,C10を通じて受圧室E9,E10に入力されることにより駆動される。これにより、流量制御弁D5は、メインポンプ2から走行モータ3aに供給される作動油の方向及び流量を制御して、走行モータ3aを駆動する。流量制御弁D6は操作装置A6の操作に応じて電磁弁59a,59bから出力されるパイロット圧が、パイロットラインC11,C12を通じて受圧室E11,E12に入力されることにより駆動される。これにより、流量制御弁D6は、メインポンプ2から走行モータ3bに供給される作動油の方向及び流量を制御して、走行モータ3bを駆動する。
【0024】
操作装置A1,A3は、例えば、運転席の右側に配置された操作レバーB1を共有している。操作レバーB1で操作装置A1が操作されると、コントローラ140によって電磁弁54a,54bが作動され、ブームシリンダ5(ブーム8)が駆動される。操作レバーB1で操作装置A3が操作されると、コントローラ140によって電磁弁56a,56bが作動され、バケットシリンダ7(バケット10)が駆動される。操作装置A2,A4は、例えば、運転席の左側に配置された操作レバーB2を共有している。操作レバーB2で操作装置A2が操作されると、コントローラ140によって電磁弁55a,55bが作動され、アームシリンダ6(アーム9)が駆動される。操作レバーB2で操作装置A4が操作されると、コントローラ140によって電磁弁57a,57bが作動され、旋回モータ4(旋回体12)が駆動される。
【0025】
操作装置A5は操作レバーB3を有し、操作装置A6は操作レバーB4を有する。操作レバーB3,B4は運転席の前方の右側と左側に並べて配置されている。操作レバーB3で操作装置A5が操作されると、コントローラ140によって電磁弁58a,58bが作動され、走行モータ3a(走行体11の右側のクローラ)が駆動される。操作レバーB4で操作装置A6が操作されると、コントローラ140によって電磁弁59a,59bが作動され、走行モータ3b(走行体11の左側のクローラ)が駆動される。
【0026】
コントローラ140は、操作装置A1~A6の操作量に基づいてレギュレータ2aを駆動し、メインポンプ2の吐出流量を制御する。
【0027】
パイロットポンプ48の吐出配管であるポンプライン170にはロック弁39が設けられる。ポンプライン170におけるロック弁39の下流側は、複数のパイロットラインC1~C12に分岐されて電磁弁54a~59bに接続されている。本実施形態のロック弁39は電磁切換弁であり、そのソレノイドは旋回体12の運転室16(
図1参照)に配置されたゲートロックレバー(不図示)の位置センサと電気的に接続されている。ゲートロックレバーのポジションがその位置センサで検出され、位置センサからゲートロックレバーのポジションに応じた信号がロック弁39に入力される。ゲートロックレバーのポジションがロック位置にあればロック弁39が閉じてパイロットポンプ48から電磁弁54a~59bへの作動油の供給が遮断される。ゲートロックレバーのポジションがロック解除位置にあればロック弁39が開いてパイロットポンプ48から電磁弁54a~59bへ作動油が供給される。つまり、ポンプライン170がロック弁39によって遮断された状態では、操作装置A1~A6による操作が無効化され、各油圧アクチュエータ(3a,3b,4~7)の動作が禁止される。
【0028】
-作業装置の基準点の演算方法-
図3は作業装置1Aの基準点の演算方法の説明図である。
図3に示すように、作業装置1Aの姿勢は、ショベル基準のローカル座標系で定義できる。
図3に示すローカル座標系は、旋回体12を基準に設定された座標系である。本実施形態では、このローカル座標系は、ブーム8の支点(ブームピンの中心点)が原点Oとされ、旋回体12の旋回中心軸と平行に(旋回体12の真上方向に)Z軸が設定され、Z軸と直交する方向(旋回体12の前方)にX軸が設定される。
【0029】
上述したブーム角度センサ30で検出されるブーム角度αは、X軸に対するブーム8の傾斜角度である。上述したアーム角度センサ31で検出されるアーム角度βは、ブーム8に対するアーム9の傾斜角度である。上述したバケット角度センサ32で検出されるバケット角度γは、アーム9に対するバケット10の傾斜角度である。上述した車体傾斜角度センサ33で検出される傾斜角度θは、水平面(基準面)に対する車体1B(旋回体12)の傾斜角度である。
【0030】
ブーム角度αは、ブーム8を上限まで上げた状態(ブームシリンダ5が最伸長状態)で最小、ブーム8を下限まで下げた状態(ブームシリンダ5が最収縮状態)で最大となる値である。アーム角度βは、アームシリンダ6が最収縮状態で最小、アームシリンダ6が最伸長状態で最大となる値である。バケット角度γは、バケットシリンダ7が最収縮状態(
図3で示す状態)で最小、バケットシリンダ7が最伸長状態で最大となる値である。
【0031】
ローカル座標系における作業装置1Aの基準点Pbkの位置(Xbk,Zbk)は、次の式(1),(2)で表される。
Xbk=L1cos(α)+L2cos(α+β)+L3cos(α+β+γ)…(1)
Zbk=L1sin(α)+L2sin(α+β)+L3sin(α+β+γ)…(2)
L1は原点O(ブームピンの中心点)からブーム8とアーム9との連結部(アームピンの中心点)までの長さであり、L2はアーム9とブーム8の連結部(アームピンの中心点)からアーム9とバケット10の連結部(バケットピンの中心点)までの長さであり、L3はアーム9とバケット10の連結部(バケットピンの中心点)から基準点Pbk(バケット10の爪先)までの長さである。
【0032】
-マシンコントロール-
コントローラ140には、操作装置A1~A3の少なくとも1つが操作された場合に、一定条件下でオペレータの操作に介入して作業装置1Aの動作を制限するMC(Machine Control)の機能が備わっている。MCには、「領域制限制御」及び「停止制御」が含まれる。領域制限制御は、操作装置A2によるアーム操作、または、操作装置A1によるブーム操作が行われる際にコントローラ140により実行される。停止制御は、操作装置A1によるブーム下げ操作、または、操作装置A3によるバケット操作が行われる際にコントローラ140により実行される。
【0033】
領域制限制御は「整地制御」とも呼ばれる。領域制限制御では、オペレータによるアーム操作またはブーム操作が行われたときに、目標面Stから下側の領域を作業装置1Aが掘削しないように、ブームシリンダ5、アームシリンダ6及びバケットシリンダ7の少なくとも1つが制御される。これにより、バケット爪先(バケット10の基準点Pbk)が目標面Stに沿って移動する。具体的には、コントローラ140は、アーム操作がなされているときには、目標面Stに垂直な方向のバケット爪先の速度ベクトルがゼロになるように、ブーム上げまたはブーム下げ動作の指令を行う。また、コントローラ140は、オペレータによるアーム操作に応じたアーム9の動作を減速させる指令も行う。コントローラ140は、ブーム操作がなされているときには、アームクラウドまたはアームダンプの動作指令を行う。これにより、回動運動であるアーム動作やブーム動作によるバケット爪先の軌跡が、目標面Stに沿った直線軌道に補正される。
【0034】
停止制御では、オペレータによるブーム下げ操作が行われたときに、目標面Stよりも下方の領域にバケット爪先(バケット10の基準点Pbk)が侵入しないように、ブームシリンダ5及びバケットシリンダ7の少なくとも1つが制御される。これにより、バケット爪先が目標面Stよりも下方の領域に侵入する前に、ブーム下げ動作やバケット動作が停止される。停止制御では、コントローラ140は、バケット爪先が目標面Stに接近するにつれブーム下げ動作やバケット動作を減速させる。
【0035】
MCには、操作装置A1~A3の非操作時に作業装置1Aの動作をコントローラ140により制御する「自動制御」と、操作装置A1~A3の操作時に作業装置1Aの動作をコントローラ140により制御する「半自動制御」と、がある。なお、半自動制御は、目標面Stとバケット10との位置関係に応じて、オペレータ操作にコントローラ140による制御が介入するため「介入制御」とも呼ばれる。以下では、介入制御により作業装置1Aが動作している運転状態のことを「半自動運転状態」と記す。介入制御が実行されることなく、操作装置A1~A4の操作量及び操作方向に応じて作業装置1Aが動作している運転状態のことを「マニュアル運転状態」と呼ぶ。
【0036】
-コントローラ(ハードウェア)-
図4は油圧ショベル1のコントローラ140のハードウェア構成図である。
図4に示すように、コントローラ140には、姿勢検出装置50、目標面データ入力装置51、位置検出装置52、操作装置A1~A6、モード切替スイッチ96、表示装置53及び電磁弁54a~59bが接続されている。
【0037】
コントローラ140は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)等のプロセッサ92、ROM(Read Only Memory)、フラッシュメモリ、磁気記憶装置であるハードディスクドライブ等の不揮発性メモリ93、所謂RAM(Random Access Memory)と呼ばれる揮発性メモリ94、入力インターフェース91、出力インターフェース95、及び、その他の周辺回路を備えたコンピュータで構成される。なお、コントローラ140は、1つのコンピュータで構成してもよいし、複数のコンピュータで構成してもよい。
【0038】
不揮発性メモリ93には、MC機能を実現するための制御プログラムを含む、各種処理の実行に必要なプログラム、データ等の情報が格納されている。すなわち、不揮発性メモリ93は、本実施形態の機能を実現するプログラムを読み取り可能な記憶媒体(記憶装置)である。プロセッサ92は、不揮発性メモリ93に記憶されたプログラムを揮発性メモリ94に展開して演算実行する処理装置であって、プログラムに従って入力インターフェース91、不揮発性メモリ93及び揮発性メモリ94から取り入れたデータに対して所定の演算処理を行う。
【0039】
入力インターフェース91は、各装置(姿勢検出装置50、目標面データ入力装置51、位置検出装置52、操作装置A1~A6、モード切替スイッチ96等)から入力された信号をプロセッサ92で演算可能なデータに変換する。また、出力インターフェース95は、プロセッサ92での演算結果に応じた出力用の信号を生成し、その信号を各装置(表示装置53、電磁弁54a~59b等)に出力する。これにより、各装置(表示装置53、電磁弁54a~59b等)が作動する。
【0040】
表示装置53は、例えば、タッチパネル式の液晶モニタであり、運転室16内に設置されている。
図5は表示装置53の表示画面の一例を示す図である。
図5に示すように、表示装置53は、コントローラ140からの表示制御信号に基づいて、様々な表示画像を表示画面に表示する。コントローラ140は、表示装置53の表示画面に目標面Stと作業装置1A(例えば、バケット10)の位置関係を表す表示画像を表示させることができる。図に示す例では、目標面St及びバケット10を表す画像と、目標面Stからバケット10の基準点Pbk(例えば、爪先)までの距離(以下、目標面距離とも記す)Hが表示されている。目標面距離Hは、目標面Stを基準に上方向に正の値、下方向に負の値をとる。オペレータは、表示装置53の表示画面を参考に作業装置1Aを操作することができる。このように、コントローラ140は、表示装置53を制御して、オペレータの操作に必要な情報、オペレータに所定の操作を促す情報等を表示装置53の表示画面に表示させる。つまり、コントローラ140は、オペレータの操作を補助するマシンガイダンス機能を有している。
【0041】
図4に示す姿勢検出装置50は、上述したブーム角度センサ30、アーム角度センサ31、バケット角度センサ32及び車体傾斜角度センサ33を有する。これらの角度センサ(30,31,32,33)は、作業装置1Aの姿勢に関する情報を取得し、その情報に応じた信号を出力する。操作装置A1~A6は、操作レバーB1~B4の操作方向及び操作量を検出する操作センサを有し、操作センサの検出結果を操作信号としてコントローラ140に出力する。
【0042】
目標面データ入力装置51は、目標形状データ(目標面Stの位置、目標面Stの基準面(水平面)に対する傾斜角度等)をコントローラ140に入力可能なインターフェースである。例えば、目標面データ入力装置51は、地理座標系(絶対座標系)で規定された3次元の目標形状データを格納したフラッシュメモリ、磁気記憶装置であるハードディスクドライブ等の不揮発性メモリである。また、目標面データ入力装置51は、外部端末(不図示)と通信可能な通信装置と、通信装置を制御して外部端末から3次元の目標形状データを取得し、不揮発性メモリ内の3次元データを更新可能なコンピュータと、を有する装置であってもよい。
【0043】
位置検出装置52は、上述した複数のGNSSアンテナG1,G2及び測位演算装置(不図示)を有する。位置検出装置52は、地理座標系における車体1Bの位置情報及び方位情報を検出し、検出結果をコントローラ140に出力する。モード切替スイッチ96は、制御モード(作業モード)を設定する入力装置であり、運転室16内に設置されている。モード切替スイッチ96は、コントローラ140により整地制御を実行させる整地制御モード、コントローラ140により停止制御を実行させる停止制御モード、コントローラ140により整地制御及び停止制御のいずれも実行させないマニュアル制御モード、コントローラ140により予め定められた動作を行わせる自動運転制御モードと、を切り替えるためのスイッチである。
【0044】
-コントローラ(機能)-
図6等を参照し、コントローラ140の主な機能について説明する。
図6はコントローラ140の機能ブロック図である。コントローラ140は、記憶装置である不揮発性メモリ93に記憶されているプログラムを実行することにより、操作量演算部141、姿勢演算部142、目標面設定部143、目標速度演算部144、目標パイロット圧演算部145、指令パイロット圧補正部146、バルブ指令演算部147、及び表示制御部148として機能する。目標パイロット圧演算部145、指令パイロット圧補正部146及びバルブ指令演算部147は、電磁弁54a~59bを制御することにより、油圧アクチュエータ(3a,3b,4~7)を制御するアクチュエータ制御部149として機能する。
【0045】
-操作量演算部-
操作量演算部141は、操作装置A1から出力されるブーム上げ、ブーム下げの操作信号に基づいて、流量制御弁D1の受圧室E1,E2に作用させる操作パイロット圧PiBMU0,PiBMD0を算出する。操作量演算部141は、操作装置A2から出力されるアームクラウド(アーム引き)、アームダンプ(アーム押し)の操作信号に基づいて、流量制御弁D2の受圧室E3,E4に作用させる操作パイロット圧PiAMC0,PiAMD0を算出する。操作量演算部141は、操作装置A3から出力されるバケットクラウド(バケット掘削)、バケットダンプ(バケット放土)の操作信号に基づいて、流量制御弁D3の受圧室E5,E6に作用させる操作パイロット圧PiBKC0,PiBKD0を算出する。
【0046】
操作量演算部141は、操作装置A4から出力される右旋回、左旋回の操作信号に基づいて、流量制御弁D4の受圧室E7,E8に作用させる操作パイロット圧PiSR0,PiSL0を算出する。操作量演算部141は、操作装置A5から出力される右走行体前進、右走行体後進の操作信号に基づいて、流量制御弁D5の受圧室E9,E10に作用させる操作パイロット圧PiRF0,PiRR0を算出する。操作量演算部141は、操作装置A6から出力される左走行体前進、左走行体後進の操作信号に基づいて、流量制御弁D6の受圧室E11,E12に作用させる操作パイロット圧PiLF0,PiLR0を算出する。このように、操作量演算部141は、操作装置A1~A6の操作量に基づいて、電磁弁54a~59bで生成するパイロット圧の第1の指令値である操作パイロット圧PiBMU0,PiBMD0,PiAMC0,PiAMD0,PiBKC0,PiBKD0を演算する。
【0047】
-姿勢演算部-
姿勢演算部142は、姿勢検出装置50で検出される姿勢情報に基づき、ブーム角度α、アーム角度β、バケット角度γ、及び傾斜角度(ピッチ角)θを演算する。姿勢演算部142は、ブーム角度α、アーム角度β及びバケット角度γ、並びに不揮発性メモリ93に記憶されている作業装置1Aの各部の寸法(L1,L2,L3)に基づき、ローカル座標系(ショベル基準座標系)における作業装置1Aの姿勢と、バケット10の基準点Pbk(Xbk,Zbk)を演算する。既述のとおり、バケット10の基準点Pbk(Xbk,Zbk)は、式(1)及び式(2)により演算できる。地理座標系における作業装置1Aの姿勢とバケット10の基準点Pbkの位置が必要な場合には、姿勢演算部142は、位置検出装置52で検出される地理座標系における旋回体12の位置情報及び方位情報並びに姿勢検出装置50で検出される車体1Bの傾斜角度に基づいて、旋回体12の地理座標系における位置と姿勢を算出して、ローカル座標系座標を地理座標系座標に変換する。
【0048】
姿勢演算部142は、バケット10の基準点Pbkから後述する目標面設定部143により設定される目標面Stまでの距離である目標面距離Hを演算する。なお、目標面距離Hは、バケット10の基準点Pbkと目標面Stとの鉛直方向の距離としてもよいし、バケット10の基準点Pbkと目標面Stとの最短距離としてもよい。
【0049】
-目標面設定部-
目標面設定部143は、目標面データ入力装置51から3次元の目標形状データを取得する。目標面設定部143は、目標形状データに基づいて、目標面Stの位置情報を演算し、演算結果を記憶装置である揮発性メモリ94に記憶する。目標面設定部143は、作業装置1Aの動作平面で切断した目標形状データの断面形状を目標面St(
図3に示す2次元の目標面)として、その位置情報を演算する。
【0050】
作業装置1Aの動作平面は、姿勢演算部142で演算された地理座標系の作業装置1Aの各部の位置座標に基づいて演算される。なお、作業装置1Aの各部の位置座標は、上述したように、車体1Bの位置情報と油圧ショベル1の姿勢情報に基づいて演算される。つまり、目標面設定部143は、目標面データ入力装置51から取得した目標形状データ、車体1Bの位置情報及び油圧ショベル1の姿勢情報に基づいて目標面Stを設定する。
【0051】
なお、
図3に示す例では目標面Stは1つだが、目標面Stが複数存在する場合もある。目標面Stが複数存在する場合には、例えば、バケット10の基準点Pbkに最も近いものを目標面Stとして設定してもよいし、バケット10の基準点Pbkの鉛直下方に位置するものを目標面Stとして設定してもよいし、任意に選択したものを目標面Stとして設定してもよい。
【0052】
-表示制御部-
図6に示す表示制御部148は、目標面設定部143で設定された目標面Stと、姿勢演算部142で演算されたバケット10の基準点(バケット爪先)との位置関係を表す画像(
図5参照)を表示装置53の表示画面に表示させるための表示制御信号を生成する。表示制御部148は、生成した表示制御信号を表示装置53に出力する。
【0053】
-目標速度演算部-
目標速度演算部144は、姿勢演算部142での演算結果及び操作量演算部141での演算結果に基づいて、各油圧シリンダ(5,6,7)の伸縮速度の目標値(以下、目標速度とも記す)を演算する。目標速度演算部144は、モード切替スイッチ96(
図4参照)により領域制限制御(整地制御)モードが設定されている場合、作業装置1Aによって目標面Stを越えて地面を掘削しないように、各油圧シリンダ(5,6,7)の目標速度を演算する。
【0054】
以下、
図7を参照して、整地制御における目標速度の演算方法について詳しく説明する。
図7は、バケット10の爪先が補正後の目標速度ベクトルVcaの通りに制御されたときの、バケット10の爪先の軌跡の一例を示す図である。ここでの説明では、図示するように、Xt軸およびYt軸を設定する。Xt軸は、目標面Stに平行な軸であり、Yt軸は、目標面Stに直交する軸である。
【0055】
目標速度演算部144は、操作量演算部141によって演算された操作パイロット圧に基づいて、各油圧シリンダ(5,6,7)の一次目標速度を演算する。目標速度演算部144は、各油圧シリンダ(5,6,7)の一次目標速度と、姿勢演算部142で演算されたバケット10の爪先(基準点Pbk)の位置と、不揮発性メモリ93に記憶されている作業装置1Aの各部の寸法(L1,L2,L3等)とに基づいて、バケット10の爪先の目標速度ベクトルVcを演算する。目標速度演算部144は、バケット10の爪先と目標面Stとの距離である目標面距離Hに応じて、一次目標速度を補正することにより、二次目標速度を演算する。目標速度演算部144は、目標面距離Hが0(ゼロ)に近づくにつれて、バケット10の爪先の目標速度ベクトルVcにおける目標面Stに直交する成分Vcy(Yt軸方向の速度成分)が0(ゼロ)に近づくように油圧シリンダ(5,6,7)のうち必要な油圧シリンダの二次目標速度を演算する。これにより、バケット10の爪先の速度ベクトルVcがVcaに変換される。目標面距離Hが0(ゼロ)のときの目標速度ベクトルVca(≠0)は、目標面Stに平行な成分Vcx(Xt軸方向の速度成分)のみになる。これにより、目標面Stよりも下側の領域にバケット10の爪先が侵入しないように、目標面St上またはその上側の領域にバケット10の爪先が保持される。
【0056】
このように、目標速度演算部144は、速度ベクトルVcをVcaに変換する制御(以下、方向変換制御とも記す)を行う。方向変換制御では、例えば、操作装置A2によってアームクラウドの操作が単独で行われたときには、アームシリンダ6を伸長させるとともに、ブームシリンダ5を伸長させることにより、速度ベクトルVcをVcaに変換させる。なお、目標速度演算部144は、必要に応じて、アーム9の操作パイロット圧に基づいて演算されるアームシリンダ6の一次目標速度を補正して、一次目標速度よりも低い二次目標速度を演算する。これにより、アームクラウド動作が減速されるので、ブーム上げ動作が間に合わずにバケット10が目標面Stを越えて目標面Stの下方まで地面を掘削してしまうことを防止できる。
【0057】
方向変換制御は、ブーム上げまたはブーム下げとアームクラウドとの組み合わせにより実行される場合と、ブーム上げまたはブーム下げとアームダンプとの組み合わせにより実行される場合とがある。いずれの場合においても、目標速度ベクトルVcが目標面Stに接近する下向き成分(Vcy<0)を含むとき、目標速度演算部144は、その下向き成分を打ち消すブーム上げ方向のブームシリンダ5の目標速度を演算する。反対に目標速度ベクトルVcが目標面Stから離れる上向き成分(Vcy>0)を含むとき、目標速度演算部144は、その上向き成分を打ち消すブーム下げ方向のブームシリンダ5の目標速度を演算する。
【0058】
なお、モード切替スイッチ96(
図4参照)により、マニュアル制御モードが設定されている場合、目標速度演算部144は、操作装置A1~A3の操作に応じた各油圧シリンダ(5~7)の目標速度を演算する。つまり、マニュアル制御モードが設定されている場合、目標速度演算部144は方向変換制御を実行しない。
【0059】
-目標パイロット圧演算部-
図6に示す目標パイロット圧演算部145は、不揮発性メモリ93に記憶されている各油圧シリンダ(5~7)の流量制御弁D1~D3に作用させるパイロット圧と各油圧シリンダ(5~7)の伸縮速度の関係に基づいて、目標速度演算部144で演算された各目標速度を目標パイロット圧に変換する。目標パイロット圧演算部145は、ブーム上げ動作、ブーム下げ動作に対応するブームシリンダ5の目標速度に基づいて目標パイロット圧PiBMU1,PiBMD1を演算する。目標パイロット圧演算部145は、アームクラウド動作、アームダンプ動作に対応するアームシリンダ6の目標速度に基づいて目標パイロット圧PiAMC1,PiAMD1を演算する。目標パイロット圧演算部145は、バケットクラウド動作、バケットダンプ動作に対応するバケットシリンダ7の目標速度に基づいて目標パイロット圧PiBKC1,PiBKD1を演算する。このように、目標パイロット圧演算部145は、目標速度演算部144で演算された目標速度に基づいて、電磁弁54a~56bで生成するパイロット圧の第2の指令値である目標パイロット圧PiBMU1,PiBMD1,PiAMC1,PiAMD1,PiBKC1,PiBKD1を演算する。
【0060】
-指令パイロット圧補正部-
指令パイロット圧補正部146は、姿勢演算部142の演算結果に基づいて、操作量演算部141で演算された各操作パイロット圧PiBMU0,PiBMD0,PiAMC0,PiAMD0,PiBKC0,PiBKD0、及び、目標パイロット圧演算部145で演算された目標パイロット圧PiBMU1,PiBMD1,PiAMC1,PiAMD1,PiBKC1,PiBKD1に対して補正を行うことにより、指令パイロット圧PiBMU2,PiBMD2,PiAMC2,PiAMD2,PiBKC2,PiBKD2を演算する。以下、指令パイロット圧の演算方法について詳しく説明する。
【0061】
以下では、操作パイロット圧PiBMU0,PiBMD0,PiAMC0,PiAMD0,PiBKC0,PiBKD0を総称して、操作パイロット圧Pi0と記し、目標パイロット圧PiBMU1,PiBMD1,PiAMC1,PiAMD1,PiBKC1,PiBKD1を総称して、目標パイロット圧Pi1と記す。
【0062】
指令パイロット圧補正部146は、操作パイロット圧Pi0がアクチュエータ非駆動相当圧psを超えてアクチュエータ駆動相当圧に達すると(Pi0>ps)、操作パイロット圧Pi0を一時的に高くする補正を行う。指令パイロット圧補正部146は、介入制御が実行されないことを想定し、操作装置A1~A3の操作に応じた制御電流が電磁弁54a~56bに印加されてから油圧シリンダ(5~7)が駆動するまでの遅れ時間を低減するための補正操作パイロット圧PiBMU0’,PiBMD0’,PiAMC0’,PiAMD0’,PiBKC0’,PiBKD0’を演算する。補正操作パイロット圧PiBMU0’,PiBMD0’,PiAMC0’,PiAMD0’,PiBKC0’,PiBKD0’は、各操作パイロット圧PiBMU0,PiBMD0,PiAMC0,PiAMD0,PiBKC0,PiBKD0よりも大きい値である。後述するように、指令パイロット圧補正部146は、補正操作パイロット圧PiBMU0’,PiBMD0’,PiAMC0’,PiAMD0’,PiBKC0’,PiBKD0’を時間の経過とともに操作パイロット圧PiBMU0,PiBMD0,PiAMC0,PiAMD0,PiBKC0,PiBKD0に漸近させる。
【0063】
指令パイロット圧補正部146は、目標パイロット圧Pi1がアクチュエータ非駆動相当圧psを超えてアクチュエータ駆動相当圧に達すると(Pi1>ps)、目標パイロット圧Pi1を一時的に高くする補正を行う。指令パイロット圧補正部146は、介入制御が実行されることを想定し、コントローラ140の指令に応じた制御電流が電磁弁54a~56bに印加されてから油圧シリンダ(5~7)が駆動するまでの遅れ時間を駆動対象部材(8~10)の姿勢に関わらず一定にするための補正目標パイロット圧PiBMU1’,PiBMD1’,PiAMC1’,PiAMD1’,PiBKC1’,PiBKD1’を演算する。補正目標パイロット圧PiBMU1’,PiBMD1’,PiAMC1’,PiAMD1’,PiBKC1’,PiBKD1’は、各目標パイロット圧PiBMU1,PiBMD1,PiAMC1,PiAMD1,PiBKC1,PiBKD1よりも大きい値である。後述するように、指令パイロット圧補正部146は、補正目標パイロット圧PiBMU1’,PiBMD1’,PiAMC1’,PiAMD1’,PiBKC1’,PiBKD1’を時間の経過とともに目標パイロット圧PiBMU1,PiBMD1,PiAMC1,PiAMD1,PiBKC1,PiBKD1に漸近させる。
【0064】
以下では、補正操作パイロット圧PiBMU0’,PiBMD0’,PiAMC0’,PiAMD0’,PiBKC0’,PiBKD0’を総称して、補正操作パイロット圧Pi0’と記し、補正目標パイロット圧PiBMU1’,PiBMD1’,PiAMC1’,PiAMD1’,PiBKC1’,PiBKD1’を総称して、補正目標パイロット圧Pi1’と記す。
【0065】
指令パイロット圧補正部146は、補正操作パイロット圧Pi0’と補正目標パイロット圧Pi1’の調停を行うために、目標面距離Hに応じて制御介入比率(パイロット比率)aを演算する。
図8は目標面距離Hと制御介入比率aとの関係を示す図である。
図8では、横軸が目標面距離Hを表し、縦軸が制御介入比率aを表している。
図8に示すように、制御介入比率aは、目標面距離Hが第2距離H2(例えば1000mm)以上の場合には、0.0となる。制御介入比率aは、目標面距離Hが第1距離H1(例えば300mm)以下の場合には、1.0となる。制御介入比率aは、第1距離H1から第2距離H2の範囲において、目標面距離Hが小さくなるほど大きくなる。
図8に示す目標面距離Hと制御介入比率aとの関係は、テーブル形式で不揮発性メモリ93に記憶されている。指令パイロット圧補正部146は、
図8に示す比率演算テーブルを参照し、姿勢演算部142で演算された目標面距離Hに基づいて制御介入比率aを演算する。
【0066】
図6に示す指令パイロット圧補正部146は、以下の式(3)により、指令パイロット圧Pi2を演算する。
Pi2 = Pi0’ × (1-a) + Pi1’ × a …(3)
式(3)により演算された指令パイロット圧Pi2、すなわちPiBMU2,PiBMD2,PiAMC2,PiAMD2,PiBKC2,PiBKD2は、バルブ指令演算部147での演算に用いられる。式(3)で表されるように、制御介入比率aは、補正目標パイロット圧Pi1’及び補正操作パイロット圧Pi0’のそれぞれが、指令パイロット圧Pi2に与える影響度合いを決定するためのパラメータである。制御介入比率aが大きいほど、補正目標パイロット圧Pi1’が指令パイロット圧Pi2に与える影響度合いが大きくなり、補正操作パイロット圧Pi0'が指令パイロット圧Pi2に与える影響度合いが小さくなる。指令パイロット圧補正部146による補正操作パイロット圧Pi0’と、補正目標パイロット圧Pi1’の演算方法の詳細については後述する。
【0067】
なお、指令パイロット圧補正部146は、姿勢演算部142の演算結果に基づいて、操作量演算部141で演算された右旋回、左旋回、右走行体前進、右走行体後進、左走行体前進、左走行体後進の操作信号に対応する操作パイロット圧PiSR0,PiSL0,PiRF0,PiRR0,PiLF0,PiLR0に対して補正を行うことにより、指令パイロット圧PiSR2,PiSL2,PiRF2,PiRR2,PiLF2,PiLR2を演算する。
【0068】
操作パイロット圧PiSR0,PiSL0,PiRF0,PiRR0,PiLF0,PiLR0に対する補正は、上述したPiBMU0,PiBMD0,PiAMC0,PiAMD0,PiBKC0,PiBKD0に対する補正と同様であるため、説明を省略する。指令パイロット圧補正部146は、右旋回、左旋回、右走行体前進、右走行体後進、左走行体前進、左走行体後進の操作信号に対応する補正後の操作パイロット圧PiSR0’,PiSL0’,PiRF0’,PiRR0’,PiLF0’,PiLR0’を指令パイロット圧PiSR2,PiSL2,PiRF2,PiRR2,PiLF2,PiLR2として演算する。
【0069】
-バルブ指令演算部-
バルブ指令演算部147は、指令パイロット圧補正部146で演算された指令パイロット圧PiBMU2,PiBMD2,PiAMC2,PiAMD2,PiBKC2,PiBKD2,PiSR2,PiSL2,PiRF2,PiRR2,PiLF2,PiLR2に基づき制御電流値を演算する。バルブ指令演算部147は、演算結果に応じた制御電流が電磁弁54a~59bのソレノイドに流れるように、制御信号(駆動電圧)を電磁弁54a~59bに出力する。これにより、電磁弁54a~59bによって指令パイロット圧に相当するパイロット圧が生成される。電磁弁54a~59bにより生成されたパイロット圧が流量制御弁D1~D6の受圧室E1~E12に作用すると、流量制御弁D1~D6が作動する。
【0070】
例えば、整地制御モードが設定されている状態で、水平掘削を意図したアームクラウド操作が行われると、バケット10の爪先が目標面Stの下方領域に侵入しないように電磁弁54a,55aが制御される。この場合、オペレータの操作に応じたアームクラウド動作にアームクラウドの減速動作やブーム上げ動作が自動的に合成される。その結果、アームクラウド操作のみで水平掘削動作が行われる。
【0071】
-補正操作パイロット圧Pi0’と、補正目標パイロット圧Pi1’-
指令パイロット圧補正部146による補正操作パイロット圧Pi0’と、補正目標パイロット圧Pi1’の演算方法の詳細について説明する。指令パイロット圧補正部146は、操作パイロット圧Pi0と、目標パイロット圧Pi1がアクチュエータ非駆動相当圧ps(例えば、0.3MPa)を超えたか否かを判定する。アクチュエータ非駆動相当圧psは、油圧アクチュエータ(3a,3b,4~7)が動作し始めるパイロット圧(アクチュエータ駆動相当圧)よりもわずかに小さい圧力であり、予め不揮発性メモリ93に記憶されている。アクチュエータ非駆動相当圧psは、油圧アクチュエータ(3a,3b,4~7)ごとに定められている。
【0072】
指令パイロット圧補正部146は、操作パイロット圧Pi0がアクチュエータ非駆動相当圧ps以下の状態からアクチュエータ非駆動相当圧psよりも高い状態に切り換わった場合に、操作パイロット圧Pi0がアクチュエータ非駆動相当圧psを超えたと判定する。指令パイロット圧補正部146は、操作パイロット圧Pi0がアクチュエータ非駆動相当圧psを超えたと判定した時点から操作パイロット圧Pi0を補正する。指令パイロット圧補正部146は、操作パイロット圧Pi0がアクチュエータ非駆動相当圧psを超えると、操作パイロット圧Pi0よりも高い補正操作パイロット圧Pi0’を演算する。
【0073】
同様に、指令パイロット圧補正部146は、目標パイロット圧Pi1がアクチュエータ非駆動相当圧ps以下の状態からアクチュエータ非駆動相当圧psよりも高い状態に切り換わった場合に、目標パイロット圧Pi1がアクチュエータ非駆動相当圧psを超えたと判定する。指令パイロット圧補正部146は、目標パイロット圧Pi1がアクチュエータ非駆動相当圧psを超えたと判定した時点から目標パイロット圧Pi1を補正する。指令パイロット圧補正部146は、目標パイロット圧Pi1がアクチュエータ非駆動相当圧psを超えると、目標パイロット圧Pi1よりも高い補正目標パイロット圧Pi1’を演算する。
【0074】
図9Aは、操作パイロット圧Pi0と、補正操作パイロット圧Pi0’の時刻歴波形を模式的に示す図である。
図9Bは、目標パイロット圧Pi1と、補正目標パイロット圧Pi1’の時刻歴波形を模式的に示す図である。
【0075】
図9Aにおいて実線で示すように、操作パイロット圧Pi0は、時点ta0においてアクチュエータ非駆動相当圧psから上昇を始めている。このため、
図9Aにおいて破線で示すように、時点ta0から操作パイロット圧Pi0に対する補正が開始される。
【0076】
時点ta0は、操作パイロット圧Pi0が、アクチュエータ非駆動相当圧ps以下の状態からアクチュエータ非駆動相当圧psよりも高い状態に切り換わった時刻であり、以下では駆動開始時点と記す。この駆動開始時点ta0から時刻tまでの経過時間をτaとして(すなわちτa=t-ta0)、指令パイロット圧補正部146は、以下の式(4)により、補正操作パイロット圧Pi0’を演算する。
Pi0’ = (Pmax0 - Pi0)exp(-Ka・τa)+Pi0 …(4)
補正圧力Pmax0は、t=ta0における出力圧力であり、電磁弁54a~56bの使用範囲における最大出力圧力である。Kaは正の所定値である。関数exp(x)はネイピア数を指数の底とし、xを指数とした指数関数を表す。
【0077】
式(4)の右辺第1項には、指数関数exp(-Ka・τa)が含まれており、その指数は駆動開始時点ta0からの経過時間τaと定数値の積で表されている。したがって、駆動開始時点ta0においては、経過時間τa=0であり、指数関数exp(-Ka・τa)は1となるため、補正操作パイロット圧Pi0’は、補正圧力Pmax0となる。
【0078】
指数関数exp(-Ka・τa)は、底がexp(-Ka)、指数がτaである。また、Kaは、正の所定値であるため、exp(-Ka)は1よりも小さい値である。したがって、駆動開始時点ta0からの経過時間τaの増加とともに指数関数exp(-Ka・τa)は0(ゼロ)に漸近していく。このため、補正操作パイロット圧Pi0’は、経過時間τaの増加とともに操作パイロット圧Pi0に漸近し、時点ta1ではその差が略0となっている。なお、補正操作パイロット圧Pi0’の操作パイロット圧Pi0への漸近の度合いは、所定値Kaを変更することにより、調整できる。なお、所定値Kaは、各油圧シリンダ(5~7)に対して共通の値を設定してもよいし、油圧シリンダ(5~7)ごとに異なる値を設定してもよい。
【0079】
補正圧力Pmax0は、
図9Aに示すように、時点ta0から時点ta1の補正を行う制御範囲において、補正操作パイロット圧Pi0’の最大値となる。補正圧力Pmax0は、大きいほど、電磁弁54a~56bに制御電流が印加されてから油圧シリンダ(5~7)が駆動するまでの遅れ時間を小さくすることができる。補正圧力Pmax0は、各油圧シリンダ(5~7)の操作開始時の操作フィーリングに合うように、油圧シリンダ(5~7)ごとに異なるパラメータが設定される。なお、補正圧力Pmax0は、各油圧シリンダ(5~7)に対して共通のパラメータを設定してもよい。
【0080】
図9Bにおいて実線で示すように、目標パイロット圧Pi1は、時点tb0においてアクチュエータ非駆動相当圧psから上昇を始めている。このため、
図9Bにおいて破線で示すように、時点tb0から目標パイロット圧Pi1に対する補正が開始される。
【0081】
時点tb0は、目標パイロット圧Pi1が、アクチュエータ非駆動相当圧ps以下の状態からアクチュエータ非駆動相当圧psよりも高い状態に切り換わった時刻であり、以下では駆動開始時点と記す。この駆動開始時点tb0から時刻tまでの経過時間をτbとして(すなわちτb=t-tb0)、指令パイロット圧補正部146は、以下の式(5)により、補正目標パイロット圧Pi1’を演算する。
Pi1’ = (Pmax1 - Pi1)exp(-Kb・τb)+Pi1 …(5)
補正圧力Pmax1は、t=tb0における出力圧力である。Kbは正の所定値である。関数exp(x)はネイピア数を指数の底とし、xを指数とした指数関数を表す。
【0082】
式(5)の右辺第1項には、指数関数exp(-Kb・τb)が含まれており、その指数は駆動開始時点tb0からの経過時間τbと定数値の積で表されている。したがって、駆動開始時点tb0においては、経過時間τb=0であり、指数関数exp(-Kb・τb)は1となるため、補正目標パイロット圧Pi1’は、補正圧力Pmax1となる。
【0083】
指数関数exp(-Kb・τb)は、底がexp(-Kb)、指数がτbである。また、Kbは、正の所定値であるため、exp(-Kb)は1よりも小さい値である。したがって、駆動開始時点tb0からの経過時間τbの増加とともに指数関数exp(-Kb・τb)は0(ゼロ)に漸近していく。このため、補正目標パイロット圧Pi1’は、経過時間τbの増加とともに目標パイロット圧Pi1に漸近し、時点tb1ではその差が略0となっている。なお、補正目標パイロット圧Pi1’の目標パイロット圧Pi1への漸近の度合いは、所定値Kbを変更することにより、調整できる。なお、所定値Kbは、各油圧シリンダ(5~7)に対して共通の値を設定してもよいし、油圧シリンダ(5~7)ごとに異なる値を設定してもよい。
【0084】
補正圧力Pmax1は、
図9Bに示すように、時点tb0から時点tb1の補正を行う制御範囲において、補正操作パイロット圧Pi0’の最大値となる。補正圧力Pmax1は、領域制限制御が実施される際に、作業装置1Aの姿勢に関わらず、電磁弁54a~56bに制御電流が印加されてから油圧シリンダ(5~7)が駆動するまでの遅れ時間を一定にするために設定される。補正圧力Pmax1は、作業装置1Aを構成する駆動対象部材(8~10)の姿勢に基づいて演算される。
【0085】
補正圧力Pmax1の演算方法について、詳しく説明する。
図10は、駆動対象部材(8~10)の動作方向ベクトル及びその重力方向成分を示す図である。
図10に示すように、指令パイロット圧補正部146は、姿勢演算部142での演算結果に基づいて、各駆動対象部材(8~10)の動作方向ベクトルVBmU,VBmD,VAmC,VAmD,VBkC,VBkDを演算する。以下、動作方向ベクトルVBmU,VBmD,VAmC,VAmD,VBkC,VBkDを総称して、動作方向ベクトルVDとも記す。
【0086】
動作方向ベクトルVBmUは、ブーム上げ動作を想定したブーム8の先端部の動作方向の単位ベクトルである。動作方向ベクトルVBmDは、ブーム下げ動作を想定したブーム8の先端部の動作方向の単位ベクトルである。動作方向ベクトルVBmU,VBmDは、ブームピンとアームピンとを結んだ線分に直交する方向にアームピンから延びている。動作方向ベクトルVAmCは、アームクラウド動作を想定したアーム9の先端部の動作方向の単位ベクトルである。動作方向ベクトルVAmDは、アームダンプ動作を想定したアーム9の先端部の動作方向の単位ベクトルである。動作方向ベクトルVAmC,VAmDは、アームピンとバケットピンとを結んだ線分に直交する方向にバケットピンから延びている。動作方向ベクトルVBkCは、バケットクラウド動作を想定したバケット10の先端部(爪先)の動作方向の単位ベクトルである。動作方向ベクトルVBkDは、バケットダンプ動作を想定したバケット10の先端部(爪先)の動作方向の単位ベクトルである。動作方向ベクトルVBkC,VBkDは、バケットピンとバケット爪先とを結んだ線分に直交する方向にバケット爪先から延びている。
【0087】
指令パイロット圧補正部146は、姿勢演算部142の演算結果に基づいて、駆動対象部材(8~10)の動作方向ベクトルの重力方向成分VGBmU,VGBmD,VGAmC,VGAmD,VGBkC,VGBkDを以下の式(6)~(11)により演算する。
VGBmU = VBmUcos(α+θ) …(6)
VGBmD = VBmDcos(α+θ) …(7)
VGAmC = VAmCcos(α+β+θ) …(8)
VGAmD = VAmDcos(α+β+θ) …(9)
VGBkC = VBkCcos(α+β+γ+θ) …(10)
VGBkD = VBkDcos(α+β+γ+θ) …(11)
αは姿勢演算部142で演算されるブーム角度であり、βは姿勢演算部142で演算されるアーム角度であり、γは姿勢演算部142で演算されるバケット角度であり、θは姿勢演算部142で演算される旋回体12(車体1B)の前後方向の傾斜角度(ピッチ角)である。
【0088】
本実施形態では、動作方向ベクトルVDの重力方向成分VGBmU,VGBmD,VGAmC,VGAmD,VGBkC,VGBkDは、重力の向き(鉛直下方向)の場合には負の値となり、重力の向きとは反対方向(鉛直上方向)の場合には正の値となる。動作方向ベクトルVDの重力方向成分VGBmU,VGBmD,VGAmC,VGAmD,VGBkC,VGBkDは-1.0から1.0の数値で表すことができる。以下、動作方向ベクトルVDの重力方向成分VGBmU,VGBmD,VGAmC,VGAmD,VGBkC,VGBkDを総称して、重力方向成分VGとも記す。
【0089】
図11は、動作方向ベクトルVDの重力方向成分VGと、補正圧力Pmax1との関係を示す図である。
図11では、横軸が動作方向ベクトルVDの重力方向成分VGを表し、縦軸が補正圧力Pmax1を表している。
図11に示すように、補正圧力Pmax1は、動作方向ベクトルVDの重力方向成分VGが所定値Vn以下では0(ゼロ)となり、動作方向ベクトルVDの重力方向成分VGが所定値Vp以上ではPx(>0)となる。補正圧力Pmax1は、所定値Vnから所定値Vpの範囲において、動作方向ベクトルVDの重力方向成分VGの値が大きくなるにつれ高くなる。なお、所定値Vnは-1以下の値であり、所定値Vpは1以上の値である。
【0090】
図11に示す動作方向ベクトルVDの重力方向成分VGと補正圧力Pmax1との関係は、テーブル形式で不揮発性メモリ93に記憶されている。指令パイロット圧補正部146は、
図11に示す補正圧力テーブルを参照し、動作方向ベクトルVDの重力方向成分VGに基づいて、補正圧力Pmax1を演算する。
【0091】
指令パイロット圧補正部146は、オペレータによる操作装置A1~A3の操作状態に関わらず、所定の制御周期で繰り返し、動作方向ベクトルVD及びその重力方向成分VG、補正圧力Pmax1を演算する。つまり、指令パイロット圧補正部146は、操作装置A1~A3が操作されていない状態のときも含め、常時、動作方向ベクトルVD及びその重力方向成分VG、補正圧力Pmax1を演算する。
【0092】
動作方向ベクトルVDの重力方向成分VGが正の値の場合、駆動対象部材(8~10)は重力に逆らって動作することになる。したがって、補正圧力Pmax1が油圧ショベル1の姿勢に関わらず一定値である場合、正の値の動作方向ベクトルVDの重力方向成分VGが大きくなるほど、電磁弁54a~56bに制御電流が印加されてから油圧シリンダ(5~7)が実際に駆動し始めるまでの遅れ時間が大きくなる。
【0093】
動作方向ベクトルVDの重力方向成分VGが負の値の場合、駆動対象部材(8~10)は重力に逆らわずに動作することになる。したがって、補正圧力Pmax1が油圧ショベル1の姿勢に関わらず一定値である場合、負の値の動作方向ベクトルVDの重力方向成分VGが小さくなるほど(重力方向成分VGの絶対値が大きくなるほど)、電磁弁54a~56bに制御電流が印加されてから油圧シリンダ(5~7)が実際に駆動し始めるまでの遅れ時間は小さくなる。
【0094】
本実施形態に係るコントローラ140は、目標パイロット圧Pi1がアクチュエータ非駆動相当圧psを超えると、動作方向ベクトルVDの重力方向成分VGが大きいほど補正圧力Pmax1を高くする。これにより、動作方向ベクトルVDの重力方向成分VGに基づいて、目標パイロット圧Pi1が補正される。したがって、動作方向ベクトルVDの重力方向成分VGが大きいほど、電磁弁54a~56bに制御電流が印加されてから油圧シリンダ(5~7)が実際に駆動し始めるまでの遅れ時間を低減することができる。その結果、作業装置1Aの姿勢に関わらず、重力方向に動作するアクチュエータの遅れ時間の均一化を図ることができる。
【0095】
図11に示す補正圧力テーブルは、各油圧シリンダ(5~7)の遅れ時間の実測値に基づき、各油圧シリンダ(5~7)の遅れ時間のバランスを考慮して、油圧シリンダ(5~7)ごとに異なるテーブルが設定される。なお、各油圧シリンダ(5~7)に対して共通のテーブルを設定してもよい。
【0096】
ここで、本実施形態の比較例として、作業装置1Aの姿勢及び動作方向に関わらず補正圧力Pmax1を一定値とした場合、駆動対象部材(8~10)が重力方向に動作するときには遅れ時間が小さくなり、駆動対象部材(8~10)が重力方向とは反対方向に動作するときには遅れ時間が大きくなる。つまり、比較例では、作業装置1Aの姿勢及び動作方向によって、遅れ時間にばらつきが生じる。このため、作業装置1Aの動き出し時に、精度よく目標面Stに沿って作業装置1Aを動かすことができないおそれがある。
【0097】
これに対して本実施形態では、作業装置1Aの姿勢及び動作方向に応じて補正圧力Pmax1が調整される。このため、駆動対象部材の姿勢及び動作方向に関わらず、制御信号が電磁弁54a~56bに出力されてから油圧シリンダ(5~7)が駆動し始めるまでの遅れ時間を一定にすることができ、作業装置1Aの動き出し時に、精度よく目標面Stに沿って作業装置1Aを動かすことができる。
【0098】
-効果-
上述した実施形態によれば、次の作用効果を奏する。
【0099】
(1)油圧ショベル(作業機械)1は、複数の油圧アクチュエータ(ブームシリンダ5、アームシリンダ6、バケットシリンダ7)、及び、複数の油圧アクチュエータにより駆動される複数の駆動対象部材(ブーム8、アーム9、バケット10)を有する作業装置1Aと、作業装置1Aの姿勢情報(ブーム角度、アーム角度、バケット角度)及び旋回体12の姿勢情報(車体傾斜角度)を検出する姿勢検出装置50と、複数の油圧アクチュエータに作動油を供給するメインポンプ(油圧ポンプ)2と、メインポンプ2から複数の油圧アクチュエータに供給される作動油の流れを制御する制御弁ユニット61と、制御弁ユニット61を駆動するためのパイロット圧を生成する複数の電磁弁54a~56bを有する電磁弁ユニット62と、電磁弁54a~56bで生成するパイロット圧の指令値である指令パイロット圧Pi2を演算し、指令パイロット圧Pi2に応じた制御信号を電磁弁54a~56bに出力するコントローラ140と、を備える。
【0100】
コントローラ140は、操作装置A1~A3の操作量に基づいて、電磁弁54a~56bで生成するパイロット圧の第1の指令値である操作パイロット圧Pi0を演算する。コントローラ140は、作業装置1Aにおいて予め定められた基準点Pbkが、目標面Stに沿って目標面Stを越えないように、電磁弁54a~56bで生成するパイロット圧の第2の指令値である目標パイロット圧Pi1を演算する。さらに、コントローラ140は、操作パイロット圧Pi0及び目標パイロット圧Pi1に基づいて指令パイロット圧Pi2を演算する。
【0101】
コントローラ140は、姿勢検出装置50で検出される姿勢情報に基づいて、駆動対象部材(8~10)の動作方向ベクトルVDの重力方向成分VGを演算する。コントローラ140は、目標パイロット圧Pi1が所定圧力(アクチュエータ非駆動相当圧)psを超えると、動作方向ベクトルVDの重力方向成分VGに基づいて、目標パイロット圧Pi1を補正する。コントローラ140は、操作パイロット圧Pi0が所定圧力(アクチュエータ非駆動相当圧)psを超えると、操作パイロット圧Pi0を補正する。コントローラ140は、補正後の目標パイロット圧Pi1’及び補正後の操作パイロット圧Pi0’に基づいて指令パイロット圧Pi2を演算する。コントローラ140は、駆動対象部材(8~10)の動作方向ベクトルVDの重力方向成分VGに応じて演算される補正が加味された指令パイロット圧Pi2に応じた制御信号を複数の電磁弁54a~56bに出力する。
【0102】
この構成によれば、作業装置1Aに作用する重力の影響に起因した遅れ時間のばらつきを均一化することにより、作業精度の向上を図ることができる。
【0103】
(2)本実施形態では、コントローラ140は、重力の向きとは反対方向(鉛直上方向)の動作方向ベクトルVDの重力方向成分VGを正の値とし、重力の向き(鉛直下方向)の動作方向ベクトルVDの重力方向成分VGを負の値としたとき、動作方向ベクトルVDの重力方向成分VGが大きいほど、パイロット圧の指令値である目標パイロット圧Pi1を高い値に補正する。本実施形態では、コントローラ140は、動作方向ベクトルVDの重力方向成分VGが大きいほど補正圧力Pmax1を高くする。
【0104】
コントローラ140は、駆動対象部材(8~10)が重力方向とは反対方向に動作する場合には、駆動対象部材(8~10)が重力方向に動作する場合に比べて、補正後の目標パイロット圧Pi1’の最大値となる補正圧力Pmax1を高くする。これにより、駆動対象部材(8~10)が重力方向とは反対方向に動作する場合の遅れ時間を低減できる。また、駆動対象部材(8~10)が重力方向に動作する場合には、駆動対象部材(8~10)が重力方向とは反対方向に動作する場合に比べて、補正後の目標パイロット圧Pi1’の最大値となる補正圧力Pmax1を低くする。これにより、駆動対象部材(8~10)が重力方向に動作する場合の遅れ時間が過剰に小さくなることを防止できる。したがって、駆動対象部材(8~10)が重力方向とは反対方向に動作する場合の遅れ時間と、駆動対象部材(8~10)が重力方向に動作する場合の遅れ時間を同程度にできる。すなわち、駆動対象部材(8~10)の姿勢及び動作方向に関わらず、遅れ時間を均一にすることができる。その結果、高精度で作業装置1Aを動作させることができる。
【0105】
(3)コントローラ140は、補正前の操作パイロット圧Pi0がアクチュエータ非駆動相当圧psを超えると、補正前の操作パイロット圧Pi0よりも高い所定の補正圧力(本実施形態では、補正後の操作パイロット圧Pi0’の最大値)Pmax0を補正後の操作パイロット圧Pi0’として設定し、経過時間τaの増加とともに補正後の操作パイロット圧Pi0’が補正前の操作パイロット圧Pi0に漸近するように、補正後の操作パイロット圧Pi0’を演算する。これにより、マニュアル運転を開始する際、操作装置A1~A3の操作に応じた制御電流が電磁弁54a~56bに印加されてから油圧シリンダ(5~7)が駆動するまでの遅れ時間を低減することができる。さらに、電磁弁54a~56bで生成されるパイロット圧を操作装置A1~A3の操作に応じた操作パイロット圧Pi0に速やかに追従させることができる。その結果、マニュアル運転の際の操作フィーリングが向上し、作業効率を向上することができる。なお、上述したように、駆動対象部材(8~10)ごとに補正圧力Pmax0が設定される場合には、駆動対象部材(8~10)で補正圧力Pmax0を同じにする場合に比べて操作フィーリングを向上することができる。
【0106】
(4)コントローラ140は、補正前の目標パイロット圧Pi1がアクチュエータ非駆動相当圧psを超えると、補正前の目標パイロット圧Pi1よりも高い所定の補正圧力(本実施形態では、補正後の目標パイロット圧Pi1'の最大値)Pmax1を補正後の目標パイロット圧Pi1’として設定し、経過時間τbの増加とともに補正後の目標パイロット圧Pi1’が補正前の目標パイロット圧Pi1に漸近するように、補正後の目標パイロット圧Pi1’を演算する。これにより、半自動運転を開始する際、コントローラ140の指令に応じた制御電流が電磁弁54a~56bに印加されてから油圧シリンダ(5~7)が駆動するまでの遅れ時間を低減することができる。さらに、電磁弁54a~56bで生成されるパイロット圧を、目標面Stに沿うように演算された目標パイロット圧Pi1に速やかに追従させることができる。その結果、半自動運転による作業装置1Aの駆動開始時の油圧シリンダ(5~7)の応答性が向上する。なお、上述したように、駆動対象部材(8~10)ごとに補正圧力Pmax1の演算に用いる補正圧力テーブル(
図11参照)が設定される場合には、駆動対象部材(8~10)で補正圧力テーブルを同じにする場合に比べて遅れ時間を均一にすることができる。その結果、より高精度で作業装置1Aを動作させることができ、掘削面の加工精度を向上することができる。
【0107】
(5)油圧ショベル1は、車体1Bの位置情報を検出する位置検出装置52と、作業装置1Aを操作するための操作装置A1~A3と、を備える。コントローラ140は、目標形状データを取得し、取得した目標形状データ、車体1Bの位置情報及び作業装置1Aの姿勢情報に基づいて目標面Stを設定する。コントローラ140は、操作装置A1~A3の操作量に基づいて、目標面Stに沿うように操作パイロット圧Pi0を演算する。コントローラ140は、作業装置1Aにおいて予め定められた基準点Pbkが、目標面Stに沿って目標面Stを越えないように目標パイロット圧Pi1を演算する。コントローラ140は、作業装置1Aの基準点Pbkから目標面Stまでの距離(目標面距離)Hが小さくなるほど大きくなる制御介入比率aを演算する。コントローラ140は、操作パイロット圧Pi0、目標パイロット圧Pi1、及び、制御介入比率aに基づいて指令パイロット圧Pi2を演算し、指令パイロット圧Pi2に応じた制御信号を電磁弁54a~56bに出力する。コントローラ140は、目標パイロット圧Pi1がアクチュエータ非駆動相当圧psを超えてアクチュエータ駆動相当圧に達すると、動作方向ベクトルVDの重力方向成分VGに基づいて、目標パイロット圧Pi1を補正する。
【0108】
式(3)で表されるように、制御介入比率aが大きいほど、補正目標パイロット圧Pi1’が指令パイロット圧Pi2に与える影響度合いが大きくなる。これにより、半自動運転(介入制御による運転)状態とマニュアル運転状態との間で状態が遷移する際に指令パイロット圧Pi2の急変が防止される。その結果、ショックを生じさせることなくスムーズに運転状態の遷移が行われる。
【0109】
<第2実施形態>
図12~
図15を参照して、本発明の第2実施形態に係る油圧ショベル1ついて説明する。なお、第1実施形態で説明した構成と同一もしくは相当する構成には同一の参照番号を付し、相違点を主に説明する。
【0110】
第2実施形態に係る油圧ショベル1は、第1実施形態に係る油圧ショベル1と同様の構成を有している(
図4、
図6等参照)。第1実施形態に係る油圧ショベル1では、補正操作パイロット圧Pi0’及び補正目標パイロット圧Pi1’及び制御介入比率aに基づいて、指令パイロット圧Pi2が演算される(式(3)参照)。これに対して、第2実施形態に係る油圧ショベル1では、目標面距離Hが第2距離H2未満の場合であっても、駆動対象部材(8~10)が目標面Stから離れるように動作する場合には、補正操作パイロット圧Pi0’を指令パイロット圧Pi2とする。
【0111】
第2実施形態に係る油圧ショベル1のコントローラ140は、目標面Stに対する駆動対象部材(ブーム8、アーム9及びバケット10)の動作方向ベクトルVBmU,VBmD,VAmC,VAmD,VBkC,VBkDの角度φBmU,φBmD,φAmC,φAmD,φBkC,φBkDを演算する。以下では、角度φBmU,φBmD,φAmC,φAmD,φBkC,φBkDを総称して角度φとも記す。
【0112】
コントローラ140は、操作装置A1~A3により駆動対象部材(8~10)が操作された場合、操作された駆動対象部材(8~10)の動作方向ベクトルVDの角度φ、及び、制御介入比率aに基づいて、駆動対象部材(8~10)に対する操作が、目標面Stを侵食する方向の操作、すなわち目標面Stに近づく方向の操作であるか否かを判定する。
【0113】
コントローラ140は、駆動対象部材(8~10)に対する操作が目標面Stを侵食する方向の操作でないと判定した場合には、操作パイロット圧Pi0に基づいて指令パイロット圧Pi2を演算し、指令パイロット圧Pi2に応じた制御信号を電磁弁54a~56bに出力する。
【0114】
コントローラ140は、駆動対象部材(8~10)に対する操作が目標面Stを侵食する方向の操作であると判定した場合には、操作パイロット圧Pi0、目標パイロット圧Pi1、及び、制御介入比率aに基づいて、指令パイロット圧Pi2を演算し、指令パイロット圧Pi2に応じた制御信号を電磁弁54a~56bに出力する。
【0115】
以下、
図12及び
図13を参照して、第2実施形態に係るコントローラ140により行われる処理の内容について詳しく説明する。
図12は、目標面距離Hの演算処理から領域制限比率cの演算処理までの流れについて示すフローチャートである。
図13は、駆動対象部材の動作方向が加味された指令パイロット圧の演算処理の内容について示すフローチャートである。
図12及び
図13に示すフローチャートの処理は、例えば、図示しないイグニッションスイッチがオンされることにより開始され、図示しない初期設定が行われた後、所定の制御周期で繰り返し実行される。
【0116】
図12に示すように、ステップS105において、姿勢演算部142は、姿勢情報に基づいて、バケット10の基準点Pbkの位置座標を演算する。さらに、姿勢演算部142は、目標面設定部143で演算された目標面Stとバケット10の基準点Pbkとの間の距離である目標面距離Hを演算し、ステップ110へ進む。
【0117】
ステップS110において、指令パイロット圧補正部146は、不揮発性メモリ93に記憶されている比率演算テーブル(
図8参照)を参照し、ステップS105で演算された目標面距離Hに基づいて制御介入比率aを演算し、ステップS120へ進む。
【0118】
ステップS120において、指令パイロット圧補正部146は、まず、目標面Stに対する駆動対象部材(8~10)の動作方向ベクトルVBmU,VBmD,VAmC,VAmD,VBkC,VBkDの角度φBmU,φBmD,φAmC,φAmD,φBkC,φBkDを演算する。
【0119】
図14A、
図14Bを参照して、目標面Stに対する駆動対象部材の動作方向ベクトルVDの角度φの一例について説明する。
図14Aは、バケットダンプ操作時における目標面Stに対するバケット10の動作方向ベクトルVBkDの角度φBkDについて示す図である。
図14Bは、バケットクラウド操作時における目標面Stに対するバケット10の動作方向ベクトルVBkCの角度φBkCについて示す図である。
【0120】
図14A及び
図14Bに示すように、角度φは、動作方向ベクトルVDと目標面ベクトルVstとのなす角度、すなわち動作方向ベクトルVDと目標面ベクトルVstの内積から求められる角度に相当する。目標面ベクトルVstは、目標面Stに平行で、かつ、油圧ショベル1に向かう方向の向きの単位ベクトルである。目標面ベクトルVstを基準として、目標面ベクトルVstから動作方向ベクトルVDまでの図示反時計回りの角度は正の値で表される。目標面ベクトルVstを基準として、目標面ベクトルVstから動作方向ベクトルVDまでの図示時計回りの角度は負の値で表される。
【0121】
動作方向ベクトルVBmU,VBmD,VAmC,VAmD,VBkC,VBkDと目標面ベクトルVstのなす角度φBmU,φBmD,φAmC,φAmD,φBkC,φBkDは、動作方向ベクトルVDの始点と目標面ベクトルVstの始点とを重ねた場合に2つのベクトルVD,Vstで作られる角度のうち、-180°以上180°以下の範囲内の値で表される角度である。
図14Aに示す例では、バケットダンプ操作時におけるバケット10の動作方向ベクトルVBkDと目標面ベクトルVstのなす角度φBkDは約150°である。
図14Bに示す例では、バケットクラウド操作時におけるバケット10の動作方向ベクトルVBkCと目標面ベクトルVstのなす角度φBkCは約-30°である。
【0122】
指令パイロット圧補正部146は、動作方向ベクトルVDと目標面ベクトルVstの内積から角度φを演算する。指令パイロット圧補正部146は、角度φBmU,φBmD,φAmC,φAmD,φBkC,φBkDに基づいて目標面侵食率bBmU,bBmD,bAmC,bAmD,bBkC,bBkDを演算する。以下では、目標面侵食率bBmU,bBmD,bAmC,bAmD,bBkC,bBkDを総称して、目標面侵食率bとも記す。
【0123】
図15は、目標面Stに対する動作方向ベクトルVDの角度φと目標面侵食率bとの関係を示す図である。
図15では、横軸が目標面Stに対する動作方向ベクトルVDの角度φを表し、縦軸が目標面侵食率bを表している。目標面侵食率bは、目標面Stに対する駆動対象部材(8~10)の動作方向を表すパラメータである。目標面侵食率bは、駆動対象部材(8~10)に対する操作が目標面Stを侵食する方向の操作であるか否かを判定するために用いられる。
図15に示す目標面侵食率bと角度φとの関係は、予め不揮発性メモリ93にテーブル形式で記憶されている。
【0124】
図15に示すように、角度φが-180°以上0°以下である場合、目標面侵食率bは1となる。つまり、作業装置1Aの駆動対象部材(8~10)が目標面Stに対して近づく方向(目標面Stに侵食する方向)に操作された場合には、目標面侵食率bは1となる。換言すれば、駆動対象部材(8~10)が目標面Stから遠ざかる方向(目標面Stに侵食しない方向)に操作された場合には、目標面侵食率bは1未満の値となる。角度φが0°よりも大きくφ1未満の範囲において、目標面侵食率bは角度φが大きくなるほど小さくなる。角度φがφ1以上φ2以下の範囲において、目標面侵食率bは0となる。角度φがφ2よりも大きく180°以下の範囲において、目標面侵食率bは角度φが大きくなるほど大きくなる。
【0125】
φ1は、例えば、10°~20°程度の値であり、φ2は、例えば、160°~170°程度の値である。ここで、0°以上180°以下の範囲において、目標面侵食率bが0°となる場合、後述する操作装置A1~A3の操作に応じた駆動対象部材の動作の誤差等の影響により、意図せずに目標面Stにバケット10が接触してしまうおそれがある。これに対して、本実施形態では、0°よりも大きいφ1以上であり、180°よりも小さいφ2以下の範囲において、目標面侵食率bが0となるように、目標面侵食率テーブルが定められている。このため、意図せずに目標面Stにバケット10が接触してしまうことを防止することができる。
【0126】
図12に示すステップS120において、指令パイロット圧補正部146は、
図15に示す目標面侵食率テーブルを参照し、各角度φBmU,φBmD,φAmC,φAmD,φBkC,φBkDに基づいて目標面侵食率bを演算して、ステップS130へ進む。
【0127】
ステップS130において、指令パイロット圧補正部146は、ステップS110で演算された制御介入比率aと、ステップS120で演算された目標面侵食率bのうち、小さい方を選択したものを領域制限比率cとする。つまり、指令パイロット圧補正部146は、目標面侵食率bBmU,bBmD,bAmC,bAmD,bBkC,bBkDのそれぞれを制御介入比率aと比較し、最小値を選択することにより、領域制限比率cBmU,cBmD,cAmC,cAmD,cBkC,cBkDを演算する。以下、具体的に領域制限比率cBmU,cBmD,cAmC,cAmD,cBkC,cBkDの演算方法について説明する。
【0128】
指令パイロット圧補正部146は、以下の式(12)により、ブーム上げ操作を想定したブーム8の動作方向ベクトルVBmUから求められた目標面侵食率bBmU、及び、制御介入比率aのうち最小値を選択することで領域制限比率cBmUを演算する。指令パイロット圧補正部146は、以下の式(13)により、ブーム下げ操作を想定したブーム8の動作方向ベクトルVBmDから求められた目標面侵食率bBmD、及び、制御介入比率aのうち最小値を選択することで領域制限比率cBmDを演算する。指令パイロット圧補正部146は、以下の式(14)により、アームクラウド操作を想定したアーム9の動作方向ベクトルVAmCから求められた目標面侵食率bAmC、及び、制御介入比率aのうち最小値を選択することで領域制限比率cAmCを演算する。指令パイロット圧補正部146は、以下の式(15)により、アームダンプ操作を想定したアーム9の動作方向ベクトルVAmDから求められた目標面侵食率bAmD、及び、制御介入比率aのうち最小値を選択することで領域制限比率cAmDを演算する。指令パイロット圧補正部146は、以下の式(16)により、バケットクラウド操作を想定したバケット10の動作方向ベクトルVBkCから求められた目標面侵食率bBkC、及び、制御介入比率aのうち最小値を選択することで領域制限比率cBkCを演算する。指令パイロット圧補正部146は、以下の式(17)により、バケットダンプ操作を想定したバケット10の動作方向ベクトルVBkDから求められた目標面侵食率bBkD、及び、制御介入比率aのうち最小値を選択することで領域制限比率cBkDを演算する。
cBmU = min(a, bBmU) …(12)
cBmD = min(a, bBmD) …(13)
cAmC = min(a, bAmC) …(14)
cAmD = min(a, bAmD) …(15)
cBkC = min(a, bBkC) …(16)
cBkD = min(a, bBkD) …(17)
以下では、領域制限比率cBmU,cBmD,cAmC,cAmD,cBkC,cBkDを総称して領域制限比率cとも記す。
【0129】
領域制限比率cは、目標面距離Hが第1距離H1(例えば、300mm)以下であり、かつ、駆動対象部材(8~10)の動作方向ベクトルVDの角度φが-180°以上0°以下の場合には、1.0となる。領域制限比率cは、目標面距離Hが第1距離H1(例えば、300mm)よりも大きい場合、または、駆動対象部材(8~10)の動作方向ベクトルVDの角度φが0°よりも大きく180°以下の場合には、1.0より小さい値となる。領域制限比率cは、目標面距離Hが第2距離H2(例えば、1000mm)以上の場合、または、駆動対象部材(8~10)の動作方向ベクトルVDの角度φがφ1以上φ2以下の場合には、0.0となる。
【0130】
ステップS130において、領域制限比率cBmU,cBmD,cAmC,cAmD,cBkC,cBkDの演算処理が完了すると、
図12のフローチャートに示す処理を終了する。つまり、次の制御周期(演算サイクル)におけるステップS105へ進む。このように、コントローラ140は、所定の制御周期で繰り返し領域制限比率cBmU,cBmD,cAmC,cAmD,cBkC,cBkDを演算する。なお、演算された領域制限比率cBmU,cBmD,cAmC,cAmD,cBkC,cBkDは、記憶装置である揮発性メモリ94に記憶される。
【0131】
図13に示すように、ステップS140において、操作量演算部141は、操作装置A1~A3の操作方向及び操作量に基づいて、操作パイロット圧Pi0を演算し、ステップS145へ進む。ステップS145において、目標速度演算部144は、姿勢演算部142での演算結果及び操作量演算部141での演算結果に基づいて、各油圧シリンダ(5,6,7)の目標速度を演算し、ステップS150へ進む。ステップS150において、目標パイロット圧演算部145は、ステップS145で演算した目標速度に基づいて目標パイロット圧Pi1を演算し、ステップS155へ進む。
【0132】
ステップS155において、指令パイロット圧補正部146は、操作量演算部141での演算結果に基づいて、操作された全ての駆動対象部材の動作方向に応じた領域制限比率cを揮発性メモリ94から読み出し、ステップS160へ進む。例えば、アームクラウド操作が行われた場合には、指令パイロット圧補正部146は、領域制限比率cAmCを揮発性メモリ94から読み出す。また、アームダンプ操作が行われた場合には、指令パイロット圧補正部146は、領域制限比率cAmDを揮発性メモリ94から読み出す。
【0133】
ステップS160において、指令パイロット圧補正部146は、ステップS155で揮発性メモリ94から読み出された領域制限比率cに基づいて、駆動対象部材(8~10)に対する操作が目標面Stを侵食する方向の操作であるか否かを判定する。ここで、目標面Stを侵食する方向の操作とは、その操作が継続された場合であって介入制御が実行されなかったとしたら、バケット10の基準点Pbkが目標面Stに侵入することになる操作のことを指す。また、目標面Stを侵食する操作とは、バケット10の基準点Pbkが目標面Stに接近するような操作ともいえる。
【0134】
具体的には、指令パイロット圧補正部146は、領域制限比率cが0.0よりも大きいか否かを判定する。ステップS160において、指令パイロット圧補正部146は、領域制限比率cが0.0よりも大きい場合、駆動対象部材(8~10)に対する操作が目標面Stを侵食する方向の操作であると判定してステップS170へ進む。ステップS160において、指令パイロット圧補正部146は、領域制限比率cが0.0以下であると判定した場合(すなわちc=0の場合)、駆動対象部材(8~10)に対する操作が目標面Stを侵入する方向の操作ではないと判定してステップS180へ進む。
【0135】
ステップS170において、指令パイロット圧補正部146は、以下の式(18)に基づいて、指令パイロット圧Pi2を演算して
図13のフローチャートに示す処理を終了する。
Pi2 = Pi0’ × (1-a) + Pi1’ × a …(18)
なお、式(18)は、上述の式(3)と同じ式である。補正操作パイロット圧Pi0'は、補正圧力Pmax0と操作パイロット圧Pi0に基づいて式(4)により演算され、補正目標パイロット圧Pi1'は、補正圧力Pmax1と目標パイロット圧Pi1に基づいて式(5)により演算される。
【0136】
ステップS180において、指令パイロット圧補正部146は、以下の式(19)に基づいて、指令パイロット圧Pi2を演算して
図13のフローチャートに示す処理を終了する。
Pi2 = Pi0’ …(19)
つまり、指令パイロット圧Pi2は、補正操作パイロット圧Pi0’となる。
【0137】
-効果-
以上のとおり、本第2実施形態に係るコントローラ140は、駆動対象部材(8~10)に対する操作が、目標面Stに近づく方向(目標面Stを侵食する方向)の操作でないと判定した場合(
図13のステップS160でNo)には、操作パイロット圧Pi0に基づいて指令パイロット圧Pi2を演算し(
図13のステップS180)、指令パイロット圧Pi2に応じた制御信号を電磁弁54a~56bに出力するマニュアル制御を実行する。コントローラ140は、駆動対象部材(8~10)に対する操作が、目標面Stに近づく方向(目標面Stを侵食する方向)の操作であると判定した場合(
図13のステップS160でYes)には、操作パイロット圧Pi0、目標パイロット圧Pi1、及び、制御介入比率aに基づいて、指令パイロット圧Pi2を演算し(
図13のステップS170)、指令パイロット圧Pi2に応じた制御信号を電磁弁54a~56bに出力する介入制御を実行する。
【0138】
本第2実施形態によれば、第1実施形態と同様の作用効果に加え、次の作用効果を奏する。
【0139】
(6)操作装置A1~A3の操作が目標面Stを侵食する方向の操作でない場合、補正操作パイロット圧Pi0’が指令パイロット圧Pi2として演算される。したがって、整地制御モードが設定され、バケット10の基準点Pbkが目標面Stに近い場合であっても、バケット10の基準点Pbkが目標面Stから離れるように駆動対象部材(8~10)が操作されるときには、オペレータの意図するとおりに作業装置1Aが動作する。これにより、オペレータに違和感を与えることなく、作業の効率を向上することができる。
【0140】
(7)目標面侵食率bは、各駆動対象部材(8~10)の動作方向ベクトルVBmU,VBmD,VAmC,VAmD,VBkC,VBkDと目標面ベクトルVstのなす角度φBmU,φBmD,φAmC,φAmD,φBkC,φBkDに基づいて演算される。領域制限比率cは、制御介入比率a及び目標面侵食率bに基づいて演算され、式(19)を用いたマニュアル制御を実行するか、式(18)を用いた介入制御を実行するかの判定に用いられる。領域制限比率cは、オペレータの操作が開始される前から演算されている(
図12参照)。このため、操作開始時点のパイロット圧の調停を簡易に行うことができるので、介入制御とマニュアル制御の切り換わりに起因するショックの発生を防止することができる。
【0141】
<第3実施形態>
図16及び
図17を参照して、本発明の第3実施形態に係る油圧ショベル1について説明する。なお、第1実施形態で説明した構成と同一もしくは相当する構成には同一の参照番号を付し、相違点を主に説明する。
図16は、第3実施形態に係るコントローラ340の機能ブロック図である。
【0142】
第3実施形態に係る油圧ショベル1は、第1実施形態で説明した油圧ショベル1と同様の構成に加え、
図16に示すように、駆動対象部材(8~10)の重量情報をコントローラ340に入力する重量入力装置60を備えている。重量入力装置60は、例えば、オペレータにより操作される複数のスイッチ、スティック操作部材等を有する。なお、重量入力装置60は、表示装置53の表示画面上に設けられるタッチセンサとしてもよい。オペレータは、重量入力装置60を操作することにより、駆動対象部材(8~10)の重量情報をコントローラ340に入力することができる。
【0143】
コントローラ340は、第1実施形態で説明した機能に加え、重量設定部360としての機能を有する。表示制御部348は、重量入力装置60により重量の入力を開始する操作が行われると、表示装置53にバケット10の種類を選択する画面を表示させる。不揮発性メモリ93には、複数のバケット10の種類と、各バケット10の種類に対応付けられた重量とが予め記憶されている。不揮発性メモリ93には、複数のアーム9の種類と、各アーム9の種類に対応付けられた重量とが予め記憶されている。不揮発性メモリ93には、複数のブーム8の種類と、各ブーム8の種類に対応付けられた重量とが予め記憶されている。
【0144】
重量入力装置60は、オペレータによりバケット10の種類の選択操作がなされると、選択されたバケット10の種類を重量情報としてコントローラ340に入力する。重量設定部360は、不揮発性メモリ93を参照し、選択されたバケット10の種類に対応付けられた重量を、現在油圧ショベル1に取り付けられているバケット10の重量(以下、第1設定重量)として設定する。
【0145】
重量入力装置60は、オペレータによりアーム9の種類の選択操作がなされると、選択されたアーム9の種類を重量情報としてコントローラ340に入力する。重量設定部360は、不揮発性メモリ93を参照し、選択されたアーム9の種類に対応付けられた重量を、現在油圧ショベル1に取り付けられているアーム9の重量として設定する。さらに、重量設定部360は、設定したアーム9の重量に第1設定重量を加算した重量を、第2設定重量として設定する。
【0146】
重量入力装置60は、オペレータによりブーム8の種類の選択操作がなされると、選択されたブーム8の種類を重量情報としてコントローラ340に入力する。重量設定部360は、不揮発性メモリ93を参照し、選択されたブーム8の種類に対応付けられた重量を、現在油圧ショベル1に取り付けられているブーム8の重量として設定する。さらに、重量設定部360は、設定したブーム8の重量に第2設定重量を加算した重量を、第3設定重量として設定する。
【0147】
指令パイロット圧補正部346は、重量設定部360で設定された第1~第3設定重量に基づいて、駆動対象部材(8~10)の動作方向ベクトルVDの重力方向成分VGを補正する第1~第3補正係数を演算する。以下では、第1~第3設定重量を総称して設定重量と記し、第1~第3補正係数を総称して補正係数と記す。
【0148】
図17を参照して、駆動対象部材(8~10)の動作方向ベクトルVDの重力方向成分VGを補正する補正係数の演算方法について説明する。
図17は、補正係数テーブルについて示す図である。補正係数テーブルは、設定重量に対する補正係数が定められたデータテーブルである。不揮発性メモリ93には、第1設定重量と第1補正係数の関係を定める第1補正係数テーブルと、第2設定重量と第2補正係数の関係を定める第2補正係数テーブルと、第3設定重量と第3補正係数の関係を定める第3補正係数テーブルが記憶されている。
【0149】
指令パイロット圧補正部346は、第1補正係数テーブルを参照し、第1設定重量に基づいて第1補正係数を演算する。指令パイロット圧補正部346は、第2補正係数テーブルを参照し、第2設定重量に基づいて第2補正係数を演算する。指令パイロット圧補正部346は、第3補正係数テーブルを参照し、第3設定重量に基づいて第3補正係数を演算する。
【0150】
図17に示すように、設定重量が第1重量W1以上第2重量W2以下である場合、補正係数は1.0となる。設定重量が第1重量W1未満の場合、設定重量が小さくなるにつれて補正係数も小さくなる。つまり、設定重量が第1重量W1未満である場合、補正係数は1.0未満となる。設定重量が第2重量W2よりも大きい場合、設定重量が大きくなるにつれて補正係数も大きくなる。つまり、設定重量が第2重量W2よりも大きい場合、補正係数は1.0よりも大きい値となる。
【0151】
本実施形態では、駆動対象部材(8~10)の特定の種類(使用頻度の高い種類)の重量を基準重量W0として、基準重量W0から所定重量を減算した値が第1重量W1として設定されている。また、基準重量W0から所定重量を加算した値が第2重量W2として設定されている。なお、第1補正係数テーブルにおける基準重量W0は、特定の種類のバケット10の重量である。第2補正係数テーブルにおける基準重量W0は、特定の種類のバケット10の重量と特定の種類のアーム9の重量とを加算した合計重量である。第3補正係数テーブルにおける基準重量W0は、特定の種類のバケット10の重量と特定の種類のアーム9の重量と特定の種類のブーム8の重量とを加算した合計重量である。
【0152】
指令パイロット圧補正部346は、第1実施形態と同様、作業装置1Aの姿勢情報及び旋回体12の姿勢情報に基づいて、動作方向ベクトルVDの重力方向成分VGを演算する。指令パイロット圧補正部346は、駆動対象部材(8~10)の動作方向ベクトルVDの重力方向成分VGBmU,VGBmD,VGAmC,VGAmD,VGBkC,VGBkDのそれぞれに、駆動対象部材(8~10)の重量から求められた補正係数を乗算することにより、補正後の重力方向成分VGBmU’,VGBmD’,VGAmC’,VGAmD’,VGBkC’,VGBkD’を演算する。指令パイロット圧補正部346は、
図11に示す補正圧力テーブルを参照し、補正後の重力方向成分VGBmU’,VGBmD’,VGAmC’,VGAmD’,VGBkC’,VGBkD’に基づいて、補正圧力Pmax1を演算する。
【0153】
第1実施形態では、重力方向成分は、-1以上1以下の範囲の値であった。これに対して、本第3実施形態では、補正後の重力方向成分が、-1よりも小さくなる場合、及び、1よりも大きくなる場合がある。
【0154】
-効果-
以上のとおり、本第3実施形態に係るコントローラ340は、外部装置である重量入力装置60から入力される重量情報に基づいて駆動対象部材(8~10)の重量を設定する。コントローラ340は、駆動対象部材(8~10)の重量に基づいて、動作方向ベクトルVDの重力方向成分VGを補正する。
【0155】
本第3実施形態によれば、第1実施形態と同様の作用効果に加え、次の作用効果を奏する。
【0156】
(8)本第3実施形態によれば、駆動対象部材(例えば、バケット10)が交換されるなどして設定重量が重くなったり、軽くなったりした場合であっても遅れ時間が変化することを防止できる。駆動対象部材が交換されることにより設定重量が重くなった場合、遅れ時間は以下のとおりとなる。本第3実施形態では、駆動対象部材(例えば、バケット10)が重力方向に操作された場合には、交換前に比べて補正圧力Pmax1が小さくなる。このため、交換前よりも遅れ時間が小さくなることを防止し、交換前後で同程度の遅れ時間とすることができる。駆動対象部材(例えば、バケット10)が重力方向とは反対方向に操作された場合には、交換前に比べて補正圧力Pmax1が大きくなる。このため、交換前よりも遅れ時間が大きくなることを防止し、交換前後で同程度の遅れ時間とすることができる。
【0157】
駆動対象部材が交換されることにより設定重量が軽くなった場合、遅れ時間は以下のとおりとなる。本第3実施形態では、駆動対象部材(例えば、バケット10)が重力方向に操作された場合には、交換前に比べて補正圧力Pmax1が大きくなる。このため、交換前よりも遅れ時間が大きくなることを防止し、交換前後で同程度の遅れ時間とすることができる。駆動対象部材(例えば、バケット10)が重力方向とは反対方向に操作された場合には、交換前に比べて補正圧力Pmax1が小さくなる。このため、交換前よりも遅れ時間が小さくなることを防止し、交換前後で同程度の遅れ時間とすることができる。つまり、本第3実施形態によれば、駆動対象部材の動作方向及び重量によらず、遅れ時間を均一にすることできる。その結果、作業装置1Aを高精度で動作させることができる。
【0158】
次のような変形例も本発明の範囲内であり、変形例に示す構成と上述の実施形態で説明した構成を組み合わせたり、上述の異なる実施形態で説明した構成同士を組み合わせたり、以下の異なる変形例で説明する構成同士を組み合わせることも可能である。
【0159】
<変形例1>
上記実施形態では、コントローラ140,340が、動作方向ベクトルVDの重力方向成分VGに基づいて、目標パイロット圧Pi1を補正する例について説明したが、本発明はこれに限定されない。コントローラ140,340は、動作方向ベクトルVDの重力方向成分VGに基づいて、操作パイロット圧Pi0を補正してもよい。この構成では、マニュアル操作開始時における作業装置1Aに作用する重力の影響に起因した遅れ時間のばらつきを均一化することができる。その結果、操作フィーリングを向上することができる。つまり、本発明は、MC機能を有していない油圧ショベルにも適用可能であり、操作開始時に操作パイロット圧Pi0を補正することにより、操作開始時の操作フィーリングを向上させ、作業精度を向上させることができる。
【0160】
<変形例2>
上記実施形態では電気式の操作装置A1~A6を備える油圧ショベル1を例に説明したが、本発明はこれに限定されない。油圧パイロット式の操作装置を備え、介入制御が実行可能な油圧ショベル1に本発明を適用してもよい。この油圧ショベル1は、操作装置の減圧弁から操作パイロット圧が出力されるパイロットラインとは別に、コントローラからの制御信号により駆動される電磁弁(電磁比例減圧弁)から目標パイロット圧が出力されるパイロットラインを備えている。この油圧ショベル1では、介入制御が実行される際に目標パイロット圧を上記実施形態と同様に補正することにより、各駆動対象部材の姿勢及び動作方向に関わらず、油圧アクチュエータが駆動し始めるまでの遅れ時間を均一にすることができる。
【0161】
<変形例3>
コントローラ140,340は、自動制御開始時に、動作方向ベクトルVDの重力方向成分VGに基づいて、目標パイロット圧Pi1を補正してもよい。これにより、作業装置1Aに作用する重力の影響に起因した遅れ時間のばらつきを均一化することができる。その結果、油圧ショベル1の自動制御による作業精度の向上を図ることができる。
【0162】
<変形例4>
上記実施形態では、バケット爪先を基準点(制御点)として、制御介入比率aの演算に用いる目標面距離H、及びバケット10の動作方向ベクトルVBkC,VBkDの演算が行われる例について説明したが、本発明はこれに限定されない。例えば、バケット後端側の任意の点を基準点(制御点)として、目標面距離H及びバケット10の動作方向ベクトルVBkC,VBkDの演算を行ってもよい。
【0163】
<変形例5>
旋回体12の左右方向の傾斜角度(ロール角)を加味して旋回体12の動作方向ベクトルの重力方向成分を演算し、その演算結果に基づいて、旋回体12を動作せるための電磁弁57a,57bで生成するパイロット圧の指令値を補正してもよい。
【0164】
本変形例に係るコントローラ140は、第1実施形態と同様の構成を有している(
図4、
図6等参照)。姿勢検出装置50の車体傾斜角度センサ33は、旋回体12の前後方向の傾斜角度(ピッチ角)だけでなく、旋回体12の左右方向の傾斜角度(ロール角)を表す情報を旋回体12の姿勢情報として検出し、その検出結果をコントローラ140に出力する。
【0165】
コントローラ140は、姿勢検出装置50で検出される作業装置1Aの姿勢情報及び旋回体12の姿勢情報に基づいて、旋回体12の動作方向ベクトルの重力方向成分を演算する。以下、具体的に説明する。旋回体12の動作方向ベクトルの始点となる旋回体12の基準点は、例えば、作業装置1Aを含む旋回体12の重心の位置である。コントローラ140は、姿勢検出装置50の検出結果と、不揮発性メモリ93に記憶されている各駆動対象部材の重量、旋回体12の重量、各部材の寸法等の情報に基づいて、旋回体12の基準点の位置を演算する。コントローラ140は、旋回中心軸を中心とする円上の旋回体12の基準点における接線方向を動作方向として、動作方向ベクトルを演算する。コントローラ140は、さらに、旋回体12の動作方向ベクトルの重力方向成分を演算する。
【0166】
コントローラ140は、旋回体12の動作方向ベクトルの重力方向成分に基づいて、流量制御弁(モータ制御弁)D4の受圧室E7,E8に作用するパイロット圧の指令値である操作パイロット圧が旋回モータ4の非駆動相当圧(所定圧力)を超えて駆動相当圧に達すると、電磁弁(モータ用電磁弁)57a,57bの操作パイロット圧を補正し、補正後の操作パイロット圧に応じた制御信号を電磁弁(モータ用電磁弁)57a,57bに出力する。
【0167】
本変形例5によれば、例えば、旋回体12の左側が右側に比べて下方に位置するように旋回体12が傾いている状態から旋回体12の左旋回を開始する場合と右旋回を開始する場合とで、操作装置A4に応じた制御電流が電磁弁57a,57bに印加されてから旋回モータ4が駆動するまでの遅れ時間を均一化できる。
【0168】
<変形例6>
上記実施形態では、バケット10がアーム9に対して一方向にのみ回動可能に連結される構成について説明したが、本発明はこれに限定されない。バケット10は、アーム9に対して複数方向に回動可能に連結されていてもよい。例えば、バケット10は、バケットピンの中心軸方向を第1方向としたときに、第1方向に直交する第2方向に回動可能であり、かつ、第1方向及び第2方向に直交する第3方向に回動可能である構成としてもよい。この場合、コントローラは、領域制限制御を実行する際に、バケット10の第2方向への操作(チルト操作)及び第3方向への操作(ロータリー操作)に応じた操作パイロット圧を上記実施形態と同様に補正してもよい。
【0169】
<変形例7>
目標面データ入力装置51は、オペレータが、目標面を表す複数の座標値を入力可能なスイッチ、キーボード等の入力装置であってもよい。目標面データ入力装置51は、オペレータの操作に基づいてコントローラ140からバケット10の爪先の位置を取得し、その位置からの深さを表す数値の入力操作が行われることによって、目標面を表す座標値をコントローラ140に入力可能な装置であってもよい。
【0170】
<変形例8>
上記実施形態では、作業機械が油圧ショベル1である例について説明したが、本発明はこれに限定されない。本発明は、油圧アクチュエータ、油圧ポンプから油圧アクチュエータへ供給される作動油の流れを制御する制御弁、及び、制御弁にパイロット圧を出力する電磁弁を備えた種々の作業機械に適用することができる。
【0171】
<変形例9>
コントローラ140,340に係る各構成、当該各構成の機能及び実行処理等は、それらの一部または全部をハードウェア(例えば各機能を実行するロジックを集積回路で設計する等)で実現してもよい。
【0172】
<変形例10>
上記実施形態では、説明に必要であると解される制御線、情報線を示したが、必ずしも製品に係る全ての制御線、情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてよい。
【0173】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【符号の説明】
【0174】
1…油圧ショベル、1A…作業装置、1B…車体(機体)、2…メインポンプ(油圧ポンプ)、4…旋回モータ(油圧モータ)、5…ブームシリンダ(油圧アクチュエータ)、6…アームシリンダ(油圧アクチュエータ)、7…バケットシリンダ(油圧アクチュエータ)、8…ブーム(駆動対象部材)、9…アーム(駆動対象部材)、10…バケット(駆動対象部材)、11…走行体、12…旋回体、18…エンジン、30…ブーム角度センサ(姿勢センサ)、31…アーム角度センサ(姿勢センサ)、32…バケット角度センサ(姿勢センサ)、33…車体傾斜角度センサ(姿勢センサ)、48…パイロットポンプ、50…姿勢検出装置、51…目標面データ入力装置、52…位置検出装置、53…表示装置、54a,54b,55a,55b,56a,56b…電磁弁、57a,57b…電磁弁(モータ用電磁弁)、58a,58b,59a,59b…電磁弁、60…重量入力装置、61…制御弁ユニット、62…電磁弁ユニット、92…プロセッサ、93…不揮発性メモリ(記憶装置)、94…揮発性メモリ(記憶装置)、96…モード切替スイッチ、140…コントローラ、141…操作量演算部、142…姿勢演算部、143…目標面設定部、144…目標速度演算部、145…目標パイロット圧演算部、146…指令パイロット圧補正部、147…バルブ指令演算部、148…表示制御部、149…アクチュエータ制御部、340…コントローラ、346…指令パイロット圧補正部、348…表示制御部、360…重量設定部、A1~A6…操作装置、a…制御介入比率、b…目標面侵食率、c…領域制限比率、D1~D3…流量制御弁、D4…流量制御弁(モータ制御弁)、D5,D6…流量制御弁、G1…GNSSアンテナ、G2…GNSSアンテナ、H…目標面距離、O…原点、Pbk…基準点、Pi0…操作パイロット圧、Pi0’…補正操作パイロット圧、Pi1…目標パイロット圧、Pi1’…補正目標パイロット圧、Pi2…指令パイロット圧、Pmax0,Pmax1…補正圧力、ps…所定圧力(アクチュエータ非駆動相当圧)、St…目標面、VD…動作方向ベクトル、VG…動作方向ベクトルの重力成分、Vst…目標面ベクトル、α…ブーム角度、β…アーム角度、γ…バケット角度、θ…傾斜角度(ピッチ角)、φ…目標面に対する動作方向ベクトルの角度