Inverse Kinematics Set goal configuration of end effector

Slides:



Advertisements
Similar presentations
Jason Clark Inverse Kinematics Jason Clark
Advertisements

COMP Robotics: An Introduction
Links and Joints.
Inverse Kinematics Course site:
Manipulator’s Inverse kinematics
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Motion Analysis (contd.) Slides are from RPI Registration Class.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Ch. 3: Forward and Inverse Kinematics
IK: Choose these angles!
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Inverse Kinematics How do I put my hand here? IK: Choose these angles!
Articulated Body Dynamics The Basics Comp 768 October 23, 2007 Will Moss.
CSCE 689: Forward Kinematics and Inverse Kinematics
Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.
Serial and Parallel Manipulators
Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Inverse Kinematics Jacobian Matrix Trajectory Planning
An Introduction to Robot Kinematics
역운동학의 구현과 응용 Implementation of Inverse Kinematics and Application 서울대학교 전기공학부 휴먼애니메이션연구단 최광진
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Advanced Graphics (and Animation) Spring 2002
Definition of an Industrial Robot
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Chap 5 Kinematic Linkages
Advanced Programming for 3D Applications CE Bob Hobbs Staffordshire university Human Motion Lecture 3.
Inverse Kinematics.
Inverse Kinematics Kris Hauser
Lecture 2: Introduction to Concepts in Robotics
Chapter 2 Robot Kinematics: Position Analysis
Inverse Kinematics.
Simulation and Animation
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Optimization & Constraints Add mention of global techiques Add mention of calculus.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Inverting the Jacobian and Manipulability
Review: Differential Kinematics
What is Kinematics. Kinematics studies the motion of bodies.
Kinematic Redundancy A manipulator may have more DOFs than are necessary to control a desired variable What do you do w/ the extra DOFs? However, even.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Outline: Introduction Solvability Manipulator subspace when n<6
Rick Parent - CIS681 Reaching and Grasping Reaching control synthetic human arm to reach for object or position in space while possibly avoiding obstacles.
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Numerical Methods for Inverse Kinematics Kris Hauser ECE 383 / ME 442.
Fundamentals of Computer Animation
Robotics Chapter 3 – Forward Kinematics
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
CSCE 441: Computer Graphics Forward/Inverse kinematics
Inverse Kinematics.
IK: Choose these angles!
IK: Choose these angles!
Character Animation Forward and Inverse Kinematics
Inverse Manipulator Kinematics
INVERSE MANIPULATOR KINEMATICS
Computer Animation Algorithms and Techniques
Introduction to manipulator kinematics
Inverse Kinematics, Jacobians
CSCE 441: Computer Graphics Forward/Inverse kinematics
Computer Animation Algorithms and Techniques
Inverse Kinematics 12/30/2018.
Inverse Kinematics Problem:
Skeletal Motion, Inverse Kinematics
Outline: Introduction Solvability Manipulator subspace when n<6
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

Inverse Kinematics Set goal configuration of end effector calculate interior joint angles Analytic approach – when linkage is simple enough, directly calculate joint angles in configuration that satifies goal Numeric approach – complex linkages At each time slice, determine joint movements that take you in direction of goal position (and orientation)

Forward Kinematics - review Articulated linkage – hierarchy of joint-link pairs Pose – linkage is a specific configuration Pose Vector – vector of joint angles for linkage Degrees of Freedom (DoF) – of joint or of whole figure Types of joints: revolute, prismatic Tree structure – arcs & nodes Recursive traversal – concatenate arc matrices Push current matrix leaving node downward Pop current matrix traversing back up to node

Inverse Kinematics End Effector L1 q3 q2 L3 L2 q1 Goal

Inverse Kinematics Underconstrained – if fewer constraints than DoFs Many solutions Overconstrained – too many constraints No solution Reachable workspace – volume the end effector can reach Dextrous workspace – volume end effector can reach in any orientation

Inverse Kinematics - Analytic Given arm configuration (L1, L2, …) Given desired goal position (and orientation) of end effector: [x,y] or [x,y,z, y1,y2, y3] Analytically compute goal configuration (q1,q2) Interpolate pose vector from initial to goal

Analytic Inverse Kinematics q2 L2 L1 Goal (X,Y) q1

Analytic Inverse Kinematics Multiple solutions Goal (X,Y)

Analytic Inverse Kinematics 180- q2 L1 (X,Y) q1 qT

Analytic Inverse Kinematics 180- q2 L1 (X,Y) q1 Y qT X

Law of Cosines C A a B

Analytic Inverse Kinematics (X,Y) 180- q2 q1 qT Y X

Analytic Inverse Kinematics

Iterative Inverse Kinematics When linkage is too complex for analytic methods At each time step, determine changes to joint angles that take the end effector toward goal position and orientation Need to recompute at each time step

Inverse Jacobian Method d2=EF-J2 End Effector q2 a2 x d2 - Compute instantaneous effect of each joint - Linear approximation to curvilinear motion - Find linear combination to take end effector towards goal position

Instantaneous linear change in end effector for ith joint Inverse Jacobian Method Instantaneous linear change in end effector for ith joint = (EF - Ji) x ai

Inverse Jacobian Method What is the change in orientation of end effector induced by joint i that has axis of rotation a i and position Ji? Angular velocity

Inverse Jacobian Method Solution only valid for an instantaneous step Angular affect is really curved, not straight line Once a step is taken, need to recompute solution

