Điều khiển tự động robot tự hành ứng dụng công nghệ xử lý ảnh

Một phần của tài liệu Nghiên cứu, thiết kế hệ thống điều khiển thông minh cho rô bốt SHRIMP (Trang 85 - 89)

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN VÀ PHẦN MỀM ĐIỀU KHIỂN THỒNG MINH CHO RÔ BỐT SHRIMP

3.7 Giới thiệu các phần mềm

3.7.3 Điều khiển tự động robot tự hành ứng dụng công nghệ xử lý ảnh

3.7.3.1 Yêu cầu

Xây dựng một thư viện các trái bóng có màu sắc khác nhau, trong các điều kiện độ sáng khác nhau, để cho robốt có thể truy tìm trong không gian một vật nằm trong thư viện đó

3.7.3.2 Sơ đồ thuật toán

Hình 3.21 Sơ đồ khối xử lý ảnh

Khi chương trình ở “chế độ tự động” và chọn một trong các mục trái bóng muốn tìm kiếm robot sẽ thực hiện chế độ tự quay xung quanh nó để tìm kiếm vật thể. Nếu tìm thấy nó sẽ tiến đến đối tượng theo phương pháp là nếu toạ độ x > 0 thì robot tiến về trái cho giá trị bằng 0. Nếu x < 0 robot xoay-tiến sang trái để cho toạ độ x về 0.

Nhưng do quán tính cho nên robot không thể dừng chính xác về 0 được cho nên ta dùng một bộ Timer của MFC Víual c++ để cập nhật dữ liệu thường xuyên và phát lệnh điều khiển thường xuyên đến robốt cho nên quãng quá trình di chuyển của bánh trước sẽ theo quỹ đạo sau:

3.7.3.3 Quá trình thu thập dữ liệu và xây dựng thư viện Nguyên lý chung:

Dựa trên đặc điểm là tất cả mọi điểm ảnh mô tả vật thể có màu đồng nhất đó sẽ có giá trị của các thành phần màu sắc Red, Green, Blue trong không gian màu RGB sai lệch nhau không đáng kể so với giá trị của các thành phần màu sắc của điểm ảnh mô tả môi trường .Từ đó dựa vào đặc điểm này mà ta co thể nhận dạng được bất kỳ một loại vật thể nào đồng màu và có màu phân biệt với môi trường.

Các bước cơ bản để nhận dạng vật thể Bước 1

Lấy mẫu màu sắc của điểm ảnh (pixel) đại diện tiêu biểu của vật thể tức là điểm mà nằm trong vùng sai số các giá trị màu sắc (do ta cho) mà có nhiều nhất các điểm màu có 3 thành phần màu sắc thoả mãn khoảng giá trị . Để thực hiện phương pháp này ta cần viết một chương trình lấy giá trị 3 thành phần màu sắc ví dụ ta lấy thành phần màu sắc của bóng màu hồng, ta đặt quả bóng màu hồng trước ống kính Camera

Sau đó ta kich chuột vào điểm mà ta cần lấy mẫu màu sắc ta sẽ phân vùng hình ảnh những điểm thoả mãn trong khoảng sai số cho phép sẽ là màu trắng, và những điểm không thoả mãn sẽ là màu đen và thoả mãn sẽ là màu trắng

Ta thấy thành phần màu sắc đỏ(Red) là 141, Green(Xanh lá cây) là 76, Blue(Lục) là 84 đây là giá trị chính xác thành phần màu sắc của điểm ta vừa lấy mẫu. Ta ghi lại để phục vụ cho quá trình lập trình thư viện.

Bước 2

Phân vùng dung sai giá trị các thành phần mầu sắc cho vật thể lấy mẫu: Ta nên phân miền dung sai về giá trị trùng với miền dung sai của chương trình lấy mẫu như chương trình trên là ±20 giá trị. Điều này có nghĩa là những điểm ảnh nào có cả 3 giá trị đồng thời: Red (141-20,141+20), Green(76-20,76+20), Blue(84-20,84+20) thì ta coi như nó là một điểm màu có tính chất như vật thể.Với miền dung sai ta

giá trị với 1 thành phần màu sắc còn với 3 thành phần màu sắc là 40^3=64000 điều này tương đương với việc ta cho 64000 kiểu màu của điểm ảnh nữa thoả mãn cùng tính chất với điểm ảnh ta lấy mẫu một con số có vẻ rất lớn nhưng thực tế nó chỉ bằng (40/256)^3=0,38% so với tổng số màu sắc của không gian màu 24 bit biểu diễn.

Bước 3

Lập trình ghi nhớ giá trị vào đoạn mã và phân bố vùng dung sai màu sắc

Sau khi lấy mẫu và phân khoảng dung sai xong ta thực hiện việc lập trình bằng cách phân chia màn hình thành hệ trục toạ độ như hình minh họa và test thử chương trình Giải thích sơ lược về phương pháp bắt giữ đối tượng

Thông tin ảnh đầu vào của hàm thực hiện quá trình sử lý hình ảnh là ảnh bitmap 24 bit hoặc 32 bit. Hàm Bong La Cay(LPBITMAPINFO lpBi) có biến đầu vào là lpBi kiểu là LPBITMAPINFO đó là kiểu thông tin về hình ảnh bitmap arene_dx là chiều rộng của ảnh, arene_dy là chiều cao của ảnh sau đó ta tiến hành quet ảnh dưới dạng từng pixel để so sánh mức màu và do tìm những điểm thoả mãn. Sau đó ta lấy toạ độ x lưu vào một mảng một chiều mang x tăng biến đếm lên, vơi toạ độ y ta cũng làm như vậy ta cũng làm như thế.

Trên hình việc ta quét ảnh ta thực hiện bằng 2 vòng lặp for. Sau khi ra khỏi vòng lặp thì ta đã có 2 mảng một chiều lưu giữ các toạ độ thoả mãn yêu cầu ta căn cứ vào cách quét ảnh suy ra được là điểm có toạ độ (mangx[demx/2],mangy[demy/2]) là điểm có xác xuất là tâm điểm ảnh cao nhất do đó ta lấy 2 giá trị này làm tâm của vật thể và hiển thị toạ độ x,y trong chế độ tự động. Số điểm ảnh có cùng tính chất với điểm lấy mẫu demx=demy nó là thông số cho ta biết được trạng thái nhận biết vật thể của camera. Quét ảnh ta quét như hình dưới sau khi quet hết hàng dưới ta lại quét tiếp hàng trên cứ thế cho đến khi hết các hàng

3.7.3.4 Phương pháp nạp ảnh bằng chuột để theo dõi đối tượng

Xuất phát từ nhược điểm của phương pháp xây dựng thư viện là mỗi cường độ sáng

khác để có thể nạp mức màu sắc của đối tượng trong một cường độ sáng bất kỳ và theo dõi nó đây cũng tương tự như thuật toán mean_shift theo dõi đối tượng nổi tiếng.

Một phần của tài liệu Nghiên cứu, thiết kế hệ thống điều khiển thông minh cho rô bốt SHRIMP (Trang 85 - 89)

Tải bản đầy đủ (PDF)

(120 trang)