Upload
abderrahim0009
View
226
Download
0
Embed Size (px)
Citation preview
8/2/2019 Matlab Design Environment for Robotic Manipulators
http://slidepdf.com/reader/full/matlab-design-environment-for-robotic-manipulators 1/6
MATLAB DESIGN ENVIRONMENT FOR ROBOTIC MANIPULATORS
Alexander Breijs, Ben Klaassens, Robert Babuška
Delft Center for Systems and Control, Delft University of Technology Mekelweg 2, 2628 CD Delft, The Netherlands
e-mail:[email protected]
Abstract: An automated modelling and control design environment for serialmanipulators has been implemented in Matlab/Simulink. This development wasmotivated by the need for a fast and insightful modelling tool, given that cur-
rently available modelling environments are not well suited for control design.The manipulator configuration is defined within a graphical user interface andthe corresponding mathematical model is automatically generated. The model isexported to Matlab for analysis and control design, as well as to Simulink for simulation and verification purposes. Friction and stiction phenomena are in-cluded in the model. The simulation results can be visualized by standard
Matlab means as well as through virtual reality animations. The modelling envi-
ronment has been used in the design of a control system for a seven-degree-of-freedom manipulator in a tunnel-boring machine. Copyright © 2005 IFAC
Keywords: Rapid prototyping, Serial manipulator, Graphical user interface,Virtual reality, Matlab, Simulink, Robot.
1. INTRODUCTION
The design of hardware and the corresponding controlsystem of robotic manipulators is often done simultane-ously. Control requirements typically influence themanipulator structure and vice versa, thereby subjectingthe model to frequent changes. This implies the need for a modelling environment in which the manipulator con-
figuration and the corresponding mathematical modelcan easily be adapted. Such an environment has beendeveloped at the Delft Center for Systems and Controlin cooperation with a Dutch company IHC Systems. Itis primarily designed for serial manipulators, powered by hydraulic or ideal torque actuators. The functions
have been implemented in Matlab/Simulink and are
seamlessly integrated with the standard tools such asthe Control Systems Toolbox or Stateflow, see Fig. 1.
Robust control
…
Control systems
SimMechanics Real-time WS
State-flow
Automated design environment
- modeling- simulation- visualization
MATLAB SIMULINK
Templates
Function Toolbox
Figure 1. The design environment.
8/2/2019 Matlab Design Environment for Robotic Manipulators
http://slidepdf.com/reader/full/matlab-design-environment-for-robotic-manipulators 2/6
xbi
xq j
xbj
ybi
yq j
ybj
z bi
z q j
z bjObiObj
Oq j Bi B
q j
Figure 2. A virtual-reality configuration of two bodies connected by a rotational joint.
To our knowledge, the only advanced robot modellingenvironment available under Matlab/Simulink is theSimMechanics toolbox. It provides a wide variety of general mechanical structures, configurable joints, bodies and actuator, sensor and constraint blocks. Theconstructed model is simulated by means of a special
solver and the results can be visualised by using signal plotting or virtual reality (VR) visualization. The maindisadvantage of SimMechanics is that it cannot simu-late closed-loops control schemes based on inversedynamic and kinematic models. It was mainly thisdrawback that motivated the development of the newmodelling environment described in this article. Table
1 gives a brief comparison of the most important fea-tures of the constructed GUI environment andSimMechanics.
Table 1. A comparison of SimMechanics and the GUIenvironment described in this article.
2. ROBOT CONFIGURATION
The class of considered manipulators consists of a baseattached to the fixed world and an end-effector con-nected to the base through a number of joints and body
combinations. Fig. 2 shows an example of two bodiesconnected by a rotational joint.The reference frame O0( xyz ) is located in the base. A joint can be of a rotational or prismatic type with itsdegree of freedom along the x, y or z axis of the base
reference frame. The geometrical centre of joint q j is theorigin of reference frame Oqj( xyz ). Body B j holds areference frame Obj( xyz ), located in its centre of gravity(COG). All geometric properties are stored in a Matlabstructure containing two 4-dimensional homogenous
matrices 1+ j
j
q
qH and j
j
b
qH defined by:
=
=
++
++
+
1
1
1
1
1
1
11
11
1
0
c
0
cR H
0
e
0
cR H
j
j
j
j
j
j j
j
j
j
j
j
j j
j
b
q
q
q
q
qb
q
b
q
q
q
q
l
(1)
where 1+ j
j
q
qc and 1+ j
j
q
qR define the prismatic or rotational
joint geometry between q j and q j+1. The binary value jb
l
times the unit vector e (defined in the base frame)specifies whether a connecting body B j is present or absent. This gives the freedom to construct a multipleDOF joint with prismatic and/or rotational features.The dynamics of the manipulator are modelled accordingto the standard equation:
( ) ( ) ( ) ( )qqMqFqGqqqCqqMT &&&&&&& Dv
e++++= , (2)
Where ),( qqC & ,v
F and q are the Coriolis/centrifugal
matrix, joint viscous friction and joint position vectors,
respectively. Vector )(qG accounts for the gravitational
acceleration and )(qM is the mass/inertia matrix defined
by the following matrix mapping between the base frameand end-effector
[ ][ ]0
0
000
0
00
0000
1
1
11
111
E
E
E E
E E E
b
b
b
T
bb
b
b
T
b
T
bbb
T
bbbmm
JR IR JJR IR J
JJJJM
+++
++=
L
L
(3)
where the binary value jb
m determines the presence or
absence of a connecting body mass, thereby giving thefreedom to reduce the model complexity. It should benoted that mb is not related to l b defined in (1). TheJacobian between the base frame and connecting body B j
SimMechanics GUI environment
1 Special numerical
solver
Standard Simulink
solvers
2 Serial and parallel
manipulator modellingcapabilities
Serial manipulator
modelling capability
3 Graphical model rep-resentation
Graphical and ana-lytical model repre-sentation
4 Signal plotting and VR visualization of theresults.
Comparing signal plot-ting and VR visu-alization of the results.
8/2/2019 Matlab Design Environment for Robotic Manipulators
http://slidepdf.com/reader/full/matlab-design-environment-for-robotic-manipulators 3/6
is given by 0
jbJ and
jbI is the inertia with respect to the
frame Obj( xyz ). The term ( )qqM && D
e accounts for the
coupling effects in the presence of friction. The resultsof equations (1)-(3) are automatically generated assymbolic matrices and vectors stored in a workspace,
such that they can be accessed by the GUI, other functions in Matlab and from Simulink blocks.
3. ACTUATOR AND FRICTION MODELLING
The environment has two actuator models which can power the manipulator joints. Depending on the joint
type, a rotational or translational torque generator can be chosen, which outputs the demanded torque or force
onto the joint.As most heavy-duty industrial manipulators are'powered by hydraulics, the other choice is a linear
hydraulic actuator augmented with a friction model.This hydraulic actuator applies a force, resulting fromthe differential pressure P ∆ described by expressions
for the oil flow Q
sv
e
P
P C iQQ
Q x A P L P E
V
∆
∆∆
-=τ+
=++
1&
&&
(4)
P ∆ is a result of the pressures difference in the twocylinder chambers of an asymmetric hydraulic actuator
with an asymmetric valve. In equation (4) the general piston area A times the piston speed x& defines the oil
flow as a result of piston movement. Furthermore, theleakage flow is given by the leakage coefficient Le.
With P s, C , iv and τ as the pump pressure, valve gain,valve current and valve time constant. It should again be noted that all results are also available in
Matlab/Simulink, therefore giving the possibility toimplement any actuator model.
The Lund-Grenoble dynamical friction model (the LuGremodel) (Canudas et al . 1995) is used. It includes effectslike stiction, viscous and Coulomb friction, quantified bymeans of damping and stiffness coefficients. As these
coefficients can substantially differ in their relative
values, a computationally demanding computation of stiff differential equation is generally required.Therefore, a model the form of a hybrid automaton is proposed to overcome the computational issues. This isaccomplished by the introduction of discrete signals andstates. Furthermore a hybrid automaton gives a clear
visual insight into the friction model. The division between coulomb friction F c and a discrete part of stiction F s opposite to the continuous viscous friction F v and
Stribeck effect (Fig. 3) results in the hybrid approach.
The friction function shown in Fig. 3 can be described
according to the following equations, describing the threefriction areas.
τ τ vvvvv F F
aaav f −≤∨≥= (5)
00
2
≤<−∨<≤=
−
aa
s
a
f vvvv
vv
e F τ τ
(6)
( )( )00
000
≥∧≤<−∨
≤∧<≤=
aa s
a sak
vvv
vvvv
&
&
(7)
sc f sc f ak F F F F F F vv −−<∨+>= (8)
Equation (5) defines the viscous friction F v in Fig. 3,where va is the actuator speed. Equation (6) describes thecontinuous part of stiction, defined in (Canudas et al .1995)] as the Stribeck effect, with v s as the Stribeck
speed. The speed defines slope s in Fig. 3. Equations (7)and (8) describe the discrete part of friction in the form of
coulomb friction F c and the discrete part of stiction F s.The above division has a side effect in the sense that the joint position limitations can be easily added. Theintroduction of an additional discrete state results into
position limit functionality. As the joint limits are not themain focus, the dynamical properties are neglected. A
hybrid automaton can now be constructed (see Fig. 4).
F c
F s v
F f
va
s
v s vτ
Figure 3. A schematic view of the modelled friction
force F f .
Discrete
friction
Joint limit Viscous friction
Stiction
C(8)
C(7)
C(5)
C(6)
e 0=
e 1=
e 1=
e 1=
e 1=
eq. (6)
eq. (5)
q qi i,max>
q qi i,min<
q qi i,max>
q qi i,min<
va = 0
F f = 0
va = 0
F f = 0
Init
.
.
q qi i,max>
q qi i,min<
∆ P < 0
∆ P > 0
Figure 4. Hybrid friction automaton describing the
function visualized in Fig. 3.
8/2/2019 Matlab Design Environment for Robotic Manipulators
http://slidepdf.com/reader/full/matlab-design-environment-for-robotic-manipulators 4/6
In this figure, e equals the discrete actuator speed reset
signal, with e = 0 resulting in va = 0 and 0=a
v& and e =
1 leading to va = va andaa
vv && = . The conditions of
equations (5), (6), (7) and (8) are given by C(5), C(6),
C(7) and C(8). The maximum and minimum joint
position of joint qi equal qi,max and qi,min, with ∆ P as thedifferential actuator pressure described in equation (4)(Johansson et al. 2000)
4. MODEL SIMULATION AND VISUALIZATION
The functions of the environment are controlled via aGraphical User Interface (GUI) consistsing of three
main parts: manipulator configuration, simulation andvisualization. All computational results are transformedinto Simulink s-functions. These results are then usedin a template Simulink plant model, schematically
shown in Fig. 5.
The parameters are listed in a Matlab file with accom- panying default values, with the exception of the end-effector mass M e, the hydraulic leakage Le and the jointviscous friction F vj. Values for these three parameters
can be chosen in the GUI as they greatly define theoverall system behaviour. Furthermore the actuator joint friction can be defined.Together with the definable elementary step, impulse
and sine control signals ci, a Simulink simulation modelis created. Multiple simulation results with different pa-
rameter settings can be stored in the environmentalworkspace. This gives the ability to easily compare theresults and obtain a quick insight in the model. As all
results are also available in Matlab/Simulink, the modelcan be easily expanded or the default parameter settings
Domaintransformation T i
Actuator Ai Structure S i Eq.(4)
Fici
Ti
vi ωi
.
.
Figure 5. Schematic template SIMULINK plant model used in the automated modeling environment.
Figure 7. Schematic view of the 7 DOF erector.
Figure 6. Screen-shot of the implemented GUI.
8/2/2019 Matlab Design Environment for Robotic Manipulators
http://slidepdf.com/reader/full/matlab-design-environment-for-robotic-manipulators 5/6
can be altered thereby matching a particularly situationmore closely.The final step in the GUI contains the simulation resultvisualization abilities. Next to the possibility to plot
numerous signals of different simulations into one plotfigure, a Virtual Reality (VR) option exists. Each building block available in the modelling part is de-fined in the VR template file. On demand a VR simu-lation is created of the modelled robotic structure withaccompanying transient position data.
5. MANIPULATOR CONTROL DESIGN
This section describes a modelling example that usesthe automated modelling environment, in order toreach the control design for a manipulator.
5.1 Manipulator modelling for a TBM manipulator
The proposed modelling environment has been used inthe design of a manipulator (erector) for a novel shieldtunnel-boring machine (TBM), see Fig. 7. The task of
the erector is to place steel segments such that theyform the tunnel lining (Braaksma et al. 2004). The
erector has in total seven DOFs (q0 to q6). The firstDOF is neglected, as it is fixed during the placement.Body 3 (the last body in the chain) holds a complex joint which consist of a roll, yaw and translation in the
z -direction (see Fig. 7). All joints are hydraulically
actuated. The GUI is shown in Fig. 6.
Table 2. GUI erector specification, with R meaningrotation, Tr translation, Nn not needed.
The first step is to specify the above-described example
in the GUI. As can be seen from Fig. 6 the GUI con-sists of three main windows: matching modelling,
simulation and visualization. Table 2 shows the resultsaccording to the options listed in the GUI of the example.With the specification of the gravitational accelerationvector g, a plant model is constructed, which will be ex-
panded with a Simulink control scheme. The resultingclosed-loop model will then again be simulated and visu-alized in the GUI of Fig. 6.
5.2 Control design
The control scheme holds three main blocks: Cartesian
position control, joint space pressure control and feed- back linearisation. The expansion of the plant model
shown in Fig. 5 with the above control scheme is shownin Fig. 8.Both position and pressure control are based on aProportional-Integral-Differential control, law (PID):
s x K s x K x K saeioedoe po x/)( ++= (9)
s/)(eiiedie pi
P K v K P K s ∆++∆=Φ (10)
with a x as the position control acceleration and Φ as the pressure control oil flow. Gains K po, K do and K io equal the proportional, differential and integral outer loop position
control values, with xe as the position error. Furthermore K pi, K di and K ii define the inner loop pressure PID control
values with ∆ P e as the differential pressure error and ve asthe speed error.
Block G3 holds the kinematics to transform the jointspace sensor signals into their Cartesian counterparts. Thefeedback linearisation is defined in G1 and G2. G1 equals
the matrices in (2) together with the domain transforma-
tion, which result in a desired differential pressure ∆ P d .G2 holds the non-linearity of the valve and flow compen-
sations (4) and transforms the control oil flow into a con-trol valve current iv.
6. CONCLUSIONS
An automated modelling environment has been imple-
mented to facilitate the simultaneous design of the con-figuration and the corresponding control system of robotic manipulators. Via a user-friendly graphical
GUI model option Erector value sets
DOF {z, z, z, z, y, x}-axisJoint Type {R, R, R, Tr, R, R}Body length l b {1, 1, 0, 0, 0, 1}
Unit vector e {[1 0 0], [1 0 0], Nn, Nn, Nn, [10 0]}
Body mass m b {1, 1, 0, 0, 0, 1}
Position controlC (s)1
G1
G3
G2
aiivΦ∆ P d
∆ P ,vm i
q ,qi i x ,m mω
x ,d d ω F ,va i Actuator A(s)i
PlantP (s)L
Differential pressurecontrol C (s)2
Figure 8. Closed-loop block scheme of cascaded delta P controller in combination with GUI plant model of figure 5.
8/2/2019 Matlab Design Environment for Robotic Manipulators
http://slidepdf.com/reader/full/matlab-design-environment-for-robotic-manipulators 6/6
interface, one can easily define physical parameters of this manipulator. Detailed knowledge of the modellingformalism is not required. Insight into the static anddynamic properties of the model can be obtainedthrough the inspection of simulation results (using anautomatically generated Simulink model) as well as by
analysing the model in Matlab.
REFERENCES
Braaksma, J., C. de Keizer, J.B. Klaassens, R. Babuška(2004). Hybrid Control Design for a Manipulator
in a Shield Tunneling Machine. ProceedingsICINCO 2004 IFAC conference. Setubal, Portugal, pp. 185-192.
Canudas de Wit, C., H. Olsson, K.J. Astrom, P.Lischinksy (1995). A new model for control of systems with friction. IEEE Transcript AutomaticControl, Volume 40, No 3, pp.419-425.
Heintze, H. (1997), Design and Control of a Hydraulically Actuated Industrial Brick Laying
Robot . PhD-thesis, Delft University of Technology,Dept. of Mechanical Engineering. ISBN 90-370-0156-4.
Johansson, K.H., J. Lygeros, J. Zhang, S. Sastry (2000). Hybrid automata: A Formal Paradigm for Heterogeneous Modelling , Proceedings of the 2000IEEE International Symposium on Computer Aided
Control System Design, Anchorage, Alaska..