CÁC PHƯƠNG PHÁP MÔ TẢ VỊ TRÍ ROBOT

Nguyễn Phùng Quang

Pḥng TN trọng điểm về tự động hoá - Trường ĐHBK Hà Nội

 

Điều khiển robot công nghiệp (Industrial Robots) là một lĩnh vực phong phú, đa dạng với rất nhiều mảng vấn đề khác nhau. Loạt bài viết này sẽ không đi vào chiều sâu của từng vấn đề, mà chỉ nhằm đem lại cho bạn đọc, đặc biệt là các bạn sinh viên, một cách nh́n đầy đủ về các mảng vấn đề cần biết, cần học và những kiến thức cơ bản. Loạt bài này lần lượt tŕnh bày theo thứ tự: các phần tử của robot cồng nghiệp, các phương pháp mô tả vị trí robot, chuyển đổi giữa các hệ toạ độ, các dạng chuyển động và vấn đề nội suy, lập tŕnh robot, mô h́nh động học, điều chỉnh robot.

             Phần 2 của loạt bài viết nhằm đưa lại cho người đọc một cách nh́n tổng thể về phương pháp mô tả vị trí bàn tay (Effector) có các ngón tay (Grippers) của RBCN với 2 mảng vấn đề chính:

+ Các vấn đề cơ sở về mô tả vị trí của RBCN: bao gồm các khái niệm về hệ toạ độ, vector mở, vector vị trí, ma trận quay, ma trận hướng Efector và bậc tự do  của Effector

+ Quy ước Denavit – Hartenberg: để mô tả đầy đủ vị trí của RBCN, hiện tại ta thường sử dụng các quy ước Denavit – Hartenberg, trong đó toàn bộ RBCN được coi là một chuỗi chuyển động mở (Open Kinematic Chain).

 

  1. Các vấn đề cơ sở về mô tả vị trí của Robot công nghiệp     

1.Hệ toạ độ

Để mô tả vị trí của bàn tay (Effector) và các khúc tay, ta thường sử dụng hệ toạ độ Đề-các  (Cartesian Coodinate System) với 3 trục xyz vuông góc với nhau như h́nh 1a. Gốc toạ độ chính là giao điểm của 3 trục. H́nh 1b,c quy ước ciều của trục (hay của mũ tên) khi trỏ vào hay trỏ ra khỏi mặt phẳng.

 

 

••  Mũi tên trỏ ra khỏi mặt phẳng

  Mũi tên trỏ vào mặt phẳng

H́nh 1: hệ toạ độ Dề-các

 

2.Khái niệm vector mở

                  Để khai báo vận tốc của một vật điểm (ví dụ: trọng tâm của một khúc tay) tai một thời điểm bất ḱ, ta cần biểu diễn được cả giá trị của vận tốc lẫn hướng chuyển động của vật điểm bằng cách sử dụng vector mở v (h́nh 2, trái). Nói chung, việc khai báo tất cả các đại lượng vật lư có hướng đều có thể sử dụng phương thức này để biểu diễn. Chiều dài của mũi tên chính là giá trị (kích cỡ) của vector

 

 

 

 

H́nh 2: vector mở

H́nh chiếu của vector xuống 3 trục toạ độ (h́nh 2, giiữa) chính là các thành phần của vector (h́nh 2, phải) và có thể được viết đưới dạng sau:

                                             

Ta gọi đó là vector cột, viết dưới dạng chuyển vị. Giá trị của vector được tính bởi:

                                                             (1)

Vector u sở hữu vector đơn vị eu là vector có giá trị 1 và đẳng hướng với u (h́nh 3a) và có thể được viết dưới dạng như sau:

                                                            (2)

H́nh 3: a, Vector hướng                   b, Các vector đơn vj của hệ toạ độ

                  Các vector đơn vị của một hệ toạ độ là các vector hướng đặc biệt (h́nh 3b). Một RBCN luôn cần sử dụng đến nhiều hệ toạ độ. H́nh 3b minh hoạ hệ toạ độ bất kỳ Ci với các vector đơn vị của hệ, được viết như sau:

; ; ;                       (3)

  Ta có thể thực hiện cộng trừ các vector, bằng cách cộng trừ từng thành phần (h́nh 4b,c).

;                                  (4)

Phép nhân vector với một biến vô hướng (Scalar) k được thực hiện bằng phép nhân biến đó với từng thành phần của vector.

                                            (5)

