Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
1,43 MB
Nội dung
LỜI NĨI ĐẦU Trên đường tiến tới cơng nghiệp hóa, đại hóa đất nước vấn đề phát triển khoa học kỹ thuật cao mấu chốt hàng đầu Với xu hướng giảm tối thiểu sức người tăng suất lao động đòi hỏi phải có nhiều trang thiết bị, nhiều dây chuyền tự động hóa, lấy sức máy móc thay sức người, Để đáp ứng nhu cầu này, chắn cần phải nghiên cứu phát triển thiết bị tự động để phụ vụ cho nhà máy, xí nghiệp hay sản xuất nơng nghiệp Trong Robot lĩnh vực mà nước ta nghiên cứu bước chế tạo để ứng dụng vào q trình sản xuất để góp phần nâng cao xuất lao động Việc nghiên cứu chế tạo robot nhằm đáp ứng vào nhu cầu thực tế dây chuyền sản xuất cần thiết Việc xây dựng chương trình hoạt động cho robot điều thiết yếu đặc biệt robotdi động Bài toán robotdi động bánh xe (ominidirectional mobile robot-OMR) quan tâm lớn nhiều người năm gần đây, chúng ứng dụng rộng rãi ngành khác công nghiệp, nông lâm nghiệp, y tế, dịch vụ, khả dichuyển linh hoạt Khác với robotdi động sử dụng bánh truyền thống, robotdi động sử dụng bánhđahướng (gọi tắt robotdi động đa hướng) có ưu điểm vượt trội như: khả thay đổi vị trí định hướng linh hoạt, độ xác cao , chúng có khả dichuyển quay đồng thời hoạt độc lập, robotdi động đahướng thu hút nhiều ý Trong kĩ thuật điều khiển chuyển động OMR, vấn đề bám quỹ đạo tác động nhanh cần thiết Có nhiều phương pháp điều khiển robot có cơng trình nghiên cứu dùng điều khiển trượt cho robotđahướngRobot sử dụng bánhomnidichuyển theo hướng nào, góc mà khơng cần quay trước dichuyển Vì có khả nên robotomni có khả tiết kiệm lượng so với robot sử dụng bánh xe thông thường LỜI CẢM ƠN Sau trình học tập rèn luyện nghiêm túc Khoa Cơ Khí Cao Đẳng Cơng Thương cung với hướng dẫn đơn đốc tận tình Thầy Lưu Mạnh Sơn, chúng em hoàn thành đồán sở ngành điện tử với đề tài robotdichuyểnđahướngbánhomni Chúng em xin chân thành gửi lời cảm ơn sâu sắc đến thầy Lưu Mạnh Sơn, thầy động viên giúp đỡ chúng em nhiều mặt tinh thần cung kiến thức để chúng em vượt qua ngày tháng khó khăn tìm tòi hiểu biết lĩnh vực để cuối hoàn thành đồán sở ngành hôm Một lần xin gửi lời cảm ơn đến Thầy, chúc Thầy khỏe mạnh có tháng năm cơng tác tốt Thầy mong đợi Chúng em xin chân thành gửi lời cảm ơn đến thầy cô môn điện tử thầy khoa Cơ Khí người dìu dắt chúng em, cho chúng em kiến thức chuyên ngành kinh nghiệm quý báu để với nỗ lực chúng em hồn thành đồán sở ngành hơm Một lần chúng em xin chân thành cảm ơn tất thầy cô khoa ngành giúp em thời gian qua Trân trọng ! TP.HCM Ngày Tháng Sinh viên thực Nguyễn Mạnh Hà Trương Ngọc Hải Năm NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Họ tên GVHD: Ngày giao đề tài: Số buổi báo cáo thường ky: Nhận xét chung: Điểm hướng dẫn: TPHCM, ngày … tháng … năm … Giảng viên hướng dẫn (Ký ghi rõ họ tên) Ngàyhoàn thành đề tài: Chương TỔNG QUAN 1.1 Đặt vấn đề: Vấn đề đặt làm để robot hoạt động, nhận biết mơi trường thực thi nhiệm vụ đề Vấn đề di chuyển, robotđahướng tự hành nên dichuyển cấu dichuyển lựa chọn tốt Vấn đề thứ hai điều hướng Vấn đề thứ ba môi trường làm việc Robotđahướng tự hành phải có khả tự định phương thức điều hướng, định hướngchuyển động để tới đích thực nhiệm vụ định 1.2 Cấu trúc xe tự hành: (Robot omni bánh) Hình 1.1 Cấu trúc đơn giản xe tự hành omniRobot tự hành định nghĩa loại xe robot khả dịch chuyển tự vận động ( tự lập trình ) điều khiển tự động để thực thành công công việc giao 1.3 Tổng quan chung lĩnh vực nghiên cứu: 1.3.1 Tổng quan: Cùng với phát triển không ngừng ngành khoa học kỹ thuật, ngành công nghiệp phát triển nhanh chóng Việc áp dụng máy móc đại vào sản xuất yêu cầu thiếu nhà máy nhằm tăng xuất, tăng chất lượng giảm giá thành sản phẩm Song song với phát triển đó, cơng nghệ chế tạo Robot phát triển nhanh chóng đặc biệt nước phát triển nhằm đáp ứng nhu câu sản xuất, sinh hoạt, quốc phòng robot thực cơng việc mà người khó thực chí khơng thực như: làm cơng việc đòi hỏi xác cao, làm việc mơi trường nguy hiểm ( lò phản ứng hạt nhân, dò phá mìn qn sự), thám hiểm khơng gian vũ trụ Trong họ Robot, không nhắc tới Mobile Robot với đặc thù riêng mà loại Robot khác khơng có Với khả dichuyển linh hoạt vùng hoạt động rộng, thu hút nhiều đầu tư nghiên cứu Mobile Robot phân chia thành nhiều loại theo cách vận hành 1.3.2 Phân loại Mobile Robot: Có thể phân loại robot theo phương pháp di chuyển: Robot có chân, giống người hay động vật Hình 1.2 Robot nhện Robotdichuyểnbánh xích, đai Hình 1.3 Robotbánh xích Robotdichuyểnbánh xe Hình 1.4 Robotomni 1.3.3 Một số dạng điều khiển: 1.3.3.1 Điều khiển từ xa tay: Robot điều khiển từ xa tay điều khiển thơng qua sóng RF, wifi, hồng ngoại hay bluetooth Robot điều khiển từ xa giúp người tránh khỏi nguy hiểm 1.3.3.2 Thực thi theo lộ trình: Là Robot theo lộ trình sẵn Chúng theo đường sơn khắc sàn trần nhà hay dây điện Đa số robot hoạt động theo thuật toán đơn giản giữ lộ trình cảm biến trung tâm, chúng khơng thể vòng qua chướng ngại vật, chúng dừng lại có vật cản đường chúng 1.3.3.3 Ngẫu nhiên hoạt động độc lập: Robot hoạt động độc lập với chuyển động ngẫu nhiên, chuyển động nhảy bật lên tường, tường cảm nhận cản trở mặt vật lý máy hút bụi Roomba với cảm biến điện tử máy cắt cỏ Friendly Robotics 1.4 Mục đích nghiên cứu: Để góp phần vào phát triển khoa học kỹ thuật nước nhà, nhóm chúng em chọn Mobile Robotdichuyểnđahướngbánh xe omni với hệ thống điều khiển tự động tránh vật cản Nhóm chọn làm Robotomnidichuyểnbánh tiện, gọn giảm chi phí cho nhóm Từ suy nghĩ chúng em sử dụng kiến thức hạn chế để nghiên cứu chế tạo Mobile Robot phạm vi đồán với ước muốn đóng góp vào cơng nghệ chế tạo Robot nước nhà thời gian tới Robot nhóm áp dụng vào việc giám sát khu vực nguy hiểm mà người khơng tới 1.5 Nhiệm vụ giới hạn nghiên cứu: Thiết kế mơ hình robot, tính tốn thơng số động cơ, đường kính vòng bánh xe điều khiển robot tự tránh vật cản thông qua cảm biến siêu âm Khoảng cách mà robot nhận biết vật cản 1.6 Phương pháp nghiên cứu: Nhóm tiến hành tìm kiếm thơng tin, chức robot áp dụng vào việc gì, hoạt động mơi trường nào, địa hình Cần phải nâng cấp chức robot tiến hành thiết kế mơ hình 3D, sau thiết kế 3D xong ta tiến hành nghiên cứu đến phần khí robot khung sườn, nên dùng chất liệu để xe có độ bền cao nhẹ cân để dễ dàng di chuyển, sau chọn hình dáng thiết kế cho khung sườn hình tròn hay hình tam giác Phần hệ thống điện động cơ, điện ta phải chọn nên dùng board mạch gồm có gì, sử dụng cảm biến nào, nguồn cấp cho Robot để phù hợp, tìm hiểu thơng số kỹ thuật phận chi tiết bo mạch cảm biến, arduino , thông tin nguông cấp vote động xem thơng số kỹ thuật cơng suất, tỷ số truyền, nguôn cấp bao nhiêu, cấu hộp số, sau ta tiến hành tính tốn giải thuật điều khiển cho Robotdichuyểnhướng Phần lập trình, phần cần phải biết nên sử dụng ngơn ngữ lập trình nào, dùng phần mềm để lập trình học cách sử dụng phần mềm Sau hồn thành cơng việc nhóm bắt đầu tiến hành vào việc phát triển làm mơ hình ngồi thực tế sau làm xong đem thử nghiệm có chỗ chưa đạt nhóm tiếp tục xem xét lại, sửa chữa lại, thành cơng tiến hành áp dụng vào thực tiễn 1.7 Ưu nhược điểm Robot: 1.7.1 Ưu điểm: Dichuyển linh hoạt Dễ điều khiển Thiết kế đơn giản Có khả ứng dụng vào đời sống 1.7.2 Nhược điểm: Dichuyển số môi trường địa hình định Chương THIẾT KẾ CƠ KHÍ 2.1 Phần mềm thiết kế: Mobile Robot thiết kế phần mềm solidword 2016 Solidworks phần mềm thiết kế khí 3D, chạy hệ điều hành windowns Solidworks phát triển Dassault Systemes Solidworks corp, công ty Dassault Systemes, SA (Veslizy, pháp ) Solidworks sử dụng triệu kỹ sư nhà thiết kế mức 178.000 công ty toàn giới Solidworks đối thủ cạnh tranh trực tiếp với Autodesk Inventor Solid Edge Các phiên phát hành như: Solidworks 95, Solidworks 96, Solidworks 97, Solidworks 97 plus, Solidworks 98, Solidworks 98 plus, , Solidworks 2013, , Solidworks 2016 Các sản phẩm solidworks cung cấp: ứng dụng thiết kế khí 3D: Solidworks Standar, Solidworks professional, Solidworks Premium cung cấp công cụ phát triển sản phẩm thiết, thẩm tra thiết kế, quản lý liệu, thông tin liên lạc cơng cụ khí Thiết kế công cụ chứng nhận: Solidworks Simulation công cụ xác nhận thiết kế cho thấy kỹ sư cách thiết kế họ cư xử đối tượng vật lý Solidworks Motion công cụ tạo mẫu ảo cung cấp khả mô chuyển động để đảm bảo chức thiết kế cách Solidworks với tính mở tính tương thích mình, Solidworks cho phép nhiều phần mềm ứng dụng khác chạy trực tiếp mơi trường nó,Solidworks kết xuất tập tin liệu định dạng chuẩn để người sử dụng khai thác mơi trường phần mềm khác 2.2 Khung khí: digitalWrite(in4, HIGH); analogWrite(enB, 255); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 100); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 75); digitalWrite(in5, LOW); digitalWrite(in6, HIGH); analogWrite(enC, 250); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(enA, 75); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enB, 100); digitalWrite(in5, HIGH); digitalWrite(in6, LOW); analogWrite(enC, 250); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 255); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, HIGH); analogWrite(enC, 255); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(enA, 255); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, HIGH); digitalWrite(in6, LOW); analogWrite(enC, 255); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 75); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enB, 250); digitalWrite(in5, HIGH); digitalWrite(in6, LOW); analogWrite(enC, 100); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(enA, 100); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 250); digitalWrite(in5, LOW); digitalWrite(in6, HIGH); analogWrite(enC, 75); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enB, 255); digitalWrite(in5, HIGH); digitalWrite(in6, LOW); analogWrite(enC, 255); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 255); digitalWrite(in5, LOW); digitalWrite(in6, HIGH); analogWrite(enC, 255); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 250); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enB, 75); digitalWrite(in5, LOW); digitalWrite(in6, HIGH); analogWrite(enC, 100); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(enA, 255); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 100); digitalWrite(in5, HIGH); digitalWrite(in6, LOW); analogWrite(enC, 75); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(2000); digitalWrite(in1, LOW);// hinhvuong digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enB, 255); digitalWrite(in5, HIGH); digitalWrite(in6, LOW); analogWrite(enC, 255); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(1000); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 250); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); analogWrite(enB, 70); digitalWrite(in5, LOW); digitalWrite(in6, HIGH); analogWrite(enC, 100); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(1000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 255); digitalWrite(in5, LOW); digitalWrite(in6, HIGH); analogWrite(enC, 255); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(1000); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(enA, 255); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 100); digitalWrite(in5, HIGH); digitalWrite(in6, LOW); analogWrite(enC, 70); delay(4000); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); digitalWrite(in5, LOW); digitalWrite(in6, LOW); delay(1000); } void giuhuong() { digitalWrite(in1, HIGH); // giu huong digitalWrite(in2, LOW); analogWrite(enA, 255); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 140); digitalWrite(in5, HIGH); digitalWrite(in6, LOW); analogWrite(enC, 60); delay(2500); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 60); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 255); digitalWrite(in5, HIGH); digitalWrite(in6, LOW); analogWrite(enC, 140); delay(2500); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, 140); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); analogWrite(enB, 60); digitalWrite(in5, HIGH); digitalWrite(in6, LOW); analogWrite(enC, 255); delay(2500); } void dieukhientay() { if (Serial.available()) { state = Serial.read(); } switch (state) { case 'F': //tien tien(); break; case 'B': //lui lui10(); break; case 'R': //ngangphai ngang11(); break; case'L' ://ngangtrai ngang12(); break; case'S'://dung dung(); break; case'G'://xoay xoaytrontrai(); break; case'I'://xoay xoaytronphai(); break; } } void dahuong() { int duration; int distance; digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(5); digitalWrite(trig, LOW); duration = pulseIn(echo, HIGH); distance = (duration / 2) / 29.412; Serial.print(distance); Serial.println("cm"); tien(); if (distance