力制御とコンプライアント制御
位置制御だけでは接触作業が破綻する理由と、力覚センサ・インピーダンス制御で人と安全に協働する仕組みを原理から解説。
- 1.位置制御は環境と接触した瞬間に位置誤差が力の暴走に直結し、剛体接触では発振や破損を招く。力/トルクセンサで反力を直接フィードバックする力制御が必要になる。
- 2.インピーダンス制御は力を目標にせず質量・ばね・ダンパの仮想的な力学応答を位置制御ループに埋め込み、アドミタンス制御は力センサの読みから位置指令を逆生成する双対の構成。
- 3.協働ロボットは受動的な機械コンプライアンスとソフトウェアの力制御を重ねる多層防御で安全性を担保し、ISO/TS 15066のパワー・力の制限値がその設計基準になる。
位置制御が接触作業で破綻する理由
産業用ロボットの標準的な制御は関節角度や手先位置を目標軌道に追従させる位置制御です。空間を自由に動く間はこれで十分ですが、ロボットの手先が壁やワークに接触した瞬間、事情が一変します。接触面は剛体に近く、わずかな位置誤差でも大きな反力を生みます。位置制御器は「目標位置に届いていない」と認識するとさらにトルクを増して押し込もうとし、実際には既に接触面に阻まれているため、指令と現実の食い違いがそのまま力の暴走につながります。
この問題の核心は、接触環境の力学的な硬さ(剛性)が制御対象の力学と衝突することにあります。自由空間での運動方程式は慣性項が支配的ですが、接触中は環境の剛性 K_env が支配的になり、位置制御のゲインが高いほど接触力の変化が急峻になります。剛性の高い環境同士(硬いロボットと硬い壁)がぶつかると、わずかな指令のずれが大きな力の振動を生み、最悪はセンサレンジを振り切って発振したり、工具やワークを破損します。ねじ締めや嵌合、研磨、人との接触を伴う作業では、位置制御だけでは原理的に対応できません。
接触作業を難しくしているのは、ロボット側の位置制御ゲインが作る「見かけの剛性」と、環境側の物理的な剛性が直列に組み合わさる点です。両方が高剛性だと系全体のフィードバックループが敏感になりすぎ、センサ遅れやわずかなガタでも発振の芽になります。力制御・コンプライアント制御の目的は、ロボット側の見かけの剛性を意図的に下げ、環境と協調できる柔らかさを作ることだと捉えると設計指針が一貫します。
力/トルクセンサによる力制御
接触力を直接扱うには、まず力を測定する必要があります。多くのロボットアームは手首と手先ツールの間に6軸力/トルクセンサ(3方向の並進力+3方向のトルクを同時計測)を搭載します。センサは歪みゲージや静電容量素子を用いてわずかな弾性変形を電気信号に変換し、6自由度の力ベクトルを高いレート(数百Hz〜数kHz)で出力します。関節ごとのトルクセンサや電流値からの推定トルクで代替する構成もありますが、摩擦やギア効率の不確かさが混入するため精度は手先センサに劣ります。
力制御の基本形は、目標力 f_d と計測力 f_meas の差をフィードバックして手先の運動を修正する力フィードバック制御です。単純化すると次のような構造になります。
力フィードバック制御の基本ループ:
力偏差: e_f = f_d - f_meas
速度指令: v_cmd = Kp_f * e_f + Ki_f * ∫e_f dt
→ 内側の速度/位置制御ループへ渡す
Kp_f, Ki_f : 力制御ゲイン(大きいほど追従は速いが発振しやすい)
ここで重要なのは、力制御は単独では成立せず、内側に速度または位置の制御ループを持つカスケード構成が一般的だという点です。外側の力ループが「どれだけ押すか」を決め、内側のループがそれを実際の関節指令に変換します。純粋な力制御だけでは自由空間での安定性が保証できず、拘束方向(接触面に垂直)は力制御、非拘束方向(接触面に沿った動き)は位置制御というハイブリッド位置/力制御を併用するのが古典的な設計です。
インピーダンス制御:力を目標にせず力学応答を設計する
ハイブリッド制御は拘束方向と非拘束方向を切り替える必要があり、接触の有無や接触面の向きが変化する現実のタスクでは切り替え条件の設計が難しくなります。この弱点を解消するのがインピーダンス制御です。インピーダンス制御は目標力そのものを追わず、手先が外力を受けたときにどう変位すべきかという力学的な応答特性(機械インピーダンス)を仮想的にプログラムするという発想に立ちます。
目標インピーダンス(手先の仮想力学モデル):
M(ẍ - ẍ_d) + D(ẋ - ẋ_d) + K(x - x_d) = f_ext
M : 仮想慣性(質量)行列 ── 大きいほど動きにくく、外力に鈍感
D : 仮想粘性(ダンパ)係数 ── 大きいほど振動を素早く減衰
K : 仮想剛性(ばね)係数 ── 大きいほど目標位置 x_d へ強く引き戻す
f_ext : センサで計測した外力
x_d : 名目上の目標軌道(自由空間での位置指令)
この式は、あたかも手先に仮想的な質量・ばね・ダンパが繋がれているかのように振る舞わせる目標モデルです。外力 f_ext がゼロなら通常の位置制御と同じ軌道追従になり、外力が加わるとその大きさに応じて M, D, K で決まる分だけ位置がしなやかにずれます。K を小さく設定すれば外力に対して大きく変位する「柔らかい」腕になり、K を大きくすれば「硬い」腕になります。接触の有無で制御則を切り替える必要がなく、自由空間でも接触中でも同一の式がシームレスに機能する点がハイブリッド制御に対する優位性です。
| 観点 | インピーダンス制御 | アドミタンス制御 |
|---|---|---|
| 入出力の向き | 位置(変位)を入力→力を出力する力学を模擬 | 力を入力→位置(変位)を出力する力学を模擬 |
| 内側ループ | トルク制御(電流制御)ベース | 位置/速度制御ベース |
| 得意な環境 | 柔らかい環境・非接触時の安定性 | 硬い環境での正確な力追従 |
| 必要なアクチュエータ | バックドライバブルで高帯域なトルク制御 | 既存の位置制御ロボットに後付け可能 |
| 代表的な弱点 | モデル化誤差でトルク推定がずれると精度低下 | 力センサのノイズが位置指令に直結し振動しやすい |
アドミタンス制御はインピーダンス制御の双対(入出力を入れ替えた構成)です。センサで計測した外力 f_ext を仮想の運動方程式 M ẍ + D ẋ + K x = f_ext に入力し、そこから導かれる変位を通常の位置制御ループへの目標軌道として与えます。既存の高剛性・高精度な位置制御ロボットに力センサを外付けするだけで実現できるため産業用途で採用例が多い一方、力センサのノイズがそのまま位置指令の揺れに変換されるため、硬い環境や高い仮想剛性を設定すると発振しやすい弱点があります。逆にインピーダンス制御はトルク制御(多くは電流制御による疑似トルク制御)を内側ループに使い、バックドライバブルな(外力で軸を逆駆動しやすい)アクチュエータ設計と組み合わせることで、より柔らかく安全な応答を作りやすくなります。
仮想剛性 K を下げるとコンプライアンス(柔らかさ)は増しますが、位置決め精度とのトレードオフが生じます。穴への軸の挿入(ペグインホール)のような精密位置決めが必要なタスクでは、拘束方向のみ K を下げて位置ずれを吸収し、非拘束方向は高い K を維持するといった方向ごとの異方性設計が定石です。全方向を一律に柔らかくすると、タスク精度そのものが成立しなくなります。
人と協働するロボットの安全性設計
力制御・コンプライアント制御が最も強く要求されるのが、安全柵なしで人と同じ作業空間を共有する協働ロボットです。ソフトウェアの力制御だけに安全性を委ねるのは危険です。制御周期の遅延、センサ故障、通信断など、ソフトウェアが機能しない瞬間は必ず存在するため、実際の協働ロボットは受動的な機械的コンプライアンス(弾性関節、トルクリミッタ、丸みを帯びた筐体)とソフトウェアによる能動的な力制御を重ねる多層防御で安全性を担保します。関節に直列弾性アクチュエータ(SEA)を組み込む設計は、ソフトウェアが介入するより速い時定数で衝突エネルギーを機械的に吸収する典型例です。
安全性の設計基準として広く参照されるのがISO/TS 15066(協働ロボットに関する技術仕様)で、人体の部位ごとに許容される接触力・圧力の上限値を定めています。ロボット側はこれを踏まえ、次の4つの協働動作モードのいずれか(または組み合わせ)で運用されます。
ISO/TS 15066が想定する協働動作の類型:
1. 安全適合監視停止 : 人が作業域に入るとロボットは完全停止
2. ハンドガイディング : 人が直接ロボットを手動で誘導して動かす
3. 速度・分離監視 : 人との距離に応じて速度を連続的に減速
4. 動力・力制限 : 接触しても力/圧力が許容値以下になるよう設計
このうち「動力・力制限」が本稿の力制御と最も直結し、衝突時の接触力を許容値以下に収めるために、アクチュエータの出力低減、関節の受動コンプライアンス、そして力/トルクセンサによる即時の力フィードバック停止を組み合わせます。重要なのは、コンプライアント制御が単に「柔らかい動き」を作る技術ではなく、衝突時のエネルギー伝達を予測可能な範囲に収め、規格が定める数値基準を満たすための工学的手段だという点です。
力/トルクセンサからソフトウェア停止までには、センサのサンプリング・通信・演算という不可避な遅延があります。この遅延の間に生じる衝突力(初期衝突力)はソフトウェアでは制御できず、機械的なコンプライアンス(弾性要素やダンピング材)だけが吸収を担います。ソフトウェアの力制御は主に定常的な接触力の調整に有効で、瞬間的な衝突の一次防御にはならないという区別を理解しておく必要があります。
まとめ
力制御とコンプライアント制御は、位置制御が接触環境の高い剛性と衝突して発振・破損するという原理的な限界を、力/トルクセンサからのフィードバックと力学的な柔らかさの導入で解決する枠組みです。要点は、(1) 接触中は環境の剛性が支配的になり位置制御だけでは力が暴走すること、(2) 力/トルクセンサで測った反力をカスケード構成のループで扱い、拘束方向と非拘束方向を分けるハイブリッド制御が古典的解法であること、(3) インピーダンス制御は目標力でなく質量・ばね・ダンパの仮想力学応答を設計し、アドミタンス制御はその双対として力入力から位置指令を生成すること、(4) 協働ロボットの安全性はソフトウェアの力制御単体ではなく機械的コンプライアンスとの多層防御で成り立ち、ISO/TS 15066の力・圧力の許容値が設計の基準になること、の4点です。この原理は、組立・研磨といった接触作業から人と共存する協働ロボットの安全設計まで、ロボット工学における力の扱い全般を貫く土台になります。
ロボティクス Article
力制御とコンプライアント制御を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ロボティクス
比較で見る軸
難易度: advanced / カテゴリ: ロボティクス / タグ数: 5
導入後に効く点
インピーダンス制御は力を目標にせず質量・ばね・ダンパの仮想的な力学応答を位置制御ループに埋め込み、アドミタンス制御は力センサの読みから位置指令を逆生成する双対の構成。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- ロボティクス
- タグ数
- 5
判断チェックリスト
- 自社の用途が「ロボティクス / 力制御」に近いか確認する。
- 強みである「位置制御は環境と接触した瞬間に位置誤差が力の暴走に直結し、剛体接触では発振や破損を招く。力/トルクセンサで反力を直接フィードバックする力制御が必要になる。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。