## 3 Development of a Dynamic Model of the Robotino with Bond Graphs
### Dynamics of Wheels
roller, and the body-fixed frame changes accordingly (Figure 20). Therefore, to properly define angle \(\theta_{ib}\) between the body-fixed \(z_{ib}\)-axis and \(z_{i}\)-axis, we set the following condition. Operators \"? :\" are known as the question operators and represent the inline version of if-then-else constructs:  
\[ \begin{split}\theta_{ib}=\theta_{temp}&\geq 0\?\ \theta_{temp}\leq\pi/6\?\ \theta_{temp}:\ \theta_{temp}-\pi/3\\ &:\theta_{temp}\geq-\pi/6\?\ \theta_{temp}:-\theta_{temp}-\pi/3 \end{split}  \tag{11}\]  
Every roller can, by itself, freely rotate about its longitudinal axes (Figure 20). These axes form a plane, which is orthogonal to the wheel rotational axis. In this way, in addition to the normal rolling of the wheel around its rotational axis \(x_{i}\), the wheel may move sidewise due to a roller currently in contact with the ground rolling about its longitudinal axis. We can find the velocity arm \(r_{roll}\) (Figure 20) from the relationship:  
\[R_{w}\cos(\theta_{ib})=r_{roll}+R_{w}-r_{\max}, \tag{12}\]  
or  
\[r_{roll}=r_{\max}-R_{w}(1-\cos(\theta_{ib})). \tag{13}\]  
Assuming that the rolling of the roller takes place without slipping, and applying the right-hand rule to the roller, we obtain:  
\[v_{ix}=r_{roll}\cdot\omega_{roll}. \tag{14}\]  
Thus, the velocity of the wheel center is holonomic, i.e., it does not depend on the direction of the wheel axis. The model of the roller component is shown in Figure 22. Comparing this with Figure 21, it can be seen that the rotation is similar to that of the wheel, but with a different rolling arm. Following these kinematical considerations, we turn to the dynamics of the wheel. Due its rotational symmetry, we assume that the wheel's mass center coincides with its geometric center \(C_{i}\). Thus, the motion of the wheel can be decomposed into its translation, which is determined by the motion of its center and its rotation around it. Because the wheels are joined to the Robotino's base and translate with it, we may take into account the translational dynamics of the wheel when analyzing the motion of the chassis. Thus, all that remains is to analyze the rotational dynamics of the wheel. We apply the moment of momentum law for rotation around the wheel's center \(C_{i}\). The moment of momentum with respect to the local frame \(x_{i}y_{i}z_{i}\), (\(i=1,\,2,\,3\)) reads as follows:  
\[\mathbf{L}_{Ci}= \begin{pmatrix}I_{ix}\omega_{i}\\ 0\\ 0\\ 0\end{pmatrix} ,\ (i=1,2,3), \tag{15}\]  
Figure 22: Model of **the roller**: (**a**) the word model; (**b**) its model; (**c**) the model of **RotLin**. where \(I_{ix}\) is the moment of inertia of the wheel with respect to the \(x_{i}\)-axis. We transform (15) to the world frame \(XYZ\) by pre-multiplying by rotation matrix (3):  
\[\mathbf{L}_{Ci}^{w}=\mathbf{R}_{i} \begin{pmatrix}I_{ix}\omega_{i}\\ 0\\ 0\end{pmatrix} = \begin{pmatrix}I_{ix}\omega_{i}\cos(\varphi_{i})\\ I_{ix}\omega_{i}\sin(\varphi_{i})\\ 0\end{pmatrix} ,\ (i=1,2,3). \tag{16}\]  
Now, the moment of momentum law reads:  
\[\frac{d\mathbf{L}_{Ci}^{w}}{dt}=\mathbf{M}_{i}^{w}, \tag{17}\]  
where \(\mathbf{M}_{i}^{w}\) is the applied moment. If we denote the net moment applied to the wheel by \(M_{ix}\), we have:  
\[\mathbf{M}_{i}= \begin{pmatrix}M_{ix}\\ 0\\ 0\end{pmatrix} ,\ (i=1,2,3). \tag{18}\]  
Using (16) and (18), we can write (17) as:  
\[\frac{d}{dt}\left(\mathbf{R}_{i} \begin{pmatrix}I_{ix}\omega_{i}\\ 0\\ 0\end{pmatrix} \right)=\mathbf{R}_{i} \begin{pmatrix}M_{ix}\\ 0\\ 0\end{pmatrix} . \tag{19}\]  
Figure 23 shows the bond graph component **RotDyn** describing (19). Note that the component **RotTFi** in the **RotDyn** document is the coordinate transform between the local \(x_{i}\) and world coordinates. Finally, the last component in Figure 23 represents the rotational dynamics of the wheel in the world frame. Finally, we formulate the bond graph model of the wheel, which contains all of the components that we discussed previously (Figure 24).