i

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

LÊ THỊ THÚY NGA

ỔN ĐỊNH VÀ ĐIỀU KHIỂN ĐA NHIỆM

HỆ THỐNG ROBOT BẦY ĐÀN

LUẬN ÁN TIẾN SĨ KỸ THUẬT

HÀ NỘI- 2016

ii

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

TRƢỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

LÊ THỊ THÚY NGA

ỔN ĐỊNH VÀ ĐIỀU KHIỂN ĐA NHIỆM

HỆ THỐNG ROBOT BẦY ĐÀN

Chuyên ngành: Kỹ thuật điều khiển và tự động hóa

Mã số: 62.52.02.16

LUẬN ÁN TIẾN SĨ KỸ THUẬT

NGƢỜI HƢỚNG DẪN KHOA HỌC:

1: GS.TS Lê Hùng Lân

2: PGS.TS Nguyễn Thanh Hải

HÀ NỘI- 2016

i

LỜI CAM ĐOAN

Tác giả xin cam đoan đây là công trình nghiên cứu của riêng tác giả

dƣới sự hƣớng dẫn của GS.TS Lê Hùng Lân và PGS.TS Nguyễn Thanh

Hải. Các số liệu, kết quả nêu trong luận á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 khác.

Tác giả

Lê Thị Thúy Nga

ii

LỜI CẢM ƠN

Lời đầu tiên tác giả xin chân thành cảm ơn sâu sắc tới thầy GS.TS Lê

Hùng Lân và thầy PGS.TS Nguyễn Thanh Hải đã tâm huyết hƣớng dẫn tác

giả hoàn thành luận án này.

Đặc biệt tác giả xin chân thành cảm ơn các thầy giáo, cô giáo khoa

Điện-Điện tử, Phòng đào tạo Sau đại học trƣờng Đại học Giao thông vận tải

đã giúp đỡ và đóng góp nhiều ý kiến quan trọng để tác giả có thể hoàn thành

luận án của mình.

Tác giả cũng xin cảm ơn sâu sắc tới thầy PGS.TS Nguyễn Văn Liễn,

thầy GS.TS Nguyễn Doãn Phƣớc và thầy TS. Nguyễn Văn Tiềm luôn động

viên, khích lệ, giúp đỡ và tạo mọi điều kiện để tác giả thực hiện thành công

luận án này.

iii

MỤC LỤC

LỜI CAM ĐOAN ............................................................................................... i

LỜI CẢM ƠN ....................................................................................................ii

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ................................... vi

DANH MỤC CÁC BẢNG BIỂU .................................................................. viii

DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ ..................................................... ix

MỞ ĐẦU ............................................................................................................ 1

CHƢƠNG I

TỔNG QUAN VỀ ỔN ĐỊNH ROBOT BẦY ĐÀN .......................................... 5

1.1 Khái niệm robot bầy đàn ......................................................................... 5

1.2 Các nghiên cứu tổng quan về robot bầy đàn ........................................... 7

1.3 Các mô hình toán học của robot bầy đàn .............................................. 16

1.3.1 Mô hình động học chất điểm ........................................................... 16

1.3.2 Mô hình động lực học ...................................................................... 19

1.4 Tổng quan về ổn định robot bầy đàn .................................................... 20

1.4.1 Khái niệm ổn định robot bầy đàn .................................................... 20

1.4.2 Các dạng hàm hút/đẩy ...................................................................... 21

1.5 Các vấn đề còn tồn tại và đề xuất giải pháp mục tiêu của luận án ....... 25

1.6 Nội dung và phƣơng pháp nghiên cứu mới .......................................... 25

Kết luận chƣơng 1 ....................................................................................... 26

CHƢƠNG II

PHÂN TÍCH ỔN ĐỊNH ROBOT BẦY ĐÀN SỬ DỤNG HÀM HÚT/ĐẨY

MỜ.................................................................................................................... 27

2.1 Cơ sở logic mờ ...................................................................................... 27

iv

2.2. Xây dựng hàm hút/đẩy mờ cho bài toán tụ bầy ................................... 29

2.3. Ổn định robot bầy đàn sử dụng hàm hút/đẩy mờ ............................... 35

2.3.1 Ổn định robot bầy đàn với mô hình toán học cơ bản ...................... 35

2.3.2 Ổn định bầy đàn với mô hình toán học có hệ số tƣơng tác ............. 39

Kết luận chƣơng 2 ....................................................................................... 44

CHƢƠNG III

ĐIỀU KHIỂN ROBOT BẦY ĐÀN DỰA TRÊN NGUYÊN LÝ ĐIỀU

KHIỂN HÀNH VI KHÔNG GIAN NULL VÀ LOGIC MỜ………………45

3.1 Đặt vấn đề ............................................................................................. 45

3.2 Khái niệm không gian Null ................................................................... 48

3.3 Điều khiển hành vi robot bầy đàn dựa trên không gian Null ................ 50

3.4 Thuật toán điều khiển hành vi robot bầy đàn dựa trên nguyên lý NSB và

logic mờ....................................................................................................... 54

3.5. Phân tích sự ổn định của robot bầy đàn theo kỹ thuật NSB và logic

mờ.. .............................................................................................................. 57

Kết luận chƣơng 3: ...................................................................................... 62

CHƢƠNG IV

KIỂM NGHIỆM CÁC THUẬT TOÁN BẰNG MÔ PHỎNG VÀ TRÊN HỆ

THỐNG THỰC ................................................................................................ 63

4.1 Kiểm nghiệm thuật toán bằng mô phỏng .............................................. 63

4.1.1 Xây dựng hàm hút/đẩy mờ .............................................................. 63

4.1.2 Mô phỏng quá trình hội tụ của robot bầy đàn với mô hình toán học

cơ bản ........................................................................................................ 65

4.1.3 Mô phỏng quá trình hội tụ của robot bầy đàn với mô hình toán học

có hệ số tƣơng tác ..................................................................................... 70

v

4.1.4 Mô phỏng quá trình tránh vật cản, tìm kiếm mục tiêu của robot bầy

đàn dựa trên nguyên lý NSB và logic mờ ................................................. 73

4.2 Kiểm nghiệm trên robot thực ................................................................ 81

4.2.1 Robot e – puck ................................................................................. 81

4.2.2 Bài toán tụ bầy ................................................................................. 84

Kết luận chƣơng 4: ...................................................................................... 90

KẾT LUẬN VÀ KIẾN NGHỊ.......................................................................... 92

Kết luận ....................................................................................................... 92

Kiến nghị ..................................................................................................... 92

DANH MỤC CÁC CÔNG TRÌNH CÔNG BỐ CỦA TÁC GIẢ LIÊN QUAN

ĐẾN LUẬN ÁN ............................................................................................... 93

TÀI LIỆU THAM KHẢO ................................................................................ 95

PHỤ LỤC ....................................................................................................... 104

vi

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Các ký hiệu:

STT Ký hiệu Đơn Ý nghĩa

vị

Không gian Euclide n chiều. Rn 1

Số lƣợng cá thể robot trong bầy. N 2

m Vector vị trí của robot thứ i. 3

m Vector vị trí của tâm bầy. 4

m/s Vector vận tốc của robot thứ i. 5

, A

N Vector lực tƣơng tác giữa các cá thể robot. 6 ( )

min

Giá trị lớn nhất và nhỏ nhất của độ lớn lực 7 Amax

tƣơng tác.

g(.) N Vector hàm hút/đẩy giữa các cá thể robot. 8

Giá trị lớn nhất và nhỏ nhất của độ lớn hàm 9 Gfmax, Gfmin

đẩy.

Giá trị lớn nhất và nhỏ nhất của độ lớn hàm 10 Gamax, Gamin

hút.

Hàm thuộc. 11 ( )

cm Khoảng cách thực tế giữa các cá thể robot. 12

cm Khoảng cách an toàn giữa các cá thể robot. 13

cm Khoảng cách thực tế giữa cá thể robot thứ i 14

với vật cản thứ m.

cm Khoảng cách an toàn giữa cá thể robot thứ i 15

với vật cản thứ m.

vii

16 cm Khoảng cách thực tế giữa cá thể robot thứ i

với đích.

17 cm Khoảng cách mong muốn cá thể robot thứ i

với đích.

18 Trọng số tƣơng tác giữa các cặp cá thể (i, j).

19 W Ma trận tƣơng tác.

20 L Ma trận Laplace.

n giá trị riêng của ma trận. 21 1, 2, …n

22 Vùng hội tụ của bầy đàn.

23 J Ma trận Jacobi.

24 M Số lƣợng vật cản trong môi trƣờng.

25 JT Chuyển vị của ma trận J.

26 J+ Ma trận giả nghịch đảo của ma trận J.

27 Hạng của ma trận J. (J)

Các chữ viết tắt:

STT Chữ viết tắt Diễn giải nội dung

1 SISO Một đầu vào – một đầu ra (Single Input Single

Output)

2 NSB Hành vi dựa trên không gian Null (Null Space

based Behavior)

SA 3 Kiến trúc phân cấp (Subsumption Architecture)

PSO 4 Tối ƣu bầy đàn (Particle Swarm Optimization)

5 TLTK Tài liệu tham khảo

viii

DANH MỤC CÁC BẢNG BIỂU

Nội dung bảng biểu Trang Số

hiệu

1.1 Các dạng hàm hút/đẩy đã đƣợc nghiên cứu 24

2.1 Một số dạng lực tƣơng tác giữa các cá thể thứ i và j dựa 33

trên logic mờ

4.1 Kết quả tính toán các thông số của quá trình tụ bầy 68

4.2 So sánh kết quả mô phỏng quá trình hội tụ của bầy với 69

mô hình Gazi và mô hình mờ cơ bản

4.3 So sánh kết quả mô phỏng trong trƣờng hợp sử dụng kỹ 81

thuật NSB và các phƣơng pháp khác

ix

DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ

Nội dung Trang Số

hiệu

1.1 5 Một số hành vi bầy đàn của các loài sinh vật trong tự

nhiên.

Ba luật trong mô phỏng của Reynold 1.2 8

Nhóm 5 robot tự di chuyển của Kelly và Keating 1.3 8

1.4 Kết quả mô phỏng thuật toán di chuyển thích nghi bầy 9

đàn với 120 robot.

Robot tụ bầy của Kube và Zhang 1.5 10

Mô phỏng hành vi tụ bầy của s-bot 1.6 10

1.7 Hành vi tụ bầy của nhóm robot gián của Garnier đề xuất 11

1.8 (a) 5 robot c ng nhau tìm vũng nƣớc tràn. (b) Robot thực 11

hiện nhiệm vụ bảo vệ.

Kiểm tra tua bin sử dụng robot bầy đàn Alice 1.9 12

Mẫu robot S-bot và vận chuyển theo nhóm 1.10 14

Các robot k o thanh 1.11 14

Robot tìm mồi Mataric 1.12 15

Các robot tìm kiếm và thu gom rác thải 1.13 15

Mờ hóa tín hiệu đầu vào của bộ điều khiển mờ 2.1 31

Mờ hóa tín hiệu đầu ra của bộ điều khiển mờ 2.2 31

2.3 38 Đồ thị tổng hợp

Kiến trúc SA, robot bầy đàn thực hiện ba nhiệm vụ: 3.1 46

x

khám phá, đi lang thang, tránh vật cản

47 Giản đồ cấu trúc phân tán cho điều hƣớng tự động 3.2

49 3.3 Giản đồ xác định không gian Null NJ

50 3.4 Sơ đồ khối tổng hợp vector vận tốc của cá thể robot thứ i

51 3.5 Giản đồ tổng hợp vận tốc theo phƣơng pháp NSB khi

robot i thực hiện ba nhiệm vụ

4.1 Cấu trúc bộ mờ tính toán lực hút/đẩy giữa các cá thể 63

robot.

4.2 Hàm thuộc tín hiệu đầu vào (a) và tín hiệu đầu ra (b) của 64

bộ mờ f(.)

4.3 Mối quan hệ giữa tín hiệu vào và tín hiệu ra của bộ mờ 64

f(.)

4.4 Lƣu đồ thuật toán mô phỏng quá trình hội tụ của robot 66

bầy đàn.

67 4.5 Quá trình hội tụ của robot bầy đàn với mô hình cơ bản.

69 4.6 Quá trình hội tụ của robot bầy đàn với mô hình [57]

70 4.7 Quá trình hội tụ của robot bầy đàn với mô hình truyền

thông khi số lƣợng N robot trong bầy thay đổi

4.8 Quá trình hội tụ của robot bầy đàn với mô hình có hệ số 71

tƣơng tác tƣơng ứng với ma trận liên kết (a),

(b) và W35(c).

4.9 Quá trình hội tụ của robot bầy đàn tƣơng ứng với các 72

trƣờng hợp số lƣơng robot trong bầy và khả năng tƣơng tác giữa các cá thể thay đổi

4.10 Lƣu đồ thuật toán mô phỏng robot bầy đàn tránh vật cản 74

a và tìm kiếm mục tiêu

xi

4.10 Lƣu đồ thuật toán mô phỏng robot bầy đàn tránh vật cản 75

b và tìm kiếm mục tiêu

4.10 Lƣu đồ thuật toán mô phỏng robot bầy đàn tránh vật cản 76

c và tìm kiếm mục tiêu

4.11 Quá trình mô phỏng robot bầy đàn di chuyển tìm kiếm 77

đích với là xác định âm và là xác định dƣơng khi

số lƣợng robot trong bầy thay đổi.

4.12 Kết quả mô phỏng sự ổn định của quá trình tụ bầy robot 77

bầy đàn

4.13 Quá trình mô phỏng robot bầy đàn di chuyển tìm kiếm 78

đích khi chỉ có hệ số thay đổi

79 4.14 Quá trình mô phỏng robot bầy đàn di chuyển tìm kiếm

đích khi các hệ số và thay đổi

4.15 Quá trình mô phỏng robot bầy đàn di chuyển tìm kiếm 80

đích với là xác định dƣơng hoặc là xác định âm

4.16 Cảm biến và cơ cấu chấp hành của robot e-puck 82

4.17 (a) 8 cảm biến khoảng cách (IR0†IR7), (b) vị trí của 3 83

micro (MIC0÷ MIC2)

4.18 83 Cấu trúc phần cứng của e – puck

4.19 85 Sơ đồ khối hệ thống điều khiển e - puck

4.20 85 Sơ đồ biểu diễn khoảng cách và góc lệch  của e –

puck

4.21 86 Lƣu đồ thuật toán điều khiển e - puck

4.22 87 Lƣu đồ thuật toán điều khiển e - puck quay

4.23 87 Lƣu đồ thuật toán điều khiển e - puck hút/đẩy

xii

Quá trình hội tụ của 3 robot e - puck 89 4.24

Quá trình hội tụ của 4 robot e - puck 90 4.25

1 MỞ ĐẦU

Giới thiệu tóm tắt luận án

Luận án đi sâu nghiên cứu sự ổn định tụ bầy của robot bầy đàn, đặc biệt là

cơ chế hợp tác giữa các cá thể robot trong bầy, để từ đó đƣa ra giải pháp thiết kế

bộ mờ tính toán lực tƣơng tác giữa các cá thể, nhằm nâng cao chất lƣợng điều

khiển ổn định robot bầy đàn. Cụ thể, nội dung của luận án gồm 4 chƣơng:

- Chƣơng 1: Trình bày tổng quan về robot bầy đàn, tổng hợp các kết quả nghiên

cứu liên quan đến ổn định robot bầy đàn, ƣu nhƣợc điểm của các nghiên cứu. Từ

đó đề xuất các phƣơng hƣớng giải quyết: Xây dựng hàm hút/đẩy giữa các cá thể

robot dựa trên cơ sở logic mờ.

- Chƣơng 2: Trình bày cơ sở khoa học và mô hình toán của robot bầy đàn, xây

dựng hàm tính toán lực hút/đẩy dựa trên cơ sở logic mờ. Đồng thời chƣơng 2 đã

chứng minh đƣợc tính ổn định của quá trình hội tụ nhờ lý thuyết Lyapunov trong

hai trƣờng hợp: mô hình bầy đàn cơ bản và mô hình bầy đàn có x t đến khả năng

tƣơng tác giữa các cá thể trong bầy.

- Chƣơng 3: Đƣa ra giải pháp điều khiển robot bầy đàn tìm kiếm đích và tránh

vật cản dựa trên kỹ thuật điều khiển hành vi không gian Null, đồng thời chứng

minh sự ổn định của bầy đàn dựa trên cơ sở lý thuyết Lyapunov.

- Chƣơng 4: Xây dựng mô hình tính toán lực hút/đẩy mờ và thực hiện mô phỏng

hệ thống trên phần mềm Matlab để kiểm chứng các kết quả đã nghiên cứu ở

chƣơng 2 và chƣơng 3.

Kết luận và một số vấn đề cần nghiên cứu tiếp.

Lý do chọn đề tài

Ngày nay, robot học đã đạt đƣợc rất nhiều thành tựu to lớn trong công

nghiệp sản xuất cũng nhƣ trong đời sống xã hội. Có những công việc mà con

ngƣời không thể trực tiếp tham gia thực hiện đƣợc thì sử dụng robot là một giải

2 pháp hữu hiệu. Robot bầy đàn sử dụng số lƣợng lớn các robot tƣơng đối đơn

giản để thực hiện nhiệm vụ mà một robot đơn không thể thực hiện đƣợc hoặc

thực hiện không hiệu quả, dựa trên cơ chế hợp tác giữa các cá thể giống hành vi

của các loài vật sống thành bầy, thành đàn. Robot bầy đàn có thể đƣợc ứng dụng

trong: tìm kiếm vật bị thất lạc, làm sạch, rà soát bom mìn hoặc thu thập thông

tin.

Tuy nhiên, khi sử dụng số lƣợng lớn các robot cùng thực thi một nhiệm vụ

thì khả năng va chạm giữa các cá thể là rất lớn và điều đó có thể dẫn đến các

robot rất dễ bị hƣ hỏng. Mặt khác, trong quá trình thực thi nhiệm vụ, các robot

cũng có thể bị tách ra khỏi bầy và thất lạc. Do vậy, việc xây dựng cơ chế phối

hợp giữa các cá thể robot trong bầy với nhau sao cho cấu trúc bầy đàn luôn đƣợc

duy trì là rất quan trọng. Điều đó phụ thuộc vào hành vi của từng cá thể, mà hành

vi của mỗi cá thể lại luôn bị chi phối bởi sự tƣơng tác của nó với các cá thể khác

trong bầy và với môi trƣờng.

Từ những lý do trên cho thấy việc nghiên cứu và đề xuất giải pháp điều

khiển ổn định robot bầy đàn là rất cần thiết cho lĩnh vực robot ngày nay, vì vậy

tác giả chọn đề tài: “Ổn định và điều khiển đa nhiệm hệ thống robot bầy đàn” để

thực hiện luận án của mình.

Mục đích nghiên cứu

Mục đích nghiên cứu của luận án là nghiên cứu sự ổn định và điều khiển

robot bầy đàn trên cơ sở sử dụng logic mờ. Việc áp dụng logic mờ để tính toán

lực tƣơng tác giữa các cá thể robot trong bầy phải đảm bảo đƣợc: các robot phải

hút lại gần nhau khi chúng ở khoảng cách xa và đẩy nhau ra xa khi chúng ở

khoảng cách gần, mục đích của việc điều khiển ở đây là giữ cho khoảng cách

giữa các cặp robot trong bầy luôn ổn định ở giá trị an toàn (không bị va chạm và

không làm phân tách nhóm). Trong luận án tác giả đi sâu vào thiết kế bộ mờ tính

3 toán lực hút/đẩy giữa các cá thể robot và phân tích sự ổn định của bầy đàn khi

ứng dụng bộ hút/đẩy mờ.

Nội dung tiếp theo trong luận án, tác giả đề xuất giải pháp điều khiển

robot bầy đàn tránh vật cản và tìm kiếm mục tiêu dựa trên kỹ thuật điều khiển

hành vi không gian Null kết hợp với logic mờ.

Đối tƣợng và phạm vi nghiên cứu

- Đối tƣợng nghiên cứu là một nhóm robot đƣợc liên kết với nhau.

- Phạm vi nghiên cứu: Nghiên cứu phát triển thuật toán tính toán lực hút/đẩy mờ

giữa các cá thể robot trong bầy. Ứng dụng thuật toán phát triển đƣợc cho bài

toán tụ bầy và bài toán tránh vật cản, tìm kiếm mục tiêu.

Ý nghĩa khoa học và thực tiễn của đề tài

- Ý nghĩa khoa học của đề tài là kết quả đạt đƣợc trong lĩnh vực điều khiển ổn

định sử dụng logic mờ. Đề tài đề xuất giải pháp tính toán lực tƣơng tác giữa

các cá thể robot dựa trên cơ sở logic mờ. Giải quyết vấn đề tìm kiếm tập thể

trong môi trƣờng nhiều trở ngại là rất thiết thực và hiệu quả dựa trên kỹ thuật

điều khiển hành vi không gian Null kết hợp với logic mờ. Luận án đã giải

quyết thành công cả về mặt lý thuyết lẫn mô hình mô phỏng.

- Ý nghĩa thực tiễn của đề tài là: Trong công nghệ robot, đối tƣợng điều khiển là

thƣờng là phi tuyến, vì vậy các phƣơng pháp điều khiển kinh điển thƣờng khó

đáp ứng, lúc đó logic mờ là giải pháp phù hợp nhất cho điều khiển robot bầy

đàn.

Những đóng góp của luận án

- Luận án đề xuất cấu trúc bộ logic mờ tính toán lực hút/đẩy giữa các cá thể

robot trong bầy đàn. Phát biểu và chứng minh 2 định lý về ổn định hội tụ robot

bầy đàn với hàm hút/đẩy mờ.

4 - Luận án đã đƣa ra giải pháp điều khiển robot bầy đàn thực hiện nhiều hơn một

nhiệm vụ dựa trên nguyên lý điều khiển hành vi không gian Null kết hợp với

logic mờ. Phát biểu và chứng minh một định lý về ổn định hệ thống robot bầy

đàn khi thực hiện đa nhiệm vụ là tránh vật cản và tìm kiếm mục tiêu.

5 CHƢƠNG I

TỔNG QUAN VỀ ỔN ĐỊNH ROBOT BẦY ĐÀN

Chƣơng này tập trung phân tích tổng quan về tình hình nghiên cứu trong

và ngoài nƣớc về robot bầy đàn nói chung và việc giải quyết bài toán ổn định

robot bầy đàn nói riêng. Đặt bài toán và hƣớng nghiên cứu của luận án.

1.1 Khái niệm robot bầy đàn

Bầy đàn là sự quy tụ của một số sinh vật theo nhóm, đƣợc tìm thấy rất

nhiều trong tự nhiên với nhiều loài sinh vật khác nhau nhƣ: bầy côn tr ng, đàn

