42
Incorporating set-based control within the singularity-robust multiple task-priority inverse kinematics Gianluca Antonelli , Signe Moe , Kristin Pettersen University of Cassino and Southern Lazio, Italy http://webuser.unicas.it/lai/robotica Norwegian University of Science and Technology, Norway http://www.ntnu.edu/amos IROS 2014 Workshop: Real-time Motion Generation & Control Antonelli, Moe, Pettersen Chicago, 18 September 2014

IROS 2014 talk

Embed Size (px)

DESCRIPTION

Inverse kinematics is an active research domain in robotics since several years due to its importance in several robotics application. Among the various approaches, differential inverse kinematics is widely used due to the possibility to real-time implementation. Redundant robotic systems exhibit more degrees of freedom than those strictly required to execute a given end-effector task, in such a case, multiple tasks can be handled simultaneously in, e.g., a task-priority architecture. This paper addresses the systematic extension of the multiple tasks singularity robust solution, also known as Null-space Based Behavioral control, to the case of set-based control tasks, i.e., tasks for which a range, rather than a specific value, is assigned. This is the case for several tasks such as, for example, mechanical joint limits of robotic arm as well as obstacle avoidance for any kind of robots. Numerical validation are provided to support the solution proposed.

Citation preview

Page 1: IROS 2014 talk

Incorporating set-based control within the

singularity-robust multiple task-priority

inverse kinematics

Gianluca Antonelli†, Signe Moe⊕, Kristin Pettersen⊕

†University of Cassino and Southern Lazio, Italyhttp://webuser.unicas.it/lai/robotica

⊕Norwegian University of Science and Technology, Norwayhttp://www.ntnu.edu/amos

IROS 2014 Workshop: Real-time Motion Generation & Control

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 2: IROS 2014 talk

Talk’s overview

A minimalistic review of Inverse Kinematics

Problem description

The proposed algorithm

Example

Open issues

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 3: IROS 2014 talk

A minimalistic review of Inverse Kinematics

Given a n-dimensional robotic system anda generic m-dimensional task (e.g., the e.e. position)

σ = f(q) ∈ Rm σ = J(q)q

An inverse mapping is required

Redundancy (n > m) may be used to handle additional tasks

✛✚

✘✙

q

✛✚

✘✙

σ

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 4: IROS 2014 talk

A minimalistic review of Inverse Kinematics

Given a n-dimensional robotic system anda generic m-dimensional task (e.g., the e.e. position)

σ = f(q) ∈ Rm σ = J(q)q

An inverse mapping is required

Redundancy (n > m) may be used to handle additional tasks

✛✚

✘✙

q

✛✚

✘✙

σ

✖✕✗✔

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 5: IROS 2014 talk

A minimalistic review of Inverse Kinematics

Given a n-dimensional robotic system anda generic m-dimensional task (e.g., the e.e. position)

σ = f(q) ∈ Rm σ = J(q)q

An inverse mapping is required

Redundancy (n > m) may be used to handle additional tasks

✛✚

✘✙

q

✛✚

✘✙

σ

✖✕✗✔

■ σa

✚✙✛✘

σb

✖✕✗✔

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 6: IROS 2014 talk

A minimalistic review of Inverse Kinematics

σ = Jq inverted by solving proper optimization problems

pseudoinverse [Whitney(1969)]

q = J †σ = JT(

JJT)−1

σ

null-space, gradient-based optimization [Liegeois(1977)]

q = J†σ +N∂h

∂q

task priority [Maciejewski and Klein(1985)],

[Nakamura et al.(1987)Nakamura, Hanafusa, and Yoshikawa]

q = J†aσa + (JbNa)

†(

σb − JbJ†aσa

)

singularity-robust task priority [Chiaverini(1997)]

q = J†aσa +NaJ

bσb

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 7: IROS 2014 talk

A minimalistic review of Inverse Kinematics

σ = Jq inverted by solving proper optimization problems

pseudoinverse [Whitney(1969)]

q = J †σ = JT(

JJT)−1

σ

null-space, gradient-based optimization [Liegeois(1977)]

q = J†σ +N∂h

∂q

task priority [Maciejewski and Klein(1985)],

