Chuong 2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

Chương 2:
Phép mô tả và biến đổi trong không gian

2.1 Giới thiệu


Theo định nghĩa chuyển động robot có nghĩa là các thành phần và công cụ sẽ chuyển động
trong không gian bởi các cơ cấu. Điều này cho thấy cần phải biểu diễn vị trí và hướng của các
bộ phận, công cụ, và bản thân các cơ cấu cơ khí. Để định nghĩa và tính toán các đại lượng
biểu diễn vị trí và hướng ta phải định nghĩa các hệ tọa độ và trình bày các quy ước để biểu
diễn. Có nhiều ý tưởng được trình bày ở đây trong trường hợp vị trí và hướng có dạng cơ bản
mà ta đã xét như vận tốc dài và vận tốc quay cũng tương ứnh với lực và mement xoắn.
Ta thừa nhận có một hệ tọa độ không gian (universe coordinate system) dùng để tham chiếu
mọi thứ ta thảo luận.
Ta sẽ mô tả mọi vị trí và hướng trong hệ tọa độ không gian hoặc trong các hệ tọa độ Decarte
khác được định nghĩa tương ứng với hệ tọa độ không gian.

2.2 Mô tả: vị trí, hướng và hệ tọa độ


Thuật ngữ mô tả (description) được dùng để chỉ rõ thuộc tính của các đối tượng khác nhau
trong một hệ tay máy. Các đối tượng này là các bộ phận, công cụ hay bản thân tay máy.
Trong phần này ta thảo luận về mô tả vị trí, hướng và đối tượng bao gồm cả hai đó là hệ tọa
độ.
Mô tả vị trí
Khi một hệ tọa độ được thiết lập ta có thể định vị một điểm bất kỳ trong không gian bằng một
vector vị trí 3 x 1. Bởi vì ta sẽ thường định nghĩa nhiều hệ tọa độ thêm vào trong hệ tọa độ
không gian, nên các vector phải được gắn với thông tin nhận biết hệ tọa độ mà chúng được
định nghĩa. Trong quyển sách này các vector được viết với một chỉ số trên cho biết hệ tọa độ
mà chúng được tham chiếu (ngoại trừ nó đã được chỉ rõ), thí dụ, A P . Có nghĩa là các thành
phần của A P có các giá trị số học là các độ dài theo các trục của {A}. Mỗi độ dài theo một
trục có thể được xem như là kết quả của phép chiếu vector lên trục tương ứng.
Ẑ A

A
P

YˆA

X̂ A
Hình 2.1 Thí dụ vector tương ứng với hệ tọa độ
Hình 2.1 biểu diễn một hệ tọa độ {A} với ba vector đơn vị trực giao với nhau tại các điểm
đầu. Một điểm A P được biểu diễn bằng một vector có thể xem như là một vị trí trong không
gian, hay đơn giản là một tập hợp ba số. Các thành phần của vector được gắn với các chỉ số
dưới x, y và z:

Nguyễn Hữu Cường Trang II.1


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

⎡ px ⎤
A
P = ⎢⎢ p y ⎥⎥ (2.1)
⎢⎣ p z ⎥⎦

Tóm lại, ta sẽ mô tả vị trí của một điểm trong không gian bằng một vector vị trí. Các cách mô
tả vị trí của điểm trong các hệ tọa độ khác, như các biểu diễn tọa độ hình cầu hay hình trụ
được trình bày trong các thí dụ ở cuối chương.
Mô tả hướng
Thông thường ta không những cần biểu diễn một điểm trong không gian mà còn mô tả hướng
của một vật thể trong không gian. Thí dụ, nếu vector A P trong Hình 2.2 định vị trực tiếp một
điểm giữa các ngón gắp của một tay máy, thì vị trí đầy đủ của bàn tay vẫn chưa được chỉ rõ
cho đến khi hướng của nó được biết. Giả sử rằng tay máy có đủ số khớp nối bàn tay được đặt
tùy ý trong khi giữ các ngón gắp ở cùng vị trí trong không gian. Để mô tả hướng của một vật
thể ta sẽ gắn một hệ tọa độ với cơ cấu và sau đó mô tả hệ tọa độ này tương ứng với hệ tọa độ
tham chiếu. Trong Hình 2.2, hệ tọa độ {B} được gắn với vật thể theo một hướng đã biết. Một
phép mô tả {B} tương ứng với {A} đủ để cho biết hướng của vật thể.

{B}

{A}

A
P

Hình 2.2 Định vị một đối tượng bằng vị trí và hướng


Như vậy, vị trí của điểm được mô tả bằng vector và hướng của vật thể được mô tả bằng hệ tọa
độ gắn với nó. Một cách để mô tả hệ tọa độ gắn với vật thể, {B}, là viết các vector đơn vị của
ba trục chính của nó theo hệ tọa độ {A}.
Ta gọi các vector đơn vị cho các hướng chính của hệ tọa độ {B} là Xˆ B , YˆB và Zˆ B . Khi được
viết theo hệ tọa độ {A} chúng được gọi là A Xˆ B , A YˆB và AZˆ B . Sẽ tiện lợi hơn nếu ta xếp ba
vector đơn vị theo các cột của một ma trận 3 x 3, theo thứ tự A Xˆ , A Yˆ , AZˆ . Ta gọi ma trận B B B
này là ma trận quay (rotation matrix), và bởi vì ma trận quay này mô tả quan hệ {B} với {A},
nên ta đặt tên nó bằng ký hiệu BA R . Việc chọn các chỉ số trên và dưới trong ký hiệu ma trận
quay sẽ được nói rõ trong các phần sau.
⎡ r11 r12 r13 ⎤
A
B R= [ A
Xˆ B YˆB
A A
Zˆ B ] = ⎢⎢r21 r22 r23 ⎥⎥ (2.2)
⎢⎣r31 r32 r33 ⎥⎦
Tóm lại, tập hợp ba vector được dùng để chỉ một hướng. Để tiện lợi ta sẽ đặt ma trận 3 x 3 có
ba trận này là các cột của nó. Như vậy, vị trí của một điệm được biểu diễn bằng một vector,

Nguyễn Hữu Cường Trang II.2


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
hướng của một vật thể được biểu diễn bằng một ma trận. Trong Phần 2.8 ta sẽ xét một số
phép mô tả hướng khác chỉ cần ba thông số.
Ta có thể đưa ra các biểu thức cho các thành phần rij trong (2.2) bằng cách chú ý rằng các
thành phần của vector bất kỳ đơn giản là các phép chiếu của vector đó lên các hướng đơn vị
của hệ tọa độ tham chiếu của nó. Do đó, mỗi thành phần của BA R trong (2.2) được viết lại là
tích chấm của một cặp vector đơn vị
⎡ Xˆ B . Xˆ A YˆB . Xˆ A Zˆ B . Xˆ A ⎤
A
B R= [ Xˆ
A
B
A
YˆB A
Zˆ B ] ⎢
= ⎢ Xˆ B .YˆA YˆB .YˆA Zˆ B .YˆA ⎥

(2.3)
⎢ Xˆ .Zˆ ˆ ˆ Zˆ B .Zˆ A ⎥⎦
⎣ B A YB .Z A
Cho ngắn gọn ta đã bỏ qua các chỉ số trên trong ma trận bên phải của (2.3). Trong thực tế việc
chọn hệ tọa độ để mô tả các vector đơn vị là tùy ý sao cho nó giống với từng cặp được chấm.
Bởi vì tích chấm của hai vector đơn vị cho ra cos của góc giữa chúng, rõ ràng tại sao các
thành phần của ma trận quay thường liên quan đến dạng cos.
Hơn nữa kiểm tra (2.3) cho thấy rằng các hàng của ma trận là các vector đơn vị của {A} được
biểu diễn trên {B}; đó là,
⎡ B Xˆ TA ⎤
A
B R= [ A
Xˆ B A
YˆB A
Zˆ B ] ⎢
= ⎢ BYˆAT ⎥

(2.4)
⎢ B Zˆ T ⎥
⎣ A⎦
B
Do đó, A R , mô tả hệ tọa độ {A} tương ứng với {B} được cho bởi phép chuyển vị của (2.3);
đó là,
B
A R= BAR T (2.5)
Điều này làm cho nghịch đảo của ma trận quay bằng với chuyển vị của nó, cơ sở này có thể
kiểm chứng dễ dàng
⎡ A Xˆ BT ⎤
⎢ A ˆT ⎥ A ˆ
B R B R = ⎢ YB ⎥
A T A
XB [ A
YˆB A
]
Zˆ B = I 3 (2.6)
⎢ A Zˆ T ⎥
⎣ B⎦
trong đó I3 là ma trận đơn vị 3 x 3. Như vậy,
A
B R = AB R −1 = AB RT (2.7)
Thực vậy từ đại số tuyến tính [1] ta biết rằng nghịch đảo của một ma trận có các cột trực giao
bằng với chuyển vị của nó. Ta vừa trình bày bản chất hình học này.
Mô tả hệ tọa độ
Thông tin cần thiết để chỉ rõ hoàn toàn tay máy ở nơi nào trong Hình 2.2 là vị trí và hướng.
Điểm trên vật thể có vị trí ta mô tả được chọn tùy ý, tuy nhiên: Để tiện lợi, điểm có vị trí ta sẽ
mô tả được chọn là gốc của hệ tọa độ gắn với vật thể. Cặp vị trí và hướng thường xuất hiện
trong kỹ thuật robot mà ta định nghĩa một thực thể được gọi là hệ tọa độ (frame), là một tập
hợp bốn vector cho biết thông tin về vị trí và hướng. Thí dụ, trong Hình 2.2 một vector định vị
vị trí ngón gắp và ba vector mô tả hướng của nó. Tương tự, phép mô tả hệ tọa độ có thể được
xem như một vector vị trí và một ma trận quay. Chú ý rằng đây là một hệ tọa độ, trong đó bổ
sung hướng của một vector vị trí định vị gốc của hệ tọa độ tương ứng với hệ tọa độ khác mà

Nguyễn Hữu Cường Trang II.3


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
A
nó gắn vào. Thí dụ, hệ tọa độ {B} được mô tả bằng B R và APBORG , trong đó A PBORG là vector
định vị gốc của hệ tọa độ {B}:
{B} ={BA R, A PBORG } (2.8)

Ẑ A

Ẑ C
ŶA
{A}
{C}
Ẑ B
X̂ A ŶC
X̂ C
ẐU
ŶU {B}
X̂ B ŶB
{U}
X̂ U

Hình 2.3 Thí dụ về các hệ tọa độ khác nhau


