ロボットにおけるフォース・トルクセンサー:アプリケーション,センサー,そして開始
ロボット向けフォース・トークスセンサーの実践的なガイド: 5つのキーアプリケーション,センサー選択ガイド,ROS2統合チュートリアル,入場制御の基礎,およびF/Tセンサーが接触に富んだ操作を可能にする方法.
視覚はロボットに 物事がどこにあるかを教えてくれます 力トルクセンサーは 圧迫・引き抜き・圧迫の力を示します 接触力のある操作 ― 組み立て・挿入・磨き 協力作業 ― F/Tセンサーはオプションではありません 繊細な組み立てを処理できるロボットと 触れるものを壊すロボットを区別します このガイドは,ロボットにF/Tセンサーが動作できるようにするアプリケーション,ハードウェア,統合手順をカバーします.
フォース・トルク 検知 の 手段
フォース・トルク (F/T) センサーは,ロボットの一点にある機械の負荷の6つの構成要素を測定します.各軸に沿って3つの線形力 (Fx, Fy, Fz) と各軸周りの3つのトルク (Tx, Ty, Tz) があります.これらの6つの値は,一緒に,レンチを構成します. ロボットとセンサーの位置にある環境との機械相互作用の完全な記述です.
腕の最後の腕と [端効果] (
この情報はカメラには見えず,単一の関節モーター電流から信頼に適した推論ができない.現代の腕 (フランカ・エミカ,カカ・イイワ) は,粗いF/Tのような信号を与える関節モントルの推定を提供しているが,腕に搭載されたF/Tセンサーは,高度な精度と騒音特性により,計測された,高帯域幅の力データを提供している. 詳細な技術概要については, [力扭矩感知用語集入]
適用 1: 穴を固定し,精密な挿入
穴内挿入は,力扭りの感知のための定理的な応用である.この作業には,0.1-0.5mmほどの隙間を持つ穴に釘を導くことが必要である.この点は,位置制御だけでほとんどのロボット腕が達成できるよりはるかに緊固である.力反射がなければ,ロボットは穴を完全に逃すか,または足够の力で釘を端に押しつけ,部品を損傷させる.
F/Tセンサーを使用して,ロボットは検索パターンを実行できます. 側力を監視しながら,ペンを表面に移動します.ペックは穴に落ちると,側力のサインが特徴的に変化します (ペックが並列するにつれて接触力が減少します). ロボットはその後,力制御の挿入段階に移り,ネックをダウン押しながら,横力を制限して,詰め込みを防ぐ. このアプローチは,純粋な位置制御が失敗する緊密耐性組に可靠な挿入を実現します.
同じ原理は,コネクタの配列,スナップフィット組み立て,スクラウ挿入,ロボットが部品を制限された幾何学に導かなければならないすべての作業に適用されます.F/Tセンサーは"サブミリメートル校准なしで不可能"から"標準ハードウェアで信頼性のある"に変換します.
適用2:表面のフォローおよびポलिश
表面のフォローは,ロボットが表面に対して恒常な接触力を維持し,路線を追跡する際に使用される. 磨き,砂化,脱毛,塗装,検査. 力の制御がなければ,表面の曲線または位置の不確実性により,ロボットが接触を失う (仕上げを破壊する) またはあまりにも強く押す (材料を滑らかす).
F/Tセンサーにより,容量制御器は表面幾何学に関係なく,望ましい正常な力を維持する.制御器は,電流力を読み取り,望ましい力設定点に対してエラーを計算し,エラーを軽減するためにロボット位置を調整する.500-1000 Hzの制御速度は,曲がったまたは不規則な表面でも滑らかで一貫した接触を生成する. 薄い部分では軽い力 厚い部分では重い力 表面の要求を合わせる 方向に変化する力設定があります
応用3: 人間とロボット協力
人間と作業スペースを共有するコラボレーティングロボット (コボット) は,意図しない接触を検知し,安全に対応しなければなりません. F/Tセンサーは,衝突検出 (意外な力急上昇により即座停止または従順な撤退が起こります) と手動導 (操作者は物理的にロボットを押す,F/Tセンサーはロボットを望ましい方向に移動させるために適用された力を検出します).
手による導航は,運動学学習にも用いられる.操作者は機械を作業軌道を物理的に移動させ,システムが動きをデモとして記録する.F/Tセンサーは,意図的な導航力 (スムーズ,方向性) と偶然の接触力 (突然,ランダム) を区別し,システムにより清潔なデモのために記録された軌道をフィルタリングすることができます.
適用4: テレオペレーションフォースフィードバック
二国間遠隔操作システムでは,フォローロボット上の腕F/Tセンサーが環境との相互作用力を測定し,リーダー装置に送信し,操作者にハプティックフィードバックとして提供されます. この力反射は接触力のある作業の電波操作の質を劇的に向上させる.操作者は,グリッパーが物体と接触するとき,ロボットが挿入中にどれだけ強く押しているかを感じることができる.
F/Tを有効とする遠隔操作は, [模倣学習] (
適用5 グラップ品質監視とスライプ検出
手首F/Tセンサーは,リアルタイムで握力安定性を監視できます.握力が物体に閉じると,F/T信号は握力が安全 (安定力プロファイル),滑り (振動力または漂流力) または故障 (摩擦コーン境界に近づく力) かが分かる. 滑りが見つかると 握手を絞り フォースプロフィールが不安定性を示すると 再握りします
滑り検出は,不確実な摩擦特性を持つ物体 (湿った,油性のある,滑りやすい表面) を扱う場合,物体が輸送中に外部力にさらされている操作作業 (重量分布が変化する物体を積み重ねる場合,挿入力が握った部分に作用する部品を組み立てるとき) に特に価値があります.
センサー選択ガイド
適切なF/Tセンサーを選択するには 4つの要素をバランスする必要があります 測定範囲,解像度,帯域幅,コストです
測定範囲は,センサーが損傷なしに測定できる最大力とトルクを定義する.範囲が小さすぎるセンサーは,正常な動作中に飽和し,重要な瞬間にデータを失う.範囲が大きすぎるセンサーは,繊細な作業の解像度が低い. 範囲を自分の任務に合わせる:軽量操作 (0-50 N力,0-5 Nmトーク),一般操作 (0-200 N,0-20 Nm),重荷処理 (0-500 N+,0-50 Nm+).
** 解析度** はセンサーが検出できる最小の力変化を決定します.精度な組み立て作業 (狭いクリアランスで穴を塞ぐ) において,解像度は0.1Nまたはそれ以上の必要があります.衝突検出および粗い力制御のために, 1N解像度は十分です.より高い解像度は一般的により小さな範囲を意味します.これはF/Tセンサー設計における基本的な妥協点です.
帯域幅は,センサーが新しい読み取りを報告できる速度を決定する.接触検出と衝突モニタリングのために,1kHzまたはそれ以上の帯域幅が望ましい.接触イベントはミリ秒で発生し,100Hzセンサーは一時的な衝撃を見逃す可能性があります.力制御された表面フォローと静止状態の作業では,通常100-500Hzは十分です.
**コストは大きく異なります. ATI Mini45と Mini85 (研究金標準) は範囲とインターフェースによって3,0007,000ドルで,例外的な精度,7kHz帯域幅,広範なドキュメントを提供します.ロボティック FT 300-Sは帯域幅が低いが,より簡単なUSB/Ethernet統合とネイティブROSサポートで2,0003,000ドルで, OnRobot Hexは,F/Tセンサーを直接グリッパー-アームインターフェースに2000~4000ドルで統合する.予算制限のある研究では,ボータシステム (Bota Systems) とワコ技術 (Wacoh Tech) の新しいセンサーは低コストで堅固な性能を提供します.
F/Tセンサーの仕様比較
| Sensor | Force Range | Resolution | Bandwidth | Noise (RMS) | Interface | Price |
|---|---|---|---|---|---|---|
| ATI Mini45 | +/-145 N (Fxy), +/-290 N (Fz) | 0.025 N | 7 kHz | 0.05 N | EtherCAT, Net F/T (Ethernet) | $4,000-5,500 |
| ATI Gamma | +/-65 N (Fxy), +/-200 N (Fz) | 0.0125 N | 7 kHz | 0.02 N | EtherCAT, Net F/T | $5,000-7,000 |
| Robotiq FT 300-S | +/-300 N | 0.2 N | 100 Hz | 0.5 N | USB, Ethernet, Modbus | $2,000-3,000 |
| OnRobot HEX-E | +/-200 N (Fxy), +/-500 N (Fz) | 0.2 N | 1 kHz | 0.3 N | Integrated (tool changer) | $2,500-4,000 |
| Bota Systems SensONE | +/-200 N | 0.1 N | 800 Hz | 0.15 N | EtherCAT, USB | $1,500-3,000 |
模倣学習データ収集を行う研究室では,ATI Mini45はデフォルトとして推奨されます.その7kHz帯域幅は,帯域幅低いセンサーが欠けている接触トランジメントを捕捉し,音の床は精度な組み立ての注釈のために十分な低さです.予算の生産部署では,Robotiq FT 300-Sは,かなり簡単に統合され,十分なパフォーマンスを提供します. ボータシステムズセンソネは ATIレベルでのパフォーマンスとRobotiqレベルでの価格設定の間の良い中間点を提供します.
校准手順
適切な校正は,操作可能なデータを提供するF/Tセンサーと制御ループに騒音を追加するセンサーの違いです.設置後,校正のステップが3つ必要です.
**1.ゼロオフセット校正:**センサーに何も接続されていない (または知られるエンドエフェクターのみを使用している場合),センサー出力を記録する.このベースライン読み方は,次回の測定から引き算する必要があります.毎セッションの初めにゼロ校正を実行してください.センサーのオフセットは温度 (通常はC度あたり0.01-0.1N) と変動するので. センサーをキャリブリングする前に10分かけて温めるようにしてください.
2.重力補償: 握手と付属する道具の重さは腕の方向に応じて変化する重力鍵を生成します. 補償:指向空間を覆う少なくとも6つの異なる方向 (理想的には10+) に腕を移動し,各方向でF/Tの読み値と対応する腕の姿勢を記録し,ツール質量,質量中心,センサーオフセットに適した最小の平方根を解決する. 効果は,任意の方向で重力キーを予測する関数であり,その関数を原始読みから引き出して相互作用力を分離します.このためのコードはF/T ROS2パッケージの多くに含まれています.
3.クロス・トーク検証: 各軸に既知の力を独立 (Fz に対して弦に校正された重量,Fx / Fy に対してスプリングスケールを使用) に適用し,製造者の仕様 (通常は適用負荷の2%未満) に準拠していることを確認する.クロス・トークが仕様を超えると,マウントは十分に硬いでない場合,またはセンサーは工場再校正が必要になる可能性があります.
F/T データのための信号処理
機動振動,電気干渉,量化による騒音が含まれる.リアルタイム制御とオフラインデータ分析の両方において適切なフィルタリングは不可欠です.
低パスフィルタリング: 20-50 Hzの切断で使用する二次級バターワースフィルタは,操縦に関連する接触動態を保持しながら高周波の騒音を除去します. 入力制御のために,入力ループの周波数の5〜10倍に切断を設定します. 100 Hzで入力制御を実行している場合は,F/Tデータを 20-50 Hzでフィルタします. 低減の切断周波数は騒音を減らすが,制御ループを不安定にする 段階遅延を加える.
移動平均: 段階遅延が容認できないアプリケーション (衝突検出) では,IIRフィルターではなく5〜10サンプルウィンドウを持つ因果移動平均を使用します.移動平均は,より低激的なノイズ拒絶のコストでバターワースフィルターよりも相歪みを少なくします.
接触検出の限界: フォースベクトルを監視することで接触の出来事を検出する Fx^2 + Fy^2 + Fz^2). 3-5x のノイズフロア RMS の限界は,振動から偽陽性を拒絶しながら,信頼性のある接触を検出する. 0.05 N RMS 騒音を持つ ATI Mini45 では,0.5 N の接触の限界は,ほとんどの操作作業にうまく機能する.
連絡先の国家推定
接触検出の単純を超えて,F/Tデータは接触状態の推定を可能にします 握手は空間で,最初の接触をしたり,安定した握り,滑り,または詰め込みで,F/T信号の時間進化を活用します.
- 音の限界を下回る時 ロボットは全速で移動できます
- **初期接触: >**Fの時差値が上昇し,衍生値が増加する (dF/dt 0).ロボットは速度を減らし,コンプライアンス制御に移行する必要があります.
- 安定した接触:****Fはゼロに近い衍生値 < 状態dF/dtはエプシロン) による.挿入,磨き,操作のために制御された力を適用できる.
- スリップ: 横部力を振動させ (Fx, Fy) 減速正常力 (Fz) による.握力が失敗していることを示します.握力を増やし,または中止して再握りします.
- 機械の動きが相応しいことなく,強力の大きさが急速に増加する (dF/dt >> 0).エンドエフェクターが詰まっている.強力のベクトルに沿って逆の動き方向を逆転して,阻害を解除する.
これらの接触状態を実装する単純な限界状態マシンが,フィルタ化されたF/T読み値によって駆動され,接触豊富な操作のための堅牢な基盤を提供します.この状態マシンは,学習されたポリシーの上に安全層として使用できます (ジャーム状態が検出された場合,ポリシーを覆う) またはポリシー自体のための観察として (現在の接触状態をカテゴリー入力として提供します).
ROS2コード: 受け入れ制御とF/Tフィードバック
# admittance_controller.py — ROS2 node for basic admittance control
import rclpy
from rclpy.node import Node
from geometry_msgs.msg import WrenchStamped, TwistStamped
import numpy as np
class AdmittanceController(Node):
def __init__(self):
super().__init__('admittance_controller')
# Admittance gains (compliance): higher = more compliant
self.M = np.diag([5.0, 5.0, 5.0, 1.0, 1.0, 1.0]) # virtual mass
self.D = np.diag([50.0, 50.0, 50.0, 10.0, 10.0, 10.0]) # damping
self.F_desired = np.array([0, 0, -5.0, 0, 0, 0]) # desired wrench (5N push in -z)
self.vel = np.zeros(6)
self.sub = self.create_subscription(
WrenchStamped, '/ft_sensor/wrench', self.wrench_cb, 10)
self.pub = self.create_publisher(
TwistStamped, '/servo_node/delta_twist_cmds', 10)
self.timer = self.create_timer(0.01, self.control_loop) # 100 Hz
self.current_wrench = np.zeros(6)
def wrench_cb(self, msg):
w = msg.wrench
self.current_wrench = np.array([
w.force.x, w.force.y, w.force.z,
w.torque.x, w.torque.y, w.torque.z])
def control_loop(self):
dt = 0.01
F_error = self.F_desired - self.current_wrench
# Admittance: M * a + D * v = F_error
acc = np.linalg.solve(self.M, F_error - self.D @ self.vel)
self.vel += acc * dt
# Publish velocity command
msg = TwistStamped()
msg.header.stamp = self.get_clock().now().to_msg()
msg.twist.linear.x = float(self.vel[0])
msg.twist.linear.y = float(self.vel[1])
msg.twist.linear.z = float(self.vel[2])
msg.twist.angular.x = float(self.vel[3])
msg.twist.angular.y = float(self.vel[4])
msg.twist.angular.z = float(self.vel[5])
self.pub.publish(msg)
この基本的な入門制御はF/Tキーを読み,望ましいキーの相対的な力誤りを計算し,接触力に対応する速度コマンドを出力します.
考える こと が 増える
F/Tセンサーは,腕のフラングとエンドエフェクターの間に機械的に設置する必要があります.マウントは硬いものでなければなりません.センサーと腕,またはセンサーとグリッパー間の任意の適合は測定誤りをもたらし,帯域幅を削減します.製造者の推奨マウントハードウェアとトークの仕様を使用します.
ケーブル路由は極めて重要です.センサーケーブルは,足够のストレージ緩和と接続器の緊張なしに腕に沿って路由する必要があります.F/Tセンサーケーブルは精度な機器です.腕の動き中に引っ張ったり引っ張ったりすると騒音が発生し,最終的にセンサーに損傷を与える. 腕の回転範囲に指定されたケーブル管理クリップを使用し,手中にいるケーブルを利用可能であれば,腕の内部管道を通り抜ける.
組み立て後,重力補償校定を実行します.腕を複数の方向に移動し,グリッパー組の重力鍵を計算するためにF/Tの読み値を記録します.相互作用力を隔離するために,この鍵を次回の読み値から引いてください.ほとんどのF/T ROS2ドライバーには重力補償が標準的な機能として含まれます.
ROS2 統合:開始
F/Tセンサーの標準ROS2インターフェースは,話題 (通常はT4
ATIセンサーでは,
ROS2 の基本の入門制御ループは,F/T キーを読み,力誤りに比例する速度修正を計算し (望ましい力・測定力) を行い,修正された速度コマンドを腕制御器に送信する.制御法則は:速度 = 獲得 * (F__望んだ - F_測定). 勝負マトリックス (6x6 すべての軸) は適合を決定します.高勝負はロボットが強さに対して反応して動き回るということです.低勝負はより硬い行動を意味します. 低勝負から始め,振動なしに望ましい適合を達成するまで徐々に増加します.
学習された操作策略については,F/Tの鍵を追加の観測チャネルとして含め:各時間ステップで観測に添付される6次元ベクトル.これは直接実装され,政策が暗示的に力に依存する行動を学ぶことができます. 構造力制御のために,学習されたポリシーが望ましいクイッチまたはコンプライアンスパラメータを出すハイブリッドアーキテクチャを使用し,クラシックな入口制御器が低レベルの力規制を処理します.
F/Tセンサーとデータ収集
接触型作業の示範データを収集する際には,F/Tデータを記録することが不可欠です.成功した挿入または組み立ての際にフォースプロフィールは,カメラ画像が捉えていない情報を含みます. F/T観測で訓練された政策は,接触に富んだ課題における視力のみの政策を一貫して上回る.
RCSVのデータ収集ステーションには,各ロボット腕の腕にATI Mini45 F/Tセンサーが搭載され,F/Tデータはカメラと関節状態の横に同期的に500Hzで記録される.この記録速度は接触型行動学習に不可欠な接触型トランジメントを捕捉する.F/Tデータはサポートされるすべてのフォーマットで標準データセット輸出に含まれています.
フォース トーク センサー を 始め て
接触型操作を探求するチームにとって,F/Tセンサーは高利率投資である.ハードウェアコストはロボット腕と比較して控えめなものであり,近代的なROS2パッケージと統合が直接であり,接触型作業の性能改善は劇的に見られる. 腕に搭載されたセンサーを 首部研究器に設置し 基本の入門制御を導入して 力をベースとした相互作用を熟知し 学習した方針に F/T観測を活用する方法を 拡張します
RCSVは,F/T装備のロボットステーションを,我々の [ロボットリースプログラム] (
関連: ロボットグリッパーガイド · フォース・トルクセンシング (語彙) · ロボットカメラセットアップ · ロボット学習対古典制御 · ハードウェアカタログ







