Nghiên cứu thiết kế Robot tự hành tránh vật cản sử dụng camera kinect - Pdf 23

1

Chương 1. Giới thiệu

Ni dung chnh
1.1 Xu hướng phát triển của robot hiện đại
1.2 Những vấn đề của robot di động
1.3 Mục tiêu đề tài và phương pháp thực hiện
1.4 Sơ lược về nội dung đề tài

2

Xu hướng phát triển của robot hiện đại 1.1.
Theo dự đoán trong vòng 20 năm nữa mỗi người sẽ có nhu cầu sử dụng mt
robot cá nhân như nhu cầu mt máy tính PC hiện nay và robot sẽ là tâm điểm của
mt cuc cách mạng lớn sau Internet. Với xu hướng này, cùng các ứng dụng truyền
thống khác của robot trong công nghiệp, y tế, giáo dục đào tạo, giải tr và đặc biệt là
trong an ninh quốc phòng thì thị trường robot sẽ vô cùng to lớn.
Robot đã có những bước tiến đáng kể trong hơn nửa thế kỷ qua. Robot đầu
tiên được ứng dụng trong công nghiệp vào những năm 60 để thay thế con người làm
những công việc nặng nhọc, nguy hiểm trong môi trường đc hại. Do nhu cầu sử
dụng ngày càng nhiều trong quá trình sản xuất phức tạp nên robot công nghiệp cần
có những khả năng thch ứng linh hoạt và thông minh hơn. Ngày nay, ngoài ứng
dụng sơ khai ban đầu của robot trong chế tạo máy thì các ứng dụng khác như trong
y tế, chăm sóc sức khỏe, nông nghiệp, đóng tàu, xây dựng, an ninh quốc phòng
đang là đng lực cho sự phát triển của ngành công nghiệp robot.
Có thể kể đến những loại robot được quan tâm nhiều trong thời gian qua là: tay
máy robot (Robot Manipulators), robot di đng (Mobile Robots), robot phỏng sinh
học (Bio Inspired Robots) và robot cá nhân (Personal Robots). Robot di đng được
nghiên cứu nhiều như xe tự hành trên mặt đất AGV (Autonomous Guided
Vehicles), robot tự hành dưới nước AUV (Autonomous Underwater Vehicles),

đt với các đối tượng khác nhau, và những khó khăn liên quan tới việc sử dụng
thông tin cung cấp từ môi trường.
Mục tiêu đề tài và phương pháp thực hiện 1.3.
 Mục tiêu đề tài:
Xây dựng mô hình mobile robot có khả năng tự đng dò tìm và di chuyển đến
điểm đch. Ngoài khả năng định hướng, robot phải tránh được các vật cản có trên
quãng đường di chuyển. Mục đch sâu xa của đề tài là phát triển mt robot tự đng
thông minh, có thể được sử dụng trong lĩnh vực phục vụ con người, giúp việc như
4

robot hướng dẫn du khách hoặc làm mt số công việc đơn giản trong văn phòng
hoặc tại gia như mang café, hút bụi, lau nhà, …
 Phương pháp thực hiện:
Thiết kế mô hình mt robot di đng tự đng, trong đó bao gồm phần gia công
cơ kh, mạch công suất, mạch vi điều khiển, đồng thời kết hợp kỹ thuật xử lý ảnh
thông qua máy tính (hay thị giác máy tính). Khối thị giác được chọn là thiết bị chơi
game Kinect, thông qua xử lý từ máy tính nó sẽ kết hợp với mạch vi điều khiển giúp
robot có khả năng định hướng về đch và tránh vật cản hoàn toàn tự đng.
Sơ lược về nội dung đề tài 1.4.
Ni dung đề tài bao gồm 5 chương:
 Chương 1: Giới thiệu: Sơ lược về ni dung đề tài.
 Chương 2: Phát hiện vật cản tính góc lái và xác định điểm đích: giới thiệu
đánh giá mt số phương pháp tránh vật cản và tìm ra phương pháp tối ưu
nhất. Cuối cùng tìm hiểu thuật toán tìm điểm đch bằng màu sắc.
 Chương 3: Chương trình điều khiển: Bao gồm ni dung chương trình điều
