structure and synthesis of robot motion introduction · 05/02/2009 structure and synthesis of robot...

25
Structure and Synthesis of Robot Motion Dynamics: Constraints, Continua, etc. Subramanian Ramamoorthy School of Informatics 5 February, 2009

Upload: vudat

Post on 09-Nov-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Structure and Synthesis of Robot Motion

Dynamics: Constraints, Continua, etc.

Subramanian RamamoorthySchool of Informatics

5 February, 2009

Page 2: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Recap

• Last time, we discussed two major approaches to describing rigid body motion– Newton Euler: Compute forces/torques and describe motion in terms

of their balance

– Lagrangian: Define an energy functional and describe motion in variational terms

• I mentioned the idea of constraints to motion

This lecture builds on previous one, by providing a few more advanced topics.

05/02/2009 Structure and Synthesis of Robot Motion 2

Page 3: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Constraints

They are everywhere in robotics!

05/02/2009 Structure and Synthesis of Robot Motion 3

Page 4: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Understanding Constraints – Bead on Wire

How does this bead move along the loop due to applied forces?

• Along the circle, it can slide freely

• However, it should never come off by pulling

A simple proposal: Attach the bead to the loop via a spring

• What happens if spring is too soft?

Bead slowly wobbles in a “goopy” way

• What happens if spring is too hard?

Bead vibrates in an undesirably hard way

05/02/2009 Structure and Synthesis of Robot Motion 4

Page 5: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Another Way to Deal with Constraint

• The position of bead may be described parametrically:

q = r[cos , sin ]

• This 1-DOF constraint must always be met

05/02/2009 Structure and Synthesis of Robot Motion 5

q

Warning: A lot of careis required to setup such problems – seeCh 12 of Choset et al.

Page 6: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Constraints Often Yield DAEs

• DAE: Differential Algebraic Equations

• General structure:

• The idea is that the ODE for x(t) depends on additional algebraic variables z(t) and the solution must satisfy the additional algebraic constraint!

• This makes is hard for traditional ODE solvers – Jacobians can be singular

• The solution is related to what we saw with the bead-on-loop example but the details are a bit more involved

– In practice, make use of pre-existing solvers!

