Figure 5 - uploaded by François Cellier
Content may be subject to copyright.
Dymola model of a six DoF robot arm 

Dymola model of a six DoF robot arm 

Source publication
Article
Full-text available
Bond graphs have established themselves as a reliable tool for modeling physical systems. Yet, they are highly abstract due to their domain independence. Wrapping techniques allow the modeler to preserve the better of two worlds: the flexibility and reliability of bond graphs on the one hand, and the intuitive appeal and familiarity offered by a do...

Contexts in source publication

Context 1
... the multi-bond version, effort and flow are vectors, and the multiplication operator denotes the inner product of these two vectors. Clearly, the multi-bond graph library (Zimmer 2006) can also be used to describe regular bond graphs. To this end, the user simply needs to employ vectors of length 1. The default length of all vector bonds can be set by parameter assignment in the “world model.” Yet, the regular bond graph library is still being offered, as multi-bonds are unnecessarily bulky for describing regular bonds, and as hardly any of the examples provided with the regular bond graph library have been copied over to the multi-bond graph library. Multi-bond graphs are well suited for describing simple mechanical multi-body systems. For example, let us look at the multi-bond graph representation of a planar pendulum: The pendulum consists of a two-dimensional revolute joint and a mass-less bar translating the motion of the joint to the mass connected to the end of the bar. In a mechanical bond graph, the effort variables represent forces and torques, whereas the flow variables represent velocities or angular velocities. The product of either force times velocity or torque times angular velocity represents mechanical power. The joint itself does not move in a translation. Its linear velocity is zero, and consequently, we need a vector source of flow, Sf , of dimension two. The joint is free to rotate, i.e., it doesn’t experience any torque. Hence we need a source of effort, Se , of dimension one. The two vectors are merged to a single vector of dimension three, whereby the first two components represent the linear translations in x and y directions, whereas the third component represents the rotation around the z axis. The mass-less bar that converts the motion of the joint to the motion of the mass is represented by a (multi- port) transformer, TF . The transformation matrix is modulated by the angle of the revolute joint, which is measured by a sensor element, Dq . The mass itself is represented by the 1-junction. In a 1- junction, the flow variables are equal, whereas the effort variables add up to zero. Hence the 1-junction represents the d’Alembert principle applied to the mass. The forces acting on the mass are the inertial force, I , and the gravitational force, which can be represented by another source of effort, Se , pulling in the negative y direction. The notation may look unfamiliar at first, but with a bit of experience, it becomes easily readable and understandable. Let us now proceed with modeling a more complex multi-body system: a bicycle consisting of a frame, two wheels, the handlebars, and a driver. The multi-bond graph model is shown in Figure 3. A similar model had been presented in the Ph.D. dissertation of Bos (Bos 1986), although at that time, the graphical representation was drawn by hand and translated manually into corresponding equations. In contrast, our own model represents a perfectly executable code. Let us refrain from trying to explain how this model works. The model is clearly too big to fit easily on a single screen. Furthermore, the sheer generality of the bond graph approach to modeling is also its downfall. In order to be general, bond graphs cannot conveniently be made specific as well. In a bicycle, we can easily identify objects, such as wheels and handlebars, but not effort sources or modulated transformers. Bond graphs offer a low-level interface, that is more readable than an equation-based interface, but not readable enough for modeling complex systems. Dymola offers a standard multi-body systems (MBS) library, developed at the German Aerospace Center in Oberpfaffenhofen (Otter et al. 2003). Using this library, multi-body systems can be easily and conveniently composed out of blocks that carry an intuitive meaning. Figure 4 shows a six degree of freedom (DoF) robot arm. The robot arm exhibits seven bodies that are connected by six revolute joints. Each of the joints is controlled by a controller. Together they determine the motion of the robot arm. The corresponding Dymola model is shown in Figure 5: The model is perfectly understandable. The lower-most body, i.e., the base, is connected to the inertial system, which in the MBS library also assumes the role of the world model. It determines the world coordinate system, defines the gravity field, and sets up default animation parameters. The model represents an abstracted version of the system topology, and is easily understandable. The MBS library is easy to use. It can even be used by modelers without any deeper understanding of MBS dynamics. The occasional modeler will, however, be in deep problems, whenever and as soon as a model is not simulating correctly. It will be an almost hopeless undertaking to try figuring out what went wrong. The reason is that the step from the component models of Figure 5 to the next lower hierarchical level in the model hierarchy is huge. Bodies and joints are modeled in terms of matrix equations directly, which are difficult to understand. In order to obtain efficiently executing simulation code, suitable coordinate transformations are taking place inside the code that make the code even more cryptic. The previously introduced multi-bond graph library contains a modified MBS library that, from the outside, looks very similar to the MBS library offered as part of the standard Dymola installation. Let us revisit the bicycle example to demonstrate, how the modified MBS library works. Figure 6 depicts the bicycle model coded in the modified MBS library. The model is perfectly understandable. At the right bottom of the graph, the rear wheel is depicted. It is connected to the frame of the bicycle by a revolute joint. At a certain distance from the center of the rear wheel sits the driver, who, together with the rear part of the frame, weighs 85 kg. Also at a fixed distance from the center of the rear wheel are the handlebars. They are connected to the frame by a second revolute joint, and have a mass of 4 kg. Finally, a third revolute joint connects the front wheel to the handlebars. Let us examine the model of the rear wheel. It is shown in Figure 7: The model consists of the inertia of the wheel together with a joint connecting the wheel to the road. The overall bicycle model contains a closed kinematic loop from the road through the rear wheel, the frame, and the front wheel back to the road. Closed kinematic loops cause problems, because they introduce additional constraints, thereby reducing the number of degrees of freedom of the model. In older versions of the MBS library, the modeler had to manually break closed kinematic loops by introducing so-called cut joints (Otter 2000). Cut joints are regular joints that, however, do not define integrators connecting the accelerations with the velocities and with the positions, thereby avoiding the creation of redundant equations. In the mean time, algorithms were built into both the standard and the modified MBS libraries that are capable of automatically breaking most kinematic loops (Otter et al. 2003). What is the advantage of the modified MBS library over the standard one? To answer that question, let us examine the model of the wheel joint. It is shown in Figure 8. The internal description of the wheel joint is a multi- bond graph. The corresponding model of the standard vehicle dynamics library (Andreasson 2003) would have shown a rather unholy mess of matrix equations instead. Although the multi-bond graph may require some explanation, use of the multi-bond graph library has enabled us to subdivide the step from the wheel model down to the equation model by introducing an additional graphical layer in between the two. Multi-bond graphs have been wrapped inside most of the MBS component models of the modified MBS library with the purpose of making these models better understandable and more easily maintainable. Let us analyze the wrapper model that converts the bondgraphic connectors to mechanical connectors and vice-versa. It is shown in Figure 9. In the modified MBS library, the three-dimensional mechanical bond vectors of length six are subdivided into two subvectors of length three each, one used to describe the translational motions, the other used for the rotational motions. The reason for this separation is simple. We prefer to resolve translational motions in the inertial frame, whereas rotational motions are resolved in body-fixed coordinates. This minimizes the number of coordinate transformations needed in the description of three- dimensional mechanical systems. The bond-graphic connectors use thus either forces or torques as effort variables, and either velocities or angular velocities as flow variables. The standard MBS library, on the other hand, uses positions and angles as potential (effort) variables, and forces and torques as flow variables. In a mechanical system, it is important to transmit the positional variables between neighboring bodies, as they allow the formulation of holonomic constraints, i.e., constraints that prevent bodies ...
Context 2
... the multi-bond version, effort and flow are vectors, and the multiplication operator denotes the inner product of these two vectors. Clearly, the multi-bond graph library (Zimmer 2006) can also be used to describe regular bond graphs. To this end, the user simply needs to employ vectors of length 1. The default length of all vector bonds can be set by parameter assignment in the “world model.” Yet, the regular bond graph library is still being offered, as multi-bonds are unnecessarily bulky for describing regular bonds, and as hardly any of the examples provided with the regular bond graph library have been copied over to the multi-bond graph library. Multi-bond graphs are well suited for describing simple mechanical multi-body systems. For example, let us look at the multi-bond graph representation of a planar pendulum: The pendulum consists of a two-dimensional revolute joint and a mass-less bar translating the motion of the joint to the mass connected to the end of the bar. In a mechanical bond graph, the effort variables represent forces and torques, whereas the flow variables represent velocities or angular velocities. The product of either force times velocity or torque times angular velocity represents mechanical power. The joint itself does not move in a translation. Its linear velocity is zero, and consequently, we need a vector source of flow, Sf , of dimension two. The joint is free to rotate, i.e., it doesn’t experience any torque. Hence we need a source of effort, Se , of dimension one. The two vectors are merged to a single vector of dimension three, whereby the first two components represent the linear translations in x and y directions, whereas the third component represents the rotation around the z axis. The mass-less bar that converts the motion of the joint to the motion of the mass is represented by a (multi- port) transformer, TF . The transformation matrix is modulated by the angle of the revolute joint, which is measured by a sensor element, Dq . The mass itself is represented by the 1-junction. In a 1- junction, the flow variables are equal, whereas the effort variables add up to zero. Hence the 1-junction represents the d’Alembert principle applied to the mass. The forces acting on the mass are the inertial force, I , and the gravitational force, which can be represented by another source of effort, Se , pulling in the negative y direction. The notation may look unfamiliar at first, but with a bit of experience, it becomes easily readable and understandable. Let us now proceed with modeling a more complex multi-body system: a bicycle consisting of a frame, two wheels, the handlebars, and a driver. The multi-bond graph model is shown in Figure 3. A similar model had been presented in the Ph.D. dissertation of Bos (Bos 1986), although at that time, the graphical representation was drawn by hand and translated manually into corresponding equations. In contrast, our own model represents a perfectly executable code. Let us refrain from trying to explain how this model works. The model is clearly too big to fit easily on a single screen. Furthermore, the sheer generality of the bond graph approach to modeling is also its downfall. In order to be general, bond graphs cannot conveniently be made specific as well. In a bicycle, we can easily identify objects, such as wheels and handlebars, but not effort sources or modulated transformers. Bond graphs offer a low-level interface, that is more readable than an equation-based interface, but not readable enough for modeling complex systems. Dymola offers a standard multi-body systems (MBS) library, developed at the German Aerospace Center in Oberpfaffenhofen (Otter et al. 2003). Using this library, multi-body systems can be easily and conveniently composed out of blocks that carry an intuitive meaning. Figure 4 shows a six degree of freedom (DoF) robot arm. The robot arm exhibits seven bodies that are connected by six revolute joints. Each of the joints is controlled by a controller. Together they determine the motion of the robot arm. The corresponding Dymola model is shown in Figure 5: The model is perfectly understandable. The lower-most body, i.e., the base, is connected to the inertial system, which in the MBS library also assumes the role of the world model. It determines the world coordinate system, defines the gravity field, and sets up default animation parameters. The model represents an abstracted version of the system topology, and is easily understandable. The MBS library is easy to use. It can even be used by modelers without any deeper understanding of MBS dynamics. The occasional modeler will, however, be in deep problems, whenever and as soon as a model is not simulating correctly. It will be an almost hopeless undertaking to try figuring out what went wrong. The reason is that the step from the component models of Figure 5 to the next lower hierarchical level in the model hierarchy is huge. Bodies and joints are modeled in terms of matrix equations directly, which are difficult to understand. In order to obtain efficiently executing simulation code, suitable coordinate transformations are taking place inside the code that make the code even more cryptic. The previously introduced multi-bond graph library contains a modified MBS library that, from the outside, looks very similar to the MBS library offered as part of the standard Dymola installation. Let us revisit the bicycle example to demonstrate, how the modified MBS library works. Figure 6 depicts the bicycle model coded in the modified MBS library. The model is perfectly understandable. At the right bottom of the graph, the rear wheel is depicted. It is connected to the frame of the bicycle by a revolute joint. At a certain distance from the center of the rear wheel sits the driver, who, together with the rear part of the frame, weighs 85 kg. Also at a fixed distance from the center of the rear wheel are the handlebars. They are connected to the frame by a second revolute joint, and have a mass of 4 kg. Finally, a third revolute joint connects the front wheel to the handlebars. Let us examine the model of the rear wheel. It is shown in Figure 7: The model consists of the inertia of the wheel together with a joint connecting the wheel to the road. The overall bicycle model contains a closed kinematic loop from the road through the rear wheel, the frame, and the front wheel back to the road. Closed kinematic loops cause problems, because they introduce additional constraints, thereby reducing the number of degrees of freedom of the model. In older versions of the MBS library, the modeler had to manually break closed kinematic loops by introducing so-called cut joints (Otter 2000). Cut joints are regular joints that, however, do not define integrators connecting the accelerations with the velocities and with the positions, thereby avoiding the creation of redundant equations. In the mean time, algorithms were built into both the standard and the modified MBS libraries that are capable of automatically breaking most kinematic loops (Otter et al. 2003). What is the advantage of the modified MBS library over the standard one? To answer that question, let us examine the model of the wheel joint. It is shown in Figure 8. The internal description of the wheel joint is a multi- bond graph. The corresponding model of the standard vehicle dynamics library (Andreasson 2003) would have shown a rather unholy mess of matrix equations instead. Although the multi-bond graph may require some explanation, use of the multi-bond graph library has enabled us to subdivide the step from the wheel model down to the equation model by introducing an additional graphical layer in between the two. Multi-bond graphs have been wrapped inside most of the MBS component models of the modified MBS library with the purpose of making these models better understandable and more easily maintainable. Let us analyze the wrapper model that converts the bondgraphic connectors to mechanical connectors and vice-versa. It is shown in Figure 9. In the modified MBS library, the three-dimensional mechanical bond vectors of length six are subdivided into two subvectors of length three each, one used to describe the translational motions, the other used for the rotational motions. The reason for this separation is simple. We prefer to resolve translational motions in the inertial frame, whereas rotational motions are resolved in body-fixed coordinates. This minimizes the number of coordinate transformations needed in the description of three- dimensional mechanical systems. The bond-graphic connectors use thus either forces or torques as effort variables, and either velocities or angular velocities as flow variables. The standard MBS library, on the other hand, uses positions and angles as potential (effort) variables, and forces and torques as flow variables. In a mechanical system, it is important to transmit the positional variables between neighboring bodies, as they allow the formulation of holonomic constraints, i.e., constraints that prevent bodies from transgressing each other. In order to be compatible with the bond graph methodology, the mechanical connectors of the modified MBS library have been augmented by the translational velocity vector 1 , i.e., the connectors of the standard and modified MBS libraries are incompatible with each other, and component models from the two libraries cannot be arbitrarily mixed. On the bond graph side, the positions and angles are made available as two additional connectors that enable the formulation of holonomic constraints on the bond graph. Figure 10 shows the internal description of the wrapper model. This model is formulated at the equation level. The rotational velocity vector is contained in the connectors of the standard MBS library as well. The ...

