TNU Journal of Science and Technology
229(15): 43 - 50
http://jst.tnu.edu.vn 43 Email: jst@tnu.edu.vn
FINDING THE OPTIMAL PATH IN AN ENVIRONMENT WITH STATIC
AND DYNAMIC OBSTACLES
Pham Thi Lien*, Tran Tuan Viet, Nguyen Quang Hiep
TNU - University of Information and Communication Technology
ARTICLE INFO
ABSTRACT
Received:
19/8/2024
The problem of transport routing in dynamically changing
environments has been studied for many years. The construction of the
optimal path-finding problem is essential in reality. Especially, when
the delivery cost tends to increase steadily and is often equal to the
cost of goods. The study highlights that the minimum delivery time is
considered the optimization criterion, not the travel distance as in most
previous research works. We have used the optical-geometric method
proposed by the authors A.L.Kazakov and A.A.Lempert to develop the
application, based on the similarity between light propagation in
optically heterogeneous environments. This paper proposes an
algorithm for constructing routes that avoid static and dynamic
obstacles in environments with many changes. Several computational
test models have been implemented, showing the effectiveness of the
proposed modeling tools and algorithms.
Revised:
13/11/2024
Published:
14/11/2024
KEYWORDS
Routing problems
Optimization
Optical geometry methods
Optimal path
Eikonal equations
TÌM ĐƯỜNG ĐI TỐI ƯU TRONG MÔI TRƯỜNG CÓ VT CẢN TĨNH
VÀ VT CẢN ĐỘNG
Phm Th Liên*, Trn Tun Vit, Nguyn Quang Hip
Trường Đại học Công nghệ thông tin và Truyền thông – ĐH Thái Nguyên
THÔNG TIN BÀI BÁO
Ngày nhn bài:
19/8/2024
Ngày hoàn thin:
13/11/2024
Ngày đăng:
14/11/2024
T KHÓA
Bài toán định tuyến
Tối ưu hóa
Pơng pp nh hc quang hc
Tìm đường đi tối ưu
Phương trình Eikonal
DOI: https://doi.org/10.34238/tnu-jst.10970
* Corresponding author. Email: ptlien@ictu.edu.vn
TNU Journal of Science and Technology
229(15): 43 - 50
http://jst.tnu.edu.vn 44 Email: jst@tnu.edu.vn
1. Gii thiu
Trước đây, nhiều thuật toán tìm đường đi đã được đề xut nhằm xác định đường đi tối ưu
nâng cao hiu qu trong các điều kin khác nhau. d: thuật toán m đường đi A* được phát
triển để tìm đường đi ngắn nhất, trong khi D* tìm đường đi bao phủ hoàn chnh t điểm ngun
đến điểm đích. Mặc các thuật toán này đã ci thin hiu qu trong việc tìm đường đi, nhưng
tr ngại động (vt cản động) th tn tại trong môi trường đã không được xem xét. Tuy nhiên,
trong mt s trưng hp không th b qua những thay đổi, ảnh hưởng của môi trường [1], [2].
Khi giải bài toán định tuyến trong môi trường động, chiến lược tìm kiếm heuristic thường được
s dụng để đưa ra giải pháp trong hu hết các trưng hp ca bài toán. Khaili [3] đã trình bày
thuật toán tìm đường đi trong môi trường động có chướng ngi vt s dng thut toán A*. Trong
[4], vấn đề điều hướng t động của máy bay không người lái được xem xét mt thuật toán đã
được đề xut cho phép xây dng qu đạo di chuyn không va chm vi các vt th khác.
Trong [5], [6], các tác gi cũng sử dng thut toán A* tiếp cn theo chiều hướng thích ứng để xây
dng tuyến đường trong môi trường chướng ngi vật. Cũng trong [7], [8], với môi trường
được phân tách thành biểu đồ đim tham chiếu trước khi áp dng thut toán A*, gii pháp lc
điểm tham chiếu phân vùng ranh giới được s dụng để giảm kích thước ca biểu đồ. Mt lp
riêng bit ca các bài toán xây dng tuyến đường linh động cho robot bao gm các bài toán trong
đó xuất hiện chướng ngi vật không được biết trước [9] [11]. Trong [12], để phát trin quy
trình điều hướng robot chuyển động trong môi trường thay đổi đặc tính, các tác gi đã đề xut
mt cách tiếp cn da trên cây ngu nhiên khám phá nhanh. Cách tiếp cn này cho phép tìm
đường đi nhanh chóng, nhưng không đm bo tính tối ưu của nó. Trong [13], vấn đề thay đổi l
trình d kiến khi v trí của chướng ngi vật thay đổi hoc khi xut hiện chướng ngi vt mới được
xem xét. Các tác gi đã đề xut một phương pháp làm thay đổi đường đi đã hoạch định để robot
vượt qua các chướng ngi vt. Khi nghiên cứu các bài toán định tuyến cho robot t hành dưới
nước, các tác gi trong các công trình nghiên cu [14], [15] đã trình bày một cách tiếp cn hai
cấp độ để gii quyết bài toán định tuyến động ca một nhóm robot dưới nước.
Ngoài ra, dựa vào phương pháp hình học quang học được đ xut bi các tác gi A.L.Kazakov
A.A.Lempert năm 2011 [16], da trên s tương tự gia s truyền ánh sáng trong môi trường
không đồng nht v mt quang hc gim thiu chức năng tích phân, được s dụng như một
công c nghiên cu. vy, chúng tôi xem xét bài toán xây dng mt tuyến đường tối ưu trong
một môi trường động, thay đi trng thái ca theo nhng khong thi gian nhất định. Mc
đích là để xây dng tuyến đường nhanh nht giữa hai điểm vi việc vượt qua các rào cn và tránh
các chướng ngi vt. Các thuật toán được đề xut dựa trên phương pháp quang-hình hc vic
tìm giá tr cc tiu ca hàm tích phân [16].
2. Đặt vấn đề và phương pháp giải quyết
Cho các điểm A(xa, ya) B(xb, yb) thuc min X R2 hàm f(t, x, y) > 0 tốc độ chuyn
động tc thi ti mỗi điểm (x, y) X và nếu f(t, x, y) = 0 thì việc đi qua điểm này b cm.m f(t,
x, y) liên tc tng phn trong các biến không gian x, y hng s tng phn trong t với các điểm
chuyn tiếp đã biết ti, i = 1, . . . , N. Cng ta cn tìm mt tuyến đưng mang li m cc tiu:
( , )
( , ) = ,
min ( , , )
G a b
d
ab f t x y

