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

luan van Dieu khien robot

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 (1.34 MB, 81 trang )

Chương 1: Tổng quan

1

Chương 1

Tổng quan

1.1. Giới thiệu
Robot được biết đến như một thiết bị cơ khí thực hiện các công việc tự động hay
theo sự giám sát của con người thông qua chương trình định trước hoặc một tập luật
chung sử dụng các kỹ thuật điều khiển thông minh [1]. Ban đầu, các robot được
dùng để thay thế con người làm những công việc đơn điệu, nặng nhọc hay các công
đoạn nguy hiểm, độc hại. Ngày nay, trong công nghiệp robot được sử dụng trong
nhiều ứng dụng khác nhau. Robot công nghiệp thường làm việc tại một vị trí cố
định hay phạm vi hoạt động của chúng bị giới hạn, môi trường xung quanh của
robot thường được thiết kế theo chức năng nhiệm vụ riêng của từng robot.
Trên thực tế, nhiều ứng dụng đòi hỏi robot phải hoạt động với độ di động cao, thay
vì chỉ thực hiện các hành động tại một vị trí, để thực hiện nhiệm vụ chúng phải di
chuyển từ nơi này đến nơi khác. Do đó, chúng phải có khả năng nhận biết môi
trường xung quanh để thực hiện hành vi di chuyển. Điều này thúc đẩy các dự án
nghiên cứu về mobile robot ra đời.
Mobile robot (còn gọi là robot tự hành, robot di động) là những robot có khả năng
di chuyển từ nơi này đến nơi khác trên một bề mặt nhất định để thực hiện một
nhiệm vụ nhất định, chúng có thể nhận biết được môi trường xung quanh thông qua
các cảm biến mà không cần sự tác động trực tiếp của con người. Khả năng di
chuyển được của mobile robot làm cho phạm vi ứng dụng được mở rộng một cách
đáng kể. Các mobile robot có thể làm việc chung trong không gian của con người
và hợp tác với con người bằng việc chia sẻ không gian làm việc với nhau.



Chương 1: Tổng quan

2

Để thực hiện khả năng di chuyển, mobile robot cần có cơ cấu cho sự đi lại trong
môi trường làm việc. Hầu hết những cơ cấu di chuyển này được lấy cảm hứng từ
các đối tượng thích nghi với môi trường tự nhiên hoặc các đối tượng sinh học với
những mục đích khác nhau. Vì thế nên ngoài cách phân loại mobile robot theo môi
trường làm việc hay phân loại dựa trên công việc mà chúng thực hiện, người ta còn
dựa vào phương thức di chuyển để phân loại mobile robot, theo cách này mobile
robot có thể được chia thành ba loại: mobile robot di chuyển bằng bánh xe (hình
1.1), mobile robot di chuyển bằng bánh xích (hình 1.2) và mobile robot di chuyển
bằng chân (hình 1.3).
Mobile robot di chuyển bằng bánh xe là loại gồm các bánh xe gắn cố định với phần
thân của chúng, một cơ cấu truyền động quay các bánh xe làm cho robot di chuyển.
Do phần thân gắn trên bánh xe nên dễ điều khiển, vấn đề cân bằng cũng dễ dàng
hơn, năng lượng tiêu tốn ít hơn và có thể di chuyển với tốc độ đáng kể [2]. Hiện có
hai loại bánh xe thường được sử dụng là bánh xe dạng đĩa và bánh xe đa hướng.
Bánh xe dạng đĩa chỉ có khả năng quay quanh trục chứ không thể trượt ngang. Bánh
xe đa hướng là loại gồm nhiều bánh nhỏ dạng đĩa gắn xung quanh có khả năng
quay quanh trục của chúng. Robot sử dụng loại bánh xe đa hướng có thể di chuyển
tức thời theo mọi hướng.
Mobile robot di chuyển bằng bánh xích có ưu điểm nổi bật là độ bám chặt cao của
bánh xe lên bề mặt địa hình, nhờ vậy chúng thường được dùng để di chuyển trên
những địa hình phức tạp như: đồi cát, đầm lầy, rừng núi…
Mobile robot di chuyển bằng chân là những robot di chuyển bằng các khớp chân cơ
khí được mô phỏng giống chân của động vật hoặc chân người, chúng di chuyển
được trên một số địa hình lồi lõm, nhưng vấn đề điều khiển chuyển động của các
khớp chân cũng như khả năng giữ thăng bằng rất phức tạp.



Chương 1: Tổng quan

3

Hình 1.1: Mobile robot di chuyển bằng bánh xe
a) Mobile robot sử dụng bánh xe dạng đĩa
Nguồn: />b) Mobile robot sử dụng bánh xe đa hướng
Nguồn: />
Hình 1.2: Mobile robot di chuyển bằng bánh xích
Nguồn: />

Chương 1: Tổng quan

4

