説明

ロボットアームの制御方法

【課題】 柔軟機構を有するロボットアームにおいて、障害物への衝突衝撃を効果的に緩和することを可能としたロボットアームの制御方法を提供する。
【解決手段】 衝突検知部2は、角度センサ68の出力情報を基に角度情報判定部4が判定した角度情報に基づいて逆動力学演算部21と外乱トルク推定部22により外乱トルクを推定して、衝突判定部23により障害物への衝突を判定する。障害物への衝突を判定した場合には、修正運動目標値生成部12は、衝突時の関節角度を基にして運動目標を修正し、指令値調整部13により目標角度または角速度を調整して指令値切換部14から制御指令部3へと駆動モータ60の制御指令を送出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はロボットアームの制御方法に関し、特に、関節に柔軟機構を有するロボットアームの障害物への衝突時の制御方法に関する。
【背景技術】
【0002】
産業用ロボットなどのロボットアームに所定の運動をさせる際に、その経路上に障害物が存在すると、障害物によりアームの駆動が妨げられる。この状態で、関節の駆動指令が継続されると、駆動用モータや関節部あるいはアーム本体が破損に至るおそれがある。このような事態の発生を防ぐため、衝突の発生を検知して、モータを直ちに停止させる技術が知られている(例えば、特許文献1参照)。
【0003】
この制御のためには、衝突発生時に速やかに衝突を検知する必要があり、特許文献1には、駆動軸モータの外乱トルクを推定して衝突を判定する技術が開示されている。
【特許文献1】特開平11−254380号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、関節部に柔軟機構を利用することで、柔軟な動きを実現するとともに、障害物への衝突時に当該障害物に対する衝突衝撃を緩和させることを可能としたロボットアームがある。この種のロボットアームでは、衝突発生時にモータを直ちに停止させたとしても柔軟機構を校正するバネやダンパーの減衰等の影響でリンク角度とモータ角度に不一致が生ずる。このため、駆動関節の先のアーム部を直ちに停止させることはできず、障害物への衝突衝撃を十分に緩和することができず、関節部やアーム本体の破損を招く可能性がある。
【0005】
そこで本発明は、柔軟機構を有するロボットアームにおいて、障害物への衝突衝撃を効果的に緩和することを可能としたロボットアームの制御方法を提供することを課題とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明にかかるロボットアームの制御方法は、関節部に柔軟機構を有するロボットアームの制御方法であって、(1)柔軟機構の各関節部の変位角を検出する工程と、(2)検出した変位角情報を基にして各関節に働く外乱トルクを推定する工程と、(3)推定した外乱トルクから障害物との衝突の有無を検知する工程と、(4)衝突が検知された場合に、障害物に与える衝突力に応じて新たな運動目標値を設定する工程と、(5)設定した運動目標値に対して動特性を与え、運動目標値を修正する工程と、(6)衝突を検知していない場合には、通常の運動目標値により、衝突検知後は修正した運動目標値により関節部を駆動する工程と、を備えていることを特徴とする。
【0007】
衝突現象により生じる関節トルクを、関節部の変位角情報から推定した外乱トルクにより推定することで衝突判定を行う。柔軟機構を有するロボットアームでは、衝突直後にモータを停止させたとしても柔軟機構を構成する弾性体の影響でアームの動きを直ちに停止させることができない。そこで、モータを停止させるだけでなく、衝突力に応じてアームを停止させるのに必要な運動目標値を設定し、これを動特性に応じて修正して関節部を駆動することで、衝突時にアームを停止させたり、障害物から回避する等の行動をとる。
【発明の効果】
【0008】
本発明によれば、衝突を検知して衝突力に応じて運動目標値を修正し、関節部を駆動することで、衝突時にアームの動きを直ちに停止させたり、衝突後に直ちに障害物から離隔することができる。これにより、衝突衝撃を緩和するとともに、障害物への接触時間を短縮して衝撃力を緩和することができる。また、運動目標値を適宜修正することで、障害物の動きに追従した動きを行わせることも可能となる。
【発明を実施するための最良の形態】
【0009】
以下、添付図面を参照して本発明の好適な実施の形態について詳細に説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の参照番号を附し、重複する説明は省略する。
【0010】
図1は、本発明に係るロボットアームの制御方法により制御されるロボットアームの概略図である。このロボットアーム100は、多関節型の多軸式で多自由度を有するロボットアーム100であり、右腕部の構成を示している。躯体50には、上腕部51と下腕部52を経て、ハンド部53が接続されている。上腕部51、下腕部52の両者には腕の延長方向に対して3軸方向に駆動を行う関節部が搭載されている。図2は各関節の構成を模式的に示す図である。
【0011】
各柔軟関節は、躯体側のリンク本体に固定されているモータ60の出力軸と、手先側のリンク本体66の入力軸との間にプーリー61、62とギヤボックス63、ダンパ64、ばね65が接続されて構成されている。プーリー61、62とギヤボックス63はモータ60の出力を減速する減速要素であり、ダンパ64、ばね65は、外部からの衝突等の突発外乱の衝撃を吸収するための減衰要素、弾性要素としてそれぞれ機能する。ここで、ダンパ64、ばね65は並列に配置されて減衰要素・弾性要素系を構成し、これと各減速要素61〜63とは直列に接続されている。
【0012】
図3は、このロボットアーム100の制御部200のブロック構成図である。制御部200は、CPU、ROM、RAM等によって構成されており、指令値作成部1と、衝突検知部2、制御指令部3、角度情報判定部4を備える。指令値作成部1は、初期運動目標値生成部11と、修正運動目標値生成部12と、指令値調整部13と、指令値切換部14とを有する。衝突検知部2は、逆動力学演算部21と、外乱トルク推定部22と、衝突判定部23とを備える。制御指令部3は、ロボットアーム100の各駆動モータ60に駆動信号を出力する。また、各関節部に配置される角度センサ68の出力が角度情報判定部4に入力され、角度情報判定部4の判定結果が逆動力学演算部21と、外乱トルク推定部22および修正運動目標値生成部12、指令値調整部13へと入力されている。
【0013】
以下、本実施形態におけるロボットアームの制御方法について具体的に説明する。ここでは、衝突検知および検知後の衝撃力緩和について述べる。図4は、その制御フローチャートである。
【0014】
まず、角度情報判定部4が、各角度センサ68から現在の関節部の各角度情報とモータ回転角情報を得る(ステップS1)。次に、角度情報判定部4は、関節部の各角度情報とモータの回転角情報をそれぞれ時間微分ないし2階微分することで角速度、角加速度情報を得る(ステップS3)。得られた角度情報、角速度情報、角加速度情報から逆動力学演算部21が逆動力学的手法に基づいて関節駆動トルクを求める(ステップS5)。次に、関節駆動トルクからリンクに作用する外乱トルクを推定する(ステップS7)。
【0015】
図5に示されるような1リンクアームを例にとると、その運動方程式は次式(1.1)(1.2)で表せる。
【0016】
【数1】