(1)
đây G(a,b) tập hợp các đường cong liên tc, thuc v không gian X kết nối các điểm
A và B.
T quan điểm ca quang hc hình học, tích phân (1) xác định thời gian trong đó ánh sáng
thoát ra t điểm A đến điểm B, chuyển động trong một môi trường không đồng nht v mt
quang hc [16]. Theo nguyên Huygens, bt k điểm nào trong vùng X mà ánh sáng đã tới đều
th đưc coi nguồn sáng độc lập [17]. Do đó, bằng cách gii phóng mt sóng ánh sáng t
điểm A, chúng ta th xây dng qu đạo chuyển động ca ghi li photon s hạt đầu
TNU Journal of Science and Technology
229(15): 43 - 50
http://jst.tnu.edu.vn 45 Email: jst@tnu.edu.vn
tiên chm tới điểm B. Sau đó, di chuyển theo hướng ngược li ca thi gian, chúng ta có th khôi
phc qu đạo của các điểm photon, đó sẽ là đường cong mong mun.
Vì môi trường không đổi theo thời gian nên điểm mu cht đây là cấu trúc ca mt sóng ánh
sáng ti thời điểm thay đi trng thái. Các mặt sóng này được xác định t nghim của phương
trình Eikonal [18], đây là phương trình vi phân từng phần không đồng nht phi tuyến bc nht
||u(x)|| = 1/f(x), (2)
Trong đó, là toán t gradient, ||·|| là chun Euclide.
Các đường mc ca hàm mong muốn u(x) = const xác định v trí ca mt sóng ti các thi
điểm khác nhau.
Giải phương trình (2) chúng ta một nghiệm riêng. Lưu ý rằng đối vi mt lp nhất định
ca hàm f(x), nghim là chính xác.
3. Thut toán và thc nghim tính toán
3.1. Thut toán
Xét
2
XR
vùng din tích gii hn
( , , )f t x y
tốc độ tc thi ca sóng ánh sáng ti
một điểm
( , )x y X
thời điểm
t
. Trong quá trình di chuyển, đối tượng s b ảnh hưởng bi
các vt cản tác động
1, 1,
( ) ( , ) : ( , , ) 1
i
i u i u
H t H x y f t x y
==
= = =
.
Thut toán 1: Thut toán lan truyn sóng ánh sáng
Chúng ta hãy xem t thut toán lan truyn sóng t một điểm
0
( , ) \ ( )
aa
A x y X H t
thi
điểm
0
tt=
.
D liệu đầu vào:
UA=
- Là mảng lưu trữ các điểm truyn sóng ánh sáng th cp,
p
T
- Thi gian di chuyn ca sóng ánh sáng t một điểm
A
đến điểm th cp ca sóng ánh
sáng
p
,
p
S
- Là ngun th cp ca sóng ánh sáng tới điểm
p
c 1. Ánh sáng truyn t nguồn sáng A theo 8 hướng trong môi trường quang hc. Chúng
ta xác định được các mặt trước ca sóng sau khong thi gian t. Thi gian di chuyn t ngun
sáng A ti các mặt trước ca sóng (xp, yp) được tính như sau:
jj
V p pV
T T t=+
, đây
22
00
( ) ( )
2,
( , , ) ( , , )
jj
j
jj
p V p V
pV
p p V V
x x y y
tg t x y g t x y
+
=+
c 2. Nếu giá tr
j
V
T
tìm thy nh hơn giá trị trước đó trong nút được đề cp và s được lưu
vào
j
V
Sp=
.
Thc hiện bước 1 và 2 đối vi tt c các phn t sóng th cp.
Kết qu ca thut toán này thi gian nh nhất đ mt sóng ánh sáng phát ra t một điểm
đến được tng phn t ca tp hp.
Thuật toán 2. Tìm đường đi từ một điểm đến một điểm
Tìm đường đi từ điểm A đến điểm B vi thời gian ban đầu
0
t
,
0
, \ ( )A B X H t
. Gi s
( ; )L A B
- lưu danh sách các điểm trên đường đi từ điểm A tới điểm B. Ban đu
( ; )L A B B=
.
c 1. T đim A thc hin lan truyn sóng ánh sáng theo thut toán 1, vi thi gian
p
T
xác
định ti tt c các điểm
0
\ ( )p X H t
và ngun sóng ánh sáng th cp
p
S
.
TNU Journal of Science and Technology
229(15): 43 - 50
http://jst.tnu.edu.vn 46 Email: jst@tnu.edu.vn
c 2. T đim đích B m điểm ngun
B
S
truyn tới nó và lưu trữ
B
S
vào danh sách
( ; )L A B
( ; ) ( ; ) ,
B
L A B L A B S=
c 3. Nếu
B
S
trùng với điểm A thì thut toán kết thúc. Trường hợp ngược li, gán B =
B
S
và thc hin li bước 2.
c 4. Các phn t được lưu trong danh sách
( ; )L A B
chính các điểm s phải đi qua khi
đi từ A đến B.
3.2. Mô hình thc nghim
Thc nghim 1. Khảo sát bài toán tìm đường đi của đối tượng t điểm ban đầu
1(0;0)A
ti
điểm đích
(50;50)A
trong môi trường có nhiu vt cn.
Hàm s
( , , )f t x y
được định nghĩa
1;( , , )
( , , ) 1;( , , )
t x y H
f t x y t x y H
=−
, đây
H
- tp hp
các vt cn. Trong thc nghim này s dng 4 vt cản tĩnh
, 1,4
i
Hi=
mt vt cn di chuyn
()Vt
. Vt cn di chuyn khối nh vuông độ dài cnh 5 (m) di chuyn thng t đim
1(2.5;37.5)V
tới điểm
4(47.5;37.5)V
trong khong thi gian
5t=
(s). đây
1
h
,
4
h
là vt cn
tĩnh khối hình vuông độ dài cnh lần lượt 5 (m), 10(m) tọa đ
1(7.5;7.5)h
,
4(2;19.5)h
.
2
h
,
3
h
là vt cn khi hình ch nhật có độ dài các cnh lần lượt là 4 (m) và 5(m), và
tọa độ
2(25;20)h
,
3(20;2.5)h
. Các vt cản này được biu diễn như sau:
1 2 3 4
( ) ( )H t H H H H V t=
.
1( , ):| 5| 5;| 5| 5H x y x y=
;
2( , ) :| 20 | 10;| 15| 10H x y x y=
;
3( , ) :| 18 | 4;| | 5H x y x y=
;
4( , ) :| | 4;| 17 | 5H x y x y=
;
( , ):| 5| 5;| 35| 5V x y x y t=
Hình 1а. Đối tượng di chuyn
trong khong thi gian 0 - 35 (s)
Hình 1b. Đối tượng di chuyn
trong khong thi gian 35 - 55 (s)
S dng thuật toán 2 đ tìm đường đi t điểm
1
A
tới điểm
A
vi thời gian ban đầu
0t=
(s)
5t=
(s).
Ban đầu, trong khong thi gian 0 35 (s), đối tượng di chuyn tránh các vt cn c định
1
h
4
h
. thời điểm
35t=
(s) đối tượng đã di chuyển tới điểm
2(18;25)A
, thời điểm này
TNU Journal of Science and Technology
229(15): 43 - 50
http://jst.tnu.edu.vn 47 Email: jst@tnu.edu.vn
vt cn di chuyn
()Vt
đã di chuyển tới điểm
2(23.5;37.5)V
và tiếp tc di chuyn v phía trưc.
đối tượng vt cn di chuyn có cùng tốc độ di chuyn, vậy đối tượng đã thay đổi hướng
di chuyn (Hình 1a).
khong thi gian tiếp theo 35 - 55 (s), vt cn di chuyn
()Vt
tiếp tc di chuyn thng
tới điểm
3(36.5;37.5)V
thời điểm
55t=
(s). Đối tượng di chuyn t đim
2
A
tới điểm
4(32;40)A
(Hình 1b).
khong thi gian tiếp theo, vt cn di chuyn
()Vt
tiếp tc di chuyn thẳng đi tới điểm
4(47.5;37.5)V
thời điểm
75t=
(s), tt c các vt cn không làm ảnh hưởng tới đường đi của
đối tượng. vậy đối tượng tiếp tc di chuyn t điểm
4
A
tới điểm
A
. Đối tượng đã di chuyển
tới điểm
A
thi điểm
75t=
(s) (Hình 2).
nh 2. Quá trình di chuyn ca đối tượng t đim ban đầu đến đim đích
Trong thc nghim này, chúng ta thấy đối tượng đã di chuyển trong môi trưng vt cn
tĩnh và vật cản động. Trong quá trình di chuyn t điểm ban đầu đến điểm đích, đối tượng có th
tránh được các vt cản đó.
Thc nghim 2. Khảo sát bài toán tìm đường đi cho đối tượng di chuyn t điểm ban đầu
1(25;0)A
đến điểm đích
(25;50)A
trong môi trường được biu din bi hàm s
( , , )f t x y
và có
nhiu vt cn di chuyn. m s
( , , )f t x y
được định nghĩa
1;( , , )
( , , ) 1;( , , )
t x y H
f t x y t x y H
=−
, đây
H
- các vt cn di chuyn. Trong thc nghim y, 3 vt cn di chuyn
( ), 1,3
i
H t i =
đưc
biu din bi hàm hình vuông vi các cnh 5 (m) 3 (m). Chúng di chuyn thng vi tốc độ
khác nhau theo c hướng khác nhau. Vt cn
1()Ht
di chuyn vi tốc độ 5 (m/s),
2()Ht
di
chuyn vi tốc độ 4 (m/s),
3()Ht
3 (m/s). Vt cn
1()Ht
3()Ht
di chuyn t trái qua phi.
Vt cn
2()Ht
di chuyn t phi qua trái. đây
1()Ht
bắt đầu t tọa độ
1(2.5;16.5)Z
,
2()Ht
1(47.5;31.5)V
,
3()Ht
1(2.5;41.5)U
. Các vt cn đưc biu diễn nsau:
1 2 3
( ) ( ) ( ) ( )H t H t H t H t=
1( ) ( , ) :| | 5;| 15| 3H t x y x t y t=
2( ) ( , ):| 45| 5;| 30| 3H t x y x t y t=
3( ) ( , ) :| | 5;| 40| 3H t x y x t y t=
S dng thuật toán 2 để tìm đường đi từ đim
1
A
đến điểm
A
vi thời gian ban đu
0t=
(s)
5t=
(s).