kiến, đàn ong, đàn mối, đàn cá,… Hành vi bầy đàn có thể giúp thực hiện đƣợc

những nhiệm vụ vƣợt quá khả năng của từng cá thể độc lập, nhƣ loài kiến có thể

cùng nhau tha những miếng mồi lớn về tổ của chúng, loài mối có thể xây những

mô đất lớn từ b n và đất cùng với sự đòi hỏi cao về nhiệt độ và độ ẩm để bảo vệ

tổ,…nhƣ hình 1.1.

Hình 1.1. Một số hành vi bầy đàn của các loài sinh vật trong tự nhiên.

6

“Robot bầy đàn” là sử dụng số lƣợng lớn các robot tƣơng đối đơn giản để

thực hiện nhiệm vụ mà một robot đơn không thể thực hiện đƣợc hoặc thực hiện

không hiệu quả, dựa trên cơ chế hợp tác giữa các cá thể giống hành vi của các

loài vật sống thành bầy, thành đàn. Các nhà nghiên cứu đã mô hình hóa hoạt

động của robot để chúng có thể thực hiện đƣợc những nhiệm vụ có ích nhƣ tìm

kiếm vật bị thất lạc, làm sạch, rà soát bom mìn, hoặc thu thập thông tin.

Robot bầy đàn thƣờng có các đặc trƣng sau:

- Hiệu quả tính toán: Mỗi cá thể trong bầy có một bộ vi xử lý riêng vì thế khả

năng tính toán của cả bầy sẽ hiệu quả hơn so với một robot lớn chỉ có một bộ vi

xử lý.

- Tính bền vững: Hoạt động của bầy đàn vẫn diễn ra mặc dù có những cá thể bị

lỗi hoặc bị hỏng, bên cạnh đó, khi điều kiện về môi trƣờng bị thay đổi cũng

không làm ảnh hƣởng đến sự hoạt động của bầy đàn.

-Tính linh hoạt: tính linh hoạt của robot bầy đàn đƣợc thể hiện ở khả năng thích

ứng các cá thể trong bầy với sự thay đổi của môi trƣờng. Tính bền vững và tính

linh hoạt thƣờng trái ngƣợc nhau, khi có một vấn đề mới, hệ thống robot bầy

đàn cần phải linh hoạt để chuyển đổi hành vi của từng cá thể sang giải quyết

vấn đề mới, lúc này tính mạnh mẽ sẽ không còn nữa.Ví dụ, các cá nhân của

một bầy kiến có thể chung sức tìm một con đƣờng ngắn nhất để đến nguồn thức

ăn hay mang một con mồi lớn về tổ thông qua việc sử dụng các chiến lƣợc phối

hợp khác nhau.

- Khả năng mở rộng: có thể thêm vào hoặc bớt đi các cá thể robot trong bầy với

số lƣợng xác định mà không đòi hỏi phải lập trình lại. Bầy đàn có thể hoạt

động theo một phạm vi rộng trong một nhóm lớn và có thể hỗ trợ các nhóm

khác mà không làm ảnh hƣởng đến hiệu suất hoạt động của mỗi bầy. Đó chính

là cơ chế phối hợp và chiến lƣợc phát triển hệ thống robot bầy đàn, điều này

đảm bảo sự hoạt động của nhóm trong các nhóm khác.

7 - Tự tổ chức: Trong bầy đàn tất cả các robot đều có vai trò nhƣ nhau, không cần

thiết phải có robot đứng đầu.

- Chi phí thấp: mỗi cá thể robot trong bầy đàn đều có kết cấu cơ khí đơn giản và

có thể sản xuất hàng loạt vì thế chi phí cho mỗi cá thể robot là rất thấp.

1.2 Các nghiên cứu tổng quan về robot bầy đàn

Robot bầy đàn là xu hƣớng nghiên cứu mới, có nhiều triển vọng trong lĩnh

vực công nghệ robot. Với đặc th có tính trí tuệ cao mà không đòi hỏi công nghệ

chế tạo phức tạp, robot bầy đàn ngày càng đƣợc quan tâm nghiên cứu. Tuy nhiên

mỗi công trình đều đƣa ra những mục tiêu nghiên cứu riêng.

Di chuyển theo bầy là một trong những những vấn đề đƣợc nghiên cứu

nhiều nhất trong robot bầy đàn dựa trên những cơ sở sinh học chặt chẽ đã có s n.

Trong di chuyển theo bầy của đàn chim, mỗi con chim bay độc lập với đàn và

không nghĩ về dạng của đàn. Tuy nhiên nếu quan sát toàn bộ hình dạng của đàn

ta sẽ nhận thấy giống nhƣ là tất cả các con chim đã thống nhất một kế hoạch di

chuyển theo bầy. Hàng ngàn con chim có thể gắn kết với nhau thành một nhóm

c ng di chuyển và đối phó đƣợc với những trở ngại gặp phải một cách nhanh

chóng. Theo [11], năm 1987 Reynolds lần đầu tiên mô phỏng về hành vi di

chuyển theo bầy bằng chƣơng trình của mình. Trong chƣơng trình này, sự di

chuyển của mỗi cá thể tuân theo 3 luật nhƣ hình 1.2:

- Tách rời để tránh va chạm với các cá thể bên cạnh.

- Hiệu chỉnh để điều chỉnh mức trung bình của nhóm các cá thể bên cạnh.

- Gắn kết để giữ vị trí trung bình của các cá thể bên cạnh.

Với 3 luật cơ bản trên, đàn chim trong mô phỏng di chuyển cực kì phức tạp,

chuyển động của chúng giống nhƣ những gì chúng ta quan sát đƣợc trong thiên

nhiên. Sự thành công trong mô phỏng của [11] đã gây sự chú ý đối với các nhà

nghiên cứu trong lĩnh vực robot.

8

Hình 1.2. Ba luật trong mô phỏng của Reynolds

Theo tài liệu [33], năm 1996 Kelly và Keating đã chứng minh hành vi di

chuyển theo bầy sử dụng 5 robot có kích thƣớc nhỏ nhƣ hình 1.3.

Hình 1.3. Nhóm 5 robot tự di chuyển của Kelly và Keating

Mỗi robot trong hình 1.3 đƣợc trang bị một cảm biến siêu âm để phát hiện vật

cản, cộng với một hệ thống cảm biến hồng ngoại để trao đổi thông tin giữa các

robot và xác định vị trí. Việc di chuyển theo bầy gồm có 4 mức độ điều khiển:

- tránh vật cản,

- nếu không nhìn thấy cá thể nào phía trƣớc thì chính nó sẽ trở thành cá thể đầu

đàn và nhấp nháy,

- nếu đang ở trong bầy thì giữ nguyên vị trí,

- nếu nhìn thấy cá thể đầu đàn thì tăng tốc và hƣớng về phía nó.

Việc lựa chọn con đầu đàn là linh động và tất cả di chuyển theo bầy, khi gặp vật

cản chúng có thể chia thành hai đàn nhỏ và hợp lại thành một khi vƣợt qua đƣợc

vật cản đó. Trong [27], năm 2007 Hanada đã đƣa ra chiến lƣợc để mở rộng

robot bầy đàn cho ph p robot di chuyển tự động trong môi trƣờng với nhiều vật

cản, nhƣ hình 1.4.

9

Hình 1.4. Kết quả mô phỏng thuật toán di chuyển thích nghi bầy đàn với 120

robot.

Mỗi robot tự lựa chọn 2 robot bên cạnh và giữ khoảng cách với chúng thông qua

các cảm biến, sau đó thực hiện di chuyển để bầy đàn có thể chia thành nhiều

nhóm khi gặp vận cản và hợp lại thành một khối thống nhất khi vƣợt qua đƣợc

vật cản. Họ đã chỉ ra rằng thuật toán thích nghi về dịch chuyển theo bầy cho

ph p robot có sự tƣơng tác cục bộ có thể tự dịch chuyển trong môi trƣờng với

nhiều vật cản.

Các hành vi của robot bầy đàn đƣợc phân thành các nhóm điển hình sau:

- Tụ bầy

- Tìm kiếm và hội tụ

- Vận chuyển và cầm nắm

- Tìm kiếm thức ăn.

a. T ầy

Nhóm động vât và côn tr ng thƣờng có xu hƣớng tập hợp lại với nhau

thành bầy, việc tụ bầy sẽ giúp chúng tránh đƣợc k th và đối phó đƣợc với

những thay đổi của thiên nhiên. Trong các nghiên cứu về robot thì nhiệm vụ tụ

bầy thông thƣờng hƣớng tới việc tập hợp lại những nhóm robot bất kì trong môi

trƣờng thành một bầy robot. Vấn đề này có thể dễ dàng giải quyết khi sử dụng

phƣơng pháp điều khiển tập trung, tuy nhiên khi áp dụng với robot bầy đàn thì

10 đây là một thách thức lớn bởi vì mỗi hệ thống đều bị phụ thuộc vào ngƣỡng cho

ph p, thêm vào đó dữ liệu từ các cảm biến thì thƣờng bị nhiễu và không r ràng.

Một trong những ứng dụng đầu tiền về hành vi tụ bầy của robot đƣợc đƣa ra bởi

Kube và Zhang [12]. Trong khi c ng nhau dịch chuyển thì tất cả các robot bị thu

hút bởi ánh sáng trong hộp nhƣ hình 1.5. Khi tất cả các robot tới đƣợc chỗ nguồn

sáng thì chúng sẽ tụ lại thành một bầy.

Hình 1.5. Robot tụ bầy của Kube và Zhang

Năm 2005 Soysal và Sahin [48] đƣa ra thuật toán xác suất cho chiến lƣợc

tụ bầy của s-bots nhƣ hình 1.6. Hành vi tụ bầy ở đây đạt đƣợc bằng cách kết hợp

4 hành vi cơ bản: tránh vật cản, hút, đẩy và đợi. Robot sử dụng cảm biến siêu âm

để thực hiện cơ chế hút và đẩy trong bầy. Việc chuyển tiếp từ trạng thái đẩy sang

hút và từ trạng thái đợi sang đẩy đƣợc thực hiện bằng 2 xác suất khác nhau. Họ

đƣa ra 4 chiến lƣợc điều khiển khác nhau dựa trên 2 xác suất này.

Hình 1.6. Mô phỏng hành vi tụ bầy của s-bot.

11 Cũng trong năm 2005 trong [13], nhóm tác giả đã đƣa ra nghiên cứu về hành vi

tụ bầy của bầy gián sử dụng robot Alice nhƣ hình 1.7

Hình 1.7. Hành vi tụ bầy của nhóm robot gián của Garnier đề xuất

b. Tìm kiếm và hội t

Năm 2002 Dudenhoeffer và Bruemmer [16] thực hiện mô hình hàm thế

năng trên các nhóm robot làm nhiệm vụ tìm kiếm nƣớc tràn, các robot này tìm

kiếm những vũng nƣớc tràn trong phòng, sau đó tạo thành vòng bao quanh

chúng nhƣ hình 1.8. Trong nghiên cứu của họ, những kỹ thuật thích nghi trên

robot cũng đƣợc giới thiệu để tăng sự đa dạng của nhóm, điều này giúp bỏ qua

đƣợc những khu vực không cần thiết và tránh đƣợc sai sót gặp phải trong quá

trình tìm kiếm.

Hình 1.8. Nhóm robot tìm kiếm vũng nƣớc: (a) 5 robot c ng nhau tìm vũng

nƣớc tràn. (b) Robot thực hiện nhiệm vụ bảo vệ.

12

Năm 2009 Correll và Martinoli [45] thực hiện kiểm tra tua bin của máy

bay phản lực bằng việc sử dụng các robot Alice II nhƣ hình 1.9.

Hình 1.9. Kiểm tra tua bin sử dụng robot bầy đàn Alice

Mỗi robot sẽ tìm kiếm cánh tuabin một cách ngẫu nhiên và đi quanh cánh của

tua bin. Chỉ có một tham số đƣợc đƣa ra để kiểm soát thời gian robot bao quanh

cánh tua bin. Họ sử dụng mô hình xác suất vĩ mô trong hành vi tập thể của bầy

và kết quả cho thấy thời gian hoàn thành việc kiểm tra sẽ giảm khi số lƣợng

robot tăng lên, tuy nhiên sẽ xuất hiện nhiều kiểm tra dƣ thừa nếu robot nhanh

chóng rời khỏi cánh tua bin mà nó đang kiểm tra.

c. Vận chuyển và cầm nắm

Việc vận chuyển và thao tác trên vật nặng cần thiết phải có sự hợp tác giữa

các nhóm robot. Nhiệm vụ đẩy hộp đƣợc chọn lựa sử dụng rộng rãi trong các

nghiên cứu về phƣơng pháp điều khiển phân phối robot. Hầu hết các nghiên cứu

này tập trung vào một nhóm robot cố định có kết hợp chặt chẽ trong nhiệm vụ

vận chuyển, những robot này phối hợp hoàn thành nhiệm vụ vận chuyển các đối

tƣợng với các thông tin liên lạc r ràng, hoặc đã đƣợc xác định trƣớc. Trong

[15], năm 1993 Stilwell và Bay đã phát triển hệ thống vận chuyển sử dụng nhóm

robot kiến. Ở đây một cơ chế lãnh đạo – theo sau đƣợc d ng trong chuyển động

của bầy. Các robot sẽ sử dụng thông tin về lực từ cảm biến lực gắn ở đầu để

13 nhận các tham số điều khiển. Trong [46] năm 2002, Miyata và các cộng sự sử

dụng cánh tay robot với động cơ, lò xo, giảm chấn cho những robot của họ với

để nâng đối tƣợng lớn. Các robot kết nối thông tin với nhau để c ng phối hợp di

chuyển. Một cơ chế giữ vật cũng đã đƣợc đƣa ra khi di chuyển các đối tƣợng

trong môi trƣờng có nhiều trở ngại. Năm 1999 Parker [36] giới thiệu kiến trúc

Alliance cho việc đẩy hộp, họ chứng minh rằng các nhiệm vụ vẫn có thể đƣợc

thực hiện ngay cả khi có trục trặc ở một hoặc hai robot. C ng thời gian đó

Yamada và Saito đề xuất phƣơng pháp lựa chọn hành động thích nghi mà không

cần thông tin r ràng của các robot đẩy. Các robot sẽ tạo ra dạng cụ thể trƣớc sau

đó mới tiến hành đẩy hộp. Họ cho rằng cách tiếp cận này có khả năng thích nghi

với nhiều môi trƣờng khác nhau và có thể thực hiện đƣợc những nhiệm vụ khó

khăn. Những nghiên cứu khác về vận chuyển đều đƣợc lấy cảm hứng từ các mô

hình sinh học, đặc biệt là từ đàn kiến. Năm 2000 Kube [14], mô tả việc đẩy hộp

bằng việc sử dụng nhóm các robot đồng nhất. Trong nghiên cứu của họ, 5 robot

sẽ đẩy hộp lớn tới vị trí chỉ định trƣớc có nguồn sáng. Robot sẽ thay đổi vị trí và

tạo ra liên kết với nhau cho đến khi hộp đƣợc di chuyển, điều này tƣơng tự nhƣ

việc thu mồi của kiến. Ở đây không có cơ chế liên lạc và hợp tác r ràng giữa

các robot, những robot này hoàn toàn không biết đƣợc sự hiện diện của các con

robot khác. Một nghiên cứu thú vị khác về việc vận chuyển theo nhóm đƣợc thực

hiện bởi Gro và Macro Dorigo vào năm 2004 trong dự án [49] về robot bầy đàn

nhƣ hình 1.10, những robot này không chỉ có thể đẩy đối tƣợng mà còn có thể

k o nó tới đích bằng cách sử dụng k p. Ngoài ra, robot có thể gắn kết với nhau

và tự lắp ráp thành các cấu trúc kết nối với mồi. Một bộ điều khiển mạng nơron

nhân tạo và đƣợc sử dụng để điều khiển các robot đơn l (s-bot). Họ chỉ ra rằng

bộ điều khiển cho một nhóm tƣơng đối nhỏ này có thể đƣợc áp dụng với các

nhóm khác lớn hơn để c ng hợp tác di chuyển đối tƣợng với các hình dạng và

trọng lƣợng khác nhau. Họ cũng quan sát thấy thằng hiệu suất sẽ giảm theo kích

14 thƣớc của nhóm do khó khăn về việc tự lắp ráp với cƣờng độ cao của robot. Tuy

nhiên khi hầu hết các s-bot đƣợc lắp ráp thì khả năng mở rộng của nhóm có thể

lên tới 16 robot.

Hình 1.10. Mẫu robot S-bot và vận chuyển theo nhóm.

Ngoài việc hợp tác vận chuyển 1 khối đơn, một số nhà nghiên cứu còn tập

trung vào hiệu quả của việc xử lý nhiều đối tƣợng lớn sử dụng robot bầy đàn.

Một trong những nghiên cứu đó là nghiên cứu về robot k o thả các thanh sắt

trong [8] nhƣ hình 1.11. Việc k o thanh sắt ra khỏi mặt đất đòi hỏi có sự phối

hợp giữa ít nhất là 2 robot để đạt đƣợc thành công. Trong các nghiên cứu đƣợc

đƣa ra họ đã tìm cách tối ƣu hóa các thông số của phần mềm điều khiển để các

robot trong nhóm cải thiện khả năng tƣơng tác với nhau. Mô hình xác suất vi mô

và vĩ mô cũng đƣợc nghiên cứu để dự đoán các nhóm hành vi, và do đó cũng

giúp đỡ trong việc thiết kế bộ điều khiển của từng cá thể.

Hình 1.11. Các robot k o thanh.

15

d. Tìm kiếm thức ăn

Tìm kiếm thức ăn là nhiệm vụ kinh điển đƣợc nghiên cứu rộng rãi trong

lĩnh vực robot bầy đàn. Bắt nguồn từ việc quan sát quá trình tìm kiếm thức ăn

của đàn kiến và bầy ong các nhà khoa học đã tạo ra những robot tham gia vào

nhiệm vụ tiềm kiếm thức ăn, sau đó đem chúng quay về tổ. Để thực hiện đƣợc

nhiệm vụ này, robot cần phải đƣợc ƣu tiên có s n một số khả năng cơ bản nhƣ

khả năng phân biệt đƣợc thức ăn và các trở ngại, và khả năng tìm đƣờng quay lại

tổ. Trong hầu hết các trƣờng hợp, mục tiêu (mồi) có thể đƣợc tìm kiếm bởi một

robot theo đúng thời gian, tuy nhiên với một nhóm các robot làm việc với nhau

có thể hoàn thành nhiệm vụ nhanh hơn. Nhƣng nếu kích thƣớc của nhóm không

ngừng tăng lên thì hiệu quả tìm kiếm của nhóm có thể giảm đi. Ví dụ trong một

v ng có rất nhiều các robot, r ràng sẽ không có robot nào có thể tìm đƣợc thức

ăn khi tất cả các robot đều muốn tránh va chạm với nhau. Trong trƣờng hợp này

thì thời gian để hoàn thành nhiệm vụ là vô hạn, hiệu quả hoạt động của nhóm

gần bằng 0. Bên cạnh sự can thiệp vào không gian của nhau, việc tranh giành

nguồn thức ăn có tác động tiêu cực đến hoạt động của nhóm. Đặc biệt, việc hạn

chế nguồn thức ăn có s n sẽ gây ra việc lãng phí năng lƣợng của nhóm khi tìm

mồi. Cần phải có kích thƣớc giới hạn cho nhóm để đạt đƣợc hiệu suất tối ƣu.

Những nghiên cứu về robot thực hiện nhiệm vụ tìm mồi đƣợc đƣa ra bởi

Mataric [43] nhƣ hình 1.12. Việc tìm kiếm thức ăn đƣợc thực hiện bằng cách kết

hợp các tƣơng tác cơ bản, bao gồm tránh, phân tán, tìm kiếm, dẫn đƣờng và nghỉ

ngơi.

Tƣơng tự, năm 1995 Io và các cộng sự [31] cũng sử dụng kiến trúc gộp tạo

ra một nhóm robot làm nhiệm vụ thu rác thải (hình 1.13). Những robot này sử

dụng camera để phân biệt các đối tƣợng khác nhau nhƣ: th ng rác, sọt rác và

robot khác. Việc hợp tác giữa các robot đƣợc thực hiện ngầm và chỉ sử dụng lực

16 đẩy giữa các robot, đây là kết quả của sự kết hợp giữa hành vi “tìm kiếm th ng

rác” và “tránh những vật cản tĩnh”.

Hình 1.12. Robot tìm mồi Mataric.

Hình 1.13. Các robot tìm kiếm và thu gom rác thải.

1.3 Các mô hình toán học của robot bầy đàn

1.3.1 Mô hình động học chất điểm

Theo tài liệu [57], Veysel Gazi và Kevin M. Passino đã khảo sát một bầy

gồm N cá thể, trong không gian Euclide n chiều, coi mỗi cá thể là một chất điểm

và bỏ qua kích thƣớc của chúng, vị trí của cá thể thứ i (i=1÷N) trong bầy đƣợc

miêu tả bởi . Giả thiết tất cả các cá thể chuyển động đồng thời và không

17 có thời gian trễ, lúc đó phƣơng trình chuyển động của cá thể thứ i trong bầy đƣợc

xác định bởi:

(1.1) ̇ ∑ ( )

trong đó: ̇ là tốc độ di chuyển của cá thể i, g(.) là hàm hút/đẩy giữa các cá

thể trong bầy. Phƣơng trình (1.1) đƣợc gọi là mô hình động học chất điểm hay

còn gọi là mô hình cơ bản.

Trong [38], Liangshun Wang và Huajing Fang đã xây dựng đƣợc mô hình

tƣợng trƣng cho một bầy đàn sinh học thực tế. Điều đầu tiên là mỗi cá thể chỉ có

thể cảm nhận thấy các cá thể lân cận mình. Điều thứ hai là khả năng di chuyển

của mỗi cá thể là hữu hạn và đƣợc quyết định bởi các cá thể lân cận, mô hình

toán của bầy đàn trong [38] đƣợc xây dựng nhƣ sau:

(1.2) ̇ ∑ ( )

trong đó: { ‖ ‖ }, là bán kính nhìn thấy của cá thể

thứ j, g(.) là lực hút/đẩy giữa các cá thể trong bầy, , - với

là ma trận tƣơng tác, đặc trƣng cho khả năng tƣơng tác với nhau của cặp cá thể

(i,j), giả thiết rằng , với i, j. Trong thực tế, thành phần có

thể do cấu trúc vật lý của cá thể robot thứ i hoặc khả năng tƣơng thích giữa nó

với các cá thể còn lại trong bầy chi phối.

Theo tài liệu [62], các tác giả đã xem x t mô hình bầy đàn cơ bản tƣơng tự

: dụng của nhiễu ( ) với ‖ ( ) ‖