Hình 1.3: Mobile robot di chuyển bằng chân
a) Mobile robot di chuyển bằng chân kiểu động vật
Nguồn: />b) Robot giống người ASIMO
Nguồn: />Mobile robot được sử trong một số ngành công nghiệp, dịch vụ, quân sự, an ninh,
chúng cũng xuất hiện như là sản phẩm tiêu dùng, giải trí hoặc thực hiện các nhiệm
vụ trong không gian… Ngày nay, với sự phát triển vượt bậc của khoa học và công
nghệ, đời sống con người không ngừng được nâng cao, tiềm năng ứng dụng mobile
robot vào cuộc sống là vô cùng to lớn, nhất là robot làm các công việc phục vụ con
người như hút bụi, lau nhà, nấu ăn và thậm chí cả robot chăm sóc con người… Lĩnh
vực này hiện chưa phổ biến, nhưng dự kiến sẽ có nhu cầu rất lớn trong tương lai.
Muốn thực hiện chức năng di chuyển của mobile robot, bài toán đầu tiên cần được
giải quyết đó là “tránh vật cản” nhằm đảm bảo cho chúng không va chạm vào các
chướng ngại vật trên đường đi đến mục tiêu. Để giải quyết vấn đề này nhiều công
trình nghiên cứu đã được công bố, tiêu biểu như: thuật toán Bug [3], phương pháp



Chương 1: Tổng quan

5

trường thế năng [4], phương pháp trường lực ảo [5, 6], phương pháp biểu đồ trường
vector [7, 8]…
Thuật toán Bug
Tư tưởng chủ đạo của thuật toán này là khi gặp vật cản robot sẽ đi theo đường bao
vật cản [9]. Đường đi của thuật toán Bug được cải thiện theo các phiên bản của nó
lần lượt từ Bug1, Bug2 và DistBug.
Phương pháp trường thế năng
Phương pháp trường thế năng xem robot như một điểm di chuyển trong một trường
thế năng do mục tiêu và các vật cản trong môi trường tạo ra. Mục tiêu tạo ra thế hút
còn các vật cản tạo ra thế đẩy. Robot ở trong trường thế năng là đối tượng chịu tác
động của lực hút từ gradient của thế hút để đưa robot đến mục tiêu, đồng thời chịu
tác động của lực đẩy từ gradient của thế đẩy để giữ cho robot tránh va chạm với vật
cản. Vector lực tổng hợp – tổng của vector lực hút và vector lực đẩy – đóng vai trò
như lực gia tốc làm cho robot di chuyển tới vị trí mới và giải thuật được lặp lại đến
khi robot đến mục tiêu.
Phương pháp trường lực ảo
Phương pháp trường lực ảo sử dụng biểu đồ lưới để mô tả vật cản. Mỗi ô trong biểu
đồ lưới chứa một giá trị chắc chắn thể hiện độ tin cậy của giải thuật đối với sự tồn
tại của vật cản ở vị trí xác định. Khi robot di chuyển, một cửa sổ có kích thước

( ws × ws )

ô di chuyển cùng với robot gọi là cửa sổ hoạt động và những ô hoạt động


nằm trong cửa sổ là một vector lực đẩy hướng về phía robot. Độ lớn của lực này tỷ
lệ thuận với giá trị chắc chắc và tỷ lệ nghịch với bình phương khoảng cách giữa ô
đó và tâm robot. Lực đẩy tác dụng lên robot là tổng các lực đẩy của tất cả các ô hoạt
động. Đồng thời, một lực hút ảo có độ lớn không đổi cũng được đặt lên robot để kéo
nó về mục tiêu. Tổng của vector lực hút và lực đẩy tạo thành vector lực tổng hợp.
Độ lớn và chiều của lực tổng hợp hình thành vận tốc và góc lái để điều khiển robot.


Chương 1: Tổng quan

6

Phương pháp biểu đồ trường vector
Phương pháp biểu đồ trường vector cũng dùng biểu đồ lưới để mô tả vật cản như
phương pháp trường lực ảo nhưng biểu đồ trường vector sử dụng kỹ thuật nén dữ
liệu hai giai đoạn thay vì một như trường lực ảo. Trong giai đoạn đầu tiên, biểu đồ
lưới được chuyển thành biểu đồ cực xung quanh vị trí hiện hành của robot. Mỗi
sector trong biểu đồ cực chứa một giá trị mô tả mật độ vật cản cực theo hướng đó. Ở
giai đoạn thứ hai, giải thuật chọn sector phù hợp nhất từ các sector trong biểu đồ
cực có mật độ vật cản cực thấp và điều khiển robot di chuyển theo hướng này.

1.2. Mục tiêu và giới hạn đề tài
Đề tài này nghiên cứu và xây dựng giải thuật tìm đường đi và tránh vật cản cho
mobile robot trong môi trường toàn cục trên cơ sở kết hợp giải thuật biểu đồ trường
vector và thuật toán tìm đường đi ngắn nhất A* để điều khiển mobile robot vừa
tránh được vật cản vừa không bị bẫy cực tiểu cục bộ.
Đề tài chỉ tập trung nghiên cứu và tiến hành mô phỏng trên phần mềm Player/Stage
các phương pháp tránh vật cản cho mobile robot, cụ thể là:
 Phương pháp trường thế năng.
 Phương pháp trường lực ảo.

 Phương pháp biểu đồ trường vector.
 Giải pháp kết hợp giữa giải thuật biểu đồ trường vector và thuật toán A*.

