Kinematic representation! Iterative methods! Optimization methods

Similar documents
Reading. Realistic Character Animation. Modeling Realistic Motion. Two Approaches

Numerical Methods for Inverse Kinematics

Robotics 1 Inverse kinematics

The Jacobian. Jesse van den Kieboom

Robotics 1 Inverse kinematics

Constrained optimization. Unconstrained optimization. One-dimensional. Multi-dimensional. Newton with equality constraints. Active-set method.

Robotics I Kinematics, Dynamics and Control of Robotic Manipulators. Velocity Kinematics

Robotics 1 Inverse kinematics

Algorithms for Constrained Optimization

Chapter 3 Numerical Methods

Stepping Motion for a Human-like Character to Maintain Balance against Large Perturbations

Lecture «Robot Dynamics» : Kinematics 3


ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Differential Kinematics

Robot Dynamics Instantaneous Kinematiccs and Jacobians

Robotics 2 Robot Interaction with the Environment

DIFFERENTIAL KINEMATICS. Geometric Jacobian. Analytical Jacobian. Kinematic singularities. Kinematic redundancy. Inverse differential kinematics

Multidisciplinary System Design Optimization (MSDO)

Constrained Optimization

Articulated body dynamics

1 Computing with constraints

Modern Optimization Techniques

Lecture 5: Gradient Descent. 5.1 Unconstrained minimization problems and Gradient descent

CSE 417T: Introduction to Machine Learning. Final Review. Henry Chai 12/4/18

Robotics I. February 6, 2014

Lecture Note 8: Inverse Kinematics

MECH 576 Geometry in Mechanics November 30, 2009 Kinematics of Clavel s Delta Robot

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Neural Network Control of Robot Manipulators and Nonlinear Systems

Numerical optimization. Numerical optimization. Longest Shortest where Maximal Minimal. Fastest. Largest. Optimization problems

Trajectory-tracking control of a planar 3-RRR parallel manipulator

Learning by constraints and SVMs (2)

Case Study: The Pelican Prototype Robot

Optimal control problems with PDE constraints

Trajectory Planning from Multibody System Dynamics

Lecture 6. Notes on Linear Algebra. Perceptron

Robust Control of Cooperative Underactuated Manipulators

5 Handling Constraints

Robotics. Dynamics. Marc Toussaint U Stuttgart

Robotics. Kinematics. Marc Toussaint University of Stuttgart Winter 2017/18

Robotics I. April 1, the motion starts and ends with zero Cartesian velocity and acceleration;

Example: RR Robot. Illustrate the column vector of the Jacobian in the space at the end-effector point.

Gradient Descent. Ryan Tibshirani Convex Optimization /36-725

CS273: Algorithms for Structure Handout # 2 and Motion in Biology Stanford University Thursday, 1 April 2004

Numerical optimization

Given U, V, x and θ perform the following steps: a) Find the rotation angle, φ, by which u 1 is rotated in relation to x 1

Lecture Schedule Week Date Lecture (M: 2:05p-3:50, 50-N202)

Lecture Note 8: Inverse Kinematics

MEAM 520. More Velocity Kinematics

Robotics: Tutorial 3

CS 542G: Robustifying Newton, Constraints, Nonlinear Least Squares

An Inexact Sequential Quadratic Optimization Method for Nonlinear Optimization

An Inexact Newton Method for Optimization

Descent methods. min x. f(x)

Directional Redundancy for Robot Control

Parameter Identification by Iterative Constrained Regularization

Non-Linear Optimization

Pose Tracking II! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 12! stanford.edu/class/ee267/!

PDE-Constrained and Nonsmooth Optimization

Lecture «Robot Dynamics»: Kinematics 2

Comparative Study of Numerical Methods for Optimal Control of a Biomechanical System Controlled Motion of a Human Leg during Swing Phase

Modern Optimization Techniques

C 2 Continuous Gait-Pattern Generation for Biped Robots

Lecture 3. Optimization Problems and Iterative Algorithms

Least Squares Optimization

4y Springer NONLINEAR INTEGER PROGRAMMING

nonrobust estimation The n measurement vectors taken together give the vector X R N. The unknown parameter vector is P R M.

Advanced Dynamics. - Lecture 4 Lagrange Equations. Paolo Tiso Spring Semester 2017 ETH Zürich

Multi-Priority Cartesian Impedance Control

Gradient descent. Barnabas Poczos & Ryan Tibshirani Convex Optimization /36-725

Chapter 2. Optimization. Gradients, convexity, and ALS

EQUATIONS OF MOTION: CYLINDRICAL COORDINATES (Section 13.6)

