0% found this document useful (0 votes)
19 views5 pages

Inverse Homogeneous Transformations in Robotics

The document contains homework problems related to robotic control systems, focusing on concepts such as homogeneous transformation matrices, quaternions, rotation matrices, and angular velocity for Euler angles. Solutions are provided for various problems, detailing mathematical derivations and relationships between quaternions and rotations. Key topics include quaternion properties, rotation mappings, and the computation of angular velocities using rotation matrices.

Uploaded by

yasuonurkan800k
Copyright
ยฉ All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views5 pages

Inverse Homogeneous Transformations in Robotics

The document contains homework problems related to robotic control systems, focusing on concepts such as homogeneous transformation matrices, quaternions, rotation matrices, and angular velocity for Euler angles. Solutions are provided for various problems, detailing mathematical derivations and relationships between quaternions and rotations. Key topics include quaternion properties, rotation mappings, and the computation of angular velocities using rotation matrices.

Uploaded by

yasuonurkan800k
Copyright
ยฉ All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

UZB438E - Robotic Control Systems

Homework

Instructor: Murad Abu Khalaf

UฤŸur BaลŸ
110210004
ugurbas@[Link]

October 13, 2025


UZB438E - Robotic Control Systems UฤŸur BaลŸ โ€“ 110210004

1. Problem 2โ€“35
Problem Statement
Find ๐ป โˆ’1 explicitly for 

๐‘… ๐‘‘
๐ป= , ๐‘… โˆˆ ๐‘†๐‘‚ (3), ๐‘‘ โˆˆ R3 .
0 1

Solution
The homogeneous transformation matrix can be written as a composition of translation and rotation:
Using ( ๐ด๐ต) โˆ’1 = ๐ตโˆ’1 ๐ดโˆ’1 ,
  ๐ผ ๐‘‘   ๐‘… 0  โˆ’1  ๐‘… 0 โˆ’1  ๐ผ ๐‘‘  โˆ’1
โˆ’1
๐ป = = .
0 1 0 1 0 1 0 1

Since ๐‘… โˆ’1 = ๐‘… โŠค and the inverse of a translation is a shift in the opposite direction,


 โˆ’1  โˆ’1
๐‘…โŠค 0
     
๐‘… 0 ๐ผ ๐‘‘ ๐ผ โˆ’๐‘‘
= , = .
0 1 0 1 0 1 0 1

Multiplying them gives


๐‘… โŠค โˆ’๐‘… โŠค ๐‘‘
 
โˆ’1
๐ป = ,
0 1
which matches the expected result. The inverse corresponds to undoing translation by ๐‘‘ and rotation
by ๐‘….

2. Problem 2โ€“27
Given a unit quaternion
๐œƒ ๐œƒ
๐‘ž = cos + (๐‘›๐‘ฅ i + ๐‘› ๐‘ฆ j + ๐‘› ๐‘ง k) sin ,
2 2
its scalarโ€“vector form is
 ๐œƒ ๐œƒ ๐œƒ ๐œƒ 
(๐‘ž 0 , ๐‘ž 1 , ๐‘ž 2 , ๐‘ž 3 ) = cos , sin ๐‘›๐‘ฅ , sin ๐‘› ๐‘ฆ , sin ๐‘› ๐‘ง .
2 2 2 2
Since ๐‘›2๐‘ฅ + ๐‘›2๐‘ฆ + ๐‘›2๐‘ง = 1, substituting gives

๐œƒ ๐œƒ
๐‘ž 20 + ๐‘ž 21 + ๐‘ž 22 + ๐‘ž 23 = cos2 + sin2 (๐‘›2๐‘ฅ + ๐‘›2๐‘ฆ + ๐‘›2๐‘ง ) = 1.
2 2
Hence, the quaternion has unit magnitude as required.

1
UZB438E - Robotic Control Systems UฤŸur BaลŸ โ€“ 110210004

