GIỚI THIỆU CHUNG VỀ ROBOT DELTA
Khái niệm
Vào đầu thập niên 80, giáo sư Reymond Clavel tại EPFL đã phát triển một ý tưởng độc đáo về việc sử dụng cơ cấu hình bình hành để tạo ra một robot song song với ba bậc tự do tịnh tiến và một bậc tự do quay Điều quan trọng là ý tưởng này hoàn toàn thuộc về Clavel, không phải là sự bắt chước từ cơ cấu song song đã được Willard L Polard đăng ký bản quyền vào năm 1942.
L Polard cũng không hề biết đến giáo sư Clavel Robot song song Delta đã được đánh giá là một trong những thiết kế robot song song thành công nhất với hàng trăm robot đang hoạt động trên toàn thế giới Năm 1999, tiến sĩ Clavel đã nhận được giải thưởng Golden Robot Award được tài trợ bởi ABB Flexible Automation, để tôn vinh những hoạt động sáng tạo của ông về robot song song Delta a) Delta Parallel Robot Diagram b) ABB FlexPicker Delta Robot
Robot Delta sử dụng các hình bình hành để duy trì một hướng cố định tương ứng với khâu vào, với ba hình bình hành giữ chặt hướng của bệ di động và chỉ có ba bậc tự do tịnh tiến Các khâu vào của ba hình bình hành được kết nối với các cánh tay quay thông qua các khớp quay, và các khớp này có thể được truyền động bằng động cơ quay (DC hoặc AC servo) hoặc bộ tác động tuyến tính Cuối cùng, cánh tay thứ tư chuyển động quay từ đế đến khâu tác động cuối gắn trên tấm dịch chuyển.
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 3
Việc sử dụng bộ tác động gắn trên đế và khâu nhẹ giúp tấm dịch chuyển đạt gia tốc lên đến 50 G trong phòng thí nghiệm và 12 G trong ứng dụng công nghiệp, khiến robot Delta trở thành lựa chọn lý tưởng cho các hoạt động nâng – đặt đối tượng nhẹ từ 10 gr đến 1 kg Robot Delta có vùng làm việc hình trụ với đường kính 1 m và chiều cao 0,2 m, hoạt động hiệu quả trong không gian này.
Ứng dụng của robot delta
a) Ứng dụng trong công nghiệp
Lịch sử robot Delta trên thị trường bắt đầu từ năm 1983, khi hai anh em người Thụy Sĩ, Marc-Olivier và Pascal Demaurex, thành lập công ty Demaurex tại Romanel-sur-Lausanne, Thụy Sĩ Hành trình phát triển của robot Delta rất dài và phức tạp, mang đến nhiều điều thú vị cho ngành công nghiệp tự động hóa.
Vào năm 1987, Demaurex đã mua giấy phép sử dụng bản quyền robot Delta với mục tiêu thương mại hóa trong ngành công nghiệp đóng gói Sau vài năm, công ty đã khẳng định vị thế quan trọng trong thị trường đầy thách thức này và tiến hành cải tiến sản phẩm Họ đã giới thiệu bốn phiên bản robot mới, bao gồm Pack-Placer, Line-Placer, Top-Placer và Presto Đến nay, Demaurex đã bán được hơn 500 robot Delta trên toàn thế giới.
ABB Flexible Automation đã ra mắt robot Delta IRB 340 FlaxPicker vào năm 1999, nhắm đến ba lĩnh vực chính: thực phẩm, dược phẩm và điện tử Robot này được trang bị hệ thống chân không, cho phép nhấc và di chuyển nhanh chóng các vật nặng đến 1 kg Được dẫn dắt bởi thiết bị quan sát Cognex và bộ điều khiển ABB S4C, FlaxPicker cũng có thể tích hợp bộ điều khiển chuyển động và hệ thống quan sát từ Adept Technology Với tốc độ đạt khoảng 10 m/s và 3,6 deg/s, robot có khả năng thực hiện tới 150 lần nhấc trong một phút, cùng với gia tốc lên đến 100 m/s2 và 1,2 rad/s2 FlaxPicker hiện có hai phiên bản khác nhau.
Sau hơn 15 năm dẫn đầu thị trường, Demaurex phải đối mặt với sự gia nhập của ABB vào lĩnh vực robot Để thích ứng, Demaurex đã chuyển từ sản xuất robot Delta rời rạc sang các cụm robot hoàn chỉnh Nhằm đảm bảo sự ổn định lâu dài, Demaurex đã tìm kiếm đối tác và vào cuối năm 1999, họ đã hợp tác với tập đoàn SIG tại Thụy Sĩ.
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 4
Hình 1.2: Robot Delta trong phân loại sản phẩm b) Robot delta trong giáo dục và nghiên cứu
Robot Delta không chỉ được ứng dụng trong ngành công nghiệp mà còn thu hút sự chú ý trong nghiên cứu tại các phòng thí nghiệm Nhiều biến thể của robot này đã được phát triển, nhưng phần lớn vẫn giữ nguyên thiết kế ban đầu Một trong những biến thể đáng chú ý được tạo ra bởi Đại học Genoa, trong đó cơ cấu hình bình hành được thay thế bằng các cơ cấu tương đương Ngoài ra, robot NUWAR, được chế tạo tại Đại học Western, cũng là một phiên bản khác đáng kể.
NUWAR là một robot độc đáo được thiết kế để đạt gia tốc 600m/s², nổi bật với sự sắp xếp không đồng phẳng của các trục trong cơ cấu chấp hành Ngoài ra, phiên bản với ba động cơ tuyến tính cũng đã được phát triển tại phòng thí nghiệm Ferdinand-von-Steinbeis.
Schule, ETH Zurich, và đại học Stuttgart
Tất nhiên nơi robot Delta được nghiên cứu nhiều nhất và có nhiều biến thể nhất là tại nơi sinh ra chúng - EPFL
Hình 1.3: Robot delta phục vụ trong giáo dục
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 5
TỔNG QUAN VỀ HỆ THỐNG ROBOT VÀ BĂNG TẢI
Các khối cơ bản
Hình 1.4: Các thành phần trong hệ thống robot
Hệ thống robot Delta bao gồm các thành phần chính như khâu robot, hệ thống dẫn động, máy tính và dụng cụ thao tác Mối liên hệ giữa các thành phần này được thể hiện rõ ràng trong hình 1.4.
Dụng cụ thao tác gắn trên khâu cuối của robot bao gồm các giác hút, tay kẹp, đầu khắc laser, đầu in 3D và đầu bút vẽ, cho phép người dùng tùy chọn theo nhu cầu sử dụng.
Các khâu robot bao gồm các khâu động, khâu bị động và bàn máy động, được liên kết với nhau qua các khớp cầu, tạo nên hình dáng và các chuyển động cơ bản của robot.
Động lực là các động cơ bước và servo, đóng vai trò quan trọng trong việc tạo ra chuyển động cho robot và các dụng cụ thao tác Các công tắc hành trình cung cấp tín hiệu phản hồi, giúp bộ điều khiển xác định vị trí ban đầu của robot một cách chính xác.
Camera chụp hình ảnh các vật thể trên băng tải và gửi về hệ thống máy tính để xử lý, xác định tọa độ và phân biệt màu sắc của các vật thể.
Vi điều khiển thực hiện việc truyền nhận và giải mã dữ liệu điều khiển từ máy tính, đồng thời thực hiện tính toán động học ngược cho robot Sau đó, nó truyền tín hiệu điều khiển đến các driver động cơ để điều chỉnh góc quay của động cơ.
Bộ điều khiển nhận tín hiệu phản hồi từ các cảm biến vị trí và nút nhấn, giúp thực hiện các chức năng đã được lập trình cho nó.
Máy tính (CPU) nhận dữ liệu từ bộ điều khiển, camera và cảm biến tốc độ băng tải để xử lý ảnh, xác định tọa độ ban đầu của vật thể Sau đó, nó giải phương trình để tìm tọa độ của vật thể sau thời gian t và tự động tạo mã Gcode điều khiển Đồng thời, CPU cũng nhận tín hiệu và chương trình từ người vận hành, thể hiện vị trí làm việc mong muốn cho robot.
Hệ thống quy định hai loại mã điều khiển chính: mã lấy tọa độ vị trí và mã điều khiển mở, cho phép người vận hành nhập vào qua giao diện tùy theo yêu cầu công việc của robot Các mã điều khiển này được truyền tuần tự đến bộ điều khiển để thực hiện quá trình xử lý.
Chương trình giao tiếp và điều khiển được phát triển để tính toán các phương trình, tạo kết nối giữa người vận hành và hệ thống điều khiển Nó xuất gcode nhằm điều khiển robot dựa trên tọa độ tính toán từ camera và cảm biến vận tốc băng tải, đồng thời thực hiện các chức năng khác theo yêu cầu của người dùng.
Vấn đề giải quyết
Để xây dựng robot Delta cho công nghiệp, cần phát triển một hệ thống tự động hoàn chỉnh, cho phép người dùng cài đặt và thiết lập chu trình qua phần mềm tương tác Robot phải di chuyển an toàn, đúng tọa độ để không ảnh hưởng đến quy trình sản xuất và dễ dàng lắp ráp, thích nghi với nhiều loại hình sản xuất khác nhau, đáp ứng các loại băng tải Việc kết hợp với camera giúp nhận diện màu sắc và hình dáng vật thể trên băng tải, đảm bảo việc gắp thả chính xác và đếm số lượng sản phẩm trong thời gian thực Để đáp ứng các yêu cầu này, cần giải quyết một số vấn đề quan trọng.
Điều khiển chính xác vị trí và vận tốc của khâu chấp hành cuối robot thông qua Gcode giúp giải quyết vấn đề động học ngược, mang lại khả năng điều khiển dễ dàng mà không cần can thiệp vào mã code.
Thứ hai, việc điều khiển robot trở nên dễ dàng hơn nhờ vào việc sử dụng bộ Gcode phổ biến, tương thích với nhiều loại máy CNC hiện nay Người dùng có thể điều khiển robot thông qua phần mềm hoặc giao diện đơn giản, mang lại sự thuận tiện trong quá trình vận hành.
Vào thứ ba, chúng tôi sẽ xác định tọa độ di chuyển của vật thể thông qua Camera và cảm biến vận tốc băng tải Điều này giúp thực hiện việc bắt điểm di chuyển để gắp và hút vật thể Chúng tôi cũng sẽ tính toán thứ tự thực hiện gắp khi có nhiều vật thể trên băng tải cùng lúc, nhằm tối ưu hóa thời gian thực hiện và nâng cao tốc độ cũng như năng suất.
Các bộ phận của robot và các thuật toán điều khiển cần được chuẩn hóa để dễ dàng sử dụng và sửa chữa khi gặp sự cố Hơn nữa, bộ Gcode điều khiển phải được đồng bộ hóa với các máy CNC khác, nhằm đảm bảo khả năng tương thích với nhiều phần mềm biên dịch Gcode khác nhau.
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 7
THIẾT KẾ CƠ KHÍ ROBOT
KẾT CẤU ROBOT
2.1.1 Lựa chọn cơ cấu robot
Robot Delta 3 bậc tự do có nhiều dạng khác nhau trong đó có hai dạng phổ biến nhất là dạng 3RUS (hình 2.1) và dạng 3PUS (hình 2.2)
Robot Delta 3PUS là một lựa chọn phổ biến cho In3D Để thuận tiện cho việc lắp ráp trên băng tải mà không phụ thuộc vào bàn máy phía dưới, tác giả đã quyết định sử dụng loại Robot Delta 3RUS.
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 8
Hình 2.3: Kết cấu robot Delta
Cấu tạo của Robot Delta 3RUS là:
● Bàn cố định, có đông cơ lắp cố định phía trên
● 3 cánh tay chủ động gắng trức tiếp với động cơ hoặc qua hộp giảm tốc
● 6 thanh nối liên kết cánh tay với bàn di động thông qua khớp cầu, tạo thành hình bình hành
● Bàn di động, gắng với khâu chấp hành cuối
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 9
Hình 2.4 :Robot Delta ảnh thực tế
2.1.2 Cơ cấu dẫn động robot
Sử dụng phương pháp dẫn động dán tiếp thông quá hộp giảm tốc Ở đay là bộ truyền đai răng 1:3
Hình 2.5: Bộ truyền đai răng GT2 1:3
Bộ truyền đai răng giúp tạo lực nâng cho cơ cấu của robot nhưng lại làm giảm tốc độ hoạt động Hộp giảm tốc đai răng có hiệu suất truyền lực không cao và tỉ số kích thước trên tỉ lệ không đạt yêu cầu.
Bộ truyền đai răng, mặc dù có số truyền lớn, độ chính xác không cao và tỉ số truyền thấp, vẫn được sử dụng phổ biến trong các tay máy công nghiệp nhờ vào cấu trúc cơ khí đơn giản, giá thành rẻ và khả năng làm việc với phạm vi vận tốc và tải trọng rộng Điều này khiến nó trở thành lựa chọn ưu việt cho các robot yêu cầu kết cấu nhỏ và độ chính xác cao.
Hình 2.6: Khớp cầu trong Robot Delta
Khớp cầu là một bộ phận quan trọng trong các loại robot, nhờ vào thiết kế nhỏ gọn và khả năng linh hoạt, đồng thời đảm bảo độ chính xác cao Tuy nhiên, việc chế tạo khớp cầu vẫn gặp nhiều khó khăn.
2.1.4 Khung đế cố định và gá động cơ bước
Hình 2.7: Khung đế cố định cho robot
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 11
Hình 2.8: Gá động cơ bước và bộ truyền đai GT2
Khung robot delta làm bằng nhôm định hình liên kết với nhau bằng gá tam giác được in bằng nhựa in 3d
Gá động cơ được thiết kế để lắp bộ truyền đai GT2, được sản xuất bằng công nghệ in 3D với chất liệu nhựa Độ cứng của gá đáp ứng tốt cho các ứng dụng tải trọng thấp và phục vụ cho mục đích nghiên cứu.
Khung robot tạo thành hình tam giác đều và là chổ gá đặt chính xác cho 3 động cơ bước dùng để dẫn động 3 cánh tay của delta
2.1.5 Đế di động và cơ cấu chấp hành
Hình 2.9: Đế di động cho robot Delta
Đế di động là vị trí lắp đặt các khâu chấp hành cuối, mang lại độ chính xác tương đối và dễ dàng thiết kế Mặc dù nhược điểm của việc in 3D là độ cứng không cao, nhưng đế di động được trang bị các khớp và nam châm, giúp việc tháo lắp với cơ cấu chấp hành trở nên linh hoạt hơn.
Hình 2.10: Giác hút vật thể
Với giác hút bằng cao su dễ dàng hút nhiều vật có biên dạng và vật liệu khác nhau, dùng rất nhiều trong công nghiệp
2.1.6 Hệ thống băng tải và dẫn động cho băng tải
Hình 2.11: Băng tải sản phẩm
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 13
Hình 2.12: Động cơ và truyền động băng tải.
TỔNG QUAN MÔ HÌNH
Hình 2.13: Ảnh thực tế mô hình robot Delta
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 14
Bậc tự do là số lượng khả năng chuyển động của một cơ cấu, bao gồm cả chuyển động quay và tịnh tiến Để di chuyển một vật thể trong không gian, cơ cấu chấp hành của robot cần phải có đủ bậc tự do.
Nói chung cơ hệ của robot là một cơ cấu hở, do đó bậc tự do của nó có thể tính theo công thức của Kutzbach:
● N : Tổng số liên kết, bao gồm cả mặt đế
● J1: Số lượng các khớp loại 1
● J2: Số lượng các khớp loại 2
● J3: Số lượng các khớp loại 3
Số bậc tự do của Robot Delta:
Robot Delta có ba bậc tự do
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 15
ĐỘNG HỌC ROBOT DELTA
Một số thông số quan trọng của Robot Delta Đây là các thông số dùng để tính toán động học thuận và nghịch của robot
Hình 2.14: Ký hiệu các kích thước của Robot Delta
● f : là kích thước cạnh của tam giác cân chứa đế cố định của Robot
● e : là kích thước của cạnh tam giác của đế di động
● rf : là kích thước của cánh tay (Khoảng cách từ trục động cơ đến khớp cầu)
● re : là độ dài thanh nối cánh tay với đế di đông
● b : là khoảng cách từ tâm đế cố định đến mặt bàn hay mặt băng tải
Gốc toạ độ chọn là trùng với tâm của tam giác cố định và nằm trên cùng Như vậy toạ độ của các khâu và khâu cuối luôn âm
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 16
2.3.1 Động học thuận Robot Ở bài toán động học ngược này ta có các góc của các cánh tay (ꝋ1, ꝋ2, ꝋ3) toạ độ của khâu chấp hành cuối (x0, y0, z0)
Hình 2.15: Các thông số cần tính toán
Hình 2.16: Chú thích các giá trị dùng trong tính toán
Từ các góc của cánh tay ta tính ra các giá tri toạ độ cho các điểm J1, J2, J3 Các khớp nối J1E1, J2E2, J3E3 có thể xoay quanh các điểm J1, J2, J3 tạo hình cầu
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 17
Tay di chuyển trung tâm của các hình cầu J1, J2, J3 thành J1`, J2`, J3` bằng phương pháp sử dụng các vector chuyển tiếp
Ba quả cầu sẽ giao tại điểm E0, và toạ độ của điểm này là điều mà chúng ta cần tìm Sau khi giải các phương trình, ta có thể tính toán các toạ độ cuối từ góc ban đầu với các công thức cụ thể Đầu tiên, ta xác định t = (F - E) * tan30 / 2.0, sau đó tính y1, z1, y2, x2, z2, y3, x3, z3 Các giá trị w1, w2, w3 được tính từ các toạ độ này, từ đó xác định a1, b1, a2, b2 Cuối cùng, ta tính toán các hệ số a, b, c để hoàn thành bài toán.
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 18
Nếu d < 0 thì vô nghiệm tức là không tính được toạ độ khâu cuối z = -0.5*(b + sqrt(d)) / a x = (a1*z + b1) / dnm y = (a2*z + b2) / dnm
Từ đó ta có thể tìm toạ độ khâu cuối từ các góc ban đầu Dễ dàng biết được vị trí ban đầu của Robot Delta
Hình 2.17: Kích thước động học
Hình 2.18: Kích thước mặt cố định để tính toán
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 19
Trong bài toán động học ngược, chúng ta sử dụng các tọa độ của khâu chấp hành cuối (x0, y0, z0) để tính toán ngược lại các góc của các cánh tay (ꝋ1, ꝋ2, ꝋ2) Hình 2.19 minh họa kích thước mặt di động cần thiết cho quá trình tính toán này.
Phương trình ràng buộc vector có dạng:
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 20
Và giá trị góc cần tính là:
Sau khi tính ra tất cả chúng ta sẽ có 8 trường hợp nhưng chỉ chọn trường hợp tất cả các góc lớn hơn -90 và nhỏ hơn 90 độ
Từ các tọa độ của khâu chấp hành cuối, chúng ta có thể tính toán các góc của cánh tay để điều khiển robot Delta di chuyển đến tọa độ mong muốn.
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 21
HỆ THỐNG ĐIỀU KHIỂN
TỔNG QUAN HỆ THỐNG ĐIỀU KHIỂN
Hình 3.1: Sơ đồ nối dây mạch điều khiển Delta
Mạch điều khiển dùng chip xử lý chính Arduino Mega 2560 Và một Shield
Ramp 1.4 thường dùng cho máy in3D để dễ thay thế khi hỏng hóc
Bộ điều khiển có nhiệm vụ truyền nhận dữ liệu điều khiển từ máy tính, giải mã tín hiệu và thực hiện tính toán động học ngược cho robot Nó gửi xung điều khiển đến các driver động cơ để điều chỉnh góc quay và gửi xung điều khiển servo Đồng thời, bộ điều khiển cũng nhận tín hiệu phản hồi từ các công tắc hành trình và nút nhấn để thực hiện các chức năng đã được lập trình.
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 22
CÁC LINH KIỆN CHÍNH TRONG HỆ THỐNG
Arduino Mega 2560 là mạch điều khiển phổ biến hiện nay, sử dụng chip Atmega 2560, phù hợp cho các hệ thống nhúng không quá phức tạp Với tần số 16MHz, nó đủ nhanh để xử lý tín hiệu thời gian thực và điều khiển robot hiệu quả.
● SHIELD RAMP 1.4: là một board cắm lên arduino mega hay dùng cho máy in 3d
● Driver A4988: Driver điều khiển động cơ bước công suất nhỏ, với độ phân giải nhỏ nhất 1:16
● Động cơ bước Nema 17: Động cơ bước có bước 1.8 độ, đòng tối đa 2A
Hình 3.2: Ảnh Arduino và nối dây thực tế
Hình 3.3: Sơ đồ mạch in mạch điều khiển chính
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 23
● Relay điều khiển có cách ly quan: Điều khiển động cơ hút và Van xả
● Van xả khí: Xả khí giúp thả vật thể nhanh
Hình 3.4: Hộp điều khiển đầu hút
● Driver điều khiển băng tải: Điều khiển băng tải đúng tốc độ mà bộ điều khiển gởi xuống
Hình 3.5: Driver điều khiển băng tải
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 24
● Encoder: Đọc tốc độ băng tải và quảng đường di chuyển được của sản phẩm
Hình 3.6: Encoder đọc tốc độ
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 25
CHƯƠNG TRÌNH ĐIỀU KHIỂN – FIRMWARE
LƯU ĐỒ THUẬT TOÁN
Hình 4.1: Lưu đồ thuật toán của Firmware
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 26
PHẦN MỀM LẬP TRÌNH
Hình 4.2: Giao diện phần mềm lập trình cho Firmware
Phần mềm Visual Studio là công cụ quản lý mã nguồn phổ biến và mạnh mẽ nhất hiện nay, được nhiều sinh viên và lập trình viên chuyên nghiệp ưa chuộng sử dụng.
MỘT PHẦN ĐOẠN CODE QUAN TRỌNG TRONG FIRMWARE
Việc sử dụng timer để điều khiển nhiều động cơ bước đồng thời là yếu tố quan trọng trong Firmware Timer cho phép chương trình thực hiện nhiều tác vụ cùng lúc, đảm bảo điều khiển động cơ bước đến vị trí quy định mà vẫn có thể nhận tín hiệu từ máy tính điều khiển.
Các động cơ cần đồng bộ hóa thời gian bắt đầu và kết thúc, đồng thời vận tốc tương quan phải chính xác để đảm bảo đường di chuyển của khâu cuối theo đúng quỹ đạo đã định Timer đóng vai trò quan trọng trong việc hỗ trợ lập trình cho quá trình này.
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 27
Hình 4.3: Đoạn chương trình Setup Timer
Hình 4.4: Đoạn chương trình tính động học ngược Robot
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 28
Hình 4.5: Đoạn chương trình chọn góc sau khi tính ngược
Hình 4.6: Chương trình thực thi vận tốc động cơ bước
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 29
GCODE ĐIỀU KHIỂN ROBOT
Xây dựng hệ thống điều khiển chuẩn giống các máy CNC khác có trên thị trường và máy in 3d
Các mã Gcode và cách dùng:
• G28: Cho robot chạy về vị trí ban đầu
• G90: Cài đặt hệ toạ độ tuyệt đối
• G91: Cài đặt hệ toạ độ tương đối
• G41 Px: Điều khiển bơm hút hoạt động (x – là: 1 – on, 2 - off)
• G42 Vx: Điều khiển đầu hút khí nén (x – là: 1 – on, 2 - off)
• G04 Px: Delay robot một khoản thời gian (x: thời gian ms)
• M03 Sx: Cài đặt vận tốc di chuyển đầu cuối (x: vận tốc mm/s)
• M04 Hx: Cài đặt vận tốc về Home (x: vận tốc độ/s)
• M05 Bx: Vận tốc bắt đầu di chuyển (x: vận tốc mm/s)
• M06 Ex: Vận tốc kết thúc di chuyển (x: vận tốc mm/s)
• M204 Ax: Gia tốc (x: gia tốc mm 2 /s)
• M500: Lưu giá trị vừa cài đặt
• M501: Reset lại giá trị mặc định
• M502: Lấy giá trị đã lưu
• M84: Bỏ giữ động cơ bước
• G00 Xi Yj Zu: Di chuyển đường thẳng đến vị trí X, Y, Z với toạ độ là i, j, u
• G01 Xi Yj Zu: Di chuyển đường thẳng đến vị trí X, Y, Z với toạ độ là i, j, u
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 30
PHẦN MỀM ĐIỀU KHIỂN
KẾT NỐI
- Phần mềm kết nối với Robot Delta chỉ với một thao tác
Khi nhấn nút “Connect”, phần mềm sẽ quét tất cả các cổng COM khả dụng trên máy tính, sau đó kết nối lần lượt và gửi thông điệp “IsDelta”.
COM nào phản hồi lại “YesDelta” thì phần mềm sẽ chọn cổng COM đó là của Robot
COM1: >> “IsDelta” ……… … (timeout) -> đóng COM1
COM4: >> “IsDelta” ………… giữ COM4
COM18: >> “IsDelta” ……… … (timeout) -> đóng COM18
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 32
QUẢN LÝ GCODE
- Phần mềm trình bày các file Gcode theo giao diện Item List được tạo bởi 2 class GcodeProgram và GcodeProgramManager
- Mỗi Item gồm tên file, nút delete và số dòng Gcode trong file
- Khi nhấn vào nút “new” một item được tạo ra trên list cùng với 1 file text có đuôi gcode được tạo ra trên ổ cứng
- Khi kích vào 1 item, nội dung file Gcode sẽ được load vào trình soạn thảo gcode
Hình 5.3: Bộ quản lý Gcode
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 33
BỘ BIÊN SOẠN, BIÊN DỊCH VÀ XỬ LÝ TIẾN TRÌNH GCODE
Hình 5.4: Phần biên soạn gcode trong phần mềm
+ Nút “G01”, “G28”, “M03”, “M204” : thêm ra dòng Gcode tương ứng vào vùng soạn thảo Gcode
+ Nút Format : đánh số thứ tự cho mỗi dòng Gcode theo dạng Nx
Số thứ tự này ta có thể dùng cho lệnh GOTO trong Gcode
+ Chuyển đổi những đoạn Gcode đi kèm từ khóa lập trình phức tạp trong vùng soạn thảo thành những dòng Gcode cơ bản
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 34
+ Các câu lệnh lập trình:
● GOTO: nhảy đến 1 dòng Gcode xác định qua số thứ tự
● IF [CONDITION] THEN [STATEMENT]: lệnh rẻ nhánh, nếu [CONDITION] đúng thì [STATEMENT] được gọi
• CONDITIONAL EXPRESSIONS: Biểu thức điều kiện
+ GE: Greater than or equal
+ LE: Less than or equal
Ví dụ: 3 NE 5 → 3 không bằng 5
• VARIABLE: biến lưu trữ giá trị, có thể thay đổi được
• EXPRESSION: biểu thức bao gồm các phép tính +, -, *, / và biểu thức con được chưa trong dấu [ và ]
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 35
- Bộ xử lý tiến trình Gcode:
+ Gửi từng dòng Gcode xuống Robot Delta và chỉ gửi dòng tiếp theo nếu nhận được phản hồi thông tin “Ok” từ robot
+ Quản lý vòng lặp thực thi, chương trình con bên Gcode, và các đưa các tham số từ các module xử lý ảnh, ROS, vào Gcode.
BẢNG ĐIỀU KHIỂN TRỰC TIẾP
Hình 5.5: Phần điểu khiển robot trực tiếp
- Nút “Home”, “X”, “Y”, “Z”, “W”, “Grip”, “Pump”: Gửi lệnh Gcode điều khiển robot về home, di chuyển theo phương X, Y, Z, quay đầu công tác và hút nhả
- Z slider: Trương thanh slide để thay đổi chiều cao của đầu công tác robot
- XY panel: Dùng chuột di chuyển hình tam giác để di chuyển đầu công tác của robot
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 36
XỬ LÝ CAMERA
Hình 5.6: Phần hiển thị Camera
- Cung cấp các bộ tiền xử lý cơ bản để phát hiện đối tượng cơ bản như phân vùng sáng và lọc màu
- Bám đối tượng và lưu giá trị vị trí vào biến hệ thống của bộ xử lý tiến trình Gcode.
LƯU ĐỒ THUẬT TOÁN CỦA PHẦN MỀM
Hình 5.7: Lưu đồ thuật toán của phần mềm
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 37
LẬP TRÌNH XỬ LÝ ẢNH CỦA PHẦN MỀM
+ Ta dùng hàm Resize để đưa ảnh về tỷ lệ mới phù hợp với tình toán khi lấy toạ độ các vật thể của chúng ta
Sử dụng lệnh Crop để cắt bỏ vùng ảnh có băng tải, loại bỏ các phần thừa bên ngoài Sau đó, chuyển đổi hệ màu của ảnh từ RGB sang HSV để tiến hành xử lý ảnh hiệu quả hơn.
- Xử lý ảnh và lấy vật thể:
- H viết tắt của từ HUE có nghĩa là vùng màu
- S Viết tắt của từ SATURATION có nghĩa là độ bảo hòa màu
- V viết tắt của chữ VALUE có nghĩ là giá trị hay độ sáng của màu sắc
Để nhận dạng vật thể, Tạ chọn vùng cho H dựa trên màu sắc của vật thể cần nhận diện Từ đó, chúng ta xác định giá trị tối đa và tối thiểu, và các vùng ảnh có giá trị nằm trong khoảng này sẽ được nhận diện là vật thể.
+ Với cường độ ánh sáng trong môi trường mà ta chọn được giá trị V phù hợp tương tự như H
Sau khi xác định được H và V, chúng ta tiến hành chọn vùng tối đa và tối thiểu cho S Với giá trị S, ta có thể tăng dần cho đến khi vật thể trở nên rõ nét nhất Phương pháp này có thể được coi là một cách chọn lựa tự động hiệu quả.
Sau khi thực hiện các bước xử lý, chúng ta sẽ thu được hình ảnh trắng đen, trong đó màu trắng đại diện cho các vật thể đã được nhận diện Để xác định đường bao quanh các vùng trắng này, chúng ta sẽ sử dụng hàm Contours.
+ Lấy tâm vùng Contours để lấy toạ độ so với gốc ảnh
Để chuyển đổi tọa độ về tọa độ của Delta, cần cộng thêm vị trí băng tải Sau đó, chuyển tọa độ này sang bộ biên soạn Gcode để gửi xuống cho Delta.
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 38
Hình 5.8: Ảnh đoạn code trong phần mềm
Hình 5.9: Ảnh đoạn code trong phần mềm
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 39
BỘ ĐIỀU KHIỂN CẦM TAY – CONTROLLER
SƠ ĐỒ NGUYÊN LÝ VÀ MẠCH IN
Sử dụng bộ điều khiển chính Arduino Mega 2560 màng hình LCD 20x04 và các nút nhấn để điều khiển robot bằng tay
Hình 6.1: Sơ đồ nguyên lý tay cầm
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 40
Hình 6.2: Mạch in tay cầm
Hình 6.3: Tay cầm điều khiển
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 41
LẬP TRÌNH CHO TAY CẦM
Lập trình cho tay cầm bằng phần mềm Visual Studio với ngôn ngữ C++ cho arduino Một phần gcode quan trọng trong tay cầm:
Hình 6.4: Đoạn code trong tay cầm
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 42
Hình 6.5: Đoạn code trong tay cầm.
LƯU ĐỒ THUẬT TOÁN CỦA TAY CẦN ĐIỀU KHIỂN
Hình 6.6: Lưu đồ thuật toán của tay cầm điều khiển
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 43
CHỨC NĂNG VÀ CÁCH SỬ DỤNG
Hình 6.7: Ảnh tay cầm điều khiển
• Giao diện quét thiết bị kết nối:
Hình 6.8: Màng hình quét thiết bị kết nối
Nhấn ‘Scan’ để quét thiết bị kết nối và nhấn ‘Load’ để lấy các dữ liệu từ Delta về tay cầm điều khiển
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 44
• Giao diện điều khiển Robot Delta:
Hình 6.9: Màng hình điều khiển trực tiếp
Nhấn cài đặt các toạ độ để điều khiển robot theo vị trí mong muốn hoặc nhấn nút nhấn
‘X’ ‘Y’ ‘Z’ và xoaynúm vặn để điều khiển trực tiếp.
• Giao diện cài đặt các thông số:
Để cài đặt các thông số vận tốc và gia tốc cho Delta và băng tải, hãy nhấn vào nút cài đặt và sau đó nhấn ‘Save’ để lưu dữ liệu.
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 45
• Màng hình điều khiển hành trình robot:
Hình 6.11: Màng hình điều khiển hành trình
Nhấn ‘SavePoint’ để lưu điểm robot hiện tạo, ‘Point: ’ là số điểm đã lưu
Nhấn ’Run’ để chạy và nhấn một lần nữa để dừng
Nhấn ‘Clear’ để xoá các điểm đã lưu
SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 46