1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính

96 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 96
Dung lượng 6,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để đạt được hiệu quả trong việc xây dựng những hệ thống robot dựa trên kỹ thuật thị giác, thì cần phải kết hợp sử dụng với các chương trình và thư viện xử lý thông trình thông dụng trê

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

THÀNH PHỐ HỒ CHÍ MINH

LUẬN VĂN THẠC SĨ NGUYỄN HỮU NAM

NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270

Tp Hồ Chí Minh, 2011

S 0 9

QUY HOẠCH QŨY ĐẠO CHO ROBOT

DI ĐỘNG DỰA TRÊN THỊ GIÁC MÁY TÍNH

S KC 0 0 3 4 6 4

Trang 2

QUY HOẠCH QŨY ĐẠO CHO ROBOT DI ĐỘNG

DỰA TRÊN THỊ GIÁC MÁY TÍNH

NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270

Hướng dẫn khoa học:

TS NGÔ VĂN THUYÊN

Trang 3

i

LÝ LỊCH KHOA HỌC

I LÝ LỊCH SƠ LƯỢC:

Chỗ ở riêng hoặc địa chỉ liên lạc: 34/81 khu phố 13 phường Hố Nai thành phố Biên Hòa tỉnh Đồng Nai

E-mail:nguyenhuunam86@gmail.com

II QUÁ TRÌNH ĐÀO TẠO:

1 Trung học chuyên nghiệp:

Hệ đào tạo: Thời gian đào tạo từ ……/…… đến ……/ ……

Nơi học (trường, thành phố):

Ngành học:

2 Đại học:

Hệ đào tạo: Thời gian đào tạo từ 10/2004 đến 07/ 2009

Nơi học (trường, thành phố): Đa ̣i Ho ̣c Sư Pha ̣m Kỹ Thuâ ̣t TP.HCM

Ngành học: Kỹ Thuật Điện – Điện Tử

Tên đồ án, luận án hoặc môn thi tốt nghiệp: Điều Khiển Quá Trình, Truyền Hình Số, Chuyên Đề Tốt Nghiệp

Ngày & nơi bảo vệ đồ án, luận án hoặc thi tốt nghiệp: Đa ̣i Ho ̣c Sư Pha ̣m Kỹ Thuâ ̣t TP.HCM

Trang 4

ii

Người hướng dẫn:

III QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC:

Trang 5

iii

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của tôi với sự hướng dẫn của TS Ngô Văn Thuyên Các kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào

Tp Hồ Chí Minh, ngày 10 tháng 11 năm 2011

(Ký tên và ghi rõ họ tên)

Trang 6

iv

LỜI CẢM TẠ

Đầu tiên, tôi xin gửi lời cám ơn chân thành đến TS Ngô Văn Thuyên – người

đã trực tiếp hướng dẫn tôi một cách tận tình và chu đáo từ khi xây dựng cho đến lúc thực hiện và hoàn thành đề tài nảy Trong quá trình làm đề tài, thầy luôn theo sát tiến trình thực hiện của tôi và có những gợi ý giúp tôi định hướng giải quyết những vấn đề khó khăn gặp phải

Bên cạnh đó, gia đình luôn là chỗ dựa và là nguồn động viên vô cùng to lớn tiếp sức cho tôi trong suốt quá trình nghiên cứu đề tài

Cuối cùng tôi xin gửi lời cảm ơn đến anh Nguyễn Hừng Đông và anh Nguyễn Hoàng Anh là những người hỗ trợ tôi trong quá trình xây dựng đề tài Những

ý kiến đóng góp của các anh đã giúp tôi hoàn thiện tốt hơn đề tài của mình Xin chân thành cảm ơn!

Biên Hòa, ngày 10 tháng 10 nằm 2011

Trang 7

vii

MỤC LỤC

LỜI CAM ĐOAN iii

LỜI CẢM TẠ iv

TÓM TẮT v

MỤC LỤC vii

DANH SÁCH CÁC CHỮ VIẾT TẮT x

DANH SÁCH CÁC BẢNG xi

DANH SÁCH CÁC HÌNH xii

Chương 1 Giới Thiệu 1

1.1 Tổng quan chung về lĩnh vực nghiên cứu 1

1.2 Mục tiêu nghiên cứu 4

1.3 Phạm vi nghiên cứu 4

1.4 Phương pháp nghiên cứu 4

Chương 2 Thị Giác Máy Tính và Thư Viện OpenCV 5

2.1 Giới thiệu 5

2.2 Sự phát triển của thị giác máy tính 7

2.3 Lĩnh vực ứng dụng 9

2.4 Hệ thống thị giác máy tính 11

2.5 Thư viện mã nguồn mở OpenCV 12

Chương 3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot 19

Trang 8

viii

3.1 Phương pháp định hướng 19

3.1.1 Phương pháp định hướng dựa trên bản đồ 20

3.1.2 Định hướng dựa trên xây dựng bản đồ 24

3.1.3 Định hướng không dựa trên bản đồ 25

3.2 Phương pháp tránh vật cản 28

3.2.1 Phương pháp Bug 28

3.2.2 Phương pháp Potential Field 29

3.2.3 Phương pháp Vecto Field Histogram (VFH) 32

3.3 Phương pháp nhận dạng vật thể 37

3.3.1 Phương pháp so khớp đặc điểm hình học 38

3.3.2 Phương pháp nhận dạng dựa trên diện mạo 39

3.3.3 Phương pháp nhận dạng dựa trên đặc điểm cục bộ 41

Chương 4 Thuật Toán Quy Hoạch Quỹ Đạo 44

4.1 Quy hoạch quỹ đạo 44

4.1.1 Bản đồ môi trường 44

4.1.2 Giải thuật quy hoạch quỹ dạo chuyển động 46

4.2 Thuật toán tránh vật cản 47

4.2.1 Xây dựng biểu đồ histogram 47

4.2.2 Tính góc lái 49

4.3 Thuật toán định vị trí bằng điểm mốc 49

4.3.1 Tìm điểm mốc trên ảnh 50

4.3.2 Thuật Toán Meanshift 52

Trang 9

ix

4.3.3 Định vị trí bằng điểm mốc 55

4.4 Phát hiện cửa 56

4.4.1 Đặc điểm cửa 56

4.4.2 Thuật toán phát hiện cửa 57

4.5 Tìm vật thể đích 58

4.5.1 Thuật toán nhận dạng vật thể đích 59

4.5.2 Phương pháp nhận dạng SURF 59

Chương 5 Mô Hình Robot Di Động Và Kết Quả Thực Nghiệm 64

5.1 Mô hình robot di động 64

5.1.1 Mô hình hệ thống 64

5.1.2 Cảm biến camera Kinect 66

5.2 Kết quả thực nghiệm 70

5.2.1 Bản đồ môi trường 70

5.2.2 Kết quả thực nghiệm các thuật toán 71

5.2.3 Kết quả thực nghiệm thuật toán quy đạo hoạch cho robot 78

Chương 6 Kết Luận 83

6.1 Kết quả đạt được 83

6.2 Hạn chế của đề tài 83

6.3 Hướng phát triển của đề tài 84

TÀI LIỆU THAM KHẢO 85

Trang 10

1 Giới Thiệu

1

Chương 1

Giới Thiệu

1.1 Tổng quan chung về lĩnh vực nghiên cứu

Trong hơn nửa thế kỷ hình thành và phát triển, lĩnh vực nghiên cứu, chế tạo robot