khiển và lưu đồ thuật giải.
 Chương 4: Kết quả thực nghiệm: Ni dung chương 4 tập trung vào các
thuật toán để điều khiển robot.
 Chương 5: Kết luận và hướng phát triển: Ni dung chương 5 trình bày
tóm tắt các kết quả mà đề tài đã đạt được và hướng phát triển để khắc phục

2.2 Thuật toán tránh vật cản
2.3 Xác định vật thể đích
6

Phương pháp tránh vật cản 2.1.
Tránh vật cản luôn là bài toán thờng gặp trong robot di đng, đối với những
ứng dụng trong nhà thì môi trờng mà robot di chuyển trong đó luôn là môi trờng
đng và phức tạp, trong đó có nhiều vật cản và vị trí của những vật cản có thể ở bất
kỳ đâu trên đờng di chuyển của robot. Rất nhiều phơng pháp tránh vật cản cho
robot di đng đã đợc nghiên cứu và phát triển, trong phần dới đây sẽ đề cập mt
số phơng pháp tránh vật cản tiêu biểu.
2.1.1. Phương pháp Bug
Phơng pháp Bug là phơng pháp tránh vật cản cơ bản nhất, đây là phơng
pháp mô phỏng theo sự di chuyển của loài kiến. Theo đó, khi robot di chuyển và
gặp chớng ngại vật trên đờng đi thì robot sẽ di chuyển vòng quanh vật cản. Sau
khi di chuyển hết mt vòng chu vi vật cản robot sẽ xác định vị tr điểm nằm trên
đờng chu vi gần nhất với điểm đch, tại điểm này robot sẽ di chuyển thoát ra và đi
về điểm đch nh trong hình 2.1a. Tuy nhiên phơng pháp này lại không hiệu quả
nh mong muốn nên đã có mt số cải thiện và tạo ra phơng pháp Bug2. Trong
phơng pháp Bug2 thì điểm thoát của robot là giao điểm giữa đờng di chuyển
quanh vật cản và điểm nối giữa điểm xuất phát và điểm đch nhtrong hình 4.1b.

Hình 2.1: Phương pháp tránh vật cản Bug

 Ưu điểm:
+ Đơn giản, dễ thực hiện.
7

+ Xác định được đường biên của vật cản.
 Nhược điểm:

att
là hê số tỷ lệ dơng và d
goal
là khoảng cách từ điểm đch tới
robot. Hàm thế năng là không âm và có giá trị cực tiểu khi robot ở vị tr đch khi đó
U
att
(q)=0.
8
Hình 2.2: Trường lực hút biểu diễn dưới dạng biểu đồ điểm và vecto lực.
b) Trường lực đẩy
Trờng lực đẩy thể hiện mối tơng quan về vị trí giữa robot và vật cản nh
trong hình 2.3. Vecto lực đẩy có đ lớn càng lớn khi robot di chuyển gần đến vật
cản và nhỏ dần khi robot di chuyển ra xa vật cản. Tuy nhiên, vecto lực đẩy không
ảnh hởng đến sự di chuyển của robot khi robot có khoảng cách đủ xa so với vật
cản.
Do đó hàm thế năng của trờng lực đẩy đợc định nghĩa:
U
rep
(q)=








0
thì trờng thế đẩy tiến về giá trị 0.

9 Hình 2.3: Trường lực đẩy biểu diễn dưới dạng biểu đồ điểm.
c) Tổng hợp lực ảo
Robot di chuyển trong môi trờng và chịu ảnh hởng của trờng lực tổng
hợp, bao gồm trờng lực hút và trờng lực đẩy.
U(q) = U
att
(q) +





(2.3)
Trong U
att
(q) là thế năng hút liên quan đến đch và 

 là thế năng đẩy
liên quan đến vùng vật cản. Sự ảnh hởng của thế năng hút sẽ kéo robot về hớng
mục tiêu, trong khi thế năng đẩy sẽ đẩy robot ra khỏi vật cản. Vecto của lực ảo (p)
đợc cho bởi gradient của vecto U:
(p) = −U(q)= -



+ Dao đng khi gặp vật cản: hạn chế này sảy ra ở việc tính toán
thuật toán.
+ Dao đng khi đi trong ngõ hẹp: nguyên nhân do robot nhận được
lực đẩy từ cả hai bức tường.
2.1.3. Phơng pháp Vecto Field Histogram (VFH)
Vecto Field Histogram (VFH) đợc giới thiệu bởi Borenstein và Korem là
phơng pháp tránh vật cản mà sử dụng biểu đồ lới hệ tọa đ Đề Các hai chiều
(histogram grid) để mô tả môi trờng. Biểu đồ đợc cập nhật liên tục nhờ những dữ
liệu khoảng cách đo đợc bởi cảm biến. Trong phơng pháp VFH có ba bớc thực
hiện chính:
 Bước 1: Xây dựng biểu đồ lưới hệ tọa đ Đề Các hai chiều về môi trường
11

 Bước 2: Từ biểu đồ lưới hai chiều, chọn vùng cửa sổ hoạt đng xung quanh
robot từ đó rút ra biểu đồ biểu đồ cực mt chiều từ biểu đồ vùng cửa sổ
được chọn.
 Bước 3: Tnh toán điều khiển góc lái.
a) Xây dựng biểu đồ lưới hai chiều
Trong bớc đầu tiên của phơng pháp VFH là tạo ra biểu đồ lới 2 chiều về
môi trờng xung quanh vị trí tức thời của robot và biểu đồ này đợc chia thành
những ô lới mà đợc đặt tên là vùng biểu đồ lới C. Mỗi ô lới mang 2 thông tin
là vị trí ô lới so với robot và giá trị chắc chắn (certainty value) biểu thị đ chắc
chắn về khả năng vật cản nằm trong không gian ô lới đó nh hình 2.5.

Hình 2.5: Bản đồ ô mắt lưới hai chiều.
b) Xây dựng biểu đồ cực một chiều
Ở bớc hai thì biểu đồ hai chiều của môi trờng sẽ đợc rút gọn về biểu đồ
cực mt chiều biểu thị những thông tin về vật cản. Trong vùng biểu đồ lới  ta
chọn mt cửa sổ vuông 
*

đáy là phần chứa POD thấp. Các giá trị mật đ vật cản sẽ được so sánh với mt
ngỡng để xác định vùng có vật cản là vùng có POD lớn hơn ngỡng và vùng an
toàn có thể di chuyển là vùng có POD nhỏ hơn ngỡng nh miêu tả trong Hình 2.8.
Thông thờng sẽ có từ hai hoặc nhiều vùng an toàn vì thế thuật toán VFH sẽ
chọn vùng an toàn phù hợp với hớng dẫn tới đch k
targ
. Trong vùng an toàn đợc
chọn thì số lợng cung lớn nhất (có mức POD nhỏ hơn ngỡng) là s
max
, trong đó k
n

là cung biên ngoài gần với k
targ
gọi là biên gần và k
f
là biên xa đợc xác định bởi
biểu thức :
k
f
= k
n
+ s
max
(2.6)

Để robot di chuyển tối u nhất qua vùng an toàn thì chọn góc lái vào giữa
vùng an toàn nh trong Hình 2.9:



để di chuyển qua vùng vật cản mt cách an toàn. Để giải quyết vấn đề này nhóm
thống nhất rằng phương pháp tránh vật cản của VFH là tối ưu nhất vì VFH có khả
năng điều khiển robot vượt qua được những vật cản đặt rất gần nhau, không bị dao
đng khi gặp vật cản và di chuyển ổn định khi qua các lối hẹp. Thuật toán tránh vật
cản của robot đợc xây dựng dựa trên hai bớc cơ bản là xây dựng biểu đồ
histogram về môi trờng và tính góc lái di chuyển robot.
2.2.1. Xây dựng biểu đồ histogram độ sâu
Xây dựng biểu đồ histogram đ sâu về môi trờng là mt bớc quan trọng
làm nền tảng cho việc xác định vật cản, tính toán góc lái di chuyển qua vật cản.
Biểu đồ histogram đ sâu thể hiện mối tơng quan về khoảng cách giữa robot và
các vật thể trong môi trờng, thông tin khoảng cách đợc thu thập từ cảm biến.
Đ rng góc nhìn của camera là α tơng ứng với đ phân giải ảnh theo trục
ngang là z. Vật cản xuất hiện trên ảnh là mt vùng điểm ảnh nên để xác định góc
giữa vùng vật cản và robot thì căn cứ vào vị tr điểm ảnh mà tại đó bắt đầu giá trị
khoảng cách vợt ngỡng về bên trái của robot hoặc kết thúc giá trị khoảng cách
vợt ngỡng về bên phải của robot, vị tr điểm ảnh bắt đầu là (x
1
,y
1
) và kết thúc là
(x
2
,y
2
). Góc tơng quan β giữa robot và vật cản đợc tính bằng công thức:
β =


