introduction to computer vision and robotics: motion generation tomas kulvicius poramate manoonpong

Post on 16-Jan-2016

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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!

top related