Click here to load reader
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
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
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
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
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