1.3. Nội dung đề tài
Chương 1: Tổng quan.
Chương này giới thiệu một cách khái quát về mobile robot, phân loại mobile robot,
tiềm năng ứng dụng của mobile robot và một số phương pháp tránh vật cản tiêu
biểu đã được công bố trên thế giới. Ngoài ra, mục tiêu nghiên cứu và giới hạn của
đề tài cũng như nội dung chính của luận văn cũng được thể hiện trong chương này.


Chương 1: Tổng quan

7

Chương 2: Cơ sở lý thuyết.
Có hai phần chính được đề cập trong chương 2. Phần thứ nhất trình bày các mô hình
toán dùng trong điều khiển mobile robot. Các phương pháp tránh vật cản cho
mobile robot như: thuật toán Bug, phương pháp trường thế năng, phương pháp
trường lực ảo, phương pháp biểu đồ trường vector được trình bày ở phần thứ hai.
Chương 3: Tìm đường đi cho mobile robot tránh vật cản.
Đây là trọng tâm nghiên cứu của đề tài. Kết quả của chương này là giải thuật “ Tìm
đường đi cho mobile robot tránh vật cản” sử dụng phương pháp biểu đồ trường
vector kết hợp với thuật toán tìm kiếm A* để điều khiển mobile robot vừa tránh
được vật cản vừa không bị bẫy bởi hình dạng của vật cản .
Chương 4: Kết quả mô phỏng.
Phần đầu của chương 4 trình bày các đặc điểm cơ bản của bộ công cụ mô phỏng
mobile robot, phần mềm Player/Stage. Phần tiếp theo là kết quả mô phỏng của ba
phương pháp tránh vật cản cho mobile robot là trường thế năng, trường lực ảo và
biểu đồ trường vector bằng phần mềm Player/Stage với những sơ đồ vật cản đặc

trưng để so sánh những ưu điểm và hạn chế của từng phương pháp. Phần cuối của
chương là kết quả mô phỏng của cách thức “Tìm đường đi cho mobile robot tránh
vật cản” sử dụng phương pháp biểu đồ trường vector kết hợp với thuật toán A*,
chương trình được viết bằng ngôn ngữ lập trình C++.
Chương 5: Kết luận và hướng phát triển của đề tài.
Những kết quả đạt được của đề tài được trình bày trong phần kết luận. Những vấn
đề còn tồn tại của luận văn và hướng phát triển của đề tài cũng được nêu ra một
cách cụ thể trong chương này.


Chương 1: Tổng quan

8

Chương 2

Cơ sở lý thuyết

Với mục đích làm nền tảng cho việc nghiên cứu các phương pháp điều khiển mobile
robot tránh vật cản, chương này sẽ đề cập đến các mô hình toán thường dùng để
thay đổi hướng lái và các phương pháp tránh vật cản cho mobile robot.
Các mô hình toán trình bày trong mục 2.1 gồm mô hình lưỡi dao, mô hình con lăn
một bánh và mô hình lái vi sai. Trong mục 2.2 sẽ tiến hành phân tích, so sánh các
phương pháp tránh vật cản cho mobile robot như thuật toán Bug, phương pháp
trường thế năng, phương pháp trường lực ảo và phương pháp biểu đồ trường vector.

2.1. Một số mô hình toán thường gặp
Moobile robot di chuyển bằng bánh xe dạng đĩa là đối tượng được nghiên cứu phổ
biến của các dự án nghiên cứu về mobile robot. Nhìn chung, chúng có phần thân
gắn cố định trên các bánh xe. Các bánh xe này có thể quay quanh trục để tạo ra sự

chuyển động tương đối giữa robot và mặt đất. Đặc điểm của mobile robot di chuyển
bằng bánh xe là chỉ có thể tiến về phía trước hoặc lùi về phía sau chứ không có
được vận tốc song song với trục bánh xe. Để điều khiển hướng đi của robot người ta
thường dùng kỹ thuật lái vi sai [2].
Khảo sát một robot chuyển động bằng bánh xe với hai bánh lái vi sai được gắn
chung một trục và hoạt động trong mặt phẳng như trên hình 2.1.


Chương 1: Tổng quan

9

Hình 2.1: Mô hình lái vi sai của mobile robot di chuyển bằng bánh xe
 ( x, y ) : tọa độ trung tâm của trục bánh xe;
 θ : góc định hướng của robot;


r : bán kính của bánh xe;

 b : khoảng cách từ tâm của trục đến bánh xe;
 v : vận tốc chuyển động của robot trong mặt phẳng;
 ω1 và ω2 : vận tốc quay của bánh trái và bánh phải.