Trong Hình 2.3 có ba hệ tọa độ được trình bày theo hệ tọa độ không gian. Hệ tọa độ {A} và
B} được biết tương đối với hệ tọa độ không gian và hệ tọa độ {C} được biết tượng đối với hệ
tọa độ {A}.
Trong Hình 2.3 ta giới thiệu một sự biểu diễn bằng đồ thị của các hệ tọa độ để tiện hình dung
các hệ tọa độ. Một hệ tọa độ được vẽ bằng ba mũi tên biểu diễn các vector đơn vị định nghĩa
các trục riêng biệt của hệ tọa độ. Một mũi tên biểu diễn một vector được vẽ từ gốc hệ tọa độ
này đến hệ tọa độ khác. Vector này biểu diễn vị trí của gốc hệ tọa độ tại đầu mũi tên theo hệ
tọa độ tại đuôi của mũi tên. Hướng của mũi tên định vị này cho ta biết, theo thí dụ, trong Hình
2.3, rằng {C} được biết tương đối với {A} và không ngược lại.
Tóm lại, một hệ tọa độ có thể được dùng như một phép mô tả của một hệ tọa độ này tương đối
với một hệ tọa độ khác. Một hệ tọa độ bao gồm cả hai cách biểu diễn vị trí và hướng, và do đó
có thể xem như là sự tổng quát của hai khái niệm này. Vị trí được biểu diễn bởi một hệ tọa độ
có thành phần ma trận quay là ma trận đơn vị và có thành phần vector vị trí định vị điểm được
mô tả. Tương tự, một hướng được biểu diễn bằng một hệ tọa độ có thành phần vector vị trí là
vector không.

2.3 Ánh xạ: Biến đổi mô tả từ hệ tọa độ sang hệ tọa độ


Trong nhiều bài toán lớn trong kỹ thuật robot, ta quan tâm đến việc biểu diễn một đại lượng
theo các hệ tọa độ tham chiếu khác nhau. Phần trước đã được giới thiệu các phép mô tả vị trí,
hướng và hệ tọa độ, bây giờ ta xét vấn đề toán học của phép ánh xạ để chuyển đổi mô tả từ hệ
tọa độ sang hệ tọa độ.
Ánh xạ các hệ tọa độ được tịnh tiến
Trong Hình 2.4 ta có một vị trí được xác định bằng vector B P . Ta muốn biểu diễn điểm này
trong không gian theo hệ tọa độ {A}, khi {A} có cùng hướng như {B}. Trong trường hợp
này, {B} chỉ khác so với {A} bằng một phép tịnh tiến được cho bởi A PBORG , vector định vị
gốc của {B} tương đối so với {A}.

Nguyễn Hữu Cường Trang II.4


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

{B}
Ẑ B
B
P
A
{A} P
Ẑ A
YˆB
A
PBORG X̂ B

YˆA

X̂ A

Hình 2.4 Ánh xạ phép tịnh tiến


Bởi vì cả hai vector được xác định tương đối với các hệ tọa độ cùng hướng, ta tính sự mô tả
điểm P tương ứng với {A}, A P , bằng phép cộng vector:
A
P = B P + APBORG (2.9)
Chú ý rằng chỉ trong trường hợp đặc biệt các hướng trùng nhau ta mới có thể cộng các vector
được xác định theo các hệ tọa độ khác nhau.
Trong thí dụ đơn giản này ta đã được minh họa phép ánh xạ (mapping) một vector từ hệ tọa
độ này sang hệ tọa độ khác. Khái niệm ánh xạ, hay biến chuyển phép mô tả từ hệ tọa độ này
sang hệ tọa độ khác, là một khái niệm vô cùng quan trọng. Bản thân đại lượng (ở đây là một
điểm trong không gian) là không đổi; chỉ có phép mô tả của nó được biến đổi. Điều này được
minh họa trong Hình 2.4, trong đó điểm được mô tả bởi B P không được tịnh tiến, nhưng vẫn
giữ vị trí cũ, thay vào đó ta tính một mô tả mới của điểm, bây giờ đối với hệ tọa độ {A}.
Ta nói rằng vector A PBORG định nghĩa phép ánh xạ này, bởi vì mọi thông tin cần thiết để thực
hiện biến đổi phép mô tả được chứa trong A PBORG (theo như đã biết các hệ tọa độ có cùng
hướng).
Ánh xạ các hệ tọa độ được quay
Phần 2.2 đã giới thiệu khái niệm mô tả một hướng bằng ba vector đơn vị biểu diễn các trục
chính của một hệ tọa độ gắn với vật thể. Để tiện lợi ta sắp xếp ba vector đơn vị này với nhau
thành các cột của một ma trận 3 x 3. Ta sẽ gọi ma trận này là ma trận quay, và nếu ma trận
quay này mô tả {B} tương đối so với {A}, ta ký hiệu nó là BA R .
Chú ý rằng bằng định nghĩa của ta, các cột của một ma trận quay có độ lớn đơn vị, và hơn
nữa, các vector đơn vị này là trực giao. Như ta đã nói từ trước, hệ quả của điều đó là
A
B R = AB R −1 = AB RT (2.10)
Cho nên, vì các cột của BA R là các vector đơn vị của {B} được viết theo {A}, nên các hàng
của BA R là các vector đơn vị của {A} được viết theo {B}.
Vì vậy một ma trận quay có thể được biểu diễn như một tập hợp ba vector cột hoặc ba vector
dòng như sau:

Nguyễn Hữu Cường Trang II.5


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

⎡ B Xˆ TA ⎤
A
B R= [ A
Xˆ B A
YˆB A
Zˆ B ] ⎢
= ⎢ BYˆAT ⎥

(2.11)
⎢ B Zˆ T ⎥
⎣ A⎦
{B} {A}
Ẑ B Ẑ A
B
P

YˆB

YˆA

X̂ A
X̂ B
Hình 2.5 Quay phép mô tả của một vector
Như trong Hình 2.5, trường hợp thường xảy ra khi ta đã xác định rõ một vector trong một hệ
tọa độ, {B}, và ta muốn xác định trong một hệ tọa độ khác, {A}, trong đó gốc của hai hệ tọa
độ là trùng nhau. Phép tính này có thể thực hiện khi một phép mô tả hướng của {B} được xác
định tương đối so với {A}. Hướng này được cho bởi ma trận quay BA R , có các cột là các
vector đơn vị của {B} được viết theo {A}.
Để tính A P , ta chú ý rằng các thành phần của một vector bất kỳ đơn giản là phép chiếu của
vector đó lên các hướng đơn vị trong hệ tọa độ của nó. Phép chiếu được tính bằng tích chấm
vector. Do đó ta thấy rằng các thành phần của A P có thể được tính như sau
A
p x = B Xˆ A .B P
A
p = B Yˆ .B P
y A (2.12)
A
p z = B Zˆ A .B P
Để biểu diễn (2.12) dưới dạng phép nhân một ma trận quay, ta chú ý rằng từ (2.11) các hàng
của BA R là B Xˆ A , B YˆA và BZˆ A . Do đó (2.12) có thể được viết gọn lại bằng một ma trận quay như
sau
A
P = BAR B P (2.13)
Biểu thức (2.13) thực hiện một phép ánh xạ - đó là, nó biến đổi mô tả của một vector – từ B P ,
mô tả một điểm trong không gian tương đối so với hệ tọa độ {B}, sang A P , là một mô tả của
cùng điểm đó, nhưng được biểu diễn tương đối so với {A}.
Bây giờ ta thấy rằng khái niệm của ta là trợ giúp rất lớn trong việc ánh xạ các hệ tọa độ tham
chiếu. Một phương pháp hỗ trợ kiểm tra ta đã giới thiệu để thấy rằng các chỉ số dưới khử các
chỉ số trên trong phần sau, thí dụ như chỉ số B trong (2.13).
----------------------------------------- Thí dụ 2.1
Hình 2.6 trình bày một hệ tọa độ {B} được quay tương đối với hệ tọa độ {A} theo trục Ẑ góc
300. Ở đây, trục Ẑ là dấu chấm nằm ngoài trang giấy.
Viết các vector đơn vị của {B} theo {A} và sắp xếp chúng thành các cột của ma trận quay ta
được

Nguyễn Hữu Cường Trang II.6


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

⎡0.866 − 0.500 0.000⎤


A
B R = ⎢⎢0.500 0.866 0.000⎥⎥ (2.14)
⎢⎣0.000 0.000 1.000 ⎥⎦

Cho
⎡0.0⎤
B
P = ⎢⎢2.0⎥⎥ (2.15)
⎢⎣0.0⎥⎦

Ta tính A P như sau


⎡− 1.000⎤
A
P = BAR B P = ⎢⎢ 1.732 ⎥⎥ (2.16)
⎢⎣ 0.000 ⎥⎦

Ở đây BA R đóng vai trò như một phép ánh xạ được dùng để mô tả B P tương đối so với hệ tọa
độ {A}, A P . Như đã giới thiệu trong trường hợp tịnh tiến, cần nhớ rằng, xem như một phép
ánh xạ, vector gốc P không được thay đổi trong không gian. Đúng hơn là, ta tính một mô tả
mới của vector tương đối so với hệ tọa độ khác.

B
P
{B} {A}
ˆ
YˆB YA

X̂ B

X̂ A
0
Hình 2.6 {B} quay 30 theo trục Ẑ
Ánh xạ các hệ tọa độ biến đổi tổng quát
Thông thường ta biết mô tả của một vector trong một hệ tọa độ, {B}, và ta muốn biết mô tả
của nó trong một hệ tọa độ khác, {A}. Bây giờ ta xét trường hợp tổng quát của ánh xạ. Ở đây
gốc của hệ tọa độ {B} không trùng với gốc của hệ tọa độ {A} nhưng có một độ bù vector
chung. Vector định vị gốc của hệ tọa độ {B} được gọi là A PBORG . {B} cũng quay tương đối so
với {A} được mô tả bằng A
B R . Cho biết B P , ta muốn tính A P , như trong Hình 2.7.

Trước tiên ta có thể biến đổi B P sang mô tả của nó tương đối so với một hệ tọa độ trung gian
có cùng hướng với {A}, nhưng có gốc trùng với gốc của {B}. Điều này được thực hiện bằng
cách nhân trước với BA R như trong Phần 2.3. Sau đó ta tịnh tiến giữa các gốc tọa độ đơn giản
bằng cách cộng vector như trong Phần 2.3, kết quả
A
P = BAR B P + APBORG (2.17)
Biểu thức (2.17) mô tả một phép biến đổi ánh xạ tổng quát của một vector từ mô tả của nó
trong một hệ tọa độ sang mô tả trong một hệ tọa độ thứ hai. Chú ý sự giải thích sau đây của ta
được minh họa trong (2.17): chỉ số B khử tất cả các đại lượng là vector được viết dưới dạng
của A, sau đó được cộng vào.
Nguyễn Hữu Cường Trang II.7
Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

