Cách xác định điểm đi tiếp theo cho robot

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin nghiên cứu một số phương pháp phát hiện biên và ứng dụng vào bài toán robot di chuyển dọc theo hành lang (Trang 70)

Ghi chú :

xOy : là hệ trục tọa độ so với màn hình máy tính. : Robot

Là hƣớng robot cần di chuyển đến Là độ dài bƣớc đi của robot

Là các đƣờng th ng Hough

xtrái, xphải : lần lƣợt là tọa độ bên trái gần nhất, bên phải gần nhất của các đƣờng th ng Hough so với (x0, y0)

xN,yN : Là tọa độ tiếp theo mà robot cần di chuyển đến. y

x O

xtrái xphải

a. Lưu đồ

Hình 3.3. Lưu đồ xác định điểm di chuyển tiếp theo cho robot

b. Giải thuật

Procedure GetNextPosition(img: Image, BuocDi:integer,

lines:array of StructLine, ToaDoBanDau(x0,y0): Point)

Var X_Trai, X_Phai : float; ToaDoMoi : Point;

Begin

X_Trai := Tọa độ trái gần nhất trong tập lines so với x0; X_Phai := Tọa độ phải gần nhất trong tập lines so với x0; ToaDoMoi.X := (X_Trai + X_Phai) / 2;

ToaDoMoi.Y := y0 + BuocDi;

End

Begin

Frame, tập đƣờng th ng Hough và bƣớc đi của robot

Xác định tọa độ xtrái gần nhất

Xác định tọa độ xphải gần nhất

xN = (xtrái + xphải)/2

yN = y0 + độ dài bƣớc đi của robot

3.2.2. Thuật toán xác định tọa độ trái và phải gần nhất

Hình 3.4. Cách xác định điểm trái và phải gần nhất

Giả sử ta có tập các đƣờng th ng Hough sau : lines = {1, 2, 3, 4, 5, 6} và robot R ban đầu có tọa độ (x0, y0). Ý tƣởng tìm hồnh độ trái và phải gần nhất nhƣ sau:

 Gọi  là đƣờng th ng vng góc với trục tung đi qua điểm (x0, y0) và cắt các đƣờng th ng (1), (2), (3), (4), (5), (6).

 Ta lần lƣợt tìm điểm giao nhau của  với các đƣờng (1), (2), (3),

(4), (5), (6). Giả sử nghiệm tìm đƣợc lần lƣợt là : x1,x2, x3, x4, x5, x6.

 Dùng mảng arrBenTrai để lƣu những hoành độ nhỏ hơn x0 và

arrBenPhai để lƣu những hoành độ lớn hơn x0.

 arrBenTrai = {x1, x2, x3}  arrBenPhai = {x4, x5, x6}

 Điểm bên trái gần nhất với x0 : X_Trai = max{arrBenTrai} = x3.  Điểm bên phải gần nhất với x0 : X_Phai = min {arrBenPhai} = x4.

y x O (x0,y0) X1 X2 X3 X4 X5 X6 (1) (2) (3) (4) (5) (6) ()

a. Lưu đồ

Hình 3.5. Lưu đồ xác định điểm bên trái và bên phải gần nhất

Return

X_Trai := max {arrBenTrai} X_Phai := min {arrBenPhai}

Nghiệm < x0? Begin Lines[ ],(x0,y0) Xác định đƣờng th ng  i < Lines.length Tính định thức giữa  với Lines[i]

DinhThuc <> 0 Tính nghiệm  với Lines[i] và đƣa vào

mảng arrNghiem S Đ Chèn nghiệm vào arrBenTrai Chèn nghiệm vào arrBenPhai Đ S Đ S End

b. Giải thuật

Input : Lines[ ], (x0,y0) Output : X_Trai, X_Phai

Procedure HoanhDo_Trai_Phai Var

i: integer; DinhThuc, Dx: float; x: float;

arrBenTrai, arrBenPhai : array of float;

Begin

- Xác định đƣờng th ng  đi qua (x0,y0);

