# A Method of Estimating an Object's Parameters Based on Simplication with Momentum for a Manipulator
## 3 Estimation Algorithms  
The proposed approach employs a strategy to estimate inertial parameters, consisting of \(m\), \(\mathbf{r}_{G/R,b}\), and \(\mathbf{I}= \begin{bmatrix}I_{xx}&I_{xy}&I_{xz}&I_{yy}&I_{yz}&I_{zz}\end{bmatrix} ^{T}\). To address the underconstrained nature of the estimation model, these parameters will be estimated separately in three steps, with some of them estimated by simplifying the model by time integration. Step1: The mass of the object can be easily determined when the robot holds it stationary:  
\[m= \begin{bmatrix}0&0&1\end{bmatrix} \mathbf{f}_{R}/g. \tag{7}\]  
Step 2: The position of the COM of the object is estimated through a linear motion, with \(\alpha=\omega=0\) in Equation (2), in which \(\{O\}\), \(\{R\}\), and \(\{G\}\) remain parallel each other. \[\mathbf{\tau}_{R,b}=\mathbf{r}_{G/R,b}\times\mathbf{f}_{R,b}\triangleq[\mathbf{f}_{R,b}\times ]^{T}\mathbf{r}_{G/R,b}, \tag{8}\]  
where \([\mathbf{f}_{R,b}\times]\) is the cross product matrix of \(\mathbf{f}_{R,b}\). The least squares method is employed for the estimation of the position of COM of the object due to the singularity of the cross product matrix and the presence of noise in the measured forces and torques. With \(n\) measurements of \(\mathbf{\tau}_{R,b}\) and \(\mathbf{f}_{R,b}\), we can define \(\mathbf{Y}\), \(\mathbf{\Phi}\), and \(\mathbf{E}\) as  
\[ \begin{split}\mathbf{Y}\triangleq\begin{bmatrix}\mathbf{\tau}_{R,b}^{(1) }\\ \mathbf{\tau}_{R,b}^{(2)}\\ \vdots\\ \mathbf{\tau}_{R,b}^{(n)}\end{bmatrix}&=\begin{bmatrix}\begin{bmatrix}\mathbf{f}_{R,b }^{(1)}\times\\ \mathbf{f}_{R,b}^{(2)}\\ \vdots\\ \mathbf{f}_{R,b}^{(n)}\times]^{T}\end{bmatrix}\mathbf{r}_{G/R,b}+\begin{bmatrix}\mathbf{e} ^{(1)}\\ \mathbf{e}^{(2)}\\ \vdots\\ \mathbf{e}^{(n)}\end{bmatrix}\\ \triangleq\mathbf{\Phi}\mathbf{r}_{G/R,b}+\mathbf{E},\end{split}  \tag{9}\]  
where \(\mathbf{\tau}_{R,b}^{(k)}\) and \(\mathbf{f}_{R,b}^{(k)}\) are the \(k\)th measurement of torque and force, respectively; \(\mathbf{e}^{(k)}\) is the \(k\)th measurement error caused by noise or mechanical vibration induced by the robot; and \(n\) is the number of measurements taken during the estimation process. By using the least square method to minimize \(\mathbf{E}^{T}\mathbf{E}\),  
\[\mathbf{r}_{G/R,b}=\Big{(}\Phi^{T}\mathbf{\Phi}\Big{)}^{-1}\Phi^{T}\mathbf{Y}. \tag{10}\]Step 3: The elements of the inertia tensor matrix are determined from the angular momentum \(\mathbf{H}_{G}\), which can be expressed as  
\[\mathbf{H}_{G}=\mathbf{I}_{G}\mathbf{\omega}. \tag{11}\]  
Since \(\dot{\mathbf{H}}_{G}=\mathbf{M}_{G}\), by assuming a zero initial condition, \(\mathbf{H}_{G}\) can be calculated with the following equation:  
\[\mathbf{H}_{G}=\int(\mathbf{\tau}_{R}+\mathbf{r}_{G/R}\times\mathbf{f}_{R})\,dt. \tag{12}\]  
The rotational motion is sequentially applied in the \(x\)-, \(y\)-, and \(z\)-directions. For example, if the object rotates solely in the \(x\)-direction, \(\mathbf{H}_{G,b}\triangleq\mathbf{R}^{T}\mathbf{H}_{G}\) can be expressed as  
\[ \begin{bmatrix}H_{G,b,x}\\ H_{G,b,y}\\ H_{G,b,z}\end{bmatrix} = \begin{bmatrix}I_{xx}\\ I_{xy}\\ I_{xz}\end{bmatrix} \omega_{b,x}. \tag{13}\]  
Subsequently, \(I_{xx}\), \(I_{xy}\), and \(I_{xz}\) can be easily computed by dividing \(\mathbf{H}_{G,b}\) by \(\omega_{x,b}\). However, the external disturbances, such as measurement sensor noise or mechanical vibration induced by the robot, will amplify the estimation error. Additionally, if \(\omega_{x,b}\) is too small, dividing \(\mathbf{H}_{G,b}\) by \(\omega_{x,b}\) can yield unexpected results. To mitigate the effect of such disturbances, we employed the least squares method by modifying Equation (13) to:  
\[ \begin{bmatrix}H_{G,b,x}\\ H_{G,b,y}\\ H_{G,b,z}\end{bmatrix} = \begin{bmatrix}\omega_{b,x}&0&0\\ 0&\omega_{b,x}&0\\ 0&0&\omega_{b,x}\end{bmatrix}\begin{bmatrix}I_{xx}\\ I_{xy}\\ I_{xz}\end{bmatrix} .