(57)【要約】【課題】例えばロボットの温度が低くなく摩擦が大きくないために閾値を変更していなければ衝突を検知できる状況において、衝突を検知できなくなる可能性を低下させる。【解決手段】  ロボットの衝突を検知する検知手段と、ロボットを動作させ、検知手段によるロボットの衝突の検知に応じて、ロボットを停止させるように制御する制御手段と、ロボットの温度が低いことを示す予め定められた条件が満たされるとロボットの衝突を検知し難くなるように、検知手段を制御する検知制御手段とを備える。【選択図】図３
2020019117.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの衝突を検知する検知手段と、
前記ロボットを動作させ、前記検知手段による当該ロボットの衝突の検知に応じて、当該ロボットを停止させるように制御する制御手段と、
前記ロボットの温度が低いことを示す予め定められた条件が満たされると当該ロボットの衝突を検知し難くなるように、前記検知手段を制御する検知制御手段と
を備えたことを特徴とするロボット制御装置。
【請求項２】
前記予め定められた条件は、前記ロボットの実際に測定された温度である測定温度が低いという条件であることを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記検知制御手段は、前記測定温度が予め定められた温度よりも低いと前記ロボットの衝突を検知し難くなるように、前記検知手段を制御することを特徴とする請求項２に記載のロボット制御装置。
【請求項４】
前記検知手段は、前記ロボットの推定トルクと実トルクとの差又は前記ロボットから直接推定された外乱値が閾値を超えた場合に、当該ロボットの衝突を検知し、
前記検知制御手段は、前記測定温度が前記予め定められた温度よりも低いと前記閾値を大きくすることを特徴とする請求項３に記載のロボット制御装置。
【請求項５】
前記検知制御手段は、前記測定温度が低いほど前記ロボットの衝突を検知し難くなるように、前記検知手段を制御することを特徴とする請求項２に記載のロボット制御装置。
【請求項６】
前記検知手段は、前記ロボットの推定トルクと実トルクとの差又は前記ロボットから直接推定された外乱値が閾値を超えた場合に、当該ロボットの衝突を検知し、
前記検知制御手段は、前記測定温度が低いほど前記閾値を大きくすることを特徴とする請求項５に記載のロボット制御装置。
【請求項７】
前記予め定められた条件は、前記ロボットの温度が低いことが想定される期間として予め定められた期間内に現在日時が含まれるという条件であることを特徴とする請求項１に記載のロボット制御装置。
【請求項８】
前記検知制御手段は、自装置の電源がオンされた後又は前記ロボットのサーボが一定時間オフされた後に、前記ロボットのサーボがオンされている累積の時間が、予め定められた時間に達していない場合に、当該ロボットの衝突を検知し難くなるように、前記検知手段を制御することを特徴とする請求項７に記載のロボット制御装置。
【請求項９】
前記検知手段は、前記ロボットの推定トルクと実トルクとの差又は前記ロボットから直接推定された外乱値が閾値を超えた場合に、当該ロボットの衝突を検知し、
前記検知制御手段は、自装置の電源がオンされた後又は前記ロボットのサーボが一定時間オフされた後に、前記ロボットのサーボがオンされている累積の時間が、前記予め定められた時間に達していない場合に、前記閾値を大きくすることを特徴とする請求項８に記載のロボット制御装置。
【請求項１０】
前記予め定められた時間に達する前の一定時間において、前記ロボットの推定トルクと実トルクとの差又は前記ロボットから直接推定された外乱値が、大きくされた後の前記閾値に近い場合に、当該予め定められた時間を延長する延長手段を更に備えたことを特徴とする請求項９に記載のロボット制御装置。
【請求項１１】
前記延長手段は、前記ロボットの推定トルクと実トルクとの差又は前記ロボットから直接推定された外乱値の最大値が、大きくされる前の前記閾値は超えているが、大きくされた後の前記閾値は超えていない場合に、大きくされた後の前記閾値に近いと判定することを特徴とする請求項１０に記載のロボット制御装置。
【請求項１２】
ロボットの衝突を検知する検知手段と、
前記ロボットを動作させ、前記検知手段による当該ロボットの衝突の検知に応じて、当該ロボットを停止させるように制御する制御手段と、
前記ロボットに発生する摩擦をモデル化した摩擦モデルを同定する際に用いられる行列に基づいて、当該摩擦モデルの同定の進行度合いを推定する推定手段と、
前記進行度合いが小さいと前記ロボットの衝突を検知し難くなるように、前記検知手段を制御する検知制御手段と
を備えたことを特徴とするロボット制御装置。
【請求項１３】
前記推定手段は、前記摩擦モデルを同定する際に用いられる行列ＡＴＡの対角要素を用いて算出される指標に基づいて、前記進行度合いを推定することを特徴とする請求項１２に記載のロボット制御装置。
【請求項１４】
前記指標は、前記行列ＡＴＡのトレースの値、特異値、１行１列要素、及び、条件数のうちの１つ又は少なくとも２つの組み合わせであることを特徴とする請求項１３に記載のロボット制御装置。
【請求項１５】
前記検知制御手段は、前記進行度合いが予め定められた値よりも小さいと前記ロボットの衝突を検知し難くなるように、前記検知手段を制御することを特徴とする請求項１２に記載のロボット制御装置。
【請求項１６】
前記検知手段は、前記ロボットの推定トルクと実トルクとの差又は前記ロボットから直接推定された外乱値が閾値を超えた場合に、当該ロボットの衝突を検知し、
前記検知制御手段は、前記進行度合いが前記予め定められた値よりも小さいと前記閾値を大きくすることを特徴とする請求項１５に記載のロボット制御装置。
【請求項１７】
前記検知制御手段は、前記ロボットの実際に測定された温度である測定温度が低いと当該ロボットの衝突を検知し難くなるように、前記検知手段を制御することを特徴とする請求項１２に記載のロボット制御装置。
【請求項１８】
ロボットの衝突を検知する検知ステップと、
前記ロボットを動作させ、前記検知ステップでの当該ロボットの衝突の検知に応じて、当該ロボットを停止させるように制御する制御ステップと、
前記ロボットの温度が低いことを示す予め定められた条件が満たされると当該ロボットの衝突を検知し難くなるように、前記検知ステップを制御する検知制御ステップと
を含むことを特徴とするロボット制御方法。
【請求項１９】
ロボットの衝突を検知する検知ステップと、
前記ロボットを動作させ、前記検知ステップでの当該ロボットの衝突の検知に応じて、当該ロボットを停止させるように制御する制御ステップと、
前記ロボットに発生する摩擦をモデル化した摩擦モデルを同定する際に用いられる行列に基づいて、当該摩擦モデルの同定の進行度合いを推定する推定ステップと、
前記進行度合いが小さいと前記ロボットの衝突を検知し難くなるように、前記検知ステップを制御する検知制御ステップと
を含むことを特徴とするロボット制御方法。
【請求項２０】
コンピュータに、
ロボットの衝突を検知する検知機能と、
前記ロボットを動作させ、前記検知機能による当該ロボットの衝突の検知に応じて、当該ロボットを停止させるように制御する制御機能と、
前記ロボットの温度が低いことを示す予め定められた条件が満たされると当該ロボットの衝突を検知し難くなるように、前記検知機能を制御する検知制御機能と
を実現させるためのプログラム。
【請求項２１】
コンピュータに、
ロボットの衝突を検知する検知機能と、
前記ロボットを動作させ、前記検知機能による当該ロボットの衝突の検知に応じて、当該ロボットを停止させるように制御する制御機能と、
前記ロボットに発生する摩擦をモデル化した摩擦モデルを同定する際に用いられる行列に基づいて、当該摩擦モデルの同定の進行度合いを推定する推定機能と、
前記進行度合いが小さいと前記ロボットの衝突を検知し難くなるように、前記検知機能を制御する検知制御機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボット制御方法及びプログラムに関する。
【背景技術】
【０００２】
位置指令、速度指令、加速度指令のうちの少なくとも１つから必要駆動トルク指令の各要素を演算する必要駆動トルク指令要素演算手段と、位置、速度、加速度のうちの少なくとも１つ及び必要駆動トルク指令要素演算手段により演算された必要駆動トルク指令の各要素のうちの少なくとも１つを用いて必要駆動トルクを演算する必要駆動トルク演算手段と、上側しきい値及び下側しきい値を演算するしきい値演算手段と、必要駆動トルク、上側しきい値、下側しきい値及びロボットの各軸を駆動するモータの電流に基づいて衝突を判別する衝突判別手段とを備えたロボット制御装置は、知られている。また、このロボット制御装置において、しきい値演算手段が、記憶されている時間の規定値とタイマー手段から出力されるモータ電源投入後の経過時間を比較し、時間規定値の方が大きい場合は、第１上側しきい値及び第１下側しきい値を採用し、時間規定値の方が小さい場合は、第２上側しきい値及び第２下側しきい値を採用することも、知られている。更に、このロボット制御装置において、パラメータ推定手段が、各軸の粘性摩擦係数とクーロン摩擦係数をオンラインで同定し、同定した各軸の摩擦係数を必要駆動トルク指令要素演算手段及び必要駆動トルク演算手段に送信し、同定進行度判別手段が、パラメータ推定手段から入力されたパラメータ同定値から各軸のクーロン摩擦係数と粘性摩擦係数を選択し、それぞれの変化量を算出し、実際のクーロン摩擦係数変化量及び粘性摩擦係数変化量の両方が規定値以下の軸に関しては同定進行度を１とし、実際のクーロン摩擦係数変化量及び粘性摩擦係数変化量の少なくとも一方が規定値以上の軸は同定進行度を０とし、しきい値演算手段が、同定進行度判別手段から出力される同定進行度が１の軸に関しては、パラメータ同定進行後の上側しきい値及び下側しきい値を設定し、同定進行度判別手段から出力される同定進行度が０の軸に関しては、パラメータ同定進行前の上側しきい値及び下側しきい値を設定することも、知られている。（例えば、特許文献１参照。）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許３８７８０５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、モータ電源投入後の経過時間が規定値を超えたかどうかで閾値を変更する構成を採用した場合、例えばロボットの温度が低くなく摩擦が大きくないために閾値を変更していなければ衝突を検知できる状況において、衝突を検知できなくなる可能性がある。
【０００５】
また、摩擦係数の推定値の変化量が規定値以下となったかどうかで閾値を変更する構成を採用した場合、ロボットの温度が低い領域では温度変化に伴う摩擦変化により摩擦係数の推定値の収束値が変化するため、推定値が収束したかどうか判断することが困難となり、衝突を検知できなくなる可能性がある。
【０００６】
本発明の目的は、例えばロボットの温度が低くなく摩擦が大きくないために閾値を変更していなければ衝突を検知できる状況において、衝突を検知できなくなる可能性を低下させることにある。
【０００７】
また、本発明の他の目的は、摩擦係数の推定値が収束したかどうか判断することを容易にして、衝突を検知できなくなる可能性を低下させることにある。
【課題を解決するための手段】
【０００８】
かかる目的のもと、本発明は、ロボットの衝突を検知する検知手段と、ロボットを動作させ、検知手段によるロボットの衝突の検知に応じて、ロボットを停止させるように制御する制御手段と、ロボットの温度が低いことを示す予め定められた条件が満たされるとロボットの衝突を検知し難くなるように、検知手段を制御する検知制御手段とを備えたロボット制御装置を提供する。
【０００９】
ここで、予め定められた条件は、ロボットの実際に測定された温度である測定温度が低いという条件であってよい。その場合、検知制御手段は、測定温度が予め定められた温度よりも低いとロボットの衝突を検知し難くなるように、検知手段を制御する、ものであってよい。そして、検知手段は、ロボットの推定トルクと実トルクとの差又はロボットから直接推定された外乱値が閾値を超えた場合に、ロボットの衝突を検知し、検知制御手段は、測定温度が予め定められた温度よりも低いと閾値を大きくする、ものであってよい。或いは、検知制御手段は、測定温度が低いほどロボットの衝突を検知し難くなるように、検知手段を制御する、ものであってもよい。そして、検知手段は、ロボットの推定トルクと実トルクとの差又はロボットから直接推定された外乱値が閾値を超えた場合に、ロボットの衝突を検知し、検知制御手段は、測定温度が低いほど閾値を大きくする、ものであってよい。
【００１０】
また、予め定められた条件は、ロボットの温度が低いことが想定される期間として予め定められた期間内に現在日時が含まれるという条件であってもよい。その場合、検知制御手段は、自装置の電源がオンされた後又はロボットのサーボが一定時間オフされた後に、ロボットのサーボがオンされている累積の時間が、予め定められた時間に達していない場合に、ロボットの衝突を検知し難くなるように、検知手段を制御する、ものであってよい。そして、検知手段は、ロボットの推定トルクと実トルクとの差又はロボットから直接推定された外乱値が閾値を超えた場合に、ロボットの衝突を検知し、検知制御手段は、自装置の電源がオンされた後又はロボットのサーボが一定時間オフされた後に、ロボットのサーボがオンされている累積の時間が、予め定められた時間に達していない場合に、閾値を大きくする、ものであってよい。加えて、予め定められた時間に達する前の一定時間において、ロボットの推定トルクと実トルクとの差又はロボットから直接推定された外乱値が、大きくされた後の閾値に近い場合に、予め定められた時間を延長する延長手段を更に備えた、ものであってよい。その場合、延長手段は、ロボットの推定トルクと実トルクとの差又はロボットから直接推定された外乱値の最大値が、大きくされる前の閾値は超えているが、大きくされた後の閾値は超えていない場合に、大きくされた後の閾値に近いと判定する、ものであってよい。
【００１１】
また、本発明は、ロボットの衝突を検知する検知手段と、ロボットを動作させ、検知手段によるロボットの衝突の検知に応じて、ロボットを停止させるように制御する制御手段と、ロボットに発生する摩擦をモデル化した摩擦モデルを同定する際に用いられる行列に基づいて、摩擦モデルの同定の進行度合いを推定する推定手段と、進行度合いが小さいとロボットの衝突を検知し難くなるように、検知手段を制御する検知制御手段とを備えたロボット制御装置も提供する。
【００１２】
ここで、推定手段は、摩擦モデルを同定する際に用いられる行列ＡＴＡの対角要素を用いて算出される指標に基づいて、進行度合いを推定する、ものであってよい。その場合、指標は、行列ＡＴＡのトレースの値、特異値、１行１列要素、及び、条件数のうちの１つ又は少なくとも２つの組み合わせであってよい。
【００１３】
また、検知制御手段は、進行度合いが予め定められた値よりも小さいとロボットの衝突を検知し難くなるように、検知手段を制御する、ものであってよい。そして、検知手段は、ロボットの推定トルクと実トルクとの差又はロボットから直接推定された外乱値が閾値を超えた場合に、ロボットの衝突を検知し、検知制御手段は、進行度合いが予め定められた値よりも小さいと閾値を大きくする、ものであってよい。
【００１４】
更に、検知制御手段は、ロボットの実際に測定された温度である測定温度が低いとロボットの衝突を検知し難くなるように、検知手段を制御する、ものであってよい。
【００１５】
更に、本発明は、ロボットの衝突を検知する検知ステップと、ロボットを動作させ、検知ステップでのロボットの衝突の検知に応じて、ロボットを停止させるように制御する制御ステップと、ロボットの温度が低いことを示す予め定められた条件が満たされるとロボットの衝突を検知し難くなるように、検知ステップを制御する検知制御ステップとを含むロボット制御方法も提供する。
【００１６】
また、本発明は、ロボットの衝突を検知する検知ステップと、ロボットを動作させ、検知ステップでのロボットの衝突の検知に応じて、ロボットを停止させるように制御する制御ステップと、ロボットに発生する摩擦をモデル化した摩擦モデルを同定する際に用いられる行列に基づいて、摩擦モデルの同定の進行度合いを推定する推定ステップと、進行度合いが小さいとロボットの衝突を検知し難くなるように、検知ステップを制御する検知制御ステップとを含むロボット制御方法も提供する。
【００１７】
更に、本発明は、コンピュータに、ロボットの衝突を検知する検知機能と、ロボットを動作させ、検知機能によるロボットの衝突の検知に応じて、ロボットを停止させるように制御する制御機能と、ロボットの温度が低いことを示す予め定められた条件が満たされるとロボットの衝突を検知し難くなるように、検知機能を制御する検知制御機能とを実現させるためのプログラムも提供する。
【００１８】
また、本発明は、コンピュータに、ロボットの衝突を検知する検知機能と、ロボットを動作させ、検知機能によるロボットの衝突の検知に応じて、ロボットを停止させるように制御する制御機能と、ロボットに発生する摩擦をモデル化した摩擦モデルを同定する際に用いられる行列に基づいて、摩擦モデルの同定の進行度合いを推定する推定機能と、進行度合いが小さいとロボットの衝突を検知し難くなるように、検知機能を制御する検知制御機能とを実現させるためのプログラムも提供する。
【発明の効果】
【００１９】
本発明によれば、衝突を検知できなくなる可能性を低下させることができる。
【図面の簡単な説明】
【００２０】
【図１】本実施の形態における溶接ロボットシステムの概略構成図である。
【図２】溶接ロボットの関節の摩擦力と溶接ロボットの減速機の温度との関係を示したグラフである。
【図３】第１の実施の形態におけるロボットコントローラの構成例を示すブロック図である。
【図４】第１の実施の形態におけるロボットコントローラの動作例を示したフローチャートである。
【図５】第２の実施の形態におけるロボットコントローラの構成例を示すブロック図である。
【図６】クーロン摩擦係数が２から１へと時間変化したときのクーロン摩擦係数推定値の変化を表すグラフである。
【図７】ｔｒ（ＡｋＴＡｋ）の変化を表すグラフである。
【図８】（ａ），（ｂ）はＡｋＴＡｋの特異値の変化を表すグラフである。
【図９】ＡｋＴＡｋの１行１列要素の変化を表すグラフである。
【図１０】第２の実施の形態におけるロボットコントローラの動作例を示したフローチャートである。
【図１１】第３の実施の形態におけるロボットコントローラの構成例を示すブロック図である。
【図１２】第３の実施の形態におけるロボットコントローラの動作例を示したフローチャートである。
【図１３】第４の実施の形態におけるロボットコントローラの構成例を示すブロック図である。
【図１４】第４の実施の形態におけるタイムシーケンス図である。
【図１５】第４の実施の形態におけるロボットコントローラの動作例を示したフローチャートである。
【図１６】（ａ），（ｂ）は、衝突判定閾値の状態を表示する画面例を示した図である。
【発明を実施するための形態】
【００２１】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【００２２】
［溶接ロボットシステムの構成］
図１は、本実施の形態における溶接ロボットシステム１の概略構成図である。図示するように、溶接ロボットシステム１は、アーク溶接を行う溶接ロボット１０と、溶接ロボット１０に取り付けられた溶接ワイヤに高電圧を印加し、アークを発生させる溶接電源２０と、これら溶接ロボット１０及び溶接電源２０を制御するロボットコントローラ３０と、教示データを入力する教示装置８０とを備えている。
【００２３】
溶接ロボット１０は、６関節（軸）構成の垂直多関節ロボットであるアーク溶接ロボットである。つまり、溶接ロボット１０は、モータにより駆動される関節を複数（本実施の形態では６個）有する産業用ロボットである。溶接ロボット１０は、ロボットコントローラ３０から後述する必要駆動トルクτ´が印加されると、内蔵するサーボモータが駆動し、所望の姿勢をとることができる。本実施の形態における溶接ロボット１０のアーム先端には、溶接を行うための溶接電流やシールドガス等の供給を行う溶接トーチ１１が装着されている。また、溶接ロボット１０には、溶接ワイヤを溶接トーチ１１の方へ送り供給する送給装置１２が装着されている。
【００２４】
ロボットコントローラ３０は、溶接の制御を行う際の演算処理等を行うＣＰＵ（Central Processing Unit）３０ａと、各種データやＣＰＵ３０ａにて実行されるプログラム等が記憶されたＲＯＭ（Read Only Memory）３０ｂと、ＣＰＵ３０ａの作業用メモリ等として用いられるＲＡＭ（Random Access Memory）３０ｃと、内容を書き換え可能なＥＥＰＲＯＭ（Electrically Erasable & Programmable Read Only Memory）３０ｄと、ＨＤＤ（Hard Disk Drive）３０ｅとを備えている。
【００２５】
ＲＯＭ３０ｂに記憶されたプログラムの中には、例えば、溶接ロボット１０に取り付けられた溶接トーチ１１の移動する目標位置、指定速度が記述された教示プログラム等が含まれる。尚、プログラムをＥＥＰＲＯＭ３０ｄ或いはＨＤＤ３０ｅに記憶してもよい。また、教示プログラムは、教示装置８０からの入力操作又はパーソナルコンピュータ等の不図示の接続機器からの入力操作によって作成、編集可能である。
【００２６】
ロボットコントローラ３０については、後で詳述する。
【００２７】
教示装置８０は、溶接ロボット１０の教示作業の際に、溶接経路や溶接作業条件等を入力するために使用される装置である。教示装置８０は、液晶等により構成された表示画面８１と、入力ボタン８２とを備えている。或いは、教示装置８０は、例えば、低圧の電界を形成したパネルの表面電荷の変化を検知することで指が触れた位置を電気的に検出する静電容量方式や、互いに離間する電極の指が触れた位置が非通電状態から通電状態に変化することによりその位置を電気的に検出する抵抗膜方式等の周知のタッチパネルであってもよい。
【００２８】
［第１の実施の形態］
溶接ロボットシステム１が溶接ロボット１０を動作中に溶接ロボット１０に他の物体が衝突した場合、溶接ロボット１０をそのまま動作させると重大な事故や溶接ロボット１０の破損につながる。そこで、第１の実施の形態における溶接ロボットシステム１は、溶接ロボット１０に他の物体が衝突するとこれを検知して溶接ロボット１０を停止させる衝突検知機能を実装する。
【００２９】
衝突検知機能は、溶接ロボット１０に実際に発生したトルクである実トルクと、溶接ロボット１０に発生する慣性力、遠心力、重力、摩擦力等の推定値の合計である推定トルクとの差として計算される外乱値が、衝突判定閾値を超過した場合に、他の物体と衝突したとみなしてロボットを停止させる。
【００３０】
しかしながら、溶接ロボット１０の駆動部の摩擦力は温度により変化するため、摩擦力が推定値よりも大きくなった場合に外乱値が衝突判定閾値を超過し、衝突検知機能が他の物体と衝突したと誤検知する。特に、極寒地での冬場の早朝等の低温時の起動直後は摩擦力が大きく、衝突検知機能の誤検知が多い。
【００３１】
そこで、第１の実施の形態では、衝突検知機能における他の物体が衝突したと判定するための衝突判定条件を温度に応じて変更し、これにより衝突検知機能の誤検知を減らす。
【００３２】
図２は、溶接ロボット１０の関節の摩擦力と溶接ロボット１０の減速機の温度との関係を示したグラフである。これは、恒温槽内で溶接ロボット１０の手首を動作させ続け、温度の変化と摩擦力の変化を計測したものである。このグラフにより、溶接ロボット１０の関節の摩擦力の変化は溶接ロボット１０の減速機の温度によってよく表現できることが分かる。従って、本実施の形態では、溶接ロボット１０の減速機等の温度を測定し、この温度に応じて衝突判定条件を変更する。
【００３３】
図３は、第１の実施の形態におけるロボットコントローラ３０の構成例を示すブロック図である。図示するように、ロボットコントローラ３０は、制御部４１と、推定トルク算出部４２と、判定値算出部４３と、閾値記憶部４４と、比較部４５と、温度データ取得部４６と、閾値設定部４８とを備えている。
【００３４】
尚、本実施の形態において、ロボットコントローラ３０における各部の機能は、ＣＰＵ３０ａがプログラムをＲＯＭ３０ｂからＲＡＭ３０ｃに読み込んで実行することにより実現される。また、本実施の形態のロボットコントローラ３０における機能を実現するプログラムは、通信手段により提供することはもちろん、ＤＶＤ−ＲＯＭやフラッシュメモリ等の記録媒体に格納して提供するようにしてもよい。
【００３５】
制御部４１は、図示しない記憶部から溶接ロボット１０のモデル（動特性）を読み込み、読み込んだモデルに対して、所望の動作を行わすための各関節（軸）の必要駆動トルクを算出し、この必要駆動トルクを溶接ロボット１０に印加する。これにより、溶接ロボット１０は、制御部４１からの必要駆動トルクに基づいて移動する。そして、溶接ロボット１０のモータのエンコーダにより検出された各関節の角度がロボットコントローラ３０にフィードバックされる。また、制御部４１は、溶接ロボット１０に他の物体が衝突している旨が比較部４５から通知された場合には、溶接ロボット１０の動作を停止すべく、必要駆動トルクを零とする等の処理を行う。本実施の形態では、ロボットを動作させ、検知手段によるロボットの衝突の検知に応じて、ロボットを停止させるように制御する制御手段の一例として、制御部４１を設けている。
【００３６】
推定トルク算出部４２は、制御部４１から入力される必要駆動トルク、溶接ロボット１０のエンコーダから入力される関節角度等に基づいて、各関節に発生する慣性力、遠心力、重力、摩擦力等の推定値の合計である推定トルクを定期的に算出する。推定トルク算出部４２にて算出された推定トルクは判定値算出部４３に出力される。
【００３７】
判定値算出部４３は、推定トルク算出部４２が算出した推定トルクと、溶接ロボット１０から出力された実トルクとの差から、衝突検知の判定に使用する衝突判定値を算出し、この衝突判定値を比較部４５に出力する。
【００３８】
閾値記憶部４４は、衝突検知の判定に使用する衝突検知閾値を記憶する。
【００３９】
比較部４５は、判定値算出部４３が算出した衝突判定値と、閾値記憶部４４に記憶された衝突検知閾値とを比較し、比較結果に基づいて、溶接ロボット１０に他の物体が衝突しているかどうかを判定する。具体的には、比較部４５は、衝突判定値が衝突判定閾値よりも大きければ溶接ロボット１０に他の物体が衝突していると判定し、衝突判定値が衝突検知閾値以下であれば溶接ロボット１０に他の物体が衝突していないと判定する。そして、比較部４５は、溶接ロボット１０に他の物体が衝突していると判定した場合には制御部４１にその旨を通知する。本実施の形態では、ロボットの衝突を検知する検知手段の一例として、また、ロボットの推定トルクと実トルクとの差又はロボットから直接推定された外乱値が閾値を超えた場合に、ロボットの衝突を検知する検知手段の一例として、比較部４５を設けている。
【００４０】
温度データ取得部４６は、溶接ロボット１０の減速機の温度を示す温度データを取得する。減速機の温度としては、減速機内部の温度（例えばグリス温度）や減速機表面の温度を使用するとよい。或いは、温度センサの取り付け易さから、減速機のカバーの温度を使用してもよいし、エンコーダ自体が温度を取得できるようなエンコーダを減速機のエンコーダとして使用してもよい。
【００４１】
閾値設定部４８は、温度データ取得部４６が取得した温度データが示す温度に基づいて、衝突判定閾値を閾値記憶部４４に設定する。この衝突判定閾値の設定方法には、例えば、次のような方法がある。
【００４２】
第１の方法は、温度データ取得部４６が取得した温度データが示す温度が基準温度以上の場合は、通常の閾値を衝突判定閾値として設定し、温度データ取得部４６が取得した温度データが示す温度が基準温度未満の場合は、通常よりも大きい閾値を衝突判定閾値として設定する、というものである。この場合、予め測定された摩擦力と温度との関係（例えば図２）において、ある温度以下になれば実際の摩擦力と基準となる摩擦力との差が通常の閾値で想定される摩擦誤差以上となる場合に、その温度を基準温度とすればよい。尚、この第１の方法は、測定温度が予め定められた温度よりも低いとロボットの衝突を検知し難くなるように、検知手段を制御すること、及び、測定温度が予め定められた温度よりも低いと閾値を大きくすることの一例である。
【００４３】
第２の方法は、温度データ取得部４６が取得した温度データから算出された閾値を衝突判定閾値として設定する方法である。予め測定された摩擦力と温度との関係（例えば図２）に基づいて、通常動作で衝突判定値が超過しないような閾値を、温度に対して線形に変化する値として算出するとよい。例えば、閾値算出式「（閾値）＝ａ×（温度）＋ｂ」によって算出すればよい。ここで、ａ及びｂは任意の定数である。但し、温度が低いほど大きい閾値を設定する必要があるので、ａ＜０とする。また、ここでは、閾値算出式として、減少一次関数を用いたが、二次関数等の他の関数の減少区間を用いてもよい。尚、この第２の方法は、測定温度が低いほどロボットの衝突を検知し難くなるように、検知手段を制御すること、及び、測定温度が低いほど閾値を大きくすることの一例である。
【００４４】
第３の方法は、温度データ取得部４６が取得した温度データが示す温度が基準温度以上の場合は、通常の閾値を衝突判定閾値として設定し、温度データ取得部４６が取得した温度データが示す温度が基準温度未満の場合は、その温度データから算出された閾値を衝突判定閾値として設定する方法である。この場合、予め測定された摩擦力と温度との関係（例えば図２）において、ある温度以下になれば実際の摩擦力と基準となる摩擦力との差が通常の閾値で想定される摩擦誤差以上となる場合に、その温度を基準温度とすればよい。また、温度が基準温度未満の場合は、例えば、上記の閾値算出式によって閾値を設定するとよい。但し、温度が低いほど大きい閾値を設定する必要があるので、上記の閾値算出式で温度を基準温度とした場合の閾値が通常の閾値以上となるように、ａ及びｂの値を決める必要がある。
【００４５】
第４の方法は、温度データ取得部４６が取得した温度データが示す温度が基準温度以上の場合は、その温度データから算出された閾値を衝突判定閾値として設定し、温度データ取得部４６が取得した温度データが示す温度が基準温度未満の場合は、通常よりも大きい閾値を設定する方法である。但し、温度が低いほど大きい閾値を設定する必要があるので、上記の閾値算出式で温度を基準温度とした場合の閾値が前記の通常よりも大きい閾値以下となるように、ａ及びｂの値を決める必要がある。
【００４６】
本実施の形態では、ロボットの実際に測定された温度である測定温度の一例として、温度データ取得部４６が取得した温度データが示す温度を用いている。また、ロボットの温度が低いことを示す予め定められた条件の一例として、温度データ取得部４６が取得した温度データが示す温度が低いという条件を用いており、予め定められた条件が満たされるとロボットの衝突を検知し難くなるように、検知手段を制御する検知制御手段の一例として、閾値設定部４８を設けている。
【００４７】
尚、上記では、推定トルク算出部４２が推定トルクを算出する際に、温度データ取得部４６が取得した温度データを用いることは述べなかったが、温度データ取得部４６が取得した温度データを用いるようにしてもよい。具体的には、推定トルクを推定する際の摩擦力の推定に温度データを用い、より正確な摩擦推定値を求めてもよい。この摩擦推定値の導出方法には、例えば、次のような方法がある。
【００４８】
第１の方法は、予め測定された摩擦力と温度との関係をテーブルとして保持し、温度データ取得部４６が取得した温度データに対応する摩擦力の値を用いる、というものである。
【００４９】
第２の方法は、予め測定された摩擦力と温度との関係を近似して温度を変数とした摩擦のモデルを作成し、温度データ取得部４６が取得した温度データとこの摩擦モデルから摩擦推定値を求めるというものである。摩擦モデルは、例えば、「ｌｏｇ（摩擦推定値）＝ｃ×（温度）＋ｄ」のように近似すればよい。ここで、ｃ及びｄは任意の定数である。
【００５０】
図４は、第１の実施の形態におけるロボットコントローラ３０の動作例を示したフローチャートである。
【００５１】
図示するように、ロボットコントローラ３０では、まず、制御部４１が、溶接ロボット１０を起動後、所定の動作を実現するため、溶接ロボット１０をモータ駆動により制御する（ステップ４０１）。
【００５２】
次に、推定トルク算出部４２が、溶接ロボット１０に発生する慣性力、遠心力、摩擦力等を推定し、推定トルクを算出する（ステップ４０２）。
【００５３】
次に、判定値算出部４３が、溶接ロボット１０に実際に発生したトルクの測定値である実トルクと、ステップ４０２で算出された推定トルクとの差から、衝突判定値を算出する（ステップ４０３）。
【００５４】
一方で、ロボットコントローラ３０では、温度データ取得部４６が、温度センサが測定した溶接ロボット１０の減速機の温度を示す温度データを取得する（ステップ４０４）。
【００５５】
次に、閾値設定部４８が、ステップ４０４で取得された温度データが示す測定温度に基づいて、閾値記憶部４４に衝突判定閾値を設定する。ここでは、衝突判定値が衝突判定閾値を超過すると衝突したと判定するように、衝突判定閾値を設定する。具体的には、まず、ステップ４０４で取得された温度データが示す測定温度が基準温度よりも高いかどうかを判定する（ステップ４０５）。ステップ４０４で取得された温度データが示す測定温度が基準温度よりも高いと判定されなければ、つまり、基準温度以下であると判定されれば、通常の閾値よりも大きい閾値を衝突判定閾値として設定する（ステップ４０６）。一方、ステップ４０４で取得された温度データが示す測定温度が基準温度よりも高いと判定されれば、通常の閾値を衝突判定閾値として設定する（ステップ４０７）。
【００５６】
その後、比較部４５が、ステップ４０３で算出された衝突判定値と、ステップ４０６又はステップ４０７で設定された衝突判定閾値とを比較し、衝突判定値が衝突判定閾値を超えているかどうかを判定する（ステップ４０８）。衝突判定値が衝突判定閾値を超えていると判定されなければ、制御部４１は、処理をステップ４０１へ戻し、溶接ロボット１０の動作を続行する。一方、衝突判定値が衝突判定閾値を超えていると判定されれば、制御部４１は、溶接ロボット１０を停止し（ステップ４０９）、処理を終了する。
【００５７】
尚、この動作例では、ステップ４０２〜４０３を実行した後にステップ４０４〜４０７を実行するようにしたが、この限りではない。ステップ４０２〜４０３とステップ４０４〜４０７を並行に実行するようにしてもよいし、ステップ４０４〜４０７を実行した後にステップ４０２〜４０３を実行するようにしてもよい。
【００５８】
ところで、推定トルク算出部４２がステップ４０２で推定トルクを算出する際に用いるモータ入力や、判定値算出部４３がステップ４０３で衝突判定値を算出する際に用いる実トルクには、ノイズが含まれることが多い。従って、外乱推定オブザーバにより外乱値を直接推定してもよい。その場合、図３では、推定トルク算出部４２に代えて、外乱推定オブザーバを設けるとよい。また、図４では、ステップ４０２を、外乱推定オブザーバにより外乱値を推定するステップに変更し、ステップ４０３を、ステップ４０２で推定された外乱値を衝突判定値とするステップに変更するとよい。
【００５９】
第１の実施の形態によれば、例えばロボットの温度が低くなく摩擦が大きくないために閾値を変更していなければ衝突を検知できる状況において、衝突を検知できなくなる可能性を低下させることができる。
【００６０】
［第２の実施の形態］
第２の実施の形態における溶接ロボットシステム１も、第１の実施の形態における溶接ロボットシステム１と同様に、溶接ロボット１０に他の物体が衝突するとこれを検知して溶接ロボット１０を停止させる衝突検知機能を実装する。但し、第２の実施の形態では、動作状況や温度による摩擦の変化を忘却係数付き逐次最小二乗法により推定する。
【００６１】
図５は、第２の実施の形態におけるロボットコントローラ３０の構成例を示すブロック図である。図示するように、ロボットコントローラ３０は、制御部５１と、推定トルク算出部５２と、判定値算出部５３と、閾値記憶部５４と、比較部５５と、同定進行度算出部５７と、閾値設定部５８とを備えている。
【００６２】
尚、本実施の形態において、ロボットコントローラ３０における各部の機能は、ＣＰＵ３０ａがプログラムをＲＯＭ３０ｂからＲＡＭ３０ｃに読み込んで実行することにより実現される。また、本実施の形態のロボットコントローラ３０における機能を実現するプログラムは、通信手段により提供することはもちろん、ＤＶＤ−ＲＯＭやフラッシュメモリ等の記録媒体に格納して提供するようにしてもよい。
【００６３】
制御部５１は、図示しない記憶部から溶接ロボット１０のモデル（動特性）を読み込み、読み込んだモデルに対して、所望の動作を行わすための各関節（軸）の必要駆動トルクを算出し、この必要駆動トルクを溶接ロボット１０に印加する。これにより、溶接ロボット１０は、制御部５１からの必要駆動トルクに基づいて移動する。そして、溶接ロボット１０のモータのエンコーダにより検出された各関節の角度がロボットコントローラ３０にフィードバックされる。また、制御部５１は、溶接ロボット１０に他の物体が衝突している旨が比較部５５から通知された場合には、溶接ロボット１０の動作を停止すべく、必要駆動トルクを零とする等の処理を行う。本実施の形態では、ロボットを動作させ、検知手段によるロボットの衝突の検知に応じて、ロボットを停止させるように制御する制御手段の一例として、制御部５１を設けている。
【００６４】
推定トルク算出部５２は、制御部５１から溶接ロボット１０のモータへ入力される必要駆動トルク、溶接ロボット１０のエンコーダから入力される関節角度等に基づいて、各関節に発生する慣性力、遠心力、重力、摩擦力等の推定値の合計である推定トルクを定期的に算出する。
【００６５】
制御部５１から入力される必要駆動トルクにより溶接ロボット１０のモータに発生するトルクをτ、制御部５１から入力される必要駆動トルクによる溶接ロボット１０のモータ角度をθとすると、トルクτは次の式で表される。
【００６６】
【数１】
2020019117.tif 000003
【００６７】
ここで、Ｆｒ（ｄθ／ｄｔ）は摩擦力であり、ｆ（θ，ｄθ／ｄｔ，ｄ２θ／ｄｔ２）は慣性力、遠心力等の摩擦力以外の推定値であり、ｄは外乱項である。
【００６８】
Ｆｒ（ｄθ／ｄｔ）＋ｄ＝Ｄとすると、Ｄは次の式により求められる。
【００６９】
【数２】
2020019117.tif 000004
【００７０】
また、摩擦力としてクーロン摩擦力及び粘性摩擦力のみが働くと仮定し、クーロン摩擦係数をＦとし、粘性摩擦係数をＢとすると、Ｆｒ（ｄθ／ｄｔ）は次の式で表される。
【００７１】
【数３】
2020019117.tif 000005
【００７２】
そこで、忘却係数付き逐次最小二乗法により摩擦モデルを同定し、クーロン摩擦係数Ｆ及び粘性摩擦係数Ｂの推定値を求める。
【００７３】
即ち、時刻ステップｋでのモータ角度をθｋとし、時刻ステップｋでの摩擦を含む外乱をＤｋとし、行列Ａｋ，Ｂｋを次のように定義する。
【００７４】
【数４】
2020019117.tif 000006
【００７５】
ここで、ρは忘却係数である。また、行列Ａ０，Ｂ０を次のように定義する。
【００７６】
【数５】
2020019117.tif 000007
【００７７】
時刻ステップｋでのクーロン摩擦係数Ｆ及び粘性摩擦係数Ｂの推定値をそれぞれＦｋ＾，Ｂｋ＾とし、行列Ｘｋを次のように定義する。尚、本明細書では、ハット記号を、数式中では文字の真上に付すが、文中では文字の後ろに付すものとする。
【００７８】
【数６】
2020019117.tif 000008
すると、摩擦モデルは次の式で表される。
【００７９】
【数７】
2020019117.tif 000009
【００８０】
従って、最小二乗法により、Ｘｋは、次のように同定できる。
【００８１】
【数８】
2020019117.tif 000010
【００８２】
これにより、時刻ステップｋでの推定摩擦力Ｆｒｋ＾（ｄθｋ／ｄｔ）は、次のようになる。
【００８３】
【数９】
2020019117.tif 000011
【００８４】
従って、推定トルクτｋ＾は、次の式により算出できる。
【００８５】
【数１０】
2020019117.tif 000012
【００８６】
推定トルク算出部５２にて算出された推定トルクは判定値算出部５３に出力される。
【００８７】
判定値算出部５３は、推定トルク算出部５２が算出した推定トルクと、溶接ロボット１０から出力された実トルクとの差、又は、高周波ノイズによる誤検知を避けるためにその差をフィルタリングしたものから、衝突検知の判定に使用する衝突判定値を算出し、この衝突判定値を比較部５５に出力する。実トルクとしては、指令トルクそのものを用いてもよいし、電流値から換算したものを用いてもよい。
【００８８】
閾値記憶部５４は、衝突検知の判定に使用する衝突検知閾値を記憶する。
【００８９】
比較部５５は、判定値算出部５３が算出した衝突判定値と、閾値記憶部５４に記憶された衝突検知閾値とを比較し、比較結果に基づいて、溶接ロボット１０に他の物体が衝突しているかどうかを判定する。具体的には、比較部５５は、衝突判定値が衝突判定閾値よりも大きければ溶接ロボット１０に他の物体が衝突していると判定し、衝突判定値が衝突検知閾値以下であれば溶接ロボット１０に他の物体が衝突していないと判定する。そして、比較部５５は、溶接ロボット１０に他の物体が衝突していると判定した場合には制御部５１にその旨を通知する。本実施の形態では、ロボットの衝突を検知する検知手段の一例として、また、ロボットの推定トルクと実トルクとの差又はロボットから直接推定された外乱値が閾値を超えた場合に、ロボットの衝突を検知する検知手段の一例として、比較部５５を設けている。
【００９０】
同定進行度算出部５７は、推定トルク算出部５２が同定した摩擦モデルにより、摩擦モデルの同定の進行度合いを算出する。例えば、溶接ロボット１０のモデルを次の式で表したとする。
【００９１】
【数１１】
2020019117.tif 000013
【００９２】
ここで、Ｊｄ２θ／ｄｔ２は慣性項である。また、忘却係数ρ＝０．９９９９とした。
【００９３】
図６はクーロン摩擦係数Ｆが２から１へと時間変化したときのクーロン摩擦係数推定値Ｆｋ＾の変化を表し、図７は推定トルク算出部５２が同定した摩擦モデルＡｋＸｋ＝Ｂｋより求められたｔｒ（ＡｋＴＡｋ）の変化を表している。これらの図より、摩擦係数推定値の収束とｔｒ（ＡｋＴＡｋ）の収束とが対応していることが分かる。よって、同定進行度算出部５７は、ｔｒ（ＡｋＴＡｋ）の値を摩擦モデルの同定の進行度合いの指標として用いることができる。
【００９４】
或いは、同定進行度算出部５７は、ＡｋＴＡｋの特異値を摩擦モデルの同定の進行度合いの指標としてもよい。図８（ａ），（ｂ）は、式（１）のモデルでの摩擦推定のシミュレーションにおけるＡｋＴＡｋの特異値の変化を示す。図６と図８（ａ），（ｂ）より、摩擦係数推定値の収束とＡｋＴＡｋの特異値の収束とが対応していることが分かる。よって、同定進行度算出部５７は、ＡｋＴＡｋの特異値を摩擦モデルの同定の進行度合いの指標として用いることができる。
【００９５】
或いは、同定進行度算出部５７は、ＡｋＴＡｋの１行１列要素を摩擦モデルの同定の進行度合いの指標としてもよい。図９は、式（１）のモデルでの摩擦推定のシミュレーションにおけるＡｋＴＡｋの１行１列要素の変化を示す。図６と図９より、摩擦係数推定値の収束とＡｋＴＡｋの１行１列要素の収束とが対応していることが分かる。よって、同定進行度算出部５７は、ＡｋＴＡｋの１行１列要素を摩擦モデルの同定の進行度合いの指標とすることができる。
【００９６】
或いは、同定進行度算出部５７は、Ａｋの条件数を摩擦モデルの同定の進行度合いの指標としてもよい。例えば、Ａｋの条件数が１００以下等のある程度小さい値になっている場合に、摩擦モデルの同定が進行していると判断することができる。
【００９７】
尚、ここでは、ｔｒ（ＡｋＴＡｋ）の値、ＡｋＴＡｋの特異値、ＡｋＴＡｋの１行１列要素、及び、Ａｋの条件数を、単独で用いることを想定したが、これらのうちの少なくとも２つを組み合わせて用いてもよい。
【００９８】
本実施の形態では、摩擦モデルを同定する際に用いられる行列ＡＴＡの対角要素を用いて算出される指標の一例として、ｔｒ（ＡｋＴＡｋ）の値、ＡｋＴＡｋの特異値、ＡｋＴＡｋの１行１列要素、及び、Ａｋの条件数を用いている。また、ロボットに発生する摩擦をモデル化した摩擦モデルを同定する際に用いられる行列に基づいて、摩擦モデルの同定の進行度合いを推定する推定手段の一例として、同定進行度算出部５７を設けている。
【００９９】
閾値設定部５８は、同定進行度算出部５７が算出した同定の進行度合いに基づいて、衝突判定閾値を閾値記憶部５４に設定する。例えば、ｔｒ（ＡｋＴＡｋ）が図７のように変化する場合、ｔｒ（ＡｋＴＡｋ）＜５０００では同定が進んでいないため通常よりも大きい閾値を設定し、ｔｒ（ＡｋＴＡｋ）≧５０００では同定ができたと判断して通常の閾値を設定する。
【０１００】
本実施の形態では、進行度合いが小さいとロボットの衝突を検知し難くなるように、検知手段を制御する検知制御手段の一例として、閾値設定部５８を設けている。また、進行度合いが予め定められた値よりも小さいとロボットの衝突を検知し難くなるように、検知手段を制御する検知制御手段の一例として、また、進行度合いが予め定められた値よりも小さいと閾値を大きくする検知制御手段の一例として、閾値設定部５８を設けている。
【０１０１】
尚、上記では、推定トルク算出部５２が摩擦力を推定する際に、溶接ロボット１０の温度変化は考慮しなかったが、溶接ロボット１０の温度変化を考慮してもよい。即ち、式（１）に摩擦の温度変化モデルを加えた溶接ロボット１０のモデルは次のようになる。
【０１０２】
【数１２】
2020019117.tif 000014
【０１０３】
ここで、Ｔは温度であり、ＦＴ（Ｔ），ＢＴ（Ｔ）はそれぞれ摩擦の温度変化モデルにより得られるクーロン摩擦係数及び粘性摩擦係数であり、ΔＦ，ΔＢはそれぞれ実際の摩擦係数とＦＴ（Ｔ），ＢＴ（Ｔ）との誤差である。摩擦の温度変化モデルは予め実験により得られているものとすると、摩擦モデルは次のように表される。
【０１０４】
【数１３】
2020019117.tif 000015
【０１０５】
推定トルク算出部５２は、この摩擦モデルにより摩擦モデルを同定することで、より正確な摩擦推定ができる。
【０１０６】
図１０は、第２の実施の形態におけるロボットコントローラ３０の動作例を示したフローチャートである。
【０１０７】
図示するように、ロボットコントローラ３０では、まず、制御部５１が、溶接ロボット１０を起動後、所定の動作を実現するため、溶接ロボット１０をモータ駆動により制御する（ステップ５０１）。
【０１０８】
次に、推定トルク算出部５２が、溶接ロボット１０に発生する慣性力、遠心力、摩擦力等を推定し、推定トルクを算出する（ステップ５０２）。その際、推定トルク算出部５２は、忘却係数付き逐次最小二乗法により摩擦モデルを同定し、この摩擦モデルを用いて推定トルクを算出する。
【０１０９】
次に、判定値算出部５３が、溶接ロボット１０に実際に発生したトルクの測定値である実トルクと、ステップ５０２で算出された推定トルクとの差から、衝突判定値を算出する（ステップ５０３）。
【０１１０】
一方で、ロボットコントローラ３０では、同定進行度算出部５７が、ステップ５０２で同定された摩擦モデルを用いて、同定の進行度合いを算出する（ステップ５０４）。
【０１１１】
次に、閾値設定部５８が、ステップ５０４で算出された同定の進行度合いに基づいて、閾値記憶部５４に衝突判定閾値を設定する。ここでは、衝突判定値が衝突判定閾値を超過すると衝突したと判定するように、衝突判定閾値を設定する。具体的には、まず、ステップ５０４で算出された同定の進行度合いが基準値よりも高いかどうかを判定する（ステップ５０５）。ステップ５０４で算出された同定の進行度合いが基準値よりも高いと判定されなければ、つまり、基準値以下であると判定されれば、通常の閾値よりも大きい閾値を衝突判定閾値として設定する（ステップ５０６）。一方、ステップ５０４で算出された同定の進行度合いが基準値よりも高いと判定されれば、通常の閾値を衝突判定閾値として設定する（ステップ５０７）。
【０１１２】
その後、比較部５５が、ステップ５０３で算出された衝突判定値と、ステップ５０６又はステップ５０７で設定された衝突判定閾値とを比較し、衝突判定値が衝突判定閾値を超えているかどうかを判定する（ステップ５０８）。衝突判定値が衝突判定閾値を超えていると判定されなければ、制御部５１は、処理をステップ５０１へ戻し、溶接ロボット１０の動作を続行する。一方、衝突判定値が衝突判定閾値を超えていると判定されれば、制御部５１は、溶接ロボット１０を停止し（ステップ５０９）、処理を終了する。
【０１１３】
尚、この動作例では、ステップ５０３を実行した後にステップ５０４〜５０７を実行するようにしたが、この限りではない。ステップ５０３とステップ５０４〜５０７を並行に実行するようにしてもよいし、ステップ５０４〜５０７を実行した後にステップ５０３を実行するようにしてもよい。
【０１１４】
ところで、推定トルク算出部５２がステップ５０２で推定トルクを算出する際に用いるモータ入力や、判定値算出部５３がステップ５０３で衝突判定値を算出する際に用いる実トルクには、ノイズが含まれることが多い。従って、外乱推定オブザーバにより外乱値を直接推定してもよい。その場合、図５では、推定トルク算出部５２に代えて、外乱推定オブザーバを設けるとよい。また、図１０では、ステップ５０２を、外乱推定オブザーバにより外乱値を推定するステップに変更し、ステップ５０３を、ステップ５０２で推定された外乱値を衝突判定値とするステップに変更するとよい。
【０１１５】
第２の実施の形態によれば、摩擦係数の推定値が収束したかどうか判断することを容易にして、衝突を検知できなくなる可能性を低下させることができる。
【０１１６】
［第３の実施の形態］
第３の実施の形態における溶接ロボットシステム１は、第１における溶接ロボットシステム１と、第２の実施の形態における溶接ロボットシステム１とを合わせたものである。
【０１１７】
図１１は、第３の実施の形態におけるロボットコントローラ３０の構成例を示すブロック図である。図示するように、ロボットコントローラ３０は、制御部６１と、推定トルク算出部６２と、判定値算出部６３と、閾値記憶部６４と、比較部６５と、温度データ取得部６６と、同定進行度算出部６７と、閾値設定部６８とを備えている。
【０１１８】
制御部６１、推定トルク算出部６２、判定値算出部６３、閾値記憶部６４、比較部６５、及び、同定進行度算出部６７は、図５の制御部５１、推定トルク算出部５２、判定値算出部５３、閾値記憶部５４、比較部５５、及び、同定進行度算出部５７と同じなので、ここでの説明は省略する。また、温度データ取得部６６は、図３の温度データ取得部４６と同じなので、ここでの説明は省略する。
【０１１９】
閾値設定部６８は、同定進行度算出部６７が算出した同定の進行度合いと、温度データ取得部６６が取得した温度データとに基づいて、衝突判定閾値を閾値記憶部６４に設定する。本実施の形態では、進行度合いが小さいとロボットの衝突を検知し難くなるように、かつ、ロボットの実際に測定された温度である測定温度が低いとロボットの衝突を検知し難くなるように、検知手段を制御する検知制御手段の一例として、閾値設定部６８を設けている。
【０１２０】
図１２は、第３の実施の形態におけるロボットコントローラ３０の動作例を示したフローチャートである。
【０１２１】
ステップ６０１〜６０３は、図１０のステップ５０１〜５０３と同じなので、ここでの説明は省略する。
【０１２２】
一方で、ロボットコントローラ３０では、同定進行度算出部６７が、ステップ６０２で同定された摩擦モデルを用いて、同定の進行度合いを算出する（ステップ６０４）。
【０１２３】
また、温度データ取得部６６が、温度センサが測定した溶接ロボット１０の減速機の温度を示す温度データを取得する（ステップ６０５）。
【０１２４】
次に、閾値設定部６８が、ステップ６０４で算出された同定の進行度合いと、ステップ６０５で取得された温度データが示す測定温度とに基づいて、閾値記憶部６４に衝突判定閾値を設定する。ここでは、衝突判定値が衝突判定閾値を超過すると衝突したと判定するように、衝突判定閾値を設定する。具体的には、まず、ステップ６０４で算出された同定の進行度合いが基準値よりも高く、かつ、ステップ６０５で取得された温度データが示す測定温度が基準温度よりも高いかどうかを判定する（ステップ６０６）。ステップ６０４で算出された同定の進行度合いが基準値よりも高く、かつ、ステップ６０５で取得された温度データが示す測定温度が基準温度よりも高いと判定されなければ、つまり、ステップ６０４で算出された同定の進行度合いが基準値以下である、又は、ステップ６０５で取得された温度データが示す測定温度が基準温度以下であると判定されれば、通常の閾値よりも大きい閾値を衝突判定閾値として設定する（ステップ６０７）。一方、ステップ６０４で算出された同定の進行度合いが基準値よりも高く、かつ、ステップ６０５で取得された温度データが示す測定温度が基準温度よりも高いと判定されれば、通常の閾値を衝突判定閾値として設定する（ステップ６０８）。
【０１２５】
その後のステップ６０９〜６１０は、図１０のステップ５０８〜５０９と同じなので、ここでの説明は省略する。
【０１２６】
尚、この動作例では、ステップ６０３を実行した後にステップ６０４〜６０８を実行するようにしたが、この限りではない。ステップ６０３とステップ６０４〜６０８を並行に実行するようにしてもよいし、ステップ６０４〜６０８を実行した後にステップ６０３を実行するようにしてもよい。或いは、ステップ６０４〜６０８のうちステップ６０５だけを、ステップ６０２より前に実行するようにしてもよいし、ステップ６０２と並行に実行するようにしてもよい。
【０１２７】
ところで、推定トルク算出部６２がステップ６０２で推定トルクを算出する際に用いるモータ入力や、判定値算出部６３がステップ６０３で衝突判定値を算出する際に用いる実トルクには、ノイズが含まれることが多い。従って、外乱推定オブザーバにより外乱値を直接推定してもよい。その場合、図１１では、推定トルク算出部６２に代えて、外乱推定オブザーバを設けるとよい。また、図１２では、ステップ６０２を、外乱推定オブザーバにより外乱値を推定するステップに変更し、ステップ６０３を、ステップ６０２で推定された外乱値を衝突判定値とするステップに変更するとよい。
【０１２８】
第３の実施の形態によれば、例えばロボットの温度が低くなく摩擦が大きくないために閾値を変更していなければ衝突を検知できる状況において、衝突を検知できなくなる可能性を低下させることができ、かつ、摩擦係数の推定値が収束したかどうか判断することを容易にして、衝突を検知できなくなる可能性を低下させることができる。
【０１２９】
［第４の実施の形態］
第４の実施の形態における溶接ロボットシステム１も、第１〜第３の実施の形態における溶接ロボットシステム１と同様に、溶接ロボット１０に他の物体が衝突するとこれを検知して溶接ロボット１０を停止させる衝突検知機能を実装する。但し、第４の実施の形態では、冬季期間中に溶接ロボット１０の動作状況が一定の条件を満たす場合に、衝突検知機能における衝突判定閾値を変更するようにする。
【０１３０】
図１３は、第４の実施の形態におけるロボットコントローラ３０の構成例を示すブロック図である。図示するように、ロボットコントローラ３０は、制御部７１と、推定トルク算出部７２と、判定値算出部７３と、閾値記憶部７４と、比較部７５と、パラメータ記憶部７６と、変動値記憶部７７と、閾値設定部７８と、変動値算出部７９とを備えている。
【０１３１】
制御部７１、推定トルク算出部７２、判定値算出部７３、閾値記憶部７４、及び、比較部７５は、図３の制御部４１、推定トルク算出部４２、判定値算出部４３、閾値記憶部４４、及び、比較部４５と同じなので、ここでの説明は省略する。
【０１３２】
パラメータ記憶部７６は、閾値設定部７８が衝突判定閾値を閾値記憶部７４に設定する際に参照する各種パラメータを記憶する。各種パラメータは、次のパラメータを含む。
【０１３３】
即ち、第１のパラメータは、冬季期間の開始時期である。開始時期は、開始月（例えば１１月）であってよい。第２のパラメータは、冬季期間の終了時期である。終了時期は、終了月（例えば３月）であってよい。
【０１３４】
第３のパラメータは、冬季期間中に衝突判定閾値として通常よりも大きい閾値が設定されるための前提となる溶接ロボット１０が停止していた時間である。以下では、この時間をｔ０とする。時間ｔ０は例えば１時間であってよい。
【０１３５】
第４のパラメータは、冬季期間中に衝突判定閾値として通常よりも大きい閾値が設定された動作（以下、「冬季動作」という）が行われるために必要となる溶接ロボット１０がサーボをＯＮしていた累積の時間（累積サーボＯＮ時間）である。以下では、この時間をｔ１とする。時間ｔ１は例えば３０分であってよい。
【０１３６】
第５のパラメータは、冬季期間中に衝突判定値の監視が開始されるために必要となる溶接ロボット１０がサーボをＯＮしていた累積の時間（累積サーボＯＮ時間）である。以下では、この時間をｔ２とする。時間ｔ２は例えば２４分であってよい。或いは、時間ｔ２に代えて、その時点における冬季動作が行われるために必要となる溶接ロボット１０の累積サーボＯＮ時間に対する割合を定めておいてもよい。
【０１３７】
第６のパラメータは、冬季期間中に衝突判定閾値として設定される通常よりも大きい閾値から通常の閾値を減じた値である。以下では、この値をΔＴｈとする。値ΔＴｈは例えば通常の閾値の６０％であってよい。
【０１３８】
変動値記憶部７７は、溶接ロボットシステム１の動作に伴って変動する値である各種変動値を記録する。各種変動値は、次の変動値を含む。
【０１３９】
即ち、第１の変動値は、その時点における冬季動作が行われるために必要となる溶接ロボット１０の累積サーボＯＮ時間である。以下では、この時間をＴ１とする。尚、第１の変動値である時間Ｔ１には、初期状態においては、パラメータ記憶部７６に記憶された第４のパラメータである時間ｔ１が設定されているものとする。
【０１４０】
第２の変動値は、その時点における衝突判定値の監視が開始されるために必要となる溶接ロボット１０の累積サーボＯＮ時間である。以下では、この時間をＴ２とする。尚、第２の変動値である時間Ｔ２には、初期状態においては、パラメータ記憶部７６に記憶された第５のパラメータである時間ｔ２が設定されているものとする。但し、パラメータ記憶部７６に第５のパラメータとして、時間ｔ２ではなく、その時点における冬季動作が行われるために必要となる溶接ロボット１０の累積サーボＯＮ時間に対する割合が記憶されている場合には、変動値記憶部７７は第２の変動値を記憶していなくてもよい。
【０１４１】
第３の変動値は、その時点における衝突判定値の監視が行われる区間内で最大の衝突判定値（以下、「最大判定値」という）である。尚、第３の変動値である最大判定値には、初期状態においては、衝突判定値の最小値（例えば０）が設定されているものとする。
【０１４２】
閾値設定部７８は、パラメータ記憶部７６に記憶された各種パラメータと、変動値記憶部７７に記憶された各種変動値とに基づいて、衝突判定閾値を閾値記憶部７４に設定する。
【０１４３】
具体的には、閾値設定部７８は、現在日付がパラメータ記憶部７６に記憶された第１のパラメータである冬季期間の開始時期と第２のパラメータである冬季期間の終了時期との間にある場合に、溶接ロボット１０の動作状況に関する条件が満たされれば、通常の閾値に代えて、通常よりも大きい閾値を閾値記憶部７４に設定する。ここで、溶接ロボット１０の動作状況に関する条件は、溶接ロボットシステム１が電源ＯＮされた後、又は、パラメータ記憶部７６に記憶された第３のパラメータである時間ｔ０以上溶接ロボット１０のサーボがＯＦＦされた後、動作開始からの累積サーボＯＮ時間が、変動値記憶部７７に記憶された第１の変動値である時間Ｔ１に達していない、という条件である。そして、通常よりも大きい閾値は、パラメータ記憶部７６に記憶された第６のパラメータである値ΔＴｈを通常の閾値に加算した閾値である。
【０１４４】
本実施の形態では、ロボットの温度が低いことが想定される期間として予め定められた期間の一例として、冬季期間を用いている。また、ロボットの温度が低いことを示す予め定められた条件の一例として、現在日付がパラメータ記憶部７６に記憶された第１のパラメータである冬季期間の開始時期と第２のパラメータである冬季期間の終了時期との間にあるという条件を用いており、予め定められた条件が満たされるとロボットの衝突を検知し難くなるように、検知手段を制御する検知制御手段の一例として、閾値設定部７８を設けている。更に、自装置の電源がオンされた後又はロボットのサーボが一定時間オフされた後に、ロボットのサーボがオンされている累積の時間が、予め定められた時間に達していない場合に、ロボットの衝突を検知し難くなるように、検知手段を制御する検知制御手段の一例として、また、自装置の電源がオンされた後又はロボットのサーボが一定時間オフされた後に、ロボットのサーボがオンされている累積の時間が、予め定められた時間に達していない場合に、閾値を大きくする検知制御手段の一例として、閾値設定部７８を設けている。
【０１４５】
変動値算出部７９は、溶接ロボット１０が、電源ＯＮされた後、又は、パラメータ記憶部７６に記憶された第３のパラメータである時間ｔ０以上溶接ロボット１０が停止した後、動作開始からの累積サーボＯＮ時間が、変動値記憶部７７に記憶された第２の変動値である時間Ｔ２を経過してから、変動値記憶部７７に記憶された第１の変動値である時間Ｔ１に達するまで、その時点での衝突判定値が最大であれば、これを第３の変動値である最大判定値として変動値記憶部７７に記憶する。
【０１４６】
また、変動値算出部７９は、溶接ロボット１０が、電源ＯＮされた後、又は、パラメータ記憶部７６に記憶された第３のパラメータである時間ｔ０以上溶接ロボット１０が停止した後、動作開始からの累積サーボＯＮ時間が、変動値記憶部７７に記憶された第１の変動値である時間Ｔ１に達した時点で、変動値記憶部７７に記憶された最大判定値が、通常の閾値よりも大きく、かつ、パラメータ記憶部７６に記憶された第６のパラメータである値ΔＴｈを通常の閾値に加算した閾値よりも小さい場合は、変動値記憶部７７に記憶された第１の変動値である時間Ｔ１に、パラメータ記憶部７６に記憶された第４のパラメータである時間ｔ１を加算することにより、冬季動作を行う時間を延長する。また、パラメータ記憶部７６が第５のパラメータとして時間ｔ２を記憶している場合には同様に、変動値記憶部７７に記憶された第２の変動値である時間Ｔ２に、パラメータ記憶部７６に記憶された第４のパラメータである時間ｔ１を加算することにより、冬季期間中に衝突判定値の監視を開始するタイミングも延期する。尚、ここでは、変動値記憶部７７に記憶された最大判定値が、通常の閾値よりも大きく、かつ、通常の閾値に値ΔＴｈを加算した閾値よりも小さい場合に、冬季動作を行う時間を延長することとしたが、この限りではない。判定値算出部７３が算出した衝突判定値が、通常の閾値に値ΔＴｈを加算した閾値に近付いていることを示す他の条件が満たされる場合に、冬季動作を行う時間を延長することとしてもよい。
【０１４７】
本実施の形態では、予め定められた時間に達する前の一定時間において、ロボットの推定トルクと実トルクとの差又はロボットから直接推定された外乱値が、大きくされた後の閾値に近い場合に、予め定められた時間を延長する延長手段の一例として、また、ロボットの推定トルクと実トルクとの差又はロボットから直接推定された外乱値の最大値が、大きくされる前の閾値は超えているが、大きくされた後の閾値は超えていない場合に、大きくされた後の閾値に近いと判定し、予め定められた時間を延長する延長手段の一例として、変動値算出部７９を設けている。
【０１４８】
ここで、変動値算出部７９は、第１のパラメータから第６のパラメータの変更を、パラメータ記憶部７６に即時反映するものとする。但し、第３のパラメータである時間ｔ０や第４のパラメータである時間ｔ１のカウント中に第１のパラメータから第５のパラメータを変更した場合は、カウント終了後に変更を適用するものとする。
【０１４９】
図１４は、第４の実施の形態におけるタイムシーケンス図である。このタイムシーケンス図において、サーボＯＮ７２１及びサーボＯＦＦ７２２は、サーボがＯＮされている状態及びサーボがＯＦＦされている状態の推移を示す。適用時間７２３は、冬季動作が適用される時間を示す。衝突判定値監視区間７２４は、衝突判定値が最大であるかどうかが監視される区間を示す。リセット時間７２５は、サーボがＯＦＦされている時間を示す。冬季動作７２６及び通常動作７２７は、それぞれ、通常よりも大きい閾値が閾値記憶部７４に設定されている期間及び通常の閾値が閾値記憶部７４に設定されている期間を示す。但し、このタイムシーケンス図においては、冬季動作を行う時間の延長は考慮していない。
【０１５０】
図示するように、電源がＯＮされた後、動作開始からの累積サーボＯＮ時間が時間ｔ１に達するまで冬季動作が行われる。その際、動作開始からの累積サーボＯＮ時間が時間ｔ２に達した後、時間ｔ１に達するまでの区間においては、衝突判定値がその区間内で最大であるかどうかの判定も行われる。
【０１５１】
また、サーボがＯＦＦしてから時間ｔ０が経過した後も、電源がＯＮされた後と同様に動作する。これについては図示していないが、動作開始からの累積サーボＯＮ時間が時間ｔ１に達するまで冬季動作が行われる。
【０１５２】
図１５は、第４の実施の形態におけるロボットコントローラ３０の動作例を示したフローチャートである。
【０１５３】
図示するように、ロボットコントローラ３０では、まず、制御部７１が、溶接ロボット１０を起動後、所定の動作を実現するため、溶接ロボット１０をモータ駆動により制御する（ステップ７０１）。
【０１５４】
次に、推定トルク算出部７２が、溶接ロボット１０に発生する慣性力、遠心力、摩擦力等を推定し、推定トルクを算出する（ステップ７０２）。
【０１５５】
次に、判定値算出部７３が、溶接ロボット１０に実際に発生したトルクの測定値である実トルクと、ステップ７０２で算出された推定トルクとの差から、衝突判定値を算出する（ステップ７０３）。
【０１５６】
一方で、ロボットコントローラ３０では、閾値設定部７８が、パラメータ記憶部７６に記憶された各種パラメータと、変動値記憶部７７に記憶された各種変動値とに基づいて、閾値記憶部７４に衝突判定閾値を設定する。ここでは、衝突判定値が衝突判定閾値を超過すると衝突したと判定するように、衝突判定閾値を設定する。
【０１５７】
具体的には、閾値設定部７８は、現在日時が冬季期間内にあるかどうかを判定する（ステップ７０４）。具体的には、現在日付が、パラメータ記憶部７６に記憶された冬季期間の開始時期と終了時期との間にあるかどうかを判定する。
【０１５８】
まず、現在日時が冬季期間内にあると閾値設定部７８が判定した場合について説明する。この場合、閾値設定部７８は、電源ＯＮ後、又は、パラメータ記憶部７６に記憶された時間ｔ０以上溶接ロボット１０が停止した後、動作開始からの累積サーボＯＮ時間が、変動値記憶部７７に記憶された時間Ｔ１に達したかどうかを判定する（ステップ７０５）。
【０１５９】
動作開始からの累積サーボＯＮ時間が時間Ｔ１に達していないと判定すれば、閾値設定部７８は、パラメータ記憶部７６に記憶された値ΔＴｈを通常の閾値に加算した通常よりも大きい閾値を衝突判定閾値として閾値記憶部７４に設定する（ステップ７０６）。その後、閾値設定部７８は、動作開始からの累積サーボＯＮ時間が、変動値記憶部７７に記憶された時間Ｔ２に達したかどうかを判定する（ステップ７０７）。動作開始からの累積サーボＯＮ時間が時間Ｔ２に達したと判定されれば、変動値算出部７９が、ステップ７０３で算出された衝突判定値が、変動値記憶部７７に記憶された最大判定値よりも大きいかどうかを判定する（ステップ７０８）。ステップ７０３で算出された衝突判定値が、変動値記憶部７７に記憶された最大判定値よりも大きいと判定すれば、変動値算出部７９は、ステップ７０３で算出された衝突判定値を最大判定値として変動値記憶部７７に記憶し（ステップ７０９）、処理をステップ７１３へ進める。一方、ステップ７０３で算出された衝突判定値が、変動値記憶部７７に記憶された最大判定値よりも大きいと判定しなければ、変動値算出部７９は、ステップ７０３で算出された衝突判定値を変動値記憶部７７に記憶することなく、処理をステップ７１３へ進める。また、動作開始からの累積サーボＯＮ時間が時間Ｔ２に達したと判定しない場合も、閾値設定部７８が、そのまま処理をステップ７１３へ進める。
【０１６０】
一方、動作開始からの累積サーボＯＮ時間が時間Ｔ１に達したと判定すれば、変動値算出部７９が、変動値記憶部７７に記憶された最大判定値が、通常の閾値よりも大きく、かつ、パラメータ記憶部７６に記憶された値ΔＴｈを通常の閾値に加算した閾値よりも小さいかどうかを判定する（ステップ７１０）。変動値記憶部７７に記憶された最大判定値が、通常の閾値よりも大きく、かつ、パラメータ記憶部７６に記憶された値ΔＴｈを通常の閾値に加算した閾値よりも小さいと判定すれば、変動値算出部７９は、変動値記憶部７７に記憶された時間Ｔ１に、パラメータ記憶部７６に記憶された時間ｔ１を加算し（ステップ７１１）、処理をステップ７１３へ進める。一方、変動値記憶部７７に記憶された最大判定値が、通常の閾値よりも大きく、かつ、パラメータ記憶部７６に記憶された値ΔＴｈを通常の閾値に加算した閾値よりも小さいと判定しなければ、変動値算出部７９は、変動値記憶部７７に記憶された時間Ｔ１を変更することなく、閾値設定部７８が、閾値記憶部７４に衝突判定閾値として記憶された通常よりも大きい閾値を、通常の閾値に戻し（ステップ７１２）、処理をステップ７１３へ進める。
【０１６１】
次に、現在日時が冬季期間内にあると閾値設定部７８が判定しなかった場合について説明する。この場合、閾値設定部７８は、通常の閾値を衝突判定閾値として閾値記憶部７４に記憶し（ステップ７１２）、処理をステップ７１３へ進める。
【０１６２】
その後、比較部７５が、ステップ７０３で算出された衝突判定値と、ステップ７０６又はステップ７１２で設定された衝突判定閾値とを比較し、衝突判定値が衝突判定閾値を超えているかどうかを判定する（ステップ７１３）。衝突判定値が衝突判定閾値を超えていると判定されなければ、制御部７１は、処理をステップ７０１へ戻し、溶接ロボット１０の動作を続行する。一方、衝突判定値が衝突判定閾値を超えていると判定されれば、制御部７１は、溶接ロボット１０を停止し（ステップ７１４）、処理を終了する。
【０１６３】
ところで、推定トルク算出部７２がステップ７０２で推定トルクを算出する際に用いるモータ入力や、判定値算出部７３がステップ７０３で衝突判定値を算出する際に用いる実トルクには、ノイズが含まれることが多い。従って、外乱推定オブザーバにより外乱値を直接推定してもよい。その場合、図１３では、推定トルク算出部７２に代えて、外乱推定オブザーバを設けるとよい。また、図１５では、ステップ７０２を、外乱推定オブザーバにより外乱値を推定するステップに変更し、ステップ７０３を、ステップ７０２で推定された外乱値を衝突判定値とするステップに変更するとよい。
【０１６４】
図１６（ａ），（ｂ）は、閾値記憶部７４に記憶された衝突判定閾値の状態を表示する画面例を示した図である。
【０１６５】
図１６（ａ）は、通常動作を行っているときの画面７４１を示す。図示するように、画面７４１では、閾値欄７４２に示すように、各軸に対して、通常動作用の衝突判定閾値として、通常の閾値「５０」が設定されていることが示されている。
【０１６６】
図１６（ｂ）は、冬季動作を行っているときの画面７５１を示す。図示するように、画面７５１では、閾値欄７５２に示すように、各軸に対して、冬季動作用の衝突判定閾値として、通常の閾値「５０」の６０％増しである通常よりも大きい閾値「８０」が設定されていることが示されている。また、このように冬季動作用の衝突判定閾値が設定されていることは、閾値欄７５２を、図１６（ａ）の閾値欄７４２とは異なる態様で表示することで示せばよい。ここでは、閾値欄７５２を太枠で囲んで表示している。
【０１６７】
尚、図１６（ａ）の画面７４１及び図１６（ｂ）の画面７５１において、「現在値」は現在の衝突判定値の瞬時値を示している。一方、「最大値」はこれまでの衝突判定値の最大値を示している。この最大値が衝突判定閾値に対して十分小さければ、正常に動作している事を示している。また閾値を決定する際、この一連の動作を行った際の最大値に対して余裕を持って大きな値を閾値に与えればよく、最大値は閾値の決定に対して参考にする事ができる。
【０１６８】
第４の実施の形態によれば、例えばロボットの温度が低くなく摩擦が大きくないために閾値を変更していなければ衝突を検知できる状況において、衝突を検知できなくなる可能性を低下させることができる。
【符号の説明】
【０１６９】
１…溶接ロボットシステム、３０…ロボットコントローラ、４１，５１，６１，７１…制御部、４２，５２，６２，７２…推定トルク算出部、４３，５３，６３，７３…判定値算出部、４４，５４，６４，７４…閾値記憶部、４５，５５，６５，７５…比較部、４６，６６…温度データ取得部、４８，５８，６８，７８…閾値設定部、５７，６７…同定進行度算出部、７６…パラメータ記憶部、７７…変動値記憶部、７９…変動値算出部
【図１】
2020019117.tif 000016
【図２】
2020019117.tif 000017
【図３】
2020019117.tif 000018
【図４】
2020019117.tif 000019
【図５】
2020019117.tif 000020
【図６】
2020019117.tif 000021
【図７】
2020019117.tif 000022
【図８】
2020019117.tif 000023
【図９】
2020019117.tif 000024
【図１０】
2020019117.tif 000025
【図１１】
2020019117.tif 000026
【図１２】
2020019117.tif 000027
【図１３】
2020019117.tif 000028
【図１４】
2020019117.tif 000029
【図１５】
2020019117.tif 000030
【図１６】
2020019117.tif 000031