Numerical Algorithms Matrix multiplication Numerical solution of Linear System of Equations
Algorithms and Numerical Methods for Motion Planning and ... · Algorithms and Numerical Methods...
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