Chơng 3Một số phơng pháp chính xác lập lộ trình chuyển động3.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
Trang 1Chơng 3Một số phơng pháp chính xác lập lộ trình
chuyển động3.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àynê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ệcxem 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ớngngạ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ệncủa bài toán mà trên đó các thuật toán sẽ tác nghiệp Nếu nhữngthể hiện có những tính chất thuận lợi nhất định (số chiều củakhô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ầuphả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
Trang 2Tạ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ỉ 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ế.
Trang 3Roadmaps 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 Cfree 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
Cfree Lát cắt S Cfree là tập hợp của tất cả các điểm trong tầm với của G, ( S= trong đó e([0,1]) Cfree 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 Cfree, nó phải tính toán đợc một đờng đi hiệu quả và đơn giản : [ 0, 1 ] Cfree 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 s1 và s2, 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] Cfree sao cho (0)
= qI và (1) = qG, thì ở đó cũng tồn tại một đờng đi ' : [0,1]
S, mà '(0) = s1 và '(1) = s2 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 Cfree Đ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à
Trang 4khô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 = R2 và Cobs 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.
Trang 5Hì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 = R2;
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ử Cobs 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 Cobs 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 Cobs 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
Trang 6và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
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 = R2 và một con trỏ tới nửa –cạnh nào đó mà v gốc của nó.
Trang 7Mặ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 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 Cobs Cấu trúc dữ liệu danh sách cạnh liên thông hai chiều thì đủ tổng quát để
Trang 8cho phép đợc chèn thêm cạnh là những lát mỏng xuyên qua Cfree Những cạnh này sẽ không trên biên của Cobs, 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
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ệuhữu hạn để mã hoá chính xác vấn đề lập lộ trình Những giảithuật phân ly ô hớng tới việc chia cắt Cfree thành một tập hợp hữuhạ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
Trang 93 Cho trớc một qI và qG, sự phân ly ô cần phải xác định đợcnhữ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êngcho 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 Cfree đợc phân chia vào trong một tập hợp hữuhạ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 suybiến) Với lý do này, phơng pháp đôi khi đợc gọi sự phân ly hìnhthang
Sự phân ly đợc định nghĩa nh sau: Cho P biểu thị tập hợpcủa đỉnh định nghĩa Cobs 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 Cfree, cho đến khi va phải Cobsthì 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.
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
Trang 10Cfree đợ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 Cobs trong Hình 3.3 a sử dụng sự phân ly dọc Cfree
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 đợcgọi là những 2- cell trong Cfree 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ằngtopology của Cfree đợc biểu diễn chính xác
Ta đã biết rằng Cfree đã đợ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 R2;
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ộtroadmap đợc xây dựng từ sự phân ly dọc:
Cho mỗi ô Ci, gọi qi là một đỉnh sao cho qi Ci khi đó qi đợcgọi là điểm mẫu Những điểm mẫu có thể đợc lựa chọn theonhiều cách, ví dụ nh những trọng tâm trong các ô, nhng sự lựachọn đặc biệt không phải là quá quan trọng, có thể tồn tại nhiềucách lựa chọn điểm mẫu khác
Trang 11Hì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 ô, Ci,
định nghĩa một đỉnh qi 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ủamỗi 1- cell nằm dọc theo ranh giới của nó Mỗi cạnh là một đoạnthẳ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ủamỗ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 Cfree
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ìnhchí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ộttruy vấn của vấn đề lập lộ trình chuyển động từ qI đến qG Cho
C0 và Ck 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 C0 tới
điểm mẫu của Ck 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 đithì cho C1, C2, , Ck-1 lần lợt đi qua tất cả những điểm mẫu củacác 1 - cell và 2- cell từ C0 đến Ck
Trang 12Mộ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”, q0, q1, q2, , qk-1, qk 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 ] Cfree, đợ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ừ q0 đến qk đi
theo một đờng đi ngắn nhất Ví dụ, giải pháp trong Hình 3.5
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 Cobs có
n đỉnh, thì cách tiếp cận này cần ít nhất thời gian là O(n2) vìphải kiểm tra sự giao nhau giữa mỗi tia dọc và mỗi cạnh của Cobs.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 gianchỉ 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ủanhiề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