Upload
anly
View
219
Download
0
Embed Size (px)
Citation preview
8/16/2019 28.Tran Duc Quan 2
1/6
167
ĐIỀU KHIỂN ROBOT DÒĐƯỜ NG THEO VẠCH VỚ I BỘ ĐIỀU KHIỂN PIDCONTROL LINE FOLLOWING ROBOT WITH PID CONTROL
Trần Đứ c QuânKhoaĐiện - Đại học K ỹ thuật Công nghiệ p
TÓM TẮTRobot tự hành là một loại xe robot có khả năng tự dịch chuyển, tự vận động (có thể lậ p
trình lại đượ c) dướ i sự điều khiển tự động có khả năng hoàn thành công việc đượ c giao.Robot dòđườ ng theo vạch là một loại robot tự hành. Một vấn đề r ất đượ c quan tâm khi thiếtk ế robot làđiều khiển làm sao cho robot có thể đi theo một quỹ đạo mong muốn. Bản báo cáonày trình bày phươ ng pháp giải quyết vấn đề đó vớ i bộ điều khiển PID sử dụng Arduino.
ABSTRACTSelf-propelled robot is a robotic vehicle capability of self-moving, self-movement
(programmable) under automatic control is able to complete assigned work. The linefollowing robot is a Self-propelled robot. A matter of great interest when designing the robotis driven to do so that the robot can follow a desired orbit. In theory, that problemis resolved with a PID controller.
Key word: line following robot, mobile robot, control mobile robot with PID. 1. Mở đầu
Robot tự hành là một thành phần có vaitrò quan tr ọng trong ngành Robot học. Cùngvớ i sự phát triển mạnh mẽ của các hệ thốngtự động hóa, robot tự hành ngày một đượ choàn thiện và càng cho thấy lợ i ích của nótrong công nghiệ p và sinh hoạt. Một vấn đề r ất đượ c quan tâm khi nghiên cứu về robottự hành là làm thế nào để robot tự động đitheo một quỹ đạo đã định.
Để điều khiển điều khiển robot theo quỹ đạo, ngườ i thiết k ế lậ p trình xácđịnh độ lệch
tươ ng đối giữa quỹ đạo của robot và quỹ đạomong muốn, sauđó so sánhđộ lệch đó thànhcác mức vàđiều khiển lái robot quay về quỹ đạo như hình 1. Phươ ng pháp này cóưuđiểm đơ n giản nhưng robot chạy khôngổnđinh, lúc r ất nhanh, lúc lại chậm, tính ổnđịnh phụ thuộc nhiều vàođộng cơ và k ết cấucơ khí của robot. Trong nghiên cứu này tậ ptrung vào khắc phục nhượ c điểm đó bằngcách áp dụng bộ điều khiển PID điều khiểnvị trí robot.
Hình 1: Điề u khiể n vị trí robot theo m ứ c
8/16/2019 28.Tran Duc Quan 2
2/6
168
2. Phươ ng pháp điều khiển robot theo quỹ đạo vớ i bộ điều khiển PID2.1. Cấu tạo của robot
Hình 2: Các thành ph ần của robotB1, B2, B3: 3 bánh xe của robot, B3 là
bánh tự lựa hướ ng của robot.DC1:Động cơ gắn bánh xe bên trái B1.DC1:Động cơ gắn bánh xe bên phải B2.CB: Khối cảm biến nhận biết quỹ đạo
xe.Arduino: Điều khiển trung tâm của
robot.Pin: Nguồn cấ p cho robot hoạt động.
Hình 3: Robot bám theo qu ỹ đạo 2.1.1. Sơ đồ khối
Hình 4: S ơ đồ khố i robot
2.1.2. Sơ đồ nguyên lý các khối- Khối điều khiển trung tâm
Hình 5: S ơ đồ mạch Arduino Khối mạch đệm
Hình 6: S ơ đồ mạch đệm Khối cảm biến: Khối cảm biến gồm 8
cặ p thu phát hồng ngoại. Khi led phát chiếuxuống sàn (màu tr ắng) và vạch (màuđen) thìlượ ng ánh sáng hồng ngoại phản xạ lại vàled thu thuđượ c khác nhau nên giá tr ị Vout khac nhau.
Cảm biếnvị trí
Điều
khiểntrungtâm
Ardui-no
Mạchđệm
Mạchđệm
Bánhxe
Bêntrái
Bánhxe
Bên phải
Nguồn nuôi
8/16/2019 28.Tran Duc Quan 2
3/6
169
Hình 7: S ơ đồ mạch cảm biế n
Khối nguồn nuôi
Hình 8: S ơ đồ mạch ngu ồn nuôi 2.2. Bo mạch Arduino2.1. Bo mạch ArduinoCác bo mạch Arduino thật ra là bo mạch vixử lý đượ c dùngđể lậ p trình tươ ng tác vớ icác thiết bị phần cứng như cảm biến, độngcơ , đèn hoặc các thiết bị khác.Đặc điểm nổi bật của Arduino là môi tr ườ ng phát triểnứngdụng cực k ỳ dễ sử dụng, vớ i một ngôn ngữ lậ p trình có thể học một cách nhanh chóngngay cả vớ i ngườ i ít am hiểu về điện tử vàlậ p trình. Và điều làm nên hiện tượ ngArduino chính là mức giá r ất thấ p và tínhchất nguồn mở từ phần cứng tớ i phần mềm.Bo mạch ArduinoUNO là bo mạch thôngdụng nhất.
ArduinoUno sử dụng chip Atmega328.có 14 chân vào/ra sô, 6 chân vào tươ ng tự,thạch anh daođộng 16Mhz.
Một số thông số k ỹ thuật như sau:Vi điều khiển Atmega328Điện áp hoạt động 5V Nguồn cấ p 7-12VSố đầu vào/ra số 14 (6PWM)Đầu vào tươ ng tự 6Dòngđiện vào/ra số 40 mABộ nhơ chươ ng trình 32 KBXung nhị p 16 MHz
Sơ đồ chân ArduinoUNO:
8/16/2019 28.Tran Duc Quan 2
4/6
170
Hình 9: Bo m ạch ArduinoUNO
- USB (1): Arduino sử dụng cáp USBđể giao tiế p vớ i máy tính. Thông qua cápUSB chúng ta có thể Upload chươ ng trình
cho Arduino hoạt động, ngoài ra USB còn lànguồn cho Arduino.- Nguồn cấ p một chiều cho Arduino
UNO (2,3), 7÷12V- Đầu vào tươ ng tự (4), A0÷A5.- Đầu vào/ra số (5,6), D0÷D13.
2.3. Bộ điều khiển PID điều khiển robot2.3.1. Sơ cấu trúc điều khiển
Nguyên tắc điều khiển robot theo quỹ đạo: Khối cảm biến nhận biết robotđi theohay lệch khỏi quỹ đạo và gửi tín hiệu về điềukhiển trung tâm Arduino. Arduino tính toánđiều khiển tốc hai bánh xe robotđể điềukhiển hướ ng di chuyển của robot. Cụ thể, để r ẽ trái tốc độ bánh xe bên phải robot nhanhhơ n bên trái, ngượ c lại để r ẽ phải tốc độ bánh xe bên trái nhanh hơ n tốc độ bên phải,để đi thẳng tốc độ hai bánh xeđều nhau. Khirobotđi thẳng thì tốc độ di chuyển của robotlớ n nhât, khi robot lệch khỏi quỹ đạo tốc độ di chuyển robot chậm dần.
Hình 10: Sơ đồ cấu trúcđiều khiển
Hình 11: S ơ đồ cấ u trúc đ iề u khiể n robot Bộ điều khiển tốc độ: Tính toán tốc độ
di chuyển của robot theo tr ị tuyệt đối nghịchđảo độ lệch của robot theo quỹ đạo.
Bộ điều khiển bù tốc độ: Tính toán tốcđộ bù cho hai bánh xeđể lái robot theo quỹ đạo.
Hai bộ điều khiển này đượ c thực hiệntheo luật PID.
Cảm biến vị trí trái và phải: nhận tínhiệu độ lệch khỏi quỹ đạo của robot sang bên trái và bên phải.2.3.2. Thự c hiện thuật toán điều khiểntrên Arduino
Sử dụng chức năng định thờ i củaArduinođể tạo thờ i gian trích mẫu 1ms. Mỗi1ms thực hiện tính toán giá tr ị điều khiểnmột lần.
Biểu thứ c tính luật điều khiển PID:
0
( )( ) ( )t
dk P I D
de t u K e t K e t dt K
dt = + +∫ (1)
Hình 12: Đồ th ị sai l ệch theo th ờ i gian
e(t)ek-1
ek
tk-1 tk t
Đúngquỹ đ o
Lệchtrái
Lệch phải
Độngcơ
Trái
BĐK bùtốc
0
(-)
(-)
CBVTPhải
CBVTTrái
BĐK Tốcđộ
1u
Độngcơ
Phải(-)
8/16/2019 28.Tran Duc Quan 2
5/6
171
Biểu thứ c tính gần đúng luật điềukhiển PID:
( ) (k) ( ) (k)dk u k P I k D= + + (2)( ) ( ) P P k K e k = (3)
( 1) ( )( ) ( 1)2 I
e k e k I k I k K T
− += − + (4)
T ( ) ( 1) 1t k t k ms= − − = (5)Thuật toán tính giá trị điều khiển tốc
độ hai bánh xe:- Đọc độ lệch trái,độ lệch phải và tính
độ lệch của robot so vớ i quỹ đạo.- Tính tốc độ di chuyển robot.- Tính giá tr ị bù tốc độ cho hai bánh xe.- Tính tốc độ từng bánh xe.Hiệu chỉnh tham số bộ điều khiển
PID.
Trong quá trình thực nghiệm điều khiểncần hiệu chỉnh tham số bộ điều khiển để điều khiển robot theođúng quỹ đạo.
Hình 13: Qu ỹ đạo robot tr ướ c và sau khihiệu ch ỉ nh tham s ố bộ đ iề u khiể n
3. K ết quả nghiên cứ u
8/16/2019 28.Tran Duc Quan 2
6/6
172
Hình 7: K ế t quả nghiên c ứ u
Sau quá trình nghiên cứu, đề tài đã đạtđượ c k ết quả sau:
- Nghiên cứu cấu trúc và nguyên lý hoạt
động của robot.- Thiết k ế và chế tạo mô hình robot chạytheo quỹ đạo cho tr ướ c.
- Tìm hiểu bo mạch Arduino.- Xây dựng cấu trúc điều khiển, thuật
toán và lậ p trình trên bo mạch Arduinođiềukhiển robot.
- Quỹ đạo di chuyển của robot luôn theoquỹ đạo cho tr ướ c.
TÀI LIỆU THAM KHẢO[1] Tr ần Thế San, C ơ sở Nghiên C ứ u &Sáng t ạo robot , NXB Thống Kê,, 2005.[2] Arduino,http://arduino.cc [3] Dientuvietnam,http://dientuvietnam.net