Tính toán động học & mô phỏng 3D Robot Gryphon

10 1.1K 13
Tính toán động học & mô phỏng 3D Robot Gryphon

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài báo đề cập đến bài toán điều khiển động học của rôbốt và áp dụng vào rôbốt Gryphon. Nội dung của bài báo nhằm giải quyết bài toán thuận, bài toán ng-ợc và mô phỏng hoạt động của rô b

Tính toán động học phỏng 3D rôbốt Gryphon Đinh Văn Phong *, Đỗ Sanh *, Nguyễn Trọng Thuần *, Đỗ Đăng Khoa ** *Trờng Đại học Bách Khoa Hà nội, **Đề tài 3.312.01 Tóm tắt: Bài báo đề cập đến bài toán điều khiển động học của rôbốt và áp dụng vào rôbốt Gryphon. Nội dung của bài báo nhằm giải quyết bài toán thuận, bài toán ngợc và phỏng hoạt động của rô bốt trong không gian đồ hoạ ba chiều. Đồng thời trong bài báo cũng giới thiệu hớng nghiên cứu việc điều khiển rô bốt Gryphon bằng máy tính. 1. Mở đầu Trong bài báo này khảo sát bài toán điều khiển động học rô bốt, chủ yếu tập trung vào hai bài toán : Bài toán thuận : xác định vị trí điểm cuối và hớng tay kẹp mà tay máy đạt đợc khi qui luật thay đổi theo thời gian của các thông số định vị của tay máy là hàm đã biết. Bài toán này nhằm phục vụ bài toán xác định phạm vi hoạt động của tay máy, bài toán thuận trong động lực học tay máy. Bài toán ngợc : xác định qui luật thay đổi theo thời gian của tay máy để nó nắm bắt đợc vị trí đã cho của đối tợng theo một hớng định trớc của tay kẹp. Bài toán này nhằm phục vụ các bài toán điều khiển quĩ đạo, các bài toán điều khiển tối u . Bài báo dới đây sẽ trình bày cơ sở lý thuyết của cả hai bài toán và minh hoạ qua việc áp dụng để phỏng một rô bốt cụ thể. 2. Cơ sở lý thuyết. 2.1 Công thức xác định vị trí Trong bài báo này chúng ta sẽ sử dụng phơng pháp ma trận Denavit-Hartenberg. gắn các hệ trục tọa độ vào từng khâu của tay máy (rôbốt). Nhờ đó mối quan hệ về toạ độ của cùng một điểm trên hai hệ trục kế tiếp nhau sẽ đợc xác định bằng một ma trận chuyển 4x4.,xem tr 53 [3]. Gọi jj-1H là ma trận chuyển toạ độ một điểm từ hệ j ( Oxjyjzj ) về hệ j-1 ( Oxj-1yj-1zj-1 ), ta có: cos( ) cos( ).sin( ) sin( ).sin( ) .cos( )sin( ) cos( ).cos( ) -sin( ).cos( ) .sin( )0sin() cos()00 0 1jjj jjkjjjj jjkjjjjaad =jj-1H (2.1) trong đó các tham số có ý nghĩa nh sau: j là góc quay trục xj-1 đến trục xj quanh trục zj-1, dj là đoạn dịch trục xj-1 đến trục xj dọc trục zj-1, aj là đoạn dịch trục zj-1 đến trục zj dọc trục xj-1, j là góc quay trục zj-1 đến trục zj quanh trục xj-1. Thông qua việc sử dụng liên tiếp các hệ toạ độ, ma trận chuyển hệ toạ độ gắn vào tay kẹp về hệ toạ độ gắn vào đế của rô bốt có dạng: ( ) ( ) ( ) ( )12 nqq qtay kep 1 2 n nde 0 1 n-1 0H = H .H H = H q ( )n0Hq có dạng: ( ) ( )1Rq pq0 (2.2) trong đó hệ toạ độ đế rô bốt kí hiệu là 0, hệ toạ độ tay kẹp rô bốt kí hiệu là n, q là ma trận nx1 của các toạ độ suy rộng,chúng là các thông số định vị của rôbốt. R(q) là ma trận 3x3 xác định hớng của tay kẹp, p(q) là vectơ 3x1 xác định vị trí đầu bàn kẹp so với hệ đế. Ba cột của ma trận R tơng ứng với hớng của ba vectơ đơn vị trên hệ gắn với tay kẹp so với hệ đế rôbốt (hệ toạ độ nền). Vị trí của một điểm P thuộc tay kẹp đợc xác định theo công thức : ( )0nppr=H qr (2.3) trong đó pr là vectơ định vị điểm P thuộc tay kẹp so với hệ toạ độ nền, pr là vectơ định vị điểm P trong hệ toạ độ gắn vào tay kẹp rôbốt. 2.2 Công thức xác định vận tốc. Từ công thức (2.3) ta dễ dàng xác định đợc vận tốc điểm P gắn vào tay kẹp rôbốt so với hệ toạ độ nền : pp np0v=r=H.r&& (2.4) Để tiến hành điều khiển hoạt động của từng khâu rôbốt, ta tiến hành biểu diễn ma trận n0H& dới dạng sau : nn(i)0ii=1H= Hq&& (2.5) trong đó H(i) là ma trận ứng với khớp i và chỉ phụ thuộc vào biến khớp, pr&là véc tơ vận tốc của điểm cuối tay kẹp so với hệ toạ độ nền,n0H& là ma trận đạo hàm của ma trận Denavit-Khâu j-2 Khâu j-1 Khâu jKhâu j+1zj-2 dj zj-1 yj-1 xj-1 j xj yj zj aj aj-1 xj Hình 1 zj Khớp j-1 Khớp jKhớp j+1j Hartenberg giữa hệ toạ độ nền với hệ toạ độ gắn vào tay kẹp, iq& là vận tốc của chuyển động tại khớp thứ i. 3. Khảo sát động học của rô bốt Gryphon. 3.1 Giới thiệu hình và nguyên tắc hoạt động. Rô bốt Gryphon do hãng FeedBack của Anh sản xuất phục vụ cho mục đích nghiên cứu. Đây là một rôbốt năm trục kèm theo bàn kẹp nh hình 2 Trục hông (waist axis). Trục vai (shoulder axis). Trục khuỷu tay (elbow axis). Trục cổ tay (tool pitch axis). Trục cổ tay (tool roll axis). Bàn kẹp (gripper). Hình 2 Những u điểm nổi bật của rôbốt là chuyển động nhanh, chính xác và mềm mại. Rôbốt đợc điều khiển bởi bốn vi xử lý cho phép điều khiển đặt vật chính xác. Mỗi trục của rôbốt đợc điều khiển bởi một động cơ bớc với bộ mã hoá phản hồi. Trong bộ điều khiển, một vi xử lý sẽ giám sát vị trí của các trục. Hai cái khác sẽ quản lý các động cơ và cái còn lại sẽ giám sát cả ba cái trên đồng thời làm nhiệm vụ giao tiếp với máy chủ. 3.2 Công thức xác định vị trí Khi áp dụng phơng pháp Denavit-Hartenberg gắn các hệ trục toạ độ vào các khâu x0 y0 z0 a1 1z1x1y1 a2 a4a5a6z5 y5 x5 a3x4y4z4z3x3y3z2452x2y23Hình 3 ta thu đợc sơ đồ động học của rôbốt Gryphon nh hình 3. Bảng tham số Denavit-Hartenberg: Theo thuật toán Denavit-Hartenberg ta có bảng tham số Denavit-Hartenberg ứng với sơ đồ động học trên : Trục D a1 1 a1 /2a2 2 2 00 a4 3 3 00 a5 4 4 -a3 /205 5 a6 0 0 Xác định các ma trận chuyền. Đây là các ma trận chuyển thành chuyển các hệ toạ độ trên sơ đồ động học (hình 3). 1121112110001 000 0 1CSaCSCaSa=10H,22 4222 420000100001CS aCSC aS = 21H,33 5333 530000100001CS aCSC aS = 32H , 44443000001 000 0 1CSSCa=43H,5555600000010001CSSCa = 54H (3.1) Ma trận chuyển toàn hệ taykepdeH là ma trận truyền thuần nhất giữa hệ toạ độ nền và hệ toạ độ gắn vào tay kẹp. taykep 1 2 3 4 5de 0 1 2 3 4H =H.H.H.H.H ( )()1 234 5 1 5 1 234 5 1 5 1 234 1 234 6 23 5 2 4 2 1 31 234 5 1 5 1 234 5 1 5 1 234 1 234 6 23 5 2 4 2 1 3234 5 234 5 234 234 6 23 5 2 4 1000 1CC C SS CC S SC CS C S a C a C a a SaSC C CS SC S CC SS S S a C a Ca a CaSC SS C Ca Sa Sa a++ +++ ++++ = +++ taykepdeH (3.2). Để viết đơn giản ta sử dụng các kí hiệu sau: C1=cos(1), C234=cos(2+3+4), S1=sin(1), S234=sin(2+3+4). Ma trận R 1 234 5 1 5 1 234 5 1 5 1 2341 234 5 1 5 1 234 5 1 5 1 234234 5 234 5 234CC C SS CC S SC CSSC C CS SC S CC SSSC SS C+ +=R (3.3) Vectơ p ()()1 234 6 23 5 2 4 2 1 31 234 6 23 5 2 4 2 1 3234 6 23 5 2 4 1CS a Ca Ca a SaSSa Ca Ca a CaCa Sa Sa a+++=+++++++p (3.4) Xem [1]. 3.3 Bài toán thuận Ta có thể xác định vị trí và vận tốc nh sau: Trong bài toán thuận ( )n0Hq từ (2.3) là hàm đã biết của thời gian, do đó ta tính đợc ( )t=pprr Trong công thức (2.5) vì ( ) ( ),tt==qq qq&& do đó(i)H là hàm đã biết của t, từ (2.4) ta tính đợc ( )tppv=v. 3.4 Bài toán ngợc 3.4.1 Bài toán vị trí Mục đích bài toán nhằm xác định các góc (1,5)ii= để tay máy nắm bắt đợc đối tợng tại một vị trí đã cho và theo một hớng xác định. Do đó dữ liệu vào là vị trí đầu bàn kẹp Txyzppp=Tp và hớng tay kẹp R. Từ các công thức (3.3) và (3.4) ta nhận thấy rằng cột thứ 3 của ma trận R và p không phụ thuộc vào 5 mà chỉ phụ thuộc vào các góc 1, 2, 3, 4 do đó các góc này sẽ đợc xác định theo vectơ cấu hình tay kẹp : w=[px, py, pz, R13, R23, R33]. Nói cách khác ta thu đợc hệ phơng trình sau: ( )()112346 235 24 2 1321 234 6 23 5 2 4 2 1 33234 6 23 5 2 4 141312345231 234633234wwwwwwwxyzpCS a Ca Ca a SapSSa Ca Ca a CapCa Sa Sa aRCSRSSRC+++ ++++ +++=== (3.5) thực hiện các phép biến đổi giải tích, ta thu đợc kết quả sau: Góc quay ở khớp hông 1 đợc tính nh sau Đặt 222123wwba= + 1213123atan2(w b-w a ,w b+w a )q= (3.6) Góc quay ở khớp khuỷu 3 đựoc tính nh sau: ( ) ( )1 1 13 1 2 13 1 2346 211 21 2346 22312346wwwwwbSaCCaSSaaCSSaabaCa=+ + =+ =+ với 234 1 4 1 5 6atan2( ,-w )qCwSw=+ 222212453452bbaaqaa+= (3.7) Góc quay ở khớp vai 2 đợc tính nh sau: ( ) ( ) ( ) ( )( )224531531453253atan2 ,qbaaCbaSbaaCbaS=+ ++ (3.8) Góc quay ở khớp pitch 4 đợc tính nh sau: 423423qq qq= (3.9) Góc quay ở khớp roll 5 đợc tính nh sau: ( )5 111 121 112 122atan2 ,qSRCRSRCR= (3.10) Xem [1]. 3.4.2 Bài toán vận tốc. Khi cần di chuyển vật kẹp với một vận tốc cho trớc, ta phải tính vận tốc quay tại các khớp nhờ các công thức (2.4) và (2.5). Muốn vậy ta phải tính đợc các ma trận (i)H trong (2.5). Đối với rôbốt Gryphon ta nhận đợc: 5 234 1 1 5 1 5 234 1 5 1 234 1 6 234 5 23 4 2 2 1 31 5 234 1 5 1 5 234 1 5 1 234 1 6 234 5 23 4 2 2 1 3()()000 0000 0CC S CS SSC CC SS S aS aC aC a CaCCC SS CS C SC CC C a S aC aC a Sa+ + +++ + + +++ = (1)H 5 234 1 1 5 234 1 234 1 6 234 5 23 4 21 5 234 1 5 234 1 234 1 6 234 5 23 4 25 234 5 234 234 234 6 23 5 2 4()()000 0CS C CSS CC C aC aS aSSCS SS S SC S aC aS a SCC SC S S a C a Ca=++(2)H 5 234 1 1 5 234 1 234 1 6 234 5 231 5 234 1 5 234 1 234 1 6 234 5 235 234 5 234 234 234 6 23 5()()000 0CS C CSS CC C aC aSSCS SS S SC S aC aSCC SC S S a C a=+(3)H 5 234 1 1 5 234 1 234 1 6 2341 5 234 1 5 234 1 234 1 6 2345 234 5 234 234 234 60000CS C CSS CC CaCSCS SS S SC SaCCC SC S S a=(4)H5 234 1 1 5 1 5 234 1 515 234 15 15 234 155 234 5 2340000000000SC C SC CCC SSSSC CC SCC CSSS CS+ +=(2)H (3.11) Sử dụng (3.11) có thể giải quyết bài toán điều khiển vận tốc. Tuy nhiên vấn đề này sẽ đề cập trong một công trình khác. 4. Chơng trình phỏng. 4.1 Giới thiệu chơng trình. Đây là chơng trình máy tính viết bằng ngôn ngữ C++ sử dụng công cụ lập trình Visual C++ 6.0 có sự hỗ trợ của th viện đồ hoạ OpenGL. Chơng trình này làm nhiệm vụ giải bài toán động học thuận và bài toán động học ngợc của rôbốt Gryphon và thể hiện chuyển động của rôbốt theo các bộ số liệu góc khớp. 4.2 Th viện đồ hoạ OpenGL. The Open Graphics Library (OpenGL) là một th viện đồ hoạ tốc độ cao, độc lập với các hệ thống giao diện của hệ điều hành. Th viện này đợc hãng Silicon Graphics Inc phát triển cho các workstation đồ hoạ tốc độ cao từ năm 1982 dới cái tên IRIS GL. Đây là một th viện đồ hoạ có thể triển khai trên nhiều hệ thống khác nhau nh : Microsoft Windows 95/98/NT/2000. Đồng thời các ứng dụng đồ hoạ OpenGL cũng có thể viết trên nhiều ngôn ngữ lập trình khác nhau nh : C/C++, Fortran, Ada, Java Về cơ bản OpenGL là một th viện gồm tập hợp của khoảng 150 hàm hỗ trợ các thao tác nh sau, xem [2], [8] : Thể hiện các đối tợng cơ bản nh điểm, đờng, đa giác, và từ đó có thể tạo ra những đối tợng đồ hoạ phức tạp hơn nh mặt cầu, mặt nón, mặt hình trụ .hoặc các đối tợng do lập trình viên tạo ra; Quan sát đối tợng : các đối tợng sau khi đợc vẽ ra có thể đợc quan sát từ những góc nhìn khác nhau thông qua các phép biến hình (transformation); Định màu sắc : các đối tợng có thể đợc thể hiện với màu sắc bằng nhiều cách chỉ định màu khác nhau: RGBA hay color-index .; Sử dụng ánh sáng : ánh sáng có thể đợc sử dụng để tạo ra những cảnh "thật" từ những đối tợng đã có. OpenGL cho phép sử dụng nhiều loại nguồn sáng khác nhau nh phát xạ (emitted), bao quanh(ambient), phân tán (diffuse) và phản chiếu (specular); Các kỹ thuật tăng chất lợng hiện thị ảnh nh chống răng ca (anti-aliasing), trộn màu (blending), sơng khói trong ảnh (fog) .; Thao tác trên các ảnh bitmap : lập trình viên có thể "dán" các ảnh của cảnh thật lên trên bề mặt các đối tợng tạo ra bằng OpenGL .; 4.3 Giao diện chính của chơng trình phỏng. Phần bên trái của giao diện là các nút điều khiển từng khớp của rô bốt, phần bên phải là thể hiện hình ảnh ba chiều của rô bốt tơng ứng với sự điều khiển 4.4 Các menu điều khiển của chơng trình. 4.5 Các thanh công cụ của chơng trình. Thanh công cụ thay đổi vị trí vật Thanh công cụ thay đổi hớng nhìn vật Bật tắt thanh công cụ chuẩn Bật tắt thanh trạng thái Bật tắt thanh công cụ thay đổi vị trí vật Bật tắt thanh công cụ thay đổi hớng nhin vậtBật tắt thanh công cụ đặt chế độ Quay vật theo chiều dơng trục x Quay vật theo chiều âm trục x Quay vật theo chiều dơng trục y Quay vật theo chiều âm trục y Quay vật theo chiều dơng trục z Quay vật theo chiều âm trục z Tịnh tiến vật sang bên trái Tịnh tiến vật sang bên phải Tịnh tiến vật xuống dới Tịnh tiến vật lên trênThu nhỏ vậtPhóng to vậtĐa vật về vị trí ban đầuThông tin về tác giảĐặt giá trị bớc góc cho từng khớp Đặt hiệu ứng ánh sáng Thanh công cụ thay chế độ điều khiển 5. Kết luận. Bài báo đã trình bày phơng pháp khảo sát bài toán điều khiển động học rôbốt và áp dụng vào một ví dụ cụ thể ,rôbốt Gryphon cùng với một chơng trình máy tính phỏng sinh động dễ dùng. Bài báo cũng đặt cơ sở cho việc tính toán động lực học rôbốt. Công trình này đã đợc tài trợ của Hội đồng khoa học tự nhiên của Việt nam. Summary: Kinematic calculations and 3D simulation of the Gryphon robot. In the paper, a method of investigating the problem of kinematic controlling a robot is presented. The results obtained are applied to the Gryphon robot and used to construct a 3D simulation software. The results are also basic to the dynamic simulation. Tài liệu tham khảo 1. Đồ án tôt nghiệp :Tính toán động học phỏng 3D rô bốt Gryphon, Đỗ Đăng Khoa. 2. Báo cáo nội bộ: OpenGL và ứng dụng, Phan Mạnh Dần và nhóm nghiên cứu. 3. Fundamentals of Robotíc Analysis and Control, Robert. J. Schilling. 4. Lập trình Window dùng Visual C++ 5.0 và MFC, Dơng Quang Thiện. 5. Computer Aided Kinematics and Dynamics of Mechanical Systems, Hang. EJ, Volume 1:Basic method, Alyn and Bacon, New York (1989). Hớng nhìn từ trên xuống Hớng nhìn từ dới lên Hớng nhìn từ trái sang Hớng nhìn từ phải sang Hớng nhìn từ phía trớc Hớng nhìn từ phía sau Hớng nhìn tây namHớng nhìn đông namHớng nhìn đông bắcHớng nhìn tây bắcDừng chuyển động theo quá trình Bắt đầu chuyển động theo quá trinh Chế độ động học thuận rôbốt Chế độ động học ngợc rôbốt Thiết kế quĩ đạo rôbốt 6. Computer Aided Analysis of Mechanical Systems, Nikravesh P.E, Printice-Hall, New Jersey. 7. Dynamics of Multibody Systems, Shabana, Wiley, New York. 8. OpenGL Programming Guide, Mason Woo, Jackie Neider, Tom Davis. . Tính toán động học và mô phỏng 3D rôbốt Gryphon Đinh Văn Phong *, Đỗ Sanh *, Nguyễn Trọng Thuần *, Đỗ Đăng Khoa ** *Trờng Đại học Bách Khoa. bài toán điều khiển động học của rôbốt và áp dụng vào rôbốt Gryphon. Nội dung của bài báo nhằm giải quyết bài toán thuận, bài toán ngợc và mô phỏng hoạt động

Ngày đăng: 24/10/2012, 11:18

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan