Để áp dụng giải thuật ORADP trên WMR di động, mô hình thực nghiệm WMR dựa vào mô hình toán (5.4) được thiết kế và thi công. Mô hình phần cứng WMR được mô tả trên H. 5.2 gồm ba thành phần chính: khung robot, mạch điều khiển và hệ thống thị giác đa chiều (Omni-Directional Vision). Các chi tiết của ba thành phần này được sơ đồ hóa cụ thể trên H. 5.3.
68
(a) (b)
Hình 5.2 Mô hình robot thực nghiệm: a) Mặt sau; b) Mặt trước
Robot được trang bị máy tính nhúng, giao tiếp với vi điều khiển thông qua chuẩn RS232. Phần mềm lập trình bằng VC++2010 chạy trên nền hệ điều hành Windows dùng để phát sinh tín hiệu tham chiếu, xử lý ảnh để xác định vị trí, tính vận tốc dài, đọc xung encoder từ vi điều khiển (VĐK) để xác định vận tốc quay, thực hiện giải thuật điều khiển ORADP, xuất giá trị mô men xuống VĐK, điều rộng xung cho mạch công suất điều khiển hai động cơ DC. Để xác định vị trí của robot trong hệ trục xy trên mặt phẳng thực, hệ thống thị giác đa chiều được sử dụng [52].
Khoảng cách từ tâm robot tới vật mốc chuẩn được xác định qua phần mềm xử lý ảnh sau đó thông tin này được sử dụng để tính ra vị trí tâm robot so với hệ trục cố định. Hệ thống thị giác đa chiều có thể nhận dạng những vật mốc xung quanh robot (3600) mà không phụ thuộc vào vị trí lắp đặt camera trên robot. Sơ đồ nguyên lý của hệ thống thị giác đa chiều được trình bày trên H. 5.3, gồm một gương cầu lồi có tâm 𝐶, bán kính cong 𝑅, đặt trên ống thủy tinh hình trụ đường kính 𝐷 = 0.2 (𝑚). Đường tâm ống thủy tinh trùng với trục của gương cầu và trùng với trục thẳng đứng đi qua tâm của robot. Một camera USB Logitech có độ phân giải ảnh 1280×720 pixels, đặt trên bề mặt robot sao cho trục camera trùng với trục của gương cầu. Khoảng cách từ đỉnh gương cầu đến camera 𝐻 = 0.5 (𝑚). Với hệ thống thị giác này, chuyển động quay của robot hoặc cơ cấu chuyển động quay cho camera trên các trục (pan, tilt, yaw) để dò tìm ảnh các vật mốc chung quanh là không cần thiết.
Bánh xe trước Máy tính nhúng Mạch vi xử lý và công suất 2 vật mốc Bánh xe sau USB Camera Gương cầu lồi Ống thủy tinh
69
Hình 5.3 Mô hình hệ thống thị giác đa chiều trên robot
Trên H. 5.3, điểm 𝑝′(𝑥′, 𝑦′) là điểm ảnh mà camera thu được từ điểm 𝑃(𝑥, 𝑦, 𝑧)
(𝑧 ≡ 0) trong không gian thực (3D) qua phép chiếu tại điểm 𝑝(𝑥, 𝑦, 𝑧) trên gương cầu
lồi với góc tới và góc phản xạ thỏa điều kiện 𝛾1 = 𝛾2. Do đặc tính của gương cầu lồi, ảnh qua camera bị méo dạng, các đường thẳng nằm ngang trong không gian thực qua phép chiếu trở thành đường cong trong không gian ảnh (H. 5.4), ngoại trừ những đường thẳng đứng. Càng cách xa camera, kích thước của vật trong ảnh càng nhỏ.
Các khung ảnh thu được từ camera qua hệ thống thị giác đa chiều được phần mềm xử lý ảnh (Open CV) xử lý. Ảnh màu của vật mốc được chuyển từ hệ màu RGB sang HSV, lọc và nhận dạng so trùng với màu chuẩn, sau đó sử dụng kỹ thuật dò biên để xác định tâm của vật mốc. Giá trị pixel tại tâm này được sử dụng để xác định tọa độ của vật mốc trong hệ trục 𝑂𝑋𝑌 gắn liền với robot.
Do không có thông tin chính xác về thông số hình học của hệ thống thị giác đa chiều, ngoài ra khi robot di chuyển, do quán tính, do định vị cơ cấu cơ khí, thông số hình học của hệ thống thị giác thay đổi, vì vậy nội suy vị trí robot dùng phương trình
f C H O 𝛾1 𝛾2 P(x, y, z) R p’(x’, y’)
p(x, y, z) Gương cầu lồi Ống thủy tinh Camera Máy tính nhúng Encoder Mạch vi xử lý Động cơ DC Bánh xe dẫn động
70
Hình 5.4 Ảnh không gian thực qua hệ thống thị giác đa chiều
Hình 5.5 Xác định tâm robot so với hệ trục cố định
toán sẽ thiếu chính xác. Để ánh xạ và nội suy tọa độ của tâm vật mốc trong hệ trục
𝑂𝑋𝑌 từ không gian thị giác đa chiều sang không gian thực với thông số hệ thống thị giác thay đổi trong tầm giới hạn, mạng RBF với khả năng xấp xỉ phi tuyến cao được
Oxy
Các vật mốc: thứ nhất, thứ hai, thứ ba, thứ tư O ' O 2 X 1 X 1 Y 2 Y x y O x y Y X y x '2 x x x '2 y y y
71
sử dụng (Phụ lục G). RBF được huấn luyện off-line một lần duy nhất trước khi áp dụng giải thuật điều khiển robot. Vì vậy trong mô hình robot, RBF kết hợp với hệ thống thị giác đa chiều tạo thành cảm biến xác định vị trí robot khi di chuyển.
Không mất tính tổng quát, để xác định tọa độ tâm robot trong hệ trục tọa độ đề các cố định trên mặt phẳng, ta chọn hệ trục 𝑂𝑥𝑦 với tâm 𝑂 trùng với tâm vật mốc chuẩn thứ nhật và trục nằm ngang 𝑂𝑥 đi qua tâm vật mốc chuẩn thứ hai (H. 5.5). Qua xử lý ảnh ta xác định được tâm các vật mốc chuẩn và qua mạng RBF ta ánh xạ được tọa độ thực của các vật mốc này trong hệ trục 𝑂𝑋𝑌, dễ dàng dùng công thức chuyển đổi hệ trục 𝑂𝑋𝑌 về 𝑂𝑥𝑦 để xác định tọa độ trọng tâm của robot trong hệ trục 𝑂𝑥𝑦:
𝜃 = argcos 𝑋2 − 𝑋1 𝑋2 − 𝑋1 2 + 𝑌2 − 𝑌1 2 (5.15) 𝑥 = −𝑋1 𝑋2 − 𝑋1 + 𝑌1 𝑌2 − 𝑌1 𝑋2 − 𝑋1 2 + 𝑌2 − 𝑌1 2 (5.16) 𝑦 = −𝑋1 𝑌2 − 𝑌1 − 𝑌1 𝑋2− 𝑋1 𝑋2 − 𝑋1 2 + 𝑌2 − 𝑌1 2 (5.17)
Trên H. 5.5, khi robot di chuyển ra xa vật mốc thứ nhất và thứ hai tiến về gần vật mốc thứ ba và thứ tư, do đặc tính của gương cầu lồi, vật mốc thứ nhất và thứ hai nhanh chóng trở thành ảnh rất nhỏ qua hệ thống thị giác đa chiều dẫn đến các vật mốc này hoặc không nhận dạng được hoặc nhận dạng không ổn định. Tuy nhiên, lúc này hai vật mốc còn lại cho ảnh lớn qua hệ thống thị giác đa chiều thuận tiện cho việc nhận dạng. Do đó sẽ hiệu quả hơn khi robot di chuyển xa hệ trục tọa độ gốc xác định tâm robot qua hệ trục mới 𝑂′𝑥𝑦 với 𝑂′ có tọa độ 𝑂′(𝑥𝑥′2𝑥, 𝑦𝑦′2𝑦) trong 𝑂𝑥𝑦. Bằng cách sử dụng công thức từ (5.15) đến (5.17) tâm robot trong 𝑂′𝑥𝑦 dễ dàng xác định, sau đó dời trục này về hệ trục 𝑂𝑥𝑦 để xác định tọa độ tâm của robot so với hệ trục gốc 𝑂𝑥𝑦.
Vậy, một cách tổng quát nếu sử dụng nhiều hệ trục tọa độ tương đối với nhau, ta hoàn toàn có thể xác định được vị trí tâm của robot đối với hệ trục gốc khi robot di chuyển tùy ý trong không gian làm việc.
Tần số bắt ảnh của camera là 30 frame/s, chu kỳ lấy mẫu là 0.4(s), tần số điều rộng xung là 2kHz. Người dùng có thể cho phép robot chạy hoặc dừng bằng công cụ trên giao diện phần mềm và quan sát online đồ thị quỹ đạo vị trí tham chiếu và quỹ
72
đạo thực của robot trên máy tính kết nối qua mạng không dây với máy tính nhúng trên robot. Các dữ liệu khác của robot trong quá trình học được lưu trữ xuống tập tin và vẽ lại bằng phần mềm Matlab.