# Singulation of Objects in Cluttered Environment Using Dynamic Estimation of Physical Properties
## 3 Impulse Modeling
### Collision between Manipulator and Object  
The scattering environment is shown in Figure 3. The incremental change in relative linear velocities of two colliding bodies (here, a robot and a colliding body) can be calculated if the coefficient of restitution (\(e\)) is known [23]:  
\[(\Delta\mathbf{v}_{l}-\Delta\mathbf{v}_{env})^{T}\mathbf{n}=-(1+e)(\mathbf{v}_{l}-\mathbf{v}_{env})^ {T}\mathbf{n}, \tag{1}\]  
where the coefficient of restitution (\(e\)) ranges from 0 to 1 correspond to perfectly inelastic to elastic collision. \(\mathbf{v}_{l}\) and \(\mathbf{v}_{env}\) are the absolute linear velocities of the robot and colliding body (environment), respectively. \(\Delta\mathbf{v}_{l}\) and \(\Delta\mathbf{v}_{env}\) are the velocity increments of robot manipulator and the colliding body after the impact, respectively. The inverse dynamic model of the robot manipulator with respect to independent joint set is given as follows [24]:  
\[\mathbf{T}_{a}=[I_{aa}]\ddot{\mathbf{\varphi}}_{a}+\dot{\mathbf{\varphi}}_{a}^{T}[P_{aaa}] \dot{\mathbf{\varphi}}_{a}+\mathbf{g}_{a}-\left[G_{a}^{l}\right]^{T}\mathbf{F}_{ext}, \tag{2}\]  
where \([I_{aa}]\) and \([P_{aaa}]\) denotes the inertia matrix and inertial power array with respect to independent joint set, respectively. \(\left[G_{a}^{l}\right]\) is a Jacobian matrix that relates velocity at contact point to independent joints velocity. \(\mathbf{T}_{a}\), \(\mathbf{F}_{ext}\) and \(\mathbf{g}_{a}\) stands for joint torque vector, effective force vector, and gravity load, respectively. Since the position and velocities are finite during the impact, consequently the term involving integral \(\dot{\mathbf{\varphi}}_{a}^{T}[P_{aaa}]\dot{\mathbf{\varphi}}_{a}\) will be zero as \(\Delta t\to 0\). Similarly, the terms involving actuation torque \(\mathbf{T}_{a}\) and gravity go to zero. Integration of (2) over contact time will yield [24]:  
\[\Delta\dot{\mathbf{\varphi}}_{a}=[I_{aa}]^{-1}\left[G_{a}^{l}\right]^{T}\mathbf{F}_{ ext}. \tag{3}\]  
where \(\mathbf{\hat{F}}_{ext}=\int_{a}^{t_{o}+\Delta t}\mathbf{F}_{ext}dt\) denotes the external impulse. The kinematic relationship between joint velocity and contact point velocity is established as follows:  
\[[\mathbf{v}_{l}]=\left[G_{a}^{l}\right]\dot{\mathbf{\varphi}}_{a}. \tag{4}\]  
Finally, the velocity increment of the robot at contact point in terms of external impulses is established as:  
\[[\Delta\mathbf{v}_{l}]=\left[G_{a}^{l}\right][I_{aa}]^{-1}\left[G_{a}^{l}\right] ^{T}\left(\hat{\mathbf{F}}_{ext}\right), \tag{5}\]  
Similarly, for the environment, the velocity increment relationship is established as:  
\[[\Delta\mathbf{v}_{env}]=[G_{a}^{env}][I_{env}]^{-1}[G_{a}^{env}]^{T}\left(-\hat{ \mathbf{F}}_{ext}\right). \tag{6}\]  
Figure 3: The scattering environmental model of robot and objects.  
Considering that there is no friction between the contacting surfaces, the impulse will always act along the normal vector \(\mathbf{n}\) at the contact point:  
\[\hat{\mathbf{F}}_{ext}=\hat{F}_{ext}\mathbf{n}. \tag{7}\]  
Now, by substituting Equations (5) and (6) into Equation (1), the closed form solution of the external impulse is established as follows:  
\[\hat{F}_{ext}=\frac{-(1+e)(\mathbf{v}_{1}-\mathbf{v}_{env})^{T}\mathbf{n}}{\mathbf{n}^{T}[ \left[G_{a}^{t}\right][I_{aa}]^{-1}\left[G_{a}^{t}\right]^{T}+[G_{a}^{env}][I_ {env}]^{-1}[G_{a}^{env}]^{T}]\mathbf{n}}, \tag{8}\]  
where the first term in the denominator is associated with the dynamics of the manipulator, while the second term shows the dynamic contribution of environment, respectively. During scattering, after the collision between robot and object, the object will collide with other objects in the environment. In next section, the collision model among objects is developed.