Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 96 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
96
Dung lượng
3,98 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ ĐỀ TÀI: NGHIÊN CỨU, THIẾT KẾ MOBILE ROBOT VẬN CHUYỂN HÀNG HÓA Giáo viên hướng dẫn: Th.S PHẠM TIẾN HÙNG Sinh viên thực hiện: Nguyễn Như Quân 2018604313 Nguyễn Văn Đạt 2018602116 Nguyễn Trung Hiếu 2018601596 Hà Nội - 2022 i ii iii iv LỜI CẢM ƠN Để đồ án hồn thành hồn chỉnh, nhóm nhận hỗ trợ, giúp đỡ, ủng hộ nhiều, tổ chức, thầy giáo hướng dẫn bạn bè, người thân Với tình cảm sâu sắc, chân thành, cho phép nhóm đồ án bày tỏ lòng biết ơn sâu sắc tới tất cá nhân quan tạo điều kiện giúp đỡ trình học tập nghiên cứu đồ án Đặc biệt, nhóm xin gửi lời cảm ơn chân thành tới thầy giáo – Ths Phạm Tiến Hùng quan tâm giúp đỡ, hướng dẫn nhóm hồn thành tốt đề tài đồ án tốt nghiệp thời gian qua Nhóm đồ án xin gửi lời cảm ơn đến thầy cô môn Cơ điện tử, Trường Đại học Công Nghiệp Hà Nội tạo điều kiện, nhiệt tình giúp đỡ đưa góp ý để nhóm đồ án hồn thiện đồ án v MỤC LỤC LỜI CẢM ƠN iv DANH MỤC HÌNH ẢNH vi DANH MỤC BẢNG BIỂU viii LỜI NÓI ĐẦU ix Chương TỔNG QUAN VỀ HỆ THỐNG 1.1 Lịch sử hình thành nghiên cứu 1.2 Tổng quan mobile robot vận chuyển hàng hóa 1.3 Phương pháp, phạm vi giới hạn nghiên cứu Chương CƠ SỞ LÝ THUYẾT VỀ HỆ THỐNG 2.1 Phương trình động học Robot 2.2 Phương trình động lực học Robot Visai 12 2.3 Phương pháp định vị 13 Chương TÍNH TỐN VÀ THIẾT KẾ 18 3.1 Tính tốn, thiết kế hệ thống khí 18 3.2 Tính tốn thiết kế hệ thống điều khiển 30 3.3 Sản phẩm sau hoàn thiện 53 Chương Kết luận định hướng phát triển 54 4.1 Kết đạt 54 4.2 Định hướng phát triển 55 TÀI LIỆU THAM KHẢO 56 PHỤ LỤC 57 vi DANH MỤC HÌNH ẢNH Hình 1.1 Robot cơng nghiệp Yamaha Hình 1.2 Robot HRP-5P nghiên cứu AIST .1 Hình 1.3 Robot di động MPO-500 Hình 1.4 Boston Dynamics’ Robot Dog Hình 1.5 Robot naro-tartaruga phát triển Viện Kỹ thuật liên bang Thụy Sĩ Hình 1.6 Flycam Hình 1.7 Robot HRP-3P Hình 1.8 Robot DJI Robomaster S1 Hình 1.9 Robot tự hành AGV PERBOT Series A Uniduc nghiên cứu phát triển .5 Hình 2.6 Mơ hình robot di động cá thông số động học 10 Hình 2.7 Mơ hình robot di động cá thơng số động học 12 Hình 2.1 Hệ thống Laser guidance 14 Hình 2.2 Magnetic spot guidance 14 Hình 2.3 Nguyên tắc hoạt động Magnetic sspt guidance 15 Hình 2.4 Nguyên tắc hoạt động Magnetic tape guidance .15 Hình 2.5 Nguyên lý hoạt động Wire guidance 16 Hình 3.1 Các lực tác dụng lên xe dò line 18 Hình 3.2 Minh họa lực tác động lên bánh xe 21 Hình 3.3 Minh họa lực tác dụng lên thân xe 22 Hình 3.4 Bộ phận dẫn đường 23 Hình 3.5 Thiết kế đế 24 Hình 3.6 Gia cơng đế 24 Hình 3.7 Thiết kế cấu đẩy hàng 26 Hình 3.8 Cơ cấu xe kết hợp khung nâng đỡ hàng hóa 26 Hình 3.9 Vít me 27 Hình 3.10 Khung nâng hạ hàng hóa .27 Hình 3.11 Lưu đồ thuật tốn điều khiển 31 Hình 3.12 Lưu đồ thuật toán điều khiển 31 Hình 3.13 Sơ đồ tổng quát mạch điều khiển 32 Hình 3.14 Phototransistor .32 vii Hình 3.15 Nguyên lý cảm biến quang dẫn 33 Hình 3.16 Tín hiệu đọc digital 33 Hình 3.17 Module cảm biến dò line 34 Hình 3.18 Cảm biến siêu âm HCSR 04 35 Hình 3.19 Module cịi báo .36 Hình 3.20 Cảm biến hồng ngoại 37 Hình 3.21 Cơng tắc hành trình 38 Hình 3.22 Driver động BTS7960 43A 38 Hình 3.23 Mạch công suất TB6600 .40 Hình 3.24 Pin 18650 Samsung 41 Hình 3.25 Sơ đồ đấu pin 42 Hình 3.26 Module hạ áp 42 Hình 3.27 Adapter sạc pin 3s 43 Hình 3.28 Arduino Atmega2560 44 Hình 3.29 Phần mềm lập trình Arduino IDE 46 Hình 3.30 Hình ảnh LCD 16*2 .47 Hình 3.31 Keypad 1x4 50 Hình 3.32 Ngun lí điều khiển qua app blink 50 Hình 3.33 Kit RF thu phát Wifi ESP8266 NodeMCU 51 Hình 3.34 Sơ đồ chân 51 Hình 3.35 Giao diện người dùng điện thoại 52 Hình 3.36 Sản phẩm sau hoàn thiện 53 Hình 3.37 Sản phẩm sau hoàn thiện 53 viii DANH MỤC BẢNG BIỂU Bảng 3.1 Thông số xe 23 Bảng 3.2 Các chi tiết cụ thể 25 Bảng 3.3 Các chi tiết cụ thể 28 Bảng 3.4 Thông số kĩ thuật Arduino Atmega2560 44 Bảng 3.5 Các cổng Serial giao tiếp với phần cứng .45 Bảng 3.6 Mô tả chức chân LCD 48 ix LỜI NÓI ĐẦU Cuộc cách mạng 4.0 làm thay đổi mạnh mẽ ngành công nghiệp Đảng Nhà nước đề mục tiêu “cơng nghiệp hố - đại hố” đất nước Muốn thực mục tiêu phải thúc đẩy ngành công nghiệp như: công nghệ thông tin, công nghệ chế tạo máy, công nghệ sinh học, điện điện tử, tự động hóa… Trong cơng nghiệp, robot di động đóng vai trị quan trọng ứng dụng rộng rãi nhiều nghành nghề, đem lại hiệu to lớn sản xuất, quốc phịng, y tế, vũ trụ Vì vậy, việc nghiên cứu phát triển robot di động mục tiêu hàng đầu Để góp phần vào phát triển khoa học kỹ thuật nay, Mobile Robot với đặt thù riêng mà loại robot khác Mobile robot có khả tự di chuyển, có nghĩa chúng có khả tự điều hướng môi trường trước mà không cần thiết bị hướng dẫn vật lý điện Do thời gian hạn chế với khối lượng công việc lớn, chúng em tập trung nghiên cứu, tính tốn, thiết kế kết cấu khí điều khiển chuyển động cho robot Về phần điều khiển chuyển động chúng em áp dụng phương trình động học để điều khiển hướng chuyển động góc quay robot Trong suốt q trình nghiên cứu thiết kế hướng dẫn, góp ý tận tình giảng viên, Ths Phạm Tiến Hùng với nỗ lực nhóm, đến chúng em hoàn thành đồ án tốt nghiệp với đề tài “Nghiên cứu, thiết kế chế tạo robot di động sử dụng lidar phục vụ xe tự hành môi trường ROS” Do khả tầm nhận thức hạn chế, kinh nghiệm thực tế chưa nhiều, với khối lượng cơng việc địi hỏi có tổng hợp cao nên thiết kế chúng em khơng tránh khỏi thiếu sót Chúng em mong thầy tiếp tục bảo giúp đỡ để chúng em hồn thiện đề tài vận dụng vào cơng việc thực tế Chúng em xin chân thành cảm ! 72 timPHAI(); timDUNG(); } else if (loca2==3) { timNGA4(2); timNGA4(0); timPHAI(); timDUNG(); } else { timNGA4(1); timNGA4(0); timPHAI(); timDUNG(); } tick(3); lcd.clear(); lcd.print(" DONE! quaydau(); lui(); delay(2000); dung(); tick(3); mode=1; cnt++; Serial1.readString(); break; } else if (loca1==3) { timTRAI(); timNGA4(0); timNGA4(1); // trai timDUNG(); tick(1); lcd.setCursor(5,1); lcd.print(loca1); banlen(); delay(1000); "); 73 quaydau(); if (loca2==1) { timNGA4(2); timNGA4(2); timDUNG(); } else if (loca2==2) { timNGA4(2); timNGA4(1); timDUNG(); } else // { timNGA4(0); timDUNG(); } tick(1); lcd.setCursor(14,1); lcd.print(loca2); delay(1000); quaydau(); lui(); delay(1000); dung(); banxuong(); tick(2); lcd.clear(); lcd.print(" if (loca2==1) { timNGA4(2); timPHAI(); timDUNG(); } else if (loca2==2) { timNGA4(1); timPHAI(); timDUNG(); GO HOME! "); 74 } else // { timNGA4(1); timNGA4(0); timPHAI(); timDUNG(); } tick(3); lcd.clear(); lcd.print(" DONE! quaydau(); lui(); delay(2000); dung(); tick(3); mode=1; cnt++; Serial1.readString(); break; } else if (loca1==4) { timTRAI(); timNGA4(0); timNGA4(2); // phai timDUNG(); tick(1); lcd.setCursor(5,1); lcd.print(loca1); banlen(); delay(1000); quaydau(); if (loca2==1) { timNGA4(1); timNGA4(2); timDUNG(); } else if (loca2==2) { "); 75 timNGA4(1); timNGA4(1); timDUNG(); } else // { timNGA4(0); timDUNG(); } tick(1); lcd.setCursor(14,1); lcd.print(loca2); delay(1000); quaydau(); lui(); delay(1000); dung(); banxuong(); tick(2); lcd.clear(); lcd.print(" if (loca2==1) { timNGA4(2); timPHAI(); timDUNG(); } else if (loca2==2) { timNGA4(1); timPHAI(); timDUNG(); } else // { timNGA4(2); timNGA4(0); timPHAI(); timDUNG(); } tick(3); GO HOME! "); 76 lcd.clear(); lcd.print(" quaydau(); lui(); delay(2000); dung(); tick(3); mode=1; cnt++; Serial1.readString(); break; } } } DONE! "); 77 Code blynk control /* Blynk app: * Email: quananh27220@gmail.com * Pass: hauitech012 #define BLYNK_PRINT Serial #include #include #include SoftwareSerial ar(13, 15); char ssid[] = "HaUI Tech"; char pass[] = "1234567890"; char auth[] = "ry7RjRswkGVuEzWtAqqyq35VNOdcOOo0"; int tx1=0, tx2=0; BLYNK_WRITE(V6) { tx1=6; tx2=param.asInt(); Serial.printf("TX:%d%2d.\n",tx1,tx2); ar.printf("TX:%d%2d.\n",tx1,tx2); } BLYNK_WRITE(V1) { tx1=1; tx2=param.asInt(); ar.printf("TX:%d%2d.\n",tx1,tx2); Serial.printf("TX:%d%2d.\n",tx1,tx2); } BLYNK_WRITE(V2) { tx1=2; tx2=param.asInt(); ar.printf("TX:%d%2d.\n",tx1,tx2); Serial.printf("TX:%d%2d.\n",tx1,tx2); } BLYNK_WRITE(V3) { tx1=3; 78 tx2=param.asInt(); ar.printf("TX:%d%2d.\n",tx1,tx2); Serial.printf("TX:%d%2d.\n",tx1,tx2); } BLYNK_WRITE(V4) { int x1 = param[0].asInt(); int y1 = param[1].asInt(); tx1=4; if (y1>8 && x1