Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
4,84 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - HOÀNG ANH ỨNG DỤNG ROS (ROBOT OPERATING SYSTEM) ĐIỀU KHIỂN ROBOT DỊCH VỤ BÁN CAFE LUẬN VĂN THẠC SỸ KỸ THUẬT (Theo định hướng ứng dụng) TP HỒ CHÍ MINH – NĂM 2022 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - HOÀNG ANH ỨNG DỤNG ROS (ROBOT OPERATING SYSTEM) ĐIỀU KHIỂN ROBOT DỊCH VỤ BÁN CAFE CHUYÊN NGÀNH:HỆ THỐNG THÔNG TIN MÃ SỐ: 8.48.01.04 LUẬN VĂN THẠC SỸ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: TS CHUNG TẤN LÂM TP HỒ CHÍ MINH – NĂM 2022 i LỜI CAM ĐOAN Tôi cam đoan luận văn: “ỨNG DỤNG ROS (ROBOT OPERATING SYSTEM ) ĐIỀU KHIỂN ROBOT DỊCH VỤ BÁN CAFE ” cơng trình nghiên cứu tơi Tơi cam đoan số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Khơng có sản phẩm/nghiên cứu người khác sử dụng luận văn mà không trích dẫn theo quy định TP Hồ Chí Minh, ngày 15 tháng 07 năm 2022 Học viên thực luận văn Hoàng Anh ii LỜI CẢM ƠN Trong trình học tập thực luận văn, tơi nhận quan tâm quý báu hướng dẫn nhiệt tình q Thầy Cơ, với động viên ủng hộ gia đình, bạn bè đồng nghiệp Với lịng kính trọng biết ơn, tơi xin gửi lời cảm ơn chân thành tới: Ban Giám Đốc, Phòng đào tạo Sau Đại học Học viện Cơng Nghệ Bưu Chính Viễn thơng sở TP Hồ Chí Minh q Thầy Cơ tạo điều kiện thuận lợi giúp tơi hồn thành luận văn Tơi xin bày tỏ lòng biết ơn chân thành sâu sắc tới người thầy kính yêu Thầy TS Chung Tấn Lâm hết lòng giúp đỡ, trực tiếp hướng dẫn tận tình, động viên khích lệ, tạo điều kiện cho tơi suốt q trình thực luận văn Từ đáy lịng tơi xin bày tỏ biết ơn vơ hạn đến gia đình thân u tơi xin chân thành cảm ơn bạn bè thân thiết, đồng nghiệp quan động viên, hỗ trợ tơi lúc khó khăn để tơi học tập hồn thành luận văn Mặc dù có nhiều cố gắng, nỗ lực tìm tịi nghiên cứu, thời gian có hạn kinh nghiệm nghiên cứu khoa học cịn hạn chế nên khơng thể tránh khỏi thiếu sót Tơi mong nhận góp ý thiết thực quý Thầy Cô bạn bè đồng nghiệp để kiến thức tơi ngày hồn thiện Xin chân thành cảm ơn! TP Hồ Chí Minh, ngày 15 tháng 07 năm 2022 Học viên thực luận văn Hoàng Anh iii MỤC LỤC Lời cam đoan i Lời cảm ơn ii Mục lục iii Danh mục thuật ngữ, chữ viết tắt v Danh sách bảng vi Danh sách hình vẽ vii MỞ ĐẦU CHƯƠNG : NGHIÊN CỨU TỔNG QUAN 1.1 Tổng quan robot dịch vụ 1.2 Robot cộng tác 1.3 Hệ thống điều hành robot (Robot Operating System) 11 1.4 Phần mềm mô robot – RobotDK 15 1.5 Tổng kết chương 16 CHƯƠNG : MƠ HÌNH HĨA ROBOT 18 2.1 Xây dựng mô hình robot 18 2.2 Xây dựng mơ hình máy pha coffree 23 2.3 Xây dựng mơ hình cấp ly cafe bệ giao cafe 24 2.4 Tổng kết chương 26 CHƯƠNG : THIẾT KẾ VÀ MÔ PHỎNG THAO TÁC PHA CHẾ 27 3.1 Thiết kế trình tự pha chế robot 27 3.2 Thao tác lấy ly 28 3.3 Thao tác pha chế cafe 31 3.4 Thao tác đưa khách hàng 35 3.5 Giao tiếp API RoboDK dùng C# 38 3.6 Tổng kết chương 40 CHƯƠNG : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 42 4.1 Kết luận 42 iv 4.2 Hướng phát triển 43 TÀI LIỆU THAM KHẢO 44 PHỤ LỤC 45 PHỤ LỤC P1: Tập lệnh RoboDK 45 PHỤ LỤC P2: Lập trình mô RoboDK 56 v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt Cobot Collaborative Robot Robot cộng tác TCP Tool Center Point Tâm điểm dụng cụ Reference Frame Hệ tọa độ tham chiếu Tool Frame Hệ tọa độ dụng cụ Target Point Điểm mục tiêu CMCN 4.0 IoT Industry 4.0 Cách mạng Công nghiệp lần thứ Internet of Things Internet vạn vật Smart Actuators Cơ cấu chấp hành thông minh vi DANH SÁCH BẢNG Bảng 2.1: Thông số Dobot CR10 22 Bảng 3.1: Giải thích chương trình thao tác lấy ly khỏi chồng 30 Bảng 3.2: Giải thích chương trình thao tác pha chế cafe 32 Bảng 3.3: Giải thích chương trình thao tác đưa cafe cho khách hàng 35 vii DANH SÁCH HÌNH VẼ Hình 1.1: Robot BellaBot phục vụ nhà hàng nhà hàng Q.7 TP.HCM Hình 1.2: Ella sản phẩm Crown Digital Hình 1.3: Sự khác biệt an tồn robot cơng nghiệp cobot Hình 1.4: Cấu trúc khớp đơn cobot 10 Hình 1.5: Mẫu thiết kế cấu chấp hành khớp cobot 10 Hình 1.6: Mẫu thiết kế cấu chấp hành khớp cobot 11 Hình 1.7: Hệ thống điều khiển tập trung RC8 robot truyền thống (Denso) 12 Hình 1.8: Hệ thống điều khiển phân tán RC9 cho cobot hãng Denso 13 Hình 1.9: So sánh hệ thống điều khiển tập trung RC8 phân tán RC9 14 Hình 1.10: Giao diện phần mềm RoboDK 16 Hình 2.1: Các mơ hình 3D Cobot CR10: (B0), khớp (B1) , khớp (B2), khớp (B3), khớp (B4), khớp (B5), khớp (B6) 19 Hình 2.2: Kéo thả robot (DOBOT CR10Model) vào Frame Robot 20 Hình 2.3: Dùng bảng điều khiển để test khớp robot 21 Hình 2.4: Kích thước Dobot CR1021 21 Hình 2.5: Xác định nhập kích thước động học robot builder 22 Hình 2.6: Xác định giới hạn góc quay khớp robot builder 23 Hình 2.7: Test hoạt động robot robot Panel 24 Hình 2.8: Mơ hình cấp ly cafe 25 Hình 2.9: Mơ hình bệ giao cafe 26 Hình 3.1: Mơ hình trạm pha cafe dùng robot 27 Hình 3.2: Chương trình thực thao tác pha chế cafe 28 Hình 3.3a: Chương trình thực thao tác lấy ly 29 Hình 3.3b: Chương trình thực tiếp cận máy máy pha chế cafe (vì chuyển hệ tọa độ tham chiếu ) 29 Hình 3.4a: Vị trí tiếp cận chồng ly 29 Hình 3.4b: Vị trí tiếp cận ly 29 viii Hình 3.4c: Vị trí lấy ly khỏi chồng 30 Hình 3.5a: Chương trình thực thao tác pha chế cafe 32 Hình 3.5b: Định nghĩa hệ trục tọa độ cho máy pha cafe (cafe Machine,CM) 32 Hình 3.6a: Tiếp cận máy pha cafe 33 Hình 3.6b: Vị trí rót cafe 33 Hình 3.6c: Vị trí rót cafe 34 Hình 3.6d: Vị trí trung gian 34 Hình 3.6e: Vị trí rót kem sữa 34 Hình 3.6f: Vị trí rót kem sữa 34 Hình 3.6g: Vị trí an toàn khỏi máy pha cafe 34 Hình 3.7: Chương trình thực thao tác đưa cafe cho khách hàng 35 Hình 3.8a: Vị trí tiếp cận bệ 36 Hình 3.8b: Vị trí đặt ly lên bệ 36 Hình 3.8c: Vị trí tiếp cận bệ 37 Hình 3.8d: Vị trí tiếp cận 37 Hình 3.9: Chương trình thực mang ly trở vị trí ban đầu 37 Hình 3.10: Giao diện Control Panel tính RoboDK API 38 Hình 3.11: Giao diện điều khiển chuyển động Tool khớp robot 40 Hình 3.12: Giao diện demo RoboDK API dùng C# 40 Hình P1.1: Lệnh Joint Move truy xuất Target 45 Hình P1.2: Báo lỗi điểm kì dị 46 Hình P1.3: Chuyển Linear Move sang Joint Move 46 Hình P1.4: Đặt hệ tọa độ tham chiếu hành 47 Hình P1.5: Thiết lập hệ tọa độ cơng cụ 47 Hình P1.6: Lệnh Circular Move 48 Hình P1.7: Cài đặt giá trị vận tốc 49 Hình P1.8: Lệnh Pause 49 Hình P1.9: Gọi chương trình 50 Hình P1.10: Thiết lập I/O 51 45 PHỤ LỤC PHỤ LỤC P1: Tập lệnh RoboDK P1.1 Lệnh Joint Move Chọn Program→ Move Joint Instruction để thêm lệnh chuyển động dựa chuyển động khớp quay robot Trừ Target chọn trước lệnh tạo Target liên kết với lệnh Nếu Target di chuyển, chuyển động hiệu chỉnh theo Nếu lệnh thêm vào Program có thêm lệnh thêm vào trước lệnh này: lệnh chọn hệ tọa độ tham chiếu (Reference Frame) lệnh chọn hệ tọa độ dụng cụ (Tool Frame) Điều bảo đảm chương trình thực lệnh chuyển động robot có hệ tọa độ tham chiếu hệ tọa độ dụng cụ Hình P1.1: Lệnh Joint Move truy xuất Target P1.2 Lệnh Linear Move Chọn Program➔ Move Linear Instruction để thêm lệnh chuyển động thẳng cho dụng cụ Tool Chuyển động khớp chuyển động thẳng Target có hành vi chuyển động khác khơng gian khảo sát nên có thề chuyển đổi qua lại với 46 Lưu ý: ta cần giữ chuyển động chương trình chuyển động khớp dùng Joint Target Việc thiết lập cấu mong muốn từ chuyển động đảm bảo robot thật di chuyển giống với mô Trái với chuyển động khớp, chuyển động thẳng có tính đến điểm kỳ dị robot giới hạn trục quay Ví dụ, robot trục vượt qua điểm kỳ dị chuyển động thẳng Hình bên ví dụ báo lỗi điểm kỳ dị Hình P1.2: Báo lỗi điểm kì dị Nếu chuyển động thẳng khơng thực cần thiết, ta bấm chuột phải vào lệnh MoveL chọn sang Joint Move Cách khác chọn Target, TCP (Tool Center Point) vị trí hệ tọa độ tham chiếu, phải hiệu chỉnh để tránh điểm kỳ dị Hình P1.3: Chuyển Linear Move sang Joint Move P1.3 Lệnh Set Reference Frame Chọn Program➔ Set Reference Frame Instruction để thiết lập hành hệ tọa độ tham chiếu Tác vụ cập nhật hệ tọa độ hành điều khiển cho lệnh chuyển động theo sau thay đổi hệ tọa độ tham chiếu dùng (Active) robot RoboDK cho mục đích mơ Việc chọn 47 tạo lệnh chuyển động đến Target xác định (Target hệ Decart) tập hợp hệ tọa độ tham chiếu trước Hệ tọa độ tham chiếu khơng có tên cố định, cịn gọi Work Object (robot ABB), UFRAME (robot Fanuc), FRAME (đối với robot Motoman) $BASE (đối với robot KUKA) Hình P1.4: Đặt hệ tọa độ tham chiếu hành P1.4 Lệnh Set Tool Frame Chọn Program➔ Set Tool Frame Instruction để thiết lập hành hệ tọa độ công cụ (TCP - Tool Center Point) Lệnh cập nhật lại hệ tọa độ công cụ hành chương trình cho lệnh chuyển động theo sau thay đổi hệ tọa độ công cụ dùng (Active) robot RoboDK cho mục đích mơ Có nghĩa lệnh chuyển động đến Target thi hành dùng hệ tọa độ dụng cụ cập nhật Hình P1.5: Thiết lập hệ tọa độ công cụ 48 P1.5 Lệnh Circular Move Chọn Program➔ Move Circular Instruction để thêm chuyển động dạng cung trịn cho cơng cụ Tool Ngồi hai Target chọn trước thêm lệnh, lệnh không tạo Target Ta cần thêm hai Target riêng biệt liên kết chúng từ lệnh di chuyển cung trịn, hình ảnh bên Đường cong cung tạo từ điểm robot dừng, qua điểm điểm cong (Target Linked 1) kết thúc điểm cuối (Target Link 2) Chú ý: khơng thể thực vịng trịn với lệnh cung tròn Một vòng tròn phải chia thành chuyển động cung trịn tách biệt Hình P1.6: Lệnh Circular Move P1.6 Lệnh Set Speed Chọn Program➔ Set Speed Instruction để thêm lệnh thay đổi vận tốc và/ gia tốc Ta định vận tốc gia tốc không gian khớp không gian Cartesian Kích hoạt áp đặt vận tốc gia tốc xác định chương trình Vận tốc robot thay đổi lệnh thi hành Vận tốc robot thay đổi menu parameters: double click vào robot, chọn paramters 49 Không phải tất điều khiển robot hỗ trợ thiết lập gia tốc xác Thiết lập tốc độ phù hợp quan trọng để tính tốn xác thời gian chương trình (circle time) Hình P1.7: Cài đặt giá trị vận tốc P1.7 Lệnh Pause Chọn Program➔ Pause Instruction để thêm lệnh tạm dừng việc thực thi chương trình khoảng thời gian xác định đến người vận hành muốn tiếp tục chương trình Hình P1.8: Lệnh Pause Lưu ý: nhập giá trị -1 để tạm dừng chương trình đến người vận hành muốn tiếp tục chương trình Khi đó, lệnh đặt tên tự động Stop Trong mô phỏng, giây tạm dừng giây để mô tỷ lệ mô mặc định P1.8 Lệnh Program Call Chọn Program➔ chương trình hành Program Call Instruction để gọi chương trình từ 50 Mặc định gọi chương trình xác định Tuy nhiên, ta dùng tính Insert Code để nhập lệnh vị trí lệnh thay cho việc gọi chương trình Nó thuận tiện ứng dụng cụ thể điều khiển cụ thể Ta nhập nhiều dịng để tự động thiết lập nhiều lệnh gọi chương trình hàng Hình P1.9: Gọi chương trình Chuyển từ Program Call sang Start Thread để kích hoạt việc gọi chương trình mà khơng ngắt chương trình Trong trường hợp này, điều khiển bắt đầu Thread Tùy chọn dùng cho số điều khiển làm việc số tác vụ đặc thù P1.9 Lệnh Set/Wait IO Chọn Program➔ Set or Wait I/O Instruction để kích hoạt cổng Digital Output (DO) Mặc định, lệnh tùy chọn Set Digital Output Lệnh chờ cho cổng Digital Input IO Name số giá trị text tên biến (var) IO Value số (0 cho False cho True) giá trị text tên trạng thái (state) Tùy chọn Wait for Digital Input để dừng thi hành chương trình chờ đến cổng digital input thay đổi trạng thái Hơn nữa, số điều khiển robot có tính timeout delay để đưa cảnh báo lỗi thời gian chờ vượt 51 giá trị timeout xác định Check vào tùy chọn Timeout (ms) để kích hoạt tính Hình P1.10: Thiết lập I/O Hình P1.11: Thiết lập Timeout (ms) Lưu ý: thực hành, chẳng hạn robot có gắn phần cứng chuyên dùng kẹp (gripper) hay trục phay (spindle), để kích hoạt phần cứng dùng cổng Digital Output, sau chờ cổng Digital Input (DI) để chuyển trạng thái Sự thay đổi trạng thái mô DI DO tạo biến station Để kiểm tra trạng thái biến này, nhấp chuột phải vào station chọn Station Parameters Ta đọc hiệu chỉnh biến thông qua API P1.10 Lệnh Set Rounding Chọn Program➔ Set Rounding Instruction để thay đổi độ xác làm trịn Độ xác làm trịn sử dụng để làm mịn cạnh chuyển 52 động liên tiếp Thay đổi có hiệu lực từ thời điểm lệnh thực chương trình (giống với tất lệnh khác), nên thường lệnh đặt đầu chương trình Nếu khơng có lệnh làm trịn, robot có tốc độ kết thúc chuyển động (trừ chuyển động tiếp tuyến với chuyển động trước) Việc gây gia tốc lớn thay đổi vận tốc nhanh để đảm bảo độ xác tốt cho chuyển động Hình P1.12: Đặt giá trị làm tròn Lưu ý: giá trị làm tròn cao đảm bảo tốc độ không đổi đường robot đổi lại việc độ xác cạnh đường Tùy thuộc vào ứng dụng, người ta thường tìm thỏa hiệp tốt độ xác vận tốc làm trơn Một số điều khiển yêu cầu đặt giá trị dạng phần trăm, ví dụ điều khiển Fanuc, muốn dùng lệnh CNT5, ta nên nhập giá trị Ta ghi rouding parameter cửa sổ Program Events ta lập trình để robot gia công, in 3D bám đường cong bám điểm 53 Hình P1.13: Cửa sổ Program events Kiểm tra path accuracy RoboDK cho phép ta hiểu rõ ảnh hưởng giá trị làm tròn khác P1.11 Lệnh Simulation Event Chọn Program➔ Simulation Event Instruction để kích hoạt kiện mơ Các kiện khơng ảnh hưởng đến việc sinh mã chương trình dùng để kích hoạt kiện cụ thể mô Các kiện cho phép: Gắn tách object vào tool Hiển thị ẩn object Tool Thay đổi vị trí object hệ tọa độ tham chiếu 54 Hình P1.14: Lệnh kiện Ví dụ robot di chuyển đến vị trí xác định để gắp object, ta thiết lập kiện Attact object để di chuyển object gắn vào robot Sau đó, sau robot di chuyển bỏ object đi, ta thiết lập kiện Detach object để rời khỏi object mà robot gắp Hình P1.15: Lệnh kiện Detach object Lưu ý: Các kiện mơ macro (cần có kinh nghiệm lập trình) Ví dụ dùng API, làm cho object xuất ngẫu nhiên vị trí xác định để mơ tác vụ gắp đặt 55 Khi gắn object vào tool, object gần gắn khơng xa khoảng cách cho trước Khoảng cách theo mặc định 200 mm thay đổi trong: Tools➔Option➔ Maximum distance to attach an object to a robot tool Ngoài ra, theo mặc định, khoảng cách kiểm tra từ vị trí TCP đến object tham chiếu Hoặc cách khác sử dụng khoảng cách TCP dạng hình học đối tượng cách chọn Check shortest distance between TCP and the object shape 56 PHỤ LỤC P2: Lập trình mơ RoboDK Lập trình offline lập trình robot khơng phải trường sản xuất Lập trình offline hạn chế thời gian chết so với lập trình xưởng sản xuất Mơ lập trình offline cho phép khảo sát nhiều tình phân xưởng trang bị robot trước lắp đặt Lỗi thiết kế phân xưởng dự đốn trước P2.1 Tạo Project Tất robot, đối tượng (objects) dụng cụ (tools) project lưu dạng RoboDK station (gọi tập tin RDK) Một RoboDK station chứa thiết lập liên quan đến robot, dụng cụ, hệ tọa độ tham chiếu, targets, đối tượng tham số khác RoboDK station lưu dạng tập tin (với đuôi mở rộng RDK) Không cần lưu riêng tập tin robot, công cụ đối tượng chúng lưu tập tin RDK Chọn File➔ New Station (Ctrl+N) để bắt đầu project Hình P2.1: Tạo project với station P2.2 Tạo chương trình mơ Việc mơ thực cách thêm chuỗi lệnh chương trình Mỗi lệnh đại diện cho mã cụ thể cho điều khiển cụ thể 57 RoboDK cung cấp giao diện người dùng đồ họa (GUI) để xây dựng chương trình robot dễ dàng không cần phải viết mã lệnh trực tiếp Để tạo chương trình RoboDK: Chọn Program➔ Add Program chọn công cụ Chọn Tools➔Rename item… (F2) để đổi tên chương trình Việc tạo chương trình cho phép thêm lệnh cách nhấp chuột phải vào chương trình chọn từ menu Program Hình P2.2: Thêm lệnh cho chương trình P2.3 Thêm hệ tọa độ tham chiếu Hệ tọa độ tham chiếu (Reference frame) cho phép đặt đối tượng vị trí robot hay đối tượng khác khơng gian 3D (bao gồm giá trị vị trí hướng) Để thêm hệ tọa độ tham chiếu: Chọn Program➔ Add Reference Frame hay chọn toolbar 58 Nhập đúp chuột vào reference frame (trên station hay hình 3D hình chính) để nhập vào tọa độ (X,Y,Z cho vị trí góc Euler cho hướng) Có thể dùng roller chuột để nhập nhanh giá trị rê chuột đến ô nhập tọa độ tương ứng Màu sắc thường dùng mặc định sau: X coordinate ➔ Red Y coordinate ➔ Green Z coordinate ➔ Blue Góc quay 1st Euler ➔ Cyan Góc quay 2nd Euler ➔ Magenta Góc quay 3rd Euler ➔ Yellow Tip: Chọn Tools➔Options➔Display➔Display XYZ axis letters để hiển thị ký hiệu XYZ trục Chọn View➔Make reference frames bigger (+) để tăng kích thước hệ trục tọa độ tham chiếu Chọn View➔Make reference frames smaller (-) để giảm kích thước hệ trục tọa độ tham chiếu Chọn View➔Show/Hide text on screen (/) để hiễn thị hay dấu text hình Thay đổi tên hệ trục tọa độ tham chiếu hay đối tượng station cách chọn F2 59 Hình P2.3: Thêm hệ tọa độ tham chiếu Nếu dùng nhiều reference frame, ta kéo thả chúng vào Station tree để tạo phụ thuộc lắp đặt trực tiếp Ví dụ, reference Frame đặt thuộc robot base reference Trong trường hợp này, robot di chuyển Frame di chuyển theo Cho dù phụ thuộc khác ta nhập vào hay thu tọa độ reference reference khác Hầu hết robot cần tọa độ reference frame robot base frame Hình P2.4: Thay đổi vị trí hệ tọa độ tham chiếu Reference frames di chuyển cách nhấn giữ phím Alt, hay chọn nút toolbar Sau kéo reference frame chuột hình Khi reference frame di chuyển, tọa độ cập nhật theo