đã có nhiều những bước tiến đáng kể Robot đầu tiên được ứng dụng trong công nghiệp vào thập niên 60 để thay thế con người làm các công việc nặng nhọc, nguy hiểm trong môi trường độc hại [1] Ban đầu, robot chủ yếu được ứng dụng trong các nhà máy xí nghiệp nhưng đến nay robot đã có những ứng dụng khác như trong y tế, nông nghiệp, xây dựng, an ninh quốc phòng, thám hiểm không gian và trong gia đình [2] Từ nhu cầu ngày càng lớn và đa dạng như vậy đã tạo ra sự thúc đẩy lớn cho lĩnh vực nghiên cứu robot phát triển Xu hướng nghiên cứu của thế giới hiện nay là hướng về dịch vụ và hoạt động của robot trong môi trường tự nhiên

Có thể phân loại một số loại robot đã và đang được nghiên cứu như tay máy robot (Robot Manipulators), robot di động (Mobile Robots), robot phỏng sinh học (Bio Inspired Robots) và robot cá nhân (Personal Robots) [2] Tay máy robot bao gồm các loại robot công nghiệp (Industrial Robot) như hình 1.1a, robot y tế (Medical Robot) và robot trợ giúp người tàn tật (Rehabilitation robot) Robot di động được nghiên cứu nhiều như xe tự hành trên mặt đất AGV (Autonomous Guided Vehicles), robot tự hành dưới nước AUV (Autonomous Underwater Vehicles) như hình 1.1b, robot tự hành trên không UAV (Unmanned Arial Vehicles) và robot vũ trụ (Space robots) Với robot phỏng sinh học, các nghiên cứu tập trung vào 2 loại

Trang 11

để chụp lại những hình ảnh từ môi trường xung quanh sau đó những hình ảnh này được chuyển tới máy tính để xử lý trích xuất ra những thông tin đặc điểm từ môi trường, quá trình này giống như quá trình tổng hợp hình ảnh của thị giác con người

Hình 1.1 Một số loại robot đã và đang được nghiên cứu

Trang 12

1 Giới Thiệu

3

Kỹ thuật này mang nhiều đặc điểm nổi bật hơn so với những kỹ thuật cảm biến truyền thống vì nó có thể xây dựng được bản đồ 2D, 3D về môi trường xung quanh với độ chính xác cao trong khi với những cảm biến thông thường được sử dụng như cảm biến quang, siêu âm hay lade chỉ dừng ở mức phát hiện vật thể và khoảng cách giữa robot với vật thể Kỹ thuật thị giác cũng giúp robot có thể nhận dạng được vật thể về hình dáng, kích thước, màu sắc

Để đạt được hiệu quả trong việc xây dựng những hệ thống robot dựa trên kỹ thuật thị giác, thì cần phải kết hợp sử dụng với các chương trình và thư viện xử lý thông

trình thông dụng trên thế giới có thể kể đến như Webots, Microsoft Robot Development Studio, ARIA, Player/Stage Mỗi chương trình có những đặt điểm và

ưu khuyết điểm riêng Tuy nhiên, trong các phần mềm điều khiển robot trên thì Player được sử dụng rộng rãi trong nghiên cứu và giảng dạy robot do tính mở của

nó Player là một network server điều khiển robot Player chạy trên robot và cung cấp giao tiếp với các cảm biến và bộ truyền động qua mạng IP Chương trình client giao tiếp với Player qua TCP socket và đọc dữ liệu từ các cảm biến, truyền lệnh xuống bộ điều khiển chuyển động và cấu hình thiết bị Player hỗ trợ hầu hết các phần cứng của các robot thương mại và chạy trên nền Linux (PC và hệ thống nhúng) Stage là giao diện mô phỏng liên kết với Player Stage cho phép thử nghiệm các thuật toán điều khiển trước khi thực hiện trên robot thực với Player Có cùng tính mở như chương trình Player, thư viện OpenCV cũng được sử dụng phổ biến như là một công cụ hỗ trợ đắc lực cho người nghiên cứu trong việc xử lý thông tin ảnh cho robot OpenCV bao gồm những thuật toán đã được tối ưu hóa dành cho việc xử lý ảnh

Với những đặc điểm nổi bật và tính mới mẻ của hướng nghiên cứu này tại Việt Nam nên kỹ thuật thị giác máy tính sử được sử dụng là hướng nghiên cứu trong đề tài này

Trang 13

1 Giới Thiệu

4

1.2 Mục tiêu nghiên cứu

Mục tiêu đề tài là xây dựng thuật toán quy hoạch quỹ đạo cho robot dựa trên thị giác máy tính Thuật toán được thực nghiệm trên mô hình robot thực điều khiển trên Player và OpenCV Khi di chuyển từ điểm ban đầu đến đích, robot phải có khả năng tránh vật cản Để di chuyển, robot dựa trên vị trí cho bởi encoder kết hợp với định

vị dựa trên các điểm mốc sử dụng thị giác máy tính Robot có khả năng xác định vật đích qua thuật toán nhận dạng màu sắc và các đặc điểm cục bộ của ảnh vật thể

1.3 Phạm vi nghiên cứu

Phạm vi nghiên cứu của đề tài giới hạn trong những ứng dụng trong nhà Robot sẽ

di chuyển trong bản đồ môi trường đã được xây dựng trước Trong quá trình di chuyển robot sẽ định vị trí bằng thông tin encoder kết hợp với điểm mốc với màu sắc đơn giản và từ đó định hướng di chuyển đến đích Robot sử dụng thông tin độ sâu để xây dựng biểu đồ histogram cho việc tránh vật cản và sử dụng thuật toán nhận dạng để phát hiện vật thể đích

1.4 Phương pháp nghiên cứu

Các phương pháp nghiên cứu được sử dụng trong đề tài là:

tử liên quan đến lĩnh vực nghiên cứu Nghiên cứu lý thuyết để xây dựng thuật toán quy hoạch quỹ đạo cho robot

hình robot

Trang 14

2 Thị Giác Máy Tính Và Thư Viện OpenCV

ở phần cuối của chương OpenCV được xây dựng trên nền những thuật toán đã được tối ưu hóa dành cho những ứng dụng thị giác máy tính

2.1 Giới thiệu

Với sự phát triển mạnh mẽ của công nghệ máy tính đã kéo theo sự phát triển vượt bậc của nhiều lĩnh vực khác Trong số đó là thị giác máy tính, một lĩnh vực nghiên cứu phức tạp đòi hỏi nhiều về sức mạnh tính toán Từ những năm 1970 khi mà năng lực tính toán của máy tính trở nên mạnh mẽ giúp cho công việc xử lý những tập dữ liệu lớn như hình ảnh trở nên nhanh chóng và dễ dàng, thì lĩnh vực thị giác máy tính được nhắc đến và nghiên cứu nhiều hơn cho tới ngày nay Hiện nay lĩnh vực này được đánh giá là vẫn còn “non nớt” và có sự phát triển mạnh mẽ trong thời gian tới Thị giác máy tí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 con người, 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

Trang 15

2 Thị Giác Máy Tính Và Thư Viện OpenCV

6

của mỗi người Con người có thể cảm nhận được một bình hoa sặc sỡ sắc màu đặt trên chiếc bàn đẹp như thế nào, hay nhận biết tên và sắc thái biểu cảm của từng người qua một tấm ảnh chụp Tuy nhiên với các vật vô tri vô giác như máy tính, robot v v thì điều này thực sự là một bước tiến rất gian nan Thị giác máy tính cung cấp cho các máy móc, thiết bị 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, xử lý và 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 chính xác và linh hoạt hơn rất nhiều