[38] [57], đồng thời [62] cũng cung cấp thêm một mô hình bầy đàn khi có tác

̇ ∑ ( ) ( ) (1.3)

Trong tự nhiên các yếu tố gây nhiễu cho hoạt động của bầy đàn có thể do yếu tố

môi trƣờng, hoặc có thể do các bầy đàn khác tác động lên. Nhiễu này có thể là

một vector hằng số: ( )

hoặc: hàm số tuyến tính:

18 ( )

trong đó: là hằng số, là vector hằng số.

hoặc là một hàm mũ:

) ( ) ( ‖ ‖

trong đó: be là các hệ số dƣơng, ae là các vector hằng số,

là tọa độ tâm bầy.

Tài liệu [73], [59] gọi ( ) là đại lƣợng đặc trƣng cho sự chuyển động

của các cá thể trong môi trƣờng theo hƣớng giảm hàm năng lƣợng, ký hiệu

( ) là gradient của ( ) tại điểm .

Trong [73], các tác giả miêu tả mô hình toán học của bầy đàn nhƣ (1.4):

(1.4) ( ) ̇ ( ) ∑

trong đó: g(.) là hàm hút/đẩy giữa các các thể robot, g(.) là một hàm l (đối xứng

qua gốc tọa độ), đây là đặc điểm rất quan trọng của hàm g(.) để dẫn đến hành vi

tụ bầy của bầy đàn.

Trong [59] các nghiên cứu đã phân tích mô hình bầy đàn có dạng:

(1.5) ( ) ̇ ( ) ∑

trong đó: g(.) là hàm hút/đẩy giữa hai cá thể i, j trong bầy. Ký hiệu , -

là ma trận liên kết của bầy, có nghĩa là cá thể i là đối tƣợng tác

động từ cá thể j với cƣờng độ liên kết , có nghĩa rằng không có tác

động nào từ cá thể j tới i.

Trong [44], các tác giả đã xây dựng mô hình bầy đàn bám theo một đƣờng

đi cho trƣớc nhƣ sau:

̇ ∑ ( )

( ) ̇ , với i=1, 2,…N (1.6)

19

Ở đây ̇ là vị trí của cá thể thứ i, ký hiệu g(.) là hàm hút/đẩy giữa các

cá thể trong bầy. ( ) đại diện cho hàm hút của đƣờng mong muốn tới

các cá thể trong bầy, c là hằng số dƣơng a

1.3.2 Mô hình động lực học

Trong mục 1.3.1, các tác giả đã nghiên cứu sự chuyển động của các cá thể

robot dƣới hình thức động học chất điểm, chỉ giới hạn ở việc mô tả chuyển động

mà chƣa x t đến nguyên nhân gây ra chuyển động. Động lực học chất điểm

nghiên cứu tác nhân làm thay đổi chuyển động. Quan sát và nghiên cứu chuyển

động của các vật thể trong tự nhiên ta thấy các vật thể chỉ có thể chuyển động

hoặc thay đổi chuyển động khi chịu tác động của những vật khác. Về cơ học có

thể phân các lực thành hai loại: loại thứ nhất gồm các lực xuất hiện khi có tiếp

xúc giữa các vật tƣơng tác (lực đàn hồi, lực ma sát,…), loại thứ hai gồm các lực

xuất hiện khi các vật tƣơng tác không tiếp xúc với nhau (lực hút, lực đẩy,…).

Trong lĩnh vực robot bầy đàn thì lực tƣơng tác giữa các cá thể trong bầy với

nhau thƣờng là lực hút/đẩy. Lực này cũng là một vector đƣợc đặc trƣng bởi bốn

yếu tố: điểm đặt, phƣơng, chiều và độ lớn. Mô hình động lực học của robot bầy

đàn đã đƣợc trình bày trong các nghiên cứu [7], [26], [65].

Mỗi chuyển động của một robot đƣợc xem nhƣ là chuyển động của một

chất điểm trong không gian, phƣơng trình động lực học đƣợc miêu tả nhƣ sau:

{ (1.7) ̇ ̇

trong đó: ( ) và m lần lƣợt là vector vị trí, vector vận tốc và khối

lƣợng của robot thứ i trong không gian 3 chiều. Đầu vào điều khiển fi của robot i

đƣợc thiết kế bởi các lực tƣơng tác giữa robot i với: cá thể đầu đàn, các robot

láng giềng, và với chƣớng ngại vật. Theo định luật II Niuton: ̈ , tích phân

20 của gia tốc một lần chúng ta đƣợc vận tốc, hai lần chúng ta đƣợc vị trí, do đó mô

hình bầy đàn nhƣ (1.7) còn có thể đƣợc gọi là “ Mô hình tích phân k p”.

Nhận xét: Trong các mô hình toán học của robot bầy đàn đã đƣợc nghiên cứu ở

trên, mỗi mô hình đều có x t đến yếu tố khác nhau chi phối hành vi hoạt động

của bầy đàn nhƣ: tầm nhìn, khả năng tƣơng tác giữa các cá thể trong bầy đàn,

nhiễu tác động lên bầy đàn, khối lƣợng của các cá thể,…Trong nội dung luận án,

tác giả đã lựa chọn mô hình (1.1) và (1.2) làm cơ sở cho việc nghiên cứu của

mình.

1.4 Tổng quan về ổn định robot bầy đàn

1.4.1 Khái niệm ổn định robot bầy đàn

Đặc điểm của “Robot bầy đàn” là sử dụng số lƣợng lớn các robot tƣơng

đối đơn giản để thực hiện nhiệm vụ mà một robot đơn không thể thực hiện đƣợc

hoặc thực hiện không hiệu quả, hành vi bầy đàn đƣợc thực hiện dựa trên cơ chế

hợp tác giữa các cá thể. Vì vậy, khi nghiên cứu về robot bầy đàn cần phải làm

sáng tỏ cơ chế hợp tác và tính ổn định của bầy đàn. Tính ổn định ở đây đƣợc

hiểu là khả năng đảm bảo đội hình, cự ly tƣơng đối giữa các cá thể trong khi di

chuyển. Cụ thể là các cá thể trong bầy luôn di chuyển c ng nhau hƣớng tới một

mục tiêu nào đó và chúng sẽ hội tụ xung quanh mục tiêu với một bán kính xác

định. Đã có một số công trình đƣợc công bố nghiên cứu về ổn định robot bầy

đàn, chẳng hạn [7], [26], [38], [44], [52], [57], [59], [62], [65], [73]. Các công

trình này đều nghiên cứu sự ổn định bầy đàn dựa trên sự tƣơng tác giữa các cá

thể trong bầy với nhau và giữa mỗi cá thể với môi trƣờng. Sự tƣơng tác giữa các

cá thể đƣợc biểu diễn thông qua lực hút/đẩy giữa chúng.

21

1.4.2 Các dạng hàm hút/đẩy

Hàm hút/đẩy g(.) trong công thức (1.1) đƣợc Gazi [57] xác định nhƣ sau:

‖ ‖

)- (1.8) ( ) ( ), (

trong đó: a, b, c là các hằng số dƣơng và b>a, ‖ ‖ là khoảng cách giữa cá

thể i và cá thể j:

‖ ‖ √( ) ( ), ( )

g( ) là hàm hút nếu khoảng cách giữa các cá thể là lớn, là hàm

đẩy nếu khoảng cách này là nhỏ và g( )=0 khi:

)

[ ‖ ‖ √ (

Với mô hình bầy đàn nhƣ công thức (1.1), mỗi cá thể trong bầy đàn đều

phải biết đƣợc vị trí tƣơng đối của các cá thể khác trong bầy. Nhƣng trong bầy

sinh học thực tế, mỗi cá thể chỉ có thể nhìn thấy các cá thể khác nằm trong phạm

vi quan sát của mình, do đó lực hút/đẩy chỉ xảy ra đối với các cặp cá thể nhìn

thấy nhau, ngoài phạm vi ấy ra, sẽ không tồn tại lực tƣơng tác giữa chúng.

Trong [57], Gazi cũng chứng minh đƣợc với mô hình động học (1.1), hàm

hút/đẩy (1.8) các cá thể sẽ di chuyển hội tụ về khu vực một khu vực xung quanh

tâm bầy:

( ) * ‖ ‖ +

/.

trong đó: . √

Trong [38], Liangshun Wang và Huajing Fang đã xây dựng đƣợc công

thức tính hàm hút/đẩy giữa các cá thể (i, j) trong bầy nhƣ sau:

‖ ‖

)) (1.9) ( ) {

( )( (

√ (

).

22

.

trong đó: a, b, c là các hằng số dƣơng, b>a, khoảng cách an toàn

Lực hút và lực đẩy sẽ bằng nhau khi: ‖ ‖

Tâm của các cá thể trong bầy là:

Với các hàm hút/đẩy đƣợc xây dựng theo (1.9) thì các cá thể robot trong bầy

cuối cùng sẽ hội tụ về nằm trong một khu vực nhất định, là vùng bao quanh tâm bầy:

( ) { ∑‖ ‖

}

/

( ) √ 

( )√ 

. √ √

trong đó:

( ) √ 

( )√ 

. / √ {

Trong [59], Wei Li đã xây dựng hàm hút/đẩy g(.) là một hàm liên tục, nó

là hàm hút tuyến tính ở khoảng cách xa và là hàm đẩy phi tuyến nếu ở khoảng

cách gần:

( ) ( ), (‖ ‖) (‖ ‖)- (1.10)

trong đó: { với ( ) , a và b là các hằng (‖ ‖) ‖ ‖ (‖ ‖)

số dƣơng; ( ) . Bầy đàn có thể tránh va chạm vào nhau với tham số

b phù hợp. Kết quả nghiên cứu [59] đã chứng minh đƣợc rằng nếu cấu trúc tƣơng

tác giữa các cá thể trong bầy đƣợc kết nối mạnh mẽ thì tất cả các cá thể trong bầy

đều có thể nhìn thấy nhau và chúng sẽ hội tụ theo hàm mũ trong thời gian hữu

hạn. Phạm vi bầy đàn và tốc độ hội tụ đƣợc mô tả bởi các tham số riêng của bầy,

nó cho thấy mối quan hệ giữa hành vi bầy đàn và cấu trúc tƣơng tác giữa các cá

thể trong bầy:

23

} ( ) { ∑  ‖ ‖

Trong đó:  là giá trị riêng nhỏ nhất khác 0 của ma trận W.

Trong [73], hàm hút/đẩy g(.) đƣợc thiết lập nhƣ sau:

( )

( ) ( ), (‖ ‖) (‖ ‖)

- (1.11)

( )‖ ‖

( ),

trong đó: a, b, r, v,  là các hằng số tùy ý thỏa mãn điều kiện v>r>>0.

Trong [44], hàm hút/đẩy đƣợc cho bởi:

‖ ‖

- (1.12) ( ) ( ),

trong đó: a, r là các tham số dƣơng, r>a, ‖ ‖ √( ) ( ) là

‖ ‖

chuẩn Euclide, tham số a đại diện cho lực hút, đại diện cho lực đẩy.

,

Dễ dàng thấy rằng g( )=0 khi hoặc

đƣợc gọi là khoảng cách cân bằng, là khoảng cách mà tại đó lực hút và lực đẩy

cân bằng với nhau. Kết quả mô phỏng cho thấy, các cá thể trong bầy hội tụ trong

một khu vực giới hạn, sau đó chúng tiếp tục di chuyển thành nhóm theo một con

đƣờng mong muốn.

Trong công trình [7], các tác giả đã đề xuất một hƣớng nghiên cứu mới để

điều khiển một nhóm máy bay không ngƣời lái theo dõi một mục tiêu di động

nhờ vào việc kết hợp các hàm thế năng. Trong nghiên cứu này một lực hút đƣợc

tạo ra giữa các cá thể dẫn đầu nhóm và mục tiêu, lực hút này phụ thuộc vào vị trí

tƣơng đối của cá thể này với mục tiêu. Các cá thể khác trong bầy đƣợc điều

khiển bởi lực hút giữa chúng với nhau và với cá thể đầu dẫn nhóm. Do ảnh

hƣởng bởi lực tƣơng tác giữa các robot với nhau nên cơ cấu tổ chức của bầy đàn

rất ổn định và bền vững, và không thể xảy ra các va chạm trong bầy. Vấn đề

24 tránh vật cản cũng đƣợc các tác giả đề cập đến, tránh vật cản đƣợc điều khiển bởi

các lực đẩy đƣợc tạo ra xung quanh các chƣớng ngại vật, khi các các thể robot

đến gần vật cản sẽ bị đẩy ra xa.

Bảng 1.1: Một số dạng hàm hút/đẩy đã đƣợc nghiên cứu

Dạng hàm hút/đẩy Dạng đồ thị trong R2 TLTK

[57], ( ) ( ),

[38]

( )

( )- ‖ ‖

-

( )‖ ‖

[73] ( ) ( ),

‖ ‖

[44] - ( ) ( ),

Nhận xét: Đã có rất nhiều công trình nghiên cứu sự ổn định của bầy đàn,

sự ổn định này chủ yếu dựa trên cơ chế hút/đẩy giữa các cá thể trong bầy. Mỗi

công trình đƣa ra một hàm hút/đẩy khác nhau, nhƣng các hàm hút/đẩy đều là

hàm toán học tƣờng minh có tính chất: có độ lớn phụ thuộc vào khoảng cách

giữa các cặp cá thể trong bầy, khoảng cách giữa cặp cá thể (i, j) càng xa thì lực

hút càng lớn, ngƣợc lại, khoảng cách càng gần thì lực đẩy càng lớn.

25 Các công trình nghiên cứu về ổn định robot bầy đàn đều đạt đƣợc kết quả: sau

một thời gian di chuyển đủ lớn, các cá thể robot trong bầy sẽ hội tụ bao quanh

một khu vực có bán kính xác định.

1.5 Các vấn đề còn tồn tại và đề xuất giải pháp mục tiêu của luận án

Qua tổng hợp trên cho thấy số lƣợng công trình nghiên cứu về robot bầy

đàn là khá nhiều, các công trình nghiên cứu sự ổn định robot bầy đàn cũng

không ít và đã có những thành công. Tuy nhiên các nghiên cứu ở trên cũng cho

thấy rằng, hành vi bầy đàn đƣợc thiết lập dựa trên lực tƣơng tác giữa các cá thể

trong bầy với nhau và giữa mỗi cá thể với môi trƣờng. Lực tƣơng tác này đƣợc

các tác giả xây dựng thƣờng là các hàm toán học tƣờng minh, chính xác, nhƣng

lại không có cơ sở lý giải thuyết phục. Ngoài ra, do môi trƣờng hoạt động của

robot bầy đàn khá phức tạp, thƣờng xuyên thay đổi nên một mô hình toán học

tƣờng minh thƣờng rất khó đáp ứng. Vì vậy, để gần gũi hơn với logic tự nhiên,

tác giả đề xuất một mô hình bầy đàn mới, mà trong mô hình này, lực tƣơng tác

giữa các cá thể robot trong bầy đƣợc xây dựng dựa trên cơ sở logic mờ. Logic

mờ có khả năng linh động thông qua việc lựa chọn tín hiệu vào/ra, mờ hóa, luật

mờ,…, sử dụng logic mờ để sấp xỉ lực hút/đẩy có thể phản ánh đƣợc tổng quát

hơn các lực hút đẩy tƣờng minh.

1.6 Nội dung và phƣơng pháp nghiên cứu mới

Nội dung của luận án tập trung nghiên cứu sự ổn định hội tụ của robot bầy

đàn dựa trên cơ sở thiết lập bộ mờ tính toán lực hút/đẩy giữa các cá thể robot

trong bầy với nhau, điều này đƣợc trình bày trong chƣơng 2. Điều khiển robot

bầy đàn thực hiện nhiều mục tiêu nhiệm vụ dựa trên kỹ thuật điều khiển hành vi

không gian Null và logic mờ đƣợc tác giả đề cập trong nội dung chƣơng 3 của

luận án này.

26

Phƣơng pháp nghiên cứu của luận án là dựa trên các đặc điểm, tính chất

của hành vi bầy đàn để xây dựng bộ mờ tính toán lực hút/đẩy giữa các cá thể

trong bầy robot. Sau đó chứng minh tính ổn định của robot bầy đàn dựa trên lý

thuyết Lyapunov. Cuối cùng, kiểm chứng các kết quả thu đƣợc bằng mô phỏng

trên phần mềm Matlab và thuật toán đƣợc tiến hành thử nghiệm trên một mẫu

robot bầy đàn hoạt động trong môi trƣờng phòng thí nghiệm.

Kết luận chƣơng 1

Chƣơng 1 đã giải quyết đƣợc các vấn đề sau:

- Trình bày tổng quan về robot bầy đàn, chỉ ra đƣợc các hƣớng nghiên cứu về

robot bầy đàn.

- Tổng hợp các kết quả nghiên cứu liên quan đến ổn định robot bầy đàn.

- Sau khi nghiên cứu và phân tích cơ chế tụ bầy dựa trên các lực hút/đẩy tƣờng

minh, tác giả đề xuất các phƣơng án sử dụng lý thuyết điều khiển hiện đại logic

mờ để điều khiển và đánh giá ổn định của hệ thống robot bầy đàn bằng cách xây

dựng bộ mờ tính toán lực hút/đẩy giữa các cá thể trong bầy. Đồng thời đƣa ra

giải pháp điều khiển robot bầy đàn thực hiện nhiều hơn một nhiệm vụ dựa trên

nguyên lý điều khiển hành vi không gian Null và hàm hút/đẩy mờ.

27 CHƢƠNG II

PHÂN TÍCH ỔN ĐỊNH ROBOT BẦY ĐÀN SỬ DỤNG

HÀM HÚT/ĐẨY MỜ

Trong nội dung chƣơng 2, tác giả đã xem x t khả năng thay thế các hàm

hút/đẩy có mô tả toán học tƣờng minh nhƣ các nghiên cứu đã nêu trong chƣơng

1 bằng các hệ mờ đơn giản, linh hoạt và gần gũi hơn với logic tự nhiên từ đó đƣa

ra điều kiện để hệ ổn định dựa trên cơ sở lý thuyết Lyapunov.

Bộ mờ tính toán lực hút/đẩy giữa các cá thể robot trong bầy phải thỏa mãn

tiên đề: có độ lớn phụ thuộc vào khoảng cách giữa các cặp cá thể trong bầy,

khoảng cách giữa cặp cá thể (i, j) càng xa thì lực hút càng lớn, ngƣợc lại, khoảng

cách giữa các cặp cá thể (i, j) càng gần thì lực đẩy càng lớn.

2.1 Cơ sở logic mờ

Khái niệm về logic mờ đƣợc giáo sƣ L.A Zadeh công bố lần đầu tiên tại

Mỹ năm 1965, tại trƣờng đại học Berkelay, bang Califormia, Mỹ. Từ đó lý

thuyết mờ đã có nhiều phát triển và đƣợc ứng dụng rộng rãi trong lĩnh vực điều

khiển- tự động hóa.

Năm 1970, tại trƣờng đại học Mary Queen, thành phố London - Anh,

Ebrahim Mamdani đã sử dụng logic mờ để điều khiển một máy hơi nƣớc mà ông

không thể điều khiển bằng kỹ thuật cổ điển.

Tại Nhật, logic mờ đƣợc ứng dụng vào nhà máy xử lý nƣớc của hãng Fuji

Electronic vào năm 1983, hệ thống xe điện ngầm của Hitachi năm 1987. Tuy

logic mờ ra đời ở Mỹ, ứng dụng lần đầu ở Anh, nhƣng nó lại đƣợc phát triển và

ứng dụng nhiều nhất ở Nhật.

Đặc điểm cũng là ƣu điểm của điều khiển mờ là xử lý những thông tin

không chính xác hoặc không đầy đủ, đó là cách thức xử lý của bộ não con ngƣời

28 đƣợc áp dụng đƣa vào ngành kỹ thuật điều khiển. Đó cũng là điều không có

trong hệ thống lý thuyết cổ điển. Trong lý thuyết cổ điển, một phần tử chỉ có thể

có hoặc không thuộc vào một tập hợp đang x t hay nói cách khác độ phụ thuộc

của nó chỉ là 0 hoặc 1. Một tập hợp mờ trong lý thuyết mờ, độ phụ thuộc của một

phần tử có thể là giá trị bất kỳ nằm trong khoảng đơn vị [0, 1]. Nhƣ vậy, tập hợp

mờ là một khái niệm suy rộng của tập hợp kinh điển, điều đó có ý nghĩa rất lớn

trong kỹ thuật điều khiển. Chúng ta vẫn quen với việc khảo sát một hàm với một

tập xác định và một tập giá trị kinh điển, nhƣng một hàm phụ thuộc thì không thể

ánh xạ tất cả các phần tử trong tập hợp mờ, hay trong thực tế không thể giải

quyết tất cả các trƣờng hợp của một vấn đề. Cho nên đối với một tập hợp mờ thì

số lƣợng hàm phụ thuộc là không xác định và điều này nó cho phép những hệ

thống mờ có đƣợc tiện ích tối đa trong một tình huống cho trƣớc.

Khái niệm tập hợp và ánh xạ trong lý thuyết mờ rất rộng lớn nên đủ khả

năng để mô hình hoá các vấn đề thực tế phức tạp một cách đơn giản dễ hiểu. Với

các biến ngôn ngữ (thƣờng sử dụng) làm cho các vấn đề kỹ thuật có dữ liệu mơ

hồ trở nên chính xác, dễ kiểm tra. Từ đó logic mờ giúp ta có những hệ thống

điều khiển ổn định và có chi phí thấp.

Những lĩnh vực mà logic mờ đƣợc ứng dụng và đã có nhiều thành tựu:

- Điều khiển.

- Định dạng mô hình mẫu (hình ảnh, âm thanh, xử lý dữ liệu).

- Phân tích định lƣợng (nghiên cứu khoa học, quản lý).

- Suy luận (giao diện thông minh, robot, kỹ thuật phần mềm).

- Phục hồi thông tin (dữ liệu).

Cấu trúc bên trong một bộ điều khiển mờ có gồm 3 khâu:

- Mờ hóa

- Thực hiện luật hợp thành

- Giải mờ

29

Các nguyên lý thiết kế hệ thống điều khiển mờ:

- Giao diện đầu vào gồm các khâu: Mờ hóa, các khâu hiệu chỉnh tỷ lệ, tích phân,

vi phân…

- Thiết bị hợp thành: sự triển khai luật hợp thành mờ.

- Giao diện đầu ra gồm: khâu giải mờ và các khâu trực tiếp với đối tƣợng.

Các bƣớc xây dựng bộ điều khiển mờ:

- Bƣớc 1: định nghĩa tất cả các biến ngôn ngữ vào/ra.

- Bƣớc 2: xác định các tập mờ cho từng biến ngôn ngữ vào/ra (mờ hóa).

- Bƣớc 3: xây dựng luật hợp thành.

- Bƣớc 4: chọn thiết bị hợp thành.

- Bƣớc 5: giải mờ và tối ƣu hóa.

Từ những kiến thức cơ bản về lý thuyết mờ ([1], [6], [39]), tác giả đã tiến

hành nghiên cứu thuật toán tính toán lực hút/đẩy giữa các cá thể robot trong bầy.

2.2. Xây dựng hàm hút/đẩy mờ cho bài toán tụ bầy

Xem xét một bầy gồm N cá thể trong không gian Euclide n chiều (n3).

Giả thiết mỗi cá thể đƣợc xem nhƣ một chất điểm và bỏ qua kích thƣớc, khối

lƣợng của chúng, lúc đó vị trí của cá thể thứ i trong bầy đƣợc mô tả bằng

. Sự di chuyển của từng cá thể robot trong môi trƣờng thuần nhất

]

[

sẽ phụ thuộc vào lực tƣơng tác giữa cá thể đó với tất cả các cá thể khác trong

bầy. Môi trƣờng thuần nhất là môi trƣờng không có chƣớng ngại vật, không có

nhiễu bên ngoài tác động lên bầy đàn. Khi các cặp cá thể cảm nhận đƣợc nhau ở

xa nhau, chúng cần phải di chuyển về phía nhau nhờ lực hút để duy trì bầy đàn,

và ngƣợc lại, khi ở khoảng cách gần chúng cần phải di chuyển về phía xa nhau

nhờ lực đẩy để tránh va chạm. Điều đó có nghĩa rằng lực tƣơng tác giữa các cá

30 thể trong bầy sẽ phụ thuộc vào khoảng cách giữa các cặp cá thể với nhau. Nếu

gọi là lực tƣơng tác giữa cặp cá thể (i, j) thì:

(‖ ‖)

trong đó: ‖ ‖ là khoảng cách giữa hai cá thể i và j, gọi là khoảng cách

)

) (

thực tế giữa cặp robot (i, j), lúc đó:

) (

‖ ‖ √(

(‖ ‖) ‖ ‖

( )

(2.1) Đặt: (‖ ‖)

R là khoảng cách giữa hai cá thể i và j mà tại đó lực hút và lực đẩy giữa

trong đó: g(.) đƣợc gọi là hàm hút/đẩy giữa cặp cá thể (i, j).

Gọi

hai cá thể này cân bằng với nhau, tức là:

(

) ( ) ( )

, (2.2) ( ) {

(2.3)

Gọi ̃ là sai lệch giữa khoảng cách thực tế và khoảng cách mong muốn:

̃

Lực tƣơng tác giữa các cá thể trong bầy f( ) là một hàm phi tuyến phụ thuộc vào khoảng cách giữa các cặp cá thể (i, j), vì vậy có thể xây dựng hàm ( ) bằng hệ mờ Mamdani cấu trúc SISO nhƣ sau:

, giả thiết rằng u có miền giá trị là khoảng

- Bƣớc 1:

 Tín hiệu vào là ̃

[αb, βb] R, chia u ra 2Nf+1 khoảng Bk nhƣ hình 2.1.

) có miền giá trị trong khoảng [αa, βa], chia A ra với k = 1, 2, …, 2Nf+1 và trọng tâm của khoảng mờ Ak

 Tín hiệu ra là A (

2Nf+1 khoảng Ak là:

(2.4) {

31 - Bƣớc 2: Thành lập 2Nf+1 luật IF… THEN… có dạng:

( )

IF THEN

b

b

… …

( )

Hình 2.1. Mờ hóa tín hiệu đầu vào của bộ điều khiển mờ

a

a

… …

Hình 2.2. Mờ hóa tín hiệu đầu ra của bộ điều khiển mờ

- Bƣớc 3: Chọn luật hợp thành, giải mờ theo phƣơng pháp trung bình trọng số,

theo [39, tr. 110-111] ta đƣợc luật điều khiển:

( ) ( )

(2.5) ( )

Với giải pháp thiết kế bộ mờ qua ba bƣớc trên, ta thu đƣợc kết quả mối quan

hệ giữa tín hiệu vào là khoảng cách và tín hiệu ra là lực tƣơng tác giữa các cá thể

(i, j) với các tính chất sau:

32

( ) ( ) ( )

(2.6) {

Hàm mờ ( ) là một hàm liên tục thỏa mãn các điều kiện: - Giới hạn trên và dƣới:

( ) (2.7)

trong đó:

- Phƣơng trình tuyến tính hóa từng đoạn:

( )

(2.8) ( )

trong đó: [ ], với * +

Gọi: lần lƣợt là giá trị nhỏ nhất và lớn nhất của hàm hút,

(2.9)

( ) { ( )

lần lƣợt là giá trị nhỏ nhất và lớn nhất của hàm đẩy. Từ (2.8) ta có thể rút ra đƣợc các giới hạn của hàm ( ) nhƣ sau:

với:

1 1

0 0 (2.10)

0

1 1 Đáp ứng đƣợc các tính chất (2.6) có thể là các hàm phi tuyến khác nhau có dạng

0 {

nhƣ bảng 2.1.

33 Bảng 2.1: Một số dạng lực tƣơng tác giữa cá thể thứ i và j dựa trên cơ sở

logic mờ.

Tham số bộ mờ Mối quan hệ vào/ra của bộ mờ

B={trapmf [-14.05 -10.45 -8 -5], trimf [-8 -4 0], trimf [-3 0 3], trimf [0 4 8], trapmf [5 8 10.9 14.1]} A= {trapmf [-1.45 -1.05 -0.95 -0.6], trimf [- 0.9 -0.5 -0.1], trimf [-0.4 0 0.4], trimf [0.1 0.5 0.9], trapmf [0.6 0.95 1.05 1.45]}

B={gauss2mf [1.43 -10.9 1.102 -8.333],

gaussmf [1.074 -4], gaussmf [1.056 5.55e-

17], gaussmf [0.9482 4], gauss2mf [0.892

7.902 1.09 11.2]}

A= {gauss2mf [0.1179 -1.091 0.1179 -

0.9133], gaussmf [0.1079 -0.5], gaussmf

[0.0921 6.94e-18], gaussmf [0.1123 0.5],

gauss2mf [0.0723 0.8705 0.136 1.104]}

B= {trapmf [-11.7 -10.2 -8.28 -3.89], trimf

[-7.96 -5.79 -1.93], trimf [-6.07 -3.466

0.0792], trimf [-3.89 -1.67 1.614 4.1], trimf

[0 4.206 6.01], [1.98 6.164 8.07], trapmf

[4.101 8.39 10.9 15.4]}

A= {trapmf [-1.475 -1.025 -0.8973 -

0.3249], trimf [-0.685 -0.486 -0.3889], trimf

[-0.341 -0.2143 -0.0979], trimf [-0.13 0

0.13], trimf [0.0979 0.246 0.3571], trimf

34

[0.4048 0.58 0.684], trapmf [0.347 0.924

1.04 1.48]}

B= {trapmf[-11.7 -10.2 -9.97 -9.815], trimf[-

9.7 -9.23 -7.698], trimf [-9.39 -7.486 -2.248],

trapmf [-7.638 -3.04 -0.88 2.72], trimf [-2.3

3.62 8.86], trimf [-1.92 5.06 8.88], trapmf

[2.724 8.34 10.2 11.8]}

A= {trapmf [-1.48 -1.02 -0.897 -0.7646],

trimf [-0.7646 -0.537 -0.389], trimf [-0.4259 -

0.214 -0.0979], trimf [-0.4259 -0.214 -

0.0979], trimf [-0.0926 0.246 0.574], trimf

[0.0714 0.568 0.722], trapmf [0.2354 0.754

0.998 1.44]}

Nhận xét: Nhìn vào bảng 2.1 ta thấy đồ thị của các hàm mờ đều thỏa mãn tiên

đề: có độ lớn phụ thuộc vào khoảng cách giữa các cặp cá thể trong bầy, khoảng

cách giữa cặp cá thể (i, j) càng xa thì lực hút càng lớn, ngƣợc lại, khoảng cách

giữa các cặp cá thể (i, j) càng gần thì lực đẩy càng lớn. Các dạng đồ thị trong

bảng 2.1 có dạng tƣơng tự với đồ thị của các hàm tƣờng minh trong bảng 1.1.

Điều đó có nghĩa rằng, các dạng hàm tƣờng minh trong bảng 1.1 chính là các

trƣờng hợp riêng của hàm mờ đƣợc xây dựng theo công thức (2.5) thỏa mãn điều

kiện (2.6). Ở đây tác giả chỉ tập trung khảo sát về hình dạng đồ thị trong phạm vi

nhìn thấy hữu hạn của các cá thể robot trong bầy, không có sự so sánh về độ lớn

của các lực hút/đẩy giữa các nghiên cứu.

35

2.3. Ổn định robot bầy đàn sử dụng hàm hút/đẩy mờ

2.3.1 Ổn định robot bầy đàn với mô hình toán học cơ bản

Giả sử các cá thể chuyển động đồng bộ và không có thời gian trễ, điều này

có nghĩa là tất cả các cá thể trong bầy đều chuyển động liên tục và biết chính xác

vị trí tƣơng đối của tất cả các cá thể còn lại. Với mô hình toán học (1.1) có hàm

hút/đẩy (1.8) thì tốc độ di chuyển của cá thể robot thứ i phụ thuộc vào tổng các

vector hàm hút/đẩy của các cá thể còn lại lên nó. Vì vậy phƣơng trình động học

(1.1) với hàm hút/đẩy (1.8) có thể đƣợc viết lại nhƣ sau:

( ) ‖ ‖

(2.11) ̇ ∑ ∑ (‖ ‖) (‖ ‖)( )

( ) ‖ ‖

trong đó: biểu thị cho hƣớng của lực tƣơng tác từ cá thể thứ i đến cá thể

thứ j; (‖ ‖) là lực tƣơng tác phụ thuộc vào khoảng cách giữa cặp cá thể (i,

j). Nếu g(.)>0 thì lực tƣơng tác này chính là hàm hút, và ngƣợc lại (.)<0 thì đó

là hàm đẩy. Nói cách khác, hƣớng và độ lớn của chuyển động của từng cá thể

trong bầy đƣợc xác định bằng tổng các hàm hút và đẩy của tất cả các cá thể còn

lại trong bầy lên nó.

Tâm của một bầy đƣợc định nghĩa theo công thức sau:

Lấy đạo hàm tâm theo thời gian ta đƣợc:

(2.12)

∑ ∑ (‖ ‖)( )

̇

∑ ∑ [ (‖ ‖)( ) (‖ ‖)( )]

(2.13) Từ (2.13) cho thấy: Tâm của một bầy đàn đƣợc mô tả bởi mô hình (2.11) với hàm hút/đẩy g(.) nhƣ đã cho trong công thức (2.5) là bất biến với mọi t.

36

Định nghĩa biến sai lệch giữa vị trí cá thể i so với vị trí tâm bầy là :

với i=1, 2,…, N. (2.14)

Lúc đó đạo hàm sai lệch theo thời gian ta có:

̇ ̇ ̇ ̇ (2.15)

Chọn hàm Lyapunov cho cá thể i:

(2.16) ‖ ‖

Đạo hàm Vi trong (2.16) theo thời gian ta đƣợc:

(2.17) ̇ ̇ ̇ ∑ (‖ ‖)( )

Hàm thế năng Lyapunov tổng:

(2.18) ∑ ∑

Lấy đạo hàm V theo thời gian t:

̇ ∑ ∑ (‖ ‖)( )

∑ (2.19) ∑ 1 0 (‖ ‖)( ) (‖ ‖)( )

Ta lại có:

( ) ( ) (2.20)

(2.21) Đặt:

(‖ ‖)( ) và: (‖ ‖)( )

1 (‖ ‖) 0( ) ( )

(2.22) (‖ ‖)( ) ( ) (‖ ‖)‖ ‖

Do vậy:

∑ ̇ ∑ (‖ ‖)‖ ‖

}

} {( ) ‖ ‖

(2.23) ∑ ∑ (‖ ‖)‖ ‖

Ký hiệu: {( ) ‖ ‖

∑ ∑ ( ) ∑ ∑ ( ) ∑

; ∑

37

Biểu thức (2.23) có thể đƣợc viết lại nhƣ sau:

1

0∑ (‖ ‖)‖ ‖

∑ (‖ ‖)‖ ‖‖ ‖

̇ ∑ (‖ ‖)‖ ‖ ∑ (‖ ‖)‖ ‖

1

0∑ (‖ ‖)‖ ‖

∑ (‖ ‖)‖ ‖

1 0∑ (‖ ‖)‖ ‖ ∑ (‖ ‖)‖ ‖‖ ‖

(2.24) 1 0∑ (‖ ‖)‖ ‖ ∑ (‖ ‖)‖ ‖

Từ điều kiện (2.7) suy ra:

∑ (‖ ‖)‖ ‖

∑ ‖ ‖ ∑ (‖ ‖)‖ ‖ ∑ ‖ ‖

X t thành phần thứ hai của (2.24):

∑ (‖ ‖)‖ ‖

(2.25) ∑ (‖ ‖)‖ ‖ ∑ (‖ ‖)‖ ‖ ∑ ‖ ‖

Vế bên trái của bất đẳng thức (2.25) ∑ (‖ ‖)‖ ‖ ∑ ‖ ‖

(‖ ‖) ‖ ‖ ‖ ‖

(2.26) ∑ ‖ ‖

Đặt: (‖ ‖) ‖ ‖ (2.27) Gọi là giá trị lớn nhất của trong miền S2. Lúc đó nhìn vào hình 2.3 ta thấy: (2.28)

Do đó ta có:

(‖ ‖) ‖ ‖ ‖ ‖

(2.29) ∑ ‖ ‖ ∑ ‖ ‖

Vì vậy, bất đẳng thức (2.25) tƣơng đƣơng với:

∑ (‖ ‖)‖ ‖ ∑ (‖ ‖)‖ ‖

(2.30) 38 ∑ ‖ ‖

Quay lại số hạng thứ nhất của (2.24):

∑ (‖ ‖)‖ ‖ ∑ (‖ ‖)‖ ‖

(2.31) ∑ (‖ ‖)‖ ‖ ∑ ‖ ‖

Gọi * +, ta có:

∑ (‖ ‖)‖ ‖ ∑ (‖ ‖)‖ ‖

∑ ‖ ‖ (2.32)

Hình 2.3. Đồ thị tổng hợp

( )

(2.33)

Kết hợp các bất đẳng thức (2.25) và (2.32), với ‖ ‖

̇ ∑ ∑ ‖ ‖

Từ định nghĩa tâm của bầy, ta có:

(2.34)

Trừ hai vế của (2.34) cho :

∑ ( )

( ) (2.35)

Vì vậy tổng các bình phƣơng sai lệch đƣợc tính theo công thức:

∑ ‖ ‖

∑ ∑ ‖ ‖ 39 ∑ ∑ ( )

(2.36) ∑ ∑ ‖ ‖

(2.37)

Kết hợp (2.33) và (2.36) ta có:

̇ ∑ ‖ ‖

Từ (2.37) suy ra để ̇ thì:

∑ ‖ ‖

(2.38)

Như vậy ta đã chứng minh được:

Định lý 1: Giả thiết ầy đàn được mô hình hóa ởi phương trình (2.11) có hàm

hút/đẩy mờ xây dựng theo luật điều khiển (2.5), thỏa mãn điều kiện (2.6), theo

thời gian, tất cả các cá thể của ầy sẽ được hội t trong một vùng giới hạn ởi:

3 (2.39) 2∑‖ ‖

được gọi là án kính hội t tính toán của trong đó: √

ầy, là giá trị nhỏ nhất của lực tương tác ( ).

Từ (2.39) rút ra sự ảnh hƣởng của các thông số đến giới hạn hội tụ của bầy:

- Khi tăng tức là tăng lực đẩy thì sẽ làm tăng giới hạn hội tụ của bầy.

- Ngƣợc lại, nếu tăng , sẽ làm giảm giới hạn hội tụ của bầy.

- Kích thƣớc N của bầy càng lớn thì giới hạn hội tụ càng giảm.

2.3.2 Ổn định bầy đàn với mô hình toán học có hệ số tương tác

Trong mô hình toán học cơ bản (2.11), tác giả giả thiết rằng các cá thể

robot đƣợc coi nhƣ những chất điểm và khả năng tƣơng tác giữa các cá thể trong

40 bầy với nhau là nhƣ nhau. Nhƣng trong một bầy sinh học thực tế, khả năng di

chuyển của mỗi cá thể là hữu hạn, phạm vi quan sát và khả năng liên kết của cá

thể này với các cá thể còn lại trong bầy là không giống nhau. Do đó vận tốc di

chuyển của mỗi cá thể trong bầy đƣợc xác định nhƣ sau:

( ) ‖ ‖

(2.40) ̇ ∑ (‖ ‖)

trong đó: là đại lƣợng đặc trƣng cho khả năng tƣơng tác giữa cặp cá thể

(i, j), với .

Gọi [ ] là ma trận tƣơng tác giữa các cá thể. Giả thiết ,

nếu có nghĩa là sự tƣơng tác giữa cặp cá thể (i, j) không tồn tại,

đồng nghĩa với việc tồn tại sự tƣơng tác giữa cá thể i và cá thể j. Trong công thức

(2.11) có thể coi với j=1, 2, .... , N.

Đặt [ ] là biểu diễn Laplace của ma trận tƣơng tác [ ] , trong đó:

(2.41) { ∑

L là ma trận Laplace có tổng các phần tử trên một hàng hoặc trên một cột luôn

của bầy đƣợc định nghĩa bởi:

bằng 0.

Tâm

trong công thức (2.42) theo thời gian ta đƣợc:

(2.42)

∑ ∑

Lấy đạo hàm tâm ̇ (‖ ‖)( )

∑ ∑ [ (‖ ‖)( ) (‖ ‖)( )]

∑ ∑ [ (‖ ‖)( ) (‖ ‖)( )]

(2.43)

của một bầy đàn đƣợc mô tả bởi mô hình (2.40) với

41

Từ (2.43) cho thấy: Tâm

hàm hút/đẩy g(.) nhƣ đã cho trong công thức (2.5) là luôn đứng yên với mọi t và

không phụ thuộc vào sự tƣơng tác giữa các cặp cá thể (i, j) trong bầy.

Định lý 2: Các cá thể của bầy được miêu tả như (2.40) có hàm hút/đẩy mờ xây

dựng theo luật điều khiển (2.5), thỏa mãn điều kiện (2.4), theo thời gian, tất cả

3 (2.44)

các cá thể của bầy sẽ hội t và duy trì trong vùng có giới hạn

2∑‖ ‖

 

, với   lần lượt là các giá trị riêng nhỏ nhất và trong đó:

lớn nhất của L.

là sai lệch giữa vị trí của cá thể robot thứ i và tâm bầy:

Chứng minh:

(2.45)

trong công thức (2.45) theo thời gian:

Gọi

̇ (2.46)

̇ ̇ ̇ Chọn hàm Lyapunov cho cá thể i:

(2.47)

‖ ‖

Đạo hàm sai lệch vị trí

Đạo hàm hàm theo thời gian ta đƣợc:

̇

∑ (‖ ‖)( )

(2.48) ̇ ̇

Định nghĩa hàm thế năng Lyapunov tổng:

(2.49) ∑

Lấy đạo hàm theo thời gian t:

̇ ∑ ∑ (‖ ‖)( )

(‖ ‖)( )

1

∑ ∑ 0 (‖ ‖)( )

42

∑ ∑ (‖ ‖)‖ ‖

∑ ∑ (‖ ‖)‖ ‖

1

∑ (‖ ‖)‖ ‖ ∑ (‖ ‖)‖ ‖

0∑ (‖ ‖)‖ ‖

∑ (‖ ‖)‖ ‖‖ ‖

1

0∑ (‖ ‖)‖ ‖

∑ (‖ ‖)‖ ‖‖ ‖

=

= 1 0∑ (‖ ‖)‖ ‖ ∑ (‖ ‖)‖ ‖

1 (2.50) 0∑ (‖ ‖)‖ ‖ ∑ (‖ ‖)‖ ‖

Đặt:

1 0∑ (‖ ‖)‖ ‖

1 (2.51) 0∑ (‖ ‖)‖ ‖

1 0∑ (‖ ‖)‖ ‖

1 (2.52) 0 ∑ (‖ ‖)‖ ‖

Kết hợp (2.51), (2.52) vào (2.50):

̇ (2.53)

Ta lại có:

(2.54)

∑ (‖ ‖)‖ ‖ { ∑ (‖ ‖)‖ ‖ ∑ ‖ ‖ ∑ ‖ ‖

Do đó từ (2.52) ta có:

(2.55) ∑ (‖ ‖)‖ ‖ ∑ ‖ ‖

Vế bên phải của bất đẳng thức (2.55) có thể đƣợc viết lại nhƣ sau:

∑ (‖ ‖)‖ ‖ ∑ ‖ ‖

(‖ ‖) ‖ ‖ ‖ ‖

‖ ‖ ∑

43

( ) ‖ ‖

( ) ‖ ‖

∑ { (‖ ‖) ‖ ‖} ‖ ‖

(2.56) ∑ { (‖ ‖) ‖ ‖} ‖ ‖

(2.57)

Chú ý rằng:

{ (‖ ‖) ‖ ‖}

Kết hợp (2.56), (2.57) suy ra (2.55) tƣơng đƣơng với:

∑ ∑

(2.58)

Từ (2.58) suy ra:

∑ ∑

(2.59)

Quay trở lại công thức (2.51) ta có:

(2.60) ∑ (‖ ‖)‖ ‖ ∑ ‖ ‖

(2.61)

‖ ‖

( ) ( )

∑ ∑

Đặt: * + Do vậy:

Từ (2.41) ta lại có:

( ) (2.62)

∑ ∑

( ) ( )

∑ ∑

và: ( ) (2.63)

) ( ̇

)

trong đó: ( ̇

Trong công thức (2.62) và (2.63), ký hiệu là tích Kronecker, là ma trận

đƣợc tạo ra từ khối, trong đó khối (i, j) là ma trận , cụ thể

nhƣ sau:

] [

Kết hợp (2.62) và (2.63) và (2.61) ta đƣợc:

( ) (2.64) Khi ma trận tƣơng tác W là đối xứng và tồn tại liên kết giữa các robot thì tất cả

44

các giá trị riêng của ma trận L đƣợc biểu thị bởi  , h=1, 2, 3,…, n và thỏa mãn:

  

   là nghiệm của hệ phƣơng trình: (  ) ,  là giá trị riêng bé nhất khác 0 của ma trận L, I là ma trận đơn vị.

( )  ‖ ‖ (2.65)

Do đó từ (2.64) ta có:

Kết hợp (2.59) và (2.65) ta đƣợc:

 ‖ ‖ (2.66)

̇  ‖ ‖

Từ (2.66) suy ra để ̇ thì:

(2.67) ‖ ‖

Định lý 2 đã được chứng minh.

Từ (2.67) rút ra sự ảnh hƣởng của các thông số đến giới hạn hội tụ của bầy:

- Khi tăng tức là tăng lực đẩy thì sẽ làm tăng giới hạn hội tụ của bầy.

- Ngƣợc lại, nếu tăng , sẽ làm giảm giới hạn hội tụ của bầy.

Kết luận chƣơng 2

Trong chƣơng 2, tác giả đã xây dựng đƣợc bộ logic mờ SISO với luật điều

khiển Mamdani để tính toán lực hút/đẩy giữa các cá thể robot trong bầy đàn,

phát biểu và chứng minh hai định lý về tính ổn định của hệ thống robot bầy đàn

với mô hình cơ bản và mô hình có truyền thông. Từ đó tìm ra điều kiện hội tụ

của các cá thể robot trong bầy.

45 CHƢƠNG III

ĐIỀU KHIỂN ROBOT BẦY ĐÀN DỰA TRÊN NGUYÊN LÝ ĐIỀU

KHIỂN HÀNH VI KHÔNG GIAN NULL VÀ LOGIC MỜ

Trong chƣơng này tác giả sẽ kết hợp thuật toán đã phát triển ở chƣơng 2

và kỹ thuật điều khiển hành vi không gian Null cho việc điều khiển robot bầy

đàn thực hiện đa nhiệm nhƣ: tránh vật cản, tìm kiếm mục tiêu. Chứng minh tính

ổn định của hệ thống robot bầy đàn dựa trên cơ sở tiêu chuẩn ổn định Lyapunov.

3.1 Đặt vấn đề

Việc điều khiển hệ thống robot bầy đàn luôn gặp phải rất nhiều vấn đề khó

khăn, ví dụ nhƣ: chúng luôn phải hoạt động trong những môi trƣờng phức tạp, có

nhiều trở ngại, nhƣng bên cạnh đó khả năng tính toán của chúng lại luôn bị giới

hạn bởi các cấu trúc vật lý. Mặc d vậy, các hệ thống điều khiển vẫn phải đảm

bảo trong thời gian thực các robot vẫn phải hoàn thành mục tiêu nhiệm vụ của

mình, do đó trong [50], R. Brooks đã đƣa ra yêu cầu đối với việc thiết kế cấu

trúc điều khiển và tính toán cho mỗi robot nhƣ sau:

- Phản ứng nhanh nhạy với môi trƣờng: Các robot phải có phản ứng với những

thay đổi đột ngột trong môi trƣờng hoạt động của chúng. Cần phải thực hiện

chính xác, hiệu quả và an toàn các nhiệm vụ đƣợc giao.

- Hành vi thông minh: Trong thực tế, cần có sự thỏa hiệp khác nhau giữa các

nhiệm vụ để làm thế nào có thể đạt đƣợc các mục tiêu nhiệm vụ. Ví dụ: robot

phải đi tìm kiếm một nguồn thức ăn, trên đƣờng đi, chúng gặp các vật cản, lúc

này các robot phải biết ƣu tiên nhiệm vụ tránh vật cản để không làm hƣ hỏng bản

thân, sau đó mới tiếp tục di chuyển tới nguồn thức ăn.

- Giải quyết nhiều mục tiêu: Trong trƣờng hợp các hành động của robot bị xung

đột lẫn nhau, các hệ thống điều khiển sẽ cung cấp phƣơng tiện để robot có thể

thực hiện đƣợc nhiều mục tiêu.

46 - Mạnh mẽ: Các robot phải có khả năng xử lý các yếu tố nhiễu, các sự kiện bất

ngờ và khắc phục các trục trặc.

- Độ tin cậy: Robot nên hoạt động mà không thất bại hoặc suy giảm hiệu suất

trong khoảng thời gian nhất định.

Các hệ thống robot bầy đàn luôn đòi hỏi một cơ chế phối hợp các hành vi để

hoàn thành nhiệm vụ. Trong [50], R.Brooks cũng đã đƣa ra hai cơ chế cơ bản:

Cơ chế phân xử và cơ chế hợp nhất lệnh.

- Cơ chế phân xử thƣờng đƣợc thông qua việc lựa chọn các hành vi hoạt động

trên cơ sở nhiệm vụ và yêu cầu của hệ thống, đây là cơ chế cạnh tranh. Ví dụ

nhƣ kiến trúc SA (kiến trúc phân cấp), mỗi hành vi là một lớp, mỗi lớp là một

modun, các modun này làm việc hoàn toàn độc lập với nhau, và đầu ra là một

Khám phá

Đi lang thang

Cảm biến

Cơ cấu chấp hành

Tránh vật cản

lệnh chuyển động robot (hình 3.1).

Hình 3.1. Kiến trúc SA, robot bầy đàn thực hiện ba nhiệm vụ: khám phá, đi lang thang, tránh vật cản

Với kiến trúc SA, cơ cấu chấp hành chỉ thực hiện theo các lệnh đầu ra của hành

vi có ƣu tiên cao hơn, trong khi các hành vi ƣu tiên thấp hơn chỉ có thể đƣợc

thực hiện khi các hành vi ƣu tiên cao hơn nó có đầu ra bằng không. Điều đó có

nghĩa là hành vi có mức ƣu tiên cao hơn sẽ đƣợc ghi chồng lên đầu ra của các

hành vi có mức ƣu tiên thấp hơn. Tuy nhiên nhiều hành vi không mâu thuẫn

không thể đƣợc kích hoạt c ng một lúc.

47 - Cơ chế hợp nhất lệnh: Cơ chế hợp nhất lệnh đƣợc thiết lập dựa trên cơ sở kết

hợp giữa các hành vi, là sự kết hợp đề xuất từ nhiều hành vi để đƣa ra lệnh điều

khiển cơ cấu chấp hành, lệnh này đại diện cho sự thống nhất giữa các hành vi

(hình 3.2). Tuy nhiên, cơ chế này không xử lý đƣợc r ràng các hành vi trái

Chế độ quản lý

Trọng số

Hành vi 1

Hành vi 2

Bộ phân xử

Hành vi 3

Lệnh điều khiển

Cơ cấu chấp hành

ngƣợc nhau.

Hình 3.2. Giản đồ cấu trúc phân tán cho điều hƣớng tự động

Nhƣ đã phân tích ở trên, cơ chế phối hợp các hành vi dựa trên phƣơng

pháp tiếp cận hợp nhất lệnh (hợp tác) cho ph p kết hợp kết quả của một số nhiệm

vụ, cố gắng để đạt đƣợc các mục tiêu khác nhau, nhƣng sẽ rất khó khăn trong

trƣờng hợp nhiệm vụ trái ngƣợc nhau. Cơ chế phân xử (cạnh tranh) chỉ cho ph p

thực hiện một nhiệm vụ tại một thời điểm, do đó hệ thống ít đƣợc sử dụng nhƣng

đầu ra có thể dự đoán đƣợc.

Để khắc phục những khó khăn của hai cách tiếp cận trên, [9] đã đƣa ra

phƣơng pháp tiếp cận mới đó là điều khiển dựa trên hành vi không gian Null:

một nhiệm vụ phức tạp của robot bầy đàn có thể đƣợc chia ra thành các nhiệm

vụ cơ bản (các hành vi) khác nhau, các nhiệm vụ này đƣợc kết hợp một cách

48 đúng đắn để đạt đƣợc mục tiêu nhiệm vụ. Cách kết hợp này cụ thể là phân cấp

mức độ ƣu tiên của từng nhiệm vụ cơ bản, sau đó chiếu các nhiệm vụ có mức độ

ƣu tiên thấp hơn vào không gian Null của nhiệm vụ ƣu tiên cao hơn, đây là cách

tiếp cận có thể đƣợc định nghĩa nhƣ tổng hợp của hai cách tiếp cận hợp tác -

cạnh tranh.

3.2 Khái niệm không gian Null

Nếu gọi là vận tốc di chuyển của cá thể i trong không

]

[

gian Euclide n chiều (n3), thì mô hình toán học của cá thể i đƣợc mô tả nhƣ

sau:

̇ (3.1)

Gọi là giá trị đầu vào điều khiển để cá thể i hoàn thành mục tiêu nhiệm vụ, nu là số chiều của ui, lúc đó ui sẽ phụ thuộc vào pi, có nghĩa là:

ui=f(pi) (3.2)

Đạo hàm (3.2) theo thời gian:

( ) ̇ (3.3)

̇

Kết hợp (3.1) và (3.3):

̇ ( ) (3.4)

trong đó: J(p) là ma trận Jacobi, ( )

Suy ra:

( ) ̇ ̇ (3.5)

đƣợc xác định

trong đó: J+ là ma trận giả nghịch đảo của ( ), , J+

tuân theo bốn điều kiện của Moore – Penrose [24, tr. 257-258]:

49

(3.6)

là giá trị mong muốn từ robot tới mục tiêu nhiệm vụ, lúc đó theo [21],

{ ( ) ( )

Gọi (3.5) đƣợc viết lại nhƣ sau:

là hằng số nên:

̃ (3.7) ): là sai lệch giữa giá trị thực tế so với trong đó: là hệ số dƣơng, ̃ ( giá trị mong muốn.

) ̇ ̃ (3.8)

Trong phạm vi luận án, tác giả chỉ xem x t trƣờng hợp

̃̇ ( ̇ ̇

Ma trận hình chiếu trực giao của J là sẽ nhƣ sau:

(3.9)

trong đó I là ma trận đơn vị .

vi

J(pi)

pi )

NJ

Hình 3.3. Giản đồ xác định không gian Null NJ

NJ còn đƣợc gọi là không gian Null của nhiệm vụ đang cần hoàn thành, ma trận

NJ là một ma trận đối xứng, và có thể dễ dàng chỉ ra rằng:

với ( ) ( )

50

3.3 Điều khiển hành vi robot bầy đàn dựa trên không gian Null

Khi robot bầy đàn thực hiện nhiệm vụ di chuyển tới đích, trên đƣờng di

chuyển chúng phải tránh các vật cản nằm trên đƣờng để không bị hƣ hỏng, vì thế

mỗi cá thể robot trong bầy phải thực hiện ba nhiệm vụ sau:

- Nhiệm vụ thứ nhất: tránh vật cản.

- Nhiệm vụ thứ hai: di chuyển tới đích.

- Nhiệm vụ thứ ba: duy trì bầy đàn để tránh va chạm giữa các cá thể trong bầy

với nhau nhƣng không làm phân tách nhóm.

Để điều khiển robot thực hiện các nhiệm vụ trên thì ngƣời giám sát có thể

chọn mức độ ƣu tiên khi thực hiện các nhiệm vụ. Trong nghiên cứu này tác giả

chọn mức độ ƣu tiên theo thứ tự: tránh vật cản, di chuyển tới đích và cuối c ng

là nhiệm vụ duy trì bầy đàn. Giả thiết các vật cản là tĩnh và đƣợc biết trƣớc, với

kỹ thuật điều khiển dựa trên hành vi không gian Null thì vector vận tốc di

vO

vi

Tránh vật cản

(+)

(+)

Cảm biến

vg

Di chuyển tới đích

No

vs

Duy trì bầy đàn

Nog

chuyển của mỗi cá thể robot đƣợc tổng hợp theo giản đồ hình 3.4 và hình 3.5.

Hình 3.4. Sơ đồ khối tổng hợp vector vận tốc của cá thể robot thứ i

Vận tốc di chuyển của cá thể robot thứ i đƣợc xác định nhƣ sau:

(3.10)

trong đó: , , lần lƣợt là các vector vận tốc thực hiện các nhiệm vụ: tránh

vật cản, di chuyển tới đích và duy trì bầy đàn, , là các ma trận hình chiếu

trực giao đƣợc tính toán theo thứ tự ƣu tiên của các nhiệm vụ.

51

Giải thích công thức (3.10): chứa nhiệm vụ ƣu tiên thứ nhất là cùng với thành phần nhiệm vụ thứ hai là mà không mâu thuẫn với nhiệm vụ thứ

nhất và thêm thành phần nhiệm vụ thứ ba mà không mâu thuẫn với hai nhiệm

vo+ No vg

No

vg

No vg

vo

vi=vo+ No vg +Nogvs

Robot i

vs

Nog vs

Nog

vụ trên.

Hình 3.5. Giản đồ tổng hợp vận tốc theo phƣơng pháp NSB khi robot i

thực hiện ba nhiệm vụ

 Xác định vận tốc robot tránh vật cản

Giả sử trong môi trƣờng hoạt động của robot bầy đàn có M vật cản, gọi

: là vị trí của vật cản thứ m (m=1÷M) trong không gian Eclied n

]

[

)

) (

chiều, o  R: khoảng cách thực tế giữa cá thể robot i và vật cản m:

) (

‖ ‖ √(

Mong muốn của việc điều khiển robot tránh vật cản: nếu vật cản nằm trên

; nếu vật cản nằm

đƣờng robot di chuyển tới đích thì robot phải cách xa vật cản một khoảng cách

(còn gọi là khoảng cách mong muốn)

an toàn

ngoài vùng di chuyển của robot thì vật cản không làm ảnh hƣởng đến vận tốc di

52 chuyển của robot. Điều đó có nghĩa rằng, vận tốc di chuyển của robot phụ thuộc

vào khoảng cách giữa robot tới vật cản:

Ma trận Jacobi biểu diễn vận tốc di chuyển của robot tránh vật cản:

‖ ‖

]

(3.11)

] ̂

[ ‖ ‖ [ ‖ ‖

] [ [ ]

(3.12)

̂ ,

Ma trận giả nghịch đảo của Jo:

, (3.13)

Ma trận hình chiếu trực giao của Jo:

̂ ̂ trong đó: In là ma trận đơn vị.

(

)

̃ (3.14) là sai lệch giữa khoảng cách thực tế và

Từ (3.7) suy ra vận tốc robot tránh vật cản đƣợc xác định nhƣ sau:

trong đó: là hệ số âm, ̃

khoảng cách mong muốn từ robot đến vật cản.

 Xác định vận tốc robot di chuyển đến đích:

Gọi: là vị trí của đích cần tìm kiếm, g  R là khoảng cách

[ ]

)

) (

thực tế giữa robot thứ i tới đích, lức đó đƣợc tính toán theo công thức:

) (

‖ ‖ √(

.

Mong muốn của việc điều khiển robot hƣớng tới đích là robot chạm vào đích,

bằng 0:

tức là khoảng cách mong muốn

53

(3.15)

]

Ma trận Jacobi :

‖ ‖

(3.16)

[ ̂

Ma trận giả nghịch đảo của Jg: ̂

, (3.17)

Ma trận hình chiếu trực giao của Jg:

̂ ̂

(

)

̃ (3.18)

Từ (3.7) suy ra vận tốc di chuyển tới đích của robot i đƣợc viết lại nhƣ sau:

trong đó: là hệ số dƣơng, ̃ là sai lệch giữa khoảng cách thực tế và khoảng

cách mong muốn từ robot đến đích:

̃

 Xác định vector vận tốc duy trì bầy:

Trong các nhiệm vụ của robot bầy đàn thì nhiệm vụ duy trì bầy là một

trong những nhiệm vụ rất quan trọng, nội dung mục 2.3 – chƣơng 2, tác giả đã

phân tích hành vi hội tụ của bầy đàn dựa trên lực hút/đẩy mờ. Khoảng cách thực

tế giữa cá thể robot thứ i và thứ j (j=1†N, j≠i) là . Mục tiêu của việc điều khiển Lúc là duy trì khoảng cách giữa hai cá thể robot luôn giữ ở hằng số

. ̃

đó sai lệch giữa khoảng cách thực tế và khoảng cách mong muốn là:

Từ mô hình động học (2.11) của cá thể robot thứ i, ta có ma trận Jacobi biểu diễn

]

‖ ‖

]

[

quá trình duy trì bầy đàn nhƣ (3.19):

] (3.19) ̂

̂ ̂ ] ̂

]

[ ‖ ‖ [ ‖ ‖

[

[ [ ]

54

]

‖ ‖

]

Ma trận giả nghịch đảo của Js:

̂ [

̂ ̂ ] ̂ [

]

[ ‖ ‖ [ ‖ ‖

] (3.20)

[ [ ]

Ma trận hình chiếu trực giao của Js:

, (3.21) Từ (3.7) suy ra vận tốc của cá thể robot thứ i làm nhiệm vụ duy trì bầy đàn đƣợc

̂ ̂

( ̃ ) (3.22) • Tổng hợp vector vận tốc di chuyển của mỗi cá thể robot trong bầy khi thực hiện

xác dịnh nhƣ sau:

̃

̃

( ̃ ) (3.23)

cả ba nhiệm vụ theo nguyên lý NSB nhƣ hình 3.5:

trong đó:

] [

( ) ,

.

3.4 Thuật toán điều khiển hành vi robot bầy đàn dựa trên nguyên lý NSB và

logic mờ

Để điều khiển robot bầy đàn thực hiện ba mục tiêu nhiệm vụ: tránh vật cản, tìm

kiếm đích và duy trì bầy đàn thì cần phải thực hiện theo các bƣớc sau:

 Bƣớc 1:

- Nhập số lƣợng robot trong bầy: N.

55 - Nhập số lƣợng vật cản trong không gian di chuyển của robot bầy đàn: M.

- Đặt vị trí ban đầu cho các robot trong không gian n chiều:

, ]

[

, ….

]

]

[ [

- Đặt vị trí M vật cản và đích đến g trong không gian n chiều:

, ,

]

, … ]

]

, và khoảng

[ [ [ [ ]

. cách giữa các cá thể robot với nhau

- Nhập khoảng cách an toàn giữa các cá thể robot với vật cản

- Nhập các hệ số và .

- Nhập số bƣớc tính K.

 Bƣớc 2:

- Tính khoảng cách giữa robot thứ i (i=1†N) với từng vật cản , giữa robot

thứ i với đích đến và giữa robot thứ i với robot thứ j (j=1†N, j≠i) .

- Tính lực hút/đẩy mờ ( ) theo luật (2.5) sao cho thỏa mãn điều kiện (2.6)

 Bƣớc 3:

 So sánh khoảng cách thực tế và khoảng cách an toàn từ robot i tới vật cản thứ

m (m=1, 2,…, M). Nếu:

-

: robot thứ i không cần tránh vật cản o, tức là , - : robot thứ i cần phải tránh vật cản o, lúc này cần tính theo

-

(3.11).

, , .

Tính:

56  So sánh khoảng cách thực tế và khoảng cách mong muốn từ robot i tới đích

đến. Nếu:

- : robot thứ i đã gặp đích đến g, , -.

- : robot thứ i chƣa gặp đích đến g, tính theo (3.15).

, , . , .

Tính:

Tính: ,

 So sánh khoảng cách thực tế và khoảng cách mong muốn từ robot i tới robot

: robot thứ i và robot thứ j di chuyển về phía nhau nhờ hàm hút

thứ j. Nếu:

: robot thứ i và robot thứ j di chuyển về phía cách xa nhau nhờ

- ( ) .

- hàm đẩy ( ) .

-

: robot thứ i giữ nguyên lộ trình di chuyển ( ) . ,

Tính ,

 Bƣớc 4:

- Vận tốc di chuyển của cá thể i ở bƣớc tính k (k=0†K-1) đƣợc xác định

theo:

, - , - , - , - , - , -

- Quãng đƣờng robot i di chuyển đƣợc tƣơng ứng với một bƣớc tính :

, - , - , -

- Tọa độ mới của cá thể thứ i sau (k+1) bƣớc di chuyển:

, - , - , -

Vòng lặp từ bƣớc 2 đến bƣớc 4 đƣợc thực hiện cho đến khi các cá thể trong bầy

hội tụ tại đích đến và kết thúc K bƣớc di chuyển.

57 3.5. Phân tích sự ổn định của robot bầy đàn theo kỹ thuật NSB và logic mờ

Bổ đề: Cho là một ma trận đối xứng cấp n, và x, y là các vector với kích

thƣớc thích hợp. Ma trận A có n giá trị riêng:

     ,

với   là giá trị riêng nhỏ nhất và lớn nhất của A, thì:

 ‖ ‖  ‖ ‖ và | |  ‖ ‖‖ ‖

Chứng minh:

Gọi      là các giá trị riêng của ma trận A. Có tập hợp các cơ sở trực chuẩn {e1, e2,…en} nhƣ vậy  . Vector có thể đƣợc mô tả nhƣ sau:

thì: A ( )    Cho nên chúng ta có:

( ) (    )

)

 )  (

Do đó:  (

hoặc:

 ‖ ‖  ‖ ‖

Bên cạnh đấy chúng ta cũng có:

hoặc:

  

Nên:

| |  | || |  | || |  | || |  (| || |

| || | | || |)  ‖ ‖‖ ‖ Bổ đề đã đƣợc chứng minh.

58 Định lý 3: Các điều kiện cần và đủ để ổn định m c tiêu nhiệm v (sai lệch m c

tiêu nhiệm v bằng 0) là Jacobi của các nhiệm v tách biệt như tránh vật cản o,

tìm kiếm đích g, duy trì ầy và Jacobi được ghép bởi hai nhiệm v tránh vật cản

– tìm kiếm đích cần phải thỏa mãn các điều kiện độc lập sau:

]) ( ) ]) ( )

) ( ) (

) ([ ) ([

{ ( (

trong đó: ( ) là hạng của ma trận.

Chứng minh:

Một phát biểu tƣơng tự cũng đã đƣợc công bố ở tài liệu [24], tuy nhiên phát biểu

của định lý 3 trên đây tƣờng minh hơn, đơn giản hơn trong sử dụng.

Gọi ̃ là vector sai lệch mục tiêu nhiệm vụ, tức là ̃ [ ], mục đích của việc

̃ ̃ ̃

điều khiển là làm sao cho ̃ .

Chọn hàm thế năng Lyapunov ̃ là một hàm liên tục, khả vi:

̃ ̃ (3.26) ̃

Đạo hàm ̃ theo thời gian:

̃

̃

( ̃ ))

] ̃ [ ̇ ̃ ̃ ̃̇ ̃ [ ] (

] (3.27) ̇ ̃ ̃ [

̃ ̃ ̃

( ̃ ) ( ̃ ) ( ̃ )

̃ ̃ ̃

Do thực tế có:

Nên:

̃

̃

̃

̃

̃

( ̃ )

] ̇ ̃ ̃ [

- [

59

] [ ] (3.28) ̇ ̃ , ̃ ̃ ̃

̃ ̃ ( ̃ )

,

, ,

,

Đặt: ,

- [

Ta có:

] [ ] (3.29) ̇ ̃ , ̃ ̃ ̃

̃ ̃ ( ̃ )

- [

Đặt:

] [ ] (3.30) ̃ , ̃ ̃ ̃

̃ ̃ ( ̃ )

Cần phải chứng minh đƣợc ̃ là xác định dƣơng.

( ̃ ) là xác định dƣơng.

Đầu tiên, không khó khăn để khẳng định điều kiện cần của tính xác định dƣơng

.

của ̃: ba phần tử đầu tiên trên đƣờng chéo chính của ̃ là và ̃ - Vì hệ số nên là xác định dƣơng.

là xác định dƣơng thì cần có thì tránh vật cản và tìm kiếm đích phải là hai

- Vì nên để 

Thật vậy, theo [24] để

nhiệm vụ độc lập tức là điều kiện (3.24) phải đƣợc thỏa mãn. Điều đó có nghĩa

rằng khi điều kiện (3.24) xảy ra và thì m22 >0.

- Khi nhiệm vụ duy trì bầy và nhiệm vụ tổng hợp tránh vật cản – tìm kiếm đích

phải là hai nhiệm vụ độc lập, theo [24] lúc đó điều kiện (3.25) đúng thì , là xác định dƣơng. Điều đó tƣơng đƣơng với khi điều kiện

(3.25) xảy ra thì m33 >0.

Ta lại có, (2.6) có thể đƣợc viết lại nhƣ sau:

60

(3.31) {

( ̃ )

( ̃ ) ̃ ( ̃ ) ̃ ( ̃ ) ̃

Từ (3.31) suy ra: ̃ ( ̃ ) , kết hợp với m33>0 thì ̃ Nhận xét: Khi các điều kiện (3.24) và (3.25) đƣợc thỏa mãn và các hệ số thì ̃ luôn xác định dƣơng, do đó ̇ ̃ luôn xác định âm. Nhƣ

vậy các nhiệm vụ tránh vật cản, tìm kiếm mục tiêu và duy trì bầy đàn sẽ ổn định

tiệm cận, sai lệch mục tiêu nhiệm vụ ̃ .

Chứng minh các điều kiện đủ của định lý:

̃ ̃

̃

̃

( ̃ ) ̃

̃ ̃

̃ ̃

(3.32)

Trong công thức:

̃ ̃ ̃

̃

Cụ thể nhƣ sau:

̃ | ̃

|| ̃ || ̃ |

(3.33) {

Từ bổ đề 1 ta lại có:

̃  ‖ ̃ ‖| ̃ | ̃ ̃  ‖ ̃ ‖| ̃ | ̃ ( ̃ )  ‖ ̃ ‖ ̃ trong đó: k1 là hệ số dƣơng,

,

(3.34) {

,

 - giá trị riêng lớn nhất của ma trận

.

 - giá trị riêng lớn nhất của ma trận

 - giá trị riêng nhỏ nhất của ma trận

Vì vậy:

̃

 ‖ ̃ ‖

| ̃ || ̃ |

̃ ̃

 ‖ ̃ ‖| ̃ |  ‖ ̃ ‖| ̃ | (3.35)

Có thể viết lại dƣới dạng ma trận nhƣ sau:

61

] [ ] (3.36) ̃ [

| ̃ | | ̃ | ‖ ̃ ‖ | ̃ | | ̃ | ‖ ̃ ‖

] (3.37) ̃ [

Trong đó ma trận đƣợc định nghĩa nhƣ sau:   

Khi ̃ là xác định dƣơng thì ̃ phải xác định dƣơng, điều đó có nghĩa rằng, các

phần tử nằm trên đƣờng chéo chính của P là xác định dƣơng theo định lý

Sylvester:

- (3.38) (3.39)

 (3.40)

tức là tìm kiếm đích và tránh vật

Vì kvo là hệ số xác định âm nên (3.38) luôn đúng.

Do nên từ (3.36) suy ra

cản là hai nhiệm vụ độc lập, có nghĩa là điều kiện (3.24) phải xảy ra.

Tƣơng tự, do k1>0 nên từ (3.40) suy ra  , nhƣng vì  là giá trị , điều này cũng có nghĩa là nên riêng nhỏ nhất của ma trận

nhiệm vụ duy trì bầy và nhiệm vụ tổng hợp tránh vật cản – tìm kiếm đích là hai

nhiệm vụ độc lập, điều này đồng nghĩa với điều kiện (3.25) phải xảy ra.

Nhận xét: Khi ̃ là xác định dƣơng thì các nhiệm vụ tránh vật cản và tìm kiếm

đích, duy trì bầy và tìm kiếm mục tiêu – tránh vật cản là các cặp nhiệm vụ độc

lập với nhau, tức là khi các mục tiêu nhiệm vụ tránh vật cản, tìm kiếm đích và

duy trì bầy đàn ổn định tiệm cận thì các điều kiện (3.24) và (3.25) phải thỏa mãn.

Định lý đã đƣợc chứng minh.

62

Kết luận chƣơng 3:

Chƣơng 3 đã áp dụng phần lý thuyết đã phát triển ở chƣơng 2 kết hợp với

giải pháp điều khiển robot bầy đàn dựa trên kỹ thuật điều khiển hành vi không

gian Null để giải quyết vấn đề tìm kiếm tập thể trong môi trƣờng có nhiều trở

ngại. Phát biểu và chứng minh một định lý (Định lý 3) về ổn định hệ thống robot

bầy đàn khi điều khiển robot bầy đàn dựa trên kỹ thuật điều khiển hành vi không

gian Null và hàm hút/đẩy mờ.

63 CHƢƠNG IV

KIỂM NGHIỆM CÁC THUẬT TOÁN BẰNG MÔ PHỎNG VÀ TRÊN HỆ

THỐNG THỰC

Trong chƣơng này tác giả tiến hành xây dựng bộ mờ tính toán lực hút/đẩy

giữa các cá thể robot trong bầy đã đƣợc nghiên cứu trong chƣơng 2 bằng Matlab.

Sau đó sử dụng bộ mờ hút/đầy vào mô phỏng quá trình tụ bầy đã đƣợc nghiên

cứu phát triển trong chƣơng 2 và quá trình tìm kiếm mục tiêu, tránh vật cản hệ

thống robot bầy đàn đã đƣợc nghiên cứu phát triển trong chƣơng 3. Trên cơ sở

các kết quả mô phỏng máy tính đƣa ra các đánh giá và khẳng định tính đúng đắn

của các nghiên cứu lý thuyết trong chƣơng 2 và chƣơng 3. Các mô phỏng đƣợc

thực hiện trên không gian 2 chiều.

Thuật toán trong chƣơng 2 đƣợc cài đặt cho một nhóm robot e – puck để

thử nghiệm quá trình hội tụ của robot bầy đàn.

4.1 Kiểm nghiệm thuật toán bằng mô phỏng

4.1.1 Xây dựng hàm hút/đẩy mờ

Nhƣ đã phân tích lý thuyết ở chƣơng 2, hàm ( ) là một hàm phi tuyến phụ

thuộc vào khoảng cách giữa các robot, do đó có thể tính toán xấp xỉ hàm ( ) dựa

vào mô hình mờ Mamdani theo cấu trúc SISO nhƣ hình 4.1:

Hình 4.1. Cấu trúc bộ mờ tính toán lực hút/đẩy giữa các cá thể robot.

, u = [-10, 10] R, chia u ra 5 khoảng nhƣ hình

64

- Tín hiệu vào là

) có miền giá trị trong khoảng [-1, 1], đƣợc chia ra

4.2a.

- Tín hiệu ra là ( thành 5 khoảng nhƣ hình 4.2b.

(a) (b)

Hình 4.2. Hàm thuộc tín hiệu đầu vào (a) và tín hiệu đầu ra (b) của bộ mờ f(u)

- Thành lập 5 luật có dạng:

If Then với k=1, 2, … 5.

- Chọn luật hợp thành MAX-MIN, giải mờ theo phƣơng pháp trung bình trọng

số.

Với giải pháp thiết kế bộ mờ tính lực tƣơng tác giữa các cá thể robot nhƣ

các bƣớc trên, ta thu đƣợc mối quan hệ giữa tín hiệu vào/ra của bộ mờ f(.) nhƣ

hình 4.3.

Hình 4.3. Mối quan hệ giữa tín hiệu vào và tín hiệu ra của bộ mờ f(.)

65

Nhìn vào đồ thị thình 4.3 cho thấy, trong phạm vi quan sát [-10, 10] của mỗi

cá thể robot thì:

 Trong khoảng , nếu u càng lớn thì f(.) càng dƣơng.

 Trong khoảng , nếu u càng nhỏ thì f(.) càng âm.

Nhận xét trên phù hợp với tiên đề của hàm hút/đẩy mờ đƣợc phát biểu trong

chƣơng 2: khoảng cách giữa cặp cá thể (i, j) càng xa thì lực hút càng lớn, ngƣợc

lại, khoảng cách càng gần thì lực đẩy càng lớn.

4.1.2 Mô phỏng quá trình hội tụ của robot bầy đàn với mô hình toán học cơ bản

Các cá thể robot đƣợc khởi tạo vị trí ban đầu là ngẫu nhiên trong không

gian hai chiều có kích thƣớc [500, 500]. Với bộ mờ đƣợc thiết kế nhƣ mục 4.1.1,

lƣu đồ thuật toán mô phỏng quá trình hội tụ của bầy robot đƣợc thể hiện trên

hình 4.4. Các ký hiệu sử dụng trong lƣu đồ thuật toán và chƣơng trình mô phỏng

phụ lục 1:

- Số lƣợng robot trong bầy: N.

dat,

- Số bƣớc tính: K, bƣớc tính: deltat

- Khoảng cách an toàn giữa các cá thể robot:

)

- Khoảng cách thực tế: d

.

- Hàm hút/đẩy mờ: ( - Vận tốc di chuyển của cá thể robot thứ i theo phƣơng x và phƣơng y: deltaxi, deltayi

.

- Quãng đƣờng di chuyển đƣợc phƣơng x và phƣơng y trong 1 bƣớc tính (deltat): Sdeltaxi, Sdeltayi

- Tọa độ sau k+1 bƣớc tính xi(k+1), yi(k+1).

Bắt đầu

66

(3)

- Nhập: N, dat, K, deltat - Nhập tọa độ (x, y) ban đầu. - Thông số bộ tính toán mờ f

Tính xi(k+1), yi(k+1)

k=0

Vẽ xi(k+1), yi(k+1)

i

(1)

i=1

(2)

S

i=N

i=i+1

(2)

Sdeltax=Sdeltay=0

Đ

j=1

(1)

S

k=K-1

k=k+1

Đ

Đ

j=i

Kết thúc

S

Tính khoảng cách thực tế d

Tính f

Tính deltaxi, deltayi

Tính Sdeltaxi, Sdeltayi

S

j=j+1

j=N

Đ (3)

Hình 4.4. Lƣu đồ thuật toán mô phỏng quá trình hội tụ của robot bầy đàn.

67

là khác nhau trong mỗi mô phỏng.

Quá trình di chuyển hội tụ về tâm bầy đƣợc thể hiện trên hình 4.5, trong

N=20,

N=10,

N=30,

N=30,

N=13,

N=13,

đó số cá thể N và khoảng cách an toàn

Hình 4.5. Quá trình hội tụ của robot bầy đàn với mô hình cơ bản:

 là vị trí ban đầu,  là vị trí cuối c ng,  là đƣờng đi của robot.

68 Hình 4.5 cho thấy, mặc d số lƣợng robot và khoảng cách an toàn thay đổi

nhƣng các robot đều đạt đƣợc kết quả cuối c ng là hội tụ về tâm bầy trong v ng

bán kính xác định. Gọi R là bán kính hội tụ thực tế của robot bầy đàn thì R chính

là khoảng cách từ robot gần nhất tới tâm của bầy. Kết quả tính toán các thông số

của bầy trong một số trƣờng hợp mô phỏng đƣợc trình bầy trên bảng 4.1.

Bảng 4.1: Kết quả tính toán các thông số của quá trình tụ bầy

N α β R

10 0.02 9.74 15.61 6.18

10

30 0.02 25.37 43.62 17.06

10 0.02 8.40 10.25 4.10

20

30 0.02 25.33 30.82 15.18

10 0.02 8.23 8.77 3.91

30

30 0.02 25.25 25.23 15.04

So sánh các kết quả mô phỏng trên bảng 4.1 ta thấy:

tăng thì bán kính hội tụ của bầy cũng sẽ tăng.

- Khi số lƣợng cá thể N trong bầy tăng lên thì bán kính hội tụ của bầy sẽ giảm.

- Khi khoảng cách an toàn

- Bán kính hội tụ thực tế R luôn nhỏ hơn giá trị tính toán .

Các kết luận trên là phù hợp với nội dung của Định lý 1 đƣợc phát biểu trong

Chƣơng 2.

Kết quả mô phỏng quá trình tụ bầy của mô hình Gazi [57] đƣợc thể hiện trên

hình 4.6.

69

Hình 4.6. Quá trình hội tụ của robot bầy đàn với mô hình [57]

Kết quả so sánh mô phỏng hình 4.4 và hình 4.5 đƣợc thể hiện trên bảng 4.2.

Bảng 4.2: So sánh kết quả mô phỏng quá trình hội tụ của bầy với mô hình [57]

và mô hình mờ cơ bản

Mô hình [57] Mô hình mờ cơ bản

Tầm nhìn của các Vô hạn Hữu hạn

cá thể trong bầy

Bán kính hội t - Không phụ thuộc số - Phụ thuộc vào số lƣợng cá

của bầy lƣợng cá thể trong bầy thể trong bầy

- Không phụ thuộc vào - Phụ thuộc vào khoảng

khoảng cách an toàn cách an toàn giữa các cá

giữa các cá thể thể

Trong thực tế, tầm nhìn của các bầy sinh học luôn là giới hạn, khi các cá

thể trong bầy ở quá xa nhau, chúng sẽ không nhìn thấy nhau và không hội tụ lại

thành nhóm. Chỉ có những cá thể láng giềng cảm nhận đƣợc nhau mới có thể kết

hợp với nhau để tạo thành nhóm nhỏ. Hơn nữa, khi khoảng cách an toàn giữa các

cá thể tăng lên thì bán kính hội tụ của bầy sẽ tăng vì nếu không sẽ xảy ra va

chạm giữa các cặp cá thể. Nhìn vào bảng 4.2 thì mô hình mờ cơ bản rất phù hợp

với các bầy sinh học thực tế. Mô hình [57] chƣa ph hợp với bầy sinh học trong

tự nhiên.

70 4.1.3 Mô phỏng quá trình hội tụ của robot bầy đàn với mô hình toán học có hệ số tương tác

Trong các mô phỏng: ký hiệu , ,  lần lƣợt biểu diễn vị trí ban đầu, vị

trí cuối c ng, và đƣờng đi của robot. Hình 4.7, ma trận W là đối xứng có

, - nếu j≠i, nếu j=i. Giả sử ma trận tƣơng tác W có giá trị

[ ]

]

[

cụ thể nhƣ sau:

a) N=10,

b) N=30,

thì quá trình hội tụ của robot bầy đàn đƣợc biểu diễn nhƣ hình 4.7a.

Hình 4.7. Quá trình hội tụ của robot bầy đàn với mô hình có hệ số tƣơng tác

khi số lƣợng N robot trong bầy thay đổi.

71 Hình 4.8 biểu diễn quá trình hội tụ của một bầy gồm 5 robot với khả năng tƣơng

tác giữa các cặp cá thể (i, j) khác nhau.

[ ]

[ ]

[ ]

[ ]

[ ]

[ ]

a) b) c)

Hình 4.8. Quá trình hội tụ của robot bầy đàn với mô hình tƣơng tác tƣơng ứng

với ma trận tƣơng tác (a), (b) và (c)

Kết quả mô phỏng hình 4.8 cho thấy: quá trình hội tụ của robot bầy đàn phụ

thuộc vào khả năng tƣơng tác giữa các cá thể với nhau.

a) N=11,

b) N=31,

  , R=14.79

  , R=11.31

c) N=31,

d) N=51,

,   , R=20.95

  , R=17.69

72

Hình 4.9. Quá trình hội tụ của robot bầy đàn tƣơng ứng với các trƣờng hợp số

lƣợng robot trong bầy và khả năng tƣơng tác giữa các cá thể thay đổi.

Từ hình 4.9 rút ra nhận xét:

tăng thì bán kính hội tụ tăng.

- Bán kính hội tụ thực tế R luôn nhỏ hơn bán kính tính toán thỏa mãn (2.65). - Khi số lƣợng robot trong bầy tăng thì bán kính hội tụ giảm.

- Khoảng cách an toàn

Các nhận xét trên phù hợp với nội dung của Định lý 2 đƣợc phát biểu trong

Chƣơng 2.

Nhận xét chung các kết quả mô phỏng quá trình hội tụ: Các kết quả mô phỏng

quá trình hội tụ của robot bầy đàn cho thấy giải pháp xây dựng lực hút/đẩy giữa

các cá thể robot trong bầy dựa trên cơ sở logic mờ đã đạt đƣợc kết quả: sau một

73 thời gian di chuyển đủ lớn, các robot trong bầy đã hội tụ quanh một khu vực có

bán kính xác định. Bán kính hội tụ phụ thuộc vào các yếu tố sau:

- Tầm quan sát của mỗi cá thể,

- Số lƣợng cá thể trong bầy,

- Khoảng cách an toàn giữa các cá thể,

- Khả năng tƣơng tác giữa các cặp cá thể.

4.1.4 Mô phỏng quá trình tránh vật cản, tìm kiếm mục tiêu của robot bầy đàn

dựa trên nguyên lý NSB và logic mờ

Trong phần này, tác giả sẽ cung cấp một số kết quả mô phỏng để minh họa

các kết quả phân tích trong chƣơng 3. Đối với mỗi mô phỏng, không gian tìm

kiếm đƣợc thiết lập trên hệ tọa độ hai chiều [500, 500]. Các vị trí ban đầu của

robot, vật cản, đích đƣợc khởi tạo ngẫu nhiên. Số lƣợng robot trong bầy đƣợc sử

dụng để tìm kiếm một đích Goal duy nhất và tránh đƣợc các vật cản Obstacle

trên đƣờng đi. Lƣu đồ thuật toán mô phỏng quá trình điều khiển robot bầy đàn

dựa trên nguyên lý NSB và logic mờ đƣợc thể hiện trên hình 4.10a, b, c.

Giải thích các ký hiệu trong lƣu đồ và chƣơng trình mô phỏng phụ lục 2:

- (xo,yo), (xg, yg): lần lƣợt là tọa độ của vật cản và đích trong không gian 2

chiều xOy.

- kvo, kvg: lần lƣợt là hệ số vận tốc tránh vật cản và hệ số vận tốc tìm kiếm

đích.

- dat, doat, dmax: lần lƣợt là khoảng cách an toàn giữa các cá thể robot với

nhau, giữa robot với vật cản và khoảng cách nhìn xa nhất của mỗi robot.

- do, dg: lần lƣợt là khoảng cách thực tế giữa các cá thể robot với với vật cản và

với đích.

- Jop, Jog, Jsp: lần lƣợt là các ma trận giả nghịch đảo của các ma trận Jacobi Jo,

Jg, Js.

Bắt đầu

- Nhập N, M, K, detat, dat, doat, dmax - Nhập tham số bộ mờ f. - Nhập tọa độ (x,y), (xo,yo), (xg, yg) - Nhập kvo, kvg

k=0

74 - vo, vg, vs: lần lƣợt là các vận tốc tránh vật cản, tìm kiếm đích và duy trì bầy.

(1)

i=0

(2)

Sdeltax=Sdeltay=0

j=0

(3)

k1=0

(4)

S

j≠i

(8)

Đ

Tính d, do, dg

Đ

(6)

do

S

(5)

Hình 4.10a. Lƣu đồ thuật toán mô phỏng robot bầy đàn tránh vật cản

và tìm kiếm mục tiêu

75

(5)

(6)

Tính Jo theo (3.11)

Jo=[0 0]

Tính Jop, No, vo

Đ

dg>0

S

Tính Jg theo (3.15)

Jg=[0 0]

- Tính Jgp, Ng, vg - Tính Jog, Jogp, Nog

Đ

d>dmax

S

Tính Js theo (3.19)

Js=[0 0]

(7)

Hình 4.10b. Lƣu đồ thuật toán mô phỏng robot bầy đàn tránh vật

cản và tìm kiếm mục tiêu

76

(7)

(9)

Tính Js, Jsp, vs

S

(4)

k1=k1+1

k1=M

Tính v theo

Đ

Tính deltax, deltay

Tính x(k+1), y(k+1)

Tính Sdeltax, Sdeltay

Vẽ x(k+1), y(k+1)

S

(3)

j=N

j=j+1

S

i=i+1

(2)

i=N

Đ

(9)

Đ

S

k=k+1

(1)

k=K

Đ

Kết thúc

Hình 4.10c. Lƣu đồ thuật toán mô phỏng robot bầy đàn tránh vật cản

và tìm kiếm mục tiêu

Kết quả mô phỏng quá trình di chuyển tránh vật cản và tìm kiếm đích khi số

lƣợng robot trong bầy và vị trí của đích thay đổi đƣợc thể hiện trên hình 4.11.

Nhìn vào hình 4.11 cho thấy con đƣờng di chuyển của các robot trong bầy khi

các hệ số kvo là xác định âm và là xác định dƣơng đã đạt đƣợc kết quả: các

77 cá thể robot đã di chuyển đƣợc tới đích mà trên đƣờng đi chúng đã tránh đƣợc

một chƣớng ngại vật.

a) N=21, kvo=-1.5, =0.05 b) N=41, kvo= -0.5, =0.05

Hình 4.11. Quá trình mô phỏng robot bầy đàn di chuyển tìm kiếm đích với kvo

là xác định âm và là xác định dƣơng khi số lƣợng robot trong bầy thay đổi.

Hình 4.12 cho thấy khi các robot đã hội tụ về đích thì chúng chỉ di chuyển

xung quanh khu vực đích đến chứ không di chuyển ra xa.

])

])

a) N=15, , b) N=15, ,

) (

) ([

) (

) ([

])

])

