Tải bản đầy đủ (.doc) (19 trang)

CHƯƠNG 3 MỘT SỐ PHƯƠNG PHÁP CHÍNH XÁC LẬP LỘ TRÌNH CHUYỂN ĐỘNG pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (335.4 KB, 19 trang )

Chơng 3
Một số phơng pháp chính xác lập lộ trình
chuyển động
3.1.Giới thiệu chung
Những cách tiếp cận tổ hợp tới việc lập lộ trình chuyển động để tìm thấy những đờng
đi xuyên qua không gian cấu hình liên tục mà không dùng đến những thuật toán xấp xỉ.
Nhờ có tính chất này nên cách tiếp cận này còn gọi là giải thuật lập lộ trình chính xác.
Khi nghiên cứu những giải thuật này điều quan trọng là việc xem xét cẩn thận
định nghĩa đầu vào :
- Mô hình nào đợc sử dụng để mô hình hoá robot và chớng ngại vật?
- Tập hợp những biến đổi nào đợc áp dụng cho Robot?
- Số chiều của không gian?
- Robot và không gian có thoả mãn tính chất lồi không?
- Chúng có là các phân đoạn tuyến tính?
Chỉ định rõ đợc các đầu vào có thể xác định tập các thể hiện của bài toán mà trên đó
các thuật toán sẽ tác nghiệp. Nếu những thể hiện có những tính chất thuận lợi nhất định
(số chiều của không gian thấp, những mô hình thể hiện là không gian lồi ) thì một
giải thuật tổ hợp có thể cung cấp một giải pháp rất tốt và thực tế. Nếu tập hợp của
những thể hiện quá rộng, thì một yêu cầu phải thoả mãn cả tính chất trọn vẹn
lẫn những giải pháp thực hành có thể là một điều vô lý. Việc xây dựng những
công thức chung của vấn đề lập lộ trình chuyển động có thể không đạt đợc. Tuy
vậy, vẫn tồn tại một số điểm chung để hoàn thành những giải thuật lập lộ trình
chuyển động.
Tại sao cần phải nghiên cứu phơng pháp chính xác lập lộ trình tổ hợp
Có hai lý do cần nghiên cứu những phơng pháp tổ hợp để tiếp cận tới việc lập lộ
trình chuyển động, đó là :
Thứ nhất, trong nhiều ứng dụng, việc lập lộ trình chuyển động có thể chỉ
49
quan tâm đến một lớp đặc biệt, ví dụ không gian chỉ là không gian hai chiều 2D,
và robot chỉ có khả năng tịnh tiến. Khi tập hợp nhiều lớp đặc biệt thì những giải
thuật thanh lịch và có hiệu lực có thể đợc phát triển. Những giải thuật này là đầy


đủ, không phụ thuộc vào sự xấp xỉ, và tỏ ra thực hiện tốt hơn hơn những phơng
pháp lập lộ trình lấy mẫu cơ sở.
Thứ hai, những phơng pháp tổ hợp vừa đáng chú ý lại vừa thoả mãn cho
một lớp rộng những giải thuật lập lộ trình chuyển động.
Tuy nhiên, cũng cần phải chú ý với đa số các phơng pháp có hiệu lực và
dễ để thực hiện, nhng ngợc lại nhiều còn một số giải thuật có thể quá phức tạp và
khó ứng dụng trong thực tế. Dù một giải thuật trong lý thuyết cho phép giả định
chi phí về thời gian thực hiện nhỏ một cách đáng ngạc nhiên, nhng trong thực tế
thì nó không thể đạt đợc thời gian nh vậy khi thực thi. Đôi khi ngời ta chấp nhận
trờng hợp những giải thuật có thời gian chạy xấu hơn nhiều so với giải thuật lý
thuyết nhng dễ hiểu và dễ thực hiện hơn. Đây cũng vẫn là một vấn đề mở để
những ngời lập trình cần cố gắng xây dựng những giải thuật ngày càng hiệu quả
hơn cho dù kết quả chủ yếu vẫn là trên lý thuyết. Nó luôn thúc đẩy mọi ngời tìm
kiếm những giải thuật đơn giản và hiệu quả hơn trong thực tế.
Roadmaps Hầu hết cách tiếp cận của việc lập lộ trình chính xác là xây dựng
một đờng đi theo một cách nào đó để giải quyết những truy vấn. Khái niệm này
đợc giới thiệu. Nhng trong chơng này yêu cầu Roadmaps phải đợc định nghĩa
chính xác hơn bởi vì các giải thuật ở đây cần xây dựng trọn vẹn. Một số giải
thuật lập lộ trình tổ hợp đợc tiếp cận theo ý tởng trớc hết xây dựng một sự phân
ly C
free
và từ đó sẽ xây dựng lên đờng đi. Một số phơng pháp khác lại trực tiếp
xây dựng một đờng đi mà không xem xét đến sự phân ly ô.
Định nghĩa: Cho G là một đồ thị tôpô ánh xạ vào trong C
free
. Lát cắt S


