02 kinematic redundancy

Upload: ivan-avramov

Post on 03-Apr-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 02 Kinematic Redundancy

    1/55

    Robotics 2

    Prof. Alessandro De Luca

    Robots with

    kinematic redundancy

  • 7/28/2019 02 Kinematic Redundancy

    2/55

    Redundant robots

    Robotics 2 2

    direct kinematics of the taskr = f(q)

    a robot is (kinematically) redundant for the task ifN>M(more degrees of freedom than strictly needed for executing the task)

    r may contain the position and/or the orientation of theend-effector or, more in general, be any parameterizationof the task(even not in the Cartesian workspace)

    redundancy is thus a relative concept, i.e., with respectto a given task

    f: Q R

    task space (dim R = M)joint space (dim Q = N)

  • 7/28/2019 02 Kinematic Redundancy

    3/55

    Some tasks and their dimensions

    position in the plane position in 3D space orientation in the plane pointing in 3D space position and orientation in 3D space

    2

    3

    1

    2

    6

    a planar robot with N=3 joints is redundant for the task

    ofpositioning its E-E in the plane (M=2), but NOT for thetask ofpositioning AND orienting the E-E in the plane (M=3)

    TASK [for the end-effector (E-E)] dimension M

    Robotics 2 3

  • 7/28/2019 02 Kinematic Redundancy

    4/55

    Typical cases of redundant robots

    6R robot mounted on a linear track/rail 6-dof robot used for arc welding tasks

    task does not prescribe the final roll angle of the welding gun

    manipulator on a mobile base dexterous robot hands team of cooperating (mobile) robots humanoid robots...kinematic redundancy is not the only type

    redundancy of components (actuators, sensors) redundancy in the control/supervision architecture

    Robotics 2 4

  • 7/28/2019 02 Kinematic Redundancy

    5/55

    Uses of robot redundancy

    avoid collision with obstacles (in Cartesian workspace) or kinematic singularities (injoint space) increase manipulability in specified directions stay within the feasible joint ranges

    uniformly distribute/limit joint velocities and/or accelerations minimize energy consumption or needed motion torques optimize execution time increase dependability with respect to faults ...

    all objectives should bequantitatively measurable

    Robotics 2 5

  • 7/28/2019 02 Kinematic Redundancy

    6/55

    DLR robots: LWR-III and Justin

    7Rlightweight modular manipulator:elastic joints (HD), joint torque sensing,

    13.5 kg weight = payload!!

    Justin two-arm upper-body humanoid:

    43Ractuated =two arms (27) +torso (3)

    +head (2) +two hands (212),45 kg weight

    Robotics 2 6

  • 7/28/2019 02 Kinematic Redundancy

    7/55

    Video Justin carrying a trailer

    Robotics 2 7

    motion planning in the configuration space,avoiding Cartesian obstacles and using robot redundancy

  • 7/28/2019 02 Kinematic Redundancy

    8/55

    Video Dual-arm redundancy

    Robotics 2 8

    two 6RComau robots, with one on a linear track (+1P)coordinated 6D motion using the null-space of the robot on the right (N-M=1)

    DIS, Uni Napoli

  • 7/28/2019 02 Kinematic Redundancy

    9/55

    Videos Self-motion

    8RDexter: self-motion withconstant 6D pose of E-E (N-M=2)

    6Rrobot with spherical shoulderin compliant tasks for the

    Cartesian E-E position (N-M=3)

    Robotics 2 9

    Nakamuras Lab, Uni Tokyo

  • 7/28/2019 02 Kinematic Redundancy

    10/55

    Video Obstacle avoidance

    6Rplanar arm moving on a given geometric path for the E-E (N-M=4)

    Robotics 2 10

  • 7/28/2019 02 Kinematic Redundancy

    11/55

    Videos Mobile manipulators

    Magellan + 3R arm (N=6, Nu=5):E-E trajectory control on a circle,

    with E-E pointing task (Nu-M=0!!)

    Unicycle + 2R planar arm (N=5, Nu=4):E-E trajectory control on a circle,

    with pointing task for first link (Nu-M=1)

    Robotics 2 11

    commands Nu are less than generalized coordinates N!!

  • 7/28/2019 02 Kinematic Redundancy

    12/55

    Humanoid robots HRP2

    built by Kawada Industries, Inc. for the Humanoid Robotics Project (HRP)sponsored by the Japanese Ministry of Economy, Trade, and Industry

    Robotics 2 12

    a hyper-redundant system, but with a few non-actuated dofs (at the base!)

  • 7/28/2019 02 Kinematic Redundancy

    13/55

    Video Humanoid robot HRP2

    JRL CNRS-AIST Joint Research Lab, Toulouse-TsukubaE. Yoshida, C. Esteves, T. Sakaguchi, J.-P. Laumond, and K. Yokoi

    Smooth collision avoidance: Practical issues in dynamic humanoid motionIEEE Int. Conf. on Intelligent Robotics and Systems, 2006

    Robotics 2 13

    whole body motion/navigation avoiding obstacles

  • 7/28/2019 02 Kinematic Redundancy

    14/55

    Disadvantages of redundancy

    potential benefits should be traded off a greater structural complexity of construction

    mechanical (more links, transmissions, ...)

    more actuators, sensors, ...

    costs

    more complicated algorithms for inverse kinematics

    and motion control

    Robotics 2 14

  • 7/28/2019 02 Kinematic Redundancy

    15/55

    Inverse kinematics problem

    find q(t) that realizes the task: f(q(t)) = r(t)(at all times t) infinite solutions exist when the robot is redundant

    (even for r(t)= r =constant)

    the robot arm may have internal displacements that areunobservable during task execution (e.g., in the E-E motion)

    these internal displacements can be chosen so as to improve/optimize in some way the system behavior

    self-motion: an arm reconfiguration in the joint space thatdoes not change/affect the value of the task variables r

    r = constantE-E positionN = 3 > 2 = M

    Robotics 2 15

  • 7/28/2019 02 Kinematic Redundancy

    16/55

    given r(t) and q(t), t=kTs

    Redundancy resolutionvia optimization of an objective function

    Local Global

    )t(q

    given r(t), t [t0, t0+T], q(t0)

    (optimization of H(q, ))q (optimization of )H(q,q)d

    t 0

    t 0 +T

    q(t), t [t0, t0 + T]ON-LINE

    OFF-LINEq((k+1)Ts) = q(kTs)+ Ts q(kTs)

    .

    Robotics 2 16

    discrete time form

    relatively EASY

    (a linear problem)

    quite DIFFICULT

    (TPBV problems arise)

  • 7/28/2019 02 Kinematic Redundancy

    17/55

    Local resolution methods

    Jacobian-based methods (here, analytic Jacobian in general!)among the infinite solutions, one is chosen, e.g., that minimizes asuitable (possibly weighted) norm

    null-space methodsa term is added to the previous solution so as not to affect thetask trajectory execution, i.e., belonging to the null-space (J(q))

    task augmentation methodsredundancy is reduced/eliminated by adding S

    N-M furtherauxiliary tasks (when S = N-M, the problem has been squared)

    three classes of methods for solving r = J(q)q

    1

    2

    3

    Robotics 2 17

  • 7/28/2019 02 Kinematic Redundancy

    18/55

    Jacobian-based methods

    we look for a solution to in the form

    q =K(q)r K =

    M

    N

    r = J(q) q

    minimum requirement for K: J(q)K(q)J(q) = J(q)

    ( K = generalized inverse of J)

    r J(q)( )

    example:if J = [Ja Jb], det(Ja) 0, one such generalized inverse of J is

    (actually, this is a stronger right-inverse)

    Kr=

    Ja1

    0

    J(q) K(q)r[ ] = J(q)K(q)J(q) q = J(q)q = r

    1

    J =

    N

    M

    Robotics 2 18

  • 7/28/2019 02 Kinematic Redundancy

    19/55

    Pseudoinverse

    J# always exists, and is the unique matrix satisfyingJ J# J = J J# J J# = J#

    (J J#)T = J J# (J# J)T = J# J

    if J is full (row) rank, J# = JT (J JT)-1 ; else, it is computednumerically using the SVD (Singular Value Decomposition) of J

    (pinvof Matlab)

    the solution minimizes the norm

    q = J# (q)r

    q 12q 2 = 1

    2qTq

    ... a very common choice: K = J#

    Robotics 2 19

  • 7/28/2019 02 Kinematic Redundancy

    20/55

    Weighted pseudoinverse

    if J is full (row) rank, = W-1 JT (J W-1 JT)-1 the solution minimizes the weighted norm

    large weight Wi small qi(e.g., weights can bechosen proportionally to the inverses of the joint ranges)

    it is NOT a pseudoinverse (4th relation does not hold ...)

    p)q(Jq #w =

    q

    qWq2

    1q

    2

    1 T2w

    =

    #

    wJ

    another choice: K = #wJ

    W > 0, symmetric(often diagonal)

    .

    Robotics 2 20

  • 7/28/2019 02 Kinematic Redundancy

    21/55

    SVD and pseudoinverses

    the SVD routine of Matlab applied to J provides two orthonormalmatrices UMM and VNN , and a matrix MN of the form

    where= rank(J) M, so that their product is J=UT V show that the pseudoinverse of J is always equal to

    for any rankof J

    show that matrix is obtained by solving the constrained linear-quadratic (LQ) optimization problem (with W>0)

    and that the pseudoinverse is a particular case for W=I

    min1

    2q

    w

    2s.t. J(q)q r = 0

    #

    wJ

    Robotics 2 21

    J#=V

    T

    #U

    1

    2

    > 0,

    +1==

    M= 0

    =

    1

    2

    M

    0Mx(N-M)

    singular values of J

  • 7/28/2019 02 Kinematic Redundancy

    22/55

    Limits of Jacobian-based methods

    no guarantee that singularities are globally avoided duringtask execution despite joint velocities are kept to a minimum, this is a local property

    and avalanche phenomena may occur

    may/typically lead to non-repeatable solutions cyclic motions in task space do not map to cyclic motions injoint space

    after1 tour

    qinqfin qin

    q(t) = qin + K(q)r()d0

    t

    Robotics 2 22

  • 7/28/2019 02 Kinematic Redundancy

    23/55

    Singularity robustnessDamped Least Squares

    induces a robust behavior when crossing singularities, but in thisbasic version it gives always a task error (same as in N=M case)

    thus, JDLS is not a generalized inverse K choice of a variable damping factor (q)0 , as a function of the

    minimum singular value of J measure of the singularity distance

    numerical filtering: introduces damping only in the non-feasibledirections of the task, using a modified SVD/pseudoinverse

    minq

    2q

    2+1

    2Jq r

    2=H(q)

    q= JDLS(q) r = J

    T JJT + I( )1

    rSOLUTION

    unconstrainedminimization

    damped leastsquares (DLS)

    Robotics 2 23

  • 7/28/2019 02 Kinematic Redundancy

    24/55

    Null-space methods

    q = J#r + I J#J( ) q0

    projection matrix in (J)a particular solution

    (here, the pseudoinverse) symmetric idempotent: [I J#J]2 = [I J#J][I J#J]# = [I J#J]

    properties of

    [I J#J]

    general solution of Jq=r. .

    all solutions of the associatedhomogeneous equation Jq=0

    (self-motions)

    .

    q =K1 r + I K2J( ) q0K1, K2 generalized inverses of J

    (JKiJ=J)

    more in general

    2

    how to choose q0?.

    Robotics 2 24

  • 7/28/2019 02 Kinematic Redundancy

    25/55

    = JW1JT( )

    1Jx0 y( )

    xL =L

    x

    T

    =W x x0( )+ JT = 0

    L = Jx y = 0

    Linear-Quadratic Optimizationgeneralities

    minx

    1

    2x x

    0( )T

    W x x0( ) =H(x)

    (symmetric)0W,Rx N >I

    s.t. Jx = y MRy I , (J) = MM x N

    ( )yJx)x(H),x(LT

    +=

    T1

    0JWxx

    =

    0yJJWJx T10 =

    x = x0 W

    1JT JW1JT( )1

    Jx0 y( )

    M M invertible

    Lagrangian

    necessaryconditions

    0WL2

    x >=

    +sufficient

    conditionfor aminimum

    Robotics 2 25

  • 7/28/2019 02 Kinematic Redundancy

    26/55

    Linear-Quadratic Optimizationapplication to robot redundancy resolution

    minq

    12q q0( )

    TW q q0( ) =H(q)

    q = q0 W1JT JW1JT( )

    1 Jq0 r( )

    #

    WJ

    q= JW#r + I JW

    # J( )q0projection matrix in

    the null-space (J)

    J(q) q = r

    minimum weighted normsolution (for q0= 0)

    .

    SOLUTION

    PROBLEMq0 is a

    privilegedjoint velocity

    .

    Robotics 2 26

  • 7/28/2019 02 Kinematic Redundancy

    27/55

    Projected Gradient (PG)

    q = J

    #

    r + I J#

    J( )q0

    q1

    q2

    q3qH

    Sq .q-

    Sq = {q RN: f(q) = r}I -

    for a fixed r-

    the choice q0 = q H(q) differentiable objective function

    realizes one step of a constrained optimization algorithm

    .

    while executing the time-varying taskr(t)the robot tries to increase the value ofH(q)

    q = (I - J#J)qH.

    projectedgradient

    Robotics 2 27

  • 7/28/2019 02 Kinematic Redundancy

    28/55

    Typical objective functions H(q)

    manipulability (maximize the distance from singularities)

    joint range (minimize the distance from the mid points of the joint ranges)

    obstacle avoidance (maximize the distance from Cartesian obstacles)

    Hman(q) = det J(q)JT(q)

    Hrange(q) =1

    2N

    qi qiqM,i qm,i

    2

    i=1

    N

    Hobs(q) = minarobotbobstacles

    a(q)b2 potential differentiability

    issues, since this isa max-min problem

    q0 =- qH(q).

    Robotics 2 28

  • 7/28/2019 02 Kinematic Redundancy

    29/55

    Singularities of planar 3R arm

    H(q) = sin2 q2 + sin2 q3

    q2

    q3-

    -

    H(q)

    q2

    q3

    - q2

    -

    q3

    iso-level curves of H(q)

    for a positioning task

    in the plane (M=2),this robot is redundant

    it is not Hman,

    but has the same minima

    independent from q1!

    Robotics 2 29

    links of equal (unit) length

  • 7/28/2019 02 Kinematic Redundancy

    30/55

    Comments on null-space methods

    the projection matrix (I J#J) has dimension NN, but only rank N-M(if J is full rank M), with some waste of information

    actual (efficient) evaluation of the solution

    but the pseudoinverse is needed anyway, and this is computationally

    intensive

    in principle, the complexity of a redundancy resolution method shoulddepend only from the redundancy degree NM

    a constrained optimization method is available, which is known to bemore efficient than the projected gradient (PG) ---at least when the

    Jacobian has full rank

    q = J#r + I J#J( )q0 = q0 + J# r - Jq0( )

    Robotics 2 30

  • 7/28/2019 02 Kinematic Redundancy

    31/55

    Reduced Gradient (RG)

    if(J(q)) = M, there exists a partition of the set of joints (possibly,after a reordering)

    from the implicit function theorem, there exists then a function gf(qa, qb) = r qa= g(r, qb)

    the N-M independent variables qb are used to optimize the objectivefunction H(q) (reduced via the use of g to a function of qb only) bythe gradient method

    qa = g(r, qb) are then chosen so as to correctly execute the task

    q =qa

    qb

    M

    N-MJa(q) =

    f

    qasuch that is nonsingular

    MM

    g

    qb=

    f

    qa

    1

    f

    qb= Ja

    1(q)Jb(q)with

    Robotics 2 31

  • 7/28/2019 02 Kinematic Redundancy

    32/55

    Reduced Gradient algorithm

    H(q) = H(qa,qb) = H(g(r,qb),qb) = H(qb), with r at current value the reduced gradient (w.r.t. qb only, but still keeping the effects

    of this choice into account) is

    ALGORITHM

    qbH' = Ja

    1 Jb( )T

    I qH

    qb =qbH'step in the gradient direction of

    the reduced (N-M)-dim space

    satisfaction of the M-dim

    task constraintsqa = Ja

    1 r Jbqb( )

    Jaqa + Jbqb = r

    ( qbH !! )

    Robotics 2 32

  • 7/28/2019 02 Kinematic Redundancy

    33/55

    Comparison between PG and RG

    Projected Gradient (PG)

    Reduced Gradient (RG)

    RG is analytically simpler and numerically faster than PG,but requires the search for a non-singular minor (Ja) of therobot Jacobian

    ifr = cost & N-M=1 same (unique) direction for q, butRG has automatically a larger optimization step size

    else, RG and PG provide always different evolutions

    q=

    qa

    qb

    =

    Ja1

    0

    r+

    Ja1Jb

    I

    Ja

    1

    Jb( )

    T

    I( )qH

    q = J# r + I J#J( )qH

    .

    Robotics 2 33

  • 7/28/2019 02 Kinematic Redundancy

    34/55

    Analytic comparisonPPR robot

    q1q2

    q3

    J = 1 0 s30 1 c

    3

    = Ja Jb( ) qa = q1q2 qb = q3

    PG: q = J#r + I J#J( )qH

    J#=

    1

    1+ 2

    1+ 2c3

    22s3c3

    2s3c3

    1+ 2s3

    2

    s3

    c3

    I J#

    J( )=

    1

    1+ 2

    2s3

    2 sym

    2

    s3c32

    c32

    s3 c3 1

    q =

    1 0

    0 1

    0 0

    r +

    s3

    c3

    1

    s3 c3 1( )qH

    RG: q =Ja1

    0

    r +

    Ja1Jb

    I

    Ja

    1Jb( )T

    I( )qH

    always < 1!!Robotics 2 34

  • 7/28/2019 02 Kinematic Redundancy

    35/55

    Joint range limits

    S

    G

    90 i +90

    numerical comparison among pseudoinverse (PS),projected gradient (PG), and reduced gradient (RG) methods

    q1

    q2q4

    task:

    E-E linear pathfrom S to G

    q =

    1 0 0 0

    1 1 0 0

    1 1 1 0

    1 1 1 1

    = T

    =

    1 0 0 0-1 1 0 0

    0 -1 1 0

    0 0 -1 1

    q = T -1 q

    90 qi qi1 +90absoluterelativecoordinates

    Robotics 2 35

    initial configuration

  • 7/28/2019 02 Kinematic Redundancy

    36/55

    Numerical resultsminimizing distance from mid joint range

    joint 1 joint 2

    joint 3 joint 4

    Robotics 2 36

    upper

    limit

    steps of numerical simulation

  • 7/28/2019 02 Kinematic Redundancy

    37/55

    Numerical resultsobstacle avoidance

    pseudoinverse

    reduced gradient

    q = J# r

    xfixedobstacle

    H(q) = x sinq4 isin q4 qi( )i=1

    3

    constrained maximization of

    r

    r

    Robotics 2 37

  • 7/28/2019 02 Kinematic Redundancy

    38/55

    Numerical resultsself-motion for escaping singularities

    max H(q) = sin2 qi+1 qi( )

    i=1

    3

    steps ofnumerical simulation

    r0

    RG is faster than PG(keeping the same accuracy on r)

    (optimal)this function is actually NOT

    the manipulability index,but has the same minima (=0)

    Robotics 2 38

  • 7/28/2019 02 Kinematic Redundancy

    39/55

    Task augmentation methods

    an auxiliary taskis added (task augmentation)fy(q) = y

    corresponding to some desirable feature for the solution

    a solution is chosen still in the form

    or adding a term in the null space of the augmentedJacobian JA

    3

    S S N-M

    rA=J(q)

    Jy (q)

    q = JA(q)q

    q =KA(q) rA

    rA=r

    y

    =

    f(q)

    fy (q)

    N

    M+SJA

    Robotics 2 39

  • 7/28/2019 02 Kinematic Redundancy

    40/55

    Augmenting the task

    advantage: better shaping of the inverse kinematic solution

    disadvantage: algorithmic singularities are introduced when

    (J) = M (Jy) = S but (JA) < M+S

    it should always be JT( ) JyT( ) =

    difficult to be obtained globally!

    rows of J AND rows of Jyare all together

    linearly independent

    Robotics 2 40

  • 7/28/2019 02 Kinematic Redundancy

    41/55

    Augmented taskexample

    r(t)

    N = 4, M = 2

    fy(q) = q4 = /2 (S = 1)last link to be held vertical

    absolute joint coordinates

    Robotics 2 41

  • 7/28/2019 02 Kinematic Redundancy

    42/55

    Extended Jacobian (S = N-M)

    square JA: in the absence ofalgorithmic singularities, we can choose

    the scheme is then clearly repeatable when fy(q) = 0 corresponds to the necessary (& sufficient) conditions

    for constrained optimality of a given objective function H(q), thisscheme guarantees that (local) optimality is preserved during task

    execution

    in the presence algorithmic singularities, the execution of theoriginal taskas well as of the auxiliary tasks is affected by errors

    q = JA1

    (q)rA

    Robotics 2 42

  • 7/28/2019 02 Kinematic Redundancy

    43/55

    Extended Jacobianexample

    r(t)

    y(t)

    MACRO-MICRO manipulator

    N = 4, M = 2

    r = J q1,q4( )q

    y = Jy q1,q2( ) q

    JA

    =

    * *

    * 0

    44

    Robotics 2 43

  • 7/28/2019 02 Kinematic Redundancy

    44/55

    Task Priority

    we first address the task with highest priority

    and then choose v so as to satisfy, if possible, also the secondary(lower priority) task

    the general solution for v takes the usual form

    r=

    J(q)qy = Jy (q)q

    q = J#r + (I J#J)v

    y = Jy (q)q = JyJ

    #r + Jy (I J#J)v = JyJ

    # r + Jyv

    v = Jy# (y JyJ#r) + (I Jy# Jy )w

    w is available for execution of further tasks of lower (ordered) priorities

    Robotics 2 44

    if the original (primary) task has higher prioritythan the auxiliary (secondary) task

  • 7/28/2019 02 Kinematic Redundancy

    45/55

    Task Priority (continue)

    substituting the expression of v in

    q = J#r + (I J#J) Jy#(y JyJ

    #r) + (I J#J)(I Jy# Jy )w

    q

    Jy#it is always C[BC]# =[BC]#

    for an idempotent C matrixpossibly = 0

    main advantage: highest priority task no longer affectedby algorithmic singularities

    WITHOUTtask priority

    WITHtask priority

    task 1: follow

    task 2: verticalthird link

    Robotics 2 45

  • 7/28/2019 02 Kinematic Redundancy

    46/55

    Extensions

    up to now, redundancy resolution schemes were: defined at first-order differential level (velocity)

    it is possible to work in acceleration useful for obtaining smoother motion

    allows to include consideration ofdynamics just seen as planning, not control methods

    not taking into account errors in task execution it is convenient to use kinematic control

    applied to robot manipulators with fixed base can be extended also to wheeled mobile manipulators ... and of course to walking/standing humanoid robots

    Robotics 2 46

  • 7/28/2019 02 Kinematic Redundancy

    47/55

    Resolution at acceleration level

    rewritten in the form

    the problem is formally equivalent to the former one,with acceleration in place of velocity commands

    for instance, in the null-space method

    r=

    f(q) r=

    J(q)q r = J(q) q+J(q) q

    J(q) q = r J(q)q = x

    to be chosen given

    (at time t)

    known q, q

    (at time t)

    .

    q = J#(q) x + I - J#(q)J(q)

    ( )q0

    solution with minimum

    acceleration norm

    1

    2q

    2

    =qHKD q

    needed

    to stabilizeself-motions

    in the null space(KD > 0)

    Robotics 2 47

  • 7/28/2019 02 Kinematic Redundancy

    48/55

    Dynamic redundancy resolution schemesas Linear-Quadratic optimization problems

    dynamic model of a robot manipulator (more later!)

    J(q) q= x (= r J(q)q)

    NN symmetric inertia matrix,positive definite for all q

    Coriolis/centrifugal vector c(q,q)

    + gravity vector g(q)

    minimum torque norm

    H1(q) =1

    2

    2=

    1

    2qTB2(q)q+nT(q,q)B(q) q+

    1

    2nT(q,q)n(q,q)

    Robotics 2 48

    B(q) q+n(q,q) =

    input torque vector(provided by the motors)

    .

    M-dimensionalacceleration task

    typical dynamic objectives to be locally minimized at (q,q)

    H2(q) =1

    2

    B2

    2=1

    2TB-2(q) =

    1

    2qTq+nT(q,q)B-1(q) q+

    1

    2nT(q,q)B-2(q)n(q,q)

    minimum torque (squared inverse inertia weighted) norm

    .

  • 7/28/2019 02 Kinematic Redundancy

    49/55

    Dynamic solutions

    Robotics 2 49

    by applying the general formula of slide #25 for LQ optimizationproblems, checkthat the following closed-form expressions areobtained (in the assumption of full rank Jacobian J)

    minimum torque solution

    1 = J(q)B-1(q)( )

    #r - J(q)q + J(q)B-1(q)n(q,q)( )

    minimum (squared inverse inertia weighted) torque solution

    2 =B(q)J#(q) r - J(q)q + J(q)B-1(q)n(q,q)( )

    try the constrained minimization of the (simple) inverse inertiaweighted norm of the torque ... you get a solution with a leadingJT(q) term: what is its physical interpretation?

    good for short trajectorieshowever, for longer trajectories it leads to torque explosion (whipping effect)

    good performance in general, to be preferred

  • 7/28/2019 02 Kinematic Redundancy

    50/55

    Kinematic control

    given a desired M-dimensional task rd(t), in order to recovera task error e = rd r due to initial mismatch or due later to

    disturbances inherent linearization error in using the Jacobian (first-order motion) discrete-time implementation

    we need to close a feedback loop on task execution, byreplacing (with diagonal matrix gains K > 0 or KP, KD > 0)

    where ,

    r in velocity-based ...rd+K r

    d r( )

    rd+K

    Drd r( )+KP rd r( )r or in acceleration-based methods

    r = f(q)r = J(q)q

    Robotics 2 50

  • 7/28/2019 02 Kinematic Redundancy

    51/55

    Mobile manipulators

    combine coordinates qb of the base + qm of the manipulator use differential map from available commands ub on the

    mobile base + um on the manipulator to task output velocity

    qb =G(qb)ub

    qm =um

    r = f(q)(task output, e.g.,the E-E pose)

    qb

    qm

    kinematic

    model of thewheeled base

    (withnonholonomicconstraints)q=

    qbqm

    RNI

    u=ub

    um

    RNuI Nu N

    Robotics 2 51

  • 7/28/2019 02 Kinematic Redundancy

    52/55

    Mobile manipulator Jacobian

    most previous results follow by just replacing

    r =f(q)

    qbqb +

    f(q)

    qmqm = Jb(q) qb + Jm(q)qm

    = Jb(q)G(qb)ub + Jm(q)um = Jb(q)G(qb) Jm(q)( )

    ub

    um

    = JNMM(q)u

    r = f(q) = f(qb, qm)

    Nonholonomic Mobile Manipulator (NMM)

    Jacobian (MNu)

    J JNMM q u. (redundancy ifNu-M > 0)

    namely, the only

    available commandsRobotics 2 52

  • 7/28/2019 02 Kinematic Redundancy

    53/55

    Videos Mobile manipulators

    Wheeled Justin: base with centeredsteering wheels (Nb=11, Nu=8)

    dancing in controlled

    but otherwise passive mode

    Car-like + 2R planar arm (N=6, Nu=4):E-E trajectory control on a line (Nu-M=2)

    with maximization of manipulability

    Robotics 2 53

    Automatica Fair 2008

  • 7/28/2019 02 Kinematic Redundancy

    54/55

    Videos Mobile manipulatorsissues in acceleration control with steering wheels

    Car-like (rear-drive speed + front steering) + 3R arm (N=7, Nu=5):E-E trajectory control on a circle (Nu-M=2)

    Robotics 2 54

    velocity commands of steering wheels do not affect the task velocity

    solution: at the task acceleration level, use mixedcommands here: joint (3) and base linear (1)accelerations + steering velocity (1)

    without null-space stabilizing term with null-space stabilizing term

  • 7/28/2019 02 Kinematic Redundancy

    55/55

    Video Humanoid robot HRP2

    Robotics 2 55

    a systematic task priority approach, with several simultaneous tasks

    IEEE Int. Conf. on Robotics and Automation, 2009

    in any order of priorityavoid the obstaclegaze at the object reach the object ...while keeping balance!

    all subtasks are locally

    expressed by linear

    equalities or inequalities(possibly relaxedwhen needed)