3. Problem 2โ€“28
The quaternionโ€“toโ€“rotation mapping is given by
sin ๐œƒ ๐‘›๐‘ฅ = 2๐‘ž 0 ๐‘ž 1 , sin ๐œƒ ๐‘› ๐‘ฆ = 2๐‘ž 0 ๐‘ž 2 , sin ๐œƒ ๐‘› ๐‘ง = 2๐‘ž 0 ๐‘ž 3 , cos ๐œƒ = 2๐‘ž 20 โˆ’ 1.
From these, the rotation matrix corresponding to ๐‘ž becomes:
๏ฃฎ 2๐‘ž 2 + 2๐‘ž 2 โˆ’ 1 2๐‘ž 1 ๐‘ž 2 โˆ’ 2๐‘ž 0 ๐‘ž 3 2๐‘ž 1 ๐‘ž 3 + 2๐‘ž 0 ๐‘ž 2 ๏ฃน
๏ฃฏ 1 0 ๏ฃบ
๐‘…(๐‘ž) = ๏ฃฏ๏ฃฏ2๐‘ž 1 ๐‘ž 2 + 2๐‘ž 0 ๐‘ž 3 2๐‘ž 22 + 2๐‘ž 20 โˆ’ 1 2๐‘ž 2 ๐‘ž 3 โˆ’ 2๐‘ž 0 ๐‘ž 1 ๏ฃบ๏ฃบ .
๏ฃฏ2๐‘ž 1 ๐‘ž 3 โˆ’ 2๐‘ž 0 ๐‘ž 2 2๐‘ž 2 ๐‘ž 3 + 2๐‘ž 0 ๐‘ž 1 2๐‘ž 2 + 2๐‘ž 2 โˆ’ 1 ๏ฃบ
๏ฃฐ 3 0 ๏ฃป
Note that ๐‘ž and โˆ’๐‘ž represent the same spatial rotation.

4. Problem 2โ€“29
For a given rotation matrix ๐‘… = [๐‘Ÿ๐‘– ๐‘— ], we can extract (๐‘ž 0 , ๐‘ž 1 , ๐‘ž 2 , ๐‘ž 3 ) using:
๐‘Ÿ 32 โˆ’ ๐‘Ÿ 23 ๐‘Ÿ 13 โˆ’ ๐‘Ÿ 31 ๐‘Ÿ 21 โˆ’ ๐‘Ÿ 12
๐‘ž0 ๐‘ž1 = , ๐‘ž0 ๐‘ž2 = , ๐‘ž0 ๐‘ž3 = ,
4 4 4
๐‘Ÿ 32 + ๐‘Ÿ 23 ๐‘Ÿ 13 + ๐‘Ÿ 31 ๐‘Ÿ 21 + ๐‘Ÿ 12
๐‘ž2 ๐‘ž3 = , ๐‘ž1 ๐‘ž3 = , ๐‘ž1 ๐‘ž2 = . (1)
4 4 4
Also,
1 + (๐‘Ÿ 11 + ๐‘Ÿ 22 + ๐‘Ÿ 33 ) 1 + (โˆ’๐‘Ÿ 11 + ๐‘Ÿ 22 + ๐‘Ÿ 33 )
๐‘ž 20 = , ๐‘ž 21 = ,
4 4
1 + (๐‘Ÿ 11 โˆ’ ๐‘Ÿ 22 + ๐‘Ÿ 33 ) 1 + (๐‘Ÿ 11 + ๐‘Ÿ 22 โˆ’ ๐‘Ÿ 33 )
๐‘ž 22 = , ๐‘ž 23 = . (2)
4 4
To ensure numerical accuracy, pick the term with the highest value and compute others accordingly.
If ๐‘ž 0 is dominant:
โˆš๏ธ‚
1 + (๐‘Ÿ 11 + ๐‘Ÿ 22 + ๐‘Ÿ 33 ) ๐‘Ÿ 32 โˆ’ ๐‘Ÿ 23 ๐‘Ÿ 13 โˆ’ ๐‘Ÿ 31 ๐‘Ÿ 21 โˆ’ ๐‘Ÿ 12
๐‘ž0 = , ๐‘ž1 = , ๐‘ž2 = , ๐‘ž3 = .
4 4๐‘ž 0 4๐‘ž 0 4๐‘ž 0

5. Problem 2โ€“33
For quaternions ๐‘Ž = (๐‘Ž 0 , a) and ๐‘ = (๐‘ 0 , b), their product is defined as:
 
๐‘Ž0 ๐‘0 โˆ’ a ยท b
๐‘Žโ—ฆ๐‘= .
๐‘Ž0b + ๐‘0a + a ร— b
Let ๐‘ž = (๐‘ž 0 , q) be a unit quaternion and ๐‘ฃ = (0, v) be a pure quaternion.

