以下、図面を参照して発明を実施するための形態について説明する。
[ショベルの概要]
まず、図1を参照して、本実施形態に係るショベル100の概要について説明をする。
図1は、本実施形態に係るショベル100の側面図である。
本実施形態に係るショベル100は、下部走行体1と、旋回機構2を介して旋回自在に下部走行体1に搭載される上部旋回体3と、アタッチメント(作業装置)としてのブーム4、アーム5、及びバケット6と、オペレータが搭乗するキャビン10を備える。以下、ショベル100の前方は、ショベル100を上部旋回体3の旋回軸に沿って真上から平面視(以下、単に「平面視」と称する)で見たときに、上部旋回体3に対するアタッチメントの延出方向(以下、単に「アタッチメントの延出方向」と称する)に対応する。また、ショベル100の左方及び右方は、それぞれ、ショベル100を平面視で見たときに、キャビン10内のオペレータの左方及び右方に対応する。
下部走行体1(走行体の一例)は、例えば、左右一対のクローラを含み、それぞれのクローラが走行油圧モータ1L,1R(図2参照)で油圧駆動されることにより、ショベル100を走行させる。
上部旋回体3(旋回体の一例)は、旋回油圧モータ2A(図2参照)で駆動されることにより、下部走行体1に対して旋回する。
ブーム4は、上部旋回体3の前部中央に俯仰可能に枢着され、ブーム4の先端には、アーム5が上下回動可能に枢着され、アーム5の先端には、バケット6が上下回動可能に枢着される。ブーム4、アーム5、及びバケット6は、それぞれ、油圧アクチュエータとしてのブームシリンダ7、アームシリンダ8、及びバケットシリンダ9によりそれぞれ油圧駆動される。
キャビン10は、オペレータが搭乗する操縦室であり、上部旋回体3の前部左側に搭載される。
[ショベルの構成]
次に、図1に加えて、図2を参照して、ショベル100の具体的な構成について説明する。
図2は、本実施形態に係るショベル100の構成の一例を示すブロック図である。
尚、図中において、機械的動力ラインは二重線、高圧油圧ラインは実線、パイロットラインは破線、電気駆動・制御ラインは点線でそれぞれ示される。
本実施形態に係るショベル100の油圧アクチュエータを油圧駆動する油圧駆動系は、エンジン11と、レギュレータ13と、メインポンプ14と、コントロールバルブ17を含む。また、本実施形態に係るショベル100の油圧駆動系は、上述の如く、下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6のそれぞれを油圧駆動する走行油圧モータ1L,1R、旋回油圧モータ2A、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9等の油圧アクチュエータを含む。
エンジン11は、油圧駆動系におけるメイン動力源であり、例えば、上部旋回体3の後部に搭載される。具体的には、エンジン11は、後述するコントローラ30による直接或いは間接的な制御の下、予め設定される目標回転数で一定回転し、メインポンプ14及びパイロットポンプ15を駆動する。エンジン11は、例えば、軽油を燃料とするディーゼルエンジンである。
レギュレータ13は、メインポンプ14の吐出量を制御する。例えば、レギュレータ13は、コントローラ30からの制御指令に応じて、メインポンプ14の斜板の角度(以下、「傾転角」)を調節する。
メインポンプ14は、例えば、エンジン11と同様、上部旋回体3の後部に搭載され、高圧油圧ラインを通じてコントロールバルブ17に作動油を供給する。メインポンプ14は、上述の如く、エンジン11により駆動される。メインポンプ14は、例えば、可変容量式油圧ポンプであり、上述の如く、コントローラ30による制御の下、レギュレータ13により斜板の傾転角が調節されることでピストンのストローク長が調整され、吐出流量(吐出圧)が制御されうる。
コントロールバルブ17は、例えば、上部旋回体3の中央部に搭載され、オペレータによる操作装置26に対する操作に応じて、油圧駆動系の制御を行う油圧制御装置である。コントロールバルブ17は、上述の如く、高圧油圧ラインを介してメインポンプ14と接続され、メインポンプ14から供給される作動油を、操作装置26の操作状態に応じて、油圧アクチュエータ(走行油圧モータ1L,1R、旋回油圧モータ2A、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9)に選択的に供給する。具体的には、コントロールバルブ17は、メインポンプ14から油圧アクチュエータのそれぞれに供給される作動油の流量と流れる方向を制御する制御弁171~176を含む。具体的には、制御弁171は、走行油圧モータ1Lに対応し、制御弁172は、走行油圧モータ1Rに対応し、制御弁173は、旋回油圧モータ2Aに対応し、制御弁174は、バケットシリンダ9に対応し、制御弁175は、ブームシリンダ7に対応し、制御弁176は、アームシリンダ8に対応する。
本実施形態に係るショベル100の操作系は、パイロットポンプ15と、操作装置26を含む。また、ショベル100の操作系は、後述するコントローラ30によるマシンコントロール機能に関する構成として、シャトル弁32を含む。
パイロットポンプ15は、例えば、上部旋回体3の後部に搭載され、パイロットラインを介して操作装置26にパイロット圧を供給する。パイロットポンプ15は、例えば、固定容量式油圧ポンプであり、上述の如く、エンジン11により駆動される。
操作装置26は、キャビン10の操縦席付近に設けられ、オペレータが各種動作要素(下部走行体1、上部旋回体3、ブーム4、アーム5、バケット6等)の操作を行うための操作入力手段である。換言すれば、操作装置26は、オペレータがそれぞれの動作要素を駆動する油圧アクチュエータ(即ち、走行油圧モータ1L,1R、旋回油圧モータ2A、ブームシリンダ7、アームシリンダ8、バケットシリンダ9等)の操作を行うための操作入力手段である。操作装置26は、その二次側のパイロットラインを通じて直接的に、或いは、二次側のパイロットラインに設けられる後述のシャトル弁32を介して間接的に、コントロールバルブ17にそれぞれ接続される。これにより、コントロールバルブ17には、操作装置26における下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の操作状態に応じたパイロット圧が入力されうる。そのため、コントロールバルブ17は、操作装置26における操作状態に応じて、それぞれの油圧アクチュエータを駆動することができる。操作装置26は、例えば、ブーム4(ブームシリンダ7)、アーム5(アームシリンダ8)、バケット6(バケットシリンダ9)、及び上部旋回体3(旋回油圧モータ2A)のそれぞれを操作するレバー装置を含む。また、操作装置26は、例えば、左右の下部走行体1(走行油圧モータ1L,1R)のそれぞれを操作するペダル装置或いはレバー装置を含む。
シャトル弁32は、2つの入口ポートと1つの出口ポートを有し、2つの入口ポートに入力されたパイロット圧のうちの高い方のパイロット圧を有する作動油を出口ポートに出力させる。シャトル弁32は、2つの入口ポートのうちの一方が操作装置26(具体的には、操作装置26に含まれる上述のレバー装置或いはペダル装置)に接続され、他方が比例弁31に接続される。シャトル弁32の出口ポートは、パイロットラインを通じて、コントロールバルブ17内の対応する制御弁(具体的には、制御弁171~176のうちのシャトル弁32の一方の入口ポートに接続される上述のレバー装置或いはペダル装置の操作対象である油圧アクチュエータに対応する制御弁)のパイロットポートに接続される。例えば、ショベル100は、ブーム4(ブームシリンダ7)、アーム5(アームシリンダ8)、及びバケット6(バケットシリンダ9)を操作するレバー装置のそれぞれに対応するシャトル弁32を含む。この場合、これらのシャトル弁32の出口ポートは、それぞれ、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9に対応する制御弁175、制御弁176、及び制御弁174に接続される。そのため、これらのシャトル弁32は、それぞれ、操作装置26(レバー装置)が生成するパイロット圧と比例弁31が生成するパイロット圧のうちの高い方を、対応する制御弁(制御弁175、制御弁176、或いは、制御弁174)のパイロットポートに作用させることができる。つまり、後述するコントローラ30は、比例弁31から操作装置26(レバー装置)から出力される二次側のパイロット圧よりも高いパイロット圧を出力させることにより、オペレータによる操作装置26の操作に依らず、対応する制御弁を制御し、アタッチメント(ブーム4、アーム5、及び、バケット6の少なくとも一つ)の動作を制御することができる。
本実施形態に係るショベル100の制御系は、コントローラ30と、吐出圧センサ28と、操作圧センサ29を含む。また、コントローラ30は、後述するマシンガイダンス機能或いはマシンコントロール機能に関する構成として、比例弁31と、IMU40,42,44,46と、測位装置48、表示装置50、入力装置51、音声出力装置52を含む。
コントローラ30(制御装置の一例)は、ショベル100の駆動制御を行う。コントローラ30は、その機能が任意のハードウェア、ソフトウェア、或いは、その組み合わせにより実現されてよい。例えば、コントローラ30は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ROM(Read Only Memory)と、不揮発性の補助記憶装置と、各種入出力インターフェース等を含むマイクロコンピュータを中心に構成されうる。コントローラ30は、例えば、不揮発性の補助記憶装置等に格納される一以上のプログラムをCPU上で実行することにより実現される機能部として、旋回状態判定部301と、姿勢角測定部302と、マシンガイダンス部303を含む。
尚、コントローラ30の機能の一部は、他のコントローラ(制御装置)により実現されてもよい。即ち、コントローラ30の機能は、複数のコントローラにより分散される態様で実現されてもよい。
吐出圧センサ28は、メインポンプ14の吐出圧を検出する。吐出圧センサ28により検出された吐出圧に対応する検出信号は、コントローラ30に取り込まれる。
操作圧センサ29は、上述の如く、操作装置26の二次側のパイロット圧、即ち、操作装置26におけるそれぞれの動作要素(油圧アクチュエータ)の操作状態に対応するパイロット圧を検出する。操作圧センサ29による操作装置26における下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の操作状態に対応するパイロット圧の検出信号は、コントローラ30に取り込まれる。
比例弁31は、パイロットポンプ15とシャトル弁32とを接続するパイロットラインに設けられ、その流路面積(作動油が通流可能な断面積)を変更可能に構成されている。つまり、例えば、上述の如く、ブーム4(ブームシリンダ7)、アーム5、(アームシリンダ8)、及びバケット6(バケットシリンダ9)のそれぞれに対応するシャトル弁32が設けられる場合、シャトル弁32ごとに、対応する比例弁31が設けられる。比例弁31は、コントローラ30から入力される制御指令に応じて動作する。これにより、コントローラ30は、オペレータにより操作装置26(具体的には、上述のレバー装置)が操作されていない場合であっても、パイロットポンプ15が吐出する作動油を、比例弁31及びシャトル弁32を介して、コントロールバルブ17内のアタッチメント(ブーム4、アーム5、或いは、バケット6)の動作に対応する制御弁174~176のパイロットポートに供給できる。
IMU40,42,44,46は、それぞれ、上部旋回体3、ブーム4、アーム5、及び、バケット6に取り付けられ、慣性測定原理に基づき、上部旋回体3、ブーム4、アーム5、及び、バケット6の三次元の加速度及び角速度を検出する。IMU40,42,44,46は、それぞれ、自己に固定されたローカル直交座標系(以下、単に「ローカル座標系」と称する)の三軸方向(つまり、x軸方向、y軸方向、及び、z軸方向)の加速度を検出する加速度センサ40A,42A,44A,46Aを含む。また、IMU40,42,44,46は、それぞれ、ローカル座標系の三軸回りの角速度を検出する角速度センサ40B,42B,44B,46Bを含む。加速度センサ40A,42A,44A,46A及び角速度センサ40B,42B,44B,46Bは、例えば、シリコンや水晶を材料とするMEMS(Micro-Electro Mechanical Systems)素子を中心に構成される。IMU40,42,44,46は、それぞれ、加速度センサ40A,42A,44A,46Aにより検出される三軸方向の加速度と角速度センサ40B,42B,44B,46Bにより検出される三軸方向の角速度に対応する出力信号を出力する。このとき、IMU40,42,44,46は、それぞれ、加速度センサ40A,42A,44A,46A及び角速度センサ40B,42B,44B,46Bの出力信号をそのまま外部に出力してもよいし、これらの出力に対する軸間補正、温度補正、感度補正等の各種補正が加えられた信号を外部に出力してもよい。IMU40,42,44,46の出力信号は、コントローラ30に取り込まれる。
尚、IMU40,42,44,46には、本来の組み付け位置及び姿勢に対する各種の組み付け誤差が生じうるが、以下、当該組み付け誤差による出力信号への影響を排除するための既知のキャリブレーション(較正)が実施済みである前提で説明を続ける。
測位装置48は、上部旋回体3の位置及び向きを測定する。測位装置48は、例えば、GNSS(Global Navigation Satellite System)コンパスであり、上部旋回体3の位置及び向きを検出し、上部旋回体3の位置及び向きに対応する検出信号は、コントローラ30に取り込まれる。また、測位装置48の機能のうちの上部旋回体3の向きを検出する機能は、上部旋回体3に取り付けられた方位センサにより代替されてもよい。
表示装置50は、キャビン10内のオペレータから視認し易い位置に配置され、コントローラ30による制御下で、各種情報画像を表示する。表示装置50は、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイ等である。
入力装置51は、キャビン10内のオペレータから手が届く範囲内に配置され、コントローラ30に対するオペレータからの各種操作入力を受け付ける。入力装置51は、例えば、ボタンスイッチ、レバー、トグル、表示装置50に実装されるタッチパネル、表示装置と別体のタッチパッド等を含む。
音声出力装置52は、キャビン10内に設けられ、コントローラ30による制御下で、各種音声を出力する。音声出力装置52は、例えば、スピーカやブザー等である。
旋回状態判定部301は、上部旋回体3が旋回しているか否かを判定する。例えば、旋回状態判定部301は、操作装置26に含まれる上部旋回体3(旋回油圧モータ2A)を操作するレバー装置の操作状態に対応する操作圧センサ29の検出信号に基づき、上部旋回体3が旋回しているか否かを判定する。また、例えば、旋回状態判定部301は、IMU40から取り込まれる角速度センサ40Bの出力信号に基づき、上部旋回体3が旋回しているか否かを判定する。具体的には、旋回状態判定部301は、角速度センサ40Bから出力される、上部旋回体3の旋回軸3aに平行なz軸回りの角速度に対応する出力信号に基づき、上部旋回体3が旋回しているか否かを判定する。
姿勢角測定部302(姿勢測定部の一例)は、ショベル100の起動から停止までの運転中において、所定の処理周期ごとに、機体(上部旋回体3)の姿勢角を測定(算出)する。具体的には、姿勢角測定部302は、上部旋回体3の旋回軸3aに垂直な旋回平面(以下、単に「旋回平面」)上の二軸(例えば、上部旋回体3の前後軸及び左右軸に対応するIMU40のローカル座標系におけるy軸及びz軸)回りの姿勢角(つまり、傾斜角)を測定する。
例えば、姿勢角測定部302は、IMU40により検出された上部旋回体3の加速度及び角速度の検出値に基づき、既知の姿勢推定方法を用いて、上部旋回体3の傾斜角を測定する。具体的には、姿勢角測定部302は、IMU40により検出される上部旋回体3の加速度及び角速度の検出値のそれぞれから算出される上部旋回体3の姿勢角(観測値)に対して、カルマンフィルタ或いは相補フィルタ等による所定のフィルタ処理を適用することにより、上部旋回体3の姿勢角を測定(推定)してよい。
尚、上部旋回体3の姿勢角(理論値)は、上部旋回体3(IMU40)に作用する加速度のうちの重力加速度成分に基づき算出されうる。よって、姿勢角測定部302は、IMU40(加速度センサ40A)により検出される上部旋回体3の加速度の検出値に基づき、IMU40に作用する動加速度(例えば、上部旋回体3の旋回時の遠心加速度や下部走行体1の走行時の並進加速度)による誤差を含む形で、フィルタ処理に供する上部旋回体3の姿勢角(観測値)を算出することができる。また、上部旋回体3の姿勢角(理論値)は、IMU40により検出される上部旋回体3の角速度の検出値が積分演算されることにより算出されうる。よって、姿勢角測定部302は、IMU40(角速度センサ40B)により検出される上部旋回体3の角速度の検出値に基づき、積分演算によるドリフト誤差(バイアス誤差)を含む形で、フィルタ処理に供する上部旋回体3の姿勢角(観測値)を算出することができる。また、機体(上部旋回体3)の姿勢角(傾斜角)を演算する機能は、IMU40に内蔵されていてもよく、この場合、姿勢角測定部302による機体の姿勢角(傾斜角)を測定する機能は省略されうる。
また、姿勢角測定部302は、ショベル100の起動から停止までの運転中において、所定の処理周期ごとに、アタッチメントの姿勢(姿勢角)を測定する。具体的には、姿勢角測定部302は、上部旋回体3に対するブーム4の相対角度(以下、「ブーム角度」)θ1、ブーム4に対するアーム5の相対角度(以下、「アーム角度」)θ2、及び、アーム5に対するバケット6の相対角度(以下、「バケット角度」)θ3を測定(算出)する。より具体的には、姿勢角測定部302は、旋回状態判定部301による判定結果に応じて、アタッチメントの姿勢角(ブーム角度θ1、アーム角度θ2、及び、バケット角度θ3)の算出方法を異ならせる。
姿勢角測定部302は、旋回状態判定部301により上部旋回体3が旋回していないと判定された場合、IMU42により検出されたブーム4の加速度及び角速度の上部旋回体3に対する検出値に基づき、ブーム角度θ1を算出する。同様に、姿勢角測定部302は、旋回状態判定部301により上部旋回体3が旋回していないと判定された場合、IMU44により検出されたアーム5の加速度及び角速度のブーム4に対する検出値に基づき、アーム角度θ2を算出する。また、同様に、姿勢角測定部302は、旋回状態判定部301により上部旋回体3が旋回していないと判定された場合、IMU46により検出されたバケット6のアーム5に対する加速度及び角速度の検出値に基づき、バケット角度θ3を算出する。
一方、姿勢角測定部302は、旋回状態判定部301により上部旋回体3が旋回していると判定された場合、ブーム4(測定対象)に搭載されるセンサのうちの角速度センサ42Bの検出値に基づき、ブーム角度θ1を算出する。同様に、姿勢角測定部302は、旋回状態判定部301により上部旋回体3が旋回していると判定された場合、アーム5(測定対象)に搭載されるセンサのうちの角速度センサ44Bの検出値に基づき、アーム角度θ2を算出する。また、同様に、姿勢角測定部302は、旋回状態判定部301により上部旋回体3が旋回していると判定された場合、バケット6(測定対象)に搭載されるセンサのうちの角速度センサ46Bの検出値に基づき、バケット角度θ3を算出する。
姿勢角測定部302によるアタッチメントの姿勢(ブーム角度θ1、アーム角度θ2、及びバケット角度θ3)の測定方法等の詳細は、後述する(図3、図4参照)。
マシンガイダンス部303(制御部の一例)は、ショベル100による情報化施工に関する機能を実現する。
例えば、マシンガイダンス部303は、オペレータによるショベル100の手動操作をガイド(案内)するマシンガイダンス機能に関する制御を行う。具体的には、マシンガイダンス部303は、表示装置50や音声出力装置等を通じて、目標施工面とアタッチメントの作業部位(例えば、バケット6の爪先、バケット6の背面等)との距離等の作業情報をオペレータに通知する。目標施工面に関するデータは、例えば、コントローラ30の不揮発性の補助記憶装置等の内部メモリやコントローラ30に接続される外部記憶装置に予め格納される。目標施工面に関するデータは、例えば、基準座標系で表現されている。基準座標系は、例えば、世界測地系である。世界測地系は、地球の重心に原点をおき、X軸をグリニッジ子午線と赤道との交点の方向に、Y軸を東経90度の方向に、そしてZ軸を北極の方向にとる三次元直交XYZ座標系である。オペレータは、入力装置51に含まれる、ボタンスイッチ、レバー、トグル、タッチパネル、タッチパッド等を通じて、施工現場の任意の点を基準点と規定し、基準点との相対的な位置関係により目標施工面を設定してもよい。
より具体的には、マシンガイダンス部303は、測位装置48により逐次測定されるショベル100の位置及び向きと、姿勢角測定部302により逐次測定されるアタッチメントの姿勢とに基づき、アタッチメントの作業部位の基準座標系における座標点を算出する。例えば、マシンガイダンス部303は、測位装置48により測定されたショベル100の位置及び向きと、姿勢角測定部302により測定(算出)されたブーム角度θ1、アーム角度θ2、及びバケット角度θ3からバケット6の爪先の座標点を算出する。
続いて、マシンガイダンス部303は、バケット6の爪先と目標施工面との間の鉛直距離を算出する。
続いて、マシンガイダンス部303は、算出したバケット6の爪先と目標施工面との間の距離の大きさをショベルのオペレータに通知する。
マシンガイダンス部303は、視覚情報及び聴覚情報を用いて、バケット6の爪先と目標施工面との間の鉛直距離の大きさをショベルのオペレータに伝える。例えば、マシンガイダンス部303は、音声出力装置52から出力される断続音を用いて、バケット6の爪先と目標施工面との間の鉛直距離の大きさをオペレータに通知する。この場合、マシンガイダンス部303は、鉛直距離が小さくなるほど、断続音の間隔を短くしてよい。また、マシンガイダンス部303は、音声出力装置52から出力される連続音を用いてもよく、音の高低、強弱等を変化させて鉛直距離の大きさの違いを表すようにしてもよい。また、マシンガイダンス部303は、バケット6の爪先が目標施工面よりも低い位置になった場合、警報を発してもよい。当該警報は、例えば、断続音より顕著に大きい連続音である。
また、マシンガイダンス部303は、バケット6の爪先と目標施工面との間の鉛直距離の大きさを作業情報として表示装置50に表示させる。例えば、マシンガイダンス部303は、表示装置50に、バケット6の爪先と目標施工面との間の鉛直距離の大きさを示すアナログメータの画像、バーグラフインジケータの画像等を表示させる。
また、例えば、マシンガイダンス部303は、オペレータによるアタッチメントの操作を支援するマシンコントロール機能に関する制御を行う。具体的には、マシンガイダンス部303は、油圧アクチュエータを自動的に動作させることでオペレータによるショベルの手動操作を自動的に支援する。このとき、マシンガイダンス部303は、上述の如く、比例弁31を制御することにより、それぞれの油圧アクチュエータに対応する制御弁(制御弁171~176の何れか)に作用するパイロット圧を個別に且つ自動的に調整する。これにより、マシンガイダンス部303は、それぞれの油圧アクチュエータを自動的に動作させ、マシンコントロール機能を実現することができる。
より具体的には、マシンガイダンス部303は、オペレータが操作装置26(レバー装置)を通じて手動でアーム5の閉じ操作(以下、「アーム閉じ操作」)を行っている場合に、目標施工面とバケット6の爪先の位置とが一致するようにブームシリンダ7、アームシリンダ8及びバケットシリンダ9の少なくとも一つを自動的に伸縮させてよい。このとき、マシンガイダンス部303は、マシンガイダンス機能の場合と同様の方法で、作業部位としてのバケット6の爪先の位置(座標点)を逐次算出しながら、当該位置が目標施工面に一致するように、自動制御の対象の油圧アクチュエータに対応する比例弁31に制御指令を出力する。これにより、オペレータは、例えば、アーム閉じ操作を行うだけで、バケット6の爪先を目標施工面に一致させながら、アーム5を閉じることができる。当該自動制御は、入力装置51に含まれる所定のボタンスイッチ(以下、「MC(Machine Control)スイッチ」)が押下されたときに実行される態様であってよい。MCスイッチは、例えば、操作装置26(レバー装置)の先端に配置されてよい。
また、マシンガイダンス部303は、上部旋回体3を目標施工面に正対させるために旋回油圧モータ2Aを自動的に回転させてもよい。この場合、マシンガイダンス部303は、オペレータが入力装置51に含まれる所定のボタンスイッチを押下するだけで、上部旋回体3を目標施工面に正対させてよい。また、マシンガイダンス部303は、オペレータが入力装置51に含まれる所定のスイッチを押下するだけで、上部旋回体3を目標施工面に正対させ且つマシンコントロール機能を開始させてもよい。
[アタッチメントの姿勢の測定方法]
次に、図3、図4を参照して、コントローラ30(姿勢角測定部302)によるアタッチメントの姿勢の測定方法の詳細について説明する。
<上部旋回体の旋回停止時における測定方法>
姿勢角測定部302は、上述の如く、旋回状態判定部301により上部旋回体3が旋回していないと判定された場合、IMU42により検出されたブーム4の加速度及び角速度の検出値に基づき、ブーム角度θ1を算出する。
例えば、姿勢角測定部302は、IMU42により検出されたブーム4の加速度及び角速度の検出値に基づき、上部旋回体3の姿勢角の場合と同様、既知の姿勢推定方法を用いて、ブーム角度θ1を測定する。具体的には、姿勢角測定部302は、IMU42により検出されるブーム4の加速度及び角速度の上部旋回体3に対する検出値のそれぞれから算出されるブーム角度θ1(観測値)に対して、カルマンフィルタ或いは相補フィルタ等による所定のフィルタ処理を適用することにより、ブーム角度θ1を測定(推定)してよい。
尚、ブーム角度θ1(理論値)は、ブーム4(IMU42)に作用する加速度のうちの上部旋回体3に対する重力加速度成分に基づき算出されうる。よって、姿勢角測定部302は、IMU42(加速度センサ42A)により検出されるブーム4の加速度の上部旋回体3に対する検出値に基づき、IMU42に作用する動加速度(例えば、ブーム4の動作時の遠心加速度)による誤差を含む形で、フィルタ処理に供するブーム角度θ1(観測値)を算出することができる。また、ブーム角度θ1(理論値)は、IMU42により検出されるブーム4の角速度の上部旋回体3に対する検出値が積分演算されることにより算出されうる。よって、姿勢角測定部302は、IMU42(角速度センサ42B)により検出されるブーム4の角速度の上部旋回体3に対する検出値に基づき、積分演算によるドリフト誤差(バイアス誤差)を含む形で、フィルタ処理に供するブーム角度θ1(観測値)を算出することができる。
また、姿勢角測定部302は、ブーム4が動作している場合、当該動作に起因して加速度センサ42Aに作用する動加速度に相当する成分(以下、「動加速度成分」)を角速度センサ42Bにより検出されるブーム4の角速度の上部旋回体3に対する検出値から算出し、加速度センサ42Aにより検出されたブーム4の加速度の検出値から減算する補正を行ってもよい。これにより、姿勢角測定部302は、IMU42に作用する動加速度の影響が除外された、補正後の加速度に基づき、フィルタ処理に供するブーム角度θ1(観測値)を算出できるため、より精度良く、ブーム角度θ1を測定(推定)することができる。
同様に、姿勢角測定部302は、上述の如く、旋回状態判定部301により上部旋回体3が旋回していないと判定された場合、IMU44により検出されたアーム5の加速度及び角速度のブーム4に対する検出値に基づき、アーム角度θ2を算出する。
例えば、姿勢角測定部302は、ブーム角度θ1の場合と同様、IMU44により検出されたアーム5の加速度及び角速度のブーム4に対する検出値に基づき、既知の姿勢推定方法を用いて、アーム角度θ2を測定する。具体的には、姿勢角測定部302は、IMU44により検出されるアーム5の加速度及び角速度のブーム4に対する検出値のそれぞれから算出されるアーム角度θ2(観測値)に対して、カルマンフィルタ或いは相補フィルタ等による所定のフィルタ処理を適用することにより、アーム角度θ2を測定(推定)してよい。
尚、アーム角度θ2(理論値)は、アーム5(IMU44)に作用する加速度のうちのブーム4に対する重力加速度成分に基づき算出されうる。よって、姿勢角測定部302は、IMU44(加速度センサ44A)により検出されるアーム5の加速度のブーム4に対する検出値に基づき、IMU44に作用する動加速度(例えば、ブーム4及びアーム5の少なくとも一方の動作時の遠心加速度)による誤差を含む形で、フィルタ処理に供するアーム角度θ2(観測値)を算出することができる。また、アーム角度θ2(理論値)は、IMU44により検出されるアーム5の角速度のブーム4に対する検出値が積分演算されることにより算出されうる。よって、姿勢角測定部302は、IMU44(角速度センサ44B)により検出されるアーム5の角速度のブーム4に対する検出値に基づき、積分演算によるドリフト誤差(バイアス誤差)を含む形で、フィルタ処理に供するアーム角度θ2(観測値)を算出することができる。
また、姿勢角測定部302は、ブーム4及びアーム5の少なくとも一方が動作している場合、当該動作に起因して加速度センサ44Aに作用する動加速度成分を角速度センサ42B,44Bにより検出されるブーム4及びアーム5の角速度の検出値から算出し、加速度センサ44Aにより検出されたアーム5の加速度の検出値から減算する補正を行ってもよい。これにより、姿勢角測定部302は、IMU44に作用する動加速度の影響が除外された、補正後の加速度に基づき、フィルタ処理に供するアーム角度θ2(観測値)を算出できるため、より精度良く、アーム角度θ2を測定(推定)することができる。
また、同様に、姿勢角測定部302は、上述の如く、旋回状態判定部301により上部旋回体3が旋回していないと判定された場合、IMU46により検出されたバケット6の加速度及び角速度のアーム5に対する検出値に基づき、バケット角度θ3を算出する。
例えば、姿勢角測定部302は、ブーム角度θ1等の場合と同様、IMU46により検出されたバケット6の加速度及び角速度のアーム5に対する検出値に基づき、既知の姿勢推定方法を用いて、バケット角度θ3を測定する。具体的には、姿勢角測定部302は、IMU46により検出されるバケット6の加速度及び角速度のアーム5に対する検出値のそれぞれから算出されるバケット角度θ3(観測値)に対して、カルマンフィルタ或いは相補フィルタ等による所定のフィルタ処理を適用することにより、バケット角度θ3を測定(推定)してよい。
尚、バケット角度θ3(理論値)は、バケット6(IMU46)に作用する加速度のうちのアーム5に対する重力加速度成分に基づき算出されうる。よって、姿勢角測定部302は、IMU46(加速度センサ46A)により検出されるバケット6の加速度のアーム5に対する検出値に基づき、IMU46に作用する動加速度(例えば、ブーム4、アーム5、及びバケット6の少なくとも一つの動作時の遠心加速度)による誤差を含む形で、フィルタ処理に供するバケット角度θ3(観測値)を算出することができる。また、バケット角度θ3(理論値)は、IMU46により検出されるバケット6の角速度のアーム5に対する検出値が積分演算されることにより算出されうる。よって、姿勢角測定部302は、IMU46(角速度センサ46B)により検出されるバケット6の角速度のアーム5に対する検出値に基づき、積分演算によるドリフト誤差(バイアス誤差)を含む形で、フィルタ処理に供するバケット角度θ3(観測値)を算出することができる。
また、姿勢角測定部302は、ブーム4、アーム5、及びバケット6の少なくとも一つが動作している場合、当該動作に起因して加速度センサ46Aに作用する動加速度成分を角速度センサ42B,44B,46Bにより検出されるブーム4、アーム5、及びバケット6の角速度の検出値から算出し、加速度センサ46Aにより検出されたバケット6の加速度の検出値から減算する補正を行ってもよい。これにより、姿勢角測定部302は、IMU46に作用する動加速度の影響が除外された、補正後の加速度に基づき、フィルタ処理に供するバケット角度θ3(観測値)を算出できるため、より精度良く、バケット角度θ3を測定(推定)することができる。
<上部旋回体の旋回時における測定方法>
まず、図3を参照して、上部旋回体3の旋回時におけるブーム角度θ1の測定方法について説明する。
図3は、ブーム角度θ1と上部旋回体3及びブーム4のそれぞれに搭載されるIMU40,42により検出される角速度(角速度ωx0,ωy0,ωz0及び角速度ωx1,ωy1,ωz1)との関係を説明する図である。具体的には、図3(a)は、それぞれのローカル座標系に沿って、IMU40,42により検出される角速度ωx0,ωy0,ωz0及び角速度ωx1,ωy1,ωz1を示す図であり、図3(b)は、原点を一致させた場合のIMU40,42のそれぞれのローカル座標系CS0,CS1の関係を示す図である。
尚、本例では、ブーム角度θ1は、ブーム4の両端の支点間を結んだリンク直線が上部旋回体3の旋回平面に対して成す角度を示す。
図3(a)、(b)に示すように、IMU40のローカル座標系CS0は、x軸が上部旋回体3の上下方向(つまり、上部旋回体3の旋回軸3aに沿う方向)に対応し、y軸が上部旋回体3の前後方向に対応し、z軸が上部旋回体3の左右方向に対応している。
また、IMU42は、ローカル座標系CS1がIMU40のローカル座標系CS0をz軸回りにブーム角度θ1だけ回転させた状態に対応するように、ブーム4に取り付けられている。
ここで、上部旋回体3が旋回角速度ωsで旋回している場合、上部旋回体3のIMU40(角速度センサ40B)及びブーム4のIMU42(角速度センサ42B)は、同じ旋回角速度ωsを検出する。一方、上述の如く、IMU42のローカル座標系CS1のx軸及びy軸は、ブーム4の上部旋回体3に対する相対的な動作(俯仰動作)の影響により、IMU40のローカル座標系CS0のx軸及びy軸と相違する。具体的には、IMU42のローカル座標系CS1のx軸及びy軸は、上述の如く、IMU40のローカル座標系CS0のx軸及びy軸をブーム角度θ1だけ回転した状態に対応している。そのため、旋回角速度ωsは、IMU40のローカル座標系CS0では、x軸回りの角速度ωx0として検出され、IMU42のローカル座標系CS1では、x軸回りの角速度ωx1の成分及びy軸回りの角速度ωy1の成分に分けて検出される。よって、上部旋回体3に取り付られるIMU40(角速度センサ40B)により検出される、ローカル座標系CS0のx軸及びy軸回りの角速度ωx0,ωy0と、ブーム4に取り付けられるIMU42(角速度センサ42B)により検出される、ローカル座標系CS1のx軸及びy軸回りの角速度ωx1,ωy1との間には、以下の式(1)の関係が成立する。
尚、本例では、ブーム4を下げる方向を、ブーム角度θ1の回転方向と規定している。
式(1)の右辺は、IMU40により検出される角速度の検出値(角速度ωx0,ωy0)と、ブーム角度θ1を回転角とするz軸回りの回転行列との積、つまり、IMU40により検出される角速度の検出値をz軸回りでブーム角度θ1だけ回転させる回転変換を示している。換言すれば、式(1)は、IMU40の角速度の検出値をブーム角度θ1だけ回転させることにより、IMU42の角度の検出値に一致することを示している。
従って、姿勢角測定部302は、式(1)を用いて、ブーム角度θ1を算出(測定)することができる。つまり、姿勢角測定部302は、姿勢の測定対象であるブーム4に取り付けられるIMU42による角速度の検出値と、姿勢の基準となる上部旋回体3に取り付けられるIMU40による角速度の検出値に基づき、ブーム角度θ1を算出することができる。
尚、本例の場合、上述の如く、IMU40のローカル座標系CS0のx軸は、上述の如く、旋回軸3aと平行に設定される。そのため、本例では、IMU40(角速度センサ40B)により検出されるローカル座標系CS0のx軸回りの角速度ωx0は、旋回角速度ωsに等しく(ωx0=ωs)、ローカル座標系CS0のy軸回りの角速度ωy0は、ゼロである(ωy0=0)。よって、本例の場合、式(1)は、以下の式(2)に変形される。
よって、姿勢角測定部302は、式(2)から導出される以下の式(3)を用いて、ブーム角度θ1を算出することができる。
つまり、本例では、姿勢角測定部302は、ブーム4に取り付けられるIMU42の角速度の検出値だけに基づき、ブーム角度θ1を算出することができる。
上述の如く、IMU42により検出される加速度センサの検出値には、上部旋回体3の旋回動作に起因する動加速度(遠心加速度)に相当する成分が含まれてしまう。そのため、比較的高い精度を確保するには、動加速度成分を算出し、検出値から減算する等の動加速度の影響を低減させる追加の処理が必要になる。このとき、ブーム4は、上部旋回体3に対して俯仰動作を行うため、IMU42により検出される加速度、つまり、IMU42に作用する加速度の理論式において、動加速度成分に相当する項が多数に亘り、減算すべき動加速度成分の演算のための処理負荷が相対的に高くなってしまう可能性がある。
一方、本例では、姿勢角測定部302は、式(1)の関係から、ブーム角度θ1を算出できるため、上部旋回体3の旋回時において、測定精度を確保しつつ、ブーム4の姿勢(ブーム角度θ1)を容易に測定することができる。
また、姿勢角測定部302は、姿勢の測定対象であるブーム4に取り付けられるIMU42(角速度センサ42B)により検出されたブーム4の角速度(具体的には、z軸回りの角速度ωz1)の上部旋回体3に対する検出値を積分演算して得られるブーム角度θ1(以下、「第1のブーム角度(第1の姿勢情報の一例)」)を、式(1)を用いて算出されるブーム角度θ1(以下、「第2のブーム角度(第2の姿勢情報の一例)」)で補正することにより、ブーム角度θ1を測定(推定)してもよい。例えば、姿勢角測定部302は、第1のブーム角度及び第2のブーム角度(観測値)に対して、上述と同様に、カルマンフィルタや相補フィルタ等の所定のフィルタ処理を適用することにより、ブーム角度θ1を推定(測定)する。これにより、複数の姿勢情報に基づくフィルタ処理に応じて、誤差の低減が図られるため、ブーム角度θ1の測定精度を更に向上させることができる。
尚、本例(図3)では、IMU40,42のそれぞれのローカル座標系CS0,CS1の間のz軸回りの相対角度がブーム角度θ1になるように、IMU40,42が取り付けられる場合を示したが、IMU40,42のローカル座標系、即ち、IMU40,42のそれぞれの上部旋回体3及びブーム4に対する取付姿勢が予め分かっていれば、IMU40,42の取り付け方は任意であってよい。IMU40,42のそれぞれの上部旋回体3及びブーム4に対する取付姿勢が予め分かっていれば、上述の式(1)のように、ブーム角度θ1を含む形でIMU40,42の双方の角速度の検出値間の回転変換が導出されうるからである。以下、アーム角度θ2の測定に関するIMU42,44の取り付け方や、バケット角度θ3の測定に関するIMU44,46の取り付け方についても、同様である。
続いて、図4を参照して、上部旋回体3の旋回時におけるアーム角度θ2の測定方法について説明する。
図4は、アーム角度θ2とブーム4及びアーム5のそれぞれに搭載されるIMU42,44により検出される角速度(角速度ωx1,ωy1,ωz1及び角速度ωx2,ωy2,ωz2)との関係を説明する図である。具体的には、図4(a)は、それぞれのローカル座標系に沿って、IMU42,44により検出される角速度ωx1,ωy1,ωz1及び角速度ωx2,ωy2,ωz2を示す図であり、図4(b)は、原点を一致させた場合のIMU42,44のそれぞれのローカル座標系CS1,CS2の関係を示す図である。
図4(a)、(b)に示すように、IMU44は、ローカル座標系CS2がIMU42のローカル座標系CS1をz軸回りにアーム角度θ2だけ回転させた状態に対応するように、アーム5に取り付けられている。
ここで、上部旋回体3が旋回角速度ωsで旋回している場合、ブーム4のIMU42(角速度センサ42B)及びアーム5のIMU44(角速度センサ44B)は、同じ旋回角速度ωsを検出する。一方、上述の如く、IMU44のローカル座標系CS2のx軸及びy軸は、アーム5のブーム4に対する相対的な動作(上下回動動作)の影響により、IMU42のローカル座標系CS1のx軸及びy軸と相違する。具体的には、IMU44のローカル座標系CS1のx軸及びy軸は、上述の如く、IMU40のローカル座標系CS0のx軸及びy軸をアーム角度θ2だけ回転した状態に対応している。そのため、旋回角速度ωsは、IMU42,44のローカル座標系CS0,CS1において、x軸回りの角速度ωx1,ωx2及びy軸回りの角速度ωy1,ωy2として検出されるものの、各軸の検出値の間には、差が生じる。よって、ブーム4に取り付られるIMU42(角速度センサ42B)により検出される、ローカル座標系CS1のx軸及びy軸回りの角速度ωx1,ωy1と、アーム5に取り付けられるIMU44(角速度センサ44B)により検出される、ローカル座標系CS2のx軸及びy軸回りの角速度ωx2,ωy2の間には、以下の式(4)の関係が成立する。
尚、本例では、アーム5を閉じる方向を、アーム角度θ2の回転方向と規定している。
式(4)の右辺は、IMU42により検出される角速度の検出値(角速度ωx1,ωy1)と、アーム角度θ2を回転角とするz軸回りの回転行列との積、つまり、IMU42により検出される角速度の検出値をz軸回りでアーム角度θ2だけ回転させる回転変換を示している。換言すれば、式(4)は、IMU42の角速度の検出値をアーム角度θ2だけ回転させることにより、IMU44の角度の検出値に一致することを示している。
従って、姿勢角測定部302は、式(4)を用いて、アーム角度θ2を算出(測定)することができる。つまり、姿勢角測定部302は、姿勢の測定対象であるアーム5に取り付けられるIMU44による角速度の検出値と、姿勢の基準となるブーム4に取り付けられるIMU42による角速度の検出値に基づき、アーム角度θ2を算出することができる。
上述の如く、IMU44により検出される加速度センサの検出値には、上部旋回体3の旋回動作に起因する動加速度(遠心加速度)に相当する成分が含まれてしまう。そのため、比較的高い精度を確保するには、動加速度成分を算出し、検出値から減算する等の動加速度の影響を低減させる追加の処理が必要になる。このとき、ブーム4は、上部旋回体3に対して俯仰動作を行い、且つ、アーム5は、そのブーム4に対して更に開閉動作(回動動作)を行うため、IMU44により検出される加速度、つまり、IMU44に作用する加速度の理論式において、動加速度成分に相当する項が多数に亘り(具体的には、ブーム4の場合よりも更に増加し)、減算すべき動加速度成分の演算のための処理負荷が相対的に高くなってしまう可能性がある。
一方、本例では、姿勢角測定部302は、式(2)の関係から、アーム角度θ2を算出できるため、上部旋回体3の旋回時において、測定精度を確保しつつ、アーム5の姿勢(アーム角度θ2)を容易に測定することができる。
また、姿勢角測定部302は、ブーム角度θ1を測定する場合と同様、姿勢の測定対象であるアーム5に取り付けられるIMU44(角速度センサ44B)により検出されたアーム5の角速度(具体的には、z軸回りの角速度ωz2)のブーム4に対する検出値を積分演算して得られるアーム角度θ2(以下、「第1のアーム角度(第1の姿勢情報の一例)」)を、式(2)を用いて算出されるアーム角度θ2(以下、「第2のアーム角度(第2の姿勢情報の一例)」)で補正することにより、アーム角度θ2を測定(推定)してもよい。例えば、姿勢角測定部302は、第1のアーム角度及び第2のアーム角度(観測値)に対して、上述と同様に、カルマンフィルタや相補フィルタ等の所定のフィルタ処理を適用することにより、アーム角度θ2を推定(測定)する。これにより、複数の姿勢情報に基づくフィルタ処理に応じて、誤差の低減が図られるため、アーム角度θ2の測定精度を更に向上させることができる。
続いて、上部旋回体3の旋回時におけるバケット角度θ3の測定方法について説明する。
被測定対象及び測定対象としてのアーム5及びバケット6のそれぞれに搭載されるIMU44,46のそれぞれの検出値の間にも、上述した式(1)、(2)と同様の関係が成り立つ。
具体的には、IMU46のローカル座標系がIMU44のローカル座標系をz軸回りにバケット角度θ3だけ回転させた状態に対応するように、IMU46がバケット6に取り付けられることにより、式(1),(2)と同様の式が成立する。
従って、姿勢角測定部302は、上述の式を用いて、バケット角度θ3を算出(測定)することができる。
上述の如く、IMU46により検出される加速度センサの検出値には、上部旋回体3の旋回動作に起因する動加速度(遠心加速度)に相当する成分が含まれてしまう。そのため、比較的高い精度を確保するには、動加速度成分を算出し、検出値から減算する等の動加速度の影響を低減させる追加の処理が必要になる。このとき、ブーム4は、上部旋回体3に対して俯仰動作を行い、且つ、アーム5は、そのブーム4に対して更に開閉動作を行い、且つ、バケット6は、そのアーム5に対して更に開閉動作を行うため、IMU46により検出される加速度、つまり、IMU46に作用する加速度の理論式において、動加速度成分に相当する項が多数に亘り(具体的には、アーム5の場合よりも更に増加し)、減算すべき動加速度成分の演算のための処理負荷が相対的に高くなってしまう可能性がある。
一方、本例では、姿勢角測定部302は、上述の式の関係から、バケット角度θ3を算出できるため、上部旋回体3の旋回時において、測定精度を確保しつつ、バケット6の姿勢(バケット角度θ3)を容易に測定することができる。
また、姿勢角測定部302は、ブーム角度θ1等を測定する場合と同様、姿勢の測定対象であるバケット6に取り付けられるIMU46(角速度センサ46B)により検出されたバケット6の角速度(具体的には、z軸回りの角速度ωz0)のアーム5に対する検出値を積分演算して得られるバケット角度θ3(以下、「第1のバケット角度(第1の姿勢情報の一例)」)を、上述の式を用いて算出されるバケット角度θ3(以下、「第2のバケット角度(第2の姿勢情報の一例)」)で補正することにより、バケット角度θ3を測定(推定)してもよい。例えば、姿勢角測定部302は、第1のバケット角度及び第2のバケット角度(観測値)に対して、上述と同様に、カルマンフィルタや相補フィルタ等の所定のフィルタ処理を適用することにより、バケット角度θ3を推定(測定)する。これにより、複数の姿勢情報に基づくフィルタ処理に応じて、誤差の低減が図られるため、バケット角度θ3の測定精度を更に向上させることができる。
[本実施形態による作用]
次に、本実施形態に係るショベル100の作用について説明する。
本実施形態では、コントローラ30は、上部旋回体3が旋回している場合、測定対象のアタッチメント(例えば、ブーム4)に搭載されるセンサのうちの第1の角速度センサ(例えば、ブーム4に取り付けられるIMU42に内蔵される角速度センサ42B)の検出値に基づき、アタッチメントの姿勢を測定する。
具体的には、コントローラ30は、上部旋回体3が旋回している場合、複数のリンク(例えば、ブーム4、アーム5、及びバケット6)のうちの測定対象の一のリンク(例えば、ブーム4)に取り付けられる第1の角速度センサ(例えば、ブーム4のIMU42に内蔵される角速度センサ42B)、及び、上部旋回体3に取り付けられる第2の角速度センサ(例えば、上部旋回体3のIMU40に内蔵される角速度センサ40B)の検出値に基づき、上部旋回体3に対する一のリンクの姿勢(例えば、ブーム角度θ1)を測定する。
また、コントローラ30は、上部旋回体3が旋回している場合、複数のリンク(例えば、ブーム4、アーム5、及びバケット6)のうちの測定対象の一のリンク(例えば、アーム5)に取り付けられる第1の角速度センサ(例えば、アーム5のIMU44に内蔵される角速度センサ44B)、及び、複数のリンクのうちの他のリンク(例えば、ブーム4)に取り付けられる第2の角速度センサ(例えば、ブーム4のIMU42に内蔵される角速度センサ42B)の検出値に基づき、他のリンクに対する一のリンクの姿勢(例えば、アーム角度θ2)を測定する。
これにより、コントローラ30は、上部旋回体3の旋回時に、上部旋回体3の旋回動作に起因する動加速度の影響を受ける加速度センサの検出値を用いることなく、アタッチメントの姿勢を測定できる。そのため、コントローラ30は、アタッチメントの姿勢を測定する際に、相対的に高い測定精度を確保することができる。また、コントローラ30は、上述の如く、測定対象のアタッチメント(一のリンク)の第1の角速度センサ、及び、測定される姿勢の基準に相当する対象(上部旋回体3或いは他のリンク)の第2の角速度センサの双方によって、同じ旋回加速度が検出される点を利用して、容易に、測定対象のアタッチメントの姿勢を測定(算出)することができる。つまり、本実施形態に係るショベル100(コントローラ30)は、比較的高い測定精度を確保しつつ、アタッチメントの姿勢を容易に測定することができる。
尚、上述した例示(図3、図4)では、コントローラ30は、隣接している、つまり、直接的に連結されている、姿勢の測定対象のアタッチメントと測定される姿勢の基準に相当する対象(例えば、上部旋回体3とブーム4、ブーム4とアーム5、或いは、アーム5とバケット6)との間での相対的な姿勢の測定を行うが、当該態様には限定されない。つまり、コントローラ30は、隣接していない、つまり、間接的に連結されている、姿勢の測定対象のアタッチメントと測定される姿勢の基準に相当する対象との間での相対的な姿勢の測定を行ってもよい。具体的には、コントローラ30は、直接的に連結されていない上部旋回体3とアーム5或いはバケット6との間の姿勢(相対角度)や、ブーム4とバケット6との間の姿勢(相対角度)を測定してもよい。
また、本実施形態では、コントローラ30は、上部旋回体3が旋回している場合、第1の角速度センサ(例えば、ブーム4のIMU42に内蔵される角速度センサ42B)の検出値の積分演算により算出される一のリンク(例えば、ブーム4)の姿勢に対応する第1の姿勢情報を、第1の角速度センサ及び第2の角速度センサ(例えば、上部旋回体3のIMU40に内蔵される角速度センサ40B)の検出値に基づき算出される一のリンクの姿勢に対応する第2の姿勢情報を用いて補正することにより、一のリンクの姿勢の測定値を算出する。
これにより、コントローラ30は、上述の如く、複数の姿勢情報を利用して誤差の低減が図ることができるため、アーム角度θ2の測定精度を更に向上させることができる。
また、本実施形態では、コントローラ30は、測定したアタッチメントの姿勢(ブーム角度θ1、アーム角度θ2、及びバケット角度θ3)に基づき、アタッチメントによる情報化施工に関する制御(例えば、マシンガイダンス機能やマシンコントロール機能に関する制御)を行う。
これにより、コントローラ30は、上部旋回体3の旋回時において、相対的に高い精度のアタッチメントの姿勢情報を利用できるため、結果として、情報化施工における相対的に高い施工精度を実現できる。
尚、コントローラ30は、測定したアタッチメントの姿勢(ブーム角度θ1、アーム角度θ2、及びバケット角度θ3)を他の制御に利用してもよい。例えば、コントローラ30は、測定したアタッチメントの姿勢に基づき、アタッチメントの姿勢の安定化に関する制御を行ってもよい。アタッチメントの姿勢によっては、ショベル100の転倒等が発生しうるからである。アタッチメントの姿勢の安定化に関する制御には、例えば、アタッチメントの姿勢から判断される安定度が所定基準を下回ると、当該安定度が高くなる方向にアタッチメントの動作を補正したり、これ以上安定度が低下しないように、アタッチメントの動作を停止させたりする制御が含まれうる。また、アタッチメントの姿勢の安定化に関する制御には、例えば、アタッチメントの姿勢から判断される安定度が所定基準を下回ると、オペレータに向けて当該状況を通知する(警報を出力する)制御が含まれうる。
以上、本発明を実施するための形態について詳述したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した実施形態では、ショベル100は、アタッチメントの姿勢を測定するための慣性センサとして、IMU40,42,44,46を搭載するが、当該態様には限定されない。具体的には、ショベル100は、IMU40,42,44,46に代えて、単体の加速度センサ及び角速度センサ(ジャイロセンサ)を、上部旋回体3、ブーム4、アーム5、及びバケット6のそれぞれに取り付けてもよい。また、ショベル100は、IMU40,42,44,46に代えて、三次元の加速度センサ及び角速度センサが単純にユニット化された、いわゆる、6軸センサを、上部旋回体3、ブーム4、アーム5、及びバケット6のそれぞれに取り付けてもよい。
また、上述した実施形態及び変形例では、ショベル100は、下部走行体1、上部旋回体3、ブーム4、アーム5、及びバケット6等の各種動作要素を全て油圧駆動する構成であったが、その一部が電気駆動される構成であってもよい。つまり、上述した実施形態で開示される構成等は、ハイブリッドショベルや電動ショベル等に適用されてもよい。