Mục đích của nghiên cứu này là ứng dụng xử lýảnh điều khiến chuyên động của robot cá 3 khớp dạng Carangiform.. Hình 3.8 Bồ trí camera Hình 3.9 Trước khi calib Hình 3.10 Hình anh | vị trí
TONG QUAN VAN ĐÈ NGHIÊN CỨU 1.1 Tổng quan
Ngày nay, việc xây dựng các mô hình robot mô phỏng theo các loại động vật không còn là điều gi xa lạ Các loại động vat qua quá trình tiễn hóa có được sự thích nghi với môi trường, đặc biệt là ở chức năng vận động Ở các loài cá cũng vậy Nhờ sự chọn lọc thích nghi của môi trường, khả năng vận động của các loài cá đạt được mức tôi ưu hóa cao về đáng điệu chuyên động cũng như năng lượng tiêu tôn.
Trong những năm gan đây, các nghiên cứu ứng dụng của phương tiện tự hành dưới nước AUVs (Autonomous Underwater Vehicles), phương tiện không người lái
UUVs (Unmanned Undersea Vehicles) hay phương tiện bán tự động dưới nước ROVs
(Remotely Operated Vehicles) có bước phát trién vượt bậc Lịch sử phát triển của các phương tiện này gan liên với các nghiên cứu về cơ chế phát sinh lực day trong môi trường nước.
Các thiết bi tự hành dưới nước (AUVs) day nhờ cánh quạt có một số nhược điểm là độ linh hoạt của robot không cao, tiêu tốn nhiều năng lượng Một hướng nghiên cứu khác tạo ra lực đây dựa vào cơ chế đây của các loài cá, đó là các nghiên cứu phỏng sinh học Các loài cá sử dụng sự biển đối uyén chuyền than, các vây, đuôi dé di chuyển co thé một cách linh hoạt Dựa vào các đặc điểm này, các nhà nghiên cứu đã phát triển các robot “bắt chước” theo các loài cá thật trong tự nhiên Các robot này còn được gọi là các robot phỏng sinh học.
Các loài cá trải qua quá trình tiễn hóa, chức năng vận động cũng hoàn thiện hơn, thích nghi với điều kiện của môi trường sống Theo [1] có thé phân loại các loại cá theo cơ chế đây: Loại một dựa trên sự thay đổi hình dạng của phan thân và đuôi dé tao ra lực day (BCF - body and/or caudal fin) Loại thứ hai là dang mở rộng của cánh đây dựa trên cơ sở sự tạo các dải gon sóng của vây lưng và/ hoặc vây hông (MPF- median and/or paired fin).
1.2 Tinh hình nghiên cứu trong, ngoài nước
Ngày 16/12/2009, Sở Khoa học - Công nghệ TPHCM đã nghiệm thu đề tài
“Nghiên cứu, thiết kế, hiện thực robot cá trong hỗ bơi điều khiến bằng sóng vô tuyến” của kỹ sư Phạm Tiến Trung, Trường DH Sư phạm Kỹ thuật TPHCM, và các cộng sự. Đây được xem là rôbôt cá đâu tiên ở Việt Nam.
Hình 1.1 Robot cá của Đại học Sư Phạm Kỹ Thuật [2|
Robot cá có chiều dài 350mm, trọng lượng cá 600sr, được điều khiến từ xa băng sóng vô tuyến với các tính năng sau: Có thể bơi trong hồ bơi (môi trường nước trong và tĩnh) gần giống với cá thật Thân hình cá mỏng, chiều dài lớn hơn chiều rộng, thích hợp bơi lên, lặn xuống, cua nhanh và thay đổi đột ngột tốc độ bơi Đuôi cá được pha trộn nhiều loại keo silicon với nhau cùng với một SỐ tạp chất khác nên vừa cứng vừa đẻo.
Robot boi với nguyên tac: Khi bơm nước vào, ti trọng của cá sẽ lớn hon ti trọng của nước, làm cho cá lặn xuông Ngược lại, nêu xả nước ra thì robot cá bơi lên, với tôc độ bơi khoảng 0,6 m môi giây, ở độ sâu tôi đa khoảng 2 m, đồng thời thực hiện các động tác bơi lên, lặn xuống, chuyển hướng một cách nhịp nhàng.
Tuy nhiên, robot cá vân còn một sô nhược điêm như: các khớp nôi chưa thật tôi ưu, làm hạn chế khả năng bơi uyên chuyến, bơi lên và bơi xuống chưa nhanh Khả năng
Chương 1: Tổng quan van dé nghiên cứu bơi xuống độ sâu còn hạn chế do sóng vô tuyến chưa đủ đáp ứng Khi cá bơi xuống sâu, camera không thể truyền tín hiệu được.
%_ Nước ngoài: Ở nước ngoài, việc nghiên cứu va ứng dụng rôbôt mô phỏng sinh học, đặc biệt là rôbôt cá bat đầu từ rất lâu và có những bước tiễn mạnh mẽ Có thé phân loại các loại cá theo cơ chế đây thành 2 loại như đã nói ở trên: BCF - body and/or caudal fin và
MPF- median and/or paired fin.
Ta hay diém qua một sô mau rôbôt cá tiêu biêu sau:
Anquilliform Subcarangiform Carangiform Thunniform are eel T1 trout Skipjack tuna
National Marine Research Insititute - PF-700
Beijing Univ of Aero.& — Institute - PPF-09 Astro - Robot eel
SS : Mitsubishi Heavy Industries : Northeastern Univ - Ltd - Coelacanth
Lamprey robot MIT - RoboTuna il
: National Marine Research Nanyang Technological Univ Institute - PF-200 - Robotic Arowana
Hình 1.2 Một số nghiên cứu về robot cá dang BCF [1]
—_ Robot cá của National Maritimes Research Institute (PPF-09)
Các thông số kỹ thuật:
+ Robot có 2 khớp điều khiến chuyền động bơi và có thé bơi lên, lặn xuống.
+ Được điều khiển bởi bộ điều khiển Fubuta 4 kênh.
+ Robot được làm băng gỗ.
+ Tốc độ bơi tối đa 0.9m/s, lặn được tối da Im, bán kính queo 0.4m.
Robot cá PPF-09 chỉ có thể hoạt động điều khiến bang tay, không tích hợp bat kỳ cảm biến nào Hoạt động của robot không uyên chuyển do chỉ có 2 khớp tạo chuyển động bơi.
—_ Robot Tuna I là dự án cua học viện công nghệ Massachusetts, được bắt đầu năm 1993 Mục tiêu của dự án nhằm phát triển cơ chế đây của phương tiện tự hành dưới nước Tốc độ đạt được của robot có thể đạt được là 74km/h.
Hình 1.5 Robot Tuna II - MIT U.S.A [5]
Sau Tuna I, MIT phát triển tiếp phiên bản thứ 2 Robot Tuna II có 8 đốt sống, sử dụng hệ thong cac gan va co dé tao ta dang điệu cua phan đuôi, nhờ vậy nó có được su linh hoạt và mén mại trong di chuyền.
_ Robot cá của Dai học Essen nước Anh (G8):
Hình 1.6 Robot cá của Đại học Essen nước Anh (G8) [6]
Các thông số kỷ thuật:
+ Đây là robot phiên ban thứ 8 của Đại hoc Essen, từ G1 — 2001 đến G8,G9 năm
+ Robot có 3 khớp điều khiến chuyền động boi Có thé bơi lên lặn xuống.
+ Là robot tự hành trong nước.
+ Chiêu dai thân cá 50cm, trọng lượng 3 kg.
+ Có thé nói đây là 1 trong các mẫu robot cá thành công trên thé giới Tuy nhiên giá thành robot quá cao và vần còn mang tính nghiên cứu là chủ yêu.
_ Y Yoda - dai hoc Osaka — Nhat Ban đã phát trién robot muc ống, di chuyén nho hai dai vay hai bén.
Hinh 1.7 Robot dang muc cua dai hoc Osaka [1]
_ Low va Willy của dai học Naynang — Sigapore [NTU] đã phát triển robot dao
Chương 1: Tổng quan van dé nghiên cứu
1.3 Tinh hình nghiên cứu, ứng dụng về xử lý ảnh
Hau hết các nghiên cứu về robot cá trên thế giới và ở nước ta tập trung vào nghiên cứu động học, động lực học, sử dụng các giải thuật PID, Fuzzy, các cảm biến la ban dé điều khiến chuyển động cho robot cá Các ứng dụng về xử lý ảnh để điều khiến robot cá chưa xuất hiện nhiều.
MO HÌNH HÓA 2.1 Gia thuyết và ký hiệu
Trong nội dung mô hình hóa, tác giả tham khảo phân phân tích động học cho mô hình robot cá 5 khâu 4 khớp Việc mô hình hóa robot cá 5 khâu 4 khớp hay 4 khâu 3 khớp là gần như giống nhau, chỉ khác nhau ờ chỗ số khớp động được thêm vào. Đối với Robot cá dạng Carangiform, số lượng khớp càng nhiều thì phần đuôi (caudal part) của cá chuyển động càng êm và càng giống với cá thực.
Từ [11], [12] ta có các giả thuyết và phương trình như sau:
Các giả thuyết về mô hình robot cá: e Phan thân đều cứng hoàn toàn. e Lực đây được tạo ra nhờ vây đuôi. e Phân đuôi bao gồm 4 khâu 3 khớp. e 2 khớp đuôi gan các động cơ trừ khớp cuối cùng liên kết với vây đuôi. e Tai các khớp có gan lò xo giảm chấn tương đương quy đổi từ động cơ và khớp cuôi có lò xo găn thêm vào.
Hình 2.1 Mô hình robot cá 5 khâu, 4 khớp.| I3 |
Hình 2.3 Mô hình luc tac dụng lên robot ca[13]
Các ký hiệu được sử dụng:
Kì, Ko, ks, Ka Độ cứng tương đương của lò xo. bị, bạ, bạ, bạ Độ can nhớt của các khớp. đ¡, 42; 93> 44 Góc tuyệt đối của các khâu.
T¡, Tạ, Tà Momen động cơ đặt vào các khớp 1, 2, 3.
Mo, Hạ, Hạ, Ms, My, Ji, Jo, J3, Ja
Lần lượt là khối lượng và momen quán tinh tai trọng tâm các khâu. lo, lh, lạ, la, la, ls Chiéu dai cac khau.
Ag, a1, ao, a3, ay Khoảng cach từ khớp thứ i đến trọng tâm khâu I1.
2C,L Chiều dài, cao của vây đuôi.
5 Diện tích phan thân — vuông góc với dòng chảy. p Ty trọng của nước. u vận tốc tương đối so với mp theo phương y.
U Vận tốc tuyệt đối của trọng tâm của đuôi.
XG, VG Quãng đường và vận tốc Robot theo phương trục x.
Cp Hệ số phụ thuộc vào hình dạng Robot
Phương pháp Lagrang được sử dụng để mô hình hóa Robot
Phương trình Lagrange: d (=) ôL „ OR -9, (2.1) dt\aqg,) eq, a4; 1
Lực suy rộng bao gôm momen của các động co va momen gây ra bởi các thành phan lực đây Fp và Fo
Mô hình lực đây tác dụng lên vây đuôi được đề nghị [10] như hình 2.4.
Hình 2.4 Mộ hình lực thủy động trên phan dudi[14]
Fy: Thanh phan lực tỉ lệ với gia tốc vây đuôi, nhưng ngược hướng
Fy: Thành phan lực nâng vuông góc với dòng chảy F, =2mpLCU’ sina cos a (2.3) y A
Hình 2.5 Mô hình vận tốc trên phan đuôi [14] h,—F,= zoLC” lới sinz + au cos a)- 2zoLCU” sina cosa (2.4) F, =(F, - F, )sin(-q,) (2.5) Fo = (F —F, Jcos(— 44) (2.6) Từ đó viết được phương trình động lực học:
Chương 2: Mô hình hóa Đề giải được phương trình (2.7), ta chuyển qua hệ phương trình cấp 1 bang các đặt các bién trạng thái như sau:
0100 0 0 0 0 0 0 X, fs 0010 0 0 0 0 0 0 X; f 0001 0 0 0 0 0 0 Xu +, uM 000 0m m, my mực 0 mg X= Xs / Pe fs (2.9) 0 0 0 0 ms ime Mer Meg O Mery X¢ it
0 0 0 DO mgs Mg, Mg, my O my Xg Ig
L0 0 0 DO Mos Mog Moz Mog DO Mojo, | Xo | to | Viết lại (2.7) ta được hệ phương trình (2.10).
Thông thường để giải phương trình (2.10) ta tìm ma trận nghịch đảo của ma trận M Tuy nhiên xảy ra trường hợp ma trận M bị suy biến, làm phương trình không giải được Dé giải quyết van để này, ta áp dụng phương pháp SVD (singular value decomposition) Khi ma trận M bị suy biến, dựa vào phương pháp này ta sẽ tìm ma trận nghịch bởi việc chấp nhận sai số trong khoảng cho phép Phương trình ( 2.10) đưa về được dạng (2.11) dưới đây.
M' còn được gọi là ma trận giả đảo Phương trình được giải bằng phương pháp số Runge — Kutta để tìm ra các biến trạng thái.
Sau khi tìm được các thông số bên trong của robot Ta tìm được các 2 thành phần ngoại lực Fz và Fp Áp dụng định luật II Newton ta viết được phương trình chuyển động của robot dưới nước.
Trong đó: F„ =0.5C,/œ¿S: Lực cản trong nước, Mẹ: Khối lượng toàn bộ robot trong nước.Giải phương trình này ta được quãng đường và vận tốc của Robot theo phương x.
Chương 3: Xử lý ảnh và ứng dụng xử lý ảnh xác định khoảng cách giữa 2 điểm
XỬ LY ANH VA UNG DUNG XU LY ANH XÁC ĐỊNH
KHOANG CÁCH GIỮA 2 BIEM TRONG MAT PHANG 3.1 Tong quan xử lý anh
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai trò quan trọng nhất Những năm gan đây với sự phát trién của phan cứng máy tính, xử lý ảnh và đồ họa đã phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống.
Xử lý ảnh đóng vai trò quan trọng trong tương tác người và máy.
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhăm cho ra kết quả mong muốn Kết qua dau ra của một quá trình xử lý ảnh có thé là một ảnh tốt hơn hoặc một kết luận.
Hình 3.1 Quá trình xử lý ảnh Ảnh có thể xem là một tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặc trưng cường độ sáng hay một dấu hiệu nao đó tại một vị trí nào đó của đối tượng trong không gian và nó có thé xem như một hàm n biến P(c¡, C>, ,C,) Do đó ảnh trong xử lý ảnh có thê xem như ảnh n chiêu.
Sơ đồ tổng quát của một hệ thông xử lý ảnh:
Thu nhân ảnh (Scanner, Lại Tiên xu lý La Camera,Sensor)
Trích chọn Hậu Đôi sảnh rút dicdiém FP} - xư lý >) ra kết luận v
Hình 3.2 Các bước cơ bản trong một hệ thông xử lý ảnh
3.2 Một số khái niệm cơ ban về anh và điểm ảnh 3.2.1 Điểm ảnh Ảnh tự nhiên là ảnh liên tục về không gian và độ sáng Đề xử lý bằng máy tính, ảnh cần được số hóa Số hóa ảnh là sự biến đối gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật vẻ vị trí (không gian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy gọi là điểm ảnh (PE: Picture Element) hay gọi tat là Pixel Trong khuôn kh6 ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x,y). Điểm anh (pixel) la một phan tử của ảnh số tại toa độ (x,y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh sỐ gan như thật Mỗi phan tử trong ma trận được gọi là một phan tử ảnh.
Hình 3.3 Điểm ảnh trên anh số
3.2.2 Độ phân giải ảnh Độ phân giải (Resolution) của ảnh là một mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thay được su liên tục cua anh Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bố, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều.
Mức xám anh là cường độ sáng của nó được gan băng giá tri sô tại diém đó.
Chương 3: Xử lý ảnh và ứng dụng xử lý ảnh xác định khoảng cách giữa 2 điểm
Các thang mức xám thông thường: 16, 32, 64, 128, 256 (mức 256 là mức phố dụng Ly do: từ kỹ thuật máy tính sử dụng 1 byte (8 bit) để biểu diễn mức xám: mức xám dùng | byte biểu diễn 2° = 256 mức, từ 0 đến 255). a)Ảnh màu b) Ảnh xám Hình 3.4 Chuyên ảnh từ ảnh màu sang ảnh x4m[15]
3.3 Tìm hiếu về mô hình camera
3.3.1Các đặc tính cúa camera
- Đặc tính bên trong camera (intrinsic): độ dài tiêu cự (focal length), điểm gốc, mối quan hệ giữa tọa độ điểm ảnh trên hình ảnh và tọa độ tham chiếu của camera.
- Đặc tính bên ngoài (extrinsic): vi tri và hướng cua camera khi làm việc trong không gian.
3.3.2Van đề về ma trận camera - Mối quan hệ giữ hệ tọa độ thực và hệ tọa độ camera:
` ny object a i\ oo C TƯ “x lrase point | centre \ ⁄ - RR sa ¥ Y
Hình 3.5 Mối quan hệ giữa hệ tọa độ thực và hệ tọa độ camera [18]
Hệ tọa độ thực và hệ tọa độ của camera là khác nhau về hướng và vi trí, lúc đó muốn biết tọa độ của điểm M trong hệ tọa độ của camera thì phải xoay hệ tọa độ thực cùng hướng với hệ tọa độ camera băng ma trận xoay R, sau đó tịnh tiễn hệ tọa độ thực về hệ tọa độ camera bang vecto tinh tién T, nhu vay sẽ xác định được toa độ cua điểm
M trong hệ tọa độ của camera.
Mối quan hệ giữa tọa độ điểm M trong hệ tọa độ thực và hệ tọa độ camera được biêu diễn như sau: x | X
Y no eR ^ ^ z : Toa độ của diém M trong hệ tọa độ camera
Chương 3: Xử lý ảnh và ứng dụng xử lý ảnh xác định khoảng cách giữa 2 điểm
: Tọa độ của điểm M trong hệ tọa độ thực
R T ` , ft : Ma trận thuan nhât
3.4 Camera Calibration — Hiệu chỉnh camera 3.4.1 Hiéu chinh camera va muc dich cua hiéu chinh camera Điểm 3D trong thé giới thực được chuyển hóa sang các toa độ điểm anh 2D thông qua các camera quang.
Hiệu chỉnh camera là quá trình tính toán các thông số bên trong, các thông số bên ngoài Các thông số bên trong liên quan đến các đặc tính kỹ thuật của bản thân camera như độ dài tiêu cự, góc nghiêng, biến dạng và tâm của ảnh Các thông số bên ngoài mồ tả vi trí, hướng của ảnh thực Biết được các thông số nội tại là bước cần thiết đầu tiên cho thị giác máy tính 3D.
Mục đích hiệu chỉnh để ước tính các thông số quang học đặc trưng của camera, vi tri tương đối của camera trong thế giới thực (3D), để xác định chính xác vị trí, khoảng cách hay kích thước vật trong môi trường thực.
3.4.2 Phương pháp hiệu chỉnh camera Y tưởng của việc hiệu chỉnh camera
- Cho trước một tập hợp điểm PB, có toa độ trong mặt phăng anh là (u, , v, ).
- Tim các thông số bên trong và bên ngoài của camera.
- Xác định ma trận chiếu.
Khi ta tiễn hành việc hiểu chỉnh camera (calibration camera) sẽ xác định được cỏc thụng số bờn trong ( f,› ƒ,› >ằ Â,) và thụng số bờn ngoài bao gồm 3 gúc quay (ứ,
8 y) và 3 thông sô tinh tiên (7,, 7,, T,).
Các thông số: ƒ, f,: độ dài tiêu cự theo trục x và trục y c,, c,: VỊ tri tam quang a, PB, y: góc quay theo 3 trục x, y,z
T., T,, T, :thong số tịnh tiễn theo 3 trục X, Y, Z
Vật làm mâu ở đây là bàn cờ, kích thước môi ô của bàn cờ là 30x30 mm Việc chon mau calib là bàn cờ vì dê nhận biết các biên, các đỉnh.
Hình 3.6 Mẫu dùng để calib camera (dạng bàn cờ 7x10) [19]
Khi tiên hành calib, ta di chuyên mâu trong vùng không gian camera thu được và chọn sô frame anh sao cho mau xuât hiện tại tat cả các vi trí hay phủ kín vùng không gian này, khi đó kêt quả calib mới chính xác Đôi với môi góc nhìn (vị tri) cua vật mẫu, ta sẽ có được 4 thông số bên trong ( f, , „›€x „€,) và 6 thông số bên ngoài quay ( a, 8 7› T., T,, T.).
Ung với mỗi góc quay, ta có các ma trận quay như sau:
Chương 3: Xử lý ảnh và ứng dụng xử lý ảnh xác định khoảng cách giữa 2 điểm
| 0 0 Ria =|9 cosa —sina Ú sina cosa cosỉ 0 sin/ỉ R„„ =| 9 | 0 (3.2)
—=sinỉ@ 0 cosP cosy —sinz7 0 Ry, =| siny cosy 0
Từ (3.7) suy ra ma trận quay R có dạng như sau: cos /coS Z —cos đSIn Z sin ỉ R= RyRy gp Ry =| Sinasin Bcosy+cosasiny —sinasinBsiny+cosacosy —sinacos ổ
—cosasinfcosy—sinasiny cosasinf#siny+sinacosy cosacosy
R= Ray py) Ra “li l2 la (3.3)
Từ [17] ta có mối liên hệ giữa tọa độ điểm M trong hệ tọa độ thực và tọa độ điểm m trong hệ tọa độ mặt phăng ảnh được biéu diễn như sau:
Trong đó: x =u: Hoành độ của điểm trên mặt phăng ảnh y =v: Tung độ của điểm trên mặt phăng ảnh
Y |: tọa độ của một điểm trong không gian
[R.7]: Ma trận biểu thi các thông số ngoại của camera
K: Ma trận biểu thị các thông số nội của camera K[R.7]=M: Ma trận chiều (3x4)
Ma trận thông sô nội và ma trận thông sô ngoại có dạng như sau: ƒ⁄# 0 c, K=/0 f, c, (3.5)
Suy ra, ma trận chiêu M sẽ có dạng như sau:
M =KỊR T|= Fateh, Siete fis ten, yt ĐC
Chương 3: Xử lý ảnh và ứng dụng xử lý ảnh xác định khoảng cách giữa 2 điểm foes +MY +m,,Z +m,,)=m,X +m,Y +m ;Z +m, (3.9) yvữn,X +m,Y +m Z +m )=m,X +m,Y +m,,Z +m,, Ở day, ta xét toa độ điểm trong mặt phăng nên ta lẫy Z = 0 Ta có: fees +n,,Y +7.) = m¡X +MY +m,
Giải hệ phương trình (3.14) ta sé xác định được toa độ cua điểm trong hệ tọa độ thực.
3.5 Tiến hành Calib camera kiểm tra độ chính xác của kết quả calib 3.5.1 Tiến hành calib camera
- Camera: Trong luận văn, camera dùng để thu nhận hình ảnh là loại webcam
Hình 3.7Webcam Logitech C270 (độ phân giải 1280 x 720).
Nguồn: http://www logitech.com/en-us/product/hd-webcam-c270?crid4
Bồ trí camera như sau:
UNG DỤNG XỬ LY ANH TRONG DIEU KHIỂN ROBOT CÁ
4.1 Qua trình xứ lý anh
Xử lý ảnh nham mục đích cải thiện chất lượng ảnh, chuyển sang ảnh xám, định vị và định hướng để làm cơ sở cho việc thực thi thuật toán bơi tới điểm yêu cầu cho trước.
Giới thiệu một số bước cơ bản khi ứng dụng xử lý ảnh trong việc nhận dạng các điểm mau, từ đó xác định hướng và bơi tới điểm xác định cho trước:
4.1.1 Chụp ảnh từ video Camera được sử dụng là loại Logitech Webcam C210.
Nguồn: http://www logitech.com/en-us/product/hd-webcam-c270?crid4 Thông số kỹ thuật của webcam:
- Do phân giải: 3.0 megapixels - D6 phân giải ảnh: 1280 X 720 pixels
Sử dung ham trong thư viện OpenCV dé thực hiện công việc chụp anh và lưu ảnh trên máy tính để xử lý Ảnh màu được lưu có kích thước 1280 x 720, loại ảnh RGB.
Chương 4: Ứng dụng xử lý ảnh trong điều khiến robot cá
Trong thư viện OpenCV hỗ trợ ham dé chuyển đối anh, trong đó có chức năng chuyển về ảnh xám.
CvtColor(src, dst, int code, int dstCn=0);
Chức năng: chuyển đối anh từ một không gian mau sang một không gian màu khác.
Trong đó: src: hình ảnh nguồn, 8 bit hoặc 16 bit không dau dst: ảnh đích, có cùng kích thước và độ phân giải như src code: mã chuyển đổi màu sắc Ví dụ: CV_BGR2LUV,
CV_BGR2HSV , CV_BGR2GRAY dstCn:Số lượng các kénhtronghinh anh điểm đến, nếu tham số này là0, số lượng các kênhsẽ được bắt nguénty độngtừsrcvà mã.
4.1.3 Nhận dạng theo từng màu riêng biệt
Mô hình sử dụng ba màu Red, Green, Blue để xác định vị trí của robot và vi trí điêm đích cân đên Trong đó:
- Blue: điểm xác định đầu robot.
- Red: điểm xác định thân robot.
Sử dụng ham InRange ( ) trong thư viện OpenCV dé nhận biết các màu trên Cú pháp:
InRange(src, lowerb, upperb, dst);
Voi: src: ảnh nguồn (dưới dạng mảng). dst: ảnh đích (dưới dạng mang), có cùng kích thước với src. lowerb: ngưỡng dưới. upperb: ngưỡng trên.
4.1.4 Tìm đường bao Theo [20] ta có phương pháp xác định đường bao dựa theo màu như sau:
Hình 4.2 Phuong pháp xác định đường bao dựa theo mau
Trong thư viện OpenCV có ham hỗ trợ cho việc tìm đường bao, đó là: findContours(image, contours, hierarchy, int mode, int method, Pointoffset=Point();
Tu ket quả của việc tìm được đường bao, sau đó tiên hành vẽ tam va các đường nôi cũng như xác định tọa độ các diém anh can bám theo Có 3 diém ảnh quan trọng được thiệt lập là: điểm trên dau cá (diém Blue), diém trên thân cá (diém Red) và điêm cân tới (diém Green) Môi điêm có tọa độ pixel va giá trị mau ứng với điêm đó.
Chương 4: Ứng dụng xử lý ảnh trong điều khiến robot cá
Trong nội dung của luận văn, tác giả ứng dụng xử lý ảnh để giải quyết bài toán điêu khiên robot cá chuyên động đên diém đích cho trước.
Một sô quy ước vê mau sac thê hiện các vi trí đê điêu khiên robot:
Màu xanh lá: màu đánh dầu điểm đích.
Mau xanh dương: màu đánh dau điểm định hướng (đầu cá).
- Màu đỏ: màu đánh dau điểm gốc (thân cá). Điểm đích nên được đặt trong không gian làm việc phía trước của robot dé tạo điều kiện thuận lợi cho robot hoạt động.
Màu đánh dau diém dau Hướng chuyển
Hướng của @ Mau đánh dau robot > than robot
Hình 4.3 Qui ước các điểm màu và không gian hoạt động của robot
Mục đích của bài toán: xác định góc lệch giữa hướng chuyển động và hướng của robot, xác định khoảng cách từ robot đến đích, điều khiến robot giảm góc lệch về 0 và di chuyển đến điểm đích.
Sơ đồ giải thuật điều khiến:
Chuyén về ảnh xámtheo giá trị mau
Nhận dạng các điểm màu
(tìm đường bao hình tròn)
Tim tâm các đường tron va vẽ đường nỗi
Xác định góc lệch giữa hai đường thang
Xác định khoảng cách giữa điểm đầu robot và đích.
Thuật toán giảm góc lệch cho Robot.
Hình 4.4 Lưu đồ giải thuật của quá trình điều khiến.
Sau khi chuyển ảnh về dạng HSV, sử dụng hàm cvSmooth( ) ứng dụng phương pháp Gaussian để lọc ảnh Cú pháp hàm: cvSmooth (src, dst, int smoothtype=CV_GAUSSIAN, int paramil=3, int param2=0, double param3=0, double param4=0).
Trong đó: - src: ảnh goc.
- dst: ảnh đích (kết quả).
Chương 4: Ứng dụng xử lý ảnh trong điều khiến robot cá
- smoothtype: các kiểu làm mượt ảnh (CV_BLUR_NO_SCALE,
- param!, param2, param3, param4: các thông sô cua việc lọc ảnh.
4.2 Ứng dụng xử lý ảnh trong điều khiến robot cá 4.2.1 Các chế độ quẹo của robot cá
Swing the tail tothe left Straighe Turning Strel Turning Straight mi+s (LL)
Hình 4.5Ché độ quẹo của robot cá[22]
— ` Keep the posture to the left
Stre mi Turning Stra! Turning St oa aa, man ( ee ` sã ° cs
Quick turning with the moment of rotation
From stationary state, swing the tail to the left
Mode A: trong kiểu queo nay, 3 khớp thân va đuôi cùng di chuyên, tuy nhiên khớp thứ nhất chỉ lắc sang bên trái và quay về giữa, các khớp còn lại cũng vậy, góc quay robot cá từ0” tới 30” Đây là phương pháp quẹo cơ bản và đóng vai trò quan trọng trong quá trình chuyển hướng Trong chế độ này, đầu và cơ thể của robot cá như là bánh lái, các khúc đuôi và vây đuôi giông như chân vịt của tàu.
Vay đuôi về phía bên \
Hình 4.6 Mode A trong chế độ quẹo của robot cá.
Mode B: Trường hợp B cho thấy răng, lúc đầu robot cá bơi thăng, và có đủ động năng Tiếp theo, robot cá lắc đuôi của nó sang một bên,và giữ tư thé này một bên Sau đó nhờ lực thủy động học mà robot có thể quẹo Chế độ này quẹo với đường kính quay nhỏ hơn của chế độ A và có thé điều chỉnh đường kính quẹo bang cách điều chỉnh mức độ uốn cong của phan thân robot Đối với cách queo này can chú ý phân tích lực ma sát và lực quán tính.
Uon cong phan than ve phía trái
Queo su dụng dong ning
Thing Queo Thần al_\n ry
Thời gian ơ8: của đuôi oO
Hình 4.7 Mode B trong chế độ quẹo của robot cá.
Mode C: Trong trường hợp C, robot cá xoay đuôi của nó sang một bên nhanh chóng từ trạng thái đứng yên trong chế độ này biến, lực quán tính, lực ma sát của việc di chuyển đuôi và cơ thé tao ra moment xoay Kiểu quẹo này có những đặc điểm tuyệt vời Nó có thể quẹo từ trạng thái đứng yên và góc quẹo là góc nhỏ nhất trong các kiểu quẹo Tuy nhiên khó có thể thay đổi tốc độ quẹo và góc quay Tuy nhiên để quẹo nhanh, thì kiểu queo này can nguồn tiêu thụ năng lượng khá lớn để tạo ra moment ban dau.
Queo nhanh với moment xoay /
Từ trạng thai đứng yênấy đuôi mạnh về bên trái.
Hình 4.8 Mode C trong chế độ quẹo của robot cá.
Chương 4: Ứng dụng xử lý ảnh trong điều khiến robot cá
Dựa vào các chê độ quẹo cua robot cá như trên, đê điêu khiên robot cá quẹo | góc theo yêu câu ta chọn chê độ B cho việc điều khiên robot, vì chề độ C can nguôn năng lượng lớn và việc điêu khiên robot là thực hiện việc quẹo trong quá trình bơi nên chế độ B là phù hợp trong trường hợp này.
Mô hình robot phục vụ cho thực nghiệm có 3 khớp Mô hình như sau:
Hình 4.9 Mô hình các khớp của robot cá.
Theo [11] [12] thì việc điều khiến robot quẹo chỉ cần điều khiến điều khiến khớp thứ nhất (khớp gắn với phần đầu robot), 2 khớp còn lại có chức năng dao động hình sin dé tạo lực day cho robot di chuyển Kết qua này được ứng dung trong dé tài vào việc điều khiến chuyển động của robot.
4.2.2 Xây dựng thuật toán bơi của robot cá dựa vào kết quả xử lý ảnh
Gọi góc lệch giữa hướng chuyền động (BC) và hướng của robot cá (AB) là a, khoảng cách từ robot cá đến đích (AC) là L.
Hình 4.10 Ký hiệu góc lệch và khoảng cách L.
Theo yêu câu điều khiến của dé tài, khi góc lệch giữa hướng của robot và hướng chuyển động (a) trong khoảng 5° về cả 2 phía là sai số cho phép nên khi đó robot được phép chuyển động thắng và không can điều khiến góc queo cho robot.
Khi góc lệch lớn hơn 5° và nhỏ hon 90° thì điều khiến góc queo cho robot Do đó, góc làm việc còn lại (ở mỗi phía của robot) là 85°, ta có thể chia vùng này ra thành nhiều khoảng nhỏ để điều khiến Nếu các khoảng chia càng nhiêu thì việc điều khiến càng phức tạp.
QUÁ VÀ HƯỚNG PHAT TRIEN
Mô hình robot cá phục vụ cho việc thực nghiệm:
Mô hình sử dụng động co RC servo với ưu diém là moment lớn, nhưng nhược diém là dap ứng chậm và tân sô làm việc thâp Động cơ đã được chong nước bang silicon tan nhiệt va silicon bôi trơn trước khi đưa vào sử dụng trong mồ hình.
Trong quá trình hoạt động, do yêu cầu phải đảm bảo thuận tiện cho việc kiểm tra dung lượng pin, sạc pin, on/off robot khi không sử dụng để tiết kiệm pin nên robot cá được thiết kế thêm 2 phần phía trên thân robot có dạng nút vặn do đó có khả năng đóng mở linh hoạt, nhanh chóng, thuận tiện cho quá trình sử dụng.
Hai điểm màu có đường kính 30mm được bố trí trên 2 nắp cách nhau khoảng 85 mm Với cách bố trí này, khi robot hoạt động trong mặt phăng 2D trong môi trường nước thì 2 điểm màu sẽ nổi lên trên mặt nước, do đó sẽ làm giảm đi tác động của hiện tượng khúc xạ ánh sáng.
Chương 5: Kết quả và hướng phát triển
Thông số Kihiéu | Giátrj | Don vị ơ Khối lượn m | k
On Maen
Chiều dài ly 0.04735 m Tốc độ dòng chảy Um 0 m/s Trọng lượng riêng cua nước p 990 kg/m”
Hệ số sức cản Cd 0.5
Diện tích can nước S 14e° m- Chiều cao của vay đuôi L 0.181 m Chiều dai trung bình của vay 2C 0.084 m
5.2_ Kết quả thực nghiệm ứng dụng xử lý anh trên robot cá
Mục tiêu thực nghiệm dé kiếm chứng kết quả của việc ứng dụng xử lý ảnh vào điều khiến robot cá trong môi trường thí nghiệm (không gian nhỏ).
5.2.2 Cách tiền hành thực nghiệm:
Bồ trí camera: camera được treo phía trên hỗ, cách mặt nước khoảng 1m9.Do camera sử dụng trong luận văn là webcam nên độ phân giải không cao do đó bồ trí sao cho diện tích quan sát là lớn nhat nhưng van đảm bảo được việc calib camera va xử lý ảnh.
Sau khi bô trí camera đạt yêu câu ta cô định camera và tiên hành calib camera đề có được bộ thông sô nội và thông sô ngoại của camera tại vi trí mới và sử dụng bộ thông số này cho việc xử lý ảnh và điều khiến robot trong môi trường thực nghiệm.
Chương 5: Kết quả và hướng phát triển
5.2.3 Kết quả thực nghiệm: a) Thực nghiệm 1: Ung dụng xử lý ảnh điều khiến robot cá di chuyển đến đích trong trường hợp điểm đích cố định trong môi trường nước.
Chương 5: Kết quả và hướng phát triển b) Thực nghiệm 2: Ung dụng xử lý ảnh điều khiến robot cá di chuyển đến đích trong trường hợp điểm đích thả tự do trong môi trường nước.
Am ih iii rir ara ¡| 4 Body of Fish
Hình 5.5 Đồ thi dap ứng 5.2.4 Nhận xét về kết quả thực nghiệm:
Kết quả thực nghiệm cho thấy kết quả xử lý ảnh trong môi trường thực tế khá tốt, có thể xác định được vị trí của robot và vị trí điểm đích, từ đó đưa ra cách điều khiến hiệu quả.
Việc điều khiến robot di chuyên đến dich đạt kết quả khá tốt, đáp ứng được yêu cầu đề ra.
Do kích thước ho giới hạn nên việc tiên hành thực nghiệm còn hạn chê.
Chương 5: Kết quả và hướng phát triển
5.3 Kết luận và hướng phát triển 5.3.1 Kết luận:
Luận văn giải quyết được các van đề: a) Để xuất giải pháp thay thế trong phòng thí nghiệm cho cảm biến vị trí trong bài toán điều khiến. b) Xỏc định được cỏc thụng số điều khiến như 4 thụng số bờn trong (ƒy; ƒ, ›€x ằ c,) và 6 thụng số bờn ngoài (a, ỉ, 7 T, T, T_) từ thực nghiệm. c) Thực nghiệm kiểm chứng các giải pháp đề ra.
5.3.2 Hướng phát trién: a) Nghiên cứu vây hông nhằm cân bằng và 6n định vị trí cho robot. b) Nghiên cứu, phát triển bộ điều khiến phù hợp với những yêu cầu điều khiến cao hơn.
Kết qua dé tài nghiên cứu trong luận văn được viết báo và được đăng lên ky yếu của các hội nghị:
- _ Hội nghị toàn quốc lần thứ 2 về Điều khiến và Tự động hóa — VCCA 2013 diễn ra từ 22-23/11/2013 tại Đà Nẵng.
A Study on Image Processing to Control Moving Directions of a 3-Joint
| 2 Quoc Phuong Hoang, “Tuong Quan Vo
Department of Mechatronics, Ho Chi Minh City, University of Technology — VietNam e-Mail: ‘'quocphuongspkt@ gmail.com, -vtquan@hcmut.edu.vn
Hội nghị quốc tế về Cơ điện tử va Robot, diễn ra từ 10-11/12/2013 tại trường Dai học Bach Khoa TpHCM.
An Application of Image Processing to Control The Straight Motion of a 3-Joint
Thanh Lap Dang, Hoang Hiep Ly, Phu Huynh Duc, Thanh Phat Vo,
Quoc Phuong Hoang, Tuong Quan Vo.
Faculty of Mechanical Engineering, HoChiMinh City University of Technology,VN e-Mail: vtquan@hcmut.edu.vn
K H Low “Modelling and parametric study of modular undulating fin rays for fish robots,” Mechanism and Machine J 44, 615-632 (2009).
Robot cá đầu tiên tại Việt Nam.
Model Fish Robot, National Maritimes Research Institute.
< http://www nmri.go.jp/eng/khirata/fish/model/ppf09/index_e.html>
< http://www.communistrobot.com/robotarticles.php?articleid` >
D Beal,M Sachinis, RoboTuna I,Massachusetts Institute of Technology. http://web.mit.edu/towtank/www/Tuna/Tuna2/tuna2 html
Fish Robot of Essen Universiry (G8)
Junzhi Yu, Yimin Fang, Wei Zhao, and Long Wang, Control and Coordination of Biomimetic Robotic Fish, Center for Systems and Control, Department of Mechanics and Engineering Science, Peking University, Beijing 100871, P R.
Qin Yan, Zhen Han, Shi-wu Zhang, Jie Yang, Parametric Research of Experiments on a Carangiform RoboticFish, Department of Precision Machinery and Precision Instrumentation, University of Science and Technology of China, Hefei 230026, P R China.
JunZhi Yu, Long Wang, Wei Zhao, Min Tan, Optimal design and motion control of biomimetic robot fish.
[10] Jin-Kui Chu, Rong- Hua Li, Qing-Ying Li, Hong-Qing Wang, A visual attention model for robot object tracking, 2009.
[11] Phạm Van Anh (tháng 07 năm 2011) “Nghiên cứu xây dựng bộ điều khiến cho Robot cá di chuyển theo phương cho trước trong mặt phẳng 2D”, Luận văn thạc
[12] Lê Vũ Tuan Anh (2012) “Nghiên cứu, thiết kế robot cá dạng carangiform 4 khớp động” Luan văn đại học.
[13] Junzhi yu, Lizhong Liu, Long Wang, “Dynamic Modeling of Robotic Fish Using Schiehien's Method,” YEEE Int Conf on Robotics and Biomimetics, 457-462 (2006).
[14] Motomu Nakashima, Norifumi Ohgishi and Kyosuke Ono, “A Study on the Propulsive Mechanism of a Double Jointed Fish Robot Utilizing Self-Excitation Control?’ JSME Int Journal Advances in Motion and Vibration Control Technology 46(3), 982-990 (2003).
[15] http://opencv.willow garage.com/documentation/c/index html
[16] Alexis M Martinez ,Jmage Processing- CameraModels.
[17]Derek Hoiem,Projective Geometry and Camera Models, University of Illinois, 2011.
[18] Gary Bradski, Adrian Kaebler “Learning OpenCV Computer Vision with The OpenCV Library” O’ Reilly Media, United State of America, 2008.
[19] OpenCV Chessboard,http://sourceforge.net/projects/opencvlibrary
[20] Qi Zhao and Hai Tao, “Object tracking using Color Correlogram” Department of Computer Enginnering, University of California Santa Cruz, CA 95064
[21] HM-TR Transparent Wireless Data Link Module.
[22] K H Low “Modelling and parametric study of modular undulating fin rays for fish robots,” Mechanism and Machine J 44, 615-632 (2009).
Code xử lý ảnh (viết băng Visual C++ 2010)
LLL double fx=0.03872 , fy=0.02581 , cx#.6080 , cy.6968; // thong s6 bén double xt=0.85433 , yt=0.58924 , zt=-1.62742 ; // vecto quay (t) double Tx=-24.38017 , Ty=-17.30255 , Tzi.24069;// thong số tịnh tiến (T) double Xreal , Yreal ; // Toa độ thực trong chuong trinh con double R11, R12, R13, R21, R22, R23, R31, R32, R33; // ma tran xoay double m11,m12,m13, m14, m21, m22, m23, m24, m31, m32, m33, m34;// ma trận M double Ximg! , Yimgl, Ximg2, Yimg2, Ximg3, Yimg3 ;// Toa độ trong ảnh double al , bl ,cl ,a2 ,b2 ,c2; // Bién trung gian double anglel , angle2; /¡ Góc double d_I,d_2,d 3, kl, k2, goc , RI, R2, R3, PointlX, Point2X, Point3X, PointlY,
Point2Y, Poin3Y; // Thông số đường thắng nỗi start stop double PI=3.14159; char key; using namespace cv;
MAMMA /// Choong trình con tinh ma tran int tinh_matran(double xt, double yt, double zt, double Tx, double Ty, double Tz, double fx, double fy, double cx, double cy )
R1 l=cos(xt)*cos(yt); // Ma tran xoay R R12=cos(xt)*sin(yt)*sin(zt)-sin(xt)*cos(zt);
R13=sin(xt)*sin(zt)+cos(xt)*sin(yt)*cos(zt);
R22=cos(xt)*cos(zt)+sin(xt)*sin(yt)*sin(zt);
R23=sin(xt)*sin(yt)*cos(zt)-cos(xt)*sin(zt);
LTTE LTT ml 1l=fx*R11+cx*R31; // Ma tran M m12=fx*R12+cx*R32; m13=fx*R13+cx*R33; m14=fx*Tx+cx*Tz; m21=fy*R21+cy*R31; m22=fy*R22+cy*R32; m23=fy*R23+cy*R33; m24=fy*Ty+cy*Tz; m31=R31; m32=R32; m33=R33; m34=T7z; return (m11,m12,m13,m14,m21,m22,m23 m24,m31,.m32,m33 ,m34);
MMMM /Chnaong trình con tinh tọa độ thực int tinh_toado(int Ximg, int Yimg)
{ al =mIT - Ximg * m31; bl =ml2 - Ximg * m32; cl = Ximg * m34 - m14; a2 =m21 - Yimg * m31; b2 = m22 - Yimg * m32; c2 = Yimg * m34 - m24;
Yreal = (cl*a2-c2*al)/(b1*a2-b2*al); // Toa độ thực Y Xreal = (cl-b1*Yreal)/al; // Tọa độ thực X return (Xreal , Yreal);
//cai dat Min va Max cho bo loc HSV //su dung thanh Trackbar int H_MIN =0; int H_MAX = 256; int S_MIN =0; int S_MAX = 256; int V_MIN =0; int V_MAX = 256;
//cai dat do rong cua frame hinh const int FRAME WIDTH = 1080; const int FRAME HEIGHT = 720;
//so luong Object lon nhat co the detect duoc trong | frame const int MAX NUM_OBJECTS=S50;
//Min va Max xua Object detect duoc const int MIN_OBJECT_AREA = 5*5;
Phụ lục const int MAX_OBJECT_AREA = FRAME_HEIGHT*FRAME_WIDTH/1.5;
//ten cua cac windown const string windowName = "Original Image"; const string windowNamel = "HSV Image"; const string windowName2 = "Thresholded Image"; const string windowName3 = "After Morphological Operations"; const string trackbarWindowName = "Trackbars"; void on_trackbar( int, void* )
{ std::stringstream ss; ss