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

81 8 0
  • Loading ...
1/81 trang

Thông tin tài liệu

Ngày đăng: 28/11/2016, 04:10

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC LẠC HỒNG *** TRẦN THANH PHƢƠNG 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 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Đồng Nai, Năm 2011 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC LẠC HỒNG *** TRẦN THANH PHƢƠNG 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 Chuyên ngành : CÔNG NGHỆ THÔNG TIN Mã số : 60.48.05 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC TS TRẦN HÀNH Đồng Nai, Năm 2011 LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu thân Các số liệu, kết trình bày luận văn trung thực Những tƣ liệu đƣợc sử dụng luận văn có nguồn gốc trích dẫn rõ ràng, đầy đủ Học viên Trần Thanh Phƣơng LỜI CẢM ƠN Trước hết xin cảm ơn đến toàn thể quý Thầy, Cô Trường Đại học Lạc Hồng toàn thể quý Thầy, Cô cộng tác giảng dạy khóa cao học Trường Đặc biệt xin gửi lời cảm ơn sâu sắc đến Thầy giáo hướng dẫn TS.Trần Hành dẫn khoa học tận tình hướng dẫn cho suốt trình làm luận văn Nếu giúp đỡ Thầy khó hoàn thành luận văn Cũng qua đây, xin chân thành cảm ơn lãnh đạo Trung tâm Thông tin Tư liệu Trường Đại học Lạc Hồng, nơi công tác, tạo điều kiện thuận lợi cho thời gian hoàn thành môn học khóa học cao học suốt trình làm luận văn Cuối cùng, xin cảm ơn gia đình, bạn bè đồng nghiệp ủng hộ, động viên để vượt qua khó khăn hoàn thành luận văn MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC HÌNH iv MỞ ĐẦU CHƢƠNG TỔNG QUAN VỀ ROBOT VÀ ĐƢỜNG ĐI 1.1 Sơ lƣợc trình phát triển 1.2 Những ứng dụng điển hình robot 1.3 Một số định nghĩa 13 1.4 Phân loại robot 16 1.4.1 Phân loại theo dạng hình học không gian hoạt động 16 1.4.2 Phân loại theo hệ 19 1.4.3 Phân loại theo điều khiển 23 1.4.4 Phân loại robot theo nguồn dẫn động 24 1.5 Các kỹ thuật xác định đƣờng cho robot 24 CHƢƠNG 26 CÁC KỸ THUẬT TÌM ĐƢỜNG ĐI CỦA ROBOT 26 2.1 Giới thiệu robot tự hành 26 2.2 Kỹ thuật tìm đƣờng robot 26 2.2.1 Kỹ thuật điều khiển thiết bị cầm tay 26 2.2.2 Kỹ thuật dùng thiết bị cảm ứng 27 2.2.3 Kỹ thuật dùng xử lý ảnh 27 2.2.3.1 Kỹ thuật dò biên 27 2.2.3.2 Các phƣơng pháp phát biên trực tiếp 29 2.2.3.3 Phƣơng pháp phát biên gián tiếp 44 2.3.3.4 Một số nhận xét đánh giá phƣơng pháp phát biên (phƣơng pháp Gadient, phƣơng pháp Laplace, phƣơng pháp Canny) 50 2.2.3.5 Biến đổi Hough 52 2.3 Một số nhận xét kỹ thuật tìm đƣờng cho robot 55 2.3.1 Kỹ thuật điều khiển tay 55 2.3.2 Kỹ thuật dò line thiết bị cảm ứng 55 2.3.3 Kỹ thuật tìm đƣờng phƣơng pháp xử lý ảnh 56 CHƢƠNG 57 CÀI ĐẶT THỬ NGHIỆM 57 3.1 Giới thiệu 57 3.2 Cài đặt thuật toán xác định đƣờng cho Robot 57 3.2.1 Thuật toán xác định vị trí cho robot 60 3.2.2 Thuật toán xác định tọa độ trái phải gần 63 3.2.3 Kết thử nghiệm thuật toán Canny Hough 66 Kết luận chƣơng 69 KẾT LUẬN 70 TÀI LIỆU THAM KHẢO DANH MỤC HÌNH Hình 1.1 Robot chân hãng R.S Mosher hãng General Electric Hình 1.2 Xe tự hành thám hiểm mặt trăng Lunokohod Hình 1.3 Tay robot tàu thám hiểm Viking Hình 1.4 Robot lập trình đƣợc George Dovol thiết kế Hình 1.5 Robot hàm điểm nhà máy sản xuất xe Hình 1.6 Hệ thống robot hàn đƣờng hãn FANUC Hình 1.7 Đầu hàn có trang bị cảm biến dò tìm đƣờng laser 10 theo không gian ba chiều 10 Hình 1.8 Robot lắp ráp mạch in có hệ thống camera 11 quan sát đƣợc dùng để xác định vị trí chân mạch in 11 Hình 1.9 Robot đƣợc sử dụng máy ép nhựa 12 để lấy thành phẩm 12 Hình 1.10 Nguyên lý hoạt động, không gian làm việc 17 sơ đồ động học robot toạ độ vuông góc 17 Hình 1.11 Nguyên lý hoạt động, không gian làm việc 17 sơ đồ động học robot toạ độ trụ 17 Hình 1.12 Nguyên lý hoạt động, không gian làm việc 18 sơ đồ động học robot toạ độ cầu 18 Hình 1.13 Nguyên lý hoạt động, không gian làm việc 18 sơ đồ động học robot liên kết lề 18 Hình 1.14 Nguyên lý hoạt động, không gian làm việc 18 sơ đồ động học robot dạng SCARA 18 Hình 1.15 Một dạng robot gắp đặt 23 Hình 1.16 Một loại robot sơn 23 thực đƣờng dẫn liên tục 23 Hình 2.1: Biên ảnh với kỹ thuật Laplace 35 Hình 2.2: Đạo hàm hàm Gauss theo hai hƣớng (x, y) 40 Hình 2.3: Mô hình điểm biên lân cận 41 Hình 2.4: Biên ảnh theo phƣơng pháp Canny 43 Hình 2.5 Ma trận 8-láng giềng kề 44 Hình 2.6 Ví dụ chu tuyến đối tƣợng ảnh 45 Hình 2.7 Chu tuyến trong, chu tuyến 46 Hình 2.8 Đƣờng th ng Hough tọa độ cực 54 Hình 3.1 Lƣu đồ tìm đƣờng cho robot 59 Hình 3.2 Cách xác định điểm cho robot 61 Hình 3.3 Lƣu đồ xác định điểm di chuyển cho robot 62 Hình 3.4 Các xác định điểm trái phải gần 63 Hình 3.5 Lƣu đồ xác định điểm bên trái bên phải gần 64 Hình 3.6 Ảnh hành lang gốc 66 Hình 3.7 Ảnh biên a 67 Hình 3.8 Ảnh Hough a 67 Hình 3.9 Ảnh biên b 67 Hình 3.10 Ảnh Hough b 67 Hình 3.11 Ảnh biên c 67 Hình 3.12 Ảnh Hough c 67 Hình 3.13 Ảnh biên d 68 Hình 3.14 Ảnh Hough d 68 Hình 3.15 Ảnh biên e 68 Hình 3.16 Ảnh Hough e 68 MỞ ĐẦU Lý chọn đề tài Trong thời đại ngày robot giúp ta làm công việc nặng nhọc, nguy hiểm cho sức khỏe ch ng hạn nhƣ nhà máy hóa chất, nơi có nhiều chất phóng xạ Những dây chuyền cần tự động hóa thiếu robot, đặc biệt robot làm việc liên tục thời gian dài với độ xác cao Xu hƣớng nghiên cứu phát triển robot giới đƣợc quan tâm nhiều thời gian qua : tay máy robot (Robot Manipulators), Robot di động (Mobile Robots), Robot sinh học (Bio Inspired Robots) Robot cá nhân (Personal Robots) Với Robot sinh học, nghiên cứu thời gian qua tập trung vào loại Robot (Walking robots) Robot dáng ngƣời (Humanoid Robots) Robot di động đƣợc nghiên cứu nhiều nhƣ Xe tự hành mặt đất AGV (Autonomous Guided Vehicles), Robot tự hành dƣới nƣớc AUV (Autonomous Underwater Vehicles), Máy bay không ngƣời lái UAV (Unmanned Arial Vehicles) [11] Vừa qua, Công ty Cybertein Robots Limited Anh chế tạo thành công Robot Titan có khả nói chuyện, ca hát, nhảy theo nhạc, cử hành động nhanh nhẹn linh hoạt giống ngƣời đặc biệt robot di chuyển thông minh [12] [13] Ở Việt Nam, doanh nghiệp thiết kế chế tạo có nhiều sản phẩm ấn tƣợng thị trƣờng quốc tế, phải nói đến Công ty Cổ phần Robot TOSY TOSY gây thƣơng hiệu Robot đánh bóng bàn TOPIO Ping Pong đƣợc trình diễn Hội chợ quốc tế Robot IREX 2009 Nhật Bản năm 2009 [11] 58 robot, đặc biệt robot làm việc liên tục thời gian dài với độ xác cao Đối với ứng dụng ta thiết kế robot di chuyển dọc theo hành lang cách gắn thêm vào robot camera để thu nhận hình ảnh, sau hình ảnh đƣợc gửi máy tính phân tích xử lý Sau xử lý xong máy tính tìm đƣợc đƣờng điều khiển robot di chuyển theo đƣờng Quá trình thu nhận ảnh tìm đƣờng cho robot đƣợc lặp lặp lại robot đƣợc đến đích Do điều kiện thời gian nên chƣa kịp nghiên cứu để thiết kế robot thật sử dụng đoạn video clip để mô hành động di chuyển dọc theo hành lang robot thuật toán duyệt frame đoạn video kết thúc, ứng với frame thuật toán tiến hành thực bƣớc sau: Xác định tọa độ robot (là tọa độ đƣợc xác định từ frame trƣớc) Xác định biên dựa vào thuật toán Canny [3] [5] [6] Xác định đƣờng th ng Hough [7] [8] [9] [10] Xác định tọa độ mà robot cần di chuyển tới Di chuyển robot đến tọa độ Quay lại bƣớc đọc hết frame Ghi chú: Frame hình ảnh ghi nhận robot di chuyển sang vị trí 59 Lưu đồ Begin Video độ dài bƣớc robot img:=SelectFrameFromVideo(v) StartPosition(x,y) tọa độ ban đầu robot Frame cuối ? Đ S Canny(img) Lines:=HoughLine(img) NextPosition:= GetNextPosition(lines) MoveRobotToPosition(StartPosition) StartPosition.x = NextPosition.x StartPosition.y = NextPosition.y Hình 3.1 Lưu đồ tìm đường cho robot End 60 Thuật toán xác định đường Input : Video, độ dài bƣớc robot Output : Tọa đô robot cần di chuyển đến Procedure XacDinhDuongDi (v:Video) Begin Var img : ImagePointer; lines : array of StructLine; StartPosition: Point; NextPosition: Point; img := SelectFrameFromVideo(v); StartPosition.x = {tọa độ x0 ban đầu robot}; StartPosition.y = {tọa độ y0 ban đầu robot}; While (img) Begin Canny(img); lines := HoughLine(img); NextPosition := GetNextPosition (img,bƣớc đi,lines,StartPosition); MoveRobotToPosition (NextPosition); StartPosition.x = NextPosition.x; StartPosition.y = NextPosition.y; End; End 3.2.1 Thuật toán xác định vị trí cho robot Giả sử tọa độ ban đầu robot (x0, y0) Điểm (xN, yN) robot cần di chuyển đến đƣợc xác định nhƣ sau : - Xác định hoành độ trái phải gần thuộc tập đƣờng th ng Hough so với hoành đô x0 61 - xN = (hoành độ trái + hoành độ phải) / - yN = y0 + độ dài bƣớc robot O x xN xtrái xphải y Hình 3.2 Cách xác định điểm cho robot Ghi : xOy : hệ trục tọa độ so với hình máy tính : Robot Là hƣớng robot cần di chuyển đến Là độ dài bƣớc robot Là đƣờng th ng Hough xtrái, xphải : lần lƣợt tọa độ bên trái gần nhất, bên phải gần đƣờng th ng Hough so với (x0, y0) xN,yN : Là tọa độ mà robot cần di chuyển đến 62 a Lưu đồ Begin Frame, tập đƣờng th ng Hough bƣớc robot Xác định tọa độ xtrái gần Xác định tọa độ xphải gần xN = (xtrái + xphải)/2 yN = y0 + độ dài bƣớc robot End Hình 3.3 Lưu đồ xác định điểm di chuyển 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 tập lines so với x0; X_Phai := Tọa độ phải gần tập lines so với x0; ToaDoMoi.X := (X_Trai + X_Phai) / 2; ToaDoMoi.Y := y0 + BuocDi; End 63 3.2.2 Thuật toán xác định tọa độ trái phải gần O x (5) (6) (1) (2) (4) (3) () X1 X2 X3 (x0,y0) X4 X5 X6 y Hình 3.4 Cách xác định điểm trái phải gần Giả sử ta có tập đƣờng th ng Hough sau : lines = {1, 2, 3, 4, 5, 6} robot R ban đầu có tọa độ (x0, y0) Ý tƣởng tìm hoành độ trái phải gần nhƣ sau:  Gọi  đƣờng th ng vuông góc với trục tung qua điểm (x0, y0) cắt đƣờng th ng (1), (2), (3), (4), (5), (6)  Ta lần lƣợt tìm điểm giao  với đƣờng (1), (2), (3), (4), (5), (6) Giả sử nghiệm tìm đƣợc lần lƣợt : x1,x2, x3, x4, x5, x6  Dùng mảng arrBenTrai để lƣu hoành độ nhỏ x0 arrBenPhai để lƣu hoành độ lớn x0  arrBenTrai = {x1, x2, x3}  arrBenPhai = {x4, x5, x6}  Điểm bên trái gần với x0 : X_Trai = max{arrBenTrai} = x3  Điểm bên phải gần với x0 : X_Phai = {arrBenPhai} = x4 64 a Lưu đồ Begin Lines[ ],(x0,y0) Xác định đƣờng th ng  i < Lines.length Return X_Trai := max {arrBenTrai} X_Phai := {arrBenPhai} S Đ Tính định thức  với Lines[i] S DinhThuc Chèn nghiệm vào arrBenTrai End Tính nghiệm  với Lines[i] đƣa vào mảng arrNghiem Đ S Nghiệm < x0? Đ Chèn nghiệm vào arrBenPhai Hình 3.5 Lưu đồ xác định điểm bên trái bên phải gần 65 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  qua (x0,y0); While (i < Lines.length) Begin Tính DinhThuc(, Lines[i]); If DinhThuc Then Begin x := Dx / DinhThuc; If x < x0 Then arrBenTrai.Add(x); Else arrBenPhai.Add(x); End End X_Trai := max { arrBenTrai }; X_Phai := { arrBenPhai }; End 66 3.2.3 Kết thử nghiệm thuật toán Canny Hough Để xác định đƣợc đƣờng th ng Hough, trƣớc tiên ta phải xác định đƣợc biên ảnh từ biên ảnh ta xây dựng đƣợc phƣơng trình đƣờng th ng Hough Tùy theo kết biên ảnh ta có đƣờng th ng Hough tƣơng ứng Biên ảnh nhiều ta có đƣờng th ng Hough nhiều, biên ảnh ta có đƣờng th ng Hough Các kết thử nghiệm dƣới đƣợc chạy xử lý Intel Core Duo T7250 2.0GHz, RAM 2.0GB, Windows Ultimate 32-bit Sau kết thử nghiệm thuật toán Hough thay đổi giá trị thông số thuật toán xác định biên giá trị thông số thuật toán Hough.: Hình 3.6 Ảnh hành lang gốc 67 Ảnh kết thử nghiệm Canny Hough với ngƣỡng thay đổi Hình 3.7 Ảnh biên a) Tl = 1, Th = Hình 3.8 Ảnh Hough a) Hình 3.9 Ảnh biên b) Tl = 5, Th = 15 Hình 3.10 Ảnh Hough b) Hình 3.11 Ảnh biên c) Hình 3.12 Ảnh Hough c) Tl = 15, Th = 45 68 Hình 3.13 Ảnh biên d) Hình 3.14 Ảnh Hough d) 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 Ảnh biên Ảnh Hough Tên Ngưỡng thấp Ngưỡng cao Tên Số lượng đường thẳng a a 1162 b 15 b 561 c 15 45 c 234 d 30 90 d 141 e 47 141 e 77 69 Nhận xét Ở ta đánh giá phƣơng pháp Canny Hough với ngƣỡng khác Khi ta thay đổi ngƣỡng thấp ngƣỡng cao số lƣợng biên đƣợc phát thay đổi nên số lƣợng đƣờng th ng Hough đƣợc tìm thay đổi theo Nên ta thấy: - Khi ngƣỡng thấp ngƣỡng cao thấp số lƣợng biên phát nhiều Nên số lƣợng đƣờng th ng Hough đƣợc xác định nhiều, trƣờng hợp việc xác định điểm di chuyển cho robot tốn nhiều thời gian xác định đƣợc - Khi hai ngƣỡng cao số lƣợng điểm biên đƣợc phát ít, điểm có mức xám cao thành biên Nên số lƣợng đƣờng th ng Hough đƣợc xác định ít, trƣờng hợp việc xác định điểm di chuyển cho robot tiết kiệm đƣợc nhiều thời gian Kết luận chƣơng Trong chƣơng luận văn trình bày số phƣơng pháp phát biên xác định đƣờng th ng Hough sở ứng dụng vào toán robot di chuyển dọc theo đƣờng th ng Cụ thể chƣơng đạt đƣợc kết sau:  Cài đặt thành công thuật toán xác định biên thuật toán Hough Đƣa nhận xét kết thử nghiệm thuật toán  Ứng dụng thuật toán Canny Hough để xác định đƣờng cho robot 70 KẾT LUẬN Trong trình nghiên cứu tài liệu thực luận văn dƣới định hƣớng thầy hƣớng dẫn đạt đƣợc số kết nhƣ sau: - Tìm hiểu đƣợc cách tổng quan robot kỹ thuật tìm đƣờng robot - Tìm hiểu phƣơng pháp phát biên ảnh, hệ thống hóa phƣơng pháp phát biên Đƣa nhận xét, đánh giá phƣơng pháp phát biên có lựa chọn phƣơng pháp phù hợp với loại ảnh Xây dựng đƣợc đƣờng th ng Hough thông qua biên ảnh - Ngoài trình nghiên cứu, tích lũy thêm cho kỹ thuật lập trình quan trọng rèn luyện kỹ để thực nghiên cứu khoa học Tuy bƣớc đầu nhƣng tiền đề giúp ích cho thời gian nghiên cứu tới để đạt đƣợc kết tốt Dựa kết bƣớc đầu đạt đƣợc luận văn tiếp tục nghiên cứu xác định ngã rẽ cho robot thực thuật toán tìm đƣờng 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 Đạ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 kỹ thuật, 2002 [3] Đỗ Năng Toàn (2002), “Biên ảnh 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 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 phát góc nghiêng Văn bản” Kỷ yếu Hội thảo Quốc gia lần thứ - Một số vấn đề chọn lọc Công nghệ thông tin Truyền thông, Đà Nẵng 18-20/08 /2004 Nxb KH&KT, Hà Nội 2005 [6] Đỗ Năng Toà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-Robottren-the-gio-i-va-ti-nh-hi-nh-nghien-cu-u-Robot-o-Vie-t-Nam-hie-nnay.html [12] http://vnexpress.net/gl/khoa-hoc/2011/10/robot-khong-lo-titan-landan-tien-den-tp-hcm/page_2.asp [13] http://www.youtube.com/watch?v=oKm2aOd62ZI
- Xem thêm -

Xem thêm: 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, 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, 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

Gợi ý tài liệu liên quan cho bạn

Nạp tiền Tải lên
Đăng ký
Đăng nhập