Dynamic Modelling of Mobile Robots Based on its 3D CAD Model.
Damic, Vjekoslav ; Cohodar, Maida ; Muratovic, Munir 等
Dynamic Modelling of Mobile Robots Based on its 3D CAD Model.
1. Introduction
Investigations of the robots attract attention of many researches
around the world in different areas. Modelling and simulation are
recognized as powerful tool for solving many problems in robotics.
Analysis of industrial robots using bond graphs by visualization is
presented in [2], where BondSim is used for dynamic analysis of robot
and BondSim3D Visual application is used for its visualization.
Simulation of hobby robot by MATLAB is subject of analysis in [4]. Also,
the huge research area is modelling of mobile robotics behaviours. The
kinematics and dynamic analysis of mobile robot was done in [5].
Investigation of behaviour of group of mobile robots is subject of
research in [8,9]. A presentation of working scenarios and mobile robot
working algorithms in Bionic Assembly System and their realization in
AnyLogic software is given in [10].
The paper proposes procedure for the dynamic analysis of mobile
robot by MATLAB/Simulink based on previously created 3D CAD model [11].
Proposed approach is explained on example of mobile robot Robotino from
FESTO [6]. Robotino is subject of research of [1], where it is used for
arrangement of remote education. Modelling of Robotino by bond graphs is
presented in [3].
In this research, the dynamic model of Robotino is automatically
developed by importing its 3D CAD model from SOLIDWORKS to MATLAB
following the idea from [7]. Dimensions of robot parts are roughly
measured and estimated. The obtained robot's dynamic model is
reorganized systematically into more hierarchical levels and its
validation was conducted by simulation. It can be upgraded and used to
test different control algorithms, trajectory planning, collision
avoidance, etc.
2. 3D CAD model of Robotino
Mobile robot Robotino (Fig.1a) is equipped by three omnidirectional
wheels. They are powered by dc motors, which are denoted by manufacturer
FESTO as motor 1 (M1), motor 2 (M2) and motor 3 (M3). Wheels and
corresponding motors are denoted in Fig.1 by red, green and blue colour,
respectively. Each wheel is composed of the roller supporter and six
rollers, three rollers per each side, shifted by 1200 with respect to
each other. Rollers can rotate about their axes.
As previously emphasized, the first step to develop the mobile
robot dynamic model is creating of their 3D CAD model. Using SOLIDWORKS
3D CAD models of the robot's parts are generated (Fig.2). For
simplicity unnecessary details are omitted, without loss of robot
functionality. 3D CAD model of robot is taken from [11].
Robot's parts are combined in the assembly by exactly defined
mating between them using the SOLIDWORKS instruction. Finally, the
assembly shown in Fig.1a has been imported using SimMechanic link (ver.
4.7 of Matlab 2015b and Windows x64) in the form of xml file, and their
parts as stl files.
3. Dynamic model
By importing the robot assembly into MATLAB in form of xlm file,
that is obtained using SOLIDWORKS, the dynamic model of the Robotino has
been automatically developed. It is realized as single level structure.
Taking into account that robot consists of many parts the model is
pretty unclear and complicated. Hence, it can be organized
systematically into more levels by putting group of parts into
subsystems, as depicted in Figs. 3 and 4.
There is several blocks only in the first level: the block which
represents the dynamic model of Robotino, planar joint, two sensors to
measure robot positions and blocks to define world coordinate frame,
appropriate solver and the mechanical simulation environment for the
robot (for instance gravity, constraint solver type, tolerances,
linearization, etc.). It is important to emphasize that the coordinate
system in which the robotic assembly is made, corresponds to the world
coordinate system in MATLAB, [O.sub.ML][X.sub.ML][Y.sub.ML][Z.sub.ML].
Due to fact that Robotino manufacturer in the robot manuals and
other documentations uses the global coordinate frame
[O.sub.G][X.sub.Q][Y.sub.Q][Z.sub.Q] (as shown in Fig. 1a) all
quantities should be transform to
[O.sub.ML][X.sub.ML][Y.sub.ML][Z.sub.ML] using block 'Rigid
transform', as depicted on the top of Fig.3. This transformation is
given by:
[mathematical expression not reproducible]. (1)
Following idea from [7], the robot is connecting to the ground with
the planar joint providing two translator motions [P.sub.x] and
[p.sub.y] along [X.sub.G] and [Y.sub.G]-axis and rotation [theta] about
[Z.sub.G]-axis. Inputs for the planar joint are given by:
[p.sub.x] = [integral] [v.sub.x] dt = - [integral] [v.sub.1] x cos
([theta] + [pi]/3) dt + [integral] [v.sub.2] x cos([theta]) dt -
[integral] [v.sub.3] x cos ([theta] - [pi]/3) dt,
[p.sub.y] = [integral] [v.sub.y] dt = - [integral] [v.sub.1] x sin
([theta] + [pi]/3) dt + [integral] [v.sub.2] x sin([theta]) dt -
[integral] [v.sub.3] x sin ([theta] - [pi]/3) dt,
[theta] = [integral] [([[omega].sub.1] - [[omega].sub.2] +
[[omega].sub.3]) x R]/3L dt (2)
where [v.sub.i] and [[omega].sub.i] are linear and angular
velocities of wheels (i=1,2,3), R is wheel radius, L is radius of mobile
platform.
Structure of Robotino on the next level of decomposition is shown
in Fig.4a. The Mobile platform, three omnidirectional wheels, and their
actuators, are the basic components presented on this level. Structure
of 'Mobile platform' is depicted in Fig.4b. In order to taking
acount mass of electromotors and reductors, they are presented as rigid
bodies. Their funcionalities can be represented by Actuator_i (/=1,2,3)
blocks.
Structure of wheels are presented in Fig. 5a. Ahead each component
there is block 'Rigid transform', which provides the
appropriate coordinate transformations. Each component is realized as a
rigid body (Fig.5b), whose mass and geometric properties are
automatically calculated from SOLIDWORKS 3D CAD models.
4. Simulation results
To verify developed dynamic model of Robotino a simple experiment
is performed. Wheels are powered in such a way that their angular
accelerations change in the time as shown in Fig.6. Robot moves along
[Y.sub.G] axis during the first 4 s, because wheels 1 and 3 are actuated
by the same angular velocities, but of the opposite sign. During this
motion, the wheel 2 is not powered. In the next 5.1 s all three wheels
rotate with the same angular velocity assuring that the robot just
rotates about [Z.sub.G] axis, as shown in Fig.7. Finally, during 9.1 s
to 15 s (the end of the simulation time) the robot moves along [Y.sub.G]
axis, similarly to motion in the first phase (Fig.8).
5. Conclusion
The procedure for development of dynamic model of mobile robot
based on its 3D CAD model is explained in the paper on example of mobile
robot FESTO Robotino. Firstly, the 3D CAD model is developed using
SOLIDWORKS and exported in form of xml file. The file is imported to
MATLAB's SimMechanics module (MATLAB/Simulink ver. 2015b). The mass
and geometric parameters including the all necessary transformations are
automatically calculated from the 3D CAD model (assuming the material
properties of the each robot part are defined previously). This approach
provides a comfortable and simple way to develop the dynamic model of
the mechanical part of the mobile robot.
The obtained dynamic model is realized as a single level (flat)
structure. It could be changed by grouping some of the parts into the
subsystems and thus providing systematically the model representation on
more hierarchical levels. Model can be also upgraded by adding
appropriate control structure, the wheel actuators, etc. assuring an
excellent research platform for investigation of the robot behaviour.
Comparison of different control algorithms, and path planning, work in
unstructured environmental would be direction of future investigation.
DOI: 10.2507/28th.daaam.proceedings.019
6. References
[1] Breido, I. V.; Markvardt, R. V. & Zarnitcin, A.(2012)
Modernization of communication interface between mobile robot Robotino
and Matlab software, Annals of DAAAM for 2012 & Proceedings of the
23rd International DAAAM Symposium, ISBN 978-3-901509-91-9, ISSN
2304-1382, pp 1107-1110, Editor B[ranko] Katalinic, Published by DAAAM
International, Vienna, Austria
[2] Damic, V. & Cohodar, M. (2017). Multibody System Modeling,
Simulation, and 3D Visualization, Chapter 17, pp.627-671, in book [C]
Springer International Publishing Switzerland 2017, W. Borutzky (ed.),
Bond Graphs for Modelling, Control and Fault Diagnosis of Engineering
Systems, DOI 10.1007/978-3-319-47434-2_17
[3] Damic, V.; Cohodar, M. & Omerspahic, A. (2013). Dynamic
Analysis of an Omni-directional Mobile Robot, Proceedings of 17th
Onternational Research/Expert Conference TMT 2013, 10-11 September 2013,
Istanbul, ISSN, ISBN, Katalinic, B. (Ed.), pp. 14-17, Publisher, City,
DOI
[4] Damic, V.; Cohodar, M.; & Tvrtkovic, M. (2016). Inverse
Dynamic Analysis of Hobby Robot uArm by Matlab/Simulink, Proceedings of
the 27th DAAAM International Symposium, pp.0095-0101, B. Katalinic
(Ed.), Published by DAAAM International, ISBN 978-3-902734-08-2, ISSN
1726-9679, Vienna, Austria DOI: 10.2507/27th.daaam.proceedings.014
[5] Du, Y. (2016). Kinematics and Dynamic Modeling and Simulation
Analysis of Three-wheeled Mobile Robot, International Conference on
Mechanics Design, Manufacturing and Automation (MDM 2016) ISBN:
978-1-60595-354-0
[6] http://www.festo-didactic.com/ov3/media/customers/1100/544305_robotino_deen2.pdf, Accessed on: 2017-09-01
[7] https://www.mathworks.com/videos/mobile-robot-simulation-for-collision-avoidance-with-simulink-90193.html, Accessed on: 2017-09-01
[8] Kirill, K. (2015). Software Architecture of Control System for
Heterogeneous Group of Mobile Robos. Procedia Engineering, Vol.100, pp
(278-282), doi: 10.1016/j.proeng.2015.01.368
[9] Klancar, G., Zupancic, B. & Karba.R. (2007). Modelling and
simulation of a group of mobile robots. Simulation Modelling Practice
and Theory, 15:647-658.
[10] Kukushkin, I. K.; Katalinic, B.; Cesarec, P.; Zdyb, D. &
Kettler, R.. (2012) Modeling of mobile robot behavior for line-less
Bionic Assembly System, Annals of DAAAM for 2012 & Proceedings of
the 23rd International DAAAM Symposium, ISBN 978-3-901509-91-9, ISSN
2304-1382, pp 0865-0870, Editor B[ranko] Katalinic, Published by DAAAM
International, Vienna, Austria
[11] Muratovic, M. (2017). Modeling and simulation of mobile robot
by Simulink, Faculty of Mechanical Engineering, University of Sarajevo,
Master thesis
Caption: Fig. 1. Robotino with assigned coordinate frames: a) the
global frame; b) the local frame
Caption: Fig. 2. Robotino parts
Caption: Fig. 3. The system level dynamic model of Robotino,
Caption: Fig. 4. The structure: a) 'Robotino' block; b)
'Mobile platform' block
Caption: Fig. 5. The structure of: a) 'Wheel' block; b)
The rigid body block
Caption: Fig. 6. The angular acceleration of wheel: a) 1; b) 2; c)
3;
Caption: Fig. 7. X and Y coordinates of Robotino in
[O.sub.Q][X.sub.G][Y.sub.G][Z.sub.Q]
Caption: Fig. 8. The Robotino motion in plane in
[O.sub.G][X.sub.G][Y.sub.G]
COPYRIGHT 2018 DAAAM International Vienna
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2018 Gale, Cengage Learning. All rights reserved.