While (i < Lines.length) Begin Tính DinhThuc(, Lines[i]); If DinhThuc <> 0 Then Begin x := Dx / DinhThuc; If x < x0 Then arrBenTrai.Add(x); Else arrBenPhai.Add(x); End End

X_Trai := max { arrBenTrai }; X_Phai := min { arrBenPhai };

3.2.3. Kết quả thử nghiệm của thuật toán Canny và Hough

Để xác định đƣợc những đƣờng th ng Hough, thì trƣớc tiên ta phải xác định đƣợc các biên ảnh và từ những biên ảnh này ta mới xây dựng đƣợc các phƣơng trình của đƣờng th ng Hough. Tùy theo kết quả của biên ảnh thế nào thì ta sẽ có những đƣờng th ng Hough tƣơng ứng. Biên ảnh càng nhiều thì ta sẽ có đƣờng th ng Hough càng nhiều, biên ảnh càng ít thì ta sẽ có đƣờng th ng Hough càng ít.

Các kết quả thử nghiệm dƣới đây đƣợc chạy trên bộ xử lý Intel Core Duo T7250 2.0GHz, RAM 2.0GB, Windows 7 Ultimate 32-bit.

Sau đây là những kết quả thử nghiệm của thuật toán Hough khi thay đổi các giá trị thơng số của thuật tốn xác định biên và các giá trị thơng số của chính thuật tốn Hough.:

Ảnh kết quả thử nghiệm của Canny và Hough với các ngƣỡng thay đổi Hình 3.7. Ảnh biên a) Hình 3.8. Ảnh Hough a) Tl = 1, Th = 3 Hình 3.9. Ảnh biên b) Hình 3.10. Ảnh Hough b) Tl = 5, Th = 15 Hình 3.11. Ảnh biên c) Hình 3.12. Ảnh Hough c) Tl = 15, Th = 45

Hình 3.13. Ảnh biên d) Hình 3.14. Ảnh Hough d) Tl = 30, Th = 90 Tl = 30, Th = 90 Hình 3.15. Ảnh biên d) Hình 3.16. Ảnh Hough d) Tl = 47, Th = 141 Bảng kết quả Ảnh biên Ảnh Hough

Tên Ngưỡng thấp Ngưỡng cao Tên Số lượng đường thẳng

a 1 3 a 1162

b 5 15 b 561

c 15 45 c 234

d 30 90 d 141

Nhận xét

Ở đây ta đánh giá phƣơng pháp Canny và Hough với các ngƣỡng khác nhau. Khi ta thay đổi ngƣỡng thấp và ngƣỡng cao thì số lƣợng biên đƣợc phát hiện cũng thay đổi nên số lƣợng đƣờng th ng Hough đƣợc tìm cũng sẽ thay đổi theo.

Nên ta thấy:

- Khi ngƣỡng thấp và ngƣỡng cao đều thấp thì số lƣợng biên phát hiện ra rất nhiều. Nên số lƣợng đƣờng th ng Hough đƣợc xác định rất nhiều, vì vậy trong trƣờng hợp này việc xác định điểm di chuyển tiếp theo cho robot tốn rất nhiều thời gian mới có thể xác định đƣợc.

- Khi cả hai ngƣỡng đều cao thì số lƣợng điểm biên đƣợc phát hiện là rất ít, chỉ những điểm có mức xám cao mới có thể thành biên. Nên số lƣợng đƣờng th ng Hough đƣợc xác định là rất ít, vì vậy trong trƣờng hợp này việc xác định điểm di chuyển tiếp theo cho robot sẽ tiết kiệm đƣợc nhiều thời gian hơn.

Kết luận chƣơng 3

Trong chƣơng này luận văn đã trình bày một số phƣơng pháp phát hiện biên và xác định các đƣờng th ng Hough trên cơ sở đó ứng dụng vào bài tốn robot di chuyển dọc theo các đƣờng th ng này. Cụ thể ở chƣơng 3 đã đạt đƣợc các kết quả sau:

 Cài đặt thành cơng thuật tốn xác định biên và thuật toán Hough. Đƣa ra nhận xét về kết quả thử nghiệm của 2 thuật toán này.

 Ứng dụng thuật toán Canny và Hough để xác định đƣờng đi cho robot.