[Nakamura et al.(1987)Nakamura, Hanafusa, and Yoshikawa]

q = J†aσa + (JbNa)

†(

σb − JbJ†aσa

)

singularity-robust task priority [Chiaverini(1997)]

q = J†aσa +NaJ

bσb

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 8: IROS 2014 talk

A minimalistic review of Inverse Kinematics

σ = Jq inverted by solving proper optimization problems

pseudoinverse [Whitney(1969)]

q = J †σ = JT(

JJT)−1

σ

null-space, gradient-based optimization [Liegeois(1977)]

q = J†σ +N∂h

∂q

task priority [Maciejewski and Klein(1985)],

[Nakamura et al.(1987)Nakamura, Hanafusa, and Yoshikawa]

q = J†aσa + (JbNa)

†(

σb − JbJ†aσa

)

singularity-robust task priority [Chiaverini(1997)]

q = J†aσa +NaJ

bσb

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 9: IROS 2014 talk

A minimalistic review of Inverse Kinematics

σ = Jq inverted by solving proper optimization problems

pseudoinverse [Whitney(1969)]

q = J †σ = JT(

JJT)−1

σ

null-space, gradient-based optimization [Liegeois(1977)]

q = J†σ +N∂h

∂q

task priority [Maciejewski and Klein(1985)],

[Nakamura et al.(1987)Nakamura, Hanafusa, and Yoshikawa]

q = J†aσa + (JbNa)

†(

σb − JbJ†aσa

)

singularity-robust task priority [Chiaverini(1997)]

q = J†aσa +NaJ

bσb

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 10: IROS 2014 talk

A minimalistic review of Inverse Kinematics

multiple task priority [Siciliano and Slotine(1991)]

multiple singularity-robust task priority[Mansard and Chaumette(2007)],

[Antonelli et al.(2008)Antonelli, Arrichiello, and Chiaverini], [Antonelli(2009)]

set-based multiple task priority[Kanoun et al.(2011)Kanoun, Lamiraux, and Wieber],

[Escande et al.(2013)Escande, Mansard, and Wieber],

[Simetti et al.(2013)Simetti, Casalino, Torelli, Sperinde, and Turetta]

set-based multiple singularity-robust task prioritythis work?

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 11: IROS 2014 talk

A minimalistic review of Inverse Kinematics

multiple task priority [Siciliano and Slotine(1991)]

multiple singularity-robust task priority[Mansard and Chaumette(2007)],

[Antonelli et al.(2008)Antonelli, Arrichiello, and Chiaverini], [Antonelli(2009)]

set-based multiple task priority[Kanoun et al.(2011)Kanoun, Lamiraux, and Wieber],

[Escande et al.(2013)Escande, Mansard, and Wieber],

[Simetti et al.(2013)Simetti, Casalino, Torelli, Sperinde, and Turetta]

set-based multiple singularity-robust task prioritythis work?

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 12: IROS 2014 talk

A minimalistic review of Inverse Kinematics

multiple task priority [Siciliano and Slotine(1991)]

multiple singularity-robust task priority[Mansard and Chaumette(2007)],

[Antonelli et al.(2008)Antonelli, Arrichiello, and Chiaverini], [Antonelli(2009)]

set-based multiple task priority[Kanoun et al.(2011)Kanoun, Lamiraux, and Wieber],

[Escande et al.(2013)Escande, Mansard, and Wieber],

[Simetti et al.(2013)Simetti, Casalino, Torelli, Sperinde, and Turetta]

set-based multiple singularity-robust task prioritythis work?

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 13: IROS 2014 talk

A minimalistic review of Inverse Kinematics

multiple task priority [Siciliano and Slotine(1991)]

multiple singularity-robust task priority[Mansard and Chaumette(2007)],

[Antonelli et al.(2008)Antonelli, Arrichiello, and Chiaverini], [Antonelli(2009)]

set-based multiple task priority[Kanoun et al.(2011)Kanoun, Lamiraux, and Wieber],

[Escande et al.(2013)Escande, Mansard, and Wieber],

[Simetti et al.(2013)Simetti, Casalino, Torelli, Sperinde, and Turetta]

