## 3 Development of a Dynamic Model of the Robotino with Bond Graphs
### Introduction to Bond Graphs
#### 3.1.1 General Bond Graph Components  
In [76], modeling with bond graphs is achieved using an object-oriented approach. Hence, every entity in the bond graphs--components, ports, bonds, etc.--is constructed from a class, which is derived from the top abstract class; they are represented on the computer screen with a graphical symbol. The general bond graph component, or _word_ (_textual_) _model_, is shown in Figure 13. It is characterized by the name, which can be anything, e.g., _wheel_, and ports, which facilitate the interaction of the component with its environment. There are two types of ports: power and control ports. The first are represented by the half arrows, which indicate the assumed direction of the power transfer, i.e., into or out of the component. To every power port are assigned a pair of port variables: _effort_ and _flow_.  
Figure 12: Generated Robotino project view: (**a**) normal; (**b**) sized up.  
Figure 13: General bond graph component.  
These variables can be simple variables, e.g., a force component \(F_{x}\) or velocity component \(v_{x}\), and they can also be more complex mathematical structures, e.g., force of velocity vectors or other mathematical entities. Their product (ordinary, scalar, or similar) is power transferred across the port into or out of the component. Transfer of power throughout a model is an essential property of bond graph models. Control signals, on the other hand, only transfer the information, e.g., the values of the angles to drive a joint. The signal port represented by an arrow direct into the component represents the component input port, and that represented by an outward-directed arrow is the output port.  
To define the model of a component, we first need to open its associated document. In BondSim, we open a component simply by double-clicking its word model (Figure 14). Note that, for every (external) component port, a corresponding document port appears in the opened document. In this way, power or information flow from outside into the component and from inside the component beyond it.  
To define the model of the component, we insert into its document the corresponding word models of the physical components it consists of. These components are connected to the corresponding ports by lines known as _bond_ lines or _bonds_. In this way, efforts, flows, and signals are able to move from outside into the component and further into inward components, and vice versa.  
Note that the left document port is connected to two inside components, B and D, by two corresponding bonds; thus, it has two dimensions. Hence, the outside port has the same dimension: _two_. Thus, the effort and flow of the left power port of Comp A are vectors, whose components are corresponding efforts and flows of components B and D. It is assumed that connected bonds are ordered from the top to the bottom, or from the left to the right, of the corresponding document port. Thus, the first effort component of the left port Comp A is the effort of the left port of B, and the second component is the effort of the left port D.