Approach 1: Using Rodrigues Formula


 
โˆ— 0
๐‘žโ—ฆ๐‘ฃโ—ฆ๐‘ž = .
(q ยท v)q + ๐‘ž 20 v + 2๐‘ž 0 (q ร— v) + q ร— (q ร— v)
Substituting ๐‘ž = cos(๐œƒ/2) + n sin(๐œƒ/2), this simplifies to:
 
0
.
v + sin ๐œƒ (n ร— v) + (1 โˆ’ cos ๐œƒ)n ร— (n ร— v)

2
UZB438E - Robotic Control Systems UฤŸur BaลŸ โ€“ 110210004

Approach 2: Direct Computation


Expanding the multiplication gives:
๏ฃฎ (2๐‘ž 2 + 2๐‘ž 2 โˆ’ 1)๐‘ฃ 1 + (2๐‘ž 1 ๐‘ž 2 โˆ’ 2๐‘ž 0 ๐‘ž 3 )๐‘ฃ 2 + (2๐‘ž 1 ๐‘ž 3 + 2๐‘ž 0 ๐‘ž 2 )๐‘ฃ 3 ๏ฃน
๏ฃฏ 1 0
๐‘ž๐‘ฃ๐‘ž โˆ— = ๏ฃฏ๏ฃฏ (2๐‘ž 1 ๐‘ž 2 + 2๐‘ž 0 ๐‘ž 3 )๐‘ฃ 1 + (2๐‘ž 22 + 2๐‘ž 20 โˆ’ 1)๐‘ฃ 2 + (2๐‘ž 2 ๐‘ž 3 โˆ’ 2๐‘ž 0 ๐‘ž 1 )๐‘ฃ 3 ๏ฃบ๏ฃบ ,
๏ฃบ
๏ฃฏ (2๐‘ž 1 ๐‘ž 3 โˆ’ 2๐‘ž 0 ๐‘ž 2 )๐‘ฃ 1 + (2๐‘ž 2 ๐‘ž 3 + 2๐‘ž 0 ๐‘ž 1 )๐‘ฃ 2 + (2๐‘ž 2 + 2๐‘ž 2 โˆ’ 1)๐‘ฃ 3 ๏ฃบ
๏ฃฐ 3 0 ๏ฃป
which equals ๐‘…v with ๐‘… as defined previously.

6. Angular velocity for Zโ€“Yโ€“Z Euler angles


Given:
๐‘…(๐‘ก) = ๐‘…๐‘ง,๐œ“(๐‘ก) ๐‘… ๐‘ฆ,๐œƒ (๐‘ก) ๐‘…๐‘ง,๐œ™(๐‘ก) .
The aim is to find ๐‘ค(๐‘ก) such that:
๐‘…ยค = ๐‘†(๐‘ค)๐‘….

Step 1 โ€” Differentiate the Rotation Matrix


Using the product rule:

๐‘…ยค = ๐‘…ยค ๐‘ง (๐œ“)๐‘… ๐‘ฆ (๐œƒ)๐‘…๐‘ง (๐œ™) + ๐‘…๐‘ง (๐œ“) ๐‘…ยค ๐‘ฆ (๐œƒ)๐‘…๐‘ง (๐œ™) + ๐‘…๐‘ง (๐œ“)๐‘… ๐‘ฆ (๐œƒ) ๐‘…ยค ๐‘ง (๐œ™)


ยค
= ๐œ“๐‘†(k)๐‘… ยค ๐‘ง (๐œ“)๐‘†(j)๐‘… ๐‘ฆ (๐œƒ)๐‘…๐‘ง (๐œ™) + ๐œ™๐‘…
+ ๐œƒ๐‘… ยค ๐‘ง (๐œ“)๐‘… ๐‘ฆ (๐œƒ)๐‘†(k)๐‘…๐‘ง (๐œ™). (3)

Step 2 โ€” Express as ๐‘†(๐‘ค)๐‘…