C
free

là tập hợp của tất cả các điểm trong tầm với của G, ( S=
)]1,0([
Ê
e
e


trong đó
e([0,1])

C
free
là ảnh của đờng đi e). Đồ thị G đợc gọi một Roadmap nếu nó thỏa
mãn hai điều kiện quan trọng :
1. Tính dễ tiếp cận : Từ bất kỳ q

C
free
, nó phải tính toán đợc một đờng đi hiệu
50
quả và đơn giản

: [ 0, 1 ]

C
free
sao cho

(0) = q và


(1) = s, trong đó s là một
điểm bất kỳ trong S. Thông thờng, s là điểm gần nhất với q, với giả thiết C là
một không gian metric.
2. Duy trì kết nối : Thứ nhất, luôn luôn có thể nối đợc một vài qI và qG tới một
vài s
1
và s
2
, theo thứ tự trong S. Thứ hai yêu cầu rằng nếu tồn tại một đờng đi

:
[ 0,1]

C
free
sao cho

(0) = qI và

(1) = qG, thì ở đó cũng tồn tại một đờng đi

' : [0,1]

S, mà

'(0) = s
1


'(1) = s

2
. Nh vậy, những giải pháp không lỗi
bởi vì G luôn giữ liên kết với C
free
. Điều này bảo đảm rằng những giải thuật hoàn
chỉnh thì phát triển.
Việc thỏa mãn những thuộc tính này, một đờng đi là một sự biểu diễn rời
rạc cho một lộ trình chuyển động liên tục mà không làm mất bất without losing
any of the original connectivity information needed cần thiết to solve it kỳ thông
tin kết nối nguyên bản nào để tìm ra lời giải. Một truy vấn, (qI, qG), đợc giải
quyết bởi việc nối cho mỗi truy vấn điểm để xây dựng nên Roadmap và sau đó
biểu diễn một tìm kiếm đồ thị rời rạc trên G. Duy trì tính chất đầy đủ, điều kiện
đầu tiên bảo đảm rằng bất kỳ truy vấn nào cũng có thể đợc nối tới G, và điều
kiện thứ hai bảo đảm rằng sự tìm kiếm luôn luôn thành công nếu tồn tại một giải
pháp.
3.2 vùng Chớng ngại Đa giác
Trớc khi nghiên cứu mẫu chung nhất của vấn đề lập lộ trình tổ hợp, chúng
ta nên tiếp cận những trờng hợp đơn giản và trực quan, đó là một số giải thuật
thanh lịch, minh bạch cho trờng hợp C = R
2
và C
obs
là đa giác. Hầu hết những
điều này không thể trực tiếp đợc mở rộng tới những không gian có số chiều cao
hơn nhng một số nguyên lý chung thì vẫn tơng tự; Bởi vậy, rất cần thiết để tiếp
cận việc lập lộ trình chuyển động chính xác trong không gian hai chiều. Những
giải thuật này cũng có thể trực tiếp áp dụng trong một số các ứng dụng. Việc lập
lộ trình cho một Robot di động có thể đợc mô hình hoá nh một điểm di động
trong một toà nhà mà bản đồ sàn nhà đã đợc mô hình bằng một số đa giác 2D.
51

Hình 3.1 : Một mô hình đa giác đợc chỉ rõ bởi bốn đa giác có hớng đơn giản.
3.2.1 Biểu diễn Representation
Giả thiết :
W = R
2
;
Những chớng ngại O là các đa giác;
Robot A là một robot điểm chỉ có khả năng tịnh tiến.
Giả sử C
obs
cũng là đa giác. Cho trờng hợp đặc biệt A là một điểm trong W,
những ánh xạ trực tiếp từ O tới C
obs
không có bất kỳ sự biến dạng nào.
Nh vậy, những vấn đề ở đây đợc xem xét nh việc lập lộ trình cho một
robot điểm. Nếu A không là robot điểm thì hiệu Minkowski của O và A đợc
tính toán. Cho trờng hợp này cả hai A và O là lồi, giải thuật mô hình C
obs
rõ ràng
trong trờng hợp tịnh tiến có thể đợc áp dụng tính toán mỗi thành phần của C
obs
.
Trong trờng hợp tổng quát, cả hai A và O có thể là không lồi và thậm chí
chúng có thể chứa đựng những lỗ, nh những C
obs
trong hình 3.1. Trong trờng hợp
này, A và O đợc phân ly vào trong những thành phần lồi, và hiệu Minkowski đợc
sử dụng để tính toán cho mỗi cặp của những thành phần.
Những sự phân ly vào trong những thành phần lồi thật sự đợc thực hiện bởi
việc phỏng theo giải thuật phân ly ô mà sẽ đợc giới thiệu trong mục 3.2.2. Mỗi

lần hiệu Minkowski đợc tính toán, chúng cần hợp nhất để thu đợc một cách biểu
diễn dới dạng những đa giác đơn giản, nh những đa giác trong Hình 3.1.
52
To implement the algorithms described in this section, it will be helpful to have a data
structure that allows convenient tiện lọi access to the information contained bao gom in
a model such as Figure 3.1. How is the outer boundary represented?
Thực thi các giải thuật trong phần này sẽ giúp chúng ta có một cấu trúc dữ
liệu để cho phép truy cập thuận tiện vào các thông tin bao gồm các mẫu nh Hình
3.1. Để biểu diễn đợc chúng ta cần phải trả lời đợc những câu hỏi:
- Biểu diễn đờng biên ngoài nh thế nào?
- Những lỗ ở trong những chớng ngại đợc biểu diễn ra sao?
- Làm thế nào chúng ta biết những lỗ nào bên trong những chớng ngại vật?
Những truy vấn này có thể đợc trả lời hiệu quả bởi việc sử dụng cấu trúc dữ liệu
danh sách liên thông hai đầu. Chúng ta sẽ cần biểu diễn những mô hình, nh trong
Hình 3.1, và mọi thông tin khác của những giải thuật lập lộ trình để duy trì trong
thời gian thực hiện.
Có ba bản ghi khác nhau :
Đỉnh : Mỗi đỉnh v chứa đựng một con trỏ tới một điểm ( x, y)

C = R
2

một con trỏ tới nửa cạnh nào đó mà v gốc của nó.
Mặt : Mỗi mặt có một con trỏ tới một nửa cạnh trên biên giới bao
quanh mặt;.giá trị con trỏ là NIL nếu mặt là biên giới ở ngoài cùng. Mặt cũng
chứa đựng một danh sách những con trỏ cho mỗi thành phần có quan hệ (nh các
lỗ) mà chứa đựng ở trong mặt đó. Mỗi con trỏ trong danh sách trỏ cho một nửa
cạnh của ranh giới thành phần.
Nửa cạnh: Mỗi nửa cạnh đợc định hớng để phần chớng ngại luôn luôn ở
bên trái nó. Nó chứa đựng năm con trỏ khác nhau. Có một con trỏ tới đỉnh gốc

của nó. Có một con trỏ hớng tới nửa cạnh kế tiếp, con trỏ trỏ vào một nửa cạnh
trong phơng đối diện. Nếu nửa cạnh là biên của một chớng ngại, thì con trỏ này
là NIL. Các nửa cạnh luôn luôn đợc xếp trong những vòng khép kín để hình
thành ranh giới của một mặt. Những vòng nh vậy luôn định hớng để phần chớng
ngại (hoặc một nửa cạnh kế tiếp) luôn luôn ở bên trái nó. Mỗi nửa cạnh lu giữ
một con trỏ tới mặt trong. Nó cũng chứa đựng những con trỏ nửa cạnh tiếp theo
53
và nửa cạnh trớc đó trong chuỗi những nửa cạnh.
Ví dụ trong Hình 3.1, có bốn vòng khép kín của những nửa cạnh mà mỗi
vòng là giới hạn của một mặt khác nhau. Bản ghi mặt của lỗ hình tam giác nhỏ
trỏ vào mặt chớng ngại chứa đựng lỗ. Mỗi chớng ngại chứa đựng một con trỏ tới
mặt biểu diễn đờng biên ngoài của nó. Bởi sự định hớng kiên định cho nửa cạnh,
những vòng nửa cạnh gianh giới của những chớng ngại vật luôn luôn chạy ngợc
chiều kim đồng hồ (bên trái), và những vòng nửa cạnh ranh giới lỗ luôn theo
chiều thuận chiều kim đồng hồ. {$There are no twin half-edges because all half-
edges bound part of Cobs.$}Không có nửa cạnh ghép đôi vì tất cả một nửa cạnh
là những bộ phận ranh giới của C
obs
. Cấu trúc dữ liệu danh sách cạnh liên thông
hai chiều thì đủ tổng quát để cho phép đợc chèn thêm cạnh là những lát mỏng
xuyên qua C
free
. Những cạnh này sẽ không trên biên của C
obs
, nhng chúng có thể
đợc quản lý sử dụng những con trỏ cạnh nửa ghép đôi. Điều này sẽ hữu ích cho
giải thuật bên trong Mục 3.2.2.
3.2 Một số giải thuật lập lộ trình chính xác cho robot
Trong vấn đề lập trình cho robot có rất nhiều những giải thuật lập lộ trình, mỗi giải
thuật có những tiềm năng và ứng dụng nhất định. Các phơng pháp có thể kể đến nh :

Randomized Potential Fields
Heuristics for Improving Roadmaps
Hybrid local/global
Visibility Graph
Voronoi Diagram (Maximum-Clearance Roadmaps)
Cell decomposition
ở đây chúng ta tập chung vào các giải thuật lập lộ trình chính xác nh Cell
decomposition, Visibility Graph ,Voronoi Diagram.
3.2.1. Vertical Cell Decomposition (sự phân ly Ô dọc )
Những phơng pháp tổ hợp phải xây dựng một cấu trúc dữ liệu hữu hạn để mã
54
hoá chính xác vấn đề lập lộ trình. Những giải thuật phân ly ô hớng tới việc chia cắt
C
free
thành một tập hợp hữu hạn những vùng gọi là những ô.
Sự phân ly ô cần phải thỏa mãn ba thuộc tính :
1.Việc tính toán một đờng đi từ một điểm bên trong một ô phải dễ dàng. Ví dụ, nếu
mỗi ô lồi, thì bất kỳ cặp điểm nào trong một ô đều có thể nối đợc bởi một đoạn thẳng.
2. Sự cung cấp thông tin cho những ô liền kề có thể dễ dàng đợc rút trích để xây
dựng roadmap.
3. Cho trớc một qI và qG, sự phân ly ô cần phải xác định đợc những ô nào chứa
chúng.
Nếu một sự phân ly ô thỏa mãn những thuộc tính này, thì vấn đề lập lộ trình
chuyển động đợc biến đổi thành vấn đề tìm kiếm đồ thị. Tuy nhiên, trong sự thiết đặt
hiện thời, toàn bộ đồ thị, G, thông thờng đợc biết trớc. Điều này không giả thiết riêng
cho những vấn đề lập lộ trình.
3.2.1.1. Định nghĩa sự phân ly dọc:
Phần này chúng ta giới thiệu một giải thuật mà xây dựng một sự phân ly ô dọc.
C
free

đợc phân chia vào trong một tập hợp hữu hạn của những 2-cell và 1-cell. Mỗi 2 -
cell là một hình thang có những cạnh dọc hoặc là một hình tam giác (là một hình
thang suy biến). Với lý do này, phơng pháp đôi khi đợc gọi sự phân ly hình thang.
Sự phân ly đợc định nghĩa nh sau: Cho P biểu thị tập hợp của đỉnh định nghĩa
C
obs
. Tại mỗi p

P, dùng những tia thẳng hớng hớng lên hoặc xuống xuyên qua C
free
,
cho đến khi va phải C
obs
thì dừng lại.
Hình 3.2 : Bốn trờng hợp tổng quát : 1) Có thể theo hai hớng xuống xuôi hoặc hớng
lên, 2) Chỉ hớng lên, 3) Chỉ xuôi xuống, và 4) Không thể mở rộng.
55
Khi phân ly sẽ có bốn trờng hợp, nh trong Hình 3.2, phụ thuộc vào là nó có thể
để mở rộng theo hai phơng hớng hay không. Nếu C
free
đợc phân chia theo những tia
này, thì kết quả là một sự phân ly dọc. Ví dụ với C
obs
trong Hình 3.3 a sử dụng sự phân
ly dọc C
free
ta đợc hình Hình3.3 b.
Hình 3.2 : Phơng pháp phân ly ô dọc sử dụng để xây dựng một roadmap, đợc tìm kiếm
để sinh ra một giải pháp cho một truy vấn.
Chú ý rằng chỉ những hình thang và những hình tam giác thu đợc gọi là những 2- cell