{B}
Ẑ B
B
P
A
{A} P YˆB
Ẑ A

A
PBORG X̂ B

YˆA

X̂ A
Hình 2.7 Biến đổi tổng quát của một vector
Dạng (2.17) không đẹp như dạng chuẩn,
A
P = ABT BP (2.18)
Đó là, ta muốn một phép ánh xạ từ hệ tọa độ này sang hệ tọa độ khác là một phép tính dưới
dạng ma trận. Điều này giúp cho việc viết các biểu thức ngắn gọn và rõ ràng hơn (2.17). Để
làm được điều đó ta có thể viết (2.17) dưới dạng toán tử ma trận được đề xuất như (2.18), ta
định nghĩa một toán tử ma trận 4 x 4, và sừ dụng các vector vị trí 4 x 1, do đó (2.18) có cấu
trúc
⎡ A P⎤ ⎡ A
B R A
PBORG ⎤ ⎡ B P ⎤
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢ ⎥=⎢ ⎥⎢ ⎥ (2.19)
⎢ 1 ⎥ ⎢0 0 0 1 ⎥⎦ ⎢⎣ 1 ⎥⎦
⎣ ⎦ ⎣
Đó là,
1. Một số “1” được thêm vào phần tử cuối cùng của các vector 4 x 1.
2. Một hàng “ [0 0 0 1]” được thêm vào hàng cuối cùng của ma trận 4 x 4.
Ta chấp nhận quy ước rằng một vector vị trí là 3 x 1 hay 4 x 1 phụ thuộc vào nó xuất hiện
trong phép nhân ma trận 3 x 3 hay ma trận 4 x 4. Thấy rằng (2.19) cho ta
P =
A A
B R B P + APBORG
(2.20)
1 = 1
Ma trận 4 x 4 trong (2.19) được gọi là phép biến đổi thuần nhất (homogeneous transform).
Đối với mục đích của ta nó được xem như là một phép dựng hình được dùng để thay thế phép
quay và tịnh tiến của phép biến đổi tổng quát thành dạng một ma trận duy nhất. Trong các
lĩnh vực khác nó được dùng để tính các phép tính tỉ lệ và luật gần xa (khi hàng cuối cùng khác
với “[0 0 0 1]”, hay ma trận quay không thuần nhất). Người đọc nên xem [2].
Thông thường ta sẽ viết các biểu thức giống (2.18) không có bất kỳ ký hiệu nào cho thấy rằng
đó là một biểu diễn thuần nhất, bởi vì nó phụ thuộc vào ngữ cảnh. Chú ý rằng trong khi sử
dụng các biến đổi thuần nhất được viết dưới dạng các biểu thức cô đọng, một chương trình
máy tính để biến đổi các vector thường không sử dụng chúng vì mất thời gian lãng phí thực
hiện các phép nhân với 1 và 0. Do đó, cách biểu diễn này chủ yếu thuận lợi khi suy nghĩ và
viết các biểu thức vào giấy.

Nguyễn Hữu Cường Trang II.8


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
Giống như ta sử dụng các ma trận quay để chỉ hướng, ta sẽ sử dụng các phép biến đổi (thường
ở dạng thuần nhất) để chỉ một hệ tọa độ. Chú ý rằng khi ta giới thiệu các phép biến đổi thuần
nhất trong bối cảnh các phép ánh xạ, chúng cũng phù hợp với phép mô tả hệ tọa độ. Phép mô
tả hệ tọa độ {B} tương đối so với {A} là ABT .
----------------------------------------- Thí dụ 2.2
Hình 2.8 trình bày một hệ tọa độ {B} được quay tương đối so với hệ tọa độ {A} quay quanh
Ẑ góc 300, và tịnh tiến 10 đơn vị theo X̂ A , và 5 đơn vị theo YˆA . Tìm A P với
P = [3.0 7.0 0.0] .
B T

{B}
YˆB
B
P
A
P
{A}
YˆA X̂ B

A
PBORG

X̂ A
Hình 2.8 Hệ tọa độ {B} được quay và tịnh tiến
Phép mô tả hệ tọa độ {B} là
⎡0.866 − 0.500 0.000 10.0⎤
⎢0.500 0.866 0.000 5.0 ⎥
BT =
A ⎢ ⎥ (2.21)
⎢0.000 0.000 1.000 0.0 ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦
Cho
⎡3.0⎤
B
P = ⎢⎢7.0⎥⎥ (2.22)
⎣⎢0.0⎦⎥
Ta sử dụng mô tả {B} cho ở trên như một phép biến đổi,
⎡ 9.098 ⎤
A
P = T P = ⎢⎢12.562⎥⎥
A
B
B
(2.23)
⎢⎣ 0.000 ⎥⎦

2.4 Toán tử: tịnh tiến, quay, biến đổi


Các dạng toán học mà ta đã dùng để xác định các điểm giữa các hệ tọa độ cũng có thể được
xem như là các toán tử để tịnh tiến điểm, quay vector, hoặc cả hai. Phần này giải thích cách
biểu diễn toán học này mà ta đã phát triển.
Toán tử tịnh tiến

Nguyễn Hữu Cường Trang II.9


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
Phép tịnh tiến di chuyển một điểm trong không gian một khoảng cách nhất định theo một
vector chỉ phương cho trước. Sử dụng biểu diễn phép tịnh tiến điểm trong không gian, chỉ duy
nhất một hệ tọa độ có liên quan. Nó cho thấy rằng phép tịnh tiến một điểm trong không gian
được thực hiện giống như phép ánh xạ toán học một điểm trong không gian sang hệ tọa độ thứ
hai. Điều quan trọng là hiểu được phép biểu diễn toán học nào được sử dụng. Sự khác biệt đó
là: Khi một vector được di chuyển “về trước” tương đối với một hệ tọa độ, ta có thể coi như
vector di chuyển “tới” hoặc hệ tọa độ di chuyển “lùi”. Các phép toán áp dụng trong hai trường
hợp này giống hệt nhau, chỉ trong ký hiệu của ta là khác. Hình 2.9 cho ta thấy bằng hình ảnh
một vector A P1 được tịnh tiến theo vector AQ như thế nào. Ở đây vector AQ cho biết thông
tin cần thiết để thực hiện phép tịnh tiến.

A
P1
A
{A} P2
Ẑ A
A
P1

A
Q

YˆA

X̂ A
Hình 2.9 Toán tử tịnh tiến
Kết quả của phép toán là một vector mới A P2 , được tính như sau
A
P2 = AP1 + AQ (2.24)
Để biểu diễn phép tịnh tiến dưới dạng một toán tử ma trận, ta sử dụng ký hiệu
A
P2 = DQ(q) A P1 (2.25)

trong đó q là độ lớn của phép tịnh tiến theo phương vector Q̂ . Toán tử DQ được coi như một
phép biến đổi thuần nhất của dạng đặc biệt:
⎡1 0 0 qx ⎤
⎢0 1 0 q y ⎥⎥
DQ (q) = ⎢ (2.26)
⎢0 0 1 qz ⎥
⎢ ⎥
⎣0 0 0 1⎦

trong đó qx, qy, và qz là các thành phần của vector tinh tiến Q và q = q x2 + q y2 + q z2 . Các biểu
thức (2.9) và (2.24) thực hiện cùng phép toán. Chú ý rằng nếu ta đã xác định B PAORG (thay vì
A
PBORG ) trong Hình 2.4 và dùng nó trong (2.9) thì ta sẽ thấy một sự đổi dấu giữa (2.9) và
(2.24). Sự đổi dấu này cho thấy sự khác biệt giữa di chuyển vector “tới” và di chuyển hệ tọa
độ “lùi”. Bằng cách xác định vị trí của {B} tương đối so với {A} (với A PBORG ) ta làm cho các
phép toán của hai cách biểu diễn trở nên giống nhau. Ký hiệu “DQ” như đã giới thiệu, ta cũng
có thể dùng nó để mô tả các hệ tọa độ, và cũng là một phép ánh xạ.
Toán tử quay

Nguyễn Hữu Cường Trang II.10


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

Cách biểu diễn khác của ma trận quay là toán tử quay tính toán trên một vector A P1 và biến
đổi vector đó thành một vector mới, A P2 , bằng một phép quay trung gian, R. Thông thường,
khi một ma trận quay được biểu diễn như một toán tử không có chỉ số trên hoặc chỉ số dưới vì
nó không xét đến sự tương đối của hai hệ tọa độ. Do đó, ta có thể viết
A
P2 = R AP1 (2.27)
Nhắc lại, như trong trường hợp phép tịnh tiến, các phép toán được mô tả trong (2.13) và trong
(2.27) là giống nhau; chỉ có cách biểu diễn của ta là khác. Thực tế cũng cho phép ta thấy rằng
làm thế nào để có được các ma trận quay được sử dụng như các toán tử:
Ma trận quay quay các vector thông qua phép quay, R, giống như ma trận quay mô tả một hệ
tọa độ được quay bởi R tương đối so với hệ tọa độ tham chiếu.
Mặc dù ma trận quay được coi là một toán tử, ta cũng định nghĩa một ký hiệu khác cho toán
tử quay có chỉ rõ trục quay:
A
P2 = RK (θ ) AP1 (2.28)

Ký hiệu “RK(θ)” là một toán tử quay thực hiện một phép quay quanh trục theo phương K̂ một
góc θ. Toán tử này có thể được viết như một biến đổi thuần nhất có thành phần vector vị trí là
không. Thí dụ, thay vào (2.11) có được toán tử quay quanh trục Ẑ góc θ là
⎡cos θ − sin θ 0 0⎤
⎢ sin θ cos θ 0 0⎥⎥
RZ (θ ) = ⎢ (2.29)
⎢ 0 0 1 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦
Dĩ nhiên, để quay một vector vị trí ta nên dùng thành phần ma trận quay 3 x 3 của phép biến
đổi thuần nhất. Ký hiệu “RK” có thể dùng để biểu diễn một ma trận 3 x 3 hoặc 4 x 4. Phần
cuối trong chương này ta sẽ thấy viết một ma trận quay cho một phép quay quanh trục K̂ như
thế nào.
----------------------------------------- Thí dụ 2.3
Hình 2.10 trình bày một vector A P1 . Ta muốn tính vector có được bằng cách quay vector này
quanh trục Ẑ góc 300. Gọi vector mới là A P2 .

A
P1

A
P2 {A}
YˆA

X̂ A
Hình 2.10 Vector A P1 được quay 300 quanh trục Ẑ

Ma trận quay quay vector 300 quanh trục Ẑ giống như ma trận quay mô tả một hệ tọa độ
được quay 300 quanh trục Ẑ tương đối so với hệ tọa độ tham chiếu. Do đó toán tử quay chính

