Industrial Robot End-Effector Jitter Suppression: Closing the Servo Loop with a MEMS IMU

1. Why Motor Encoders Alone Cannot Hold an Industrial Robot’s End Effector Steady

Most industrial robot servo drive systems today form a closed loop from the motor encoder and motor current to control the robot, and there is no position sensor or other sensor at the robot end effector, and no robotics IMU feeding back what the end effector is actually doing. However, when the end-effector payload is large, the flexible side of the industrial robot becomes prominent, and at that point the motion of the motor cannot truly reflect the motion of the robot end effector.

A line chart comparing motor speed feedback (blue) and end-effector angular rate (green) during robotic deceleration. It shows the blue line reaching zero smoothly, while the green line continues with significant decaying oscillations after the motor stop point, illustrating end-effector fluctuations.
Analysis graph highlighting end-effector fluctuations (green) while the motor (blue) speed feedback has settled at zero during a robotic deceleration.

It can be seen that the motor speed can decelerate smoothly to 0 during the deceleration and stop phase, but the angular rate of the inertial sensor that reflects the motion state of the robot end effector shows fluctuation, so the motor speed is steady while the robot end-effector speed is not. It is therefore very difficult for the closed-loop control formed by the motor encoder to achieve stable control of a robot end effector with relatively low stiffness. Installing an inertial sensor at the robot end effector, and through a corresponding control strategy adding the end-effector motion data into the control system to form a servo closed-loop control system based on the end-effector inertial sensor, has become a real requirement for improving industrial robot performance.

2. Mounting the Sensor at the End Effector: How the Hardware Goes Together

2.1 MEMS Inertial Sensor Selection: Interface, Range and Output Rate

An inertial sensor chip is selected as the 6-dimensional inertial data acquisition unit. SPI communication is chosen, at up to 10 MHz sampling frequency. Its maximum data output rate reaches 7.68 kHz, a fairly high data update rate; its range can be set, and the range should be chosen appropriately, slightly amplified within the actual inertial data range.

2.2 Long-Distance SPI Acquisition at the End Effector: Differential Transmission and Adaptive Clock Compensation

If the sensor were designed inside the circuit board, its data could be read directly over the SPI bus. In practice, however, this sensor must be installed at the robot end effector, and with an online real-time read scheme, even for a four-axis industrial robot the distance from the cabinet to the robot end effector reaches about 3 meters, which poses a very great challenge to the correctness of high-speed SPI communication. To guarantee correctness of the data reading and enhance noise immunity, on one hand a differential circuit is designed to suppress common-mode interference and transmit the data, and on the other hand adaptive clock compensation is used to achieve accurate parsing of the SPI data.

Technical schematic and 3D diagram showing a MEMS inertial sensor data acquisition link on a robotic arm, detailing signal flow between an FPGA, driver and receiver chips, and a sensor module connected via a twisted-pair shielded cable.
Technical diagram of the MEMS inertial sensor data acquisition link (left) and 3D rendering of the sensor module mounted on a robotic arm end effector (right).

When the inertial sensor data transmission line is 10 meters and the clock signal frequency is 10 MHz, the delay of the data signal sent from the inertial sensor is about 54.173 ns, so the total delay time is about 108.346 ns, and once the transmission line is lengthened the data is parsed incorrectly. SPI uses a 10 MHz clock frequency, and the maximum delay consumption cannot exceed half a clock length, that is, 50 ns; without countermeasures, in theory only a data line with a total length of 3.6 meters can be used for SPI data communication at a 10 MHz clock frequency.

The adaptive MEMS inertial sensor data acquisition solution needs to calculate the total delay time from the data line length, and then compensate inside the FPGA, achieving adaptive data acquisition. The parsing data clock will automatically calculate the total delay time from the transmission line length, and it can be obtained by phase compensation from the real clock issued at the pin, parsing the real signal data with the compensated clock waveform to obtain the true value of the sensor data.

3. From Raw Data to Control Quantity: Algorithm Design

3.1 SG Filtering: Denoising While Preserving the Signal Features

The inertial sensor data acquired at the end effector needs to be filtered, and the SG (Savitzky-Golay) filter algorithm is used to process the sensor data. The SG filter algorithm has clear advantages in data-stream smoothing and noise removal, and is especially suited to cases where the signal features must be preserved, whereas conventional smoothing methods such as the moving average blur those features. The algorithm fits a local data segment by least squares, and then uses the fitted function to estimate the value of each data point, thereby achieving the smoothing.