set-based multiple singularity-robust task prioritythis work?

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 14: IROS 2014 talk

Problem description

Example of an upper bound set-based control ∗

σj(t) ≤ σmax,j

in the bearing (orange) area thetask is active, the inequality arises

0 ≥ σj(t) = J j(q(t))q(t)

satisfied violated

inactive active

S

σε σmax

This inequality should be considered together with remaining

set­based and equality tasks

∗the term active is not to be intended as in the active set method foroptimization problems of inequality constraints

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 15: IROS 2014 talk

Problem description

Example of an upper bound set-based control ∗

σj(t) ≤ σmax,j

in the bearing (orange) area thetask is active, the inequality arises

0 ≥ σj(t) = J j(q(t))q(t)

satisfied violated

inactive active

S

σε σmax

This inequality should be considered together with remaining

set­based and equality tasks

∗the term active is not to be intended as in the active set method foroptimization problems of inequality constraints

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 16: IROS 2014 talk

Problem description

Example of an upper bound set-based control ∗

σj(t) ≤ σmax,j

in the bearing (orange) area thetask is active, the inequality arises

0 ≥ σj(t) = J j(q(t))q(t)

satisfied violated

inactive active

S

σε σmax

This inequality should be considered together with remaining

set­based and equality tasks

∗the term active is not to be intended as in the active set method foroptimization problems of inequality constraints

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 17: IROS 2014 talk

Set-based control

Several tasks need to be controlled in a range ratherthan an exact value

mechanical joint limits

obstacle avoidance

directional sensors (e.g. camera)

manipulability

. . .

priority (hierarchy) also among set­based tasks

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 18: IROS 2014 talk

Set-based control

Several tasks need to be controlled in a range ratherthan an exact value

mechanical joint limits critical

obstacle avoidance critical

directional sensors (e.g. camera) not critical

manipulability not critical

. . .

priority (hierarchy) also among set­based tasks

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 19: IROS 2014 talk

Set-based control

Several tasks need to be controlled in a range ratherthan an exact value

mechanical joint limits

obstacle avoidance

directional sensors (e.g. camera)

manipulability

. . .

priority (hierarchy) also among set­based tasks

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 20: IROS 2014 talk

The underlying idea

Example:

Joint 2 in its bearing area

Its inequality constraint should be taken into account

However, a-posteriori, it might arise that the overall desiredvelocity satisfies the constraint simply ignoring it(the other tasks pushes q2 away from its limit)

A-priori it is not possible to forecast which task might provide thisvelocity (i.e., higher or lower priority, set-based or equality)

The solution is to compute all the 2na possible solutions† byconsidering or ignoring the active set-based tasks

†na is the # of active tasksAntonelli, Moe, Pettersen Chicago, 18 September 2014

Page 21: IROS 2014 talk

The underlying idea

Example:

Joint 2 in its bearing area

Its inequality constraint should be taken into account

However, a-posteriori, it might arise that the overall desiredvelocity satisfies the constraint simply ignoring it(the other tasks pushes q2 away from its limit)

A-priori it is not possible to forecast which task might provide thisvelocity (i.e., higher or lower priority, set-based or equality)

The solution is to compute all the 2na possible solutions† byconsidering or ignoring the active set-based tasks

†na is the # of active tasksAntonelli, Moe, Pettersen Chicago, 18 September 2014

Page 22: IROS 2014 talk

The underlying idea

Example:

Joint 2 in its bearing area

Its inequality constraint should be taken into account

However, a-posteriori, it might arise that the overall desiredvelocity satisfies the constraint simply ignoring it(the other tasks pushes q2 away from its limit)

A-priori it is not possible to forecast which task might provide thisvelocity (i.e., higher or lower priority, set-based or equality)

The solution is to compute all the 2na possible solutions† byconsidering or ignoring the active set-based tasks

†na is the # of active tasksAntonelli, Moe, Pettersen Chicago, 18 September 2014

Page 23: IROS 2014 talk

The underlying idea

Example:

Joint 2 in its bearing area

Its inequality constraint should be taken into account

However, a-posteriori, it might arise that the overall desiredvelocity satisfies the constraint simply ignoring it(the other tasks pushes q2 away from its limit)