Nguyễn Hữu Cường Trang II.11


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

⎡0.866 − 0.500 0.000⎤


RZ (30) = ⎢⎢0.500 0.866 0.000⎥⎥ (2.30)
⎢⎣0.000 0.000 1.000 ⎥⎦

Cho
⎡0.0⎤
A
P1 = ⎢⎢2.0⎥⎥ (2.31)
⎢⎣0.0⎥⎦

Ta tính A P2 như sau

⎡− 1.000⎤
A
P2 = RZ (30.0) P1 = ⎢⎢ 1.732 ⎥⎥
A
(2.32)
⎢⎣ 0.000 ⎥⎦

Các biểu thức (2.13) và (2.27) thực hiện cùng các phép toán. Chú ý rằng nếu ta đã xác định
B
A R (thay vì) thì nghịch đảo của R sẽ xuất hiện trong (2.27). Sự thay đổi này cho biết sự khác
biệt giữa quay vector “tới” với quay hệ tọa độ “lùi”. Bằng cách xác định vị trí {B} tương đối
so với {A} (với BA R ) ta làm cho các phép toán của hai cách biểu diễn trở nên giống nhau.
Toán tử biến đổi tổng quát
Như các vector và các ma trận quay, một hệ tọa độ có cách biểu diễn khác là toán tử biến đổi.
Trong cách biểu diễn này, chỉ có một hệ tọa độ được xét, và do đó ký hiệu T được dùng
không có chỉ số trên hay chỉ số dưới. Toán tử T quay và tịnh tiến một vector A P1 để tính một
vector mới, A P2 . Vậy
A
P2 =T AP1 (2.33)
Nhắc lại, cũng như trường hợp quay, các phép toán được mô tả trong (2.18) và trong (2.33) là
giống nhau, chỉ có cách biểu diễn của ta là khác. Thực tế cũng cho phép ta thấy phép biến đổi
thuần nhất được sử dụng như toán tử như thế nào:
Phép biến đổi quay bởi R và tịnh tiến bởi R giống như phép biến đổi mô tả một hệ tọa độ
được quay bởi R và tịnh tiến bởi Q tương đối so với hệ tọa độ tham chiếu.
Một phép biến đổi thường được xét ở dạng của phép biến đổi thuần nhất với các thành phần
ma trận quay và vector vị trí.
----------------------------------------- Thí dụ 2.4
Hình 2.11 trình bày một vector A P1 . Ta muốn quay nó 300 quanh trục Ẑ , và tịnh tiến nó 10
đơn vị theo X̂ A và 5 đơn vị theo YˆA . Tìm A P2 nếu biết A P1 = [3.0 7.0 0.0] .
T

Toán tử T, thực hiện phép tịnh tiến và phép quay, là


⎡0.866 − 0.500 0.000 10.0⎤
⎢0.500 0.866 0.000 5.0 ⎥
T =⎢ ⎥ (2.34)
⎢0.000 0.000 1.000 0.0 ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦
Cho

Nguyễn Hữu Cường Trang II.12


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

⎡3.0⎤
A
P1 = ⎢⎢7.0⎥⎥ (2.35)
⎢⎣0.0⎥⎦

Ta dùng T như một toán tử:


⎡ 9.098 ⎤
A
P2 =T AP1 = ⎢⎢12.562⎥⎥ (2.36)
⎢⎣ 0.000 ⎥⎦

A
P2 R AP1

{A}
YˆA
A
P1

A
Q

X̂ A
Hình 2.11 A
Vector P1 được quay và tịnh tiến tạo thành A P2
Chú ý rằng thí dụ này về mặt số học chính là Thí dụ 2.2, nhưng về cách biểu diễn thì hoàn
toàn khác.

2.5 Tóm tắt các cách biểu diễn


Ta đã giới thiệu các khái niệm đầu tiên dành cho trường hợp chỉ tịnh tiến, kế đến dành cho
trường hợp chỉ quay, và cuối cùng dành cho trường hợp tổng quát quay quanh một điểm và
tịnh tiến điểm đó. Đã có kiến thức về trường hợp tổng quát của quay và tịnh tiến, ta sẽ không
cần xét hai trường hợp đơn giản vì chúng đã nằm trong trường hợp tổng quát.
Như một công cụ tổng quát để biểu diễn hệ tọa độ ta đã giới thiệu phép biến đổi thuần nhất,
một ma trận 4 x 4 chứa thông tin về hướng và vị trí.
Ta đã giới thiệu ba cách biểu diễn chủa dạng biến đổi thuần nhất này:
1. Đó là phép mô tả của một hệ tọa độ. ABT mô tả hệ tọa độ tọa {B} tương đối so với hệ
tọa độ {A}. Cụ thể là, các cột của BA R là các vector đơn vị xác định hướng các trục
chính của {B}, và A PBORG định vị vị trí gốc của {B}.

2. Đó là phép biến đổi ánh xạ. ABT ánh xạ B


P a AP .

3. Đó là toán tử biến đổi. T tác động lên A P1 để tạo thành A P2 .


Từ đó các thuật ngữ hệ tọa độ (frame) và phép biến đổi (transform) cả hai sẽ được được dùng
để chỉ một vector vị trí cùng với một hướng. Hệ tọa độ là thuật ngữ dùng khi nói đến một
phép mô tả, và phép biến đổi thường được nhiều khi dùng một phép ánh xạ hay toán tử. Chú ý
rằng phép biến đổi là tổng quát hóa của phép tịnh tiến và phép quay, do đó ta sẽ thường dùng
thuật ngữ phép biến đổi khi nói đến một phép quay (hay phép tịnh tiến) thuần túy.

Nguyễn Hữu Cường Trang II.13


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
2.6 Phép biến đổi số học
Trong phần này ta khảo sát phép nhân và phép nghịch đảo của phép biến đổi. Hai phép toán
cơ bản này tạo thành một tập hợp chức năng hoàn chỉnh của toán tử biến đổi.
Phép biến đổi tích hợp
Trong Hình 2.12, ta có C P và muốn tìm A P .

{C}
Ẑ C
C
P
{B} YˆC
Ẑ B
{A} A
P
Ẑ A

X̂ C
YˆB

YˆA X̂ B

X̂ A

Hình 2.12 Hệ tọa độ tích hợp: mỗi hệ tọa độ được biết tương đối so với hệ tọa độ trước
Hệ tọa độ {C} được biết tương đối so với hệ tọa độ {B}, và hệ tọa độ {B} được biết tương đối
so với hệ tọa độ {A}. Ta có thể biến đổi C P sang B P như sau
B
P = CB T CP (2.37)

Và sau đó biến đổi B P sang A P như sau


A
P = ABT BP (2.38)
Kết hợp (2.37) và (2.38) ta được kết quả không bất ngờ sau:
A
P = ABT CBT CP (2.39)
từ đó ta có thể định nghĩa
A
C T = ABT CBT (2.40)
Nhắc lại, chú ý rằng sự giống nhau của ký hiệu chỉ số trên và chỉ số dưới khử các số hạng.
Dưới dạng mô tả của {B} và {C}, ta có được biểu thức của CAT như sau

⎡ A
B R CB R A
B R B PCORG + APBORG ⎤
⎢ ⎥
CT = ⎢
A
⎥ (2.41)
⎢0 0 0 1 ⎥
⎣ ⎦
Phép biến đổi ngược
Xét hệ tọa độ {B} được biết tương đối so với hệ tọa độ {A}; do đó, ta biết giá trị của ABT . Đôi
khi ta muốn nghịch đảo phép biến đổi này, để có được mô tả của {A} tương đối so với {B};
tức là, BAT . Một cách trực tiếp để tính nghịch đảo là tính nghịch đảo của phép biến đổi thuần
nhất 4 x 4. Tuy nhiên, nếu ta làm như vậy, ta không lấy được đầy đủ ưu điểm của cấu trúc vốn

Nguyễn Hữu Cường Trang II.14


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
có trong phép biến đổi. Rất dễ để tìm một phương pháp tính đơn giản cho cách tính nghịch
đảo từ ưu điểm của cấu trúc này.
Để tìm BAT ta phải tính AB R và B PAORG từ A
B R và A PBORG . Trước tiên, từ thảo luận của ta về
ma trận quay cho thấy rằng
B
A R = BAR T (2.42)

Tiếp theo, ta đổi mô tả của A PBORG sang {B} sử dụng biểu thức (2.12):
B
( APBORG )= AB R APBORG + B PAORG (2.43)
Vì vế trái của biểu thức (2.43) phải bằng không, ta có
B
PAORG =− AB R APBORG =− BART A PBORG (2.44)

Sử dụng (2.42) và (2.44) ta có thể viết dạng của BAT như sau

⎡ A
B RT − BAR T A PBORG ⎤
⎢ ⎥
AT = ⎢
B
⎥ (2.45)
⎢0 0 0 1 ⎥
⎣ ⎦
Chú ý rằng với ký hiệu của ta,
T = ABT −1
B
A

Biểu thức (2.45) là phương pháp chung và vô cùng hiệu quả để tính nghịch đảo của một phép
biến đổi thuần nhất.
----------------------------------------- Thí dụ 2.5
Hình 2.13 trình bày một hệ tọa độ {B} được quay tương đối so với hệ tọa độ {A} 300 quanh
trục Ẑ , và tịnh tiến 4 đơn vị theo X̂ A , và 3 đơn vị theo YˆA . Do đó, ta có một mô tả của ABT .
Tìm BAT .
{B}
YˆB

{A} Xˆ B
YˆA

X̂ A
Hình 2.13 {B} tương đối so với {A}
Hệ tọa độ {B} xác định là
⎡0.866 − 0.500 0.000 4.0⎤
⎢0.500 0.866 0.000 3.0⎥
A
T = ⎢ ⎥ (2.46)
B
⎢0.000 0.000 1.000 0.0⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦
Sử dụng (2.45) ta tính

Nguyễn Hữu Cường Trang II.15


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

⎡ 0.866 0.500 0.000 − 4.964⎤


⎢− 0.500 0.866 0.000 − 0.598⎥
B
T = ⎢ ⎥ (2.47)
A
⎢ 0.000 0.000 1.000 0.0 ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦

2.7 Phương trình biến đổi


Hình 2.14 cho thấy một trường hợp một hệ tọa độ {D} có thể được trình bày dưới dạng tích
của các phép biến đổi trong hai cách khác nhau. Thứ nhất,
U
DT =UAT DAT (2.48)
nhưng cũng là
U
D T =UBT BCT CDT (2.49)

Ta có thể đặt hai mô tả bằng nhau của UDT về dạng một phương trình biến đổi (transform
equation):
T DAT =UBT CBT CDT
U
A (2.50)
{A} {D}

{C}
{U}

{B}

