Inverse Kinematics Robert Platt Northeastern University
Inverse Kinematics This addresses the obvious question: what joint angles will place my end effector in a desired pose?
Inverse kinematics Closed form (analytical) solution: a sequence or set of equations that can be solved for the desired joint angles • Potentially faster than an iterative solution • A unique solution to all manipulator positions can be determined a priori . • Can guarantee “safe” joint configurations where the manipulator does not collide with the body. Iterative (numerical) solution: numerical iteration toward a desired goal position (variation on Newton’s method) • Easier to think about • Better suited to incremental displacements and control.
Inverse kinematics There is no general analytical inverse kinematics solution • All analytical inverse kinematics solutions are specific to a robot or class of robots. • based on geometric intuition about the robot • I’ll give one example – there are many variations.
Inverse kinematics q 3 q 4 q 5 q 6 q 2 Spherical wrist: the axes of the last three joints q intersect in a point. 1 Consider this 6-joint robot: • this example is out of the book…
Inverse kinematics q 3 q 4 q 5 Problem: q 6 q • Given: desired transform, 2 • q Find: q q q q q q 1 1 2 3 4 n Note: • The desired transform (pose) encodes six degrees of freedom (this info can be represented by six numbers) • Since we only have six joints at our disposal, there is no manifold of redundant solutions. • For this manipulator, the problem can be decomposed into a position component (the first three joints) and an orientation component (the last three joints) • The first three joints tell you what the position of the spherical wrist
In class exercise Given and , calculate joint angles that cause eff to reach
Example: Inverse kinematics q 3 q 4 q 5 q Solution: 6 q 2 • First, back out the position of the spherical wrist: q 1 Since it’s a spherical wrist, the last three joints can be thought of as rotating about a point. • A constant transform exists that goes from the last wrist joint out to the end sw T effector (sometimes this is called the “tool” transform): eff • Back out the position of the wrist: 1 b b sw T T T sw eff eff
Example: Inverse kinematics q 3 q 4 q 5 q • Next, solve for the first three joints 6 q 2 q 1 q Goal position in horizontal plane First, solve for . (look down from 1 above) 1 q a tan 2 x g y , g or q a tan 2 x g y , 1 g q 1
Example: Inverse kinematics q 3 q 4 q 5 q q 6 q Next, solve for . (look at the 2 3 manipulator orthogonal to the plane of the first two links) q 1 2 2 2 c a b 2 ab cos( ) c 2 2 2 2 r z h l l g g 1 2 cos D c 2 l l q 1 2 3 l 2 2 2 2 r x y l where g g g 1 c h and is the height of the first link q 2 1 D 2 tan q 3 D
Example: Inverse kinematics q 3 q 4 q q 5 Next, solve for . (continue to 2 look at the manipulator q 6 q 2 orthogonal to the plane of the first two links) q 1 z h g tan 2 2 x y g g l s tan 2 3 q l l c 3 1 2 3 l 2 l 1 q 2 q 2
Example: Inverse kinematics Finally, the last three joints completely specify the q orientation of the end effector. 3 q 4 q 5 • Note that the last three joints look just like ZYZ Euler angles q 6 q 2 • Determination of the joint angles is easy – just calculate the ZYZ Euler angles corresponding to the desired orientation. q 1
Remember: ZYZ Euler Angles R zyz ( φ,θ,ψ ) = ( 1 )( cos θ )( 1 ) − sin φ − sin ψ cos φ 0 cos θ 0 sin θ cos ψ 0 sin φ cos φ 0 0 1 0 sin ψ cos ψ 0 0 0 − sin θ 0 0 0 R zyz ( φ,θ,ψ ) = ( c θ ) c φ c θ c ψ − s φ s ψ − c φ c θ s ψ − s φ c ψ c φ s θ s φ c θ c ψ + c φ s ψ − s φ c θ s ψ + c φ c ψ s φ s θ − s θ c ψ s θ s ψ θ =± a tan2 ( √ 1 − r 332 ,r 33 ) a tan 2 r 23 , r k 13 a tan 2 r 32 , r 31
Inverse kinematics for a humanoid arm You can do similar types of things for a humanoid (7-DOF) arm. • Since this is a redundant arm, there are a manifold of solutions… Spherical Spherical shoulder wrist elbow General strategy: 1. Solve for elbow angle 2. Solve for a set of shoulder angles that places the wrist in the right position (note that you have to choose an elbow orbit angle) 3. Solve for the wrist angles
Recommend
More recommend