inverse kinematics solutions using conformal geometric algebra

86
Introduction and Motivation FABRIK Hand Modelling Results Conclusions and Future Work References Inverse Kinematics Solutions using Conformal Geometric Algebra Andreas Aristidou and Joan Lasenby Signal Processing and Communications Group, Department of Engineering, University of Cambridge email: [email protected] and [email protected] June 24, 2010 A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Upload: others

Post on 03-Feb-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Inverse Kinematics Solutions using ConformalGeometric Algebra

Andreas Aristidou† and Joan Lasenby‡

Signal Processing and Communications Group,Department of Engineering,

University of Cambridgeemail: †[email protected] and ‡[email protected]

June 24, 2010

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Table of contents

1 Introduction and MotivationIntroductionLiterature Review

2 FABRIKForward And Backward Reaching Inverse KinematicsFABRIK: The Algorithm

3 Hand ModellingCalculating the palm jointsCalculating the finger joints

4 Results

5 Conclusions and Future WorkConclusionsFuture WorkQuestions

6 References

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Introduction

Inverse Kinematics (IK) is defined as the problem of determininga set of appropriate joint configurations for which the end effectorsmove to desired positions as smoothly, rapidly and as accurately aspossible.It finds application in:

Robotics,

Computer animation,

Ergonomics,

Computer games industry,

Human Computer Interaction. (HCI)

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Introduction

Inverse Kinematics (IK) is defined as the problem of determininga set of appropriate joint configurations for which the end effectorsmove to desired positions as smoothly, rapidly and as accurately aspossible.It finds application in:

Robotics,

Computer animation,

Ergonomics,

Computer games industry,

Human Computer Interaction. (HCI)

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Introduction

Inverse Kinematics (IK) is defined as the problem of determininga set of appropriate joint configurations for which the end effectorsmove to desired positions as smoothly, rapidly and as accurately aspossible.It finds application in:

Robotics,

Computer animation,

Ergonomics,

Computer games industry,

Human Computer Interaction. (HCI)

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Introduction

Inverse Kinematics (IK) is defined as the problem of determininga set of appropriate joint configurations for which the end effectorsmove to desired positions as smoothly, rapidly and as accurately aspossible.It finds application in:

Robotics,

Computer animation,

Ergonomics,

Computer games industry,

Human Computer Interaction. (HCI)

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Introduction

Inverse Kinematics (IK) is defined as the problem of determininga set of appropriate joint configurations for which the end effectorsmove to desired positions as smoothly, rapidly and as accurately aspossible.It finds application in:

Robotics,

Computer animation,

Ergonomics,

Computer games industry,

Human Computer Interaction. (HCI)

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Introduction

Inverse Kinematics (IK) is defined as the problem of determininga set of appropriate joint configurations for which the end effectorsmove to desired positions as smoothly, rapidly and as accurately aspossible.It finds application in:

Robotics,

Computer animation,

Ergonomics,

Computer games industry,

Human Computer Interaction. (HCI)

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Introduction

Inverse Kinematics (IK) is defined as the problem of determininga set of appropriate joint configurations for which the end effectorsmove to desired positions as smoothly, rapidly and as accurately aspossible.It finds application in:

Robotics,

Computer animation,

Ergonomics,

Computer games industry,

Human Computer Interaction. (HCI)

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Related Work

The most popular Inverse Kinematic solvers are:

Inverse Jacobian methods (Pseudo-inverse, SVD, DLS-SVD,SDLS),

Newton Methods,

Mesh based methods (Learning Space),

Statistical Methods (SMCM, Particle Filtering, IK from acontrol prospective),

Heuristic Methods (CCD).

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Related Work

The most popular Inverse Kinematic solvers are:

Inverse Jacobian methods (Pseudo-inverse, SVD, DLS-SVD,SDLS),

Newton Methods,

Mesh based methods (Learning Space),

