<<

Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik

Velocity Kinematics The Jacobian

Dr.-Ing. John Nassour

13.01.2018 J.Nassour 1 Motivation

• Positions are not enough when commanding motors.

are needed for better interaction.

• How fast the end-effector move given joints velocities?

• How fast each joint needs to move in order to guarantee a desired end-effector .

13.01.2018 J.Nassour 2 Differential

Forward Kinematics 휃 → 푥 Differential Kinematics 휃 + 훿휃 → 푥+훿푥 Base We are interested in studying the relationship: 훿휃 ↔ 훿푥 Linear and angular velocities

13.01.2018 J.Nassour 3 Joint’s Velocity

Prismatic Joint: 푞 푣 = 푞 푘 푘 푣 휔 = 0

푣 Revolute Joint : 휔 푣 = 푞 푘 × 푟 푞 휔 = 푞 푘 푘 푟 푘 is the unit vector.

13.01.2018 J.Nassour 4 Joint’s Velocity

With more than one joint, the end effector velocities are a function of joint velocity and : 휔 푞1, 푞1 푣 푣 푞2, 푞2 = 푓(푞 , 푞 , 푞 , 푞 ) 휔 1 2 1 2

For any number of joints:

푣 = 푓(푞 , 푞) 휔

13.01.2018 J.Nassour 5 The Jacobian

The Jacobian is a matrix that is a function of joint position, that linearly relates joint velocity to tool point velocity. 휔 푣 푞 1 푞1, 푞1 푣 = 풥(푞1, 푞2) 푞2, 푞2 휔 푞2

For the linear velocity:

푥 풥11 풥12 푞1 푣 = 풥푣 푞 ⟺ = 푦 풥21 풥22 푞2

13.01.2018 J.Nassour 6 The Jacobian

The elements of the Jacobian 풥푖푗 can be obtained by partial differentiation of the forward kinematic equations: 휔 푥 푞 풥11 풥12 1 푞1, 푞1 푣 = 푞2, 푞2 푦 풥21 풥22 푞2

푑푥 휕푥 푑푞 휕푥 푑푞 = 1 + 2 푑푡 휕푞1 푑푡 휕푞2 푑푡

푑푦 휕푦 푑푞 휕푦 푑푞 = 1 + 2 푑푡 휕푞1 푑푡 휕푞2 푑푡

13.01.2018 J.Nassour 7 The Jacobian

The elements of the Jacobian 풥푖푗 can be obtained by partial differentiation of the forward kinematic equations: 휔 푥 푞 풥11 풥12 1 푞1, 푞1 푣 = 푞2, 푞2 푦 풥21 풥22 푞2

푑푥 휕푥 푑푞 휕푥 푑푞 = 1 + 2 푑푡 휕푞1 푑푡 휕푞2 푑푡

푑푦 휕푦 푑푞 휕푦 푑푞 = 1 + 2 푑푡 휕푞1 푑푡 휕푞2 푑푡

13.01.2018 J.Nassour 8 The Jacobian

In this example the are given by:

푥 = 푞 cos(푞 ) 2 1 휔 푦 = 푞2 sin(푞1) 푞1, 푞1 푣 푞2, 푞2

Find the elements of the Jacobian 풥푖푗.

13.01.2018 J.Nassour 9 The Jacobian

In this example the forward kinematics are given by:

푥 = 푞 cos(푞 ) 2 1 휔 푦 = 푞2 sin(푞1) 푞1, 푞1 푣 푞2, 푞2

Find the elements of the Jacobian 풥푖푗.

휕푥 휕푥 풥11 = = −푞2 sin(푞1) 풥12 = = 푐표푠(푞1) 휕푞1 휕푞2 휕푦 휕푦 풥21 = = 푞2 cos(푞1) 풥22 = = 푠푖푛(푞1) 휕푞1 휕푞2

This is the linear velocity Jacobian.

13.01.2018 J.Nassour 10 The Jacobian

In this example the forward kinematics are given by:

푥 = 푞 cos(푞 ) 2 1 휔 푦 = 푞2 sin(푞1) 푞1, 푞1 푣 푞2, 푞2

Find the elements of the Jacobian 풥푖푗.

휕푥 휕푥 풥11 = = −푞2 sin(푞1) 풥12 = = 푐표푠(푞1) 휕푞1 휕푞2 휕푦 휕푦 풥21 = = 푞2 cos(푞1) 풥22 = = 푠푖푛(푞1) 휕푞1 휕푞2

This is the linear velocity Jacobian.

13.01.2018 J.Nassour 11 The Jacobian

In this example the forward kinematics are given by:

푥 = 푞 cos(푞 ) 2 1 휔 푦 = 푞2 sin(푞1) 푞1, 푞1 푣 푞2, 푞2

Find the elements of the Jacobian 풥푖푗.

휕푥 휕푥 풥11 = = −푞2 sin(푞1) 풥12 = = 푐표푠(푞1) 휕푞1 휕푞2 휕푦 휕푦 풥21 = = 푞2 cos(푞1) 풥22 = = 푠푖푛(푞1) 휕푞1 휕푞2

This is the linear velocity Jacobian.

13.01.2018 J.Nassour 12 The Jacobian

In this example the forward kinematics are given by:

푥 = 푞 cos(푞 ) 2 1 휔 푦 = 푞2 sin(푞1) 푞1, 푞1 푣 푞2, 푞2

Find the elements of the Jacobian 풥푖푗.

휕푥 휕푥 풥11 = = −푞2 sin(푞1) 풥12 = = 푐표푠(푞1) 휕푞1 휕푞2 휕푦 휕푦 풥21 = = 푞2 cos(푞1) 풥22 = = 푠푖푛(푞1) 휕푞1 휕푞2

This is the linear velocity Jacobian.

13.01.2018 J.Nassour 13 The Jacobian

In this example the forward kinematics are given by:

푥 = 푞 cos(푞 ) 2 1 휔 푦 = 푞2 sin(푞1) 푞1, 푞1 푣 푞2, 푞2

Find the elements of the Jacobian 풥푖푗.

휕푥 휕푥 풥11 = = −푞2 sin(푞1) 풥12 = = 푐표푠(푞1) 휕푞1 휕푞2 휕푦 휕푦 풥21 = = 푞2 cos(푞1) 풥22 = = 푠푖푛(푞1) 휕푞1 휕푞2

This is the linear velocity Jacobian.

13.01.2018 J.Nassour 14 The Jacobian

In this example the forward kinematics are given by:

푥 = 푞 cos(푞 ) 2 1 휔 푦 = 푞2 sin(푞1) 푞1, 푞1 푣 푞2, 푞2

Find the elements of the Jacobian 풥푖푗.

휕푥 휕푥 풥11 = = −푞2 sin(푞1) 풥12 = = 푐표푠(푞1) 휕푞1 휕푞2 휕푦 휕푦 풥21 = = 푞2 cos(푞1) 풥22 = = 푠푖푛(푞1) 휕푞1 휕푞2

This is the linear velocity Jacobian.

13.01.2018 J.Nassour 15 The Jacobian

In this example the forward kinematics are given by:

푥 = 푞 cos(푞 ) 2 1 휔 푦 = 푞2 sin(푞1) 푞1, 푞1 푣 푞2, 푞2

Find the elements of the Jacobian 풥푖푗.

휕푥 휕푥 풥11 = = −푞2 sin(푞1) 풥12 = = 푐표푠(푞1) 휕푞1 휕푞2 휕푦 휕푦 풥21 = = 푞2 cos(푞1) 풥22 = = 푠푖푛(푞1) 휕푞1 휕푞2

This is the linear velocity Jacobian.

13.01.2018 J.Nassour 16 The Jacobian

In this example the forward kinematics are given by:

푥 = 푞 cos(푞 ) 2 1 휔 푦 = 푞2 sin(푞1) 푞1, 푞1 푣 푞2, 푞2

Find the elements of the Jacobian 풥푖푗.

휕푥 휕푥 풥11 = = −푞2 sin(푞1) 풥12 = = 푐표푠(푞1) 휕푞1 휕푞2 휕푦 휕푦 풥21 = = 푞2 cos(푞1) 풥22 = = 푠푖푛(푞1) 휕푞1 휕푞2

This is the linear velocity Jacobian.

13.01.2018 J.Nassour 17 The Jacobian

In this example the forward kinematics are given by:

푥 = 푞 cos(푞 ) 2 1 휔 푦 = 푞2 sin(푞1) 푞1, 푞1 푣 푞2, 푞2

Find the elements of the Jacobian 풥푖푗.

휕푥 휕푥 풥11 = = −푞2 sin(푞1) 풥12 = = 푐표푠(푞1) 휕푞1 휕푞2 휕푦 휕푦 풥21 = = 푞2 cos(푞1) 풥22 = = 푠푖푛(푞1) 휕푞1 휕푞2

This is the linear velocity Jacobian.

13.01.2018 J.Nassour 18 The Jacobian

The Jacobian:

푣 푞 = 풥(푞 , 푞 ) 1 휔 휔 1 2 푞 2 푞1, 푞1 푣 푞2, 푞2 For the angular velocity:

휔 = 풥휔푞

푞1 휔 = 풥1 풥2 푞2

In this example: 풥1 = 1 , 풥2 = 0

13.01.2018 J.Nassour 19 The Jacobian

