Mô phỏng robot PUMA560 sử dụng Robotics Toolbox
Robot được ứng dụng rộng rãi trong nhiều ngành công nghiệp. Những ứng dụng ban đầu
gồm lắp đặt vật liệu, hàn điểm và phun sơn. Robot còn được sử dụng trong nhiều lĩnh vực khác như
phục vụ cho máy công cụ, làm khuôn trong công nghiệp đồ nhựa, gắn kính xe hơi, gắp hàng ra khỏi
băng tải và đặt chúng vào các trạm chuyển trung gian.
Robot PUMA560 là đối tượng nghiên cứu của bài báo. Robot PUMA560 là môṭ robot có 6
bâc̣ tự do vớ i 6 khớ p quay. Bàn kep̣ của robot có thể vươn tớ i các điểm trong không gian làm viêc̣
của robot từ bất kì hướ ng nào.
Các công trình [3], [8] thiết kế điều khiển cho robot PUMA560, phương pháp tuyến tính hóa
được đưa ra trong [3], còn công trình [8] tập trung vào phương pháp thiết kế điều khiển trượt.
Bài báo này không đi sâu thiết kế điều khiển robot PUMA560 mà tập trung vào mô phỏng
robot PUMA560 sử dụng công cụ Robotics Toolbox, phục vụ học tập, nghiên cứu loại robot này
trong phòng thí nghiệm. Robotics Toolbox là một trong các công cụ mô phỏng Robot điển hình.
Một số công cụ khác cũng được sử dụng một cách rộng rãi như: phần mềm Catia, Robot Microsoft
RDS, Easy-rob,
Tóm tắt nội dung tài liệu: Mô phỏng robot PUMA560 sử dụng Robotics Toolbox
THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 387 Mô phỏng robot PUMA560 sử dụng Robotics Toolbox Simulation of Robot PUMA560 using Robotics Toolbox Phạm Tâm Thành1 Đinh Anh Tuấn1, Lê Kế Đạt2 1Trường Đại học Hàng hải Việt Nam, phamtamthanh@vimaru.edu.vn 2Công Ty TNHH Haengsung Electronics Việt Nam Tóm tắt Công cụ Robotics Toolbox tỏ ra chiếm ưu thế khi mô hình hóa robot. Bài báo tiến hành mô phỏng điển hình robot PUMA560 sử dụng công cụ này. Bài báo nghiên cứu xây dựng mô phỏng mô hình, tính toán phân tích động học, động lực học của robot PUMA560. Các kết quả mô phỏng đạt được của bài báo có thể góp phần trong công tác đào tạo nhân lực ngành Kỹ thuật điều khiển và Tự động hóa tại Trường Đại học Hàng hải Việt Nam Từ khóa: Puma, Toolbox Robotics, mô phỏng. Abstract Robotics Toolbox is being used widely in simulation robot. By using this toolbox, the paper simulated model of PUMA560. Kinematics and Dynamics also were analysed. These simulation results confirmed that excellent performance has been indeed achieved via the proposed methods, leading to a promising approach to aid the training human factor in automation and control engineering at Vietnam Maritime University Keywords: Robotics, Puma560, simulation, Robotics Toolbox. 1. Phần mở đầu Robot được ứng dụng rộng rãi trong nhiều ngành công nghiệp. Những ứng dụng ban đầu gồm lắp đặt vật liệu, hàn điểm và phun sơn. Robot còn được sử dụng trong nhiều lĩnh vực khác như phục vụ cho máy công cụ, làm khuôn trong công nghiệp đồ nhựa, gắn kính xe hơi, gắp hàng ra khỏi băng tải và đặt chúng vào các trạm chuyển trung gian. Robot PUMA560 là đối tượng nghiên cứu của bài báo. Robot PUMA560 là môṭ robot có 6 bâc̣ tư ̣do với 6 khớp quay. Bàn kep̣ của robot có thể vươn tới các điểm trong không gian làm viêc̣ của robot từ bất kì hướng nào. Các công trình [3], [8] thiết kế điều khiển cho robot PUMA560, phương pháp tuyến tính hóa được đưa ra trong [3], còn công trình [8] tập trung vào phương pháp thiết kế điều khiển trượt. Bài báo này không đi sâu thiết kế điều khiển robot PUMA560 mà tập trung vào mô phỏng robot PUMA560 sử dụng công cụ Robotics Toolbox, phục vụ học tập, nghiên cứu loại robot này trong phòng thí nghiệm. Robotics Toolbox là một trong các công cụ mô phỏng Robot điển hình. Một số công cụ khác cũng được sử dụng một cách rộng rãi như: phần mềm Catia, Robot Microsoft RDS, Easy-rob, Giáo sư Peter I. Corke đã phát triển công cụ Robotics Toolbox [7], công cụ này cho phép mô phỏng 3D của robot và cho phép mô phỏng, phân tích động học, động lực học robot. 2. Nghiên cứu mô phỏng robot PUMA560 sử dụng Robotics Toolbox 2.1. Giới thiệu robot PUMA560 Robot PUMA560 là sản phẩm của công ty Unimation (My)̃. Đó là loaị robot đươc̣ sử duṇg rôṇg raĩ ở nhiều nước. Khá dê ̃dàng để có đươc̣ các thông số đôṇg hoc̣ và đôṇg lưc̣ hoc̣ của robot PUMA560 vì đa ̃có nhiều nghiên cứu thưc̣ nghiêṃ trên robot này. THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 388 Bảng 1. Tên và chức năng các khớp robot Hê ̣truc̣ Khớp Chức năng 1 Eo (Waist) Quay thân robot 2 Vai (Shoulder) Nâng và ha ̣cánh tay trên robot 3 Khuỷu (Elbow) Nâng và ha ̣cẳng tay robot 4 Quay cổ tay (Wrist roll) Quay cổ tay robot 5 Hất cổ tay (Wrist pitch) Hất cổ tay robot 6 Bàn kep̣ (Gripper) Quay bàn kep̣ Cấu trúc của robot PUMA như hình 1. Các khớp và chức năng của nó được đưa ra trong bảng 1. Hình 1. Các khớp của robot PUMA560 2.2. Mô hình robot PUMA560 Mô hình robot PUMA560 đươc̣ xây dưṇg dưạ trên các thông số đôṇg hoc̣ và đôṇg lưc̣ hoc̣ tham khảo tài liêụ [4, 5, 6]. Hình 2. Các khung tọa độ của robot PUMA560 THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 389 Bảng 2. Bảng thông số Denavit-Hartenberg của robot Khớp n αn-1 an-1 (mm) dn (mm) Giới haṇ góc quay của khớp 1 1 0 o 0 0 -160o ÷ +160o 2 2 -90 o 0 243.5 -225o ÷ +45o 3 3 0 o 431.8 -93.4 -45o ÷ +225o 4 4 90 o -20.3 433.1 -110o ÷ +170o 5 5 -90 o 0 0 -100o ÷ +100o 6 6 90 o 0 0 -266o ÷ +266o Bảng 3. Bảng thông số động lực học Khâu Khối lươṇg (kg) Mô men quán tính đôṇg cơ (kg.m2) Tỉ số truyền đôṇg cơ Lưc̣ ma sát nhớt (N.m.s/rad) Lưc̣ ma sát Cu-lông (N.m) 1 0 291e-6 62,61 1,48e-3 [0,395 -0.435] 2 17.4 409e-6 107,36 0,817e-3 [0,126 -0,071] 3 4.8 299e-6 53,69 1,38e-3 [0,132 -0,105] 4 0.82 35e-6 76,01 71,2e-6 [11,2e-3 -16,9e-3] 5 0.34 35e-6 71,91 82,6e-6 [9,26e-3 -14,5e-3] 6 0.09 35e-6 76,63 36,7e-6 [3,96e-3 -10,5e-3] Bảng 4. Thông số troṇg tâm của khâu Khâu Truc̣ 1 2 3 4 5 6 Troṇg tâm của khâu (m) x 0 0.068 0 0 0 0 y 0 0,006 -0,07 0 0 0 z 0 -0,016 0,014 -0.019 0 0,032 Bảng 5. Thông số mô men quán tính của khâu Khâu 1 2 3 4 5 6 Mô men quán tính của khâu (kg.m2) Ixx 0 0,13 0,066 1,8e-3 0,3e-3 0,15e-3 Iyy 0 0,524 0,0125 1,8e-3 0,3e-3 0,15e-3 Izz 0,35 0,539 0,086 1,3e-3 0,4e-3 0,04e-3 Sử dụng thông số D-H ở trong bảng 2 để viết file chương trình, khi đó ta có thể lập trình được giao diện hiển thị và bảng điều khiển của robot PUMA như hình 3. 2.3. Đôṇg hoc̣ ngươc̣ robot PUMA560 Trong điều khiển robot, ta cần biết các giá tri ̣ biến khớp q taị môṭ vi ̣ trí cu ̣thể của bàn kep̣. Đây chính là bài toán đôṇg hoc̣ ngươc̣ vị trí. Ta xây dưṇg trên M-File của Matlab hàm “donghocnguoc_puma560d.m” áp duṇg để giải bài toán đôṇg hoc̣ ngươc̣ robot. Đầu vào của hàm là giá tri ̣ biến khớp của robot ở tư thế ban đầu (q0) và toạ đô ̣bàn kep̣ ở tư thế đích. Hàm se ̃trả về giá tri ̣ biến khớp của robot ở tư thế đích (q1) cùng với các đồ thi ̣ liên quan. THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 390 Hình 3. Giao diêṇ đồ hoạ và bảng điều khiển robot PUMA560 Trên cửa sổ Command Window của Matlab gõ các lêṇh: >> startup_rvc % góc quay của các khớp khi robot ở tư thế ban đầu: 1=0o, 2=0o, 3=0o, 4=0o, 5=0o, 5=0o) >> q0=[0 0 0 0 0 0]; >> toa_do_ban_kep=[0.8649 0.1501 0.0203]; >>[q1]= donghocnguoc_puma560d(q0,toa_do_ban_kep) q1 = -0.0000 0.0000 1.5708 0 -1.5708 0.0000 Kết quả nhâṇ đươc̣ là giá tri ̣ biến khớp ở tư thế đićh của robot:1=0; 2=0; 3 =1.5708; 4=0 ; 5= -1.5708; 6=0 (rad). Hình 4. Robot PUMA560 ở tư thế ban đầu và tư thế đích Hình 5. Quỹ đaọ của bàn kep̣ trong không gian 3 chiều 0.4 0.5 0.6 0.7 0.8 0.9 0.1501 0.1501 0.1501 0.1501 0.1501 0.1501 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 X (m) Quy dao cua ban kep trong khong gian 3 chieu Y (m) Z ( m ) THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 391 Hình 6. Quỹ đaọ của bàn kep̣ trong các hê ̣truc̣ ZX, XY, YZ Trong trường hơp̣ này, quỹ đaọ chuyển đôṇg của bàn kep̣ là môṭ đường thẳng bởi vì muc̣ đích giải bài toán đôṇg hoc̣ ngươc̣ vị trí là xác định các giá trị biến trục tương ứng với vị trí và hướng cho trước của bàn kẹp. Hình 7. Vi ̣trí của bàn kep̣ theo thời gian Hình 8. Sư ̣biến thiên góc quay của các khớp theo thời gian Từ hình 8, ta thấy khi robot thưc̣ hiêṇ quỹ đạo chuyển đôṇg của bàn kẹp, các khớp 1,4,6 không quay. 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.4 0.6 0.8 1 Z (m) X ( m ) quy dao ban kep trong he truc zx 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0 0.1 0.2 X (m) Y ( m ) quy dao ban kep trong he truc xy 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0 0.2 0.4 Y (m) Z ( m ) quy dao ban kep trong he truc yz 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Thoi gian(s) to a d o ( m ) Vi tri cua ban kep X Y Z 0 0.5 1 1.5 2 -1 0 1 Thoi gian(s) (r a d ) khop 1 0 0.5 1 1.5 2 0 0.2 0.4 Thoi gian(s) (r a d ) khop 2 0 0.5 1 1.5 2 0 1 2 Thoi gian(s) (r a d ) khop 3 0 0.5 1 1.5 2 -1 0 1 Thoi gian(s) (r a d ) khop 4 0 0.5 1 1.5 2 -2 -1 0 Thoi gian(s) (r a d ) khop 5 0 0.5 1 1.5 2 -1 0 1 Thoi gian(s) (r a d ) khop 6 THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 392 2.4. Đôṇg lưc̣ hoc̣ robot PUMA560 Mô men và lực tạo ra quá trình chuyển động được tính toán. Động lực học của robot PUMA560 được viết trên m-file của Matlab, để nhận được kết quả ta có thể chạy file chương trình tính toán động lực học. % góc quay của các khớp khi robot ở tư thế ban đầu: 1=0o, 2= 90o, 3= -90o, 4=0o, 5=0o, 5=0o >> q0=[0 pi/2 -pi/2 0 0 0]; >>toa_do_ban_kep=[0.5 0.6 0.3]; >> dongluchoc_puma560d(q0,toa_do_ban_kep) Kết quả nhâṇ đươc̣ là các đồ thi ̣ biểu diêñ vâṇ tốc, gia tốc, mô men đăṭ lên các khớp. Hình 9. Đặc tính vâṇ tốc góc các khớp của robot Quan sát hình 9 ta thấy đồ thị vận tốc góc của khớp 3, 5 và 6 quay cùng chiều, khớp 1 và 2 quay cùng chiều và ngược chiều quay với khớp 3, 5, 6, khớp 4 không quay. Đồ thi ̣ là những đường cong trơn không có điểm bất thường. Vâṇ tốc góc tăng dần từ 0 ở thời điểm bắt đầu và tăng đến tốc độ cực đại. Sau đó giảm dần về 0 khi robot kết thúc chuyển đôṇg. Hình 10. Gia tốc góc của các khớp robot 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -5 -4 -3 -2 -1 0 1 2 3 4 Thoi gian(s) ra d /s van toc goc khop 1 khop 2 khop 3 khop 4 khop 5 khop 6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -8 -6 -4 -2 0 2 4 6 8 Thoi gian(s) ra d /s 2 gia toc goc khop 1 khop 2 khop 3 khop 4 khop 5 khop 6 THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 393 . Hình 11. Mô men quay của các khớp không tính đến ma sát Quan sát hình 11 ta thấy mô men quay tác duṇg vào khớp 1 và khớp 2 có giá tri ̣ lớn hơn so với các khớp còn laị. Điều này là do môṭ phần lớn mô men quay của khớp 1, 2 là mô men troṇg lưc̣. Mô men quay của khớp 1, 2, 3 đổi chiều trong suốt quá trình chuyển đôṇg. Hình 12. Mô men quay của các khớp có tính đến ma sát Khi lưc̣ ma sát ở bên trong đôṇg cơ đươc̣ tính đến khi phân tích, ta se ̃có kết quả như hình 12. Lưc̣ ma sát của đôṇg cơ chỉ gây ảnh hưởng vào thời điểm đầu và cuối chuyển đôṇg. Giá tri ̣ mô men quay của các khớp tăng nhanh đôṭ ngôṭ để thắng đươc̣ lưc̣ ma sát trong đôṇg cơ khi robot bắt đầu chuyển đôṇg và làm giảm nhanh giá tri ̣ mô men quay khi robot ngừng chuyển đôṇg. Hình 13. Mô men troṇg lưc̣ của các khớp 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -80 -60 -40 -20 0 20 40 60 80 100 Thoi gian(s) N m momen quay khong ma sat khop 1 khop 2 khop 3 khop 4 khop 5 khop 6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -120 -100 -80 -60 -40 -20 0 20 40 60 80 Thoi gian(s) N m momen quay co ma sat khop 1 khop 2 khop 3 khop 4 khop 5 khop 6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -40 -30 -20 -10 0 10 20 30 40 50 Thoi gian(s) N m momen trong truong khop 1 khop 2 khop 3 khop 4 khop 5 khop 6 THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 394 Hình 14. So sánh giữa tổng mô men quay và thành phần mô men troṇg lưc̣ Từ hình 13, hình 14 ta thấy ở khớp 2, 3 thì mô men gây ra bởi troṇg lưc̣ chiếm môṭ phần lớn trong tổng mô men quay của khớp. Thưc̣ tế này gơị ý cho ta môṭ vài đề xuất trong viêc̣ giảm khối lươṇg robot khi thiết kế. Hình 15. Mô men quán tính của khớp Hình 15 cho thấy mô men quán tính của khớp 1 thay đổi đáng kể trong suốt quá trình chuyển đôṇg của robot. Đây là môṭ khó khăn trong thiết kế điều khiển robot, làm sao phải đaṭ đươc̣ đô ̣ổn điṇh và hiêụ suất cao khi robot chuyển đôṇg. 3. Kết luận Với ưu thế của công cụ Robotics Toolbox trong việc mô phỏng 3D robot, mô phỏng động lực, động lực học của các robot khác nhau. Robot PUMA560 là một ví dụ điển hình được mô phỏng sử dụng bộ công cụ này. Các kết quả mô phỏng robot điển hình này cũng như phương pháp mô phỏng sử dụng Robotics Toolbox góp phần giúp sinh viên, học viên ngành Kỹ thuật Điều khiển và Tự động hóa khi nghiên cứu, học tập học phần Điều khiển robot có cái nhìn trực quan hơn, sâu sắc hơn và còn có thể kiểm chứng lại khi giải một số bài toán động lực học, động học robot. 0 0.5 1 1.5 2 -50 0 50 Thoi gian(s) k h o p 1 ( N m ) So sanh giua momen quay va momen trong luc momen quay momen trong luc 0 0.5 1 1.5 2 -200 0 200 Thoi gian(s) k h o p 2 ( N m ) 0 0.5 1 1.5 2 0 20 40 Thoi gian(s) k h o p 3 ( N m ) 0 0.5 1 1.5 2 -1 0 1 Thoi gian(s) k h o p 4 ( N m ) 0 0.5 1 1.5 2 -2 0 2 Thoi gian(s) k h o p 5 ( N m ) 0 0.5 1 1.5 2 -2 0 2 Thoi gian(s) k h o p 6 ( N m ) 0 0.5 1 1.5 2 2 4 6 Thoi gian(s) k h o p 1 ( N m ) Momen quan tinh cua cac khop 0 0.5 1 1.5 2 -1 0 1 Thoi gian (s) k h o p 2 ( N m ) 0 0.5 1 1.5 2 -0.14 -0.12 -0.1 -0.08 Thoi gian (s) k h o p 3 ( N m ) 0 0.5 1 1.5 2 -1 0 1 Thoi gian (s) k h o p 4 ( N m ) 0 0.5 1 1.5 2 -1 0 1 Thoi gian (s) k h o p 5 ( N m ) 0 0.5 1 1.5 2 -1 0 1 Thoi gian (s) k h o p 6 ( N m ) THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 395 Tài liệu tham khảo [1]. Nguyêñ Thiêṇ Phúc (2006). Robot công nghiêp̣. Nhà xuất bản khoa hoc̣ và ki ̃thuâṭ [2]. Nguyêñ Phùng Quang (2002). Matlab & Simulink dành cho ki ̃sư điêṇ tư ̣đôṇg. Nhà xuất bản Khoa hoc̣ và Kỹ thuâṭ. [3]. Ehsan Zakeri, Seyed Alireza Moezi, Mehdi Zare, Mostafa Parnian Rad (2014). Control of Puma-560 robot Using Feedback Linearization control method and kalman filter estimator for Regulation and Tracking Purpose. Journal of mathematics and computer science 11 (2014). pp.264-276. [4]. P. Corke and B. Armstrong-Helouvry (1994). A search for consensus among model parameters reported for the PUMA 560 robot. Proc. IEEE Int. Conf. Robotics and Automation (San Diego). [5]. B. Armstrong, O. Khatib, J. Burdick (1986). The explicit dynamic model and inertial parameters of Puma 560 arm. Stanford artificial intelligence laboratory-Stanford university. [6]. Alireza Izadbakhsh (2009). Closed-form dynamics model of PUMA 560 robot arm. The 4th International Conference on Autonomuous Robots and Agnets. ICARA 2009. pp.675-680. [7]. P. Corke (2014). Robotics Toolbox for Matlab (release 9). CSIRO Manufacturing Science Technology. [8]. Mozaryn, J.E., Kurek. Design of decoupled sliding mode control for the PUMA 560 robot manipulator, 2002. RoMoCo '02. Proceedings of the Third International Workshop on Robot Motion and Control. pp.45,50, 9-11 Nov. 2002.
File đính kèm:
- mo_phong_robot_puma560_su_dung_robotics_toolbox.pdf