Hình 2.14 Tập hợp các phép biến đổi dạng vòng
Phương trình biến đổi được dùng để giải các phép biến đổi trong trường hợp có n phép biến
đổi chưa biết và n phương trình biến đổi. Xét (2.50) trong trường hợp tất cả phép biến đổi đều
biết ngoại trừ CBT . Ở đây ta có một phương trình biến đổi và một phép biến đổi chưa biết; do
đó, ta dễ dàng tìm lời giải của nó như sau
T =UBT −1 UAT DAT CDT −1
B
C (2.51)
Hình 2.15 cho thấy trường hợp khác tương tự.
Chú ý rằng trong tất cả các hình ta đã giới thiệu một cách biểu diễn đồ họa của hệ tọa độ là
một mũi tên chỉ từ một gốc hệ tọa độ này đến gốc hệ tọa độ khác. Hướng mũi tên cho biết
hướng hệ tọa độ được xác định: trong Hình 2.14, hệ tọa độ {D} được xác định tương đối so
với {A}, nhưng trong Hình 2.15 hệ tọa độ {A} được xác định tương đối so với {D}. Để xác
Nguyễn Hữu Cường Trang II.16
Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
định hệ tọa độ tổng hợp theo hàng các mũi tên, đơn giản ta tính tích của các phép biến đổi.
Nếu một mũi tên chỉ ngược chiều trong chuỗi các phép biến đổi, đơn giản ta tính nghịch đảo
của nó trước. Trong Hình 2.15 hai khả năng mô tả của {C} là
T =UAT DAT −1 DCT
U
C (2.52)

T =UBT CBT
U
C (2.53)

Một lần nữa, ta có thể đồng nhất (2.52) và (2.53) để tìm UAT :
U
AT =UBT CBT DCT −1 DAT (2.54)
{A} {D}

{C}
{U}

{B}

Hình 2.15 Thí dụ về một phương trình biến đổi


----------------------------------------- Thí dụ 2.6

{T}

{G}

{S}

{B}

Hình 2.16 Tay máy với lấy con bu-lông

Nguyễn Hữu Cường Trang II.17


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

Giả sử rằng ta biết phép biến đổi BTT trong Hình 2.16, mô tả hệ tọa độ {T} tại các ngón gắp
của tay máy tương đối so với đế của tay máy, {B}. Ta cũng biết góc bàn được định vị ở đâu
trong không gian tương đối so với đế của tay máy bởi vì ta có mô tả của hệ tọa độ {S} được
gắn với bàn như trong hình,. Cuối cùng, ta biết vị trí của hệ tọa độ gắn với con bu-lông nằm
trên bàn tương đối so với hệ tọa độ của bàn, đó là. Tính vị trí và hướng của con bu-lông tương
đối so với bàn tay của tay máy, TGT .
Theo ký hiệu của ta (nhưng không được khuyến khích, tùy theo cách hiểu của ta) ta tính hệ
tọa độ bu-lông tương đối so với hệ tọa độ bàn tay như sau
T
G T = BT T −1 BS T GST (2.55)

2.8 Nói thêm về cách biểu diễn hướng


Cho đến bây giờ, ta chỉ đề cập đến cách biểu diễn một hướng bằng một ma trận quay 3 x 3.
Như đã trình bày, ma trận quay có tất cả các cột trực giao với nhau và có độ dài đơn vị. Hơn
nữa, ta sẽ thấy rằng định thức của ma trận quay luôn bằng +1. Ma trận quay cũng có thể được
gọi là ma trận trực giao chuẩn tắc (proper orthonormal matrices) trong đó “chuẩn tắc” cho
thấy thực tế rằng định thức là +1 (các ma trận trực giao không chuẩn tắc có định thức là -1).
Câu hỏi thường đặt ra là nó có khả năng mô tả một hướng nếu có ít hơn chín con số hay
không. Kết quả từ đại số tuyến tính cho biết rằng theo như công thức Cayley đối với ma trận
trực giao [3] phát biểu rằng với mọi ma trận trực giao chuẩn tắc, R, tồn tại một ma trận đối
xứng lệch, S, sao cho
R = (I 3 − S)−1 (I 3 + S) (2.56)

trong đó I3 là ma trận đơn vị 3 x 3. Bây giờ ma trận đối xứng lệch (tức là, S = − S T ) 3 chiều
được xác định bằng ba thông số (sx, sy, sz) như sau
⎡ 0 − sz sy ⎤
⎢ ⎥
S = ⎢ sz 0 − sx ⎥ (2.57)
⎢− s y sx 0 ⎥⎦

Do đó, một hệ quả trực tiếp từ công thức (2.56) là ma trận quay 3 x 3 bất kỳ nào cũng có thể
được biểu diễn chỉ với ba thông số.
Rõ ràng, chín phần tử của ma trận quay không độc lập với nhau. Trong thực tế, cho một ma
trận quay, R, dễ dàng viết được sáu ràng buộc giữa các phần tử. Hình dung R có ba cột, như
đã giới thiệu từ đầu:
[
R = Xˆ Yˆ Zˆ ] (2.58)
Như ta biết từ Phần 2.2, ba vector này là các trục đơn vị của hệ tọa độ được viết theo hệ tọa
độ tham chiếu. Vì mỗi vector là một vector đơn vị, và vì cả ba phải trực giao nhau, ta thấy
rằng có sáu ràng buộc trên chín phần tử ma trận:

Nguyễn Hữu Cường Trang II.18


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

Xˆ = 1

Yˆ = 1

Zˆ = 1 (2.59)
Xˆ .Yˆ = 0
Xˆ .Zˆ = 0
Yˆ .Zˆ = 0
Câu hỏi thường đặt ra là cách biểu diễn hướng có được biểu diễn tiện lợi với ba thông số hay
không. Phần này sẽ giới thiệu một vài cách biểu diễn.
Trong khi phép tịnh tiến theo ba trục trực giao nhau rất dễ hình dung, thì phép quay dường
như khó cảm nhận. Đáng tiếc, con người gặp khó khăn để mô tả và định rõ hướng trong
không gian ba chiều. Một điều trở ngại là phép quay nói chung không giao hoán được. Đó là,
A B B A
B R C R không giống như C R B R .

----------------------------------------- Thí dụ 2.7


Xét hai phép quay, một quay 300 quanh trục Ẑ và một quay 300 quanh trục X̂ .
⎡0.866 − 0.500 0.000⎤
RZ (30) = ⎢⎢0.500 0.866 0.000⎥⎥ (2.60)
⎢⎣0.000 0.000 1.000 ⎥⎦

⎡1.000 0.000 0.000 ⎤


RX (30) = ⎢⎢0.000 0.866 − 0.500⎥⎥ (2.61)
⎢⎣0.000 0.500 0.866 ⎥⎦

⎡0.87 − 0.43 0.25 ⎤


RZ (30) RX (30) = ⎢⎢0.50 0.75 − 0.43⎥⎥
⎢⎣0.00 0.50 0.87 ⎥⎦
(2.62)
⎡0.87 − 0.50 0.00 ⎤
≠ RX (30) RZ (30) = ⎢⎢0.43 0.75 − 0.50⎥⎥
⎣⎢0.25 0.43 0.87 ⎦⎥
Điều này không ngạc nhiên vì ta dùng các ma trận để biểu diễn các phép quay và phép nhân
các ma trận không thể giao hoán.
Bởi vì phép quay có thể xem như là toán tử hay là phép mô tả của hướng, các cách biểu diễn
khác nhau được ưa chuộng cho từng ứng dụng của chúng. Ma trận quay có lợi như toán tử.
Dạng ma trận của chúng khi nhân với một vector chúng thực hiện một phép quay. Tuy nhiên,
ma trận quay có phần khó sử dụng khi dùng để biểu diễn một hướng. Một người sử dụng máy
tính muốn đánh máy cách biểu diễn mô tả hướng của một bàn tay robot gặp khó khăn để nhập
một ma trận chín phần tử với các cột trực giao. Một cách biểu diễn chỉ đòi hỏi ba chữ số sẽ
đơn giản hơn. Những phần tiếp theo giới thiệu một vài cách biểu diễn.
Các góc cố định X-Y-Z
Một phương pháp để mô tả hướng của một hệ tọa độ {B} như sau:

Nguyễn Hữu Cường Trang II.19


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
Bắt đầu với hệ tọa độ trùng với một hệ tọa độ tham chiếu biết trước {A}. Trước tiên quay {B}
quanh trục X̂ A một góc γ, sau đó quay quanh trục ŶA một góc β, và sau đó quay quanh trục
Ẑ A một góc α.
Mỗi một trong ba phép quay quay quanh một trục trong hệ tọa độ tham chiếu cố định, {A}.
Ta gọi quy tắc biểu diễn hướng này là các góc cố định X-Y-Z (X-Y-Z fixed angles). Từ “cố
định” trong thực tế các phép quay được xác định theo hệ tọa độ tham chiếu cố định (tức là,
không di chuyển) (Hình 2.17). Đôi khi quy tắc này được gọi là các góc roll, pitch, yaw, nhưng
phải cẩn thận khi sử dụng, vì tên gọi này thường được dùng cho quy tắc khác.
Ẑ A Ẑ A Ẑ A α
Ẑ B Ẑ B ŶB
ŶB Ẑ B
ŶB
γ
ŶA β ŶA ŶA
X̂ B X̂ B
X̂ A X̂ A X̂ B X̂ A
Hình 2.17 Các góc quay cố định X-Y-Z. Các phép quay được thực hiện theo thứ tự
RX (γ ), RY ( β ), RZ (α ) .
Rất dễ tìm ma trận quay tương đương, A
B R XYZ (γ , β , α ) bởi vì mọi phép quay đều quay quanh
các trục của hệ tọa độ tham chiếu:
⎡cα − sα 0⎤ ⎡ cβ 0 sβ ⎤ ⎡1 0 0 ⎤
A
B RXYZ (γ , β , α ) = RZ (α ) RY ( β ) RX (γ ) = ⎢⎢ sα cα 0⎥⎥ ⎢⎢ 0 1 0 ⎥⎥ ⎢⎢0 cγ − sγ ⎥⎥
⎢⎣ 0 0 1⎥⎦ ⎢⎣− sβ 0 cβ ⎥⎦ ⎢⎣0 sγ cγ ⎥⎦
(2.63)
trong đó cα là viết tắt cho cosα và sα cho sinα,… Rất quan trọng để hiểu thứ tự các phép
quay dùng trong (2.63). Xem phép quay là toán tử, ta dùng các phép quay (từ phải) RX (γ ) , kế
đến RY ( β ) và kế đến RZ (α ) . Nhân (2.63), ta được

⎡cαcβ cαsβsγ − sαcγ cαsβcγ + sαsγ ⎤