The angular velocity Jacobian:

푣 푞 = 풥(푞 , 푞 ) 1 휔 휔 1 2 푞 2 푞1, 푞1 푣 푞2, 푞2 For the angular velocity:

휔 = 풥휔푞

푞1 휔 = 풥1 풥2 푞2

In this example: 풥1 = 1 , 풥2 = 0

13.01.2018 J.Nassour 20 The Jacobian

The angular velocity Jacobian:

푣 푞 = 풥(푞 , 푞 ) 1 휔 휔 1 2 푞 2 푞1, 푞1 푣 푞2, 푞2 For the angular velocity:

휔 = 풥휔푞

푞1 휔 = 풥1 풥2 푞2

In this example: 풥1 = 1 , 풥2 = 0

13.01.2018 J.Nassour 21 Full Manipulator Jacobian

By combining the angular velocity Jacobian and the linear velocity Jacobian: 휔 푣 푞 1 푞1, 푞1 푣 = 풥(푞1, 푞2) 푞2, 푞2 휔 푞2

−푞 sin(푞 ) cos(푞 ) 푥 2 1 1 푞 = 1 푦 푞2 cos(푞1) sin(푞1) 푞 휔 1 0 2

The full Jacobian is an n×m matrix where n is the number of joints, and m is the number of variables describing motion.

13.01.2018 J.Nassour 22 Full Manipulator Jacobian

Work out the linear and the angular velocities, with joint 2 extended to 0.5 m. The arm points in the x direction. Joint 1 is rotating at 2 rad/s and joint 2 is extending at 1 m/s. 휔 푞1, 푞1 푣 푞2, 푞2 −푞 sin(푞 ) cos(푞 ) 푥 2 1 1 푞 = 1 푦 푞2 cos(푞1) sin(푞1) 푞 휔 1 0 2

13.01.2018 J.Nassour 23 Full Manipulator Jacobian

Work out the linear and the angular velocities, with joint 2 extended to 0.5 m. The arm points in the x direction. Joint 1 is rotating at 2 rad/s and joint 2 is extending at 1 m/s. 휔 푞1, 푞1 푣 푞2, 푞2 −푞 sin(푞 ) cos(푞 ) 푥 2 1 1 푞 = 1 푦 푞2 cos(푞1) sin(푞1) 푞 휔 1 0 2

푥 0 1 2 1 푦 = 0.5 0 = 1 1 휔 1 0 2 푥 =1 m/s ; 푦 =1 m/s ; 휔=2 rad/s

13.01.2018 J.Nassour 24 Inverting The Jacobian

To determine the joint velocities for a given end effector velocity, we need to invert the Jacobian:

푣 = 풥 푞 푞 휔

푣 푞 = 풥−1 푞 휔

13.01.2018 J.Nassour 25 Inverting The Jacobian

Find the joint velocities (푞1 , 푞2 ) in terms of the end effector velocity (푥 , 푦 ). 휔 푥 −푞2 sin(푞1) cos(푞1) 푞1 푞1, 푞1 푣 = 푞2, 푞2 푦 푞2 cos(푞1) sin(푞1) 푞2

푞 푥 1 = 풥−1 푞 푞2 푦

13.01.2018 J.Nassour 26 Inverting The Jacobian

Find the joint velocities (푞1 , 푞2 ) in terms of the end effector velocity (푥 , 푦 ). 휔 −1 푞 , 푞 푞1 −푞2 sin(푞1) cos(푞1) 푥 1 1 푣 = 푞2, 푞2 푞2 푞2 cos(푞1) sin(푞1) 푦

푞 1 sin(푞 ) −cos(푞 ) 푥 1 = 1 1 푞2 −푞2 −푞2 cos(푞1) −푞2 sin(푞1) 푦

13.01.2018 J.Nassour 27 Inverting The Jacobian

Find the joint velocities (푞1 , 푞2 ) in terms of the end effector velocity (푥 , 푦 ). 휔 −1 푞 , 푞 푞1 −푞2 sin(푞1) cos(푞1) 푥 1 1 푣 = 푞2, 푞2 푞2 푞2 cos(푞1) sin(푞1) 푦

푞 1 sin(푞 ) −cos(푞 ) 푥 1 = 1 1 푞2 −푞2 −푞2 cos(푞1) −푞2 sin(푞1) 푦

13.01.2018 J.Nassour 28 Inverting The Jacobian

Find the joint velocities (푞1 , 푞2 ) in terms of the end effector velocity (푥 , 푦 ). 휔 −1 푞 , 푞 푞1 −푞2 sin(푞1) cos(푞1) 푥 1 1 푣 = 푞2, 푞2 푞2 푞2 cos(푞1) sin(푞1) 푦

푞 1 sin(푞 ) −cos(푞 ) 푥 1 = 1 1 푞2 −푞2 −푞2 cos(푞1) −푞2 sin(푞1) 푦

13.01.2018 J.Nassour 29 Inverting The Jacobian

Find the joint velocities (푞1 , 푞2 ) in terms of the end effector velocity (푥 , 푦 ). 휔 −1 푞 , 푞 푞1 −푞2 sin(푞1) cos(푞1) 푥 1 1 푣 = 푞2, 푞2 푞2 푞2 cos(푞1) sin(푞1) 푦

푞 1 sin(푞 ) −cos(푞 ) 푥 1 = 1 1 푞2 −푞2 −푞2 cos(푞1) −푞2 sin(푞1) 푦

13.01.2018 J.Nassour 30 Inverting The Jacobian

Find the joint velocities (푞1 , 푞2 ) in terms of the end effector velocity (푥 , 푦 ). 휔 −1 푞 , 푞 푞1 −푞2 sin(푞1) cos(푞1) 푥 1 1 푣 = 푞2, 푞2 푞2 푞2 cos(푞1) sin(푞1) 푦

푞 1 sin(푞 ) −cos(푞 ) 푥 1 = 1 1 푞2 −푞2 −푞2 cos(푞1) −푞2 sin(푞1) 푦

13.01.2018 J.Nassour 31 Inverting The Jacobian

Find the joint velocities (푞1 , 푞2 ) in terms of the end effector velocity (푥 , 푦 ). 휔 −1 푞 , 푞 푞1 −푞2 sin(푞1) cos(푞1) 푥 1 1 푣 = 푞2, 푞2 푞2 푞2 cos(푞1) sin(푞1) 푦

푞 1 sin(푞 ) −cos(푞 ) 푥 1 = 1 1 푞2 −푞2 −푞2 cos(푞1) −푞2 sin(푞1) 푦

13.01.2018 J.Nassour 32 Inverting The Jacobian

푞 1 sin(푞 ) −cos(푞 ) 푥 1 = 1 1 푞2 −푞2 −푞2 cos(푞1) −푞2 sin(푞1) 푦 휔 푞1, 푞1 푣 The example arm points in the x 푞2, 푞2 Direction, with joint 2 extended to 0.5 m.

Find the joint velocities to move the end effector such that: 푥 =1 m/s ; 푦 =1 m/s

푞1 = 2 rad/s ; 푞2 = 1 m/s

13.01.2018 J.Nassour 33 Singularities

The effect of the determinant in the inverse Jacobian example:

푞 1 sin(푞 ) −cos(푞 ) 푥 1 = 1 1 푞2 −푞2 −푞2 cos(푞1) −푞2 sin(푞1) 푦

Whenever 푞2= 0 m, there are no valid joint velocity solutions.

Limited end effector velocities give unlimited joint velocities. 휔 푞1, 푞1 푣 푞2, 푞2

13.01.2018 J.Nassour 34 Singularities

If the determinant of a square Jacobian is zero, the manipulator cannot be controlled.

• It is useful to observe the determinant of the Jacobian as the robot moves to avoid singularities.

• Avoid configuration where the determinant approaches zero.

13.01.2018 J.Nassour 35 Joint’s Velocity

Prismatic Joint: 푞 푣 = 푞 푘 푘 푣 흎 = ퟎ

푣 Revolute Joint : 휔 푣 = 푞 푘 × 푟 푞 흎 = 풒 풌 푘 푟 푘 is the unit vector.

13.01.2018 J.Nassour 36 Angular Velocity

Prismatic joint gives 휔 = 0 and revolute joint gives 휔 = 푞 푘

The general Jacobian for the angular velocity: 휌 푧 휌 푧 … 휌 푧 풥휔 = 1 0 2 1 푛 푛 − 1

• 휌푖 is 1 if the joint is revolute and 0 if the joint is prismatic. th • 푧푖is the direction of the z axis of the i coordinate frame with respect to the base frame.

• 푧푖 is the first three elements of third column of the general transformation matrix. 푥푥 푦푥 푧푥 표푥 0 푥푦 푦푦 푧푦 표푦 A1.A2…Ai = T i = 푥푧 푦푧 푧푧 표푧 0 0 0 1

13.01.2018 J.Nassour 37 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity Jacobian 풛 풛ퟏ for the arm RRP. ퟐ 풙ퟏ 푳3 Joint 3 풚ퟏ 풥휔 = 휌1푧0 휌2푧1 … 휌푛푧푛 1 − 풙ퟑ 3푚

휌1 =? , 휌2 =?, 휌3 =? 풚ퟑ Joint 1 Tool 풛ퟎ 풛ퟑ

풚ퟎ

풙ퟎ

