8/2/2019 ___RTSS-Morelli
1/109
An open-source package for analysis and control ofserial-link robotic manipulators
M. Morelli
Centro E.PiaggioFacolt di Ingegneria
Universit di Pisa
Pisa, Italy
25/05/2011, A21, Robotica 1
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 1 / 109
8/2/2019 ___RTSS-Morelli
2/109
Outline
1 Robotic manipulators modelling with ScicosLabRigid body transformations
Building serial-link manipulator models
Analysis of serial-link manipulators
2 Robot control systems design using Scicos
Basic concepts
Motion control
Further applications
3 Robot control code generation for use with Linux RTAI
Developing RTAI-based centralized controllers with RTAI-Lab
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 2 / 109
8/2/2019 ___RTSS-Morelli
3/109
RTSSthe Robotics Toolbox for Scilab/ScicosMATLAB Robotics Toolbox (MRT) as source of inspiration
About MRT [Corke, 1996]
Developed by Dr. Peter Corke (CSIRO, Australia);
very popular toolbox (more than 10500 downloads!);
release 8 (December 2008) is under GNU LGPL;available at http://petercorke.com/.
Purpose of MRT
Enable students and teachers to better understand the theoretical
concepts behind classical robotics.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 3 / 109
http://petercorke.com/http://petercorke.com/http://petercorke.com/8/2/2019 ___RTSS-Morelli
4/109
RTSSthe Robotics Toolbox for Scilab/ScicosMATLAB Robotics Toolbox (MRT) as source of inspiration
Features of MRT
Manipulation of fundamental datatypes such as:
homogeneous transformations;
quaternions;trajectories.
Functions for serial-link rigid-body manipulators:
forward and inverse kinematics;differential kinematics;
forward and inverse dynamics.SIMULINK blockset library.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 4 / 109
8/2/2019 ___RTSS-Morelli
5/109
RTSSthe Robotics Toolbox for Scilab/ScicosMATLAB Robotics Toolbox (MRT) as source of inspiration
Points of strenght
Based on MATLAB, MRT takes advantage of:
a powerful environment for linear algebra;
a powerful environment for graphical presentation;
an easy integration with other toolboxes;
the SIMULINK environment for dynamic systems simulation.
Main drawback
MRT is an open source software, requiring a proprietary and
expensive software environment to run.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 5 / 109
8/2/2019 ___RTSS-Morelli
6/109
RTSSthe Robotics Toolbox for Scilab/ScicosMilestone 1 (2008)
Development objective
Porting the functionalities of MRT to Scilab/Scicos version 4.0+, under
a free software license.
Achievements/FeaturesPorting process successfully completed;
free software licensed under GNU GPL.
Release history
Initial release, the 0.1.0, released in Oct. 2007;
release 0.3.0 available for Scilab-4.1.2 in Feb. 2008;
more than 3000 downloads.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 6 / 109
8/2/2019 ___RTSS-Morelli
7/109
RTSSthe Robotics Toolbox for Scilab/ScicosMilestone 2 (2010)
Development objectives
Internal code refactoring and integration with the Scicoss code
generation tools.
Achievements/Features
Modular framework facilitating maintainability and portability;
fully integrated with Linux RTAI/Xenomai code generators.
Release historyRelease 1.0.0b1 available for Scilab-BUILD4 in Sep. 2009;
more than 1300 downloads.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 7 / 109
8/2/2019 ___RTSS-Morelli
8/109
RTSSthe Robotics Toolbox for Scilab/ScicosApplication areas
Education
Gain insights on subjects such as:
homogeneous transformations;Cartesian and joint-space trajectories;
forward and inverse kinematics;
differential motions and manipulator Jacobians;
forward and inverse dynamics.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 8 / 109
8/2/2019 ___RTSS-Morelli
9/109
RTSSthe Robotics Toolbox for Scilab/ScicosApplication areas
Potential applications in research
Robot design optimization
Singularity analysis and kinematic optimization;
torques analysis for different arm configurations;design verification in real-time simulations.
Rapid control prototyping
Development and verification of control tasks;automatic control code generation;
design optimization through HIL simulations.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 9 / 109
ScicosLab Transformations
8/2/2019 ___RTSS-Morelli
10/109
ScicosLab Transformations
Outline
1 Robotic manipulators modelling with ScicosLabRigid body transformations
Building serial-link manipulator models
Analysis of serial-link manipulators
2 Robot control systems design using Scicos
Basic concepts
Motion control
Further applications
3 Robot control code generation for use with Linux RTAI
Developing RTAI-based centralized controllers with RTAI-Lab
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 10 / 109
ScicosLab Transformations
8/2/2019 ___RTSS-Morelli
11/109
ScicosLab Transformations
Representing 3D translations and orientationsHomogeneous transformations
z1
x1
y1
O1P 1p
0o1
z0
x0 y0O0
0p
z
x
y
Point P represented in different
coordinate frames
Coordinate transformation
0p = 0o1 +0R1
1p
Compact representation
0p1
= 0R1
0o10T 1
1p1
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 11 / 109
ScicosLab Transformations
8/2/2019 ___RTSS-Morelli
12/109
ScicosLab Transformations
Representing 3D translations and orientationsPlaying with homogeneous transformations
Example
Create the homogeneous
transform
wTb = Translx (0.5m)Roty (/2)
Solution
twb = rt_transl(0.5, 0, 0)*..
rt_roty(%pi/2),
twb =
0. 0. 1. 0.5
0. 1. 0. 0.
- 1. 0. 0. 0.
0. 0. 0. 1.
1.0
0.8
0.6
0.4
0.2
0.0
0.2
0.4
0.6
0.8
1.0
Z
1
0
1 X
1.0
0.6 0.20.2
0.61.0Y
Y
Z
X
YZ
Orientation of frame {B} (colored)with respect to frame {W} (black)
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 12 / 109
ScicosLab Transformations
8/2/2019 ___RTSS-Morelli
13/109
Representing 3D translations and orientationsOther representations of orientation
RTSS also provides full support
for other representations:
Euler angles (ZYZ);
Roll/Pitch/Yaw angles;
angle and axis;
unit quaternion.
Euler angles (ZYZ)
Find a vector of Euler angles
describing the rotational part of
wTb =
Translx (
0.5m
)Rot
y (/2
)Rotz (/2)
Solution
twb = rt_transl(0.5, 0, 0) *..
rt_roty(%pi/2) *..rt_rotz(-%pi/2);
eul = rt_tr2eul(twb),
eul =
0. 1.5707963 - 1.5707963
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 13 / 109
ScicosLab Transformations
8/2/2019 ___RTSS-Morelli
14/109
Representing 3D translations and orientationsDemonstration script
Transformations
demos/rt_rttrdemo.sce
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 14 / 109
ScicosLab Modelling
8/2/2019 ___RTSS-Morelli
15/109
Outline
1 Robotic manipulators modelling with ScicosLabRigid body transformations
Building serial-link manipulator models
Analysis of serial-link manipulators
2 Robot control systems design using Scicos
Basic concepts
Motion control
Further applications
3 Robot control code generation for use with Linux RTAI
Developing RTAI-based centralized controllers with RTAI-Lab
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 15 / 109
ScicosLab Modelling
8/2/2019 ___RTSS-Morelli
16/109
On the robot modelling capabilities of RTSSn-DOF manipulator modelling at a glance
RTSS allows to model the typical
industrial manipulator.
Modelling with RTSS
Rigid-body manipulators;
open kinematic chains;
arbitrary number of kinematicpairs (n).
Typical industrial manipulator
TX90, courtesy of Stubli Group
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 16 / 109
ScicosLab Modelling
8/2/2019 ___RTSS-Morelli
17/109
On the robot modelling capabilities of RTSSn-DOF manipulator modelling at a glance
The robot is modelled as a
kinematic chain skeleton.
Kinematic chain representation
n + 1 rigid links connected by n joint articulations;
single-DOF joints: revolute (R)
or prismatic (P);
one end constrained to a base;an end-effector mounted to the
other end (EE).Kinematic chain TX90
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 17 / 109
ScicosLab Modelling
8/2/2019 ___RTSS-Morelli
18/109
On the robot modelling capabilities of RTSSn-DOF manipulator modelling at a glance
The geometry of the robot is
defined by attaching reference
frames to each body.
Body frames
{W} is the world frame;
{L0} is termed base frame;
{Li} is the body-fixed frameattached to link i;
{E} is the tool frame.
Body frames TX90
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 18 / 109
ScicosLab Modelling
8/2/2019 ___RTSS-Morelli
19/109
On the robot modelling capabilities of RTSSn-DOF manipulator modelling at a glance
Geometry kinematics equation
wTe(q) =wT0
n
i=1i1Ai(qi)
0Tn(q)
nTe
Required model informations
Base/tool transforms;
Geometric relationship
between consecutive links .
Coordinate transforms TX90M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 19 / 109
ScicosLab Modelling
O h b d lli bili i f RTSS
8/2/2019 ___RTSS-Morelli
20/109
On the robot modelling capabilities of RTSSn-DOF manipulator modelling at a glance
Dynamics equations (based on Newton-Euler formulation)
B(q)q + n(q, q) + Fvq + Fssgn(q) = JT(q)he
Effective and coupling inertiatorques;
centrifugal, Coriolis and
gravitational torques;
viscous and static friction
torques;
robot-environment interaction
torques.
Required model informations
Dynamic model of each
joint-link pair;
dynamics of the robot-environment interaction (if
any).
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 20 / 109
ScicosLab Modelling
G t i d l f j i t li k i
8/2/2019 ___RTSS-Morelli
21/109
Geometric model of a joint-link pairThe standard Denavit-Hartenberg notation
zi
xi
ai i
{Li}
Axis i + 1
zi1
xi1
di
i
{Li1}
zi
xi
Axis i
Link i
Link i 1
Axis i 1
Standard DH frame assignment
Specifying {Li} with respect to {Li1}
i1Ai(qi) = Translz (di)Rotz (i)Translx (ai)Rotx (i)
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 21 / 109
ScicosLab Modelling
G t i d l f j i t li k i
8/2/2019 ___RTSS-Morelli
22/109
Geometric model of a joint-link pairThe modified Denavit-Hartenberg notation
Axis i + 1
zi
xi
di
i
{Li}
zi
xi
Axis i
Link i
Link i 1
Axis i 1
zi1
xi1
ai1
i1
{Li1}
Modified DH frame assignment
Specifying {Li} with respect to {Li1}
i1Ai(qi) = Rotx (i1)Translx (ai1)Rotz (i)Translz (di)
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 22 / 109
ScicosLab Modelling
D i d l f j i t li k i
8/2/2019 ___RTSS-Morelli
23/109
Dynamic model of a joint-link pairInertial and actuators/transmissions parameters
Inertial parameters (10)m link mass
rx, ry, rz link COMIxx,Iyy,Izz,Ixy,Ixz,Iyz six components of the inertia tensor about
the link COM
Actuator/transmission model parameters (5)
Jm moment of inertia of the rotor
G reduction gear ratio: joint speed/link speed
B viscous friction coefficient
+C Coulomb friction (positive rotation) coefficientC Coulomb friction (negative rotation) coefficient
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 23 / 109
ScicosLab Modelling
Dynamic model of a joint link pair
8/2/2019 ___RTSS-Morelli
24/109
Dynamic model of a joint-link pairNewton-Euler Formulation (notes)
Approach
Balance of forces and moments
acting on each link.
Forward recursion
Velocities and accelerations.
Backward recursion
Forces and moments along the
structure.Computational structure of the
Newton-Euler recursive algorithm
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 24 / 109
ScicosLab Modelling
Modelling a direct drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
25/109
Modelling a direct-drive planar elbow manipulatorPelican: experimental robot arm at CICESE (Mexico), Robotics lab.
The Pelican prototype robot
arm [Kelly et al., 2005]
Geometric and kinematic properties
Vertical planar manipulator;
two rigid links connected via revolute
joints.
Link Notation Value (m)
1 l1 0.26
2 l2 0.26
Link lengths of Pelican
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 25 / 109
ScicosLab Modelling
Modelling a direct drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
26/109
Modelling a direct-drive planar elbow manipulatorA kinematic model based on the standard Denavit-Hartenberg notation
x0
y0
1
l1
2l2
x1
y1
x2
y2
Standard DH frame assignment
Joint angle of axis 1 has an offset
of /2 rad, according to DHnotation.
Link i ai i di
1 0 l1 1 0
2 0 l2
2 0
Denavit-Hartenberg table
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 26 / 109
ScicosLab Modelling
Modelling a direct drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
27/109
Modelling a direct-drive planar elbow manipulatorA kinematic model based on the standard Denavit-Hartenberg notation
Link i ai i di
1 0 l1
1
02 0 l2
2 0
Denavit-Hartenberg table
(previous slide)
Building the kinematic model
-->L1 = rt_link([0,l1,0,0,0], "standard");
-->L2 = rt_link([0,l2,0,0,0], "standard");-->CL = list(L1, L2);
-->pel = rt_robot(CL, "Pelican",..
"CICESE, Robotics Lab.",..
"Kelly et al. 2005");
-->pel.offset = [-%pi/2; 0];
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 27 / 109
ScicosLab Modelling
Modelling a direct drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
28/109
Modelling a direct-drive planar elbow manipulatorModel validation by simulation: comparison of results with reasonable expectations
0.4
0.3
0.2
0.1
0.0
0.1
0.2
0.1 0.0 0.1 0.2 0.3 0.4 0.5X
Pelican
x
y
z
Top view of Pelican pose at
q = [ /10 7/25 ] rad
Example: Where is the tool?
Pose: q = [ /10 7/25 ] rad
Forward kinematics
-->>q = [%pi/10, 7/25*%pi];-->T02 = rt_fkine(pel, q),
T02 =
0.9298 0.3681 0. 0.3221
- 0.3681 0.9298 0. - 0.3430
0. 0. 1. 0.
0. 0. 0. 1.
Draw the Pelican pose
-->ws = [-0.1, 0.5, -0.4, 0.2, -1, 1];
-->rt_plot(pel, q, "workspace", ws);
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 28 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
29/109
Modelling a direct-drive planar elbow manipulatorAn equivalent kinematic description using the modified Denavit-Hartenberg notation
x0
y0
1
l1
x1
y1
2l2
x2
y2
x2
y2
Modified DH frame assignment
Link i1 ai1 i di
1 0 0 1 0
2 0 l1
2 0
Modified Denavit-Hartenberg table
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 29 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
30/109
Modelling a direct drive planar elbow manipulatorAn equivalent kinematic description using the modified Denavit-Hartenberg notation
Link i1 ai1 i di
1 0 0
1
02 0 l1
2 0
Modified Denavit-Hartenberg table
(previous slide)
Building the kinematic model: the
quick way
-->DH = [0,0,0,0;0,l1,0,0];
-->pelm = rt_robot(DH, "Pelican (2)",..
"CICESE,Robotics Lab.", "Modified DH");
-->pelm.mdh = 1;
-->pelm.tool = rt_transl(l2,0,0);
-->pelm.offset = [-%pi/2; 0];
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 30 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
31/109
Modelling a direct drive planar elbow manipulatorModel validation through kinematic simulation
0.4
0.3
0.2
0.1
0.0
0.1
0.2
0.1 0.0 0.1 0.2 0.3 0.4 0.5X
Pelican (2)
x
y
z
MDH-based Pelican, at
q = [ /10 7/25 ] rad
Show that the two approaches areequivalent.
Forward kinematics
-->q = [%pi/10, 7*%pi/25];
-->T02m = rt_fkine(pelm, q),T02m =
0.9298 0.3681 0. 0.3221
- 0.3681 0.9298 0. - 0.3430
0. 0. 1. 0.
0. 0. 0. 1.
-->T02 - T02m
ans =
0. 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 31 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
32/109
Modelling a direct drive planar elbow manipulatorThe dynamics of the Pelican arm: standard vs modified DH frame assignments
1
l1
lc1
m1,I1
2l2
lc2
m2,I2
Diagram of the Pelican
QuestionWhich are the parameters that
depend on the adopted frame
assignment?
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 32 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
33/109
Modelling a direct drive planar elbow manipulatorThe dynamics of the Pelican arm: standard vs modified DH frame assignments
Parameter Is it convention dependent?
Link mass No
Inertia tensor about link COM No (in this case of study)Distance to link COM Yes
Actuator/transmission No
Dependence of physical parameters on the frame assignments
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 33 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
34/109
Modelling a direct drive planar elbow manipulatorThe dynamics of the Pelican arm: inertial parameters
Description Notation Value Units
Mass of link 1 m1 6.5225 kg
Mass of link 2 m2 2.0458 kg
Inertia rel. to COM (link 1) I1 0.1213 kg m2
Inertia rel. to COM (link 2) I2 0.0116 kg m2
Convention-independent inertial parameters
Link Notation Value (m)
Standard DH Modified DH
1 lc1 -0.1617 0.0983
2 lc2 -0.2371 0.0229
Distance to the link COM (convention-dependent)
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 34 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
35/109
ode g a d ect d e p a a e bo a pu atoThe dynamics of the Pelican arm: actuator and transmission parameters
Actuators of PelicanTwo brushless DC motors located at the base and at the elbow.
Description Motor/Joint 1 Motor/Joint 2 UnitsSym. Value Sym. Value
Inertia (COM) Jm1 0.012 Jm2 0.0025 kg m2
Gear ratio G1 1:1 G2 1:1
Viscous frict. B1 0.2741 B2 0.1713 Nm s/radCoulomb frict. C1 1.29 C2 0.965 Nm
Actuator/transmission parameters
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 35 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
36/109
g p pSimplified dynamic model based on the standard DH frame assignments
Robot model without actuators and transmissions.
Inertial parameters and gravity ac-
celeration vector
-->CL(1).I = [0,0,I1,0,0,0];-->CL(2).I = [0,0,I2,0,0,0];
-->CL(1).m = m1;
-->CL(2).m = m2;
-->CL(1).r = [lc1;0;0];
-->CL(2).r = [lc2;0;0];
-->pel = rt_robot(pel, CL);
-->pel.gravity = [0;9.81;0]; // X-Y plane
Show 1st link data in detail
-->rt_showlink(pel.links(1)),
// kinematic data displayed here...
m = 6.5225!r = -0.1617 !
! !
! 0 !
! !
! 0 !
!I = 0 0 0 !
! !
! 0 0 0 !
! !! 0 0 0.1213 !
Jm =
G =
B = 0
!Tc = 0 0 !
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 36 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
37/109
g p pRobot dynamics model validation: reasonable expectations
l1
lc1 m1
l2
lc2 m2
m1g
m2g
Stretched Pelican (in X-direction)
Gravitational torque contribution at q = [ /2 0 ] (q = q = 0)g1g2
=
g(m1lc1 + m2(l1 + lc2 ))
gm2(lc2 + l2)
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 37 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
38/109
g p pRobot dynamics model validation: simulation results
Comparison between expectations and simulation results
-->etau = [g*(m1*lc1 + m2*(l1 + lc2)), g*m2*lc2],
etau =
11.967401 0.4595869
-->etau - rt_frne(pel, [%pi/2,0], [0,0], [0,0]),
ans =
0. - 5.551D-17
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 38 / 109
ScicosLab Modelling
Modelling a direct-drive planar elbow manipulator
8/2/2019 ___RTSS-Morelli
39/109
g p pComplete dynamic model based on the standard DH frame assignments
Robot model including the dynamics of actuators and transmissions.
Modelling motor parameters
-->CL(1).Jm = Jm1;
-->CL(2).Jm = Jm2;
-->CL(1).G = G1;
-->CL(2).G = G2;
-->CL(1).B = B1;
-->CL(2).B = B2;
-->CL(1).Tc = Tc1*[1,1];
-->CL(2).Tc = Tc2*[1,1];
Launch the movie!
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 39 / 109
ScicosLab Modelling
Modelling a 6-DOF industrial robot (notes)
http://./videos/pelfdyn.avihttp://./videos/pelfdyn.avi8/2/2019 ___RTSS-Morelli
40/109
The industrial robot Siemens Manutec r3
Robot description at a glance
arms mechanically very stiff;
six rotational joints;
current-controlled DC motors;
each motor embedded in the
preceeding arm;
encoders on the motors axes;
friction in the gears;
gear ratios of the base axes fairly
low;
payload of 15 kg. The robot Manutec r3
[Winkler and Such, 2005]
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 40 / 109
ScicosLab Modelling
Modelling a 6-DOF industrial robot (notes)A i d l b d h d d D i H b i
8/2/2019 ___RTSS-Morelli
41/109
A geometric model based on the standard Denavit-Hartenberg notation
Kinematic chain
Body frames
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 41 / 109
ScicosLab Modelling
Modelling a 6-DOF industrial robot (notes)A t i d l b d th t d d D it H t b t ti
8/2/2019 ___RTSS-Morelli
42/109
A geometric model based on the standard Denavit-Hartenberg notation
Linki
ai i
di
1 /2 0 1 d12 0 a2
2 0
3 /2 0 3 04 /2 0 4 d45 /2 0 5 06 0 0 6 0
Denavit-Hartenberg tablea
aOffsets to match the rest config. (therobot is stretched-up at q = 0):
2 = 2 + /2,
3 = 3 /2
0.2
0.0
0.2
0.4
0.6
0.8
1.0
Z
0.5 0.3 0.1 0.1 0.3 0.5Y
0.40
1.00X
R3
xy
z
Visualization of the Manutec r3
robot at a given q
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 42 / 109
ScicosLab Modelling
Modelling a 6-DOF industrial robot (notes)Th d i f th M t 3 b t t t d t i i t
8/2/2019 ___RTSS-Morelli
43/109
The dynamics of the Manutec r3 robot: actuator and transmission parameters
Description Notation Values Units
Arm 1 Arm 2 Arm 3
Inertia (COM) Jmi 0.0013 0.0013 0.0013 kg m2
Gear ratio Gi 105 210 60Viscous frict. 1 Bi 8.125 10
4 7.692 104 1.5385 103 Nm s/radCoulomb frict. Ci 0.4 0.5 0.7 Nm
Description Notation Values Units
Arm 4 Arm 5 Arm 6
Inertia (COM) Jmi 1.6 104 1.8 104 4.3 105 kg m2
Gear ratio Gi 99 79.2 99
Viscous frict.1
Bi 71.2 106
82.6 106
36.7 106
Nm s/radCoulomb frict. Ci 0.22 0.38 0.11 Nm
Actuator/transmission parameters, base and wrist axes
1These parameters have been given reasonable values
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 43 / 109
ScicosLab Analysis
Outline
8/2/2019 ___RTSS-Morelli
44/109
1
Robotic manipulators modelling with ScicosLabRigid body transformations
Building serial-link manipulator models
Analysis of serial-link manipulators
2 Robot control systems design using ScicosBasic concepts
Motion control
Further applications
3 Robot control code generation for use with Linux RTAI
Developing RTAI-based centralized controllers with RTAI-Lab
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 44 / 109
ScicosLab Analysis
Analysis of a 6-DOF industrial robotPositioning/orientation of the Manutec r3 robot
8/2/2019 ___RTSS-Morelli
45/109
Positioning/orientation of the Manutec r3 robot
Forward kinematics
// robot configuration
q = [0.377, -0.754, -1.711,..
0.754, 2.011, -0.440];
// pose of the EE
twe = rt_fkine(r3, q),
twe =
0.680 0.572 0.458 0.743
- 0.348 0.802 - 0.485 0.294
- 0.645 0.170 0.745 0.465
0. 0. 0. 1.
Inverse kinematics
// solve the inverse kinematics (IKP)
q0 = qz; q0(2:3) = [-1, -1];
modulo(rt_ikine(r3, twe, q0), 2*%pi),
ans =
0.377 - 0.754 - 1.711
0.754 2.011 - 0.440
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 45 / 109
ScicosLab Analysis
Analysis of a 6-DOF industrial robotKinetostatics of the Manutec r3 robot
8/2/2019 ___RTSS-Morelli
46/109
Kinetostatics of the Manutec r3 robot
Differential kinematicsThe Jacobian matrix maps velocity be-
tween joint and Cartesian space.ve = J(q)q
Jacobian analysis
// manipulators Jacobian matrix in base coordinates, and its determinant
j0 = rt_jacob0(r3, q),
j0 =
- 0.294 0.190 0.529 0. 0. 0.
0.743 0.075 0.210 0. 0. 0.
0.000 0.799 0.457 0. 0. 0.
0.000 0.368 0.368 0.582 - 0.228 0.458
0.000 - 0.930 - 0.930 0.231 - 0.874 - 0.485
1. 0.000 0.000 - 0.780 - 0.429 0.745
det(j0), // j0 is not singular
ans =
- 0.261
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 46 / 109
ScicosLab Analysis
Analysis of a 6-DOF industrial robotKinetostatics of the Manutec r3 robot
8/2/2019 ___RTSS-Morelli
47/109
Kinetostatics of the Manutec r3 robot
Those configurations at which J(q) is rank-deficient are termedkinematic singularities.
Problems at (near) a singularity
The mobility of the robot is
reduced;
infinitely many solutions to
the IKP may exist;
small velocities at the EEcause large joint velocities.
Classification of singularities
Boundary, the robot is
stretched/retracted;
internal, occur inside the
reachable workspace.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 47 / 109
ScicosLab Analysis
Analysis of a 6-DOF industrial robotKinetostatics of the Manutec r3 robot
8/2/2019 ___RTSS-Morelli
48/109
Kinetostatics of the Manutec r3 robot
r3s shoulder singularity
// singular robot configuration
qs = [2.011, -1.068, 1.711,..
0.251, 2.073, -1.257];
// manipulators Jacobian matrix
js = rt_jacob0(r3, qs);
// singular values
svd(js).,
ans =
1.949 1.571 0.744
0.529 0.342 0.000
// large joint velocities
dqs = inv(js)*[0.1; 0; 0; 0; 0; 0]; dqs.,ans =
- 219.6 0.052 0.000
105.6 32.66 - 145.6
0.2
0.0
0.2
0.4
0.6
0.81.0
1.2
1.4
1.6
Z
0.3
0.1
0.1
0.3
0.5X
0.3 0.1 0.1 0.3 0.5Y
R3
xyz
The Manutec r3 at shoulder
singularity
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 48 / 109
ScicosLab Analysis
Analysis of a 6-DOF industrial robotKinetostatics of the Manutec r3 robot
8/2/2019 ___RTSS-Morelli
49/109
Kinetostatics of the Manutec r3 robot
Statics: the manipulator is at an equilibrium configurationThe Jacobian transpose matrix maps the
force between Cartesian and joint space. = JT(q)we
Torques acting at the actuators
// manipulators Jacobian matrix (wrt EE)
jn = rt_jacobn(r3, q);
// forces acting on the EE (wrt EE)
wn = [-2.887; 2.56; -4.998;..
-1.697; 1.654; 1.284];
// joint torques to be exerted to keep
// the robot in static equilibrium
tn = jn*wn; tn,
ans =
7.228 - 2.323 - 2.044
- 1.299 - 2.219 1.284
The Jacobian matrix characterize
completely the kinetostatics of the
manipulator.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 49 / 109
ScicosLab Analysis
Trajectory generation and visualization (notes)A a number of toolbox functions can operate on trajectories
8/2/2019 ___RTSS-Morelli
50/109
A a number of toolbox functions can operate on trajectories
Trajectories, Animation
demos/rt_rttgdemo.sce
demos/rt_rtandemo.sce
Joint space trajectory
// initial configuration
qi = [0, -%pi/2, %pi/2, 0, 0, 0];
// final configuration
qf = [0, 0, 0, 0, 0, 0];
// travelling time
t = [0:.056:2];
// 5th order interpolating polynomial
[q, qd, qdd] = rt_jtraj(qi, qf, t);
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.01.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.00.2
Joint2(
rad.
)
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.00.2
0.0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
Time (s)
Joint3
(rad.
)
Joint space trajectory
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 50 / 109
ScicosLab Analysis
Analysis of a 6-DOF industrial robotThe inverse dynamics problem for the Manutec r3 robot
8/2/2019 ___RTSS-Morelli
51/109
y p
Joint-torques analysis
// joint torques computation
tau = rt_frne(r3, q, qd, qdd);
// contribution of gravitational torques
taug = rt_gravload(r3, q);
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.08
6
4
2
02
4
6
8
Torque1
(Nm)
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0100
0100
200300400500600700800
Torque2(Nm)
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.060
50
40
30
20
10
0
10
Time (s)
Torque3(Nm)
Joint torques for the given joint
space trajectory (grav. torque in
red)
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 51 / 109
ScicosLab Analysis
Analysis of a 6-DOF industrial robotStudy of joint inertia of Manutec r3 robot
8/2/2019 ___RTSS-Morelli
52/109
y j
The gear ratios of the base axes are fairly low, so the actuator inertia
do not dominate the total joint inertia.
This results in significant variations of joint inertia, most important in
joint 1, where the total inertia for the horizontal, loaded arm is more
than three times higher than for the vertical arm.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 52 / 109
ScicosLab Analysis
Analysis of a 6-DOF industrial robotStudy of joint inertia of Manutec r3 robot
8/2/2019 ___RTSS-Morelli
53/109
y j
Inertia of joint 1
// manipulators pose definition as a
// function of joint angles q2 and q3
[q2, q3] = meshgrid(-%pi:0.2:%pi);
[r, c] = size(q2);
q=[zeros(r*c,1) q2(:) q3(:) zeros(r*c,3)];
// compute inertia matrix & plot results
b = rt_inertia(r3, q); b11 = b(1,1,:);
b11 = matrix(b11,r,c); surf(q2, q3, b11);
// factor of variation over the path
bM = max(b11); bm = min(b11); bM/bm,
ans =
3.5667326
20
30
40
50
60
70
80
90
b11(kgms^2)
43
21
01
23
4
q2 (rad)4
3
2
1
0
1
2
3
4
q3 (rad)
Inertia seen by the joint 1 of the r3as a function of joint angles q2 and
q3
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 53 / 109
ScicosLab Analysis
Analysis of a 6-DOF industrial robotStudy of joint inertia of Manutec r3 robot
8/2/2019 ___RTSS-Morelli
54/109
Furthermore, the inertial coupling effects, in particular between joint 2
and 3, cannot be neglected.
Inertial coupling between joints 2, 3// manipulators pose definition as a
// function of joint angle q3
q3 = -%pi:%pi/16:%pi;
[r, c] = size(q3);
q = [zeros(r*c,2) q3(:) zeros(r*c,3)];
// compute inertia matrix & plot results
b = rt_inertia(r3, q); b23=b(2,3,:);b23=matrix(b23,r,c); plot(q3, b23); 4 3 2 1 0 1 2 3 4
0
5
10
15
20
25
30
q3 (rad)
b23(kgms^2)
Coupling effects between joint 2
and 3, while joint 3 is free
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 54 / 109
ScicosLab Analysis
Analysis of a 6-DOF industrial robotStudy of joint inertia of Manutec r3 robot
8/2/2019 ___RTSS-Morelli
55/109
In short, the properties of this particular six-axis manipulator are a
cross between direct drive robots and high-geared, well-balanced
types that perform well enough with ordinary, robust, independent joint
control.
This makes it a good platform for experimental evaluation of
sophisticated model-based control algorithms.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 55 / 109
ScicosLab Analysis
Inner beauties of RNE (notes)Implementation details of robot dynamics
8/2/2019 ___RTSS-Morelli
56/109
Dynamics equation (simplified)
B(q)q + C(q, q)q + G(q) =
Equivalent code in RTSS
tau = rt_frne(robot, q, Dq, DDq);
Question
How to use the (recursive) balance of all the forces acting on each link
to compute:
G(q);
C(q, q)q;
B(q)q;
B(q);
C(q, q) (argh!).
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 56 / 109
ScicosLab Analysis
Ready-to-use manipulator models provided by RTSSThe Unimation Puma 560 arm
8/2/2019 ___RTSS-Morelli
57/109
0.3
0.2
0.1
0.0
0.1
0.2
0.3
0.4
0.5
Z
0.2
0.0
0.2
0.4
0.6X
0.3
0.1
0.1
0.3Y
Puma 560
x y
z
Standard DH-based Puma 560 at
its zero angle pose
The Unimation Puma 560
Kinematic and dynamic data;
Standard and modified
DH-based models;
quantities in standard SI units.
Create a Puma 560 robot
// standard DH-based robot object (p560)
exec /models/rt_puma560.sce;
// modified DH-based robot object (p560m)
exec /models/rt_puma560akb.sce;
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 57 / 109
ScicosLab Analysis
Ready-to-use manipulator models provided by RTSSThe Stanford manipulator
8/2/2019 ___RTSS-Morelli
58/109
0.2
0.0
0.2
0.4
0.6
0.8
Z
0.4 0.30.2 0.1
0.0 0.1 0.2
X0.1
0.0
0.1
0.2
0.3
Y
Stanford arm
x
y
z
Standard DH-based Stanford arm
at a generic pose
The Stanford manipulator
Kinematic and dynamic data;
Standard DH-based model;quantities in standard SI units.
Create a Stanford manipulator
// standard DH-based robot object (stanf)
exec /models/rt_stanford.sce;
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 58 / 109
Scicos Basics
Outline
8/2/2019 ___RTSS-Morelli
59/109
1 Robotic manipulators modelling with ScicosLab
Rigid body transformations
Building serial-link manipulator models
Analysis of serial-link manipulators
2 Robot control systems design using ScicosBasic concepts
Motion control
Further applications
3 Robot control code generation for use with Linux RTAIDeveloping RTAI-based centralized controllers with RTAI-Lab
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 59 / 109
Scicos Basics
The Robotics paletteA library of ready-to-use blocks for robotics simulations
8/2/2019 ___RTSS-Morelli
60/109
List of the available palettes
after the installation of
RTSS
Others Trajectory Homogeneous Kinematics Dynamics
Blocks categories available with
RTSS-1.0.0b1
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 60 / 109
Scicos Basics
The Robotics paletteA library of ready-to-use blocks for robotics simulations
8/2/2019 ___RTSS-Morelli
61/109
Euler
Backward
Euler
Forward
Wave
Sine
RTSS
Wave
Square
RTSS
Category Others
JTraj
RTSS
Category
Trajectory
XYZ2Tr
RTSS
RPY2Tr
RTSS
Eul2Tr
RTSS
Tr2XYZ
RTSS
Tr2RPY
RTSS
Tr2Eul
RTSS
Category
Homogeneous
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 61 / 109
Scicos Basics
The Robotics paletteA library of ready-to-use blocks for robotics simulations
8/2/2019 ___RTSS-Morelli
62/109
noname
FKine
RTSS
noname
J
0
RTSS
noname
J
n
RTSS
Tr2Diff
RTSS
Category Kinematics
noname
RNE
RTSS
nonameCoriolis
RTSS
noname
Gravload
RTSS
noname
Inertia
RTSS
noname
Robot
RTSS
nonameAccel
RTSS
Category Dynamics
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 62 / 109
Scicos Basics
Proper setting of model-based blocksHow to set the robot model to be simulated in a block operating on robot objects
8/2/2019 ___RTSS-Morelli
63/109
Blocks in Kinematics and Dynamics need a model to work.
noname
Robot
RTSS
A block which operates on a robotmodel: the Forward Dynamics
Block (FDB)
The user must specify the robotmodel to be simulated as block
parameter;
the robot model must be a
symbolic parameter defined in
the context of the diagram.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 63 / 109
Scicos Basics
Proper setting of model-based blocksHow to set the robot model to be simulated in a block operating on robot objects
8/2/2019 ___RTSS-Morelli
64/109
r3 robot model defined in the context
of the diagram
// robot model definition
// (pseudocode)
r3 = rt_robot( ... );
// Other symbolic parameters
...
FDBs block properties dialog r3
must be entered in the field Robot
object
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 64 / 109
Scicos Basics
Proper setting of model-based blocksHow to set the robot model to be simulated in a block operating on robot objects
8/2/2019 ___RTSS-Morelli
65/109
R3
Robot
RTSS
FDB ready to simulate the forward dynamics of the Manutec r3
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 65 / 109
Scicos Motion control
Outline
8/2/2019 ___RTSS-Morelli
66/109
1 Robotic manipulators modelling with ScicosLab
Rigid body transformations
Building serial-link manipulator models
Analysis of serial-link manipulators
2 Robot control systems design using ScicosBasic concepts
Motion control
Further applications
3 Robot control code generation for use with Linux RTAIDeveloping RTAI-based centralized controllers with RTAI-Lab
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 66 / 109
Scicos Motion control
Model-based centralized controller for trackingThe inverse dynamics control: short review of the mathematics involved
8/2/2019 ___RTSS-Morelli
67/109
B(q)
MANIPULATOR
n(q, q)
y
q
q
y q q
Exact lineatization performed by
inverse dynamics control
The dynamic model of a robot
arm can be rewritten as
B(q)q + n(q, q) =
Inverse dynamics control law
= B(q)y + n(q, q)
which leads the system to
q = y
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 67 / 109
Scicos Motion control
Model-based centralized controller for trackingThe inverse dynamics control: short review of the mathematics involved
8/2/2019 ___RTSS-Morelli
68/109
Typical choice for y is
y = qd + Kv q + Kpq
leading to the error dynamics equation
q + Kv q + Kpq = 0
which converges to zero with a speed depending on the matrices Kv
and Kp chosen.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 68 / 109
Scicos Motion control
Model-based centralized controller for trackingInverse dynamics controller design
8/2/2019 ___RTSS-Morelli
69/109
The inner feedback loop is based on the robot dynamic model.
Kv
Kp
B(q)
MANIPULATOR
n(q, q)
qd
qd
qd
q
q
y
q
q
STABILIZING LINEAR CONTROL
NONLINEAR COMPENSATION AND DECOUPLING
Block scheme of joint space inverse dynamics control
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 69 / 109
Scicos Motion control
Model-based centralized controller for trackingScicos implementation of the inverse dynamics controller for the Manutec r3
8/2/2019 ___RTSS-Morelli
70/109
Key component: the inverse dynamics block (IDB) of the Roboticspalette.
R3RNERTSS
11 Kp
22
33
4455
11
Kd
q~
q~.
qd
..
q
q.
y
Inverse dynamics controller for the Manutec r3 robot
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 70 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsOn the generation of joint space reference inputs to the motion control system
8/2/2019 ___RTSS-Morelli
71/109
Considerations regarding the above control scheme
Vectors qd, qd and qd were assumed available;
joint space references were computed from two joint coordinate
poses directly specified by the user.
However, motion specifications are usually assigned in the operational
space.
Inverse kinematics algorithms transform task space references intojoint space references.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 71 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsKinematic inversion of a simple three-link RRR planar arm
8/2/2019 ___RTSS-Morelli
72/109
x0
y0
l1,2,3 = 0.5 m
1
l1
2
l2x1
y1
3l3
x2y2
x3y3
RRR arm at generic pose
Link i ai i di
1 0 l1 1 02 0 l2 2 03 0 l
3
30
Denavit-Hartenberg table
Robot kinematic model
dh_123=[0,l_123,0,0];
R3arm = rt_robot([dh_123;dh_123;dh_123],..
"RRR arm", "", "Sciavicco-Siciliano");
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 72 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsKinematic inversion of a simple three-link RRR planar arm
8/2/2019 ___RTSS-Morelli
73/109
Simulation scenario [Sciavicco and Siciliano, 2000]
q(0) = /2 /2
T[rad];
circular desired motion trajectory for 0 t 4 s:
xd(t) =
pd(t)d(t)
=
0.25(1 cost)0.25(2 + sint)sin
24t
;
forward Euler numerical integration scheme (t= 1 ms);
final simulation time tend = 5 s.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 73 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsThe Jacobian inverse algorithm
8/2/2019 ___RTSS-Morelli
74/109
The Jacobian inverse algorithm integrates the joint velocity vector
q = J1A (q)(xd + Ke)
K
J1A (q)
k( )
xd
xd e q q
xe
Jacobian inverse algorithm
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 74 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsScicos block diagram for the Jacobian inverse algorithm
8/2/2019 ___RTSS-Morelli
75/109
The Jacobian inverse algorithm and the blocks J1A (q) and k( )
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 75 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsAnalysis of simulation results
8/2/2019 ___RTSS-Morelli
76/109
0 1 2 3 4 5
0
0.2e05
0.4e05
0.6e05
0.8e05
1e05
[s]
[m]
Time history of the norm of
end-effector position error
0 1 2 3 4 5
5e08
4e08
3e08
2e08
1e08
0
[s]
[rad]
Time history of the end-effectororientation error
RRR planar arm performing the task Launch the movie!
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 76 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsRedundancy resolution: short review of the mathematics involved
http://./videos/rrrijac.avihttp://./videos/rrrijac.avi8/2/2019 ___RTSS-Morelli
77/109
If the EE orientation is not constrained, a redundant degree of mobilityis available.
The solution of the Jacobian inverse algorithm is generalized into
q = JA(q)(xd + Ke) + (I JAJA)q0
Convenient utilization of redundant DOFs
q0 = k0w(q)
q
T k0 > 0;w(q) secondary objective function.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 77 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsSolution which maximizes the distance from mechanical joint limits of the RRR arm
8/2/2019 ___RTSS-Morelli
78/109
Distance from joint limits
w(q) = 1
6
3i=1
qi qi
qiM qim
2maximizing the distance;qi current joint angle;
qiM maximum joint limit;
qim minimum joint limit;
qi middle value.
Simulation scenario
q1m = 2, q1M = 2;
q2m
= /2, q2M
= /2;
q3m = 3/2, q3M = /2;
k0 = 250.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 78 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsSolution which maximizes the distance from mechanical joint limits of the RRR arm
8/2/2019 ___RTSS-Morelli
79/109
The Jacobian pseudo-inverse algorithmwith redundancy resolution
Computational code of block
q0
double * y, * u;
double pi = 3.1415927;
// in/out pointers
y = GetRealOutPortPtrs(block, 1);
u = GetRealInPortPtrs(block, 1);
// computational code
y[0] = -250/3 * u[0]/(16*pi*pi);
y[1] = -250/3 * u[1]/(pi*pi);
y[2] = -250/3 * (u[2]+pi)/(pi*pi);
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 79 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsAnalysis of simulation results: time history of the joint trajectories
8/2/2019 ___RTSS-Morelli
80/109
Joints 2 and 3 keep far from their min. and max. limit, respectiv.
0 1 2 3 4 55
0
5
Joint 2 Position
[rad]
0 1 2 3 4 55
0
5
Joint 3 Position
[s]
[rad]
Without redundancy resolution
0 1 2 3 4 55
0
5
Joint 2 Position
[rad]
0 1 2 3 4 55
0
5
Joint 3 Position
[s]
[rad]
With utilization of redundancy
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 80 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsAnalysis of simulation results: time history of the norm of EE position error
8/2/2019 ___RTSS-Morelli
81/109
Such an effort does not appreciably influences the position tracking
error.
0 1 2 3 4 5
0
1e06
2e06
3e06
4e06
5e06
Norm of Positional Error
[s]
[m]
Without redundancy resolution
0 1 2 3 4 5
0
0.5e04
1e04
1.5e04
2e04
Norm of Positional Error
[s]
[m]
With utilization of redundancy
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 81 / 109
Scicos Motion control
First-order closed-loop inverse kinematicsKinematic inversion of a 7-DOF industrial manipulator with non-spherical wrist
8/2/2019 ___RTSS-Morelli
82/109
A different definition of the orientation error must be used.
Kinematic structure of the Comau
SMART 3-S robot
Simulation scenario
[Caccavale et al., 1996]
// initial configuration
tri = rt_roty(%pi)*rt_rotz(-2/3*%pi);
tpi = rt_transl([.975, -2.194, 1.288]);
ti = tpi*tri;
// final configuration
trf = rt_roty(%pi)*rt_rotz(3/4*%pi);
tpf = rt_transl([.975, -.594, 1.288]);
tf = tpf*trf;
// travelling time 6 sec.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 82 / 109 Scicos Motion control
First-order closed-loop inverse kinematicsKinematic inversion of a 7-DOF industrial manipulator with non-spherical wrist
8/2/2019 ___RTSS-Morelli
83/109
+
11
11
22
Tr2XYZRTSS
Tr2XYZRTSS
Mux
Mux
Tr2NOARTSS
Tr2NOA
RTSS
1/2*( n x nd + o x od + a x ad )
Mux
Error block for axis-angle representation of the orientation
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 83 / 109 Scicos Motion control
First-order closed-loop inverse kinematicsAnalysis of simulation results
8/2/2019 ___RTSS-Morelli
84/109
0 1 2 3 4 5 60.0e+00
5.0e07
1.0e06
1.5e06
2.0e06
2.5e06
Normo
fpositionerror(m)
0 1 2 3 4 5 60.0e+00
5.0e07
1.0e06
1.5e06
2.0e06
2.5e06
3.0e06
Time (s)
Normo
ftheorientationerror(rad)
Time history of the EE error
Launch the movie!
Comau SMART 3-S performing the
task
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 84 / 109 Scicos Developments
Outline
http://./videos/s3sp.avihttp://./videos/s3sp.avi8/2/2019 ___RTSS-Morelli
85/109
1 Robotic manipulators modelling with ScicosLab
Rigid body transformationsBuilding serial-link manipulator models
Analysis of serial-link manipulators
2 Robot control systems design using Scicos
Basic concepts
Motion control
Further applications
3 Robot control code generation for use with Linux RTAIDeveloping RTAI-based centralized controllers with RTAI-Lab
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 85 / 109 Scicos Developments
Further applicationsBlocks under developments
8/2/2019 ___RTSS-Morelli
86/109
nonameJ
0 .
RTSS
Time-derivative Jacobian block
Applications
Second order CLIK
algorithms;
operational space control;
interaction control.
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 86 / 109 Scicos Developments
Further applicationsBlocks under developments
8/2/2019 ___RTSS-Morelli
87/109
noname
RNE+
RTSS
Inverse dynamics block plusenvironment interaction
Applicationsinteraction control.
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 87 / 109 Scicos Developments
Further applicationsBlocks under developments
8/2/2019 ___RTSS-Morelli
88/109
Unit quaternion blocks;
other blocks forhomogeneous transforms.
Applications
Countless.
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 88 / 109 Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Outline
8/2/2019 ___RTSS-Morelli
89/109
1 Robotic manipulators modelling with ScicosLab
Rigid body transformationsBuilding serial-link manipulator models
Analysis of serial-link manipulators
2 Robot control systems design using Scicos
Basic concepts
Motion control
Further applications
3 Robot control code generation for use with Linux RTAIDeveloping RTAI-based centralized controllers with RTAI-Lab
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 89 / 109 Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanDesired reference trajectories in joint space
8/2/2019 ___RTSS-Morelli
90/109
Positions
Sinusoidal term (010 s);
homing traj. (1012 s);
sampling time: 5 ms.
Velocities and accelerations
By direct differentiation.0 2 4 6 8 10 12
0.2
0.0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
Time [s]
[rad]
joint 1joint 2
Graphs of the reference positions
against time
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 90 / 109 Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanOn the digital implementation of the control system
Digital implementation of the control law amounts to discretizing the
8/2/2019 ___RTSS-Morelli
91/109
g p g
inner and outer control loops.
Kv,c
Kp,c
B(qk)
D/A MANIPULATOR
n(qk, qk)
A/D
A/D
Software Hardware
qdk
qdk
qdk
qk
qk
yk k
q
q
qk
qk
qk
INVERSE DYNAMICS CONTROLLER
Digital implementation of the inverse dynamics control scheme
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 91 / 109 Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanScicos block diagram for simulation
Trajectory generator uses a set of From Workspace blocks from the
8/2/2019 ___RTSS-Morelli
92/109
j y g p
standard Sources palette.
Pelicanrt_robot
CONTROLLERINVERSE DYNAMICS
+
+GENERATOR
TRAJECTORY
S/H
S/H
S/H
kqk.
qk
q.
q
qk~qk~.
qk.qk
qd..qd.qd
pos_err
To workspace
comp_torq
To workspace
Scicos block diagram for the control system (simulation)
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 92 / 109 Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanA look inside the Inverse dynamics controller block
Coded forms of the PD gainsContext of the diagram
8/2/2019 ___RTSS-Morelli
93/109
Coded forms of the PD gains
Kp,c = diag{1500, 14000} [s2]Kv,c = diag{76.21, 353.71} [s
1]
pelnf = rt_nofriction(pel, coulomb);
pelp = rt_perturb(pelnf, 0.25);Kpc = diag([1500, 14000]);
Kvc = diag([76.21, 353.71]);
P/NF/Pelicanrt_rne
11 Kpc
22
33
4455
11
Kvc
qk~
qk~.
qd..
k
qk
qk.yk
k
Block diagram for the digital controller
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 93 / 109 Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanAnalysis of simulation results
3e04
Position errors
joint 1
8/2/2019 ___RTSS-Morelli
94/109
0 2 4 6 8 10 123e04
2e04
1e04
0e+00
1e04
2e04
[rad]
0 2 4 6 8 10 122
0
2
4
6
8
10
Computed torques
Time [s]
[Nm]
j
joint 2
Graph of position errors and computed torques against the time
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 94 / 109 Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanScicos block diagram for real time code generation
Difference between the diagrams for simulation and real time code
8/2/2019 ___RTSS-Morelli
95/109
generation: trajectory generator and scope blocks.
Pelicanrt_robot
CONTROLLERINVERSE DYNAMICS
+
+GENERATOR
TRAJECTORY
POSERR2Scope
POSERR1Scope
TORQUE1Scope
Demux
TORQUE2Scope
S/H
S/H
S/H
kqk.
qk
q.
q
qk~qk~.
qk.qk
qd..qd.qd
Scicos block diagram for the control system (real time control)
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 95 / 109 Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanA look inside the trajectory generator
Trajectory generator uses a set of extdata blocks from the RTAI-Lib
8/2/2019 ___RTSS-Morelli
96/109
palette.
M
ux
dats/qd1.dat
extdata
dats/qd2.dat
extdata
dats/Dqd2.dat
extdata
dats/Dqd1.dat
extdata
dats/DDqd1.dat
extdata
dats/DDqd2.dat
extdata
11
qd ..q.qd11
M
ux
22
M
ux
d33
Block diagram for the trajectory generator (real time control)
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 96 / 109 Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanWhat if the robot arm were physically available?
The mathematical representation of the robot should be substituted by
8/2/2019 ___RTSS-Morelli
97/109
COMEDI DAC/ADC blocks from RTAI-Lib.
CONTROLLERINVERSE DYNAMICS
+
+GENERATOR
TRAJECTORY
POSERR2Scope
POSERR1Scope
TORQUE1Scope
Demux
TORQUE2Scope
kqk.
qkqk~qk~.
qk.qk
qd..qd.qd
COMEDI D/A
COMEDI A/D
COMEDI A/D
Block diagram for real time control with a set of COMEDI blocks
M Morelli (Centro E Piaggio UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11 A21 Robotica 1 97 / 109 Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanStandalone, hard real time controller generation in two steps (1)
Step 1: Excluding the Clock, construct a super block (SB) out of
8/2/2019 ___RTSS-Morelli
98/109
Step 1: Excluding the Clock, construct a super block (SB) out of
the diagram for real time control (RTC).
Actions
1 Use the
Region-to-Super-block
facility to construct the SB;
2 click the RTAI CodeGen button;
3 click on the SB.
RTC diagram after step 1
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 98 / 109
Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanStandalone, hard real time controller generation in two steps (2)
Step 2: Adjust the properties for code generation by setting
T l h i d
8/2/2019 ___RTSS-Morelli
99/109
rtss_rtai as Toolchain and press OK.
RTAI CodeGen dialog box
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 99 / 109
Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanStandalone, hard real time controller generation
The compilation starts and completes. An executable file called
i t d
8/2/2019 ___RTSS-Morelli
100/109
pelicanidc is created.
Compilation output in the Scilab window
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 100 / 109
Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanMonitoring the real time controller with the QRtaiLab Graphical User Interface
8/2/2019 ___RTSS-Morelli
101/109
QRtaiLab with the scope manager and the position errors scopes
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 101 / 109
Code Generation RTSS/Scicos_RTAI/RTAI-Lab
Real-Time inverse dynamics controller for the PelicanMonitoring the real time controller with the QRtaiLab Graphical User Interface
8/2/2019 ___RTSS-Morelli
102/109
QRtaiLab with the scope manager and the computed torques scopes
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 102 / 109
Summary
M i f f RTSS
8/2/2019 ___RTSS-Morelli
103/109
Main features of RTSS
Modelling and simulation of robotic manipulators in the
ScicosLab/Scicos environment;
Development of soft/hard real time control systems with the
Scicos-HIL toolbox and the Scicos RTAI Code Generator.
Current and future developments in RTSS
Development of new blocks;
support for robot hands and closed-chain systems;
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 103 / 109
Further readings about RTSS
General information: http://rtss.sourceforge.net/
http://rtss.sourceforge.net/http://rtss.sourceforge.net/8/2/2019 ___RTSS-Morelli
104/109
General information: http://rtss.sourceforge.net/
Introduction and key features;
software download and licensing information;
support and contributions.
Development reference source:
http://sourceforge.net/apps/mediawiki/rtss/
Roadmap and updates about the status of development;
technical documentation for developers and advanced users;
notes about the compatibility among different Scilab versions.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 104 / 109
ReferencesGeneric references
http://rtss.sourceforge.net/http://sourceforge.net/apps/mediawiki/rtss/http://sourceforge.net/apps/mediawiki/rtss/http://rtss.sourceforge.net/8/2/2019 ___RTSS-Morelli
105/109
P.I. Corke.
A robotics toolbox for MATLAB.
IEEE Robotics and Automation Magazine, vol. 3, pp. 2432,
Mar. 1996.
A. Winkler and J. Such.
Novel joint space force guidance algorithm with laboratory robot
system.
Proceedings of the 16th IFAC World Congress, 2005.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 105 / 109
ReferencesTechnical Literature of the Pelican arm model treated in this presentation
8/2/2019 ___RTSS-Morelli
106/109
R. Kelly, V. Santibez and A. Lora.
Control of Robot Manipulators in Joint Space.
Advanced Textbooks in Control and Signal Processing,Springer-Verlag, London, 2005.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 106 / 109
ReferencesTechnical Literature of the Manutec r3 robot model treated in this presentation
8/2/2019 ___RTSS-Morelli
107/109
M. Otter and S. Trk.
The DFVLR Models 1 and 2 of the Manutec r3 Robot.
Technical Report DFVLRMitt.8813, DLR, Institut fr Robotik und
Systemdynamik, Postfach 11 16, D82234 Wessling, May 1988.
J. Franke and M. Otter.The Manutec r3 Benchmark Models for the Dynamic Simulation of
Robots.
Technical Report TR R101-93, DLR, Institut fr Robotik und
Systemdynamik, Postfach 11 16, D82234 Wessling, March 1993.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 107 / 109
ReferencesTechnical Literature of the Manutec r3 robot model treated in this presentation
8/2/2019 ___RTSS-Morelli
108/109
P. Anell.Modeling of multibody systems in Omola.
Master thesis ISRN LUTFD2/TFRT5516SE, Department of
Automatic Control, Lund Institute of Technology, Lund, Sweden,
Sep 1994.
M. Vukobratovic et al.
Dynamics and Robust Control of Robot-environment Interaction.
World Scientific Publishing Co., Inc., River Edge, NJ, USA, 2009.
D. Katic and M. Vukobratovic.
Intelligent Control of Robotic Systems.Kluwer Academic Publishers, 2003.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 108 / 109
ReferencesTechnical Literature of the other models and simulation scenarios presented in this work
8/2/2019 ___RTSS-Morelli
109/109
F. Caccavale et al.
Experiments of kinematic control on a redundant robot manipulator
with non-spherical wrist.
Laboratory Robotics and Automation, vol. 8, pp. 2536, 1996.
L. Sciavicco and B. Siciliano.
Modelling and Control of Robot Manipulators.
Advanced Textbooks in Control and Signal Processing, London,
UK: Springer-Verlag, 2nd ed., 2000.
M. Morelli (Centro E.Piaggio, UNIPI) the Robotics Toolbox for Scilab/Scicos 25/05/11, A21, Robotica 1 109 / 109