Field-Oriented Control, or FOC, is a motor control method that makes a brushless DC motor or permanent magnet synchronous motor act like a smooth, fast torque source. Instead of switching phases in large steps, the controller continuously shapes the stator magnetic field so it stays at the best angle to the rotor field. This is important in robotics because joints, wheels, gimbals, and grippers need quiet motion, strong low-speed torque, and precise response.
FOC helps a motor produce controlled torque with less ripple, less vibration, and better efficiency than simple six-step commutation.
FOC works by measuring phase currents and rotor angle, then transforming the three phase currents into a rotating d-q coordinate frame attached to the rotor. In that frame, the q-axis current mainly controls torque and the d-axis current mainly controls magnetic flux. Current controllers adjust motor voltages so the actual d-axis and q-axis currents track commanded values, then inverse transforms convert those commands back into three phase PWM signals.
This lets a robot controller request torque directly while the FOC loop handles the fast electrical details.
Key Facts
- Three phase currents satisfy ia + ib + ic = 0 for a balanced motor with no neutral current.
- Clarke transform maps phase currents to stationary axes: i_alpha = ia and i_beta = (ia + 2ib) / sqrt(3).
- Park transform rotates into the rotor frame: id = i_alpha cos(theta) + i_beta sin(theta), iq = -i_alpha sin(theta) + i_beta cos(theta).
- For a surface PMSM, torque is approximately T = (3/2) p lambda_m iq, where p is pole pairs and lambda_m is magnet flux linkage.
- In many robotics motors, the usual torque command is id = 0 and iq set by the desired torque.
- FOC needs rotor electrical angle: theta_e = p theta_m, where theta_m is mechanical rotor angle.
Vocabulary
- Field-Oriented Control
- A control method that regulates motor currents in a rotor-aligned coordinate frame to control torque and flux separately.
- Clarke Transform
- A mathematical transform that converts three phase motor currents into two stationary components called alpha and beta.
- Park Transform
- A mathematical transform that rotates alpha-beta currents into d-q currents aligned with the rotor magnetic field.
- q-axis current
- The current component perpendicular to the rotor flux that primarily produces torque in a permanent magnet motor.
- d-axis current
- The current component aligned with the rotor flux that primarily affects magnetic flux and is often commanded to zero in surface permanent magnet motors.
Common Mistakes to Avoid
- Using mechanical angle directly as electrical angle is wrong because electrical angle must be multiplied by the number of pole pairs. This causes the controller field to point in the wrong direction.
- Thinking all current makes torque is wrong because only the properly aligned q-axis component produces useful torque in a surface PMSM. Unwanted d-axis current can waste power and heat the motor.
- Skipping current sensing calibration is wrong because offsets make the Clarke and Park transforms report false currents. This can create torque ripple even when the command is steady.
- Tuning the speed loop before the current loop is wrong because FOC depends on fast, stable current regulation. A slow or unstable current loop makes the outer robot control loop unreliable.
Practice Questions
- 1 A balanced three phase motor has ia = 2.0 A and ib = -0.5 A. Find ic, i_alpha, and i_beta using ia + ib + ic = 0, i_alpha = ia, and i_beta = (ia + 2ib) / sqrt(3).
- 2 A surface PMSM has p = 7 pole pairs and lambda_m = 0.020 Wb. If iq = 8.0 A and id = 0, estimate torque using T = (3/2) p lambda_m iq.
- 3 Explain why commanding a steady q-axis current in FOC can produce smoother low-speed torque than energizing motor phases in six large commutation steps.