푐 0 −푠 0 1 1 푐1푐2 푠1 −푐1푠2 0 푠 0 푐 0 푇 0= 퐴 = 1 1 0 푠1푐2 −푐1 −푠1푠2 0 1 1 0 −1 0 3 푇 2= 퐴 1 퐴 2 = −푠2 0 −푐2 3 0 0 0 1 0 0 0 1

13.01.2018 J.Nassour 38 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity Jacobian 풛 풛ퟏ for the arm RRP. ퟐ 풙ퟏ 푳3 Joint 3 풚ퟏ 풥휔 = 휌1푧0 휌2푧1 … 휌푛푧푛 1 − 풙ퟑ 3푚

휌1 = 1 , 휌2 = 1, 휌3 = 0 풚ퟑ Joint 1 Tool 풛ퟎ 풛ퟑ

풚ퟎ

풙ퟎ

푐 0 −푠 0 1 1 푐1푐2 푠1 −푐1푠2 0 푠 0 푐 0 푇 0= 퐴 = 1 1 0 푠1푐2 −푐1 −푠1푠2 0 1 1 0 −1 0 3 푇 2= 퐴 1 퐴 2 = −푠2 0 −푐2 3 0 0 0 1 0 0 0 1

13.01.2018 J.Nassour 39 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity Jacobian 풛 풛ퟏ for the arm RRP. ퟐ 풙ퟏ 푳3 Joint 3 풚ퟏ 풥휔 = 휌1푧0 휌2푧1 … 휌푛푧푛 1 − 풙ퟑ 3푚

휌1 = 1 , 휌2 = 1, 휌3 = 0 풚ퟑ Joint 1 −푐 푠 0 −푠1 1 2 Tool 풛ퟎ −푠 푠 푧0= 0 , 푧1= 푐1 , 푧2= 1 2 풛ퟑ 1 0 −푐2 풚ퟎ

풙ퟎ

푐 0 −푠 0 1 1 푐1푐2 푠1 −푐1푠2 0 푠 0 푐 0 푇 0= 퐴 = 1 1 0 푠1푐2 −푐1 −푠1푠2 0 1 1 0 −1 0 3 푇 2= 퐴 1 퐴 2 = −푠2 0 −푐2 3 0 0 0 1 0 0 0 1

13.01.2018 J.Nassour 40 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity Jacobian 풛 풛ퟏ for the arm RRP. ퟐ 풙ퟏ 푳3 Joint 3 풚ퟏ 풥휔 = 휌1푧0 휌2푧1 … 휌푛푧푛 1 − 풙ퟑ 3푚

휌1 = 1 , 휌2 = 1, 휌3 = 0 풚ퟑ Joint 1 −푐 푠 0 −푠1 1 2 Tool 풛ퟎ −푠 푠 푧0= 0 , 푧1= 푐1 , 푧2= 1 2 풛ퟑ 1 0 −푐2 풚ퟎ

풙ퟎ

푐 0 −푠 0 1 1 푐1푐2 푠1 −푐1푠2 0 푠 0 푐 0 푇 0= 퐴 = 1 1 0 푠1푐2 −푐1 −푠1푠2 0 1 1 0 −1 0 3 푇 2= 퐴 1 퐴 2 = −푠2 0 −푐2 3 0 0 0 1 0 0 0 1

13.01.2018 J.Nassour 41 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity Jacobian 풛 풛ퟏ for the arm RRP. ퟐ 풙ퟏ 푳3 Joint 3 풚ퟏ 풥휔 = 휌1푧0 휌2푧1 … 휌푛푧푛 1 − 풙ퟑ 3푚

휌1 = 1 , 휌2 = 1, 휌3 = 0 풚ퟑ Joint 1 −푐 푠 0 −푠1 1 2 Tool 풛ퟎ −푠 푠 푧0= 0 , 푧1= 푐1 , 푧2= 1 2 풛ퟑ 1 0 −푐2 풚ퟎ

풙ퟎ

푐 0 −푠 0 1 1 푐1푐2 푠1 −푐1푠2 0 푠 0 푐 0 푇 0= 퐴 = 1 1 0 푠1푐2 −푐1 −푠1푠2 0 1 1 0 −1 0 3 푇 2= 퐴 1 퐴 2 = −푠2 0 −푐2 3 0 0 0 1 0 0 0 1

13.01.2018 J.Nassour 42 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity Jacobian 풛 풛ퟏ for the arm RRP. ퟐ 풙ퟏ 푳3 Joint 3 풚ퟏ 풥휔 = 휌1푧0 휌2푧1 … 휌푛푧푛 1 − 풙ퟑ 3푚

휌1 = 1 , 휌2 = 1, 휌3 = 0 풚ퟑ Joint 1 −푐 푠 0 −푠1 1 2 Tool 풛ퟎ −푠 푠 푧0= 0 , 푧1= 푐1 , 푧2= 1 2 풛ퟑ 1 0 −푐2 풚ퟎ

풙ퟎ

푐 0 −푠 0 1 1 푐1푐2 푠1 −푐1푠2 0 푠 0 푐 0 푇 0= 퐴 = 1 1 0 푠1푐2 −푐1 −푠1푠2 0 1 1 0 −1 0 3 푇 2= 퐴 1 퐴 2 = −푠2 0 −푐2 3 0 0 0 1 0 0 0 1

13.01.2018 J.Nassour 43 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity Jacobian 풛 풛ퟏ for the arm RRP. ퟐ 풙ퟏ 푳3 Joint 3 풚ퟏ 풥휔 = 휌1푧0 휌2푧1 … 휌푛푧푛 1 − 풙ퟑ 3푚

휌1 = 1 , 휌2 = 1, 휌3 = 0 풚ퟑ Joint 1 −푐 푠 0 −푠1 1 2 Tool 풛ퟎ −푠 푠 푧0= 0 , 푧1= 푐1 , 푧2= 1 2 풛ퟑ 1 0 −푐2 풚ퟎ

풙ퟎ

푐 0 −푠 0 1 1 푐1푐2 푠1 −푐1푠2 0 푠 0 푐 0 푇 0= 퐴 = 1 1 0 푠1푐2 −푐1 −푠1푠2 0 1 1 0 −1 0 3 푇 2= 퐴 1 퐴 2 = −푠2 0 −푐2 3 0 0 0 1 0 0 0 1

13.01.2018 J.Nassour 44 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity Jacobian 풛 풛ퟏ for the arm RRP. ퟐ 풙ퟏ 푳3 Joint 3 풚ퟏ 풥휔 = 휌1푧0 휌2푧1 … 휌푛푧푛 1 − 풙ퟑ 3푚

휌1 = 1 , 휌2 = 1, 휌3 = 0 풚ퟑ Joint 1 −푐 푠 0 −푠1 1 2 Tool 풛ퟎ −푠 푠 푧0= 0 , 푧1= 푐1 , 푧2= 1 2 풛ퟑ 1 0 −푐2 풚ퟎ

풙ퟎ

푐 0 −푠 0 1 1 푐1푐2 푠1 −푐1푠2 0 푠 0 푐 0 푇 0= 퐴 = 1 1 0 푠1푐2 −푐1 −푠1푠2 0 1 1 0 −1 0 3 푇 2= 퐴 1 퐴 2 = −푠2 0 −푐2 3 0 0 0 1 0 0 0 1

13.01.2018 J.Nassour 45 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity Jacobian 풛 풛ퟏ for the arm RRP. ퟐ 풙ퟏ 푳3 Joint 3 풚ퟏ 풥휔 = 휌1푧0 휌2푧1 … 휌푛푧푛 1 − 풙ퟑ 3푚

휌1 = 1 , 휌2 = 1, 휌3 = 0 풚ퟑ Joint 1 −푐 푠 0 −푠1 1 2 Tool 풛ퟎ −푠 푠 푧0= 0 , 푧1= 푐1 , 푧2= 1 2 풛ퟑ 1 0 −푐2 풚ퟎ

풙ퟎ

0 −푠1 0 풥휔 = 0 푐1 0 1 0 0

13.01.2018 J.Nassour 46 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity of the end 풛 풛ퟏ effector in the configuration ퟐ 풙ퟏ 푳 Joint 3 풚 shown with joint 1 rotating at 3 ퟏ 풙 2 rad/s, joint 2 rotating at ퟑ 3푚

-1 rad/s and joint 3 fixed 풚ퟑ Joint 1 At 2 m. Tool 풛ퟎ 풛ퟑ

풚ퟎ

풙ퟎ

13.01.2018 J.Nassour 47 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity of the end 풛 풛ퟏ effector in the configuration ퟐ 풙ퟏ 푳 Joint 3 풚 shown with joint 1 rotating at 3 ퟏ 풙 2 rad/s, joint 2 rotating at ퟑ 3푚

-1 rad/s and joint 3 fixed 풚ퟑ Joint 1 At 2 m. Tool 풛ퟎ 풛ퟑ 풚 0 −푠1 0 0 0 0 ퟎ 풙 풥휔 = 0 푐1 0 = 0 1 0 ퟎ 1 0 0 1 0 0 The end effector is rotating 0 휔푥 0 0 0 2 0 rad/s around x axis, -1 rad/s around y axis, and 2 rad/s 휔푦 = 0 1 0 −1 = −1 푟푎푑/푠 around z axis. 휔푧 1 0 0 9 2