Khi mô tả chuyển động của cách lái vi sai bằng phương trình toán học, người ta
thường sử dụng ba mô hình sau: mô hình lưỡi dao, mô hình con lăn một bánh và mô
hình lái vi sai [2, 10].
2.1.1. Mô hình lưỡi dao (Knife Edge Model)
Mô hình lưỡi dao là sự thể hiện tối giản nhất cấu hình của mobile robot di chuyển
bằng bánh xe được mô tả bằng vector q = [ x, y,θ ] . Trạng thái của mobile robot có
T


thể được coi như một lưỡi dao mỏng, hình 2.2. Lưỡi dao này được giả thiết có khả


Chương 1: Tổng quan

10

năng trượt với vận tốc Vx theo hướng Ox và quay với vận tốc góc ω nhưng không
có vận tốc Vy theo phương Oy , hay nói cách khác nó không thể trượt ngang.

Hình 2.2: Mô hình lưỡi dao của mobile robot di chuyển bằng bánh xe
Thành phần vận tốc theo phương Ox và Oy là:
x&= Vx cos θ − Vy sin θ
y&= Vx sin θ + Vy cosθ

(2. 0)

Do Vy = 0 , nên (2.1) được viết lại:
x&= Vx cos θ
y&= Vx sin θ

(2. 0)

Khử Vx trong (2.2), ta được:
x&sin θ − y&cos θ = 0

(2. 0)

Robot cũng được giả thiết thỏa điều kiện chỉ quay, nên:
&osθ + y&sin θ = v

xc
Mô hình lưỡi dao có thể được mô tả ở biểu thức (2.5):

(2. 0)


Chương 1: Tổng quan

11

 x& cos θ 0 
v 
 
q&=  y& = sin θ 0   
ω
θ& 0
1   
 

(2. 0)

2.1.2. Mô hình con lăn một bánh (Roller Unicycle Model)
Mô hình con lăn một bánh là sự thay đổi của mô hình lưỡi dao bằng cách thêm vào
góc quay ϕ của bánh xe như thêm vào một bậc tự do. Không gian cấu hình của con
lăn được mô tả bởi vector q = [ x, y,θ , ϕ ] . Tuy nhiên, con lăn cũng chỉ có hai bậc
T

tự do, chúng ta cũng có hai ràng buộc vận tốc được mô tả ở biểu thức (2.6) và (2.7),
với r là bán kính của bánh xe.
x&sin θ − y&cos θ = 0


(2. 0)

&osθ + y&sin θ − ϕ&r = 0
xc

(2. 0)

Biểu thức (2.6) cho biết con lăn không trượt theo phương ngang của con lăn, còn
biểu thức (2.7) mô tả con lăn chỉ quay mà không trượt.
Hai ràng buộc này có thể được biểu diễn dưới dạng ma trận:
 x&
 
0   y&
sin θ − cos θ 0
=0
cos θ
sin θ 0 − r  θ&

 
ϕ&

(2. 0)

Cấu hình của con lăn có thể được mô tả như sau:
 cos θ
 x& 
 y& sin θ
q&=   =  0
θ& 

   1
ϕ&
 r

0
0 
v 
1  
 ω 
0


2.1.3. Mô hình lái vi sai (Differential Dvire Model)

(2. 0)


Chương 1: Tổng quan

12

Hình thức lái vi sai giống như một chiếc xe lăn dùng hai bánh chuyển động độc lập
để di chuyển trên mặt phẳng. Mô hình lái vi sai là một sự mở rộng từ mô hình lưỡi
dao. Không gian cấu hình được viết dưới dạng q = [ x, y,θ ] . Như được mô tả trên
T

hình 2.1, vận tốc quay bánh trái là ω1 và vận tốc quay của bánh phải là ω2 . Khi

ω1 ≠ ω2 , robot sẽ thực hiện chuyển động quay trong mặt phẳng với vận tốc góc ω .
Quan hệ giữa ( ω1 , ω2 ) và (v, ω ) thể hiện ở biểu thức (2.10) và (2.11).

v=

ω1 + ω2
r
2

(2.

ω2 − ω1
r
2b

(2. 0)

ω=

0)

Phương trình hệ thống được biểu diễn:
r
 2 cos θ
&
x  
r
 
q&=  y& =  sin θ
2
θ& 
 
− r

 2b

r

cos θ 
2

ω 
r
sin θ   1 
 ω2 
2
r 
2b 

(2. 0)

2.2. Các phương pháp tránh vật cản
2.2.1. Thuật toán Bug
Tư tưởng chủ đạo của phương pháp này là robot sẽ đi theo đường bao của vật cản.
Mục tiêu của thuật toán là tìm một đường đi từ điểm bắt đầu S đến mục tiêu G mà
không va chạm vào vật cản. Đầu tiên phương pháp này sẽ đưa robot di chuyển theo
hướng mục tiêu, nếu chưa phát hiện vật cản [9, 11].
Đối với Bug1, ngay khi vật cản được phát hiện robot sẽ đi theo đường bao của vật
cản, bắt đầu tại điểm chạm H1 . Việc này nhằm tìm ra điểm có khoảng cách đến mục
tiêu nhỏ nhất L1 . Robot tiếp tục đi theo đường bao cho đến gặp lại L1 , từ đây nó rời


Chương 1: Tổng quan


13

đường bao và hướng về phía mục tiêu. Quá trình được lặp lại nếu robot tiếp tục phát
hiện vật cản tiếp theo, hình 2.3.
Kỹ thuật này có khả năng đưa robot đến được mục tiêu, nhưng quảng đường mà
robot phải di chuyển là rất lớn nên hiệu quả không cao. Để cải thiện vấn đề này
thuật toán Bug2 được đề xuất.

Hình 2.3: Đường đi tránh vật cản của thuật toán Bug1

Hình 2.4: Đường đi tránh vật cản của thuật toán Bug2
Đường bao vật cản của thuật toán Bug2 cũng bắt đầu từ điểm chạm H1 nhưng kết
thúc ngay khi robot vượt qua đường thẳng nối điểm ban đầu và mục tiêu. Từ L1
robot tiếp tục di chuyển theo hướng mục tiêu, hình 2.4. Quá trình được lặp lại nếu
có vật cản được phát hiện. So với Bug1 thì đường đi của Bug2 được rút ngắn đáng


Chương 1: Tổng quan

14

kể nhưng chưa phải là đường đi tốt nhất, một phiên bản mới có tên là DistBug tiếp
tục cải tiến đường đi của Bug2.
Khi sử dụng thuật toán DistBug robbot có hai động thái cơ bản là đi theo đường bao
vật cản và di chuyển hướng về mục tiêu, hình 2.5. Điều làm nên sự khác biệt của
DistBug với Bug1 và Bug2 cũng nằm ở khâu xác định điểm rời khỏi đường bao.

Hình 2.5: Đường đi tránh vật cản của thuật toán DistBug
Trong khi đi theo đường bao robot xác định khoảng cách nhỏ nhất đến mục tiêu từ
điểm chạm trước đó, d min . Không gian trống d free từ vị trí hiện hành X của robot

đến G theo hướng mục tiêu cũng được tính đến. Nếu không có vật cản thì d free = R
, ở đây R là phạm vi lớn nhất mà các cảm biến có thể phát hiện được vật cản. Robot
chỉ rời đường bao vật cản khi:
d ( X , G ) − d free ≤ d min − step

(2. 0)

Trong đó: d ( X , G ) là khoảng cách từ vị trí hiện hành X của robot đến mục tiêu,
step là một hằng số định trước.
Có thể khẳng định rằng thuật toán DistBug có thời gian di chuyển nhanh hơn Bug1
và cả Bug2. Tuy nhiên, đường đi của DistBug và cả Bug2, Bug1 có thể là không tối


Chương 1: Tổng quan

15

ưu trong một số trường hợp. Trên thực tế, robot có thể bị bẫy trong các môi trường
vật cản phức tạp.
2.2.2. Phương pháp trường thế năng (Potential Filed )
Phương pháp trường thế năng (PF) được đề xuất bởi O. Khatib [4]. Theo phương
pháp này robot được xem như một điểm di chuyển trong một trường thế năng do
mục tiêu và các vật cản của nó trong môi trường tạo ra. Mục tiêu tạo ra thế hút còn
các vật cản tạo ra thế đẩy. Trường thế năng nhân tạo được xem như một trường năng
lượng vì vậy gradient của nó tại mỗi điểm là một lực. Robot ở trong trường thế năng
là đối tượng chịu tác động của lực hút từ gradient của thế hút do mục tiêu tạo ra để
đưa robot đến mục tiêu, đồng thời robot còn chịu tác động của lực đẩy từ gradient
của thế đẩy do các vật cản tạo ra để giữ cho robot tránh va chạm với vật cản [9].
Robot di chuyển trong trường thế năng cũng có thể được xem như sự di chuyển của
một điện tích trong gradient của một trường vector được tạo ra bởi các hạt mang

điện tích dương và các hạt mang điện tích âm. Trong trường hợp này, robot tích điện
dương, mục tiêu tích điện âm, còn vật cản là tập hợp của những điện tích dương. Sự
tương tác của các điện tích tạo ra lực hút (giữa robot và mục tiêu) lực đẩy (giữa
robot và vật cản) đưa robot đến mục tiêu đồng thời tránh các vật cản.
Phương pháp trường thế năng xem robot là một điểm di chuyển trong mặt phẳng, do
đó góc định hướng θ của robot được bỏ qua nên cấu hình của nó được xác định bởi
q = ( x, y ) . Trường thế năng nhân tạo tại vị trí robot di chuyển là một hàm vô hướng

U (q ) được xác định bởi:
U (q ) = U att (q ) + U rep (q )

Trong đó:
 U att (q ) : thế hút của mục tiêu lên điểm q đang xét.
 U rep (q ) : thế đẩy của các vật cản lên điểm q đang xét.

(2. 0)


Chương 1: Tổng quan

16

Thế đẩy tác dụng lên robot là tổng của các thế đẩy thành phần tạo ra từ các vật cản,
do đó biểu thức (2.14) được viết lại:
U ( q) = U att ( q ) + ∑U repi ( q)
i

(2. 0)

với U repi (q ) là thế đẩy của vật cản thứ i .