Lĩnh vực nghiên cứu của thị giác máy tính rất đa dạng và có liên quan đến rất nhiều lĩnh vực khác như trong hình 2.1, do đó không thể xây dựng được một tiêu chuẩn chung cho các bài toán về thị giác máy tính Thay vào đó mỗi hướng giải quyết, mỗi phương pháp đều đạt được một kết quả nhất định cho những trường hợp cụ thể trong các ứng dụng khác nhau

Hình 2.1 Mối tương quan giữa thị giác máy tính và các lĩnh vực khác(nguồn:

http://en.wikipedia.org/wiki/File:CVoverview2.svg, truy cập ngày 1/10/2011)

Trang 16

2 Thị Giác Máy Tính Và Thư Viện OpenCV

7

2.2 Sự phát triển của thị giác máy tính

Những khái niệm đầu tiên về thị giác máy tính được hình thành vào đầu những năm

1970 Đây là một đề tài đầy tham vọng nhằm bắt chước trí thông minh của con người và làm cho robot có những hành vi thông minh Vào thời điểm đó, niềm tin vào hướng nghiên cứu này xuất phát từ một số những người tiên phong đầu tiên về lĩnh vực trí thông minh nhân tạo và robot như MIT, Stanford, và CMU Những nhà nghiên cứu đã giải quyết vấn đề "đầu vào thị giác" và tạo ra tiền đề để giải quyết các vấn đề khó khăn hơn

Điều khác biệt giữa thị giác máy tính với các lĩnh vực xử lý ảnh số là việc mong muốn khôi phục lại không gian ba chiều của thế giới từ những hình ảnh và sử dụng như là một bước đệm hướng tới sự hiểu biết đầy đủ về cảnh vật Những nỗ lực đầu tiên về sự hiểu biết cảnh vật là trích xuất cạnh và sau đó xây dựng cấu trúc 3D của đối tượng hoặc một "thế giới khối" từ cấu trúc tô pô tạo nên bởi những đường thẳng 2D của Roberts (1965) Tại thời điểm đó một số thuật toán đánh nhãn đường thẳng (hình 2.3a) được phát triển như trong nghiên cứu của Huffman (1971), Clowes (1971), Waltz (1975), Rosenfeld và các cộng sự (1976), Kanade (1980) Fischler và Elschlager (1973) đề xuất phương pháp sắp xếp đàn hồi các bộ phận cấu trúc trực quan (Hình 2.3b), đây là một trong các phương pháp tiếp cận được sử dụng nhiều trong nhận dạng đối tượng Mô hình ba chiều của các đối tượng có hình dáng không phải khối đa diện cũng được nghiên cứu vào thời điểm đó bởi Baum-gart (1974), Baker (1977), cách tiếp cận phổ biến được sử dụng là hình trụ suy rộng, tức là, khối trụ tròn và quét đường cong kín thường được sắp xếp thành các quan hệ thành phần (Hình 2.3c) Ngoài ra còn có nghiên cứu của Barrow và Tanenbaum (1981) về sự thay đổi về cường độ ánh sáng và sự đổ bóng, và giải thích những điều này bằng tác động của hiện tượng hình thành ảnh, chẳng hạn như định hướng bề mặt và đổ bóng (hình 2.3d), phát triển cùng ý tưởng này là bản thảo về không gian 2,5 chiều của Marr (1982) Bên cạnh đó là thuật toán tìm sự tương ứng của nhiều đặc điểm dựa trên thuật toán stereo (Hình 2.3e) được nghiên cứu bởi Dev (1974) và tiếp tục phát triển bởi Marr và Poggio (1976), Moravec (1977), Marr và Poggio (1979), Mayhew

Trang 17

2 Thị Giác Máy Tính Và Thư Viện OpenCV

8

và Frisby (1981), Baker (1982), Barnard và Fischler (1982), Ohta và Kanade (1985), Grimson (1985), Pollard và các cộng sự (1985), Prazdny (1985) Các thuật toán dựa trên chuyển động quang học (hình 2.3f) phát triển bởi Horn và Schunck (1981), Huang (1981), Lucas và Kanade (1981), Nagel (1986)

Tới thập niên 1980 việc nghiên cứu được tập trung vào các kỹ thuật toán học phức tạp để thực hiện phân tích ảnh như thuật toán pyramid ứng dụng cho việc thực hiện các nhiệm vụ như pha trộn hình ảnh và tìm sự tương quan của Rosenfeld (1980), Burt và Adelson (1983), Rosenfeld (1984), Quam (1984), Anandan (1989) Thuật toán stereo mở rộng ứng dụng cho tìm hình dạng vật thể của Horn (1975), Pentland (1984), Blake và các đồng sự (1985) hoặc việc sử dụng mô hình trường rời rạc ngẫu nhiên Markov (MRF) của Geman (1984) sử dụng cho thuật toán tìm kiếm và tối ưu hóa

Hình 2.2 Một số thuật toán của thị giác máy tính [3]

Trang 18

2 Thị Giác Máy Tính Và Thư Viện OpenCV

9

Qua thập niên 1990, Các hướng nghiên cứu được đề cập trước đây được nghiên cứu sâu hơn Trong đó có một số hướng đạt được những kết quả tốt như chuyển động quang học của Nagel và Enkelmann (1986), Bolles và các đồng sự (1987), Horn và Jr.Weldon (1988), Anandan (1989) Thuật toán stereo từ nhiều hướng nghiên cứu bởi Seitz và Dyer (1999), Kutulakos và Seitz (2000) để tạo ra bề mặt 3D hoàn chỉnh Đặc biệt là thuật toán Tracking có nhiều nghiên cứu cải thiện mở rộng bao gồm theo vết đường biên sử dụng đường biên động cùa Kass và các đồng sự (1988),

bộ lọc điểm của Blake và Isard (1998), theo dõi khuôn mặt người của Lanitis và các đồng sự (1997) hay tracking toàn thân của Sidenbladh và các đồng sự (2000) Ngoài

ra kỹ thuật học thống kê bắt đầu xuất hiện đầu tiên trong ứng dụng phân tích thành phần chính eigenface để nhận dạng khuôn mặt được phát triển bởi Turk và Pentland (1991) và hệ thống tuyến tính động để theo dõi đường cong của Blake và Isard (1998) Một hướng khác cũng có sự phát triển đáng chú ý là sự tương tác giữa thị giác máy tính và đồ họa máy tính nghiên cứu bởi Seitz và Szeliski (1999), đặc biệt trong phối cảnh và mô mình hóa dựa trên ảnh

Đến thập niên 2000, có thể thấy được sự ảnh hưởng lẫn nhau giữa thị giác máy tính

và đồ họa máy tính ngày càng trở nên sâu rộng hơn, rất nhiều chủ đề đề cập đến việc phối cảnh dựa trên ảnh như ghép nối ảnh, mô hình hóa dựa trên ảnh của Mann

và Picard (1995), Debevec và Malik (1997) Ngoài ra một số hướng phát triển có sự kết hợp lẫn nhau như kỹ thuật xử lý ảnh kết hợp với máy học sử dụng cho thuật toán nhận dạng của Ponce và các đồng sự (2006)

Qua hơn 40 năm hình thành và phát triển lĩnh vực thị giác máy tính đã đạt những kết quả nhất định song để có thể đạt tới được mục tiêu làm cho máy móc có được những hành vi thông minh như con người thì còn là một bước tiến rất dài ở phía trước

2.3 Lĩnh vực ứng dụng

Thị giác máy tính có tính ứng dụng cao, từ những lĩnh vực khoa học, y học, sản xuất cho đến quân sự Đầu tiên có thể kể đến là ứng dụng trong y học Việc chuẩn

Trang 19

2 Thị Giác Máy Tính Và Thư Viện OpenCV

10

đoán bệnh cho các bệnh nhân có thể được hỗ trợ từ hệ thống thị giác máy tính thông qua việc phân tích và trích xuất những thông tin đặc trưng từ ảnh Những ảnh này được chụp từ kính hiển vi, máy X quang, chụp động mạch, siêu âm hay từ máy chụp cắt lớp Ngoài ra thị giác máy tính cũng có thể hỗ trợ việc đo kích thước cơ quan, lưu lượng máu, cấu trúc tế bào Thứ hai là trong công nghiệp, trong lĩnh vực này thị giác máy tính đôi khi còn được gọi là thị giác máy (machine vision) Những thông tin đặc trưng trong ảnh giúp kiểm soát quá trình sản xuất như chất lượng sản phẩm, tìm kiếm lỗi khuyết tật, kích thước sản phẩm hay vị trí và hướng của cánh tay robot Trong quân sự hệ thống thị giác máy tính được ứng dụng trong các hệ thống phát hiện chuyển động, nhận dạng, hay phức tạp hơn là hướng dẫn hệ thống tên lửa Một ứng dụng khác khá phổ biến của thị giác máy tính là cho phương tiện tự hành,

từ tàu lặn, máy bay không người lái, hệ thống hỗ trợ lái xe phát hiện vật cản Ngoài

ra còn rất nhiều những ứng dụng hữu ích khác trong thực tế, một số những ứng dụng tiêu biểu trong những lĩnh vực kể trên được minh họa trong hình 2.4

Hình 2.3 Một số ứng dụng của thị giác máy tính (a) xe tự hành thám hiểm sao

Hỏa (b) ảnh y sinh (c) kiểm tra lỗi của sản phẩm (d) Kiểm soát lưu lượng xe

Trang 20

2 Thị Giác Máy Tính Và Thư Viện OpenCV

11

2.4 Hệ thống thị giác máy tính

Cấu trúc của một hệ thống thị giác máy tính phụ thuộc nhiều vào ứng dụng cụ thể của hệ thống đó, vì thế mỗi một hệ thống lại có một cấu trúc riêng biệt Tuy nhiên, khi tổng hợp những cấu trúc này lại thì có thể nhận thấy được các thành phần đặc trưng thường xuất hiện trong một hệ thống thị giác như trình bày trong hình 2.5

để thỏa mãn một số yêu cầu như lấy mẫu lại để hiệu chỉnh tọa độ điểm các ảnh liên tiếp, loại bỏ nhiễu để giảm thông tin sai hay tăng độ tương phản

để đảm bảo xác định được các thông tin cần thiết

phải dữ liệu nào cũng hữu ích Vì thế trong giai đoạn này, hệ thống sẽ trích xuất ra những đặc điểm cơ bản nhất trong ảnh phục vụ cho các quá trình tiếp theo Những đặc điểm này thường là đường thẳng, cạnh, góc và đặc

điểm phức tạp như dấu vân, hình dáng hay chuyển động

Hình 2.4 Cấu trúc hệ thống thị giác máy tính

Thu thập

Trích xuất đặc điểm ảnh

Dò tìm/phân vùng

Xử lý mức cao Ảnh

Trang 21

2 Thị Giác Máy Tính Và Thư Viện OpenCV

12

 Dò tìm hay phân vùng: Đối tượng cần quan tâm có thể nằm ở bất kỳ đâu trong một ảnh, vì thế cần phân ảnh thành những vùng ảnh và tìm ra vùng ảnh quan tâm hoặc chứa đối tượng quan tâm để xử lý Muốn phân vùng

phải dựa vào những đặc điểm của ảnh

Xử lý mức cao: Ở bước này thì các tập dữ liệu chỉ là một tập điểm ảnh

hoặc vùng ảnh chứa đối tượng cần quan tâm và những đặc điểm của đối tượng đã được trích xuất ra Vấn đề còn lại là sử dụng các thuật toán để xử

lý đối tượng theo yêu cầu đề ra

2.5 Thư viện mã nguồn mở OpenCV

OpenCV (Open Source Computer Vision) là một thư viện mở gồm các hàm được xây dựng phục vụ cho việc xử lý thị giác máy thời gian thực (Real time computer vision) Các thuật toán xử lý ảnh thông thường lẫn cao cấp đều được tối ưu hóa bởi các nhà phát triển thành các hàm đơn giản và rất dễ sử dụng OpenCV hỗ trợ hai ngôn ngữ chính C/C++, python và chạy trên hệ điều hành Linux, Windows và Mac

OS X

Một trong những mục đích của OpenCV là cung cấp một cấu trúc hạ tầng đơn giản cho việc sử dụng thị giác máy giúp người sử dụng xây dựng các ứng dụng thị giác máy phức tạp một cách nhanh chóng Thư viện OpenCV chứa trên 500 hàm dùng trong nhiều lĩnh vực của xử lý ảnh, gồm kiểm tra sản phẩm trong công nghiệp, ảnh

y sinh, an ninh, nhận dạng, hiệu chỉnh camera, stereo vision, và robot tự động

2.5.1 Cấu trúc thư viện OpenCV

Cấu trúc chính của OpenCV gồm 5 phần: CV, MLL, HighGUI, CXCORE Bốn trong số này được trình bày trong hình 2.6

Thành phần CV chứa những thuật toán xử lý ảnh cơ bản và thuật toán thị

giác máy tính mức cao Trong đó các hàm được xây dựng và tối ưu hóa nhằm tìm thông tin, đặc điểm của một ảnh làm cơ sở phục vụ cho việc giải thích hay hiểu rõ về cảnh vật trong ảnh

Trang 22

2 Thị Giác Máy Tính Và Thư Viện OpenCV

13

Hình 2.5 Cấu trúc cơ bản của OpenCV

Thành phần MLL là thư viện máy học bao gồm nhiều cơng cụ phân loại

thống kê và phân nhĩm như phân loại Normal/Nạve Baye, sơ đồ quyết định dạng cây (Decision trees), mạng nơron v.v

giúp tương tác với hệ điều hành, trong đĩ chứa các hàm và thủ tục xuất nhập I/O, các hàm tạo cửa sổ hiển thị hình ảnh, đọc và ghi dữ liệu ảnh v.v Thành phần này được chia thành 3 phần nhỏ:

 Phần cứng liên quan đến các hoạt động và tương tác với camera Các hàm thu thập dữ liệu từ camera

Trang 23

2 Thị Giác Máy Tính Và Thư Viện OpenCV

14

 Hệ thống tập tin chứa các hàm tải và lưu trữ các dữ liệu video từ camera, video lưu trữ hay các ảnh tĩnh

 GUI là thành phần giao diện người dùng với các hàm đơn giản cho phép tạo

những cửa sổ hiển thị ảnh, đáp ứng những sự kiện tương tác giữa cửa sổ với

thiết bị chuột và bàn phím

(CvPoint), kích thước (CvSize), vùng ảnh (CvRect), hay cấu trúc phức tạp hơn như cấu trúc ảnh (IplImage) , cấu trúc ma trận (CvMat), cấu trúc chuỗi

dữ liệu (CvSeq) và một số cấu trúc liên quan đến đồ họa

Thành phần CvAux chứa một số thuật toán riêng biệt được miêu tả như

trong bảng 2.1

2.5.2 Cấu trúc một chương trình xử lý ảnh sử dụng thư viện OpenCV

Cấu trúc của một chương trình xử lý ảnh sử dụng thư viện OpenCV như sau:

 Khai báo: phần đầu của một chương trình xử lý ảnh sử dụng thư viện OpenCV là khai báo các thành phần trong thư viện được sử dụng trong

chương trình đó Thư viện OpenCV bao gồm 5 thành phần: CV, MLL HighGUI CXCore, CvAux

 Nạp ảnh: ảnh xử lý sẽ được nạp vào chương trình từ camera, từ các tập tin

ảnh hoặc video lưu trữ trong bộ nhớ

 Xử lý ảnh dùng các hàm hoặc thuật toán riêng của OpenCV: thư viện

OpenCV có khoảng 500 hàm xử lý dùng cho xử lý ảnh, tùy theo từng ứng dụng cụ thể có thể sử dụng từ các hàm cơ bản cho đến các hàm phức tạp để

xử lý ảnh

 Hiển thị: thư viện OpenCV cũng có các hàm hỗ trợ việc tạo cửa sổ và hiển

thị ảnh

Trang 24

2 Thị Giác Máy Tính Và Thư Viện OpenCV

trên ảnh hoặc video Tìm khung của một vật

(Finding skeletons of objects)

Khác với đường bao, khung của một vật là đường thẳng trung tâm ở một vùng trong vật có thể đại diện cho hình dáng của vật đó

trợ của thuật toán stereo vision

Trang 25

2 Thị Giác Máy Tính Và Thư Viện OpenCV

16

Bảng 2.2: Mô tả chương trình tìm đường thẳng sử dụng biến đổi Hough

//Khai báo thư viện

IplImage* src , *dst,*color_dst //Khai báo biến con trỏ chứa dữ liệu ảnh

//Tải một ảnh lưu trong bộ nhớ

src = cvLoadImage( "pic.png" , 0 );

dst = cvCreateImage( cvGetSize(src), 8, 1 );

color_dst = cvCreateImage( cvGetSize(src), 8, 3 );

CvMemStorage* storage = cvCreateMemStorage(0);

CvSeq* lines = 0;

int i;

// Xử lý ảnh sử dụng hàm của thư viện OpenCV

cvCanny( src, dst, 50, 200, 3 ); // Thuật toán trích xuất cạnh Canny

// Chuyển đổi từ ảnh màu BGR sang ảnh xám từ biến color_dst sang dst

cvCvtColor( dst, color_dst, CV_GRAY2BGR );

// Tìm đường thẳng sử dụng biến đổi Hough

lines = cvHoughLines2( dst, storage, CV_HOUGH_PROBABILISTIC, 1, CV_PI/180, 50, 50,

10 );

for ( i = 0; i < lines->total; i++ ) {

CvPoint* line = (CvPoint*)cvGetSeqElem(lines,i);

cvLine( color_dst, line[0], line[1], CV_RGB(255,0,0), 3, CV_AA, 0 ); }

// Hiển thị ảnh

cvNamedWindow( "Original Image " , 1 ); // Tạo một cửa sổ hiển thị ảnh

cvShowImage( "Original Image " , src ); // hiển thị ảnh

cvNamedWindow( "Image After Using Hough Transform " , 1 );

cvShowImage( "Image After Using Hough Transform " , color_dst );

cvWaitKey(0); //Chờ nhấn phím để thoát chương trình

return 0;

}

