Download - Introduction to Computer Vision and Robotics: Motion Generation Tomas Kulvicius Poramate Manoonpong
Introduction toComputer Vision and Robotics:
Motion Generation
Tomas Kulvicius
Poramate Manoonpong
Motion Control:Trajectory Generation
Different robots –> different motions -> different trajectories
How do we generate/plan trajectories?
Depends on-what kind of trajectories we need-apllication
Movement overview
Movements
Splines
DMPs GMMs
Point-to-Point Periodic
NOs RNNs
DMPs
Overview
Movements
Splines
DMPs GMMs
Point-to-Point Periodic
NOs RNNs
DMPs
Polynomial interpolation
-3 -2 -1 0 1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Example trajectory sampled by blue points
Polynomial interpolation
-3 -2 -1 0 1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-3 -2 -1 0 1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
4th order polynomialSampled trajectory
Insufficient fit!
Polynomial interpolation
-3 -2 -1 0 1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-3 -2 -1 0 1 2 3 4 5 6
-0.2
0
0.2
0.4
0.6
0.8
1
6th order polynomial
Insufficient fit!
Sampled trajectory
Polynomial interpolation
-3 -2 -1 0 1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-3 -2 -1 0 1 2 3 4 5 6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
9th order polynomial
-3 -2 -1 0 1 2 3 4 5 6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Runge’s phenomenon
Sampled trajectory
Runge’s phenomenon
Runge function
5-th order polyn.
9-th order polyn.
Spline interpolation
-3 -2 -1 0 1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Cubic splineSampled trajectory
-3 -2 -1 0 1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Idea: many low order polynomials joined together
No oscillations as compared to polynomial interpolation
One can add desired velocity (cubic) or acceleration (5th order) at the end points
Overview
Movements
Splines
DMPs GMMs
Point-to-Point Periodic
NOs RNNs
DMPs
Dynamic Movement Primitives (DMPs)?
“DMPs are units of actions that are formalized as stable nonlinear attractor systems” (Ijspeert et al., 2002, Schaal et al., 2003, 2007)
Formalism of discrete DMPs
A set of differential Eqs, which defines a vector field that takes you from any start-point to the goal
Kernels:
Nonlinear function:
Ijspeert et al., 2002; Schaal et al., 2003, 2007
Position change (velocity):
Velocity change (acceleration):
Exponential decay:
(v)
g – goal
– temp. scal.
Kernels:
Nonlinear function:
Formalism of discrete DMPs
Ijspeert et al., 2002; Schaal et al., 2003, 2007
Position change (velocity):
Velocity change (acceleration):
Time
Exponential decay:
(v)
g – goal
– temp. scal.
DMP properties: 1. GeneralizationDMPs can be scaled-in time and -spacewithout losing the qualitative trajectory appearance
DMP properties: Position scaling
DMP properties: GeneralizationDMPs can be scaled in time and space without losing the qualitative trajectory appearance
DMP properties: 2. Robustness to perturbations
Real-time trajectory generator – can react to perturbations during movement
DMP properties: 3. Coupling
DMPs allow to add coupling terms easily:-Temporal coupling-Spatial coupling
DMP properties: Temporal coupling
Velocity change (acceleration):
Exponential decay (phase variable):
(v)
Adding additional term Ct allows us to modify the phase of themovement, i.e., stop the movement in case of perturbations.
+Ct
DMP properties: Phase stopping
DMPs are not directly time dependent (phase based) which allows to control phase of the movement (e.g., phase stopping)
Without phase stopping With phase stopping
Temporal coupling: Movement stopping
Proactive behavior in humans
What about robots?
DMP properties: Spatial coupling
Adding additional term Cs allows us to modify trajectoryonline by taking sensory information into account, i.e. online obstacle avoidance.
Velocity change (acceleration):
+Cs
Spatial coupling: Obstacle avoidance
Spatial coupling: Human-Robot interaction
Spatial coupling: Robot-Robot interaction
Comparison of discrete movement generators
Method
PropertySplines DMPs GMMs
Time dependence
Direct IndirectInde-
pendent
Robustness to
perturbationsNo Yes Yes
Generalization No Yes Yes
Set of trajectories No No Yes
Overview
Movements
Splines
DMPs GMMs
Point-to-Point Periodic
NOs RNNs
DMPs
Kernels:
Nonlinear function:
Formalism of discrete DMPs: Reminder
Ijspeert et al., 2002; Schaal et al., 2003, 2007
Position change (velocity):
Velocity change (acceleration):
Time
Exponential decay:
(v)
g – goal
– temp. scal.
150 200 250 300-1
-0.5
0
0.5
1
150 200 250 3000
1
2
3
150 200 250 300-40
-20
0
20
40
Nonlinear function:
Formalism of rhythmic DMPs
Ijspeert et al., 2002; Schaal et al., 2003, 2007
Position change (velocity):
Velocity change (acceleration):
Limit cycle oscillator withconstant phase speed:
(,A)
Kernels:
Time
g – baseline A – amplitude
– frequency
Overview
Movements
Splines
DMPs GMMs
Point-to-Point Periodic
NOs RNNs
DMPs
Central Pattern Generator (CPG)
Pattern generation without sensory feedback (Open-loop system)
Neural oscillators
CPG methods
• Dynamical system approach:Dynamical system approach:•Van der Pol Oscillator•Dynamic Movement Primitives
• Neural control approach:Neural control approach:•Matsuoka Oscillator•2-neuron Oscillator
The transfer function
The activation function
Neural structure: 2-neuron network [Pasemann et al., 2003]
Central pattern generator (CPG): Self excitatory + excitatory & inhibitory synapses
2-neuron oscillator
Pasemann, F., Hild, M., Zahedi, K. SO(2)-Networks as Neural Oscillators, Mira, J., and Alvarez, J. R., (Eds.), Computational Methods in Neural Modeling, Proceedings IWANN 2003, LNCS 2686, Springer, Berlin, pp. 144-151, 2003.
W11
, W22
W12 = - W21
2-neuron oscillator
Modulatory input
CPG with modulatory input
Different walking gates (AMOS II)
Overview
Movements
Splines
DMPs GMMs
Point-to-Point Periodic
NOs RNNs
DMPs
Reflexive neural networks
Reflexes - local motor response to a local sensation
Locomotion as a chain of reflexes: purely sensory-driven system (Closed-loop system).
Reflexive neural network: application to bipedal robot RunBot
GL
1) Left leg touches the ground: GL = active Left hip flexes (backward) & Left knee extends (straight) = STANCE
Right hip extends (forward) & Right knee flexes (bend) = SWING
2,3) Right Hip angle reaches AEA (Anterior Extreme Angle)AEA = active Right knee extends (straight)Right leg still in swing, Left leg still in stance
4,5) Right leg touches the ground:GR = active Right hip flexes (backward) & Right knee extends (straight) = STANCE
Left hip extends (forward) & Left knee flexes (bend) = SWING
Sensor-triggered generation of movement
Reflexive neural network of RunBot
Passive dynamic walking
Neural learning
Learning to walk up a ramp
RunBot learning to walk up a ramp
Pros:
• Very close link between the controller and what the robot actual does
Cons:
• because of the lack of a centrally generated rhythm, locomotion might be completely stopped because of damage in the sensors and/or external constraints that force the robot in a particular posture.
Reflex based methods
Comparison of periodic movement generators
Method
PropertyDMPs
Neural
OscillatorsRNNs
Time dependence Indirect Direct Direct
Robustness to
perturbationsYes Yes Yes
Generalization Yes Yes&No N/A
Arbitrary trajectory Yes Yes&No N/A
Joining movement sequences: human vs. robot
We want to achieve human like motions – smooth transitions between consequent movements.
0 50 100-0.1
-0.05
0
0.05
0.1
0.15
0 50 1000
0.2
0.4
0.6
0.8
1
Kernels:
Nonlinear function:
Formalism of original DMPs: Reminder
Ijspeert et al., 2002; Schaal et al., 2003, 2007
Position change (velocity):
Velocity change (acceleration):
Delayed goal:
( )
Time
Exponential decay:
Modification of original DMP’sGoal function:
Sigmoidal decay:
Nonlinear function:
Joining DMPs by using overlapping kernels
Goal: to join accurately in position and velocity space at the joiningpoint at the specific time T(provided by human example)
Comparison: orig. DMPs vs. novel approach
Sequentialjoining
tSequentialjoining
Novelapproach
Joining letters“a” and “b”
Joining demo: Handwriting
Joining demo: joining of discrete and repetitive movements
Summary
Types of motions:- discrete (poin-to-point);- oscillatory (repetitive).
Movement generation frameworks:- splines;- dynamic movement primitives (DMPs);- neural oscillators (NOs);- reflexive neural networks (RNNs).
There is no best trajectory generator – it much depends on the application!