Inverse Jacobian Method Set up equations yi: state variable xi : system parameter fi : relate system parameters to state variable Inverse Jacobian Method - Mathematics

Inverse Jacobian Method - Mathematics Matrix Form

Inverse Jacobian Method - Mathematics Use chain rule to differentiate equations to relate changes in system parameters to changes in state variables

Inverse Jacobian Method - Mathematics Matrix Form

Inverse Jacobian Method Change in position (and orientation) of end effector Change in joint angles Linear approximation that relates change in joint angle to change in end effector position (and orientation)

Inverse Jacobian Method

Inverse Jacobian Method

Inverse Jacobian Method = (S - J1) x a1 = w1

The Matrices

The Matrices N DoFs V – desired linear and angular velocities 3x1, 6x1 J – Jacobian Matrix of partials 3xN, 6xN N x 1 q – change to joint angles (unknowns)

Pseudo Inverse of the Jacobian

Solving using the Pseudo Inverse LU decomposition

Adding a Control Term A solution of this form When put into this formula Like this After some manipulation, you can show that it… …doesn’t affect the desired configuration But it can be used to bias The solution vector

Form of the Control Term Desired angles and corresponding gains are input Bias to desired angles (not the same as hard joint limits) ‘z’ is H differentiated Where the deviation is large, you bump up the solution vector in such a way that you don’t disturb the desired effect

Some Algebraic Manipulation Include this in equation Isolate vector of unknown Rearrange to isolate the inverse

Solving the Equations LU decomp.

Control Term Use to bias to desired mid-angle Does not enforce joint angles Does not address “human-like” or “natural” motion Only kinematic control – no forces involved

Other ways to numerically IK Jacobian transpose Alternate Jacobian – use goal position HAL – human arm linkage Damped Least Squares CCD

Jacobian Transpose Use projection of effect vector onto desired movement

Jacobian Transpose S

Jacobian Transpose …

Alternate Jacobian G Use the goal postion instead of the end-effector!!?? !? …

Damped Least Squares G substitution Solve

Hueristic Human-Like Linkage (HAL) 7 DoF linkage RA (q1,q2 ,q3) , RB ( q4), RC(q5,q6 ,q7) 3 DoF G Decompose into simpler subproblems 1 DoF Set hand position and rotation based on relative position of Goal to shoulder 3 DoF Fix wrist position – use as Goal

Hueristic Human-Like Linkage (HAL) Set q4 based on distance between shoulder and wrist w e Assume axis of elbow is perpendicular to plane defined by s, e, w use law of cosines

Hueristic Human-Like Linkage (HAL) q4 w e Elbow lies on circle defined by w, s & q4 Determine elbow position based on heuristics For example: project forearm straight from hand orientation if arm intersects torso or a shoulder angle exceeds joint limit (or exceeds comfort zone) – Clamp to inside of limits

Hueristic Human-Like Linkage (HAL) q4 w e From e and s, determine RA From e and w and hand orientation, determine RB

Cyclic-Coordinate Descent Traverse linkage from distal joint inwards Optimally set one joint at a time Update end effector with each joint change At each joint, minimize difference between end effector and goal Easy if only trying to match position; heuristic if orientation too Use weighted average of position and orientation.

Cyclic-Coordinate Descent .

Cyclic-Coordinate Descent Rotational joint: .

Cyclic-Coordinate Descent Rotational joint: .

Cyclic-Coordinate Descent Rotational joint: .

Cyclic-Coordinate Descent Rotational joint: .

Cyclic-Coordinate Descent Translational joint: ..

IK w/ constraints Basic idea: Chris Welman, “Inverse Kinematics and Geometric Constraints for Articulated Figure Manipulation,” M.S. Thesis, Simon Fraser University, 2001. Basic idea: Constraints are geometric, e.g., point-to-point, point-to-plan, specific orientation, etc. Assume starting out in satisfied configuration Forces are applied to system Detect, and cancel out, force components that would violate constraints.

IK w/ constraints Point-on-a-plane constraint Fa Fc Ft Given: geometric constraints & applied forces Determine: what constraints will be violated & what (minimal) forces are needed to counteract the components of the applied forces responsible for the violations.

Constraints To maintain constraints, need: Notation: .

Constraints IK Jacobian . Generalized force Constraint Jacobian

example constraint Geometric constraint on point that is function of pose Usually sparse .

Computing the constraint force Applied force Yet to be determined constraint force To counteract ga’s affect on constraints: g should lie in the nullspace of JcK .

Computing the constraint force The system is usually underconstrained Restrict gc to move the system in a direction it may not go Solve linear system to find Lagrange multiplier vector. .

Solving for Lagrange Multipliers gradient Shortest distance from A to B passing through a point P Direction of gradients are equal A Constrain P to lie on g B g Points on ellipse are set of points for which sum of distances to foci is equal to some constant

Solving for Lagrange Multipliers Use truncated SVD with backsubstitution on diagonal Nullspace basis. Range basis

Solving for Lagrange Multipliers

Feedback term Spring that penalizes deviation from constraints.

Implementation Handles on skeletons Point handle orientation handle Center-of-mass handle Each handle must know how to its value from q Each handle must know how to compute the Jacobian.

Constraints on handles Constraining a point handle to a location Constraining a point handle to a plane Constraining a point handle to a line Constraining an orientation handle to an orientation .

Dataflow approach Constraint function block Knows how to compute Its function in term of x Knows its Jacobian wrt x ..

Example network Jc C c1 c2 h1 h2 h3 h4 .. q