( (

) (

) ([

) (

) ([

( (

t=50s. t=100s.

Hình 4.12. Kết quả mô phỏng sự ổn định theo thời gian của quá trình tụ bầy robot

bầy đàn.

Kết quả mô phỏng quá trình tìm kiếm đích và tránh vật cản của robot bầy đàn khi

78 hệ số thay đổi đƣợc thể hiện trên hình 4.13: Hệ số càng lớn thì khả năng

tránh đƣợc vật cản càng thấp (hình 4.13b).

a) N=21, M=3, , b) N=21, M=3, ,

])

])

, t=50s , t=20s

) (

) ([

) (

) ([

])

])

( (

) (

) ([

) (

) ([

( (

Hình 4.13. Quá trình mô phỏng robot bầy đàn di chuyển tìm kiếm đích khi chỉ có

hệ số thay đổi

Hình 4.14 là kết quả mô phỏng quá trình tìm kiếm đích và tránh vật cản

khi các hệ số và thay đổi:

- Hệ số càng lớn thì các cá thể di chuyển về đích càng nhanh.

- Muốn tăng hệ số nhƣng không để các cá thể robot trong bầy va chạm vào

vật cản thì đồng thời phải giảm hệ số , tức là càng dƣơng thì phải

càng âm.

- Số lƣợng vật cản M càng nhiều thì hệ số tránh vật cản phải càng âm. Hệ

số càng âm thì khả năng tránh vật cản của các cá thể robot càng lớn, nhƣng

thời gian di chuyển hội tụ về đích cũng sẽ lâu hơn.

79

a) N=21, M=4, b) N=21, M=4,

, t=50s. , t=50s.

c) N=21, M=4, d) N=21, M=4,

, t=50s. , t=70s.

e) N=21, M=4, f) N=21, M=4,