Statistical Methods (SMCM, Particle Filtering, IK from acontrol prospective),

Heuristic Methods (CCD).

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Related Work

The most popular Inverse Kinematic solvers are:

Inverse Jacobian methods (Pseudo-inverse, SVD, DLS-SVD,SDLS),

Newton Methods,

Mesh based methods (Learning Space),

Statistical Methods (SMCM, Particle Filtering, IK from acontrol prospective),

Heuristic Methods (CCD).

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Related Work

The most popular Inverse Kinematic solvers are:

Inverse Jacobian methods (Pseudo-inverse, SVD, DLS-SVD,SDLS),

Newton Methods,

Mesh based methods (Learning Space),

Statistical Methods (SMCM, Particle Filtering, IK from acontrol prospective),

Heuristic Methods (CCD).

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Related Work

The most popular Inverse Kinematic solvers are:

Inverse Jacobian methods (Pseudo-inverse, SVD, DLS-SVD,SDLS),

Newton Methods,

Mesh based methods (Learning Space),

Statistical Methods (SMCM, Particle Filtering, IK from acontrol prospective),

Heuristic Methods (CCD).

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

IntroductionLiterature Review

Related Work

The most popular Inverse Kinematic solvers are:

Inverse Jacobian methods (Pseudo-inverse, SVD, DLS-SVD,SDLS),

Newton Methods,

Mesh based methods (Learning Space),

Statistical Methods (SMCM, Particle Filtering, IK from acontrol prospective),

Heuristic Methods (CCD).

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Related Work in Conformal Geometric Algebra

Dorst et al, [1], gives a simple framework solution for a robot arm,

Corrochano and Kahler [2] used a language of points, lines andplanes (which are later replaced by spheres in [3]) to solve the IKproblem of a robot arm within a framework,

[4, 5, 6] used CGA to deal with forward kinematics, dynamics andprojective geometry problems,

Tanev, in [7], described an application of CGA to the analysis of aparallel manipulator with limited mobility,

Hildenbrand et al, [8], gives a synopsis of different IK frameworksolutions and grasping processes of a robot arm.

However, most of the literature:

solves simple kinematic problems of a robot arm with 5 degrees offreedom (DoF)

describes how to constrain the movement of a manipulator to afeasible set within a framework rather than describing a solver itself.

Related Work in Conformal Geometric Algebra

Dorst et al, [1], gives a simple framework solution for a robot arm,

Corrochano and Kahler [2] used a language of points, lines andplanes (which are later replaced by spheres in [3]) to solve the IKproblem of a robot arm within a framework,

[4, 5, 6] used CGA to deal with forward kinematics, dynamics andprojective geometry problems,

Tanev, in [7], described an application of CGA to the analysis of aparallel manipulator with limited mobility,

Hildenbrand et al, [8], gives a synopsis of different IK frameworksolutions and grasping processes of a robot arm.

However, most of the literature:

solves simple kinematic problems of a robot arm with 5 degrees offreedom (DoF)

describes how to constrain the movement of a manipulator to afeasible set within a framework rather than describing a solver itself.

Related Work in Conformal Geometric Algebra

Dorst et al, [1], gives a simple framework solution for a robot arm,

Corrochano and Kahler [2] used a language of points, lines andplanes (which are later replaced by spheres in [3]) to solve the IKproblem of a robot arm within a framework,

[4, 5, 6] used CGA to deal with forward kinematics, dynamics andprojective geometry problems,

Tanev, in [7], described an application of CGA to the analysis of aparallel manipulator with limited mobility,

Hildenbrand et al, [8], gives a synopsis of different IK frameworksolutions and grasping processes of a robot arm.

However, most of the literature:

solves simple kinematic problems of a robot arm with 5 degrees offreedom (DoF)

describes how to constrain the movement of a manipulator to afeasible set within a framework rather than describing a solver itself.

Related Work in Conformal Geometric Algebra

Dorst et al, [1], gives a simple framework solution for a robot arm,