13.01.2018 J.Nassour 48 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity of the end 풛 풛ퟏ effector in the configuration ퟐ 풙ퟏ 푳 Joint 3 풚 shown with joint 1 rotating at 3 ퟏ 풙 2 rad/s, joint 2 rotating at ퟑ 3푚

-1 rad/s and joint 3 fixed 풚ퟑ Joint 1 At 2 m. Tool 풛ퟎ 풛ퟑ 풚 0 −푠1 0 0 0 0 ퟎ 풙 풥휔 = 0 푐1 0 = 0 1 0 ퟎ 1 0 0 1 0 0 The end effector is rotating 0 휔푥 0 0 0 2 0 rad/s around x axis, -1 rad/s around y axis, and 2 rad/s 휔푦 = 0 1 0 −1 = −1 푟푎푑/푠 around z axis. 휔푧 1 0 0 9 2

13.01.2018 J.Nassour 49 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity of the end 풛 풛ퟏ effector in the configuration ퟐ 풙ퟏ 푳 Joint 3 풚 shown with joint 1 rotating at 3 ퟏ 풙 2 rad/s, joint 2 rotating at ퟑ 3푚

-1 rad/s and joint 3 fixed 풚ퟑ Joint 1 At 2 m. Tool 풛ퟎ 풛ퟑ 풚 0 −푠1 0 0 0 0 ퟎ 풙 풥휔 = 0 푐1 0 = 0 1 0 ퟎ 1 0 0 1 0 0 The end effector is rotating 0 휔푥 0 0 0 2 0 rad/s around x axis, -1 rad/s around y axis, and 2 rad/s 휔푦 = 0 1 0 −1 = −1 푟푎푑/푠 around z axis. 휔푧 1 0 0 9 2

13.01.2018 J.Nassour 50 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity of the end 풛 풛ퟏ effector in the configuration ퟐ 풙ퟏ 푳 Joint 3 풚 shown with joint 1 rotating at 3 ퟏ 풙 2 rad/s, joint 2 rotating at ퟑ 3푚

-1 rad/s and joint 3 fixed 풚ퟑ Joint 1 At 2 m. Tool 풛ퟎ 풛ퟑ 풚 0 −푠1 0 0 0 0 ퟎ 풙 풥휔 = 0 푐1 0 = 0 1 0 ퟎ 1 0 0 1 0 0 The end effector is rotating 0 휔푥 0 0 0 2 0 rad/s around x axis, -1 rad/s around y axis, and 2 rad/s 휔푦 = 0 1 0 −1 = −1 푟푎푑/푠 around z axis. 휔푧 1 0 0 0 2

13.01.2018 J.Nassour 51 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity of the end 풛 풛ퟏ effector in the configuration ퟐ 풙ퟏ 푳 Joint 3 풚 shown with joint 1 rotating at 3 ퟏ 풙 2 rad/s, joint 2 rotating at ퟑ 3푚

-1 rad/s and joint 3 fixed 풚ퟑ Joint 1 At 2 m. Tool 풛ퟎ 풛ퟑ 풚 0 −푠1 0 0 0 0 ퟎ 풙 풥휔 = 0 푐1 0 = 0 1 0 ퟎ 1 0 0 1 0 0 The end effector is rotating 0 휔푥 0 0 0 2 0 rad/s around x axis, -1 rad/s around y axis, and 2 rad/s 휔푦 = 0 1 0 −1 = −1 푟푎푑/푠 around z axis. 휔푧 1 0 0 9 2

13.01.2018 J.Nassour 52 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the angular velocity of the end 풛 풛ퟏ effector in the configuration ퟐ 풙ퟏ 푳 Joint 3 풚 shown with joint 1 rotating at 3 ퟏ 풙 2 rad/s, joint 2 rotating at ퟑ 3푚

-1 rad/s and joint 3 fixed 풚ퟑ Joint 1 At 2 m. Tool 풛ퟎ 풛ퟑ 풚 0 −푠1 0 0 0 0 ퟎ 풙 풥휔 = 0 푐1 0 = 0 1 0 ퟎ 1 0 0 1 0 0 The end effector is rotating 0 휔푥 0 0 0 2 0 rad/s around x axis, -1 rad/s around y axis, and 2 rad/s 휔푦 = 0 1 0 −1 = −1 푟푎푑/푠 around z axis. 휔푧 1 0 0 9 2

13.01.2018 J.Nassour 53 Example: RRR Robot

Joint variable 휽3 Joint variable 휽2 풚ퟐ 풚 풚ퟏ ퟑ Joint 3 풙 Joint 2 ퟑ 풙 Link 2 Link 3 풛ퟏ ퟏ 풙ퟐ Joint variable 휽 풛ퟑ 1 풛ퟐ Link 1 풛 Joint 1 ퟎ Link 1= 2 m 풚ퟎ Link 2= 2 m Link 3= 2 m Link 0 (fixed) 풙ퟎ

Find the angular velocity of the end effector in the configuration shown with joint 1 rotating at 2 rad/s, joint 2 rotating at -1 rad/s and joint 3 rotating at 2 rad/s.

“This is a typical example that can be discussed in the oral exam”

13.01.2018 J.Nassour 54 Linear Velocity Jacobian

The velocity of the end effector for an n link manipulator is the race of change of the origin of the end effector frame with respect to the base frame. 푛 0 0 휕표푛 표 푛 = 푞 푖 휕푞푖 푖=1

13.01.2018 J.Nassour 55 0 The Origin 표푖 The origin of the ith reference frame

푟11 푟12 푟13 표푥 0 푟21 푟22 푟23 표푦 푇푖 = 푟31 푟32 푟33 표푧 0 0 0 1

13.01.2018 J.Nassour 56 Linear Velocity Jacobian

푛 0 0 휕표푛 표 푛 = 푞 푖 휕푞푖 푖=1

The contribution of each joint in the linear velocity of the end effector. 휕표0 풥 = 푛 푣푖 휕푞푖

Each column in the Jacobian is the rate of changes of the end effector in the base reference frame with respect to the rate of change of a joint variable qi. The ith column shows the movement of the end effector caused by 푞 푖. 13.01.2018 J.Nassour 57 Prismatic Joint

Displacement along the axis of actuation 푧푖−1:

0 0 표 푛 = 푑푖푧푖−1

End effector 0 Joint Velocity Velocity 푣 = 푧푖−1 푞 푖

퓙 = 풛 ퟎ 풗풊 풊−ퟏ

13.01.2018 J.Nassour 58 Revolute Joint

Displacement around the axis of actuation 푧푖−1:

0 표 푛 = 휔 × 푟

0 0 표 푛 = 푞 푖 푧푖−1 × 표푛 − 표푖−1

End effector 0 Joint Velocity Velocity 푣 = 푧푖−1× 표푛 − 표푖−1 푞 푖

퓙 = 풛 ퟎ × 풐 − 풐 풗풊 풊−ퟏ 풏 풊−ퟏ

13.01.2018 J.Nassour 59 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity Jacobian for 풛 풛ퟏ the arm RRP. ퟐ 풙ퟏ 푳3 Joint 3 풚ퟏ 풙ퟑ 3푚

풚ퟑ Joint 1 Tool 풛ퟎ 풛ퟑ

풚ퟎ

풙ퟎ

푐1 0 −푠1 0 푐1푐2 푠1 −푐1푠2 0 푐1푐2 푠1 −푐1푠2 −퐿ퟑ푐1푠2 0 푠1 0 푐1 0 0 푠1푐2 −푐1 −푠1푠2 0 0 푠1푐2 −푐1 −푠1푠2 −퐿ퟑ푠1푠2 푇 1= , 푇 2= , 푇3 = 0 −1 0 3 −푠2 0 −푐2 3 −푠2 0 −푐2 3 −퐿ퟑ푐2 0 0 0 1 0 0 0 1 0 0 0 1 13.01.2018 J.Nassour 60 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity Jacobian for the arm RRP. 풛 풛ퟏ ퟐ 풙ퟏ For Prismatic joint: 푳 Joint 3 풚 풥 = 푧 0 3 ퟏ 푣푖 푖−1 For Revolute joint: 풙ퟑ 3푚 풥 = 푧 0 × 표 − 표 푣푖 푖−1 푛 푖−1 풚ퟑ Joint 1 Tool 풛ퟎ 풛ퟑ

풚ퟎ

풙ퟎ

푐1 0 −푠1 0 푐1푐2 푠1 −푐1푠2 0 푐1푐2 푠1 −푐1푠2 −퐿ퟑ푐1푠2 0 푠1 0 푐1 0 0 푠1푐2 −푐1 −푠1푠2 0 0 푠1푐2 −푐1 −푠1푠2 −퐿ퟑ푠1푠2 푇 1= , 푇 2= , 푇3 = 0 −1 0 3 −푠2 0 −푐2 3 −푠2 0 −푐2 3 −퐿ퟑ푐2 0 0 0 1 0 0 0 1 0 0 0 1 13.01.2018 J.Nassour 61 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity Jacobian for the arm RRP. 풛 풛ퟏ ퟐ 풙ퟏ For Prismatic joint: 푳 Joint 3 풚 풥 = 푧 0 3 ퟏ 푣푖 푖−1 For Revolute joint: 풙ퟑ 3푚 풥 = 푧 0 × 표 − 표 푣푖 푖−1 푛 푖−1 풚ퟑ Joint 1 풥 = 푧 0 × 표 − 표 풛 푣1 0 3 0 Tool ퟎ 풛ퟑ −퐿 푐 푠 − 0 퐿 푠 푠 0 ퟑ 1 2 ퟑ 1 2 풚 풥 = × −퐿 푠 푠 − 0 = −퐿 푐 푠 ퟎ 푣1 0 ퟑ 1 2 ퟑ 1 2 1 3 −퐿ퟑ푐2 − 0 0 풙ퟎ