A-priori it is not possible to forecast which task might provide thisvelocity (i.e., higher or lower priority, set-based or equality)

The solution is to compute all the 2na possible solutions† byconsidering or ignoring the active set-based tasks

†na is the # of active tasksAntonelli, Moe, Pettersen Chicago, 18 September 2014

Page 24: IROS 2014 talk

The underlying idea

Example:

Joint 2 in its bearing area

Its inequality constraint should be taken into account

However, a-posteriori, it might arise that the overall desiredvelocity satisfies the constraint simply ignoring it(the other tasks pushes q2 away from its limit)

A-priori it is not possible to forecast which task might provide thisvelocity (i.e., higher or lower priority, set-based or equality)

The solution is to compute all the 2na possible solutions† byconsidering or ignoring the active set-based tasks

†na is the # of active tasksAntonelli, Moe, Pettersen Chicago, 18 September 2014

Page 25: IROS 2014 talk

An example

5 tasks in priority, mixed equality and set-basedna = 2 set-based are active

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 26: IROS 2014 talk

An example

5 tasks in priority, mixed equality and set-basedna = 2 set-based are active★

✦❄

decreasing priority

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 27: IROS 2014 talk

An example

5 tasks in priority, mixed equality and set-basedna = 2 set-based are active

✒✑✓✏✒✑✓✏✒✑✓✏✒✑✓✏✒✑✓✏

each computed as if it were alone qx = J†xσx,des

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 28: IROS 2014 talk

An example

5 tasks in priority, mixed equality and set-basedna = 2 set-based are active

✧✦★✥

first step: the sole primary, equality task

(null space for next step is computed)

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 29: IROS 2014 talk

An example

5 tasks in priority, mixed equality and set-basedna = 2 set-based are active

✧✦★✥

✧✦★✥

second step: we build two solutions

by ignoring (left) or handling (right) the set­based task

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 30: IROS 2014 talk

An example

5 tasks in priority, mixed equality and set-basedna = 2 set-based are active

✧✦★✥

✧✦★✥

equality tasks are handled in the usual way

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 31: IROS 2014 talk

An example

5 tasks in priority, mixed equality and set-basedna = 2 set-based are active

✧✦★✥

✧✦★✥

✧✦★✥

✧✦★✥

each active set­based task doubles the possible solutionsAntonelli, Moe, Pettersen Chicago, 18 September 2014

Page 32: IROS 2014 talk

An example

5 tasks in priority, mixed equality and set-basedna = 2 set-based are active

✪in the end: 2na possibilities from which one needs to be selected

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 33: IROS 2014 talk

A more formal description

1: Initialize Q with one null n× 1 vector2: Initialize N with one Identity matrix3: for i = 1 to p do

4: Compute Jx5: Compute qx,des according to eq. qx,des = J†

(σx,des +Λσ

)= J†σref

6: if i==set-based then

7: Qtemp = Q8: Ntemp = N9: end if

10: Update Q summing to each the vector qx,des pre-multiplied by the

corresponding null space projectors in N11: Update N properly including, in each, the contribution of Jx12: if i==set-based then

13: Q = Q⋃

Qtemp

14: N = N⋃

Ntemp

15: end if

16: end for

17: return Q {it contains 2nset,a elements}

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 34: IROS 2014 talk

Selection of the output

The algorithm builds 2na solutionsThe output, sent to the low level controller, is selected

1 Prune the velocities that violate highest priority set-based tasks

2 Select the largest-norm velocity

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 35: IROS 2014 talk

Selection of the output

The algorithm builds 2na solutionsThe output, sent to the low level controller, is selected

1 Prune the velocities that violate highest priority set-based tasks

2 Select the largest-norm velocity

We are ignoring each set­based task in half of the solutions

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 36: IROS 2014 talk

Selection of the output

The algorithm builds 2na solutionsThe output, sent to the low level controller, is selected

1 Prune the velocities that violate highest priority set-based tasks

2 Select the largest-norm velocity

Rational: each null­space projection filter out some velocity

component, the less conservative should be the largest­norm

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 37: IROS 2014 talk

