In modern robotics, accurate dynamic parameter identification is crucial for enhancing control precision, trajectory planning, and overall performance. Traditional methods often rely on motor current measurements or complex friction modeling, which introduce uncertainties and computational burdens. This article presents a novel approach utilizing a base-mounted six-axis force sensor to identify robot dynamic parameters. By leveraging the sensor’s output, we derive a robust identification model that minimizes noise effects and eliminates the need for joint friction models. The methodology is grounded in recursive Newton-Euler equations, linearization of dynamic models, and determination of minimal inertial parameter sets. Furthermore, a two-layer low-pass filtering technique is employed to mitigate velocity and acceleration noise. Experimental validation on a six-degree-of-freedom collaborative robot demonstrates the efficacy of this approach, with results confirming high identification accuracy. The integration of a six-axis force sensor at the base not only simplifies parameter acquisition but also enhances reliability, making it a promising solution for industrial and research applications.
The dynamic behavior of a robotic manipulator is governed by its inertial parameters, including mass, center of mass, and inertia tensors. Accurate identification of these parameters is essential for dynamic modeling, which in turn affects motion control, vibration suppression, and energy efficiency. Conventional identification techniques, such as software-based measurements or disassembly methods, are often impractical due to their complexity or invasiveness. In contrast, overall identification methods, which involve exciting the robot along predefined trajectories and solving linearized dynamic equations, offer a non-invasive alternative. However, these methods typically require precise measurements of joint torques, velocities, and accelerations, which are prone to noise and errors. The use of motor currents as torque proxies introduces additional complexities, such as friction compensation and electrical parameter dependencies. To address these challenges, we propose a method that employs a six-axis force sensor mounted at the robot base. This sensor directly measures the forces and moments transmitted to the base, allowing for accurate computation of joint dynamics without internal friction models. The six-axis force sensor provides six-dimensional data (three forces and three moments), which, through coordinate transformations, yields the necessary joint forces and torques for identification.
The foundation of our approach lies in the recursive Newton-Euler formulation, which efficiently computes the dynamics of serial robotic chains. For an n-degree-of-freedom robot, we establish coordinate frames using the Modified Denavit-Hartenberg (MDH) convention. The recursive equations consist of two phases: forward propagation of kinematic quantities and backward propagation of forces and moments. In the forward phase, angular velocities, angular accelerations, linear accelerations, and centroidal accelerations are computed for each link. Given that the base is stationary, its initial conditions are set as zero angular velocity and acceleration, with gravitational acceleration incorporated into the linear acceleration. The dynamic parameters to be identified for each link i include the inertia tensor \( ^C_iI_i \), mass \( m_i \), and center of mass vector \( ^ip_{C_i} \), collectively represented as \( \phi_i = [I_{xxi}, I_{xyi}, I_{xzi}, I_{yyi}, I_{yzi}, I_{zzi}, m_i c_{xi}, m_i c_{yi}, m_i c_{zi}, m_i]^T \). The recursive equations are as follows:
$$
\begin{aligned}
^{i+1}\omega_{i+1} &= ^{i+1}_iR \cdot ^i\omega_i + \dot{q}_{i+1} \cdot ^{i+1}Z_{i+1}, \\
^{i+1}\dot{\omega}_{i+1} &= ^{i+1}_iR \cdot ^i\dot{\omega}_i + ^{i+1}_iR \cdot ^i\omega_i \times ^{i+1}Z_{i+1} \dot{q}_{i+1} + \ddot{q}_{i+1} \cdot ^{i+1}Z_{i+1}, \\
^{i+1}\dot{v}_{i+1} &= ^{i+1}_iR \left( ^i\dot{\omega}_i \times ^ip_{i+1} + ^i\omega_i \times ( ^i\omega_i \times ^ip_{i+1} ) + ^i\dot{v}_i \right), \\
^{i+1}\dot{v}_{C_{i+1}} &= ^{i+1}\dot{\omega}_{i+1} \times ^{i+1}p_{C_{i+1}} + ^{i+1}\dot{v}_{i+1} + ^{i+1}\omega_{i+1} \times ( ^{i+1}\omega_{i+1} \times ^{i+1}p_{C_{i+1}} ), \\
^{i+1}F_{i+1} &= m_{i+1} \cdot ^{i+1}\dot{v}_{C_{i+1}}, \\
^{i+1}N_{i+1} &= ^{i+1}\omega_{i+1} \times ^{C_{i+1}}I_{i+1} \cdot ^{i+1}\omega_{i+1} + ^{C_{i+1}}I_{i+1} \cdot ^{i+1}\dot{\omega}_{i+1},
\end{aligned}
$$
where \( ^{i+1}_iR \) is the rotation matrix from frame i to i+1, \( ^{i+1}Z_{i+1} \) is the unit vector along the joint axis, and \( ^ip_{i+1} \) is the position vector from frame i to i+1. The backward propagation phase computes the forces and moments at each joint:
$$
\begin{aligned}
^if_i &= ^i_{i+1}R \cdot ^{i+1}f_{i+1} + ^iF_i, \\
^in_i &= ^iN_i + ^i_{i+1}R \cdot ^{i+1}n_{i+1} + ^ip_{C_i} \times ^iF_i + ^ip_{i+1} \times ^i_{i+1}R \cdot ^{i+1}f_{i+1}.
\end{aligned}
$$
The output of the base-mounted six-axis force sensor, denoted as \( ^ws = [f_s, n_s]^T \), is transformed to joint forces and moments using homogeneous transformation matrices. The transformation from the sensor frame to the base frame is given by a constant matrix \( ^S_0T_f \), which accounts for the relative pose between the sensor and the robot base. The force and moment at joint 1 are computed as \( w_1 = ^S_0T_f \cdot ^ws \). For subsequent joints, the transformation matrix \( ^{i-1}_iT_f \) is defined as:
$$
^{i-1}_iT_f = \begin{bmatrix}
^{i-1}_iR & 0 \\
^{i-1}P_{iORG} \times ^{i-1}_iR & ^{i-1}_iR
\end{bmatrix},
$$
where \( ^{i-1}P_{iORG} \) is the origin vector from frame i-1 to i. Thus, the force and moment at joint i are related to those at joint j through consecutive transformations: \( w_i = ^{i-1}_iT_f \cdot ^{i}_{i+1}T_f \cdots ^{j-1}_jT_f \cdot w_j \). This allows the six-axis force sensor data to be converted into joint-specific dynamics.
To linearize the dynamic equations for parameter identification, we express the forces and moments as linear combinations of the inertial parameters. Defining the skew-symmetric matrix \( S(\omega) = \omega \times \) for a vector \( \omega = [\omega_x, \omega_y, \omega_z]^T \), the inertia tensor-angular velocity product is represented as \( I\omega = K(\omega)I \), where \( K(\omega) \) is a linear operator. The inertial force \( F_i \) and moment \( N_i \) are separated as:
$$
\begin{aligned}
F_i &= H_i \phi_i, \quad \text{with} \quad H_i = [0, S(\dot{\omega}_i) + S(\omega_i)S(\omega_i), \dot{v}_i], \\
N_i &= A_i \phi_i, \quad \text{with} \quad A_i = [K(\dot{\omega}_i) + S(\omega_i)K(\omega_i), -S(\dot{v}_i), 0].
\end{aligned}
$$
This leads to the linearized form of the backward propagation equations:
$$
\begin{aligned}
^if_i &= H_i \phi_i + ^i_{i+1}R \cdot ^{i+1}f_{i+1}, \\
^in_i &= A_i \phi_i + ^i_{i+1}R \cdot ^{i+1}n_{i+1} + ^ip_{i+1} \times ^i_{i+1}R \cdot ^{i+1}f_{i+1}.
\end{aligned}
$$
Aggregating these for all joints, we obtain the system equation \( w = Y \phi \), where \( w \) is the vector of joint forces and moments, \( \phi \) is the collective inertial parameter vector, and \( Y \) is the observation matrix. The least-squares solution is \( \phi = (Y^T Y)^{-1} Y^T w \). However, due to linear dependencies in \( Y \), not all parameters are identifiable. Thus, we determine a minimal parameter set \( \phi^r \) by finding a constant matrix \( C \) such that \( Y = \bar{Y} C \) and \( \phi^r = C \phi \). The reduced system becomes \( w = \bar{Y} \phi^r \), with the solution \( \phi^r = (\bar{Y}^T \bar{Y})^{-1} \bar{Y}^T w \).
Noise in velocity and acceleration measurements significantly impacts identification accuracy. To address this, we employ a two-layer low-pass filtering strategy. The first layer applies a zero-phase low-pass filter to the system equation: \( (w)_l = (\bar{Y})_l \phi^r \), where \( (\cdot)_l = \mathcal{L}^{-1} \left[ \frac{l}{l+s} \mathcal{L}[\cdot] \right] \), with \( l \) as the bandwidth parameter. Acceleration terms, which appear as \( f(q) \ddot{q}_j \), are transformed using Laplace domain operations to eliminate explicit acceleration dependence:
$$
(f(q) \ddot{q}_j)_l = l \left( f(q) \dot{q}_j – (f(q) \dot{q}_j)_l \right) – \sum_{i=1}^n \left( \frac{\partial f(q)}{\partial q_i} \dot{q}_i \dot{q}_j \right)_l.
$$
A second low-pass filter with bandwidth \( k \) (where \( k > l \)) is applied to further reduce velocity noise: \( (w)_{l,k} = (\bar{Y})_{l,k} \phi^r \). The final identification algorithm is:
$$
\phi^r = \left( (\bar{Y}^T)_{l,k} (\bar{Y})_{l,k} \right)^{-1} (\bar{Y}^T)_{l,k} (w)_{l,k}.
$$
This filtering approach ensures robust parameter estimation even in noisy environments.
We validated the method on a six-degree-of-freedom collaborative robot, focusing on the first two joints for simplicity. The MDH parameters are listed in Table 1.
| Joint i | ai-1 (mm) | αi-1 (°) | di (mm) | θi (°) | 
|---|---|---|---|---|
| 1 | 0 | 0 | 121.5 | q1 | 
| 2 | 0 | 90.0 | 0 | q2 | 
| 3 | -408.0 | 0 | 0 | q3 | 
| 4 | -376.0 | 0 | 102.5 | q4 | 
| 5 | 0 | 90.0 | 102.5 | q5 | 
| 6 | 0 | -90.0 | 94.0 | q6 | 
The six-axis force sensor was mounted on the base, with relative coordinates defined by an angle α = 30° and height h = 22.3 mm.