푐1 0 −푠1 0 푐1푐2 푠1 −푐1푠2 0 푐1푐2 푠1 −푐1푠2 −퐿ퟑ푐1푠2 0 푠1 0 푐1 0 0 푠1푐2 −푐1 −푠1푠2 0 0 푠1푐2 −푐1 −푠1푠2 −퐿ퟑ푠1푠2 푇 1= , 푇 2= , 푇3 = 0 −1 0 3 −푠2 0 −푐2 3 −푠2 0 −푐2 3 −퐿ퟑ푐2 0 0 0 1 0 0 0 1 0 0 0 1 13.01.2018 J.Nassour 62 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity Jacobian for the arm RRP. 풛 풛ퟏ ퟐ 풙ퟏ For Prismatic joint: 푳 Joint 3 풚 풥 = 푧 0 3 ퟏ 푣푖 푖−1 For Revolute joint: 풙ퟑ 3푚 풥 = 푧 0 × 표 − 표 푣푖 푖−1 푛 푖−1 풚ퟑ Joint 1 풥 = 푧 0 × 표 − 표 풛 푣1 0 3 0 Tool ퟎ 풛ퟑ −퐿 푐 푠 − 0 퐿 푠 푠 0 ퟑ 1 2 ퟑ 1 2 풚 풥 = × −퐿 푠 푠 − 0 = −퐿 푐 푠 ퟎ 푣1 0 ퟑ 1 2 ퟑ 1 2 1 3 −퐿ퟑ푐2 − 0 0 풙ퟎ

푐1 0 −푠1 0 푐1푐2 푠1 −푐1푠2 0 푐1푐2 푠1 −푐1푠2 −퐿ퟑ푐1푠2 0 푠1 0 푐1 0 0 푠1푐2 −푐1 −푠1푠2 0 0 푠1푐2 −푐1 −푠1푠2 −퐿ퟑ푠1푠2 푇 1= , 푇 2= , 푇3 = 0 −1 0 3 −푠2 0 −푐2 3 −푠2 0 −푐2 3 −퐿ퟑ푐2 0 0 0 1 0 0 0 1 0 0 0 1 13.01.2018 J.Nassour 63 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity Jacobian for the arm RRP. 풛 풛ퟏ ퟐ 풙ퟏ For Prismatic joint: 푳 Joint 3 풚 풥 = 푧 0 3 ퟏ 푣푖 푖−1 For Revolute joint: 풙ퟑ 3푚 풥 = 푧 0 × 표 − 표 푣푖 푖−1 푛 푖−1 풚ퟑ Joint 1 풥 = 푧 0 × 표 − 표 풛 푣2 1 3 1 Tool ퟎ 풛ퟑ −푠1 −퐿ퟑ푐1푠2 −퐿ퟑ푐1푐2 −퐿ퟑ푐1푐2 풚ퟎ 풥 = 푐 × −퐿 푠 푠 = −퐿ퟑ푠1푐2 = −퐿 푠 푐 푣2 1 ퟑ 1 2 ퟑ 1 2 2 2 풙 0 −퐿ퟑ푐2 퐿3푠1 푠2 + 퐿3푐1 푠2 퐿3 푠2 ퟎ

푐1 0 −푠1 0 푐1푐2 푠1 −푐1푠2 0 푐1푐2 푠1 −푐1푠2 −퐿ퟑ푐1푠2 0 푠1 0 푐1 0 0 푠1푐2 −푐1 −푠1푠2 0 0 푠1푐2 −푐1 −푠1푠2 −퐿ퟑ푠1푠2 푇 1= , 푇 2= , 푇3 = 0 −1 0 3 −푠2 0 −푐2 3 −푠2 0 −푐2 3 −퐿ퟑ푐2 0 0 0 1 0 0 0 1 0 0 0 1 13.01.2018 J.Nassour 64 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity Jacobian for the arm RRP. 풛 풛ퟏ ퟐ 풙ퟏ For Prismatic joint: 푳 Joint 3 풚 풥 = 푧 0 3 ퟏ 푣푖 푖−1 For Revolute joint: 풙ퟑ 3푚 풥 = 푧 0 × 표 − 표 푣푖 푖−1 푛 푖−1 풚ퟑ Joint 1 풥 = 푧 0 × 표 − 표 풛 푣2 1 3 1 Tool ퟎ 풛ퟑ −푠1 −퐿ퟑ푐1푠2 −퐿ퟑ푐1푐2 −퐿ퟑ푐1푐2 풚ퟎ 풥 = 푐 × −퐿 푠 푠 = −퐿ퟑ푠1푐2 = −퐿 푠 푐 푣2 1 ퟑ 1 2 ퟑ 1 2 2 2 풙 0 −퐿ퟑ푐2 퐿3푠1 푠2 + 퐿3푐1 푠2 퐿3 푠2 ퟎ

푐1 0 −푠1 0 푐1푐2 푠1 −푐1푠2 0 푐1푐2 푠1 −푐1푠2 −퐿ퟑ푐1푠2 0 푠1 0 푐1 0 0 푠1푐2 −푐1 −푠1푠2 0 0 푠1푐2 −푐1 −푠1푠2 −퐿ퟑ푠1푠2 푇 1= , 푇 2= , 푇3 = 0 −1 0 3 −푠2 0 −푐2 3 −푠2 0 −푐2 3 −퐿ퟑ푐2 0 0 0 1 0 0 0 1 0 0 0 1 13.01.2018 J.Nassour 65 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity Jacobian for the arm RRP. 풛 풛ퟏ ퟐ 풙ퟏ For Prismatic joint: 푳 Joint 3 풚 풥 = 푧 0 3 ퟏ 푣푖 푖−1 For Revolute joint: 풙ퟑ 3푚 풥 = 푧 0 × 표 − 표 푣푖 푖−1 푛 푖−1 풚ퟑ Joint 1 풥 = 푧 0 풛 푣3 2 Tool ퟎ 풛ퟑ −푐1푠2 풚 풥푣 = −푠1푠2 ퟎ 3 −푐 2 풙ퟎ

푐1 0 −푠1 0 푐1푐2 푠1 −푐1푠2 0 푐1푐2 푠1 −푐1푠2 −퐿ퟑ푐1푠2 0 푠1 0 푐1 0 0 푠1푐2 −푐1 −푠1푠2 0 0 푠1푐2 −푐1 −푠1푠2 −퐿ퟑ푠1푠2 푇 1= , 푇 2= , 푇3 = 0 −1 0 3 −푠2 0 −푐2 3 −푠2 0 −푐2 3 −퐿ퟑ푐2 0 0 0 1 0 0 0 1 0 0 0 1 13.01.2018 J.Nassour 66 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity Jacobian for the arm RRP. 풛 풛ퟏ ퟐ 풙ퟏ For Prismatic joint: 푳 Joint 3 풚 풥 = 푧 0 3 ퟏ 푣푖 푖−1 For Revolute joint: 풙ퟑ 3푚 풥 = 푧 0 × 표 − 표 푣푖 푖−1 푛 푖−1 풚ퟑ Joint 1 풥 = 푧 0 풛 푣3 2 Tool ퟎ 풛ퟑ −푐1푠2 풚 풥푣 = −푠1푠2 ퟎ 3 −푐 2 풙ퟎ

푐1 0 −푠1 0 푐1푐2 푠1 −푐1푠2 0 푐1푐2 푠1 −푐1푠2 −퐿ퟑ푐1푠2 0 푠1 0 푐1 0 0 푠1푐2 −푐1 −푠1푠2 0 0 푠1푐2 −푐1 −푠1푠2 −퐿ퟑ푠1푠2 푇 1= , 푇 2= , 푇3 = 0 −1 0 3 −푠2 0 −푐2 3 −푠2 0 −푐2 3 −퐿ퟑ푐2 0 0 0 1 0 0 0 1 0 0 0 1 13.01.2018 J.Nassour 67 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity Jacobian for the arm RRP. 풛 풛ퟏ ퟐ 풙ퟏ For Prismatic joint: 푳 Joint 3 풚 풥 = 푧 0 3 ퟏ 푣푖 푖−1 For Revolute joint: 풙ퟑ 3푚 풥 = 푧 0 × 표 − 표 푣푖 푖−1 푛 푖−1 풚ퟑ Joint 1 Tool 풛ퟎ 푳ퟑ풔ퟏ풔ퟐ −푳ퟑ풄ퟏ풄ퟐ −풄ퟏ풔ퟐ 풛ퟑ 퓙풗 = −푳ퟑ풄ퟏ풔ퟐ −푳ퟑ풔ퟏ풄ퟐ −풔ퟏ풔ퟐ 풚ퟎ ퟎ 푳ퟑ 풔ퟐ −풄ퟐ 풙ퟎ