【0017】
ここで、θ、θはそれぞれモータとリンクの回転角度を、τは関節駆動トルクを、τはリンクに作用する外乱トルクをJ、Jは、それぞれモータとリンクの慣性モーメントを、G(θ)は重力成分を、Kは関節部の弾性係数を、Dは関節部の粘性摩擦係数をそれぞれ示している。
【0018】
ここで、柔軟要素で発生する力は(2)式で表せる
【0019】
【数2】

【0020】
柔軟要素の各パラメータは既知であり、モータ回転角、リンク回転角、これらの角速度は算出可能であるから、リンク部に働くトルク外乱は(3)式で表せる。
【0021】
【数3】

【0022】
(3)式から慣性項と重力項を実時間で計算することにより、外乱トルクτを算出可能であることがわかる。しかしながら、摩擦力については実験値などから推定せざるを得ないため、以下推定値については、上に記号^を付加することで区別することとすると、トルク外乱の推定値は(4)式により表せる。
【0023】
【数4】

【0024】
推定値と真値が等しければ、理想的な非接触状態においてトルク外乱推定値は0となる。しかし、実際にはパラメータ誤差や摩擦等の影響により、非接触状態においてもトルク外乱推定値は0にならない場合が多い。そこで、閾値μを設定し、衝突判定部23は、推定したトルク外乱値がμ以上の場合に、接触ありと判定し、μ未満の場合には、接触なしと判定する(ステップS9)。
【0025】
【数5】

