4

Click here to load reader

Hệ tìm kiếm đa robot trong vùng bị thảm họa sử dụng thuật toán tối ưu bày đàn

  • Upload
    pvdai

  • View
    249

  • Download
    2

Embed Size (px)

DESCRIPTION

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011Hệ tìm kiếm đa robot trong vùng bị thảm họa sử dụng thuật toán tối ưu bày đàn Multi-robot Searching System in a disaster area using Particle Swarm Optimization AlgorithmPhạm Duy Hưng, Phạm Minh Triển và Trần Quang Vinh Trường Đại học Công nghệ, Đại học Quốc gia Hà nội e-Mail: [email protected] Tóm tắt:Bài báo giới thiệu về nghiên cứu giải quyết bài toán tìm mục tiêu tối ưu cho một hệ gồm nhiều robot di động hoạt động tự quản trị (đa

Citation preview

Page 1: Hệ tìm kiếm đa robot trong vùng bị thảm họa sử dụng thuật toán tối ưu bày đàn

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

Hệ tìm kiếm đa robot trong vùng bị thảm họa

sử dụng thuật toán tối ưu bày đàn

Multi-robot Searching System in a disaster area

using Particle Swarm Optimization Algorithm

Phạm Duy Hưng, Phạm Minh Triển và Trần Quang Vinh

Trường Đại học Công nghệ, Đại học Quốc gia Hà nội

e-Mail: [email protected]

Tóm tắt:

Bài báo giới thiệu về nghiên cứu giải quyết bài toán

tìm mục tiêu tối ưu cho một hệ gồm nhiều robot di

động hoạt động tự quản trị (đa robot) sử dụng thuật

toán tối ưu bầy đàn PSOA (Particle Swarm

Optimization Algorithm). Cơ sở lý thuyết và mô

phỏng bài toán giả định hệ đa robot tìm kiếm khu vực

có nồng độ nhiễm xạ cao trong vùng bị thảm họa hạt

nhân đã được thực hiện. Mỗi robot là các phần tử hoạt

động tự trị, có khả năng định vị, thu thập thông số môi

trường, xử lý dữ liệu và truyền thông. Kết quả thực

nghiệm mô phỏng cho thấy tính khả thi của ứng dụng.

Abstract:

The paper presents resolving a problem of target

searching optimization for an autonomous multi-robot

system using a Particle Swarm Optimization

algorithm PSO. The theoretical fundamental and

simulation for the actions of the multi-robot system in

a disaster area is introduced. The system has the duty

to find a location which is highly affected by

radioactivity. Each robot is an autonomous one which

has the capability of localization, data acquisition,

calculation and communication. The simulating result

shows the feasibility of method.

Keyword: muli-robot system, particle swarm

optimization algorithm, PSO.

1. Phần mở đầu

Tối ưu một mục tiêu cho một nhóm các robot di động

hoạt động tự trị và có thể tương tác với nhau hiện

đang là một bài toán được nhiều người quan tâm [6].

Bài toán có thể mở rộng cho trường hợp đa mục tiêu

có nhiều tiềm năng ứng dụng [2], nhất là trong lĩnh

vực cảnh báo, giám sát các thông số môi trường hoặc

tìm kiếm, cứu hộ, cứu nạn tại những nơi mà con

người không thể lui tới. Thí dụ trong thảm họa hạt

nhân ở Nhật bản vừa qua, mỗi robot cứu hộ thông

minh trong một nhóm, qua các phương tiện định vị

của mình, qua các kết quả đo liều phóng xạ ở vị trí đo

hiện tại và qua các thông tin với robot lân cận có thể

tham gia hoạt động trong toàn nhóm để có thể nhanh

chóng đi đến khu vực có nồng độ phóng xạ cao nhất

trong một vùng thảm họa rộng lớn. Có một vài

phương pháp giải quyết bài toán này như cách sử

dụng thuật toán di truyền GA. Chúng tôi đã nghiên

cứu một phương pháp trong đó sử dụng thuật toán tối

ưu bày đàn PSOA (Particle Swarm Optimization

Algorithm) để giải quyết [1], [3], [4], [7].

Thuật toán tối ưu bầy đàn là dạng thuật toán tối ưu

quần thể sử dụng trí tuệ bầy đàn phỏng theo hành vi

của côn trùng, động vật như kiến, mối, ong, chim. Các

phần tử trong đàn có sự tương tác, trao đổi thông tin

với nhau cùng tìm kiếm mục tiêu tối ưu, chẳng hạn

đàn kiếm tìm đường đi ngắn nhất từ tổ tới nơi có

nguồn thức ăn, đàn chim gọi nhau tìm đến nơi có

nhiều thức ăn,…

Một số dạng thuật toán bầy đàn đang được nhiều

người quan tâm, phát triển phải kể đến là: thuật toán

di truyền GA (Genetic Algorithm), thuật toán tiến hóa

EA (Evolution Algorithm), thuật toán đàn kiến ACO

(Ant Colony Optimization), thuật toán tối ưu PSO

(Particle Swarm Optimization). Các thuật toán này

đều dựa trên nguyên lý học tăng cường với một số

nguyên tắc tiến hóa [5], theo đó các phần tử trong đàn

dựa vào thông tin lịch sử bản thân và thông tin của

các phần tử trước đó để điều chỉnh thông số của mình

hướng tới giá trị tối ưu.

Các nghiên cứu về thuật toán bầy đàn hiện nay tập

trung vào hai hướng chính: một là nghiên cứu cải tiến

thuật toán dựa trên mô hình gốc, hai là nghiên cứu

ứng dụng thuật toán cho các bài toán thực tế [2].

Thuật toán tối ưu bầy đàn PSO được James Kennedy

(nhà tâm lý học xã hội) và Russell Eberhart (kỹ sư

điện) đề xuất năm 1995 [1] tại Hội nghị của IEEE

phỏng theo hành vi tìm kiếm thức ăn của đàn chim,

hoạt động dựa trên ba nguyên tắc [6] cơ bản là: đánh

giá (evalution) – giá trị mục tiêu được xác định cho

các phần tử cục bộ và khả năng nhớ giá trị tối ưu cục

bộ của mỗi phần tử riêng lẻ; so sánh (comparison) –

vị trí thực hiện tốt nhất cục bộ của mỗi phần tử được

so sánh với nhau để tìm gia phần tử khả dĩ nhất, gọi là

tối ưu toàn cục; bắt chước (imitation) – các phần tử

trong quần thể bắt chước hành động của các phần tử

tốt hơn nhằm sớm tiếp cận giá trị mục tiêu. Thuật toán

PSO đã và đang được ứng dụng trong nhiều lĩnh vực

khác nhau như trong kỹ thuật điều khiển, trong thiết

kế tối ưu động cơ điện, v.v…[2].

Bài báo này trình bày về kết quả mô phỏng giả định

một hệ đa robot tìm kiếm và cảnh báo khu vực có

556

Page 2: Hệ tìm kiếm đa robot trong vùng bị thảm họa sử dụng thuật toán tối ưu bày đàn

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

nồng độ nhiễm xạ cao trong vùng bị thảm họa hạt

nhân và sử dụng thuật toán PSO để giải quyết. Mỗi

robot tương ứng với một phần tử (particle) trong thuật

toán, hoạt động tự trị, có khả năng định vị, thu thập

thông số môi trường, truyền thông và tính toán.

Trường hợp này, hệ thống giải quyết bài toán tối ưu

đơn mục tiêu. Các kết quả mô phỏng đã chứng minh

tính đúng đắn của giải pháp. Các thực nghiệm mô

phỏng cũng chỉ ra khả năng áp dụng PSOA tương

đương với trường hợp dùng giải thuật GA nhưng

trong trường hợp này số thông số đòi hỏi ít hơn, thời

gian tìm mục tiêu toàn cục nhanh và thực hiện đơn

giản [3].

2. Nội dung chính

2.1. Thuật toán PSO

Như đã nói ở trên, PSO là thuật toán tối ưu phỏng

theo hành vi tìm mồi của đàn chim, sử dụng trí tuệ

bầy đàn. Ban đầu, đàn chim bay theo một hướng ngẫu

nhiên. Trong quá trình hoạt động có những cá thể

trong đàn tìm kiếm được nơi chứa thức ăn. Tùy theo

lượng thức ăn nhiều hay ít mà cá thể đó gửi thông tin

đến các cá thể lân cận khác trong bầy và lan truyền

trên toàn quần thể. Dựa vào thông tin nhận được, mỗi

cá thể sẽ điều chỉnh hướng bay và vận tốc phù hợp để

tìm đến nơi có nhiều thức ăn nhất.

Thuật toán này [1] sử dụng một số các phần tử tạo

thành đàn di chuyển xung quanh không gian tìm kiếm

để tìm ra mục tiêu tốt nhất. Mỗi phần tử coi là một

điểm trong không gian đa chiều, hoạt động theo kinh

nghiệm bản thân và kinh nghiệm của các phần tử

khác. Mỗi phần tử lưu giữ giá trị mục tiêu tốt nhất của

bản thân đã đạt được gọi là pbest (giá trị mục tiêu cục

bộ tốt nhất). Giá trị mục tiêu tốt nhất trong số các giá

trị mục tiêu cục bộ là gbest. Nhiệm vụ quan trọng của

thuật toán là đẩy nhanh giá trị mục tiêu mỗi phần tử

tới pbest và gbest như H.1. dưới đây:

H.1. Xu hướng cập nhật thông số thuật toán PSO với

xk, x

k+1 tương ứng là vị trí mục tiêu hiện tại và tiếp

theo; vk, v

k+1tương ứng là vận tốc của phần tử ở mục

tiêu hiện tại, mục tiêu tiếp theo; vpbest, vgbest là vận tốc

ở điểm pbest và gbest.

Mỗi phần tử sẽ cố gắng thay đổi vị trí của nó dựa trên

các thông tin: vị trí hiện tại, vận tốc hiện tại, khoảng

cách giữa vị trí hiện tại và pbest, khoảng cách giữa vị

trị hiện tại và gbest. Mô hình toán học được chỉ ra

như sau:

vki = w.v

ki + c1.r1.(pbesti – x

ki) + c2.r2.(gbest – xi) (1)

xki = x

ki + v

ki, (2)

Trong đó, vki, x

ki tương ứng là vận tốc và vị trí của

phần tử i tại lần lặp k; w là hàm quán tính; c1 và c2 là

hệ số cục bộ và hệ số toàn cục; r1, r2 là giá trị ngẫu

nhiên phân bố đều trong khoảng giữ 0 và 1; pbesti là

giá trị tối ưu cục bộ tại phần tử i, gbest là giá trị tối ưu

toàn cục. Hàm quán tính w có giá trị lớn sẽ tạo điều

kiện để tìm kiếm mục tiêu toàn cục, ngược lại sẽ hỗ

trợ tìm kiếm mục tiêu cục bộ tốt hơn. Do vậy, bằng

cách giảm tuyến tính hệ số quán tính w từ giá trị lớn

xuống giá trị nhỏ, thuật toán PSO cho hiệu suất tốt

hơn so với thiết lập hệ số w cố định.

Thuật toán còn đưa ra khái niệm giao thức vòng (ring

topology) [6] trong đó quy định số phần tử lân cận có

thể trao đổi thông tin với nhau và giá trị tối ưu cục bộ

được xác định trong giao thức vòng đó.

H.2. Lưu đồ thuật toán PSO.

557

Page 3: Hệ tìm kiếm đa robot trong vùng bị thảm họa sử dụng thuật toán tối ưu bày đàn

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

Hoạt động của thuật toán gồm các bước chính sau:

Bước 1: khởi tạo

- Thiết lập các hệ số c1, c2 thiết lập số lần lặp tối

đa n_exec_max

- Khởi tạo vị trí ban đầu xi của các phần tử một

cách ngẫu nhiên (i = 1 đến N với N là số phần tử

trong bầy đàn).

- Khởi tạo vận tốc ban đầu vi ngẫu nhiên với 0 vi

vmax (i = 1 đến N).

- Đặt n_exec = 1.

Bước 2: Đánh giá giá trị hàm mục tiêu tương ứng với

vị trí của phần tử.

Bước 3 : Nếu Pki pbest thì pbest = P

ki

Bước 4: Xác định gbest thông qua việc so sánh các

giá trị Pki (tìm giá trị tốt nhất của pbest)

Bước 5: Cập nhật giá trị vận tốc theo công thức (1)

và vị trí theo công thức (2).

Bước 6: kiểm tra điều kiện dừng, nếu được thỏa mãn

thì xác định giá trị gbest.

Thông thường, thuật toán thực hiện n_exec vòng lặp

nêu trên, mỗi vòng lặp gọi là một lần chạy. Như đã

mô tả, trong 1 lần chạy có trung bình nb_eval lần

đánh giá giá trị mục tiêu để tìm giá trị tối ưu. Thuật

toán hoạt động tốt hay không phụ thuộc vào số lần

đánh giá trung bình thấp hay cao và giá trị mục tiêu

có đạt như mong muốn hay không.

2.2. Hệ tìm kiếm đa robot sử dụng thuật toán PSO

Giả định có N robot hoạt động trong khu vực có thảm

hỏa hạt nhân nhằm tìm kiếm và cảnh báo cho con

người biết nơi có nồng độ nhiễm xạ nguy hiểm. Mỗi

robot tương ứng với một phần tử trong thuật toán

PSO. Các robot này hoạt động tự trị và đồng bộ, có

khả năng đo mức nhiễm xạ của môi trường, có bộ xử

lý tính toán, có khả năng định vị và truyền thông nội

bộ với nhau. Giao thức vòng với K phần tử (K<N)

được áp dụng, theo đó K robot ở lân cận nhau có thể

truyền thông tin cho nhau nhằm lan truyền thông tin

tới cả quần thể. Ban đầu, các robot được đặt ngẫu

nhiên vào không gian tìm kiếm 2D. Vị trí và vận tốc

của robot được xác định bởi véctơ 2 chiều x và v. Tại

mỗi vị trí x robot đo được nồng độ nhiễm xạ của môi

trường có giá trị tương ứng với giá trị hàm mục tiêu f

trong đó f đạt cực tiểu tại những nơi có mức nhiễm xạ

vượt mức nguy hiểm. Bài toán này coi mỗi robot là

một chất điểm có tọa độ và vận tốc tại từng thời điểm

được đo và điều khiển chính xác trong không gian

phẳng 2 chiều. Tạm thời chưa tính đến các tham số

động học, động lực học của các robot như khối lượng,

kích thước, địa hình, v.v…

Thuật toán PSO được cài đặt với hệ số w xác định

trong khoảng giới hạn từ 0.4 tới 0.9 ; hệ số

c1 = c2 = 1,2. Ngưỡng cảnh báo mức phóng xạ nguy

hiểm eps = 0.9 (điều kiện dừng). Giả định, nồng độ

phóng xạ trong môi trường phân bố đều, có giá trị

giảm dần tỷ lệ với bình phương khoảng cách kể từ

khu vực trung tâm vùng nhiễm xạ, trường hợp này

hàm mục tiêu dùng để đối sánh kết quả có dạng

f = (x - xst)2 trong đó xst là độ lệch chuẩn cho phép,

đối với không gian 2D, hàm này trở thành

f = (x1 - xst)2 + (x2 - xst)

2.

Sau khi tiếp nhận các giá trị khởi tạo ban đầu về vị trí

và vận tốc, các robot sử dụng cảm biến đo mức độ

nhiễm xạ tại vị trí ban đầu để xác định giá trị hàm

mục tiêu tương ứng. Thông tin này được các robot

trong đàn gửi cho nhau từ đó xác nhận giá trị mục tiêu

tối ưu ban đầu. Tiếp đến, hệ thống thực hiện 2 quá

trình lặp:

- Quá trình thứ nhất: các robot khởi tạo ma trận liên

kết vòng với k robot lân cận, trong phần mô phỏng

chúng tôi sử dụng k = 3. Đây là ma trận vuông có kích

thước (k k) = (3 x 3) trong đó các phần tử của ma

trận có giá trị bằng 1 tương ứng với cặp đôi robot có

thể trao đổi thông tin với nhau, chẳng hạn robot số 2

và số 5 có thể trao đổi thông tin với nhau thì phần tử

K[2, 5] = 1, bằng 0 trong trường hợp ngược lại. Dựa

trên ma trận liên kết và thông tin từ 2 robot lân cận,

mỗi robot có thể xác định được giá trị mục tiêu cục bộ

pbest trong nhóm. Cùng với giá trị gbest đã có các

robot tiến hành cập nhật phương trình (1) và (2) để

xác vị trí và hướng di chuyển tới mục tiêu mới. Khi di

chuyển đến vị trí mới, các robot tiếp tục sử dụng cảm

biến đo mức độ nhiễm xạ tại ví trí này đồng thời gửi

thông tin trong nhóm các robot lân cận để lan truyền

tới toàn quần thể nhằm xác định giá trị mục tiêu tối ưu

toàn cục gbest ở vị trí hiện tại. Quá trình này được lặp

lại cho đến khi giá trị mục tiêu toàn cục thỏa mãn điều

kiện dừng, tức là có robot trong đàn đã tìm ra vị trí có

nồng độ phóng xạ vượt ngưỡng nguy hiểm. Mô phỏng

quá trình này, chung tôi sử dụng một biến nb_eval để

đếm số lần đánh giá giá trị mục tiêu tối ưu toàn cục.

Xin lưu ý, giá trị gbest thỏa mãn điều kiện dừng

không đồng nghĩa với điểm đó có nồng độ phóng xạ

cao nhất mà chỉ khẳng định được đó là điểm có nồng

độ phóng xạ ở mức nguy hiểm.

- Quá trình lặp thứ hai: thực hiện liên tiếp quá trình

lặp thứ nhất với số lần xác định (trong bài toán này

chúng tôi sử dụng biến n_exec). Mỗi lần hệ thống sẽ

tìm ra một giá trị gbest thỏa mãn điều kiện dừng, tức

là tìm ra một điểm có nồng độ phóng xạ ở mức nguy

hiểm. Sau n_exec_max lần lặp trong quá trình hai,

cùng với khả năng nhớ các thông tin trong mỗi lần

thực hiện, robot sẽ xác định được giá trị mục tiêu thấp

nhất trong số các giá trị gbest.

Quá trình lặp để tìm mục tiêu nêu trên hoàn toàn dựa

vào sự tương tác, trao đổi và cập nhật thông tin nội bộ

giữa các robot, không có sự can thiệp của các yếu tố

ngoài hệ thống tìm kiếm. Chỉ khi mục tiêu tối ưu

được xác định, hệ thống sẽ có những cảnh báo cần

thiết gửi ra khỏi phạm vi hệ tìm kiếm để cảnh báo cho

con người.

H.3. dưới đây vẽ đồ thị hàm mục tiêu dựa trên giá trị

mục tiêu tối ưu trong mỗi lần đánh giá của bầy robot.

558

Page 4: Hệ tìm kiếm đa robot trong vùng bị thảm họa sử dụng thuật toán tối ưu bày đàn

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

H.3. Đồ thị hàm mục tiêu được dựng

dựa trên các giá trị tối ưu

2.3. Kết quả mô phỏng và thảo luận

Số liêu từ bảng 1 cho thấy trong tất cả các lần chạy,

các robot đều tìm thấy giá trị tối ưu theo yêu cầu của

bài toán, điều này chứng tỏ thuật toán hội tụ. Số lần

đánh giá trung bình cũng gia tăng khi tăng số phần tử

của bầy đàn.

Bảng 1. Kết quả mô phỏng với số lượng robot khác

nhau:

Số

robot N Eval_mean Eps_mean

Standard

dev.

Best min

value

Success

rate

6 116.40 0.4068 0.2634 0.0002 100%

12 199.44 0.4369 0.2495 0.0032 100%

18 262.44 0.4174 0.2715 0.0001 100%

24 318.24 0.4129 0.2456 0.0036 100%

30 384.30 0.3987 0.2521 0.0048 100%

Với Eval_mean là số lần đánh giá trung bình,

Eps_mean là giá trị tối ưu trung bình; Standard dev.

là độ lệch chuẩn so với giá trị tối ưu nhỏ nhất, Best

min value là giá trị tối ưu nhỏ nhất trong số các giá

trị tối ưu, Success rate là tỷ lệ số lần chạy thu được

kết quả tối ưu.

H.4. cho thấy sự bám đuổi giá trị tối ưu cục bộ pbest

(đường đứt nét) với giá trị tối ưu toàn cục gbest

(đường liền nét) trong một chu trình đánh giá thuộc

lần chạy thứ 70 của chương trình mô phỏng.

H.4. Giá trị hàm mục tiêu cục bộ và toàn cục

trong một lần đánh giá

3. Kết luận

Trong bài báo này, chúng tôi đã trình bày cơ sở lý

thuyết thuật toán bầy đàn PSO và mô phỏng thành

công bài toán giả định về một hệ tìm kiếm đa robot sử

dụng thuật toán bầy đàn. Hệ thống này có tốc độ hội

tụ nhanh, tỷ lệ trúng mục tiêu cao, trong giả định mật

độ phóng xạ phân bố đều và giảm dần theo bình

phương khoảng cách so với vị trị tâm thì tỷ lệ này

luôn đạt 100%.

Kết quả mô phỏng cũng cho thấy tiềm năng ứng dụng

của thuật toán PSO trong các mô hình thực tiễn nhất

là áp dụng đối với hệ tìm kiếm đa robot.

Để đưa ứng dụng này vào thực tế còn rất nhiều việc

phải nghiên cứu tiếp. Một trong những công việc cần

tiếp tục thực hiện đó là việc mô phỏng hệ thống này

tính đến khối lượng, kích thước và các tham số động

học, động lực học của từng robot. Việc đồng bộ các

phần tử riêng lẻ cũng như duy trì mạng robot cũng

cần được quan tâm. Thực hiện thành công bài toán mô

phỏng này sẽ là điều kiện tốt để thử nghiệm bài toán

trên hệ thống robot thật hiện có tại phòng thí nghiệm.

Bên cạnh đó việc mở rộng mô hình cho bài toán tìm

kiếm đa mục tiêu cũng là việc làm có ý nghĩa.

Tài liệu tham khảo

[1] James Kennedy and Russell Eberhart, “Particle

swarm optimization” Neural Networks, 1995,

Proceedings., EEE Intl. Conf. on, Vol.4, Iss., pp.

1942-1948.

[2] Russell C.Eberhart, Yuhui Shi, “Particle Swarm

Optimization: Developments, Applications and

Resources”, Proceedings of the 2001 congress on

Evolutionary Computation 2001; pp 81-86.

[3] Jaco F. Schutte, “The Particle Swarm

Optimization Algorithm”, EGM 6365 – Structural

Optimization, Fall 2005.

[4] Daniel N.Wilke, “Analysis of the particle swarm

optimization algorithm”, Master of Engineering

Thesis, University of Pretoria, South Africa, 2005.

[5] Julian Togelius, Renzo De Nardi, Alberto

Moraglio, “Geometric PSO + GP = Particle Swarm

Programming”, Evolutionary Computation (2008),

Publisher: IEEE press, pp. 3594-3600.

[6] Jim Pugh and Alcherio Martinoli, “Distributed

Adaptation in Multi-Robot Search using Particle

Swarm Optimization”, SAB’08 Proceedings of the

10th

international conference on simuliation of

adaptive behavior: From Animals to Animats, 2008.

[7] Boonserm Kaewkamnerdpong and Peter J.

Bentley, “Perceptive particle swarm optimization: an

Investigation”, Proceedings of IEEE Swarm

Intelligence Symposium, pp. 169-176, California, 8-

10 June 2005.

559