___RTSS-Morelli

  • Upload
    engrode

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

  • 8/2/2019 ___RTSS-Morelli

    1/109

    An open-source package for analysis and control ofserial-link robotic manipulators

    M. Morelli

    [email protected]

    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.avi
  • 8/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.avi
  • 8/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.avi
  • 8/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