【0026】
ここで、(5)式において、H=1が接触状態、H=0が非接触状態を意味する。非接触状態の場合には、ステップS19へと移行し、初期運動目標値生成部11で運動目標値θmrefを設定し、指令値作成部1は、この運動目標値θmrefに基づいてモータ駆動量を設定し(ステップS15)、各駆動モータ60を制御する(ステップS17)ことによりロボットアームの駆動制御を行う。
【0027】
ここで、初期運動目標値生成部11は、関節を剛体とみなして駆動制御を行う。図5の1リンクアームにおいて、関節を剛体とみなすと、その運動方程式は次式により表せる。
【0028】
【数6】

【0029】
一方、ステップS9で接触状態と判定した場合には、衝撃力緩和制御に入る。ここで、修正運動目標値生成部12、指令値調整部13、指令値切換部14、角度情報判定部4は、駆動モータ60、柔軟要素、リンク系とともに、図6に示されるフィードバック制御構造を構成する。
【0030】
ここで、衝突後のリンク目標角度(衝突後のアーム挙動を定義するものであり、衝突時点でアームを停止させるほか、アームを戻して障害物から回避する動作等が設定される。)をθlref、図6において修正運動目標値生成部12におけるフィードバック制御1によって設定される駆動系の目標角度をθmrefとすると、指令値調整部13におけるフィードバック制御2として、以下の式で表される制御を用いる。
【0031】
【数7】

【0032】
ここで、制御ゲインであるKP2、Ki2、Kd2は、式(6)が安定化するように選定される。一方、目標指令を修正するためのフィードバック制御1としては、以下の式で表される制御を用いる。
【0033】
【数8】