KẾT LUẬN

Trong quá trình nghiên cứu tài liệu và thực hiện luận văn dƣới sự định hƣớng của thầy hƣớng dẫn tôi đã đạt đƣợc một số kết quả nhƣ sau:

- Tìm hiểu đƣợc một cách tổng quan về robot và các kỹ thuật tìm đƣờng đi của robot.

- Tìm hiểu về phƣơng pháp phát hiện biên ảnh, hệ thống hóa các phƣơng pháp phát hiện biên. Đƣa ra nhận xét, đánh giá các phƣơng pháp phát hiện biên và có lựa chọn phƣơng pháp phù hợp với từng loại ảnh. Xây dựng đƣợc các đƣờng th ng Hough thông qua các biên của ảnh.

- Ngồi ra trong q trình nghiên cứu, tơi cũng đã tích lũy thêm cho mình về kỹ thuật lập trình và quan trọng là rèn luyện kỹ năng để thực hiện một nghiên cứu khoa học. Tuy mới chỉ là bƣớc đầu nhƣng là tiền đề giúp ích cho tôi trong thời gian nghiên cứu sắp tới để tôi đạt đƣợc những kết quả tốt hơn.

Dựa trên những kết quả bƣớc đầu đã đạt đƣợc luận văn sẽ tiếp tục nghiên cứu xác định ngã rẽ cho robot và hiện thực thuật tốn tìm đƣờng đi trên robot thật.

TÀI LIỆU THAM KHẢO Tiếng Việt

[1]. Võ Đức Khánh, Hoàng Văn Kiếm, “Giáo trình xử lý ảnh số”. Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chí Minh.

[2]. Lê Hoài Quốc, Chung Tấn Lâm, “Robot công nghiệp”. Nxb Khoa

hoc và kỹ thuật, 2002.

[3]. Đỗ Năng Toàn (2002), “Biên ảnh và một số tính chất”, Tạp chí Khoa học Công nghệ, Tập 40, số ĐB, tr 41-48.

[4]. Đào Văn Hiệp, “Kỹ thuật Robot”. Nxb Khoa hoc và kỹ thuật, 2004. [5]. Đỗ Năng Toàn, Phạm Văn Dũng, Phạm Việt Bình (2005), “Ứng

dụng chu tuyến trong phát hiện góc nghiêng Văn bản”. Kỷ yếu Hội thảo Quốc gia lần thứ 7 - Một số vấn đề chọn lọc của Công nghệ thông tin và Truyền thông, Đà Nẵng 18-20/08 /2004. Nxb KH&KT, Hà Nội 2005.

[6]. Đỗ Năng Tồn (2007), Phạm Việt Bình, “Giáo trình xử lý ảnh”, Đại học Thái Nguyên.

Tiếng Anh

[7]. A Amin and S. Fischer, A Document Skew Detection Method Using the Hough Transform, Pattern Analysis & Applications, 2000.

[8]. S. C. Hinds, J. L. Fisher and D. P. D'Amato. A Document Skew Detection Method Using Run-Length Encoding and the Hough Transform. 10th International Conference on Pattern Recognition, vol. 1, 1990.

[9]. AL Shatnawi and K. Omar, Methods of Arabic baseline detection the state of art. Int. J. Comput. Sci. Network Secur, 2008

[10]. S. Srihari and V. Gonvindaraju. Analysis of texual images using hough transform, 1989. Internet [11]. http://automation.net.vn/Robot-Robotics/Xu-the-pha-t-trie-n-Robot- tren-the-gio-i-va-ti-nh-hi-nh-nghien-cu-u-Robot-o-Vie-t-Nam-hie-n- nay.html [12]. http://vnexpress.net/gl/khoa-hoc/2011/10/robot-khong-lo-titan-lan- dan-tien-den-tp-hcm/page_2.asp. [13]. http://www.youtube.com/watch?v=oKm2aOd62ZI

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin nghiên cứu một số phương pháp phát hiện biên và ứng dụng vào bài toán robot di chuyển dọc theo hành lang (Trang 70)

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

(81 trang)