ロボットの位置、速度、トルク制御は、同じコマンドに対して3つの交換可能なラベルではありません。ポジションコントロールはジョイントに角度を取るよう求め、速度コントロールは速度を保つように、トルクや力のコントロールはドライブに旋回効果を生み出させます。利用可能なコマンドインターフェースとその下に閉じられたフィードバックが実際の挙動を決定します。
ほとんどのサーボジョイントはカスケードループを使用しています。高速電流ループはモータートルクを調整し、遅い速度ループがそれを囲み、位置ループは両方を囲むことがあります。ギア比、摩擦、バックラッシュ、コンプライアンス、センサー、飽和度、熱限界が出力軸に到達するものを変えます。
このガイドを ロボットエンコーダーガイド と コンタクトコントロールの比較と組み合わせてご利用ください。ゲインやモード遷移は実際の駆動装置、機構、負荷で検証されなければなりません。ソフトウェアインターフェースの名前だけでは出力トルクや安全性を証明できません。
まず、アプリケーションが規制しなければならない量から始める
ピック&プレイス軸は通常、経路の位置とタイミングを優先します。コンベヤーやホイールは速度を優先することがあります。接触、力の制限、動的バランスはトルクレベルの挙動を必要とする場合があります。タスクをトラッキングエラー、妨害除去、接触応答、停止要件に変換してからコマンドモードを選択します。
外側のアプリケーションでも複数の数量を生み出すことができます。軌道は位置、速度、加速度のフィードフォワードを含むものがあり、関節は努力ループを閉じます。命令された変数、測定変数、コントローラの位置、レートを明示し、アーキテクチャが明確になるようにしてください。

電流ループは実用的なトルク発生層です
モータートルクは、モデル化された限界内でモータートルク定数を流れるq軸電流とおおよそ関連しています。ドライブは位相電流を測定し、電圧を素早く切り替えて電流が基準に従うようにします。電気的遅延、電圧制限、電流センサー誤差、温度制限が応答を制限します。
現在のコマンドが自動的にジョイントトルクと等しいわけではありません。ギア比、効率、摩擦、ケーブル力、反射慣性、校正が介入します。出力トルクが重要な場合は、方向、速度、温度を横断した外部の力やトルク基準との関係を検証してください。
| コマンドレイヤー | 典型的なフィードバック | ループの出力 | 一次制約 |
|---|---|---|---|
| 電流またはトルク | モーター電流、時にはトルクセンサー | 電圧または電流需要 | 電圧、電流、熱限界 |
| 速度 | エンコーダー速度 | トルク発生需要 | 騒音、遅延、加速度の限界 |
| 位置 | エンコーダー位置 | 速度またはトルク要求 | コンプライアンス、バックラッシュ、パス制限 |
| デカルト運動 | ロボット運動学 | 共同参考文献 | 特異点とモデル誤差 |
| 接触目的 | 力感知または触覚感知 | モーションまたはトルク補正 | 安定性と安全限界 |
速度ループは速度誤差をトルク需要に変換します
速度制御は測定された関節やモーターの速度を基準値と比較し、通常トルクや電流の指令を生成します。特定の最終位置を強制することなく荷重の乱れを排除します。速度推定の品質は重要で、エンコーダ微分は量子化やノイズを増幅します。
機構を取り付けたままループを調整してください。無負荷のモーターで安定しているゲインは、取り付け後にギアボックスのコンプライアンスや構造共鳴を励起する可能性があります。加速度、ジャーク、電流の制限は調整され、速度コントローラーがすべての遷移時に飽和状態にならないようにする必要があります。
位置ループは角度誤差から運動を生み出します
位置制御は目標角度と測定角度を比較し、速度またはトルク要求を算出します。軌道の実行には直感的ですが、高い比例利得は無料精度にはなりません。コンプライアンス、バックラッシュ、センサーの配置や飽和は、振動や大きな接触力を生み出すことがあります。
ROS 2 Joint Trajectory Controllerのドキュメントでは、位置、速度、努力コマンドのインターフェースを区別し、PIDを通じて軌道誤差を速度や努力コマンドでマッピングする方法を説明しています。インターフェースの下にあるハードウェア実装が物理的な挙動を定義します。
ループ帯域幅は内側から外側へと減少するはずです
電流ループは通常、速度ループよりも速く沈降し、速度ループは位置ループよりも速く沈降しなければなりません。この分離により、各外側ループは内部応答を自身の帯域幅上でほぼ即時的に扱うことができます。分離が悪いと相互作用やチューニングの難しさが生まれます。
遅延、共振、計算ジッターを測定せずに「10倍速い」といったスローガンからレートを選ぶのはやめましょう。プラントの応答を特定し、問題のあるモードの下に保守的な帯域幅を設定し、ペイロードや温度変化時の利得と位相マージンをチェックします。