Trang 26

2 Thị Giác Máy Tính Và Thư Viện OpenCV

Hình 2.6 Ảnh trước và sau khi sử dụng biến đổi Hough

Hình 2.8 thể hiện kết quả chương trình tìm đường tròn sử dụng biến đổi Hough

Hình 2.7 Thuật toán tìm đường tròn sử dụng biến đổi Hough

Trang 27

2 Thị Giác Máy Tính Và Thư Viện OpenCV

18

Hình 2.9 là kết quả chương trình ứng dụng nhận dạng khuôn mặt người trong ảnh

Hình 2.8 Thuật toán nhận dạng khuôn mặt

Kết quả chương trình ứng dụng tìm máu áo của người trong hình sử dụng thuật toán nhận dạng khuôn mặt trình bày trong hình 2.10

Hình 2.9 Thuật toán tìm màu áo.

Trang 28

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

19

Chương 3

Các Phương Pháp Quy Hoạch Quỹ

Đạo Cho Robot

Quy hoạch quỹ đạo là một nhiệm vụ cơ bản và khó khăn mà một robot cần thực hiện trong quá trình di chuyển đến mục tiêu đã định Để xây dựng một quỹ đạo di chuyển robot cần thu thập đủ những dữ liệu từ môi trường thông qua cảm biến Những dữ liệu này được xử lý, chọn lọc và trích xuất để lấy ra những thông tin cần thiết Thông tin cần thiết phải đảm bảo được những tiêu chí là mang những đặc điểm cơ bản và đủ để robot có thể mô tả được môi trường xung quanh Chương này