, t=70s. , t=200s.

Hình 4.14. Quá trình mô phỏng robot bầy đàn di chuyển tìm kiếm đích

khi các hệ số và thay đổi

80

Khi các hệ số là xác định dƣơng hoặc là xác định âm thì thông

qua hình 4.15a, có thể quan sát thấy rằng có một vài robot không tránh đƣợc vật

cản hoặc bầy đàn không hội tụ tại đích nhƣ hình 4.15b.

a) N=21, = 0.5, =0.05 b) N=13, = -1.5, =-0.05

Hình 4.15. Quá trình mô phỏng robot bầy đàn di chuyển tìm kiếm đích

với là xác định dƣơng hoặc là xác định âm.

Kết quả so sánh quá trình mô phỏng robot bầy đàn tránh vật cản, tìm kiếm

mục tiêu dựa trên kỹ thuật điều khiển NSB kết hợp với logic mờ với phƣơng

pháp điều khiển [50] đƣợc biểu diễn trong bảng 4.3. Từ bảng 4.3 nhận thấy, khi

điều khiển robot bầy đàn tránh vật cản và tìm kiếm mục tiêu bằng phƣơng pháp

[50] thì có một số cá thể trong bầy chƣa tránh đƣợc vật cản, nhƣng với phƣơng

pháp điều khiển NSB thì tất cả các cá thể trong bầy đều đã thực hiện tốt các