Lực tổng hợp tác động lên robot được xác định:
F (q ) = −∇U att (q ) − ∇U rep (q ) = Fatt (q ) + Frep (q )

(2. 0)

Thế hút từ mục tiêu
Thế hút thông thường được chọn là một hàm parabol chuẩn, hay nói cách khác thế
hút tỷ lệ với bình phương khoảng cách từ robot đến mục tiêu.
U att (q ) =

1
2
katt d goal
(q)
2

(2. 0)

Trong đó:
 katt là hệ số tỷ lệ dương
 d goal (q ) = q − qgoal là khoảng cách từ điểm q tới mục tiêu qgoal .
Gradient của thế hút:
∇U att (q ) = katt (q − qgoal )

(2. 0)

∇U att (q ) là một trường vector tỷ lệ với hiệu số từ điểm đang xét q tới mục tiêu

qgoal . Như vậy, robot càng cách xa mục tiêu thì trường lực hút càng lớn. Lực hút
được xét đến trong trường thế năng là gradient âm của thế hút, nên:

Fatt = −∇U att (q ) = −katt (q − q goal )

(2. 0)

Vector vận tốc của robot tỷ lệ với trường vector lực, nên lực hút trong biểu thức
(2.19) đưa robot tới mục tiêu với vận tốc giảm dần khi robot càng gần với mục tiêu.
Khi ở xa mục tiêu, lực này đưa robot nhanh chóng tiếp cận mục tiêu bằng cách làm


Chương 1: Tổng quan

17

cho robot di chuyển với vận tốc cao hơn. Ngược lại, lực này tiến về không và vì vậy
vận tốc của robot bằng không khi robot tiếp cận với mục tiêu. Do đó robot tiếp cận
mục tiêu một cách từ từ mà không vượt quá mục tiêu.
Thế đẩy từ vật cản
Thế đẩy làm nhiệm vụ giữ cho robot không va chạm với vật cản. Thế đẩy sẽ càng
lớn nếu robot càng ở gần vật cản và ngược lại chúng sẽ giảm khi robot cách xa vật
cản. Kết quả của thế đẩy tác dụng lên robot là tổng của những thế đẩy thành phần
của tất cả các vật cản.
U rep ( q) = ∑U repi ( q)
i

(2.20)

Một vật cản rất xa robot không thể đẩy được robot, ngược lại độ lớn của thế đẩy
được tăng lên khi robot tiếp cận với vật cản. Thế đẩy do vật cản thứ i tạo ra có thể
được xác định bởi:
1

 1
1 
− ÷, d obsti (q ) < d 0
 kobsti 
U repi (q) =  2
 d obsti (q) d 0 
0
, d obsti (q) ≥ d 0


(2.21)

Trong đó:
 d obsti (q ) : khoảng cách nhỏ nhất từ điểm đang xét q đến vật cản thứ i ;
 kobsti : hệ số tỷ lệ dương;
 d 0 : khoảng cách tác động của vật cản.
Lực đẩy là gradient âm của thế đẩy, nên:
Frep (q)= − ∇U repi (q) =
1
q − qgoal
 1
1  1
− ÷ 2
, d obsti (q ) < d 0
 kobsti 
= 2
 d obsti (q ) d 0  d obsti ( q ) d obsti
0
, d obsti ( q) ≥ d 0



(2.22)


Chương 1: Tổng quan

18

Ưu điểm và hạn chế
Khác với thuật toán Bug, phương pháp PF có nguyên lý hoạt động dựa trên trường
năng lượng. Đối với môi trường tĩnh và các vật cản hoàn toàn biết trước, thế năng
có thể được ước tính để cung cấp biểu đồ vận tốc cho sự di chuyển của robot trong
trường năng lượng từ điểm xuất phát đến mục tiêu. Thế đẩy do các vật cản đã biết
trong môi trường hoặc do các cảm biến của robot phát hiện mang lại cho chúng kế
hoạch ưu tiên trong khi di chuyển. Đây là những điểm mạnh của phương pháp này
so với thuật toán Bug. Bên cạnh đó, trường thế năng cũng bộc lộ một số hạn chế
như dễ rơi vào cực tiểu địa phương do các vật cản có hình lõm hoặc do sự đối xứng
của vật cản trong môi trường, hình 2.6 và 2.7.
Trên hình 2.6 là một tình huống mà robot bị hút bởi mục tiêu trong khi đang tiếp
cận với một vật cản có hình lõm. Khi ở bên trong vật cản hình lõm tại vị trí X , lực
hút từ mục tiêu đối xứng với lực đẩy do vật cản tạo ra, chính điều này làm cho robot
rơi vào cực tiểu địa phương, tức là ∇U ( q*) = 0 . Cực tiểu địa phương còn có thể xảy
ra với những vật cản không phải là hình lõm như trong hình 2.7, đó là khi tổng lực
đẩy của hai vật cản đối xứng với lực hút của mục tiêu.

Hình 2.6: Cực tiểu địa phương do vật cản có hình lõm


Chương 1: Tổng quan


19