đề cập đến cơ sở chung và các thuật toán về vấn đề quy hoạch quỹ đạo cho robot sử dụng thị giác máy tính Mục 3.1 trình bày về phương pháp định hướng cho robot bao gồm việc tìm hướng di chuyển và định vị trí Các phương pháp tránh vật cản và phương pháp nhận dạng được đề cập trong mục 3.2 và 3.3

3.1 Phương pháp định hướng

Định hướng tìm đường dựa trên thị giác được chia làm 2 hướng khác nhau đó là định hướng dựa trên thị giác cho những ứng dụng trong nhà (Indoor) và những ứng dụng ngoài trời (Outdoor) [4] Như đã đề cập ở trên trong hướng đề tài này chỉ đề cập đến định hướng dựa trên thị giác cho những ứng dụng trong nhà Việc định

Trang 29

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

20

hướng dựa trên thị giác đã được nghiên cứu trên thế giới hơn 20 năm nay với nhiều hướng nghiên cứu khác nhau Có thể tổng hợp các hướng nghiên cứu thành 3 hướng chính:

hình học hoặc bản đồ tô pô về môi trường do người sử dụng tạo ra

mô hình hình học hoặc tôpô về môi trường sau đó sử dụng lại mô hình này

để định hướng

dụng đến bản đồ hay mô tả nào về môi trường để định hướng mà chỉ sử dụng việc nhận dạng vật thể trong môi trường hoặc theo vết vật thể khi chuyển động dựa trên quan sát thị giác

3.1.1 Phương pháp định hướng dựa trên bản đồ

Đối với hướng tiếp cận này thì robot được cung cấp mô hình về môi trường xung quanh (bản đồ) Bản đồ được cung cấp bởi người sử dụng và thường ở dạng 2D như S-map [5], những điểm mốc định vị trí sẽ xuất hiện trong quá trình định hướng Vì thế nhiệm vụ chính của robot là di chuyển và xác định các điểm mốc thông qua thị giác Robot sử dụng bản đồ được cung cấp sẵn để ước lượng vị trí hiện tại của nó bằng cách so sánh điểm mốc phát hiện và điểm mốc định sẵn trong bản đồ Các bước trong việc định vị trí của robot được chia như sau:

là thu thập và xử lý ảnh từ camera

vật mốc có thể được phát hiện nhờ nhận dạng về hình dáng, kích thước hoặc màu sắc

Trang 30

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

21

hiện điểm mốc thì robot sẽ tra tìm trong tập dữ liệu trên bản đồ để tìm ra vị trí điểm mốc tương ứng

vị được vị trí của nó trên bản đồ

Điểm mốc được gắn vào trên đường đi của robot, nó được sử dụng cho 2 mục đích

là định vị trí và định hướng Ngoài ra điểm mốc được sử dụng để nhận dạng các vật thể Ở bước thứ 3 là so sánh giữa điểm mốc với điểm mốc tương ứng trong bản đồ nảy sinh một vấn đề khó, đó là việc xác định chính xác điểm mốc tương ứng nếu như robot được đặt ở vị trí bất kỳ Trong cách tiếp cận định hướng dựa trên bản đồ

có 3 phương pháp định vị trí của robot, trong cả ba phương pháp thì bản đồ về môi trường là đã được lập sẵn

Theo phương pháp này thì vị trí ban đầu của robot là không biết, robot xác định vị trí bằng cách dựa trên những điểm mốc và so sánh nó với mô hình của môi trường

đã được lập sẵn, từ đó đưa ra hướng di chuyển tới đích Bản đồ về môi trường mà robot di chuyển trong đó được minh họa trong hình 3.1

Như trong hình 3.1 những điểm mốc được đại diện bởi một hình tròn, hình tròn nhỏ đại diện đánh dấu cho bức tường và hình tròn to đại diện cho vật thể như bàn, cửa

và góc tường Theo phương pháp của Atiya và Hager [6] đề xuất thì để xác định được vị trí của robot thì cần phải xác định được vị trí của ba điểm mốc xuất hiện trên ảnh, với bộ ba điểm này sẽ tạo nên một tam giác Khoảng cách từ robot tới ba điểm mốc sẽ được đo, từ đó có thể ước lượng chiều dài các cạnh và góc tương ứng giữa các cạnh Thuộc tính độ dài cạnh và góc của tam giác kết nối ba điểm mốc là duy nhất và không thay đổi trong quá trình di chuyển của robot Sau đó so sánh những giá trị thuộc tính của bộ ba điểm mốc này với bộ ba điểm mốc bất kỳ trong bản đồ để xác định vị trị điểm mốc dẫn đến xác định được vị trí robot Ưu điểm của phương pháp này là có thể đặt robot ở vị trí bất kì

Trang 31

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

22

Hình 3.1 Bản đồ môi trường với những điểm mốc bằng hình tròn [6]

ii) Định vị trí theo phương pháp tăng dần

Trong phương pháp tăng dần, vị trí ban đầu của robot được xác định trước Khi chuyển động thì robot sẽ dựa vào phương trình chuyển động tịnh tiến và chuyển động quay để tính toán vị trí mới của nó như minh họa trong hình 3.2

Hình 3.2 Vị trí ban đầu và vị trí sau khi di chuyển của robot

(a) Di chuyển tịnh tiến (b) Di chuyển quay

Trang 32

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

−𝑑𝑠𝑖𝑛(∅ + 𝛼)𝑑𝑐𝑜𝑠(∅ + 𝛼)𝛽

(3.1)

Phương trình thể hiện mối quan hệ giữa p và p’ khi robot di chuyển quay

𝑝′𝑥𝑝′𝑦

độ ban đầu mà không phụ thuộc nhiều vào điểm mốc, điểm mốc chỉ đóng vai trò kiểm tra lại vị trị khi sai số của các thông số trong khi di chuyển lớn

iii) Định vị trí theo phương pháp theo vết đường dẫn

Robot di chuyển trong môi trường dựa vào đường dẫn trên đường đi, các đường dẫn này được thiết lập sẵn và nhiệm vụ của robot sẽ dò theo đường dẫn để di chuyển như trong hình 3.3

Hình 3.3 Mô hình robot di chuyển theo đường dẫn

Khuếch đại Sensor

Bộ phát hiện sai lệch

Động

Trang 33

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

24

Để có thể xác định được vị trí thì các điểm mốc được thêm vào trong môi trường Những điểm mốc này có thể là cửa ra vào, cửa sổ hoặc đơn giản hơn là các mã vạch được gắn trên tường như trong hình 3.4 Nhược điểm của phương pháp này là robot phụ thuộc nhiều vào đường dẫn

3.1.2 Định hướng dựa trên xây dựng bản đồ

Trong cách tiếp cận này thì robot không được cung cấp bản đồ trước mà phải tự xây dựng bản đồ dựa trên các thông tin lấy từ cảm biến Không gian ba chiều của môi trường được vẽ lại dưới dạng bản đồ mắt lướt 2 chiều, mỗi ô mắt lưới có kích thước xác định và một giá trị xác xuất biểu thị xác xuất vật thể chiếm không gian trong ô mắt lướt này [8] Giá trị xác xuất được tính bằng tần suất xuất hiện của vật thể tại một ô mắt lưới trong quá trình di chuyển của robot dựa trên dữ liệu đo được từ cảm biến

Bản đồ mắt lưới mà robot tự xây dựng thì mỗi mắt lưới có tọa độ nhất định vì thế

mà robot dễ dàng định vị trí và hướng di chuyển Song với phương pháp này thì robot phải mất nhiều thời gian ban đầu để tự xây dựng nên bản đồ về môi trường xung quanh Trong hình 3.5 miêu tả bản đồ môi trường mà robot tự xây dựng

Hình 3.4 Điểm mốc dạng mã vạch [4]

Trang 34

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

25

Hình 3.5 Bản đồ môi trường (a) bản đồ lý tưởng (b) bản đồ do robot xây dựng

3.1.3 Định hướng không dựa trên bản đồ

Thông thường robot phải được cung cấp bản đồ hoặc tự xây dựng bản đồ trong quá trình di chuyển Đối với cách tiếp cận này thì robot không sử dụng bản đồ mà thông qua quan sát và trích xuất thông tin thích hợp về môi trường và những vật thể trong môi trường Phương pháp chủ yếu là dò tìm và phát hiện, robot tự định vị trí của mình so với những vật thể phát hiện được trong môi trường Định hướng không dựa trên bản đồ có 3 phương pháp tiếp cận sau:

Santos Victor và các đồng sự đã phát triển hệ thống dựa trên chuyển động quang học bắt chước hệ thống thị giác của loài ong [9] Đối với các loài côn trùng như loài ong thì cơ chế định hướng dựa trên đặc điểm chuyển động tốt hơn là sử dụng thông tin độ sâu bởi vì vùng hai mắt quá hẹp nên khả năng nhận biết khoảng cách của chúng khá ngắn Phương pháp định hướng sử dụng chuyển động thị giác cũng có cơ chế như vậy Khi robot di chuyển sự sai biệt giữa vận tốc của ảnh bên camera trái

và camera phải là bằng không, nếu hai vận tốc khác nhau thì robot di chuyển về phía có vận tốc ảnh thay đổi nhỏ hơn như hình 3.6

Trang 35

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

26

Hình 3.6 Mô tả phương pháp định hướng dựa trên chuyển động quang học