trong C
free
. Mỗi 1-cell là một đoạn dọc đáp ứng nh một cạnh giữa hai 2 - cell. Khi phân
ly chúng phải bảo đảm rằng topology của C
free
đợc biểu diễn chính xác.
Ta đã biết rằng C
free
đã đợc định nghĩa là một tập hợp mở. Mỗi 2- cell thật sự
cũng đợc định nghĩa là một tập hợp mở trong R
2
; nh vậy, nó là phần trong của một hình
thang hoặc hình tam giác và 1- cell là những điểm trên các đoạn thẳng.
3.2.1.2 Định nghĩa roadmap trong phơng pháp
Để điều khiển những truy vấn lập lộ trình chuyển động, một roadmap đợc xây
dựng từ sự phân ly dọc:
Cho mỗi ô C
i
, gọi q
i
là một đỉnh sao cho q
i

C
i
khi đó q
i
đợc gọi là điểm mẫu.
Những điểm mẫu có thể đợc lựa chọn theo nhiều cách, ví dụ nh những trọng tâm trong
các ô, nhng sự lựa chọn đặc biệt không phải là quá quan trọng, có thể tồn tại nhiều

cách lựa chọn điểm mẫu khác.
56
Hình 3.4 : Roadmap bắt nguồn từ sự phân ly ô dọc.
Cho G(V,E) là một đồ thị tôpô định nghĩa nh sau: Với mỗi ô, C
i
, định nghĩa một đỉnh q
i