Similar publications

Article
Full-text available
We investigate the problem of model reduction with a view to large-scale logistics networks, specifically supply chains. Such networks are modeled by means of graphs, which describe the structure of material flow. An aim of the proposed model reduction procedure is to preserve important features within the network. As a new methodology we introduce...

Citations

... The hemodynamics model has been presented at a previous conference [4]. It is built in BondLib using encapsulated bond graphs [3,7]. Although the bond graphs themselves are only seen at the bottom layer of the hierarchy, whereas all higher layers are built using symbols that medical professionals understand, the connectors are bond graph connectors everywhere. ...
... In order for this to work, all container models end in junctions, whereas all transporter models end in bonds. In this way, by following the rule that container and transporter models must always toggle, there is no need to fully wrap [7] the bond graph models, as was done in the hydraulic sub-library. ...
Conference Paper
Full-text available
This article introduces a new Modelica library, FIR- lib, developed for the mixed quantitative and qualita- tive simulation of physical systems. Qualitative sub- models are built using the Fuzzy Inductive Reasoning (FIR) paradigm. Whereas Modelica has been designed for model- ing physical systems from first principles, some sys- tems do not lend themselves to this kind of model- ing, either because they are too poorly understood (no meta-knowledge is available yet) or because they are so complex that capturing their behavior in a de- tailed fashion would be a hopeless undertaking. Use of the new library is demonstrated by means of two examples, a simple hydraulic control system (a textbook example) and a model of the human car- diovascular system.
Conference Paper
This paper presents design of an anthropomorphic prosthetic hand which is actuated through single transducer. To provide more accurate and detailed model for the digital simulation of prosthesis, the Bond Graph approach is used. The prosthesis has five phalanges. Because of different parameters (length, width and weight), each phalange acts as an individual module to be designed but ultimately controlled by single source. The phalanges are actuated using flexible strings which are running over the pulleys and fixed with the transducer shaft. The damping of the pulleys and gears, stiffness of the strings, and inertias of each phalange are modeled precisely to provide better performance under different circumstances. Bond graph technique proved to be the more detailed and analytical way of designing the prosthetics to make them more controllable and efficient in the applications where highly précised functionality is desired. The transducer commissioned for the actuation of the prosthetic has also been modeled using Bond graph technique so that its functionality could be analyzed more efficiently. Considering backlash of the reducer part of transducer as an uncertainty to the prosthesis dynamics, a robust controller is designed so that the position of the phalanges could be controlled precisely and the prosthetic hand could mimic the movements more efficiently.
Conference Paper
Full-text available
Teaching Modelica to students of a university requires suitable example models. This paper describes a planar mechanical library that is primarily conceived for teaching purposes. It is simple, built out of a few components only but enables the modeling of interesting and complex systems. The library is freely available and supported by various Modelica environments.
Article
Referring to the natures of nonlinear dynamics and coupled energy domains presented by Micro-Electro-Mechanical Systems (MEMS), a bond graph based coupled modeling and simulation methodology is put forward. With this method, the lumped sub models that consist of the multi-port field and junction structures of bond graphs are used to describe the behavior of micro components. Then, on the basis of the sub-models, a component template library (e.g. electro-thermal resistors, beams, plate masses, electrostatic gaps, and so on) for dynamic analysis also be established. According to the principle of conservation of energy, those simulation components can be used to construct the whole coupled micro systems by designers conveniently. At last, the correspondent software prototype is also developed. And taken a piezoelectric micro hydraulic transducer (MHT) as an example, the corresponding modeling processes and the simulation results prove that this bond graph modeling and simulation theory is quite effective for MEMS dynamic performance simulation.