関節トルク動力学 戻る
解析ツール

ロボット関節トルク・ニュートン-オイラー動力学計算機

2DOF平面ロボットアームの逆動力学計算。M(θ)θ̈+C(θ,θ̇)θ̇+G(θ)=τの各項を計算し、三次スプライン軌道に沿ったトルク変化をリアルタイムプロット。モータ選定補助付き。

パラメータ設定
プリセット
リンクパラメータ
L₁ [m]
m
L₂ [m]
m
m₁ [kg]
kg
m₂ [kg]
kg
現在姿勢
θ₁ [deg]
°
θ₂ [deg]
°
軌道設定
移動時間 T [s]
s
目標θ₁ [deg]
°
目標θ₂ [deg]
°
計算結果
τ₁静的 [N·m]
τ₂静的 [N·m]
ピークトルク [N·m]
中間点速度 [rad/s]
サイクルエネルギー [J]
推奨ギア比
動的応答
理論・主要公式

ラグランジュ/ニュートン-オイラー:

$$\mathbf{M}(\boldsymbol{\theta})\ddot{\boldsymbol{\theta}}+ \mathbf{C}(\boldsymbol{\theta},\dot{\boldsymbol{\theta}})\dot{\boldsymbol{\theta}}+ \mathbf{G}(\boldsymbol{\theta}) = \boldsymbol{\tau}$$

慣性行列:$M_{11}= (m_1+m_2)L_1^2 + m_2 L_2^2 + 2m_2 L_1 L_2 c_2 + I_{z1}$

重力ベクトル:$G_1 = (m_1+m_2)g L_1 c_1 + m_2 g L_2 c_{12}$

三次スプライン:$\theta(t)=\theta_0+(\theta_f-\theta_0)\left[3(t/T)^2-2(t/T)^3\right]$

ロボット関節トルク・ニュートン-オイラー動力学計算機とは

🙋
このシミュレーターで計算している「関節トルク」って、ロボットのどこで必要な力なんですか?
🎓
大まかに言うと、ロボットの肩や肘のモーターが発揮すべき回転力だね。例えば、この2リンクロボットで言うと、土台との接続部分が第1関節、その先のリンク同士の接続が第2関節。このツールでは、リンクの長さ(L₁, L₂)や重さ(m₁, m₂)を変えたり、動かしたい軌道を設定すると、各関節に必要なトルクが計算できるんだ。上のスライダーでリンクを長くしてみると、必要なトルクがどう変わるか確認してみて。
🙋
表示されている「M(θ)θ̈」「C(θ,θ̇)θ̇」「G(θ)」って、それぞれ何が違うんですか?
🎓
実務では、これらを分けて考えるのが大事なんだよ。G(θ)は重力によるトルクで、ロボットが静止している時でも必要な「保持トルク」。C(θ,θ̇)θ̇は、リンクが回転する時に生じるコリオリ力や遠心力に対抗するトルクだ。例えば、アームを高速で振り回すと必要になる。M(θ)θ̈は加速度に抗する慣性トルク。シミュレーターで「移動時間T」を短く(高速動作)すると、この項が大きく跳ね上がるのが見えるよ。
🙋
「三次スプライン軌道」って、なんでわざわざ使うんですか?目標角度まで一直線に動かせばいいのでは?
🎓
良い質問だね。確かに位置だけ見れば一直線でもいい。でも、速度や加速度がゼロから急に最大値になったりすると、モーターに過大な負荷がかかり、振動や騒音の原因になるんだ。三次スプラインは、動き始めと終わりを滑らかに(速度ゼロ)繋ぐ軌道。シミュレーターで「目標θ₁」を変えてトルクグラフを見比べてみ。滑らかな軌道だと、トルクのピーク値が抑えられてるのが分かるはずだよ。現場で多いのは、この軌道計画でモーターサイズを決めるんだ。

よくある質問

はい、パラメータ入力欄でリンク長や質量を変更すると、運動方程式の各項(慣性行列M、コリオリ項C、重力項G)が再計算され、トルクプロットも即座に更新されます。モータ選定の参考値も連動して変わります。
三次スプライン軌道は、指定した複数の経由点を滑らかに通過するように補間した角度・角速度・角加速度の時間プロファイルです。実機の加減速を模擬でき、急激なトルク変動を避けた現実的な逆動力学計算が可能になります。
モータ選定補助機能が警告を表示します。対策として、リンク質量の軽減、動作速度の低下(軌道の時間を延ばす)、または減速比の見直しを検討してください。ピークトルクが定格内に収まるようパラメータを調整する必要があります。
ニュートン-オイラー法は各リンクの力とモーメントを再帰的に計算するため、計算効率が高く、リアルタイムプロットに適しています。ラグランジュ法はエネルギーから導出するため式が複雑になりがちですが、本ツールでは高速な逐次計算を優先してニュートン-オイラー法を採用しています。

実世界での応用

産業用ロボットのモータ選定:この計算で求まるピークトルクと実効(RMS)トルクは、サーボモータと減速機の容量を決定する直接的な入力条件となります。過大なモータはコストと重量を増し、過小なモータは過熱や故障の原因となるため、設計初期段階での正確な見積りが不可欠です。

多体動力学(CAE)シミュレーションの前処理:AdamsやSimpackなどの本格的なMBD(多体動力学)解析を行う前に、このようなツールで関節トルクの概算を把握します。これにより、CAEモデルに与える駆動関数や、関節部の詳細な応力解析に必要な荷重条件を適切に設定できます。

ロボット制御器の設計・チューニング:計算された運動方程式の各項(慣性、コリオリ、重力)は、高度な制御手法である「モデルベース制御」や「重力補償」のアルゴリズム設計に直接利用されます。これにより、省エネルギーかつ高精度な動作が実現可能になります。

協働ロボットの安全性検証:人と共存する協働ロボットでは、想定外の動作時(人との接触時など)の関節トルクを予測し、安全機構(トルクセンサによる検知と停止)の閾値設定に役立てられます。

よくある誤解と注意点

このツールを使い始める際、特に実務を意識するなら、いくつか気をつけてほしいポイントがあるよ。まず「リンクの質量は重心位置で考えろ」という点。ツールでは「リンクの質量」を一つの値で設定するけど、実際の設計では、この質量がリンクの「どこに」集中しているかが特に重要。例えば、同じ1kgのリンクでも、質量が関節から遠い先端にあれば、慣性モーメントは桁違いに大きくなる。ツールの計算はリンクを質点と見なしているから、実機では必ず慣性モーメントを別途計算して検証が必要だ。

次に「計算結果は理想的な駆動トルクに過ぎない」という認識。このシミュレーターが出力するのは、理論上必要なトルクの最小値だ。実際のモーター選定では、ここに安全率(例えば1.5〜2倍)を掛け、さらに減速機の慣性や摩擦、ケーブルの張力など、様々な損失トルクを加算する。ツールで「10 Nm」と出ても、現場では20Nm級のモーターを選ぶことが多いんだ。

最後に、「軌道計画が全てを決める」という実感を持ってほしい。目標角度を変えてもトルクがほとんど変わらないのに、「移動時間T」を0.5秒から0.2秒に縮めるだけでトルクが数倍に跳ね上がるよね。これは、加速度項 $M(\theta)\ddot{\theta}$ が支配的になるから。無闇に高速化を要求すると、モーターサイズとコストが爆発するから、動作速度の設定は最も重要なトレードオフの一つなんだ。