Mục tiêu ứng dụng robot công nghiệp nhằm góp phần nâng cao năng suất dây truyền công nghệ, giảm giá thành, nâng cao chất lượng và khả năng cạnh tranh của sản phẩm, đồng thời cải thiện điều kiện lao động. Đạt được các mục tiêu trên là nhờ vào khả năng của robot như : làm việc không biết mệt mỏi, làm việc được ở các môi trường mà con người không thể làm được… Trong các ngành công nghiệp robot hàn được sử dụng rộng rãi để thay thế cho con người, do tính chất công việc độc hại, nguy hiểm, ảnh hưởng xấu tới sức khỏe người công nhân. Đặc biệt robot làm việc với độ chính xác cao. Cũng như các robot khác, robot Harmo có nhiều ứng dụng trong thực tế. Ở bài tập lớn này chúng em sẽ thực hiện thao tác mô phỏng dựa trên ứng dụng phổ biến nhất của chúng là gắp phôi từ máy ép nhựa chuyên dụng. Robot sẽ thực hiện gắp sản phẩm ra từ khuôn đúc đến các vị trí băng chuyền nhất định đảm bảo được độ chính xác vị trí và quy trình ép. 1.2. Phân tích yêu cầu kĩ thuật Số bậc tự do cần thiết: Để đảm bảo robot có khả năng gắp chi tiết tại mọi vị trí trong không gian làm việc thì robot cần từ 3 bậc tự do trở lên. Yêu cầu vị trí: Robot thao tác trong không gian đúng với quỹ đạo thao tác đặt ra. Yêu cầu về hướng: Hướng của bàn kẹp tạo với mặt của chi tiết những góc theo yêu cầu. Với cấu trúc robot có 4 bậc tự do trở nên thao tác linh hoạt, tuy nhiên việc tính toán sẽ trở lên khó khăn, phức tạp hơn. Nhưng do yêu cầu của công việc đòi hỏi độ chính xác và hướng tiếp cận của chi tiết đặc biệt nên robot 4 bậc tự do là cần thiết.
Trang 1MỤC LỤC
CHƯƠNG I: ĐỘNG HỌC ROBOT HARMO 3
1 Phân tích và lựa chọn cấu trúc 3
1.1 Phân tích mục đích ứng dụng robot trong sản xuất, chế tạo 3
1.2 Phân tích yêu cầu kĩ thuật 3
2 Giải bài toán động học 4
2.1 Thiết lập hệ tọa độ của robot 4
2.2 Xác định bộ thông số DH 5
2.3 Thiết lập các mô hình biến đổi và các ma trận biến đổi 7
2.5 Không gian làm việc 10
2.6 Tính toán vận tốc góc của từng khâu 11
2.7 Thiết kế quỹ đạo với quy luật vận tốc cho trước của điểm cuối tay kẹp, tìm ra quy luật vận tốc của các góc khớp 12
2.8 Thiết kế quỹ đạo để giải bài toán động học ngược, có vẽ đồ thị điểm cuối và đồ thị của từng góc khớp robot 14
CHƯƠNG II SỬ DỤNG OPENGL MÔ PHỎNG BÀU TOÁN ĐỘNG HỌC NGƯỢC ROBOT HARMO 19
1 OpenGL 19
1.1 Giao diện 19
1.2 Vấn đề code trong OpenGL 19
1.3 Các chú ý khi sử dụng OpenGl 21
CHƯƠNG III THIẾT KẾ MÔ HÌNH 3D VÀ LẮP RÁP TRÊN SOLIDWORK 23
1 Môi trường 3D trong Solidwork 23
1.1 Các lệnh cơ bản 23
1.2 Thiết kế mô hình 3D robot Harmo 24
Trang 2LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
1.2 Ma trận khối lượng 33
1.3 Ma trận Corilois 34
1.4 Ma trận G – Lực có thế 34
1.5 Ma trận lực không thế 34
1.6 Phương trình vi phân chuyển động 34
CHƯƠNG V THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ROBOT HARMO 35
1 Môi trương làm việc 35
1.1 Cài đặt Toolbox SimMechanics vào Matlab và liên kết vào Solidwork\ 35
1.2 Quỹ đạo chuyển động 36
1.3 Xuất sang Matlab 37
2 Thiết kế điều khiển 38
2.1 Mô hình tổng thể hệ thống điều khiển 38
2.2 Các khối chính trong mô phỏng 38
3 Mô phỏng và kết quả 45
3.1 Các bước mô phỏng 45
3.2 Kết quả 45
PHỤ LỤC 49
I OpenGL 49
II Matlab 62
Trang 3CHƯƠNG I: ĐỘNG HỌC ROBOT HARMO
1 Phân tích và lựa chọn cấu trúc
1.1 Phân tích mục đích ứng dụng robot trong sản xuất, chế tạo
Mục tiêu ứng dụng robot công nghiệp nhằm góp phần nâng cao năng suất dây truyền công nghệ, giảm giá thành, nâng cao chất lượng và khả năng cạnh tranh của sản phẩm, đồng thời cải thiện điều kiện lao động Đạt được các mục tiêu trên là nhờ vào khả năng của robot như : làm việc không biết mệt mỏi, làm việc được ở các môi trường mà con người không thể làm được… Trong các ngành công nghiệp robot hàn được sử dụng rộng rãi để thay thế cho con người, do tính chất công việc độc hại, nguy hiểm, ảnh hưởng xấu tới sức khỏe người công nhân Đặc biệt robot làm việc với độ chính xác cao
Cũng như các robot khác, robot Harmo có nhiều ứng dụng trong thực tế Ở bài tập lớn này chúng em sẽ thực hiện thao tác mô phỏng dựa trên ứng dụng phổ biến nhất của chúng là gắp phôi
từ máy ép nhựa chuyên dụng Robot sẽ thực hiện gắp sản phẩm ra từ khuôn đúc đến các vị trí băng chuyền nhất định đảm bảo được độ chính xác vị trí và quy trình ép
1.2 Phân tích yêu cầu kĩ thuật
Trang 4LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
Ưu điểm của cơ cấu robot này:
- Tiết kiệm diện tích cho khâu đế
- Dễ dàng thực hiện với đối tượng nằm trong mặt phẳng nằm ngang
- Kết câu đơn giản nhưng vẫn đảm bảo tính linh hoạt
2 Giải bài toán động học
2.1 Thiết lập hệ tọa độ của robot
Để thiết lập được các phương trình động học của Robot nói riêng cũng như của các vật khác nói chung thì trước hết ta phải thiết lập được hệ tọa độ cho vật dó bởi phương trình động học sẽ chỉ tương ứng với một hệ tọa độ nhất định Theo quy tắc đặt hệ tọa độ thì gốc của hệ tọa độ thứ i gắnliền với chính khâu thứ i đó và được đặt tại giao điểm của đường vuông góc chung giữa hai trục khớp động thứ i + 1 và khớp động thứ i với chính trục khớp động thứ i + 1 Trong trường hợp haitrục của khớp động giao nhau thì gốc tọa độ sẽ được lấy trùng với chính giao điểm đó Còn nếu hai trục song song với nhau thì gốc tọa độ được chọn là điểm bất kỳ trên trục khớp động i+1.Trục Zi của hệ tọa độ thứ i nằm dọc theo trục khớp động thứ i+1
Trục Xi của hệ tọa độ thứ i nằm dọc theo đường vuông góc chung hướng từ khớp động i đến khớp động i+1 Trường hợp hai trục giao nhau, hướng trục Xi sẽ trùng với hướng vecto ZixZi-1, tức là vuông góc cới mặt phẳng chứa Zi, Zi-1
Trang 5Áp dụng nguyên tắc đặt hệ trục tọa độ trên vào robot Harmo ta có hệ tọa độ của robot Harmo như hình vẽ.
Hình 2.1 Sơ đồ động học Robot Harmo.
Trang 6LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
+
θ
i: Góc giữa hai đường vuông góc chung Là góc quay quanh trục Z
i-1để trục X
i-1Trong robot Harmo thì các thông số xác định như sau:
+ a1: là khoảng cách giữa trục khớp động 1 và khớp động 2
+ a2: là khoảng cách giữa trục khớp động 2 và khớp động 3
+ a3: là khoảng cách giữa trục khớp động 3 và khớp động 4
+ a4: là khoảng cách giữa tâm quay và tay kẹp
+ h: là khoảng cách giữa gốc tọa độ O và trục khớp động 1
Ban đầu dịch chuyển dọc theo trục Z một khoảng h, quay theo trục X một góc -900, sau đó các trục khớp động 1, 2, 3, 4 lần lượt vuông góc với nhau nên ta có:
Trang 72.3 Thiết lập các mô hình biến đổi và các ma trận biến đổi.
Trên cơ sở đã được xây dựng được các hệ tọa độ với hai khâu động liên tiếp nhau và bộ thông số
DH, có thể thiết lập mối quan hệ giữa hai hệ tọa độ liên tiếp nhau theo các bước sau:
Quay quanh trục Zi-1 một góc
θ
iTịnh tiến dọc trục
Zi-1 một khoảng diTịnh tiến dọc trục
Xi-1 (đã trùng với Xi) một khoảng aiQuay quanh trục Xi-1 một góc αi
Bốn bước này được thể hiện bằng tích các ma trận thuần nhất sau:
Ai = R(z, θi).Tp(0,0,di).Tp(ai,0,0).R(x, αi)
Các ma trận ở vế phải được tính theo công thức của các phép biến đổi ma trân:
Quay quanh trục OX một góc α:
Trang 8LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
Trang 9Phương trình động học cơ bản của robot được thành lập dựa trên cơ sở của các ma trận Ai đã tính
ở bước trên Ma trận Ti là tích của các ma trận Ai và là ma trận mô tả vị trí và hướng của tọa độ gắn liền với khâu thứ i so với hệ tọa độ cố định Trong trường hợp i = n, với n là số hiệu chỉ hệ tọa độ gắn liền với “điểm tác động cuối” và được viết ở dạng tường minh như sau:
Trong đó TE là ma trận mô tả trạng thái của “điểm tác động cuối” và được viết ở dạng tường minh như sau:
Các phần tử của ma trận 3x1 là tọa độ xE,yE,zE của điểm tác động cuối E Mỗi ma trận quay 3x3
là một véc tơ đơn vị chỉ phương một trục tọa độ động UVW (gắn liên với khâu cuối cùng của Robot và có gốc là điểm tác động cuối) biểu diễn trong tọa độ cố định XYZ Suy ra:
Đây là phương trình động học cơ bản của robot, nó mô tả trang thái (tọa độ, phương chiều) của điểm tác động cuối
Ứng dụng vào thực tế trên robot Harmo ta có phương trình động học cơ bản của robot harmo là:
Trang 10LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
Trang 11Hình 2 Mặt phẳng XY2.6 Tính toán vận tốc góc của từng khâu
Vận tốc dài các khâu biểu diễn trong hệ Ox
0y
0z
0lần lượt là:
Trang 12LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
Vì các khâu 1,2,3 là khâu tịnh tiến nên ta có vận tốc góc của 3 khâu đo bằng 0 Khâu 4 là khâu quay nên ta tính vận tốc góc khâu 4 như sau:
2.7 Thiết kế quỹ đạo với quy luật vận tốc cho trước của điểm cuối tay kẹp, tìm ra quy luậtvận tốc của các góc khớp
Quỹ đạo khâu thao tác của robot phải đạt được chính xác vị trí tại các điểm nút, tuy nhiên không yêu cầu chính xác vị trí tại các điểm giữa các nút
=> Thiết kế quỹ đạo trong không gian khớp.
Quỹ đạo động học yêu cầu đảm bảo vận tốc, vị trí ở các điểm mút, liên tục về vận tốc
=> Thiết kế quỹ đạo dạng đường thẳng
Ta có phương trình đường thẳng trong không gian giữa 2 điểm A(x
0,y
0,z
0) và
Trang 13Để thỏa mãn điều kiện về vận tốc đầu và vận tốc cuối ta thiết lập quan hệ x=x(t) theo hàm đa thức bậc 3:
Trang 14LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
Cho quy luật chuyển động của điểm tác động cuối E:
Xác định quy luật chuyển động của các khâu:
Phương trình xác định vị trí:
Phương trình xác định hướng(sử dụng ma trận Cardan):
Trang 15Từ đó giải ra được
Đồ thị điểm tác động cuối E
Trang 16LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
Trang 170 1 2 3 4 5 6 7 0
1 2 3 4 5 6 7
x
Đồ thị khớp q2
Trang 18LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
1 1.05
Trang 19CHƯƠNG II SỬ DỤNG OPENGL MÔ PHỎNG BÀU TOÁN ĐỘNG
HỌC NGƯỢC ROBOT HARMO
1 OpenGL
1.1 Giao diện
- Giao diện gồm hai phần:
1 View thể hiện phần mô hình robot Harmo
2 FromView: điều khiển các khớp, giải bài toán động học ngược
+ Khớp q1,q2,q3,q4
+ Bài toán động học ngược dựa trên bài toán nội suy phương trình bậc 3
1.2 Vấn đề code trong OpenGL
1.2.1 Sơ đồ các lớp
Trang 20LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
Trang 211.2.5 Material
- Lớp này định nghĩa tính chất cho vật liệu về màu sắc, độ bóng…
- Lấy định nghĩa màu sắc từ lớp Color
1.2.6 Model
-Lớp này xây dựng đối tượng
-Sử dụng các lớp VEC3D, STL_file, Material
- Lớp này là lớp FormView của MFC nó là một Form phụ được chia cắt từ View ra
- Lớp này quản lý các biến điều khiển giải bài toán ngược của mô hình
1.2.12 MainFrm
- Lớp này là lớp quản lý toàn bộ giao diện MFC
1.2.13 Bai1Doc
- Lớp này quản lý các giá trị của MFC
-Giao tiếp các biến giữa các lớp MFC phải thông qua lớp này
1.3 Các chú ý khi sử dụng OpenGl
1 Các khâu của Robot phải được đặt đúng tọa độ DH
Trang 22LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
Trang 23CHƯƠNG III THIẾT KẾ MÔ HÌNH 3D VÀ LẮP RÁP TRÊN
SOLIDWORK
1 Môi trường 3D trong Solidwork
1.1 Các lệnh cơ bản
Là môi trường chính chứa các lệnh tạo khối 3D từ môi trường 2D
* Lệnh extrude boss/base: Tạo thể tích bằng cách quét tiết diện theo phương vuông góc.
- From: Xác định điều kiện bắt đầu cho thể tích
Sketch plane: Extrude tiết diện từ mặt phẳng vẽ sketch
Trang 24LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
- Direction 1,2: Tạo thể tích theo hướng Direction 1 hay direction 2 hoặc là theo cả 2
hướng
Blind: Nhập chiều cao của thể tích cần tạo
Up to vertex: Kéo dài thể tích đến mặt phẳng song song với mặt phẳng vẽ sketch và đi qua điểm
chỉ ra
Up to surface: Kéo dài thể tích đến một bề mặt được chỉ ra Lưu ý mặt này không cần phải chứa
toàn bộ tiết diện cần tạo thể tích
Offset from surface:Thể tích được tạo ra cách một bề mặt được chỉ ra một khoảng cách
Up to body: Kéo dài chi tiết tới một mô hình sẵn có.
Mid-plane: Kéo dài biên dạng đều về cả hai phía.
1.2 Thiết kế mô hình 3D robot Harmo
1.2.1 Khâu đế
Trang 251.2.2 Khâu 1
1.2.3 Khâu 2
Trang 26LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
1.2.4 Khâu 3
Trang 271.2.4 Khâu 4
2 ASSEMBLY
2.1 Gán hệ trục tọa độ cho các khâu
2.1.1 Cách gắn gốc tọa độ khâu trong Solidwork
Xét một hình hộp chữ nhật nằm ở vị trí bất kỳ trong hệ tọa độ của Solidwork Và muốn tạo một
hệ tọa độ mới cho nó, việc tạo một hệ tọa độ quy chiếu mới giúp xác định một số thông số hình học của mô hình, ví dụ như khoảng cách, tọa độ các mô-men v.v… đặc biệt là nếu muốn xuất nó
Trang 28LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
chọn thẻ Insert, Reference Geometry, Coordinate System… như minh họa dưới:
Xuất hiện bảng thuộc tính của lệnh này xuất hiện bên trái, với 4 trường cho phép chọn gốc tọa độ
và các trục X, Y và Z:
Click vào từng trường rồi chọn các đối tượng thích hợp trong vùng đồ họa để hoàn thành quá trình
Trang 292.1.2 Cách gắn các trục tọa độ khâu trong Solidwork
Các mô hình nhập đôi khi có tọa độ chưa đúng Nếu muốn di chuyển khối hộp này về tọa độ chuẩn của Solidwork, thì làm như sau:
Vào thẻ đơn Insert, Feature, Move/Copy… như minh họa dưới:
Bảng thuộc tính của lệnh này xuất hiện
Trang 30LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
Bạn hãy click nút Constraints ở dưới cùng để dóng các mặt của mô hình trùng với các mặt tọa
Trang 31Thiết lập môi trường Assembly: File/New/Assembly Khi đó nhấp nút OK môi trường Assembly
có dạng như hình sau
Môi trường Assembly
Các ràng buộc lắp ráp thường dùng
Lệnh Mate dùng để tạo các ràng buộc lắp ráp giữa các chi tiết Sau khi gọi lệnh, nhấp chọn mặt
(hoặc cạnh) của đối tượng thứ nhất Sau đó, nhấp chọn mặt (hoặc cạnh) của đối tượng thứ hai
Khi đó hộp thoại Mate xuất hiện:
Ta có các lựa chọn
Trang 32LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
- Anti-Aligned: ngược chiều.
- Preview: xem trước mối ghép.
- Undo: hủy bỏ thao tác vừa thực hiện.
- Standars Mates: các phương pháp lắp cơ bản.
- Concident: đưa các mặt hoặc các cạnh về
trùng nhau
- Parallel: đưa các mặt hoặc các cạnh về
song song nhau
- Perpendicular: đưa các mặt hoặc các
cạnh vuông góc nhau
- Tangent: tạo ràng buộc tiếp xúc.
- Concentric: đưa các lỗ hoặc trục về
đồng tâm với nhau
- Lock: Khóa vị trí và định hướng
giữa hai đối tượng
- Distance: xác định khoảng cách giữa hai mặt hoặc cạnh.
- Angle: xác định góc hợp bởi hai cạnh hoặc hai mặt.
CHƯƠNG IV ĐỘNG LỰC HỌC ROBOT HARMO
1 Phương trình vi phân chuyển động
Trang 34LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
CHƯƠNG V THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ROBOT HARMO
1 Môi trương làm việc
1.1 Cài đặt Toolbox SimMechanics vào Matlab và liên kết vào Solidwork\
Simmechanic là một công cụ giúp mô phỏng một hệ thống cơ điện tử, nó liên kết phần cơ khí, điều khiển lại với nhau Để cài đặt đầu tiên bạn phải cài Matlab và một phần mềm thiết kế 3D như:
Sau đó chọn bản cài đặt Simmechanic phù hợp với bản Matlab đang dùng Ví dụ: SimMechanics Link 4.4 – Dùng với bản Matlab 2014a
Chọn hệ điều hành mà bạn đang sử dụng và download Simmechanic với bản tương ứng Ví dụ: Win 64 bit thì download: 2 file: smlink.r2014a.win64 và install_addon.m
Copy 2 file trên vào thư mục cài đặt chương trình Ví dụ “D:\Program Files\MATLAB\R2014a\bin” Gõ lệnh “install_addon('smlink.r2014a.win64.zip')”
Trang 35Tiếp trục gõ lệnh “smlink_linksw” vào cửa sổ Command Windows để liên kết với các phần
mềm thiết kế 3D
Mở phần mềm thiết kế 3D, ví dụ ở đây là Solidwork Click vào biểu tượng trên thanh công cụ
chọn Add-Ins
Ở hộp thoại tiếp theo tích chọn vào SimMechanics
1.2 Quỹ đạo chuyển động
Quỹ đạo chuyển động của khâu thao tác là tập hợp của nhiều đường thẳng và đường cong khác nhau, nhằm thực hiện yêu cầu chế tạo
Trang 36LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
1.3 Xuất sang Matlab
Bước 1: Sử dụng Add-in SimMechanics Link trong Solidwork để xuất ra file xml
Trang 37Và sử dụng lệnh mech_import vào Matlab
2 Thiết kế điều khiển
2.1 Mô hình tổng thể hệ thống điều khiển
Mô hình tổng thể2.2 Các khối chính trong mô phỏng
2.2.1 Khối quỹ đạo
Trang 38LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
Tạo khối quỹ đạo:
1 Tool-> Library Browser :Tìm kiếm và chọn khối subsystem
2 Kích vào khối vừa tạo thêm Clock, In ,Out, Matlab Funtion cho khối,nối các khối lại vào nhau
3 Xây dựng hàm giả bài toán quỹ đạo trong các khối Matlab Funtion
Trang 392.2.2 Khối động học ngược
- Khối động học ngược giả bài toán động học ngược vị trí và vận tốc
Các bước tạo khối đọng học ngược giống khối quỹ đạo
-đầu vào rE, vE, aE,các góc các đăng -Matlab Funtion: Động học ngược vị trí, động học ngược vận tốc, gia tốc
Trang 40LẬP TRÌNH MÔ PHỎNG ROBOT HARMO GVHD: TS Đỗ Đăng Khoa
2.2.3 Khối PID
- Khối PID_controller là khối tính toán bù sai lệch bằng PID
Các bước tạo khối đọng học ngược giống khối quỹ đạo
- Đầu vào
+ qv, qvd, qvdd là góc khớp, omega, gia tốc khớp ban đầu bài toán yêu cầu
+q, qd đo được từ chuyển động của robot
- Đầu ra U’ tín hiệu điều chỉnh sai lệch
- Các khối Ki, Kp, Kd là các khối Gain trong Matblab