-


b) Tìm sector có độ sâu bé nhất
Mục đch của việc này là giúp robot nhận biết được pha trước mặt của robot
có vật cản hay không có vật cản, nếu có thì vật cản nằm ở đâu, khoảng cách so với
robot là bao nhiêu và kch thước của vật cản là như thế nào.
Nhóm đã thực hiện quét tất cả 3072 sector và tìm ra những sector có khoảng
cách nhỏ nhất so với camera. Đây là bước tiền đề cho xây dựng biểu đồ histogram
đ sâu và việc tính góc lái chính xác cho robot di chuyển qua vùng có vật cản. Hình
2.12 là kết quả sau khi tnh toán đ sâu trung bình của từng secto và tìm ra những
secto có đ sâu trung bình nhỏ nhất của mỗi mt ct. Nhìn vào hình ta thấy những
secto có màu xanh lá cây là những sector có đ sâu trung bình nhỏ nhất nếu giá trị
đ sâu đó nhỏ hơn hoặc bằng với ngưỡng mà ta cài đặt trước (ngưỡng trong đề tài là
1m) thì robot coi đó là vùng vật cản còn những sector còn lại là vùng không có vật
cản. Ví dụ trên trả lời được câu hỏi pha trước mặt của robot có vật cản hay không
có vật cản, nếu có thì vật cản nằm ở đâu, khoảng cách so với robot là bao nhiêu và
kch thước của vật cản là như thế nào?
Do chia nhỏ khung hình đ sâu ra thành các sector nên trong đề tài robot khả năng
nhận dạng chính xác được những vật cản có kch thước rất nhỏ, chiều cao của vật
cản cao hơn mặt sàn 10cm và cách robot mt khoảng từ 70cm đến nhỏ hơn 1m.

Hình 2.12: tìm sector có đ sâu nhỏ nhất

18

c) Xây dựng biểu đồ histogram độ sâu
Đ rng góc nhìn của camera là α= 57
0
theo tương ứng với đ phân giải ảnh
theo trục ngang. Chia khung hình thành 64 ô. Thông tin khoảng cách đợc tính toán
theo mỗi mt góc hình quạt thứ k nh minh họa trong hình 2.13, mỗi góc có đ lớn
là  nên giá trị n =


mà giá trị h
k
không vợt qua ngỡng tác đng. Vùng an toàn đợc giới hạn bởi hai
cung biên là k
t
, k
p
nh trong Hình 2.14, trong đó k
t
là cung gần nhất bên trái, k
p

cung gần nhất bên phải xác định bởi công thức:
k
p
= k
t
+ S
max
(2.10)
19

Góc lái của robot đợc cho bởi công thức:
θ = (k
t
+ k
p
)/2 (2.11)



 Bước 2: Chuyển đổi ảnh trong không gian màu RGB sang HSV