Tại một điểm ảnh tọa độ là (𝑥, 𝑦) và vào thời điểm t có cường độ sáng là 𝐼(𝑥, 𝑦, 𝑡), thì phương trình chuyển động thị giác của điểm ảnh:

Phương trình so sánh giữa hai vận tốc ảnh ở hai camera :

Tuy nhiên đối với phương pháp này nếu di chuyển trong hành lang thì phải có vân

bề mặt trên tường nghĩa là bề mặt hai bên tường phải không đồng nhất, vì nếu đồng nhất sẽ không thể tính được độ dịch chuyển của điểm ảnh do các điểm ảnh đều đồng nhất về cường độ sáng trong chuỗi khung ảnh

Trang 36

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

27

ii) Định hướng sử dụng nhận dạng diện mạo (Appearance based matching)

Phương pháp định hướng sử dụng nhận dạng diện mạo sử dụng “ký ức” về môi trường của robot [10] Robot sẽ lưu trữ hình ảnh mẫu về môi trường thông qua chuỗi hình ảnh được học trước đó Sau đó robot sẽ di chuyển trong môi trường và

so sánh giữa hình ảnh hiện tại và chuỗi hình ảnh trong bộ nhớ để xác định vị trí cũng như hướng di chuyển như minh họa trong hình 3.7 Robot sử dụng thuật toán template matching cho việc so sánh giữa ảnh thu thập và chuỗi ảnh nhớ

Phương pháp này mô phỏng lại cách thức gợi nhớ hình ảnh trong não người song đối với robot thì điều này là phức tạp và tốn dung lượng bộ nhớ để lưu trữ

iii) Định hướng sử dụng nhận dạng vật thể (Object recognition)

Khác với phương pháp nhận dạng diện mạo thì phương pháp nhận dạng vật thể không dựa vào chuỗi ảnh mẫu mà robot học mà dựa vào ký hiệu của mệnh lệnh được đưa ra kết hợp với việc nhận dạng vật thể ví dụ như “Đi tới cái bàn ở phía trước” hoặc “Đi thẳng, rẽ trái và sau đó dừng lại ở cửa trước mặt” Robot sẽ phân tích mệnh lệnh dựa vào ký tự trong câu lệnh thành hai thành phần là hướng di chuyển và vật mốc

Hình 3.7 Định hướng dựa trên nhận dạng diện mạo [4]

Trang 37

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

28

Hướng di chuyển có thể là đi thẳng, rẽ trái, rẽ phải và được sắp xếp theo trình tự theo mệnh lệnh, robot sử dụng nhận dạng vật thể đề phát hiên vật mốc được nhăc đến trong câu lệnh Việc nhận dạng dựa vào đặc điểm chung của vật thể, ví dụ như cái ghế thì sẽ có nhiều dạng ghế khác nhau nhưng đặc điểm chung nhất là về hình dáng ghế thường có 4 chân [11]

Phương pháp Bug là phương pháp tránh vật cản cơ bản nhất, đây là phương pháp

mô phỏng theo sự di chuyển của loài kiến [12] Theo đó, khi robot di chuyển và gặp chướng ngại vật trên đường đi thì robot sẽ di chuyển vòng quanh vật cản Sau khi di chuyển hết một vòng chu vi vật cản robot sẽ xác định vị trí điểm nằm trên đường chu vi gần nhất với điểm đích, tại điểm này robot sẽ di chuyển thoát ra và đi về điểm đích như trong hình 3.8a Tuy nhiên phương pháp này lại không hiệu quả như mong muốn nên đã có một số cải thiện và tạo ra phương pháp Bug2 Trong phương pháp Bug2 thì điểm thoát của robot là giao điểm giữa đường di chuyển quanh vật cản và điểm nối giữa điểm xuất phát và điểm đích như trong hình 3.8b

Hình 3.8 Phương pháp tránh vật cản Bug

Trang 38

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

29

3.2.2 Phương pháp Potential Field

Trong phương pháp Potential Field được đề xuất bởi Khatib, thì robot được xem là một chất điểm di chuyển trong môi trường mà trong đó chất điểm này chịu tác động của trường lực ảo được tạo ra bởi đích và các vật cản [13] Trong đó, trường lực tạo

ra bởi đích gọi là trường lực hút và trường lực đẩy được tạo ra từ các vật cản Trường lực được biểu diễn bằng những vecto lực và tùy vào vị trí của robot so với đích và vật cản mà vecto lực có độ lớn và hướng khác nhau

Trường lực hút được hút thể hiện tương quan về vị trí giữa đích và các điểm vị trí robot trong môi trường như trong hình 3.9 Vi trí robot càng xa đích thì độ lớn của vecto lực hút càng lớn và ngược lại

Hàm thế năng của trường lực hút được được định nghĩa dưới dạng hàm parabol:

𝑈𝑎𝑡𝑡(𝑞) = 1

Trong đó, 𝑘𝑎𝑡𝑡 là hê số tỷ lệ dương và 𝑑𝑔𝑜𝑎𝑙 là khoảng cách từ điểm đích tới robot

Hàm thế năng là không âm và có giá trị cực tiểu khi robot ở vị trí đích khi đó

𝑈𝑎𝑡𝑡(𝑞) = 0

Hình 3.9 Trường lực hút biểu diễn dưới dạng biểu đồ điểm và vecto lực

Trang 39

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

30

ii) Trường lực đẩy

Trường lực đẩy thể hiện mối tương quan về vị trí giữa robot và vật cản như trong hình 3.10 Vecto lực đẩy có độ lớn càng lớn khi robot di chuyển gần đến vật cản và nhỏ dần khi robot di chuyển ra xa vật cản Tuy nhiên, vecto lực đẩy không ảnh hưởng đến sự di chuyển của robot khi robot có khoảng cách đủ xa so với vật cản

Do đó hàm thế năng của trường lực đẩy được định nghĩa:

với vật cản và tiến đến vô cùng khi nằm trong vùng vật cản Khi Robot tiến ra xa vật cản với khoảng cách lớn hơn 𝑑0 thì trường thế đẩy tiến về giá trị 0

Hình 3.10 Trường lực đẩy biểu diễn dưới dạng biểu đồ điểm

Trang 40

3 Các Phương Pháp Quy Hoạch Quỹ Đạo Cho Robot

liên quan đến vùng vật cản Sự ảnh hưởng của thế năng hút sẽ kéo robot về hướng mục tiêu, trong khi thế năng đẩy sẽ đẩy robot ra khỏi vật cản Vecto của lực ảo 𝐹(𝑞) được cho bởi gradient của vecto 𝑈:

𝜕𝑞 (3.8)

và Frep q = −∇Urep của thế năng đẩy

𝐹 𝑞 = 𝐹𝑎𝑡𝑡 𝑞 + 𝐹𝑟𝑒𝑝 𝑞 (3.9) Lực 𝐹 là lực dẫn của robot, hướng của lực 𝐹 là hướng di chuyển của robot và cường

độ lực thể hiện tốc độ của robot như hình 3.11

Hình 3.11 Tổng hợp lực ảo tác động lên robot