푐1 0 −푠1 0 푐1푐2 푠1 −푐1푠2 0 푐1푐2 푠1 −푐1푠2 −퐿ퟑ푐1푠2 0 푠1 0 푐1 0 0 푠1푐2 −푐1 −푠1푠2 0 0 푠1푐2 −푐1 −푠1푠2 −퐿ퟑ푠1푠2 푇 1= , 푇 2= , 푇3 = 0 −1 0 3 −푠2 0 −푐2 3 −푠2 0 −푐2 3 −퐿ퟑ푐2 0 0 0 1 0 0 0 1 0 0 0 1 13.01.2018 J.Nassour 68 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity Jacobian for the arm RRP. 풛 풛ퟏ ퟐ 풙ퟏ For Prismatic joint: 푳 Joint 3 풚 풥 = 푧 0 3 ퟏ 푣푖 푖−1 For Revolute joint: 풙ퟑ 3푚 풥 = 푧 0 × 표 − 표 푣푖 푖−1 푛 푖−1 풚ퟑ Joint 1 Tool 풛ퟎ 푳ퟑ풔ퟏ풔ퟐ −푳ퟑ풄ퟏ풄ퟐ −풄ퟏ풔ퟐ 풛ퟑ 퓙풗 = −푳ퟑ풄ퟏ풔ퟐ −푳ퟑ풔ퟏ풄ퟐ −풔ퟏ풔ퟐ 풚ퟎ ퟎ 푳ퟑ 풔ퟐ −풄ퟐ 풙ퟎ

푐1 0 −푠1 0 푐1푐2 푠1 −푐1푠2 0 푐1푐2 푠1 −푐1푠2 −푳ퟑ풄ퟏ풔ퟐ 0 푠1 0 푐1 0 0 푠1푐2 −푐1 −푠1푠2 0 0 푠1푐2 −푐1 −푠1푠2 −푳ퟑ풔ퟏ풔ퟐ 푇 1= , 푇 2= , 푇3 = 0 −1 0 3 −푠2 0 −푐2 3 −푠2 0 −푐2 ퟑ −푳ퟑ풄ퟐ 0 0 0 1 0 0 0 1 0 0 0 1 13.01.2018 J.Nassour 69 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity of the end effector in the configuration shown with joint 1 at 2 풛 풛ퟐ 풙 ퟏ rad/sec, joint 2 rotating at -1 rad/sec, and ퟏ 푳3 Joint 3 풚ퟏ joint 3 fixed at 2 m. 풙ퟑ 3푚

풚ퟑ Joint 1 Tool 풛ퟎ 풛ퟑ

풚ퟎ

풙ퟎ

13.01.2018 J.Nassour 70 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity of the end effector in the configuration shown with joint 1 rotation at 2 풛 풛ퟐ 풙 ퟏ rad/sec, joint 2 rotating at -1 rad/sec, and ퟏ 푳3 Joint 3 풚ퟏ joint 3 fixed at 2 m. 풙ퟑ 3푚

퐿3푠1푠2 −퐿3푐1푐2 −푐1푠2 풚ퟑ 풥푣 = −퐿3푐1푠2 −퐿3푠1푐2 −푠1푠2 Joint 1 0 퐿3 푠2 −푐2 Tool 풛ퟎ 풛ퟑ ° ° 휃1 = 0 , 휃2 = −90 , 퐿3 = 2 푚 풚ퟎ

0 0 1 풙ퟎ 풥푣 = 2 0 0 0 −2 0

0 0 1 2 0 푣 = 2 0 0 −1 = 4 푚/푠 0 −2 0 0 2 13.01.2018 J.Nassour 71 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the linear velocity of the end effector in the configuration shown with joint 1 rotation at 2 풛 풛ퟐ 풙 ퟏ rad/sec, joint 2 rotating at -1 rad/sec, and ퟏ 푳3 Joint 3 풚ퟏ joint 3 fixed at 2 m. 풙ퟑ 3푚

퐿3푠1푠2 −퐿3푐1푐2 −푐1푠2 풚ퟑ 풥푣 = −퐿3푐1푠2 −퐿3푠1푐2 −푠1푠2 Joint 1 0 퐿3 푠2 −푐2 Tool 풛ퟎ 풛ퟑ ° ° 휃1 = 0 , 휃2 = −90 , 퐿3 = 2 푚 풚ퟎ

0 0 1 풙ퟎ 풥푣 = 2 0 0 0 −2 0

0 0 1 2 0 푣 = 2 0 0 −1 = 4 푚/푠 0 −2 0 0 2 13.01.2018 J.Nassour 72 Inverting The Jacobian

• Analytical inverse (more DOF more Complexity)

• Numerical inverse

13.01.2018 J.Nassour 73 Reminder

13.01.2018 J.Nassour 74 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the joint velocities in the configuration shown if the desired linear velocities of the end effector are: 풛 풛ퟐ 풙 ퟏ 0 m/sec on x axis ퟏ 푳3 Joint 3 풚ퟏ 4 m/sec on y axis 풙 2 m/sec on z axis ퟑ 3푚

풚ퟑ 퐿3푠1푠2 −퐿3푐1푐2 −푐1푠2 Joint 1 풥푣 = −퐿3푐1푠2 −퐿3푠1푐2 −푠1푠2 Tool 풛ퟎ 0 퐿3 푠2 −푐2 풛ퟑ

° ° 풚ퟎ 휃1 = 0 , 휃2 = −90 , 퐿3 = 2 푚 풙ퟎ 0 0 1 풥푣 = 2 0 0 0 −2 0

0 0.5 0 −1 풥푣 = 0 0 −0.5 1 0 0 13.01.2018 J.Nassour 75 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the joint velocities in the configuration shown if the desired linear velocities of the end effector are: 풛 풛ퟐ 풙 ퟏ 0 m/sec on x axis ퟏ 푳3 Joint 3 풚ퟏ 4 m/sec on y axis 풙 2 m/sec on z axis ퟑ 3푚

풚ퟑ Joint 1 0 0.5 0 Tool 풛ퟎ 풥 −1 = 푣 0 0 −0.5 풛ퟑ 1 0 0 풚ퟎ 0 0.5 0 0 2 풙 푞 = 0 0 −0.5 4 = −1 ퟎ 1 0 0 2 0

13.01.2018 J.Nassour 76 풙ퟐ Example: RRP Robot Joint 2 풚ퟐ Find the joint velocities in the configuration shown if the desired linear velocities of the end effector are: 풛 풛ퟐ 풙 ퟏ 0 m/sec on x axis ퟏ 푳3 Joint 3 풚ퟏ 4 m/sec on y axis 풙 2 m/sec on z axis ퟑ 3푚

풚ퟑ Joint 1 0 0.5 0 Tool 풛ퟎ 풥 −1 = 푣 0 0 −0.5 풛ퟑ 1 0 0 풚ퟎ 0 0.5 0 0 2 풙 푞 = 0 0 −0.5 4 = −1 ퟎ 1 0 0 2 0

13.01.2018 J.Nassour 77 Example: NAO

Throwing in 2D only with ShoulderPitch and ElbowRoll.

13.01.2018 J.Nassour 78 Example: RR Robot

Forward kinematics:

푋푒 = 퐼1 푐1 + 퐼2 푐12 Find the end-effector velocities in function of joint velocities. 푌푒 = 퐼1 푠1 + 퐼2 푠12

The total derivatives of the kinematics equations:

휕푋푒(푞1, 푞2) 휕푋푒(푞1, 푞2) 푑푋푒 = 푑푞1 + 푑푞2 휕푞1 휕푞2 풚 ퟎ 휕푌푒(푞1, 푞2) 휕푌푒(푞1, 푞2) End Effector 푑푌푒 = 푑푞1 + 푑푞2 휕푞1 휕푞2 Ye

푞2 The Jacobian matrix represents the differential relationship 푰ퟐ between the joint displacement and the resulting end effector motion.

푰ퟏ It comprises the partial derivatives of 푋푒(푞1, 푞2) and Y푒(푞1, 푞2) 푞1 with respect to the joint displacements 푞1 and 푞2. Xe 풙 13.01.2018 ퟎ J.Nassour 79 Example: RR Robot

Forward kinematics:

휕푋푒(푞1,푞2) 휕푋푒(푞1,푞2) 푋 = 퐼 푐 + 퐼 푐 푒 1 1 2 12 휕푞 휕푞 푌 = 퐼 푠 + 퐼 푠 1 2 푒 1 1 2 12 풥푣 = 휕푌푒(푞1,푞2) 휕푌푒(푞1,푞2)

휕푞1 휕푞2

풚ퟎ −퐼1푠1 − 퐼2푠12 −퐼2푠12 End Effector 풥푣 = 퐼1푐1 + 퐼2푐12 퐼2푐12 Ye

푞2 푰ퟐ

푰ퟏ

푞1

Xe 풙 13.01.2018 ퟎ J.Nassour 80 Example: RR Robot

Forward kinematics:

휕푋푒(푞1,푞2) 휕푋푒(푞1,푞2) 푋 = 퐼 푐 + 퐼 푐 푒 1 1 2 12 휕푞 휕푞 푌 = 퐼 푠 + 퐼 푠 1 2 푒 1 1 2 12 풥푣 = 휕푌푒(푞1,푞2) 휕푌푒(푞1,푞2)