Sau phép nhân (5), vector giữ nguyên hướng ban đầu và chi thay đổi về giá trị với hệ số k.

 

 

H́nh 4 : tính toán với vector:     

a, đảo dấu         b, cộng             c, trừ

              Đối với vector có thế thực hiện phép nhân vector (Cross Product) và phép nhân vô hướng (Scalar Product). Để minh hoạ ta hăy theo dơi ví dụ ở h́nh 5.

     

H́nh 5: Vector mômen quay: Ví dụ minh hoạ tích 2 vecto

 

                    Một lực bên ngoài fex tác động tới RBCN có khớp quay, tạo nên tại điểm G một mômen quay n, có hướng và giá trị phụ thuộc vào 2 vector fex và r. Vector n đứng vuông góc với mặt phẳng do fex và r tạo nên, có giá trị . Giá trị và hướng của mômen được mô tả đầy đủ qua phép nhân vector n = r x fex. Một cách tổng quát, phép nhân 2 vector được viết như sau:

U3  = U1 x U2  ;                                 (6)

 

                   U3 đứng vuông góc với mặt phẳng do U1 và U2 tạo nên. Để xác định hướng ta áp dụng nguyên tắc bàn tay phải (nguyên tắc vặn tuốc – nơ – vít): nếu chiều quay của tuốc – nơ – vít ứng với chiều từ U1 sang U2, hướng của mũi tuốc – nơ – vít chính là hướng của U3 (h́nh 6)

a,                                                            b,

 

H́nh 6: a) tích vector có hướng                 b) tích vô hướng của vector

               Tích vô hướng của 2 vector U1 và U2 là giá trị thu được khi nhận h́nh chiếu của U1 xuống U2 và nhân với giá trị của U2 (h́nh 6b), với điều kiện: cả 2 vector có chung điểm xuất phát. Ta có thể tính tích vô hướng từ các thành phần của 2 vector.

                          (7)

Từ đó có thể tính giá trị cosin của góc Ө xen giiữa 2 vector.

                 (8)

3.Khái niệm vector vị trí

           Vị trí điểm p được mô tả một cách chính xác trong hệ toạ độ Đề -các nhờ công cụ vector vị trí p, bắt đầu từ gốc toạ độ và kết thúc ở điểm p. H́nh 7 minh hoạ ví dụ mô tả vị trí của TCP(Tool Cennter Poi) trên hệ toạ độ độc lập.

 

 

H́nh 7: Vector vị trí của Tool Center Poit (TCP)

              Lập tŕnh viên robot sẽ khai báo vị trí mong muốn của TCP bởi các tạo độ Xo, Yo, Zo của vector Po trong môi trường công tác (hệ toạ độ Co). Dễ dàng thấy rằng, vector vị trí Pi mô tảvị trí của TCP trên hệ toạ độ bất kỳ Ci hoàn toàn khác với Po.

Đến đây bạn đọc mới chỉ tiếp cận với các vector có 3 thành phần, được minh hạo dễ dàng bằng h́nh học. Sau này, ta sẽ phải rời bỏ tư duy h́nh học này và quay lại vớ vector cột tổng quát có n phần tử, ví dụ: bao gồm đầy đủ các toạ độ khớp (góc khớp, quăng đường tịnh tiến vv…) của một RBCN.

 

4.Ma trận quay   

             Đối với một RBCN bao giờ ta cũng cần định nghĩa nhiều hệ toạ độ khác nhau và một vector mở có thể được mô tả trên tất cả các hệ toạ độ đó. Ta có thể quan sát ví dụ khúc tay bất ḱ của một robot (h́nh 8).

 

 

H́nh 8: Vận tốc chuyển động thẳng Vsk thuộc 2 hệ toạ độ

                

              Điểm đặc trưng của khúc tay đó (ví dụ: trọng tâm) chuyển động với vận tốc tuyệt đối (so với mặt đất đứng im, hệ toạ độ Co) với vận tốc cụ thể 0,8m/s. Giá trị và hướng của vận tốc được mô tả bởi vector vận tốc Vsk. Bên cạnh hệ toạ độ Co đứng im, ta c̣n có hệ toạ độ Ck gắn với phần khúc tay chuyển động. Trục Xk của hệ đó nằm dọc theo chiều dài cánh tay và lệch so với chiều dài của Xo một góc 300  ở thời điểm quan sát. Nếu Vsk được biểu diễn trên Co ta có Vsk(k) = 0.8,0,0)Tm/s, và trên Ck lại là Vsk(k)  = (0.8cos300 , -0.8 sin300,0)T m/s = (0.6928, -0.4,0)T m/s. Chỉ số k nằm trong ngoặc đơn, bên phải – phía trên của vector nhằm trỏ vào hệ tạo độ đang được sử dụng. Thực chất bản chất của vector Vsk(k) là bất biến và không phụ thuộc vào hệ tạo độ.