Using ๐‘… ๐‘†(๐‘Ž) ๐‘… โŠค = ๐‘†(๐‘…๐‘Ž), we can rewrite:
h i
ยค ยค ยค ยค
๐‘… = ๐œ“๐‘†(k) + ๐œƒ๐‘†(๐‘…๐‘ง (๐œ“)j) + ๐œ™๐‘†(๐‘…๐‘ง (๐œ“)๐‘… ๐‘ฆ (๐œƒ)k) ๐‘….

Hence,
ยค
๐‘†(๐‘ค) = ๐œ“๐‘†(k) ยค
+ ๐œƒ๐‘†(๐‘… ยค
๐‘ง (๐œ“)j) + ๐œ™๐‘†(๐‘… ๐‘ง (๐œ“)๐‘… ๐‘ฆ (๐œƒ)k),

or equivalently,
๐‘ค = ๐œ“ยค k + ๐œƒยค ๐‘…๐‘ง (๐œ“)j + ๐œ™ยค ๐‘…๐‘ง (๐œ“)๐‘… ๐‘ฆ (๐œƒ)k.

Step 3 โ€” Compute Basis Rotations


๏ฃฎโˆ’ sin ๐œ“ ๏ฃน ๏ฃฎ sin ๐œƒ ๏ฃน
๏ฃฏ ๏ฃบ ๏ฃฏ ๏ฃบ
๐‘…๐‘ง (๐œ“)j = ๏ฃฏ๏ฃฏ cos ๐œ“ ๏ฃบ๏ฃบ , ๐‘… ๐‘ฆ (๐œƒ)k = ๏ฃฏ๏ฃฏ 0 ๏ฃบ๏ฃบ .
๏ฃฏ 0 ๏ฃบ ๏ฃฏcos ๐œƒ ๏ฃบ
๏ฃฐ ๏ฃป ๏ฃฐ ๏ฃป
Then
๏ฃฎcos ๐œ“ sin ๐œƒ ๏ฃน
๏ฃฏ ๏ฃบ
๐‘…๐‘ง (๐œ“)๐‘… ๐‘ฆ (๐œƒ)k = ๏ฃฏ๏ฃฏ sin ๐œ“ sin ๐œƒ ๏ฃบ๏ฃบ .
๏ฃฏ cos ๐œƒ ๏ฃบ
๏ฃฐ ๏ฃป

3
UZB438E - Robotic Control Systems UฤŸur BaลŸ โ€“ 110210004

Step 4 โ€” Express ๐‘ค in Components


๏ฃฎ0๏ฃน ๏ฃฎโˆ’ sin ๐œ“ ๏ฃน ๏ฃฎcos ๐œ“ sin ๐œƒ ๏ฃน
๐‘ค = ๐œ“ยค ๏ฃฏ๏ฃฏ0๏ฃบ๏ฃบ + ๐œƒยค ๏ฃฏ๏ฃฏ cos ๐œ“ ๏ฃบ๏ฃบ + ๐œ™ยค ๏ฃฏ๏ฃฏ sin ๐œ“ sin ๐œƒ ๏ฃบ๏ฃบ .
๏ฃฏ ๏ฃบ ๏ฃฏ ๏ฃบ ๏ฃฏ ๏ฃบ
๏ฃฏ1๏ฃบ ๏ฃฏ 0 ๏ฃบ ๏ฃฏ cos ๐œƒ ๏ฃบ
๏ฃฐ ๏ฃป ๏ฃฐ ๏ฃป ๏ฃฐ ๏ฃป
Simplifying:
ยค
๐‘ค ๐‘ฅ = cos ๐œ“ sin ๐œƒ ๐œ™ยค โˆ’ sin ๐œ“ ๐œƒ,
ยค
๐‘ค ๐‘ฆ = sin ๐œ“ sin ๐œƒ ๐œ™ยค + cos ๐œ“ ๐œƒ,
๐‘ค ๐‘ง = ๐œ“ยค + cos ๐œƒ ๐œ™.
ยค

Summary. Thus, the angular velocity components in the inertial frame are defined by the
expressions above, corresponding directly to the Zโ€“Yโ€“Z Euler sequence.

Common questions

Powered by AI

Yes, two quaternions ๐‘ž and -๐‘ž represent the same spatial rotation. This is due to the property that quaternions are defined modulo 2ฯ€, meaning that flipping the sign of all components does not change the rotation they describe.... Therefore, both ๐‘ž and -๐‘ž induce the same rotation effect in space .

