(58)【調査した分野】(Int.Cl.,DB名)
前記切替部は、前記第2姿勢角を前記第1姿勢角に切り替えた後は、切り替え時での前記第2姿勢角の誤差に0よりも大きく1よりも小さい係数を乗じた値を補正値として用いて、前記第1姿勢角を補正する、請求項4に記載の作業機械の姿勢演算装置。
【発明を実施するための形態】
【0015】
本発明を実施するための形態(実施形態)につき、図面を参照しつつ詳細に説明する。
【0016】
<作業機械の全体構成>
図1は、本実施形態に係る作業機械の斜視図である。
図2は、本実施形態に係る作業機械の制御系を示す図である。作業機械としての油圧ショベル100は、車両本体1と作業機2とを有する。車両本体1は、旋回体としての上部旋回体3と走行体としての走行装置5とを有する。上部旋回体3は、機関室3EGの内部に、
図2に示す動力発生装置としてのエンジン36及び油圧ポンプ37等の装置を収容している。機関室3EGは、上部旋回体3の後端側に配置されている。本実施形態を説明するにあたり、定義する方向については後述する。
【0017】
本実施形態において、油圧ショベル100は、動力発生装置としてのエンジン36に、例えばディーゼルエンジン等の内燃機関が用いられるが、動力発生装置はこのようなものに限定されない。油圧ショベル100の動力発生装置は、例えば、内燃機関と発電電動機と蓄電装置とを組み合わせた、いわゆるハイブリッド方式の装置であってもよい。
【0018】
上部旋回体3は、運転室4を有する。運転室4は、上部旋回体3の前端側に設置されている。すなわち、運転室4は、機関室3EGが配置されている側とは反対側に設置されている。運転室4内には、
図2に示す、第1表示装置28及び操作装置30が配置される。これらについては後述する。上部旋回体3の上方には、手すり19及びアンテナ20、21が取り付けられている。アンテナ20、21についての詳細は後述する。
【0019】
走行装置5は、履帯5a、5bを有している。走行装置5は、左右に設けられた油圧モータ5cの一方又は両方が駆動し、履帯5a、5bが回転することにより、油圧ショベル100を前後に走行又は旋回させる。作業機2は、上部旋回体3の運転室4の側方側に取り付けられている。
【0020】
油圧ショベル100は、履帯5a、5bの代わりにタイヤを備え、
図2に示すエンジン36の駆動力を、トランスミッションを介してタイヤへ伝達して走行が可能な走行装置を備えたものであってもよい。このような形態の油圧ショベル100としては、例えば、ホイール式油圧ショベルがある。また、油圧ショベル100は、このようなタイヤを有した走行装置を備え、さらに車両本体に作業機が取り付けられ、
図1に示すような上部旋回体3及びその旋回機構を備えていない構造を有する、例えばバックホウローダであってもよい。すなわち、バックホウローダは、車両本体に作業機が取り付けられ、車両本体の一部を構成する走行装置を備えたものである。
【0021】
上部旋回体3は、作業機2及び運転室4が配置されている側が前であり、機関室3EGが配置されている側が後である。前に向かって左側が上部旋回体3の左であり、前に向かって右側が上部旋回体3の右である。また、油圧ショベル100又は車両本体1は、上部旋回体3を基準として走行装置5側が下であり、走行装置5を基準として上部旋回体3側が上である。油圧ショベル100が水平面に設置されている場合、下は鉛直方向、すなわち重力の作用方向側であり、上は鉛直方向とは反対側である。
【0022】
作業機2は、ブーム6とアーム7とバケット8とブームシリンダ10とアームシリンダ11とバケットシリンダ12とを有する。ブーム6の基端部は、ブームピン13を介して上部旋回体3の前部に揺動可能に取り付けられている。アーム7の基端部は、アームピン14を介してブーム6の先端部に揺動可能に取り付けられている。アーム7の先端部には、バケットピン15を介してバケット8が取り付けられている。バケット8は、バケットピン15を中心として揺動する。バケット8は、バケットピン15とは反対側に複数の刃8Bが取り付けられている。刃先8Tは、刃8Bの先端である。
【0023】
バケット8は、複数の刃8Bを有していなくてもよい。つまり、
図1に示すような刃8Bを有しておらず、刃先が鋼板によってストレート形状に形成されたようなバケットであってもよい。作業機2は、例えば、単数の刃を有するチルトバケットを備えていてもよい。チルトバケットとは、バケットチルトシリンダを備え、バケットが左右にチルト傾斜することで油圧ショベルが傾斜地にあっても、斜面、平地を自由な形に成形、整地をすることができ、底板プレートによる転圧作業もできるバケットである。この他にも、作業機2は、バケット8の代わりに、法面バケット又は削岩用のチップを備えた削岩用のアタッチメント等を備えていてもよい。
【0024】
図1に示すブームシリンダ10とアームシリンダ11とバケットシリンダ12とは、それぞれ作動油の圧力(以下、適宜油圧という)によって駆動される油圧シリンダである。ブームシリンダ10はブーム6を駆動して、これを昇降させる。アームシリンダ11は、アーム7を駆動して、アームピン14の周りを回動させる。バケットシリンダ12は、バケット8を駆動して、バケットピン15の周りを回動させる。
【0025】
ブームシリンダ10、アームシリンダ11及びバケットシリンダ12等の油圧シリンダと
図2に示す油圧ポンプ37との間には、
図2に示す油圧制御弁38が設けられている。油圧制御弁38は、油圧モータ5cを駆動するための走行用制御弁と、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12並びに上部旋回体3を旋回させる旋回モータを制御するための作業機用制御弁とを含む。
図2に示す作業機制御装置25が、油圧制御弁38を制御することにより、ブームシリンダ10、アームシリンダ11、バケットシリンダ12、旋回モータ又は油圧モータ5cに供給される作動油の流量が制御される。その結果、ブームシリンダ10、アームシリンダ11及びバケットシリンダ12等の動作が制御される。
【0026】
上部旋回体3の上部には、アンテナ20、21が取り付けられている。アンテナ20、21は、油圧ショベル100の現在位置を検出するために用いられる。アンテナ20、21は、
図2に示す、油圧ショベル100の現在位置を検出するための位置検出装置23と電気的に接続されている。位置検出装置23は、RTK−GNSS(Real Time Kinematic - Global Navigation Satellite SYstems、GNSSは全地球航法衛星システムをいう)を利用して油圧ショベル100の現在位置を検出する。以下の説明において、アンテナ20、21を、適宜GNSSアンテナ20、21という。
【0027】
GNSSアンテナ20、21が受信したGNSS電波に応じた信号は、位置検出装置23に入力される。位置検出装置23は、GNSSアンテナ20、21の設置位置を検出する。
【0028】
GNSSアンテナ20、21は、
図1に示すように、上部旋回体3の上であって、油圧ショベル100の左右方向に離れた両端位置に設置されることが好ましい。GNSSアンテナ20、21は、上部旋回体3の上であって、
図1に示すように、手すり19に取り付けられていてもよい。また、GNSSアンテナ20、21は、上部旋回体3の後端に設けられたカウンタウエイト3CWの上部又は運転室4の後方であって機械室3EGの上に設置されてもよい。いずれにしても、GNSSアンテナ20、21は、互いに可能な限り離れた位置に設置される方が、油圧ショベル100の現在位置の検出精度は向上する。また、GNSSアンテナ20、21は、オペレータの視界を極力妨げない位置に設置されることが好ましい。
【0029】
(油圧ショベルの制御系)
図2を用いて、油圧ショベル100の制御系について説明する。油圧ショベル100は、制御系として、作業機械の姿勢演算装置としてのセンサ制御装置24と、作業機制御装置25と、エンジン制御装置26と、ポンプ制御装置27と、第1表示装置28と、角速度及び加速度を検出する慣性計測装置としてのIMU29と、第2表示装置39とを含む。これらは、上部旋回体3に設置される。例えば、IMU29は運転室4の下部に設置されている。第1表示装置28及び第2表示装置39は、運転室4の内部の運転席近傍に設置される。
【0030】
センサ制御装置24と、作業機制御装置25と、エンジン制御装置26と、ポンプ制御装置27と、第1表示装置28と、位置検出装置23とは、油圧ショベル100内に設置された車内信号線41と電気的に接続されている。センサ制御装置24と、作業機制御装置25と、エンジン制御装置26と、ポンプ制御装置27と、第1表示装置28と、位置検出装置23とは、車内信号線41を介して互いに通信できる。センサ制御装置24とIMU29と第2表示装置39とは、車内信号線41とは異なる車内信号線42と電気的に接続されている。センサ制御装置24とIMU29と第2表示装置39は、車内信号線42を介して互いに通信できる。IMU29は、車内信号線42ではなく、車内信号線41と電気的に接続されていてもよい。
【0031】
センサ制御装置24は、
図1に示すブームシリンダ10、アームシリンダ11及びバケットシリンダ12のストロークを検出するセンサ、ブーム6の角度及びアーム7の角度を検出するセンサ並びに上部旋回体3の旋回角度を検出するセンサ等といった各種のセンサ類35が電気的に接続される。ブーム6の角度、アーム7の角度及び旋回角度を検出するセンサは、必ずしも必要ではない。センサ制御装置24は、各種のセンサ類35が検出した信号に、フィルタ処理又はA/D(Analog/Digital)変換等の各種の信号処理を施した後、車内信号線41に出力する。
【0032】
ブームシリンダ10、アームシリンダ11及びバケットシリンダ12のストロークを検出するセンサとして、各油圧シリンダの伸縮量を検知する近接センサやロータリエンコーダなどを用いることができる。また、ブーム6の基端部及びアーム7の基端部に、図示しないエンコーダを備え、そのエンコーダによって各油圧シリンダの伸縮量を検知する近接センサ又はロータリエンコーダの検出値をリセットすることができるようにしてもよい。
【0033】
センサ制御装置24は、車内信号線42から、IMU29が検出した信号、具体的には加速度及び角速度を取得する。センサ制御装置24は、IMU29から取得した加速度及び角速度を用いて作業機械の姿勢角を求め、求めた姿勢角に本実施形態に係るフィルタ処理を施してノイズを除去してから、車内信号線41に出力する。姿勢角は、油圧ショベル100の傾きに関する情報である。姿勢角の精度は、第2表示装置39による刃先8Tの位置情報の表示精度及び油圧ショベル100の作業機制御の精度に影響を与える。本実施形態に係るフィルタ処理を実行することで、姿勢角の精度を確保する。本実施形態に係るフィルタ処理については後述する。
【0034】
作業機制御装置25は、操作装置30からの入力に基づき、
図1に示す作業機2の動作、上部旋回体3の動作及び走行装置5の動作を制御する。操作装置30は、操作部としての作業機操作部材31L、31R及び走行操作部材33L、33Rと、作業機操作検出部32L、32R及び走行操作検出部34L、34Rとを有する。本実施形態において、作業機操作部材31L、31R及び走行操作部材33L、33Rは、パイロット圧方式のレバーであるが、これに限定されない。作業機操作部材31L、31R及び走行操作部材33L、33Rは、例えば、ポテンショメータを用いて各操作部材(レバー)の操作量を検出可能な電気方式のレバーであってもよい。
【0035】
作業機操作部材31L、31Rは、運転席の左右に設置され、油圧ショベル100のオペレータが作業機2を操作するための部材であり、例えば、ジョイスティックのような握り部分と棒材とを備えた操作レバーである。このような構造の作業機操作部材31L、31Rは、握り部を握って前後左右に傾倒させることが可能である。例えば左に設置された作業機操作部材31Lを操作することで、アーム7及び上部旋回体3を動作させることができ、右に設置された作業機操作部材31Rを操作することで、バケット8及びブーム6を動作させることができる。
【0036】
作業機操作検出部32L、32Rは、作業機操作部材31L、31Rに対する入力、すなわち操作内容に応じてパイロット圧を発生させ、油圧制御弁38が備える作業用制御弁に、発生した作動油のパイロット圧を供給する。このパイロット圧の大きさに応じて、作業用制御弁が動作して、
図1に示すブームシリンダ10、アームシリンダ11及びバケットシリンダ12等に、油圧ポンプ37から作動油が供給される。作業機操作部材31L、31Rが電気方式のレバーである場合、作業機操作検出部32L、32Rは、作業機操作部材31L、31Rに対する入力、すなわち操作内容を、例えばポテンショメータ等を用いて検出し、入力を電気信号(検出信号)に変換して作業機制御装置25へ送る。作業機制御装置25は、この検出信号に基づいて、作業用制御弁を制御する。
【0037】
走行操作部材33L、33Rは、運転席の前方に設置され、オペレータが油圧ショベル100の走行装置5を走行又は旋回させる際に操作するための部材である。走行操作部材33L、33Rは、例えば、握り部と棒材とを備えた操作レバー(以下、適宜走行レバーと称呼する)である。このような走行操作部材33L、33Rは、オペレータが握り部を握って前後に傾倒させることが可能である。走行操作部材33L、33Rは、2つの操作レバーが同時に前に傾倒されれば油圧ショベル100が前進し、後ろに傾倒されれば油圧ショベル100は後進する。
【0038】
走行操作部材33L、33Rは、オペレータが足で踏むことで操作が可能な図示しないペダルでもよく、例えばシーソー式のペダルである。ペダルの前側又は後側のいずれかを踏むことで前述した操作レバーと同様にパイロット圧が発生し、走行用制御弁が制御され、油圧モータ5cが駆動し油圧ショベル100を前進又は後進させることができる。2つのペダルを同時に、かつ前側を踏めば油圧ショベル100は前進し、後側を踏めば油圧ショベル100は後進する。片方のペダルの前側又は後側を踏めば、履帯5a、5bの片側のみが回転し、油圧ショベル100の走行装置5を旋回させることができる。
【0039】
このように、オペレータは、油圧ショベル100を走行させたい場合、手で操作レバーを前後に傾倒させるか又は足でペダルの前側又は後側を踏むかのうちいずれか一方を実行すれば、走行装置5の油圧モータ5cを駆動させることができる。
図2に示すように、走行操作部材33L、33R及び走行操作検出部34L、34Rは、2組存在する。左側の走行操作部材33Lを操作することで、左側の油圧モータ5cを駆動させて左側の履帯5bを動作させることができる。右側の走行操作部材33Rを操作することで、右側の油圧モータ5cを駆動させて右側の履帯5aを動作させることができる。
【0040】
走行操作検出部34L、34Rは、走行操作部材33L、33Rに対する入力、すなわち操作内容に応じてパイロット圧を発生させ、油圧制御弁38が備える走行用制御弁に、発生したパイロット圧を供給する。このパイロット圧の大きさに応じて、走行用制御弁が動作して、走行用の油圧モータ5cに作動油が供給される。走行操作部材33L、33Rが電気方式のレバーである場合、走行操作検出部34L、34Rは、走行操作部材33L、33Rに対する入力、すなわち操作内容を、例えばポテンショメータ等を用いて検出し、入力を電気信号(検出信号)に変換して作業機制御装置25へ送る。作業機制御装置25は、この検出信号に基づいて、走行用制御弁を制御する。
【0041】
エンジン制御装置26は、エンジン36へ供給する燃料の量を調整することにより、エンジン36の出力を制御する。エンジン36は、出力シャフトに機械的に連結された油圧ポンプ37を駆動する。エンジン36に連結された油圧ポンプ37は、油圧ショベル100が備えるブームシリンダ10、アームシリンダ11及びバケットシリンダ12等の油圧機器に作動油を供給する。エンジン制御装置26には回転速度検出センサ36R及び燃料調整ダイヤル26Dが電気的に接続されている。エンジン制御装置26は、回転速度検出センサ36Rが検出したエンジン36のクランクシャフトの回転速度及び燃料調整ダイヤル26Dの設定等に基づいて、エンジン36に供給する燃料の量を制御する。このようにして、エンジン制御装置26は、エンジン36の出力を制御する。
【0042】
ポンプ制御装置27は、油圧ショベル100が備える油圧ポンプ37を制御する。油圧ポンプ37は、例えば、斜板の傾転角を変更することにより作動油の吐出量等を変更する斜板式の油圧ポンプである。ポンプ制御装置27は、例えば、車内信号線41を介して作業機制御装置25から、油圧制御弁38の油圧センサ38Cが検出したパイロット圧を取得する。ポンプ制御装置27は、取得したパイロット圧に基づいて油圧ポンプ37の斜板の傾転角を制御することにより、油圧ポンプ37から吐出される作動油の流量を制御する。油圧ポンプ37から吐出された作動油は、油圧制御弁38が備える作業用制御弁又は走行用制御弁を介して、ブームシリンダ10、アームシリンダ11、バケットシリンダ12及び油圧モータ5c及び上部旋回体3を旋回させるための旋回モータの少なくとも1つに供給され、これらの少なくとも1つを駆動する。
【0043】
第1表示装置28は、画像を表示する装置である。第1表示装置28は、表示部28Mと、制御部28Cとを含む。第1表示装置28は、
図1に示す、油圧ショベル100の運転室4内であって、運転席近傍に設置される。本実施形態において、第1表示装置28は、例えば、油圧ショベル100の稼働情報を表示部28Mに表示する。稼働情報は、例えば、油圧ショベル100の累積稼働時間、燃料の残量又はエンジン36の冷却水温度等である。油圧ショベル100が周辺監視用又はバックモニタ用のカメラ等を備える場合、第1表示装置28は、このカメラが撮像した画像を表示してもよい。
【0044】
本実施形態において、第1表示装置28は、各種の画像を表示部28Mに表示する他に、入力装置としても機能する。このために、第1表示装置28は、表示部28Mの下方に、入力装置28Iを備える。本実施形態において、入力装置28Iは、複数の押しボタン式のスイッチが表示部28Mの横方向に対して平行に配列されている。入力装置28Iが操作されることにより、表示部28Mに表示される画像を切り替えたり、油圧ショベル100の動作に関する各種の設定を実行したりすることができる。なお、入力装置28Iを表示部28Mに組み込んだタッチパネルによって第1表示装置28を構成するようにしてもよい。また、入力装置28Iは、第1表示装置28とは別体として、運転席近傍のコンソールに設置するようにしてもよい。
【0045】
第2表示装置39は、画像を表示する装置である。第2表示装置39は、表示部39Mと、制御部39Cとを含む。第2表示装置39は、
図1に示す、油圧ショベル100の運転室4内の運転席近傍に設置される。本実施形態において、第2表示装置39は、例えば、油圧ショベル100が備えるバケット8の刃先8Tの、施工現場の地形に対する位置情報を、画像として表示部28Mに表示する。このとき、第2表示装置39は、刃先8Tが掘削しようとしている施工現場の地形に関する情報を、刃先8Tの位置情報とともに表示してもよい。
【0046】
本実施形態において、第2表示装置39の表示部39Mは、例えば、液晶表示装置であるが、これに限定されるものではない。制御部39Cは、表示部39Mの動作を制御したり、刃先8Tの位置情報を求めたりする。また、制御部39Cは、刃先8Tの位置と施工現場の地形との相対位置関係を示すガイダンス画像を表示部39Mに表示させたりする。このために、制御部39Cは、施工現場の地形についてのグローバル座標位置情報を記憶している。
【0047】
本実施形態において、第2表示装置39は、表示部39Mの下方に入力装置39Iを備える。本実施形態において、入力装置39Iは、複数の押しボタン式のスイッチが表示部39Mの横方向に対して平行に配列されている。入力装置39Iが操作されることにより、表示部39Mに表示されるガイダンス画像を切り替えたり、ガイダンスの内容を変更したりすることができる。本実施形態において、第2表示装置39の機能は、第1表示装置28が実現してもよい。入力装置39Iを表示部39Mに組み込んだタッチパネルによって第2表示装置39を構成するようにしてもよい。また、第1表示装置28と第2表示装置39とを一つの筐体に収めた表示装置としたものを用いてもよい。
【0048】
IMU29は、油圧ショベル100の角速度及び加速度を検出する。油圧ショベル100の動作にともない、走行時に発生する加速度、旋回時に発生する角加速度及び重力加速度といった様々な加速度が生じるが、IMU29は少なくとも重力加速度を含む加速度を検出し、各加速度の種類を区別することなく検出した加速度を出力する。IMU29は、詳細については後述するが、より高い精度で加速度を検出するために、例えば、油圧ショベル100の上部旋回体3の旋回中心軸上に設けられることが望ましいが、前述のようにIMU29は運転室4の下部に設置されてもよい。
【0049】
IMU29は、
図1に示す座標系(X、Y、Z)において、X軸方向、Y軸方向及びZ軸方向の加速度並びにX軸、Y軸及びZ軸周りの角速度(回転角速度)を検出する。
図1に示す例において、X軸は油圧ショベル100の前後方向と平行な軸であり、Y軸は油圧ショベル100の幅方向と平行な軸であり、Z軸はX軸及びY軸の両方に直交する軸である。座標系(X、Y、Z)は、例えば車体座標系とすることができる。
【0050】
図3は、IMU29の一例を示すブロック図である。IMU29は、ジャイロ29Vと、加速度センサ29Aと、AD変換部29ADと、物理量変換部29PTとを含む。ジャイロ29Vは、油圧ショベル100の角速度を検出する。加速度センサ29Aは、油圧ショベルの加速度を検出する。ジャイロ29Vによって検出された角速度及び加速度センサ29Aによって検出された加速度はいずれもアナログ量である。AD変換部29ADは、これらのアナログ量をディジタル量に変換する。物理量変換部29PTは、AD変換部29ADの出力を、物理量に変換する。具体的には、物理量変換部29PTは、ジャイロ29Vの検出値に対応するAD変換部29ADの出力を角速度ωに変換し、加速度センサ29Aの検出値に対応するAD変換部29ADの出力を加速度Acに変換する。物理量変換部29PTは、角速度ω及び加速度Acを車内信号線42に出力する。
【0051】
油圧ショベル100の傾きは、ピッチ角、ロール角及びヨー角で表すことができる。ピッチ角は、Y軸周りに油圧ショベル100が傾斜したときの角度であり、ロール角はX軸周りに油圧ショベル100が傾斜したときの角度であり、ヨー角は、Z軸周りに油圧ショベル100が傾斜したときの角度である。本実施形態において、ピッチ角及びロール角を、油圧ショベル100の姿勢角という。本実施形態において、センサ制御装置24は、IMU29が検出した、油圧ショベル100の角速度及び加速度を、車内信号線42を介して取得する。センサ制御装置24は、取得した油圧ショベル100の角速度及び加速度から、姿勢角を求める。以下において、姿勢角は、適宜符号θを用いて表す。
【0052】
図4は、センサ制御装置24を示すブロック図である。センサ制御装置24は、姿勢角演算部としての第1姿勢角演算部51と、同じく姿勢角演算部としての第2姿勢角演算部52と、第1相補フィルタ53と、第2相補フィルタ54と、切替部55とを含む。第1姿勢角演算部51及び第2姿勢角演算部52は、油圧ショベル100の角速度ω及び加速度Acから油圧ショベル100の姿勢角θを求める。本実施形態において、第1姿勢角演算部51は、IMU29が検出した油圧ショベル100の加速度Acから姿勢角θを求める。より具体的には、第1姿勢角演算部51は、重力加速度の方向から姿勢角θを求める。第2姿勢角演算部52は、IMU29が検出した油圧ショベル100の角速度ωから姿勢角θを求める。より具体的には、第2姿勢角演算部52は、角速度ωを積分して姿勢角θを求める。
【0053】
第1相補フィルタ53は、第1の遮断周波数が設定され、第1姿勢角演算部51及び第2姿勢角演算部52によって求められた姿勢角θに含まれる雑音を低減して、第1姿勢角θ1を出力する。第2相補フィルタ54は、第1の遮断周波数とは異なる第2の遮断周波数が設定され、第1姿勢角演算部51及び第2姿勢角演算部52によって求められた姿勢角θに含まれる雑音を低減して第2姿勢角θ2を出力する。第1相補フィルタ53と第2相補フィルタ54は、遮断周波数(カットオフ周波数)のみが異なる。
【0054】
第1相補フィルタ53は、フィルタ部53Fと、加算部53ADとを有する。フィルタ部53Fは、第1LPF(Low Pass Filter)aと第1HPF(High Pass Filter)aとを有する。加算部53ADは、第1LPFaの出力と第1HPFaの出力とを加算して出力する。加算部53ADの出力は、第1相補フィルタ53の出力である。第1相補フィルタ53の出力を、適宜第1姿勢角θ1と称する。
【0055】
第2相補フィルタ54は、フィルタ部54Fと、加算部54ADとを有する。フィルタ部54Fは、第2LPF(Low Pass Filter)bと第2HPF(High Pass Filter)bとを有する。加算部54ADは、第2LPFbの出力と第2HPFbの出力とを加算して出力する。加算部54ADの出力は、第2相補フィルタ54の出力である。第2相補フィルタ54の出力を、第2姿勢角θ2と称する。
【0056】
切替部55は、処理部55Cと、切替器55Sとを有する。切替部55は、油圧ショベル100の動作状態に応じて、第1姿勢角θ1又は第2姿勢角θ2を切り替えて出力する。次に、この出力について説明する。切替部55の処理部55Cは、油圧ショベル100の状態、例えば、油圧ショベル100が動いているか静止しているかに応じて、第1姿勢角θ1又は第2姿勢角θ2のいずれを出力するかを判定する。処理部55Cの判定結果は、判定結果出力線55aを介して切替器55Sに出力され、切替器55Sは、処理部55Cの判定結果に応じて、第1姿勢角θ1又は第2姿勢角θ2のいずれか一方を、センサ制御装置24によって求められた、油圧ショベル100の姿勢角θoとして、姿勢角出力線55bを介して車内信号線41に出力する。
【0057】
図5は、相補フィルタの特性を示す図である。
図5の縦軸はゲインGN、横軸は周波数fである。
図5の曲線(LPFとHPF)は、相補フィルタの周波数特性を示す。相補フィルタは、LPF(Low Pass Filter)と、HPF(High Pass Filter)とを備えており、
図5から分かるように、LPFのゲインGNとHPFのゲインGNとの和が1となるフィルタである。例えば、相補フィルタに姿勢角θを入力すると、LPFの出力LPF(θ)とHPFの出力HPF(θ)との和は1となる。すなわち、LPF(θ)+HPF(θ)=θとなる。LPFのゲインGNとHPFのゲインGNとがいずれも0.5になるときの周波数を、遮断周波数fcという。センサ制御装置24が有する第1相補フィルタ53及び第2相補フィルタ54は、前述したように、遮断周波数fcのみが異なる。
【0058】
図4に示す第1姿勢角演算部51が重力加速度の方向から求めた姿勢角θは、真の姿勢角θtrと、誤差θanとの和で求められる。誤差θanは、例えば、衝撃加速度等のような重力加速度以外の加速度によって生じる。誤差θanは、高周波成分が主体の雑音である。
図4に示す第2姿勢角演算部52が角速度ωを積分して求めた姿勢角θは、真の姿勢角θtrと、誤差θwnとの和で求められる。誤差θwnは、積分によって累積するドリフトによって生じる。誤差θwnは、低周波成分が主体の雑音である。
【0059】
このように、第1姿勢角演算部51が重力加速度の方向から求めた姿勢角θは、高周波成分が主体の誤差θanを含むため、第1相補フィルタ53の第1LPFa及び第2相補フィルタ54の第2LPFbに入力される。第2姿勢角演算部52が角速度ωを積分して求めた姿勢角θは、低周波成分が主体の誤差θwnを含むため、第1相補フィルタ53の第1HPFa及び第2相補フィルタ54の第2HPFbに入力される。
【0060】
第1LPFaの出力はLPFa(θtr+θan)、第1HPFaの出力はHPFa(θtr+θwn)となる。第2LPFbの出力はLPFb(θtr+θan)、第2HPFbの出力はHPFb(θtr+θwn)となる。LPFa(θtr+θan)、HPFa(θtr+θwn)、LPFb(θtr+θan)及びHPFb(θtr+θwn)は、いずれも線形性を有するとすると、式(1)から式(4)が成立する。
LPFa(θtr+θan)=LPFa(θtr)+LPFa(θan)・・(1)
HPFa(θtr+θwn)=HPFa(θtr)+HPFa(θwn)・・(2)
LPFb(θtr+θan)=LPFb(θtr)+LPFb(θan)・・(3)
HPFb(θtr+θwn)=HPFb(θtr)+HPFb(θwn)・・(4)
【0061】
前述した相補フィルタの特性から、LPFa(θ)+HPFa(θ)=θ及びLPFb(θ)+HPFb(θ)=θが成立する。第1相補フィルタ53において、フィルタ部53Fの出力、すなわち第1LPFaの出力と第1HPFaの出力とは、加算部53ADによって加算される。加算部53ADの出力、すなわち第1姿勢角θ1は、θtr+LPFa(θan)+HPFa(θwn)となる。第2相補フィルタ54において、フィルタ部54Fの出力、すなわち第2LPFbの出力と第2HPFbの出力とは、加算部54ADによって加算される。加算部54ADの出力、すなわち第2姿勢角θ2は、θtr+LPFb(θan)+HPFb(θwn)となる。
【0062】
誤差θanは高周波成分が主体なので、第1LPFa及び第2LPFbによって低減される。このため、LPFa(θan)及びLPFb(θan)の値は小さくなる。誤差θwnは低周波成分が主体なので、第1HPFa及び第2HPFbによって低減される。このため、LPFa(θan)及びHPFa(θwn)並びにLPFb(θan)及びHPFb(θwn)の値は小さくなり、加算部53ADの出力である第1姿勢角θ1及び加算部54ADの出力である第2姿勢角θ2は、真の姿勢角θtrに近い値となる。
【0063】
図6は、誤差θan及び誤差θwnの周波数特性を示す図である。
図6の縦軸は、誤差θan及び誤差θwnのスペクトル、横軸は周波数fである。仮に、IMU29の性能が高いものを用いることができた場合、IMU29が検出する角速度ω及び加速度Acの精度も高いため、
図4に示すセンサ制御装置24が有する第1姿勢角演算部51が求める姿勢角θの誤差θan及び第2姿勢角演算部52が求める姿勢角θの誤差θwnは小さくなる。IMU29の性能が低い場合、IMU29が検出する角速度ω及び加速度Acの精度が低くなるため、
図4に示すセンサ制御装置24が有する第1姿勢角演算部51が求める姿勢角θの誤差θan及び第2姿勢角演算部52が求める姿勢角θの誤差θwnは大きくなる。その結果として、
図6に示すように、誤差θwnと誤差θanとが、それぞれ相補フィルタの遮断周波数fcを超えても存在してしまい、遮断周波数fcを含む所定の周波数fの範囲で重なり合う。誤差θwnは、遮断周波数fcよりも大きな周波数であっても存在してしまい、誤差θanは遮断周波数fcよりも小さな周波数であっても存在してしまう。
【0064】
したがって、IMU29の性能が低い場合、一つの相補フィルタでは、雑音である誤差θwn及び誤差θanを十分に除去できず、姿勢角θの精度低下を招く可能性がある。これは、第2表示装置39による刃先8Tの位置情報の表示精度及び油圧ショベル100の作業機制御の精度に影響を与える可能性がある。高性能のIMU29は価格も高いので、油圧ショベル100の製造コストの上昇を招く。つまり、性能の低いIMU29を油圧ショベル100に適用するために、
図6に示した特性を考慮する必要がある。そこで、センサ制御装置24は、比較的性能が低いIMU29を用いた場合でも、姿勢角θの精度低下を抑制できるように、遮断周波数fcが異なる第1相補フィルタ53と第2相補フィルタ54とを用いている。
【0065】
図7は、第1相補フィルタ53のゲインGN及び第2相補フィルタ54のゲインGNと周波数fとの関係を示す図である。
図7の縦軸はゲインGN、横軸は周波数fである。周波数fchは第1相補フィルタ53の第1の遮断周波数であり、周波数fclは第2相補フィルタ54の第2の遮断周波数である。本実施形態において、第1の遮断周波数fchは、第2の遮断周波数fclよりも高くなっている。すなわち、第2の遮断周波数fclは、第1の遮断周波数fchよりも低くなっている。
【0066】
第1相補フィルタ53の第1の遮断周波数fchは、角速度ωの積分誤差、すなわち誤差θwnを十分に低減できる周波数に設定される。第2相補フィルタ54の第2の遮断周波数fclは、重力加速度以外の加速度による誤差θanを十分に低減できる周波数に設定される。
【0067】
第1相補フィルタ53は、第1HPFaによって角速度ωの積分による誤差θwnを効果的に低減することができるが、重力加速度以外の加速度に起因する誤差θanを効果的に低減することは難しい。このため、第1相補フィルタ53は、油圧ショベル100が静止している状態又は静止している状態に近い状態、すなわち静止していると見なされる状態(適宜、準静止状態という)である場合においては姿勢角θを精度よく求めることができるが、油圧ショベル100が準静止状態でない動的状態である場合においては姿勢角θの精度が低下する。本実施形態において、動的状態とは、油圧ショベル100が動いていると見なされる状態である。
【0068】
第2相補フィルタ54は、第2LPFaによって重力加速度以外の加速度による誤差θanを効果的に低減することができるが、角速度ωの積分による誤差θwnを効果的に低減することは難しい。このため、第2相補フィルタ54は、油圧ショベル100が動的状態である場合においては姿勢角θを精度よく求めることができるが、油圧ショベル100が準静止状態である場合においては、第1相補フィルタ53が算出する姿勢角θと比較して姿勢角θの精度が低下する。すなわち、第2相補フィルタ54は、短時間の動特性には優れるが、準静止状態においては動的状態と同様に、角速度ωの積分による誤差θwnが存在する。
【0069】
図4に示すセンサ制御装置24が備える切替部55は、油圧ショベル100の動作状態が準静止状態であるか動的状態であるかに応じて、第1姿勢角θ1又は第2姿勢角θ2を切り替えて出力する。例えば、切替部55は、油圧ショベル100が準静止状態である場合には、油圧ショベル100の姿勢角θoとして、第1相補フィルタ53が出力する第1姿勢角θ1を車内信号線41に出力する。油圧ショベル100が動的状態である場合、切替部55は、油圧ショベル100の姿勢角θoとして、第2相補フィルタ54が出力する第2姿勢角θ2を車内信号線41に出力する。
【0070】
このように、センサ制御装置24は、油圧ショベル100が準静止状態である場合には第1相補フィルタ53の第1姿勢角θ1を油圧ショベル100の姿勢角θoとするので、準静止状態において姿勢角θoの精度低下を抑制することができる。油圧ショベル100が動的状態である場合、センサ制御装置24は、第2相補フィルタ54の第2姿勢角θ2を油圧ショベル100の姿勢角θoとするので、動的状態においても姿勢角θoの精度低下を抑制することができる。結果として、センサ制御装置24は、油圧ショベル100が準静止状態及び動的状態のいずれにおいても、油圧ショベル100の姿勢角θoの精度低下を抑制できる。
【0071】
油圧ショベル100が動いているときには第2相補フィルタ54が出力する第2姿勢角θ2が用いられて、例えば
図1に示すバケット8の刃先8Tの位置が求められる。また、油圧ショベル100が静止しているときには第1相補フィルタ53が出力する第1姿勢角θ1によって、バケット8の刃先8Tの位置が求められる。このため、
図2に示す第2表示装置39が、バケット8の刃先8Tの位置に代表される作業機2の位置又は油圧ショベル100の車両本体1の位置等を求める際の精度低下が抑制される。
【0072】
切替部55の処理部55Cは、準静止状態と動的状態とを、例えば、次の条件Aと条件Bとを用いて判定し、その判定結果に基づいて切替器55Sを制御する。
条件A:切り替えの判定をする時点よりも前の所定期間において、第1姿勢角θ1の標準偏差が予め設定された閾値よりも小さい。
条件B:重力加速度以外の加速度の大きさが予め設定された閾値よりも小さい。
第1姿勢角θ1はIMU29が検出した角速度ω又は加速度Acから求められ、重力加速度を含む加速度は、IMU29によって検出される。すなわち、処理部55Cは、油圧ショベル100が備えるIMU29の状態に基づき、準静止状態と動的状態とを判定する。
【0073】
前述の条件Bについて説明する。IMU29は、前述のように、少なくとも重力加速度を含む加速度を検出し、検出されたそれぞれの加速度の種類を区別することなく検出した加速度を出力する。重力加速度は既知である。そこで、処理部55Cは、IMU29が出力した加速度から、X軸方向又はY軸方向の加速度を演算する。処理部55Cは、求められたX軸方向の加速度から重力加速度のX軸方向相当の重力加速度を減算すると、重力加速度以外の加速度の大きさを求めることができる。処理部55Cは、重力加速度以外の加速度の大きさと予め設定された閾値とを比較する。なお、処理部55Cは、求められたY軸方向の加速度から重力加速度のY軸方向相当の重力加速度を減算して、重力加速度以外の加速度の大きさを求め、予め設定された閾値と比較して条件Bが成立するかどうかを判定してもよい。
【0074】
処理部55Cは、IMU29から取得した加速度Ac及び第1相補フィルタ53の出力である第1姿勢角θ1を、
図4に示す加速度送信線L1又は第1姿勢角送信線L2を介して取得し、条件A及び条件Bが同時に成立するか否かを判定する。条件Aと条件Bとの両方が成立した場合には、準静止状態と見なすことができる。本実施形態において、準静止状態とは、油圧ショベル100が、走行、上部旋回体3の旋回及び作業機3の動作のいずれも行わずに完全に静止している状態又は走行と油圧ショベル100の上部旋回体3の旋回が行われずに作業機3だけが動作している状態である。この場合、処理部55Cは、切替器55Sが第1相補フィルタ53の加算部53ADと接続するように切換器55Sを動作させる。切替器55Sは、油圧ショベル100の姿勢角θoとして、第1相補フィルタ53が出力する第1姿勢角θ1を車内信号線41に出力する。
【0075】
条件Aと条件Bとが成立しない場合、すなわち、条件A及び条件Bの少なくとも一方が成立しない場合には、動的状態、すなわち油圧ショベル100が動いていると見なすことができる。この場合、処理部55Cは、切替器55Sが第2相補フィルタ54の加算部54ADと接続するように切換器55Sを動作させる。切替器55Sは、油圧ショベル100の姿勢角θoとして、第2相補フィルタ54が出力する第2姿勢角θ2を車内信号線41に出力する。条件A及び条件Bを用いて切替部55が第1姿勢角θ1と第2姿勢角θ2とを切り替えるようにすれば、IMU29の検出値のみで前述した切り替えが実現できる。
【0076】
本実施形態において、条件Aの所定期間は、例えば1秒と設定されたものであるが、これに限定されるものではない。条件Aの標準偏差と比較する閾値は限定されるものではないが、例えば、0.1度とすることができる。条件Bは、重力加速度以外の加速度が予め設定された閾値よりも小さい場合に成立し、予め設定された閾値以上の重力加速度以外の加速度が検出された場合には成立しない。条件Bの閾値は限定されるものではないが、例えば、重力加速度の0.1倍以上の範囲で適宜設定することができる。
【0077】
(準静止状態か動的状態かを判定する変形例)
本実施形態において、
図4に示す切替部55の処理部55Cは、
図2に示すIMU29の検出値に基づき、第1姿勢角θ1又は第2姿勢角θ2を切り替えて、油圧ショベル100の姿勢角θoとして出力した。第1姿勢角θ1又は第2姿勢角θ2の選択は、このようなものに限定されず、処理部55Cは、例えば、油圧ショベル100の動作に関する情報(以下、適宜動作情報という)を用いて第1姿勢角θ1又は第2姿勢角θ2を切り替えてもよい。
【0078】
本実施形態において、動作情報は、油圧ショベル100に何らかの動きが発生したことに関する情報である。例えば、動作情報は、
図1に示す上部旋回体3が旋回しているか否かの情報、走行装置5が動作しているか否かの情報又は作業機2が動作しているか否かの情報等がある。動作情報は、例えば、上部旋回体3が旋回していることを検出するセンサから出力される検出値、上部旋回体3を旋回させるための旋回モータにレゾルバ等の旋回角度センサを設け、そのような角度検出器若しくは回転センサから出力される検出値、又は
図2に示す作業機操作検出部32L、32Rにより生成されるパイロット圧を検知する油圧センサから出力される検出値等が用いられる。すなわち、動作情報は、例えば、上部旋回体3又は作業機2等が実際に動作しているか否かの情報であってもよいし、上部旋回体3又は作業機2等を動作させるための操作部材に対する操作の情報であってもよい。
【0079】
図8は、本実施形態の変形例における第1姿勢角θ1と第2姿勢角θ2との切り替えに用いるテーブルTBの一例を示す図である。本変形例において、切替部55の処理部55Cは、IMU29の検出値に基づく準静止状態か動的状態かの判定と、上部旋回体3が旋回中であるか否かの判定とに基づき、第1姿勢角θ1又は第2姿勢角θ2を切り替える。テーブルTBは、上部旋回体3の状態と、IMU29の検出値に基づく条件A及び条件Bとに対して、油圧ショベル100の姿勢角θoとして出力すべき姿勢角が記述されている。上部旋回体3の状態は、ON又はOFFで表され、ONであるときが旋回中であり、OFFであるときが停止中である。条件A及び条件Bは、A&B又はNOT(A&B)で表され、A&Bが準静止状態であり、NOT(A&B)は動的状態である。
【0080】
IMU29の検出値に基づく判定結果が準静止状態、かつ動作情報から上部旋回体3が旋回中(ON)であるとする。この場合、切替部55は、第2姿勢角θ2を油圧ショベル100の姿勢角θoとして出力する。上部旋回体3が実際に動いていることから、第2姿勢角θ2を油圧ショベル100の姿勢角θoとして用いることにより、姿勢角θoの精度を確保できる。
【0081】
IMU29の検出値に基づく判定結果が準静止状態、かつ動作情報から上部旋回体3が停止中(OFF)であるとする。この場合、切替部55は、第1姿勢角θ1を油圧ショベル100の姿勢角θoとして出力する。準静止状態であり、かつ上部旋回体3が実際には停止していることから、第1姿勢角θ1を油圧ショベル100の姿勢角θoとして用いることにより、角速度ωの積分による誤差を低減できる。
【0082】
IMU29の検出値に基づく判定結果が動的状態、かつ動作情報から上部旋回体3が旋回中(ON)であるとする。この場合、切替部55は、第2姿勢角θ2を油圧ショベル100の姿勢角θoとして出力する。動的状態であり、かつ上部旋回体3が実際に動いていることから、第2姿勢角θ2を油圧ショベル100の姿勢角θoとして用いることにより、姿勢角θoの精度を確保できる。
【0083】
IMU29の検出値に基づく判定結果が動的状態、かつ動作情報から上部旋回体3が停止中(OFF)であるとする。この場合、切替部55は、第1姿勢角θ1又は第2姿勢角θ2のいずれを油圧ショベル100の姿勢角θoとして出力してもよいが、本変形例では第2姿勢角θ2を出力する。
【0084】
本変形例では、切替部55は、IMU29の検出値に基づく準静止状態か動的状態かの判定と、上部旋回体3が旋回中であるか否かの判定とに基づき、第1姿勢角θ1又は第2姿勢角θ2を切り替えた。このようにすることで、切替部55は、油圧ショベル100の状態をより精度よく判定して、適切な姿勢角を選択することができる。本変形例において、前述した処理に限定されず、切替部55は、IMU29の検出値に基づく判定結果を用いずに上部旋回体3が旋回中であるか否かの判定に基づき、第1姿勢角θ1又は第2姿勢角θ2を切り替えてもよい。例えば、上部旋回体3が旋回中であるには第2姿勢角θ2を油圧ショベル100の姿勢角θoとし、上部旋回体3が停止中であるには第1姿勢角θ1を油圧ショベル100の姿勢角θoとしてもよい。
【0085】
図9は、センサ制御装置24の切替部55が出力する油圧ショベル100の姿勢角θoと、第1姿勢角θ1と、第2姿勢角θ2との時間変化の一例を示す図である。
図9に示す太い実線は、後述する緩和項difの時間変化の一例を示している。
図9の縦軸は姿勢角θであり、横軸は時間tである。
図9のSstで示す区間は準静止状態であり、第1姿勢角θ1が油圧ショベル100の姿勢角θoとして出力される。
図9のSdmで示す区間は動的状態であり、第2姿勢角θ2が油圧ショベル100の姿勢角θoとして出力される。
図9に示す例において、時間t1から時間t2及び時間t3以降は準静止状態Sstであり、時間t2から時間t3は動的状態Sdmである。
【0086】
油圧ショベル100の姿勢角θoは、時間t2で第1姿勢角θ1から第2姿勢角θ2に切り替わり、時間t3で第2姿勢角θ2から第1姿勢角θ1に切り替わっている。第2姿勢角θ2は、角速度ωを積分することによる誤差θwnが蓄積するので、時間t2において、第1姿勢角θ1と第2姿勢角θ2とは異なる値になる。同様に、時間t3において、第2姿勢角θ2と第1姿勢角θ1とは異なる値になる。
【0087】
センサ制御装置24から出力される姿勢角θoを切替部55が第1姿勢角θ1から第2姿勢角θ2に切り替えるとき又は第2姿勢角θ2から第1姿勢角θ1に切り替えるときには、そのまま切り替えると、切替時において油圧ショベル100の姿勢角θoが不連続になる可能性がある。また、前述したように、第2姿勢角θ2は、角速度ωを積分することによる誤差θwnが蓄積するので、第2姿勢角θ2を油圧ショベル100の姿勢角θoとして用いる場合には、積分による誤差θwnを低減する必要がある。
【0088】
姿勢角θoの切り替え時に発生する姿勢角θoの不連続及び積分による誤差θwnを低減するため、本実施形態において、切替部55の処理部55Cは、式(5)から式(10)を用いて姿勢角θoを求め、出力する。
θo=θ1+dif・・(5)
θo=θ2+dif・・・(6)
dif=Ftr×dif_prev・・・(7)
dif=dif_prev・・・(8)
dif=dif_prev+θ1−θ2・・・(9)
dif=dif_prev+θ2−θ1・・・(10)
【0089】
式(5)は準静止状態で姿勢角θoを求める場合に用いられ、式(6)は動的状態で姿勢角θoを求める場合に用いられる。式(5)及び式(6)のdifは、緩和項である。式(7)の緩和項difは、準静止状態で用いられ、式(8)の緩和項difは動的状態で用いられる。式(7)のFtrは緩和係数である。緩和係数Ftrは、0よりも大きく1よりも小さい(0<Ftr<1)。式(9)の緩和項difは、準静止状態から動的状態に移行するタイミングで用いられる。式(10)の緩和項difは、動的状態から準静止状態に移行するタイミングで用いられる。式(8)から式(10)のdif_prevは、直前のIMU29の状態(準静止状態Sst又は動的状態Sdm)での緩和項difである。dif_prevの初期値は0である。
【0090】
図9に示すように、第1姿勢角θ1は、準静止状態Sstでは高精度を保っているが、動的状態Sdmでは大きな誤差が生じている。第2姿勢角θ2は準静止状態Sst及び動的状態Sdmのいずれにおいても積分の累積による誤差が生じている。dif_prevの初期値は0なので、時間t1から時間t2の準静止状態Sstでは緩和項dif=0になる。その結果、式(5)から、準静止状態Sstにおける油圧ショベル100の姿勢角θoは第1姿勢角θ1になる。
【0091】
準静止状態Sstから動的状態Sdmに切り替わるとき、すなわち時間t=t2のとき、処理部55Cは式(9)を用いて緩和項difを求める。前述したように、時間t=t2ときの緩和項difは0なので、緩和項difは、第1姿勢角θ1と第2姿勢角θ2との差である、θ1−θ2の値となる。この場合の緩和項difは、
図9に示すように、負の値である。時間t2のとき、式(5)による姿勢角θoはθ1であり、式(6)の緩和項difに入力されるものがθ1−θ2の値であるから、式(6)による姿勢角θoもθ1となる。このため、準静止状態Sstから動的状態Sdmに切り替わるときは、油圧ショベル100の姿勢角θoは連続して変化する。
【0092】
時間t2から時間t3の動的状態Sdmでは、緩和項difの値は、切り替わり時、すなわち時間t2で得られたθ1−θ2の値がそのまま保持される。動的状態Sdmにおける油圧ショベル100の姿勢角θoは、式(6)から、動的状態Sdmにおける第2姿勢角θ2から時間t2で得られて保持されている緩和項dif=θ1−θ2の値を加算して求められる。このときに用いられる緩和項difは、式(8)からdif_prevとなるので、動的状態Sdmで用いられる緩和項difは、時間t2で得られて保持されている緩和項dif=θ1−θ2の値が用いられる。このように、切替部55の処理部55Cは、第1姿勢角θ1を第2姿勢角θ2に切り替えた後は、切り替え時での第1姿勢角θ1から第2姿勢角θ2を減算した値、すなわち切り替え時における緩和項difを補正値として用いて、求められた第2姿勢角θ2を補正して、姿勢角θoを取得する。このようにすることで、動的状態Sdmへの切り替え以前に生じた第2姿勢角θ2の積分の蓄積による誤差θwnが、油圧ショベル100の姿勢角θoに与える影響を低減できる。
【0093】
動的状態Sdmから再び準静止状態Sstに切り替わるとき、すなわち時間t3において、処理部55Cは式(10)を用いて緩和項difを求める。式(10のdif_prevは、既に得られて保持されている緩和項difである。つまり、式(10)のdif_prevは、時間t2での緩和項dif、すなわち時間t2でのθ1−θ2の値である。式(10)から、時間t3における緩和項difは、時間t2で得られて保持されている、θ1−θ2の値と、時間t3で得られたθ2−θ1の値とを加算した値になる。式(10)を用いることにより、動的状態Sdmから準静止状態Sstに切り替わるときは、油圧ショベル100の姿勢角θoは連続して変化する。
【0094】
時間t3以降の準静止状態Sstにおいて、処理部55Cは、式(5)を用いて油圧ショベル100の姿勢角θoを求める。このときの緩和項difは、式(7)によって決定される。式(7)中のdif_prevは、動的状態Sdmから準静止状態Sstに再び切り替わるタイミング、すなわち時間t3における緩和項difである。時間t3以降の準静止状態Sstでは、緩和係数Ftrの効果で緩和項difの値は徐々に小さくなり、0に収束する。すなわち、時間t3以降の準静止状態Sstにおいて、油圧ショベル100の姿勢角θoは、第1姿勢角θ1に収束する。このように、切替部55の処理部55Cは、第2姿勢角θ2を第1姿勢角θ1に切り替えた後は、切り替え時での第2姿勢角の誤差、すなわち切り替え時での緩和項difに、0よりも大きく1よりも小さい係数としての緩和係数Ftrを乗じた値を補正値として用いて、第1姿勢角θ1を補正する。このようにすることで、動的状態Sdmから準静止状態Sstに切り替わった後は、油圧ショベル100の姿勢角θoは連続して変化する。
【0095】
(姿勢角θoを求める処理の一例)
図10は、姿勢角θoを求める処理の一例を示すフローチャートである。油圧ショベル100の姿勢角θoを求めるにあたって、
図2及び
図4に示すセンサ制御装置24は、ステップS101において、車内通信線42を介してIMU29による角速度ω及び加速度Acの検出値を取得する。ステップS102において、
図2に示す第1姿勢角演算部51は、IMU29が検出した加速度Acから姿勢角θを求める。ステップS103において、
図2に示す第2姿勢角演算部52は、IMU29が検出した角速度ωから姿勢角θを求める。ステップS102とステップS103との順序は問わない。
【0096】
ステップS104において、
図4に示す第1相補フィルタ53の第1LPFaは、加速度Acから得られた姿勢角θにフィルタ処理を施す。ステップS105において、
図4に示す第2相補フィルタ54の第2LPFbは、加速度Acから得られた姿勢角θにフィルタ処理を施す。ステップS106において、
図4に示す第1相補フィルタ53の第1HPFaは、角速度ωから得られた姿勢角θにフィルタ処理を施す。ステップS107において、
図4に示す第2相補フィルタ54の第2HPFbは、角速度ωから得られた姿勢角θにフィルタ処理を施す。ステップS104とステップS105とステップS106とステップS107の順序は問わない。
【0097】
次に、ステップS108に進み、第1相補フィルタ53は、第1姿勢角θ1を求める。具体的には、加算部53ADが、第1LPFaの出力と第1HPFaの出力とを加算することにより、第1姿勢角θ1が求められる。ステップS109において、第2相補フィルタ54は、第2姿勢角θ2を求める。具体的には、加算部54ADが、第2LPFbの出力と第2HPFbの出力とを加算することにより、第2姿勢角θ2が求められる。ステップS108とステップS109との順序は問わない。
【0098】
ステップS110に進み、
図4に示す切替部55の処理部55Cは、油圧ショベル100が準静止状態である場合(ステップS110、Yes)、ステップS111に処理を進める。ステップS111において、処理部55Cは、センサ制御装置24が第1姿勢角θ1を油圧ショベル100の姿勢角θoとして出力するように、切替器55Sを制御する。油圧ショベル100が動的状態である場合(ステップS110、No)、ステップS112において、処理部55Cは、センサ制御装置24が第2姿勢角θ2を油圧ショベル100の姿勢角θoとして出力するように、切替器55Sを制御する。
【0099】
(評価例)
図11は、油圧ショベル100の動作状態に応じて出力される姿勢角θoを切り替えた結果の一例を示す図である。
図11の縦軸は、姿勢角θoの1つであるピッチ角θpであり、横軸は時間tである。
図11中の実線が油圧ショベル100のピッチ角θpであり、1点鎖線が第1姿勢角θ1であり、2点鎖線が第2姿勢角θ2である。
図11に示す例は、
図1に示す油圧ショベル100のブーム6を持ち上げた状態から一気に下方に向かって下ろして静止させたときの、油圧ショベル100のピッチ角θpの時間変化を示している。ブーム6を下げて止めたときには、バケット8は接地していない。
【0100】
時間t1でブーム6が停止して、油圧ショベル100のY軸周りにおける運動(ピッチング)、すなわち揺れが発生している。油圧ショベル100にピッチングが発生していない場合(時間t1以前)は第1姿勢角θ1が姿勢角θoとして出力され、油圧ショベル100にピッチングが発生している期間(時間t1以降の所定期間)は第2姿勢角θ2が姿勢角θoとして出力されていることが分かる。
【0101】
時間t2からt3までは、油圧ショベル100に揺れ戻しが発生している。ピッチングが収まったために準静止状態と判定された後(時間t2以降)は、姿勢角θoが徐々に第1姿勢角θ1に近づき、時間t3で姿勢角θoが第1姿勢角θ1にほぼ一致することが分かる。準静止状態と判定された後は、積分による誤差の蓄積により、第2姿勢角θ2が第1姿勢角θ1とは異なる値となる。本実施形態においては、ピッチングが収まった後は、第1姿勢角θ1を油圧ショベル100の姿勢角θoとするので、積分誤差の影響を抑制することができる。
【0102】
本実施形態は、第1の遮断周波数が設定された第1相補フィルタ53と、第1の遮断周波数とは異なる第2の遮断周波数が設定された第2相補フィルタ54とを用いる。第1相補フィルタ53は、角速度ωを積分することによって累積する誤差(雑音)を低減し、第2相補フィルタ54は、重力加速度以外の加速度による加速度による誤差(雑音)を低減する。本実施形態では、油圧ショベル100の動作状態に応じて、第1相補フィルタ53が出力する姿勢角と、第2相補フィルタ54が出力する姿勢角とが切り替えられる。その結果、油圧ショベル100の動作状態に応じた適切な相補フィルタによって油圧ショベル100の姿勢角θoが求められるので、動的状態及び準静止状態のいずれにおいても姿勢角θoの精度低下が抑制される。
【0103】
精度の高いIMU29は高価であり、安価なIMU29は精度が相対的に低い。本実施形態は、精度の低いIMU29を用いた場合でも、動的状態及び準静止状態のいずれにおいても姿勢角θoの精度低下を抑制することができる。このため、姿勢角θoの精度低下を抑えつつ、油圧ショベル100の製造コストを低減することができる。
【0104】
以上、本実施形態及びその変形例を説明したが、前述した内容により本実施形態及びその変形例が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、本実施形態及びその変形例の要旨を逸脱しない範囲で構成要素の種々の省略、置換及び変更のうち少なくとも1つを行うことができる。例えば、作業機2は、ブーム6、アーム7、バケット8を有しているが、作業機2に装着されるアタッチメントはこれに限られず、バケット8には限定されない。作業機械は油圧ショベル100に限定されない。例えば、本実施形態に係る姿勢演算装置をブルドーザ、モータグレーダ又はダンプトラック等に適用し、作業機制御又は走行制御等を実行することができる。
【0105】
本実施形態では、第1相補フィルタ53及び第2相補フィルタ54を用いたが、さらに第1の遮断周波数及び第2の遮断周波数とは異なる第3の遮断周波数が設定された第3相補フィルタが追加されたり、第1の遮断周波数、第2の遮断周波数及び第3の遮断周波数とは異なる第4の遮断周波数が設定された第4相補フィルタが追加されたりしてもよい。すなわち、遮断周波数が異なる相補フィルタの数は2個に限定されない。
作業機械の姿勢演算装置は、作業機械に備えられて、角速度及び加速度を検出する計測装置と、前記計測装置によって検出された角速度及び加速度から前記作業機械の姿勢角を求める姿勢角演算部と、第1の遮断周波数が設定され、前記姿勢角演算部によって求められた前記姿勢角に含まれる雑音を低減して第1姿勢角を出力する第1相補フィルタと、前記第1の遮断周波数とは異なる第2の遮断周波数が設定され、前記姿勢角演算部によって求められた前記姿勢角に含まれる雑音を低減して第2姿勢角を出力する第2相補フィルタと、前記計測装置の状態に応じて、前記第1姿勢角又は前記第2姿勢角を切り替えて出力する切替部と、を含む。