Corrochano and Kahler [2] used a language of points, lines andplanes (which are later replaced by spheres in [3]) to solve the IKproblem of a robot arm within a framework,

[4, 5, 6] used CGA to deal with forward kinematics, dynamics andprojective geometry problems,

Tanev, in [7], described an application of CGA to the analysis of aparallel manipulator with limited mobility,

Hildenbrand et al, [8], gives a synopsis of different IK frameworksolutions and grasping processes of a robot arm.

However, most of the literature:

solves simple kinematic problems of a robot arm with 5 degrees offreedom (DoF)

describes how to constrain the movement of a manipulator to afeasible set within a framework rather than describing a solver itself.

Related Work in Conformal Geometric Algebra

Dorst et al, [1], gives a simple framework solution for a robot arm,

Corrochano and Kahler [2] used a language of points, lines andplanes (which are later replaced by spheres in [3]) to solve the IKproblem of a robot arm within a framework,

[4, 5, 6] used CGA to deal with forward kinematics, dynamics andprojective geometry problems,

Tanev, in [7], described an application of CGA to the analysis of aparallel manipulator with limited mobility,

Hildenbrand et al, [8], gives a synopsis of different IK frameworksolutions and grasping processes of a robot arm.

However, most of the literature:

solves simple kinematic problems of a robot arm with 5 degrees offreedom (DoF)

describes how to constrain the movement of a manipulator to afeasible set within a framework rather than describing a solver itself.

Related Work in Conformal Geometric Algebra

Dorst et al, [1], gives a simple framework solution for a robot arm,

Corrochano and Kahler [2] used a language of points, lines andplanes (which are later replaced by spheres in [3]) to solve the IKproblem of a robot arm within a framework,

[4, 5, 6] used CGA to deal with forward kinematics, dynamics andprojective geometry problems,

Tanev, in [7], described an application of CGA to the analysis of aparallel manipulator with limited mobility,

Hildenbrand et al, [8], gives a synopsis of different IK frameworksolutions and grasping processes of a robot arm.

However, most of the literature:

solves simple kinematic problems of a robot arm with 5 degrees offreedom (DoF)

describes how to constrain the movement of a manipulator to afeasible set within a framework rather than describing a solver itself.

Related Work in Conformal Geometric Algebra

Dorst et al, [1], gives a simple framework solution for a robot arm,

Corrochano and Kahler [2] used a language of points, lines andplanes (which are later replaced by spheres in [3]) to solve the IKproblem of a robot arm within a framework,

[4, 5, 6] used CGA to deal with forward kinematics, dynamics andprojective geometry problems,

Tanev, in [7], described an application of CGA to the analysis of aparallel manipulator with limited mobility,

Hildenbrand et al, [8], gives a synopsis of different IK frameworksolutions and grasping processes of a robot arm.

However, most of the literature:

solves simple kinematic problems of a robot arm with 5 degrees offreedom (DoF)

describes how to constrain the movement of a manipulator to afeasible set within a framework rather than describing a solver itself.

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Forward And Backward Reaching Inverse KinematicsFABRIK: The Algorithm

FABRIK

FABRIK (Forward And Backward Reaching Inverse Kinematics):

Solves the IK problem in an iterative fashion,

Divides the problem into 2 phases, a forward and a backwardreaching approach,

Uses points, lines and spheres to solve the IK problem insteadof rotational angles.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Forward And Backward Reaching Inverse KinematicsFABRIK: The Algorithm

FABRIK

FABRIK (Forward And Backward Reaching Inverse Kinematics):

Solves the IK problem in an iterative fashion,

Divides the problem into 2 phases, a forward and a backwardreaching approach,

Uses points, lines and spheres to solve the IK problem insteadof rotational angles.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Forward And Backward Reaching Inverse KinematicsFABRIK: The Algorithm

FABRIK

FABRIK (Forward And Backward Reaching Inverse Kinematics):