Lecture 16: FTRL and Online Mirror Descent

Modeling and Solving Constraints. Erin Catto Blizzard Entertainment

Least Squares Optimization

Mathematical optimization

Least squares temporal difference learning

Video 3.1 Vijay Kumar and Ani Hsieh

Introduction to Robotics

Generalized Forces. Hamilton Principle. Lagrange s Equations

LECTURE # - NEURAL COMPUTATION, Feb 04, Linear Regression. x 1 θ 1 output... θ M x M. Assumes a functional form

Automatic Task-specific Model Reduction for Humanoid Robots

arxiv: v1 [math.oc] 22 May 2018

The Effect of Semicircular Feet on Energy Dissipation by Heel-strike in Dynamic Biped Locomotion

8 Velocity Kinematics

5 Quasi-Newton Methods

(W: 12:05-1:50, 50-N202)

A new large projection operator for the redundancy framework

Abstract. Final Degree Project - Olga Pätkau

Numerical Methods for Rigid Multibody Dynamics

Port-based Modeling and Control for Efficient Bipedal Walking Machines

Numerical Optimization Professor Horst Cerjak, Horst Bischof, Thomas Pock Mat Vis-Gra SS09

Neural Networks, Computation Graphs. CMSC 470 Marine Carpuat

Inverse Kinematics. Mike Bailey. Oregon State University. Inverse Kinematics

TRACKING and DETECTION in COMPUTER VISION

Advanced Robotic Manipulation

Optimality conditions for Equality Constrained Optimization Problems

Sensitivity and Reliability Analysis of Nonlinear Frame Structures

EQUATIONS OF MOTION: CYLINDRICAL COORDINATES

Transcription:

Human Kinematics

Kinematic representation! Iterative methods! Optimization methods

Kinematics Forward kinematics! given a joint configuration, what is the position of an end point on the structure?! Inverse kinematics! given the position for an end point on the structure, what angles do the joints need be to achieve that end point?

Quiz Which function is inverse kinematics? θ φ σ θ φ σ p θ, φ, σ = f(p) p p = f(θ, φ, σ)

Why inverse? More intuitive control! Maintain environment constraints! Calculate desired joint angles for control

Motion representation Global position and orientation are determined by 3 translational and 3 rotational DOFs Each joint can have up to 3 DOFs 1 DOF: knee 2 DOF: wrist 3 DOF: arm

Configurations q = x, y, z,,,, th, th, th, kn, x, y, z,,, θ thigh,φ thigh,σ thigh θ knee θ ankle,φ ankle

Constraints x, y, z,,, θ thigh,φ thigh,σ thigh d 0 Position constraint d 1 θ knee C(q) =h(q) p = 0 d 2 p θ ankle,φ ankle h(q) h(q) =T(x, y, z)r(,, )T(d 0 )R( th, th, th )T(d 1 )R( kn )T(d 2 )R( an, an )x a point on foot in world coordinates a point on foot in local coordinates

Solutions Closed form solutions can only be found for fairly simple mechanisms! Numerical solutions! No solution! Single solution! Multiple solution

Under-specified problem Multiple solutions! Mostly bad! How do we find the optimal solution?! Heuristics (move the outermost links first)! Closest to the current configuration! Energy minimization! Natural looking motion (whatever it means)

Kinematic representation! Iterative methods! Optimization methods

Iterative method Use inverse of Jacobian to iteratively step all the joint angles towards the goal! Girard and Maciejewski, Computational modeling for the computer animation of legged figures, SIGGRAPH 85

Jacobian matrix Constraint (m) i DOF (n) j C i q j Jacobian is a m by n matrix that relates differential changes of q to changes of C Jacobian maps the velocity in joint space to velocities in Cartesian space Jacobian depends on current state

IK and the Jacobian J = C q C = J q q = J 1 C q new = q + tj 1 C Linearize about current q

Invert Jacobian But Jacobian is most likely non-square Compute the pseudo inverse Jacobian J + C = J q J T C = J T J q (J T J) 1 J T C =(J T J) 1 J T J q J + C = q J + =(J T J) 1 J T

Under-constrained Where #DOFs is greater than #constraints, the problem is under-constrained and J T J is not invertible J @q = @C @q = J T (JJ T ) 1 @C

Problems Pseudo inverse returns the least square minimum norm solution! Singularities cause deficient Jacobian! Linearization about current state causes error

Kinematic representation! Iterative methods! Optimization methods

Optimization method Find a solution that optimizes some numeric metric and satisfies constraints! Numeric metric! A function of q that measures the quantity to be minimized! Also called objective function

