1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Báo Cáo Đồ Án Robot Robot Tìm Đường Mê Cung Dùng Giải Thuật PID Trường SPKT TP.HCM

31 1,9K 18

Đ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 31
Dung lượng 2,07 MB

Nội dung

>> Có Link Full Youtube hướng dẫn trong cuối file 255) XungENA = 255; else if (XungENA < 0) XungENA = 0; analogWrite(ENB, XungENB );//100 analogWrite(ENA, XungENA);//100 } 3.4 Ứng Dụng 22 Robot giúp cơng việc công việc sơn dọc mép tường, di chuyển hàng hóa … KẾT LUẬN   Kết đạt được: Phần cứng: - Thiết kế nhỏ gọn, đáp ứng di chuyển thoải mái mơ hình cung - Hệ thống cảm biến cung cấp giá trị tương đối tốt - Động nhỏ gọn khỏe nên việc di chuyển thuận tiện, quán tính đáp ứng nhanh  Giải thuật: - Đo khoảng cách từ robot tới tường, từ xác định vị trí Robot - Luật điều khiển đơn giản hiệu  Hướng phát triển: - Kết hợp công nghệ xử lí ảnh vẽ lại hình dạng đường robot tự hành để ứng dụng việc tìm đường đến vị trí nguy hiểm thực tế - Tùy thuộc vào ứng dụng đường mà áp dụng thuật toán khác để đem lại hiệu cao 23 TÀI LIỆU THAM KHẢO [1] https://vi.wikipedia.org/wiki/Thu%E1%BA%ADt_to%C3%A1n_t %C3%ACm_%C4%91%C6%B0%E1%BB%9Dng_%C4%91i_trong_m %C3%AA_cung [2] https://vi.wikipedia.org/wiki/B%E1%BB%99_%C4%91i%E1%BB%81u_khi %E1%BB%83n_PID [3] http://www.stdio.vn/articles/read/467/dieu-khien-2-dong-co-bang-ic-l298 [4.] http://doc.edu.vn/tai-lieu/do-an-thiet-ke-bo-pid-so-dieu-khien-toc-do-dong-co-dc3828/ 24 Link YOUTUBE Hướng Dẫn Full Phần https://goo.gl/TtSyiN 25 PHỤ LỤC #define ENA #define ENB #define in1 #define in2 #define in3 #define in4 10 int cambientrai; int cambientruoc; int cambienphai; int hientai=0, quakhu=0 ; int TT; float XungENB=0,XungENA=0; void doccambien() { cambientrai=analogRead(A0); cambientruoc=analogRead(A1); cambienphai=analogRead(A2); Serial.print(" Trai "); //70 Serial.print(cambientrai); Serial.print(" Truoc "); //50 Serial.print(cambientruoc); Serial.print(" Phai "); //40 Serial.println(cambienphai); } //============Thiết kế cho xe quẹo trái========== 26 void QueoTrai() // cho bám phải { nghichtrai(); nghichphai(); analogWrite(ENA,150);//110 // giá trị đo thực tế analogWrite(ENB,150); delay(10); while (cambientruoc 255) XungENA = 255; else if (XungENA < 0) XungENA = 0; analogWrite(ENB, XungENB );//100 analogWrite(ENA, XungENA);//100 } void BamTrai() // bám trái trái trừ, phải cộng (XungENB,XungENA) { float Kp = 16 , Kd =1.1 , Ki = 0.1;//float Kp = 15 , Kd =0.75 , Ki = 0; float P, I, D; static int lasterror; int out; float SamplingTime = 0.01; 29 int error = 680 - cambientrai; thuantrai(); thuanphai(); P = error * Kp; I += Ki * error * SamplingTime; D = (Kd * (error - lasterror )) / SamplingTime; out = P + I + D; lasterror = error; XungENA = 60 - out; // XungENA = 50 - out; XungENB = 60 + out; // XungENB = 50 + out; if (XungENB > 255) XungENB = 255; else if (XungENB < 0) XungENB = 0; if (XungENA > 255) XungENA = 255; else if (XungENA < 0) XungENA = 0; analogWrite(ENB, XungENB); //100 analogWrite(ENA, XungENA); //100 } void setup() { Serial.begin(9600); pinMode(ENA,OUTPUT); pinMode(ENB,OUTPUT); pinMode(in1,OUTPUT); pinMode(in2,OUTPUT); pinMode(in3,OUTPUT); pinMode(in4,OUTPUT); 30 } void loop() { hientai=millis(); if(hientai-quakhu>=5000) { TT=1; quakhu=hientai; } else TT=0; doccambien(); if(TT==0) { BamPhai(); if(cambientruoc

Ngày đăng: 26/11/2017, 19:00

TỪ KHÓA LIÊN QUAN

w