Why the axis layout, not the motor, sets pedestal mass
A two-axis servo pedestal is the actuating element of a radar antenna: it converts host-computer commands into azimuth and elevation pointing, either for continuous sector scan or for stationary stare. In integrated, vehicle-carried systems the pedestal is also the component squeezed hardest by the envelope, because the antenna, the pedestal and the electronics cabinet all compete for the same volume, and every kilogram removed from the rotating structure propagates back into the mount, the levelling legs and the transport frame.
The conventional solution is a serial elevation-over-azimuth gimbal: an azimuth outer yoke rotating on a vertical bearing, an elevation inner axis rotating on a horizontal bearing, with the antenna mounted on the inner axis. The elevation drive motor, resolver and brake are carried on the inner structure and therefore swing with azimuth, and the elevation cabling must cross the azimuth rotation joint through a slip ring or a cable wrap. The arrangement is mechanically straightforward, achieves high structural accuracy because the two axes are orthogonal and independently supported, and is easy to control since the two loops are essentially uncoupled. Its weakness is volumetric: the azimuth drive has to be sized for the entire moving stack, the yoke must clear the swept envelope of the elevation assembly, and the cable path through the joint consumes further space and adds a failure point.
An alternative is to make the two drive shafts coaxial and to derive the second output from the differential of two coaxial rotations. Both motors, both resolvers and both bearing sets then sit in a single housing at the base, and the antenna pointing angle is produced by the relative motion of two concentric shafts through a bevel gear pair rather than by a second orthogonal gimbal. This article describes such a pedestal built around Gleason spiral bevel gears for a transportable radar with a tight envelope and mass budget, covering the kinematic decoupling it requires, the torque sizing under 2 g transport overload, the drive and encoder electronics, and the pointing accuracy measured on a laser angle-measurement platform.
Architecture of the coaxial differential pedestal
Both axes are driven by direct-drive torque motors; no gearbox or belt intervenes between motor and load on either axis. The azimuth motor, elevation motor, azimuth resolver, elevation resolver, and their respective bearing sets are all mounted coaxially in the base housing. The azimuth motor drives an azimuth adapter, which is the inner shaft. The elevation motor drives an elevation cantilever, a coaxial sleeve surrounding the azimuth shaft, and the elevation cantilever carries the driving bevel pinion. That pinion meshes with the driven bevel wheel fixed to the output turntable, and the antenna is mounted on the output turntable.
The kinematics follow directly from this arrangement. If only the azimuth adapter turns, the whole differential carrier—including the elevation pinion—orbits with it, the pinion rolls around the fixed wheel without changing its relative mesh position, and the output turntable turns in azimuth at the commanded rate while elevation is unchanged. If only the elevation motor turns relative to the azimuth adapter, the pinion rotates relative to the wheel and the output turntable changes elevation. Azimuth is thus a common-mode rotation of the two coaxial shafts, and elevation is their differential.
The mechanical savings are substantial: a single bearing housing instead of two orthogonal structures, a low and compact silhouette, and—because both stators and both resolvers are stationary with respect to the base—a short, fixed wiring path with no rotating cable bundle for the elevation channel. The price is paid in two places. First, azimuth and elevation are kinematically coupled, so elevation commands must be corrected for azimuth motion in software. Second, the elevation output is produced through a gear mesh downstream of two independently controlled motor axes, so gear backlash and the errors of both axes accumulate at the output. Both consequences shape the control design below.