V. Với mỗi 2- cell, định nghĩa một cạnh từ điểm mẫu đã lựa chọn của nó đến điểm
mẫu đã lựa chọn của mỗi 1- cell nằm dọc theo ranh giới của nó. Mỗi cạnh là một đoạn
thẳng nối giữa các điểm lựa chọn của các ô. Đồ thị kết quả là một roadmap (Hình
3.4). Điều kiện dễ tiếp cận đợc thỏa mãn bởi vì mỗi điểm mẫu có thể đạt đợc bởi một
đờng đi nhờ vào tính lồi của mỗi ô. Điều kiện kết nối cũng đợc thỏa mãn vì G nhận đợc
từ sự phân ly ô, mà khi phân ly vẫn giữ quan hệ thuộc C
free
.
Mỗi lần roadmap xây dựng xong, các thông tin về ô không cần đợc lu giữ nữa.
Đối với việc trả lời cho những truy vấn lập lộ trình chính là roadmap đã xây dựng.
3.2.1.3. Tìm lời giải cho một truy vấn
Một lần roadmap thu đợc, nó có thể trả lời rõ ràng cho một truy vấn của vấn đề
lập lộ trình chuyển động từ qI đến qG. Cho C
0
và C
k
biểu thị những ô chứa đựng qI và
qG tơng ứng. Trong đồ thị G, tìm kiếm một đờng đi có thể nối từ điểm mẫu của C
0
tới
điểm mẫu của C
k