A
B RXYZ (γ , β , α ) = ⎢⎢ sαcβ sαsβsγ + cαcγ sαsβcγ − cαsγ ⎥⎥ (2.64)
⎢⎣ − sβ cβsγ cβcγ ⎥⎦

Hãy nhớ thứ tự của ba phép quay. Biểu thức (2.64) chỉ đúng đối với các phép quay được thực
hiện theo thứ tự quay quanh trục X̂ A góc γ, quay quanh trục YˆA góc β, quay quanh trục Ẑ A
góc α.
Bài toán nghịch đảo từ các góc cố định X-Y-Z tương đương của ma trận quay thường được
quan tâm. Lời giải phụ thuộc vào cách giải một tập hợp các phương trình không tường minh:
có chín phương trình và ba biến chưa biết nếu (2.64) được đồng nhất với một ma trận quay
biết trước. Trong chín phương trình là sáu phương trình phụ thuộc, vậy về cơ bàn ta có ba
phương trình và ba biến chưa biết. Giả sử
⎡ r11 r12 r13 ⎤
A
B RXYZ (γ , β , α ) = ⎢⎢r21 r22 r23 ⎥⎥ (2.65)
⎢⎣r31 r32 r33 ⎥⎦

Nguyễn Hữu Cường Trang II.20


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
Từ (2.64) ta thấy rằng bằng cách lấy căn bậc hai tổng bình phương r11 và r21 ta có thể tính
cosβ. Kế đó, ta có thể tìm β bằng arctg của –r31 thông qua phép tính cosin. Sau đó, với điều
kiện cβ ≠ 0 ta có thể tìm α bằng cách lấy arctg của r21 cβ trên r11 cβ , và ta có thể tìm γ bằng
cách lấy acrtg của r32 cβ trên r33 cβ .
Tóm lại:

β = A tan 2(−r31 , r112 + r212 )


α = A tan 2(r21 cβ , r11 cβ ) (2.66)
γ = A tan 2(r32 cβ , r33 cβ )
trong đó Atan2(y,x) là hàm arctg hai đối số.
Mặc dù lời giải thứ hai tồn tại, bằng cách dùng căn bậc hai dương trong công thức tính β, ta
luôn tìm lời giải duy nhất với − 90.0 0 ≤ β ≤ 90.0 0 . Đó luôn là một thói quen tốt, từ đó ta có
thể xác định các hàm ánh xạ một-một giữa các cách biểu diễn hướng khác nhau. Tuy nhiên,
trong một vài trường hợp, việc tìm tất cả các lời giải rất quan trọng (nói thêm điều này trong
Chương 4). Nếu β = ±90.0 0 (để cβ = 0), lời giải của (2.66) suy biến. Trong các trường hợp
đó, chỉ có tổng hoặc hiệu α và γ có thể được tính. Một khả năng là chọn α = 0.0 trong các
trường hợp này, có được kết quả bên dưới.
Nếu β = 90.00 , thì một lời giải có thể tính được là
β = 90.0o
α = 0.0 (2.67)
γ = A tan 2(r12 , r22 )
Nếu β = −90.00 , thì một lời giải có thể tính được là
β = −90.0o
α = 0.0 (2.68)
γ = − A tan 2(r12 , r22 )
Các góc Euler Z-Y-X
Một mô tả khác của hệ tọa độ {B} như sau:
Bắt đầu với hệ tọa độ trùng với một hệ tọa độ biết trước {A}. Trước tiên quay {B} quanh trục
Ẑ B một góc α, sau đó quay quanh trục YˆB một góc β, và sau đó quay quanh trục X̂ B một góc
γ.
Trong cách biểu diễn này, mỗi phép quay được thực hiện xung quanh một trục của hệ tọa độ
chuyển động {B}, hệ tọa độ tham chiếu cố định {A}. Tập hợp ba phép quay được gọi là các
góc Euler. Chú ý rằng mỗi phép quay quay quanh một trục được định vị phụ thuộc vào phép
quay trước đó. Bởi vì ba phép quay quay quanh các trục Zˆ , Yˆ và Xˆ , ta sẽ gọi biểu diễn này là
các góc quay Euler Z-X-Y.
Hình 2.18 trình bày các trục của {B} sau khi thực hiện từng phép quay góc Euler. Phép quay
góc α quanh trục Ẑ làm cho X̂ quay sang Xˆ ′ , và Yˆ quay sang Yˆ ′ , và v.v… Dấu “nháy”
được thêm vào mỗi trục sau mỗi phép quay. Một ma trận quay được biểu diễn tham số bởi các
góc quay Euler được ký hiệu BA RZ ′Y ′X ′ (α , β , γ ) . Chú ý rằng ta đã thêm “nháy” vào các chỉ số
dưới để cho biết rằng phép quay này được mô tả bởi các góc Euler.

Nguyễn Hữu Cường Trang II.21


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

Ẑ A
Ẑ B Ẑ B YˆB′′
Zˆ B′ Zˆ B′
α YˆB′ YˆB′
Zˆ B′′
YˆB′ YˆB′
ŶA β
γ
X̂ A Xˆ B′ Xˆ B′ Xˆ B′′ Xˆ B′′ Xˆ ′′
B

Hình 2.18 Các góc Euler Z-Y-X


Từ Hình 2.18, ta có thể sử dụng các hệ tọa độ tọa độ trung gian {B’} và {B”} để cho ra
phương trình BA RZ ′Y ′X ′ (α , β , γ ) . Theo các phép quay ta có thể viết ngay mô tả của các hệ tọa độ
này
A
B R = BA′ RBB′′′ R BB′′R (2.69)
trong đó mỗi phép mô tả tương đối ở vế phải (2.69) được cho bởi quy ước biểu diễn của góc
Euler Z-Y-X. Cụ thể là, hướng cuối cùng của {B} được cho tương đối so với {A} là
⎡cα − sα 0⎤ ⎡ cβ 0 sβ ⎤ ⎡1 0 0 ⎤
A
B RZ ′Y ′X ′ = RZ (α ) RY ( β ) RX (γ ) = ⎢⎢ sα cα 0⎥⎥ ⎢⎢ 0 1 0 ⎥⎥ ⎢⎢0 cγ − sγ ⎥⎥ (2.70)
⎢⎣ 0 0 1⎥⎦ ⎢⎣− sβ 0 cβ ⎥⎦ ⎢⎣0 sγ cγ ⎥⎦

trong đó cα = cosα và sα = sinα,… Nhân ra, ta được


⎡cαcβ cαsβsγ − sαcγ cαsβcγ + sαsγ ⎤
A
B RZ ′Y ′X ′ (α , β , γ ) = ⎢⎢ sαcβ sαsβsγ + cαcγ sαsβcγ − cαsγ ⎥⎥ (2.71)
⎢⎣ − sβ cβsγ cβcγ ⎥⎦

Chú ý rằng kết quả giống hệt như đã có đối với ba phép quay tương tự theo thứ tự ngược lại
theo các trục cố định. Kết quả này không giống như trực giác: ba phép quay quanh các trục cố
định lại cho hướng cuối cùng giống như ba phép quay theo thứ tự ngược lại quanh các trục
của hệ tọa độ chuyển động.
Vì (2.71) tương đương với (2.64), nên không cần lặp lại cách giải các góc Euler Z-Y-X từ một
ma trận quay. Do đó, (2.66) cũng có thể được dùng để giải các góc Euler Z-Y-X tương ứng
với một ma trận quay cho trước.
Các góc Euler Z-Y-Z
Phép mô tả khác của hệ tọa độ {B} như sau:
Bắt đầu với hệ tọa độ trùng với một hệ tọa độ biết trước {A}. Trước tiên quay {B} quanh trục
Ẑ B một góc α, sau đó quay quanh trục YˆB một góc β, và sau đó quay quanh trục Ẑ B một góc
γ.
Chú ý rằng các phép quay được mô tả tương đối với hệ tọa độ chuyển động, {B}, đó là mô tả
một góc Euler. Bởi vì ba phép quay quay quanh các trục Zˆ , Yˆ và Zˆ , ta sẽ gọi cách biểu diễn
này là các góc Euler Z-Y-Z (Z-Y-Z Euler angles).
Theo một mô tả giống như trong phần trước ta có được ma trận quay tương đương sau:

Nguyễn Hữu Cường Trang II.22


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot

⎡cαcβcγ − sαsγ − cαcβsγ − sαcγ cαsβ ⎤


A
B RZ ′Y ′Z ′ (α , β , γ ) = ⎢⎢ sαcβcγ + cαsγ − sαcβsγ + cαcγ sαsβ ⎥⎥ (2.72)
⎢⎣ − sβcγ sβ sγ cβ ⎥⎦

Lời giải cho các góc Euler Z-Y-Z từ một ma trận quay nói rõ bên dưới.
Cho
⎡ r11 r12 r13 ⎤
⎢ r23 ⎥⎥
B RZ ′Y ′Z ′ (α , β , γ ) = ⎢ r21
A
r22 (2.73)
⎢⎣r31 r32 r33 ⎥⎦

Nếu sin β ≠ 0 , thì

β = A tan 2( r312 + r322 , r33 )


α = A tan 2(r23 sβ , r13 sβ ) (2.74)
γ = A tan 2(r32 sβ , − r31 sβ )
Mặc dù lời giải thứ hai tồn tại, bằng cách dùng căn bậc hai dương trong công thức của β,
nhưng ta luôn tính lời giải duy nhất khi 0.0 ≤ β ≤ 180.0 o . Khi β = 0.0 hay 180.0o, lời giải của
(2.74) suy biến. Trong các trường hợp đó, chỉ có tổng hoặc hiệu của α và γ được tính. Một
kinh ngiệm thường chọn α = 0.0 trong các trường hợp này, có được kết quả như bên dưới.
Nếu β = 0.0, thì lời giải có thể được tính là
β = 0.0
α = 0.0 (2.75)
γ = A tan 2(−r12 , r11 )
Nếu β = 180.00, thì lời giải có thể được tính là
β = 180.00
α = 0.0 (2.76)
γ = A tan 2(r12 ,−r11 )
Các quy ước đặt góc khác
Trong các phần trước ta đã thấy ba quy ước biểu diễn hướng, các góc cố định X-Y-Z, các góc
Euler Z-Y-X, và các góc Euler Z-Y-Z. Mỗi quy ước đòi hỏi thực hiện ba phép quay quanh các
trục chính theo một trình tự nào đó. Các quy ước này là thí dụ của một tập hợp 24 quy ước mà
ta gọi là các quy ước đặt góc (angle set conventions). Trong đó, 12 quy ước dành cho cách đặt
góc cố định, và 12 dành cho cách đặt góc Euler. Chú ý rằng bởi vì tính đối ngẫu của cách đặt
góc cố định và cách đặt góc Euler, nên thực tế chỉ có duy nhất 12 cách biểu diễn tham số của
một ma trận quay sử dụng các phép quay lần lượt theo các trục chính. Trong khi đó thì không
có lý do riêng nào để có một quy ước nào khác, vì mỗi tác giả khác nhau chọn một kiểu quy
ước khác nhau, thật tiện lợi nếu liệt kê các ma trận quy tương đương cho tất cả 24 quy ước.
Phụ lục B (ở cuối sách) cho biết các ma trận quay tương đương đối với tất cả 24 quy ước.
Trục-góc quay tương đương
Với ký hiệu RX (30.0) ta đưa ra mô tả của một hướng theo một trục cho trước, X̂ , và một
góc, 30.00. Đó là một thí dụ của cách biểu diễn trục-góc quay tương đương (equivalent angle-
axis). Nếu trục ở một hướng nào đó (đúng hơn là một hướng đơn vị) thì bất kỳ hướng nào