Kinematic decoupling of the two coaxial shafts
Let the elevation driving pinion have \(z_1\) teeth and the driven wheel \(z_2\) teeth. The transmission ratio of the elevation mesh is
$$i_G=\frac{z_2}{z_1}=\tan 35^\circ=0.7$$
where the numerical value corresponds to a wheel pitch-cone angle of 35° on a 90° shaft angle. Because \(i_G<1\), the mesh is speed-increasing from the elevation motor to the output: one full revolution of the output turntable requires only 0.7 revolution of the elevation motor relative to the azimuth shaft, and load inertia reflected to the motor shaft is correspondingly amplified by \(1/i_G^2\).
With the azimuth shaft held stationary and the elevation motor turning through \(\theta_1\), the pinion advances by \(z_1\theta_1/360\) teeth and the output elevation becomes
$$\theta_2=\frac{z_1}{z_2}\theta_1=\frac{1}{i_G}\theta_1$$
Conversely, with the elevation motor held stationary and the azimuth shaft turning through \(\theta_3\), the orbiting pinion drags the wheel with it, so the output elevation changes by
$$\theta_4=\frac{1}{i_G}\theta_3$$
Keeping the elevation pointing fixed while azimuth rotates through \(\theta_3\) therefore requires the elevation motor to co-rotate in the same sense by \(\theta_5=\theta_4\,i_G=\theta_3\)—a 1:1 compensation. Superposing the two effects gives the command mapping implemented in the drive firmware, where \(\theta^{*}_{az}\) and \(\theta^{*}_{el}\) are the commanded output pointing angles and \(\theta^{*}_{M0}\), \(\theta^{*}_{M1}\) the resulting motor-shaft commands:
$$\theta^{*}_{M0}=\theta^{*}_{az},\qquad \theta^{*}_{M1}=\theta^{*}_{az}+i_G\,\theta^{*}_{el}$$
Equivalently, the output elevation is recovered from the measured shaft angles as \(\theta_{el}=(\theta_{M1}-\theta_{M0})/i_G\). The decoupling is exact and purely geometric; its accuracy depends on how precisely the two shaft angles are measured and on how closely the two loops track their commands in time. To minimise the latter, both axes are driven by a single tightly coupled two-axis controller built on one DSP plus FPGA, with the cross-axis data exchange performed inside the DSP. Compared with two independent single-axis drives, this removes a communication link and its latency from the decoupling path, which matters because any lag between the two shafts appears directly as an elevation error.
Sizing the drives under a 2 g overload
The angular acceleration demand comes from two requirements that must both be met: the acceleration needed to settle within the specified reaction time, and the acceleration needed to support the specified velocity-loop bandwidth. For a small-signal velocity-loop bandwidth of \(f_{bw}=40\ \mathrm{Hz}\) at a sinusoidal amplitude of \(A_m=0.5\,^\circ/\mathrm{s}\), the required acceleration is
$$\varepsilon_{bw}=A_m\cdot 2\pi f_{bw}=0.5\times 2\pi\times 40=125.66\ ^\circ/\mathrm{s^2}$$
A baseline maximum of 20 °/s² was adopted where no explicit acceleration requirement existed, and a design value of \(\varepsilon=150\ ^\circ/\mathrm{s^2}\) was selected to cover both the bandwidth and the reaction-time requirement with margin.
The load torque at each motor shaft is the sum of an inertia term and a bearing friction term. With the load inertia reflected through the gear ratio, \(J=J_M+J_L/i_G^2\), the inertia term is
$$M_{acc}=J\varepsilon$$
and the friction term, dominated by the deep-groove ball bearings, is
$$M_f=\mu P\frac{d}{2}$$
where \(\mu=0.0015\) is the rolling friction coefficient taken at the upper end of the 0.001–0.0015 range, \(P\) is the bearing load computed under 2 g overload, and \(d\) is the bearing bore. Evaluating these expressions gives 0.0785 N·m of inertia torque and 0.00294 N·m of friction on the elevation axis (0.03 kg·m² inertia, 2.0 kg moving mass, 0.1 m bore), and 0.183 N·m and 0.00183 N·m on the azimuth axis (0.07 kg·m² inertia, 2.5 kg moving mass, 0.05 m bore). Applying an engineering factor of 2.0 to the resulting load torque yields the motor torque requirement.
| Quantity | Azimuth axis | Elevation axis |
|---|---|---|
| Load inertia \(J\) (kg·m²) | 0.07 | 0.03 |
| Design angular acceleration (°/s²) | 150 | 150 |
| Inertia torque \(M_{acc}\) (N·m) | 0.183 | 0.0785 |
| Bearing friction torque \(M_f\) (N·m) | 0.00183 | 0.00294 |
| Design load torque \(M_L\) (N·m) | 0.185 | 0.108 |
| Engineering factor | 2.0 | 2.0 |
| Required motor torque \(M_m\) (N·m) | 0.370 | 0.216 |
The tabulated design load torques carry a small allowance beyond the two computed terms; the elevation value in particular is rounded upward before the factor of 2.0 is applied. Both required torques are well inside the capability of direct-drive torque motors of the size that fits the base housing, which is what makes the gearless, coaxial layout practical.
Three-loop control and current-loop design
Each axis uses a classical three-loop cascade. The current loop supplies stiffness and suppresses the effect of nonlinearity and disturbance; the velocity and position loops implement pointing, scan and search functions. Velocity and acceleration (current) feedforward compensates dynamic lag and raises the system’s velocity-error constant. Position and velocity loops use PID regulators, the current loop a PI regulator, and the two axes are closed through the shared controller so that the decoupling relation above is applied to every incoming command before it reaches the loops.
The current loop carries most of the implementation complexity because it involves the coordinate transformations and field orientation of an AC machine. It uses stator-field-oriented control with PI regulators in the synchronous \(d\)–\(q\) frame, active damping, back-EMF and cross-coupling decoupling feedforward, and vector limiting with anti-windup; seven-segment SVPWM; dual-resistor current sampling with prediction and no sampling delay; and resolver-based rotor position sensing. The Clarke (2/3) and Park (rotating-to-stationary) transformations provide the parameter decoupling that turns the multivariable, strongly coupled, nonlinear and time-varying AC machine into two approximately independent current channels.
Because the motor operates mostly at low speed relative to its maximum—its envelope is fixed by the pedestal, not by a wide constant-power range—no field weakening is required and SVPWM stays within its linear region. Vector limiting is therefore performed in the stator synchronous frame, and because the \(d\) and \(q\) channels are correlated the limiter acts on the two channels jointly rather than separately, using a minimum-phase-error strategy that constrains the PWM output space vector to a circle of radius \(V_{dc}/\sqrt{3}\). In the locked-rotor case, and neglecting the filter delay of the current-sampling circuit, choosing
$$K_p=L_a\omega_c,\qquad K_i=R_a\omega_c$$
gives the closed-loop response
$$\frac{i_a}{i_a^{*}}=\frac{\omega_c}{s+\omega_c}=\frac{1}{T_c s+1}$$
that is, a first-order response with bandwidth \(\omega_c\), no overshoot and no steady-state error. Current-loop bandwidths of 500 Hz to 2 kHz are typical, with small drives fed from high-frequency PWM supplies reaching 3–5 kHz for motors with short electrical time constants; for these motors the loop was designed for \(\omega_{cc}=500\ \mathrm{Hz}\).
| Parameter | Unit | Value |
|---|---|---|
| Operating voltage range | V | 18–36 |
| Rated operating current | A | 6 |
| Peak drive current | A | 12 |
| Motors driven | — | 2 |
| Communication interfaces | — | RS-422/485, CAN, PWM |
| Feedback types | — | Resolver, SSI, BiSS-C, Hall |
| Mass | kg | 0.25 |
| Dimensions | mm | 120 × 80 × 16 |
In this unit the DSP handles host communication and the three-loop algorithms for both axes while the FPGA performs signal routing and acquisition, giving the processing headroom and determinism needed for a 500 Hz current loop on two motors simultaneously. The host link is RS-422, which carries pointing commands in and status, velocity and position out.
Encoder interface and state estimation
Position feedback uses medium-resolution absolute encoders rather than the highest-precision devices available, with the resolution loss recovered by a full-order PLL observer that filters and estimates position, velocity and acceleration. This is a deliberate trade: on a low-speed, high-stiffness direct-drive axis, velocity obtained by differencing raw encoder counts is dominated by quantisation noise, so a model-based observer gives a cleaner velocity signal for the loop than a finer but heavier encoder would. The encoders communicate over an SSI link, chosen for its high data rate, low transmission delay, interference immunity and simple interface. The link runs at a 2 Mbit/s data rate with a 10 kHz frame repetition, matched to the loop period and the cable length, and each frame carries 24 bits.
| Field | Data | Meaning |
|---|---|---|
| D23–D2 | PD[21:0] | Binary position data; for resolutions below 22 bits the MSB of the field is 0 and the LSB sits at D2. Undefined when the alarm bit is 1. |
| D1 | P | Parity: 0 if the number of 1s in D23–D2 is even, 1 if odd. |
| D0 | A | Alarm: 0 normal operation, 1 error state. |
The control software is organised into six functional blocks: host communication (frame parsing, and reporting of velocity, position and operating state); command decoupling, which converts output-axis pointing commands into the angle and velocity commands of the two motor shafts using the mapping above; encoder acquisition, which applies motor-zero and system-zero corrections and feeds the PLL observer; position and velocity loop computation; per-axis current-loop control, including three-phase current acquisition with offset and gain correction, PI regulation, and SVPWM modulation; and fault detection and protection, which monitors encoder data, current feedback, bus voltage and controller temperature for communication faults, encoder faults, position and velocity overshoot, overcurrent, open circuit, overvoltage, undervoltage and overtemperature.
Error budget before measurement
The static error of the pointing system is dominated by the encoder. Three contributions were combined: the absolute accuracy of the encoder system, \(\Delta_1\le 40”\) according to the manufacturer’s data sheet; the quantisation contribution, taken as half a quantisation unit, \(\Delta_2=1.236”\); and the contribution of machining and assembly, \(\Delta_3=5”\), which includes the eccentricity between the encoder shaft and the pedestal main axis. The root-sum-square angular error follows as
$$\Delta_{m-abs}=\sqrt{\Delta_1^2+\Delta_2^2+\Delta_3^2}=40.33”$$
For a rigid direct-drive system with high-resolution feedback and a high-bandwidth loop, careful tuning typically brings the position-control accuracy to roughly a quarter of the sensor accuracy; with the resolution term as the repeatable component, the position-loop repeatability is estimated at four times that term, \(\Delta_{p-rpt}\le 4\times 1.236”=4.94”\). Since the repeatability is far smaller than the absolute sensor error, the predicted absolute pointing accuracy is \(\Delta_{p-abs}\approx 40.33”\), or about 0.011°, comfortably inside the 0.1° specification.
Measured pointing accuracy
Measurements were made on a laser-based precision angle platform. A photoelectric retroreflector was attached to the load, the instrument recorded its spatial position at each commanded set point, and the angular difference between command and measurement was computed. For the azimuth axis the elevation axis was locked and the pedestal was commanded over −50° to +50° in 5° steps; the azimuth stroke is ±90°, but the reflector mounting restricted valid data to ±50°. For the elevation axis the azimuth axis was locked and the full ±90° range was measured in 5° steps.
| Set | Measured | Error | Set | Measured | Error |
|---|---|---|---|---|---|
| −50 | −50.08 | −0.08 | 50 | 50.02 | 0.02 |
| −45 | −45.02 | −0.02 | 45 | 45.05 | 0.05 |
| −40 | −39.93 | 0.07 | 40 | 40.06 | 0.06 |
| −35 | −35.02 | −0.02 | 35 | 34.98 | −0.02 |
| −30 | −30.09 | −0.09 | 30 | 29.92 | −0.08 |
| −25 | −25.05 | −0.05 | 25 | 25.03 | 0.03 |
| −20 | −20.00 | 0.00 | 20 | 20.02 | 0.02 |
| −15 | −14.93 | 0.07 | 15 | 14.95 | −0.05 |
| −10 | −10.06 | −0.06 | 10 | 10.04 | 0.04 |
| −5 | −5.03 | −0.03 | 5 | 4.93 | −0.07 |
| 0 | 0.01 | 0.01 | 0 | 0.01 | 0.01 |
| Set | Measured | Error | Set | Measured | Error |
|---|---|---|---|---|---|
| −90 | −90.13 | −0.13 | 90 | 90.15 | 0.15 |
| −85 | −85.10 | −0.10 | 85 | 85.12 | 0.12 |
| −80 | −79.85 | 0.15 | 80 | 79.90 | −0.10 |
| −75 | −75.16 | −0.16 | 75 | 75.12 | 0.12 |
| −70 | −69.91 | 0.09 | 70 | 69.92 | −0.08 |
| −65 | −64.87 | 0.13 | 65 | 64.91 | −0.09 |
| −60 | −60.07 | −0.07 | 60 | 60.10 | 0.10 |
| −55 | −55.14 | −0.14 | 55 | 55.14 | 0.14 |
| −50 | −49.93 | 0.07 | 50 | 49.94 | −0.06 |
| −45 | −45.11 | −0.11 | 45 | 45.14 | 0.14 |
| −40 | −39.91 | 0.09 | 40 | 39.93 | −0.07 |
| −35 | −34.97 | 0.03 | 35 | 34.92 | −0.08 |
| −30 | −29.96 | 0.04 | 30 | 30.13 | 0.13 |
| −25 | −25.09 | −0.09 | 25 | 25.08 | 0.08 |
| −20 | −20.11 | −0.11 | 20 | 20.10 | 0.10 |
| −15 | −15.08 | −0.08 | 15 | 14.88 | −0.12 |
| −10 | −10.06 | −0.06 | 10 | 9.93 | −0.07 |
| −5 | −4.95 | 0.05 | 5 | 4.96 | −0.04 |
| 0 | 0.03 | 0.03 | 0 | 0.03 | 0.03 |
The azimuth axis meets its specification: the worst error over the measured sector is 0.09°, against a 0.1° requirement, with no visible trend across the range. The elevation axis does not: its worst error is 0.16°, at −75°, and errors of 0.10–0.15° recur at several set points, so the excess is systematic rather than a single outlier. Since the pre-measurement budget predicted roughly 0.011°, the discrepancy of an order of magnitude points to error sources that the budget omits—which is precisely where a differential gear-driven axis differs from a conventional gimbal.
Where the residual elevation error comes from
Three mechanisms account for the gap between budget and measurement, and all three are inherent to the coaxial differential layout rather than to the electronics.
Gear backlash and gear quality. The elevation output passes through the bevel mesh downstream of the motors, and because that mesh is speed-increasing (\(i_G=0.7\)), any tooth-to-tooth error or backlash at the pinion is amplified by \(1/i_G\) at the output. In a conventional gimbal the elevation encoder sits directly on the elevation axis and the reduction ratio is normally greater than one, so mesh errors are attenuated rather than amplified. Backlash is invisible in a static set-point test only if the approach direction is consistent; it contributes directly to the observed scatter of ±0.1°.
Error accumulation through the differential. The output elevation is \((\theta_{M1}-\theta_{M0})/i_G\), so the positioning errors of both motor axes—encoder error, loop tracking error, shaft eccentricity—add at the output, while the same errors in a serial gimbal stay confined to their own axis. This is the mechanical counterpart of the decoupling equation, and it explains why the elevation error is larger and less regular than the azimuth error, which depends on a single shaft.
Off-axis loading during test. The structure was optimised repeatedly for low mass, and the retroreflector was mounted at the outer rim of the elevation load to keep it visible to the instrument. The resulting offset moment deflects a lightweight structure and adds a position-dependent term to the measured angle; part of the ±0.1° spread at large elevation angles is likely structural rather than servo-related.
These three effects also suggest an order of work for improving the design. Gear accuracy and backlash control, either through higher-precision Gleason cutting and lapping or through a preloaded anti-backlash arrangement, act on the largest single term and are the most direct route to sub-0.1° elevation performance. On the control side, the differential structure makes a cross-coupled compensation scheme attractive: because both shaft errors are measurable, the elevation loop can be given a feedforward correction derived from the azimuth axis error rather than relying on each axis to be accurate in isolation. Structural stiffness at the output turntable bounds how far either measure will help.
What the coaxial layout buys and what it costs
The prototype demonstrates that a two-axis pedestal can be built with both drive shafts coaxial, both motors and resolvers in one base housing, and a short fixed wiring path, using a spiral bevel pair to convert the differential rotation of two concentric shafts into antenna elevation. The kinematic decoupling is exact and simple—a 1:1 compensation of azimuth motion on the elevation motor plus a ratio scaling of \(i_G=0.7\)—and a single DSP-based two-axis controller keeps the cross-axis latency out of that path. With directly driven torque motors sized at 0.370 N·m and 0.216 N·m for azimuth and elevation under a 2 g overload, a three-loop control structure with a 500 Hz field-oriented current loop, and 24-bit SSI feedback processed by a full-order PLL observer, the azimuth axis holds 0.09° set-point accuracy over ±50°. The elevation axis reaches 0.16°, which does not meet the 0.1° requirement.
The lesson is that the layout trades structural simplicity for error accumulation: the axis that is produced through the gear mesh inherits backlash amplified by the speed-increasing ratio and the combined errors of two motor axes, which the pre-measurement error budget—built only from encoder accuracy, quantisation and assembly tolerances—did not capture. Whether the mass and envelope savings justify that penalty depends on the pointing requirement. For a radar whose accuracy is set at a few tenths of a degree, the margin is available. For a system specified at 0.1° or better, the coaxial differential concept needs a gear train of substantially higher quality, an anti-backlash preload, and a control law that explicitly compensates the coupling between the two axes rather than decoupling them geometrically alone.