05/02/2009 Structure and Synthesis of Robot Motion 6

),,(0

),,(

tzxg

tzxfx

Page 7: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Modelling Other Effects: Dissipation

• So far, we haven’t talked about effects like friction or energy dissipation

• A simplistic way to bring them into equations of motion is to just “add terms” for them – we’d like to be more principled

• How to bring dissipation into the Lagrangian model?

05/02/2009 Structure and Synthesis of Robot Motion 7

Page 8: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Modelling Dissipative Forces

05/02/2009 Structure and Synthesis of Robot Motion 8

Page 9: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Dissipation - Example

• Imagine a block sliding down a wedge

• How to model the friction?

05/02/2009 Structure and Synthesis of Robot Motion 9

Page 10: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Next Step: Towards Continuous Objects

Most of our attention has been on systems consisting of (relatively few) links of rigid bodies

• How do these methods scale towards `realistic’ objects that are flexible and deformable?

• How do these methods apply to large ensembles (e.g., team of distributed robots or avatars)?

- These are some of the frontier problems in robotics and other areas involving computational motion

- These are also vast areas of study on their own, so we’ll focus on two things: deformation and flows

05/02/2009 Structure and Synthesis of Robot Motion 10

Page 11: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Recap: Linear Transformations

• A rotation matrix is a specific example of a more general class of linear transformations:

• Can achieve many types of ‘distortions’:

– Using diagonal elements, describe axis-wise scaling

– A negated diagonal element leads to mirroring

– Off-diagonal elements lead to shearing

05/02/2009 Structure and Synthesis of Robot Motion 11

Page 12: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

An Extension

• In general, we could use tensors to describe transformations

• A benefit of using such notation is that we can also naturally talk about higher derivatives

05/02/2009 Structure and Synthesis of Robot Motion 12

Page 13: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

What is a Tensor, Really?

• It measures distortion of space in terms of distortion of coordinate frames

• If you measure angles between old and new coordinate frames as the underlying quantity (object) is being transformed then you can describe the process well

05/02/2009 Structure and Synthesis of Robot Motion 13

Page 14: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Using Tensors to Describe Deformations

05/02/2009 Structure and Synthesis of Robot Motion 14

Page 15: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Describing Fluid Flows

• Similar ideas can be used to describe fluids

• Consider this volume within a fluid

• The motion of the fluid is defined by

conditions on balance of forces

The pressure balance may be described

(in equilibrium) as:

05/02/2009 Structure and Synthesis of Robot Motion 15

Page 16: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

A Bit More Realistic

• The equation in previous slide only make sense in a very static setting (may not be of most interest)

• In fact, there are viscous forces that drag a fluid and then there may be resulting acceleration

• Rewritten somewhat differently (a version of Navier-Stokes),

05/02/2009 Structure and Synthesis of Robot Motion 16

Page 17: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

What does Navier-Stokes have to do with Robotics?!

Sometimes such fluid models are very useful ways to describe the motion of crowds and ensembles

05/02/2009 Structure and Synthesis of Robot Motion 17

[Treuille et al., ACM SIGGRAPH 2006][Pimenta et al., ICRA 2008]

Page 18: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Another Application: Sometimes we wish to Manipulate Flexible Objects

05/02/2009 Structure and Synthesis of Robot Motion 18

Page 19: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

In Practice…

• People in animation often treat many of these things as just very large spring-mass (rigid body) systems

• In robotics, especially if you were designing control strategies to enforce movements then you may find more compact, but conceptually more involved, models useful!

05/02/2009 Structure and Synthesis of Robot Motion 19

[Selle et al., ACM SIGGRAPH 2008]

Page 20: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

In Practice… Finite Elements

• Often, problems involving deformation and flows are handled using methods such as finite elements

• Here is the basic idea

• Consider a process that can be described in terms of differential equations

(Note that we’ve left the form of dynamics open – some combination of position, velocity, acceleration terms)

• Discretize the domain:

05/02/2009 Structure and Synthesis of Robot Motion 20

Page 21: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Finite Elements, contd.

• Define an interpolation scheme within each element

• Based on this, define a large matrix system to describe motion

05/02/2009 Structure and Synthesis of Robot Motion 21

Page 22: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

In Practice… Particle Systems

• Particle system is an array of particles.

• Decouple system from solver:

– Translate into a generic position and acceleration vector

1. Set current state (positions and velocities)

2. Get current state (positions and velocities)

3. Compute accelerations f(X, t)

• Integration uses only these methods to simulate evolution of a particle system

05/02/2009 22Structure and Synthesis of Robot Motion

Page 23: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

In practice… Particle Systems

AnimateParticles(n, y0, t0, tf)

{

y = y0t = t0DrawParticles(n, y)

while(t != tf) {

f = ComputeForces(y, t)

dydt = AssembleDerivative(y, f)

//there may be multiple force fields

{y, t } = ODESolverStep(6n, y, dy/dt)

DrawParticles(n, y)

}

}

05/02/2009 23Structure and Synthesis of Robot Motion

Page 24: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Particle Animation [Reeves et al. 1983]Start Trek, The Wrath of Kahn

05/02/2009 24Structure and Synthesis of Robot Motion

Page 25: Structure and Synthesis of Robot Motion Introduction · 05/02/2009 Structure and Synthesis of Robot Motion 2. Constraints They are everywhere in robotics! 05/02/2009 Structure and

Summary

• We discussed a few special topics involving dynamics

• We talked about modelling constraints and including them in equations of motion

• Then we discussed (in outline form) models of deformations and flows

• Such models are useful in a variety of areas ranging from distributed robotics to complex manipulation problems

• Everything in this lecture is literally just a sampler – read further if you see yourself needing these topics!

05/02/2009 Structure and Synthesis of Robot Motion 25