mechatronics design of motion systems; modeling, control ... · pdf filemechatronics design of...
TRANSCRIPT
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 1
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
Abstract-- To help in facing the two top challenges in
developing mechatronic systems, while maintaining desired
accuracy and to optimize system level performance to meet the
design requirements, this paper proposes an accurate
mathematical and simulink models for accurate mechatronics
design and verification of both system and control of motions
throughout Mechatronics systems design and development
process, including proper selection, analysis, integration and
verification of the overall system and sub-systems performance
in terms of output speed, angle, torque, current, acceleration
and signals, resulting in simplifying and accelerating
Mechatronics systems design process. The proposed models
intended to be used for research purposes in mechatronics
motion systems design, motion control applications, as well as,
for the application in educational process. The proposed model
can be modified to include any control strategy and/or any
actuator. The model was created and verified using MATLAB
simulink software
Index Term— Mechatronics system, Motion control,
Mathematical and simulink function block models.
I. INTRODUCTION
Mechatronics system design is Modern interdisciplinary
design procedure; it is a concurrent selection, integration and
optimization of the system and all its components as a whole
and concurrently, all the design disciplines work in parallel and
collaboratively throughout the design and development
process to produce an overall optimal design. Mechatronics
design approach tends to develop products with synergy and
integration toward constrains like higher performance, speed,
precision, efficiency, lower costs and functionality. The two
top challenges faced in developing mechatronic systems are
the early identifying system level problems and ensuring that
all design requirements are met, in order to evaluate concepts
generated during the design process, without building and
testing each one, mechatronics engineer, must be skilled in
modeling, simulation, analysis, and control of dynamic systems
and understand the key issues in hardware implementation [1-
6].
Motion control is a sub-field of control engineering, in which
the position or velocity of a given machine are controlled using
some type of actuating device. Most used actuating devices
in mechatronics applications are electric actuating machines,
which are used in many, if not most, modern machines (e.g.
electric cars, locomotives, fans, turbines, and drills), robotics
(e.g. Mobile robot and robot arm), industrial and
manufacturing (e.g. conveyer belts, rolling, cutting, welding,
saws and bending machines as well as to spin gears and food
and medical industry mixers), also, many kitchen appliances
use DC motors. Two main motion control applications are of
concern; mobile robots and robot arms.
Accurate control of motion is a fundamental concern in
mechatronics applications, where placing an object in the
exact desired location with the exact possible amount of force
and torque at the correct exact time, while consuming minimum
power, at minim cost, is essential for efficient system operation,
while maintaining accuracy, to simplify and accelerate
Mechatronics systems design process, and considering the
two top challenges faced in developing mechatronic systems,
including proper selection, analysis, integration and
verification of the overall system and sub-systems
performance throughout the development process, and
optimize system level performance to meet the design
requirements, this paper proposes an accurate general
mathematical and simulink models of system, motions and
control in mechatronics applications, in terms of output speed ,
angle, torque, current, acceleration and signals , in terms of best
selection and integration of system's mechanical parts,
controller and components, as an application example the
proposed model will be tested in mechatronics design of two
systems a mobile robotic platform and robotic arm systems,
where an electric motor, a motion control system and
corresponding components are selected, designed and
integrated to move a given mechanical system to/with a
desired output (speed and/or position), corresponding to
applied input voltage ,Vin, achieving and maintaining all design
requirements.
Mechatronics Design of Motion Systems;
Modeling, Control and Verification.
Farhan A. Salem1,2
1Mechatronics program,. Dept. of Mechanical Engineering, Faculty of Engineering, Taif University, 888, Taif,
Saudi Arabia. 2 Alpha Center for Engineering Studies and Technology Researches, Amman, Jordan.
Email: [email protected]
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 2
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
Mobile robot is a platform with a large mobility within its
environment (air, land, underwater) it is not fixed to one
physical location. Mobile robots have potential application in
industrial and domestic applications. Accurate designing and
control of mobile robot is not a simple task in that operation of
a mobile robot is essentially time-variant, where the operation
parameters of mobile robot, environment and the road
conditions are always varying, therefore, the mobile robot as
whole as well as the controller should be designed to make the
system robust and adaptive, improving the system on both
dynamic and steady state performances [1].Single joint robot
arm system consists of three main parts; arm, connected to
actuator through gear train.
The following nominal values for the various parameters of two
different eclectic motor can be used and tested: First motor:
Vin=12 Volts; Jm=0.02 kg·m²; bm =0.03;Kt =0.023 N-m/A; Kb
=0.023 V-s/rad; Ra =1 Ohm; La=0.23 Henry; TLoad, gear ratio,
for simplicity ,n=1. Second motor: Vin=12 Volts; Motor torque
constant, Kt = 1.1882 Nm/A; Armature Resistance, Ra =
0.1557 Ohms (Ω) ; Armature Inductance, La = 0.82 MH
;Geared-Motor Inertia: Jm = 0.271 kg.m2, Geared-Motor Viscous
damping bm = 0.271 Nms; Motor back EMF constant, Kb =
1.185 rad/s/V, gear ratio, for simplicity , n=1, 10.
The robot arm system to be designed, has the following
nominal values; arm mass, M= 8 Kg, arm length, L=0.4 m, and
viscous damping constant, b = 0.09 N.sec/m. so that a voltage
range of 0 to 12 volts corresponds linearly of an Robot arm
output angle range of 0 to 180, that is to move the robot arm to
the desired output angular position, θL , corresponding to the
applied input voltage ,Vin . The mobile robot system to be
designed, has the following nominal values wheel radius r
=0.075 m, wheelchair height,h= 0.920 m, wheelchair width ,b =
0.580 m, the distance between wheels centers = 0.4 m, The
most suitable linear output speed of used, domestic, mobile
robot is to move with 0.5 meter per second, (that is ω=V/r =
0.5/ 0.075 = 6.6667 rad/s,) . Tachometer constant, Ktac = 12 /
6.6667=1.8 (rad/sec)
II. SYSTEM MODELING
We are to model overall systems and sub-systems including
mechanical system, actuator, system dynamics, control
systems and sensors. The control of mechatronics system's
motion is simplified to electric machines motion control that
may or not include gear sys tem . Motion control system and
components , A negative closed loop feedback control system
with forward controller and corresponding simulink model
shown in Fig.1 are to be used. Electric machine is powered and
desired output movements will rely on how the electric motor is
commanded, by using a simple controller of e.g. PIC
microcontroller, and corresponding feedback element,
interfaces and electric machine, the output movements (the
rotation to a fixed speed or angle) can be controlled easily.
Different researches on this theme, can be found, most of it
study separate systems and control design. In [14] modeling,
simulation and analysis of the basic open loop DC motor
system using different approaches; different simplified and
accurate models are derived for different application. In [15]
analysis of how to choose DC motor to be balance with their
applications for a given mobile robot, also, specification of DC
Motor that can be used with desire mobile robot is determined
using MATLAB Simulink model. In [16] an accurate general
purpose mobile robotic platform for system and controller,
selection, design, modeling, testing and validation. In [17] a
model and control of mobile robots are presented. [18]
Addresses mechatronics design, modeling, controller
selection, design, simulation and analysis issues of a simple
robot arm considering all the forces applied upon the system.
In [18] a proposed mechatronics design including modeling
and control selection are introduced.
Meanwhile Mobile system dynamics depends on dynamics
between the surface, wheels and mobile platform, robot arm
dynamics depends on arm's mass, length and shape. The
geometry of the mechanical part determines the moment of
inertia, for simplicity, the mobile platform can be considered to
be of the cuboide or cubic shape. Also, arm is considered as a
rod of mass m, length ℓ, (so that m = ρ*ℓ*s), this rod is rotating
around the axis which passes through its center and is
perpendicular to the rod .The total equivalent inertia, Jequiv and
total equivalent damping, bequiv at the armature of the motor
with gears attaches, can be calculated from known formulae.
Input units Control unit Output unit
Sensors Converters Microcontroller Motor driver
Fig. 1. (a) Motion control system and components
Fig. 1. (b) motion control using microcontroller, and corresponding
feedback element.
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 3
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
Controller
(angle, speed)Control voltage,
Vc
Angle or Speed measure e,.g
Potentiometer, Tachometer
Sensor
+-
Error, VoltAngle or Speed
reference (desired)
Volt
Motor shaft
ω or θ
Fig. 1. (c)Two Block diagram representations of PMDC motor control
Error Angle or speed
Vpot or Vtach
Robot.mat
To File
Reference input
Output shft
angle, speed
-K-
Kpot or Ktach
In1 Out1
DC Motor
Subsystem
P(s)
Controller to be
selected and designed
Fig. 1. (d) Preliminary simulink model for negative feedback with
forward compensation
II.I ELECTRIC MOTOR MODELING
The actuators most used in mechatronics motion control
systems, are DC machines (motors). Because their torque-
speed characteristics are achievable with different electrical
configurations and their speeds can be smoothly controlled
and in most cases are reversible, also, DC Motor and its
features can be analyzed both by Control System design
calculation and by MATLAB software .There are many DC
motors that may be more or less appropriate to a specific type
of application each has its advantages, limitations and
disadvantages. The designer must select the best one fo r
specific application. In [11] different types of DC machines, are
introduced with their mathematical models, current and torque
characteristics, it was shown that allmostly, all DC machines
has identical models, therefore any DC machine can be used to
build the proposed motion model, to be accurate for each
particular case, it is required, only, to modify the used actuator
model. DC motors are an example of electromechanical
systems with electrical and mechanical components, it turns
electrical energy into mechanical energy and produces the
torque required to move the load to the desired output
position, θL, or rotate with the desired output angular speed,
ωL. The produced torque is exerted to accelerate the rotor and
ultimately this mechanical power will be transmitted through a
gear set to mechanical system part. The fundamental system of
electromagnetic equations for any electric motor is given by
[14-15]:
( )
ks
s s s s
kR
s R R b m R
s s s R
R R R S
du R i j
dt
du R i j P
dt
L i L i
L i L i
(1)
Where: k the angular speed of rotating coordinate system
(reference frame), Depending on motor construction (AC or
DC), the method of the supply and the coordinate system
(stationary or rotating with the rotor or stator flux) the above
mentioned model becomes transformed to the desirable form
[16]. To write the equivalent electric actuator model, for output
speed control, model of a symmetric half of the mobile robot
platform is constructed, the same model is used for output
angle control, as well as for current, torque and acceleration.
The PMDC motor open loop transfer functions without any
load attached relating the input voltage, Vin(s), to the motor
shaft output angle, θm(s), and speed ωm(s), are given by:
3 2
2
( )
( ) ( ) ( )
( )
( ) ( ) ( )
t
in a m a m m a a m t b
t
in a m a m m a a m t b
Ks
V s L J s R J b L s R b K K s
Ks
V s L J s R J b L s R b K K
2
The transfer function of PMDC, equivalent to robot arm
transfer function, in terms of input volt and output angular
position, is given by:
3 2
( ) *
( ) ( ( )
arm t
in a equiv a equiv equiv a a equiv t b
s K n
V s L J s R J b L s R b K K s
3
The transfer function of PMDC, equivalent to mobile robot
platform transfer function, in terms of input volt and output
angular speed is given by:
2
( ) /
( ) ( ) ( ) ( )
mobile t
in a equiv a equiv equiv a a equiv t b
s K n
V s L J s R J b L s R b K K
4
Major mechanical and electrical nonlinearities, (e.g. coulomb
friction), can be included, in this model, which is considered as
disturbance torque, and is given by:
Te – Tα – Tω - TEMF - Tf = 0
At steady is given by:
Tf = Te - b*ω
In the following calculation the disturbance torque, T, is all
torques including coulomb friction, and given by T=Tload+Tf ,
and correspondingly, the open-loop transfer function of the
PMDC, is given by:
2( )
( )
t
open
a a equiv equiv a a b t
KG s
L s R J s b s L s R T K K
5
The geometry of the part determines the moment of inertia (e.g.
cuboide, Cylindrical, rod, disc, sphere etc), equations for the
total equivalent inertia, Jequiv and total equivalent damping,
bequiv at the armature of the motor with gears attaches are given
in tables, for mobile robot the mobile platform can be
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 4
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
considered to be of the cuboid or cubic shape and calculated
by Eq.(6), also the total inertia can be calculated from the
energy conservation principle.
2
2 2
1 1
2 2
3
2 2
2
2
1
12 12
0.5* * 0.5* *
*
equiv m Load equiv m Load
mobile arm
total load
total
load
N Nb b b J J J
N N
bhJ J ml
m J
mJ
6
Considering that linear velocity of platform, depends on
motor's angular speed, wheels radius, r, and gear ratio, n,
substituting, gives:
2 2 2
2 2 2
* ,
* * *
*
shaft
total total
load
n rn
r n
m r m rJ
n n
Form robot arm application: The moment of inertia of the
robot arm can be found by computing the following integral:
2/2 3 3
/22
/2
/2
/ 8 12
3 3 12
ll
l
l
x m lx sdx s s ml
sl
Calculating and substituting values in (6) gives:
JLoad= (8*(0.4) ^2)/12 = 0.106666666666667 kg.m2
Substituting, we obtain, Jequiv ,to be :
Jequiv = Jm + Jload *(1/1)
Jequiv =0.02+0.107= 0.1267 kg·m²
Obtaining the total damping, b total , gives:
b equiv = bm + bload(1/1)
b equiv_arm = 0.03 + 0.09 = 0.12 N.sec/m
Form mobile robot application: The total equivalent inertia,
Jequiv and total equivalent damping, bequiv at the mobile robot
armature of the motor are ,Jequiv =0.2752 kg.m2 , bequiv = 0.3922
N.m.s. Neglecting the DC motor’s inductance, by assuming L
≈0, we have, transfer function relating input voltage and
output speed:
/( )
( ) 1
t a equiv
t b
equiv
equiv a
K R Js
V s K Ks b
J R
Transfer function relating input Vin (s) and output current:
1
( )
( ) 1
equiv
a equiv
t b
equiv
equiv a
bs
R JI s
V s K Ks b
J R
The transfer function relating the input voltage, Vin (s), to the
output armature current, Ia(s), directly follows:
2
1
( )
( )
a
a ma
in equiv a equiva b t
a equiv a m a equiv
Ls
L JI s
V s b R bR K Ks s
L J L J L J
Equation relating the torque developed by the motor and the
motor shaft angle is given by:
2
( ) 1
( )
m
m equiv equiv
s
T s J s b s
II.II SYSTEM DYNAMICS MODELING
When deriving an accurate mathematical model for motion
system it is important to study and analyze dynamics between
system and surroundings, and considering all the forces
applied upon the system. The suggested model will tested for
mechatronics motion control design applications of two
systems mobile robot and robot arm. For other systems the
proposed model will include a separate block for load torques
of particular application form and dimensions , such that the
model can be applied to any motion control system.
For robotic arm; Torque, T is defined as a turning or twisting
force and is calculated as given next: *T F L , Where: F The
force acts at a length, L, from a pivot point. The torque
required to hold a mass, m, at a given distance from a pivot is
therefore:
( * )*T m g L
To calculate the extra torque required to move (i.e. create an
angular acceleration), we calculate the moment of inertia of the
part from the end to the pivot. For mobile robotic platform; In
[4,13,17] an accurate derivation of all forces acting on mobile
platform system, when it is running are introduced. For mobile
robot, considering dimensions, and the following most acting
forces and corresponding torques, can be considered:
Rolling resistance force,
_ r rF C C cos( )R normal forceF Mg 7
In terms of the vehicle linear speed Eq.(7) becomes:
r0 r1F M *g * C -C * * ( )R sign
The rolling resistance torque is given by:
R rT * *C *cos( ) * wM g r 8
The hill-climbing resistance force is given by:
climbF * *sin( )M g 9
The hill-climbing resistance, slope, torque, is given by:
10 climb slopeT T = * *sin( ) * wheelM g r
The total inertia force of the mobile platform,
slopeF F =Minertia
d
dt
The inertia torque is given by:
2
slopeF F =r Minertia
d
dt
Aerodynamic Drag force, given by: 2
aerod dF 0.5 AC vehicl
The aerodynamics torque is given by:
2
aerod d
1T AC
2vehicle wr
The angular acceleration force is given by:
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 5
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
2
acc_ angle 2F
wheel
GJ
r 11
The angular acceleration torque is given by:
12 2 2
acc_ angle 2w
w w
G GT r J J
r r
III. CONTROLLER SELECTION AND DESIGN
The goal for a control system is to achieve a fast response to a
step command with minimal overshoot, and minimum error or
follow a given reference input signal [17]. The modern
advances in electric motors and controllers improve motors
speed, acceleration, controllability, and reliability; also allow
designers a wider choice of power and torque. The term
control system design refers to the process of selecting
feedback gains that meet design specifications in a closed-loop
control system. Most design methods are iterative, combining
parameter selection with analysis, simulation, and insight into
the dynamics of the plant [18]. There are many motor motion
control strategies that may be more or less appropriate to a
specific type of application each has its advantages and
disadvantages. The designer must select the best one for
specific application, in [11] most suitable control strategies for
DC motor motion control, are suggested, were different control
strategies were selected, designed, applied and their action
were compared to select the most suitable control of a given
DC motor in terms of output speed and angle, Most of these
suggested control strategies will be applied in suggested
system model, mainly PID, PI, PD as separate blocks to be
applied with and without deadbeat response, also lead and lag
compensators, the designer must select the best controller for
specific application.
Systems design with prefilter: Prefilter is defined as a transfer
function Gp(s) that filters the input signal R(s) prior to
calculating the error signal. Adding a control system to plant,
will result in the addition of poles and/or zeros, that will effect
the response, mainly the added zero, will significantly inversely
effect the response and should be cancelled by prefilter,
therefore the required prefilter transfer function to cancel the
zero is given by (13). In general. The prefilter is added for
systems with lead networks or PI compensators. A prefilter for
a system with a lag network, mainly, is not, since we expect the
effect of the zero to be insignificant.
Pr ( ) /efilter O OG s Z s Z 13
PID controller design: PID controllers are most used to
regulate and direct many different types of dynamic plants the
time-domain, The PID gains are to be designed and tuned to
obtain the desired overall desired response. The PID controller
transfer function is given by: 2
I D P I
PID P D
K K s K s KG K K
s s
14
Proportional Integral - PI controller is widely used in variable
speed applications and current regulation of electric motors,
because of its simplicity and ease of design. PI controller
transfer function is given by:
( )
( )
P II
PI P
I
P
P oP
PI
K s KKG s K
s s
KK s
K s ZKG s
s s
15
Where, Zo: Zero of the PI-controller, KP: The proportional gain.
The PI zero, Zo=- KI/ KP, will significantly and inversely effect
the response and should be cancelled by prefilter given by
(13).
Proportional -Derivative - PD controller: The transfer
function of PD-controller is given by Eq.(15) :
( ) ( ) ( )P
PD P D D D PD
D
KG s K K s K s K s Z
K 16
The PD-controller is equivalent to the addition of a simple
zero at: /PD P DZ K K
The required prefilter transfer function to cancel the PI- zero at
ZPI=KI/ KP is given by:
_ Pr ( ) /PI efilter PI PIG s Z s Z (17)
For systems with PD compensators, a prefilter is used to
eliminate any undesired effects of the term s + z introduced in
the closed-loop transfer function, the required prefilter transfer
function is given by:
_ Pr ( ) PD
PI efilter
PD
ZG s
s Z
Lead compensator: Lead compensator is a soft approximation
of PD-controller, the following approximated controller transfer
function of PD controller, and called lead compensator is given
by:
( ) Where : o
C o o
o
s ZG s K Z P
s P
18
If Z < P this controller is called a lead controller (or lead
compensator). If Z > P : this controller is called a lag controller
(or lag compensator) .
Lag compensator; The Lag compensator is a soft
approximation of PI controller, The Lag compensator transfer
function is given by.
19 ( )
( )
o
lag c
o
s ZG s K
s P
Where: Zo > Po, and Zo small numbers near zero and Zo =KI/KP
, the lag compensator zero. Po: small number ,The smaller we
make Po, the better this controller approximates the PI
controller.
Lead integral compensator controller transfer function is given
by:
_
( ) ( )1( )
( ) ( )
o oLead Integral C C
o o
s Z s ZG s K K
s s P s s P
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 6
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
Eliminating the steady state error, but disturb transient
response settling time, and overshoot.
III.I POSITION AND VELOCITY FEEDBACK SENSORS
MODELING; POTENTIOMETER AND TACHOMETER
To calculate the error, we need to convert the actual output
(position, speed, torque, current) into voltage, V, then compare
this voltage with the input voltage Vin, the difference is the
error signal in volts.
Potentiometer is a sensor used to measure the actual output
robot position, θL ,convert into corresponding volt, Vp and
then feeding back this value to controller, the Potentiometer
output is proportional to the actual position, θ L, this can be
accomplished as follows: The output voltage of potentiometer
is given by:
Vp = θL * Kpot
Where: θL :The actual position. Kpot the potentiometer
constant; It is equal to the ratio of the voltage change to the
corresponding angle change, and given
by: potK (Voltage change) / (Degree change) . Depending on
maximum desired output arm angle, the potentiometer can be
chosen. for our case, input volt range Vin= 0:12, and input
angle range θ= 0:180 degrees, substituting, we have:
12 0 / 180 0 0.0667 V / degreepotK
Potentiometer constant Kpot = 0.0667 V/degree. This value
(0.0667), means that each one input volt corresponds to
180/12= 15 output angle in radians , to obtain a desired output
angular position of 180 , we need to apply 12 volts, to obtain
an angular position of 90 we need to apply
( 90*0.0667= 6.0030 Volts).
Tachometer is a sensor used to measure the actual output
mobile robot angular speed, ωL .. Dynamics of tachometer can
be represented using the following equation:
* / *out tac out tacV t K d t dt V t K
The transfer function of the tachometer is given by:
Vout(s) / ω(s) =Ktac
A suitable linear output speed of domestic mobile robot is to
move with 0.5 m/s, that is:
V/r 0.5/0.075 6.6667 rad / s,
Tachometer constant, Ktac = 12 / 6.6667=1.8
III.II THE CONTROL OF OUTPUT POSITION (ROBOT
ARM) WITH POSITION AND VELOCITY FEEDBACK.
For the feedback system shown in Fig.2, a velocity feedback is
used to stabilize systems that tend to oscillate, for this system
the output is the angular displacement, θL, the rate of change of
angular position , dθL(s) /dt, is actual output angular speed,
and the error signal , Ve ,is given by:
* /e in pot o tac oV V K K d dt
Taking Laplace transform, and separating we have:
Ve(s) = Vin(s) - θL(s) *(Kpot - Ktac*s)
θL(s) = Ve (s)* Kcon *Garm(s)
Substituting, Ve, we have:
θL(s) = Ve (s)*Kcont* Garm(s)= K*G(s)[ Vin (s) - θL(s) *( Kpot -
Ktac *s)]
θL(s) = Kcont * Garm(s)*[ Vin (s) - θL(s) *( Kpot + Ktac *s)]
θL(s) = Kcont * Garm(s)* Vin (s) - Kcont * Garm(s)* θL(s) *( Kpot +
Ktac *s)
θL(s) + Kcont * Garm(s)* θL(s) *( Kpot + Ktac*s ) = Kcont *
Garm(s)* Vin (s)
θL(s) [ 1 + Kcont * Garm(s)*( Kpot + Ktac *s )] = Kcont * Garm(s)* Vin
(s)
The overall transfer function in terms of input voltage and
output angular position
con arm
arm
K *G ( )( )
( ) 1 *G ( ) *
L
in cont pot tac
ssTF
V s K s K K s
For this transfer function, if given the DC motor transfer
functions and parameters, controller transfer function and
sensors gains Kpot, Ktac, we can evaluate the behavior of our
system
Fig. 2. The control of output position with position and velocity
feedback.
IV. SYSTEM SIMULATIONS
In the proposed model the following sub-systems will be
simulated; electric actuator, input signals, most used and
proved control strategies for motion control, dynamics
between system and surroundings considering all the forces
applied upon the system. Based on derived equations, the
driving torques, can be simulated, with function block model as
shown in Fig. 3(a)(b) , also a repeating sequence stair model
can be used to simulate different disturbance torques. Different
inputs can be applied to the suggested model, to simulate
different real life inputs including; constant input, step, ramp,
motion reference profile, the simulation of motion profile is
shown in Fig. 3(d). PM Motor subsystem simulation is shown
in Fig. 4(a). The proposed model for mechatronics motion
control applications in terms of output speed and/or angle, as
well as torque, current, acceleration and controller action, is
shown in Fig. 4(b), While maintaining accuracy, this model will
simplify as well as accelerate Mechatronics systems design
process, both mechanical system and controller selection,
analysis, design and validation. This model can be used for
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 7
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
any mechatronics motion control application the use PM motor
as prime mover. The model allows designer, using manual
switches, to select each of the following; system to be deigned
and tested, (e.g. mobile robot, robot arm, conveyer ), select
control strategy ( PID, PI, PD, PI, with or without dead beat
response, lead or lag as well as lead integral compensator),
also, select input and disturbances type. The model, also,
allows visual readings of output speed, angle, as well as
torque, current, acceleration and controller action. It is
important to consider that this model can be modified to
include any control strategy, as well as, any DC machine,
depending on particular application, it is required, just to
modify, the used actuator model. The presented model allows
the use of MATLAB PID block, to be used as PI, PD and PID
controller with tuning capabilities, also a separate PD, PI
controllers models are included, as well as prefilter. Also, the
presented is support with MATLAB m.file to define and select
all system's parameters, dimensions and coefficients; that is
PMDC, mobile robot, robot arm, sensor, system dynamics and
controllers gains, poles and zeros, also this m.file can be used
separately to design, analyze derive and plot system's open
loop and closed loop transfer function in terms of output
speed and/or angle, as well as torque, current and acceleration.
r^2*m*g/2
1Load torqe
sin(u)
cos(u)
SinCos
Product4
Product2
Product13
Product1du/dt
Derivative1
-C-
g
0.5
5
Inclination angle
4
Angular speed
3 r, wheel radius
2m ,Load mass
1Rolling friction coefficient
Fig. 3. (a) Load torque simulation, considering and not considering
coulomb friction
r 2*m*g/2
Coloumb friction
1Load torqe
sin(u)
cos(u)
SinCos
Product4
Product3
Product2
Product13
Product1du/dt
Derivative1
-C-
g
0.5
7
bm
6
motor Torque, Kt*i
5
Inclination angle
4
Angular speed
3 r, wheel radius
2m ,Load mass
1
Rolling friction coefficient
Fig. 3. (b) Load torque simulation, considering and not considering
coulomb friction
Rolling f riction coef f icient
m ,Load mass
r, wheel radius
Angular speed
Inclination angle
Load torqe
Load Subsystem
Fig. 3. (c) Load torque function block model
1
Out1Switch1
Switch
Ramp
slope=2
Ramp
slope=1
12
Constant7.999
Clock
Fig. 3. (d) motion profile simulation.
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 8
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
Current
Torque
13 POSITION linear speed
12 mobile linear speed
11POSITION LINEAR Acceleration
10
OUTPUT from angle feedback
9
OUTPUT from speed feedback
8
controller singal
7
OUTPUT from summing to controller6
From input Volt to PI fi lter
5SPEED LINEAR Acceleration
4 Torque3 Curent
2 Angular position
1Angular speed
Sum.4
Sum.1
Product9
Product8Product7
Product5
Product4
Product3
Product2
Product13Product12
Product11
Product10
1
s
Integrator.2
1
s
Integrator..4
1
s
Integrator..1
du/dt .
du/dt ,1
du/dt ,
15 Wheel radius
14 sensor output13
Ktach, speed feedback
12n, Gear ratio11
From PI fi lter
10
Controller output
9
Kpot, angle feedback
8
bm
7
T, Load torque
6
Ra
5
Input Voltage
4Kt, Torque constant
3
Kb, EMF constant
2Jm
1La
Fig. 4. (a) Motor subsystem model.
IV.I MATLAB M.FILE
V.I.I SUPPORTING MATLAB PROGRAM
The model is support with, written below, MATLAB
m.file to define and select all system's parameters,
dimensions and coefficients, controller selection (PID, PI
with deadbeat, PD with deadbeat) analyze, derive and to plot
system's response output results in terms of speed and/or
angle, as well as torque, current and acceleration. Also this
m.file can be used separately to design, motion system and
controller selection (PID, PI with deadbeat, and PD with
deadbeat) analyze, derive and plot system's open loop and
closed loop transfer function and corresponding plots of
response curves:
clc, close all, clear all
format short
% First DC motor (used)parameters
% Vin=12 ; Kt= 1.1882 ; Ra = 0.1557; La
= 0.82; Jm = 0.271; bm=0.271; Kb =
1.185; Jm =0.271 ;n=1;
%Second DC motor (used) parameters
Vin=12 ;V=12; Kt= 0.023 ; Ra = 1; La =
0.23 ; Jm = 0.271; bm=0.03; Kb = 0.023;
n=1;Jm =0.02 ;n=1;
r=0.075;% m wheel radius
g=9.79379 ;% m/s^2, grav. acc.
mobile_robot_wedth=0.580 ;% m
mobile_robot_height=0.920 ;% m
desired_linear_speed=0.5;% m/s
desired_angular_speed=
(desired_linear_speed)/r;
m=100;% mobile total mass
b_mobile=0.09;rolling_f=0.01;Kp_PI=2;Kd_
PD=2;Zo=0.1;
Po=0.11;Kp_compensator=2;Tl=10;
Cr= 0.014; % Rolling Resistance
Coefficient
inclination_angle=45;
M= 8 ; Length=0.4 ; b_arm = 0.09 ;
angle_max=90;V_max =12;
Ktach =Vin/ desired_angular_speed;
Kpot=V_max /angle_max;
Kp_PI=2;Kd_PD=2;Zo=0.1;Po=0.2;
Kp_compensator=2;Tl=10;inclination_angle
=45;
Cr= 0.014; % Rolling Resistance Coe.
% Jm = input(' Enter Motor armature
moment of inertia (Jm) :');
% bm = input(' Enter damping constant
of the the motor system (bm):');
% Kb = input(' Enter ElectroMotive
Force constant (Kb):');
% Kt = input(' Enter Torque constant
(Kt):');
% Ra = input(' Enter electric
resistance of the motor armature (ohms),
(Ra):');
% La =input(' Enter electric
inductance of the motor armature
,Henry,(La) :');
% inclination_angle=input(' Enter
inclination angle :');
disp(' ')
disp( ' ==============================')
num1 = [1];
den1= [La ,Ra];
num2 = [1];
den2= [Jm ,bm];
A = conv( [La ,Ra], [Jm ,bm]);
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 9
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
TF1 =tf(Kt*n, A);
%obtaining open loop transfer functions
of DC motor system and step response
disp('DC motor OPEN loop transfer
function, Speed/Volt: ')
Gv= feedback(TF1,Kt)
disp( ' ==============================')
disp(' DC motor OPEN loop transfer
function, Angle/Volt: ')
Ga=tf(1,[1,0] )*Gv
subplot(2,1,1),step (V*Ga);title('
Position step response , open loop DC
motor system')
subplot(2,1,2),step (V*Gv);title(' Speed
step response , open loop DC motor
system')
disp( ' ==============================')
disp( ' DC motor response curves are
ploted')
disp( ' ==============================')
disp(' click any key to continue
');pause,home, disp(' ')
x=1;
while 1==1;
home
disp( ' ==============================')
disp(' It is required to design a
robot ARM or MOBILE robot? ')
disp( ' ==============================')
AA= input(' Enter (1) for Robot arm
design and enter (2) for Mobile robot
design: ','s');
disp( ' ==============================')
if strcmp(AA,'2')==1;
home, disp( ' ')
disp(' YOUR
choice is Mobile robot design ')
disp(' Please enter
robot dimensions and parameters :')
disp( ' ==============================')
disp(' click any key to continue
'); pause, home
% wheel_radius= input( ' Enter
mobile robot wheel radius : ' );
% mobile_robot_height= input( '
Enter mobile robot height : ' );
% mobile_robot_wedth= input(
' Enter mobile robot wedth : ' );
% Dist_wheels= input( '
Enter Disttance between wheels : ' );
% desired_linear_speed=
input( ' Enter mobile robot desired
output linear speed : ' );
% m= input( ' Enter mobile
robot total mass : ' );
% friction= input( ' Enter
rolling friction coefficient between the
wheel and road surface : ');
% V = input(' Enter
applied input voltage Vin :');
J_mobile =(mobile_robot_wedth*
(mobile_robot_height)^3)/12;
Jequiv_mobile = Jm+
J_mobile/(n)^2;
bequiv_mobile = bm +
b_mobile/(n)^2;
desired_angular_speed=
(desired_linear_speed)/r;
Ktach =Vin/
desired_angular_speed ;%tachometer
constant
num_mobile=[ Kt*n];
den_mobile=[La*Jequiv_mobile
,(Ra*Jequiv_mobile+bequiv_mobile*La),(Ra
* bequiv_mobile+Kt*Kb)];
disp( ' ==============================')
disp( ' mobile robot open loop transfer
function and step response')
disp( ' mobile robot open loop
transfer function, Omega/Volt')
G_robot_angular_speed_open=tf(num_mobile
, den_mobile)
disp( ' ==============================')
disp( ' mobile robot open loop
transfer function, linear speed/Volt')
G_robot_linear_speed_open=tf(num_mobile,
den_mobile)*r
disp( ' ==============================')
disp( ' mobile robot open loop
transfer function, Vin/Current')
G_robot_volt_current1=tf((1/Ra)*[1,
bequiv_mobile/Jequiv_mobile ],
[1,(1/Jequiv_mobile)*(bequiv_mobile+(Kt*
Kb)/Ra) ])
disp( ' ==============================')
disp( ' mobile robot open loop transfer
function, Vin/Current')
G_robot_volt_current2=tf((1/La)*[1,
La/Jequiv_mobile ],
[1,(Ra/La)+(bequiv_mobile/Jequiv_mobile)
, (Ra*bequiv_mobile/La*Jequiv_mobile+
Kt*Kb/La*Jequiv_mobile) ])
disp( ' ==============================')
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 10
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
disp( ' mobile robot open loop transfer
function, Torque/Angle')
G_robot_torque_angle=tf([1 ],
[(Jequiv_mobile)^2, bequiv_mobile,0
])
disp( ' ==============================')
disp( ' mobile robot CLOSED loop
transfer function, Linear speed/Vin')
G_robot_linear_speed_closed=feedback(G_r
obot_linear_speed_open, Ktach)
disp( ' ==============================')
disp( ' mobile robot CLOSED loop
transfer function, Vin/Vtach')
G_robot_linear_Vin_V_tach=tf([2*Kt*Ktach
],[r^2*m+2*bequiv_mobile,(Ra*(r^2*m+2*be
quiv_mobile))+La*(rolling_f
+2*Jequiv_mobile),Ra*(rolling_f
+2*Jequiv_mobile)+2*Kb*Kt ])
disp( ' ==============================')
disp( ' mobile robot CLOSED loop
transfer function, Linear speed/Vin')
G_robot_linear_speed_closed=feedback(G_r
obot_linear_Vin_V_tach,Ktach)
fig., subplot(3,2,1),
step(G_robot_angular_speed_open),ylabel(
'Mobile Angular speed, \omega Rad/s
'),xlabel(' Time '), title('Open loop
Mobile Angular speed Rad/s, '), grid,
subplot(3,2,2),step(G_robot_linear_speed
_open),ylabel('Mobile linear speed, \nu
Rad/s '),xlabel(' Time '), title('Open
loopMobile linear speed m/s, '), grid,
subplot(3,2,3),step(G_robot_linear_speed
_closed),ylabel('Mobile linear speed,
\nu Rad/s '),xlabel(' Time '),
title('Closed loop Mobile linear speed
m/s, '), grid,
subplot(3,2,4),step(G_robot_volt_current
1),ylabel('Mobile current Amp
'),xlabel(' Time '), title('simplified
Input volt vs current, '), grid
subplot(3,2,5),step(G_robot_volt_current
2),ylabel('Mobile current Amp
'),xlabel(' Time '), title(' Input volt
vs current, '), grid
subplot(3,2,6),step(G_robot_torque_angle
),ylabel('Mobile torque '),xlabel(' Time
'), title(' Input torque vs angle, '),
grid, fig.
subplot(2,1,1),step(G_robot_linear_Vin_V
_tach),ylabel('Mobile Vin vs Vtach
'),xlabel(' Time '), title(' Input volt
vs tacho output volt, '), grid
subplot(2,1,2),step(G_robot_linear_speed
_closed),ylabel('Mobile speed
'),xlabel(' Time '), title(' Input volt
vs output speed, '), grid
pause(2); home
disp( ' ==============================')
disp( ' select controller; PID or PI
with dead beat response? ')
WW= input( ' Enter (1) for PID, enter
(2) for PI with deadbeat response:
','s');
disp( ' ==============================')
if strcmp(WW,'1')==1;
home, disp( ' '); disp( '
==============================')
disp(' YOUR choice is PID controller
for mobile robot control ')
disp(' Enter PID gains : ')
disp(' you can run simulink model and
use gain from PID block : ')
disp( ' ==============================')
Kp= input( ' Enter Proportional gain, Kp
= ');Kd= input( ' Enter Derivative
gain, Kd = ');Ki= input( ' Enter
Integral gain, Ki = ');PID_num=[ Kd Kp
Ki];PID_den=[ 1 0];
disp( ' ==============================')
disp( ' PID transfer function')
G_PID=tf(PID_num,PID_den)
G_forward_PID=
series(G_PID,G_robot_linear_Vin_V_tach);
disp( ' ==============================')
disp( ' mobile robot closed loop with
PID transfer function, /linear
speed/Vin')
G_mobile_PID_closed=
feedback(G_forward_PID, Ktach);fig.
step(G_mobile_PID_closed),ylabel('Mobile
Vin vs Vtach '),xlabel(' Time '),
title(' Input volt vs tacho output volt,
'), grid;
step(G_robot_linear_speed_closed),ylabel
('Mobile speed '),xlabel(' Time '),
title(' Input volt vs output speed, '),
grid
else strcmp(WW,'2')=1;
home; disp( ' ')
disp( ' ==============================')
disp(' YOUR choice is PI controller with
deadbeat response for mobile robot
control ')
disp( ' ==============================')
alpha=1.9;bita=2.2;Ts=1.2;omega_n=4.04/T
s;
Kp=((bita*(omega_n^2)*n*La*Jequiv_mobile
)-
((n*Ra*bequiv_mobile)+(n*Kt*Kb)))/(Kt*Kt
ach); Kp_PI=Kp;
Ki=omega_n^3*n*La*Jequiv_mobile/(Ktach*K
t); ZPI= Ki/Kp; Home, disp(' ')
disp( ' ==============================')
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 11
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
disp( ' PI controller & Deadbeat
prefilter gains and zero are :')
fprintf(' Kp_PI =%g , Ki=%g
,ZPI=%g \n',Kp,Ki,ZPI);
num_deadbeat=[Ki*Kt/(n*La*Jequiv_mobile)
]; den_deadbeat=[1 , (Ra*Jequiv_mobile
+bequiv_mobile*La)/(La*Jequiv_mobile) ,
((n*Ra*bequiv_mobile)+(n*Kt*Kb)+(Ktach*K
p*Kt))/(n*La*Jequiv_mobile) ,
(Ktach*Ki*Kt)/(n*La*Jequiv_mobile)];
disp( ' ==============================')
disp('Closed loop transfer function with
PI deadbeat respnse & prefilter ')
T_mobile_deadbeat
=tf(num_deadbeat,den_deadbeat)
;fig., step(12*r*T_mobile_deadbeat);
ylabel('Mobile linear speed \nu
'),xlabel(' Time '), title('Mobile
linear, PI with Dead beat response, '),
grid,
end
else strcmp(AA,'1')==1;home
disp( ' ')
disp( ' ==============================')
disp(' YOUR choice is
Robot arm design ')
disp(' Please enter Arm
dimensions and parameters :')
disp( ' ==============================')
% M= input(' Enter robot
arm mass , M=');
% Length = input(' Enter
robot arm Length, L=');
% b_arm= input(' Enter damping
factor of robot arm, b_arm =');
% n= input( 'Enter gear
ratio n = ');
% V = input(' Enter
applied input voltage Vin :');
% V_max = input(' Enter
maximum allowed voltage , V max :');
% Angle_max = input( ' Enter maximum
allowed angle for robot arm : ');
Kpot=V_max /angle_max; % pot
constsnt
Jequiv=((M* Length^2)/12)+Jm;
bequiv= bm + b_arm;
num_arm_open = [Kt*n*(180/pi)];
den_arm_open=[La*Jequiv
(Ra*Jequiv+La*bequiv)
(Ra*bequiv+Kt*Kb) 0];
disp(' ');
disp(' click any key to continue ');
pause; home; disp( '
==============================')
disp('Arm OPEN loop transfer function :
')
Ga_arm_open=tf(num_arm_open,den_arm_open
)
disp( ' ==============================')
disp('Arm CLOSED loop transfer function
: ');
G_close_arm=feedback(Ga_arm_open,(Kpot/n
)); disp( ' Response plots are plotted
'); fig.; subplot(2,1,1),
step(V*Ga_arm_open);ylabel('Arm
position, \theta Rad '),xlabel(' Time
'), title('OPEN loop Arm Angular
position Rad/s, '), grid;
subplot(2,1,2),step(V*G_close_arm);ylabe
l('Arm position, \theta Rad
'),xlabel(' Time '), title('CLOSED loop
Arm Angular position Rad/s, '), grid,
home; disp( '
==============================')
disp( ' select controller; PID, PD with
dead beat response? ')
WWW= input( ' Enter (1) for PID, enter
(2) for PD with deadbeat response:
','s');
disp( ' ==============================')
if strcmp(WWW,'1')
home, disp( ' ')
disp( ' ==============================')
disp(' YOUR choice is PID
controller for robot arm ')
disp(' Enter PID gains : ')
disp(' you can run simulink
model and use gain from PID block : ')
disp( ' ==============================')
Kp= input( ' Enter Proportional gain,
Kp = ');
Kd= input( ' Enter Derivative gain, Kd =
');
Ki= input( ' Enter Integral gain, Ki =
');
PID_num=[ Kd Kp Ki];PID_den=[ 1 0];
Home, disp( ' ')
disp( ' ==============================')
disp( ' PID transfer function')
G_PID=tf(PID_num,PID_den)
disp( ' ==============================')
disp( ' Closed loop Robot arm transfer
function with PID')
G_forward_PID=
series(G_PID,Ga_arm_open);
G_arm_PID_closed=
feedback(G_forward_PID, Kpot)
fig.
step(V*G_arm_PID_closed),ylabel('Arm
angle \theta Rad '),xlabel(' Time '),
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 12
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
title(' Input volt vs output
Armangle,PID '), grid
else strcmp(WWW,'2')==1;
home, disp( ' ')
disp( ' ==============================')
disp(' YOUR choice is robot arm design
; PD controller with dead bead
controller response ')
disp( ' ==============================')
omega_n=2.4;alpha=1.82 ;
disp( ' PD transfer function = Kds + Kp
is given by :')
Kp=(omega_n*Ra*Jm)/(Kt*Jequiv);
Kp_PD=Kp;Kd=(((alpha*omega_n)-(bm/Jm)-
((Kt*Kb)/(Jequiv*Ra)))*Ra*Jequiv)/Kt*Kpo
t;ZPD=Kp/Kd;ZPI=ZPD;G_PD=Kd*[ 1 ZPD];
num_arm_PD =G_PD* [Kt*n];
den_arm_PD=[La*Jequiv
(Ra*Jequiv+La*bequiv)
(Ra*bequiv+Kt*Kb) 0];
G_mobile_PD_tf= tf(num_arm_PD,
den_arm_PD);G_mobile_PD_dead_closed=
feedback(G_mobile_PD_tf, Kpot);
disp(' ')
disp( ' ==============================')
disp( ' PD controller & Deadbeat
prefilter gains and zero are :')
fprintf(' Kp_PI =%g , Kd=%g ,ZPd=%g
\n',Kp,Kd,ZPd);
disp( ' ==============================')
disp( ' Prefilter transfer function :');
prefilter_num=[ZPD];prefilter_den=[1
ZPD];G_prefilter=tf(prefilter_num,prefil
ter_den)
disp( ' ==============================')
disp( ' Robot arm overall closed loop
transfer function :')
G_mobile_PD_dead_overall=series(G_prefil
ter,G_mobile_PD_dead_closed)
Fig.,
step(V*G_mobile_PD_dead_overall),ylabel(
'Mobile speed \nu'),xlabel(' Time '),
title(' Arm PD with deadbeat response,
'), grid
disp(' click any key to continue ');
pause, end, end, end,
x=x+1; end
IV.I.II MATLAB CODE FOR PLOTTING ALL
SIMULATION RESPONSE CURVES
By defining blocks in simulink model, running simulation, all
data will de defined in MATLAB workspace , To plot all
response curves, run simulation then the next code, can be
used:
load model1.mat ,load model2 ,load
model3 ,load model4 ,load model5,load
model6,load model7,load model8,load
model9,load model10,load model11;fig.,
subplot(2,2,1);plot(model_angular_positi
on), ylabel('\Theta , Rad'),xlabel('
'), title('Angular position Rad '), grid
subplot(2,2,2);plot(model_angular_speed)
, ylabel('Angular speed, \omega Rad/s
'),xlabel(' '), title('Angular speed
Rad/Time, '), grid; subplot(2,2,4);
plot(model_angular_speed_RPM),
ylabel('Angular speed, RPM
'),xlabel('Time(sec)'), title('Angular
speed RPM, '), grid;
subplot(2,2,3);plot(model_current),
ylabel('Current, Amp
'),xlabel('Time(sec)'), title('Current
Amp/s, '), grid; fig., subplot(2,2,1);
plot(model_Torque), ylabel('Motor
Torque, Nm'),xlabel(' '), title('Motor
Torque Nm/Time '), grid; subplot(2,2,2);
plot(load_torque), ylabel('Load Torque,
Nm'),xlabel(' '), title('Load Torque
Nm/Time '), grid
subplot(2,2,3);plot(model_linear_acceler
ation), ylabel('Linear speed Accel.,
M/s^2'),xlabel('Time(sec)'),
title('Acceleration of Linear speed
M/Time '), grid; subplot(2,2,4);
plot(model_position_linear_acceleration)
, ylabel(' Position Accel.,
M/s^2'),xlabel('Time(sec)'),
title('Acceleration of Position /Time
'), grid, fig., subplot(2,2,1);
plot(model_linear_speed), ylabel('
Mobile linear speed.,
M/s'),xlabel('Time(sec)'), title('mobile
linear speed M/s '),
grid;subplot(2,2,2);plot(model_angel_lin
ear_speed), ylabel(' Angle linear
speed., M/s'),xlabel(' Time(sec) '),
title('Angle linear speed M/s '), grid
subplot(2,2,3); plot(controller_action),
ylabel(' controller_action'),
xlabel('Time(sec)'), title('controller
signal (mA)'), grid
V. TESTING AND ANALYSIS
VI.I Mechatronics motion control design in terms of output
linear speed of Mobile robot; plant, components, controller
selection, design and evaluation of output speed, current,
torque and acceleration and angle.
It is required to select, design and integrate a Mobile robot
system, with suitable selection of it's corresponding
mechanical parts, actuator's and sensor's parameters and
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 13
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
platform dimensions, to move with linear speed of 0.5 m/s,
(that is with angular speed of ω=V/r = 0.5/ 0.075 = 6.6667
Rad./s,), , here notice that, when defining system
parameters, using m.file, designer can chose and define
tachometer constant Ktach, corresponding to desired output
linear speed.
Now, switching the proposed model to output speed control
(mobile robot, conveyer belts, rolling) ,by switching sensor
to read output speed, selecting input signal to be step input
of 12 volts, selecting PID controller, running supporting
m.file to define system parameters, dimensions and
constrains, and finally running simulation, will result in
output speed, current, torque, acceleration and angle
response curves shown in Fig. 5, also direct visual readings
of all final outputs values can be taken, directly, from the
general model, the simulation results shows that the mobile
robot system, with selected parameters, dimensions and
applying PID controller with suitable gains, reaches, the
desired output linear speed of 0.5 m/s, in 0.35s, and zero
steady state error, constant current consumption, the PID
gains are KP=303.417042667051, KI= 414.72923375291,
KD=18.789820346901 . Now, to test designed system
robustness, Keeping the same parameters, but switching the
input to profile input signal and applying stair changing
disturbance, will result in response curves shown in Fig. 6,
the response curve show that system, while achieving
design criteria, maintain design criteria under disturbance
effect.
Now, to test and analyze the effect of applying Lead
integral compensator, we replace the PID controller, with
Lead integral compensator with Zo=.1; Kp =0.4; Po=0.091;
Ruining the model, will result in response curves shown in
Fig. 7, the gain , pole and zero can be adjusted for better
response.
Now, to test and analyze the effect of applying PI controller
with deadbeat response, we replace the PID controller with,
PI with deadbeat response, by switching the system to PI
controller and switching-on the prefilter, the PI zero, Zo= KI/
KP, can be defined from either supporting m.file calculations
results or using modified PID block to simulate PI and
tuning. Ruining the model, will result in response curves
shown in Fig. 8.
Using the resulted response curves and/or visual readings
from model, we can evaluate and/or validate our selection
and design and correspondingly we can or adjust or select
most suitable controller or change system parameters to
meet design criteria. In conclusion the design, modeling,
simulation and evaluation processes of motion control are
minimized in time, and also simplified.
VI.II Mechatronics motion control design in terms of output
angular displacement of a robot arm: plant and controller
selection, design and evaluation of output angle, current,
torque and acceleration and speed.
It is required to select, design and integrate a single joint
robot arm system, with suitable selection of it's mechanical
part, actuator, sensor parameters and dimensions , so that an
input voltage in the range of 0 to 12 volts corresponds
linearly of Robot arm output angle range of 0 to 180, that is
to move the robot arm to the desired output angular
position, θL , corresponding to the applied input voltage ,Vin
, Kpot =(12/180=0.0667), Switching the proposed general
model to output angle control (robot arm), by switching
sensor to read output angular displacement, s witching load
torque ,selecting input signal to step input of 12 volts,
selecting PID controller, running supporting m.file to define
system parameters, constrains and parameters, and finally
running simulation, will result in output angular
displacement, current, torque, acceleration and angle
response curves shown in Fig. 9 . Now, changing the
desired output angle output range to 0 to 45. ( for θ = 45,
Kpot =12/45=0.2667), Ruining the model, will result in
response curves shown in Fig. 10. Using the resulted
response curves and/or visual readings from model, we can
evaluate or validate our selection, design and
correspondingly we can or adjust or replace controller or
change system parameters to meet design criteria.
The proposed general model can be used to test, evaluate
and validate any given mechatronics motion control system
design e.g. electric cars, locomotives, turbines, robotics,
conveyer belts, rolling, cutting, welding, saws and bending
machines.
0 0.5 1 1.5-0.2
0
0.2
0.4
0.6
Time(sec)
Mobile
lin
ear
speed.,
M/s
mobile linear speed M/s
0 0.5 1 1.5-0.2
0
0.2
0.4
0.6
Time(sec) A
ngle
lin
ear
speed.,
M/s
Angle linear speed M/s
Fig. 5. (a) mobile robot output linear speed, and angle change vs time
responses
0 0.5 1 1.5-5
0
5
10
,
Rad
Angular position Rad
0 0.5 1 1.5-5
0
5
10
Angula
r speed,
Rad/s
Angular speed Rad/Time,
0 0.5 1 1.5-50
0
50
100
Time(sec)
Angula
r speed,
RP
M
Angular speed RPM,
0 0.5 1 1.50
100
200
300
Time(sec)
Curr
ent,
A
mp
Current Amp/s,
Fig. 5. (b) mobile robot output angular position, angular speed,
current vs time responses
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 14
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
0 0.5 1 1.50
100
200
300
Moto
r T
orq
ue,
Nm
Motor Torque Nm/Time
0 0.5 1 1.5-100
0
100
200
Load T
orq
ue,
Nm
Load Torque Nm/Time
0 0.5 1 1.5-10
0
10
20
30
Time(sec)
Lin
ear
speed A
ccel.,
M/s
2
Acceleration of Linear speed M/Time
0 0.5 1 1.5-0.2
0
0.2
0.4
0.6
Time(sec)
Positio
n A
ccel.,
M/s
2
Acceleration of Position /Time
Fig. 5. (c) mobile robot output motor torque, load torque, linear
acceleration and acceleration vs time responses.
0 2 4 6-0.2
0
0.2
0.4
0.6
Time(sec)
Mobile
lin
ear
speed.,
M/s
mobile linear speed M/s
0 2 4 6 8-1
-0.5
0
0.5
1
Time(sec)
Angle
lin
ear
speed.,
M/s
Angle linear speed M/s
Fig. 6. (b) mobile robot output linear speed, and angle change vs time
responses applying motion profile input .
0 2 4 6-10
0
10
20
30
,
Rad
Angular position Rad
0 2 4 6-5
0
5
10
Angula
r speed,
Rad/s
Angular speed Rad/Time,
0 2 4 6-50
0
50
100
Time(sec)
Angula
r speed,
RP
M
Angular speed RPM,
0 2 4 60
50
100
150
Time(sec)
Curr
ent,
A
mp
Current Amp/s,
Fig. 6. (b) mobile robot output angular position, angular speed and
current response curves applying motion profile. input
0 5 10 15 20-0.2
0
0.2
0.4
0.6
Time(sec)
Mobile
lin
ear
speed.,
M/s
mobile linear speed M/s
0 5 10 15 20-0.2
0
0.2
0.4
0.6
Time(sec)
Angle
lin
ear
speed.,
M/s
Angle linear speed M/s
0 5 10 15 200
5
10
15
Time(sec)
contr
olle
r action
controller signal (mA)
Fig. 7. Mobile robot; linear speed vs time response applying Lead
integral compensator
0 2 4 6-0.2
0
0.2
0.4
0.6
Time(sec)
Mobile
lin
ear
speed.,
M/s
mobile linear speed M/s
0 2 4 6-0.2
0
0.2
0.4
0.6
Time(sec)
Angle
lin
ear
speed.,
M/s
Angle linear speed M/s
0 2 4 6-500
0
500
1000
Time(sec)
contr
olle
r action
controller signal (mA)
Fig. 8. Mobile robot output linear speed vs time response of applying
PI with deadbeat response.
0 5 100
50
100
150
200
,
Rad
Angular position Rad
0 5 10-50
0
50
100
Time(sec)
Angula
r speed,
Rad/s
Angular speed Rad/Time,
0 5 10-1
0
1
2
3
Time(sec)
Moto
r T
orq
ue,
Nm
Motor Torque Nm/Time
0 5 10-5
0
5
10
Time(sec)
Angle
lin
ear
speed.,
M/s
Angle linear speed M/s
Fig. 9. (a) Robot arm response; output position, torque, speed vs
time response curves
0 5 10-2
0
2
4
6
Time(sec)
Positio
n A
ccel.,
M/s
2
Acceleration of Position /Time
0 5 10-50
0
50
100
Time(sec)
Curr
ent,
A
mp
Current Amp/s,
0 5 10-5
0
5
10
15x 10
4
Time(sec)
contr
olle
r action
controller signal (mA)
0 5 10-500
0
500
1000
Time(sec)
Angula
r speed,
RP
M
Angular speed RPM,
Fig. 9. (b) Robot arm response ; acceleration, current and speed vs
time response curves
0 1 2 3 4-20
0
20
40
60
Time (seconds)
Angle
Output Angle
0 1 2 3 4-50
0
50
100
150
Time (seconds)
om
ega
Output speed
0 1 2 3 4-1000
0
1000
2000
.
Am
plit
ude
Torque
0 1 2 3 4-50
0
50
100
150
.
Am
plit
ude
Current
Fig. 10. Robot arm output position and Speed vs time response curves
for desired output of 45, Kpot =0.2667
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 15
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
PI C
ontro
ller
Lead
integ
ral co
mp.
PD-C
ontro
ller
spee
d sen
sor
Load
torqu
e
REFE
RENC
E IN
PUT
( SPP
ED or
ANG
LE)
agle
sens
or
Kt*i
r
whee
l radiu
s
spee
d LIN
EAR
acce
lerati
on m
/m^2
spee
d LIN
EAR
acce
lerati
on
rr
Out1
profile
inpu
t_1
posit
ion lin
ear s
peed
m/s
n n
-C-
inclin
ation
_ang
le
contr
oller
signa
l
-K- _
Torqu
e in N
/m
Torqu
e
mode
l8.ma
t
To Fi
le5
mode
l7.ma
t
To Fi
le4
mode
l6.ma
t
To Fi
le3
Tl Tloa
d
Repe
ating
Sequ
ence
Stair
Ra Ra
Out1
Prfile
inpu
t_2
Posit
ion lin
ear s
peed
Posit
ion lin
ear a
ccele
ration
m/s
2
Posit
ion lin
ear a
ccele
ration
PID(
s)
PID
Contr
oller
Mobil
e line
ar sp
eed m
/s
Mobil
e line
ar sp
eed
Load
torqu
e.,
Load
torqu
e,.
Rollin
g fric
tion c
oeffi
cient
m ,Lo
ad m
ass
r, wh
eel ra
dius
Angu
lar sp
eed
Inclin
ation
angle
motor
Torqu
e, Kt
*i bm
Load
torqe Load
torqu
e Sub
system
Load
torqu
e
s+Zo
s+Po
Lead
or la
g
La La
Ktac
h
Ktac
h
Kt Kt
Kpot
Kpot
Kb Kb
Jm Jm
Input
Volt (
0:12)
9.55
-K- Ga
in
du/dt
Deriv
ative
ZPI
s+ZP
I
Dead
beat
PI-pr
efilte
r
ZPD
s+ZP
D
Dead
beat
PD-pr
efilte
r
Curre
nt.
Curre
nt in
Amp
Contr
oller
actio
n
bmBm.
bm Bm
Angu
lar sp
eed.
Angu
lar sp
eed i
n RPM
Angu
lar po
sition
. Angu
lar po
sition
in ra
d
ANGU
LAR
spee
d in r
ad/se
c
ANGU
LAR
spee
d in R
PM
La Jm Kb, E
MF co
nstan
t
Kt, T
orque
cons
tant
Input
Volta
ge
Ra T, Lo
ad to
rque
bm Kpot,
angle
feed
back
Contr
oller
outpu
t
From
PI f
ilter
n, Ge
ar rat
io
Ktac
h, sp
eed f
eedb
ack
sens
or ou
tput
Whe
el rad
ius
Angu
lar sp
eed
Angu
lar po
sition
Curen
t
Torqu
e
SPEE
D LIN
EAR
Acce
lerati
on
From
inpu
t Volt
to P
I filte
r
OUTP
UT fr
om su
mming
to co
ntroll
er
contr
oller
singa
l
OUTP
UT fr
om sp
eed f
eedb
ack
OUTP
UT fr
om an
gle fe
edba
ck
POSI
TION
LINE
AR A
ccele
ration
mobil
e line
ar sp
eed
POSI
TION
linea
r spe
ed
ACTU
ATOR
Sub
system
mode
l11.m
at
.2
mode
l10.m
at
.1
...
..,
-K- ..
Cr.-
.,.
-K- .,
mode
l1.ma
t
.
s+ZP
I
s -
mode
l4.ma
t
,.
0 ,,.1
36 ,,.mo
del5.
mat
,,
m,
1 s `
9
8
7
6
5
4
3
2
10
1
mode
l3.ma
t
.
mode
l9.ma
t
mode
l2.ma
t
Fig. 4. The general purpose model, for mechatronics motion control applications in terms of output speed and/or angle, as well as torque, current and
acceleration
VI. SCOPE AND LIMITATIONS
The proposed model with load torque models is limited to
motion control systems design, and tested particularly, for
mobile robotic platforms speed and single joint robotic arms
position using electric actuators as prime mover, but can,
also, be used for system and motions control design and
verification of any given system, considering system's load
torque and inertia. The proposed model can be modified to
include any control strategy and/or any actuator model
CONCLUSION
To help in facing the two top challenges faced in developing
mechatronic systems, while maintaining desired accuracy
and to optimize system level performance to meet the design
requirements, an accurate mathematical and simulink models
are proposed for accurate mechatronics design and
verification of both system and control of motions
throughout Mechatronics systems design and development
process, including proper selection, analysis, integration
and verification of the overall system and sub-systems
performance in terms of output speed, angle, torque, current,
acceleration and signals , resulting in simplifying and
accelerating Mechatronics systems design process. The
proposed models intended to be used for research purposes
in mechatronics motion systems design, motion control
applications, as well as, for the application in educational
process. The proposed model can be modified to include
any control strategy and/or any actuator. The model was
created and verified using MATLAB simulink software.
The proposed model can be used to select most suitable
control strategy (P, PI, PD, PID, lead, lag, lead integral and
deadbeat response) for corresponding motion control and
to ensure achieving all design requirements , also test,
evaluate and validate any given mechatronics motion
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 16
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
control system design including; electric cars, locomotives,
turbines, robotics, conveyer belts, rolling, cutting, welding,
saws and bending machines, where designer using the
resulted, from model, response curves and/or visual
numerical readings, can early identifying system level
problems and ensuring that all design requirements are met ,
therefore the design, modeling, simulation and verifying
processes of motion control are minimized in time and also
simplified.
REFERENCES [1] Wilfried Voss, ''A Comprehensible Guide to Servo Motor Sizing'',
Published by Copperhill Technologies Corporation,
Massachusetts, 2007.
[2] Devdas Shetty, Richard A. Kolk, Mechatronics System Design,
Second Edition, SI, Cengage Learning, 2011.
[3] K. Craig, F. Stolfi, “ Teaching control system design through
mechatronics: academic and industrial perspectives.”
Mechatronics, Vol 12, No. 2, pp. 371-381, 2002.
[4] Vasilije S. Vasić , Mihailo P. Lazarević, Standard Industrial
Guideline for Mechatronic Product Design , FME Transactions,
104 , vol. 36, No 3, 2008.
[5] Grzegorz Seiklucki,Analysis of the Transfer-Function Models of
Electric Drives with Controlled Voltage Source PRZEGL ˛ AD
ELEKTROTECHNICZNY (Electrical Review), ISSN 0033-
2097, R.88NR7a/2012
[6] Yu Wang, Ying Yu,Chun Xie, Xiaoyang Zhang, Weizhi Jiang, A
proposed approach to mechatronics design education:
Integrating design methodology, simulation with projects,
Mechatronics, November 2012.
[7] Ahmad A. Mahfouz, Mohammed M. K. , Farhan A. Salem
Modeling, simulation and dynamics analysis issues of electric
motor, for mechatronics applications, using different
approaches and verification by MATLAB/Simulink (I). I.J.
Intelligent Systems and Applications, 2013, 05, 39-57.
[8] Wai Phyo Aung, Analysis on Modeling and Simulink of DC
Motor and its Driving System Used for Wheeled Mobile Robot,
World Academy of Science, Engineering and Technology 32
2007
[9] Farhan A. Salem ; Mechatronics design of general and accurate
model for Mechatronics mobile robotic platform system and
controller, selection, design, modeling, testing and validation.
Submitted and under review to Estonian Journal of Engineering,
2013
[10] Bashir M. Y. Nouri ,modeling and control of mobile robots
Proceeding of the First International Conference on Modeling,
Simulation and Applied Opt imization, Sharjah, U.A.E. February
1-3, 2005.
[11] Farhan A. Salem Ahmad A. Mahfouz, Modeling, controller
selection and design of electric motor for mechatronics motion
applications, using different control strategies and verification
using MATLAB/Simulink (II). Submitted and accepted, , 2012
[12] Ahmad A. Mahfouz, Ayman A. Aly, Farhan A.
Salem,"Mechatronics Design of a Mobile Robot System", IJISA,
vol.5, no.3, pp.23-36, 2013.
[13] Farhan A. Salem, Mechatronics design of Small electric Vehicle's
,International Journal of Mechanical & Mechatronics
Engineering 1310701-5252 IJMME / IJENS
[14] M.P.Kazmierkowski, H.Tunia "Automatic Control of
Converter-Fed Drives", Warszawa 1994.
[15] R.D. Doncker, D.W.J. Pulle, and A. Veltman. Advanced Electri-
cal Drives: Analysis, Modeling, Control. Springer, 2011.
[16] Farhan A. Salem, Mechatronics motion control design of
electric motor for desired deadbeat response specifications,
supported and verified by new MATLAB built -in function and
simulink model, Submitted to Int. J. Intelligent Systems
Technologies and Applications, 2012
[17] Hedaya Alasooly, Control of DC motor using different control
strategies, global journal of technology and optimization, volum
2 , 2011.
[18] MathWorks, 2001, Introduction to MATLAB, the MathWorks,
Inc. Control System Toolbox, the MathWorks, Inc.
[19] Richard C. Dorf, Robert H. Bishop, Modern Control Systems 12
Ed, Pearson Education, Inc., 2001
[20] Thomas R. Kurfess, “Robotic and Automation Handbook,”
Washington, D.C., United States of Amarica, 2005.
[21] M.P.Kazmierkowski, H.Tunia "Automatic Control of
Converter-Fed Drives", Warszawa 1994.
NAMENCLATURE
Symbol Quantity UNIT
Vin The applied input voltage Volte, V
Ra Armature resistance Ohm ,Ω
ia Armature current Ampere, A
Kt Motor torque constant N.m/A
Ke Motor back-electromotive force. V/(rad/s)
ωm Motor shaft angular velocity rad/s
Tm Torque produced by the motor N.m
Jm Motor armature moment of inertia kg.m2
Jtotal Total inertia=Jm+Jload kg.m2
La Armature inductance Henry , H
b Viscousdamping friction coefficient N.m/rad.s
ea ,EMF: The back electromotive force, ea ,EMF:
θm Motor shaft output angular
position
radians
ωm Motor shaft output angular speed rad/sec
M The mass of the platform and
cargo
Kg
g The gravity acceleration m/s2
α Road or the hill climbing angle,
road slope
Rad
Cr The rolling resistance coefficients
Cd Aerodynamic drag coefficient
Zo Zero of the PI-controller
Tf coulomb friction torque
KP The proportional gain,:
KI The Integral gain
KD The derivative gain
KPI The proportional coefficient
Kpot The potentiometer constant
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:13 No:02 17
131402-6565-IJMME-IJENS © April 2013 IJENS I J E N S
Ktac The tachometer constant
Farhan Atallah Salem AbuMahfouz :
B.Sc., M.Sc and Ph.D., in Mechatronics of
production systems. Now he is ass. professor
in Taif University, Mechatronics sec., Dept.
of Mechanical Engineering and director of
alpha center for engineering studies and
technology researches. Research Interests;
Design, modeling and analysis of primary
Mechatronics Machines. Control and algorithm selection, design and
analysis for Mechatronics systems. Rotor Dynamics and Design for
Mechatronics applications