Hình 2.7: Cực tiểu địa phương do vật cản đối xứng
Ngoài ra, phương pháp trường thế năng cũng làm cho mobile robot bị dao động khi
nó đi dọc theo biên vật cản hoặc khi di chuyển qua lối đi hẹp.
2.2.3. Phương pháp trường lực ảo (Virtual Force Field)
Trường lực ảo (VFF) là phương pháp tránh vật cản thời gian thực cho phép điều
khiển mobile robot di chuyển nhanh, liên tục khi gặp các vật cản bất ngờ. Ngoài ra,
VFF không bắt buộc robot phải dừng trước vật cản [4, 5]. Quá trình thực hiện của
phương pháp này được mô tả như sau:
Phương pháp VFF sử dụng biểu đồ lưới C để mô tả vật cản. Mỗi ô [ i, j ] trong C
chứa một giá trị chắc chắn cij thể hiện độ tin cậy của giải thuật đối với sự tồn tại
của vật cản ở vị trí xác định, hình 2.8


Chương 1: Tổng quan

20

Hình 2.8: Lưu giữ thông tin vật cản trên biểu đồ lưới
Phương pháp VFF 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 của cảm biến. Đối với cảm biến siêu âm, ô này tương ứng với khoảng
cách d và nằm trên trục của cảm biến, hình 2.8a. Các giá trị ci , j được phân bố một
cách hợp lý bởi quá trình lấy mẫu nhanh và liên tục của mỗi cảm biến trong khi nó
di chuyển cùng với robot. Vì vậy, số gia của ô nằm trên trục cảm biến và các ô lân
cận của nó được tăng lên, hình 2.8b. Quá trình này tạo ra một sự phân bố các giá trị
chắc chắc trong biểu đồ, những giá trị chắc chắn này được chứa trong những ô
tương ứng với vị trí thực tế của vật cản.



Chương 1: Tổng quan

21

Hình 2.9: Cửa sổ hoạt động và sự tổng hợp các lực
Tiếp theo, phương pháp VFF áp dụng ý tưởng trường thế năng cho biểu đồ lưới. Khi
robot di chuyển, một cửa sổ có kích thước ws × ws ô di chuyển cùng với nó gọi là
cửa sổ hoạt động (active window) và những ô nằm trong cửa sổ hoạt động gọi là
những ô hoạt động (active cells), hình 2.9. Mỗi ô hoạt động tác dụng một lực đẩy ảo
Fi,j về phía robot. Độ lớn của lực này tỷ lệ thuận với giá trị chắc chắc ci , j và tỷ lệ
nghịch với d x , ở đây d là khoảng cách giữa ô chứa ci , j và tâm của robot, còn x là
một số thực dương, thường chọn x = 2 . Tại mỗi lần cảm biến đọc dữ liệu, lực đẩy


Chương 1: Tổng quan

22

của tất cả các ô hoạt động được cộng lại để tạo thành lực đẩy tổng hợp Frep . Đồng
thời, một lực hút ảo Fatt có độ lớn không đổi cũng được đặt lên robot để kéo nó về
mục tiêu. Tổng của Frep và Fatt tạo thành vector lực tổng hợp Ftot . Độ lớn và chiều
của lực tổng hợp Ftot hình thành vận tốc và góc lái để điều khiển robot. Trong thực
tế, cứ mỗi lần cảm biến đọc, dữ liệu được ghi vào biểu đồ lưới ngay khi có thể và
sau đó vector lực Ftot được tính. Đặc điểm này làm cho robot thích ứng nhanh với
những vật cản bất ngờ, hướng lái của robot có khả năng thay đổi nhanh khi nó di
chuyển ở tốc độ cao.
Ưu điểm và hạn chế
Việc sử dụng biểu đồ lưới mang lại cho VFF nhiều thuận lợi. Trong một phạm vi
nhất định, vật cản xung quanh robot luôn được phản ánh khá đầy đủ do thông tin
này được lưu lại trong biểu đồ lưới, ngoài ra các giá trị chắc chắn trong biểu đồ lưới

làm tăng độ tin cậy của giải thuật đối với sự tồn tại của vật cản.
Mặc dù đã được cải tiến so với phương pháp PF nhưng VFF vẫn có có một số hạn
chế nhất định. VFF điều khiển robot có thể không vượt qua các lối đi hẹp do lực đẩy
từ hai phía đẩy robot ra xa. Một vấn đề khác cũng nảy sinh do bản chất rời rạc của
bản đồ lưới. Để việc tính toán lực đẩy theo thời gian thực, vị trí hiện hành của robot
được ánh xạ lên trên biểu đồ lưới. Tuy nhiên, vị trí đó thay đổi từ ô này sang ô khác
có thể xảy ra những thay đổi lớn đối với vector lực tổng hợp Ftot .
Cũng cần nhận thấy rằng robot có thể bị dao động khi đi qua các lối đi hẹp. Khi đi
theo đường chính giữa hai bức tường, robot sẽ di chuyển ổn đinh. Tuy nhiên, chỉ
cần lệch ra khỏi đường chính giữa đó nó sẽ chịu một lực đẩy lớn của bức tường gần
hơn, lực đẩy này đưa robot về phía bức tường kia. Quá trình này lặp đi lặp lại làm
cho chuyển động của robot dao động và không ổn định.


