お問い合わせ

お問い合わせ

カタログダウンロード

カタログ
ダウンロード

戻る
  • 機能紹介
  • 記事

コンプライアンス制御(順応制御)の紹介

このコースでは、コンプライアンス制御(順応制御)を使用したプログラミング方法を紹介します。
 

1. はじめに

Doosan ロボットが提供する高度な制御機能の一つであるコンプライアンス制御機能は、外力が加わった際にロボットが一定レベルの復元力を持ちながら、位置ずれを吸収・制御することができます。このようなコンプライアンス制御を接触感知機能と共に使用することにより、ロボットが、動作中の周囲環境に対して許容範囲内の誤差を吸収する作業の構成が可能になります。

このコースでは、コンプライアンス制御機能を使用したプログラミング方法を紹介します。

2. コンプライアンス制御機能を学ぶ

コンプライアンス制御機能の例は、Pick & Placeのように、進入 (Approach) → 作業 (Action) → 後退 (Retract) からなる工程で、PickとPlace作業の際に、外部から力が加わるときにばねのように復元力を持ちながら決まった場所から離れることを可能にする機能が挙げられます。外力がない場合は位置制御でロボットが動きますが、外力がある場合は外力が加わる方向にばねの変形が生じるように、位置の変化が可能な制御機能です。フォース制御(力制御)とは異なり、コンプライアンス制御(順応制御)は正確に力に反応するのではなく、外力に備えて比例的に変位が発生します。

したがって、ターゲットポイントで力平衡を成し、平衡点を基準に変位が発生したときに反力が発生し、ワークや器具と衝突が発生しても衝撃を吸収しながら作業を行うことができます。外力が発生した場合、対応する外力を下げる方向に順応しながらモーション制御が可能です。

※フック法則 F = -kx (k: 弾性係数, x: 平衡点から変形した変位, (-) : 方向性) 係数が小さいほど同一距離上後退が容易で、誤差許容範囲を指定して設定できます。 コンプライアンス制御機能は、圧入作業時、作業者の指が挟まれて怪我をすることを未然に防止する際や、螺旋状 (Spiral) /周期 (Periodic) モーションと一緒に穴を探し、はめ込む作業に便利です。

下記の現場適用事例映像を参考にすれば、より簡単に順応制御を理解することができます。
エンジンインジェクター圧入:https://www.youtube.com/watch?v=JlvMVm5LnCI
サーモスタットアッセンブリ:https://www.youtube.com/watch?v=WVuaCsGAgrk

3. コンプライアンス制御によるプログラミング

コンプライアンス制御を設定する方法とプログラミングの例で、実際にコンプライアンス制御を使用する方法を学びましょう。

3.1 コンプライアンス制御の設定

Task BuilderまたはTask Writer、または力制御コマンドで「Compliance」を選択してプロパティに入ります。

  1. モード:オン/オフfで動作を制御でき、モーションごとの剛性値を変更したいときは、順応制御コマンドを追加した後、変更モードで変更された剛性で作業を進めることができます。
  2. 剛度:値が小さいほど、より大きな誤差範囲を許容します。
  3. 時間設定:設定値を0.0秒にするとコンプライアンス制御機能をonにすることができ、モーションを開始しながら1秒の待ち時間を持ちながら動作させることができます。

※各軸ごとの剛度の範囲は以下の通りです。 (X, Y, Z = 0~20,000N/m, Rx, Ry, Rz = 0~400Nm/rad)

さらに、オフラインプログラミングツールを使用してDRLで作業するときは、次の命令を使用してコンプライアンス制御を使用できます。

例)
P0 = posj(0,0,90,0,90,0)
movej(P0)
task_compliance_ctrl()#剛度がデフォルト設定で始まる
set_stiffnessx([500, 500, 500, 100, 100, 100], time=0.5)#カスタム剛性に0.5秒間切り替え
release_compliance_ctrl()#コンプライアンス制御を終了し、現在位置で位置制御を開始

詳細については、プログラミングガイド、第5章力/剛性制御、およびその他のユーザーフレンドリー機能を参照してください。

3.2 コンプライアンス制御プログラミングの例

  1. 任意の作業開始点をMove Jに設定し、Move Lに直線移動します。
  2. コンプライアンス制御モードをonにし、「Z」と「Rz」の剛性値をデフォルト値より高く設定します。剛度が高く、Z軸方向にもう少し大きな外力が加わると、位置誤差を許容します。
  3. Move Lで、ベース座標系基準垂直方向に移動させ、動作モードは非同期に設定します。
  4. Move Lモーションを実行しながらRepeat、Ifコマンドで、Z軸方向に力が感じられる瞬間モーションを停止し、If、Repeatコマンドを停止します。
  5. コンプライアンス制御をoffにし、Move Lで最終位置に移動します。

※ 非同期動作モードは、該当モーション実行直後すぐに次のモーションが実行されるモードで、順応制御をonにしてRepeat、If命令を実行する際、「非同期」モードに指定する必要があります。 「同期」モードの場合、3) のように垂直方向に移動が終わった後の力を確認するため、衝突によるモーション停止やコンプライアンス制御による物体検出が難しい場合があります。

4. まとめ

今回のコースでは、Doosanロボットが提供するコンプライアンス制御機能を利用したプログラミング方法を学びました。外部の衝撃を吸収しながらモーションを行うコンプライアンス制御を利用して、様々な作業を進めることができます。詳細については、リファレンスマニュアル/プログラミングマニュアルを参照してください。

5. 参考資料

※本資料に掲載されている全ての内容および全てのデザインは、Doosan Roboticsが著作権および知的財産権を有しています。従って、これらをDoosan Roboticsの書面による許可なく使用、複製、または配布することを禁じます。なお、Doosan Roboticsの特許権等を不正に使用、改変した場合、その責任はすべてお客様にあることをご了承ください。

 
 
page top