Đồ Án điều khiển robot di động sử dụng thư viện opencv

Thảo luận trong 'Cơ Khí' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    173
    Điểm thành tích:
    0
    Xu:
    0Xu
    TÓM TẮT NỘI DUNG ĐỒ ÁN
    Lĩnh vực rô bốt đang ngày càng chiếm được sự quan tâm của các nhà nghiên cứu
    và xã hội. Từ tình hình thực tế đó, việc xây dựng các chương trình hoạt động cho rô
    bốt là điều thiết yếu, đặc biệt đối với rô bốt di động. Bài toán rô bốt di động bám đối
    tượng là một bài toán thường gặp trong lĩnh vực rô bốt.
    Đồ án này trình bày xây dựng một giải pháp điều khiển rô bốt di động bám đối
    tượng dựa vào thuật toán CamShift trong thư viện OpenCV. Để theo dõi đối tượng
    trong OpenCV cần phải có quá trình dò tìm, phân tích và nhận dạng đối tượng.
    Bố cục của đồ án này được trình bày như sau: trước hết đồ án trình bày những
    khái niệm về thư viện OpenCV, sau đó trình bày các cơ sở lý thuyết của thư viện
    OpenCV. Trên cơ sở tìm hiểu tìm hiểu thư viện OpenCV đồ án xây dựng thuật toán
    theo dõi đối tượng dựa vào một thuật toán rất phổ biến trong OpenCV là thuật toán
    CamShift. Một Webcam được sử dụng để thu thập hình ảnh đóng vai trò như là con
    mắt của rô bốt và một laptop được sử dụng làm bộ xử lý trung tâm cho rô bốt. Mô
    hình rô bốt được chế tạo nhằm kiểm nghiệm thuật toán đã xây dựng. Kết quả đồ án là
    căn cứ để phát triển và xây dựng các thuật toán điều khiển rô bốt sử dụng OpenCV sau
    này.




    MỤC LỤC
    MỞ ĐẦU . 1
    CHƯƠNG 1. GIỚI THIỆU CHUNG . 2
    1.1. Giới thiệu chung về rô bốt . 2
    1.2. Giới thiệu rô bốt bám đối tượng . 3
    1.3. Mục tiêu của đồ án . .6
    1.4. Giới hạn của đồ án . .6
    CHƯƠNG 2. TỔNG QUAN VỀ THƯ VIỆN OPENCV VÀ MỘT SỐ LINH KIỆN SỬ
    DỤNG TRONG KHỐI PHẦN CỨNG . .7
    2.1. Thế nào là thị giác máy? . .7
    2.2. Thư viện OpenCV . 7
    2.2.1. OpenCV là gì? . .7
    2.2.2. Vì sao lựa chọn OpenCV? . .8
    2.2.3. Cấu trúc và nội dung OpenCV như thế nào? . .9
    2.2.4. Các hàm I/O trong OpenCV . 10
    2.2.5. Các hàm thực hiện xử lý ảnh . . 12
    2.2.6. Các hàm Histograms and Matching . 13
    2.2.7. Hàm Contours . 13
    2.2.8. Cơ sở toán học của thuật toán CamShift . . 14
    2.3. Cơ bản về PIC16F877A . . 15
    2.3.1. PIC là gì? . . 15
    2.3.2. Đặc điểm nổi bật của PIC16F877A . . 15
    2.3.3. Sơ đồ các chân của PIC16F877A . . 16
    2.4. Giao tiếp RS232 . . 18
    2.5. Giới thiệu về chíp mạch cầu L298N . . 20
    CHƯƠNG 3. XÂY DỰNG PHẦN MỀM ĐIỀU KHIỂN . . 22
    3.1. Thị giác máy điều khiển rô bốt di động bám đối tượng . . 22
    3.2. Thuật toán tính hướng và kích cỡ của đối tượng cần theo dõi . . 23
    3.2.1. Thuật toán chung . . 23
    3.2.2. Nhận dạng và bám mục tiêu di động . . 24
    3.2.3. Chuyển đổi không gian màu từ RGB đến HSV . . 25
    3.2.4. Histogram . 26
    3.2.5. Lọc nhiễu Filter . 27
    3.2.6. Thuật toán CamShift . . 28
    3.2.7. Thiết kế hoàn chỉnh phần mềm điều khiển . . 30
    CHƯƠNG 4. XÂY DỰNG MẠCH PHẦN CỨNG . . 34
    4.1. Sơ đồ mạch dùng trong đồ án . . 34




    4.1.1. Khối điều khiển trung tâm . . 34
    4.1.2. Khối nguồn . . 35
    4.1.3. Khối truyền thông RS232 . 35
    4.1.4. Khối điều khiển động cơ . . 36
    4.2. Tập lệnh điều khiển rô bốt . 37
    CHƯƠNG 5. KẾT QUẢ THỰC HIỆN . . 38
    5.1. Kết quả thử nghiệm với môi trường tĩnh . 40
    5.2. Kết quả thử nghiệm với môi môi trường động . . 42
    KẾT LUẬN . 46
    PHỤ LỤC A. CHƯƠNG TRÌNH XỬ LÝ ẢNH . . 48
    PHỤ LỤC B. CHƯƠNG TRÌNH ĐIỀU KHIỂN ROBOT . 62
    PHỤ LỤC C. CHƯƠNG TRÌNH TRUYỀN THÔNG RS232 . 66
    TÀI LIỆU THAM KHẢO . 72





    MỞ ĐẦU
    Xử lý ảnh bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục đích tạo ra một
    hệ thống nhân tạo có thể tiếp nhận thông tin từ các hình ảnh thu được hoặc các tập dữ
    liệu đa chiều. Đối với mỗi người chúng ta, quá trình nhận thức thế giới bên ngoài là
    một điều dễ dàng. Quá trình nhận thức đó được “học” thông qua quá trình sống của
    mỗi người. Tuy nhiên với các vật vô tri vô giác như như các máy tính, rô bốt v v. thì
    điều đó quả thực là một bước tiến rất gian nan. Các thiết bị ngày nay không chỉ nhận
    thông tin ở dạng tín hiệu đơn lẻ mà còn có thể có cái “nhìn” thật với thế giới bên
    ngoài. Cái “nhìn” này qua quá trình phân tích, kết hợp với các mô hình như máy học,
    mạng nơron v v. sẽ giúp cho thiết bị tiến dần tới một hệ thống nhân tạo có khả năng ra
    quyết định linh hoạt và đúng đắn hơn rất nhiều. OpenCV là thư viện mã nguồn mở về
    xử lý ảnh của Intel nó đáp ứng đầy đủ các yêu cầu đó của lĩnh vực xử lý ảnh.
    Trên thế giới lĩnh vực rô bốt di động sử dụng xử lý ảnh phát triển vô cùng mạnh
    mẽ và có được những bước tiến đáng kinh ngạc. Ở Việt Nam lĩnh vực rô bốt di động
    đang rất phát triển, tuy nhiên lĩnh vực rô bốt di động sử dụng công cụ xử lý ảnh còn
    mới mẻ do thiếu các thiết bị hỗ trợ và tài liệu. Vì vậy, đây sẽ là một hướng phát triển
    mới đầy hứa hẹn và cũng không ít thách thức. Với mong muốn tham gia vào lĩnh vực
    còn mới này và góp phần vào sự phát triển lĩnh vực rô bốt di động sử dụng xử lý ảnh ở
    Việt Nam, em thực hiện đề tài “Điều khiển rô bốt di động sử dụng thư viện OpenCV”.
     

    Các file đính kèm:

Đang tải...