ĐẠI HỌC QUỐC GIA TP. HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA -------------------- PHẠM THANH HẢI LẬP TRÌNH ĐIỀU KHIỂN MOBILE ROBOT BÁM ĐỐI TƯỢNG BẰNG THỊ GIÁC NỔI TRÊN NỀN FPGA Chuyên ngành : TỰ ĐỘNG HÓA Mã số: 605260 LUẬN VĂN THẠC SĨ TP. HỒ CHÍ MINH, tháng 6 năm 2013 i CÔNG TRÌNH ĐƢỢC HOÀN THÀNH TẠI TRƢỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán bộ hƣớng dẫn khoa học :. (Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1 :.
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 :. (Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ đƣợc bảo vệ tại Trƣờng Đại học Bách Khoa, ĐHQG Tp. Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1. Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trƣởng Khoa quản lý chuyên ngành sau khi luận văn đã đƣợc sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA ii ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc TRƯỜNG ĐẠI HỌC BÁCH KHOA NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: PHẠM THANH HẢI MSHV:11150087 Ngày, tháng, năm sinh: 06/03/1979 Nơi sinh: TP HCM Chuyên ngành: TỰ ĐỘNG HÓA Mã số : 605260 I. TÊN ĐỀ TÀI: LẬP TRÌNH ĐIỀU KHIỂN MOBILE ROBOT BÁM ĐỐI TƯỢNG BẰNG THỊ GIÁC NỔI TRÊN NỀN FPGA II. NHIỆM VỤ VÀ NỘI DUNG: Tìm hiểu về thị giác nổi, thuật toán Hough nhận dạng biên tròn, chƣơng trình Verilog, kít FPGA. Xây dựng giải thuật điều khiển Mobile robot bám đối tƣợng, viết chƣơng trình phần mềm bằng ngôn ngữ Verilog và kiểm nghiệm kết quả chƣơng trình trên Mobile robot thực tế III.
NGÀY GIAO NHIỆM VỤ : 21/07/2012 IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 30/11/2012 V. CÁN BỘ HƯỚNG DẪN : TS NGUYỄN ĐỨC THÀNH Tp. CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) (Họ tên và chữ ký) TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ (Họ tên và chữ ký) iii LỜI CẢM ƠN Em chân thành biết ơn sâu sắc đến thầy TS.Nguyễn Đức Thành.
Thầy đã tận tình chỉ dạy, hƣớng dẫn để em có thể hoàn thành luận văn thạc sĩ này. Em xin cảm ơn tất cả quý thầy cô trong khoa Điện - Điện tử trƣờng đại học Bách khoa Tp. HCM đã giảng dạy, tạo mọi điều kiện thuận lợi cho em trong thời gian học tập và nghiên cứu tại trƣờng. Xin chân thành cảm ơn các bạn học viên lớp Cao học K2011 về sự quan tâm giúp đỡ của các bạn trong quá trình học tập.
HCM, ngày 15/06/2013 Học viên Phạm Thanh Hải iv TÓM TẮT LUẬN VĂN Luận văn nghiên cứu các vấn đề về thị giác nổi, lấy ảnh từ 02 camera ghi vào bộ nhớ, chuyển đổi giữa các không gian màu, vấn đề lọc ảnh, xử lý ảnh nhị phân, nhận dạng đƣờng biên tròn trong ảnh bằng thuật toán Hough, xác định trọng tâm của đối tƣợng, tính toán khoảng cách D giữa đối tƣợng và Mobile robot, điều khiển bám đối tƣợng, chƣơng trình phần mềm đƣợc viết bằng ngôn ngữ Verilog trên nền kít FPGA. ASTRACT OF THE THESIS This thesis was conducted to research the matters of stereo vision, gathering image 02 camera to be saved in SDRAM, transfering from the color-space, image choosing and processing, object-identifying by Hough’s algorithm, defining the center of object, calculating the distance D between the object and Mobile robot and controlling the Mobile robot to track the object, the control program has been written by Verilog language into FPGA kit. v LỜI CAM ĐOAN Luận văn “ Lập trình điều khiển mobile robot bám đối tƣợng bằng thị giác nổi trên nền FPGA” với sự hƣớng dẫn của TS Nguyễn Đức Thành thực hiện trong thời gian theo quy định là 21/7/2012- 30/11/2012 và có gia hạn thêm đến 21/6/2013. Quá trình thực hiện luận văn một cách nghiêm túc, tìm hiểu ý tƣởng thiết kế của các công trình nghiên cứu liên quan và sự hƣớng dẫn của thầy để xây dựng dàn ý nghiên cứu và thực hiện các công tác chính nhƣ xây dựng giải thuật điều khiển, lập trình điều khiển, gia công robot và kiểm nghiệm kết quả trên robot thực tế.
Tôi cam đoan không có sự sao chép, vay mƣợn các luận văn khác trong luận văn này. Tác giả Phạm Thanh Hải vi MỤC LỤC NHIỆM VỤ LUẬN VĂN THẠC SĨ. ii LỜI CẢM ƠN. iii TÓM TẮT LUẬN VĂN.
iv LỜI CAM ĐOAN. vi DANH SÁCH HÌNH MINH HỌA. ix DANH SÁCH BẢNG MÔ TẢ SỐ LIỆU. xi CHƢƠNG 1 : TỔNG QUAN .1Giới thiệu về đề tài.2 Các công trình nghiên cứu liên quan.
2 Mục tiêu đề tài .3 Phƣơng pháp nghiên cứu.4 Giới hạn đề tài. 3 CHƢƠNG 2 : CƠ SỞ LÝ THUYẾT .1 Cơ sở lý thuyết về ảnh số .1 Phần tử ảnh .4 Không gian màu .1 Không gian RGB .2 Không gian màu HSV .3 Không gian màu YCbCr .5 Nhận dạng đối tƣợng trong ảnh bằng Hough .1 Nhận dạng biên tròn .2 Nhận dạng biên vuông .6 Tính khoảng cách D .2 Thị giác máy tính .1 Thị giác máy tính dùng 1 camera .2 Thị giác máy tính dùng 2 camera .2 Nguyên lý hoạt động .4 Ngôn ngữ lập trình .1 Ngôn ngữ HDL .2 Ngôn ngữ Verilog .2 Thực thể thiết kế Verilog.3 Đối tƣợng dữ liệu Verilog .3 Chức năng các chân .4 Định dạng dữ liệu ra camera .5 Giản đồ hoạt động. 25 CHƢƠNG 3 : XÂY DỰNG GIẢI THUẬT .1 Mô hình Mobile robot .3 Giải thuật điều khiển chính .2 Giải thuật thu nhận ảnh .1 Khối I2C_AV_config .3 Giải thuật xử lý ảnh .1 Giải thuật lƣu trữ ảnh .3 Khối nhân tần .4 Khối điều khiển SDRAM .2 Giải thuật nhận dạng ảnh .1 Khối chuyển không gian màu .2 Khối lấy biên ảnh .3 Khối nhận dạng ảnh .3 Giải thuật bám đối tƣợng. 55 CHƢƠNG 4 : THỰC NGHIỆM .1 Mô hình Mobile robot thực tế .2 Một số kết quả đạt đƣợc.
59 CHƢƠNG 5 : KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN. 60 TÀI LIỆU THAM KHẢO. 63 LÝ LỊCH TRÍCH NGANG ix DANH SÁCH HÌNH MINH HỌA Hình 2.1-1 : khung ảnh với giá trị Pixel.1-2 : sự pha màu có tính chất công .1-3 : Hệ tọa độ trụ cho không gian màu HSV .1-4 : Chuyển đổi Hough với r biết trƣớc .1-5 : Chuyển đổi Hough với r chƣa biết .1-6 : Đƣờng thẳng trong Hough với thông số .1-7 : Hình chữ nhật trong không gian Hough .1-8 : Chuyển đổi Hough của hình chữ nhật .1-9 : Vị trí đặt 2 camera .1-10 : ảnh của vật nhìn từ 2 camera .1-11 : Ảnh của vật nhìn từ camera trái .1-12 : Ảnh của vật nhìn từ camera phải .2-1 : Mô hình thị giác máy tính dùng 1 camera .2-2 : Mô hình thị giác máy tính dùng 2 camera .3-3 : sơ đồ kết nối SDRAM và FPGA .4-1 : Thực thể thiết kế verilog .4-2 : Khai báo chƣơng trình con trong đơn vị thiết kế .4-3 : các lời gọi chƣơng trình con, khối tuần tự hoặc đồng thời .5-2 : Sơ đồ khối Camera OV7670 .5-3 : Giản đồ tín hiệu điều khiển SIOC, SIOD .5-4 : Giản đồ thời gian dữ liệu truyền 1 hàng .5-5 : Giản đồ thời gian dữ liệu truyền 1 trên 1 frame hình .5-6 : khung ảnh ra từ camera.5-7: ảnh thực tế từ camera .1-1 : Mô hình Mobile robot .1-2 : Sơ đồ khối Mobile robot .1-3 : lƣu đồ điều khiển Mobile robot .1-4 : Giải thuật điều khiển Mobile robot.2-1 : Sơ đồ khối thu thập ảnh .2-2 : Khối I2C_AV_config .3-1 : Giải thuật xử lý ảnh .3-2 : Sơ đồ giải thuật ghi đọc dữ liệu .3-3 : Sơ đồ khối tổng quát khối lƣu trữ .3-5 : Khối nhân tần .3-6 : Cấu hình khối nhân tần .3-7 : Khối điều khiển SDRAM .3-8 : Sơ đồ khối nhận dạng ảnh .3-9 : Sơ đồ khối chuyển không gian màu .3-12: sơ đồ khối YUV 4:2:2_TO_YUV 4:4:4 .3-13 : không gian màu YCbCr .3-14 không gian màu RGB .3-15 :sơ đồ khối YCbCr_TO_RGB .3-16: không gian màu RGB .3-17 : không gian màu HSV .3-18: sơ đồ khối RGB_TO_HSV .3-19 : Sơ đồ khối lấy biên ảnh .3-20 : tạo mặt nạ nhân chập .3-21 : Sơ đồ bộ lọc Sobel .3-22 : khối nhận dạng ảnh .3-23 : Sơ đồ khối nhận dạng ảnh .3-24 : Sơ đồ giải thuật khối nhận dạng .3-25 : Sơ đồ giải thuật tính ARC .3-26 : Giải thuật Hough.3-27 : Sơ đồ khối khối điều khiển .1-1 : Mô hình Mobile robot thực tế .2-1 : ảnh thu đƣợc camera trái .2-2 : ảnh thu đƣợc camera phải .2-3 : Ma trận S trong không gian màu HSV .2-4 : Ma trận H trong không gian màu HSV.2-5 : ảnh nhị phân .2-6 : ảnh đã tách biên qua bộ lọc Sobel .2-7 : ảnh trong không gian Hough với 85<R<100. 59 DANH SÁCH BẢNG MINH HỌA Bảng 2.3-1 : bảng mô tả sơ đồ chân SDRAM.3-2 : tập lệnh SDRAM .4-1 : bảng mô tả các toán tử.5-1 : bảng mô tả sơ đồ chân của OV 7670 .5-2 : bảng mô tả các kiểu dữ liệu ra.1-1 : bảng sơ đồ kết nối phần cứng camera 1 với kít DE2 .1-2 : bảng sơ đồ kết nối phần cứng camera 2 với kít DE2 .2-1 : bảng mô tả tín hiệu khối I2C_AV_config .2-2 : Mô tả chân khối giải mã .3-1 : Mô tả chân khối DCFIFO .3-2 : bảng mô tả chân khối nhân tần .3-3 : bảng mô tả chi tiết khối SDRAM .3-4: bảng mô tả sơ đồ chân khối YUV 4:2:2_TO_YUV4:4:4 .3-5 : bảng mô tả sơ đồ chân khối YUV 4:4:4_TO_RGB .3-6 : bảng mô tả sơ đồ chân khối RGB_TO_HSV .3-7 : bảng mô tả sơ đồ chân khối lấy biên ảnh .3-8 : bảng mô tả sơ đồ chân khối lọc Sobel .3-9 : bảng mô tả sơ đồ chân khối nhận dạng ảnh .3-10 : bảng mô tả sơ đồ chân khối điều khiển.
55 1 chƣơng 1 TỔNG QUAN 1.1 Giới thiệu đề tài Trong những năm gần đây, việc ứng dụng thị giác máy tính trang bị cho các robot ngày càng được các nhà nghiên cứu tập trung nghiên cứu phát triển, các công ty ứng dụng mạnh mẽ trong các lĩnh vực quân sự như robot tự hành, robot thám hiểm ., các ứng dụng trong dân sự như robot giúp việc nhà, robot trong sản xuất linh hoạt… Hiện nay, việc trang bị cho robot những giác quan giống người với sự trợ giúp của máy tính đang trở thành một xu thế mới. Sự phát triển của công nghệ máy tính đã hình thành nên một lĩnh vực nghiên cứu đầy tiềm năng, đó là thị giác máy tính (computer vision), mô phỏng hệ thị giác của con người.