最初に、図1を参照し、本発明の実施例に係る建設機械の全体構成について説明する。なお、図1は本発明の実施例に係る建設機械としてのショベルの構成例を示す側面図である。但し、本発明は、ショベルに限らず、旋回用電動機を搭載するものであれば、他の建設機械にも適用できる。
図1に示すショベルの下部走行体1には旋回機構2を介して上部旋回体3が搭載される。上部旋回体3にはブーム4が取り付けられる。ブーム4の先端にはアーム5が取り付けられ、アーム5の先端にはエンドアタッチメントとしてのバケット6が取り付けられる。
ブーム4、アーム5、及びバケット6は、アタッチメントの一例である掘削アタッチメントを構成し、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9によりそれぞれ油圧駆動される。また、ブーム4にはブーム角度センサS1が取り付けられ、アーム5にはアーム角度センサS2が取り付けられ、バケットリンクにはバケット角度センサS3が取り付けられる。
ブーム角度センサS1は、ブーム4の回動角度を検出するセンサである。本実施例では、水平面に対するブーム4の傾斜角(以下、「ブーム角度」とする。)を検出するポテンショメータである。具体的には、ブーム角度センサS1は上部旋回体3とブーム4とを連結するブームフートピン回りのブーム4の回動角度をブーム角度として検出する。
アーム角度センサS2は、アーム5の回動角度を検出するセンサである。本実施例では、水平面に対するアーム5の傾斜角(以下、「アーム角度」とする。)を検出するポテンショメータである。具体的には、アーム角度センサS2はブーム4とアーム5とを連結するアームピン回りのアーム5の回動角度をアーム角度として検出する。
バケット角度センサS3は、バケット6の回動角度を検出するセンサである。本実施例では、水平面に対するバケット6の傾斜角(以下、「バケット角度」とする。)を検出するポテンショメータである。具体的には、バケット角度センサS3はアーム5とバケット6を連結するバケットピン(アームトップピン)回りのバケット6の回動角度をバケット角度として検出する。
なお、ブーム角度センサS1、アーム角度センサS2、及びバケット角度センサS3の少なくとも1つは、加速度センサ、対応する油圧シリンダのストローク量を検出するストロークセンサ、連結ピン回りの回動角度を検出するロータリエンコーダ等であってもよい。
シリンダ圧センサS4は、掘削圧力に関する情報を取得する圧力情報取得部の一例であり、油圧シリンダ内の作動油の圧力を検出する。本実施例では、シリンダ圧センサS4は、バケットシリンダ9のボトム側油室内の作動油の圧力を検出する。なお、シリンダ圧センサS4は、バケットシリンダ9のロッド側油室内の作動油の圧力を検出してもよく、ブームシリンダ7、アームシリンダ8等の他の油圧シリンダ内の作動油の圧力を検出してもよい。
図2は図1に示すショベルの駆動系の構成例を示す図である。図2において、機械的動力系は二重線、高圧油圧ラインは太実線、パイロットラインは破線、電気駆動・制御系は細実線でそれぞれ示される。
エンジン11と電動発電機12は減速機13の2つの入力軸にそれぞれ接続される。減速機13の出力軸には油圧ポンプとしてのメインポンプ14及びパイロットポンプ15が接続される。メインポンプ14には高圧油圧ライン16を介してコントロールバルブ17が接続される。また、パイロットポンプ15にはパイロットライン25を介して操作装置26が接続される。
コントロールバルブ17はショベルにおける油圧系の制御を行う油圧制御装置である。本実施例では、コントロールバルブ17は高圧油圧ラインを介して右側走行用油圧モータ2A、左側走行用油圧モータ2B、ブームシリンダ7、アームシリンダ8、バケットシリンダ9等の各種油圧アクチュエータに接続される。
蓄電系120は、蓄電装置19と、昇降圧コンバータ19aと、DCバス19bとを含む。蓄電装置19は例えばキャパシタであり、昇降圧コンバータ19a、DCバス19b、及びインバータ18を介して電動発電機12に接続される。また、蓄電装置19は、昇降圧コンバータ19a、DCバス19b、及びインバータ20を介して旋回用電動機21に接続される。昇降圧コンバータ19aは、蓄電装置19とDCバス19bとの間に配置され、電動発電機12及び旋回用電動機21の運転状態に応じてDCバス19bの電圧レベルが一定の範囲内に収まるように昇圧動作と降圧動作を切り替える制御を行う。DCバス19bは、昇降圧コンバータ19aとインバータ18及びインバータ20のそれぞれとの間に配置され、蓄電装置19、電動発電機12、及び旋回用電動機21の間での電力の授受を可能にする。
インバータ18は、コントローラ30からのトルク指令値に応じてモータ駆動電流を電動発電機12に対して出力する。また、インバータ20は、コントローラ30からのトルク指令値に応じてモータ駆動電流を旋回用電動機21に対して出力する。
旋回用電動機21の出力軸21Aには、レゾルバ22、メカニカルブレーキ23、及び旋回減速機24が接続される。
操作装置26は、各種油圧アクチュエータを操作するための装置であり、操作量、操作方向等の操作内容に応じたパイロット圧を発生させる。また、操作装置26は、油圧ライン27を介してコントロールバルブ17に接続される。コントロールバルブ17は、操作装置26が発生させたパイロット圧に応じて各種油圧アクチュエータに対応するスプール弁を動かし、メインポンプ14が吐出する作動油を各種油圧アクチュエータに供給する。また、操作装置26は、油圧ライン28を介して圧力センサ29に接続される。圧力センサ29は、操作装置26が発生させたパイロット圧を電気信号に変換し、変換した電気信号をコントローラ30に対して出力する。
コントローラ30は、ショベルの駆動制御を行う制御装置である。本実施例では、コントローラ30は、CPU及び記憶装置を含む演算処理装置であり、旋回用電動機21が生成する旋回トルクを制御する。具体的には、コントローラ30は、記憶装置に格納された駆動制御用のプログラムをCPUに実行させて各種機能を実現する。
以上のような構成において、アシストモータとしての電動発電機12が発電した電力は、インバータ18を介して蓄電系120のDCバス19bに供給された後、昇降圧コンバータ19aを介して蓄電装置19に供給され、或いは、インバータ20を介して旋回用電動機21に供給される。また、旋回用電動機21が回生運転して生成した回生電力は、インバータ20を介して蓄電系120のDCバス19bに供給された後、昇降圧コンバータ19aを介して蓄電装置19に供給され、或いは、インバータ18を介して電動発電機12に供給される。また、蓄電装置19に蓄積された電力は、昇降圧コンバータ19a及びDCバス19bを介して電動発電機12及び旋回用電動機21の少なくとも一方に供給される。旋回用電動機21は、蓄電装置19に蓄積された電力を優先的に使用し、電動発電機12が発電した電力を補助的に使用するように構成されてもよい。
また、コントローラ30は、蓄電装置19が所定の充電率(SOC)を維持できるように蓄電装置19を充放電させる。具体的には、コントローラ30は、蓄電装置19の充電要求値及び放電要求値を決定し、蓄電装置19の充放電を制御する。例えば、コントローラ30は、電動発電機12に放電要求値に相当する電力以上の出力でアシスト運転させ、放電要求値に相当する電力で蓄電装置19を放電させる。或いは、コントローラ30は、旋回用電動機21が力行運転する場合には、放電要求値に相当する電力で蓄電装置19の電力を旋回用電動機21に向けて放電させる。この場合、コントローラ30は、旋回用電動機21の駆動に要する出力[kW]が放電要求値に相当する電力より大きければ、電動発電機12を発電機として機能させる。電動発電機12が発電する電力と蓄電装置19が放電する電力とで旋回用電動機21を駆動させるためである。
次に、図3を参照し、旋回用電動機21の操作(旋回操作)と油圧アクチュエータの操作(油圧操作)とを含む旋回複合操作が行われている場合にコントローラ30がエンジン出力を油圧ポンプ出力と電動発電機出力(発電電力)とに配分する処理(以下、「エンジン出力配分処理」とする。)について説明する。なお、図3は、エンジン出力配分処理における入力パラメータと出力パラメータとの関係を示す図である。また、本実施例では、油圧ポンプ出力は、メインポンプ14の出力(吸収馬力)を意味する。
図3に示すように、コントローラ30は、エンジン最大出力、旋回最大出力、所要出力、及びキャパシタ出力を入力パラメータとして取得し、油圧ポンプ最大出力及び電動発電機出力を出力パラメータとして出力する。
エンジン最大出力は、エンジン11が生成可能な出力の最大値である。本実施例では、コントローラ30は、エンジン回転数センサ(図示せず。)の検出値を受け、記憶装置に予め記憶されたエンジン回転数・エンジン出力対応マップを参照して現在のエンジン回転数に対応するエンジン最大出力を導き出す。
旋回最大出力は、旋回用電動機21の出力の最大値である。本実施例では、コントローラ30は、記憶装置に予め記憶された基準旋回最大出力と現在のショベルの状態とに基づいて旋回最大出力を決定する。現在のショベルの状態は、例えば、掘削アタッチメントの姿勢(例えば、バケットの高さ)、ショベルの傾斜角度等に基づいて決定される。また、基準旋回最大出力は、例えば、ショベルが平坦地に位置し、旋回複合操作が行われ、且つ、油圧負荷が小さい場合に採用される旋回最大出力として予め設定される。なお、旋回最大出力の決定方法の詳細については後述する。
所要出力は、上部旋回体3を所望の旋回角速度で旋回させるために必要な旋回用電動機21の出力である。本実施例では、コントローラ30は、レゾルバ22の出力に基づいて算出される実旋回角速度と、インバータ20を流れる電流に基づいて算出される旋回トルクとの積から所要出力を導き出す。なお、所望の旋回角速度は、旋回操作レバー(図示せず。)の操作量に応じて決定される。
キャパシタ出力は、蓄電装置19の出力である。本実施例では、コントローラ30は、例えば、記憶装置に格納されたSOC・要求値対応テーブルを参照して放電要求値又は充電要求値に相当する電力をキャパシタ出力として取得する。なお、SOC・要求値対応テーブルは、蓄電装置19のSOCと放電要求値及び充電要求値との対応関係を示す参照テーブルである。具体的には、コントローラ30は、蓄電装置19を充電する場合には充電要求値に相当する充電電力をキャパシタ出力として取得する。また、コントローラ30は、蓄電装置19を放電する場合には放電要求値に相当する放電電力をキャパシタ出力として取得する。なお、本実施例では、キャパシタ出力は、蓄電装置19を充電する場合には充電要求値に相当する充電電力を表す負値となり、蓄電装置19を放電する場合には放電要求値に相当する放電電力を表す正値となる。
コントローラ30は、図3に示すように、最小値選択部60により旋回最大出力及び所要出力のうちの小さい方を選択し、選択した値を旋回出力とする。これは、所要出力が旋回最大出力によって制限されることを意味する。そして、減算部61により旋回出力からキャパシタ出力を減算し、得られた値を電動発電機出力として出力する。
電動発電機出力は、電動発電機12の出力である。本実施例では、コントローラ30は、発電出力又は電動出力を電動発電機出力として導き出す。具体的には、コントローラ30は、電動発電機12を発電機として機能させる場合には、発電機として機能する電動発電機12の出力である発電出力を導き出す。また、コントローラ30は、電動発電機12を電動機として機能させる場合には、電動機として機能する電動発電機12の出力である電動出力を導き出す。なお、本実施例では、電動発電機出力は、電動発電機12が発電機として機能する場合(旋回出力がキャパシタ出力より大きい場合)には発電出力を表す正値となり、電動発電機12が電動機として機能する場合(旋回出力がキャパシタ出力より小さい場合)には電動出力を表す負値となる。
油圧ポンプ最大出力は、油圧ポンプの出力の最大値である。本実施例では、コントローラ30は、減算部62によりエンジン最大出力から電動発電機出力を減算し、得られた値を油圧ポンプ最大出力として出力する。したがって、油圧ポンプ最大出力は、電動発電機12が発電機として機能する場合にはエンジン最大出力よりも電動発電機出力(発電出力)分だけ小さい値となる。また、電動発電機12が電動機として機能する場合にはエンジン最大出力よりも電動発電機出力(電動出力)分だけ大きい値となる。
具体的には、コントローラ30は、エンジン回転数が一定であれば、すなわち、エンジン最大出力が一定であれば、電動発電機出力が大きいほど(発電出力が大きいほど)油圧ポンプ最大出力を低減させる。発電出力が大きくなると、油圧ポンプ最大出力を低減させなければ、すなわち、メインポンプ14の出力(吸収馬力)を低減させなければ、発電出力と油圧ポンプ出力の合計がエンジン最大出力を上回るおそれがあるためである。その結果、メインポンプ14の出力(吸収馬力)は、低減された油圧ポンプ最大出力の範囲内で制御される。
反対に、コントローラ30は、エンジン回転数が一定であれば、すなわち、エンジン最大出力が一定であれば、電動発電機出力が小さいほど(電動出力が大きいほど)油圧ポンプ最大出力を増大させる。電動出力が大きくなるとエンジン出力に余裕が生じるためであり、その余裕分をメインポンプ14が効率的に利用できるようにするためである。その結果、メインポンプ14の出力(吸収馬力)は、増大された油圧ポンプ最大出力の範囲内で制御される。
なお、コントローラ30は、油圧ポンプ最大出力を増大させる場合及び低減させる場合の何れであっても、ポンプ吐出量とポンプ吐出圧の積として算出される油圧ポンプ出力が油圧ポンプ最大出力以下となるようにポンプ吐出圧に応じてポンプ吐出量を制御する。具体的には、コントローラ30は、レギュレータ(図示せず。)を用いてメインポンプ14の斜板傾転角を調整してメインポンプ14のポンプ吐出量を制御する。
次に、図4を参照してエンジン出力配分処理の流れについて説明する。なお、図4は、エンジン出力配分処理の一例の流れを示すフローチャートである。コントローラ30は、ショベル稼働中に所定の制御周期で繰り返しこのエンジン出力配分処理を実行する。
最初に、コントローラ30は、旋回操作と油圧操作とを含む旋回複合操作が行われているかを判定する(ステップST1)。本実施例では、コントローラ30は、操作装置26の操作内容を検出する圧力センサ29の出力に基づいて旋回複合操作が行われているかを判定する。具体的には、コントローラ30は、旋回操作レバーとブーム操作レバー等の油圧アクチュエータを操作するための操作レバーとが同時に操作されたことを検知した場合に旋回複合操作が行われていると判定する。
旋回複合操作が行われていないと判定した場合(ステップST1のNO)、コントローラ30は、今回のエンジン出力配分処理を終了させる。
一方で、旋回複合操作が行われていると判定した場合(ステップST1のYES)、コントローラ30は、基準旋回最大出力と現在のショベルの状態とに基づいて旋回最大出力を決定する(ステップST2)。本実施例では、コントローラ30は、基準旋回最大出力とエンドアタッチメント位置とメインポンプ14の吐出圧とに基づいて旋回最大出力を決定する。エンドアタッチメント位置は、エンドアタッチメントとしてのバケット6の基準面に対する位置である。本実施例では、コントローラ30は、ブーム角度センサS1及びアーム角度センサS2の出力に基づいてエンドアタッチメント位置を取得する。基準面は、例えば、ショベルの下部走行体1が位置する接地面である。また、エンドアタッチメント位置は、例えば、基準面に対するバケットピンの位置である。また、エンドアタッチメント位置は、バケット6の位置が基準面より高い場合にはバケット6の高さを表す正値となり、バケット6の位置が基準面より低い場合にはバケット6の深さを表す負値となる。
その後、コントローラ30は、決定した旋回最大出力に基づいてエンジン出力の配分を決定する(ステップST3)。本実施例では、コントローラ30は、図3に示すように、エンジン最大出力、旋回最大出力、所要出力、及びキャパシタ出力に基づいて電動発電機出力及び油圧ポンプ最大出力を決定する。
なお、コントローラ30は、旋回複合操作が行われていると判定した場合に掘削が行われたか否かを判定し、掘削が行われたと判定した場合に限りステップST2及びステップST3を実行するようにしてもよい。この場合、コントローラ30は、シリンダ圧センサS4が出力するバケットシリンダ9のボトム側油室内の作動油の圧力の推移に基づいて旋回複合操作が行われる直前に掘削が行われたか否かを判定する。
次に、図5を参照し、コントローラ30が基準旋回最大出力SP0と現在のショベルの状態とに基づいて旋回最大出力SP1を決定する処理(以下、「旋回最大出力決定処理」とする。)について説明する。なお、図5は、旋回最大出力決定処理における入力パラメータと出力パラメータとの関係を示す図である。
図5に示すように、コントローラ30は、基準旋回最大出力SP0、ポンプ吐出圧P、及びエンドアタッチメント位置Hを入力パラメータとして取得し、旋回最大出力SP1を出力パラメータとして出力する。
ポンプ吐出圧Pは、メインポンプ14のポンプ吐出圧である。本実施例では、コントローラ30は、吐出圧センサ(図示せず。)の出力に基づいてポンプ吐出圧Pを取得する。
基準旋回最大出力SP0は、旋回用電動機21の出力の最大値である旋回最大出力を現在のショベルの状態に応じて決定する際に用いられる基準値である。また、基準旋回最大出力SP0は、例えば、ショベルが平坦地に位置し、旋回複合操作が行われ、且つ、油圧負荷が小さい場合に採用される旋回最大出力として予め設定される。「油圧負荷が小さい場合」は、例えば、ポンプ吐出圧Pが所定値P1未満の場合として定められる。また、「ショベルが平坦地に位置する場合」は、例えば、ショベル本体の傾斜角度が所定角度未満の場合として定められる。
旋回最大出力SP1は、現在のショベルの状態に応じて決定される旋回用電動機21の出力の最大値である。本実施例では、コントローラ30は、基準旋回最大出力SP0と第1係数Kaと第2係数Kbとに基づいて旋回最大出力SP1を決定する。
第1係数Kaは、ポンプ吐出圧Pに応じて決まる係数であり、ポンプ吐出圧Pが大きいほど小さくなる傾向を有する。本実施例では、コントローラ30は、演算部63によりポンプ吐出圧Pに基づいて第1係数Kaを導き出す。具体的には、演算部63は、入力としてポンプ吐出圧Pを受けると第1係数Kaを出力する。例えば、第1係数Kaは、0以上1以下の値をとり、ポンプ吐出圧Pが所定値P1以下で値1となり、ポンプ吐出圧Pが所定値P1から所定値P2(>P1)まで増大するにつれて一定の割合で減少し、ポンプ吐出圧Pが所定値P2以上で値Ka1(<1)となる。
また、第2係数Kbは、エンドアタッチメント位置Hに応じて決まる係数である。本実施例では、コントローラ30は、演算部64によりエンドアタッチメント位置Hに基づいて第2係数Kbを導き出す。具体的には、演算部64は、入力としてエンドアタッチメント位置Hを受けると第2係数Kbを出力する。例えば、第2係数Kbは、0以上1以下の値をとり、エンドアタッチメント位置Hが所定値D2以下で値Kb2となり、エンドアタッチメント位置Hが所定値D2から0まで増大するにつれて一定の割合で増加し、エンドアタッチメント位置Hが0以上で値1となる。
ここで、図6及び図7を参照し、演算部64が第2係数Kbを導き出す処理(以下、「第2係数導出処理」とする。)について説明する。なお、図6は掘削・積み込み作業を行うショベルの側面図であり、図7はエンドアタッチメント位置と第2係数Kbとの対応関係の一例を示す図である。
具体的には、図6は、3種類のエンドアタッチメント位置で掘削作業を行った後に旋回複合操作に対応する旋回軸X回りのブーム上げ旋回動作を経て積み込み作業を行うショベルを示す。より具体的には、E1はエンドアタッチメント位置H1(>0)で掘削作業を行ったときの掘削アタッチメントを表し、E2はエンドアタッチメント位置D1(<0)で掘削作業を行ったときの掘削アタッチメントを表し、E3はエンドアタッチメント位置D2(<D1)で掘削作業を行ったときの掘削アタッチメントを表す。また、E4は積み込み作業でバケット6内の土砂をダンプカーDPの荷台に排土したときの掘削アタッチメントを表す。なお、ダンプカーDPの荷台はバケット6内に取り込まれた物の積み込み先の容器の一例である。また、図の明瞭化のため、図6はショベルが掘削作業を行ったときの上部旋回体3を示すが、ショベルが積み込み作業を行ったときの上部旋回体3の図示を省略する。
また、図7の太実線は接地面を基準面とした場合のエンドアタッチメント位置と第2係数Kbとの対応関係を示し、点線はダンプカーDPの荷台上面を基準面とした場合の対応関係を示す。
最初に接地面を基準面とした場合の第2係数導出処理について説明する。
コントローラ30の演算部64は、図7の実線で示す対応関係を記憶する参照テーブルを参照する。そして、ブーム角度センサS1及びアーム角度センサS2の出力に基づいて取得したエンドアタッチメント位置Hに対応する第2係数Kbを導き出す。具体的には、演算部64は、エンドアタッチメント位置Hが値H1の場合に第2係数Kbとして値1を導き出し、エンドアタッチメント位置Hが値D1の場合に第2係数Kbとして値Kb1(例えば0.7)を導き出し、エンドアタッチメント位置Hが値D2の場合に第2係数Kbとして値Kb2(例えば0.3)を導き出す。
その後、演算部64は、エンドアタッチメント位置Hが値H1の場合、すなわちエンドアタッチメント位置Hが接地面の高さより高いときに旋回複合操作が行われている場合、第2係数Kbとして導き出した値1を乗算部65に対して出力する。この場合、第1係数Kaが値1であれば、旋回最大出力SP1は基準旋回最大出力SP0に等しい。これは、旋回最大出力SP1が何らの特別な制限を受けないことを意味する。
一方、エンドアタッチメント位置Hが値D1の場合、すなわちエンドアタッチメント位置Hが接地面の高さよりも低いときに旋回複合操作が行われている場合、乗算部65は、第1係数Kaが値1であれば、基準旋回最大出力SP0に1未満の値であるKb1を乗じて旋回最大出力SP1を生成する。この場合、旋回最大出力SP1は基準旋回最大出力SP0よりも小さい。そのため、乗算部65は、エンドアタッチメント位置が接地面の高さより高いときに旋回複合操作が行われている場合に比べ、旋回最大出力SP1が小さくなるようにすなわち旋回の加速を抑制するように旋回最大出力SP1を生成して出力する。
また、エンドアタッチメント位置Hが値D2の場合、すなわちエンドアタッチメント位置Hがさらに低いときに旋回複合操作が行われている場合、乗算部65は、第1係数Kaが値1であれば、基準旋回最大出力SP0にKb1未満の値であるKb2を乗じて旋回最大出力SP1を生成する。この場合、旋回最大出力SP1はエンドアタッチメント位置Hが値D1のときの旋回最大出力SP1よりも小さい。そのため、乗算部65は、エンドアタッチメント位置Hが値D1のときに旋回複合操作が行われている場合に比べ、旋回最大出力SP1がさらに小さくなるようにすなわち旋回の加速をさらに抑制するように旋回最大出力SP1を生成して出力する。
次にダンプカーDPの荷台上面を基準面とした場合の第2係数導出処理について説明する。荷台上面は、例えば図6に示すように、接地面よりも値Bだけ高い位置にある。本実施例では、ショベルの操作者は、ショベルの接地面に対するダンプカーDPの荷台上面の高さBをキャビン内に設置された入力装置を介してコントローラ30に入力する。また、コントローラ30は、排土が行われたときのバケット6の高さから、ショベルの接地面に対するダンプカーDPの荷台上面の高さBを導き出してもよい。なお、値Lは、ダンプカーDPの接地面に対する荷台上面の高さである積み込み高さを表す。
演算部64は、ショベルの接地面を基準面とした場合と同様、図7の点線で示す対応関係を記憶する参照テーブルを参照する。そして、エンドアタッチメント位置Hに対応する第2係数Kbを導き出す。具体的には、演算部64は、エンドアタッチメント位置Hが値H1の場合にはショベルの接地面を基準面とした場合と同様、第2係数Kbとして値1を導き出し、エンドアタッチメント位置Hが値D2の場合にもショベルの接地面を基準面とした場合と同様、第2係数Kbとして値Kb2(例えば0.3)を導き出す。但し、エンドアタッチメント位置Hが値D1の場合には、ショベルの接地面を基準面とした場合と異なり、第2係数Kbとして値Kb10(例えば0.6)を導き出す。値Kb10はショベルの接地面を基準面とした場合の値Kb1より小さい。すなわち、乗算部65は、ショベルの接地面を基準面とした場合に比べ、旋回最大出力SP1がさらに小さくなるようにすなわち旋回の加速をさらに抑制するように旋回最大出力SP1を生成して出力する。
このように、コントローラ30は、乗算部65により基準旋回最大出力SP0と第1係数Kaと第2係数Kbとを乗算し、得られた値を旋回最大出力SP1として出力する。例えば、バケット6が基準面より高い位置にあり、旋回複合操作が行われ、且つ、油圧負荷が小さい場合、旋回最大出力SP1は基準旋回最大出力SP0となる。第1係数Ka及び第2係数Kbの値が何れも値1となるためである。
また、旋回最大出力SP1は、エンドアタッチメント位置Hが同じであれば、すなわち第2係数Kbが同じであれば、ポンプ吐出圧Pが大きいほど小さくなる。第1係数Kaの値が小さくなるためである。一方で、旋回最大出力SP1は、ポンプ吐出圧Pが同じであれば、すなわち第1係数Kaが同じであれば、バケット6の深さが深いほど小さくなる。第2係数Kbの値が小さくなるためである。
また、油圧ポンプ最大出力は、エンドアタッチメント位置Hが同じであれば、ポンプ吐出圧Pが大きいほど大きな値となり得る。旋回最大出力SP1が小さくなるためである。一方で、油圧ポンプ最大出力は、ポンプ吐出圧Pが同じであれば、バケット6の深さが深いほど大きな値となり得る。旋回最大出力SP1が小さくなるためである。
以上の構成により、コントローラ30は、エンドアタッチメント位置Hに応じて旋回最大出力SP1を変更する。例えば、コントローラ30は、バケット6の深さが深いほど旋回最大出力SP1を小さくする。その結果、コントローラ30は、旋回複合操作時の旋回角速度を適切に制御できる。例えば、コントローラ30は、深掘掘削後にブーム4を上昇させながら上部旋回体3を旋回させる場合に旋回角速度が大きくなり過ぎるのを防止できる。一方で、コントローラ30は、バケット6の位置が基準面より高い場合には、バケット6の高さの変化に応じては旋回最大出力SP1を変化させないようにする。その結果、コントローラ30は、ブーム4を上昇させながら上部旋回体3を旋回させる場合に旋回角速度が過度に制限されてしまうのを防止できる。
また、コントローラ30は、エンドアタッチメント位置Hに応じて旋回最大出力SP1を変更することで油圧ポンプ最大出力を変更する。例えば、コントローラ30は、バケット6の深さが浅いほど旋回最大出力SP1を増大させることで油圧ポンプ最大出力を低減させる。そのため、旋回最大出力SP1を増大させた場合であっても、電動発電機出力(発電出力)と油圧ポンプ出力の合計がエンジン最大出力を上回るのを防止できる。
また、上述の実施例では、コントローラ30は、ポンプ吐出圧Pに関連する第1係数Kaと、エンドアタッチメント位置Hに関連する第2係数Kbと、基準旋回最大出力SP0とに基づいて旋回最大出力SP1を決定する。しかしながら、本発明はこの構成に限定されるものではない。例えば、コントローラ30は、ポンプ吐出圧Pに関する値とエンドアタッチメント位置Hに関する値と基準旋回最大出力SP0とを所定の関数に代入して旋回最大出力SP1を決定してもよい。或いは、コントローラ30は、ポンプ吐出圧Pに関する値とエンドアタッチメント位置Hに関する値と旋回最大出力SP1との対応関係を表す対応テーブルを参照してポンプ吐出圧Pに関する値及びエンドアタッチメント位置Hに関する値から旋回最大出力SP1を決定してもよい。また、コントローラ30は、ポンプ吐出圧Pとは無関係に、エンドアタッチメント位置Hに関連する値と基準旋回最大出力SP0とに基づいて旋回最大出力SP1を決定してもよい。
また、上述の実施例では、コントローラ30は、旋回複合操作が行われている場合には、旋回力行時に限ってエンジン出力配分処理を実行する。しかしながら、本発明はこの構成に限定されるものではない。例えば、コントローラ30は、旋回複合操作が行われている場合には、旋回力行時及び旋回回生時の何れであってもエンジン出力配分処理を実行してもよい。
次に、図8を参照し、図1のショベルに搭載されるコントローラ30の別の構成例について説明する。なお、図8は、コントローラ30の機能ブロック図であり、旋回用電動機21の力行制御(加速駆動制御)を行う際に用いられる機能要素を含む。本実施例では、コントローラ30は、主に、角速度指令生成部31、減算器32、PI制御部33、トルク制限部34、複合操作判定部35、エンドアタッチメント位置取得部36、及び加速トルク制限値生成部37を有する。
角速度指令生成部31は旋回操作量に基づいて角速度指令値を生成する。本実施例では、角速度指令生成部31は、旋回操作量を表す圧力センサ29からの電気信号に基づいて角速度指令値を生成し、生成した角速度指令値を減算器32に対して出力する。
減算器32は角速度指令値と旋回角速度の現在値である実旋回角速度との偏差を導き出す。本実施例では、減算器32は角速度指令生成部31が生成する角速度指令値と実旋回角速度との偏差をPI制御部33に対して出力する。実旋回角速度は例えば旋回角速度検出器としてのレゾルバ22の検出値から導き出される。
PI制御部33は角速度指令値と実旋回角速度との偏差に基づいてPI制御を実行する。本実施例では、PI制御部33は減算器32が出力する偏差に基づいてPI制御を実行し、実旋回角速度が角速度指令値に近づくようにトルク目標値を生成する。そして、PI制御部33は、生成したトルク目標値をトルク制限部34に対して出力する。
トルク制限部34はトルク指令値をトルク制限値以下に制限する。本実施例では、トルク制限部34はPI制御部33が出力するトルク目標値を加速トルク制限値以下に制限する。なお、加速トルク制限値は加速トルク制限値生成部37が生成する旋回加速操作中のトルク制限値である。具体的には、トルク制限部34はトルク目標値が加速トルク制限値以上であれば加速トルク制限値をトルク指令値としてインバータ20に対して出力する。また、トルク制限部34はトルク目標値が加速トルク制限値未満であればそのトルク目標値をトルク指令値としてインバータ20に対して出力する。
トルク指令値を受けたインバータ20はそのトルク指令値に応じてPWM信号を生成する。そして、インバータ20は、生成したPWM信号でトランジスタ等のスイッチング素子を動作させてモータ駆動電流を生成し、そのモータ駆動電流を旋回用電動機21に対して出力する。なお、インバータ20は、トルク指令値とモータ駆動電流の現在値との偏差を極小化するようにトルク指令値をフィードバック制御してもよい。
複合操作判定部35は、複合操作が行われているかを判定する。本実施例では、複合操作判定部35は、各種操作量を表す圧力センサ29からの電気信号に基づいて旋回操作を含む旋回複合操作が行われているか否かを判定する。具体的には、複合操作判定部35は、旋回操作レバーが操作され且つブーム操作レバーが上げ方向に操作されている場合に、旋回操作とブーム上げ操作を含む旋回複合操作が行われていると判定する。なお、複合操作判定部35は、旋回操作とアーム閉じ操作を含む旋回複合操作、旋回操作とバケット閉じ操作を含む旋回複合操作等の他の旋回複合操作が行われているか否かを判定してもよい。
エンドアタッチメント位置取得部36はバケット6の位置に関する情報を取得する。本実施例では、エンドアタッチメント位置取得部36は、ブーム角度センサS1及びアーム角度センサS2の出力に基づいてエンドアタッチメント位置を取得する。また、エンドアタッチメント位置取得部36は取得したエンドアタッチメント位置を加速トルク制限値生成部37に対して出力する。
加速トルク制限値生成部37は加速トルク制限値を生成する。本実施例では、加速トルク制限値生成部37は、複合操作判定部35の判定結果と、エンドアタッチメント位置取得部36が出力するエンドアタッチメント位置とに基づいて加速トルク制限値を生成する。
具体的には、加速トルク制限値生成部37は、旋回複合操作が行われていると複合操作判定部35が判定した場合、エンドアタッチメント位置と加速トルク制限比率との対応関係を記憶する参照テーブルを参照して現在のエンドアタッチメント位置に対応する加速トルク制限比率を導き出す。
加速トルク制限比率は、加速トルク(力行トルク)の制限の大きさを表す値である。本実施例では、加速トルク制限比率は0以上1以下の値をとり、値が0に近いほど加速トルクの制限が大きいことを表す。具体的には、加速トルク制限値生成部37は、初期加速トルク制限値に加速トルク制限比率を乗じて加速トルク制限値を導き出す。初期加速トルク制限値は、加速トルク制限値の基準となる値である。本実施例では、初期加速トルク制限値は記憶装置等に予め記憶された固定値である。なお、初期加速トルク制限値はブーム上げ操作量等に応じて変化する可変値であってもよい。
例えば、加速トルク制限値生成部37は、加速トルク制限比率が1の場合、初期加速トルク制限値をそのまま加速トルク制限値とする。また、加速トルク制限比率が0.3の場合、初期加速トルク制限値に0.3を乗じた値を加速トルク制限値として導き出す。なお、加速トルク制限値は値が小さいほど加速トルクの制限が大きい(旋回角速度が加速され難い)ことを表す。
そして、加速トルク制限値生成部37は、導き出した加速トルク制限値をトルク制限部34に対して出力する。なお、加速トルク制限値生成部37は、旋回複合操作が行われていないと複合操作判定部35が判定した場合、初期加速トルク制限値をそのまま加速トルク制限値とし、その加速トルク制限値をトルク制限部34に対して出力する。
ここで、図9及び図10を参照し、加速トルク制限値生成部37が加速トルク制限比率を導き出す処理(以下、「制限比率導出処理」とする。)について説明する。なお、図9は掘削・積み込み作業を行うショベルの側面図であり、図6に対応する。また、図10はエンドアタッチメント位置と加速トルク制限比率との対応関係の一例を示す図である。
具体的には、図9は、3種類のエンドアタッチメント位置で掘削作業を行った後に旋回複合操作に対応する旋回軸X回りのブーム上げ旋回動作を経て積み込み作業を行うショベルを示す。より具体的には、E1はエンドアタッチメント位置H1(>0)で掘削作業を行ったときの掘削アタッチメントを表し、E2はエンドアタッチメント位置D1(<0)で掘削作業を行ったときの掘削アタッチメントを表し、E3はエンドアタッチメント位置D2(<0)で掘削作業を行ったときの掘削アタッチメントを表す。また、E4は積み込み作業でバケット6内の土砂をダンプカーDPの荷台に排土したときの掘削アタッチメントを表す。なお、ダンプカーDPの荷台はバケット6内に取り込まれた物の積み込み先の容器の一例である。また、図の明瞭化のため、図9はショベルが掘削作業を行ったときの上部旋回体3を示すが、ショベルが積み込み作業を行ったときの上部旋回体3の図示を省略する。
また、図10の太実線は接地面を基準面とした場合のエンドアタッチメント位置と加速トルク制限比率との対応関係を示し、点線はダンプカーDPの荷台上面を基準面とした場合の対応関係を示す。
最初に接地面を基準面とした場合の制限比率導出処理について説明する。
コントローラ30の加速トルク制限値生成部37は、旋回複合操作が行われていると複合操作判定部35が判定した場合、図10の実線で示す対応関係を記憶する参照テーブルを参照する。そして、エンドアタッチメント位置取得部36が取得したエンドアタッチメント位置に対応する加速トルク制限比率を導き出す。具体的には、加速トルク制限値生成部37は、エンドアタッチメント位置が値H1の場合に加速トルク制限比率として値1を導き出し、エンドアタッチメント位置が値D1の場合に加速トルク制限比率として値R1(例えば0.7)を導き出し、エンドアタッチメント位置が値D2の場合に加速トルク制限比率として値R2(例えば0.3)を導き出す。
その後、加速トルク制限値生成部37は、エンドアタッチメント位置が値H1の場合、すなわちエンドアタッチメント位置が接地面の高さより高いときに旋回複合操作が行われている場合、初期加速トルク制限値に値1を乗じて加速トルク制限値を生成する。この場合、加速トルク制限値は初期加速トルク制限値に等しい。そのため、加速トルク制限値生成部37は何らの特別な制限を課すことなく加速トルク制限値を生成してトルク制限部34に対して出力する。
一方、エンドアタッチメント位置が値D1の場合、すなわちエンドアタッチメント位置が接地面の高さよりも低いときに旋回複合操作が行われている場合、加速トルク制限値生成部37は、初期加速トルク制限値に1未満の値であるR1を乗じて加速トルク制限値を生成する。この場合、加速トルク制限値は初期加速トルク制限値よりも小さい。そのため、加速トルク制限値生成部37は、エンドアタッチメント位置が接地面の高さより高いときに旋回複合操作が行われている場合に比べ、生成可能な加速トルクの上限が小さくなるようにすなわち旋回の加速を抑制するように加速トルク制限値を生成してトルク制限部34に対して出力する。
また、エンドアタッチメント位置がD2の場合、すなわちエンドアタッチメント位置がさらに低いときに旋回複合操作が行われている場合、加速トルク制限値生成部37は、初期加速トルク制限値にR1未満の値であるR2を乗じて加速トルク制限値を生成する。この場合、加速トルク制限値はエンドアタッチメント位置が値D1のときの加速トルク制限値よりも小さい。そのため、加速トルク制限値生成部37は、エンドアタッチメント位置が値D1のときに旋回複合操作が行われている場合に比べ、生成可能な加速トルクの上限がさらに小さくなるようにすなわち旋回の加速をさらに抑制するように加速トルク制限値を生成してトルク制限部34に対して出力する。
次にダンプカーDPの荷台上面を基準面とした場合の制限比率導出処理について説明する。荷台上面は、例えば図9に示すように、接地面よりも値Bだけ高い位置にある。本実施例では、ショベルの操作者は、ショベルの接地面に対するダンプカーDPの荷台上面の高さBをキャビン内に設置された入力装置を介してコントローラ30に入力する。また、コントローラ30は、排土が行われたときのバケット6の高さから、ショベルの接地面に対するダンプカーDPの荷台上面の高さBを導き出してもよい。なお、値Lは、ダンプカーDPの接地面に対する荷台上面の高さである積み込み高さを表す。
加速トルク制限値生成部37は、ショベルの接地面を基準面とした場合と同様、旋回複合操作が行われていると複合操作判定部35が判定した場合、図10の点線で示す対応関係を記憶する参照テーブルを参照する。そして、エンドアタッチメント位置取得部36が取得したエンドアタッチメント位置に対応する加速トルク制限比率を導き出す。具体的には、加速トルク制限値生成部37は、エンドアタッチメント位置が値H1の場合にはショベルの接地面を基準面とした場合と同様、加速トルク制限比率として値1を導き出し、エンドアタッチメント位置が値D2の場合にもショベルの接地面を基準面とした場合と同様、加速トルク制限比率として値R2(例えば0.3)を導き出す。但し、エンドアタッチメント位置が値D1の場合には、ショベルの接地面を基準面とした場合と異なり、加速トルク制限比率として値R10(例えば0.6)を導き出す。値R10はショベルの接地面を基準面とした場合の値R1より小さい。すなわち、加速トルク制限値生成部37は、ショベルの接地面を基準面とした場合に比べ、生成可能な加速トルクの上限がさらに小さくなるようにすなわち旋回の加速をさらに抑制するように加速トルク制限値を生成してトルク制限部34に対して出力する。
次に、図11を参照し、コントローラ30が加速トルク制限値を生成する処理(以下、「加速トルク制限値生成処理」とする。)の一例について説明する。なお、図11は、加速トルク制限値生成処理の一例の流れを示すフローチャートである。コントローラ30は旋回用電動機21の力行制御(加速駆動制御)中に所定の制御周期で繰り返しこの加速トルク制限値生成処理を実行する。
最初に、コントローラ30の加速トルク制限値生成部37は、旋回複合操作が行われているかを判定する(ステップST11)。本実施例では、加速トルク制限値生成部37は圧力センサ29の出力に基づいて旋回複合操作が行われているか否かを判定する。
旋回複合操作が行われていると判定した場合(ステップST11のYES)、加速トルク制限値生成部37はエンドアタッチメント位置から加速トルク制限比率を導き出す(ステップST12)。本実施例では、加速トルク制限値生成部37は、エンドアタッチメント位置と加速トルク制限比率との対応関係を記憶する参照テーブルを参照し、エンドアタッチメント位置取得部36が取得したエンドアタッチメント位置に対応する加速トルク制限比率を導き出す。
その後、加速トルク制限値生成部37は初期加速トルク制限値と加速トルク制限比率から加速トルク制限値を生成して出力する(ステップST13)。本実施例では、加速トルク制限値生成部37は、記憶装置に予め記憶されている初期加速トルク制限値に加速トルク制限比率を乗じて加速トルク制限値を生成し、その生成した加速トルク制限値をトルク制限部34に対して出力する。
一方、旋回複合操作が行われていないと判定した場合(ステップST11のNO)、加速トルク制限値生成部37は初期トルク制限値を加速トルク制限値として出力する(ステップST14)。本実施例では、加速トルク制限値生成部37は、記憶装置に予め記憶されている初期加速トルク制限値をそのまま加速トルク制限値とし、その加速トルク制限値をトルク制限部34に対して出力する。
以上の構成により、コントローラ30は、旋回複合操作が行われているときのバケット6の位置が低い(深い)ほど生成可能な加速トルクの上限が小さくなるようにすなわち旋回の加速を抑制するように加速トルク制限値を生成する。そのため、掘削深さが深い場合に旋回の加速を十分に抑制することができる。また、掘削深さが浅い場合に旋回の加速を過度に抑制してしまうこともない。そのため、作業現場の実情により即した旋回制御を実現できる。
また、ショベルの操作者は掘削深さに応じて旋回操作量及びブーム上げ操作量を微妙に調整する必要がない。旋回複合操作の際のブーム上げ操作量が同じであってもエンドアタッチメント位置が低いほど旋回の加速を抑制するためである。具体的には、ブーム上げ旋回動作の際のバケット6の移動距離は、エンドアタッチメント位置が低いときほど、円周方向の移動距離に対する高さ方向の移動距離が大きくなるためである。また、エンドアタッチメント位置が高くなるにつれて円周方向の移動距離に対する高さ方向の移動距離が小さくなるためである。なお、円周方向の移動距離は旋回用電動機21の回転角に相当する。
次に、図12を参照し、加速トルク制限値生成処理の別の一例について説明する。なお、図12は加速トルク制限値生成処理の別の一例の流れを示すフローチャートである。コントローラ30は旋回用電動機21の力行制御(加速駆動制御)中に所定の制御周期で繰り返しこの加速トルク制限値生成処理を実行する。
また、図12の加速トルク制限値生成処理はステップST11で旋回複合操作が行われていると判定した場合にステップST11Aを実行する点で図11の加速トルク制限値生成処理と相違するがその他の点で共通する。そのため、共通部分の説明を省略し、相違部分を詳細に説明する。
図12の加速トルク制限値生成処理では、旋回複合操作が行われていると判定した場合(ステップST11のYES)、加速トルク制限値生成部37は掘削が行われたかを判定する(ステップST11A)。本実施例では、加速トルク制限値生成部37はシリンダ圧センサS4が出力するバケットシリンダ9のボトム側油室内の作動油の圧力の推移に基づいて旋回複合操作が行われる直前に掘削が行われたか否かを判定する。具体的には、加速トルク制限値生成部37は旋回複合操作が行われる前の所定時間中におけるバケットシリンダ9のボトム側油室内の作動油の圧力の推移に基づいて旋回複合操作が行われる直前に掘削が行われたか否かを判定する。
そして、掘削が行われたと判定した場合(ステップST11AのYES)、加速トルク制限値生成部37は、ステップST12及びステップST13を実行する。
一方、掘削が行われていないと判定した場合(ステップST11AのNO)、加速トルク制限値生成部37は、ステップST14を実行する。
このように、図12の加速トルク制限値生成処理では、コントローラ30は、旋回複合操作が行われる直前に掘削作業が行われたと判定した場合に限り、エンドアタッチメント位置に応じて旋回の加速を抑制する。すなわちバケット6内に土砂等が取り込まれている場合に旋回複合操作が行われているときに限り、エンドアタッチメント位置に応じて生成可能な加速トルクの上限を低減させる。そのため、コントローラ30は、図11の加速トルク制限値生成処理を実行することによって実現される効果に加え、バケット6内に土砂が取り込まれていないにもかかわらず旋回複合操作の際の旋回の加速が過度に制限されてしまうのを防止できるという追加的な効果を実現できる。
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
例えば、上述の実施例では、加速トルク制限比率が値1未満となるときのエンドアタッチメント位置が基準面の高さと等しくなるようにエンドアタッチメント位置と加速トルク制限比率との対応関係が決定されている。そのため、コントローラ30は、旋回複合操作が行われているときのバケット6の位置が基準面より低いか否かで加速トルク制限値を初期加速トルク制限値より小さくするか否かを決定する。しかしながら、加速トルク制限比率が値1未満となるときのエンドアタッチメント位置が基準面の高さよりも高くなるようにエンドアタッチメント位置と加速トルク制限比率との対応関係が決定されてもよい。また、加速トルク制限比率が値1未満となるときのエンドアタッチメント位置が基準面の高さよりも低くなるようにエンドアタッチメント位置と加速トルク制限比率との対応関係が決定されてもよい。また、エンドアタッチメント位置が基準面より高い所定高さよりもさらに高くなったときに加速トルク制限比率が再び値1未満となるようにエンドアタッチメント位置と加速トルク制限比率との対応関係が決定されてもよい。
また、コントローラ30は、所定の制御周期(例えば0.05秒)毎にエンドアタッチメント位置の値を更新して加速トルク制限比率の値を更新し、ひいては加速トルク制限値の値を更新する。しかしながら、コントローラ30は、旋回複合操作が開始されたときのエンドアタッチメント位置に対応する加速トルク制限比率をその旋回複合操作が中止されるまで使用し続けてもよい。
また、エンドアタッチメント位置取得部36は、ブーム角度センサS1及びアーム角度センサS2の出力に基づいてバケットピンの基準面に対する高さをエンドアタッチメント位置として取得する。しかしながら、エンドアタッチメント位置取得部36は、ブーム角度センサS1、アーム角度センサS2、及びバケット角度センサS3の出力に基づき、バケット6の爪先等のバケット6上の他の部位の基準面に対する高さをエンドアタッチメント位置として取得してもよい。