. Nếu không có đờng đi nh vậy nào tồn tại, thì giải thuật tuyên bố
không tồn tại giải pháp. Nếu tồn tại một đờng đi thì cho C
1
, C
2
, . . ., C
k-1
lần lợt đi qua
tất cả những điểm mẫu của các 1 - cell và 2- cell từ C
0
đến C
k
.
Một đờng đi giải pháp có thể đợc hình thành một cách đơn giản bằng cách Nối
những điểm, q
0
, q
1
, q
2
, . . ., q
k-1
, q
k
biểu thị những điểm mẫu dọc theo đờng đi bên
trong G. Đờng đi giải pháp,

: [ 0, 1 ]

C

free
, đợc hình thành bởi việc đặt

(0) = qI,

(1) = qG, và việc đến thăm mỗi điểm trong dãy các điểm từ q
0
đến q
k
đi theo một đ-
ờng đi ngắn nhất. Ví dụ, giải pháp trong Hình 3.5.
57
Trong việc lựa chọn những điểm mẫu, điều đó quan trọng để bảo đảm rằng mỗi
đoạn đờng đi từ điểm mẫu của một ô đến điểm mẫu của những ô láng giềng của nó
không có va chạm xảy ra.
Hình 3.5 : Ví dụ một đờng đi giải pháp
3.2.1.4 . Đánh giá giải thuật: Hiệu quả tính toán sự phân ly sẽ đợc xem xét. Thực
chất trong vấn đề này các bớc đều đơn giản và thực hiện bởi phơng pháp brute-force
( bắt ép thô bạo) . Nếu C
obs
có n đỉnh, thì cách tiếp cận này cần ít nhất thời gian là
O(n
2
) vì phải kiểm tra sự giao nhau giữa mỗi tia dọc và mỗi cạnh của C
obs
. Nếu tổ
chức cẩn thận các bớc tính toán thì kết quả chạy thời gian chỉ còn là O(nlgn).
3.2.1.5. Nguyên lý quét mặt phẳng:
Cơ sở của giải thuật là nguyên lý mặt- quét (hoặc đờng - quét) từ mẫu hình học
trên máy tính, đây cũng là cơ sở của nhiều giải thuật lập lộ trình tổ hợp và nhiều giải

thuật chung khác. Nhiều vấn đề hình học tính toán bởi máy tính có thể đợc xem xét nh
sự phát triển của những cấu trúc dữ liệu và giải thuật mà khái quát hóa phân loại cho
vấn đề nhiều chiều. Nói cách khác, những giải thuật cẩn thận sắp xếp các thông tin
hình học.
Từ Quét đợc sử dụng khi trình bày những giải thuật này vì có thể hình dung
đó là một đờng (hoặc mặt phẳng) quét ngang qua không gian, chỉ dừng khi đạt đến
trạng thái thay đổi nào đó khi tìm thấy thông tin.
Trên đây mới là sự miêu tả trực quan, còn việc quét cha đợc biểu diễn rõ ràng
bằng giải thuật. Để xây dựng sự phân ly dọc, hình dạng một đờng dọc là đờng quét từ
x = -

tới x =

, giả sử (x, y) là một điểm trong C = R
2
. Dữ liệu đầu vào là tập hợp P
của đỉnh C
obs
. Bởi vậy chúng ta chỉ quan tâm đến những vấn đề xuất hiện ở những điểm
58
này. Sắp xếp những điểm trong P theo thứ tự toạ độ x tăng dần. Giả thiết thông thờng
không có hai điểm nào có cùng tọa độ x. Những điểm trong P sẽ đợc thăm theo thứ tự
đã sắp xếp. Mỗi lần thăm một điểm sẽ đợc coi là một sự kiện. Trớc, sau, và giữa mỗi sự
kiện, một danh sách L chứa một vài cạnh C
obs
sẽ đợc xác nhận. Danh sách này phải đợc
duy trì trong suốt thời gian theo thứ tự những cạnh đến khi nào va phải đờng quét dọc.
Danh sách đợc sắp xếp theo thứ tự tăng dần.
Hình 3.6 : Ví dụ có 14 sự kiện.
Hình 3.7 : Tình trạng của L đợc chỉ ra sau mỗi 14 sự kiện xuất hiện. Trớc hết là L