3.2 Mounting Orientation and Unifying the Coordinate System

Different mounting orientations of a MEMS inertial sensor produce different data output. The most convenient mounting orientation is one in which the sensor’s coordinate system coincides with the base coordinate system of the industrial robot, in which case the data the sensor produces is exactly the data the robot needs, with no conversion required. All data must be unified into the robot’s base coordinate system before jitter suppression control is convenient.

3.3 Angular Rate Feedback Compensation and Acceleration Feedback Compensation

When a four-axis industrial robot is actually moving, it is not only axis 1 that moves; every axis is usually moving, and the motion of its end effector is the superposition of the motion of each axis. The end-effector motion therefore needs to be decomposed onto the individual joints. The robot’s Jacobian matrix expresses the relationship between the robot’s joint rotation speeds and the robot end effector’s linear velocity and angular velocity, that is, the mapping from joint-space velocity to operating-space (Cartesian space) velocity.

A detailed engineering schematic titled "FOUR-AXIS INDUSTRIAL ROBOT STRUCTURE AND JACOBIAN MAPPING," illustrating the relationship between a labeled kinematic structure of a four-axis industrial robot and the corresponding velocity mapping from joint space to operating space using a Jacobian Matrix (J).
This technical diagram illustrates the kinematic chain of a 4-axis robot and details how its joint velocities are mapped to the end-effector’s linear and angular velocities via the Jacobian Matrix (J).

The angular rate from the end-effector IMU is added to the motor control as velocity-loop feedback compensation, and the acceleration as current-loop feedback compensation. After computation by the matrix and data operation module, the current-loop acceleration feedback compensation quantity for each axis is obtained and added to the current-loop feedback compensation control of each axis, so that the robot end-effector jitter is suppressed; combined with the angular rate compensation quantity of each axis added to the velocity-loop feedback control, the end-effector jitter suppression is even better. A four-axis industrial robot has 4 axes in total; axis 3 moves up and down along the Z axis and does not need angular rate compensation, but can take acceleration feedback compensation.

A block diagram of an angular rate and acceleration feedback compensation control system for a robot controller, showing signal routing through velocity and current loops, motor drives, robot mechanism, end-effector inertial sensor, and feedback compensation processing blocks.
Showing feedback compensation control using an end-effector inertial sensor, where angular rate feeds into the velocity loop and acceleration feeds into the current loop.

3.4 Six-Axis Robots and Singularity Handling

Without a sensor at the end effector, the end-effector jitter of a six-axis serial industrial robot likewise cannot be accurately known. But the strategy of the six-axis serial industrial robot end-effector jitter suppression scheme is the same as that for the four-axis industrial robot. Because linear velocity can be obtained by integrating acceleration and thus measured indirectly through the inertial sensor, the operating state of the industrial robot end effector is measurable. By back-calculating each axis’s contribution to the linear velocity and angular velocity and then compensating that into the control loop, closed-loop jitter suppression with end-effector angular rate feedback can be realized on a six-axis industrial robot; angular rate feedback plays the most obvious role in MEMS-inertial-sensor-based industrial robot end-effector jitter suppression.

Both four-axis industrial robots and six-axis serial industrial robots have singularities, where inverting the Jacobian matrix makes the denominator zero and the inversion fails, so special handling is needed near the singularity. Near the singularity, the damped least squares (DLS) method is used to invert the Jacobian matrix, introducing a damping factor to stabilize the inverse solution near the singularity.

3.5 Lead Controller: Compensating the Phase Lag of End-Effector IMU Feedback

Acquiring the end-effector MEMS inertial sensor data reveals that, because of mechanical backlash and the flexibility of the robot body, the power transmitted to the robot end effector produces a certain delay. The MEMS inertial sensor data lags noticeably behind the encoder data on the motor side. To compensate for the effect of the inertial sensor data delay on the system, a lead controller is proposed.

When the four-axis industrial robot rotates axis 1 only, it can be seen in the speed setpoint, speed feedback and sensor angular rate feedback that the sensor’s angular rate lags noticeably, by about 50 ms. The lead control is placed in the forward path of the system; lead control uses the difference between the reference input and the feedback signal, and the error signal itself already contains the feedback information of the inertial sensor, compensating the delay caused by the end-effector inertial sensor feedback signal.