Nguyễn Hữu Cường Trang II.23


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
cũng được mô tả thông qua cách chọn trục và góc thích hợp. Xét mô tả sau của một hệ tọa độ
{B}:
Bắt đầu với hệ tọa độ trùng với một hệ tọa độ biết trước {A}. Sau đó quay {B} quanh vector
A ˆ
K một góc θ theo quy tắc bàn tay phải.
Vector K̂ đôi khi được gọi là trục tương đương của một phép quay. Một hướng nào đó của
{B} tương đối so với {A} có thể được ký hiệu là BA R( Kˆ ,θ ) hay RK (θ ) và được gọi là phép
biểu diễn trục quay tương đương. Vector A Kˆ chỉ đòi hỏi hai tham số bởi vì độ dài của nó luôn
giữ một thông số. Góc là thông số thứ ba. Thông thường ta nhân hướng đơn vị, K̂ , với góc
quay, θ, để tạo thành một vector 3 x 1 mô tả hướng, được ký hiệu K (không “mũ”). Xem Hình
2.19.
{B} {A}
ˆ
ZB Ẑ A A

θ
ŶB

ŶA

X̂ A X̂ B
Hình 2.19 Biểu diễn trục quay tương đương
Khi một trục quay được chọn là một trong các trục chính của {A}, thì ma trận quay tương
đương có dạng giống với các phép quay hai chiều:
⎡1 0 0 ⎤

RX (θ ) = ⎢0 cos θ − sin θ ⎥⎥ (2.77)
⎢⎣0 sin θ cos θ ⎥⎦

⎡ cos θ 0 sin θ ⎤
RY (θ ) = ⎢⎢ 0 1 0 ⎥⎥ (2.78)
⎢⎣− sin θ 0 cos θ ⎥⎦

⎡cos θ − sin θ 0⎤
RZ (θ ) = ⎢⎢ sin θ cos θ 0⎥⎥ (2.79)
⎢⎣ 0 0 1⎥⎦
Nếu trục quay là một trục bất kỳ, có thể trình bày (xem Bài tập 2.6) ma trận quay tương
đương là
⎡ k x k x vθ + cθ k x k y vθ − k z sθ k x k z vθ + k y sθ ⎤
⎢ ⎥
RK (θ ) = ⎢k x k y vθ + k z sθ k y k y vθ + cθ k y k z vθ − k x sθ ⎥ (2.80)
⎢ k x k z vθ − k y sθ k y k z vθ + k x sθ k z k z vθ + cθ ⎥⎦

trong đó cθ = cosθ, sθ = sinθ, vθ = 1 – cosθ, và A Kˆ = k x [
k z . Dấu của θ được xác
ky ]T

định bằng quy tắc bàn tay phải với ngón cái chỉ theo chiều dương của A Kˆ .

Nguyễn Hữu Cường Trang II.24


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
Biểu thức (2.80) biến đổi từ cách biểu diễn trục quay sang cách biểu diễn ma trận quay. Chú ý
rằng với trục quay và góc bất kỳ biết trước, ta có thể dễ dàng thiết lập một ma trận quay tương
đương.
Bài toán ngược, cụ thể là xác định K̂ và θ từ một ma trận quay cho trước, xem như một bài
tập (Bài tập 2.6, 2.7). Kết quả từng phần được cho bên dưới [3]. Nếu
⎡ r11 r12 r13 ⎤
A
B RK (θ ) = ⎢⎢r21 r22 r23 ⎥⎥ (2.81)
⎢⎣ r31 r32 r33 ⎥⎦

thì
⎛ r11 + r22 + r33 − 1 ⎞
θ = A cos⎜ ⎟
⎝ 2 ⎠
⎡r32 − r23 ⎤ (2.82)
1 ⎢r − r ⎥
Kˆ =
2 sin θ ⎢
13 31 ⎥

⎢⎣ r21 − r12 ⎥⎦

Lời giải này luôn tính được một giá trị của θ từ 0 đến 180 độ. Đối với cặp trục-góc quay bất
( ) ( )
kỳ A K̂ ,θ có một cặp khác, đó là − AK̂ ,−θ , cặp này có cùng hướng trong không gian, và
cùng ma trận quay mô tả nó. Do đó trong sự chuyển đổi từ một ma trận quay sang biểu diễn
trục-góc quay, ta đối mặt với việc chọn lựa giữa các đáp án. Một vấn đề rất quan trọng đó là
đối với những góc quay nhỏ, trục quay trở nên khó xác định. Rõ ràng, nếu độ lớn góc quay
tiến tới không, trục quay trở nên không xác định hoàn toàn. Đáp án cho bởi (2.82) sai nếu θ =
0° hay θ = 180°. Xem Bài tập 2.7.
----------------------------------------- Thí dụ 2.8
Một hệ tọa độ {B} được mô tả như sau: ban đầu trùng với {A} ta quay {B} quanh vector
K = [0.707 0.707 0.0] (đi qua gốc tọa độ) một góc θ = 30 độ. Cho biết mô tả hệ tọa độ
A ˆ T

của {B}.
Thay vào (2.80) ta được thành phần ma trận quay của mô tả hệ tọa độ. Bởi vì không có phép
tịnh tiến gốc tọa độ nên vector vị trí là [0 0 0] . Do đó:
T

⎡ 0.933 0.067 0.354 0.0⎤


⎢ 0.067 0.933 − 0.354 0.0⎥⎥
A
T = ⎢ (2.83)
B
⎢− 0.354 0.354 0.866 0.0⎥
⎢ ⎥
⎣ 0.0 0.0 0.0 1.0 ⎦
Cho tới đây, tất cả phép quay mà ta đã thảo luận đều có trục quay đi qua gốc của hệ tọa độ
tham chiếu. Nếu ta gặp một bài toán không đúng như vậy, ta có thể biến đổi bài toán về
trường hợp “trục quay đi qua gốc tọa độ” bằng cách định nghĩa thêm các hệ tọa độ có gốc
nằm trên trục quay, và sau đó giải một phương trình biến đổi.
----------------------------------------- Thí dụ 2.9
Một hệ tọa độ {B} được mô tả như sau: ban đầu trùng với {A} ta quay {B} quanh vector
K = [0.707 0.707 0.0] , đi qua điểm A P = [1.0 2.0 3.0] , một góc θ = 30 độ. Cho biết
A ˆ T T

mô tả hệ tọa độ của {B}.


Trước khi thực hiện phép quay, {A} và {B} trùng nhau. Như trình bày trong Hình 2.20, ta
định nghĩa hai hệ tọa độ mới, {A’} và {B’}, trùng và cùng hướng lần lượt với {A} và {B},

Nguyễn Hữu Cường Trang II.25


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
chúng được tịnh tiến tương đối so với {A} một độ dời sao cho gốc của chúng được đặt lên
trục quay. Ta sẽ chọn
⎡1.0 0.0 0.0 1.0 ⎤
⎢0.0 1.0 0.0 2.0⎥⎥
A′T =
A ⎢ (2.84)
⎢0.0 0.0 1.0 3.0⎥
⎢ ⎥
⎣0.0 0.0 0.0 1.0 ⎦
{A’}
{B’} K̂

{A} A
P
{B}

Hình 2.20 Quay quanh một trục không đi qua gốc của {A}. Lúc đầu {B} trùng với {A}
Tương tự mô tả của {B} theo {B’} là
⎡1.0 0.0 0.0 − 1.0 ⎤
⎢0.0 1.0 0.0 − 2.0⎥⎥
B′
BT =
⎢ (2.85)
⎢0.0 0.0 1.0 − 3.0⎥
⎢ ⎥
⎣0.0 0.0 0.0 1.0 ⎦
Bây giờ, giữ các mối quan hệ khác cố định, ta có thể quay {B’} tương đối so với {A’}. Đó là
phép quay quanh một trục đi qua gốc tọa độ, do đó ta có thể sử dụng (2.80) để tìm {B’} tương
đối so với {A’}. Thay vào (2.80) ta được thành phần ma trận quay của phép mô tả hệ tọa độ.
Vì không có tịnh tiến gốc tọa độ, nên vector vị trí là [0 0 0] . Do đó ta có
T

⎡ 0.933 0.067 0.354 0.0⎤


⎢ 0.067 0.933 − 0.354 0.0⎥⎥
A′
B′T =
⎢ (2.86)
⎢− 0.354 0.354 0.866 0.0⎥
⎢ ⎥
⎣ 0.0 0.0 0.0 1.0 ⎦
Cuối cùng ta có thể viết phương trình biến đổi để tìm phép mô tả hệ tọa độ,
T = AA′T AB′T
A
B
B′
′ BT (2.87)
có giá trị
⎡ 0.933 0.067 0.354 − 1.13⎤
⎢ 0.067 0.933 − 0.354 1.13 ⎥
A
T = ⎢ ⎥ (2.88)
B
⎢− 0.354 0.354 0.866 0.05 ⎥
⎢ ⎥
⎣ 0.0 0.0 0.0 1.0 ⎦