Ngày đăng: 07/12/2021, 16:53

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] S. Y. Nof, "Handbook of industrial robotics," John Wiley and Sons, 1999, p. 1348 Sách, tạp chí
Tiêu đề: Handbook of industrial robotics
[2] P. T. Cát, “Xu thế pha ́t triển Robot trên thế giới và tình hình nghiên cƣ́u Robot ở Viê ̣t Nam hiê ̣n nay ” Tạp chí tự động hóa ngày nay, vol. 123, no. 7, pp. 62 - 72, 2011 Sách, tạp chí
Tiêu đề: Xu thế phát triển Robot trên thế giới và tình hình nghiên cƣ́u Robot ở Viê ̣t Nam hiê ̣n nay ” "Tạp chí tự động hóa ngày nay
[3] R. Szeliski, "Computer Vision: Algorithms and Applications," Texts in Computer Science, Springer, 2011, p. 812 Sách, tạp chí
Tiêu đề: Computer Vision: Algorithms and Applications
[4] G. N. DeSouza, and A. C. Kak, “Vision for mobile robot navigation: a survey,” IEEE trans.on Pattern Analysis and Machine Intelligence, vol. 24, no. 2, pp. 237 - 267, 2002 Sách, tạp chí
Tiêu đề: Vision for mobile robot navigation: a survey,” "IEEE trans.on Pattern Analysis and Machine Intelligence
[5] D. Kim, and R. Nevatia, “Representation and Computation of the Spatial Environment for Indoor Navigation,” Proc. Int’l Conf.Computer Vision and Pattern Recognition, pp. 475-482, 1994 Sách, tạp chí
Tiêu đề: Representation and Computation of the Spatial Environment for Indoor Navigation,” "Proc. Int’l Conf.Computer Vision and Pattern Recognition
[6] S. Atiya, and G. D. Hager, “Real-Time Vision-Based Robot Localization,” IEEE Trans. Robotics and Automation, vol. 9, no. 6, pp. 785 - 800, Dec.1993 Sách, tạp chí
Tiêu đề: Real-Time Vision-Based Robot Localization,” "IEEE Trans. Robotics and Automation
[7] A. Kosaka, and A. C. Kak, “Fast Vision-Guided Mobile Robot Navigation Using Model-Based Reasoning and Prediction of Uncertainties,” Computer Vision, Graphics, and Image Processing - Image Understanding, vol. 56, no.3, pp. 271-329, 1992 Sách, tạp chí
Tiêu đề: Fast Vision-Guided Mobile Robot Navigation Using Model-Based Reasoning and Prediction of Uncertainties,” "Computer Vision, Graphics, and Image Processing - Image Understanding
[8] H. P. Moravec, “The Stanford Cart and the CMU Rover,” Proc. IEEE Journal of Robotics and Automation, vol. 71, no. 7, pp. 872-884, 1983 Sách, tạp chí
Tiêu đề: The Stanford Cart and the CMU Rover,” "Proc. IEEE Journal of Robotics and Automation
[9] Santos-Victor, G. Sandini, F. Curotto et al., “Divergent Stereo for Robot Navigation: Learning from Bees,” Proc. IEEE CS Conf. Computer Vision and Pattern Recognition, 1993 Sách, tạp chí
Tiêu đề: et al.", “Divergent Stereo for Robot Navigation: Learning from Bees,” "Proc. IEEE CS Conf. Computer Vision and Pattern Recognition
[10] T. Ohno, A. Ohya, and S. Yuta, “Autonomous Navigation for Mobile Robots Referring Pre-Recorded Image Sequence,” Proc. IEEE Int’l Conf. Intelligent Robots and Systems, vol. 2, pp. 672-679, 1996 Sách, tạp chí
Tiêu đề: Autonomous Navigation for Mobile Robots Referring Pre-Recorded Image Sequence,” "Proc. IEEE Int’l Conf. Intelligent Robots and Systems
[11] D. Kim, and R. Nevatia, “Recognition and Localization of Generic Objects for Indoor Navigation Using Functionality,” Image and Vision Computing, vol. 16, no. 11, pp. 729-743, 1998 Sách, tạp chí
Tiêu đề: Recognition and Localization of Generic Objects for Indoor Navigation Using Functionality,” "Image and Vision Computing
[12] V. Lumelsky, and T. Skewis, “Incorporating Range Sensing in the Robot Navigation Function,” IEEE Transactions on Systems, Man, and Cybernetics, vol. 20, pp. 1058–1068, 1990 Sách, tạp chí
Tiêu đề: Incorporating Range Sensing in the Robot Navigation Function,” "IEEE Transactions on Systems, Man, and Cybernetics

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Một số loại robot đã và đang được nghiên cứu. - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 1.1. Một số loại robot đã và đang được nghiên cứu (Trang 11)
Hình 2.1. Mối tương quan giữa thị giác máy tính và các lĩnh vực khác(nguồn: - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 2.1. Mối tương quan giữa thị giác máy tính và các lĩnh vực khác(nguồn: (Trang 15)
Hình 2.2. Một số thuật toán của thị giác máy tính [3] . - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 2.2. Một số thuật toán của thị giác máy tính [3] (Trang 17)
Hình 2.3. Một số ứng dụng của thị giác máy tính. (a) xe tự hành thám hiểm sao - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 2.3. Một số ứng dụng của thị giác máy tính. (a) xe tự hành thám hiểm sao (Trang 19)
Hình 2.5. Cấu trúc cơ bản của OpenCV. - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 2.5. Cấu trúc cơ bản của OpenCV (Trang 22)
Hình 2.8. Thuật toán nhận dạng khuôn mặt. - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 2.8. Thuật toán nhận dạng khuôn mặt (Trang 27)
Hình 2.9 là kết quả chương trình ứng dụng nhận dạng khuôn mặt người trong ảnh. - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 2.9 là kết quả chương trình ứng dụng nhận dạng khuôn mặt người trong ảnh (Trang 27)
Hình 3.1. Bản đồ môi trường với những điểm mốc bằng hình tròn [6]. - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 3.1. Bản đồ môi trường với những điểm mốc bằng hình tròn [6] (Trang 31)
Hình 3.6. Mô tả phương pháp định hướng dựa trên chuyển động quang học. - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 3.6. Mô tả phương pháp định hướng dựa trên chuyển động quang học (Trang 35)
Hình 3.7. Định hướng dựa trên nhận dạng diện mạo [4]. - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 3.7. Định hướng dựa trên nhận dạng diện mạo [4] (Trang 36)
Hình 3.10. Trường lực đẩy biểu diễn dưới dạng biểu đồ điểm. - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 3.10. Trường lực đẩy biểu diễn dưới dạng biểu đồ điểm (Trang 39)
Hình 3.18. Cấu trúc hình học của vật thể. (a) ảnh ban đầu. (b) Ảnh đạo hàm.(c) Kết - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 3.18. Cấu trúc hình học của vật thể. (a) ảnh ban đầu. (b) Ảnh đạo hàm.(c) Kết (Trang 48)
Hình 3.19. Biểu diễn vật thể trong không gian đa điểm (nguồn: - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 3.19. Biểu diễn vật thể trong không gian đa điểm (nguồn: (Trang 49)
Hình 3.20. Ảnh và biểu đồ màu không gian ba chiều của vật mẫu [16]. - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 3.20. Ảnh và biểu đồ màu không gian ba chiều của vật mẫu [16] (Trang 50)
Hình 3.21. So sánh vật thể trong hai hình sử dụng đặc điểm cục bộ. - (Luận văn thạc sĩ) quy hoạch quỹ đạo cho robot di động dựa trên thị giác máy tính
Hình 3.21. So sánh vật thể trong hai hình sử dụng đặc điểm cục bộ (Trang 51)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w