휕푞1 휕푞2

풚ퟎ −퐼1푠1 − 퐼2푠12 −퐼2푠12 End Effector 풥푣 = 퐼1푐1 + 퐼2푐12 퐼2푐12 Ye

푞2 푰ퟐ

푰ퟏ

푞1

Xe 풙 13.01.2018 ퟎ J.Nassour 81 Example: RR Robot

Forward kinematics: −퐼1푠1 − 퐼2푠12 −퐼2푠12 푋 = 퐼 푐 + 퐼 푐 풥푣 = 푒 1 1 2 12 퐼1푐1 + 퐼2푐12 퐼2푐12 푌푒 = 퐼1 푠1 + 퐼2 푠12

We can divide the 2-by-2 Jacobian into two column vectors:

2 × 1 풥푣= (풥1 , 풥2), 풥1 , 풥2 ∈ 핽 풚ퟎ End Effector We can then write the resulting end-effector velocity vector: Ye 푉푒 = 풥1 . 푞1 + 풥2 . 푞2 푞 푰 2 ퟐ Each column vector of the Jacobian matrix represents the end –effector velocity generated by the corresponding joint moving when all other joints are not moving. 푰ퟏ

푞1

Xe 풙 13.01.2018 ퟎ J.Nassour 82 Example: RR Robot

Forward kinematics: −퐼1푠1 − 퐼2푠12 −퐼2푠12 푋 = 퐼 푐 + 퐼 푐 풥푣 = 푒 1 1 2 12 퐼1푐1 + 퐼2푐12 퐼2푐12 푌푒 = 퐼1 푠1 + 퐼2 푠12

−퐼 푠 − 퐼 푠 풥 = 1 1 2 12 풚ퟎ 1 퐼 푐 + 퐼 푐 End Effector 1 1 2 12 Ye

푞2 −퐼2푠12 푰ퟐ 풥2 = 퐼2푐12

푰ퟏ

푞1

Xe 풙 13.01.2018 ퟎ J.Nassour 83 Example: RR Robot

Forward kinematics: −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥1 = , 풥2 = 퐼1푐1 + 퐼2푐12 퐼2푐12 푋푒 = 퐼1 푐1 + 퐼2 푐12 푌 = 퐼 푠 + 퐼 푠 푒 1 1 2 12 Illustrate the column vector of the Jacobian in the at the end-effector point.

풚ퟎ End Effector

푞2 푰ퟐ

푰ퟏ

푞1

풙 13.01.2018 ퟎ J.Nassour 84 Example: RR Robot

Forward kinematics: −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥1 = , 풥2 = 퐼1푐1 + 퐼2푐12 퐼2푐12 푋푒 = 퐼1 푐1 + 퐼2 푐12 푌 = 퐼 푠 + 퐼 푠 푒 1 1 2 12 Illustrate the column vector of the Jacobian in the space at the end-effector point.

풥2 points in the direction perpendicular to link 2.

풚 ퟎ While 풥1 is not perpendicular to link 1 but is End Effector perpendicular to the vector (Xe,Ye). This is because 풥1 represent the endpoint velocity 푞2 caused by joint 1 when joint 2 is not rotating. 푰 ퟐ In other word, link 1 and 2 are rigidly connected,

becoming a single of length (Xe,Ye) and 푰ퟏ 풥1 is the tip velocity of this body. 푞1

풙 13.01.2018 ퟎ J.Nassour 85 Example: RR Robot

Forward kinematics: −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥1 = , 풥2 = 퐼1푐1 + 퐼2푐12 퐼2푐12 푋푒 = 퐼1 푐1 + 퐼2 푐12 푌 = 퐼 푠 + 퐼 푠 푒 1 1 2 12 Illustrate the column vector of the Jacobian in the space at the end-effector point.

풥2 points in the direction perpendicular to link 2.

풚 ퟎ While 풥1 is not perpendicular to link 1 but is 풥1 perpendicular to the vector (Xe,Ye). This is because 풥1 represent the endpoint velocity 풥 2 푞2 caused by joint 1 when joint 2 is not rotating. In

푰ퟐ other word, link 1 and 2 are rigidly connected,

becoming a single rigid body of length (Xe,Ye) and 푰ퟏ 풥1 is the tip velocity of this body. 푞1

풙 13.01.2018 ퟎ J.Nassour 86 Example: RR Robot

Forward kinematics: −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥1 = , 풥2 = 퐼1푐1 + 퐼2푐12 퐼2푐12 푋푒 = 퐼1 푐1 + 퐼2 푐12 푌푒 = 퐼1 푠1 + 퐼2 푠12 If the two Jacobian column vectors are aligned, the end- effector can not be moved in an arbitrary direction.

This may happen for particular arm configurations when the two links are fully contracted or extracted.

풚ퟎ 풥1 These arm configurations are referred to as singular configurations. 풥 2 푞2 ACCORDINGLY, the Jacobian matrix become singular at 푰ퟐ these positions.

푰ퟏ 푞1 Find out the singular configurations…

풙 13.01.2018 ퟎ J.Nassour 87 Example: RR Robot

Forward kinematics: −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥1 = , 풥2 = 퐼1푐1 + 퐼2푐12 퐼2푐12 푋푒 = 퐼1 푐1 + 퐼2 푐12 푌푒 = 퐼1 푠1 + 퐼2 푠12

풚ퟎ 풥1

풥 2 푞2

푰ퟐ

푰ퟏ 푞1

풙 13.01.2018 ퟎ J.Nassour 88 Example: RR Robot

Forward kinematics: −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥푣 = 퐼1푐1 + 퐼2푐12 퐼2푐12 푋푒 = 퐼1 푐1 + 퐼2 푐12 푌푒 = 퐼1 푠1 + 퐼2 푠12 The Jacobian reflects the singular configurations. When joint 2 is 0 or 180 degrees:

− 퐼1 ± 퐼2 푠1 ∓퐼2푠1 푑푒푡 풥푣 = det = 0 퐼1 ± 퐼2 푐1 ±퐼2푐1 풚ퟎ 풥1

풥 2 푞2

푰ퟐ

푰ퟏ 푞1

풙 13.01.2018 ퟎ J.Nassour 89 Example: RR Robot

Forward kinematics: −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥푣 = 퐼1푐1 + 퐼2푐12 퐼2푐12 푋푒 = 퐼1 푐1 + 퐼2 푐12 푌푒 = 퐼1 푠1 + 퐼2 푠12 The Jacobian reflects the singular configurations. When joint 2 is 0 or 180 degrees:

− 퐼1 ± 퐼2 푠1 ∓퐼2푠1 푑푒푡 풥푣 = det = 0 퐼1 ± 퐼2 푐1 ±퐼2푐1 풚ퟎ 풥1

풥 2 푞2

푰ퟐ

푰ퟏ 푞1

풙 13.01.2018 ퟎ J.Nassour 90 Example: RR Robot

Work out the joint velocities 풒 (풒ퟏ , 풒ퟐ ) in terms of the end effector velocity Ve(Vx, Vy).

If the arm configuration is not singular, this can be obtained by taking the inverse of the Jacobian matrix:

푞 = 퐽−1. 푉푒

Note that the differential kinematics problem has a unique solution as long as the Jacobian is non-singular. 풚 ퟎ Since the elements of the Jacobian matrix are function of 풥1 joint displacements, the inverse Jacobian varies depending on the arm configuration. 풥 2 푞2 This means that although the desired end-effector velocity is 푰ퟐ constant, the joint velocities are not.

푰ퟏ 푞1

풙 13.01.2018 ퟎ J.Nassour 91 Example: RR Robot

We want to move the endpoint of the robot at a constant along a path starting at point “A” on the x-axis, (+2.0, 0), go around the origin through point “B” (+ɛ, 0) and “C” (0,

+ɛ), and reach the final point “D” (0, +2.0) on the y-axis. Consider I1 = I2.

Work out joints velocities along this path.

D

풚ퟎ 풥1

풥 2 푞2

푰ퟐ

푰ퟏ 푞1

풙 13.01.2018 ퟎ J.Nassour 92 Example: RR Robot

We want to move the endpoint of the robot at a constant speed along a path starting at point “A” on the x-axis, (+2.0, 0), go around the origin through point “B” (+ɛ, 0) and “C” (0,

+ɛ), and reach the final point “D” (0, +2.0) on the y-axis. Consider I1 = I2.

Work out joints velocities along this path.

The Jacobian is: −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥푣 = 퐼1푐1 + 퐼2푐12 퐼2푐12 풚ퟎ 풥1

풥 2 푞2

푰ퟐ

푰ퟏ 푞1

풙 13.01.2018 ퟎ J.Nassour 93 Example: RR Robot

We want to move the endpoint of the robot at a constant speed along a path starting at point “A” on the x-axis, (+2.0, 0), go around the origin through point “B” (+ɛ, 0) and “C” (0,

+ɛ), and reach the final point “D” (0, +2.0) on the y-axis. Consider I1 = I2.

Work out joints velocities along this path.

The Jacobian is: −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥푣 = 퐼1푐1 + 퐼2푐12 퐼2푐12 풚ퟎ The inverse of the Jacobian is: 풥1 1 퐼 푐 퐼 푠 풥 −1 = 2 12 2 12 푣 퐼 퐼 푠 −퐼 푐 − 퐼 푐 −퐼 푠 − 퐼 푠 풥 1 2 2 1 1 2 12 1 1 2 12 2 푞2