Optimization method Solve for joint configuration q min q subject to G(q) C(q) =0

Constraint derivatives We need a direction to move joints in such way that the handle moves towards the goal! The derivative of the constraint, i.e. Jacobian, gives directions where handles move if joints move h(q) p C(q) =h(q) p = 0 C(q) q = h(q) q

Constraint derivatives C(q) =h(q) p = 0 h(q) =T(x, y, z)r(θ 0,φ 0,σ 0 )TR(θ 1 )TR(θ 2,φ 2 )h k q =[x, y, z, θ 0,φ 0,σ 0,θ 1,θ 2,φ 2 ] C(q) q = h(q) q x, y, z, θ 0,φ 0,σ 0 h(q) = T(x, y, z)r(θ 0,φ 0,σ 0 )T R(θ 1) TR(θ 2,φ 2 )h k θ 1 θ 1 θ 1 p Need to know how to compute derivatives for each transformation θ 2,φ 2 h(q) h k : local coordinate of h

Quiz What is the derivative for the translation matrix?!!!! 2 6 4 1 0 0 3 0 1 0 5 0 0 1 2 0 0 0 1 3 7 5 What is the derivative for a rotation matrix about z axis? 2 3 6 4 cos sin 0 0 sin cos 0 0 0 0 1 0 0 0 0 1 7 5

Constraint derivatives h(q) What is the most efficient way to compute the? q Compute the gradient for the DOF on the outermost link first x, y, z, θ 0,φ 0,σ 0 h = T 0 (x, y, z)r 0 (θ 0,φ 0,σ 0 )T 1 R 1 (θ 1 )T 2 R 2 (θ 2,φ 2 )h k θ 1 p θ 2,φ 2 h(q) h k : local coordinate of h

Quiz What s the dimension of a system with n dofs and m position constraints?

Optimization method Solve for joint configuration q min q subject to G(q) C(q) =0

Objective functions Joint velocity! Power consumption! Similarity to the rest pose! Similarity to the natural pose

Unconstrained optimization Treat each constraint as a separate metric and minimize weighted sum of all metrics! Also called penalty methods! each spring pulls on constraint with force proportional to violation of the constraint

Unconstrained optimization Softening constraints by adding them to the objective function Minimize F (q) =G(q)+ i w i C i (q) 2

Gradient descent For each iteration, move in the direction of negative gradient @F @q = @G @q 2 X i w i @C i @q T C i Update the state q new = q α F q

Optimization loop while F (q) > compute @F @q = @G(q) @q +2X i w i ( @C i @q )T C i update q = q @F @q

Search step size The step size in each search iteration can be determined arbitrarily, through a binary search, or solved by another optimization process Step size: α where min α F (q + α q) q new = q + α q

Unconstrained optimization Pros:! simple and fast, no linear system to solve! near-singular configurations is less of a problem! Cons:! can t maintain constraints exactly! constraints fight against each other and the objective function

Constrained optimization Treat constraints as hard constraints! Use Lagrangian formulation to solve a nonlinear optimization L(q,λ)=G(q) λ C min q,λ L(q,λ)

Constrained method Pros! Enforce constraints exactly! Quadratic convergence! Cons! Large system of equations! Near-singular configurations cause instability

Leg example L0 hip T 0h T h1 R(q 0 )R(q 1 )R(q 2 ) L1 knee T 1k R(q 3 ) L2 T k2 ankle L3 R(q 4 )R(q 5 ) T 2a T a3 h 0

Leg example node0 hip q 0, q 1, q 2 q = {q 0, q 1, q 2, q 3, q 4, q 5 } node1 knee node2 q 3 To evaluate gradients of the obj function at each iteration, we need to evaluate constraint and compute Jacobian. C(q) = T 0h R 0 R 1 R 2 T h1 T 1k R 3 T k2 T 2a R 4 R 4 T a3 h 0 - p How to compute J(q)? q 4, q 5 node3 ankle h 0 p

Compute Jacobian T 0h T h1 R(q 0 )R(q 1 )R(q 2 ) Consider the derivative of C with respect to q 5 joint T 1k R(q 3 ) T k2 T 2a R(q 4 )R(q 5 ) T a3 h 0 node @C = T 0h R(q 0 )R(q 1 )R(q 2 )T h1 T 1k R(q 3 )T k2 T 2a R(q 4 ) @R T a3 h 0 @q 5 @q 5 node->getparentbodynode()->gettransform() joint->gettransformfromparentbodynode() joint->gettransform(0) joint->gettransformderivative(1) joint->gettransformfromchildbodynode().inverse()