ポジション、ベロシティ、エフォートのインターフェースは異なる意味論を持っています
ROS 2 制御は位置、速度、出力のジョイント状態とコマンドインターフェースを公開し、 ジョイントキネマティクスと伝達マッピングは アクチュエータとジョイント空間を接続します。労力数は、ハードウェアプラグインによってモータートルク、ジョイントトルク、または正規化された需要を表すことがあります。
ドキュメント単位、符号、基準枠、ギアマッピング、彩度、重力補償か摩擦補償のいかが含まれます。コマンドが届かなくなったときに何が起こるか確認してください。シミュレーターが直接力を加えたからといって、物理的な駆動がジョイントトルクを調整している証拠にはなりません。
| 検証テスト | 位置モードの証拠 | 速度モードの証拠 | トルクモードの証拠 |
|---|---|---|---|
| ステップまたは軌道 | 沈降と経路誤差 | レートトラッキング | トルク上昇と制限 |
| 荷重擾乱 | ポジション回復 | 速度回復 | トルク調整 |
| 逆転 | バックラッシュとヒステリシス | ゼロクロス挙動 | 摩擦補償 |
| 接触 | ピークフォースとたわみ | 速度対力過渡現象 | 力またはインピーダンス応答 |
| モード遷移 | ポジションジャンプなし | 金利の上昇はありません | トルクインパルスなし |
PID項は異なる誤りパターンを解消します
比例作用は現在の誤差に反応し、積分作用は持続的なバイアスを除去し、微分または速度フィードバックは減衰を加えます。フィードフォワード項は、期待される重力、慣性、速度、摩擦需要を供給できるため、フィードバックは課題全体を担うのではなく、残差誤差を補正します。
インテグラルアクションは、飽和やモード変化に近い際に特に注意が必要です。大量に蓄積された積分器は、制限が解除された後に予期せぬサージを命じることができます。導入時にアンチゼンドアップ、有界積分器、バンプレス初期化、ログ付き期寄与を活用してください。
飽和と力学は理想的なカスケードを壊す
電圧、電流、速度、加速度、移動制限はそれぞれコマンドをクリップすることがあります。外側のループは内側のループが従えない場合を把握しなければなりません。そうしないと、アクチュエーターがピン留めされたまま誤差が蓄積されます。リミット管理は隠れた不連続性ではなく、制御された反応を生み出すべきです。
ギアボックスの弾性、バックラッシュ、スティクション、構造モードのため、モーター側のフィードバックが必ずしも出力側の動きとは限りません。効果を測定した後にのみ出力センシングやモデル補正を追加してください。機械的誤差を隠すために強力なゲインを使うと、熱や摩耗、接触の激しさが増すことがあります。
追跡、異常、接触を別々に検証する
軌道追跡は、代表的な速度、加速度、ペイロードの下での経跡誤差とタイミング誤差を測定します。擾乱試験では既知の荷重変化を適用し、回復を観察します。接触試験は制御された環境剛性を導入し、力、たわみ、安定性を測定します。一つの成功したテストが他のテストの代わりにはなりません。
ログ参照、測定状態、コントローラ用語、飽和フラグ、温度および安全イベントを共通の時間ベースで記録します。方向を横断して繰り返し、ポーズとウォームアップをします。繰り返し可能な出力側測定は、クリーンな内部コマンドトレースよりも有用です。
モード遷移は制御設計の一部です
位置からトルク制御への切り替えは、新しいコントローラーが現在の状態と一致しない基準から始まるとジャンプを生むことがあります。測定条件から位置目標、積分器、トルクバイアスを初期化し、明示的な遷移ロジックの下でランプ権限を設定します。
許可された遷移、ガード条件、タイムアウト挙動、フォールバックモードを定義します。古いコマンド、センサーの損失、ドライブの故障、緊急停止をテストしてください。滑らかな名目交代は、故障経路が境界化されるまでは不完全です。
- 規制された量とフィードバックの締め切りを指定してください。
- 内側のループは外側のループよりも速く動かし、余裕を測定してください。
- コマンドユニット、マッピング、飽和度を文書化してください。
- テストトラッキング、妨害除去、接触は別々に行う。
- すべてのモード移行を明確かつバンプレスにしましょう。
よくある質問
位置制御ロボットにはトルク制御がないのでしょうか?
通常、その位置ループの下には高速モーター電流またはトルクを発生させるループが残っています。ユーザーが直接命令しないかもしれません。
コントローラーの更新速度が速いほど常に良いのでしょうか?
いいえ。サンプリングは望ましい帯域幅をサポートしなければなりませんが、遅延、ノイズ、ジッター、計算、機械的共振は依然として有用な利得を制限します。
努力コマンドは測定されたジョイントトルクと等しいのでしょうか?
必ずしもそうとは限りません。ハードウェアの定義、伝送マッピング、摩擦補償、校正を出力側の証拠と共に確認してください。
高い位置獲得は常に精度を向上させるのでしょうか?
いいえ。低周波誤差を減らすだけでなく、コンプライアンスの向上、接触力の増加、ドライブの飽和、発熱の蓄積にもつながります。
コントローラーはポジションからトルクモードに直接切り替えられますか?
参照や状態の初期化、コマンド変更の制限、故障の検証を行う設計された遷移のみです。
共同制御境界注記
制御ゲイン、リミット、モード遷移はアクチュエーター、駆動、センシング、負荷、安全設計に特化しています。代表的なハードウェアで出力挙動を検証し、ソフトウェアインターフェース名から校正されたトルクや安全機能を推測しないでください。