Available online at www.sciencedirect.com
Mathematics and Computers in Simulation 82 (2012) 818–835
Original article
An integrated approach for simulation of mechatronic systems applied to a hexapod robot M. Akda˘g ∗ , H. Karagülle, L. Malgaca Department of Mechanical Engineering, Dokuz Eylül University, 35100, Bornova/Izmir, Turkey Received 8 July 2009; received in revised form 20 August 2011; accepted 13 December 2011 Available online 22 December 2011
Abstract Mechatronics is the integration of mechanism, electronics and computer control to produce a functional system. The design process involves application of many engineering areas and various approaches are possible. Computer programs are available in different engineering areas. Engineers define systems and inputs, and user-friendly programs establish mathematical models, solve them and give simulation outputs. In this study, SolidWorks is used for solid modeling and assembly, CosmosMotion is used for rigid body dynamics, CosmosWorks is used for finite element vibration and strength analyses, and Adlink module is used for actuator control. The integration of the design process is achieved with a main program developed in Visual Basic, which uses the application programming interface (API) capabilities. The procedure is applied to a hexapod robot. The robot has been produced to develop and test the procedure. CosmosMotion results are verified by the analytical results obtained from the dynamic equations of the hexapod. Besides known kinematic workspace definition of robots, kinetic and rigidity workspace concepts are introduced. Mechatronic systems can be designed and evaluated easily and effectively by using the design process developed in this work. © 2011 IMACS. Published by Elsevier B.V. All rights reserved. Keywords: Simulation; Mechatronic systems; Robotics; Hexapod
1. Introduction Mechatronics is a methodology which uses mechanics, electronics and computer control to achieve design of products where controlling of mechanical structures is necessary. Mechatronics is a branch which is evolving in the information age started after the developments in digital electronics in the late 20th century. Mechatronic design requires the application of solid modeling, assembly, rigid body motion, vibration, stress analysis, and control theories. Modern engineering theories based on advanced engineering mathematics were developed after the invention of the laws of motion. The theories require solving various types of linear and non-linear algebraic and differential set of equations with large number of unknowns. Before digital computers, some graphical and approximate methods have been used and the advanced application of the theories to engineering systems was limited. Well educated and experienced
∗
Corresponding author. Tel.: +90 232 3883138/133; fax: +90 232 3887868. E-mail address:
[email protected] (M. Akda˘g).
0378-4754/$36.00 © 2011 IMACS. Published by Elsevier B.V. All rights reserved. doi:10.1016/j.matcom.2011.12.002
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
819
experts could only apply these theories to new engineering systems. The industrial revolution evolved in the 18th to 20th centuries even with the limited application of modern engineering theories. Expert engineers could develop their own computer programs and the advanced application of the theories has been possible in the information age. A further development on computer software made it possible to apply the advanced application of modern theories on engineering systems by users who only define systems to user-friendly computer programs. The programs generate the equations according to the theories, solve them and give simulation results. Interdisciplinary simulation process raises synergy for developing easy and effective solutions to traditionally complex problems [3,23]. Industrial applications, research and education in Mechatronics are in constant progress. There are various approaches and application areas. Some of them are reviewed here. Integrated design approaches can be applied to different machines and systems. In [29], the finite element simulations of a hard disk drive are performed with ANSYS and MATLAB. The finite element model including whole head actuator and the servo system is established for typical disk drive vibration analyses. Simulation results are compared with experimentally derived vibration properties using laser vibrometry and dynamic signal analyzer. For the integration of multi-domain dynamic simulations in the design process, a three axis linear machine center is analyzed in terms of effects of design choices on the overall performance. DYMOLA with Modelica language in simulation and MATLAB/Simulink in experiments are used [6]. An integrated approach for a real-time controllable (RTC) mechanism is described by considering force balancing and trajectory tracking simultaneously by Quyang et al. [20]. A new approach is proposed to adjust kinematic parameter of RTC mechanism. An integrated approach to analyze end point vibrations of a two-link manipulator is presented in [12]. A general overview of the simulation in robotics is pointed out in [30]. Also, dynamic simulation and visualization of robot systems such as mobile, humanoid, surgical, mobile parallel and serial robots in different fields of robotics are presented using various programs. Integrated design approaches can be applied to parallel robots. Motion control of a H4 parallel robot is achieved for industrial pick-and-place applications during the linear and circular trajectories in [27]. Experimental tracking performance on complex trajectories and disturbance rejection are compared for the PID, computed torque and predictive functional controls. A 6-degree of freedom parallel mechanism is named as a hexapod. A hexapod robot has been first proposed by Stewart [25] as a flight simulator. Hexapods have some advantages over serial manipulators such as high stiffness, high load/weight ratio, high speed, precision and accuracy. Friction, length of actuators, calibration, limited workspaces, complex kinematical computations and control algorithms are their other disadvantages [7,26]. A modeling framework based on an architectural model to define control software for an example of a hexapod robot is presented in [18]. The use of object-oriented concepts to reduce complexity and to provide flexible control software is offered for the modeling framework. Design of hexapods having various configurations is studied by Gao et al. [8]. Movement capability and kinematical solutions of hexapods are also investigated by the researchers [15,28]. Computer simulations of a commercial hexapod actuated by a piezoelectric actuator are performed to compute linear displacements and control voltages of each actuator in [17]. Positive force feedback control of a manufactured hexapod is studied by adding extra acceleration feedback loops for precise pointing applications in [16]. Pointing errors caused by the work force disturbances are decreased with implementation of this algorithm. A robust design of controller–observer combination for hexapod actuators is proposed and the success of the developed strategy is demonstrated by experimental results in [1]. An integrated approach for the control of a hexapod is presented in [22] where a hierarchical architecture is shown for easy future modifications. A hexapod for an amusement park is designed using SolidWorks, CosmosMotion and ANSYS in [4]. Hexapods due to the advantages mentioned above can be utilized for different purposes such as robotic surgery [21], flight simulation [5], automation in civil engineering [13], active vibration control [19]. Main safety requirements and features for robotic surgery by a hexapod robot are explained to prevent any uncontrolled or unwanted movements in [14]. In this study an integrated design process is presented and applied to a hexapod robot which can be used for medical operations. The process uses different engineering software with application programming interface (API) capabilities. SolidWorks [24] for the solid modeling and assembly, CosmosMotion for the rigid body dynamics, CosmosWorks for the vibration and stress analysis, and the Adlink motor control module [2] are used by an integration software (IS) developed in Visual Basic. The flow chart of the process which performs various engineering analyses is described. The robot has been produced to develop IS and the success of the procedure has been tested.
820
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
Fig. 1. Flow chart of mechatronic design process.
2. Integrated design analysis and control of a hexapod robot 2.1. Flow chart The flow chart of the integrated design process developed in this study and applied to a hexapod robot as shown in Fig. 1. The flow chart is explained below without the details of the software commands. The emphasis in this paper is the flow chart of the design process. The details of the software to achieve the tasks in the flow chart can be found in the manuals. There are production parts and market parts. The production parts are designed and produced, whereas the market parts are selected and purchased. The database for production parts and assembly consists of the information on dimensions and angles which are necessary for modeling. The database for market parts consist of the information on technical specifications such as actuation and load limits. The database for planned work consists of the information on the end-point motion inputs. The modeling software developed in Visual Basic reads the data from the databases and models the parts, subassemblies, members and the robot automatically, using the Application Programming Interface (API) capabilities of SolidWorks. SolidWorks + CosmosMotion + CosmosWorks package is used in this study [24]. The robot model developed in SolidWorks is used automatically in CosmosMotion and CosmosWorks. Solid modeling of parts and assembly can also be done using the Graphical User Interface (GUI) capabilities of SolidWorks without the modeling software. The integration software (IS) developed in Visual Basic has “Inverse Kinematics”, “Kinematic Workspace Evaluation”, “Forward Kinetics”, “Kinetic Workspace Evaluation”, “Rigidity Workspace Evaluation” and “Execute Work” options. IS reads the database for the planned work and sends the end-point motion commands to CosmosMotion using API, when “Inverse Kinematics” option is clicked. The actuator motions are assigned as free at this step and the actuator displacements are found. The time histories of the actuator displacements are transferred back to IS. The results are evaluated whether the motion is possible considering the kinematic limits (displacement and velocity limits) of the actuators, when “Kinematic Workspace Evaluation” option is clicked. The end-point motion is set to free and the actuator motion commands together with the inputs for the end-point work forces are sent to CosmosMotion, when “Forward Kinetics” option is clicked. The time histories of the actuator
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
821
motion generator forces and reaction forces are found. The results are evaluated whether the kinetic limits (the actuator motion generation and joint force limits) are exceeded. After the rigid body dynamics analyses are done, the finite element (FE) natural frequency and static displacement and strength analyses are performed in CosmosWorks. CosmosWorks does not have API capabilities in the software package used in this study and these analyses are performed using GUI. “Rigidity Workspace Evaluation” option in IS is inserted as a reminder. The lowest natural frequency (fmin ), maximum displacement (umax ) and maximum Von Mises stress (smax ) are evaluated whether the rigidity limits of the robot structure are exceeded. The higher values of fmin , and the lower values of umax and smax indicate higher static and dynamic rigidity. The precision of the work performed by the robot is related to these rigidity values. The database for planned works are arranged for various works and simulations are performed for the kinematic, kinetic and rigidity workspace evaluations. The databases for modeling are changed and the simulations and evaluations are repeated until a final design is achieved. The details such as holes, threads, tolerances are inserted to the un-detailed parts in SolidWorks after the final design, using GUI. Market parts usually have the detailed models, which can be downloaded from the manufacturer websites. Un-detailed models of market parts are produced by the designer. Un-detailed models must have equivalent rigid body dynamic properties and approximately the same rigidity in FE analyses. After the actual robot and control unit are produced, the actuator motion commands are sent by IS to the actuator motion control unit using Adlink motor control module, when “Execute Work” option is clicked. This option is activated when the kinematic, kinetic and rigidity workspace evaluations are passed. The integration software (IS) is used at the application stage when the actual robot is in use as well as at the design stage. IS is useful for the optimum usage of the robot as well as for the optimum design. The rigidity workspace evaluation takes time and may be omitted during the application if the end-load limits are not exceeded. 2.2. Modeling of members and hexapod robot The model of the hexapod with un-detailed parts designed with the process given in Section 2.1 as shown in Fig. 2. The model of the hexapod robot assembly consists of motion sub-assemblies which are called as members. Each member consists of models of parts or sub-assemblies which have a common rigid body motion. Members are connected by joints. The models of the members with un-detailed parts are shown in Fig. 3. The members of the hexapod are titled as pa, pb, lsa and lsb. There are 6 pieces of lsa and lsb. The lsa-members are connected to the pa-member by spherical joints. The lsb-members are connected to the pb-member by spherical joints. The lsa-members and lsb-members are connected by translational joints through their axes. The radii of the base and moving platforms are 348 and 250 mm, respectively. Their thicknesses are 11 and 10 mm, respectively. The centers of spherical joints are at a distance of 6 mm to the closest platform surfaces. The distance between the centers of platforms is 233.6362 mm when the actuators are fully retracted. The materials selected for all the parts are steel (AISI 1020). The weight of the hexapod model is 17 kg. The linear actuators (HSI Model 43K4U-05-032ENG) and spherical joints (Hephaist SRJ008C) are market parts [10,11]. The actuators have a stroke of 50.8 mm and a nominal actuation capacity of 225 N. They have 1.5 m/pulse precision. The spherical joints have a maximum load capacity of 540 N. The hexapod can be modeled by using GUI after starting the recording of Visual Basic macros in SolidWorks. Then, the macros can be examined to determine the commands to develop codes for the modeling software, which uses API. The software performs the following tasks with sub-routines. First, the un-detailed parts are modeled using the input database. Then the parts are inserted to the assembly file for the member to be modeled. The parts are located to their positions. No mate commands are used for the modeling of the members. After modeling all the members, the assembly files of the members are inserted to the assembly file of the hexapod robot. The members are oriented and located to their approximate positions. The mates are defined between the members for joints. The points on the platforms are mated to the center points on the moving parts of the spherical joints. The axes on the frames of the linear actuators are mated to the axes on the ball-screw shafts of the linear actuators. CosmosMotion defines spherical and translational joints automatically after the ground and moving members are defined. The translational joints on the linear actuator parts have 2 degrees of freedom titled as TranslateZ and RotateZ. The RotateZ components of the translational joints are set to zero.
822
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
Fig. 2. Model of the hexapod with un-detailed parts.
2.3. Integration software (IS) 2.3.1. Database for planned work The position of the hexapod is defined by the position of the moving platform (the pb-member). x, y and z are the global coordinates and xb , yb and zb are the local coordinates attached to the platform. The orientation of the platform
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
823
Fig. 3. Models of members with un-detailed parts.
is a set of Euler angles ϕ, θ, ψ, which are the successive rotations around xb , yb , zb axes, respectively. The position of the platform is defined by the generalized coordinate vector given below. q = [x1 , y1 , z1 , ϕ, θ, ψ]T
(1)
u = [x1 , y1 , z1 ]T is the position vector of the origin of the moving platform with respect to the global coordinates. The generalized coordinate vector is qA = [0, −233.6362, 0, 0, 0, 0]T when the linear actuators are fully retracted. This position is called the assembly position (A-position). The distances are given in mm, and the angles are given in degrees unless otherwise is stated. Let the S-position of the hexapod be the starting position for a planned work and the generalized coordinate vector is qS for this position. The work force vector is defined as fe = [fxb , fyb , fzb ]T with respect to the platform frame. The work force is acting on the end-point shown in Fig. 3. The opposite of the work force is applied to the work-piece by the hexapod. The successive motions of the hexapod for a planned work are defined with successive lines in the database file with the format given below. Three types of motion information can be given. An example line for the first type (w-type) may be given as 6, 0.2, 0.1, w, 2, −10, 3, 4, −1, 1.8, f, 10, 100, −20 Here, td = 6 s, r1 = 0.2, r2 = 0.1, xi = 2 mm, yi = −10 mm, zi = 3 mm, ϕi = 4◦ , θ i = −1◦ , ψi = 1.8◦ , fxb = 10 N, fyb = 100 N, fzb = −20 N. td is the duration of the motion. r1 and r2 are the percentages of td for the acceleration and deceleration times, respectively. qwi = [xi , yi , zi , ϕi , θ i , ψi ]T is the incremental motion of the platform from its previous position. xi , yi , zi are the incremental translational motions in the x, y, z directions respectively. ϕi , θ i , ψi are the incremental Euler angles. All the incremental motions follow the trapezoidal velocity profile given in Fig. 4. tacc = r1 td is the acceleration time, tdec = r2 td is the deceleration time. The incremental motion d0 is area under the velocity curve and thus vm =
d0 (td − 0.5tacc − 0.5tdec )
(2)
The motion control units which produce pulses according to the profile given in Fig. 4 are readily available in the market. An example line for the second type of motion information (r-type) may be given as 4, 0.14, 0.12, r, 3, −5, −2.4, f, −20, 60, 10
824
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
Fig. 4. Velocity profile.
Fig. 5. Vector loop for the hexapod.
Here, td = 4 s, r1 = 0.14, r2 = 0.12. xbi = 3 mm, ybi = −5 mm, zbi = −2.4 mm, fxb = −20 N, fyb = 60 N, fzb = 10 N. No rotational displacements are given in the r-type. qri = [xbi , ybi , zbi ]T is the relative incremental motion of the platform from its previous position. xbi , ybi , zbi are the incremental translational motions in the xb , yb , zb directions respectively. An example line for the third type of motion information (wait-type) may be given as 3, wait, f, 8, 90, −22 Here, the hexapod is required to stand without motion for td = 3 s, and fxb = 8 N, fyb = 90 N, fzb = −22 N. 2.3.2. Inverse kinematics and kinematic workspace evaluation The following vector-loop equation is used for the inverse kinematics of the hexapod [9]. bn + an = un + pn
(n = 1 − 6)
(3)
The vector-loop for n = 3 is shown in Fig. 5. The end points of bn and pn are located at the centers of the spherical joints on the base and moving platforms, respectively, and they are known from the design. Knowing un as the input, the limb vector, an can be found from Eq. (3). The instantaneous unknown velocity and acceleration values can be obtained by the first and second derivatives of Eq. (3), respectively. The solution of Eq. (1) is well explored in the literature [9]. In this work, CosmosMotion is used as explained below. A motion object is assigned to the pb-member (moving platform) in CosmosMotion. The motion object has 6 degrees of freedom titled as TranslateX, TranslateY, TranslateZ, RotateX, RotateY, RotateZ, which correspond to xi ,
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
825
Table 1 CosmosMotion and analytical solution results for inverse kinematic analysis. Actuator
1
2
3
4
5
6
CosmosMotion Analytical solution
40.9908 40.9908
16.9253 16.9252
14.7924 14.7924
20.2552 20.2552
45.0943 45.0943
51.7128 51.7128
Results are given as the incremental actuator displacements. The instantaneous input values xi = 5.9, yi = −31.5, zi = 4.9, ϕi = −9.9, θi = 7.9, ψi = −6.9; ˙ i = −1; Translational displacements, velocities and accelerations are in are: x˙ i = 0.9, y˙ i = −4.7, z˙ i = 0.7, ϕ˙ i = −1.5, θ˙ i = 1.2, ψ ¨ i = 5.1. x¨ i = −4.4, y¨ i = 23.5, z¨ i = −3.7, ϕ¨ i = 7.4, θ¨ i = −5.9, ψ mm, mm/s and mm/s2 , respectively. Rotational displacements, velocities and accelerations are in degree,◦ /s and◦ /s2 , respectively. The incremental inputs and results are from the assembly position.
yi , zi , ϕi , θ i , ψi , respectively. Six components of the motion object are set to the displacement mode. The TranslateZ components of the translational joints are set to the free mode. IS reads the successive motion inputs from the planned work database file and assigns them to the motion object. Angular displacement objects for the spherical joint angles, plot objects for the translational joint displacements, and plot objects for the angular displacement objects are defined after running the simulation in CosmosMotion. The plot objects give the time histories, which are exported to text files. The results in these text files are read by IS and evaluated whether the limits are exceeded. The limits for the translational displacement, velocity and spherical joint angles are 50.8 mm, 2.28 mm/s, and 45◦ , respectively. The translational velocity limit is given for the average actuator load, and it can be increased depending on the load–velocity diagram of the actuator. This control can be done after the forward kinetic analysis. The algorithm for the kinematic analysis given in [9] has been implemented by using MATLAB to obtain analytical results and the analytical results are compared with the CosmosMotion results in Table 1. It is observed from Table 1 that the results are in agreement. 2.3.3. Forward kinetics and kinetic workspace evaluation The dynamic equations of the hexapod are written in the general form as follows [9]. ˙ q˙ + G(q) = H(q)F M(q)q¨ + C(q, q)
(4)
where q is given in Eq. (1). Note that the generalized velocity of the platform is not defined as the time derivative of q, but as [9] q¨ = [˙x1 , y˙ 1 , z˙ 1 , ω1 , ω2 , ω3 ]T
(5)
= [ω1 , ω2 , ω3 denotes the angular velocity of the platform with respect to (w.r.t.) the global coordinates. Note that the generalized acceleration of the platform is defined as ]T
q¨ = [¨x1 , y¨ 1 , z¨ 1 , ω˙ 1 , ω˙ 2 , ω˙ 3 ]T
(6) ]T
fn is the driving force for the nth actuator and F = [f1 , f2 , f3 , f4 , f5 , f6 in Eq. (4). Refer to [9] for the equations for M(q), C(q), G(q) and H(q). The actuator forces are found by solving Eq. (4) after the inverse kinematic analysis. The inertia properties of the members of the designed hexapod are given as follows: mp = 4355.72 g,
mb = 577.48 g,
⎡
Ipg
171.64 ⎢ =⎣ 0 0 ⎡
Ibg
0
0
330.41 0
0 4.68 ⎢ 1.44 =⎣ 0 0 0
0
mt = 57.23 g
⎤
⎥ 0 ⎦ × 105 (g mm2 ) 171.64 ⎤
⎥ 0 ⎦ × 105 (g mm2 ) 4.68
826
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
Table 2 CosmosMotion and analytical solution results for kinetic analysis. Actuator
1
2
3
4
5
6
CosmosMotion Analytical solution
133.9993 132.9988
107.2569 107.2567
66.7435 66.7433
164.1102 164.1096
77.3027 77.3021
8.7712 8.7709
Results are given as the actuator forces. The instantaneous payload is fxb = 60, fyb = 100, fzb = −20. The force values are in N. The kinetic analysis has been done after obtaining the kinematic analysis given in Table 1. The gravity in the −y direction has been included.
⎡
0 1.88 ⎢ 0.005 Itg = ⎣ 0 0 0
0
⎤
⎥ 0 ⎦ × 105 (g mm2 ) 1.88
mp is the mass of the pb-member (the moving platform), mb is the mass of the lsa-member (the base-part of the actuator), mt is the mass of the lsb-member (the moving-part of the actuator). The origins of the lsa-member and lsb-member are coincident with the centers of the spherical joints. The position vectors of the centers of gravities (c.o.g.) of the members w.r.t. the member coordinates are given by [0, −1.65, 0]T for the pb-member, [0, −100.26, 0]T for the lsa-member, [0, 73.75, 0]T for the lsb-member. Ipg , Ibg and Itg are the moments of inertias of the pb-member, lsa-member and lsb-member, respectively. The inertias are taken at the c.o.g.’s and aligned with the member coordinate systems. The inertia properties of the pb-member change when different masses are attached to the moving platform. The position vector of the end-point where the work force is acting is given as [0, −90, 0]T w.r.t. the member coordinates. In this work, CosmosMotion is used for the kinetic analysis as explained below. Action force objects in the xb , yb and zb directions are defined at the acting face of the pb-member. All the 6 components of the motion object for the pb-member are set to the free mode and the TranslateZ motion components for all the 6 translational joints are set to the displacement mode at this step. The displacements of the linear actuators for each step are read from the exported text files in the inverse kinematic analysis by IS. The time histories of the translational displacements of the actuators are created so that they follow the velocity profile given in Fig. 4, and they are assigned to the TranslateZ motion components of the translational joints. The values of the work forces for the successive motions are read from the planned work database file and they are assigned to the corresponding force objects. Plot objects for the magnitudes of the translational motion generator forces for the translational joints are defined. The time histories of the actuating forces are exported to text files. The results in these text files are read by IS and evaluated whether the limits are exceeded. The limit for the actuation forces is determined by the force–velocity curve. This curve is approximately linear for the actuators used in this study and the coordinates of two points on this line are (0 N, 2. 9 mm/s) and (225 N, 1.5 mm/s). The force determined by this line at a particular speed sets the limit force. The limit reaction force for the spherical angles used in this study is higher (540 N), and thus the limit control for the actuators is adequate. The algorithm for the kinetic analysis given in [9] to solve Eq. (4) has been implemented by using MATLAB to obtain analytical results and the analytical results are compared with the CosmosMotion results in Table 2. It is observed from Table 2 that the results are in agreement. 2.3.4. Rigidity analysis As explained in Section 2.1, the finite element (FE) analyses for the natural frequency and static displacement calculations are done in CosmosWorks using GUI. The planned work database file is organized and the hexapod is moved to an analysis position. After evaluating the limits for the kinetic and kinematic workspace, the FE studies are performed. The study type (frequency or static) is selected, the materials are assigned, the restraints are defined, and the FE model is created by meshing. The work forces are defined for the static analysis. Finally, the FE study is performed and the results are observed.
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
827
Fig. 6. (a) FE model, (b) mode-1, (c) mode-2, and (d) mode-3 for the assembly position.
2.3.5. Execution of work The incremental displacements of the linear actuators for each step are read from the exported text files in the inverse kinematic analysis by IS, and the motion control commands are sent to the motion control card. The timer object in Visual Basic is used for timings. 3. Simulation results 3.1. Rigidity analysis results The hexapod is moved to its final position by giving the incremental displacements xi , yi , and zi from its starting position defined by the generalized coordinate vector qS . The following FE studies are performed at the final position. The modal analysis results are given for the assembly position in Fig. 6. The first mode is mainly flexural bending vibration about the x-axis, the second mode mainly flexural bending vibration about the z-axis, the third mode is mainly torsional vibration about the y-axis. The natural frequencies for mode-1 and mode-2 are very close. Linear tetrahedral solid elements are used in the FE analyses. The element size and tolerance are selected as 12 mm and 0.6, respectively for the mesh generation in CosmosWorks. The number of elements is 23,235, the number of nodes is 40,502 and the number of degrees of freedom is 120,903 for the hexapod at the assembly position. The minimum natural frequencies (fmin ) are given for the hexapod for various positions in Fig. 7. The static FE results are given for example work forces in Fig. 8. The gravity is not considered in the results below unless it is stated. The values of fmin (minimum natural frequency), umax (maximum static displacements) and smax (maximum Von Mises stress) for various positions and loadings are given in Table 3. Table 3 Rigidity values for various positions and loadings. Position for
fmin (Hz)
umax (m)
smax (MPa)
a
58.745 51.691 46.162 49.465 48.034
umax = 2.082 and smax = 1.336 if gravity is considered.
5.36 5.432a 5.567 53.07 45.47
smax (MPa)
Load: fxb = −100 N
Load: fyb = 100 N Fig. 9 Fig. 10(a) Fig. 10(b) Fig. 10(c) Fig. 10(d)
umax (m)
1.480 1.440a 1.486 9.650 8.057
126.9 162.3 203.5 179.8 251.6
24.37 25.13 26.38 26.31 33.66
828
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
Fig. 7. First natural frequencies of the hexapod for various positions. Table 4 Typical rigidity limit values for hexapod at the mid-position qs = [0, −26, 0, 0, 0, 0]T . fmin
umax (load: fyb = 100 N)
umax (load fxb = 100 N)
smax
Above 50 Hz
Below 10 m
Below 200 m
Below 175 MPa
A limit value for smax can be determined by considering the proportionality limit and the endurance limit of the material. The limits for fmin and umax can be determined considering the precision of the application. Typical limit values may be given as in Table 4. The hexapod is more flexible in the x and z directions. 3.2. Case studies 3.2.1. Case-1 In Case-1, a mass is attached to the moving platform as shown in Fig. 9. The inertia of the pb-member for this case is ⎡ ⎤ 0 0 832.21 ⎢ ⎥ 352.23 0 ⎦ × 105 (g mm2 ) Ipg = ⎣ 0 0
0
832.21
The position vector of c.o.g. of the pb-member w.r.t. the member coordinates is [0, −51.62, 0]T . The database file for the planned work for Case-1 formatted as defined in Section 2.3.1 is given below: The starting position for Case-1 is given by the generalized coordinate vector qS = [0, −15, 0, 0, 0, 0]T . According to the database, the hexapod moves to Position-1 with yi = −10 mm and ϕi = −8◦ ; waits for 4 s; moves to Position-2 with ybi = −12 mm, waits 4 s; moves back to Position-2; waits 4 s; and finally moves back to its starting position, successively. The total duration is 48 s. Only the gravity forces are available. The inverse kinematic analysis gives the result that the actuator displacements are all positive and the maximum actuator displacement (rmax ) is equal to 47.8 mm; the maximum spherical joint angle (αmax ) is 13.5◦ , and the maximum actuator velocity (vmax ) is equal to 2.28 mm/s. These values are below the limits and the motion is possible according to the kinematic workspace evaluation. The actuator displacements found in the inverse kinematic analysis and the work forces are used in the forward kinetic analysis as explained in Section 2.3.3, and the actuation forces are found. The time histories of displacement, velocity and actuating force for the actuator-6 are given in Fig. 10. The time histories of the velocity and the actuating forces are used to evaluate if the actuators meet the actuation requirements. The maximum actuator force (fmax ) is
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
Fig. 8. Static FE results.
Fig. 9. pb-Member with payload for Case-1.
829
830
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
Database for Case-1 11, 0.1, 0.2, w, 0, −10, 0, −8, 0, 0, f, 0, 0, 0 4, wait, f, 0, 0, 0 7, 0.2, 0.1, r, 0, −12, 0, f, 0, 0, 0 4, wait, f, 0, 0, 0 7, 0.1, 0.1, r, 0, 12, 0, f, 0, 0, 0 4, wait, f, 0, 0, 0 11, 0.1, 0.1, w, 0, 10, 0, 8, 0, 0, f, 0, 0, 0 −1
Fig. 10. Time histories of (a) displacement, (b) velocity, and (c) actuation force for the actuator-6 for Case-1.
164.8 N for all the actuators for all the motion time. So, this value is below the limit and the motion is possible according to the kinetic workspace evaluation. The rigidity analysis results are given in Table 5 for the times 0, 15, 22, 33, and 48 s. The inverse kinematic analysis results are given in Table 6.
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
831
Table 5 Rigidity analysis results for Case-1. t (s)
fmin (Hz)
umax (m)
smax (MPa)
0 15 22 33 48
44.815 43.065 41.523 43.065 44.815
185.2 198.6 210.4 198.6 185.2
19.90 22.27 82.16 22.27 19.90
Table 6 CosmosMotion solution results for inverse kinematic analysis. Actuator:
1
2
3
4
5
6
t=0s t = 15 s t = 22 s t = 33 s
0 21.3613 33.3087 21.3613
0 10.0459 21.3290 10.0459
0 −1.6790 9.6893 −1.6790
0 −1.6790 9.6893 −1.6790
0 10.0459 21.3290 10.0459
0 21.3613 33.3087 21.3613
Results are given as the actuator displacements (mm) from their starting position. The actuator displacements are 14. 4906 mm from their assembly positions.
The rigidity values are below the limits and the motion is possible according to the rigidity workspace evaluation. The rigidity values change during the motion. The lowest rigidity is at t = 22 s. 3.2.2. Case-2 The hexapod is required to move the end-point of the tool 120 mm in 20 s against a work force of 100 N in Case-2. The inertia properties of the pb-member are as given in Section 2.3.3. The rigidity of the hexapod is higher and the actuator forces are lower if it is operated in the y direction. But, the stroke is lower in this direction and the work for Case-2 cannot be performed. Two alternatives, which are possible according to the kinematic workspace evaluation, are shown in Fig. 11. The hexapod moves in the x direction without initial rotation for S1, and with an initial rotation of ψ = 8◦ for S2. The kinetic and rigidity analyses results are given for S1 and S2. It is observed from Table 7 that the actuator driving forces are less and the hexapod structure are less deformed for the staring position S1 as compared with S2 during the work defined for Case-2. Robots can perform the same task with alternative ways. This example shows that the integration software (IS) is useful not only in the design stage but also in the programming stage when the actual robot is in use. In addition to the meters recording the operation times of a robot, the meters recording the extreme values of the kinetic and rigidity evaluations can be used for the quantitative evaluation of the level of the wear of robots.
Fig. 11. Two alternative starting positions of the hexapod for Case-2 (S1 and S2).
832
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
Table 7 Kinetic and rigidity analyses results for Case-2. Starting position
S1
S2
fmax (maximum actuator force) (N) fmin (1st natural frequency) (Hz) umax (the end point displacement) (m) smax (maximum Von Mises stress) (MPa)
168.7a
177.0 50.3 167.5 28.7
54.6 148.3 26.5
Extreme values are found at t = 20 s. a f max = 184.1 if gravity is considered.
Fig. 12. (a) Model of the hexapod with detailed parts and (b) photo of produced hexapod.
4. Experimental results The hexapod designed as in Section 2.2 has been produced to develop and test IS. The model of the hexapod with detailed parts and the photo of the hexapod produced are shown in Fig. 12. The photo of the control system is given in Fig. 13. PC based motion control cards or stand-alone motion controllers are used for controlling servo, DC or step motors. The pulses produced by the controllers drive the motors to follow required velocity profiles. PC-based motion control cards are used in this work. The scheme of the motion control system is given in Fig. 14. There is a personal computer with two Adlink motion control cards, Model PCI-8154 [2]. The cards are mounted to the PCI slots of the computer and their drivers are loaded. The module pci 8154.bas is added to IS, so the motion control commands can be used. The card and drivers are supplied with 24 V and the encoders of the actuators are supplied with 5 V. The drivers (HSI-Model 40105) have a continuous duty rating of 2 Amperes. The actuators with step motors move 0.75 m per pulse. Case-1 for which the simulation results are given in Section 3.2.1 is tested experimentally. The hexapod performed the required motion under gravity successfully. The actuator displacements have been measured from the motor encoders
Fig. 13. Photo of the control system.
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
833
Fig. 14. Motion control system. Table 8 Experimental results for inverse kinematic analysis. Actuator
1
2
3
4
5
6
t=0s t = 15 s t = 22 s t = 33 s
0 21.3624 33.3098 21.3626
0 10.0464 21.3293 10.0464
0 −1.6787 9.6897 −1.6787
0 −1.6785 9.6921 −1.6763
0 10.0470 21.3300 10.0464
0 21.3618 33.3096 21.3618
Results are given as the actuator displacements (mm) from their starting position.
by Adlink PCI-8154 motion control cards, and the results are given in Table 8. It is observed that the experimental results are in agreement with the simulation results given in Table 6. The maximum deviation of the experimental results from the simulation results is 2.8 m for actuator-4 at t = 22. 5. Conclusions Advanced application of modern engineering theories based on advanced mathematics has been possible after the developments in computers in the information age. The branch of mechatronics which is the integration of mechanics, electronics and computer control has evolved rapidly in industrial applications, research and education. Developments in actuators, sensors and user-friendly computer programs which simulate systems continue. Users define systems and inputs and the programs establish mathematical models and give simulation results. User-friendly simulation capabilities raise synergy for finding easy, effective and rapid solutions to traditionally complex problems. There is a need for the integration of various computer programs in user-friendly manner for the mechatronic design. Programs with application programming interfaces (API) can be integrated by using Visual C or Visual Basic. PC based motion control cards are available to produce pulses for servo, DC or step motors. The pulses can easily be programmed for the motor to follow the desired velocity curve. Motion control commands can be integrated to the integrated process by API. In this study, SolidWorks for solid modeling and assembly, CosmosMotion for inverse kinematics and forward kinetics, CosmosWorks for the natural frequency and stress analyses with finite elements, and Adlink motor control module for control of actuators are integrated by developing integrating software (IS) in Visual Basic. CosmosMotion results are verified by the analytical results obtained from the dynamic equations of the hexapod. The results obtained in the programs are transferred between them as explained with the flow chart given in this work and the system is evaluated in its workspace with kinematic, kinetic and rigidity considerations. These evaluations are important at the programming stage when the system is in use as well as at the design stage. It is possible to record these evaluations so wear levels of system elements can be determined more quantitatively. The process developed is applied to a hexapod designed for medical applications. The designed hexapod has been produced to develop and test IS. Production parts and market parts are used in a design. Un-detailed solid models of parts are necessary for the analyses. Market parts usually have detailed models which are not suitable for finite element analyses. It is helpful for a designer if un-detailed solid models of market parts are given by their producers.
834
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835
The results of this study can be used to design robots and mechatronic systems in general easily and effectively. Systems can be used more effectively by applying the proposed process. Users select marketed systems by evaluating overall technical properties for certain tasks. Evaluations can be done more quantitatively, if producers provide whole models of marketed system with un-detailed parts and integrated analysis software. The need for a system is to achieve certain tasks. Efforts are needed to achieve integrated design, analysis and control after defining tasks, although there are many computer programs. The next goal for computer programs may be to achieve all the efforts for the integrated design more user-friendly. Designers should only define tasks and choose the type of the mechanical structure. Then, integrated computer programs should offer an initial design and give simulation results. The initial design can be changed with the inputs of designers to obtain a final design. Acknowledgements The authors would like to acknowledge Turkish Scientific and Research Council (Project number: 104M373) for its financial support of this work. References [1] H. Abdellatif, B. Heimann, Modelling, identification and robust control of 6-DOF parallel manipulators, International Journal of Modelling, Identification and Control 4 (2008) 213–225. [2] Adlink Technology Inc., www.adlinktech.com (05.12.08). [3] S. Cetinkunt, Mechatronics, John Wiley & Sons Inc., USA, 2007. [4] M. Chao, C.-Y. Wang, C.-K. Lee, Dynamic analysis of a 6-DOF inverted Stewart platform, Key Engineering Materials 419–420 (2010) 13–17. [5] W. Dongsu, G. Hongbin, Adaptive sliding control of six-DOF flight simulator motion platform, Chinese Journal of Aeronautics 20 (2007) 425–433. [6] G. Ferretti, G.A. Magnani, P. Rocco, Virtual prototyping of mechatronic systems, Annual Reviews in Control 28 (2004) 193–206. [7] E.F. Fichter, A Stewart platform based manipulator: general theory and practical considerations, International Journal of Robotics Research 5 (1986) 157–182. [8] F. Gao, W. Li, X. Zhao, Z. Jin, H. Zhao, New kinematic structures for 2-, 3-, 4-, and 5-DOF parallel manipulator designs, Mechanism and Machine Theory 37 (2002) 1395–1411. [9] H.B. Guo, H.R. Li, Dynamic analysis and simulation of a six degree of freedom Stewart platform manipulator, Proceedings of the Institution of Mechanical Engineers Part C: Journal of Mechanical Engineering Science 220 (2006) 61–72. [10] Hephaist Seiko Co. Ltd., www.hephiaist.co.jp (05.12.08). [11] Hsi Haydon Swıtch & Instruments Inc., www.hsi-inc.com (05.12.08). [12] H. Karagülle, L. Malgaca, Analysis of end point vibrations of a two-link manipulator by integrated CAD/CAE procedures, Finite Elements in Analysis and Design 40 (2004) 2049–2061. [13] K. Kim, L. Bernold, A comparison of two innovative technologies for safe pipe installation-pipeman and the Stewart–Gough platform-based pipe manipulator, Automation in Construction 17 (2008) 322–332. [14] U. Laible, T. Bürger, G. Pritschow, A fail-safe dual channel robot control for surgery applications, Safety Science 42 (2004) 423–436. [15] T.Y. Lee, J.K. Shim, Forward kinematics of the general 6–6 Stewart platform using algebraic elimination, Mechanism and Machine Theory 36 (2001) 1073–1085. [16] H. Lin, J.E. McInroy, Disturbance attenuation in precise hexapod pointing using positive force feedback, Control Engineering Practice 14 (2006) 1377–1386. [17] L.C. Lin, M.U. Tsay, Modeling and control of micropositioning systems using Stewart platforms, Journal of Robotic Systems 17 (2000) 17–52. [18] J.-M. Perronne, L. Thiry, B. Thirion, Architectural concepts and design patterns for behavior modeling and integration, Mathematics and Computers in Simulation 70 (2006) 314–329. [19] A. Premount, Vibration Control of Active Structures: An Introduction, 2nd ed., Kluwer Academic Publisher, Netherlands, 2002. [20] P.R. Quyang, Q. Li, W.J. Zhang, Integrated design of robotic mechanisms for force balancing and trajectory tracking, Mechatronics 13 (2003) 887–905. [21] M.J. Rogers, I. McFayden, J.A. Livingstone, F. Monsell, M. Jackson, R. Atkins, Computer hexapod assisted orthopaedic surgery (chaos) in the correction of long bone fracture and deformity, Journal of Orthopedic Trauma 21 (2007) 337–342. [22] J.M. Rosario, D. Dumur, J.A.T. Machado, Control of a 6-dof parallel manipulator through a mechatronic approach, Journal of Vibration and Control 13 (2007) 1431–1446. [23] D. Shetty, R.A. Kolk, Mechatronics Systems Design, New York, PWS Publishing Company, 1997. [24] Solidworks Premium Package-2007 (SolidWorks + CosmosMotion + CosmosWorks), Solidworks Corporation, www.solidworks.com (05.12.08). [25] D. Stewart, A platform with six degrees of freedom, Proceedings of the Institution of Mechanical Engineers Part A: Journal of Power and Energy 180 (1965) 371–386.
M. Akda˘g et al. / Mathematics and Computers in Simulation 82 (2012) 818–835 [26] [27] [28] [29]
835
L.W. Tsai, Robot Analysis (The Mechanics of Serial and Parallel Manipulators), New York, John Wiley & Sons Inc, 1999. A. Vivas, P. Poignet, Predictive functional control of a parallel robot, Control Engineering Practice 13 (2005) 863–874. F. Xi, A comparison study on hexapods with fixed-length legs, International Journal of Machine Tools & Manufacture 41 (2001) 1735–1748. T.H. Yan, X.D. Chen, R.M. Lin, Servo system modeling and reduction of mechatronic system through finite element analysis for control design, Mechatronics 18 (2008) 466–474. [30] L. Zlajpah, Simulation in robotics, Mathematics and Computers in Simulation 79 (2008) 879–897.