Ứng dụng giải thuật PID trong thiết kế robot tự hành bám line theo quỹ đạo đặt trước

MỤC LỤC

Giải thuật dò line

Khi xe hoạt động, sensor thu thập thông tin qua bộ chuyển đổi ADC chuyển thành giá trị tín hiệu và đưa về vi điều khiển. Nếu giá trị ADC (i) < giá trị ngữơng thì led thu thứ i đang ở phần sân, nếu ngược lại thì đang ở phần vạch. Khi hoạt động ánh sáng từ led chiếu xuống đường nếu gặp đường nếu gặp đường nền màu trắng thì ánh sáng phản chiếu trở lại quang trở tương ứng, lúc đó tín hiệu được truyền về chân tương ứng của vi điều khiển là mức 0.

Nếu ánh sáng từ led xuống gặp line đen thì ánh sáng hầu như bị hấp thụ gần hết, lúc đó tín hiệu từ sensor báo về vi điều khiển về mức 1. Dựa trên các mức lệnh để điều chỉnh tốc độ 2 bánh trái phải để đưa robot về quỹ đạo, phương pháp này đơn giản nhưng robot chạy không ổn định vì thế để khắc phục nhược điểm này ta áp dụng bộ điều khiển PID vào để hiệu chỉnh.

Áp dụng thuật toán PID

Integral (hàm tích phân): điều khiển tương ứng với mức lỗi được tích lũy theo thời gian.Iout=Ki.∫. Iout: thừa số tích phân của đầu ra Ki: độ lợi tích phân, 1 thông số điều chỉnh e: sai số. Độ lợi tỉ lệ : Giá trị càng lớn thì đáp ứng càng nhanh do đó sai số càng lớn, bù khâu tỉ lệ càng lớn.

Một giá trị độ lợi tỉ lệ quá lớn sẽ dẫn đến quá trình mất ổn định và dao động. Độ lợi tích phân: Giá trị càng lớn kéo theo sai số ổn định bị khử càng nhanh. Đổi lại là độ vọt lố càng lớn: bất kỳ sai số âm nào được tích phân trong suốt đáp ứng quá độ phải được triệt tiêu tích phân bằng sai số dương trước khi tiến tới trạng thái ổn định.

Độ lợi vi phân: Giá trị càng lớn càng giảm độ vọt lố, nhưng lại làm chậm đáp ứng quá độ và có thể dẫn đến mất ổn định do khuếch đại nhiễu tín hiệu trong phép vi phân sai số. Giải thuật PID được tích hợp vào trong giải thuật điều khiển robot dò đường để tính toán và xuất ra các giá trị PWM điều khiển 2 động cơ gắn với 2 bánh sau của robot dựa vào độ sai lệch giữa giỏ trị đo đạc ngừ vào và giỏ trị mong muốn. Độ sai lệch, hay cũn gọi là giá trị lỗi, được tính toán trong giải thuật PID là độ lệch giữa trạng thái hiện tại của robot so với đường đi.

Có nghĩa là, độ sai lệch giữa giá trị hiện tại của bộ cảm biến so với giá trị của cảm biến trong trường hợp robot chạy thẳng về phía trước. Việc áp dụng giải thuật PID trên robot dò đường sử dụng cảm biến quang được trình bày bằng một sơ đồ khối như hình. Và thuật toán sẽ luôn đặt setpoint =các giá trị nằm giữa cảm biến 2 và 3 để xe luôn bám theo vạch.

Ta mô phỏng trên matlab được các kết quả trước và sau khi sử dụng thuật toán PID như sau. Như vậy việc sử dụng thuật toán PID vào cho hệ thống robot chúng ta cải thiện được khả năng bám line tốt hơn xe không đi sai lệch nhiều.

Hình 3.6: Mô hình PID áp dụng cho bài robot dò line của bài
Hình 3.6: Mô hình PID áp dụng cho bài robot dò line của bài

Giới thiệu phần mềm Arduino IDE Giao diện

Để ý rằng góc dưới cùng bên phải hiển thị loại board Arduino và cổng COM được sử dụng. Luôn chú ý tới mục này bởi nếu chọn sai loại board hoặc cổng COM, bạn sẽ không thể upload được code của mình. Chúng ta có thể tìm thấy một vài hướng dẫn khắc phục các lỗi thường gặp khi lập trình Arduino tại Lỗi của Arduino?.

Khi lập trình, cần chọn port (cổng kết nối khi gắn board vào) và board (tên board mà bạn sử dụng). Giả sử, đang dùng mạch Arduino Uno, và khi gắn board này vào máy tính bằng cáp USB nó được nhận là COM4 thì bạn chỉnh như thế này là có thể lập trình được.

Hình 3.9 Giao diện phần mềm Arduino IDE
Hình 3.9 Giao diện phần mềm Arduino IDE

CODE cho robot dò line // IR Sensors

} else if (error == 103) { // Rẽ trái cho đến khi phát hiện đường hoặc dừng lại Make left turn untill it detects straight path or stop if dead end reached. // analogWrite(ENA, initial_motor_speed); //Left Motor Speed // analogWrite(ENB, initial_motor_speed); //Right Motor Speed. // The motor speed should not exceed the max PWM value left_motor_speed = constrain(left_motor_speed, 0, 255);.

KẾT QUẢ THỰC NGHIỆM 4.1 Kết quả thực nghiệm

Đề xuất phương án hiệu chỉnh thiết kế

- Tăng độ chính xác khi gia công cơ khí nhằm giảm thiểu các sai lệch hệ thống. - Thực hiện thí nghiệm nhằm đánh giá sai số vận tốc của động cơ để có thể đưa vào mô phỏng. - Thực nghiệm thí nghiệm để đánh giá ảnh hưởng của môi trường thực nghiệm lên giá trị đọc của hệ thống cảm biến để có thể thực hiện các biện pháp xử lý phù hợp, có thể làm thêm tấm chắn cho bộ cảm biến để giảm ảnh hưởng của ánh sáng đến kết quả hoạt động, ….