trống rỗng.
Những bớc thực hiện giải thuật Hình 3.6 và 3.7 thể hiện sự trình diễn giải thuật.
Đầu tiên, L trống rỗng, sau đó với mỗi sự kiện sẽ đa vào danh sách những cạnh biểu
59
diễn của C
free
có liên quan đến sự kiện. Mỗi thành phần liên quan của C
free
sinh ra một
face đơn trong cấu trúc dữ liệu. Sau vài bớc lặp ta xây dựng đợc L chính xác. Mỗi sự
kiện sẽ xuất hiện là một trong số bốn trờng hợp trong Hình 3.2.
Việc duy trì L trong một cây tìm nhị phân cân đối, có thể đợc xác định trong
thời gian O(lg n), tốt hơn rất nhiều so với thời gian O(n) của trờng hợp bắt buộc phải
kiểm tra mọi đoạn. Việc phụ thuộc vào bốn trờng hợp xuất hiện từ Hình 3.2, dẫn tới
nhng cập nhật khác nhau của L đợc thực hiện.
Nếu trờng hợp xuất hiện đầu tiên, thì hai cạnh khác nhau đợc chèn vào, và thể
hiện đó trên p là hai nửa đoạn. Hai trờng hợp tiếp theo trong Hình 3.2 thì đơn giản
hơn; chỉ một thể hiện đơn đợc thực hiện.Trờng hợp cuối cùng, không xuất hiện việc
phân ly.
Một lần thực hiện thao tác phân ly bề mặt của C
free
thì L đợc cập nhật. Khi tia
quét qua p, luôn luôn có hai cạnh bị ảnh hởng. {$For example, in the first and last
cases of Figure 3.2, two edges must be inserted into L (the mirror images of these
cases cause two edges to be deleted from L).$}
Ví dụ, trong trờng hợp đầu tiên và cuối cùng của Hình 3.2, hai cạnh phải đợc chèn vào
trong L (ảnh đối xứng của những trờng hợp này là nguyên nhân hai cạnh sẽ đợc xóa đi
từ L). Nếu hai trờng hợp giữa xuất hiện, thì một cạnh đợc thay thế bởi đối tợng khác
trong L. Những thao tác thêm vào và xóa đi này có thể đợc thực hiện trong thời gian
O(lgn). Từ đó khi có sự kiện n, thời gian cho xây dựng giải thuật là O(nlgn).

The roadmap G can be computed from the face pointers of the
doubly connected edge list
Roadmap G có thể đợc tính toán từ những con trỏ thể hiện của hai cạnh có quan
hệ trên danh sách.
Một cách tiếp cận tốt hơn là xây dựng gia tăng G ở mỗi sự kiện. Trên thực tế,
tất cả yêu cầu duy trì một con trỏ đang tồn tại một cách chắc chắn hai cạnh liên quan
trong danh sách có thể đợc lờ đi nếu mong muốn, kéo dài G đợc xây dựng chính xác
và điểm mẫu thu đợc cho mỗi ô dọc. Chúng ta có thể đi là một bớc xa hơn nữa, bởi
quên đi khoảng sự phân ly ô và trực tiếp xây dựng một đồ thị tôpô của những đoạn đ-
ờng đi giữa tất cả điểm mẫu của những ô liền kề.
3.2.2 . Roadmap Đờng đi ngắn nhất -Shortest-Path Roadmaps
60
Thay vào đó của việc phát sinh những đờng đi làm cực đại khoảng trống,
cần có mục đích tìm thấy những đờng đi ngắn nhất. Điều này dẫn tới phơng pháp
Roadmap đờng đi ngắn nhất (Shortest-Path Roadmaps), và cũng đợc gọi đồ thị tầm
nhìn thu nhỏ (Visibility Graph ). ý tởng của nó trớc hết đợc coi là ví dụ đầu tiên của
một giải thuật lập lộ trình chuyển động.
Roadmap đờng đi ngắn nhất đối lập trực tiếp với Roadmap khoảng trống cực
đại bởi vì những đờng đi ngắn nhất cho phép lớt qua những góc của C
obs
. Trong thực
tế, đây là một vấn đề đa ra tơng đối khó bởi vì C
free
là một tập hợp mở. Bởi vì với bất
kỳ đờng đi nào

: [0,1]

C
free