Nguyễn Hữu Cường Trang II.26


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
Một phép quay quanh một trục không đi qua gốc tọa độ làm thay đổi vị trí, thêm vào đó
hướng cuối cùng vẫn như vậy nếu trục quay đã đi qua gốc tọa độ. Chú ý rằng ta đã sử dụng
mô tả của {A’} và {B’} vì gốc của chúng nằm trên trục quay. Việc chọn hướng của ta là tùy
ý, việc chọn vị trí của gốc tọa độ là một trong vô số khả năng lựa chọn nằm dọc theo trục
quay. Ngoài ra, xem Bài tập 2.14.
Các thông số Euler
Một cách biểu diễn hướng khác là dựa vào bốn chữ số được gọi là các thông số Euler. Mặc dù
phần này hoàn toàn nằm ngoài phạm vi quyển sách, nhưng ta vẫn đề cập quy ước này ở đây
để tham khảo.
Từ trục quay tương đương Kˆ = k x [ ky ]T
k z và góc quay tương đương θ, các thông số Euler
có được
θ
ε1 = k x sin
2
θ
ε 2 = k y sin
2
(2.89)
θ
ε 3 = k z sin
2
θ
ε 4 = cos
2
Rõ ràng bốn đại lượng này không độc lập nhau, nhưng
ε12 + ε 22 + ε 32 + ε 42 = 1 (2.90)
phải luôn luôn đúng. Do đó, một hướng có thể hình dung như một điểm trên một siêu mặt cầu
(hypersphere) trong không gian bốn chiều.
Đôi khi, các thông số Euler được coi như một vector 3 x 1 cộng với một đại lượng vô hướng.
Tuy nhiên, khi xem chúng như một vector 4 x 1, các thông số Euler cũng được biết như một
bộ tứ đơn vị (unit quaternion).
Ma trận quay, Rε, tương đương với bộ thông số Euler được cho như sau
⎡ 1 − 2ε 22 − 2ε 32 2(ε 1ε 2 − ε 3ε 4 ) 2(ε 1ε 3 + ε 2ε 4 )⎤
⎢ ⎥
Rε = ⎢2(ε 1ε 2 + ε 3ε 4 ) 1 − 2ε 12 − 2ε 32 2(ε 2ε 3 − ε 1ε 4 ) ⎥ (2.91)
⎢ 2(ε 1ε 3 − ε 2ε 4 ) 2(ε 2ε 3 + ε 1ε 4 ) 1 − 2ε 12 − 2ε 22 ⎥
⎣ ⎦
Cho một ma trận quay, các thông số Euler tương đương là
r32 − r23
ε1 =
4ε 4
r13 − r31
ε2 =
4ε 4
(2.92)
r −r
ε 3 = 21 12
4ε 4
1
ε4 = 1 + r11 + r22 + r33
2
Chú ý rằng (2.92) không có ích khi sử dụng máy tính nếu ma trận quay biểu diễn một phép
quay 180 độ quanh trục nào đó, vì ε4 tiến về không. Tuy nhiên, nó cho thấy rằng giới hạn của

Nguyễn Hữu Cường Trang II.27


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
tất cả biểu thức trong (2.92) vẫn không đổi trong trường hợp này. Thực tế, nhớ các mô tả
trong (2.89), rõ ràng tất cả εi vẫn nằm trong khoảng [-1, 1].

2.9 Phép biến đổi free vetor


Ta đã đề cập phần lớn đến vector vị trí trong chương này. Trong những chương sau ta sẽ thảo
luận về các vector vận tốc và lực. Những vector này sẽ biến đổi khác nhau vì chúng là một
dạng vector khác.
Trong cơ học có một khác biệt giữa sự bằng nhau và tương đương của các vector. Hai vector
bằng nhau nếu chúng có cùng chiều, độ lớn, và hướng. Hai vector bằng nhau có thể có các
đường tác động khác nhau, thí dụ, ba vector bằng nhau trong Hình 2.21. Các vector vận tốc
này có cùng chiều, độ lớn, và hướng, và bằng nhau theo như định nghĩa của ta.

V1 V3

V2


Hình 2.21 Các vector vận tốc đồng nhất
Hai vector tương đương trong một hoàn cảnh nào đó nếu mỗi vector tạo ra hiệu ứng rất giống
trong hoàn cảnh đó. Do đó, nếu tiêu chuẩn trong Hình 2.21 là khoảng cách di chuyển, thì cả
ba vector cho kết quả giống nhau và do đó tương đương trong hoàn cảnh này. Nếu tiêu chuẩn
là chiều cao trên mặt phẳng xy, thì các vector không tương đương mặc dù chúng bằng nhau.
Do đó, mối liên hệ giữa vector và khái niệm tương đương phụ thuộc hoàn toàn vào điều kiện
đang xét. Hơn nữa, những vector không bằng nhau có thể gây ra những hiệu ứng tương đương
trong trường hợp nào đó.
Ta định nghĩa hai dạng đại lượng vector cơ bản có thể có ích.
Line vetor chỉ một vector cùng chiều và độ lớn, cũng phụ thuộc vào đường tác động của nó
cho đến xác định các hiệu ứng của nó. Thông thường hiệu ứng của một vector lực phụ thuộc
vào đường tác động của nó (hoặc điểm đặt), và do đó nó được xem là một line vector.
Free vector chỉ một vector có thể được đặt bất cứ đâu trong không gian cũng không đánh mất
hay thay đổi giá trị đã có tức là giữ được độ lớn và hướng .
Thí dụ, một vector thuần moment luôn là một free vector. Nếu ta có một vector moment, BN,
được biết theo {B}, thì ta tính moment theo hệ tọa độ {A} như sau
A
N = BAR B N (2.93)
Mọi thứ đều không đổi kể cả độ lớn và hướng (trong trường hợp của free vector), chỉ có ma
trận quay tương đối hai hệ thống được dùng trong biến đổi. Vị trí tương đối của các gốc tọa
độ không đưa vào phép tính.
Tương tự như vậy, một vector vận tốc được viết theo {B}, BV, được viết theo {A} là
A
V = BAR B V (2.94)

Nguyễn Hữu Cường Trang II.28


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
Vận tốc của một điểm là một free vector, quan trọng là hướng và độ lớn của nó. Toán tử quay
(như trong (2.94)) không ảnh hưởng đến độ lớn, và thực hiện phép quay thay đổi mô tả của
vector từ {B} sang {A}. Chú ý rằng, A PBORG xuất hiện trong phép biến đổi vector vị trí, không
xuất hiện trong phép biến đổi vận tốc. Thí dụ, trong Hình 2.22, nếu BV = 5 Xˆ , thì AV = 5Yˆ .

{B} ŶB
YˆA
V

Ẑ A
X̂ B {A}
X̂ A

Ẑ B

Hình 2.22 Phép biến đổi vận tốc


Các vector vận tốc và vector lực và moment sẽ được giới thiệu đầy đủ trong Chương 5.

2.10Các lý do sử dụng máy tính


Tiện ích của máy tính giá rẻ là nguyên nhân lớn đối với sự phát triển của công nghiệp robot;
đến một lúc nào đó, hiệu suất của việc sử dụng máy tính sẽ đóng vai trò quan trọng trong thiết
kế hệ thống tay máy.
Trong khi phép biểu diễn thuần nhất tiện lợi như một phép tính dựa trên khái niệm, thì phần
mềm biến đổi đặc thù dùng trong các hệ tay máy công nghiệp không sử dụng chúng vì lãng
phí thời gian thực hiện phép nhân với 0 và 1. Thông thường, các phép tính trình bày trong
(2.14) và (2.45) được thực hiện nhiều hơn phép nhân thuận hay nghịch đảo các ma trận 4 x 4.
Để thực hiện các phép biến đổi này có thể mất một lượng phép tính lớn đòi hỏi tính toán cùng
đại lượng. Xét phép nhân quay một vector, như trong
A
P = BAR CB R DC R D P (2.95)
A
Một lựa chọn là trước tiên nhân ba ma trận quay với nhau, để có D R trong biểu thức
A
P = DAR D P (2.96)
Để có được DA R từ ba thành phần của nó đòi hỏi 54 phép nhân và 36 phép cộng. Thực hiện
phép nhân toàn bộ ma trận-vector của (2.96) đòi hỏi bổ sung 9 phép nhân và 6 phép cộng,
tổng cộng là 63 phép nhân, 42 phép cộng.
Nếu thay vào đó ta biến đổi vector bằng mỗi ma trận tại một thời điểm, tức là
A
P = BAR CB R DC R D P
A
P = BAR CB R C P
(2.97)
A
P = BAR B P
A
P = AP
tổng cộng chỉ yêu cầu 27 phép nhân và 18 phép cộng, ít hơn phân nửa số phép toán yêu cầu
trong cách khác.

Nguyễn Hữu Cường Trang II.29


Tài liệu tham khảo (Bản nháp) - Kỹ thuật robot
A B C
Dĩ nhiên, trong một số trường hợp, các mối liên hệ B R, C R và D R có thể không đổi, và có
D A
nhiều Pi cần được biến đổi sang Pi . Trong trường hợp đó, tính DA R hiệu quả hơn, và sau
đó dùng nó cho tất cả phép ánh xạ trong tương lai. Xem Bài tập 2.16.
----------------------------------------- Thí dụ 2.10
A
Cho một phương pháp tính tích của hai ma trận quay, B R CB R , sử dụng ít hơn 27 phép nhân và
18 phép cộng.
B
Gọi L̂i là các cột của C R , và Ĉi là ba cột của kết quả, tính

Cˆ1 = BARLˆ1
Cˆ = ARLˆ
2 B 2 (2.98)
Cˆ 3 = Cˆ1 × Cˆ 2
yêu cầu 24 phép nhân và 15 phép cộng.

Bài tập

2.1 Một vector A P được quay quanh Ẑ A góc θ và rồi sau đó được quay quanh X̂ A góc φ.
Cho biết ma trận quay thực hiện các phép quay này theo thứ tự đã biết.
2.2 Một vector A P được quay quanh YˆA góc 300 và rồi sau đó được quay quanh X̂ A góc
450. Cho biết ma trận quay thực hiện các phép quay này theo thứ tự đã biết.
2.3 Một hệ tọa độ {B} được định vị như sau: ban đầu trùng với một hệ tọa độ {A} ta quay
{B} quanh Ẑ B góc θ và sau đó ta quay hệ tọa độ có được quanh X̂ B góc φ. Cho biết ma
trận quay làm thay đổi mô tả của các vector từ B P sang A P .
2.4 Một hệ tọa độ {B} được định vị như sau: ban đầu trùng với một hệ tọa độ {A} ta quay
{B} quanh Ẑ B góc 300 và sau đó ta quay hệ tọa độ có được quanh X̂ B góc 450. Cho biết
ma trận quay làm thay đổi mô tả của các vector từ B P sang A P .
2.5 A
B R là một ma trận 3 x 3 với các trị riêng 1, e+αi, và e-αi, trong đó i = − 1 . Ý nghĩa vật
A
lý của vector riêng của B R kết hợp với trị riêng 1 là gì?
2.6 Xác định biểu thức (2.80).
2.7 Mô tả (hoặc lập trình) một thuật toán xác định góc và trục quay tương đương của một ma
trận quay. Biểu thức (2.82) là một xuất phát tốt, nhưng phải đảm bảo rằng thuật toán của
bạn bao gồm các trường hợp đặc biệt θ = 00 và θ = 1800.
2.8

Nguyễn Hữu Cường Trang II.30

You might also like