(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-09
(45)【発行日】2024-04-17
(54)【発明の名称】多関節型ロボット用の制御装置及び多関節型ロボット
(51)【国際特許分類】
B25J 19/06 20060101AFI20240410BHJP
【FI】
B25J19/06
(21)【出願番号】P 2019175443
(22)【出願日】2019-09-26
【審査請求日】2022-08-24
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100121821
【氏名又は名称】山田 強
(74)【代理人】
【識別番号】100125575
【氏名又は名称】松田 洋
(72)【発明者】
【氏名】花見 明弘
(72)【発明者】
【氏名】▲高▼村 紀貴
(72)【発明者】
【氏名】佐藤 晶則
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特開平9-179632(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 19/06
(57)【特許請求の範囲】
【請求項1】
複数の可動部を一連となるようにして連結する複数の関節部と、それら関節部を各々駆動させる駆動部とを有する多関節型ロボットに適用される制御装置であって、
前記可動部が物体に衝突したことを検知する衝突検知部と、
前記衝突検知部により前記衝突が検知された場合に、前記駆動部の制御態様を、前記多関節型ロボットの自重によって各前記駆動部に負荷されるトルクと釣り合う保持トルクを発生させ且つ外力により前記可動部を変位させることが可能な特殊制御態様に切り替える切替部と、
前記駆動部の制御態様が前記特殊制御態様となっている状況下にて前記関節部が回動する場合に、当該回動を抑制する抵抗を発生させる抵抗発生部と、
前記衝突検知部により前記衝突が検知された場合に、当該衝突の影響に応じて変化する物理量又は当該物理量から算出した相関値である相関パラメータを前記関節部毎に取得して記憶する記憶部と
を備え、
前記抵抗発生部による前記抵抗の大きさは、前記相関パラメータに基づいて前記関節部毎に決定される制御装置。
【請求項2】
前記抵抗発生部は、前記相関パラメータが表す前記衝突との相関の度合いが、所定度合いよりも大きい場合の前記抵抗を、前記所定度合いよりも小さい場合の前記抵抗よりも小さくするように構成されている請求項1に記載の制御装置。
【請求項3】
前記相関パラメータは、前記相関値として前記抵抗発生部にて前記抵抗の大きさを決定する際に用いられる抵抗係数を含み、
前記抵抗係数が大きくなることで前記抵抗が大きくなるように規定されており、
前記抵抗係数には下限値が設けられており、
前記関節部のうち少なくとも前記衝突との相関の度合いが最も大きい関節部に対応する前記抵抗係数は前記下限値となる請求項1又は請求項2に記載の制御装置。
【請求項4】
前記抵抗発生部は、前記抵抗として前記関節部の回動方向とは逆向きの抵抗トルクを発生させるように前記駆動部を制御する構成となっており、
前記駆動部の制御態様が前記特殊制御態様となっている状況下においては、前記関節部の回動中は当該関節部用の前記駆動部に前記抵抗トルクが発生し、当該関節部の静止中は当該駆動部に前記保持トルクが発生する請求項1乃至請求項3のいずれか1つに記載の制御装置。
【請求項5】
前記抵抗トルクは、前記関節部の回動速度と前記相関パラメータとに基づいて決定され、前記回動速度が高いほど当該抵抗トルクが大きくなる請求項4に記載の制御装置。
【請求項6】
前記物理量を前記関節部毎に取得する取得部を備え、
前記衝突検知部は、前記取得部により取得された前記物理量に基づいて前記ロボットが物体に衝突したことを検知する構成となっており、
前記取得部により取得された前記物理量に基づいて前記相関値を算出する算出部を備え、
前記記憶部は、前記算出部により算出された前記相関値を前記相関パラメータとして記憶するように構成されている請求項1乃至請求項5のいずれか1つに記載の制御装置。
【請求項7】
前記物理量を前記関節部毎に取得する取得部を備え、
前記衝突検知部は、前記取得部により取得された前記物理量が予め記憶されている衝突検知用の閾値を上回っている場合に前記ロボットが物体に衝突したことを検知する構成となっており、
前記取得部により取得された前記物理量と前記閾値との対比により前記相関パラメータである前記相関値を算出する算出部を備えている請求項1乃至請求項6のいずれか1つに記載の制御装置。
【請求項8】
前記物理量を前記関節部毎に取得する取得部を備え、
前記衝突が発生した場合に当該衝突の前後における前記物理量に基づいて前記相関パラメータである前記相関値を算出する算出部を備えている請求項1乃至請求項
6のいずれか1つに記載の制御装置。
【請求項9】
請求項1乃至請求項8のいずれか1つに記載された制御装置を備えている多関節型ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多関節型ロボット用の制御装置及び多関節型ロボットに関する。
【背景技術】
【0002】
複数の可動部(例えばアーム部)を一連となるようにして連結する関節部と各関節部に設けられたサーボモータ等の駆動部とを有してなる多関節型ロボットには、可動部がワーク等の物体に衝突したことを検知可能となるように構成されたものがある。例えば特許文献1に記載された多関節型ロボットは、衝突の原因となる駆動を行った駆動部のトルクをロボットの自重を支えることができる程度、すなわちロボットの姿勢を保持することができる程度となるように制御するように構成されている。このように衝突検知後は発生させるトルクを抑えることにより、可動部を手で押す等して移動させることが可能となる。これは、例えば物体の回収等に際して当該物体から可動部を引き離す場合の作業負荷を軽減し、作業者の利便性の向上を図る上で好ましい。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、上述したように衝突後は発生させるトルクを抑える構成においては、上記作業に際して可動部が勢いよく押される等することで、当該可動部が本来の軌道から大きく外れる可能性が高くなる。これは、多関節型ロボットを衝突前の姿勢に復帰させる際の所要時間が嵩む要因になると想定される。また、作業者に押されて可動部が大きく変位した場合には当該可動部等と他の物体との二次衝突が発生する可能性が高くなる。これは、ロボットの安全性の向上を図る上で好ましくない。このように、利便性及び安全性の向上を図る上で多関節型ロボットの衝突対策に係る構成には未だ改善の余地がある。
【0005】
本発明は、上記課題に鑑みてなされたものであり、その主たる目的は、物体との衝突時における多関節型ロボットの利便性及び安全性を好適に向上させることにある。
【課題を解決するための手段】
【0006】
以下、上記課題を解決するための手段について記載する。
【0007】
第1の手段.複数の可動部を一連となるようにして連結する複数の関節部と、それら関節部を各々駆動させる駆動部とを有する多関節型ロボットに適用される制御装置であって、
前記可動部が物体に衝突したことを検知する衝突検知部と、
前記衝突検知部により前記衝突が検知された場合に、前記駆動部の制御態様を、前記多関節型ロボットの自重によって各前記駆動部に負荷されるトルクと釣り合う保持トルクを発生させ且つ外力により前記可動部を変位させることが可能な特殊制御態様に切り替える切替部と、
前記駆動部の制御態様が前記特殊制御態様となっている状況下にて前記関節部が回動する場合に、当該回動を抑制する抵抗を発生させる抵抗発生部と、
前記衝突検知部により前記衝突が検知された場合に、当該衝突の影響に応じて変化する物理量又は当該物理量から算出した相関値である相関パラメータを前記関節部毎に取得して記憶する記憶部と
を備え、
前記抵抗発生部による前記抵抗の大きさは、前記相関パラメータに基づいて前記関節部毎に決定される。
【0008】
上記構成によれば、ロボットの可動部がワーク等の物体に衝突したことが検知された場合には、駆動部の制御態様が特殊制御態様となる。この特殊制御態様においてはロボットの自重を支えることができる程度、すなわちロボットの姿勢を保持することができる程度となるようにして各駆動部のトルクが制御される。発生するトルクを最小限に留めて各関節部の柔軟性を高めることにより、手で押す等して可動部を移動させる際の作業負荷を軽減できる。これは、例えばテーブル等の載置部とロボットとの間に位置する(挟まれた)ワーク等の物体の回収を容易とする上で好ましい。また、ワーク等の物体に力がかかり続けることを回避できるため、当該物体を保護する上でも好ましい。
【0009】
ここで、上述の如く各関節部の柔軟性を高めた場合には、手で可動部が勢いよく押される等することで目標とする軌道からのずれが大きくなり得る。また、衝突時に可動部が跳ね返りやすくなることで、当該軌道からのずれが大きくなり得る。このような軌道のずれはロボットと他の物体との二次衝突の原因になると懸念される。この点、上記構成においては特殊制御態様となっている状況下にて可動部が変位する場合、すなわち関節部が回動する場合には当該回動を抑制する抵抗が付加される。これにより、軌道からのずれを軽減し、上記二次衝突の発生を抑制できる。これは、ロボットの安全性を向上させたり、ロボット等の保護を図ったりする上で好ましい。上記構成においては特に、関節部毎に衝突との相関の度合いを示す(関連性の強さを示す)相関パラメータが記憶され、それら相関パラメータを用いて関節部毎に上記抵抗の大きさが決定される。このように衝突との相関の度合いを抵抗の大きさに反映することにより、手で可動部が押された場合の各関節部の無駄な動きを好適に抑制できる。
【0010】
また、衝突発生時には各駆動部の制御態様が上記特殊制御態様となり、衝突の勢いを各関節部において吸収することができる。このような構成とすれば、例えば1の関節部によってのみ衝突の勢いを吸収する構成と比較して衝突に起因した大幅な軌道のずれを抑制できる。これは、衝突前の状態(軌道)にロボットを速やかに復帰させる上で好ましい。
【0011】
なお、「特殊制御態様においては、前記駆動部に速度0の速度指令を与える速度制御により停止状態において保持トルクを発生させる構成」とすることも可能である。
【0012】
第2の手段.前記抵抗発生部は、前記相関パラメータが表す前記衝突との相関の度合いが、所定度合いよりも大きい場合の前記抵抗を、前記所定度合いよりも小さい場合の前記抵抗よりも小さくするように構成されている。
【0013】
上記構成によれば衝突との相関の度合いが大きい(相関が強い)関節部については抵抗が小さくなり、衝突との相関の度合いが小さい(相関が弱い)関節部については抵抗が大きくなる。このような構成とすれば、作業者等が手で押す等してロボットの可動部を衝突対象(物体)から引き離す際の作業負荷を軽減しつつ、当該作業によって衝突との相関が弱い部分で可動部が大きく変位することを抑制できる。このようにして不要な変位を抑制することは、例えば衝突発生後にロボットを衝突前の位置(姿勢)に復帰させる際の所要時間の短縮を図る上で好ましい。
【0014】
なお、上記構成を「前記相関パラメータの値が前記衝突との相関の度合いが相対的に大きいことを示している場合には前記抵抗が相対的に大きくなり、前記相関パラメータの値が前記衝突との相関の度合いが相対的に小さいことを示している場合には前記抵抗が相対的に小さくなるようにして前記抵抗を発生させる構成となっている。」とすることも可能である、また、「前記相関パラメータの値が、前記衝突との相関の度合いが相対的に大きいことを示している場合には、前記衝突との相関の度合いが相対的に小さいことを示している場合よりも小さくなる。」とすることも可能である。
【0015】
第3の手段.前記相関パラメータは、前記相関値として前記抵抗発生部にて前記抵抗の大きさを決定する際に用いられる抵抗係数を含み、
前記抵抗係数が大きくなることで前記抵抗が大きくなるように規定されており、
前記抵抗係数には下限値が設けられており、
前記関節部のうち少なくとも前記衝突との相関の度合いが最も大きい関節部に対応する前記抵抗係数は前記下限値となる。
【0016】
衝突と主たる要因となった(相関の度合いが最も大きい)関節部に対応する抵抗係数は下限値となる。これにより、作業者等が手で押す等して衝突対象(物体)からロボットの可動部を引き離す際の作業負荷を好適に軽減できる。
【0017】
第4の手段.前記抵抗発生部は、前記抵抗として前記関節部の回動方向とは逆向きの抵抗トルクを発生させるように前記駆動部を制御する構成となっており、
前記駆動部の制御態様が前記特殊制御態様となっている状況下においては、前記関節部の回動中は当該関節部用の前記駆動部に前記抵抗トルクが発生し、当該関節部の静止中は当該駆動部に前記保持トルクが発生する。
【0018】
関節部が回動する場合にその回動方向とは逆向きの抵抗トルクを発生させることにより、衝突直後の跳ね返りや外力等の影響による可動部の変位を好適に抑制できる。そして、可動部が変位している場合と変位していない場合とで保持トルク/抵抗トルクを切り替えることにより、関節部の柔軟性を高めつつそれに起因した過度な変位を抑制できる。
【0019】
第5の手段.前記抵抗トルクは、前記関節部の回動速度と前記相関パラメータとに基づいて決定され、前記回動速度が高いほど当該抵抗トルクが大きくなる。
【0020】
発生させる抵抗トルクに関節部の回動速度を加味することにより、手で可動部が勢いよく押された場合に可動部が過度に大きく変位することを抑制できる。また、発生させるトルクを姿勢維持用の保持トルクから抵抗トルクへ切替える際(衝突検知時)には関節部の回動速度が低くなる。つまり、切替当初の抵抗トルクを比較的小さく抑えることができる。これにより、トルクの急激な変化に起因した挙動の乱れ(振動等の発生)を好適に抑制できる。
【0021】
第6の手段.前記物理量を前記関節部毎に取得する取得部を備え、
前記衝突検知部は、前記取得部により取得された前記物理量に基づいて前記ロボットが物体に衝突したことを検知する構成となっており、
前記取得部により取得された前記物理量に基づいて前記相関値を算出する算出部を備え、
前記記憶部は、前記算出部により算出された前記相関値を前記相関パラメータとして記憶するように構成されている。
【0022】
衝突検知に使用する物理量から相関値(相関パラメータ)を算出する構成、すなわち取得した物理量を衝突検知と抵抗決定とで併用する構成とすれば、上述の如く抵抗を衝突との相関の度合いに応じて決定する機能を実現する上で情報取得→処理に係る構成が複雑化することを抑制できる。
【0023】
第7の手段.前記物理量を前記関節部毎に取得する取得部を備え、
前記衝突検知部は、前記取得部により取得された前記物理量が予め記憶されている衝突検知用の閾値を上回っている場合に前記ロボットが物体に衝突したことを検知する構成となっており、
前記取得部により取得された前記物理量と前記閾値との対比により前記相関パラメータである前記相関値を算出する算出部を備えている。
【0024】
衝突検知に使用する物理量を用いて相関値を算出する構成、すなわち当該物理量を併用する構成とすれば、情報取得→処理に係る構成が複雑になることを抑制できる。また、相関値の算出に衝突検知用の閾値を利用することにより相関値算出に係る構成の簡略化に寄与できる。
【0025】
第8の手段.前記物理量を前記関節部毎に取得する取得部を備え、
前記衝突が発生した場合に当該衝突の前後における前記物理量に基づいて前記相関パラメータである前記相関値を算出する算出部を備えている。
【0026】
衝突検知に使用する物理量を用いて相関値を算出する構成、すなわち当該物理量を併用する構成とすれば、情報取得→処理に係る構成が複雑になることを抑制できる。なお、衝突前後における物理量の差については衝突との相関が強いものほど大きくなり得る。そこで、当該差に基づいて相関値を算出することにより、相関の度合いを抵抗の大きさに好適に反映できる。
【0027】
第9の手段.前記制御装置を備えている多関節型ロボット。
【0028】
上記制御装置を適用した多関節型ロボットによれば、衝突時の当該ロボットの利便性及び安全性を好適に向上させることができる。
【図面の簡単な説明】
【0029】
【
図1】第1の実施形態におけるロボットシステムの概略図。
【
図2】ロボットシステムの電気的構成を示すブロック図。
【
図10】モータ毎のダンパ係数の違いを例示した概略図。
【
図13】第2の実施形態における衝突対応処理を示すフローチャート。
【
図15】モータ毎の停止制御態様を例示した概略図。
【
図16】第3の実施形態における抵抗トルク算出の流れを示す概略図。
【
図17】特殊停止態様の選択に係る変形例を示す概略図。
【発明を実施するための形態】
【0030】
<第1の実施の形態>
以下、第1の実施形態について図面を参照しつつ説明する。本実施形態は、機械組立工場において人間と協働する産業用ロボットのロボットシステムに具現化している。
【0031】
図1に示すように、ロボットシステム10は、ロボット20と、当該ロボット20用のモーションコントローラ70とを備えている。ロボット20は、垂直多関節型(6軸)の産業用ロボットであるロボット本体30と、当該ロボット本体30に付属のサーボアンプ50とで構成されている。
【0032】
ロボット本体30は、床等に固定されるベース部31と、当該ベース部31により支持されているショルダ部32と、当該ショルダ部32により支持されている下アーム部33と、当該下アーム部33により支持されている第1上アーム部34と、当該第1上アーム部34により支持されている第2上アーム部35と、当該第2上アーム部35により支持されている手首部36と、当該手首部36により支持されているフランジ部37とを有している。
【0033】
ベース部31及びショルダ部32には、それらベース部31及びショルダ部32を連結する第1関節部J1が形成されており、ショルダ部32(第1関節部J1)は第1関節部J1の連結軸AX1を中心として水平方向に回動可能となっている。ショルダ部32及び下アーム部33には、それらショルダ部32及び下アーム部33を連結する第2関節部J2が形成されており、下アーム部33(第2関節部J2)は第2関節部J2の連結軸AX2を中心として上下方向に回動可能となっている。下アーム部33及び第1上アーム部34には、それら下アーム部33及び第1上アーム部34を連結する第3関節部J3が形成されており、第1上アーム部34(第3関節部J3)は第3関節部J3の連結軸AX3を中心として上下方向に回動可能となっている。第1上アーム部34及び第2上アーム部35には、それら第1上アーム部34及び第2上アーム部35を連結する第4関節部J4が形成されており、第2上アーム部35(第4関節部J4)は第4関節部J4の連結軸AX4を中心として捻り方向に回動可能となっている。第2上アーム部35及び手首部36には、それら第2上アーム部35及び手首部36を連結する第5関節部J5が形成されており、手首部36(第5関節部J5)は第5関節部J5の連結軸AX5を中心として上下方向に回動可能となっている。手首部36及びフランジ部37には、それら手首部36及びフランジ部37を連結する第6関節部J6が形成されており、フランジ部37(第6関節部J6)は第6関節部J6の連結軸AX6を中心として捻り方向に回動可能となっている。本実施形態では、ショルダ部32、下アーム部33、第1上アーム部34、第2上アーム部35、手首部36、フランジ部37が「可動部」に相当する。
【0034】
ショルダ部32、下アーム部33、第1上アーム部34、第2上アーム部35、手首部36、フランジ部37は一連となるように配列されることでロボット本体30におけるアームを構成しており、当該アームの先端部であるフランジ部37にはエンドエフェクタ(手先)が取り付けられている。なお、上記連結軸AX1,AX4,AX6はアームの長手方向に対して平行となっており、連結軸AX2,AX3,AX5は当該長手方向と直交している。
【0035】
各関節部J1~J6にはそれら関節部J1~J6を回動させる駆動部としてモータ41(具体的にはサーボモータ)が各々配設されている。モータ41はサーボアンプ50に接続されており、当該サーボアンプ50の制御部51は上述したモーションコントローラ70から受信した指令に基づいてモータ41の駆動制御を行う。なお、本実施形態では、サーボアンプ50が「制御装置」に相当する。
【0036】
ここで、
図2を参照して、ロボットシステム10の電気的構成について補足説明する。モーションコントローラ70は、上位コントローラCからの動作指示を受けてプログラム記憶部から当該動作指示に対応した動作プログラムを読み込み且つ読み込んだ動作プログラムから動作目標位置を特定する。その後は、特定した動作目標位置とロボット20のアーム(各可動部)の現在の位置とを滑らかに繋ぐ目標軌道を生成し、当該目標軌道を細分化した位置である補間位置をサーボアンプ50に順次送信する。
【0037】
サーボアンプ50の制御部51には、位置制御部、速度制御部、電流制御部及び各種情報を記憶する記憶部52が設けられている。位置制御部にはモータ41に付属のエンコーダ42が接続されている。位置制御部ではエンコーダ値に基づいてモータ41の回転位置(すなわちアームの位置)を検出する。位置制御部及び速度制御部においては、検出したアームの位置とモーションコントローラ70から受信した指令に含まれる補間位置との偏差に基づいて各モータ41の目標トルク及び目標回転速度を算出する。電流制御部は、算出された目標トルク及び目標回転速度に基づいて各モータ41に供給する電力(電流、電圧、パルス)を決定し、各モータ41に電力供給を行う。
【0038】
上述したロボット20については、様々な要因によって人やワーク等の物体に衝突する可能性がある。本実施形態に示すロボット20は、このような衝突が発生した場合に上記補間位置への移動を中止しアームを停止させることによりロボット20やワークの故障や破損等を抑える保護機能を有している。以下、
図3及び
図4を参照して当該保護機能について説明する。
【0039】
図3に示すように、ロボット20(詳しくは各関節部J1~J6)の停止態様として、モータ41の予備励磁の方法が異なる通常停止態様と特殊停止態様とが設けられている。
【0040】
通常停止態様は、アームを停止させた際の当該アームの位置、詳しくは各可動部の位置を基準位置としてを記憶し、当該基準位置からアームがずれないように位置制御を行う停止態様である(所謂サーボロック)。つまり、アームが基準位置に静止している場合にはモータ41に当該基準位置を保持する保持トルクを発生させ、基準位置からアームがずれるように変位する場合及び変位した場合には基準位置に復帰させるようにしてモータ41に回動用の駆動トルクを発生させるようにモータ41が制御される停止態様である。本実施形態においてはこの制御態様が「所定制御態様」に相当する。
【0041】
これに対して、特殊停止態様は、モータ41に速度0の速度指令を与える速度制御を行うことにより停止中においてモータ41に保持トルクを発生させる停止態様である。特殊停止態様において発生する保持トルクは、アームの自重によって各モータ41に負荷されるトルクと釣り合う大きさとなるように設定される。このようにしてモータ41に発生するトルクを最小限に抑えることにより、停止中のアームを手で押す等して移動させる場合の作業負荷が軽減されている。ここで、特殊停止態様となっている場合には、通常停止態様となっている場合とは異なり、停止中にアームを手で押す等して移動させた場合には、アームは上記基準位置に戻ることなく移動後の位置に停止することとなる。本実施形態においてはこの制御態様が「特殊制御態様」に相当する。
【0042】
モーションコントローラ70からの指令を完遂して次の指令を待つ待機状態に移行した場合の停止態様は通常停止態様となり、上述した衝突を契機としてロボット20を停止させた場合の停止態様は特殊停止態様となる。
【0043】
ここで、特殊停止態様においては上述の如くモータ41に発生するトルクが最小限に抑えられるため、衝突した際の勢いによって衝突対象からアームが跳ね返る可能性がある。例えば
図4に示すようにアームが位置Z2から位置Z1に向けて移動している最中に衝突が発生し、特殊停止態様となるようにしてアームを停止させる場合には、当該衝突を契機としてモータ41を回動させる駆動トルクがカットされる。保持トルクについては駆動トルクよりも弱いため、当該保持トルクによってアームの動きを完全に抑えることは困難であり、衝突したアームは慣性によって位置Z2側に跳ね返ることとなる。この際、関節部については衝突前とは逆の方向に回動する。
【0044】
特殊停止態様となっている状況下にて作業者が手で押す等してアームの位置(姿勢)を変更した場合には、当該変更後の位置(姿勢)が維持される。このため、例えばアームとテーブルとの間に位置する(挟まった)ワークを回収する場合には、アームを手で押し退けることで回収作業を迅速且つ容易に行うことができる。しかしながら、衝突を契機として特殊停止態様にてアームを停止させることは、衝突時の跳ね返りが大きくなって他の物体との二次衝突が発生する要因になると懸念される。本実施形態では、このような不都合の発生を抑える工夫がなされていることを特徴の1つとしている。具体的には、特殊停止態様となっている状況下にてアームが変位する場合には、当該変位を抑制する抵抗を発生させるダンパ機能を有している。ここで、当該ダンパ機能を発揮させるための構成について説明する。
【0045】
図2に示すように、サーボアンプ50の制御部51にはモータ41に付属のエンコーダ42が接続されている。制御部51では、エンコーダ42から取得したエンコーダ値に基づいてモータ41の回転位置(アームの位置、関節部の角度)、回転方向(アームの変位方向、関節部の回動方向)、回転速度(アームの変位速度、関節部の回動速度)を検出可能となっている。
【0046】
特殊停止態様中にアームが変位した場合、すなわち関節部の角度が変化した場合には、関節部の回動方向とは逆向きの抵抗トルクが発生するようにしてモータ41の駆動制御を行う。これにより、過剰な跳ね返りを抑制している。例えば、
図4に示す例では、位置Z1→位置Z2に向けたアームの変位を打ち消すようにして位置Z2→位置Z1向きの抵抗トルクを発生させることで過剰な跳ね返りが抑制されている。
【0047】
次に、図5を参照して、サーボアンプ50の制御部51において定期処理(駆動制御処理)の一環として実行される衝突対応処理について説明する。なお、以下の説明では、第1関節部J1に付属のモータ41を「モータM1」、第2関節部J2に付属のモータ41を「モータM2」、第3関節部J3に付属のモータ41を「モータM3」、第4関節部J4に付属のモータ41を「モータM4」、第5関節部J5に付属のモータ41を「モータM5」、第6関節部J6に付属のモータ41を「モータM6」として適宜区別する。
【0048】
衝突対応処理においては先ず、ステップS101にてロボット20が特殊停止中であるか否かを判定する。ステップS101にて否定判定をした場合には、ステップS102に進み、衝突監視処理を実行する。衝突監視処理では、衝突の影響によって変化する物理量としてモータM1~M6に供給される電流の電流値を電流制御部に付属の電流センサ(電流検出部)から各々取得し、それら取得した電流値を記憶部52に記憶する。そして、各電流値と衝突判定用の閾値とを対比して、衝突の有無を判定する。モータM1~M6に係る電流値の何れについても閾値を越えていない場合には、ステップS103にて否定判定をして本衝突対応処理を終了する。
【0049】
図6(a)→図6(b)に示す例では、第1関節部J1(モータM1)、第4関節部J4(モータM4)、第6関節部J6(モータM6)については通常停止態様にて停止しており、第2関節部J2(モータM2)及び第3関節部J3(モータM3)は低速で回動し、第5関節部J5(モータM5)は高速で回動する振り下ろし動作中にワークWと衝突している。第2関節部J2、第3関節部J3、第5関節部J5については何れもワークWに近づく側への回動ではあるが、その動作速度の違いから電流値の変化量に違いが生じる。図7には、図6に示す例について衝突が発生する前後の電流量の変化を各関節部J1~J6(モータM1~M6)毎に記載している。この例では、モータM5の電流値が衝突時に大きく変化して閾値を超えており、モータM5の電流値から衝突が検知される。つまり、この例では、第5関節部J5(モータM5)の動きが衝突の主たる要因になっている。
【0050】
モータM1~M6に係る電流値の何れかが閾値を越えている場合には、ステップS103にて肯定判定をしてステップS104に進む。ステップS104では、衝突発生時のアームの現在位置(詳しくは各可動部の現在位置)を基準位置として記憶部52に記憶する。
【0051】
続くステップS105では相関値算出処理を実行する。相関値算出処理では、記憶部52に記憶されている衝突発生時の電流値と上述した衝突判定用の閾値とを参照して、衝突との相関の度合いを示す相関値を関節部J1~J6毎に算出する(
図8参照)。具体的には、相関値=(衝突時の電流値)/(衝突判定用の閾値)×100%の式に各値を代入して関節部J1~J6毎に相関値を算出する。つまり、相関値は、その値が大きいほど衝突との相関の度合いが大きいことを意味する。
【0052】
ステップS105にて相関値を算出した後は、ステップS106に進み上記抵抗トルクの大きさを決定するための係数であるダンパ係数(「抵抗係数」に相当)の算出処理を実行する。詳細については後述するが、本実施形態においては、関節部の回動速度(角速度)とダンパ係数とに基づいて上記抵抗トルクが決定される(図8参照)。
【0053】
ダンパ係数には設定範囲(上限(最大値)~下限(最小値))が設けられており、相関値を参照してこの設定範囲内で決定される。具体的には、
図9に示すように、相関値が0%~100%の範囲においては、相関値が大きくなるにつれてダンパ係数が比例的に
小さくなる。つまり、衝突との相関の度合いが大きくなることでダンパ係数の値は下限に近付き、衝突との相関の度合いが小さくなることでダンパ係数の値は上限に近づくように規定されている。なお、ダンパ係数の上限(最大値)については、静止中の関節部に振動が生じない最も大きい値であり、ダンパ係数の下限(最小値)については、強い衝突後に関節部の角度が許容範囲を超えて動かない中で最も低い値である。因みに、相関値が大きくなるにつれてダンパ係数が
小さくなるような関係となっているのであれば足り、必ずしも相関値が大きくなるとダンパ係数が比例的に小さくなる関係に限定されるものではない。
【0054】
例えば
図6及び
図7に示す例では、第5関節部J5(モータM5)に係る相関値が100%以上となっているため、ダンパ係数は最小値が設定される。また、
図10に示すように、第1関節部J1(モータM1)、第4関節部J4(モータM4)、第6関節部J6(モータM6)に係る各相関値は低いためそれら第1関節部J1(モータM1)、第4関節部J4(モータM4)、第6関節部J6(モータM6)に係るダンパ係数は高くなっており、第2関節部J2(モータM2)及び第3関節部J3(モータM3)に係る相関値は中程度であるためそれら第2関節部J2(モータM2)及び第3関節部J3(モータM3)に係るダンパ係数も中程度となっている。
【0055】
図5の衝突対応処理の説明に戻り、ステップS106にてダンパ係数を算出した後は、ステップS107にてダンパ有効化処理を実行する。続くステップS108では、全ての関節部J1~J6を対象として特殊停止処理を行う。特殊停止処理ではモータ41の制御態様を停止制御態様の1つである特殊制御態様に切り替える。これにより、アームを目標軌道に沿って移動させるための駆動トルクの出力が停止され、各関節部J1~J6が上記特殊停止態様にて停止することとなる。
る。
【0056】
ステップS101の説明に戻り、特殊停止中である場合には、当該ステップS101にて肯定判定をしてステップS109に進む。ステップS109では、特殊停止の解除条件が成立しているか否かを判定する。例えば、衝突発生後に全ての関節部J1~J6が完全に停止してから所定の待機期間を経過した場合や、関節部J1~J6の少なくとも何れかが予め設定された角度を超えるようにして回動した場合には解除条件成立となる。
【0057】
特殊停止の解除条件が成立していない場合には、ステップS109にて否定判定をしてステップS110に進む。ステップS110では外力の入力監視処理を実行する。具体的には、アームが作業者に押される等して各関節部J1~J6の回動角度が強制的に変化されたか否かを監視し、回動角度が変化している場合、すなわち外力による強制変位が発生している場合には回動速度(角速度)を検出する。外力による強制変位が発生していない場合(変位中でない場合)には、ステップS111にて否定判定をして本衝突対応処理を終了する。強制変位が発生している場合(変位中である場合)には、ステップS111にて肯定判定をしてステップS112に進む。
【0058】
ステップS112では、ステップS110にて取得した回動速度(角速度)と、ステップS106にて算出したダンパ係数とに基づいてモータ41に発生させる抵抗トルクを算出する。発生させる抵抗トルクは、抵抗トルク=回動速度×ダンパ係数の式から算出される。このため、例えば回転速度が0の場合には抵抗トルクは発生せず、回動速度が大きくなることで抵抗トルクも大きくなるように構成されている。特殊停止態様となっている最中にモータ41に発生させるトルクを姿勢維持用の保持トルクから抵抗トルクへ切替える際(衝突検知時)には関節部の回動速度が低くなる。つまり、切替当初の抵抗トルクを比較的小さく抑えることができる。これにより、トルクの急激な変化に起因した挙動の乱れ(振動等の発生)を好適に抑制できる。
【0059】
ステップS112にて抵抗トルクを算出した後は、ステップS113にてダンパ制御処理を実行した後、本衝突対応処理を終了する。ダンパ制御処理は「抵抗発生部」に相当し、当該ダンパ制御処理によって関節部の回動角度が変化している最中にそれとは逆向きの抵抗トルクが発生することとなる。
【0060】
ステップS109の説明に戻り、当該ステップS109にて肯定判定をした場合、すなわち特殊停止の解除条件が成立した場合には、ステップS114~S115の解除用処理を実行した後、本衝突対応処理を終了する。具体的には、先ずステップS114にてダンパ無効化処理を実行し、その後ステップS115にて動作再開処理を実行する。動作再開処理では、モータ41の制御態様を停止制御態様(特殊制御態様)から駆動制御態様に切り替える。当該切替後は、ステップS104にて記憶した基準位置へアームが復帰するように各モータ41を駆動制御する。
【0061】
以上詳述した第1の実施形態によれば、以下の優れた効果が期待できる。
【0062】
上記構成によれば、ロボット20のアームがワークW等の物体に衝突したことが検知された場合には、各モータ41の制御態様が特殊制御態様となる。この特殊制御態様においてはアームの自重を支えることができる程度、すなわちアームの姿勢を保持することができる程度となるようにして各モータ41のトルクが制御される。発生するトルクを最小限に留めて各関節部J1~J6の柔軟性を高めることにより、手で押す等してアームを移動させる際の作業負荷を軽減できる。これは、例えばテーブル等の載置部とアームとの間に位置する(挟まれた)ワークW等の物体の回収を容易とする上で好ましい。
【0063】
ここで、上述の如く各関節部J1~J6の柔軟性を高めた場合には、手でアームが勢いよく押される等することで目標軌道からのずれが大きくなり得る。また、衝突時にアームが跳ね返りやすくなることで、当該軌道からのずれが大きくなり得る。このような軌道のずれはアームと他の物体との二次衝突の原因になると懸念される。この点、上記構成においては特殊制御態様となっている状況下にてアームが変位する場合、すなわち関節部J1~J6が回動する場合には当該回動を抑制する抵抗トルクが付加される。上述したダンパ機能がOFFとなっている場合や当該機能が設けられていない場合を想定すると、
図11(a)→
図11(b)に示すようにアームがワークWに衝突して跳ね返る場合には、当該跳ね返りを抑えるような逆向きの抵抗トルクが発生しない。このため、アームの跳ね返りの幅は大きくなると想定される。これに対して、ダンパ機能がONとなっていれば、
図12(a)→
図12(b)に示すように、アームがワークWに衝突して跳ね返る場合には、当該跳ね返りを抑えるような逆向きの抵抗トルクが発生する。このため、アームの跳ね返りの幅はダンパ機能がOFFの場合と比較して小さくなる。これにより、軌道からのずれを軽減し、上記二次衝突の発生を抑制できる。これは、ロボットの安全性を向上させたり、ロボット等の保護を図ったりする上で好ましい。
【0064】
ここで、上述したように特殊停止態様中の変位を抑制すべく抵抗トルクを発生させる構成においては、全ての抵抗トルクを一律に決定することで以下の不都合が生じ得る。例えば、全ての抵抗トルクを低く設定した場合には、作業者の意図とは異なる関節部が回動して所望とする姿勢に上手く姿勢を変化させることができなくなり作業性の向上効果を上手く発揮させることができない可能性が高くなる。また、姿勢変化が過剰となって基準位置への復帰動作の所要時間が嵩むといった弊害が生じ得る。これに対して、全ての抵抗トルクを一律に高く設定した場合には、手で押す等して姿勢を変化させる際に必要な操作力が大きくなって作業者の利便性が大きく低下し得る。
【0065】
この点、本実施形態では、関節部毎に衝突との相関の度合いを示す相関値が算出され、それら相関値から算出されたダンパ係数が算出される。関節部毎にそれらダンパ係数を用いて抵抗トルクの大きさを決定することにより、衝突との相関の度合いを抵抗の大きさに反映することができる。つまり、衝突との相関の度合いが大きい(相関が強い)関節部については抵抗が小さくなり、衝突との相関の度合いが小さい(相関が弱い)関節部については抵抗が大きくなる。このような構成とすれば、作業者等が手で押す等してロボットの可動部を衝突対象(物体)から引き離す際の作業負荷を軽減しつつ、当該作業によって衝突との相関が弱い部分で可動部が大きく変位することを抑制できる。このようにして不要な変位を抑制することは、例えば衝突発生後にロボットを衝突前の位置(姿勢)に復帰させる際の所要時間の短縮を図る上でも好ましい。
【0066】
また、衝突発生時には各駆動部の制御態様が上記特殊制御態様となり、衝突の勢いを各関節部J1~J6において吸収することができる。このような構成とすれば、例えば1の関節部によってのみ衝突の勢いを吸収する構成と比較して衝突に起因した大幅な軌道のずれを抑制できる。これは、衝突前の状態(軌道)にロボットを速やかに復帰させる上で好ましい。
【0067】
衝突検知の要因となった関節部については、相関値が100%に達することでダンパ係数は下限値に設定され、相関値が100%を超えたとしても抵抗トルクが極端に小さくなること、実質的に機能しなくなることを抑制できる。
【0068】
<第2の実施形態>
上記第1の実施形態では、アームがワーク等の物体に衝突した際には衝突との相関の度合いに関係なく全ての関節部J1~J6を特殊停止態様にて停止させる構成とした。本実施形態では、アームがワーク等の物体に衝突した際には衝突との相関の度合いに基づいて特殊停止態様にて停止させる対象を決定する構成となっている点で第1の実施形態と構成が相違している。以下、
図13を参照して、第1の実施形態との相違点を中心に本実施形態における特徴的な構成について説明する。
【0069】
本実施形態における衝突対応処理では、ステップS201にてロボット20における少なくとも何れかの関節部が特殊停止中であるか否かを判定する。ステップS201にて否定判定をした場合には、ステップS202に進み、衝突監視処理を実行する。衝突監視処理では、モータM1~M6に供給される電流の電流値を電流制御部に付属の電流センサ(電流検出部)から各々取得し、それら取得した電流値を記憶部52に記憶する。そして、各電流値と衝突判定用の第1閾値とを対比して、衝突の有無を判定する。モータM1~M6に係る電流値の何れについても閾値を越えていない場合には、ステップS203にて否定判定をして本衝突対応処理を終了する。モータM1~M6に係る電流値の何れかが閾値に達している場合には、ステップS203にて肯定判定をしてステップS204に進む。ステップS204では、衝突発生時のアームの位置(現在位置)を基準位置として記憶部52に記憶する。
【0070】
続くステップS205では相関値算出処理を実行する。相関値算出処理では、記憶部52に記憶されている衝突発生時の電流値と上述した衝突判定用の閾値とを参照して、衝突との相関の度合いを示す相関値を関節部J1~J6毎に算出する。ステップS205にて相関値を算出した後は、ステップS206に進み特殊停止の対象、すなわち特殊停止態様にて停止させる関節部(特殊制御態様に切り替えるモータ41)を決定する。具体的には、ステップS205にて算出した相関値が基準値(80%)以上である関節部が特殊停止の対象となる。
【0071】
例えば、第1関節部J1(モータM1)、第4関節部J4(モータM4)、第6関節部J6(モータM6)については通常停止態様にて停止しており、第2関節部J2(モータM2)及び第3関節部J3(モータM3)は低速で回動し、第5関節部J5(モータM5)は高速で回動する振り下ろし動作中にワークWと衝突した場合には、第2関節部J2、第3関節部J3、第5関節部J5については何れもワークWに近づく側への回動ではあるが、その動作速度の違いから電流値の変化量に違いが生じる。この例では、
図14に示すように、モータM5の電流値が衝突時に大きく変化して閾値を超え、モータM5の電流値から衝突が検知される。つまり、この例では、第5関節部J5(モータM5)の動きが衝突の主たる要因になっている。ここで、モータM2の電流値から算出された相関値及びモータM3の電流値から算出された相関値については上記基準値を超えているため、第
5関節部J
5(モータM
5)とともに第2関節部J2(モータM2)及び第3関節部J3(モータM3)についても特殊停止の対象となる。これに対して、モータM1の電流値から算出された相関値、モータM4の電流値から算出された相関値、モータM6の電流値から算出された相関値については上記基準値を超えていないため、第1関節部J1(モータM1)、第4関節部J4(モータM4)、第6関節部J6(モータM6)については特殊停止の対象から外れ、通常停止態様で停止される。
【0072】
図13の説明に戻り、ステップS206にて特殊停止の対象を決定した後は、ステップS207に進み、特殊停止の対象に係るダンパ係数の算出処理を実行する。つまり、ステップS206にて特殊停止の対象となったものについてのみダンパ係数が算出される。例えば、
図14に示した例では、衝突の主たる要因となった(衝突検知の契機となった)第5関節部J5(モータM5)については相関値が高くなる。このため、ダンパ係数については低く抑えられることなる。これに対して、第2関節部J2(モータM2)及び第3関節部J3(モータM3)については相関値が中程度となっているため、ダンパ係数についても中程度となる(
図15参照)。
【0073】
ステップS207にてダンパ係数を算出した後は、ステップS208にてダンパ有効化処理を実行する。続くステップS209では、ステップS206にて決定された関節部のモータ41については特殊停止処理を行い、それ以外のモータ41については通常停止処理を行う。特殊停止処理ではモータ41の制御態様を停止制御態様の1つである特殊制御態様に切り替える。通常停止処理ではモータ41の制御態様を停止制御態様の1つである通常制御態様に切り替える。なお、通常停止制御によりモータ41が停止された関節部の停止態様は通常停止態様となり、上記基準位置からのずれが発生した場合には、当該ずれを解消するようにして関節部が動作する。
【0074】
ステップS201の説明に戻り、当該ステップS201にて肯定判定をした場合には、ステップS210に進む。ステップS210では、特殊停止の解除条件が成立しているか否かを判定する。特殊停止の解除条件が成立していない場合には、ステップS210にて否定判定をしてステップS211に進む。ステップS211では外力の入力監視処理を実行する。外力による強制変位が発生していない場合(変位中でない場合)には、ステップS212にて否定判定をして本衝突対応処理を終了する。外力による強制変位が発生している場合(変位中である場合)には、ステップS212にて肯定判定をしてステップS213に進む。
【0075】
ステップS213では強制変位が特殊停止の対象となっている関節部において発生しているか否かを判定する。ステップS213にて肯定判定をした場合には、ステップS214に進み、ステップS211にて取得した回動速度(角速度)と、ステップS207にて算出したダンパ係数とに基づいてモータ41に発生させる抵抗トルクを算出する。その後は、ステップS215にてダンパ制御処理を実行し、本衝突対応処理を終了する。当該ダンパ制御処理によって関節部の回動角度が変化している最中にそれとは逆向きの抵抗トルクが発生することとなる。
【0076】
ステップS213の説明に戻り、当該ステップS213にて否定判定をした場合、すなわち強制変位が通常停止の対象となっている関節部において発生している場合には、ステップS216に進む。ステップS216では、基準位置への復帰処理を実行する。当該復帰処理では、モータ41に駆動トルクを発生させて関節部を基準位置へ復帰させる。
【0077】
ステップS210の説明に戻り、当該ステップS210にて肯定判定をした場合、すなわち特殊停止の解除条件が成立した場合には、ステップS217~S218の解除用処理を実行した後、本衝突対応処理を終了する。
【0078】
衝突が検知された場合には、一部のモータ41の制御態様が停止制御態様の1つである特殊制御態様に切り替わり、それ以外のモータ41の制御態様が停止制御態様の1つである通常制御態様に切り替わる。通常制御態様においては、特殊制御態様とは異なり、可動部を基準位置に留める(変位した場合には引き戻す)ように制御される。このような構成とすれば、手で押す等してロボットの姿勢を変更可能としつつも、その力が物体からの引き離しに効果的ではない駆動部等に伝わる等してロボットの姿勢が意図せぬ形となることを抑制できる。これにより、上述した二次衝突の可能性を好適に低減することができる。
【0079】
衝突と相関のないモータ41を特殊制御態様とすることは、作業性に鑑みた場合に効果的でない姿勢変化が発生する要因となるため好ましくない。他方で、衝突検知の要因になったモータ41についてのみ特殊制御態様とするように制限することは作業性や安全性の向上を図る上で妨げになる。この点、上述の如く特殊停止の対象の選定条件である基準値(「決定基準条件」に相当)を衝突検知の条件である閾値(「検知基準条件」に相当)よりも到達容易とすれば、衝突検知の要因となったモータ41だけでなく衝突と相関のある他のモータ41を特殊制御態様とすることが可能となり、上記各種不都合を好適に解消できる。
【0080】
また、少なくとも衝突発生の要因になったモータ41(関節部)を特殊制御態様への切替対象とすることにより、アームを手で動かす等してワーク等の物体から遠ざける際の関節部の動きを円滑なものとすることができる。
【0081】
<第3の実施形態>
上記第1の実施形態及び第2の実施形態では、電流検出部から取得した電流値と衝突判定用の閾値とに基づいて衝突との相関の度合いを示す相関値を算出する構成とした(
図8参照)。本実施形態では、相関値の算出に係る構成が、第1の実施形態等と相違している。以下、
図16を参照して本実施形態における相関値の算出に係る構成ついて説明する。
【0082】
サーボアンプ50の制御部51は、駆動制御処理(定期処理)を実行する度に電流検出部から電流値を取得する。サーボアンプ50の記憶部52には電流値を時系列順に複数記憶可能な記憶領域が設けられており、取得された最新の電流値は最も古い電流値に上書きされるようにして更新される。
【0083】
ここで、上記衝突が発生した場合には、衝突発生時の電流値とそれよりも前(例えば1周期前)に取得した衝突発生直前の電流値とを参照して相関値を算出する。具体的には、相関値=(1-(衝突時の電流値)/(衝突直前の電流値))×100%の式に各電流値を代入して相関値を算出する。
【0084】
衝突前後における電流値の差については衝突との相関の度合いが大きいものほど大きくなり得る。そこで、当該差に着目して相関値を算出することにより、相関の度合いを抵抗の大きさに好適に反映できる。
【0085】
<その他の実施形態>
なお、上述した実施形態の記載内容に限定されず例えば次のように実施してもよい。ちなみに、以下の各構成を個別に上記実施形態に対して適用してもよく、一部又は全部を組み合わせて上記実施形態に対して適用してもよい。また、上記実施形態に示した各種構成の全て又は一部を任意に組み合わせることも可能である。この場合、組み合わせの対象となる各構成の技術的意義(発揮される効果)が担保されることが好ましい。
【0086】
・上記実施形態では、衝突との相関の度合いを示す相関値を算出し、それら相関値から算出されたダンパ係数を用いてモータ41に発生させる抵抗トルクを決定する構成としたが、これに限定されるものではない、ダンパ係数を経由することなく相関値からモータ41に発生させる抵抗トルクをダイレクトに決定する構成としてもよい。但し、抵抗トルクが過度に大きくなったり小さくなったりすることを抑制する上では、予め上限及び下限の少なくとも何れかが設定されているダンパ係数を算出し、そのダンパ係数を用いて抵抗トルクを決定することに技術的意義がある。
【0087】
・上記実施形態では、特殊停止態様となっている状況下にてアームが移動した場合には関節部の角速度とダンパ係数とを乗じてモータ41に発生させる抵抗トルクを決定する構成とした。すなわち、抵抗トルクが関節部の回動速度に応じて変化する構成とした。これを以下のように変更してもよい。すなわち、特殊停止態様となっている状況下にてアームが移動した場合にモータ41に発生させる抵抗トルクについては回動速度に応じて変化することなく一定となるように構成してもよい。
【0088】
・上記各実施形態では、特殊停止態様となっている場合、詳しくは外力によって関節部の角度が変化している最中は、モータ41に抵抗トルクを発生させることで角度の変化を抑制する構成としたが、角度の変化を抑制する抵抗を発生させるための具体的構成については任意である。例えば、各関節部J1~J6にそれら関節部J1~J6の回動を抑制可能な電磁ブレーキ等の制動機構を配設し、それら制動機構の制動力によって角度の変化を抑制する構成としてもよい。この場合、制御部51によって制動力を変更可能とすることが望ましい。
【0089】
・上記各実施形態では、相関値が100%に到達することでダンパ係数が予め設定された下限(最小値)で底打ちとなるように構成としたが、このような下限を削除することも可能である。
【0090】
・取得した電流値に基づいて衝突の有無や相関値を算出する上では、予め想定される電流の想定値と実際の電流値とのかい離量によって衝突の有無の判定や相関値の算出を行う構成としてもよい。
【0091】
・各関節部の回動速度(速度値)を速度センサやエンコーダ42から取得し、取得した速度値に基づいて衝突の監視や相関値の算出を行う構成としてもよい。また、各関節部の駆動トルク(トルク値)をトルクセンサから取得し、取得したトルク値に基づいて衝突の監視や相関値の算出を行う構成としてもよい。
【0092】
・上記各実施形態では、衝突の監視と相関値の算出との両方で共通の「物理量」として電流値を用いたが、衝突の監視に用いる「物理量」と相関値の算出に用いる「物理量」とを個別にも設定してもよい。例えば、衝突の監視については「物理量」としてトルク値を参照する一方、相関値の算出には「物理量」として電流値を参照する構成としてもよい。
【0093】
・ダンパ係数については、衝突との相関の度合いを示す相関値が所定値以下(例えば10%以下)の場合にはダンパ係数=最大値となるように規定してもよい。これは、電流のノイズ等の影響に起因した抵抗トルクが引下げにより無駄な姿勢変化を抑制する上で好ましい。
【0094】
・上記第1の実施形態では、衝突発生時には関節部J1~J6を全て特殊停止態様となるように切り替える構成としたが、一部の関節部(例えば基本軸である関節部J1~J3)については特殊停止態様への切替対象から外す構成とすることも可能である。この場合、特殊停止態様への切替対象外となった関節部についても目標軌道へ向けた動作を中断させることが好ましいが、それら関節部の停止態様については例えば上記通常停止態様とするとよい。
【0095】
・上記第2の実施形態では、相関値と相関値用の基準値とを対比することで特殊制御態様への切替対象を決定する構成としたが、対比対象を相関値から電流値に変更し、電流値と電流値用の基準値とを対比することで特殊制御態様への切替対象を決定する構成とすることも可能である。
【0096】
・上記第2の実施形態では、相関値が基準値(80%)を超えるものについては特殊停止態様への切替対象とする構成としたが、切替対象とする関節部J1~J6の決定に用いる基準値を衝突検知の要因になった関節部との位置関係に応じて個別に設定してもよい。
【0097】
例えば、
図17に示す例では、衝突検知の判定基準となる閾値と、当該閾値よりも到達が容易であり特殊停止態様への切替対象を選択する選択基準となる基準値とが設けられている。第2関節部J2(低速)、第3関節部J3(高速)、第5関節部J5(低速)による振り下ろし動作中に衝突が発生することで、第3関節部J3用のモータM3に供給される電流の電流値が大きく変化して閾値を超えている。これにより、衝突が検知される。ここで、第3関節部J3以外の関節部J1~J2,J4~J
6について特殊停止態様への切替対象とするか否かの判定は、第3関節部J3に対してアームにおける先端側に位置する第4関節部J4~第6関節部J6と、第3関節部J3に対してアームにおける基端側に位置する第1関節部J1~第2関節部J2とで異なる。具体的には、第4関節部J4~第6関節部J6については相関値が基準値Bを超えているか否かで判定され、第1関節部J1~第2関節部J2については相関値が基準値Aを超えているか否かで判定される。基準値Bは基準値Aよりも低くなっており、特殊停止態様への切替対象に選ばれやすくなっている。
【0098】
衝突発生によって関節部の柔軟性を高める構成とすることは、手で押す等してアームを移動させる上で好ましい。ここで、衝突の要因(主たる要因)となった関節部(駆動部)よりもアーム先端側の関節部(駆動部)についてはアーム基端側の関節部(駆動部)よりも特殊制御態様に切り替わりやすくすること、すなわちアーム先端側の関節部(駆動部)の特殊停止態様への切り替えを優遇することにより、アームが手で押された場合に一体となって動く可動部の数を減らすことができる。これは、手でアームを移動させる際の負荷を軽減する上で好ましい。
【0099】
・上記第2の実施形態では、相関値が基準値に達しているものについては特殊制御態様への切替対象とする構成としたが、これを以下のように変更してもよい。すなわち、衝突検知の要因となった関節部以外の関節部について相関値を比較し、それら相関値の中で最も相関値の大きい関節部を特殊制御態様への切替対象に含める構成としてもよい。
【0100】
・上記第2の実施形態では、特殊制御態様への切替対象となったモータ41については関節部(モータ)毎に定められたダンパ係数に基づいて抵抗トルクを決定する構成としたが、この機能については省略し、何れの関節部(モータ)についても抵抗トルクを差別化しない構成とすることも可能である。
【符号の説明】
【0101】
10…ロボットシステム、20…ロボット、30…ロボット本体、32…ショルダ部(可動部)、33…下アーム部(可動部)、34…第1上アーム部(可動部)、35…第2上アーム部(可動部)、36…手首部(可動部)、37…フランジ部(可動部)、41,M1~M6…モータ(駆動部)、50…サーボアンプ(制御装置)、51…制御部、52…記憶部、J1~J6…関節部。