, luôn luôn có thể để tìm thấy một đờng ngắn hơn. Do
lý do này, chúng ta phải xem xét vấn đề xác định những đờng đi ngắn nhất trong
cl(C
free
) tập đóng của C
free
. Điều này có nghĩa rằng robot đợc cho phép chạm nhau
hoặc lớt qua những chớng ngại, nhng nó không đợc cho phép để xuyên qua
chúng. Trên thực tế khi sử dụng tính toán những đờng đi giải pháp cho một vấn đề lập
lộ trình chuyển động, chúng ta cần điều chỉnh một lợng nhỏ để chúng đến rất gần C
obs
nhng không tiếp xúc. Điều này làm tăng thêm ở mức độ không đáng kể độ dài đờng
đi. Lợng điều chỉnh có thể đợc làm nhỏ tùy ý để cho đờng đi có thể đến gần C
obs
tuỳ ý.
Roadmap Đờng đi ngắn nhất, G đợc xây dựng nh sau. Cho một đỉnh phản xạ là
một đỉnh đa giác về phía góc trong (của C
free
) lớn hơn .
Hình 3.10 : Một cạnh tiếp tuyến chạm vào hai đỉnh phản nằm trong tầm nhìn của
nhau, và đờng kéo dài của chúng ra ngoài các đỉnh của chúng mà không xuyên vào
trong C
obs
.
Tất cả đỉnh của một đa giác lồi (với giả thiết rằng không có ba đỉnh liên tiếp nào là
cộng tuyến) đều là đỉnh phản xạ. Nếu các đỉnh của G là đỉnh phản xạ, những cạnh của
G đợc hình thành từ hai nguồn khác nhau :
61
- Đỉnh phản xạ liên tiếp : Nếu hai đỉnh phản xạ là hai điểm cuối của một cạnh
của C

obs
, thì một cạnh giữa chúng đợc xây dựng bên trong G.
- Tiếp tuyến cạnh : Nếu một đờng tiếp tuyến có thể đợc vẽ xuyên qua một cặp
của đỉnh phản xạ, thì một cạnh tơng ứng đợc xây dựng bên trong G.
Một đờng tiếp tuyến, đợc miêu tả trong Hình 3.10, là một đờng liên quan tới hai đỉnh
phản xạ và không đi vào trong C
obs
tại bất kỳ đỉnh này nào. Hơn nữa, các đỉnh này phải
nhìn thấy lẫn nhau.
Một ví dụ của Roadmap kết quả đợc cho thấy trong Hình 3.11.
Hình 3.11 : Roadmap -đờng đi ngắn nhất bao gồm các cạnh giữa đỉnh phản xạ liên
tiếp trên C
obs
và cả những cạnh tiếp tuyến.
Hình 3.12 : Để giải quyết một truy vấn, qI và qG đợc nối tới tất cả đỉnh có thể thấy
62
của roadmap, và thực hiện tìm kiếm trên đồ thị.
Giải quyết một truy vấn, qI và qG đợc nối tới tất cả đỉnh có thể nhìn thấy đợc của
Roadmap ( Hình 3.12), chính điều này làm cho roadmap mở rộng có thể tìm kiếm đợc
một đờng đi giải pháp. Nếu giải thuật của Dijkstra đợc sử dụng, và mỗi cạnh đợc đa
vào một giá trị tơng ứng thì giá của đờng đi chính là độ dài của đờng đi đó, đờng đi
giải pháp kết quả là đờng đi ngắn nhất giữa qI và qG. Đờng đi ngắn nhất cho ví dụ
trong Hình 3.12 đợc cho thấy trong Hình 3.13.
Hình 3.13 : Đờng đi ngắn nhất trong Roadmap mở rộng là đờng đi ngắn nhất giữa qI
và qG.
Đánh giá giải thuật: Nếu tiếp tuyến kiểm tra đợc thực hiện đơn giản, thì kết
quả giải thuật yêu cầu thời gian O(n
3
), trong đó n là số đỉnh của C
obs

. Có O(n
2
) những
cặp của đỉnh phản xạ cần kiểm tra, và mỗi sự kiểm tra yêu cầu O(n) thời gian kiểm tra
nhất định để đảm bảo rằng không có bờ nào khác ngăn chúng nhìn thấy nhau. Nguyên
lý planesweep có thể đợc làm thích nghi để thu đợc một giải thuật tốt hơn với thời gian
cần thiết chỉ là O(n
2
lg n).
ý tởng thực hiện nguyên lý planesweep : Dùng một tia quay quét từ mỗi đỉnh
phản xạ, v. Một tia đợc khởi động tại

