【課題】外部衝撃等に対して高い信頼性を担保し、かつ、作業機械の製造コストの上昇を抑えつつ、作業装置に作用する外力の方向及び大きさを推定することが可能な、作業機械の外力推定装置を得る。
【発明を実施するための形態】
【0019】
図1は、本発明の実施の形態に係る作業機械1の構成を模式的に示す図である。本実施の形態の例において、作業機械1は、交換可能なアタッチメント33としてバケットが装着された建設機械である。但し、バケットに限らず、ニブラ又はブレーカ等の他のアタッチメントが装着されても良い。また、建設機械に限らず、任意のアタッチメントが装着される農業機械又は工業機械等の他の作業機械であっても良い。
【0020】
図1に示すように、作業機械1は、クローラ式の下部走行体22と、下部走行体22上に旋回可能に配置された上部旋回体21と、上部旋回体21に取り付けられた作業装置3とを備えている。下部走行体22及び上部旋回体21は、作業機械1の本体部2を構成する。
【0021】
作業装置3は、ブームフットピン61(ブーム回動軸)によって上部旋回体21に対し回動可能に連結されたブーム31と、アームフットピン62(アーム回動軸)によってブーム31に対し回動可能に連結されたアーム32と、アームトップピン63(アタッチメント回動軸)によってアーム32に対し回動可能に連結されたアタッチメント33とを備えている。
【0022】
作業機械1は、上部旋回体21に対しブーム31を起伏させるブームシリンダ41と、ブーム31に対しアーム32を揺動させるアームシリンダ42と、アーム32に対しアタッチメント33を揺動させるアタッチメントシリンダ43とを備えている。なお、ブーム31、アーム32、及びアタッチメント33を駆動するための駆動手段としては、シリンダの代わりに油圧モータ等の他のアクチュエータを使用しても良い。
【0023】
アタッチメントシリンダ43のシリンダロッドの先端は、回動可能なアタッチメントロッドピン65によって、アイドラリンク51の一端及びアタッチメントリンク52の一端に接続されている。アイドラリンク51の他端は、回動可能なアイドラリンクピン64によって、アーム32に接続されている。アタッチメントリンク52の他端は、回動可能なアタッチメントリンクピン66によって、アタッチメント33に接続されている。
【0024】
また、作業機械1は、ブーム駆動力センサ71、アーム駆動力センサ72、及びアタッチメント駆動力センサ73を備えている。ブーム駆動力センサ71は、ブームシリンダ41の内部圧力を検出し、その圧力検出値とブームシリンダ41の内部断面積とを乗算することにより、ブームシリンダ41が発生するブーム駆動力f
c1を検出する。ブーム駆動力センサ71は、検出したブーム駆動力f
c1を示すブーム駆動力データを出力する。アーム駆動力センサ72は、アームシリンダ42の内部圧力を検出し、その圧力検出値とアームシリンダ42の内部断面積とを乗算することにより、アームシリンダ42が発生するアーム駆動力f
c2を検出する。アーム駆動力センサ72は、検出したアーム駆動力f
c2を示すアーム駆動力データを出力する。アタッチメント駆動力センサ73は、アタッチメントシリンダ43の内部圧力を検出し、その圧力検出値とアタッチメントシリンダ43の内部断面積とを乗算することにより、アタッチメントシリンダ43が発生するアタッチメント駆動力f
c3を検出する。アタッチメント駆動力センサ73は、検出したアタッチメント駆動力f
c3を示すアタッチメント駆動力データを出力する。
【0025】
上部旋回体21の内部には、作業機械1の全体の制御を司るコントローラ300が配置されている。作業機械1のオペレータのレバー操作に伴うコントローラ300の油圧制御によって、上部旋回体21に対するブーム31の角度(ブーム角)、ブーム31に対するアーム32の角度(アーム角)、及び、アーム32に対するアタッチメント33の角度(アタッチメント角)がそれぞれ変更されることにより、作業装置3の姿勢が変更される。また、上部旋回体21の内部には、推定器100が配置されている。推定器100の接続構成及び処理内容については後述する。
【0026】
また、作業機械1は、ブーム角センサ81、アーム角センサ82、及びアタッチメント角センサ83を備えている。これらの角度センサは、ポテンショメータ又はロータリエンコーダ等によって構成される。ブーム角センサ81は、ブームフットピン61の回転角度を検出することによってブーム角θ
bを検出し、検出したブーム角θ
bを示すブーム角データを出力する。アーム角センサ82は、アームフットピン62の回転角度を検出することによってアーム角θ
abを検出し、検出したアーム角θ
abを示すアーム角データを出力する。アタッチメント角センサ83は、アームトップピン63の回転角度を検出することによってアタッチメント角θ
nを検出し、検出したアタッチメント角θ
nを示すアタッチメント角データを出力する。
【0027】
図2Aは、推定器100の接続構成を簡略化して示すブロック図である。ブーム駆動力センサ71、アーム駆動力センサ72、及びアタッチメント駆動力センサ73は、有線の通信路によって推定器100に接続されている。ブーム駆動力データ、アーム駆動力データ、及びアタッチメント駆動力データは、当該通信路を介して推定器100に入力される。同様に、ブーム角センサ81、アーム角センサ82、及びアタッチメント角センサ83は、有線の通信路によって推定器100に接続されている。ブーム角データ、アーム角データ、及びアタッチメント角データは、当該通信路を介して推定器100に入力される。なお、通信路は無線であっても良く、その場合、推定器100は無線通信を介して作業機械1の外部に配置されていても良い。
【0028】
図2Bは、コントローラ300の接続構成を簡略化して示すブロック図である。コントローラ300は、制御信号S19によってアクチュエータ駆動回路200を制御する。アクチュエータ駆動回路200は、アクチュエータとしてのブームシリンダ41、アームシリンダ42、及びアタッチメントシリンダ43を駆動する。アクチュエータ駆動回路200には、動力源としてのエンジンによって駆動される油圧ポンプ、油圧ポンプから各アクチュエータへの作動油の供給量を調整するためのコントロールバルブ、及び、コントロールバルブを制御するためのパイロット圧を発生させる操作レバー等が含まれる。作業機械1のオペレータによって操作レバーが操作されると、その操作量に応じて変動するパイロット圧によってコントロールバルブが制御され、パイロット圧に応じた吐出量の作動油が各アクチュエータに供給され、作動油の油圧によって各アクチュエータが動作する。これにより、オペレータのレバー操作に従って、作業装置3が所望の動作を実行することとなる。
【0029】
図3は、作業装置3の簡略化モデルを示す図である。
図3に示す第1要素W1、第2要素W2、第3要素W3は、
図1に示したブーム31、アーム32、アタッチメント33にそれぞれ対応する。
図3には、第1要素W1の重心P
g1、第2要素W2の重心P
g2、及び第3要素W3の重心P
g3を示している。
図3に示す点X0,X1,X2は、
図1に示したブームフットピン61、アームフットピン62、アームトップピン63にそれぞれ対応する。点X3は、アタッチメント33の先端を示す。
【0030】
第1要素W1に関し、鉛直上向き方向と、点X0及び点X1を結ぶ線分との成す角は、ブーム角θ
bである。
【0031】
第2要素W2に関し、鉛直上向き方向と、点X1及び点X3を結ぶ線分との成す角は、角度θ
t3である。鉛直上向き方向と、点X1及び重心P
g3を結ぶ線分との成す角は、角度θ
g32である。点X0及び点X1を結ぶ線分の延長線と、点X1及び点X2を結ぶ線分との成す角は、アーム角θ
abである。また、点X1及び点X3を結ぶ線分の長さはl
t3であり、点X1及び重心P
g3を結ぶ線分の長さはl
g32であり、点X1及び重心P
g2を結ぶ線分の長さはl
g2である。
【0032】
アタッチメントW3に関し、鉛直上向き方向と、点X2及び点X3を結ぶ線分との成す角は、角度θ
t33である。鉛直上向き方向と、点X2及び重心P
g3を結ぶ線分との成す角は、角度θ
g33である。点X1及び点X2を結ぶ線分の延長線と、点X2及び重心P
g3を結ぶ線分との成す角は、アタッチメント角θ
nである。また、点X2及び点X3を結ぶ線分の長さはBuR
2であり、点X2及び重心P
g3を結ぶ線分の長さはBuGRである。
【0033】
図4は、アーム32及びアタッチメント33の簡略化モデルを示す図である。
図4に示す点Y1は、
図1に示したアタッチメントシリンダ43とアーム32との連結点を示す。
図4に示す点Y2,Y3,Y4は、
図1に示したアイドラリンクピン64、アタッチメントロッドピン65、アタッチメントリンクピン66にそれぞれ対応する。点Y1及び点Y3を結ぶ線分の長さはCYL
3であり、アタッチメントシリンダ43のシリンダ長に対応する。点Y1及び点Y2を結ぶ線分と、点Y2及び点Y3を結ぶ線分との成す角は、角度dである。また、点Y1及び点Y2を結ぶ線分の長さはR
2であり、点Y2及び点Y3を結ぶ線分の長さはCL
2である。
【0034】
図5は、推定器100が有する機能を示すブロック図である。推定器100は、CPU等の情報処理装置と、当該情報処理装置が参照可能なROM及びRAM等の記憶装置とを備えて構成されている。本実施の形態に係る推定器100は、ブーム31を静止させた状態でアーム32及びアタッチメント33を動作させて作業装置3に所定の作業を実行させた際に、作業装置3(具体的にはアタッチメント33)に作用する外力を推定する外力推定装置として機能する。
【0035】
図2Aに示したように、推定器100は、推定した外力の方向θ
e及び大きさFを示す信号S18を出力する。第1の例として、信号S18は、作業機械1の操縦席に配置された表示装置(図略)に入力される。これにより、推定された外力に関する情報を図形情報としてオペレータに提示することができる。第2の例として、信号S18は、作業機械1に搭載されているハードディスク又はフラッシュメモリ等の記憶装置(図略)に入力される。これにより、推定された外力に関する情報を時系列データとして作業履歴情報に含めて保存することができる。第3の例として、信号S18は、コントローラ300に入力される。これにより、コントローラ300は、推定された外力に応じて適切な動作を行うことができる。
【0036】
図5の接続関係で示すように推定器100は、アタッチメントパラメータ算出部101、アームパラメータ算出部102、パラメータ保持部103、アタッチメントトルク算出部104、アームトルク算出部105、及び外力算出部106を備えている。
【0037】
図6は、推定器100によって実行される外力算出処理の流れを示すフローチャートである。
【0038】
まずステップSP11において推定器100は、作業装置3に外力が作用していない状態(即ちアタッチメント33の無負荷状態)で、ブーム31及びアーム32を動作させずにアタッチメント33だけを動作させる。その状態でアタッチメントパラメータ算出部101は、アタッチメント角センサ83及びアタッチメント駆動力センサ73から所定のサンプリング間隔で逐次入力されるアタッチメント角データ(アタッチメント角θ
n,k)及びアタッチメント駆動力データ(アタッチメント駆動力f
c3,k)に基づいて、アタッチメント33に関する所定のアタッチメントパラメータを算出する。なお、添え字の「k」は時刻を意味し、具体的には、サンプリング周期Tを用いたkTによって時刻が表される。サンプリング周期Tは、例えば、0.001秒から0.03秒までの間の適切な値である。当該アタッチメントパラメータには、アームトップピン63まわりのアタッチメント33の慣性モーメントI
j3、アタッチメント33の質量M
3、アタッチメント33のクーロン摩擦力の大きさN
3、及びアタッチメント33の粘性摩擦力の大きさB
3が含まれる。なお、図中の記号「^」は推定値を意味し、明細書中ではその呼称を用いて<ハット>と表記する。これらのアタッチメントパラメータ<ハット>I
j3,<ハット>M
3,<ハット>N
3,<ハット>B
3は、パラメータ保持部103によって保持される。
【0039】
アタッチメントパラメータ算出部101による演算処理について説明する。
【0040】
アタッチメントシリンダ43が発生するアタッチメント駆動力f
c3をトルクτ
3に変換するための変換係数J(θ
n)を式(1)に示す。
【0042】
アームトップピン63まわりの運動方程式を式(2)に示す。
【0044】
式(2)において、角度θ
g33の1階微分は角速度、2階微分は角加速度を表し、微小時間の差分値として求められる。また、角度θ
g33は、ブーム角θ
b、アーム角θ
ab、及びアタッチメント角θ
nに基づいて幾何学的に算出できる。
【0045】
式(2)は式(3)〜(6)のように変形できる。例えば式(4)において、イコールの上に三角印を付した記号は、定義を意味する。
【0050】
式(3)において、τ
3,k及びψ
3,kを既知、θ
3を未知として扱うことにより、逐次入力される複数のτ
3,k及びψ
3,kに基づいてθ
3を推定することができる。推定には、例えば、忘却因子付き逐次最小二乗法を用いることができる。但し、カルマンフィルタを用いても良い。
【0051】
忘却因子の設定値に基づく重みをw
3,k,iとすると、式(3)から二乗誤差は式(7)〜(10)のように表される。
【0056】
ここで、i
0は計算を開始する時刻を意味する。リアルタイム演算においては、R
3,k及びq
3,kは式(11)(12)に基づいて計算される。
【0059】
R
m,kが逆行列を持つ場合、式(13)に基づいて推定値<ハット>θ
m,kを算出することができる。なお、添え字の「m」は、アタッチメント33に関しては「3」、アーム32に関しては「2」、ブーム31に関しては「1」となる。
【0061】
以上のように、アタッチメントパラメータ算出部101は、アタッチメント角センサ83及びアタッチメント駆動力センサ73から逐次入力されるアタッチメント角データ(アタッチメント角θ
n,k)及びアタッチメント駆動力データ(アタッチメント駆動力f
c3,k)に基づいて、式(5)のθ
3に相当するアタッチメントパラメータ<ハット>I
j3,<ハット>M
3,<ハット>N
3,<ハット>B
3を算出することができる。
【0062】
図6のフローチャートを参照して、次にステップSP12において推定器100は、アタッチメント33の無負荷状態で、ブーム31及びアタッチメント33を動作させずにアーム32だけを動作させる。その状態でアームパラメータ算出部102は、アーム角センサ82及びアーム駆動力センサ72から所定のサンプリング間隔で逐次入力されるアーム角データ(アーム角θ
ab,k)及びアーム駆動力データ(アーム駆動力f
c2,k)に基づいて、アーム32に関する所定のアームパラメータを算出する。当該アームパラメータには、アームフットピン62まわりのアーム32の慣性モーメントの推定値<ハット>I
j2、アタッチメント33及びアーム32の合計質量の推定値<ハット>M
23、アーム32のクーロン摩擦力の大きさの推定値<ハット>N
2、及びアーム32の粘性摩擦力の大きさの推定値<ハット>B
2が含まれる。これらのアームパラメータ<ハット>I
j2,<ハット>M
23,<ハット>N
2,<ハット>B
2は、パラメータ保持部103によって保持される。
【0063】
アームパラメータ算出部102による演算処理について説明する。
【0064】
アームフットピン62まわりの運動方程式を式(14)〜(17)に示す。
【0069】
ここで、角度θ
g32は、ブーム角θ
b及びアーム角θ
abに基づいて幾何学的に算出できる。
【0070】
式(14)は式(18)〜(20)のように変形できる。
【0074】
上記と同様に、τ
2,k及びψ
2,kを既知、θ
2を未知として扱い、逐次入力される複数のτ
2,k及びψ
2,kに基づいてθ
2を推定する。
【0075】
以上のように、アームパラメータ算出部102は、アーム角センサ82及びアーム駆動力センサ72から逐次入力されるアーム角データ(アーム角θ
ab,k)及びアーム駆動力データ(アーム駆動力f
c2,k)に基づいて、式(19)のθ
2に相当するアームパラメータ<ハット>I
j2,<ハット>M
23,<ハット>N
2,<ハット>B
2を算出することができる。
【0076】
図6のフローチャートを参照して、次にステップSP13において推定器100は、作業装置3(具体的にはアタッチメント33の先端)に対して所定の外力が作用している状態(即ちアタッチメント33の有負荷状態)で、ブーム31及びアーム32を動作させずにアタッチメント33だけを動作させる。ここで、外力の大きさはFであり、鉛直上向き方向に対する外力の作用方向はθ
eである。その状態でアタッチメントトルク算出部104は、時刻lにおいてアタッチメント角センサ83及びアタッチメント駆動力センサ73から入力されたアタッチメント角データ(アタッチメント角θ
n,l)及びアタッチメント駆動力データ(アタッチメント駆動力f
c3,l)と、パラメータ保持部103から入力されたアタッチメントパラメータ<ハット>I
j3,<ハット>M
3,<ハット>N
3,<ハット>B
3とに基づいて、外力に起因して生じるアームトップピン63まわりのトルクであるアタッチメントトルクの推定値<ハット>τ
e3,lを算出する。なお、添え字の「l」は、時刻l(エル)における値であることを意味する。
【0077】
次にステップSP14において推定器100は、アタッチメント33の有負荷状態で、ブーム31及びアタッチメント33を動作させずにアーム32だけを動作させる。その状態でアームトルク算出部105は、時刻lにおいてアーム角センサ82及びアーム駆動力センサ72から入力されたアーム角データ(アーム角θ
ab,l)及びアーム駆動力データ(アーム駆動力f
c2,l)と、パラメータ保持部103から入力されたアームパラメータ<ハット>I
j2,<ハット>M
23,<ハット>N
2,<ハット>B
2とに基づいて、外力に起因して生じるアームフットピン62まわりのトルクであるアームトルクの推定値<ハット>τ
e2,lを算出する。
【0078】
アタッチメントトルク算出部104及びアームトルク算出部105による演算処理について説明する。
【0079】
アタッチメント33の重心P
g3まわりの慣性モーメントの推定値<ハット>I
3は、式(21)で表される。
【0081】
アーム32の質量の推定値<ハット>M
2は、式(22)で表される。
【0083】
アーム32の重心P
g2まわりの慣性モーメントの推定値<ハット>I
2は、式(23)で表される。
【0085】
アタッチメントトルク算出部104及びアームトルク算出部105が使用する摩擦モデルのアルゴリズムを、式(24)〜(27)に示す。
【0090】
ここで、K及びBは定数であり、例えば、K=10
7[Nm/rad]、B=10
5[Nms/rad]である。
【0091】
アームフットピン62まわりの慣性モーメントI
j2は、アームフットピン62からアタッチメント33の重心P
g3までの距離l
g32によって変化する。よって、時刻lにおけるI
j2の推定値<ハット>I
j2,lは、式(28)で表すことができる。
【0093】
アームトルク算出部105は、外力に起因するアームトルクの推定値<ハット>τ
e2,lを、式(29)によって算出する。
【0095】
ここで、τ
2,lは、時刻lにおいてアーム駆動力センサ72から入力されたアーム駆動力データ(アーム駆動力f
c2,l)に対応するトルク(即ち無負荷状態のトルクと外力起因のトルクとの合計)である。
【0096】
アタッチメントトルク算出部104は、外力に起因するアタッチメントトルクの推定値<ハット>τ
e3,lを、式(30)によって算出する。
【0098】
ここで、τ
3,lは、時刻lにおいてアタッチメント駆動力センサ73から入力されたアタッチメント駆動力データ(アタッチメント駆動力f
c3,l)に対応するトルク(即ち無負荷状態のトルクと外力起因のトルクとの合計)である。
【0099】
図6のフローチャートを参照して、次にステップSP15において外力算出部106は、アタッチメントトルク算出部104から入力されたアタッチメントトルクの推定値<ハット>τ
e3,lと、アームトルク算出部105から入力されたアームトルクの推定値<ハット>τ
e2,lとに基づいて、外力の方向の推定値<ハット>θ
e,l及び大きさの推定値<ハット>F
lを算出する。
【0100】
外力算出部106による演算処理について説明する。
【0101】
推定値<ハット>τ
e2,l及び推定値<ハット>τ
e3,lは、外力の方向の推定値<ハット>θ
e,l及び大きさの推定値<ハット>F
lを用いて、式(31)(32)のように表される。
【0104】
よって、E
2,l及びE
3,lを式(33)(34)のように定義すると、cos<ハット>θ
e,l及びsin<ハット>θ
e,lは、式(35)で表される。
【0108】
関数atan2(y,x)の戻り値の範囲は[−π,π]であり、また、<ハット>θ
e,lの範囲は[0,2π]であるため、外力算出部106は、式(36)によって<ハット>θ
e,lを算出することができ、式(37)によって<ハット>F
lを算出することができる。
【0111】
以上のように本実施の形態に係る作業機械1によれば、作業装置3に作用する外力の方向θ
e及び大きさFを、アタッチメント駆動力f
c3、アタッチメント角θ
n、アーム駆動力f
c2、及びアーム角θ
abの検出結果に基づいて推定できる。従って、外力計測のためのロードセルを追加実装する必要がないため、外部衝撃等に対して高い信頼性を担保し、かつ、作業機械1の製造コストの上昇を抑えつつ、作業装置3に作用する外力の方向θ
e及び大きさFを推定することが可能となる。また、作業機械1においてアタッチメント33及びアーム32が同時に駆動された場合であっても、作業装置3に作用する外力の方向θ
e及び大きさFを適切に推定することが可能となる。
【0112】
<変形例>
上記実施の形態では、推定器100は、ブーム31を静止させた状態でアーム32及びアタッチメント33を動作させた際の外力を算出したが、上記と同様のアルゴリズムをブーム31にも拡張することにより、ブーム31、アーム32、及びアタッチメント33の全てを同時に動作させた際の外力を推定器100によって推定することもできる。
【0113】
図7は、本変形例に係る推定器100が有する機能を示すブロック図である。
図7の接続関係で示すように推定器100は、
図5に示した構成に対してブームパラメータ算出部107及びブームトルク算出部108をさらに備えている。
【0114】
図8は、本変形例に係る推定器100によって実行される外力算出処理の流れを示すフローチャートである。
【0115】
まずステップSP21において推定器100は、アタッチメント33の無負荷状態で、ブーム31及びアーム32を動作させずにアタッチメント33だけを動作させる。その状態でアタッチメントパラメータ算出部101は、アタッチメント角センサ83及びアタッチメント駆動力センサ73から逐次入力されるアタッチメント角データ(アタッチメント角θ
n,k)及びアタッチメント駆動力データ(アタッチメント駆動力f
c3,k)に基づいて、アタッチメントパラメータ<ハット>I
j3,<ハット>M
3,<ハット>N
3,<ハット>B
3を算出する。これらのアタッチメントパラメータは、パラメータ保持部103によって保持される。
【0116】
次にステップSP22において推定器100は、アタッチメント33の無負荷状態で、ブーム31及びアタッチメント33を動作させずにアーム32だけを動作させる。その状態でアームパラメータ算出部102は、アーム角センサ82及びアーム駆動力センサ72から逐次入力されるアーム角データ(アーム角θ
ab,k)及びアーム駆動力データ(アーム駆動力f
c2,k)に基づいて、アームパラメータ<ハット>I
j2,<ハット>M
23,<ハット>N
2,<ハット>B
2を算出する。これらのアームパラメータは、パラメータ保持部103によって保持される。
【0117】
次にステップSP23において推定器100は、アタッチメント33の無負荷状態で、アーム32及びアタッチメント33を動作させずにブーム31だけを動作させる。その状態でブームパラメータ算出部107は、ブーム角センサ81及びブーム駆動力センサ71から逐次入力されるブーム角データ(ブーム角θ
b,k)及びブーム駆動力データ(ブーム駆動力f
c1,k)に基づいて、ブームパラメータ<ハット>I
j1,<ハット>M
123,<ハット>N
1,<ハット>B
1を算出する。これらのブームパラメータは、パラメータ保持部103によって保持される。
【0118】
次にステップSP24において推定器100は、アタッチメント33の有負荷状態で、ブーム31及びアーム32を動作させずにアタッチメント33だけを動作させる。その状態でアタッチメントトルク算出部104は、時刻lにおいてアタッチメント角センサ83及びアタッチメント駆動力センサ73から入力されたアタッチメント角データ(アタッチメント角θ
n,l)及びアタッチメント駆動力データ(アタッチメント駆動力f
c3,l)と、パラメータ保持部103から入力されたアタッチメントパラメータ<ハット>I
j3,<ハット>M
3,<ハット>N
3,<ハット>B
3とに基づいて、外力に起因して生じるアームトップピン63まわりのトルクであるアタッチメントトルクの推定値<ハット>τ
e3,lを算出する。
【0119】
次にステップSP25において推定器100は、アタッチメント33の有負荷状態で、ブーム31及びアタッチメント33を動作させずにアーム32だけを動作させる。その状態でアームトルク算出部105は、時刻lにおいてアーム角センサ82及びアーム駆動力センサ72から入力されたアーム角データ(アーム角θ
ab,l)及びアーム駆動力データ(アーム駆動力f
c2,l)と、パラメータ保持部103から入力されたアームパラメータ<ハット>I
j2,<ハット>M
23,<ハット>N
2,<ハット>B
2とに基づいて、外力に起因して生じるアームフットピン62まわりのトルクであるアームトルクの推定値<ハット>τ
e2,lを算出する。
【0120】
次にステップSP26において推定器100は、アタッチメント33の有負荷状態で、アーム32及びアタッチメント33を動作させずにブーム31だけを動作させる。その状態でブームトルク算出部108は、時刻lにおいてブーム角センサ81及びブーム駆動力センサ71から入力されたブーム角データ(ブームθ
b,l)及びブーム駆動力データ(ブーム駆動力f
c1,l)と、パラメータ保持部103から入力されたブームパラメータ<ハット>I
j1,<ハット>M
123,<ハット>N
1,<ハット>B
1とに基づいて、外力に起因して生じるブームフットピン61まわりのトルクであるブームトルクの推定値<ハット>τ
e1,lを算出する。
【0121】
次にステップSP27において外力算出部106は、アタッチメントトルク算出部104から入力されたアタッチメントトルクの推定値<ハット>τ
e3,lと、アームトルク算出部105から入力されたアームトルクの推定値<ハット>τ
e2,lと、ブームトルク算出部108から入力されたブームトルクの推定値<ハット>τ
e1,lとに基づいて、外力の方向の推定値<ハット>θ
e,l及び大きさの推定値<ハット>F
lを算出する。
【0122】
本変形例に係る作業機械1によれば、作業機械1においてアタッチメント33、アーム32、及びブーム31が同時に駆動された場合であっても、作業装置3に作用する外力の方向θ
e及び大きさFを適切に推定することが可能となる。