nhiệm vụ của mình. Hiệu quả của phƣơng pháp NSB đƣợc thấy rõ rệt nhất trong

trƣờng hợp môi trƣờng hoạt động của robot bầy đàn có chứa nhiều vật cản.

Nhận xét: Các kết quả mô phỏng quá trình thực hiện các nhiệm vụ tập thể của

robot bầy đàn ở trên đã khẳng định để hệ thống robot bầy đàn ổn định các mục

tiêu nhiệm vụ thì các điều kiện (3.24) và (3.25) phải đồng thời đƣợc thỏa mãn.

81 Bảng 4.3: So sánh kết quả mô phỏng trong trƣờng hợp sử dụng kỹ thuật NSB và

các phƣơng pháp khác

Kỹ thuật điều khiển NSB Phương pháp [50]

N=15, M=1, K=1000

N=21, M=4, K=1000

4.2 Kiểm nghiệm trên robot thực

4.2.1 Robot e – puck

Robot e – puck là một robot di động, đƣợc thiết kế nhỏ gọn, đƣợc sử dụng

cho mục đích giáo dục. Robot e – puck có cấu trúc phần cứng chắc chắn, linh

hoạt và giá thành r , phần mềm mở rất thuận tiện cho ngƣời sử dụng.

* Cấu trúc phần cứng:

82

E-puck đƣợc trang bị vi điều khiển dsPIC với 8kB RAM, 144kB bộ nhớ

nội, và đƣợc hỗ trợ biên dịch bởi GCC C. Bên cạnh đó e-puck còn đƣợc trang bị

một số cảm biến và cơ cấu chấp hành cho ph p tƣơng tác với môi trƣờng nhƣ

Loa

Bluetooth

Bộ nhận IR

Nút reset RS232

Cổng nạp chƣơng trình

Cảm biến gi a tốc

Công tắc 16 chân

LED

Nút ON-OFF

Camea

Micro

Pin Lion

Bánh xe với động cơ bƣớc

Cảm biến khoảng cách

hình 4.16.

Hình 4.16. Cảm biến và cơ cấu chấp hành của robot e-puck

- 2 động cơ bƣớc truyền động bánh xe, có thể hoạt động độc lập.

- 8 cảm biến hồng ngoại (IR) đƣợc đặt xung quanh robot để kiểm tra vị trí,

khoảng cách của vật cản hoặc cƣờng độ ánh sáng.

- 1 camera màu với độ phân giải 640x480. Tuy nhiên với vi xử lý với bộ nhớ 8k

RAM thì độ phân giải đƣợc giảm xuống còn 40x40, và camera này có thể ghi

lại hình ảnh với 4 khung hình trên giây.

- 2 bánh xe có thể chuyển động tiến/l i, quay trái/phải.

- 8 đ n LED phát sáng xung quanh robot.

- 1 loa để phát âm thanh.

- 3 micro để có thể thu đƣợc và định vị âm thanh.

- 1 cảm biến gia tốc để xác định sự thay đổi vị trí và góc quay.

- Bluetooth cho ph p điều khiển từ xa và truyền thông.

83

(a) (b)

Hình 4.17. (a) 8 cảm biến khoảng cách (IR0÷IR7),

(b) vị trí của 3 micro (MIC0÷ MIC2)

Cấu trúc phần cứng của e – puck đƣợc thể hiện trên hình 4.18.

Hình 4.18. Cấu trúc phần cứng của e - puck

84

* Giao diện của phần mềm:

Giao diện phần mềm gồm 3 phần:

- Phần thiết kế: tạo ra các vật thể, robot,… có thể tự tạo hoặc dựa trên các mẫu

có s n.

- Phần hiển thị thiết kế: hiển thị trực quan những gì đã thiết kế, phần này gọi là

World, sau khi sao lƣu sẽ có đuôi là .wbt.

- Phần lập trình: bao gồm các chƣơng trình đƣợc viết bằng C, C++, Python,…

dựa trên các hàm s n có, d ng để nạp vào robot.

Qua phân tích về đặc điểm phần cứng và phần mềm lập trình cho e-puck,

tác giả nhận thấy rằng việc lựa chọn e-puck làm cá thể vật lý cho bài toán mô tả

các hoạt động tập thể của bầy sinh học trong tự nhiên là rất ph hợp. Vì thế tác

giả đã lựa chọn robot e-puck để phục vụ cho phần kiểm định thuật toán đã đƣợc

xây dựng trong chƣơng 2.

4.2.2 Bài toán tụ bầy

Mục đích của chƣơng trình nhúng vào e –puck là điều khiển các e –puck

tụ về một khu vực tâm bầy khi chỉ biết khoảng cách và hƣớng giữa các cặp robot

với nhau nhờ vào 8 cảm biến hồng ngoại (từ IR0 đến IR7) đƣợc gắn ở xung

, tầm nhìn xa nhất của e – puck: 20cm. Ngoài

quanh thân robot nhƣ hình 4.17. Khoảng cách an toàn giữa các e – puck trong

thử nghiệm đƣợc đặt là

tầm quan sát của các cảm biến thì các e – puck sẽ không nhìn thấy nhau và giữa

chúng không tồn tại bất kỳ một mối liên kết nào, lúc đó các e – puck sẽ phải đi

tìm nhau bằng cách di chuyển theo vòng xoắn ốc to dần cho đến khi chúng nhìn

thấy ít nhất một cá thể khác trong bầy thì việc di chuyển theo vòng xoắn ốc dừng

, nếu ở

lại và chuyển sang chế độ di chuyển theo bầy đàn. Trong tầm quan sát của cảm

biến: các e - puck sẽ tiến lại gần nhau khi ở khoảng cách xa hơn

thì các e – puck sẽ lùi ra xa. Khi khoảng cách giữa các e

85

khoảng cách gần hơn

– puck đã ở giới hạn an toàn thì các robot chỉ có thể di chuyển trong khu vực hội

tụ và bầy e - puck chỉ dừng khi ngắt nguồn cung cấp.

Giả thiết môi trƣờng hoạt động của bầy e – puck là môi trƣờng thuần nhất, không

E - puck

Bộ tính toán mờ ( )

có chƣớng ngại vật.

Cơ cấu

, 

8 cảm biến hồng ngoại IR

truyền động

dsPIC 30F6014A 14Mips

Hình 4.19. Sơ đồ khối thể hiện mối quan hệ vào/ra của bộ mờ tính

toán lực hút/đẩy của từng cá thể e - puck

Hình 4.20. Sơ đồ biểu diễn khoảng cách và góc lệch  của e – puck.

Lƣu đồ thuật toán điều khiển quá trình hội tụ của bầy e – puck đƣợc biểu diễn nhƣ hình 4.21.

p

Nhập

Đọc tín hiệu từ 8IR

vt=6.5cm/s

86 Bắt đầu

S

IR1|| IR2 || IR3 || IR4 || IR5 || IR6 || IR7=1

vp=1.36.5cm/s

(4)

Đ

- Tính - Tính -

Tính hàm hút/đẩy ( )

(1)

Điều khiển e - puck quay - (2)

Điều khiển e – puck hút/đẩy

(3)

S

Ấn nút dừng?

Đ

Dừng

Hình 4.21. Lƣu đồ thuật toán điều khiển e - puck

(1)

Đ

87

(2)

S

Đ

Quay trái một góc

vp=1.3cm/s, vt=0

S

Vt=

Quay phải một góc

vp=0, vt=1.3cm/s

-

Hình 4.20. Lƣu đồ thuật toán điều khiển e - puck quay.

(2)

vp= -vt =1.3cm/s

Đ

S

(3)

Đ

vp= vt =3.25 -6.5

S

Đ

vp= vt =0.25 -0.5

-

S

Đ

vp= vt =0.75 -5.5

-

S

Đ

vp= vt =6.5cm/s

-

S

(4)

Hình 4.21. Lƣu đồ thuật toán điều khiển e – puck hút/đẩy.

88

= 2cm giữa các cặp robot.

Giải thích thuật toán cài đặt cho mỗi robot e – puck:

- Bƣớc 1: Nhập giá trị khoảng cách an toàn - Bƣớc 2: Đọc tín hiệu từ tổ hợp 8 cảm biến IR của robot, gồm: khoảng cách tới

cá thể khác , góc  (tƣơng ứng với thứ tự của cảm biến IR bị tác động, 

mang dấu dƣơng khi ngƣợc chiều kim đồng hồ, và mang dấu âm khi c ng

chiều kim đồng hồ).

 Nếu không có IR nào tác động, có nghĩa là e – puck này không tìm thấy

đồng loại lúc đó e – puck sẽ di chuyển theo vòng xoắn ốc to dần c ng

chiều kim đồng hồ cho đến khi có ít nhất một trong các IR trên nó tác

động.

 Nếu có ít nhất một IR tác động, có nghĩa e – puck đã tìm thấy đồng loại.

- Bƣớc 3: Điều khiển robot quay:

 Nếu =0 (cảm biến IR0 & IR7 tác động): robot không quay.

 Nếu >0 (cảm biến (IR4 & IR5) hoặc (IR5 & IR6) hoặc (IR6 & IR7)

tác động): robot quay trái một góc .

 Nếu <0 (cảm biến (IR0 & IR1) hoặc (IR1 & IR2) hoặc (IR2 & IR3)

tác động): robot quay phải một góc .

- Bƣớc 4: Điều khiển robot tiến/l i tƣơng ứng với các lực hút/đẩy ( ):

 Nếu

: robot tiến với vận tốc ̇ ( ). : robot l i với vận tốc ̇ ( ). : robot đứng yên ̇ (hoặc robot dừng hẳn, hoặc vận tốc

 Nếu

 Nếu

bánh trái và bánh phải có độ lớn bằng nhau nhƣng ngƣợc chiều).

- Bƣớc 5: Các bƣớc 2, 3 và 4 đƣợc lặp đi lặp lại cho đến khi các robot tụ lại

trong một khu vực và ấn nút dừng.

Quá trình hội tụ của một bầy gồm 3 robot e – puck đƣợc miêu tả trên hình

4.24. Ban đầu đặt các robot vào vị trí bất kỳ trong môi trƣờng thử nghiệm không

có chƣớng ngại vật. Khi e – puck nhìn thấy đồng loại thì nó sẽ tiến lại gần, nếu

89 không thấy bất kỳ cá thể nào khác thì nó sẽ di chuyển theo vòng xoắn ốc để tìm

cho đến khi nhìn thấy. Sau 6s các robot đều đã nhìn thấy nhau và cùng di chuyển

về phía nhau, khoảng cách giữa chúng đã đƣợc rút ngắn. Sau 16s, các robot đã tụ

lại trong một khu vực nhƣng do khoảng cách giữa 2 cặp cá thể gần hơn so với

khoảng cách quy định nên hai cá thể này đã l i ra cho đến khi khoảng cách giữa

chúng bằng khoảng cách an toàn (20s).

t=0s t=10s

t=16s t=20s

Hình 4.24. Quá trình hội tụ của 3 robot e - puck

90

t=0s t=10s

t=15s t=25s

Hình 4.25. Quá trình hội tụ của 4 robot e - puck

Từ kết quả thử nghiệm quá trình hội tụ của robot bầy đàn hình 4.24 và

4.25 cho thấy: trong quá trình di chuyển các cá thể robot không va chạm vào

nhau và luôn hƣớng về phía nhau để tạo thành một bầy, sau một khoảng thời

gian đủ lớn, các cá thể robot đã hội tụ lại trong một khu vực xác định. Điều này

một lần nữa khẳng định các nghiên cứu lý thuyết đã đƣợc trình bày ở chƣơng 2

là hoàn toàn đúng đắn, ph hợp với logic bầy đàn trong tự nhiên.

Kết luận chƣơng 4:

- Chƣơng 4 đã ứng dụng Matlab để mô phỏng kiểm nghiệm tính đúng đắn của

các nghiên cứu lý thuyết đã phát triển trong chƣơng 2 và chƣơng 3. Các kết quả

mô phỏng đã khẳng định việc sử dụng logic mờ để mờ hóa lực hút/đẩy giữa các

cá thể robot trong bầy là rất hiệu quả.

91 - Chƣơng 4 đã hiện thực hóa thuật toán đƣợc phát triển ở chƣơng 2 vào một

nhóm robot thực.

92 KẾT LUẬN VÀ KIẾN NGHỊ

Kết luận

Luận án đã xây dựng đƣợc thuật toán tính toán lực hút/đẩy giữa các cá thể

robot trong bầy đàn dựa trên cơ sở logic mờ. Phát biểu và chứng minh hai định

lý về ổn định tụ bầy của hệ thống, góp phần lý luận cho điều khiển robot bầy đàn

có động học phi tuyến.

Luận án đã đề xuất phƣơng pháp điều khiển robot bầy đàn thực hiện nhiều

hơn một nhiệm vụ bằng kỹ thuật điều khiển hành vi dựa trên không gian Null và

logic mờ. Phát biểu và chứng minh một định lý về điều kiện ổn định của hệ

thống robot thực hiện các nhiệm vụ tránh vật cản và tìm kiếm mục tiêu.

Kết quả mô phỏng máy tính và thử nghiệm trên nhóm robot thực đã khẳng

định các thuật toán đã đề xuất đảm bảo đƣợc độ tin cậy, nâng cao chất lƣợng

điều khiển và tính ổn định của robot bầy đàn. Có khả năng áp dụng vào thực tế,

phù hợp với lĩnh vực an ninh, quốc phòng.

Kiến nghị

Với những kết quả đạt đƣợc, luận án đã đánh giá đƣợc sự ổn định của

robot bầy đàn. Tuy nhiên để hoàn thiện hơn nữa, tác giả xin đề xuất một vài

hƣớng nghiên cứu tiếp theo nhƣ sau:

- Phát triển thuật toán theo hƣớng môi trƣờng hoạt động của robot bầy đàn phức

tạp hơn: có nhiễu, không biết trƣớc chƣớng ngại vật,...

- Nghiên cứu đƣa thuật toán vào ứng dụng trong giám sát an ninh quốc phòng.

93 DANH MỤC CÁC CÔNG TRÌNH CÔNG BỐ CỦA TÁC GIẢ LIÊN QUAN

ĐẾN LUẬN ÁN

1. Le Hung Lan, Le Thi Thuy Nga, Le Hong Lan (2013), “Aggregation Stability

of Multiple Agents With Fuzzy Attraction and Repulsion Forces”,

MMAR 2013, pp.81-85, ISBN 978-1-4673-5506-3.

2. Lê Thị Thúy Nga, Lê Hùng Lân (2013), “ Phân tích sự ổn định t bầy của

robot bầy đàn sử d ng hàm hút/đẩy mờ”, Tạp chí Khoa học Giao thông

Vận tải, (10), trang 88-93, ISSN 1859 – 2724.

3. Lê Thị Thúy Nga, Vũ Sơn, Phí Văn Lâm, Trần Ngọc Tú (2013), “ Ứng d ng

logic mờ trong điều khiển robot bầy đàn tránh vật cản”, Tạp chí Khoa

học Giao thông Vận tải, (10), trang 106-11, ISSN 1859 – 2724.

4. Lê Thị Thúy Nga, Lê Hùng Lân (2014), “ Điều khiển robot bầy đàn tìm kiếm

mồi và tránh vật cản sử d ng logic mờ ”, Tạp chí Khoa học Giao thông

Vận tải, (3), trang 15-20, ISSN 1859 – 2724.

5. Lê Thị Thúy Nga , Lê Hùng Lân (2014), “ Ứng d ng logic mờ trong điều

khiển robot bầy đàn”, Kỷ yếu Hội nghị “Đổi mới- Chìa khóa cho sự phát

triển bền vững”- Viện Ứng dụng Công nghệ - Bộ KHCN.

6. Lê Thị Thúy Nga, Nguyễn Hoàng Vân, Nguyễn Việt Dũng (2015),„„ Điều

khiển robot tự hành bằng phương pháp điều khiển hành vi dựa trên

không gian Null”, Tạp chí GTVT (Bộ GTVT), (7), ISSN 2354 - 0818.

7. Le Thi Thuy Nga, Le Hung Lan (2015),„„Application of Null Space Based

Behavior Control to the Swarm Ro ot‟s Control, Modern Mechanical

Engineering”, (5), pp.97-104, ISSN 2164-0165.

8. Lê Thị Thúy Nga, Lê Hùng Lân (2015), „„Điều khiển robot bầy đàn tránh vật

cản và tìm kiếm m c tiêu”, VCCA 2015, trang 87-93, ISBN: 978-604-

913-429-6.

94 9. Lê Thị Thúy Nga (2013), “Nghiên cứu sự ổn định của robot bầy đàn”, Đề tài

NCKH cấp trƣờng 2013.

95 TÀI LIỆU THAM KHẢO

1. Nguyễn Thị Phƣơng Hà (2007), Lý thuyết điều khiển tự động hiện đại, NXB

ĐHQG.

2. Lê Thị Thúy Nga, Lê Hùng Lân (2013), “ Phân tích sự ổn định tụ bầy của

robot bầy đàn sử dụng hàm hút/đẩy mờ”, Tạp chí Khoa học Giao thông

Vận tải, (10), trang 88-93.

3. Lê Thị Thúy Nga, Vũ Sơn, Phí Văn Lâm, Trần Ngọc Tú (2013), “ Ứng dụng

logic mờ trong điều khiển robot bầy đàn tránh vật cản”, Tạp chí Khoa học

Giao thông Vận tải, (10), trang 106-11.

4. Lê Thị Thúy Nga, Lê Hùng Lân (2014), “ Điều khiển robot bầy đàn tìm kiếm

mồi và tránh vật cản sử dụng logic mờ ”, Tạp chí Khoa học Giao thông

Vận tải, (3), trang 15-20.

5. Lê Thị Thúy Nga, Lê Hùng Lân (2015), „„Điều khiển robot bầy đàn tránh vật

cản và tìm kiếm mục tiêu”, VCCA 2015, trang 87-93.

6. Phan Xuân Minh, Nguyễn Doãn Phƣớc (2006), Lý thuyết điều khiển mờ, NXB

KHKT.

7. Anh Duc Dang, Joachim Horn (2015), “Formation Control of Leader-

Following UAVs to Track a Moving Target in a Dynamic Environment”,

Journal of Automation and Control Engineering, Vol. 3, No. 1, February,

pp.1-8.

8. A. J. Ijspeert, A. Martinoli, A. Billard, L. M. Gambardella (2001),

“Collaboration through the exploitation of local interactions in

autonomous collective robotics: The stick pulling experiment”,

Autonomous Robots, 11(2), pp.149–171.

9. A. Marino, L. E. Parker, G. Antonelli, F. Caccavale (2012), “A Decentralized

Architecture for Multi-Robot Systems Based on the Null-Space-

96

Behavioral Control with Application to Multi-Robot Border Patrolling”,

Springer Science - Business Media Dordrecht.

10. A. R. Teel, G. Antonelli, K. Y. Pettersen (2015), “Stability analysis for set-

based control within the singularity-robust multiple task-priority inverse

kinematics framework”, 54th IEEE Conference on Decision and Control

(CDC), pp.171-178.

11. C.W. Reynolds (1987), “Flocks, Herds, and Schools: A Distributed

Behavioral Model - Symbolics Graphics Division”, Published in

Computer Graphics, 21(4), pp. 25-34.

12. C. R. Kube, H. Zhang (1993), “Collective robotics: From Social Insects to

Robots”, Adaptive Behavior 2(2), pp.189-219.

13. C. Jost, R.Jeanson, J. Gautrais, M. Asadpour, G. Caprari, G. Theraulaz

(2005), “Aggregation Behaviour as a Source of Collective Decision in a

Group of ockroach-Like-Robots Simon Garnier”, Springer - Verlag

Berlin Heidelberg, pp.169-178.

14. C. R. Kube (2000), “Cooperative transport by ants and robots”, Eric

Bonabeau Robotics and Autonomous Systems 30, pp.85–101.

15. D. J Stilwell, J. S Bay (1993), “Toward the development of a material

transport system using swarms of ant-like robots”, Robotics and

Automation Proceedings, IEEE International Conference on, pp.766-771.

16. D. J. Bruemmer, D. D. Dudenhoeffer, M. D. McKay, M. O. Anderson

(2002), “A Robotic Swarm for Spill Finding and Perimeter Formation”,

Box 1625 Idaho Falls, U.S.A, ID 83415-3779.

17. D. Garagic (2005), “On delay – dependent stability of a swarm of networked

autonomous vehicles under communication constraints”, In Proceedings

of the IEEE Swarm Intelligence Symposium, pp.297-301.

97 18. D. Gu, H. Hu (2008), “Using Fuzzy Logic to Design Separation Function in

