<<

Robot Manipulators

● A robot manipulator is typically moved through its joints

● Revolute: rotate about an axis

● Prismatic: translate along an axis

SCARA 6 axes robot arm Other

Mobile robots

Delta Robot Stewart Platform Kinematics

FORWARD Cartesian Space KINEMATICS Tool Frame (T) Joint Space B B Base Frame (B) [ RT, tT] = f(q) Joint 1 = q1 B B Joint 2 = q [ RT, tT ] 2 ... -1 B B B q = f ( [ RT, tT] ) Joint N = q RT :Orientation of T wrt B N B tT : Position of T wrt B

Rigid body motion Linear algebra Transformation between coordinate frames Transformation Within Joint Space

● Joint spaces are typically qC defined in Rn

Thus for a vector qB

we can use additions qA subtractions

Kinematics

FORWARD Cartesian Space KINEMATICS Tool Frame (T) Joint Space B B Base Frame (B) [ RT, tT] = f(q) Joint 1 = q1 B B Joint 2 = q [ RT, tT ] 2 ... -1 B B B q = f ( [ RT, tT] ) Joint N = q RT :Orientation of T wrt B N B tT : Position of T wrt B INVERSE KINEMATICS

Rigid body motion Linear algebra Transformation between  coordinate frames Cartesian Transformation Position and Orientation

● Combine position and orientation:

● Special Euclidean Group: SE(3)

p A A B A p = RB p + tB Homogeneous representation

A A B p = EB p Cartesian Transformation

B EC

A A B C p = EB EC p

A EB

Cp Kinematics

FORWARD Cartesian Space KINEMATICS Tool Frame (T) Joint Space B B Base Frame (B) [ RT, tT] = f(q) Joint 1 = q1 B B Joint 2 = q [ RT, tT ] 2 ... -1 B B B q = f ( [ RT, tT] ) Joint N = q RT :Orientation of T wrt B N B tT : Position of T wrt B INVERSE KINEMATICS

Rigid body motion Linear algebra Transformation between coordinate frames   Guidelines for assigning frames:

● There are several conventions

● Denavit Hartenberg (DH), modified DH, Hayati, etc.

● Choose the base and tool coordinate frame

● Make your life easy!

● Start from the base and move towards the tool

● Make your life easy!

● In general each actuator has a coordinate frame.

● Align each coordinate frame with a joint actuator Barrett WAM Forward Kinematics 2D

p y x q A A B t p = EB p y

x

Forward Kinematics Forward Kinematics 2D y Bp = BE Cp p C q2 B tC x y x

q1 A Ap = AE Bp tB B y

x Forward Kinematics 2D y p q2 B tC x y x B B C A A B Substituting p = EC p in p = EB p A A B C A gives p = EB EC p tB q A A C 1 p = EC p y

x Forward Kinematics Forward Kinematics 3D

q2 z p q1 z x y y

B A z x tC tB y

x Forward Kinematics

Kinematics

FORWARD Cartesian Space KINEMATICS Tool Frame (T) Joint Space B B Base Frame (B) [ RT, tT] = f(q) Joint 1 = q1 B B Joint 2 = q [ RT, tT ] 2 ... -1 B B B q = f ( [ RT, tT] ) Joint N = q RT :Orientation of T wrt B N B tT : Position of T wrt B INVERSE KINEMATICS

Rigid body motion Linear algebra Transformation between  coordinate frames  Inverse Kinematics 2D

p y x

t A B A q Given p, p, tB find q: y

x Inverse Kinematics 2D

p In practice, however, we are y x interested in solving the inverse kinematics for the basis vectors Bp = [ 0 0 ]T t q Bp = [ 1 0 ]T y Bp = [ 0 1 ]T which gives the friendlier solution x (using Bp = [ 1 0 ]T ) A acos( x – tx ) = q Inverse Kinematics 3D

Likewise, in 3D we want to solve for the q2 position and orientation of the last coordinate

z frame: Find q1 and q2 such that q1 z x y y Solving the inverse kinematics gets messy fast! A) For a robot with several joints, a symbolic B At z x tC solution can be difficult to get B B) A numerical solution (Newton’s method) is y more generic

Note that the inverse kinematics is NOT A -1 C x EC = EA Kinematics

JACOBIAN Cartesian Space Tool Frame (T) Joint Space Base Frame (B) [ v, w ]T = J(q) q ̇ Joint 1 = q̇ 1 Joint 2 = q̇ [ Bv , Bw ] 2 T T ...

-1 T B q ̇ = J (q) [ v, w ] Joint N = q̇ vT :linear vel. of T wrt B N B wT : angular vel. of T wrt B INVERSE JACOBIAN

Rigid body motion Linear algebra Transformation between  coordinate frames Cartesian Transformation Linear and Angular

Given two coordinate systems A and B related by the A transformation EB , the between A and B is given by

A EB

Where the “˄” indicates a skew symmetric matrix Kinematics

JACOBIAN Cartesian Space Tool Frame (T) Joint Space Base Frame (B) [ v, w ]T = J(q) q ̇ Joint 1 = q̇ 1 Joint 2 = q̇ [ Bv , Bw ] 2 T T ...

-1 T B q ̇ = J (q) [ v, w ] Joint N = q̇ vT :linear vel. of T wrt B N B wT : angular vel. of T wrt B INVERSE JACOBIAN

Rigid body motion Linear algebra Transformation between  coordinate frames  Manipulator Jacobian

Recall: The linear/ of the tool frame T in the base frame B

The “˅” operator is to extract the meaningful information from V̂

linear

angular Manipulator Jacobian

We change the time varying trajectory to be a time varying joint trajectory Derivative of the forward kinematics

wrt qi

Inverse of the forward kinematics

Applying the chain rule Manipulator Jacobian

Lets rewrite the previous result as

Where J(q) is a 6xN matrix called the manipulator Jacobian that relates joint velocities to Cartesian velocities Kinematics

JACOBIAN Cartesian Space  Tool Frame (T) Joint Space Base Frame (B) [ v, w ]T = J(q) q ̇ Joint 1 = q̇ 1 Joint 2 = q̇ [ Bv , Bw ] 2 T T ...

-1 T B q ̇ = J (q) [ v, w ] Joint N = q̇ vT :linear vel. of T wrt B N B wT : angular vel. of T wrt B INVERSE JACOBIAN

Rigid body motion Linear algebra Transformation between  coordinate frames  Manipulator Jacobian

We just derived that given a vector of joint velocities, the velocity of the tool as seen in the base of the robot is given by

If, instead we want to tool to move with a velocity expressed in the base frame, the corresponding joint velocities can be computed by Manipulator Jacobian

If, instead we want to tool to move with a velocity expressed in the tool frame, we can first transform the velocity in the base frame and then use the inverse Jacobian to compute joint velocities Manipulator Jacobian

What if the Jacobian has no inverse? A) No solution: The velocity is impossible B) Infinity of solutions: Some joints can be moved without affecting the velocity (i.e. when two axes are colinnear) v The robot cannot move q3 In this in this direction when the configuration, robot is in this configuration. q1 and q3 can Hence J(q) is singular. counter rotate. q 1 q Hence J(q) is 2 singular. A) B) q1̇ = -q3̇