푰ퟐ

푰ퟏ 푞1

풙 13.01.2018 ퟎ J.Nassour 94 Example: RR Robot

We want to move the endpoint of the robot at a constant speed along a path starting at point “A” on the x-axis, (+2.0, 0), go around the origin through point “B” (+ɛ, 0) and “C” (0,

+ɛ), and reach the final point “D” (0, +2.0) on the y-axis. Consider I1 = I2.

Work out joints velocities along this path.

The inverse of the Jacobian is: 1 퐼 푐 퐼 푠 풥 −1 = 2 12 2 12 푣 퐼 퐼 푠 −퐼 푐 − 퐼 푐 −퐼 푠 − 퐼 푠 풚ퟎ 1 2 2 1 1 2 12 1 1 2 12 풥1 퐼 푐 . 푉푥 + 퐼 푠 . 푉푦 푞 = 2 12 2 12 풥2 푞 1 2 퐼1퐼2푠2 푰ퟐ −퐼 푐 − 퐼 푐 . 푉푥 + [−퐼 푠 − 퐼 푠 ]. 푉푦 푞 = 1 1 2 12 1 1 2 12 2 퐼 퐼 푠 푰ퟏ 1 2 2 푞1

풙 13.01.2018 ퟎ J.Nassour 95 D

퐼2푐12. 푉푥 + 퐼2푠12. 푉푦 푞 1 = 퐼1퐼2푠2

−퐼1푐1 − 퐼2푐12 . 푉푥 + [−퐼1푠1 − 퐼2푠12]. 푉푦 푞 2 = 퐼1퐼2푠2

13.01.2018 J.Nassour 96 D

퐼2푐12. 푉푥 + 퐼2푠12. 푉푦 푞 1 = 퐼1퐼2푠2

−퐼1푐1 − 퐼2푐12 . 푉푥 + [−퐼1푠1 − 퐼2푠12]. 푉푦 푞 2 = 퐼1퐼2푠2

13.01.2018 J.Nassour 97 Example: RR Robot

퐼2푐12. 푉푥 + 퐼2푠12. 푉푦 푞 1 = 퐼1퐼2푠2

−퐼1푐1 − 퐼2푐12 . 푉푥 + [−퐼1푠1 − 퐼2푠12]. 푉푦 푞 2 = 퐼1퐼2푠2

D

Note that the joint velocities are extremely large near the initial and the final points, and are unbounded at points A

and D. These are the arm singular configurations q2=0.

13.01.2018 J.Nassour 98 Example: RR Robot

퐼2푐12. 푉푥 + 퐼2푠12. 푉푦 푞 1 = 퐼1퐼2푠2

−퐼1푐1 − 퐼2푐12 . 푉푥 + [−퐼1푠1 − 퐼2푠12]. 푉푦 푞 2 = 퐼1퐼2푠2

D

As the end-effector gets close to the origin, the velocity of the first joint becomes very large in order to quickly turn the arm around from point B to C. At these configurations, the second joint is almost -180 degrees, meaning that the arm is near singularity.

13.01.2018 J.Nassour 99 Example: RR Robot

퐼2푐12. 푉푥 + 퐼2푠12. 푉푦 푞 1 = 퐼1퐼2푠2

−퐼1푐1 − 퐼2푐12 . 푉푥 + [−퐼1푠1 − 퐼2푠12]. 푉푦 푞 2 = 퐼1퐼2푠2

D

This result agrees with the singularity condition using the determinant of the Jacobian:

푑푒푡 풥푣 = sin 푞2 = 0 for 푞2 = 푘휋, 푘 = 0, ±1, ±2, …

13.01.2018 J.Nassour 100 Example: RR Robot

Using the Jacobian, analyse the arm behaviour at the singular points. Consider (l1=l2=1).

The Jacobian is: −퐼1푠1 − 퐼2푠12 −퐼2푠12 −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥푣 = , 풥1 = , 풥2 = 퐼1푐1 + 퐼2푐12 퐼2푐12 퐼1푐1 + 퐼2푐12 퐼2푐12

For q2=0: −2푠 −푠 풥 = 1 , 풥 = 1 1 2 푐 풚ퟎ 2푐1 1 풥1 The Jacobian column vectors reduce to the ones in the same direction. 풥 2 푞2 Note that no endpoint velocity can be generated in 푰ퟐ the direction perpendicular to the aligned arm links (singular configuration A and D).

푰ퟏ 푞1

풙 13.01.2018 ퟎ J.Nassour 101 Example: RR Robot

Using the Jacobian, analyse the arm behaviour at the singular points. Consider (l1=l2=1).

The Jacobian is: −퐼1푠1 − 퐼2푠12 −퐼2푠12 −퐼1푠1 − 퐼2푠12 −퐼2푠12 풥푣 = , 풥1 = , 풥2 = 퐼1푐1 + 퐼2푐12 퐼2푐12 퐼1푐1 + 퐼2푐12 퐼2푐12

For q2=흅: 0 푠 풥 = , 풥 = 1 1 2 −푐 풚ퟎ 0 1 풥1 The first joint cannot generate any endpoint velocity, since the arm is fully contracted (singular 풥 2 푞2 configuration B). 푰ퟐ

푰ퟏ 푞1

풙 13.01.2018 ퟎ J.Nassour 102 Example: RR Robot

Using the Jacobian, analyse the arm behaviour at the singular points. Consider (l1=l2=1).

At the singular configuration, there is at least one direction is which the robot cannot generate a non-zero velocity at the end effector.

풚ퟎ 풥1

풥 2 푞2

푰ퟐ

푰ퟏ 푞1

풙 13.01.2018 ퟎ J.Nassour 103 Example: RRR Robot Joint variable 휽3 Joint variable 휽2 The robot has three revolute joints 풚ퟐ 풚 that allow the endpoint to move in 풚ퟏ ퟑ the three dimensional space. Joint 3 풙 Joint 2 ퟑ However, this robot has 풙 Link 2 Link 3 singular points inside the workspace. 풛ퟏ ퟏ 풙ퟐ 풛 Analyze the singularity, following the Joint variable 휽1 ퟑ 풛ퟐ procedure below. Link 1 Link 1= 2 m 풛ퟎ Joint 1 Link 2= 2 m Step 1 Obtain each column vector of the Jacobian matrix by considering the endpoint velocity created 풚 Link 3= 2 m ퟎ by each of the joints while immobilizing the other Link 0 (fixed) joints. 풙ퟎ Step 2 Construct the Jacobian by concatenating the column vectors, and set the determinant of the Jacobian to zero for singularity: det J =0.

Step 3 Find the joint angles that make det J =0. Step 4 Show the arm posture that is singular. Show where in the workspace it becomes singular. For each singular configuration, also show in which direction the endpoint cannot have a non-zero velocity.

13.01.2018 J.Nassour 104 Stanford Arm

풛ퟔ 풚ퟔ Give one example of singularity that can occur. 풙 ퟔ 휽ퟔ Whenever 휽ퟓ = ퟎ , the manipulator is in a singular 푑6 configuration because joint 4 and 6 line up. Both joints actions 휽 ퟓ 풛ퟑ 풛ퟓ would results the same end-effector motion (one DOF will be 풛ퟒ lost). 풙 휽ퟒ 풅ퟑ

풛ퟎ 풛ퟐ 휽ퟐ 풛ퟏ

풙ퟏ 휽ퟏ 풙ퟐ

푑2

13.01.2018 J.Nassour 105 Give two examples of singularities that can occur. PUMA 260 풛 Whenever 휽ퟓ = ퟎ , the manipulator is in a ퟏ singular configuration because joint 4 and 6 line up. Both joints actions would results the same 풙ퟏ end-effector motion (one DOF will be lost). 풚ퟏ 휽ퟐ

Whenever 휽ퟑ = −ퟗퟎ , the manipulator is in a 풂 singular configuration. In this situation, the arm is ퟐ 휽 풛ퟎ ퟑ fully extracted. This is classed as a workspace boundary singularity. 풅 풙ퟎ ퟐ 풅ퟒ 풚ퟎ 풚ퟑ 풅ퟔ 풂 휽ퟏ 풛ퟐ ퟑ 풛ퟑ 풚ퟓ 휽ퟒ 풙 풛 풙ퟑ ퟐ ퟓ 풚ퟐ 풙ퟓ 풚ퟔ 휽ퟓ 휽ퟔ 풛 풛ퟔ 풚ퟒ ퟒ 풙ퟔ 13.01.2018 J.Nassour 106 풙ퟒ NAO Left Arm 풛ퟏ

풚ퟏ 풛 ퟎ 풙ퟏ 풙ퟎ 휽ퟐ 풚ퟎ

휽ퟏ 휽ퟑ 풚ퟐ

풙ퟐ 풛푻 풛ퟐ 풚 풛ퟑ ퟑ

풚푻 휽ퟓ 풙푻 풙ퟑ

휽ퟒ 풚ퟒ

풙ퟓ 풚ퟓ 풙ퟒ 풛ퟒ 13.01.2018 J.Nassour 107 풛ퟓ NAO Right Arm

13.01.2018 J.Nassour 108