4. Experimental Verification: How Much Did Jitter Suppression Actually Improve

Before running a series of end-effector jitter suppression experiments, the sensor’s own data must be acquired and analyzed. Under static conditions the sensor shows fairly high data accuracy, and the bias is within the range specified in the datasheet. However, sensor data generally drifts, so zero-drift compensation is needed. The acquired data shows that the inertial sensor’s static error is small and within the error range of the manufacturer’s datasheet, so compensating its data into the servo control loop is appropriate.

4.1 Low-Inertia Robot: The Sensor Can Serve as Performance Monitoring

The low-inertia four-axis robot has a maximum payload of only 6 kg, with short links and a small payload, so its moment of inertia is small. Disturbance rejection strategies were applied to both the velocity loop and the current loop, and no jitter appears at the robot end effector during the deceleration and stop phase. The MEMS inertial sensor data therefore does not need to be added to the control loop, and the sensor can instead play the role of end-effector performance monitoring.

4.2 High-Inertia Robot: The Feedback Compensation Coefficient Has a Boundary

Taking the high-inertia four-axis robot as the test object, the inertial sensor data was fed back into the velocity control loop as compensation and tested. With a compensation coefficient of 0, that is, with no gyroscope angular rate participating in the closed-loop control, fluctuation is visible after reaching speed and the settling time is long, and there is obvious jitter in the deceleration and stop phase with a long settling time as well. Once the gyroscope angular rate is added to the closed-loop control as feedback compensation, the amplitude and the convergence time clearly decrease in both the speed-reached phase and the deceleration-stop phase. When the angular rate feedback compensation coefficient is increased to 0.3, however, the convergence time in the speed-reached phase increases instead. Evidently, the angular rate feedback compensation coefficient cannot be increased without limit, or it may destabilize the system.

4.3 Stacking the Strategies: Disturbance Rejection + End-Effector Feedback + Lead Control

Disturbance rejection strategies were applied to the velocity loop and the current loop, with TDSMC+ESO disturbance rejection in the velocity loop and feedforward plus a disturbance observer in the current loop; after reaching speed the end-effector settling time shortened and the vibration amplitude decreased somewhat. In addition, the velocity closed loop also used the inertial sensor’s angular rate as feedback compensation; after reaching speed the end-effector settling time shortened greatly and the vibration amplitude decreased further, leaving almost only one vibration cycle. Introducing the lead control compensator in the in-position stop phase clearly reduced the speed amplitude during the stopping process.

In the conventional closed-loop control deceleration-and-stop phase, with sensor data not added to the control, the maximum speed amplitude of the 1st peak was 0.0195, the maximum speed amplitude of the 2nd peak was 0.01345, and the settling time was about 727.8 ms. With the sensor data added to the control loop and with the disturbance rejection strategy and lead control applied, the maximum speed amplitude of the 1st peak was 0.0118, the maximum speed amplitude of the 2nd peak was 0.00183, and the settling time was about 336 ms; the reductions were 39.5%, 86.39% and 58.83% respectively, so the end-effector jitter suppression effect is very clear.

4.4 Full Speed Range and Multi-Axis Motion: Do the Conclusions Hold Up

Whether at extremely low speed, low speed, medium speed or high speed, an inertial sensor mounted at the industrial robot end effector clearly improves end-effector jitter suppression. When axes 1 and 2 of a four-axis industrial robot move together, the robot end-effector motion state is the result of the superimposed motion of axes 1 and 2. Axis 1 of a four-axis industrial robot contributes the most to end-effector jitter, which is related to the robot structure: the distance from the axis 1 motor to the end effector is the longest, and the flexibility it superimposes is also the strongest. The end-effector sensor data needs to be decomposed onto axes 1 and 2, and feedback compensation control must be formed in the internal control loops of both axes 1 and 2 to achieve the best jitter suppression.

5. A Few Points for Putting This into Engineering Practice

From the characteristics of the hardware design and the advantages of the software and algorithm design, this describes fairly systematically and comprehensively how to add end-effector sensor data into the current loop and velocity loop of a servo drive to form a complete industrial robot end-effector jitter suppression solution. Given the drawback that long-distance SPI communication causes data distortion, an adaptive clock compensation solution is proposed. For the phase delay that exists in the end-effector sensor data, a lead controller strategy is proposed to balance the mismatch in pace between the motor encoder and the end-effector sensor.

Related Articles

Latest Articles