Trong ví dụ ở h́nh 8 ta có thể tim được ma trận, giúp tính quy đổi một vector từ hệ toạ độ Ck và Co. Như h́nh 3b đă minh hoạ, vector đơn vị Xk có giá trị là 1. Ta dễ dàng chiếu Xk xuống các trục của Co và thu được Xk0 = (cos300 , 0 ,sin300 )T. Bằng cách tương tự ta chuyển Yk và Zk sang Co, từ đó thu được ma trận quay A cho 3 vector đơn vị như sau :

   =

Ma trận quay A ở trên mô tả rơ ràng vị trí quay tương đối của các vector đơn vị thuộc Ck so với Co. Vậy ta có thể viết:

            Ta có thể kết luận tổng quát về ví dụ trên: Nếu một vector bất kỳ a đựơc biểu diễn trên toạ độ bất kỳ Ck dưới dạng ak, ta có thể chuyển vector đó sang một hệ toạ độ Ci khác nhờ ma trận quay như sau:

                                                               (9)

          Ngược lại nếu a cho trước trên Ci, ta dễ dàng chuyển vector đó sang Ck.

               (10)

Ma trận nghịch đảo và ma trận chuyển vị của ma trận quay là giống hệt nhau. Có thể kiểm tra điều này qua ví dụ ở h́nh 8.

Nếu số lượng hệ toạ độ nhiều hơn 2, ta có:

 

                   (11)

H́nh 9: Biểu diễn một vector trên 3 hệ toạ độ khcá nhau

H́nh 9 minh hoạ công thức (11) thông qua ví dụ biểu diễn 1 vector trên 3 hệ toạ độ khác nhau. Ta có:

 

5. Ma trận hướng Effector

                Ở trên ta đă đề cập đến vị trí của TCP, được khai báo bởi vector Po. Tuy nhiên vector đó không mô tả hướng của Effector. Để mô tả ta định nghĩa một hệ toạ độ Cw riêng cho Effector (h́nh 10a), với các vector đơn vị Xw, Yw, Zw. Để khai báo đồng thời vị trí và hướng của Effector, cũng như tương quan giữa Cw và Co, ta sử dụng một ma trận hướng có kích cỡ 4x4 (c̣n được gọi là ma trận khung, frame) như sau:

                                          

Đương nhiên ta có thể định nghĩa một khung cho 2 hệ toạ độ bất ḱ Ci và Ck ( h́nh 10b).

                                                                           (1

 

H́nh 10: a) Khia báo vị trí và hướng của Effector       

       b) vị trí tương đối giữa 2 hệ toạ độ

             Ma trận khung (12) khai báo các vector đơn vị của hệ toạ độ Ck và vector vị trí từ gốc của Ci tới gốc của Ck bởi các toạ độ trên Ci. Nghĩa là vị trí Ck trên Ci được mô tả hoàn toàn đầy đủ.

           Nhờ ma trận hướng (12) ta có thể tính chuyển vector mở và vector vị trí một cách dễ dàng giữa các hệ toạ độ. Để làm được điều này ta bổ sung cho vector một phần tử thứ 4 có giá trị 0 và viết:

                                                         Ai =  ki T. ak

Ta hăy quan sát ví dụ chuyển vector a ở h́nh 11 từ hệ toạ độ Ck sang Ci

H́nh 11: ví dụ tính chuyển vector giữa các hệ toạ độ

 

Trước hết ta hăy khai báo khung theo công thức 12 và toạ độ của a trên Ck.

            ;

 

           

 

              Kết quả trên sẽ đơn giản hơn nếu ta dùng ma trận quay vector theo công thức (9). Lợi thế của khung (12) chỉ thể hiện khi chuyển vector vị trí. Để làm điều này ta cũng bổ sung thêm thành phần thứ 4 nhưng với giá trị 1 cho vector vị trí. Giả sử cho trước là vector vị trí Ukp từ gốc hệ toạ độ Ck tới điểm P, ta có thể tính vector vị trí của P so với gốc của Ci theo:

                                                                      (14)

            Ta lại lấy h́nh 11làm ví dụ minh hoạ. Cho trước là vector vị trí  ukkp = (-2, -1, 0, 1)T từ gốc của Ck tới P. Cần tính vector vị trí từ gốc của Ci tới P. Áp dụng công thức (14) ta có:

           

 

            Tại đây ta cần phải lưu ư: Một vector mở không thay đổi khi ta dùng ma trận quay (9) hay ma trận hướng (12) chuyển hệ toạ độ, chỉ có công thức mô tả vector mở thay đổi. Ngược lại 2 vector vị trí Ukp và Uip lại khác nhau cả về giá trị lẫn hướng. Nếu một vector mở hay vector vị trí bất ḱ w được cho trước trên Ci và cần t́m vector tương ứng trên Ck khi ấy ta có thể viết:

                               (15)

Đối với mỗi ma trận hướng đều tồn tại một ma trận hướng nghịch đảo như sau:

                              (16)

Trong (16) A là ma trận quay và Pik là vector vị trí từ gốc toạ độ Ci đến góc toạ độ Ck0 = (0, 0, 0). Nếu giữa Ci và Ck c̣n tồn tại nhiều hệ toạ độ khác, khi ấy ta có:

                          

            (17)

 

                Việc tính chuyển vector mở và vector vị trí giữa các hệ toạ độ khác nhau, được sử dụng rất nhiều trong kĩ thuật robot, đặc biệt giữa các hệ toạ độ khớp và hệ toạ độ gốc Co của môi trường công tác, cũng như khi tính toán động học.

 

6. Mô tả hướng bằng góc Euler

               Trong các phần trên ta đă sử dụng toạ độ của hệ gốc Co để mô tả (khai báo) vị trí và hướng của Effector bằng vector vị trí và bằng các vector đơn vị thuộc hệ toạ độ riêng của Effector. Với các tham số của Po (vị trí của TCP), Xw, Yw, Zw (h́nh 10a: hướng của Effector, sử dụng toạ độ của Co), người sử dụng sẽ phải dùng tới 9 tham số. V́ lẽ ấy để đơn giản hoá ta sử dụng phương thức góc Euler. Ư tưởng chủ đạo của phương thức này là: chỉ bằng 3 tham số, mô tả đầy đủ hướng của một hệ toạ độ bất ḱ Cw trong hệ toạ độ gốc, c̣n gọi là hệ toạ độ chuẩn Cr (Reference Coordinate System). Có thể diễn đạt bằng lời: hệ toạ độ Cw đă bị sai lệch thế nào so với Cr? Sự xoay lệch đó có thể được mô tả bởi 3 giá trị góc, c̣n gọi là góc Euler. Khi xoay lệch so với trục thứ nhất ta có hệ toạ C’. Nếu xảy ra sai lệch so với một trục của C’, ta có được C’’. Nếu lại có xoay lệch so với một trục của C’’, ta thu được Cw. Hiện có khá nhiều định nghĩa khác nhau, dưới đây ta tạm làm quen với 2 trong số đó.

+ Góc Euler Z-Y-Z

Đầu tiên ta h́nh dung ra một hệ toạ độ phụ theo hướng của hệ toạ độ chuẩn Cr.

            - Bước đầu hệ phụ đó bị xoay lệch đi một góc λ so với trục Zr của hệ chuẩn, sao cho trục y’ của hệ c’ ( mới xuất hiện) vuông góc với trục Zw của hệ toạ độ đích.

            - Tiếp theo ta xoay hệ C’ một góc β quanh trục Y’, sao cho trục Z’’ của hệ C’’ ( mới xuất hiện) đồng nhất với trục Zw

            - Cuối cùng ta xoay hệ C’’ một góc ҳ quanh trục Z’’=Zw sao cho toạ độ mới trùng với hệ toạ độ đích Cw.

+ Góc Euler Z-Y-X

Ta lại h́nh dung ra một hệ toạ độ phụ theo hướng của hệ toạ độ chuẩn Cr.

            - Đầu tiên ta xoay hệ phụ đi một góc A quanh trục Zr, ( nếu có thể được) sao cho trục X’ của hệ C’(mới xuất hiện) vuông góc với trục Zw của hệ toạ độ đích và có hướng càng giống với hướng Xw càng tốt.

            - Tiếp theo ta xoay hệ mới quanh trục Y’ một góc B, sao cho hệ mới C’’ có X’’ = Xw. B được tính theo chiều âm của Y’.

            - Cuối cùng ta xoay hệ C’’ một góc C quanh trục X’’ = Xw, sao cho hệ toạ độ mới trùng đúng với hệ toạ độ đích Cw.

Ta có ví dụ minh hoạ ở h́nh 12. Hệ toạ độ chuẩn ở đây là hệ đứng im trong môi trựng công tác Co. Ta cần phải xác định các góc Euler của hệ đích Cw hiện có vị trí như h́nh 12. Các góc Z-Y-Z thu được là      λ = 300,  β = 900, ҳ = 1800. H́nh 13 minh hoạ các hệ toạ độ phụ C’ và C’’. Cần lưu ư rằng, nếu thực hiện đúng các bước ta cũng có thể thu được các kết quả λ = -1500, ,  β = -900     ҳ = 00

 

H́nh 12 : ví dụ mô tả hướng bằng góc Euler

 

 

H́nh 13 Hệ toạ độ C’, C’’ của ví dụ ở h́nh 12 với góc Z-Y-Z

λ = 300,  β = 900, ҳ = 1800

 

 

H́nh 14: Hệ toạ độ C’, C’’ của ví dụ ở h́nh 12 với góc Z-Y-X

A = -600, B = 900 , C = -900=

 

Đến đây chắc chắn bạn đọc sẽ nhận xét và nêu câu hỏi về sự liên quan giữa các góc Euler và ma trận quay, là ma trận mô tả các vector đơn vị của hệ toạ độ đích Cw trong hệ toạ độ chuẩn Cr. Ma trận quay cần t́m chính là kết quả của phép nhân của 3 ma trận quay, mô tả 3 thao tác quay độc lập:

      

 

Xét trường hợp góc Z-Y-Z, để dễ dàng theo dơi ta quy ước 2 kư hiệu C = cos và S = sin. Từ đó ta viết:

 

               (18)

 

Nếu ngược lại R là cho trước, khi ấy ta có thể sử dụng vế phải của công thức (18) để tính các góc Euler.

Đối với các góc A, B ,C thuộc loại Z-Y-X ta có:

 

                    (19)

 

7.Bậc tự do của Effector

Bậc tự do f của một vật cho biết số khả năng chuyển động mà một vật cứng có thể thực hiện trong một hệ toạ độ chuẩn. f đồng nghĩa với số lượng khai báo tối thiểu (toạ độ), cần thiết để mô tả vị trí (biến thiên) trong không gian. Một vật chỉ có thể chuyển động trên một mặt phẳng (h́nh 15a) sẽ có bậc tự do là 3. Điểm của vật ở phía tiếp xúc với mặt phẳng sẽ được mô tả bởi vector có vị trí 2 toạ độ. Ngoài ra, vật c̣n có thể quay xung quanh trục vuông góc với mặt phẳng tại điểm P. Bằng góc quay và 2 toạ độ, vị tí của vật được mô tả một cách đầy đủ.

Một vật cứng nếu cần chuyển động tự do trong không gian sẽ phải có bậc tự do là 6 (h́nh 15b). Ví dụ điểm P (ví dụ trọng tâm của vật) được định nghĩa bởi 3 thành phần của vector vị trí P, phản ánh 3 bậc tự do của chuyển động tịnh tiến. Ngoài ra vật c̣n có thể quay xung quanh 3 trục mà không hề làm thay đổi vị trí của điểm P, đó là 3 bậc tự do của chuyển động quay. Chúng mô tả hướng của vật so với hệ toạ độ gốc (hệ toạ độ chuẩn).

   

a,                                                        b,

H́nh 15: Bậc tự do của một vật thể: a, Chuyển động trên 1 mặt phẳng

b,Chuyển động trong không gian

V́ lẽ trên , Effector sẽ được coi là vật thể cứng với bậc tự do là 6 trong không gian. Điểm TCP ứng với điểm P trong h́nh 15b. Vị trí của Effector được định nghĩa bởi vector P (xem thêm h́nh 10a). Điểm đỉnh của P không nhất thiết thuộc về vật, nhưng phải gắn cố định với vật. Hưóng của vật được khai báo bởi 3 góc Euler. Nếu người sử dụng RBCN chỉ có thể đạt tới tư thế (gồm cả vị trí và hướng) mong muốn đó khi RBCN có ít nhất 6 khớp được bố trí thích hợp

 

EYETECK.VN

Theo TĐHNN - BKHN