Chương 1: Tổng quan

23

2.3.4. Phương pháp biểu đồ trường vector (Vector Field Histogram)
Khi phân tích những nhược điểm của phương pháp VFF đã bộc lộ hạn chế vốn có
của nó, đó là sự giảm nhanh dữ liệu khi những lực đẩy thành phần từ các ô của biểu
đồ lưới được cộng vào để tính vector lực đẩy Frep . Hàng trăm ô dữ liệu được giảm
trong một bước chỉ còn hai thành phần: hướng và độ lớn của lực Frep . Do đó, thông
tin chi tiết về sự phân bố vị trí của vật cản bị mất.
Để khắc phục hạn chế trên, J. Borenstein và Y. Koren tiếp tục phát triển một phiên
bản mới, gọi là phương pháp biểu đồ trường vector (VFH) [7]. Phương pháp VFH
sử dụng kỹ thuật nén dữ liệu qua hai giai đoạn, thay vì một như phương pháp VFF.
Theo đó, phương pháp này tồn tại ba mức dữ liệu khác nhau:
 Mức cao nhất lưu trữ những thông tin chi tiết về vật cản xung quanh robot.
Trong mức này, biểu đồ lưới được cập nhật liên tục theo thời gian thực với

dữ liệu được lấy mẫu bằng các cảm biến.
 Mức trung bình, một biểu đồ cực H được xây dựng xung quanh vị trí hiện
hành của robot. Biểu đồ H bao gồm n sector có góc α . Một sự biến đổi
biểu đồ từ cửa từ biểu đồ lưới sang biểu đồ cực làm cho mỗi sector k chứa
một giá trị mật độ vật cản hk mô tả dưới dạng tọa độ cực theo hướng tương
ứng với sector k .
 Mức thấp nhất của dữ liệu là ngõ ra của giải thuật VFH, đó là những tham
số để điều khiển robot.
Hai giai đoạn nén dữ liệu của giải thuật VFH được mô tả như sau:
Giai đoạn nén dữ liệu thứ nhất và hình thành biểu đồ cực
Giai đoạn nén dữ liệu thứ nhất chuyển cửa sổ hoạt động của biểu đồ lưới thành biểu
đồ cực H . Giống như phương pháp VFF, cửa sổ hoạt động cũng di chuyển cùng
robot phủ một vùng hình vuông có kích thước ws × ws ô lên biểu đồ lưới.


Chương 1: Tổng quan

24

Nội dung trong mỗi ô hoạt động của biểu đồ lưới bây giờ được xem như một vector
vật cản, hướng của vector này được xác định bởi góc β từ ô đó đến tâm của robot.

βi , j = tan −1

yi − y0
xi − x0

(2.23)

còn độ lớn của vector vật cản được xác định bởi:

mi , j = ( ci , j )

2

( a − bd )
i,j

(2.24)

Trong đó:
 a, b: hằng số dương.
 ci , j : giá trị chắc chắn của ô hoạt động (i, j ) .
 d i , j : khoảng cách giữa ô hoạt động và tâm robot.
 mi , j : độ lớn vector vật cản.
 x0 , y0 : tọa độ hiện hành của tâm robot.
 xi , y j : tọa độ của ô hoạt động (i, j ) .
Trong biểu thức (2.24), mật độ vật cản trong biểu đồ cực tỷ lệ với bình phương của
ci , j là bình phương. Điều này cho thấy việc đọc dữ liệu lặp lại mô tả vật cản có độ
tin cậy cao hơn, trong khi đó việc đọc dữ liệu chỉ xảy ra một lần có thể gây ra nhiễu.
Mật độ vật cản trong biểu đồ cực còn tỷ lệ với −d . Vì vậy, vector vật cản của các ô
bị chiếm có mô đun lớn khi chúng ở trong vùng lân cận của robot và ngược lại. Hai
hằng số a và b được chọn sao cho a − bd max = 0 , khi đó d max = 2 ( ws − 1) / 2 là
khoảng cách giữa ô hoạt động xa nhất và tâm robot. Theo cách này mi , j = 0 đối với
ô hoạt động xa nhất và tăng tuyến tính đối với các ô gần hơn.


Chương 1: Tổng quan

25


Biểu đồ cực H có một độ phân giải góc α tùy ý sao cho số sector n = 360 / α là
một số nguyên, hình 2.10. Đối với mỗi sector k , mật độ vật cản trong tọa độ cực hk
được tính:
hk = ∑ mi , j
i, j

(2.25)

Do bản chất rời rạc của biểu đồ lưới, nên việc chuyển từ cửa sổ hoạt động thành
biểu đồ cực có thể làm cho hướng lái gồ ghề và gây ra lỗi. Vì vậy biểu đồ cực H
cần phải được làm mịn.

Hình 2.10: Hình thành biểu đồ cực từ biểu đồ lưới


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×