Flocking Algorithms”, IEEE Transaction on Fuzzy Systems, Vol.16,

No.4, pp.826-838.

19. E. Gat, R. Desai, R. Ivlev, J. Loch, D.P. Miller (1994), “Behavior control for

robotic exploration of planetary surfaces”, IEEE Transactions on

Robotics and Automation, 10(4), pp.490-503.

20. F. A rrichiello, S. Chiaverini, P. P edone, A. A. Zizzari, G. Indiveri (2009),

“The nulls pace based behavioral control for nonholonomic mobile robots

with actuators velocitys aturation”, In The 2009 IEEE International

Conference on Robotics and Automation, Kobe, Japan, pp.12-17.

21. F. Arrichiello, S. Chiaverini, G. Indiveri, P. Pedone (2010), “The Null-

Space-based Behavioral Control for Mobile Robots with Velocity

Actuator Saturations”, The International Journal of Robotics Research,

Vol 29, No 10, pp.1317-1337.

22. G. Zecca, P. Couderc, M. Banatre, R. Beraldi (2009), “Swarm Robot

Synchronization Using RFID Tags”, Pervasive Computing and

Communications, IEEE International Conference on, pp.1-4.

23. G. Antonelli, F. Arrichiello, S. Chiaverini (2008), “The null-space-based

behavioral control for autonomous robotic systems”, J. Intell. Serv.

Robot, Vol. 1, No. 1, Jan, pp.27-39.

24. G. Antonelli (2008), “Stability analysis for prioritized closed loop inverse

kinematic algorithms for redundant robotic systems”, In Proc. IEEE Int.

Conf.Robot. Autom., Pasadena, CA, pp. 1993-1998.

25. G. Golub, C. V. Loan (1996), “Matrix Computations”, 3rd ed. ed. Baltimore,

MD: Johns Hopkins Univ. Press.

98 26. H. G. Tanner, A. Jadbabaie, G. J. Pappas (2003), “Stable Flocking of Mobile

Agents”, Part I: Fixed Topology, Proceedings of the 42nd IEEE

Conference on Decision and Control, Volume 2, pp. 2010-2015.

27. Hanada, Y. G. Lee, N. Y. Chong (2007), “Adaptive Flocking of a Swarm of

Robots Based on Local Interactions”, Sch. of Inf. Sci., Japan Adv. Inst. of

Sci. & Technol, Nomi Swarm Intelligence Symposium. SIS2007, pp.340-

347.

28. H. Sadeghian, L. Villani, M. Keshmiri, B. Siciliano (2013), “Dynamic multi

- priority control in redundant robotic systems”, Robotica, Vol. 31,

pp.1155-1167.

29. H. Hashimoto, S. Aso, S. Yokota, A.Sasaki, Y. Ohyama, H. Kobayashi

(2008), “Stability of swarm robot based on local forces of local Swarms”,

SICE Annual Conference, pp.1254-1257.

30. H. Yu, J. Jian, Y. Shen (2010), “Flocking Control of a Group of Agents

Using a Fuzzy – Logic – Based Attractive/Repulsive Function”, Intt. J.

Communications, Network and System Sciences, pp.569-577.

31. Io, Ganymede, Callisto (1995), “A Multiagent Robot Trash - Collecting

Team”, AI Magazine, Vol. 16 No. 2, pp.39 – 51.

32. J. Peters, M. Mistry, F. Udwadia, J. Nakanishi, S. Schaal (2008), “A unifying

methodology for robot control with redundant DOFs”, Auton. Robots,

Vol. 24, No. 1, pp.1-12.

33. Kelly, I. D. Keating, D.A (1996), “Flocking by the fusion of sonar and active

infrared sensors on physical autonomous mobile robots”, Proc.

Mechatronics „96.

34. L. L. Smith, G. K. Venayagamoorthy, P.G. Holloway (2006), “Obstacle

Avoidance in Collective Robotic Search Using Particle Swarm

ptimization”, Faculty Research & Creative Works. ID 1761.

99 35. L. Bayindir, E. Sahin (2007), “A Review of Studies in Swarm Robotics”,

Turk J Elec Engin, Vol.15, No.2, Tubitak, pp.115-147.

36. L. E. Parker (1999), “Cooperative Robotics for Multi-target Observation”,

Intelligent Automation and Soft Computing, special issue on Robotics

Research at Oak Ridge National Laboratory, 5 (1), pp.5-19.

37. L. E. Parker (1996), “On the design of behavior based multi robot teams”,

Advanced Robotics , 10(6), pp.547-578.

38. L. Wang, H. Fang (2010), “Stability Analysis of Practical Anisotropic

Swarms”, IEEE Trans Auto. Control, pp.768-772.

39. L. X. Wang (1997), “A Course in Fuzzy Systems and Control”, Prentice-

Hall, Inc. Upper Saddle River, NJ, USA.

40. L. H. Lan, L. T. T. Nga, L. H. Lan (2013), “Aggregation Stability of Multiple

Agents With Fuzzy Attraction and Repulsion Forces”, MMAR 2013,

pp.81-85.

41. L. T. T. Nga, L. H. Lan (2015), „„Application of Null Space Based Behavior

Control to the Swarm Robot‟s Control”, Journal Modern Mechanical

Engineering (5), pp.97-104.

42. L. C. Bento, G. Pires, U. Nunes (2002), “A Behavior Based Fuzzy Control

Architecture for Path Tracking and Obstacle Avoidance”, Proceedings of

the 5th Portuguese Conference on Automatic Control, Aveiro, pp.341-

346.

43. Mataric (1995), “Behaviour - based control: Examples from navigation,

learning, and group behaviour”, Journal of Experimental & heoretical

Artificial Intelligence, pp.323-336.

44. Miswanto, I. Pranoto, H. Muhammad, D. Mahayana (2011), “The Collective

Behaviour of Multi-Agents System for Tracking a Desired Path”,

100

International Journal of Basic & Applied Sciences IJBAS-IJENS, Vol. 11,

No.1, pp.81-86.

45. N.Correll1, A. Martinoli1 (2009), “Towrds Multi - Robot inspection of

Industrial Machinery - From Distributed Converage Algorithms to

Experiments with Miniature Robotic Swarms”, IEEE Robotics &

Automation, pp.103-112.

46. N. Miyata, J. Ota, T. Arai, H. Asama (2002), “Cooperative Transport by

Multiple Mobile Robots in Unknown Static Environments Associated

with Real-Time Task Assignment”, IEEE Transactions on Robotics and

Automation, Vol. 18, No. 5, October, pp.769-780.

47. N. Li, Y. Wu, X. Wang (2014), “A Swarm Model for Obstacle Avoidance

and Its Emergent Behavior Analysis”, Journal of Computational

Information Systems, pp. 1449-1463.

48. O. Soysal, E. Sahin (2005), “Probabilistic aggregation strategies in swarm

robotic systems”, In Proc. of the IEEE Swarm Intelligence Symposium,

(Pasadena, California), pp. 325-332.

49. R. Groß, M. Dorigo (2004), “Group transport of an object to a target that

only some group members may sense”, Lecture Notes in Computer

Science 3242, pp. 852- 861.

50. R. Brooks (1986), “A robust layered control system for a mobile robot”,

IEEE Journal on Robotics and Automation; (2), pp.14–23.

51. R. C. Arkin (1989), “Motor schema based mobile robot navigation”,

The International Journal of Robotics Research, 8(4), pp.92-112.

52. S. Etemadi, A. Alasty, G. Vossoughi (2008), “Stability Investigation of a

Robotic Swarm with Limited Field of View”, Proceedings of the 17th

World Congress The International Federation of Automatic Control

Seoul, Korea, July 6-11, pp.10794-10799.

101 53. S. M. Lee, J. H. Kim, H. Myung (2011), “Design of Interval Type – 2 Fuzzy

Logic Controllers for Flocking Algorithm”, IEEE International

Conference on Fuzzy Systems, June 27-30, Taipei, Taiwan, pp.2594-2599.

54. S. Aso, S. Yokota, H. Hashimoto, Y. Ohyama, A. Sasaki, H. Kobayashi

(2008), “Control and Stability for Robotic Swarm based on Center of

Gravity of Local Swarm”, Industrial Electronics, ISIE 2008, IEEE

International Symposium on, pp.1341-1346.

55. S. Roy, D. Banerjee, C. Guha Majumder, A. Konar, R. Janarthanan (2012),

“Dynamic Obstacle Avoidance in Multi – Robot Motion Planning Using

Prediction Principle”, Int.Jr.of Advanced Computer Engineering and

Architecture, Vol.2 No.2, pp.269-283.

56. T. Balch, R. C. Arkin (1998), “Behavior based formation control for

multirobot teams”, IEEE Transactions on Robotics and Automation,

14(6), pp.926-939.

57. V. Gazi, M. Passino (2002), “Stability Analysis of Swarms”, Proceedings of

the American Control Conference, pp.1813-1818.

58. V. Caggiano, A. De Santis, B. Siciliano, A. Chianese (2006), “A biomimetic

approach to mobility distribution for a human - like redundant arm”, In

Proc. 1 st IEEE RAS/EMBS Int. Conf. Biomed. Robot. Biomechatron., pp.

393-398.

59. W. Li (2008), “Stability Analysis of Swarms with General Topology”, IEEE

Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics,

Vol. 38, No. 4, pp.1084-1097.

60. W. Zhang, M.S. Branicky, S. M. Phillips (2001), “Stability of Networked

Control Systems”, IEEE Control Systems Magazine, pp.84-99.

102 61. X. Ge, X. Jiang (2010), “A New Robust Stability Criterion of Networked

Control Systems”, Intelligent Control and Automation (WCICA), 8th

World Congress on, pp.2855-2860.

62. X. B. Chen, F. Pan, L. Li, H. Fang (2006), “Practical Stability Analysis for

Swarm Systems”, IEEE, pp.3904-3909.

63. X. Liang, X. Li (2010), “A New Decentralized Planning Strategy for

Flocking of Swarm Robots ”, Journal of Computers, Vol.5, No. 6, pp.

914-921.

64. X. Dang, Q. Zhang (2010), “Stability and PID Control for Networked

Control System”, Intelligent Control and Automation (WCICA), 8th

World Congress on, pp.921-926.

65. Y. Liu, K. M. Passino (2003), “Stability Analysis of Swarms in a Noisy

Environment”, Proceedings of the 42nd IEEE, Conference on Decision

and Control, pp.3573-3578.

66. Y. Liu, K. M. Passino, M. Polycarpou (2003), “Stability Analysis of One-

Dimensional Asynchronous Swarms”, IEEE Transactions on Automatic

Control, Vol. 48, No. 10, pp.1848-1854.

67. Y. Zhu, X. Tang (2010), “Overview of Swarm Intelligence”, International

Conference on Computer Application and System Modeling, pp.400-403.

68. Y. H. Yong, Z. Yuling (2008), “Fuzzy System in Multivehicle Swarming”,

Fifth International Conference on Fuzzy Systems and Knowledge

Discovery, pp.211-215.

69. Y. Oh, W. Chung, Y. Youm (1998), “Extended impedance control of

redundant manipulators based on weighted decomposition of joint space”,

Journal of Robotic Systems, Vol. 15, No. 5, pp.231-258.

70. Y. Cao, A. S. Fukunaga, A. B. Kanhg (1997), “Cooperative mobile robotics:

Antecedents and directions”, Autonomous Robots, (4), pp.7-27.

103 71. Y. Chevaleyre, F. Sempe, G. Ramalho (2004), “A theoretical analysis of

multi – agent patrolling strategies”, In Autonomous Agents and Multi -

Agent Systems, pp.1524-1525.

72. Z. Xue, J. Zeng, C. Feng, Z. Liu (2011), “Stability Analysis of Exponential

Type Stochastic Swarms with Time - Delay”, International Journal of

Innovative Management, Information & Production, Vol.2, No.3, pp.1-

12.

73. Z. Xue, J. Zeng, C. Feng, Z. Liu (2011), “Swarm Target Tracking Collective

Behavior Control with Formation Coverage Search Agents & Globally

Asymptotically Stable Analysis of Stochastic Swarm”, Journal of

Computers, Vol.6, No.8, pp.1772-1780.

74. Zu, Linan (2007), “Obstacle avoidance of multi mobile robots based on

behavior decomposition reinforcement learning”, IEEE International

Conference on Robotics and Biomimetics, pp.1018-1023.

75. Z. Cheng, H. T. Zhang, M. Z. Q. Chen (2011), “Aggregation pattern

transitions by slightly varying the attractive/repulsive function”, PloS one

6 e22123.

76. Z. Liu, Y. Tian, M. Yang (2010), “Behavior analysis in free space and

obstacle environment of swarm robot systems based on Vicsek model”,

In 2nd International Conference on Advanced Computer Control

(ICACC), pp.224-229.

77. https://www.cyberbotics.com/e-puck

78. www.mathworks.com

104 PHỤ LỤC

function result = robotwchuan

N=10; % So lƣợng robot = 10

C = 500; % kich thuoc không gian di chuyển CxC

% Nhap toa do ngau nhien tren mat phang toa do [500, 500]

A = C*rand(2, N);

hold off;

plot(A(1,:),A(2,:), 'o');

grid on;

axis([0 C 0 C]);

title('Map');

% Vong lap cac buoc tinh

K=1000; % So vong lap

delta=0.1; % buoc dich chuyen

Sdeltax1 = 0;

Sdeltax2 = 0;

dat = 30; % khoảng cách an toàn

f = 0;

deltax = 0;

deltay = 0;

tracking = 0;

for k = 0:(K-1)

for i=1:N

Sdeltax=0;

1. Chƣơng trình mô phỏng hội tụ:

Sdeltay=0;

for j=1:N

if (j ~= i)

% Khoang cach tu Robot j toi Robot i tai buoc tinh thu k

d=distance( A(:,j),A(:,i) );

f = a( A(:,j), A(:,i), -0.85, -0.5, -0.45, -8.5, -5.7, -3.2, 30 );

deltax= (f/d)*(A(1,j)-A(1,i));

deltay= (f/d)*(A(2,j)-A(2,i));

Sdeltax = Sdeltax + deltax*dettat;

Sdeltaxy = Sdeltay + deltay* dettat;

end

end

% Tinh toa do moi cua buoc k+1

A(1,i) = A(1,i) + Sdeltax;

A(2,i) = A(2,i) + Sdeltay;

% Xuat ra toa do moi buoc k+1

tracking(i*2-1, k+1) = A(1, i);

tracking(i*2, k+1) = A(2, i);

end

end

result = tracking;

hold all;

for i = 1:N

plot(tracking(i*2-1, :), tracking(i*2, :));

plot(A(1,:),A(2,:), '.');

legend('Vi tri dau', 'Duong di','Vi tri cuoi');

105

xlabel('Chieu rong (m)');

ylabel('Chieu dai (m)')

end

end

% Tính khoang cách 2 điểm A và B

function dist = distance(A, B)

dist = norm(A-B);

end

% Hàm logic mờ tính lực hút/dẩy

function result = a( M, N, A1, A2, A3, A, B, C, dat)

A4=0; A5=-A1; A6=-A2; A7=-A3;

G=-A; F=-B; E=-C; D=0;

if(distance(M,N)<= dat + A)

result = A1;

return

end

if(A+ dat < distance(M,N)&& distance(M,N)<=B+ dat)

result = ((A2-A1)/(B-A))*(distance(M,N)- dat)+ (-A*A2+A1*B)/(B-A);

return

end

if(B+ dat < distance(M,N)&& distance(M,N)<=C+ dat)

result = ((A3-A2)/(C-B))*(distance(M,N)- dat)+ (-B*A3+A2*C)/(C-B);

return

end

if(C+theta < distance(M,N)&& distance(M,N)

result = ((A4-A3)/(D-C))*(distance(M,N)-theta)+ (-C*A4+A3*D)/(D-C);

106

return

end

if(distance(M,N)==theta+D)

result = A4;

return

end

if(D+theta < distance(M,N)&& distance(M,N)<=E+theta)

result = ((A7-A4)/(E-D))*(distance(M,N)-theta)+(-D*A7+A4*E)/(E-D);

return

end

if(E+theta < distance(M,N)&& distance(M,N)<=F+theta)

result = ((A6-A7)/(F-E))*(distance(M,N)-theta)+(-E*A6+A7*F)/(F-E);

return

end

if(F+theta < distance(M,N)&& distance(M,N)<=G+theta)

result = ((A5-A6)/(G-F))*(distance(M,N)-theta)+(F*A5+A6*G)/(G-F);

return

end

if(distance(M,N)> theta + G)

result = A5;

return

end

end

107

2. Chƣơng trình mô phỏng quá trình tránh vật cản và tìm kiếm mục tiêu của

function result = robottranhvatcan

robot bầy đàn:

N=15; % So robot

C = 500; % kich thuoc ban do CxC

M = 1; % Số lƣợng vật cản

M1 = 1; % Số lƣợng đích đến

A = C*rand(2,N); % Tọa độ ban đầu của các robot

O = C*rand(2,M); % Tọa độ của các vat can

O1 = C*rand(2,M1); % Tọa độ của đích

K=1500; % So vong lap

deltat=0.1; % Buoc dich chuyen

Sdeltax = 0;

Sdeltay = 0;

dat = 0;

dgat=0;

doat=10;

do=0;dg=0;

fuzzy = 0;

deltax1 = 0;

deltax2 = 0;

tracking = 0;

R = 30; % Ban kinh vat can

R1=10; % Ban kinh đích

kvo=-1.5; % cac he so kvo âm và kvg dƣơng

108

kvg=0.05;

mainFigure = figure( ...

'Position',[50, 50, 600, 600], ...

'color', [1 1 1], ...

'Menubar', 'none', ...

'Name','Swarm', ...

'DoubleBuffer', 'on');

plot(A(1,:),A(2,:), 'o');

for k = 0:(K-1)

for i=1:N

Sdeltax=0; Sdeltay=0;

for j=1:N

for k1=1:M

for k2=1:M1

if (j ~= i)

d = distance( A(:,j),A(:,i) );

do1 = distance(O(:,k1),A(:,i));

do=do1-R;

dg1 = distance(O1(:,k2),A(:,i));

dg=dg1-R1;

kc=distance(O1(:,k2),O(:,k1));

alphao=atan((O(2,k1)-A(2,i))/(O(1,k1)-A(1,i)));

109

alphag=atan((O1(2,k2)-A(2,i))/(O1(1,k2)-A(1,i)));

if (do

Jo=[(O(1,k1)-R*cos(alphao)-A(1,i))/do (O(2,k1)-R*sin(alphao)-A(2,i))/do];

else Jo=[0 0];

end

Jop=pinv(Jo); % Giả nghịch đảo của Jo

Io=[1 0; 0 1];

No=Io-Jop*Jo;

vo=-kvo*Jop*(do-doat);

if (dg>=0)

Jg=[(O1(1,k2)-R1*cos(alphag)-A(1,i))/dg (O1(2,k2)-R1*sin(alphag)-A(2,i))/dg];

else Jg=[0 0];

end

Jgp=pinv(Jg); % Giả nghịch đảo của Jg

Ig=[1 0; 0 1];

Ng=Ig-Jgp*Jg;

vg=kvg*Jgp*(dg);

Jog=[Jo; Jg];

Jogp=pinv(Jog); % Giả nghịch đảo của Jog

Iog=[1 0; 0 1];

Nog=Iog-Jogp*Jog;

Mo=Jo*No;

110

Mg=Jg*Nog;

Mog=Jo*Nog;

Js=[(A(1,j)-A(1,i))/d (A(2,j)-A(2,i))/d];

Jsp=pinv(Js);

f = a( A(:,j), A(:,i), -850, -710, -500, -350, -140, 250, 0, -0.750, 30 );

vs=Jsp*f;

v=vo+No*vg+Nog*vs;

H=[Jop Jgp];

H1=[Jsp Jogp];

a=rank(Jop)

b=rank(Jgp)

c=a+b

a1=rank(Jsp)

b1=rank(Jogp)

c1=a1+b1

e=rank(H)

e1=rank(H1)

deltax=v(1,1);

deltay=v(2,1);

Sdeltax = Sdeltax + deltax*deltat;

Sdeltay = Sdeltay + deltay*deltat;

end

111

end

end

end

% Tinh toa do moi cua buoc k+1

A(1,i) = A(1,i) + Sdeltax;

A(2,i) = A(2,i) + Sdeltay;

% Xuat ra toa do moi buoc k+1

tracking(i*2-1, k+1) = A(1, i);

tracking(i*2, k+1) = A(2, i);

end

end

figure(mainFigure);

axis([0 C 0 C]);

grid on;

hold on;

for k1=1:M

x = O(1,k1) + R*cos(linspace(0, 2*pi, 16));

y = O(2,k1) + R*sin(linspace(0, 2*pi, 16));

line(x, y, 'Color', [.1 .5 .5]);

end

for k2=1:M1

x = O1(1,k2) + R1*cos(linspace(0, 2*pi, 16));

112

y = O1(2,k2) + R1*sin(linspace(0, 2*pi, 16));

line(x, y, 'Color', [.1 .5 .5]);

end

for i = 1:N

plot(tracking(i*2-1, :), tracking(i*2, :));

plot(A(1,:),A(2,:), '.');

end

end

%% function decleare

function dist = distance(A, B)

dist = norm(A-B);

end

function result = a( M, N, A1, A2, A3, A4, A5, A7, B1, B2, dat)

A6=0; B3=-0.9; B4=0.9;

if(distance(M,N)<= dat + A1)

result = 0;

return

end

if(A1+ dat < distance(M,N)&& distance(M,N)<=A2+ dat)

result = ((B1-B2)/(A1-A2))*(distance(M,N)- dat)+ (A1*B2-A2*B1)/(A1-A2);

return

end

113

if(A2+ dat < distance(M,N)&& distance(M,N)<=A3+ dat)

result = ((B2-B3)/(A2-A3))*(distance(M,N)- dat)+ (A2*B3-A3*B2)/(A2-A3);

return

end

if(A3+ dat < distance(M,N)&& distance(M,N)<=A4+ dat)

result = B3;

return

end

if(A4+ dat < distance(M,N)&& distance(M,N)<=A5+ dat)

result = ((B3-B2)/(A4-A5))*(distance(M,N)- dat)+ (A4*B2-A5*B3)/(A4-A5);

return

end

if(A5+ dat < distance(M,N)&& distance(M,N)<=A6+ dat)

result = ((B2-B1)/(A5-A6))*(distance(M,N)- dat)+ (A5*B1-A6*B2)/(A5-A6);

return

end

if(A6+ dat < distance(M,N)&& distance(M,N)<=A7+ dat)

result = ((B1-B4)/(A6-A7))*(distance(M,N)- dat)+ (A6*B4-A7*B1)/(A6-A7);

return

end

if(distance(M,N)>A7+dat)

result = 0;

114

return

end

end

115