28.Tran Duc Quan 2

  • 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