Quaternions offer several advantages over Euler angles for representing rotations, including the lack of singularities or gimbal lock, reduced computational complexity for combining rotations, and their capability for smoother interpolati...nions maintain constant-length vector representation, avoiding discontinuities inherent in Euler angle composition and providing consistent 4D space rotation arithmetic which is essential for stable simulations .

Angular velocity related to Zโ€“Yโ€“Z Euler angle rotations is defined through differentiating the product of individual rotation matrices and aligning them with the angular velocity skew-symmetric matrix ๐‘†(๐‘ค) such that โ–ต๐‘… = ๐‘†(๐‘ค)๐‘…. Using...tions are appropriately differentiated and expressed as basis rotations to derive each component with respect to time derivatives of yaw, pitch, and roll angles .

The inverse of a homogeneous transformation matrix ๐ป, which is composed of a rotation ๐‘… and a translation ๐‘‘, is computed using the formula ๐ป^{-1} = ใ€–(๐ด๐ต)^{-1} = ๐ต^{-1} ๐ด^{-1}ใ€—, where the components are inv... As a result, the inverse matrix ๐ป^{-1} is given by: ๐ป^{-1} = ๐‘…^โŠค - ๐‘…^โŠค๐‘‘ ; 0 1 ], which matches the expected inverse operation of undoing the translation by ๐‘‘ and the rotation by ๐‘… .

To extract a quaternion from a rotation matrix ๐‘… = [๐‘Ÿแตขโฑผ], one should first identify the term with the highest value among ๐‘žโ‚€, ๐‘žโ‚, ๐‘žโ‚‚, ๐‘žโ‚ƒ to ensure numerical accuracy. This involves comparing the trace of the rotation matrix with i...uating which axis permutation gives the maximum absolute quaternion value , allowing us to compute the other components by considering these permutations and calculating accordingly .

The product of two quaternions ๐‘Ž and ๐‘, expressed as ๐‘Žยฐ๐‘, is calculated to ensure correct spatial rotation by combining their scalar parts and vector parts using: ๐‘Žยฐ๐‘ = [(๐‘Žโ‚€๐‘โ‚€ โˆ’ aยทb), (๐‘Žโ‚€b + ๐‘โ‚€a + aร—b)], capturing both the rotational a... account the non-commutative properties of quaternion multiplication while respecting their orthogonal and rotational relations within vector space .

Selecting the term with the highest value when converting a rotation matrix to a quaternion is crucial to prevent numerical instability and maintain accuracy, especially when the rotation is small, leading to near-zero values that migh...uted precisely, minimizing errors that could arise from computational limits in floating-point arithmetic when values are squared and rooted .

A quaternion expressed in scalarโ€“vector form as (๐‘žโ‚€, ๐‘žโ‚, ๐‘žโ‚‚, ๐‘žโ‚ƒ) is verified to have unit magnitude by ensuring that the sum of the squares of its components equals one. Specifically, using the properties sinยฒ(ฮธ/2) + cosยฒ(ฮธ/2) ... Therefore, combining these expressions, we have ๐‘žโ‚‚ + ๐‘žโ‚ยฒ + ๐‘žโ‚‚ยฒ + ๐‘žโ‚ƒยฒ = cosยฒ(ฮธ/2) + sinยฒ(ฮธ/2)(๐‘›โ‚“ยฒ + ๐‘›_yยฒ + ๐‘›_zยฒ) = 1, confirming its unit magnitude as required .

The geometric interpretation of angular velocity using Euler angles involves viewing rotation as a sequence of incremental rotations around the respective axes of an inertial reference frame. For the Zโ€“Yโ€“Z configuration, it can be visualize... incorporate local rotations (within its rotation order), ensuring angular velocity components express how quickly and in what direction the object reorients within any rotation sequence .

The unit quaternion simplifies the expression of a rotated vector through the use of quaternion multiplication. Given a unit quaternion ๐‘ž = (๐‘žโ‚€, ๐‘ž) and a pure quaternion ๐‘ฃ = (0, ๐‘ฃ), the rotated vector is calculated using the form... and cross products to yield the result: [ 0 v + sin ฮธ (๐‘› ร— ๐‘ฃ) + (1 - cos ฮธ)(๐‘› ร— (๐‘› ร— ๐‘ฃ)) ].

You might also like