(Đồ án hcmute) nghiên cứu chế tạo robot bám line dùng xử lý ảnh

88 12 0
(Đồ án hcmute) nghiên cứu chế tạo robot bám line dùng xử lý ảnh

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CƠ KHÍ CHẾ TẠO MÁY ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ NGHIÊN CỨU CHẾ TẠO ROBOT BÁM LINE DÙNG XỬ LÝ ẢNH GVHD: ThS LÊ TẤN CUỜNG SVTH: ÐỖ ÐÌNH CẨM MSSV : 11146012 S KL 0 Tp Hồ Chí Minh, tháng 07 năm 2016 an BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH KHOA CƠ KHÍ CHẾ TẠO MÁY Giảng viên hướng dẫn Sinh viên thực MSSV Lớp : : : : TH.S LÊ TẤN CƯỜNG ĐỖ ĐÌNH CẨM 11146012 111461A Tp.Hồ Chí Minh, ngày 20 tháng 07 năm 2016 an LỜI NÓI ĐẦU Trong năm gần đây, khả xử lý hình ảnh camera ngày phát triển Các robot gắn camera có khả theo dõi, định vị hình dạng, kích thước vật quan sát Theo xu hướng phát triển đó, em định lựa chọn thực nghiên cứu đề tài: “Nghiên cứu chế tạo Robot bám line dùng xử lý ảnh” Ngoài việc hoàn thành đồ án tốt nghiệp với công việc cịn có ý nghĩa sâu sắc sinh viên thực Một lần sinh viên thực hành kiến thức học từ ghế nhà trường giúp hình thành sản phẩm cơng nghiệp, sử dụng, cầm tay lắp cảm biến mà từ trước nằm trang giấy Trong trình tiến hành khơng thể khơng gặp khó khăn vấp phải, kích thích sinh viên tư để tìm phương án tối ưu trao đổi thảo luận với thầy cô, bè Tuy nhiên hạn chế kinh nghiệm thực tế thời gian thực nên việc giải đề tài tránh khỏi thiếu sót Do mong bảo thêm quý thầy cô đóng góp sinh viên Xin chân thành cảm ơn! Robot bám line dùng xử lý ảnh an i CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc Thành phố Hồ Chí Minh, ngày tháng năm NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP Họ tên: Đỗ Đình Cẩm MSSV: 11146012 Ngành: CƠ ĐIỆN TỬ Lớp: 111461 Giảng viên hướng dẫn: TS Lê Tấn Cường ĐT: 0909744100 Ngày nhận đề tài: 25/08/2016 Ngày nộp đề tài: 28/07/2016 Tên đề tài: NGHIÊN CỨU CHẾ TẠO ROBOT BÁM LINE DÙNG XỬ LÝ ẢNH Các số liệu, tài liệu ban đầu: - Tài liệu tổng quan Pixy Wikipedia Pixy Nội dung thực đề tài: - Tìm hiểu Pixy Camera PixyMon - Thiết kế mơ hình camera - Tìm hiểu stepper motor - Thiết kế mơ hình robot - Lập trình điều khiển - Chạy thử nghiệm Sản phẩm: - Nghiên cứu tổng quan xe bám line, Arduino cảm biến - Tìm hiểu Pixy Camera - Thiết kế xe bám line tự động có camera TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN Robot bám line dùng xử lý ảnh an ii CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên: Đỗ Đình Cẩm MSSV: 11146012 Ngành: Cơ Điện Tử Tên đề tài: Nghiên cứu chế tạo robot bám line dùng xử lý ảnh Họ tên Giáo viên hướng dẫn: TS Lê Tấn Cường NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Ưu điểm: …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Khuyết điểm: …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Robot bám line dùng xử lý ảnh an iii Điểm đánh giá cụ thể ĐIỂM TỐI ĐA TT MỤC ĐÁNH GIÁ Hình thức kết cấu luận án Đúng format với đầy đủ hình thức nội dung mục Tính tổng quan, mục tiêu nhiệm vụ nghiên cứu Tính cấp thiết đề tài Phương pháp nghiên cứu Nội dung nghiên cứu Khả ứng dụng kiến thức toán học, khoa học kỹ thuật, khoa học xã hội,… để giải vấn đề Khả phân tích/tổng hợp  Khả thực thiết kế chế tạo hệ thống, máy móc, thiết bị,…(đối với đề tài theo hướng công nghệ)  Khả thực nghiên cứu, đề xuất phương pháp quy trình,… có tính sáng tạo, đáp ứng yêu cầu đưa với ràng buộc thực tế (đối với đề tài theo hướng nghiên cứu) Khả cải tiến phát triển đề tài Khả sử dụng công cụ kỹ thuật, phần mềm chuyên ngành,… Tổng điểm 10 100 Tổng điểm quy đổi (hệ 10) 10 ĐIỂM ĐẠT ĐƯỢC 20 5 5 80 10 50 Câu hỏi phản biện (nếu có): Có nên sử dụng động có encoder (thay cho động bước) hay không ? So sánh ưu nhược điểm sử dụng loại ? Trình bày rõ kết thực nghiệm việc dò line xử lý ảnh ? Đề nghị cho bảo vệ hay khơng? Đồng ý cho bảo vệ Tp Hồ Chí Minh, ngày 20 tháng 07 năm 2016 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) TS Lê Tấn Cường Robot bám line dùng xử lý ảnh an iv CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ****** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên: Đỗ Đình Cẩm MSSV: 11146012 Ngành: Cơ điện tử Tên đề tài: Nghiên cứu chế tạo robot bám line dùng xử lý ảnh Họ tên Giáo viên hướng dẫn: Lê Tấn Cường NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: ………………………………………………………………… ………………………… ……………………………………………………………………………………………… Ưu điểm: …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Khuyết điểm: …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… ………………………………… Robot bám line dùng xử lý ảnh an v Điểm đánh giá cụ thể ĐIỂM TỐI ĐA TT MỤC ĐÁNH GIÁ Hình thức kết cấu luận án Đúng format với đầy đủ hình thức nội dung mục Tính tổng quan, mục tiêu nhiệm vụ nghiên cứu Tính cấp thiết đề tài Phương pháp nghiên cứu Nội dung nghiên cứu Khả ứng dụng kiến thức toán học, khoa học kỹ thuật, khoa học xã hội,… để giải vấn đề Khả phân tích/tổng hợp  Khả thực thiết kế chế tạo hệ thống, máy móc, thiết bị,…(đối với đề tài theo hướng công nghệ)  Khả thực nghiên cứu, đề xuất phương pháp quy trình,… có tính sáng tạo, đáp ứng u cầu đưa với ràng buộc thực tế (đối với đề tài theo hướng nghiên cứu) Khả cải tiến phát triển đề tài Khả sử dụng công cụ kỹ thuật, phần mềm chuyên ngành,… Tổng điểm 10 100 Tổng điểm quy đổi (hệ 10) 10 ĐIỂM ĐẠT ĐƯỢC 20 5 5 80 10 50 Câu hỏi phản biện (nếu có): Có nên sử dụng động có encoder (thay cho động bước) hay không ? So sánh ưu nhược điểm sử dụng loại ? Trình bày rõ kết thực nghiệm việc dò line xử lý ảnh ? Đề nghị cho bảo vệ hay không? Đồng ý cho bảo vệ Tp Hồ Chí Minh, ngày 20 tháng 07 năm 2016 Giáo viên phản biện (Ký & ghi rõ họ tên) Nguyễn Việt Thắng Robot bám line dùng xử lý ảnh an vi LỜI CAM KẾT Tên đề tài: NGHIÊN CỨU CHẾ TẠO ROBOT BÁM LINE DÙNG XỬ LÝ ẢNH GVHD: T.S LÊ TẤN CƯỜNG Họ tên: ĐỖ ĐÌNH CẨM MSSV: 11146012 Số điện thoại liên lạc: 01649764528 Email: cam.dodinh0202@gmail.com Lời cam kết: “Chúng xin cam đoan đồ án tốt nghiệp cơng trình chính chúng em nghiên cứu thực Chúng em không chép từ bất kỳ viết đã công bố mà khơng trích dẫn nguồn gốc Nếu có bất kỳ vi phạm nào, chúng em xin chịu hoàn toàn trách nhiệm” Tp.HCM, ngày 20 tháng năm 2016 Người thực đề tài Đỗ Đình Cẩm Robot bám line dùng xử lý ảnh vii an LỜI CẢM ƠN Sau thời gian học tập nghiên cứu nhóm thực đề tài đã hồn thành đề tài tốt nghiệp giao Em xin chân thành gửi lời cám ơn đến: Ban Giám Hiệu, Các cán công nhân viên nhà trường đã giúp đỡ em suốt thời gian học tập trường Ban Chủ Nhiệm Khoa Thầy Cô Cơ Khí Chế Tạo Máy đã dạy em kiến thức chuyên ngành Các đồng hành với em suốt trình học tập nghiên cứu Đặc biệt xin gửi lời tri ân đến Thầy LÊ TẤN CƯỜNG, người trực tiếp hướng dẫn đề tài đã hỗ trợ cho em nhiều kiến thức, tài liệu sở vật chất để em hồn thành tốt đề tài Robot bám line dùng xử lý ảnh an vii i Vài ứng dụng yêu cầu sử dụng hai khâu tùy theo hệ thống Điều đạt cách thiết đặt đội lợi đầu không mong muốn Một điều khiển PID gọi điều khiển PI, PD, P I vắng mặt tác động bị khuyết Bộ điều khiển PI phổ biến, đáp ứng vi phân nhạy nhiễu đo lường, trái lại thiếu giá trị tích phân khiến hệ thống khơng đạt giá trị mong muốn Hình 51: Sơ đồ khối điều khiển PID Một điều tự nhiên, với yêu cầu nhanh cách đơn giản để cơng thức hóa ý tưởng dùng quan hệ tuyến tính: F=Kp*e Trong Kp số dương mà chúng ta gọi hệ số P (Propotional gain), e sai số cần điều khiển Mục tiêu điều khiển đưa e (sai số) tiến nhanh tốt Rõ ràng Kp lớn tác động nhanh điều khiển lớn Tuy nhiên, quán tính mà việc điều khiển nhanh gây tính ổn định (do lực quán tính lực điều khiển tạo cặp đối lực xuất hai khoảng thời gian liên tiếp => chúng tạo dao động không kiểm soát được) Như vậy, ta sử dụng đạo hàm sai số e để làm tăng giá trị ngược chiều lực F (vì e giảm nhanh dần) Nếu sử dụng đạo hàm làm thành phần “thắng” giảm overshot xe Thành phần “thắng” thành phần D (Derivative) điều khiển PID mà chúng ta khảo sát Thêm thành phần D vào điều khiển P tại, chúng ta thu điều khiển PD sau: F=Kp*e + Kd*(de/dt) Trong (de/dt) vận tốc thay đổi sai số e Kd số không âm gọi hệ số D (Derivative gain) Sự diện thành phần D làm giảm overshot vật thể điều khiển tiến gần vị trí cân (vị trí ổn định), lực F gồm thành phần Kp*e > =0 (P) Kd*(de/dt) maxSize) { trackedBlock = i; maxSize = newSize; } } } int32_t panError = X_CENTER - pixy.blocks[trackedBlock].x; int32_t tiltError = pixy.blocks[trackedBlock].y - Y_CENTER; panLoop.update(panError); tiltLoop.update(tiltError); pixy.setServos(panLoop.m_pos, tiltLoop.m_pos); oldX = pixy.blocks[trackedBlock].x; oldY = pixy.blocks[trackedBlock].y; oldSignature = pixy.blocks[trackedBlock].signature; return trackedBlock; } Các hành vi sau đối tượng thực chức FollowBlock FollowBlock sử dụng điều khiển tỷ lệ thuận Nhưng chúng ta có hai phép đo (kích thước vị trí pan) hai đầu (động trái phải) Kích thước (lần chiều cao khối chiều rộng) cung cấp cho ý tưởng thô đến khoảng cách đối tượng chúng tơi sử dụng để tính tốn ' forwardSpeed ' Điều làm cho robot chậm lại tiếp cận đối tượng Nếu đối tượng xuất lớn giá trị điểm đặt, forwardSpeed trở thành tiêu cực robot lưu int32_t size = 400; void FollowBlock(int trackedBlock) { int32_t followError = RCS_CENTER_POS - panLoop.m_pos; size += pixy.blocks[trackedBlock].width * pixy.blocks[trackedBlock].height; size -= size >> 3; int forwardSpeed = constrain(400 - (size/256), -100, 400); int32_t differential = (followError + (followError * forwardSpeed))>>8; int leftSpeed = constrain(forwardSpeed + differential, -400, 400); int rightSpeed = constrain(forwardSpeed - differential, -400, 400); motors.setLeftSpeed(leftSpeed); motors.setRightSpeed(rightSpeed); } Robot bám line dùng xử lý ảnh 63 an Các vị trí pan (một kết đầu điều khiển theo dõi) cho biết khoảng đầu chuyển từ điểm đặt (thẳng phía trước) Giá trị sử dụng để kiểm soát khác biệt tốc độ động bên trái bên phải gây robot để quay phía đối tượng sau 7.2.2 Tìm kiếm đối tượng đường line Khi bắt đầu camera tìm kiếm đối tượng, q trình hoạt động đường line vơ tình khơng xuất tầm nhìn camera Khi Pixy tự động tìm kiếm đường line khoảng khơng gian void ScanForBlocks() { if (millis() - lastMove > 20) { lastMove = millis(); panLoop.m_pos += scanIncrement; if ((panLoop.m_pos >= RCS_MAX_POS)||(panLoop.m_pos >10; m_pos += velocity; if (m_pos>RCS_MAX_POS) { m_pos = RCS_MAX_POS; } else if (m_pos 100) { motors.setLeftSpeed(0); motors.setRightSpeed(0); ScanForBlocks(); } } int oldX, oldY, oldSignature; int TrackBlock(int blockCount) { int trackedBlock = 0; long maxSize = 0; Serial.print("blocks ="); Serial.println(blockCount); Robot bám line dùng xử lý ảnh 67 an for (int i = 0; i < blockCount; i++) { if ((oldSignature == 0) || (pixy.blocks[i].signature == oldSignature)) { long newSize = pixy.blocks[i].height * pixy.blocks[i].width; if (newSize > maxSize) { trackedBlock = i; maxSize = newSize; } } } int32_t panError = X_CENTER - pixy.blocks[trackedBlock].x; int32_t tiltError = pixy.blocks[trackedBlock].y - Y_CENTER; panLoop.update(panError); tiltLoop.update(tiltError); pixy.setServos(panLoop.m_pos, tiltLoop.m_pos); oldX = pixy.blocks[trackedBlock].x; oldY = pixy.blocks[trackedBlock].y; oldSignature = pixy.blocks[trackedBlock].signature; return trackedBlock; } int32_t size = 400; void FollowBlock(int trackedBlock) { int32_t followError = RCS_CENTER_POS - panLoop.m_pos; size += pixy.blocks[trackedBlock].width * pixy.blocks[trackedBlock].height; size -= size >> 3; Robot bám line dùng xử lý ảnh 68 an int forwardSpeed = constrain(400 - (size/256), -100, 400); int32_t differential = (followError + (followError * forwardSpeed))>>8; int leftSpeed = constrain(forwardSpeed + differential, -400, 400); int rightSpeed = constrain(forwardSpeed - differential, -400, 400); motors.setLeftSpeed(leftSpeed); motors.setRightSpeed(rightSpeed); } int scanIncrement = (RCS_MAX_POS - RCS_MIN_POS) / 150; uint32_t lastMove = 0; void ScanForBlocks() { if (millis() - lastMove > 20) { lastMove = millis(); panLoop.m_pos += scanIncrement; if ((panLoop.m_pos >= RCS_MAX_POS)||(panLoop.m_pos

Ngày đăng: 02/02/2023, 09:17

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

Tài liệu liên quan