1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT

72 44 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 3,28 MB

Nội dung

Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT LỜI MỞ ĐẦU 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 suất yêu cầu thiếu nhà máy nhằm tăng suấ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 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 (như 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 đặt thù riêng mà loại Robot khác khơng có Với khả di chuyể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 (Robot di chuyển chân, bánh xe, xích,…) Để 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 Robot di chuyển đa hướng bánh xe omni với hệ thống điều khiển thông qua Bluetooth định vị GPS 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 tốt nghiệp 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 Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT LỜI CẢM ƠN Trước tiên, chúng em xin gửi lời cám ơn trân trọng sâu sắc thầy Nguyễn Mậu Tuấn Vương thầy Nguyễn Ngọc Phi – người tạo điều kiện tận tình hướng dẫn, động viên chúng em suốt trình nghiên cứu thực đồ án Xin trân trọng cám ơn đến tất quý thầy cô thuộc môn Cơ Điện Tử trường Cao Đẳng Kỹ Thuật Cao Thắng, người trang bị cho chúng em kiến thức , nhiệt tình hướng dẫn giúp đỡ chúng em suốt khóa học vừa qua Và sau xin cảm ơn đến tập thể lớp CĐ CĐT12A khóa 20122015, quan tâm giúp đỡ tạo điều kiện thuận lợi để chúng tơi học tập, nghiên cứu hồn thành đồ án tốt nghiệp Một lần xin cảm ơn Trân trọng! TP.HCM, Ngày 10 Tháng Năm 2015 Sinh viên thực Phan Minh Kha Hồ Văn Dương Đặng Tấn Đạt Nguyễn Hữu Chiến Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN TP.HCM, Ngày … Tháng … Năm 2015 Giảng viên hướng dẫn (GV ký tên ghi rõ họ tên) Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN TP.HCM, Ngày … Tháng … Năm 2015 Giảng viên phản biện (GV ký tên ghi rõ họ tên) Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT MỤC LỤC MỤC LỤC HÌNH ẢNH LƯU ĐỒ BẢN VẼ CƠ KHÍ BẢNG SỐ LIỆU CODE KCD2 MOBILE ROBOT CHƯƠNG I: TỔNG QUAN TỔNG QUAN VỀ MOBILE ROBOT: 1.1 GIỚI THIỆU: 1.2 LỊCH SỬ PHÁT TRIỂN: PHÂN LOẠI MOBILE ROBOT: MỘT SỐ DẠNG ĐIỀU KHIỂN: 3.1 ĐIỀU KHIỂN TỪ XA BẰNG TAY: 3.2 THỰC THI THEO LỘ TRÌNH: 3.3 NGẪU NHIÊN HOẠT ĐỘNG ĐỘC LẬP: 10 ỨNG DỤNG CỦA MOBILE ROBOT: 10 10 GIỚI THIỆU KCD2 MOBILE ROBOT: 11 5.1 LÝ DO CHỌN ĐỀ TÀI: 11 5.2 ỨNG DỤNG CỦA ĐỀ TÀI VÀO THỰC TẾ: 12 HOẠT ĐỘNG CỦA KCD2 MOBILE ROBOT: 12 6.1 ĐIỀU KHIỂN BẰNG TAY HOẶC GIA TỐC: 12 6.2 ĐIỀU KHIỂN TỰ ĐỘNG: 13 ƯU NHƯỢC ĐIỂM KCD2 MOBILE ROBOT: 14 7.1 ƯU ĐIỂM: 14 7.2 NHƯỢC ĐIỂM: 14 CHƯƠNG II: THIẾT KẾ CƠ KHÍ 15 SƠ LƯỢC VỀ PHẦN MỀM THIẾT KẾ: 15 THIẾT KẾ CƠ KHÍ: 18 2.1 KHUNG CƠ KHÍ: 18 2.2 BÁNH XE ĐA HƯỚNG: 19 GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi Đồ Án Tốt Nghiệp 2.3 KCD2 MOBILE ROBOT MỘT SỐ CHI TIẾT KHÁC: 19 CHƯƠNG III: HỆ THỐNG ĐIỆN 22 THIẾT BỊ ĐIỆN: 22 1.1 ĐỘNG CƠ: 22 1.2 NGUỒN CUNG CẤP: 22 THIẾT BỊ ĐIỀU KHIỂN: 23 2.1 ARDUINO MEGA 2560: 23 2.2 ARDUINO UNO R3: 25 2.3 MODULE GSM/GPS SIM908 EASY: 25 2.4 ARDUINO UNO EASY SHIELD: 26 2.5 MODULE BLUETOOTH: 28 2.6 CẢM BIẾN LA BÀN SỐ HMC5883L: 29 2.7 MẠCH ĐIỀU KHIỂN ĐỘNG CƠ L298: 30 2.8 MODULE ĐỊNH VỊ TOÀN CẦU UBLOX NEO-6M GPS: 31 CHƯƠNG IV: LẬP TRÌNH 33 GIỚI THIỆU PHẦN MỀM LẬP TRÌNH: 33 1.1 NGƠN NGỮ LẬP TRÌNH CHO ARDUINO: 33 1.2 CÔNG CỤ TẠO ỨNG DỤNG TRÊN SMARTPHONE: 34 LẬP TRÌNH: 35 2.1 CHƯƠNG TRÌNH KCD2 MOBILE ROBOT TRÊN APP INVENTOR: 35 2.2 KCD2 MOBILE ROBOT CODE: 38 CHƯƠNG V: KẾT LUẬN 41 KẾT QUẢ ĐẠT ĐƯỢC: 41 1.1 VỀ MẶT LÝ THUYẾT: 41 1.2 VỀ MẶT THỰC NGHIỆM: 41 HẠN CHẾ: 41 HƯỚNG PHÁT TRIỂN: 41 GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT MỤC LỤC HÌNH ẢNH Hình 1.1: iRobot’s PackBot Military-Robot Hình 1.2: Máy hút bụi Rooma Máy cắt cỏ Friendly Robotics 10 Hình 1.3: Robot Sojourner 10 Hình 1.4: Robot Pioneer Robot MBARI’s ALTEX AUV 11 Hình 1.5: Giao diện KCD2 MOBILE ROBOT 13 Hình 1.6: Hướng chạy KCD2 MOBILE ROBOT 14 Hình 2.1: Giao diện solidworks 2013 18 Hình 2.2: Mica thiết kế 19 Hình 2.3: Bánh xe omni 19 Hình 2.4: Part gá động 20 Hình 2.5: Bulơng đai ốc 20 Hình 2.6: Part bên 21 Hình 3.1: Sơ đồ chân Arduino Mega 2560 24 Hình 3.2: Sơ đồ chân Arduino Uno R3 25 Hình 3.3 Module GSM/GPS SIM908 Easy 25 Hình 3.4: Arduino UNO Easy Shield 27 Hình 3.5: Module bluetooth HC-05 29 Hình 3.6: Cảm biến la bàn HMC5883L 30 Hình 3.7: Mạch điều khiển đông L298 31 Hình 3.8: Module GPS NEO-6M 32 Hình 4.1: Giao diện Arduino IDE 33 Hình 4.2: Giao diện App Inventor 37 Hình 4.3: Giao diện phần Blocks (code) 37 GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT LƯU ĐỒ Hình 4.4: Lưu đồ giải thuật Robot có điều khiển 38 Hình 4.5: Lưu đồ giải thuật Robot tự động 39 Hình 4.6: Sơ đồ khối Module SIM908 40 BẢN VẼ CƠ KHÍ Hình 1: Chi tiết đế Robot 42 Hình 2: Chi tiết khung Robot 43 Hình 3: Chi tiết Part gá động 44 Hình 4: Chi tiết Part bên 45 Hình 5: Chi tiết trục đồng 46 Hình 6: Bản vẽ lắp chi tiết KCD2 Mobile Robot 47 BẢNG SỐ LIỆU Bảng 1: Chú thích chân atmege 2560 65 CODE KCD2 MOBILE ROBOT Robot có điều khiển 48 Robot tự động 54 GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT CHƯƠNG I: TỔNG QUAN TỔNG QUAN VỀ MOBILE ROBOT: 1.1 GIỚI THIỆU: Thuật ngữ Robot xuất lần vào năm 1922 tác phẩm “Rossum’s Universal Robot” Karel Capek Trong tác phẩm nhân vật Rossum trai tạo máy giống người để phục vụ cho người Mobile Robot loại máy tự động có khả di chuyển số môi trường định Mobile Robot nhà nghiên cứu trọng trường đại học lớn có phòng thí nghiệm để tập trung nghiêng cứu loại Robot Chúng sử dụng ngành công nghiệp, quân sinh hoạt…, sing hoạt có Robot hút bụi, lau nhà hay cắt cỏ… 1.2 LỊCH SỬ PHÁT TRIỂN: Hình dạng Robot xuất nước Hoa Kỳ, loại tay máy chép hình dung phòng thí nghiệm vật liệu phóng xạ Vào năm 50 kỷ trước, bên cạnh loại tay máy chép hình khí, loại tay máy chép hình thủy lực điện tử xuất Tuy nhiên, tay máy thương mại có chung nhược điểm thiếu di động, tay máy hoạt động hạn chế quanh vị trí Ngược lại, Mobile Robot lại Robot di động di chuyển từ khơng gian đến khơng gian khác cách độc lập hay điều khiển từ xa, tạo khơng gian hoạt động lớn Từ năm 1939 đến năm 1945: Trong chiến giới lần thứ II, Robot di động xuất Nó kết thành tựu công nghệ lĩnh vực nghiên cứu có liên quan khoa học máy tính điều khiển học, hầu hết chúng bom bay, ví dụ bom nổ dãy mục tiêu định, sử dụng hệ thống hướng dẫn vad rada điều khiển Tên lửa V1 V2 có “ phi cơng tự động” hệ thống phát nổ, chúng tiền thân đầu đạn hạt nhân tự điều khiển đại GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT Từ năm 1948 đến 1948: W.Gray Walter tạo nên Elmer Elsie, hai Robot trông giống đồi mồi Về mặc hành chính, chúng gọi Machina Speculatrix Robot hoạt động môi trường chim đồi mồi Elmer Elsie trang bị cảm biến sáng Nếu chúng nhận nguồn sáng, chúng di chuyển phía nguồn sáng Chúng tránh chuyển chướng ngại đường di chuyển Những Robot chứng cử phức tạp phát sinh từ thiết kế đơn giản Elmer Elsie thiết kế tương đương hai tế bào thần kinh Từ năm 1961 đến 1963: Trường đại học Johns Hopkins phát triển “Beast” Beast sử dụng hệ thống định vị di chuyển xung quanh Khi pin yếu tự tìm ổ cắm điện cắm vào Năm 1969: Mowbot Robot cắt bãi cỏ cách tự động The Stanford Cart line follower Robot di động di chuyển thông qua nhận dạng đường kẻ trắng, sử dụng camera để nhìn Nó bao gồm “kênh truyền thanh” gắn với hệ thống máy tính lớn để tạo tính tốn Năm 1970: Cùng thời điểm 1969-1972, viện nghiên cứu Stanford xây dựng nghiên cứu Shakey Shakey có camera, dãy kính gắm, cảm biến truyền Shakey Robot lý giải chuyển động Điều có nghĩa Shakey đưa nhiều mệnh lệnh chung và Robot tính tốn bước cần thiết để hồn thiện nhiệm vụ giao Năm 1976: chương trình Vikiry, tổ chức NASA phóng hai tàu vũ trụ không người lái lên hỏa Năm 1977: Bộ phim “Chiến tranh sao” phần I, A new Hope mô tả R2D2, Robot di động hoạt động độc lập C3P0, robot hình người Họ khiến công chúng biết đến Robot Năm 1980: Thị hiếu người tiêu dùng Robot tăng, robot bày bán mua để sử dụng nhà Ví dụ RB5X tồn tới ngày loạt mẫu robot HERO Robot The Stanford Cart phát triển mạnh, lái tàu biển vượt qua trở ngại tạo lên đồ nơi qua GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT  ROBOT TỰ ĐỘNG: // #include #include #include //wire pins are in my board( Mega2560) 20 (SDA), 21 (SCL) #define address 0x1E //0011110b, I2C 7bit address of HMC5883 TinyGPS gps; #define rxPin 19 // to yellow wire in my gps #define txPin 18 bool feedgps(); //int echoPin = 40; // pingpin to Digital //int trigPin = 42; // inpin to Digital //int SAFE_ZONE = 10; //Motor direction control pin def #define in11 // motor RIGHT #define in12 #define in41 6// motor RIGHT #define in42 #define in21 2// motor LEFT #define in22 #define in31 4// motor LEFT #define in32 // LiquidCrystal lcd(6 ,7 ,2 ,3, 4, 5); // define our LCD and which pins to user void setup() GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi 54 Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT { // lcd.begin(20, 4); // need to specify how many columns and rows are in the LCD unit Serial.begin(9600); delay(100); // Power up delay Serial.println("THULANA VIMUKTHI ABEYWARDANA"); Serial.println("Kotelawala Defence University"); Serial.println("Department of Electrical and Electronic Engineering"); Serial.println("================================= ==================="); Serial.println(" "); Serial1.begin(9600); Wire.begin(); // Set operating mode to continuous in compass Wire.beginTransmission(address); Wire.write(byte(0x02)); Wire.write(byte(0x00)); Wire.endTransmission(); pinMode(in11, OUTPUT);//R pinMode(in12, OUTPUT); //R pinMode(in41, OUTPUT); //R pinMode(in42, OUTPUT); //R pinMode(in21, OUTPUT);//L pinMode(in22, OUTPUT); //L pinMode(in31, OUTPUT); //L pinMode(in32, OUTPUT); //L // pinMode(echoPin, OUTPUT); GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi 55 Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT //pinMode(trigPin, INPUT); } /*************** MOTOR *******************/ void motor1_thuan(){ analogWrite(in11,100); // motor1 quay thuận digitalWrite(in12,LOW); } void motor1_nghich(){ digitalWrite(in11,LOW); // motor quay nghịch analogWrite(in12,100); } /**************** MOTOR *****************/ void motor2_thuan(){ digitalWrite(in21,LOW); // motor quay thuận analogWrite(in22,100); } void motor2_nghich(){ analogWrite(in21,100); // motor2 quay nghịch digitalWrite(in22,LOW); } ***************** MOTOR ****************/ void motor3_thuan(){ analogWrite(in31,100); // mtor quay thuận digitalWrite(in32,LOW); } void motor3_nghich(){ digitalWrite(in31,LOW); // motor quay nghịch analogWrite(in32,100);} GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi 56 Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT /**************** MOTOR *******************/ void motor4_thuan(){ digitalWrite(in41,LOW); analogWrite(in42,100); // motor quay thuận } void motor4_nghich(){ analogWrite(in41,100); // motor4 quay nghịch digitalWrite(in42,LOW); } /******************************************/ void chaytoi(){ motor1_thuan(); motor3_thuan(); motor2_nghich(); motor4_nghich(); } void chaylui(){ motor1_nghich(); motor3_nghich(); motor2_thuan(); motor4_thuan(); } void xoay_trai(){ analogWrite(in11,250); // motor1 quay thuận digitalWrite(in12,LOW); digitalWrite(in21,LOW); // motor quay thuận analogWrite(in22,250); digitalWrite(in31,LOW); // motor quay nghịch analogWrite(in32,250); GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi 57 Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT analogWrite(in41,250); // motor4 quay nghịch digitalWrite(in42,LOW); } void xoay_phai(){ digitalWrite(in11,LOW); // motor quay nghịch analogWrite(in12,40); analogWrite(in21,40); // motor2 quay nghịch digitalWrite(in22,LOW); analogWrite(in31,40); // mtor quay thuận digitalWrite(in32,LOW); digitalWrite(in41,LOW); analogWrite(in42,40); // motor quay thuan } /*********************************************/ void forward() { chaytoi(); } void Backward() { chaylui(); } void search() { xoay_trai(); } void Stop() { digitalWrite(in11,LOW); GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi 58 Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT digitalWrite(in12,LOW); digitalWrite(in21,LOW); digitalWrite(in22,LOW); digitalWrite(in31,LOW); digitalWrite(in32,LOW); digitalWrite(in41,LOW); digitalWrite(in42,LOW); } void right() { analogWrite(in21,50); // motor2 quay nghịch digitalWrite(in22,LOW); analogWrite(in31,50); // mtor quay thuận digitalWrite(in32,LOW); } void left() { analogWrite(in11,50); // motor1 quay thuận digitalWrite(in12,LOW); analogWrite(in41,50); // motor4 quay nghịch digitalWrite(in42,LOW); } /**********************************************/ void loop(){ // long cm=getDistance(); feedgps(); // getDistance(); unsigned char cc = Serial1.read(); float flat, flon,x2lat,x2lon; GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi 59 Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT unsigned long age; gps.f_get_position(&flat, &flon, &age); feedgps(); //getDistance(); float flat1=flat; // flat1 = our current latitude flat is from the gps data float flon1=flon; // flon1 = our current longitude flon is from the fps data float dist_calc=0; float angle_calc=0; float dist_calc2=0; float diflat=0; float diflon=0; //10.810834, 106.674847//10.810843, 106.675220//10.810859, 106.675230//10.810352, 106.674885//10.810489, 106.675200//10.810636, 106.675223 x2lat= 10.810636; //enter a latitude point here this is going to be your waypoint(here KURUNEGALA) x2lon=106.675223; // enter a longitude point here this is going to be your waypoint // distance formula below Calculates distance from current location to waypoint dist_calc=sqrt((((flon1)-(x2lon))*((flon1)-(x2lon)))+(((x2latflat1)*(x2lat-flat1)))); dist_calc*=110567 ; //Converting to meters //=============angle==============// angle_calc=atan2((x2lon-flon1),(x2lat-flat1)); // tinh góc float declinationAngle2 = 57.29577951; // góc đo lệch GVHD: Nguyễn Mậu Tuấn Vương Nguyễn Ngọc Phi 60 Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT angle_calc*= declinationAngle2; feedgps(); //getDistance(); if(angle_calc < 0){ // goc lech 0){ angle_calc= angle_calc; feedgps(); //getDistance(); } float angleDegrees = angle_calc; //goc feedgps(); int x, y, z; //getDistance(); // Bắt đầu truyền thông với loa bàn Wire.beginTransmission(address); Wire.write(byte(0x03)); // Send request to X MSB register Wire.endTransmission(); Wire.requestFrom(address, 6); // Request bytes; bytes per axis if(6

Ngày đăng: 22/05/2019, 23:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w