Numerical example: 4-link planar

pr. task type min max

1 mech. joint 1 set-based −90◦ 90◦

2 mech. joint 2 set-based −100◦ 100◦

3 mech. joint 3 set-based −90◦ 90◦

4 mech. joint 4 set-based −120◦ 120◦

5 e.e. obst. av. set-based 0.3m –

6 e.e. position equality – –

7 e.e. orientation set-based −45◦ 45◦

0 5 10 15 20

or.

ee pos

ee obs

mech 4

mech 3

mech 2

mech 1

time [s]0 5 10 15 20

−150

−100

−50

0

50

100

150

time [s]

a

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 38: IROS 2014 talk

To do

Guarantee continuity among samples (task de-activation)

Computational analysis

Most of the computations shared among the possible solutionsRecursive formula for null spaces available

Nab...y = Nab...x

[

I −(

JyNab...x)† (

JyNab...x)

]

Comparison with alternative algorithms on-going

Stability analysis

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 39: IROS 2014 talk

Bibliography I

G. Antonelli.

Stability analysis for prioritized closed-loop inverse kinematic algorithms forredundant robotic systems.

IEEE Transactions on Robotics, 25(5):985–994, October 2009.

G. Antonelli, F. Arrichiello, and S. Chiaverini.

The Null-Space-based Behavioral control for autonomous robotic systems.

Journal of Intelligent Service Robotics, 1(1):27–39, Jan. 2008.

S. Chiaverini.

Singularity-robust task-priority redundancy resolution for real-time kinematiccontrol of robot manipulators.

IEEE Transactions on Robotics and Automation, 13(3):398–410, 1997.

A. Escande, N. Mansard, and P.-B. Wieber.

Hierarchical quadratic programming: Fast online humanoid-robot motiongeneration.

International Journal of Robotics Research, 2013.

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 40: IROS 2014 talk

Bibliography II

O. Kanoun, F. Lamiraux, and P.B. Wieber.

Kinematic control of redundant manipulators: Generalizing the task-priorityframework to inequality task.

Robotics, IEEE Transactions on, 27(4):785–792, 2011.

A. Liegeois.

Automatic supervisory control of the configuration and behavior of muldibodymechanisms.

IEEE Transactions on Systems, Man and Cybernetics, 7:868–871, 1977.

A.A. Maciejewski and C.A. Klein.

Obstacle avoidance for kinematically redundant manipulators in dynamicallyvarying environments.

The International Journal of Robotics Research, 4(3):109–117, 1985.

N. Mansard and F. Chaumette.

Task sequencing for high-level sensor-based control.

IEEE Transactions on Robotics and Automation, 23(1):60–72, 2007.

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 41: IROS 2014 talk

Bibliography III

Y. Nakamura, H. Hanafusa, and T. Yoshikawa.

Task-priority based redundancy control of robot manipulators.

The International Journal Robotics Research, 6(2):3–15, 1987.

B. Siciliano and J.-J.E. Slotine.

A general framework for managing multiple tasks in highly redundant roboticsystems.

In Proceedings 5th International Conference on Advanced Robotics, pages1211–1216, Pisa, I, 1991.

E. Simetti, G. Casalino, S. Torelli, A. Sperinde, and A. Turetta.

Floating underwater manipulation: Developed control methodology andexperimental validation within the TRIDENT project.

Journal of Field Robotics, 31(3):364–385, 2013.

D.E. Whitney.

Resolved motion rate control of manipulators and human prostheses.

IEEE Transactions on Man-Machine Systems, 10(2):47–52, 1969.

Antonelli, Moe, Pettersen Chicago, 18 September 2014

Page 42: IROS 2014 talk

Incorporating set-based control within the

singularity-robust multiple task-priority

inverse kinematics

Gianluca Antonelli†, Signe Moe⊕, Kristin Pettersen⊕

†University of Cassino and Southern Lazio, Italyhttp://webuser.unicas.it/lai/robotica

⊕Norwegian University of Science and Technology, Norwayhttp://www.ntnu.edu/amos

IROS 2014 Workshop: Real-time Motion Generation & Control

Antonelli, Moe, Pettersen Chicago, 18 September 2014