(Đồ án tốt nghiệp) thiết kế và chế tạo robot delta phân loại kẹo

75 25 0
(Đồ án tốt nghiệp) thiết kế và chế tạo robot delta phân loại kẹo

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG KHOA CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP NGÀNH: KỸ THUẬT CƠ ĐIỆN TỬ ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO Giáo viên hướng dẫn: TS VÕ NHƯ THÀNH Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Lớp: 14CDT2 Đà Nẵng, 6/2019 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP I Thông tin chung: Họ tên sinh viên: TRẦN ĐÌNH HUY Số thẻ sinh viên: 101140185 NGUYỄN QUANG ĐẠT 101140178 Lớp: 14CDT2 Tên đề tài: Thiết kế chế tạo robot Delta phân loại kẹo Người hướng dẫn: VÕ NHƯ THÀNH Học hàm/ học vị: Tiến sĩ II Nhận xét đồ án tốt nghiệp: Về tính cấp thiết, sáng tạo ứng dụng đồ án: (điểm đánh giá tối đa 2đ) ……………………………………………………………………………………… ……………………………………………………………………………………… Về kết giải nội dung nhiệm vụ yêu cầu đồ án: (điểm tối đa 4đ) ……………………………………………………………………………………… ……………………………………………………………………………………… Về hình thức, cấu trúc, bố cục đồ án tốt nghiệp: (điểm đánh giá tối đa 2đ) ……………………………………………………………………………………… ……………………………………………………………………………………… NCKH: (nếu có báo khoa học ĐATN đề tài NCKH: (cộng thêm 1đ) ……………………………………………………………………………………… ……………………………………………………………………………………… Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ……………………………………………………………………………………… ……………………………………………………………………………………… III Tinh thần, thái độ làm việc sinh viên: (điểm đánh giá tối đa 1đ) ……………………………………………………………………………………… ……………………………………………………………………………………… IV Đánh giá: Điểm đánh giá: /10 Đề nghị: Được bảo vệ đồ án/ Bổ sung thêm để bảo vệ/ Không bảo vệ Đà Nẵng, ngày tháng năm 2019 Người hướng dẫn TS VÕ NHƯ THÀNH ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP Thông tin chung: Họ tên sinh viên: TRẦN ĐÌNH HUY Số thẻ sinh viên: 101140185 NGUYỄN QUANG ĐẠT 101140178 Lớp: 14CDT2 Tên đề tài: Thiết kế chế tạo robot Delta phân loại kẹo Người phản biện: Học hàm/ học vị: VI Nhận xét, đánh giá đồ án tốt nghiệp: V TT Các tiêu chí đánh giá 1a 1b 1c 1d 1e 1f 2a 2b Sinh viên có phương pháp nghiên cứu phù hợp, giải đủ nhiệm vụ đồ án giao - Hiểu vận dụng kiến thức Toán khoa học tự nhiên vấn đề nghiên cứu - Hiểu vận dụng kiến thức sở chuyên ngành vấn đề nghiên cứu - Có kỹ vận dụng thành thạo phần mềm mơ phỏng, tính tốn vấn đề nghiên cứu - Có kỹ đọc, hiểu tài liệu tiếng nước ứng dụng vấn đề nghiên cứu - Có kỹ làm việc nhóm, kỹ giải vấn đề - Đề tài có giá trị khoa học, cơng nghệ; ứng dụng thực tiễn: Kỹ viết: - Bố cục hợp lý, lập luận rõ ràng, chặt chẽ, lời văn súc tích - Thuyết minh đồ án khơng có lỗi tả, in ấn, định dạng Điểm Điểm Điểm tối đa trừ lại 80 15 25 10 10 10 10 20 15 Tổng điểm đánh giá: theo thang 100 Quy thang 10 (lấy đến số lẻ) Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ……………………………………………………………………………………… Ý kiến khác: ……………………………………………………………………………………… Đề nghị: Được bảo vệ đồ án/ Bổ sung thêm để bảo vệ/ Không bảo vệ Đà Nẵng, ngày tháng năm 2019 Người phản biện ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc CÂU HỎI PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP I Thông tin chung: Họ tên sinh viên: TRẦN ĐÌNH HUY Số thẻ sinh viên: 101140185 NGUYỄN QUANG ĐẠT 101140178 Lớp: 14CDT2 Tên đề tài: Thiết kế chế tạo robot Delta phân loại kẹo Người phản biện: Học hàm/ học vị: II Các câu hỏi đề nghị sinh viên trả lời ……………….……………….…… ……………………………………………… ……………………………………………………………………………………… ……………………………………… …………………………………………… ……………………………………………………………………………………… Đáp án: (người phản biện ghi vào chấm nộp với hồ sơ bảo vệ) ……………….……………….…… ……………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………… …………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Đà Nẵng, ngày tháng năm 2019 Người phản biện TÓM TẮT Tên đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO Họ tên sinh viên: TRẦN ĐÌNH HUY Số thẻ sinh viên: 101140185 NGUYỄN QUANG ĐẠT 101140178 Lớp : 14CDT2 Nội dung đồ án đề cập sở lý thuyết phương pháp phân tích, tính tốn động học, động học ngược điều khiển robot Delta có kết hợp xử lý ảnh Dựa phương pháp ta vào thiết kế chế tạo mẫu robot điển hình robot Delta để có nhìn tồn diện loại robot trọng phát triển công nghiệp Chương 1: Tổng quan robot Delta Chương chủ yếu cung cấp cho người đọc nhìn ban đầu robot Delta, từ lịch sử phát triển, đến lợi so với robot thông thường khác, ứng dụng đời sống cơng nghiệp, đồng thời khái quát sơ đồ tổng quan hệ thống, đặt vấn đề để xây dựng robot Delta ứng dụng cơng nghiêp Chương 2: Tính tốn thiết kế khí Chương này, ta phân tích cấu trúc lựa chọn phương án thiết kế tính tốn thiết kế dẫn động cho robot giải vấn đề động học Robot song song Delta tính tốn động học thuận, động học ngược sở phương trình liên kết phương pháp hình học Chương 3: Thiết kế hệ thống điều khiển Chương giải vấn đề liên quan đến việc chọn dòng vi điều khiển trung tâm modun thích hợp mạch điều khiển cho robot thiết kế mạch điện điều khiển nhằm đảm bảo chức robot Chương 4: Xây dựng chương trình điều khiển Chương giới thiệu lý thuyết xử lý ảnh nói chung bước xử lý ảnh nói riêng, xây dựng phương trình bắt điểm băng tải để áp dụng vào chương trình điều khiển Chương xây dựng nguyên lý làm việc cho robot từ tạo sơ đồ thuật tốn áp dụng vào chương trình điều khiển cho vi điều khiển xây dựng giao diện giao tiếp máy tính vi điều khiển nhằm giúp robot thực theo theo nguyên lý, sơ đồ thuật toán hoạt động robot Delta Chương 5: Thảo luận phương hướng phát triển đề tài Chương đánh giá kết luận rút hạn chế kinh nghiệm để có hướng phát triển đề tài ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ CỘNG HỊA XÃ HƠI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP TT Họ tên sinh viên Trần Đình Huy Nguyễn Quang Đạt Số thẻ SV 101140185 101140178 Lớp 14CDT2 14CDT2 Ngành Cơ Điện Tử Cơ Điện Tử Tên đề tài đồ án: Thiết kế chế tạo Robot Delta phân loại kẹo Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ kết thực Các số liệu liệu ban đầu: Nội dung phần thuyết minh tính tốn: a Phần chung: TT Họ tên sinh viên Nội dung - Tìm hiểu số loại robot Delta thực tế Trần Đình Huy lựa chọn hệ thống phù hợp để thiết kế Nguyễn Quang Đạt - Đưa nguyên lý, lựa chọn phương án phù hợp để thiết kế - Thi công robot thực tế b Phần riêng: TT Họ tên sinh viên Nội dung Trần Đình Huy Tìm hiểu code điều khiển Nguyễn Quang Đạt Tính tốn hệ thống dẫn động, hồn thành thuyết minh Các vẽ, đồ thị ( ghi rõ loại kích thước vẽ ): a Phần chung: TT Họ tên sinh viên Nội dung Trần Đình Huy Bản vẽ lắp ráp băng tải A0 Bản vẽ lắp ráp Delta Robot A0 Nguyễn Quang Đạt Bản vẽ lưu đồ thuật toán A0 b Phần riêng: TT Họ tên sinh viên Nội dung Trần Đình Huy Hai vẽ chi tiết A0 Nguyễn Quang Đạt Bản vẽ sơ đồ mạch A0 Trần Đình Huy Bảng vẽ sơ đồ động A0 Nguyễn Quang Đạt Bản vẽ tổng thể A0 5.Họ tên người hướng dẫn: T.S Võ Như Thành Ngày giao nhiệm vụ đồ án: Ngày hoàn thành đồ án: Trưởng Bộ môn: Cơ Điện Tử Phần/ Nội dung: 01/02/2019 01/06/2019 Đà Nẵng, ngày tháng năm 2019 Người hướng dẫn TS.Võ Như Thành LỜI NÓI ĐẦU Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, giới ngày thay đổi, văn minh đại Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bật xác cao, tốc độ nhanh, gọn nhẹ yếu tố cần thiết góp phần cho hoạt động người đạt hiệu Có thể nói Robot mang tới cho sống người sống mới, cách trải nghiệm sống người bạn Những hãng Robot từ nước tiếng giới từ Đức, Nhật Bản, Nga, Hoa Kỳ ngày khẳng định diện robot phần không thiếu sống tương lai phía trước Nó xuất tất lĩnh vực từ khoa học vĩ mô vi mô ngày đa dạng Sau thời gian học tập rèn luyện, với hướng dẫn bảo tận tình thầy giáo TS Võ Như Thành, trợ giúp quý thầy mơn tài liệu có liên quan, mà em hồn thành xong đề tài Đề tài hồn thành xong, khơng thể tránh nhiều thiếu sót mong q thầy giáo thơng cảm bảo thêm để đề tài phát triển ứng dụng rộng rãi thực tế Em xin chân thành gửi lời cảm ơn đến quý thầy cô! Sinh viên thực hiện: Nguyễn Quang Đạt i Trần Đình Huy LỜI CAM ĐOAN Kính gửi: Tơi tên - Ban Giám hiệu Trường Đại học Bách khoa - Khoa Cơ khí : TRẦN ĐÌNH HUY Số thẻ sinh viên: 101140185 NGUYỄN QUANG ĐẠT Lớp Số thẻ sinh viên: 101140178 Khoa: Cơ khí : 14CDT2 Đề tài: Thiết kế chế tạo Robot Delta phân loại kẹo Tôi xin cam đoan cơng trình nghiên cứu riêng chúng tơi, kết nghiên cứu trình bày luận án trung thực, khách quan chưa cơng bố cơng trình khác Tôi xin cam đoan giúp đỡ cho việc thực luận án cám ơn, thơng tin trích dẫn luận án rõ nguồn gốc Đà Nẵng, ngày tháng năm 2019 Sinh viên thực Nguyễn Quang Đạt ii Trần Đình Huy MỤC LỤC Tóm tắt Lời nói đầu cảm ơn i Lời cam đoan liêm học thuật ii Mục lục iii Danh sách bảng biểu, hình vẽ sơ đồ vi CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI .3 1.1 GIỚI THIỆU CHUNG VỀ ROBOT DELTA 1.1.1 Khái niệm 1.1.2 Ứng dụng robot Delta .4 1.2 GIỚI THIỆU CHUNG VỀ BĂNG TẢI 1.2.1 Giới thiệu chung 1.2.2 Ưu điểm băng tải 1.2.3 Cấu tạo chung băng tải .7 1.2.3 Các loại băng tải thị trường 1.2.4 Giới thiệu băng tải dùng mơ hình 1.3 TỔNG QUAN VỀ HỆ THỐNG 10 1.3.1 Cấu trúc 10 1.3.2 Đặt vấn đề .11 1.4 KẾT LUẬN CHƯƠNG 12 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ CƠ KHÍ .13 2.1 PHÂN TÍCH CẤU TRÚC ROBOT DELTA 13 2.1.1 Lựa chọn cấu trúc 13 2.1.2 Cơ cấu dẫn động động 14 2.1.3 Hệ khớp dẫn động .14 2.1.4 Hệ hình bình hành 15 2.1.5 Gá động 15 2.1.6 Gá cấu chấp hành .16 2.1.7 Bơm hút chân không 17 2.2 PHÂN TÍCH CẤU TRÚC BĂNG TẢI 18 2.2.1 Đĩa xích 19 2.2.2 Bộ truyền xích 19 2.2.3 Ổ bi Φ10 mm 20 2.2.4 Gá cấu chấp hành .20 2.2.5 Ống tang Φ42 mm 21 2.2.6 Gá hộp Camera 21 2.2.7 Gá trục tang 22 iii Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO Khi nhận khung liệu từ vi điều khiển, chương trình Visual Studio xử lý tách biến lưu giá trị biến vào mảng liệu để thể giao diện Đồng thời thực việc gửi liệu vi điều khiển Hình 4.5 Giao diện xử lý liệu Visual Studio 4.7 KẾT LUẬN CHƯƠNG Trong chương này, ta sâu vào thiết kế chương trình điều khiển robot Delta song song Với việc xử lý ảnh thông qua phần mềm visual Studio nhận từ Camera Từ xác định vị trí, màu sắc, kích thước vật thể để tiến đến trình phân loại sản phẩm theo yêu cầu đặt Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 47 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO CHƯƠNG THẢO LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN ĐỀ TÀI Hình 5.1 Sản phẩm kẹo để phân loại Hình 5.2 Mơ hình Robot Delta lúc gắp sản phẩm Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 48 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO 5.1 NHỮNG KẾT QUẢ ĐẠT ĐƯỢC Qua trình thực hiện, đề tài đạt kết sau: - Đã thiết kế chế tạo thành công Robot Delta phân loại kẹo - Đề xuất mô hình tính tốn động học robot Delta cách đơn giản - Xây dựng mơ hình hồn chỉnh robot song song Delta với kích thước cụ thể - Đưa phương thức điều khiển sử dụng thành phần tối ưu để điều khiển hoạt động mô hình robot Delta thực tế Bước đầu xây dựng mơ hình robot Delta với khả chuyển động theo vị trí cho trước - Đã xây dựng chương trình điều khiển với giao diện đơn giản Việc xác định tọa độ cần di chuyển đến robot sử dụng cách nhập tọa độ xác - Hệ điều khiển đáp ứng yêu cầu toán điều khiển vị trí, chạy theo hành trình thiết lập, thực chức thiết lập Đặc biệt tự động bắt vật băng tải mà không cần dừng băng tải thông qua phản hồi từ camera - Đề tài thành công việc phân loại kẹo theo hình dáng, số lượng, màu sắc (đỏ, vàng, nâu, tím…) 5.2 CÁC HẠN CHẾ TRONG QUÁ TRÌNH LÀM VÀ HƯỚNG GIẢI QUYẾT 5.2.1 Các hạn chế - Nội dung luận văn chưa đề cập đến toán động lực cấu, giải nhiệm vụ đề để tính tốn lực qn tính, ứng suất tác động lên khâu suốt trình chuyển động robot - Mơ hình chuyển động theo nhiệm vụ đơn giản, chuyển động thẳng, chưa xây dựng toán chuyển động theo đường cong - Khó khăn q trình lắp ráp, đồng thời kết cấu khí chưa thực xác ăn khớp với - Đề tài phân loại số hình dạng (hình tròn), màu sắc đơn giản (vàng, đỏ, nâu v.v…), chưa thể phân loại hình dáng phức tạp, để tiến hành phân loại nhiều sản phẩm khác Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 49 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO - Trong trình phân loại kẹo, hút hộp kẹo lên, hộp kẹo bị lệch hướng chưa tiến hành xoay hộp kẹo vị trí hướng theo yêu cầu - Thời gian nhận diện chậm, tốc độ xử lý ảnh chưa nhanh 5.2.2 Hướng giải Để khắc phục hạn chế này, cần thêm nghiên cứu cụ thể mơ hình tốn động học Nâng cao khả lập trình chuyển động theo quỹ đạo dựa sở nội suy từ chuyển động thẳng, nghiên cứu nhận dạng vị trí hướng chi tiết, từ xoay đưa chi tiết vị trí hướng theo yêu cầu 5.3 CÁC HƯỚNG PHÁT TRIỂN ĐỀ TÀI Từ kết đạt nghiên cứu, đề tài bước đầu tạo tiền đề cho việc nghiên cứu ứng dụng robot Delta Việt Nam Khi kết hợp với kỹ thuật xử lý ảnh với giải tốt tốn động lực học, mơ hình xây dựng robot Delta chế tạo có triển vọng tốt để ứng dụng vào thực tế sản xuất Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 50 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO TÀI LIỆU THAM KHẢO [1] Tính tốn thiết kế hệ dẫn động khí - tập - Trịnh Chất, Lê Văn Uyển – NXB Giáo dục 2003 [2] Tính tốn thiết kế hệ dẫn động khí - tập - Trịnh Chất, Lê Văn Uyển – NXB Giáo dục 2003 [3] Robot công nghiệp – Phạm Đăng Phước - NXB xây dựng 2007 [4] Cảm biến công nghiệp – Hồng Minh Cơng – NXB Xây dựng [5] The Delta Parallel Robot: Kinematics Solutions Robert L Williams II, Ph.D., williar4@ohio.edu Mechanical Engineering, Ohio University, October 2016 [6] Xử lí ảnh http://www.emgu.com [7] Kỹ thuật vi điều khiển PIC - TS Đặng Phước Vinh - Nhà xuất Xây dựng 2019 Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 51 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO PHỤ LỤC CHƯƠNG TRÌNH TRONG ARDUINO MEGA ❖ Chương trình chính: void CalcuStep(float the1, float the2, float the3) { float Xtam = (the1*3)/0.225; float Ytam = (the2*3)/0.225; float Ztam = (the3*3)/0.225; XstepNeed = Xtam - XstepNow; YstepNeed = Ytam - YstepNow; ZstepNeed = Ztam - ZstepNow; XstepNow = Xtam; YstepNow = Ytam; ZstepNow = Ztam; } void movetoXYZ(float x, float y, float z) { delta_calcInverse(x,y,z,the1,the2,the3); CalcuStep(the1,the2,the3); prepareMovement( 3, XstepNeed ); prepareMovement( 4, YstepNeed ); prepareMovement( 5, ZstepNeed ); runAndWait(); } void tatvan(){ digitalWrite(Van, HIGH); } void batvan(){ digitalWrite(Van, LOW); } void batbom(){ digitalWrite(Bom, HIGH); } void tatbom(){ digitalWrite(Bom, LOW); } void setup() { Serial.begin(9600); setstep(); Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 52 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO pinMode(endX, INPUT_PULLUP); pinMode(endY, INPUT_PULLUP); pinMode(endZ, INPUT_PULLUP); pinMode(cb1, INPUT_PULLUP); pinMode(cb2, INPUT_PULLUP); pinMode(cb3, INPUT_PULLUP); pinMode(Bom, OUTPUT); pinMode(Van, OUTPUT); tatvan(); } void loop() { while(digitalRead(endX)) { prepareMovement( 3, i ); runAndWait(); } digitalWrite(X_ENABLE_PIN, LOW); while(digitalRead(endY)) { prepareMovement( 4, i ); runAndWait(); } digitalWrite(Y_ENABLE_PIN, LOW); while(digitalRead(endZ)) { prepareMovement( 5, i ); runAndWait(); } digitalWrite(Z_ENABLE_PIN, LOW); prepareMovement( 3, 200 ); //1 prepareMovement( 4, 200 ); //2 prepareMovement( 5, 200 ); //3 runAndWait(); Serial.println("okroianh"); while (true) Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 53 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO { if(Serial.available() > 0) { state = Serial.read(); cmt += state; if(state == ';') { cmt.remove(cmt.length()-1); Serial.println(cmt); tachchuoi(cmt); cmt = ""; x = a; y = b; z = c; movetoXYZ(x,y,z); //den vi tri san pham batbom(); batvan(); movetoXYZ(x,y,z-10);//xuong gap movetoXYZ(30,10,10); // den vi tri tha tatbom(); tatvan(); } } } } } Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 54 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO PHỤ LỤC CHƯƠNG TRÌNH TRONG VISUAL STUDIO using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Windows.Forms; using Emgu.CV; using Emgu.CV.Structure; using Emgu.CV.CvEnum; using System.IO; using System.IO.Ports; namespace OKOK { public partial class Form1 : Form { Capture capture; Mat imgInputmat; int TronRed, TronGreen,TronBlue,TronYellow,HcnYellow,HcnTim, HcnRed, HcnBrown,TamgiacDo; int temp; int Rmin, Rmax, Bmin, Bmax, Gmin, Gmax, dolonhcn ,dolontamgiac; int x; int soluongdoloi, soluongdokhongloi, soluongvangloi, soluongvangkhongloi = 0; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { try { if (capture == null) { capture = new Capture(); } capture.ImageGrabbed += _capture_ImageGrabbed; capture.Start(); timer1.Enabled = true; } catch { } Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 55 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO } private void _capture_ImageGrabbed(object sender, EventArgs e) { Mat frame = new Mat(); capture.Retrieve(frame); // pictureBox4.Image = frame.ToImage().Bitmap; } private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; imgInputmat = capture.QueryFrame(); FindColors(); dkarduino(); timer1.Enabled = true; } //Gui du lieu qua Arduino private void dkarduino() { //Gui Du Lieu Qua Arduino if (TronRed >= 4) { soluongdokhongloi++; serialPort.WriteLine("1"); Thread.Sleep(5000); serialPort.Write("5"); } if (TronYellow >= 4) { soluongvangkhongloi++; serialPort.WriteLine("2"); Thread.Sleep(5000); serialPort.WriteLine("5"); } } private void FindColors() { //RGB B G R MCvScalar Red_Color = new MCvScalar(0, 0, 255); MCvScalar Green_Color = new MCvScalar(0, 255, 0); MCvScalar Blue_Color = new MCvScalar(255, 0, 0); MCvScalar Yellow_Color = new MCvScalar(0, 255, 255); MCvScalar Brown_Color = new MCvScalar(10, 12, 74); MCvScalar tim_Color = new MCvScalar(255, 118, 210); MCvScalar Lblue_Color = new MCvScalar(255, 171, 92); MCvScalar cam_Color = new MCvScalar(93, 188, 255); // Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 56 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO Mat ImgHsv = new Mat(imgInputmat.Size, DepthType.Cv8U, 3); Mat Red = new Mat(imgInputmat.Size, DepthType.Cv8U, 1); Mat Green = new Mat(imgInputmat.Size, DepthType.Cv8U, 1); Mat Blue = new Mat(imgInputmat.Size, DepthType.Cv8U, 1); Mat Yellow = new Mat(imgInputmat.Size, DepthType.Cv8U, 1); Mat Brown = new Mat(imgInputmat.Size, DepthType.Cv8U, 1); Mat tim = new Mat(imgInputmat.Size, DepthType.Cv8U, 1); Mat Lblue = new Mat(imgInputmat.Size, DepthType.Cv8U, 1); Mat cam = new Mat(imgInputmat.Size, DepthType.Cv8U, 1); CvInvoke.CvtColor(imgInputmat, ImgHsv, Emgu.CV.CvEnum.ColorConversion.Bgr2Hsv); CvInvoke.PyrUp(ImgHsv, ImgHsv, Emgu.CV.CvEnum.BorderType.Default); CvInvoke.PyrDown(ImgHsv, ImgHsv, Emgu.CV.CvEnum.BorderType.Default); ScalarArray ScalarArray ScalarArray ScalarArray Red_Lower = new ScalarArray(new MCvScalar(163, 110, 158)); Red_Upper = new ScalarArray(new MCvScalar(203, 255, 255)); Yellow_Lower = new ScalarArray(new MCvScalar(5, 49, 168)); Yellow_Upper = new ScalarArray(new MCvScalar(78, 230, 255)); //Pham vi CvInvoke.InRange(ImgHsv, CvInvoke.InRange(ImgHsv, CvInvoke.InRange(ImgHsv, CvInvoke.InRange(ImgHsv, CvInvoke.InRange(ImgHsv, CvInvoke.InRange(ImgHsv, CvInvoke.InRange(ImgHsv, CvInvoke.InRange(ImgHsv, Red_Lower, Red_Upper, Red); Green_Lower, Green_Upper, Green); Blue_Lower, Blue_Upper, Blue); Yellow_Lower, Yellow_Upper, Yellow); Brown_Lower, Brown_Upper, Brown); tim_Lower, tim_Upper, tim); Lblue_Lower, Lblue_Upper, Lblue); cam_Lower, cam_Upper, Lblue); morphops(Red, Red); morphops(Green, Green); morphops(Blue, Blue); morphops(Yellow, Yellow); morphops(Brown, Brown); morphops(tim, tim); morphops(Lblue, Lblue); morphops(cam, cam); //loc CvInvoke.GaussianBlur(Red, Red, new Size(13, 13), 1.5, 0, BorderType.Default); CvInvoke.GaussianBlur(Green, Green, new Size(13, 13), 1.5, 0, BorderType.Default); CvInvoke.GaussianBlur(Blue, Blue, new Size(13, 13), 1.5, 0, BorderType.Default); CvInvoke.GaussianBlur(Yellow, Yellow, new Size(13, 13), 1.5, 0, BorderType.Default); CvInvoke.GaussianBlur(Brown, Brown, new Size(13, 13), 1.5, 0, BorderType.Default); Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 57 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO CvInvoke.GaussianBlur(tim, tim, new Size(13, 13), 1.5, 0, BorderType.Default); CvInvoke.GaussianBlur(Lblue, Lblue, new Size(13, 13), 1.5, 0, BorderType.Default); CvInvoke.GaussianBlur(cam, cam, new Size(13, 13), 1.5, 0, BorderType.Default); FindCircle(Red, imgInputmat, Red_Color); TronRed = temp; FindCircle(Blue, imgInputmat, Blue_Color); TronBlue = temp; FindCircle(Yellow, imgInputmat, Yellow_Color); TronYellow = temp; FindAy(Red, imgInputmat, Red_Color); HcnRed = temp ; pictureBox1.Image = imgInputmat.Bitmap; ShowForm(); } private void morphops(Mat thresh, Mat Outthresh) { Mat structuringElement1 = CvInvoke.GetStructuringElement(Emgu.CV.CvEnum.ElementShape.Rectangle, new Size(3, 3), new Point(-1, -1)); CvInvoke.MorphologyEx(thresh, thresh, Emgu.CV.CvEnum.MorphOp.Erode, structuringElement1, new Point(-1, -1), 1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar(0, 0, 0)); CvInvoke.MorphologyEx(thresh, thresh, Emgu.CV.CvEnum.MorphOp.Erode, structuringElement1, new Point(-1, -1), 1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar(0, 0, 0)); Mat structuringElement2 = CvInvoke.GetStructuringElement(Emgu.CV.CvEnum.ElementShape.Rectangle, new Size(4, 4), new Point(-1, -1)); CvInvoke.MorphologyEx(thresh, thresh, Emgu.CV.CvEnum.MorphOp.Dilate, structuringElement2, new Point(-1, -1), 1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar(0, 0, 0)); CvInvoke.MorphologyEx(thresh, thresh, Emgu.CV.CvEnum.MorphOp.Dilate, structuringElement2, new Point(-1, -1), 1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar(0, 0, 0)); //loc nhieu 13 13 CvInvoke.GaussianBlur(thresh, Outthresh, new Size(13, 13), 1.5, 0, Emgu.CV.CvEnum.BorderType.Default); } private void FindCircle(Mat ImgColor, Mat ImgShow, MCvScalar color) { double CannyThreshold = 100; double CircleAccumulatorThresld = 70; CircleF[] Circle = CvInvoke.HoughCircles(ImgColor, HoughType.Gradient, 2, 10, CannyThreshold, CircleAccumulatorThresld, 0, 0); for (int i = 0; i < Circle.Count(); i++) { Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 58 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO CvInvoke.Circle(ImgShow, Point.Round(Circle[i].Center), 2, color, 3, LineType.EightConnected, 0); } temp = Circle.Count(); } private void ShowForm() { label1.Text = "Kẹo đỏ có : " + TronRed.ToString() + " viên"; label2.Text = "Kẹo vàng có : " + TronYellow.ToString() + " viên"; label12.Text = soluongdokhongloi.ToString(); label16.Text = soluongvangkhongloi.ToString(); } private void buttonconect_Click(object sender, EventArgs e) { if (comboBoxCOM.Text == "") { MessageBox.Show("Hãy chọn cổng Com", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { serialPort.PortName = comboBoxCOM.Text; serialPort.Open(); comboBoxCOM.Enabled = false; buttonconect.Enabled = false; buttondisconect.Enabled = true; } catch { MessageBox.Show("Không thể kết nối cổng COM", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void buttondisconect_Click(object sender, EventArgs e) { serialPort.Close(); comboBoxCOM.Enabled = true; buttonconect.Enabled = true; buttondisconect.Enabled = false; } Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 59 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO private void Form1_Load(object sender, EventArgs e) { string[] comlist = SerialPort.GetPortNames(); comboBoxCOM.Items.AddRange(comlist); comboBoxCOM.Enabled = true; buttonconect.Enabled = true; buttondisconect.Enabled = false; } private void button2_Click(object sender, EventArgs e) { serialPort.Write("6"); } private void button3_Click(object sender, EventArgs e) { serialPort.Write("7"); } private void button4_Click(object sender, EventArgs e) { Close(); } private void trackBar3_Scroll(object sender, EventArgs e) { Rmin = trackBar3.Value; label8.Text = "Red = " + Rmin.ToString(); pictureBox2.BackColor = Color.FromArgb(Rmin, Gmin, Bmin); } private void trackBar1_Scroll(object sender, EventArgs e) { Bmin = trackBar1.Value; label6.Text = "Blue = " + Bmin.ToString(); pictureBox2.BackColor = Color.FromArgb(Rmin, Gmin, Bmin); } private void trackBar2_Scroll(object sender, EventArgs e) { Gmin = trackBar2.Value; label7.Text = "Green = " + Gmin.ToString(); } private void trackBar5_Scroll(object sender, EventArgs e) { Bmax = trackBar5.Value; label9.Text = "Blue max = " + Bmax.ToString(); Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 60 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO pictureBox3.BackColor = Color.FromArgb(Rmax, Gmax, Bmax); } private void trackBar4_Scroll(object sender, EventArgs e) { Gmax = trackBar4.Value; label10.Text = "Green max = " + Gmax.ToString(); pictureBox3.BackColor = Color.FromArgb(Rmax, Gmax, Bmax); } private void trackBar6_Scroll(object sender, EventArgs e) { Rmax = trackBar6.Value; label11.Text = "Red max = " + Rmax.ToString(); pictureBox3.BackColor = Color.FromArgb(Rmax, Gmax, Bmax); } private void button5_Click(object sender, EventArgs e) //butonRed { Bmin = 50; Gmin = 78; Rmin = 130; Bmax = 236; Gmax = 175; Rmax = 255; trackBar1.Value = Bmin; label6.Text = "Blue = " + Bmin.ToString(); trackBar2.Value = Gmin; label7.Text = "Green = " + Gmin.ToString(); trackBar3.Value = Rmin; label8.Text = "Red = " + Rmin.ToString(); trackBar4.Value = Gmax; label10.Text = "Green max = " + Gmax.ToString(); trackBar5.Value = Bmax; label9.Text = "Blue max = " + Bmax.ToString(); trackBar6.Value = Rmax; label11.Text = "Red max = " + Rmax.ToString(); pictureBox2.BackColor = Color.FromArgb(Rmin, Gmin, Bmin); pictureBox3.BackColor = Color.FromArgb(Rmax, Gmax, Bmax); } private void button6_Click(object sender, EventArgs e) //buttonBlue { Bmin = 83; Gmin = 112; Rmin = 0; Bmax = 128; Gmax = 255; Rmax = 255; trackBar1.Value = Bmin; label6.Text = "Blue = " + Bmin.ToString(); trackBar2.Value = Gmin; label7.Text = "Green = " + Gmin.ToString(); trackBar3.Value = Rmin; label8.Text = "Red = " + Rmin.ToString(); trackBar4.Value = Gmax; label10.Text = "Green max = " + Gmax.ToString(); trackBar5.Value = Bmax; label9.Text = "Blue max = " + Bmax.ToString(); trackBar6.Value = Rmax; label11.Text = "Red max = " + Rmax.ToString(); pictureBox2.BackColor = Color.FromArgb(Rmin, Gmin, Bmin); pictureBox3.BackColor = Color.FromArgb(Rmax, Gmax, Bmax); } Sinh viên thực hiện: TRẦN ĐÌNH HUY NGUYỄN QUANG ĐẠT Hướng dẫn: TS.VÕ NHƯ THÀNH 61 ... THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO 1.1.2 Ứng dụng robot Delta a) Ứng dụng công nghiệp Một loại robot ứng dụng rộng rãi công nghiệp robot Delta Robot Delta sáng chế Reymond Clavel vào... THÀNH 12 Đề tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ CƠ KHÍ 2.1 PHÂN TÍCH CẤU TRÚC ROBOT DELTA 2.1.1 Lựa chọn cấu trúc Hình 2.1 Cấu trúc Robot Delta Để khâu... tài: THIẾT KẾ VÀ CHẾ TẠO ROBOT DELTA PHÂN LOẠI KẸO Hình 1.3 Robot Delta phẫu thuật y học c) Các ứng dụng khác Phịng thí nghiệm PCR Đại học kỹ thuật Shaif thiết kế, mơ phỏng, phân tích động học chế

Ngày đăng: 17/06/2021, 11:55

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

  • Đang cập nhật ...

Tài liệu liên quan