Để robot di động tự di chuyển trong môi trường và thực hiện nhiệm vụ của nó là bài toán lớn khi nghiên cứu về robot di động. Trong quá trình di chuyển robot phải tự định vị, dẫn hướng để tìm đến mục tiêu và không va chạm vào các vật cản trong suốt quãng đường đi. Hiện nay nhiều mẫu robot khác nhau về kích thước, đa dạng về khả năng di chuyển đã được tạo ra trong phòng thí nghiệm và trong thực tế. Những mẫu robot di động tiêu chuẩn này sẳn sàng cho phép chúng ta lập trình và điều khiển để robot di chuyển theo mong muốn.
Trang 1Robot di động được định nghĩa là thiết bị tự vận động, tự di chuyển và thực hiệnđược những chức năng, nhiệm vụ mà con người định trước cho nó [2] Robot diđộng giúp con người thực hiện các công việc thường nhật trong sinh hoạt hàngngày Ngoài ra nó còn thực hiện những công việc mà con người khó thực hiện trongcác điều kiện môi trường khắc nghiệt chẳng hạn như công việc thăm dò sao hỏa, cácđường ống ngầm…Nói chung, sự ra đời của robot di động đã đem lại rất nhiều tiệních cho việc nghiên cứu và phục vụ cho đời sống của con người Tuy nhiên, trongquá trình làm việc robot di động còn nhiều hạn chế và nhiều bất lợi so với conngười chẳng hạn như robot di động chỉ làm việc theo những gì con người đã lậptrình sẳn, nên sẽ có những tình huống mà robot di động sẽ không thể xử lý được.Robot di động không thể dựa theo mọi tình huống mà xử lý công việc giống nhưcon người Tuy nhiên, ngày nay không ai có thể phủ nhận vai trò quan trọng củarobot di động trong ngành robot học Cùng với sự phát triển mạnh mẽ của các hệthống Cơ - Điện tử, robot di động ngày một được hoàn thiện và càng cho thấy lợiích to lớn của nó trong nhiều lĩnh vực như trong nghiên cứu, trong công nghiệp,quân sự và trong đời sống sinh hoạt hằng ngày….
Trước những năm 1970, người ta chỉ tập trung vào việc nghiên cứu và phát triển
Trang 2Ngày nay, robot di động còn được ứng dụng cho nhiều mục đích khác nhau nhưquân sự, nghiên cứu chúng thực hiện các nhiệm vụ nguy hiểm thay thế con ngườinhư thăm dò đáy đại dương, hầm mỏ, kiểm tra các đường ống ngầm hay thăm dòmặt trăng…
Trước khi bước vào nghiên cứu về robot di động thì những vấn đề cần phải quantâm là làm thế nào để robot di động phải trả lời được 3 câu hỏi sau “tôi đang ởđâu ?”, “tôi sẽ đi đến đâu ?”, “tôi đến đó bằng cách nào ?” và làm thế nào để robot
có thể di chuyển từ vị trí xuất phát đến vị trí mục tiêu mà robot có thể tránh đượccác vật cản trên đường đi [3]
Để robot di động tự di chuyển trong môi trường và thực hiện nhiệm vụ của nó là bàitoán lớn khi nghiên cứu về robot di động Trong quá trình di chuyển robot phải tựđịnh vị, dẫn hướng để tìm đến mục tiêu và không va chạm vào các vật cản trongsuốt quãng đường đi Hiện nay nhiều mẫu robot khác nhau về kích thước, đa dạng
về khả năng di chuyển đã được tạo ra trong phòng thí nghiệm và trong thực tế.Những mẫu robot di động tiêu chuẩn này sẳn sàng cho phép chúng ta lập trình vàđiều khiển để robot di chuyển theo mong muốn
Các bài toán trên robot di động thì bao gồm cơ khí, động lực học, lý thuyết điềukhiển, định vị, tránh vật cản thì cần phải có kiến thức cơ bản về thuật toán máy tính,
lý thuyết thông tin, trí tuệ nhân tạo và lý thuyết về xác suất
Ngoài ra, trong thực tế thì địa hình hoạt động mà robot di chuyển trên đó có thểbằng phẳng, lồi lõm, phức tạp… Do đó, tùy theo môi trường làm việc của robot diđộng mà tạo ra bộ phận di chuyển khác nhau, có thể tạm chia robot di động làm 2
Trang 3ASIMO robot conquer moon by 2020
loại là robot chuyển động bằng chân (legged) như Hình 1.1 và chuyển động bằngbánh (wheeled) như Hình 1.2
Trên lý thuyết có nhiều phương pháp để giải quyết các vấn đề trên, nhưng trongthực tế để robot di động có thể hoạt động trong môi trường làm việc thì có 3 bài
toán mà chúng ta cần phải giải quyết là lập kế hoạch đường đi (path planning), tránh vật cản (Obstacle Avoidance) và định vị (Localization)
Hình 1.1 Robot di chuyển bằng chân (nguồn: www.gizmowatch.com, truy cập 18/09/2010)
Hình 1.2 Robot di chuyển bằng bánh (nguồn: www.gizmowatch.com, truy cập 18/09/2010)
Six-legged robot SIL06 is
a land mine detector
Two-wheeled mobile robot Robot Pioneer 2-DX
Trang 4hiện và tránh vật cản Bài toán tránh vật cản là phương pháp tạo đường đi mới đểrobot vượt qua những vật cản bất ngờ Kết quả di chuyển phụ thuộc vị trí hiện tạicủa robot và việc đọc cảm biến Có rất nhiều thuật toán tránh vật cản, từ việc lập lạiđường đi cơ bản đến việc thay đổi phản ứng trong chiến lược điều khiển như thuậttoán Bug, phương pháp trường thế năng, phương pháp trường lực ảo
Một bài toán cũng cần được xem xét trong quá trình di chuyển của robot là định vị.Định vị là xác định vị trí của robot trong môi trường làm việc Để xác định được vịtrí của robot thường sử dụng 2 phương pháp là phương pháp định vị tuyệt đối (APM
- Absolute Positioning Method) và phương pháp định vị tương đối (RPM - RelativePositioning Method)
1.2 Mục tiêu và giới hạn đề tài
Đề tài nghiên cứu bài toán tránh vật cản cho robot di động dựa trên các thuật toán
đã được các nhà nghiên cứu robot di động trên thế giới thực thi và công bố nhưthuật toán trường thế năng (PFM - Potential Field Method), thuật toán trường lực ảo(VFF - Virtual Force Field), thuật toán biểu đồ trường vector (VFH - Vector FieldHistogram) [4-7]
Đề tài tập trung nghiên cứu sâu bài toán tránh vật cản cho robot di động dựa trêntrường thế năng Sau đó, đề tài phân tích ưu, nhược điểm và nghiên cứu các giảithuật nhằm khắc phục nhược điểm cố hữu của phương pháp trường thế năng khirobot di chuyển vào bẫy cực tiểu cục bộ mà các nhà nghiên cứu về robot di độngtrước đó đã đề xuất
Trang 5 Dựa vào thuật toán tránh vật cản cho robot di động dựa trên trường thế năng Đềtài xây dựng chương trình điều khiển robot di động di chuyển từ vị trí ban đầu đến
vị trí mục tiêu và tránh các vật cản trên đường đi
Đề tài nghiên cứu công cụ mô phỏng robot mã nguồn mở Player/Stage nhằmphục vụ cho công việc kiểm nghiệm những nội dung nghiên cứu của đề tài và làm
cở cho việc giảng dạy, học tập và nghiên cứu robot di động [8]
Giới hạn của đề tài là chỉ tập trung giải bài toán tránh vật cản cho robot di độngdựa trên trường thế năng và đưa ra giải khắc phục nhược điểm cố hữu của phươngpháp trường thế năng là bẫy cực tiểu cục bộ
1.3 Nội dung đề tài
Nội dung đề tài gồm các chương sau:
Chương 2: Các bài toán trên robot di động
Chương này trình bày mô hình toán cơ bản và các bài toán cần giải quyết trên robot
di động bao gồm bài toán lập kế hoạch đường đi, tránh vật cản và định vị Những
phương pháp đã được nghiên cứu để giải quyết các bài toán này
Chương 3: Các giải thuật tránh vật cản cho robot di động dựa trên trường thế năng
Đây là phần trọng tâm của đề tài Chương này tập trung nghiên cứu các giải thuậttránh vật cản cho robot di động dựa trên trường thế năng như phương pháp trườngthế năng và phương pháp trường lực ảo Sau đó, đề tài phân tích ưu, nhược điểmcủa từng phương pháp và đưa ra các giải thuật khắc phục nhược điểm cố hữu củaphương pháp trường thế năng và trường lực ảo là robot bị bẫy trong cực tiểu cục bộ
Chương 4: Kết quả mô phỏng
Chương này giới thiệu về đặc điểm, chức năng của công cụ mô phỏng robot mãnguồn mở Player/Stage [8] Do điều kiện vật chất và thời gian nên người thực hiện
Trang 6Chương 5: Kết luận và hướng phát triển của đề tài
Chương này sẽ nhận xét ưu, nhược điểm của các giải thuật cải tiến mà đề tài đã đưa
ra so với các giải thuật đã được nghiên cứu trước đây và đề xuất hướng phát triểncủa đề tài
Trang 7Chương 2
Các bài toán trên robot di động
Chương này trình bày các phần lý thuyết cần thiết phục vụ cho việc nghiên cứu của
đề tài như mô hình động học, các bài toán trên robot di động Từ đó, đề tài sẽ tậptrung nghiên cứu các giải thuật tránh vật cản cho robot di động dựa trên trường thếnăng Mục 2.1 trình bày bài toán động học cơ bản và được mô hình hóa dưới dạngcông thức toán học Mục 2.2 trình bày các bài toán nghiên cứu trên robot di động,
bao gồm bài toán lập kế hoạch đường đi, tránh vật cản và định vị
2.1 Bài toán động học cơ bản
2.1.1 Robot di động chuyển động bằng bánh (Wheeled Mobile Robot)
Trang 8X m Y m
P: , : Hệ tham chiếu riêng
Vị trí của P trong hệ tham chiếu chung được xác định bởi toạ độ ( y x, ) và góc lệchgiữa hệ tham chiếu chung và hệ tham chiếu riêng là Như vậy, vị trí của robotđược xác định bởi 3 biến ,x y và
Vị trí robot trong hệ tọa độ cơ bản:
P với ( y x, ) là vị trí và là góc định hướng của robot
Ma trận xoay R() biểu thị định hướng của hệ tọa độ cơ bản đối với hệ tọa độchuyển động
0
0cossin
0sincos
L ; r
r.
V L
Trang 9Trong đó V L là vận tốc bánh bên trái; V R là vận tốc bánh xe bên phải; r là bán kính
danh định của mỗi bánh; và L là khoảng cách giữa hai bánh
Phương trình chuyển động với vận tốc v của robot thỏa mãn phương trình động
sau:
cos 0sin 0
x
v y
2.2 Các bài toán nghiên cứu trên robot di động
Để robot di động có thể làm việc trong môi trường thực tế thì cần phải giải quyếtcác bài toán sau đây:
Lập kế hoạch đường đi (Path planning)
Tránh vật cản (Obstacle Avoidance)
Định vị (Localization)
2.2.1 Lập kế hoạch đường đi
Trong thực tế để robot có thể làm việc trong môi trường thì cần giải bài toán lập kếhoạch đường đi [3, 11] Bài toán lập kế hoạch đường đi là tìm một đường đi chorobot từ vị trí ban đầu đến vị trí mục tiêu mà robot không bị va chạm với vật cản.Bài toán lập kế hoạch đường đi được chia làm 2 loại là bài toán toàn cục (global) vàbài toán cục bộ (local) như Hình 2.2
Trong bài toán toàn cục (global), môi trường làm việc của robot được biết trướchoàn toàn, vấn đề cần phải giải quyết là tìm đường đi cho robot trước khi nó xuấtphát
Trong bài toán cục bộ (local), môi trường làm việc của robot có thể là hoàn toàn
Trang 10Hình 2.2 Chu trình lập kế hoạch và điều hướng
chưa biết trước hoặc chỉ biết trước một phần Vì vậy, robot phải nhờ vào sự cảmnhận môi trường thông qua các cảm biến gắn trên nó để dò đường
Như vậy, bài toán toàn cục tỏ ra lợi thế hơn bài toán cục bộ bởi vì đã biết trướcđường đi tối ưu đến mục tiêu trước khi cho robot vận hành Tuy nhiên, ở bài toánnày cũng tồn tại một vài hạn chế là khi xây dựng chương trình thì tốn nhiều lệnhtính toán và bộ nhớ Mặt khác, nếu việc khai báo bản đồ đường đi không chính xác
có thể dẫn đến robot sẽ vận hành sai và không thể tìm đến được mục tiêu
Trong khi đó, ở bài toán cục bộ thì robot chỉ biết được thông tin xung quanh nóthông qua vòng cảm biến gắn trên nó Do đó, ở bài toán này có thể robot không thểthực hiện việc tìm đến mục tiêu (mặc dù thực tế có đường đi đến) và khái niệm tối
ưu không thể đạt được trong bài toán này Tuy nhiên, bài toán này cũng có những
ưu điểm là tính toán đơn giản, chương trình chiếm dung lượng bộ nhớ ít và có tínhlinh hoạt cao (tránh được vật cản bất ngờ và cả những vật cản động) Đây là ưuđiểm nổi bật của bài toán cục bộ Ngày nay, một số nhà nguyên cứu robot thườnghay kết hợp giữa bài toán cục bộ và bài toán toàn cục để tăng tính linh hoạt và hiệuquả hơn cho robot di động
Phương pháp lập kế hoạch đường đi cho robot đầu tiên và thông dụng nhất là không
Trang 11gian cấu hình C-space (Configuration space) Với phương pháp này kích thước củarobot được thu lại thành một điểm Vì robot được xem như một điểm Do đó, phảităng kích thước của vật cản lên một giá trị bằng bán kính robot để bù trừ, điều nàylàm rút gọn không gian cấu hình của robot Sau khi tìm được đường đi, vật cảnđược co lại và kích thước của robot được trả về kích thước ban đầu
Có nhiều phương pháp lập kế hoạch đường đi cho robot di động và được phân chiathành 3 phương pháp chủ yếu sau:
Phương pháp bản đồ đường đi (Roadmap)
Phương pháp chia ô (Cell decomposition)
Phương pháp trường thế năng (Potential fiel methods)
2.2.1.1 Phương pháp bản đồ đường đi (Roadmap)
Phương pháp bản đồ đường đi được xây dựng bởi một tập hợp những đường đi.Trong đó, mỗi đường đi được kết nối từ những vùng không gian trống Cách tiếpcận này sẽ tạo ra một đường đi được kết nối từ điểm bắt đầu với điểm mục tiêu.Ngoài ra, còn có 2 phương pháp bản đồ đường đi nổi tiếng khác là Visibility graph
và Voronoi diagram như Hình 2.3 và 2.4
Hình 2.3 Phương pháp Visibility graph
Trang 12Hình 2.4 Sơ đồ Voronoi
2.2.1.2 Phương pháp chia ô (Cell decomposition)
Phương pháp chia ô được thực hiện như sau: ở đâu có vùng không gian trống thìđược chia nhỏ ra và được kết nối với nhau Các ô này được tìm kiếm để tìm mộtđường đi và đường đi đó được kết nối từ điểm ban đầu và điểm mục tiêu Có rấtnhiều thuật toán chia ô chẳng hạn như chia ô gần đúng, chia ô thích nghi và chia ôchính xác
Chia ô gần đúng (Approximate Decomposition)
Phương pháp chia ô gần đúng là một phương pháp thông dụng nhất để lập kế hoạchđường đi cho robot Mỗi ô có một hình dạng và kích thước được xác định trước, do
đó dễ dàng áp dụng Nếu có một đối tượng nằm trong vùng chứa các phần tử ô,phần tử đó được đánh dấu là một vật cản Nếu không thì nó là không gian trống Tạitâm của mỗi ô tạo thành một nút trong đồ thị tìm kiếm và sẽ được xem xét để tìmmột đường đi như Hình 2.5, những nút này có thể là 4 liên kết hay 8 liên kết đượcxem xét để tìm đường đi theo đường chéo Thay vì xác định đối tượng hoặc hìnhdạng cụ thể, phương pháp chia ô đơn giản đánh dấu lên biểu đồ để xem liệu có phùhợp với toàn bộ không gian trống hoặc trống một phần hay không
Trang 13Hình 2.5 ô lưới 8 liên kết và 4 liên kết
Các giá trị về khoảng cách, các ô bị chiếm giữ được biểu diễn trong không gian 2chiều được gọi là bản đồ Các thành phần lưới 3 chiều được biết như điểm ảnh 3chiều Phương pháp này được gọi là gần đúng vì ranh giới của các đối tượng vật lýtrong không gian không nhất thiết phải trùng với ranh giới ô được xác định trước.Chia ô gần đúng được áp dụng rất phổ biến vì một số lý do: thuật toán được thựchiện dễ dàng hơn so với các thuật toán khác, đơn giản dễ áp dụng cho không gianđộc lập và có tính linh hoạt Kích thước các ô có thể được điều chỉnh nhằm giảmthời gian tính toán bằng cách tăng kích thước ô, do đó giảm số lượng ô tìm kiếmbằng cách giảm kích thước ô để được cung cấp thông tin đầy đủ và chi tiết hơn
Chia ô thích nghi (Adaptive Cell Decomposition)
Chia ô thích nghi được dùng để giảm bớt số lượng ô được dùng trong vùng mở (đểgiảm không gian bộ nhớ lưu trữ và thời gian tính toán được nhanh hơn) Đây là mộtthuật toán thường áp dụng để mở rộng địa hình tự nhiên có diện tích rộng lớn
Chia ô chính xác (Exact Cell Decomposition)
Chia ô chính xác giải quyết một số vấn đề với những ô lưới vuông bình thường vớimột cách khác, những ô không có kích thước hay hình dạng biết trước, nhưng đượcxác định dựa vào bản đồ thế giới, vị trí và hình dạng của các vật cản bên trong nó.Ranh giới ô chính xác tương ứng với ranh giới trong không gian thiết kế và liên kếtnhững ô chính xác trong không gian trống như Hình 2.6
Như vậy, thuật toán chia ô chính xác luôn luôn tìm thấy một đường đi đến mục tiêu
Trang 14Hình 2.6 Chuỗi của các ô liên tiếp được chuyển thành một đường dẫn
bằng việc nối những trung điểm giao nhau của hai ô
nếu có, nhưng kết quả không chắc đó là đường đi tối ưu (ngắn nhất) Tuy nhiên,phương pháp này không có quy tắc đơn giản nào để phân tích không gian bên trongcác ô Vì vậy, phương pháp này rất khó để áp dụng cho các môi trường thực tế, nơi
mà các vật cản không được xác định và có hình dạng rất đa dạng
2.2.1.3 Phương pháp trường thế năng (Potential fiel method)
Phương pháp trường thế năng sử dụng lực ảo trong không gian làm việc của robot.Robot được xem như một điểm và chịu ảnh hưởng của trường thế năng nhân tạo Vịtrí đích tạo ra lực hút lên robot còn các vật cản tạo ra lực đẩy lên robot Sự xếpchồng của tất cả các lực sẽ đặt lên robot Robot được giả thiết như một điểm trongkhông gian cấu hình Trường thế năng nhân tạo có nhiệm vụ dẫn hướng robot tiến
về mục tiêu một cách trơn tru, đồng thời tránh được các vật cản trên đường dichuyển về mục tiêu
2.2.2 Tránh vật cản
Tránh vật cản là phương pháp tạo ra đường đi mới cho robot để robot vượt quanhững vật cản bất ngờ hay những vật cản động [7, 12, 13] Kết quả di chuyển phụthuộc vào vị trí hiện tại của robot và việc đọc cảm biến Trên lý thuyết, có rất nhiều
Trang 15thuật toán tránh vật cản từ việc lập lại đường đi cơ bản đến việc thay đổi phản ứngtrong chiến lược điều khiển.
2.2.2.1 Thuật toán Bug
Thuật toán Bug là một thuật toán đơn giản giúp robot có thể vượt qua các vật cảntrong quá trình di chuyển từ vị trí ban đầu đến mục tiêu [14] Thuật toán này tạo rađường đi không va chạm và dựa theo nguyên lý đường bao của vật cản được pháthiện Hai phiên bản của thuật toán Bug 1 và Bug 2 đều dựa theo nguyên lý này Tuynhiên, cách xử lý khi phát hiện vật cản thì khác nhau
Robot được xem như một điểm hoạt động trong mặt phẳng, di chuyển từ s đến g và
trên robot có gắn các cảm biến để phát hiện vật cản Thuật toán Bug 1 mô tả rằng
khi một vật cản i được phát hiện, robot thực hiện một đường bao quanh nó, bắt đầu
tại điểm phát hiện Hi Đường bao này để ước lượng điểm Li có khoảng cách ngắnnhất tới mục tiêu Sau đó, robot tiếp tục di chuyển theo đường bao cho đến khi nótìm thấy điểm Li lần nữa kể từ lúc nó rời khỏi Li được gọi là điểm rời khỏi Kỹthuật này không hiệu quả về chi phí đường đi nhưng nó đảm bảo rằng robot có thểtìm thấy mục tiêu Hình 2.7 mô tả không gian hoạt động của robot với 2 vật cản O2
và O1, H1 và H2 là điểm robot phát hiện vật cản, L1 và L2 là điểm rời khỏi vật cản
Ở thuật toán Bug 2, khi robot phát hiện vật cản i thì robot cũng di chuyển bao quanh
vật cản bắt đầu tại điểm va chạm Hi giống như thuật toán Bug 1, nhưng robot sẽ rờikhỏi khi di chuyển cắt ngang đường thẳng đến mục tiêu Li là điểm rời khỏi vật cản
Từ điểm Li robot sẽ di chuyển tiến thẳng đến mục tiêu Cách xử lý này sẽ được lặplại cho các vật cản tiếp theo được phát hiện Hình 2.8 mô tả đường đi được tạo rabởi thuật toán Bug 2 với 2 vật cản O1 và O2
Thuật toán Bug 2 có thời gian di chuyển ngắn hơn thuật toán Bug 1 Tuy nhiên, cónhững tình huống làm nó trở nên không tối ưu, trong thực tế robot có thể bị bẫytrong cấu trúc ma lộ
Trang 16Hình 2.7 Tránh vật cản với thuật toán Bug 1
Hình 2.8 Tránh vật cản với thuật toán Bug 2
Thuật toán này thực hiện đơn giản Tuy nhiên, nó tồn tại nhược điểm là không cógiải thuật nào lấy động lực học robot vào trong tính toán Ngoài ra, chỉ có những dữliệu gần nhất của cảm biến mới được đưa vào tính toán và nhiễu của cảm biến sẽảnh hưởng đến quá trình hoạt động của robot
Ưu điểm và hạn chế của thuật toán Bug
Thuật toán Bug tuy đơn giản, nhưng thuật toán này vẫn tồn tại một số khuyết điểm
là không có giải thuật nào lấy động lực học robot vào trong tính toán Ngoài ra, chỉ
có những dữ liệu gần nhất của cảm biến được đưa vào tính toán và nhiễu của cảmbiến sẽ ảnh hưởng hoạt động của robot trong thực tế
2.2.2.2 Phương pháp trường thế năng (Potential field method)
Phương pháp trường thế năng được đề xuất bởi O.Khatib [4, 7, 15] Robot đượcxem như một điểm di chuyển trong trường thế năng, trường thế năng được tạo ra
Trang 17bởi mục tiêu và các vật cản trong môi trường Mục tiêu tạo ra thế năng hút, vật cảntạo ra thế năng đẩy, trường thế năng được xem như một trường năng lượng vàgradient của nó tại mỗi điểm là một lực
Khi robot di chuyển trong trường thế năng và chịu tác động của gradient bởi thếnăng hút được tạo ra từ mục tiêu và lái nó hướng về mục tiêu đồng thời tránh đượcvật cản nhờ những gradient của thế năng đẩy được tạo ra từ các vật cản
Robot di chuyển trong trường thế năng được giải thích là sự di chuyển của mộtđiểm trong gradient trường vector được tạo ra bởi những hạt mang điện tích dương
và âm Robot mang điện tích dương, mục tiêu mang điện tích âm và vật cản là tậphợp các điện tích dương Gradient trong trường hợp này là lực đẩy của các điện tíchdương và lực hút của điện tích dương và âm Sự phối hợp của lực hút từ mục tiêu vàlực đẩy từ vật cản sẽ lái robot an toàn về mục tiêu
Hình 2.9 mô tả phương pháp trường thế năng với không gian làm việc của robotgồm ba vật cản (obstacle), điểm bắt đầu (S) và mục tiêu (G), các đường bao xungquanh vật cản mô tả thế năng đẩy và đường bao quanh mục tiêu mô tả thế năng hút.Giả sử q là vị trí của robot được xem như một điểm di chuyển trong không gian nchiều Rn Với mô tả này xem như việc áp dụng một robot điểm di chuyển trong mặt
phẳng tức n=2 và robot được định nghĩa là q=(x,y).
Hình 2.9 Phương pháp trường thế năng
Trang 18Ngoài ra, phương pháp này có thể áp dụng on-line để đáp ứng với việc tránh vật cảnđộng Thế năng đẩy có được từ những vật cản đã biết hay chưa biết bằng cách đọccảm biến trong suốt quá trình di chuyển của robot Tuy nhiên, sự tin cậy của nó trênthông tin cục bộ có thể robot bị bẫy trong cực tiểu cục bộ Đây chính là hạn chế vốn
có của phương pháp trường thế năng
Một vị trí bẫy cực tiểu cục bộ thường xuất hiện do sự đối xứng của môi trường vậtcản hoặc những vật cản lõm (hình chữ U) như Hình 2.10 mô tả robot bị bẫy trongcực tiểu cục bộ mà vật cản có dạng hình chữ U
Hình 2.10 Bẫy cực tiểu cục bộ
Trang 19Để khắc phục nhược điểm cố hữu của phương pháp trường thế năng, đề tài sẽ phântích và đưa ra giải pháp khắc phục và được trình bày chi tiết ở chương 3
Một phương pháp mở rộng của phương pháp trường thế năng có tên là phương pháptrường lực ảo (VFF) sẽ được trình bày dưới đây
2.2.2.3 Phương pháp trường lực ảo (Virtual Force Field)
Phương pháp này do Borenstein và Koren đưa ra [4, 5, 7, 16] Đây là phương pháptránh vật cản thời gian thực được áp dụng cho những robot di động chuyển độngnhanh Phương pháp VFF cho phép điều khiển robot chuyển động nhanh, liên tục vàtrơn tru giữa các vật cản bất ngờ mà robot không cần phải dừng trước vật cản
Phương pháp VFF sử dụng tọa độ đề các 2 chiều được gọi là biểu đồ lưới C để biểudiễn vật cản Mỗi ô ( j i, ) trong biểu đồ lưới chứa một giá trị chắc chắn c ij, giá trị c ij
này cho thấy độ tin cậy của giải thuật khi tồn tại vật cản tại vị trí đó Trong biểu đồlưới, giá trị đọc từ cảm biến siêu âm sẽ báo sự hiện diện của vật cản tại ô đó vàđược gọi là số gia Nó chỉ tăng giá trị của một ô duy nhất trong biểu đồ lưới sau mỗi
lần đọc dữ liệu từ cảm biến mà tương ứng với khoảng cách d như Hình 2.11a và
nằm trên trục tâm của cảm biến siêu âm
Phương pháp này có thể thu được phân bố xác suất của vật cản bằng cách mỗi cảmbiến lấy mẫu nhanh và liên tục trong suốt quá trình robot di chuyển Vì vậy, ô này
và những ô lân cận sẽ có số gia tăng nhiều lần như Hình 2.11b Kết quả là trongbiểu đồ phân bố xác suất, những giá trị chắc chắn cao nằm trong những ô gần với vịtrí thực tế của vật cản
Áp dụng những ý tưởng này vào biểu đồ lưới Từ đó, những thông tin từ cảm biến
có thể được sử dụng một cách hiệu quả để điều khiển robot Hình 2.11 mô tả hoạtđộng của thuật toán
Khi robot di chuyển, một cửa sổ có kích thước w s w s di chuyển cùng với robot vànằm trong một vùng hình vuông của C và được gọi là vùng hoạt động (biểu thị là
Trang 20với giá trị của ô chắc chắn i j, và tỉ lệ nghịch với d , ở đây là khoảng cách từ ôđến tâm của robot, x là số thực dương ( giả định x2)
Kết hợp các thông số trong thời gian thực cho phép dữ liệu của cảm biến sẽ tácđộng và điều khiển hướng lái ngay lập tức Trong thực tế, mỗi lần đọc của cảm biến
sẽ được ghi vào biểu đồ lưới ngay khi nó bắt đầu có hiệu lực và tính toán tiếp cho
bước tiếp theo để tính dữ liệu R Tính năng này làm cho robot phản xạ nhanh với
những vật cản xuất hiện bất ngờ Do đó, robot phản ứng nhanh khi di chuyển vớitốc độ cao
Hình 2.11 Phân bố xác xuất vật cản dùng cảm biến lấy mẫu liên tục
Trang 21Ưu điểm và hạn chế của phương pháp VFF
Phương pháp VFF đã được thử nghiệm và robot hoạt động rất tốt trong hầu hết cácmôi trường hoạt động [4] Tuy nhiên, phương pháp này vẫn tồn tại một số nhượcđiểm như bẫy cực tiểu cục bộ, dao động khi di chuyển gần vật cản, dao động tronglối đi hẹp và robot không thể di chuyển qua khoảng trống hẹp giữa 2 vật cản, do lựcđẩy từ 2 vật cản đẩy robot ra xa Ngoài ra, khi robot di chuyển trong hành lang hẹpdọc theo tâm giữa 2 bức tường thì sự di chuyển của robot sẽ ổn định Tuy nhiên, nếurobot di chuyển lệch qua một bên của đường tâm giữa 2 bức tường thì nó bị đẩy dolực đẩy ảo rất mạch từ bức tường ở gần Lực này thường đẩy robot lệch sang mộtbên tường và khi robot lệch sang bên tường đó, từ bức tường gần đó lực đẩy ảo tiếptục đẩy robot lệch sang phía ngược lại và kết quả làm cho robot bị dao động và dichuyển không ổn định
2.2.2.4 Phương pháp biểu đồ trường vector (Vector field histogram)
Để khắc phục nhược điểm cố hữu của phương pháp trường thế năng và phươngpháp trường lực ảo đã được trình bày và phân tích ở trên Các nhà nghiên cứu robot
đã đề xuất một phương pháp mới được gọi là phương pháp biểu đồ trường vector(VFH - Vector Field Histogram) nhằm khắc phục nhược điểm của phương pháptrường thế năng và phương pháp trường lực ảo [17, 18]
Phương pháp VFH là phương pháp tránh vật cản cho robot di động chuyển độngnhanh do Borenstein và Koren đưa ra [17] Phương pháp VFH cho phép robot pháthiện những vật cản bất ngờ và tránh va chạm với chúng, đồng thời điều hướng robot
di chuyển về hướng mục tiêu Phương pháp VFH có thể điều khiển robot di động điqua dãy nhiều vật cản với tốc độ trung bình và có thể đi qua hành lang hẹp màkhông bị dao động
Phương pháp VFH sử dụng biểu đồ lưới đề các 2 chiều như một mô hình thế giới
Mô hình này được cập nhật và lấy mẫu dữ liệu liên tục từ board cảm biến Sau đó,
xử lý nén dữ liệu 2 bậc để tính toán và kiểm soát lệnh điều khiển robot
Trang 22Trường hợp thứ 2, một chỗ lõm hẹp được hình thành khi robot di chuyển gầnkhoảng trống giữa các vật cản như Hình 2.12 Ở đây, ranh giới xa k f thì có cácsectors Smax cách k n một khoảng nhỏ hơn
Tuy nhiên, hướng di chuyển sẽ được chọn lại là k n k f/2 và robot duy trìtiến trình giữa tâm 2 vật cản
Robot có thể đi qua lối đường hẹp được là nhờ vào khả năng nhận biết một chỗ lõmhẹp và chọn một vị trí trung tâm để đi qua chỗ lõm đó
Hình 2.12 Tìm hướng lái khi qua lối đi hẹp
Trang 23Ưu điểm và hạn chế của phương pháp VFH
Phương pháp VFH có thể điều khiển robot di động đi qua dãy nhiều vật cản với tốc
độ trung bình và có thể đi qua hành lang hẹp mà nó không bị dao động Tuy nhiên,robot được điều khiển bằng phương pháp VFH cũng có thể bị bẫy trong những ngõcụt [17]
Tốc độ di chuyển tối đa khi robot được điều khiển bằng phương pháp VFH bị hạnchế do thời gian lấy mẫu của cảm biến siêu âm mà trong thuật toán VFH thì khôngtính đến thời gian này
2.2.3 Định vị
Định vị là xác định vị trí của robot trong môi trường làm việc [19] Để xác định vịtrí của robot thì có 2 phương pháp cơ bản là phương pháp định vị tuyệt đối (APM -Absolute Positioning Method) và phương pháp định vị tương đối (RPM - RelativePositioning Method)
Phương pháp định vị tương đối chủ yếu dựa trên bài toán dead recknoking để tính
số vòng quay của bánh xe, từ đó suy ra vị trí robot sau một quá trình di chuyển
Phương pháp định vị tuyệt đối thì dùng thêm các cảm biến, cột mốc, bản đồ cục bộ,bản đồ toàn cục …để định vị robot
2.3 Các giải thuật khắc phục nhược điểm bẫy cực tiểu cục bộ
2.3.1 Bài toán phát hiện bẫy cực tiểu cục bộ
2.3.1.1 Giải thuật phát hiện bẫy bằng cách theo dõi tốc độ robot
Giải thuật với điều kiện chuyển đổi để giải quyết vấn đề cực tiểu cục bộ bằng cáchtheo dõi và cập nhật tốc độ liện tục của robot để phát hiện bẫy Tuy nhiên, giải thuậtnày khó thực hiện trong thực tế, vì nếu chỉ xét trên một hệ thống lý tưởng (không cóquán tính), trạng thái bẫy của robot có thể được phát hiện rất đơn giản, đó là theodõi tốc độ của robot Trong trường hợp robot rơi vào bẫy, tốc độ của robot sẽ bằng
Trang 24Giải thuật này được thực hiện bằng cách so sánh góc g (góc từ robot tới mục tiêu)với góc 0 (góc hiện hành của robot) Nếu trị tuyệt đối của góc 0 trừ đi góc g màlớn hơn 900 thì robot sẽ nhận ra đó là bẫy cực tiểu cục bộ Như vậy, với giải thuậtnày ta chỉ theo dõi và cập nhật góc hiện hành của robot 0, còn góc g thì khôngcần cập nhật vì góc g luôn cố định
Giải thuật này khá đơn giản và có thể áp dụng cho mọi tình huống phát hiện ra bẫycực tiểu cục bộ trong môi trường làm việc của robot
Điều kiện phát hiện robot bị bẫy là:
2.3.2 Bài toán thoát ra khỏi bẫy cực tiểu cục bộ
2.3.2.1 Giải thuật thoát ra khỏi bẫy sử dụng giải thuật kết hợp trường thế năng với phương pháp wall following
Trang 25Phương pháp trường thế năng (PFM) có nhược điểm cố hữu là robot bị bẫy trongcực tiểu cục bộ Do đó, làm thế nào mà robot phát hiện được vị trí bẫy cực tiểu cục
bộ Một giải thuật kết hợp phương pháp trường thế năng với phương pháp wallfollowing (WFM) được đề xuất để giúp robot phát hiện vị trí bẫy cực tiểu cục bộ[20, 21] Điều kiện chuyển đổi giữa hai chế độ PFM và WFM là:
0 0
PFM �WFM
0 0
0
| g | 90 thì không bao giờ thỏa
Hình 2.13 Giải thuật wall following
Trang 262.3.2.2 Giải thuật thoát ra khỏi bẫy sử dụng phương pháp trường thế năng kết hợp với mục tiêu ảo
Để thực hiện giải thuật này thì đề tài sử dụng phương pháp trường thế năng kết hợpvới mục tiêu ảo [22-24] Nghĩa là, trong suốt quá trình robot di chuyển từ điểm bắtđầu đến điểm mục tiêu, nếu robot không bị bẫy thì nó sẽ di chuyển và tránh vật cảnchỉ dựa trên phương pháp trường thế năng
Tuy nhiên, trong quá trình di chuyển mà robot nhận ra đã bị bẫy thì sẽ kết hợpphương pháp trường thế năng (PFM) với mục tiêu ảo (VGC) Điều kiện robot pháthiện bẫy là:
0 0
| g | 90thì kết hợp PFM với VGC để robot di chuyển thoát ra khỏi bẫy và khi nếu
0 0
| g | 90thì chỉ sử dụng PFM để di chuyển tìm đến vị trí mục tiêu
2.3.2.3 Giải thuật thoát ra khỏi bẫy sử dụng thuật toán tìm kiếm kết hợp với phương pháp trường thế năng hoặc trường lực ảo
Để thực hiện giải thuật này thì đề tài sử dụng phương pháp trường thế năng kết hợpvới giải thuật tìm kiếm nào đó chẳng hạn như A*, D* [25] Nghĩa là, trong suốt quátrình robot di chuyển từ điểm bắt đầu đến điểm mục tiêu, robot không cần phát hiện
vị trí bẫy mà trong quá trình robot di chuyển nó sẽ cập nhật môi trường liên tục và
Trang 27các giá trị cập nhật được sẽ lưu vào bản đồ biễu diễn vật cản Dựa vào bản đồ nàythuật toán tìm kiếm (A* hoặc D*) sẽ lập kế hoạch đường đi (mỗi nút mà thuật toántìm kiếm tạo ra trong môi trường là một mục tiêu tạm) Robot sẽ di chuyển đến cácmục tiêu tạm này đồng thời tránh vật cản chỉ dùng phương pháp trường thế nănghoặc trường lực ảo.
Kết luận
Từ cơ sở lý thuyết về robot di động cùng với việc so sánh ưu, khuyết điểm của từngphương pháp đã được trình bày ở trên Đề tài sẽ chọn một vài giải thuật tránh vậtcản cho robot di động dựa trên trường thế năng để thực hiện Để robot di động dichuyển và tránh vật cản trong suốt quãng đường đi của nó thì đề tài sử dụng phươngpháp trường thế năng và phương pháp trường lực ảo để tránh vật cản, trong trườnghợp robot bị bẫy cực tiểu cục bộ thì đề tài sẽ kết hợp với giải thuật tự khám pháhoặc giải thuật lập kế hoạch đường đi cục bộ nhằm khắc phục nhược điểm bẫy cựctiểu cục bộ của 2 phương pháp trường thế năng và trường lực ảo, phần này sẽ đượctrình bày chi tiết ở chương 3
Trang 29x , tọa độ của ô hoạt động (i,j)
Tất cả các lực đẩy ảo được cộng vào và kết quả có một lực đẩy F : r
t ct t
d
y y d
x x F
(3.14)Với
x , tọa độ của mục tiêu.
Tổng của F và r F là kết quả của vector lực R t
t
r F F
Một cửa sổ tròn về mặt hình học thì thích hợp hơn Tuy nhiên, khi xử lý và tính toánthì khó hơn hình vuông Ý tưởng trường thế năng được áp dụng cho biểu đồ lướiđược thể hiện như Hình 3.2