Algorithms and Numerical Methods for Motion Planning and ... · Algorithms and Numerical Methods...

27
Algorithms and Numerical Methods for Motion Planning and Motion Control: Dynamic Manipulation Assignments Anton Shiriaev Department of Engineering Cybernetics Norwegian University of Science and Technology Trondheim, Norway ([email protected]) April 21, 2016

Transcript of Algorithms and Numerical Methods for Motion Planning and ... · Algorithms and Numerical Methods...

  • Algorithms and Numerical Methods for Motion Planning and

    Motion Control: Dynamic Manipulation Assignments

    Anton Shiriaev

    Department of Engineering CyberneticsNorwegian University of Science and Technology

    Trondheim, Norway([email protected])

    April 21, 2016

  • Outline

    Non-prehensile manipulation assignmentsExamples and featuresA “Butterfly” robot example

    Steps in Motion PlanningChoices of CoordinatesSearching a Motion and a Motion Generator

    Steps in Synthesis of ControllerTransverse Dynamics and Transverse Coordinates

    Concluding remarks

  • Outline

    Non-prehensile manipulation assignmentsExamples and featuresA “Butterfly” robot example

    Steps in Motion PlanningChoices of CoordinatesSearching a Motion and a Motion Generator

    Steps in Synthesis of ControllerTransverse Dynamics and Transverse Coordinates

    Concluding remarks

  • Non-prehensile manipulation: examples and features

    Non-prehensile manipulation is manipulation of an object

    without a form or force-closure grasp

  • Non-prehensile manipulation: examples and features

    Non-prehensile manipulation is manipulation of an object

    without a form or force-closure grasp

  • Non-prehensile manipulation: examples and features

    Non-prehensile manipulation is manipulation of an object

    without a form or force-closure grasp

  • Non-prehensile manipulation: examples and features

    Dynamic non-prehensile manipulation offers:

    ◮ New robot primitives

    ◮ Flexibility in grasping objects of different shape and size

    ◮ Increased volume of reachable states in “robot+object” workspace

  • Non-prehensile manipulation: examples and features

    Dynamic non-prehensile manipulation offers:

    ◮ New robot primitives

    ◮ Flexibility in grasping objects of different shape and size

    ◮ Increased volume of reachable states in “robot+object” workspace

    Benefits come at the expense of increased complexity in

    ◮ motion and trajectory planning

    ◮ motion control

  • Non-prehensile manipulation: examples and features

    Dynamic non-prehensile manipulation offers:

    ◮ New robot primitives

    ◮ Flexibility in grasping objects of different shape and size

    ◮ Increased volume of reachable states in “robot+object” workspace

    Benefits come at the expense of increased complexity in

    ◮ motion and trajectory planning

    ◮ motion control

    The challenges in developing algorithms are

    ◮ the need in developing dynamical models for a robot, an object and theirinteraction;

    ◮ under-actuation, i.e. when a number of degrees of freedom is larger than anumber of actuators;

    ◮ the presence of unilateral constraints

  • Outline

    Non-prehensile manipulation assignmentsExamples and featuresA “Butterfly” robot example

    Steps in Motion PlanningChoices of CoordinatesSearching a Motion and a Motion Generator

    Steps in Synthesis of ControllerTransverse Dynamics and Transverse Coordinates

    Concluding remarks

  • Conceptual scheme of a “Butterfly” robot

    The tasks are

    ◮ to plan a rolling of a sphere on a frame

    ◮ to design a feedback controller to stabilize a motion

    One of open challenges in robotics for two decades !!!

  • Outline

    Non-prehensile manipulation assignmentsExamples and featuresA “Butterfly” robot example

    Steps in Motion PlanningChoices of CoordinatesSearching a Motion and a Motion Generator

    Steps in Synthesis of ControllerTransverse Dynamics and Transverse Coordinates

    Concluding remarks

  • Choices of coordinates

    ~e10

    ~e20

    ~e21

    ~e11

    ~e12

    ~e22

    y1

    y2

    x1 x2

    θ2θ1

    ◮ Each body in plane requires 3 coordinates (x, y, θ) for describing itsconfiguration.

    ◮ The hand has a fixed point, therefore 4 quantities will be enough forreconstruction of the status of the hand and the disc

  • Choices of coordinates

    ◮ Detecting of a contact point between the hand and the disc is challenging

    ◮ Contact models of rolling are simplistic

  • Choices of coordinates

    w~τ

    ~n

    ~e10

    ~e11

    ~e20

    ~e21

    θ

    ~ρ(s)

    s

    ~e12

    ~e22

    ψ

    R

    B

    A

    ◮ θ is the angle of rotation of the hand

    ◮ s is the distance to go to the shortest to the center of the disc point alongthe virtual curve γc

    ◮ w is the distance to that point along the normal direction

    ◮ ψ is the angle of rotation of the disc in the hand frame

  • Choices of coordinates

    w~τ

    ~n

    ~e10

    ~e11

    ~e20

    ~e21

    θ

    ~ρ(s)

    s

    ~e12

    ~e22

    ψ

    R

    B

    A

    Properties valid for rolling without slipping

    ◮ w is zero, i.e. the hand and the disc has a point contact

    ◮d

    dts = −R d

    dtψ, i.e. the disc does not slip when rolls

  • Outline

    Non-prehensile manipulation assignmentsExamples and featuresA “Butterfly” robot example

    Steps in Motion PlanningChoices of CoordinatesSearching a Motion and a Motion Generator

    Steps in Synthesis of ControllerTransverse Dynamics and Transverse Coordinates

    Concluding remarks

  • Dynamics of the system

    The dynamic model of the system in excessive coordinates q = (θ, ψ, s, w) is

    Me(q)q̈ + Ce(q, q̇)q̇ +Ge(q) = [u, 0, 0, 0]T + F1 + F2

    with u being a control variable; F1, F2 being the corresponding reaction forces.

  • Dynamics of the system

    The dynamic model of the system in excessive coordinates q = (θ, ψ, s, w) is

    Me(q)q̈ + Ce(q, q̇)q̇ +Ge(q) = [u, 0, 0, 0]T + F1 + F2

    with u being a control variable; F1, F2 being the corresponding reaction forces.

    The dynamics admit the reduction of the model for two variables (θ, ψ)

    [

    m11 m12m21 m22

    ] [

    θ̈

    ψ̈

    ]

    +

    [

    c11 c12c21 c22

    ] [

    θ̇

    ψ̇

    ]

    +

    [

    g1g2

    ]

    =

    [

    u

    0

    ]

  • Dynamics of the system

    The dynamic model of the system in excessive coordinates q = (θ, ψ, s, w) is

    Me(q)q̈ + Ce(q, q̇)q̇ +Ge(q) = [u, 0, 0, 0]T + F1 + F2

    with u being a control variable; F1, F2 being the corresponding reaction forces.

    The dynamics admit the reduction of the model for two variables (θ, ψ)

    [

    m11 m12m21 m22

    ] [

    θ̈

    ψ̈

    ]

    +

    [

    c11 c12c21 c22

    ] [

    θ̇

    ψ̇

    ]

    +

    [

    g1g2

    ]

    =

    [

    u

    0

    ]

    We have to search for a forced periodic solution

    θ∗(t), ψ∗(t), u∗(t)

    of this system, for which the constraints hold.

  • Motion Generator

    if the motion [θ∗(t), ψ∗(t)] is found then the disc will roll in one direction

    the angle ψ∗(t) can be used for representation instead of time: θ∗(t) = Φ(ψ∗(t))

  • Motion Generator

    if the motion [θ∗(t), ψ∗(t)] is found then the disc will roll in one direction

    the angle ψ∗(t) can be used for representation instead of time: θ∗(t) = Φ(ψ∗(t))

    d

    dtθ∗ = d

    dψΦ ddtψ∗, d

    2

    dt2θ∗ = d

    dψΦ d

    2

    dt2ψ∗ + d

    2

    dψ2Φ

    [

    d

    dtψ∗

    ]2

  • Motion Generator

    if the motion [θ∗(t), ψ∗(t)] is found then the disc will roll in one direction

    the angle ψ∗(t) can be used for representation instead of time: θ∗(t) = Φ(ψ∗(t))

    d

    dtθ∗ = d

    dψΦ ddtψ∗, d

    2

    dt2θ∗ = d

    dψΦ d

    2

    dt2ψ∗ + d

    2

    dψ2Φ

    [

    d

    dtψ∗

    ]2

    The passive dynamics for that motion

    m21θ̈ +m22ψ̈ + c21θ̇ + c22ψ̇ + g2 = 0

    can be re-written as a differential equation – Motion Generator – for ψ-variable

    m21

    [

    Φ′ψ̈ + Φ′′ψ̇2]

    +m22ψ̈ + c21Φ′

    ψ̇ + c22ψ̇ + g2 = 0

    [

    α(ψ, {ki})ψ̈ + β(ψ, {ki})ψ̇2 + γ(ψ, {ki}) = 0

    ]

  • Motion Planning Algorithm

    ◮ Choose a set of synchronization functions: θ = Φ(ψ, k1, . . . , kn)

    ◮ Compute a family of Motion Generators parametrized by k1, . . . , kn

    ◮ Search for constants k∗1, . . . , k∗

    n and one of the MG solution ψ∗(t) such

    that the pair

    ψ∗(t), θ∗(t) = Φ(ψ∗(t), k∗1, . . . , k

    n)

    meets the unilateral constraint⇓

    ◮ If so, compute control variable u∗(t) from the system dynamics

    m11θ̈∗ +m12ψ̈

    ∗ + c11θ̇∗ + c12ψ̇

    ∗ + g1 = u

    Otherwise, modify the parameters and re-do the search.

  • Outline

    Non-prehensile manipulation assignmentsExamples and featuresA “Butterfly” robot example

    Steps in Motion PlanningChoices of CoordinatesSearching a Motion and a Motion Generator

    Steps in Synthesis of ControllerTransverse Dynamics and Transverse Coordinates

    Concluding remarks

  • Transverse Dynamics and Transverse Coordinates

    S(0)TS(0)

    S(t)

    TS(t)

    ◮ Analysis of (in)stability of the nominal periodic trajectory and itsstabilization are defined by properties of the dynamics transverse to theorbit

    ◮ The system state vector has four components [θ, ψ, θ̇, ψ̇] ⇒ thedimension of the transverse dynamics is three.

    ◮ We need to define these quantities for [θ∗, ψ∗] and regulate them to zero

  • Important Remarks

    ◮ Non-prehensile manipulation tasks for robotics require combination of

    ◮ symbolic tools for modeling the dynamics and contact conditions

    ◮ identification and verification procedures for adjusting model parameters

    ◮ optimization procedures for model based trajectory planning

    ◮ control design methods and their stable numerical realization for orbitalstabilization

    ◮ Solving the task allows students practicing in integration of severaladvanced computational tools for approaching one of challengingreal-world problem in the lab

    ◮ Solving the task allows students learning advantages and weaknesses ofanalytical arguments, numerical procedures and their complementarity inapplications

    ◮ Safety, safety and safety versus entertainment and challenge in student labs

    Non-prehensile manipulation assignmentsExamples and featuresA ``Butterfly'' robot example

    Steps in Motion PlanningChoices of CoordinatesSearching a Motion and a Motion Generator

    Steps in Synthesis of ControllerTransverse Dynamics and Transverse Coordinates

    Concluding remarks