Solves the IK problem in an iterative fashion,

Divides the problem into 2 phases, a forward and a backwardreaching approach,

Uses points, lines and spheres to solve the IK problem insteadof rotational angles.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Forward And Backward Reaching Inverse KinematicsFABRIK: The Algorithm

FABRIK

Able to treat most of the joint types,

Supports biomechanical constraints on chains with both singleand multiple end effectors,

Low computational cost → Real-Time implementable,

Tracks the target smoothly without oscillations ordiscontinuities,

Produce natural poses.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Forward And Backward Reaching Inverse KinematicsFABRIK: The Algorithm

FABRIK

Able to treat most of the joint types,

Supports biomechanical constraints on chains with both singleand multiple end effectors,

Low computational cost → Real-Time implementable,

Tracks the target smoothly without oscillations ordiscontinuities,

Produce natural poses.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Forward And Backward Reaching Inverse KinematicsFABRIK: The Algorithm

FABRIK

Able to treat most of the joint types,

Supports biomechanical constraints on chains with both singleand multiple end effectors,

Low computational cost → Real-Time implementable,

Tracks the target smoothly without oscillations ordiscontinuities,

Produce natural poses.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Forward And Backward Reaching Inverse KinematicsFABRIK: The Algorithm

FABRIK

Able to treat most of the joint types,

Supports biomechanical constraints on chains with both singleand multiple end effectors,

Low computational cost → Real-Time implementable,

Tracks the target smoothly without oscillations ordiscontinuities,

Produce natural poses.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Forward And Backward Reaching Inverse KinematicsFABRIK: The Algorithm

FABRIK

Able to treat most of the joint types,

Supports biomechanical constraints on chains with both singleand multiple end effectors,

Low computational cost → Real-Time implementable,

Tracks the target smoothly without oscillations ordiscontinuities,

Produce natural poses.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

FABRIK: The Algorithm

Forward Reaching Step

t

d1

d2

d3

4p

3p

2p

1p

The initial position of themanipulator and the target.

FABRIK: The Algorithm

Forward Reaching Step

d1

d2

d3

4p

3p

2p

1p

4p

Move the end effector p4 tothe target.

FABRIK: The Algorithm

Forward Reaching Step

l3

d1

d2

d3

3p

2p

1p

4p3p

3

Find the joint p′3 which is theintersection of the sphere Σ3

and the line l3 which passesthrough the points p′4 and p3.

FABRIK: The Algorithm

Forward Reaching Step

d1

d2

d3

l2

l1

4p3p

2p

1p

l3

2

1Continue the algorithm for therest of the joints.

FABRIK: The Algorithm

Backward Reaching Step

d1

d2

d34p

3p

2p

1p1p

d1

d2

d34p

3p

1p

The second stage of thealgorithm: move the root jointp′1 to its initial position.

FABRIK: The Algorithm

Backward Reaching Step

l3

d1

d2

d3

l2

l1

t

1p

2p

3p4p

2

1

3

Repeat the same procedurebut this time start from thebase and move outwards tothe end effector.

The algorithm is repeated untilthe position of the end effectorreaches the target or getssufficiently close.

FABRIK: The Algorithm

Backward Reaching Step

l3

d1

d2

d3

l2

l1

t

1p

2p

3p4p

2

1

3

Repeat the same procedurebut this time start from thebase and move outwards tothe end effector.

The algorithm is repeated untilthe position of the end effectorreaches the target or getssufficiently close.

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Forward And Backward Reaching Inverse KinematicsFABRIK: The Algorithm

FABRIK video example

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Hand tracking in optical motion capture

An application of the proposed algorithm that demonstrates all ofFABRIK’s advantages.

Hand Tracking and reconstruction using optical motioncapture,

The hand is constrained using Conformal Geometric Algebra,

The resulting poses are produced in real-time.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Hand tracking in optical motion capture

An application of the proposed algorithm that demonstrates all ofFABRIK’s advantages.

Hand Tracking and reconstruction using optical motioncapture,

The hand is constrained using Conformal Geometric Algebra,

The resulting poses are produced in real-time.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Hand tracking in optical motion capture

An application of the proposed algorithm that demonstrates all ofFABRIK’s advantages.

Hand Tracking and reconstruction using optical motioncapture,

The hand is constrained using Conformal Geometric Algebra,

The resulting poses are produced in real-time.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Hand tracking in optical motion capture

An application of the proposed algorithm that demonstrates all ofFABRIK’s advantages.

Hand Tracking and reconstruction using optical motioncapture,

The hand is constrained using Conformal Geometric Algebra,

The resulting poses are produced in real-time.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

The Hand Model

R

End effectorJointBase root

Palm plane

1,iF

2,iF

3,iF

4,iF

5,iF1i

2i3i

4i

5i

Extra Markers

P

Q

5 markers are attached atthe end of each finger(end effectors),

1 marker is attached atthe hand root,

2 markers are attached atstrategic points on thepalm to help us find thehand orientation.

The Hand Model

R

End effectorJointBase root

Palm plane

1,iF

2,iF

3,iF

4,iF

5,iF1i

2i3i

4i

5i

Extra Markers

P

Q

5 markers are attached atthe end of each finger(end effectors),

1 marker is attached atthe hand root,

2 markers are attached atstrategic points on thepalm to help us find thehand orientation.

The Hand Model

R

End effectorJointBase root

Palm plane

1,iF

2,iF

3,iF

4,iF

5,iF1i

2i3i

4i

5i

Extra Markers

P

Q

5 markers are attached atthe end of each finger(end effectors),

1 marker is attached atthe hand root,

2 markers are attached atstrategic points on thepalm to help us find thehand orientation.

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

The Hand Model

Assumptions:

The hand orientation is given by the palm,

The palm plane is flat → the inter-joint distances are constantover time,

Finger planes are perpendicular to the palm plane.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

The Hand Model

Assumptions:

The hand orientation is given by the palm,

The palm plane is flat → the inter-joint distances are constantover time,

Finger planes are perpendicular to the palm plane.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

The Hand Model

Assumptions:

The hand orientation is given by the palm,

The palm plane is flat → the inter-joint distances are constantover time,

Finger planes are perpendicular to the palm plane.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

The Hand Model

Assumptions:

The hand orientation is given by the palm,

The palm plane is flat → the inter-joint distances are constantover time,

Finger planes are perpendicular to the palm plane.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Calculating the palm joints

Marker positions

Joint

P

Q

R

p

q

1

2

nRQPx

Find the Spheres Σp andΣq,

Find the intersection ofthe spheres C = Σp ∨ Σq,

Find the intersectionbetween the entity C andthe palm plane Φx ,B = C ∨ Φx ,

Choose the point that iscloser to its previousposition.

Calculating the palm joints

Marker positions

Joint

P

Q

R

p

q

1

2

nRQPx

Find the Spheres Σp andΣq,

Find the intersection ofthe spheres C = Σp ∨ Σq,

Find the intersectionbetween the entity C andthe palm plane Φx ,B = C ∨ Φx ,

Choose the point that iscloser to its previousposition.

Calculating the palm joints

Marker positions

Joint

P

Q

R

p

q

1

2

nRQPx

Find the Spheres Σp andΣq,

Find the intersection ofthe spheres C = Σp ∨ Σq,

Find the intersectionbetween the entity C andthe palm plane Φx ,B = C ∨ Φx ,

Choose the point that iscloser to its previousposition.

Calculating the palm joints

Marker positions

Joint

P

Q

R

p

q

1

2

nRQPx

Find the Spheres Σp andΣq,

Find the intersection ofthe spheres C = Σp ∨ Σq,

Find the intersectionbetween the entity C andthe palm plane Φx ,B = C ∨ Φx ,

Choose the point that iscloser to its previousposition.

Calculating the palm joints

Marker positions

Joint

P

Q

R

p q

1

2

nRQPx

Similarly for all theremaining palm joints

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

Find the finger planes Φi , for i = 1, . . . , 4

Φi can be calculated using the known joint positions Fi ,2, themarker positions Fi ,5 and by assuming that the finger planesare perpendicular to the palm plane Φx (apart from thethumb plane Φ5),

Both points from each finger are known (the motion capturesystem tracks the end effector positions Fi ,5 and the fingerroots Fi ,2 lie on the palm plane),

The vector that is perpendicular to the hand plane Φx ,n = Φ∗x − 1

2 (Φ∗x · n) n,

Φi = Fi ,2 ∧ Fi ,5 ∧ n ∧ n for i = 1, ..., 4.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

Find the finger planes Φi , for i = 1, . . . , 4

Φi can be calculated using the known joint positions Fi ,2, themarker positions Fi ,5 and by assuming that the finger planesare perpendicular to the palm plane Φx (apart from thethumb plane Φ5),

Both points from each finger are known (the motion capturesystem tracks the end effector positions Fi ,5 and the fingerroots Fi ,2 lie on the palm plane),

The vector that is perpendicular to the hand plane Φx ,n = Φ∗x − 1

2 (Φ∗x · n) n,

Φi = Fi ,2 ∧ Fi ,5 ∧ n ∧ n for i = 1, ..., 4.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

Find the finger planes Φi , for i = 1, . . . , 4

Φi can be calculated using the known joint positions Fi ,2, themarker positions Fi ,5 and by assuming that the finger planesare perpendicular to the palm plane Φx (apart from thethumb plane Φ5),

Both points from each finger are known (the motion capturesystem tracks the end effector positions Fi ,5 and the fingerroots Fi ,2 lie on the palm plane),

The vector that is perpendicular to the hand plane Φx ,n = Φ∗x − 1

2 (Φ∗x · n) n,

Φi = Fi ,2 ∧ Fi ,5 ∧ n ∧ n for i = 1, ..., 4.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

Find the finger planes Φi , for i = 1, . . . , 4

Φi can be calculated using the known joint positions Fi ,2, themarker positions Fi ,5 and by assuming that the finger planesare perpendicular to the palm plane Φx (apart from thethumb plane Φ5),

Both points from each finger are known (the motion capturesystem tracks the end effector positions Fi ,5 and the fingerroots Fi ,2 lie on the palm plane),

The vector that is perpendicular to the hand plane Φx ,n = Φ∗x − 1

2 (Φ∗x · n) n,

Φi = Fi ,2 ∧ Fi ,5 ∧ n ∧ n for i = 1, ..., 4.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

Find the finger planes Φi , for i = 1, . . . , 4

Φi can be calculated using the known joint positions Fi ,2, themarker positions Fi ,5 and by assuming that the finger planesare perpendicular to the palm plane Φx (apart from thethumb plane Φ5),

Both points from each finger are known (the motion capturesystem tracks the end effector positions Fi ,5 and the fingerroots Fi ,2 lie on the palm plane),

The vector that is perpendicular to the hand plane Φx ,n = Φ∗x − 1

2 (Φ∗x · n) n,

Φi = Fi ,2 ∧ Fi ,5 ∧ n ∧ n for i = 1, ..., 4.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

The thumb orientation Φ5 can be estimated using the markerposition F5,4, and the joints positions F1,2 and F5,2 that lie onthe palm, assuming that when the thumb bends to the ventralside of the palm, it always points at the joint F1,2.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

When the finger planes are known

12,

kiF

13,k

iF

14,

kiF 1

5,k

iF

1ki

kiF 2,

kiF 5,

ki

Frame 1k Frame k

Find the translation T from theprevious to the current time,

Find the rotor R that expressesthe rotations between theprevious and the current time,

Translate and rotate each fingerjoint from the previous to thecurrent time.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

When the finger planes are known

12,

kiF

13,k

iF

14,

kiF 1

5,k

iF

1ki

kiF 2,

kiF 5,

ki

Frame 1k Frame k

Find the translation T from theprevious to the current time,

Find the rotor R that expressesthe rotations between theprevious and the current time,

Translate and rotate each fingerjoint from the previous to thecurrent time.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

When the finger planes are known

12,

kiF

13,k

iF

14,

kiF 1

5,k

iF

1ki

kiF 2,

kiF 5,

ki

Frame 1k Frame k

Find the translation T from theprevious to the current time,

Find the rotor R that expressesthe rotations between theprevious and the current time,

Translate and rotate each fingerjoint from the previous to thecurrent time.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

When the finger planes are known

12,

kiF

13,k

iF

14,

kiF 1

5,k

iF

1ki

kiF 2,

kiF 5,

ki

Frame 1k Frame k

Find the translation T from theprevious to the current time,

Find the rotor R that expressesthe rotations between theprevious and the current time,

Translate and rotate each fingerjoint from the previous to thecurrent time.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

kiF 2, k

iF 5,ki

kiF 5,ˆ

kiF 3,ˆ

kiF 4,ˆ

Frame k

F ki ,j = TRF k−1

i ,j RT where i = 1, . . . , 4 andj = 3, 4, 5 (except for thumb i = 5 andj = 2, 3, 4),

All joints now lie on plane Φki ,

FABRIK is applied to each finger chain,assuming that the root of the chain is F k

i ,2,

the end effector is the rotated point F ki ,5 and

the target is the current marker position F ki ,5.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

kiF 2, k

iF 5,ki

kiF 5,ˆ

kiF 3,ˆ

kiF 4,ˆ

Frame k

F ki ,j = TRF k−1

i ,j RT where i = 1, . . . , 4 andj = 3, 4, 5 (except for thumb i = 5 andj = 2, 3, 4),

All joints now lie on plane Φki ,

FABRIK is applied to each finger chain,assuming that the root of the chain is F k

i ,2,

the end effector is the rotated point F ki ,5 and

the target is the current marker position F ki ,5.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Calculating the palm jointsCalculating the finger joints

Calculating the finger joints

kiF 2, k

iF 5,ki

kiF 5,ˆ

kiF 3,ˆ

kiF 4,ˆ

Frame k

F ki ,j = TRF k−1

i ,j RT where i = 1, . . . , 4 andj = 3, 4, 5 (except for thumb i = 5 andj = 2, 3, 4),

All joints now lie on plane Φki ,

FABRIK is applied to each finger chain,assuming that the root of the chain is F k

i ,2,

the end effector is the rotated point F ki ,5 and

the target is the current marker position F ki ,5.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Results - Example 1

Results - Example 2

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

Results - Video

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Conclusions

FABRIK:

is real-time implementable and produces visually natural posescomparable with highly sophisticated analytic solutions,

is able to solve problems with multiple end effectors andtargets,

supports most joint types (apart from prismatic, slicing orshifting joints),

tracks the target without oscillations or discontinuities.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Conclusions

FABRIK:

is real-time implementable and produces visually natural posescomparable with highly sophisticated analytic solutions,

is able to solve problems with multiple end effectors andtargets,

supports most joint types (apart from prismatic, slicing orshifting joints),

tracks the target without oscillations or discontinuities.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Conclusions

FABRIK:

is real-time implementable and produces visually natural posescomparable with highly sophisticated analytic solutions,

is able to solve problems with multiple end effectors andtargets,

supports most joint types (apart from prismatic, slicing orshifting joints),

tracks the target without oscillations or discontinuities.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Conclusions

FABRIK:

is real-time implementable and produces visually natural posescomparable with highly sophisticated analytic solutions,

is able to solve problems with multiple end effectors andtargets,

supports most joint types (apart from prismatic, slicing orshifting joints),

tracks the target without oscillations or discontinuities.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Conclusions

FABRIK:

is real-time implementable and produces visually natural posescomparable with highly sophisticated analytic solutions,

is able to solve problems with multiple end effectors andtargets,

supports most joint types (apart from prismatic, slicing orshifting joints),

tracks the target without oscillations or discontinuities.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Conclusions

The proposed hand model:

is real-time implementable,

produces natural movements within a feasible set,

tracks the target without oscillations or discontinuities.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Conclusions

The proposed hand model:

is real-time implementable,

produces natural movements within a feasible set,

tracks the target without oscillations or discontinuities.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Conclusions

The proposed hand model:

is real-time implementable,

produces natural movements within a feasible set,

tracks the target without oscillations or discontinuities.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Conclusions

The proposed hand model:

is real-time implementable,

produces natural movements within a feasible set,

tracks the target without oscillations or discontinuities.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Future Work

Future work will see the introduction of physiological constraintssubject to the hand’s anatomy:

1 Constraints related to:

finger’s intradigital correlation,

finger’s transdigital correlation,

2 Skin related constraints,

3 Self collisions.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Future Work

Future work will see the introduction of physiological constraintssubject to the hand’s anatomy:

1 Constraints related to:

finger’s intradigital correlation,finger’s transdigital correlation,

2 Skin related constraints,

3 Self collisions.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Future Work

Future work will see the introduction of physiological constraintssubject to the hand’s anatomy:

1 Constraints related to:

finger’s intradigital correlation,finger’s transdigital correlation,

2 Skin related constraints,

3 Self collisions.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Future Work

Future work will see the introduction of physiological constraintssubject to the hand’s anatomy:

1 Constraints related to:

finger’s intradigital correlation,finger’s transdigital correlation,

2 Skin related constraints,

3 Self collisions.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Future Work

Future work will see the introduction of physiological constraintssubject to the hand’s anatomy:

1 Constraints related to:

finger’s intradigital correlation,finger’s transdigital correlation,

2 Skin related constraints,

3 Self collisions.

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

Introduction and MotivationFABRIK

Hand ModellingResults

Conclusions and Future WorkReferences

ConclusionsFuture WorkQuestions

Questions

Thank you! Any questions?

A. Aristidou and J. Lasenby Inverse Kinematics Solutions using CGA

References

[1] L. Dorst, D. Fontijne and S. Mann, Geometric Algebra for Computer Science:An Object-Oriented Approach to Geometry, Morgan Kaufmann Publ. Inc., 2009.

[2] E. Bayro-Corrochano and D. Kahler, Motor algebra approach for computingthe kinematics of robot manipulators, J. of Robotics Systems, 17(9): 495-516,2000.

[3] E. Bayro-Corrochano, Robot perception and action using conformalgeometric algebra. In Handbook of Geometric Computing, Chapter 14,Springer-Verlag, Heidelberg, pages 405-457, 2005.

[4] D. Hildenbrand, Geometric computing in computer graphics using CGA,Computers and Graphics, 29(5): 795-803, 2005.

[5] J. Zamora and E. Bayro-Corrochano, Kinematics and Grasping using CGA, InAdvances in Robot Kinematics, Springer, pages 473-480, 2006.

[6] D. Hildenbrand, J. Zamora and E. Bayro-Corrochano, Inverse Kinematicscomputation in computer graphics and robotics using CGA, In Advances inApplied Clifford Algebras, volume 18, pages 699-713, 2008.

[7] T. K. Tanev, Geometric Algebra Approach to Singularity of ParallelManipulators with Limited Mobility, In Advances in Robot Kinematics, Springer,pages 39-48, 2008.

[8] D. Hildenbrand, H. Lange, F. Stock and A. Koch, Efficient InverseKinematics algorithm based on CGA (Using reconfigurable hardware), 2007.