Để có thể nhận dạng được vật thể đch dựa vào màu sắc, thuật toán nhận dạng
phải tìm được vùng có màu sắc đặc trưng giống như vật thể đch trong ảnh thu được
từ camera. Đối với ảnh màu RGB thì việc nhận dạng là rất khó thực hiện được vì
không gian màu RGB dựa trên ba màu cơ bản đó là màu đỏ (Red), màu xanh lá
(Green) và màu xanh dương (Blue) tổ hợp theo nhiều phương thức khác nhau để tạo
thành các màu còn lại, bên cạnh đó trong cùng mt vùng màu thì cường đ tại mỗi
điểm không đồng nhất do đó cần chuyển đổi ảnh trong không gian màu RGB sang
ảnh màu HSV. Trong OpenCV, H (Hue) có giá trị trong khoảng (0, 179) mang
thông tin về màu sắc. S (Saturation) có giá trị (0, 255) cho thông tin về đ thuần
khiết của màu. V (Value) có giá trị (0, 255) cho biết đ sáng của điểm ảnh. Đặc
điểm của ảnh biểu diễn trong không gian màu HSV là mỗi màu sắc được mô tả và
giải thích giống với việc mô tả và giải thích màu sắc của con người.
 Bước 3: Tìm điểm ảnh có thông số màu trùng với vật đích
Thông số màu sắc của mỗi điểm ảnh sẽ được so sánh với thông số màu của vật
thể đch lưu trong cơ sở dữ liệu. Nếu điểm ảnh đang xét có thông số màu trùng với
thông số màu của vật thể đch thì điểm ảnh đó sẽ được gán cho giá trị đ sáng lớn
nhất là 255 (tương ứng với mức trắng) ngược lại thì điểm ảnh sẽ được gán cho giá
trị đ sáng thấp nhất là 0 (tương ứng với mức tối) trong ảnh xám như trong Hình
2.16.
 Bước 4: Xác định tọa độ tâm vùng màu trên khung ảnh:
Sau khi đã đánh dấu những điểm ảnh có thông số màu sắc giống vật thể đch,
bước tiếp theo là xác định vị trí mà mật đ cao nhất có các điểm ảnh với thông số
màu giống vật thể đch. Khi số lượng điểm ảnh đạt đến mt giá trị ngưỡng thì thuật
toán sẽ xác định vùng có mật đ điểm ảnh này chính là vật đch, đồng thời xác định
vị trí tâm của vùng điểm ảnh này để có được tọa đ tâm của vật đch trên khung
ảnh. Tọa đ tâm vật thể đch là cơ sở cho việc xác định khoảng cách từ vật thể đch
đến robot phục vụ cho thuật toán định vị và xây dựng lên biểu đồ histogram màu để
tính toán góc lái cho robot di chuyển tới điểm đch. Hình 2.17. Thuật toán




 



 (2.12)
Trong đó n là số phần tử điểm dữ liệu,  

 là hàm ước lượng mật đ
nhân. Hàm này dùng để ước lượng mật đ của biến ngẫu nhiên.














) (2.13)
Với  là kch thước vùng cửa sổ chứa  phần tử được xem xét,  là hằng số
thực.
Cực trị hàm phân bố mật đ là điểm mà tại đó có số lượng lớn nhất hay mật đ










=


















)][





 ] (2.15)
Sau khi di chuyển cửa sổ đến vị trí mới thì tâm vùng ảnh và vectơ Meanshift
được tính toán lại. Việc di chuyển cửa sổ ngừng lại khi vectơ Meanshift có giá trị
bằng không.
Việc xác định được tọa đ tâm vùng màu hay nói theo cách khác việc xác định
tọa đ tâm của vật mốc trên khung ảnh có ý nghĩa quan trọng. Vì dựa vào tọa đ
này thuật toán nhận dạng vật mốc mới có thể xác định được chính xác khoảng cách
từ robot đến vật mốc. Khoảng cách này cũng chnh là thông số quan trong nhất
trong thuật toán nhận dạng vật mốc và xác định vị trí của robot trong môi trường
làm việc.
Bước 1:
Lựa chọn cửa sổ
tìm kiếm
Bước 2:
Di chuyển cửa sổ
Bước 3:
Xác định tâm vùng
điểm ảnh.
24 Hình 2.20. Mô tả hình học của thuật toán Meanshift
Ni dung chnh
3.1 Nội dung chương trình điều khiển
3.2 Giải thuật chương trình do máy tính xử lý

Trích đoạn Chương 5 Kết luận và hướng phát triển
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status