Inverse Kinematics Solutions using Conformal Geometric Algebra
Transcript of Inverse Kinematics Solutions using Conformal Geometric Algebra
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
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.