【0034】
ここで、制御ゲインであるKP1、Ki1、Kd1は、衝撃力が目標値に収まるように調整される。具体的には、リンク目標角度θlrefを設定し(ステップS11)、フィードバック制御1により駆動系の目標角度θmrefを設定して(ステップS13)、フィードバック制御2により、モータの駆動量uを設定する(ステップS15)。設定した駆動量に応じてモータを制御する(ステップS17)ことで、所望のリンク運動を実現する。
【0035】
このようにして、衝突を検知した場合には、運動目標値を切り換えて、柔軟要素の挙動を考慮したフィードバック制御を行うことにより、衝突検出後、直ちにアームの運動を所望の状態に追従させることができ、衝突時の衝撃力を緩和することが可能となる。ここでは、1リンクアームの場合を例に説明したが、多関節(多リンク)の場合であっても各関節について同様の制御を行うことで、適用可能である。
【0036】
本発明によるロボットアームの制御方法によるアーム挙動と従来の制御方法による衝突時のアーム挙動とをシミュレーションにより比較した結果を以下に述べる。図7に、シミュレーションの対象としたリンク系を示す。ここでは、図5に示されるリンク系と同様の1リンクアームを考える。モータ60は、並列接続されたダンパ64とばね65を介してリンク66に接続され、バネ要素を有する障害物67と接触する。
【0037】
ここでは、リンク角度0°から2.5°/秒の一定角速度で2秒後にリンク角度5°まで達し、5秒後までその状態を維持し、その後、−2.5°/秒の一定角速度でリンク角度0°まで戻す目標軌道を設定し、リンク角度4°の位置で障害物に接触するものとする。シミュレーションにおいては、同一のリンク系に対して、衝突後も目標軌道を変更せず維持するケース1と、衝突後に、衝突した瞬間のリンク角度に目標値を変更するケース2と、ケース2に加えてフィードバック制御1を追加したケース3(本発明にかかる制御手法に該当する。)について比較を行った。
【0038】
シミュレーションの結果を図8〜図11に示す。このうち、図8〜図10は、それぞれケース1〜3の目標値とリンク角度、モータ角度の時間変化を示す図であり、図11は、衝突衝撃力の時間変化を示す図である。ケース1の場合には、図8に示されるように、衝突後もモータ角度θmを目標値に合致させようとするため、リンク角度θlが衝突角度を超えている。つまり、障害物にアームが食い込む形になり、障害物の変形、破損をもたらす可能性がある。
【0039】
ケース2の場合には、図9に示されるように、衝突直後にモータ角度θmを速やかに追随させることはできるが、柔軟機構を有するため慣性力によってリンク角度θlが追従するのに時間遅れを生ずる。この結果、リンク角度θlは約0.2秒間に渡って衝突角度を超えるため、障害物へ衝撃力が付与されてしまう。
【0040】
これに対して、ケース3の場合には、図10に示されるように、衝突の瞬間にケース1、ケース2に比べて目標角度を進行方向とは逆方向へと大きく転ずることにより、モータを反転させ(モータ角度θmが逆方向へ転ずる)ることで、リンクを速やかに障害物から回避させる。このため、リンク角度が衝突角度を超える時間、量を短縮して衝突衝撃を緩和する。このとき、リンク角度が衝突角度をほとんど超えずにすむため、障害物の変形や破損を防止することができる。特に、人体等へ衝突した場合には、衝突した人を傷つけるおそれが少なく、また、衝突回避行動をとるため、静止している人や物体のみならず、移動中の人や物体に対しても適切な回避行動を行い、衝突衝撃を緩和することもできる。
【0041】
図11に示されるように、ケース1の場合には、衝突後の衝撃力が大きく、その後も当初設定された目標角度が衝突角度を下回るまでの長時間にわたって障害物へ大きな力が付与されることになる。ケース2の場合には、衝撃力は、ケース1の場合に比較して、衝突の発生直後の短時間に限定され、衝突時の衝撃力もケース1の約3分の1程度まで低下する。さらに、ケース3の場合には、衝突力の発生は、衝突時の一瞬(ケース2の約3分の1)にすぎず、発生する衝突力もケース1の場合の約10分の1まで低下する。このようにケース3、つまり、本発明にかかるロボットアームの制御方法においては、衝突衝撃を緩和する効果が高いことがわかった。
【図面の簡単な説明】
【0042】
【図1】本発明に係るロボットアームの制御方法により制御されるロボットアームの概略図である。
【図2】図1のロボットアームの各関節の構成を模式的に示す図である。
【図3】図1のロボットアームの制御部のブロック構成図である。
【図4】本発明に係るロボットアームの制御方法の制御フローチャートである。
【図5】1リンクアームモデルを示す図である。
【図6】本発明におけるフィードバック制御構造を示す図である。
【図7】比較シミュレーションの対象としたリンク系を示す図である。
【図8】ケース1のシミュレーション結果を示すグラフである。
【図9】ケース2のシミュレーション結果を示すグラフである。
【図10】ケース3のシミュレーション結果を示すグラフである。
【図11】ケース1〜3のシミュレーション結果を示す図である。
【符号の説明】
【0043】
1…指令値作成部、2…衝突検知部、3…制御指令部、4…角度情報判定部、11…初期運動目標値生成部、12…修正運動目標値生成部、13…指令値調整部、14…指令値切換部、21…逆動力学演算部、22…外乱トルク推定部、23…衝突判定部、50…躯体、51…上腕部、52…下腕部、53…ハンド部、60…駆動モータ、61…プーリー、63…ギヤボックス、64…ダンパ、65…ばね、66…リンク本体、67…障害物、68…角度センサ、100…ロボットアーム、200…制御部。

【特許請求の範囲】
【請求項1】
関節部に柔軟機構を有するロボットアームの制御方法であって、
前記柔軟機構の各関節部の変位角を検出する工程と、
検出した変位角情報を基にして各関節に働く外乱トルクを推定する工程と、
推定した外乱トルクから障害物との衝突の有無を検知する工程と、
衝突が検知された場合に、障害物に与える衝突力に応じて新たな運動目標値を設定する工程と、
設定した運動目標値に対して動特性を与え、運動目標値を修正する工程と、
衝突を検知していない場合には、通常の運動目標値により、衝突検知後は修正した運動目標値により関節部を駆動する工程と、
を備えていることを特徴とするロボットアームの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate