4.1. GIỚI THIỆU
Robot là một thiết bị cơ điện tử nhằm thực hiện công việc trong không gian dưới sự điều khiển của máy tính. Robot khi hoạt động có thể di chuyển một khối lượng tải hoặc di chuyển các bộ phận của chính bản thân robot để thực hiện công việc yêu cầu. Để biểu diễn toán học một robot, hệ trục tham chiếu thường gắn tại một điểm để từ đó có thể xác định mối quan hệ với robot. Mỗi khâu của robot được gắn với một hệ trục tham chiếu nhằm mục đích bám theo vị trí và hướng của khâu và mô hình hóa toàn bộ hệ thống robot. Trong phần này sẽ nghiên cứu di chuyển của robot không quan tâm đến lực cũng như kết quả của nó.
Muốn robot di chuyển đòi hỏi phải có các chuyển động các bộ phận trên robot hoặc cơ cấu chấp hành cuối thông qua việc kích hoạt cho các khớp chuyển động. Các cảm biến khớp đo góc quay với khớp quay và khoảng cách trượt của khớp tịnh tiến và cho phép bộ điều khiển tính toán giá trị điều khiển một cách chính xác để điều khiển các cơ cấu chấp hành.
Trong chương này, việc tính toán ma trận vị trí và hướng từ các biến khớp cũng như mối quan hệ này theo chiều ngược lại được gọi là bài toán động học thuận và động học nghịch.
4.2. BIỂU DIỄN DENAVIT – HARTENBERG CỦA BÀI TOÁN ĐỘNG HỌC ROBOT
Vào năm 1955, Denavit và Hartenberg đăng tải một bài báo của tạp chí Cơ học ứng dụng ASME (Journal of Applied Mechanics). Từ các phương pháp giải trong bài báo này, việc ứng dụng phương pháp giải quyết bài toán được đưa vào biểu diễn và mô hình hóa robot và để tìm ra phương trình di chuyển. Phương pháp này trở thành phương pháp tiêu biểu để biểu diễn robot và mô hình hóa các chuyển động của nó. Mô hình hóa Denavit-Hartenberg (Viết tắt là phương pháp D-H) là cách biểu diễn đơn giản mô hình các khâu và khớp của robot và có thể sử dụng cho bất cứ cấu hình robot nào, kể cả bài toán phức tạp hay đơn giản. Và chúng có thể dùng phương pháp này để biểu diễn cho bất kỳ hệ trục tọa độ nào như: Descartes, trụ, cầu, Euler, RPY,… Thêm vào đó, nó có thể sử dụng để biểu diễn cho tất cả Robot mà chúng ta có thể gặp trong công nghiệp và robot dịch vụ, robot biến hình. Mặc dù, chúng ta có thể giải các bài
toán đơn giản bằng phương pháp ma trận thuần nhất hay hình học nhưng với việc biểu diễn D-H chúng ta còn có thể sử dụng kết quả của nó cho các bài toán như bài toán Jacobi, phân tích lực, độ cứng,…
Giả sử robot là một chuỗi các khâu và các khớp nối tiếp. Các khớp này có thể là khớp trượt (tịnh tiến) hay khớp trụ (quay), và chúng có thể sắp xếp theo bất kỳ thứ tự nào và có thể nằm trong bất kỳ mặt phẳng nào.
Các khâu cũng có chiều dài bất kỳ kể cả bằng 0, có thể xoắn hoặc cong.
Vì vậy, bất kỳ một tập hợp các khâu, các khớp đều có thể tạo thành một cấu hình robot và chúng ta đều có thể giải quyết các vấn đề đối với nó thông qua việc mô hình hóa.
Để làm được việc này, cần phải gắn một hệ trục tham chiếu tới mỗi khớp và sau đó xác định sự chuyển vị từ khớp này đến khớp kế tiếp. Nếu kết hợp tất cả các chuyển vị từ bệ đến khớp thứ nhất, từ khớp thứ nhất đến khớp thứ hai và cứ tiếp tục cho đến khi tới khớp cuối cùng chúng ta sẽ có ma trận chuyển vị tổng cộng. Ở phần dưới này, chúng ta sẽ xác định giải thuật tổng quát dựa vào biểu diễn D-H để gắn các hệ trục tham chiếu lên mỗi khớp. Sau đó xác định chuyển vị giữa hai hệ trục kế tiếp nhau. Cuối cùng sẽ có được ma trận chuyển vị của robot.
Zn-1
qn
Khâu n
Khớp n
Khớp n+1
Khâu n+1
Khớp n+2
Zn+1
an+1
xn+1
qn+1 an+1
qn+2
an
Zn
yn
xn
Song song với trục Zn-1
an
dn+1
Hình 4.1: Mô hình hóa khâu và khớp theo D-H
Giả sử robot được thiết kế với một số lượng các khâu, các khớp tùy ý và có thể bố trí bất kỳ. Hình 4.1 biểu diễn ba khâu kế tiếp nhau với hai khớp. Các khớp này có thể là khớp tịnh tiến hay khớp quay hoặc có thể là cả hai. Trong thực tế, việc thiết kế robot thường là khớp bậc 5 để dễ dàng
điều khiển nhưng trong hình vẽ thường biểu diễn các khớp này có hai bậc tự do. Mỗi khớp trong mô hình hóa có thể quay hoặc tịnh tiến, giả sử ta đánh số n cho khớp thứ nhất trong hình 4.1, n+1 cho khớp thứ hai và n+2 cho khớp thứ ba. Như vậy có thể hiểu rằng: trước và sau ba khớp này có thể có rất nhiều khớp khác tác động và gắn lên hệ thống robot. Mỗi khâu cũng sẽ được đánh số, khâu n sẽ nằm giữa khớp n và khớp n+1, khâu n+1 sẽ nằm giữa khớp n+1 và n+2.
Để mô hình hóa robot với sự biểu diễn D-H, việc đầu tiên cần làm là gắn một hệ trục tham chiếu địa phương lên mỗi và mọi khớp. Vì vậy, mỗi khớp chúng ta sẽ phải gắn trục z và trục x. Chúng ta không nhất thiết phải gắn trục y vì chúng ta có thể xác định trục y theo tam diện thuận mà hệ trục tham chiếu có được. Ngoài ra vì biểu diễn D-H không cần thiết sử dụng trục y. Quá trình gắn hệ trục tham chiếu địa phương lên mỗi khớp như sau:
Tất cả mọi khớp đều được biểu diễn theo trục z. Nếu khớp là khớp quay, trục z sẽ được xác định theo hướng dịch chuyển tạo ra do sự quay theo quy tắc bàn tay phải. Nếu khớp là khớp tịnh tiến, trục z của khớp sẽ dọc theo hướng di chuyển. Và cách đánh số trục z của khớp n là n-1. Như vậy, trục z biểu diễn khớp n+1 là zn. Với quy tắc đơn giản này sẽ giúp chúng ta nhanh chóng gắn trục z lên mọi khớp. Như vậy khi khớp quay, góc quay quanh trục z sẽ là một biến khớp (q hoặc a hoặc …) còn đối với khớp tịnh tiến thì chiều dài của khâu dọc theo trục z biểu diễn bởi thông số d sẽ là biến khớp.
Với việc mô hình hóa không nhất thiết là các khớp phải song song hay giao nhau. Trong mô hình đưa ra, trục z là những đường thẳng chéo nhau. Như vậy luôn tồn tại một đường thẳng vuông góc chung giữa các trục z này, đây chính là khoảng cách ngắn nhất giữa hai trục z. Hệ trục tham chiếu địa phương phải luôn được gắn theo hướng đường vuông góc chung này. Nếu gọi an biểu diễn khoảng cách dường vuông góc chung giữa trục zn-1 và trục zn thì hướng của trục xn sẽ dọc theo hướng của đoạn an. Tương tự vậy, nếu đường vuông góc chung giữa zn và zn+1 là an+1, hướng của trục xn+1 sẽ dọc theo an+1. Đường vuông góc chung của các khớp kế tiếp nhau không nhất thiết phải giao nhau hay trùng nhau. Các gốc tọa độ các hệ trục không cần trùng nhau. Dựa vào những vấn đề mô hình hóa và gắn các hệ trục tọa độ ngoại trừ những trường hợp đặc biệt chúng ta có thể gắn các hệ trục tọa độ lên mọi khớp. Nếu hai trục z song song với nhau, có vô số đường vuông góc chung thì chúng ta sẽ lấy đường vuông góc chung của khớp trước. Còn nếu trục z của hai khớp giao nhau, không có đường vuông góc chung giữa chúng (chiều dài là bằng 0) chúng ta sẽ gắn trục x dọc theo đường vuông góc với mặt phẳng
hình thành bởi hai trục này. Điều này có nghĩa là đường vuông góc chung là đường thẳng vuông góc với mặt phẳng chứa hai trục z và hướng sẽ là hướng của tích hữu hướng của hai trục z này.
Như vậy, q biểu diễn sự quay xung quanh trục z, d biểu diễn khoảng cách trên trục z giữa hai đường vuông góc chung, a biểu diễn chiều dài của đoạn vuông góc chung còn gọi là đoạn dịch chuyển của khớp – joint offset), a biểu diễn góc giữa hai trục z kế tiếp nhau (góc xoắn). Thường chỉ có d và q là biến khớp.
Bước kế tiếp cần di chuyển các sự chuyển vị từ hệ trục tọa độ này đến hệ trục tọa độ kế tiếp. Giả sử ở hệ trục tọa độ địa phương xn-zn chúng ta sẽ tạo bốn dịch chuyển tiêu chuẩn để di chuyển hệ trục này tới hệ trục xn+1-zn+1 là:
Quay xung quanh trục zn một góc qn+1, sau khi quay xong các trục xn và xn+1 sẽ song song với nhau bởi vì an và an+1 đều vuông góc với zn và quay quanh zn một góc qn+1 sẽ làm chúng song song.
Tịnh tiến dọc trục zn một đoạn dn+1 làm cho xn và xn+1 trùng nhau.
Rõ ràng khi xn và xn+1 song song và vuông góc zn, như vậy, khi di chuyển dọc theo zn thì chúng sẽ trùng với nhau.
Di chuyển dọc theo trục xn một khoảng an+1 sẽ mang gốc tọa độ n và n+1 trùng với nhau. Ở điểm này, hai gốc tọa độ của hai hệ trục tham chiếu sẽ ở cùng một điểm.
Quay trục zn xung quanh trục xn+1 một góc an+1 để trục zn nằm thẳng với trục zn+1. Ở điểm này, hệ trục n và hệ trục n+1 sẽ hoàn toàn trùng với nhau. Và chúng ta sẽ tiếp tục di chuyển từ hệ trục này tới hệ trục kế tiếp.
Tương tự bốn chuyển động giữa hệ trục n+1 và n+2 sẽ tạo nên chuyển vị tiếp theo. Bắt đầu từ hệ trục tham chiếu, ta sẽ tạo nên chuyển vị tới bệ robot, sau đó, tới khớp thứ nhất, thứ hai và cuối cùng tới tay gắp hay cơ cấu chấp hành cuối.
Ma trận A biểu diễn bốn di chuyển bằng cách nhân bốn ma trận biểu diễn từng chuyển động, kết quả như sau:
) , ( ) 0 , 0 , ( ) , 0 , 0 ( ) ,
( 1 1 1 1
1
1
n n n n n
n
nT A R z q xT d xT a xR x a
1 0 0
0
0 0
0 0
0 0 0
1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0
0 0
1 1
1 1
1
1 1
1
1 1
n n
n n
n
n n
n
n n
c s
s x c
a d x
c x s
s c
a a
a a
q q
q q
(4.1)
Với bệ Robot, có thể bắt đầu với khớp thứ nhất và chuyển về khớp thứ hai, sau đó đến khớp thứ ba… tới bệ dụng cụ của Robot hoặc cơ cấu khâu cuối. Mỗi ma trận chuyển vị là . Như vậy, ma trận chuyển vị tổng giữa nền Robot và cánh tay là:
(4.2)
Với n là số khớp. Với Robot có sáu bậc tự do thì có sáu ma trận. Để tính toán được ma trận A chúng ta phải lập ra bảng các tham số khớp và khâu với các giá trị biểu diễn mỗi khớp và khâu được xác định từ bảng vẽ hay cấu hình Robot.
Giải thuật gắn hệ trục lên Robot
Bắt đầu đánh số từ số 0 đến số n (với n là số khâu của Robot) và bệ Robot sẽ được đánh số 0.
Mỗi hệ trục gắn ở mỗi khâu và phải luôn tuân theo quy tắc bàn tay phải.
Hệ trục tọa độ của bệ được gắn song song với hệ trục tham chiếu.
Gốc của hệ trục tọa độ này được gắn trùng với gốc của khớp 1. Với giả thiết là trục khớp 1 vuông góc với mặt phẳng xy.
Hệ trục tọa độ gắn trên khâu của Robot được gắn tại khớp xa hơn so với bệ của mỗi khâu. Vì vậy, chúng ta sẽ thấy hệ trục tọa độ số 1 sẽ gắn tại khớp số 2 (khớp này nối giữa khâu 1 và khâu 2).
Gốc của hệ trục tọa độ đặt tại giao điểm của đường vuông góc chung của các trục khớp với nhau. Nếu các trục khớp song song với nhau thì vị trí của gốc của hệ trục tọa độ được lựa chọn sao cho khoảng cách giữa các khâu bằng 0 hoặc nhỏ nhất nếu có một khoảng dịch chuyển giữa các khâu. Nếu các trục khớp giao nhau thì gốc tọa độ sẽ đặt tại điểm giao nhau của các trục.
Trục z trùng với trục khớp. Nếu khớp tịnh tiến hướng trục z sẽ là hướng di chuyển đi xa từ khớp. Nếu là khớp trụ, hướng trục z xác định là hướng dương theo hướng quay trục z (theo người thiết kế) hoặc theo hướng lựa chọn sao cho góc xoắn nhỏ nhất.
Trục x sẽ song song với đường vuông góc chung giữa các trục khớp của khâu. Trong trường hợp các trục khớp song song với nhau trục x sẽ trùng với đường tâm của khâu. Nếu các trục giao nhau không có
1 0
0 0
0 1 1 1
1 1 1 1 1
1 1
1 1 1 1 1
1 1
n n
n
n n n n n
n n
n n n n n
n n
d c
s
s a s
c c
c s
c a s
s c
s c
a a
q a
q a
q q
q a
q a
q q
1
An
n n
n R
H
RT T1 1T22T3... 1T A1.A2A3...A
đường vuông góc chung trục x sẽ là tích vector của hai vector zn-1 và zn. Trong nhiều trường hợp trục x sẽ có hướng như trục x của khâu trước (như ở hệ trục tọa độ số 0).
Bảng 4.1: Bảng tham số Denavit – Hartenberg
# q d a a Biến
1 2
….
n
Hình 4.2: Hệ trục tọa độ và các tham số DH trên robot n bậc tự do Hướng trục y tuân theo quy tắc bàn tay phải.
Hệ trục tọa độ gắn ở khâu cuối (n) thường gắn ở tay gắp hay ở bệ dụng cụ. Nếu Robot có tay gắp tạo bởi nhiều khớp thì một hệ trục tọa độ được đặt ở tay gắp hay bệ dụng cụ và chúng được ngăn cách bởi một ma trận chuyển vị từ hệ trục cuối cùng của cánh tay robot với hệ trục của tay gắp hay bệ dụng cụ. Trục z của hệ trục này cùng hướng với khớp cuối cùng.
Chú ý:
di: là khoảng cách từ gốc tọa độ thứ i-1 tới giao điểm của của trục zn-1 và xi dọc theo trục zn-1.
li: khoảng cách giữa giao điểm trục zi-1 và xi với gốc tọa độ hệ trục thứ I dọc theo trục xi.
qI: góc quay từ trục xi-1 tới xi xung quanh trục zi-1. aI: là góc quay của trục zi-1 tới zi xung quanh trục xi.