Ekstrand, B. (2001). Equations of Motion for a Two-Axes Gimbal System.IEEE Transactions on Aerospace and Electronic Systems, 37(3), 1083–1091.
這是整條線的起點。它推導 yaw–pitch 雙軸構型的完整運動方程,假設剛體、無質量不平衡,並把各項分門別類以便解讀。對選型最關鍵的兩個貢獻:一是明確處理了 yaw gain 隨 pitch 角變化(下面第二節整節都在講這件事),二是給出慣量交叉耦合項,並指出這些耦合可以透過特定的慣量對稱條件消掉——也就是說,耦合有一部分是可以在機構設計階段就設計掉的,不必全丟給控制器。
Abdo, M., Vali, A. R., Toloei, A. R., & Arvan, M. R. (2013). Research on the Cross-Coupling of a Two Axes Gimbal System with Dynamic Unbalance.International Journal of Advanced Robotic Systems.
Dynamic Modeling and Coupling Characteristic Analysis of Two-Axis Rate Gyro Seeker (2018).International Journal of Aerospace Engineering, Article 8513684。同時含 cross-coupling、mass imbalance 與擾動力矩,並用頻域辨識伺服馬達的轉移函數。
Huang, Q., et al. (2024). Modeling and Control of a Two-Axis Stabilized Gimbal Based on Kane Method.Sensors, 24(11), 3615。用 Kane 法避開 Newton–Euler 的鉸鏈約束力與 Lagrange 的二階微分方程,換到結構更簡單、算得更快的模型。
Ekstrand, B. (2001). Equations of Motion for a Two-Axes Gimbal System. IEEE Transactions on Aerospace and Electronic Systems, 37(3), 1083–1091. 連結
Abdo, M., Vali, A. R., Toloei, A. R., & Arvan, M. R. (2013). Research on the Cross-Coupling of a Two Axes Gimbal System with Dynamic Unbalance. International Journal of Advanced Robotic Systems. DOI: 10.5772/56963
Dynamic Modeling and Coupling Characteristic Analysis of Two-Axis Rate Gyro Seeker (2018). International Journal of Aerospace Engineering, Article 8513684. 連結
Huang, Q., et al. (2024). Modeling and Control of a Two-Axis Stabilized Gimbal Based on Kane Method. Sensors, 24(11), 3615. 連結
Hilkert, J. M. (2008). Inertially Stabilized Platform Technology: Concepts and Principles. IEEE Control Systems Magazine, 28(1), 26–46.
Modelling of a Two-Axis Gimbal Test-Bed for Line-of-Sight Stabilization (2006). Proc. MATHMOD. 連結
This is the twenty-fourth post in the LocalPapa Notes dev-log series. Post twenty-three sized a three-axis ball gimbal, running the formula chain once per axis. But a great many EO/IR pods in service are two-axis — azimuth plus elevation, no roll.
Intuition says two axes must be simpler: one fewer axis, one fewer calculation. The opposite is true. On a three-axis gimbal each axis can be treated roughly as an independent single-axis problem. On a two-axis gimbal the azimuth axis cannot — its inertia, its rate demand, and even whether it can keep up at all all vary with elevation.
This post works out those variations, runs two independent torque-to-current chains, and arrives at a conclusion rarely stated up front: the Kt you choose directly sets how big the straight-down keep-out cone will be.
The literature
The two-axis configuration is actually better covered than three-axis, because seekers and EO pods are predominantly two-axis.
Ekstrand, B. (2001). Equations of Motion for a Two-Axes Gimbal System.IEEE Transactions on Aerospace and Electronic Systems, 37(3), 1083–1091.
The starting point for the whole line. It derives the full equations of motion for the yaw–pitch configuration assuming rigid bodies with no mass unbalance, grouping the terms by category for interpretability. Two contributions matter most for sizing: it explicitly treats the yaw gain's dependence on pitch angle (section two below is entirely about this), and it gives the inertia cross-coupling terms, noting these can be eliminated by particular inertia symmetry conditions — meaning some of the coupling can be designed out mechanically rather than handed to the controller.
Abdo, M., Vali, A. R., Toloei, A. R., & Arvan, M. R. (2013). Research on the Cross-Coupling of a Two Axes Gimbal System with Dynamic Unbalance.International Journal of Advanced Robotic Systems.
Drops Ekstrand's no-unbalance assumption, adds dynamic unbalance back in, and links the two stabilization loops through a cross-coupling unit. One conclusion: the higher the base angular rate, the more pronounced the overshoot — which matters on airborne platforms.
Dynamic Modeling and Coupling Characteristic Analysis of Two-Axis Rate Gyro Seeker (2018).International Journal of Aerospace Engineering, Article 8513684. Covers cross-coupling, mass imbalance, and disturbance torque together, identifying the servo motor transfer function in the frequency domain.
Huang, Q., et al. (2024). Modeling and Control of a Two-Axis Stabilized Gimbal Based on Kane Method.Sensors, 24(11), 3615. Uses Kane's method to avoid Newton–Euler's constraint forces and Lagrange's second-order differential equations, trading into a simpler and faster model.
What these four have in common is that they all solve dynamics and control — none answers "so how big should the motor be." What follows is the bridge from their conclusions to sizing, and that bridge is this site's, not the papers'.
What this is
A mid-size two-axis EO/IR pod: azimuth continuous through 360°, elevation covering horizontal down to straight down, slung under a multirotor or unmanned helicopter.
Important: every input below is my estimate for this class of device, not any manufacturer's published specification. The value is in the derivation and the sensitivities, not these particular numbers.
Ball diameter 140 mm → frontal area A = π × 0.070² = 0.01539 m²
Inner (payload) mass 1.2 kg, principal inertias Jx 0.0011 (along the optical axis, smallest), Jy = Jz 0.0036 kg·m²
Residual CG offset 0.5 mm (what remains after balancing)
Friction 0.02 N·m (absolute — post twenty-three showed the proportional model underestimates at this scale)
Cd = 0.60, v = 20 m/s, gust 1.4, Kt = 0.10 N·m/A, SF = 2.5
Target LOS rate 90°/s, 24V bus, 6A drive current limit
Shared step: v_design = 28 m/s, F_drag = ½ × 1.225 × 28² × 0.60 × 0.01539 = 4.4353 N.
1. The real difficulty: azimuth rotation stops moving the LOS
Start with the geometry — every conclusion below grows out of it.
Figure 1: as the azimuth axis turns, the LOS tip traces a circle of radius L × cos(elevation). At 0° elevation, 10° of azimuth moves the LOS 10°. At −85° elevation, the same 10° of azimuth moves it only 0.87°.
The azimuth axis is vertical and the LOS leaves from the elevation axis. As azimuth turns, the LOS tip traces a circle — and that circle's radius is L × cos(el). The closer elevation gets to straight down, the smaller the circle, and the less the same azimuth rotation moves the LOS.
Inverted, that is the equation sizing actually needs:
ω_az = ω_LOS / cos(el)
Ekstrand calls this the yaw gain's dependence on pitch angle. At −85° elevation, moving the LOS at 90°/s requires the azimuth axis to turn at 1033°/s — an 11.5× amplification. At −88° it is 28.6×. At ±90° the LOS is collinear with the azimuth axis and no amount of azimuth rotation moves it at all — the two-axis gimbal lock.
For a UAV pod this is not theoretical. Straight down is one of the most-used viewing attitudes (orbiting a target), and that is exactly the two-axis singularity.
2. Three quantities that all vary with elevation
The biggest difference from three axes is that the azimuth axis's parameters are not constants.
Figure 2: three quantities against a shared elevation axis. J_az and gravity torque are largest at 0° and fall off; yaw gain does the opposite, diverging near 90°.
Azimuth inertia J_az — the inner body's inertia about the vertical axis changes as the body itself rotates (the inertia tensor rotates with attitude):
J_az(el) = J_azframe + Jz·cos²(el) + Jx·sin²(el)
Substituting: el 0° → 0.00560, el 90° → 0.00310 kg·m², a factor of 1.81, largest at 0°.
Gravity torque — the residual CG offset after balancing produces T_grav = m·g·e·cos(el) on the elevation axis: 0.00589 N·m at 0°, zero at 90°. This term lands on the elevation axis, not azimuth.
Yaw gain 1/cos(el) — 1 at 0°, 11.5 at 85°, 28.6 at 88°, divergent at 90°.
3. The intuition that turned out wrong: azimuth's worst case is not at 0°
J_az is largest at 0°, so intuition says azimuth torque demand peaks at 0° too. It doesn't.
Because yaw gain amplifies the angular acceleration demand at the same time: the azimuth axis must produce α_az = α_LOS / cos(el) (assuming elevation is momentarily fixed; simultaneous elevation motion makes it worse). So the inertia torque becomes:
T_inertia,az(el) = J_az(el) × α_az0 / cos(el)
The two effects pull opposite ways: inertia falls by 1.80×, the secant rises by 11.47×. Net amplification 6.39×, and the maximum lands at the end of travel rather than at 0°:
el 0°: J_az 0.00560, α 0.3948, T_inertia 0.00221, T_required 0.13314
el 60°: J_az 0.00373, α 0.7896, T_inertia 0.00294, T_required 0.13497
el 80°: J_az 0.00318, α 2.2735, T_inertia 0.00722, T_required 0.14566
el 85°: J_az 0.00312, α 4.5296, T_inertia 0.01413, T_required 0.16294
I had assumed the maximum-inertia point would be the worst-torque point. Working it out showed otherwise. That is the value of computing first and concluding second, rather than the reverse.
And something more important: this curve has no interior maximum. It rises monotonically and diverges at 90°. So there is no "worst elevation" for the azimuth axis at all — wherever you set the design limit is where the worst case lands. The 85° in the table above is not a computed peak; it is a limit I chose first.
4. The two axes peak at opposite ends
The elevation axis's only variable is gravity (J_el = Jy does not depend on elevation), so it is worst at 0°. The azimuth axis is yaw-gain-dominated and worst near the singularity.
Figure 3: T_required against elevation for both axes. The elevation axis has a genuine interior maximum at 0°; the azimuth axis does not — it rises monotonically and diverges at 90°, so the 85° marked is a design limit, not a peak.
Elevation axis: T_required = 0.18071 N·m at el 0° (the gravity term 0.00589 peaks here) — a genuine maximum; it only falls off either side.
Azimuth axis: T_required = 0.16294 N·m at el 85° — but that number comes from the design limit, not from a peak in the curve. Set the limit at 88° and it becomes 0.2154; at 89°, 0.3030.
The practical implication is direct: you cannot verify at one attitude. Stress-test the elevation axis at horizontal and the azimuth axis near straight down. Pick some middle angle and you have tested neither axis's worst case.
5. Two torque-to-current chains
Now run each axis to completion. Note the chains have different terms — gravity appears only on elevation, yaw gain affects only azimuth.
Figure 4: each axis's torque composition and conversion. Gravity appears only on elevation and yaw gain amplifies only the azimuth inertia term — same pod, same airspeed and friction, and the two demands still differ by 11%.
ΣI_peak = 3.44 A with both axes at peak simultaneously.
6. One step further back: Kt sets your nadir keep-out cone
Up to here nothing differs fundamentally from three axes. This is the step that does.
T = Kt · I only answers "is there enough current." The azimuth axis has a second constraint: can it turn fast enough? And yaw gain tightens that constraint sharply near straight down.
A motor's speed ceiling on a given bus is roughly ω_max ≈ V_bus / Ke, and in SI units Ke = Kt. Reserving 30% for resistive drop, PWM, and control headroom:
ω_max ≈ 0.7 × V_bus / Kt
Keeping up requires ω_LOS / cos(el) ≤ ω_max, which rearranges to:
Figure 5: keep-out half-angle against Kt, with the three catalogue motors marked. Same 24V, same 90°/s tracking requirement — the larger the Kt, the larger the cone.
For a 24V bus and a 90°/s tracking requirement:
Kt = 0.10 (this post's assumption): ω_max 168 rad/s → tracks to el 89.46°, keep-out half-angle 0.54°
Kt = 0.385 (CubeMars GL60 II): ω_max 43.6 rad/s → tracks to el 87.94°, keep-out 2.06°
Kt = 0.444 (CubeMars GL60): ω_max 37.8 rad/s → tracks to el 87.62°, keep-out 2.38°
This is the real two-axis trade-off. A larger Kt means less current for the same torque (I = T/Kt) — and for three axes the analysis ends there. On two axes, a larger Kt also means turning slower on the same voltage, so the cone of "can't keep up" directly below grows.
The azimuth axis's feasible Kt is therefore squeezed from both sides:
Which one wins depends on the mission. If the routine task is orbiting a target directly below, a 2° cone means the LOS lags and the image smears inside it — that argues for lower Kt, making up the torque with current limit. If the work is mostly oblique and elevation rarely exceeds 60°, the cone is not a constraint and you can take the high-Kt current savings.
Put differently: three-axis sizing only has to answer "is there enough current." Two-axis sizing also has to answer "how big a cone can you live with." That second question is not a mechanical question, it's a mission question — which is why it has to be settled before the motor is chosen.
The limits of this analysis
Every input is an estimate, not any manufacturer's published specification. What's durable is the derivation and the relative relationships.
ω_max ≈ 0.7 V_bus / Kt is a simplification. It ignores resistive drop varying with current, the possibility of field weakening, and the drive's modulation ceiling. To finalize, replace it with the motor's measured speed–torque curve.
α_az = α_LOS / cos(el) assumes elevation is momentarily fixed. With elevation and azimuth both moving there is an additional ω_LOS · sin(el)/cos²(el) · (del/dt) term that makes the demand larger. This post takes the more forgiving side.
This post reuses the calculator's θ_max/f_bw heuristic to get α; post twenty-three explains why that is not a disturbance-rejection derivation.
How to work through this with me
To apply this to your own two-axis pod, have these ready:
Elevation travel range, and the elevation band the mission actually uses (this decides whether the cone is acceptable)
The inner body's three principal inertias, or its mass and rough dimensions (needed to compute how J_az varies)
Residual CG offset after balancing (the gravity term lands entirely on elevation)
Bus voltage and drive current limit (these two bracket Kt from both sides)
The LOS tracking rate you need
If something's missing, say it's missing — I won't guess a value and fill it in for you.
References
Ekstrand, B. (2001). Equations of Motion for a Two-Axes Gimbal System. IEEE Transactions on Aerospace and Electronic Systems, 37(3), 1083–1091. Link
Abdo, M., Vali, A. R., Toloei, A. R., & Arvan, M. R. (2013). Research on the Cross-Coupling of a Two Axes Gimbal System with Dynamic Unbalance. International Journal of Advanced Robotic Systems. DOI: 10.5772/56963
Dynamic Modeling and Coupling Characteristic Analysis of Two-Axis Rate Gyro Seeker (2018). International Journal of Aerospace Engineering, Article 8513684. Link
Huang, Q., et al. (2024). Modeling and Control of a Two-Axis Stabilized Gimbal Based on Kane Method. Sensors, 24(11), 3615. Link
Hilkert, J. M. (2008). Inertially Stabilized Platform Technology: Concepts and Principles. IEEE Control Systems Magazine, 28(1), 26–46.
Modelling of a Two-Axis Gimbal Test-Bed for Line-of-Sight Stabilization (2006). Proc. MATHMOD. Link