The data acquisition platform recorded sensor outputs at 100 Hz, while joint angles were measured in real-time. Velocity parameters were obtained via central difference differentiation. To isolate dynamic effects, quasi-static experiments were conducted: the robot was halted at various points, and the sensor readings (representing gravity and offsets) were subtracted from the dynamic data. The joint motion trajectories for identification are shown in Figure 1.
The minimal inertial parameter set for the first two joints was identified and is presented in Table 2.
| Minimal Parameter | Identified Value | 
|---|---|
| m2cx2 | 0.8438 | 
| m2cy2 | 0.8941 | 
| Izz1 + Iyy2 | -1.4169 | 
| Ixx2 – Iyy2 | -5.1671 | 
| Ixy2 | -2.2554 | 
| Ixz2 | 2.4857 | 
| Iyz2 | 0.8097 | 
| Izz2 | -0.6084 | 
To verify the identification accuracy, the robot was driven along a different trajectory, and the theoretical sensor outputs were computed using the identified parameters and compared to actual measurements. The results for the z-axis force and moment are depicted in Figure 2, showing close agreement with maximum errors of 1.0673 N and 0.1349 N·m, respectively. This confirms the method’s precision and practicality.
In conclusion, the base-mounted six-axis force sensor approach provides an effective means for robot dynamic parameter identification. It simplifies data acquisition, avoids friction modeling, and enhances accuracy through advanced filtering. Future work will extend this method to full robot identification and real-time applications.