= 0, và những sự kiện xuất hiện khi tia chạm
đỉnh. Một tập hợp của tiếp tuyến xuyên qua v có thể đợc tính toán bên trong theo cách
này trong thời gian O(nlgn). Từ đó có O(n) đỉnh phản xạ, tổng thời gian thực hiện là
O(n
2
lgn). Ta thấy một giải thuật có thể tính toán shortest-path roadmap trong thời gian
O(nlgn + m), trong đó m là tổng số cạnh trong roadmap. Nếu vùng chớng ngại đợc mô
tả bởi một đa giác đơn giản, thì sự nhóm thời gian có thể đợc giảm tới O(n).
63
3.2.3. Voronoi diagram - roadmap khoảng trống Cực đại
Một roadmap khoảng trống cực đại là cố gắng giữ càng xa càng tốt từ C
obs
, nh đợc cho
thấy cho hành lang trong Hình 3.8.
Hình 3.8 : Khoảng trống cực đại cho roadmap là giữ càng xa ra khỏi từ những C
obs
càng tốt.
Những đờng đikết quả của giải pháp này đôi khi đợc a chuộng hơn trong những ứng

dụng của kỹ thuật rôbôt di động bởi vì thật khó để đo và điều khiển chính xác vị trí của
một rôbôt di động. Việc đi dọc theo roadmap khoảng trống cực đại làm giảm bớt
những nguy cơ va chạm vì những điều không chắc chắn này. Phơng pháp Roadmap này
còn những tên khác là Voronoi diagram và Retraction method (phơng pháp thu gọn).
Hình : Các đoạn thẳng làm nên Voronoi Diagram cách ly một tập hợp điểm.
64
Hình: Generalized Voronoi Graph (GVG)- Đồ thị Voronoi tổng quát
Đồ thị Voronoi tổng quát là quỹ tích của những điểm có khoảng cách bằng nhau từ
hai hay nhiều đờng biên của chờng ngại vật bao gồm cả đờng biên của vùng làm việc.

Hình : Đồ thị Voronoi tổng quát ( GVG ) là hình dạng đờng đi xây dựng bởi khoảng
cách bằng nhau từ hai đối tợng đóng là khoảng hở lớn nhất giữa hai chớng ngại vật
65
Nó là đợc xem xét nh một sự khái quát của sơ đồ Voronoi từ trờng hợp những điểm
của đa giác. Mỗi điểm từ một cạnh roadmap cách đều hai điểm trên ranh giới của C
obs
.
Mỗi đỉnh Roadmap tơng ứng với điểm giao nhau của hai hoặc nhiều hơn hai cạnh của
Roadmap và cách đều hai điểm trên ranh giới của C
obs
.
Không gian con: S là một sự biến dạng thu gọn của một không gian tôpô X nếu liên
tục sau homotopy, H : X
ì
[0, 1 ]

X, có thể đợc định nghĩa nh sau:
1. h(x, 0) = x với mọi x

X.

2. h(x, 1) là một hàm liên tục mà ánh xạ mỗi phần tử của X tới phần tử nào đó
của S.
3. Với mọi t

[ 0, 1 ], h(s, t) = s với bất kỳ s

S.
Trực quan là C
free
dần dần đợc làm mỏng suốt quá trình homotopy, cho đến khi thu đợc
một khung S. Một sự xấp xỉ có thể co lại đợc hình dung nh sự bào mòn từng lớp mỏng
xung quanh toàn bộ ranh giới của C
free
. Nếu nó đợc lặp lại lặp đi lặp lại, thì khoảng
trống cực đại Roadmap là phần duy nhất còn lại. (Giả thiết rằng sự bào mòn luôn luôn
dừng khi thu đợc lát mỏng). Để xây dựng maximum-clearance roadmap. Cho bất kỳ
hai đa giác lồi không giao nhau. Chỉ có có thể có ba sự kết hợp : Đỉnh - Đỉnh, Cạnh -
Đỉnh, Cạnh - Cạnh. Cho tập đặc tính đặt tham chiếu tới tập hợp của tất cả các cạnh và
đỉnh của C
obs
. Những đờng điứng cử viên cho roadmap đợc sản sinh bởi mỗi cặp của
những đặc tính. Điều này dẫn tới một giải thuật thời gian là O(n
4
)

Hình 3.9. Những mảnh roadmap Voronoi đợc phát sinh trong một trong số ba trờng
hợp có thể. Trờng hợp thứ ba dẫn tới một đờng cong bậc hai.
Mỗi cặp đặc tính cạnh- cạnh, phát sinh một đờng thẳng nh thấy trong Hình 3.9a. Mỗi
cặp đỉnh - đỉnh, cũng phát sinh một đờng thẳng nh trong Hình 3.9b. Đờng khoảng
trống cực đại giữa một điểm và một đờng là một parabôn nh trong Hình 3.9c. Những

66
phần của những đờng đimà thực sự nằm trên maximum-clearance roadmap đợc xác
định bởi những phần giao nhau của những đờng cong.
Hình : Đồ thị Voronoi đợc xây dựng và làm mịn với những đờng cong
Vài giải thuật tồn tại mà cung cấp tiệm cận tốt hơn thời gian thực thi, nhng chúng khó
thực hiện hơn một cách đáng kể. Giải thuật tốt nhất đợc chạy trong thời gian là
O(nlgn) trong đó n là số của đờng cong Roadmap.
67

×