WE ARE CEE

CENTER ELECTRICAL ENGINEERING

Mobile, Embedded System, PCB Layout, Robotics and UAV

Nghiên cứu & Chuyển giao CN

Định vị bằng Camera nhận diện các điểm đánh dấu Marker

Một trong những cách tiếp cận phổ biến nhất là sử dụng các dấu fiducial vuông nhị phân. Lợi ích chính của những điểm đánh dấu này là một điểm đánh dấu cung cấp đủ sự tương ứng (bốn góc của nó) để có được tư thế máy ảnh. Ngoài ra, mã hóa nhị phân bên trong làm cho chúng trở nên đặc biệt mạnh mẽ, cho phép khả năng áp dụng các kỹ thuật phát hiện và sửa lỗi.

Module aruco dựa trên thư viện ArUco, một thư viện phổ biến để phát hiện các điểm đánh dấu hình vuông do Rafael Muñoz và Sergio Garrido phát triển.

Markers  Dictionaries

Điểm đánh dấu ArUco là một điểm đánh dấu hình vuông tổng hợp được bao gồm bởi một đường viền rộng màu đen và một ma trận nhị phân bên trong xác định số nhận dạng (id) của nó. Viền đen tạo điều kiện thuận lợi cho việc phát hiện nhanh trong ảnh và mã hóa nhị phân cho phép xác định và áp dụng các kỹ thuật phát hiện và sửa lỗi. Kích thước điểm đánh dấu xác định kích thước của ma trận bên trong. Ví dụ: kích thước điểm đánh dấu là 4x4 được tạo bởi 16 bit. Một số ví dụ về điểm đánh dấu ArUco:

Cần phải lưu ý rằng một điểm đánh dấu có thể được tìm thấy xoay trong môi trường, tuy nhiên, quá trình phát hiện cần có khả năng xác định chuyển động quay ban đầu của nó, để mỗi góc được xác định một cách rõ ràng. Điều này cũng được thực hiện dựa trên mã hóa nhị phân.

Từ điển các điểm đánh dấu là tập hợp các điểm đánh dấu được xem xét trong một ứng dụng cụ thể. Nó chỉ đơn giản là danh sách các mã hóa nhị phân của mỗi điểm đánh dấu của nó.

Các thuộc tính chính của từ điển là kích thước từ điển và kích thước điểm đánh dấu.

  • Kích thước từ điển là số lượng điểm đánh dấu tạo từ điển..
  • Kích thước điểm đánh dấu là kích thước của các điểm đánh dấu đó (số bit).

Module aruco bao gồm một số từ điển được xác định trước bao gồm một loạt các kích thước từ điển và kích thước điểm đánh dấu khác nhau. ID của điểm đánh dấu chỉ đơn giản là chỉ mục đánh dấu trong từ điển mà nó thuộc về. Ví dụ: 5 điểm đánh dấu đầu tiên trong từ điển có id: 0, 1, 2, 3 và 4.

Tạo các điểm đánh dấu

Trước khi phát hiện, các điểm đánh dấu cần được in ra để đặt trong môi trường. Hình ảnh điểm đánh dấu có thể được tạo bằng cách sử dụng hàm drawMarker() trong OpenCV.

Nhận diện điểm đánh dấu

Đưa ra một hình ảnh có chứa các điểm đánh dấu ArUco, quá trình phát hiện phải trả về một danh sách các điểm đánh dấu được phát hiện. Mỗi điểm đánh dấu được phát hiện bao gồm:

  • Vị trí của bốn góc của nó trong hình ảnh (theo thứ tự ban đầu của chúng).
  • Id của điểm đánh dấu.      

 

Ước tính vị trí

Điều tiếp theo bạn có thể muốn làm sau khi phát hiện các điểm đánh dấu là lấy được tư thế máy ảnh từ chúng. Để thực hiện ước tính tư thế máy ảnh, bạn cần biết các thông số hiệu chỉnh của máy ảnh. Đây là ma trận camera và hệ số biến dạng. Nếu bạn không biết cách hiệu chỉnh máy ảnh của mình, bạn có thể xem qua hàm calibrateCamera () và hướng dẫn Hiệu chỉnh của OpenCV.

Khi bạn ước tính tư thế với các điểm đánh dấu ArUco, bạn có thể ước tính tư thế của từng điểm đánh dấu riêng lẻ. Tư thế máy ảnh đối với điểm đánh dấu là sự chuyển đổi 3D từ hệ tọa độ điểm đánh dấu sang hệ tọa độ máy ảnh. Nó được chỉ định bởi các vectơ quay rvecs và dịch tvecs. Các tham số này sẽ được sữ dụng để định vị robot bằng bộ lọc Kalman.

Camera, chất lượng hình ảnh thu được từ Camera cũng như Camera đã được hiệu chỉnh chính xác hay chưa.  Ngoài ra do trong quá trình robot di chuyển camera có thể bị rung lắc dẫn đến kết quả thu được không chính xác. Kết quả sau nhiều lần thử nghiệm robot di chuyển cho thấy sai số độ lệch tối đa theo các trục là 50mm và sai số góc xoay tối đa là 1.5 độ.

                                                                    T.S. Trần Thuận Hoàng

 

 

BÀI VIẾT LIÊN QUAN:

Energy-Efficient Unmanned Aerial Vehicle (UAV) Surveillance Utilizing Artificial Intelligence (AI)

Recently, unmanned aerial vehicles (UAVs) have enhanced connectivity and ...

Preparation of Papers in Two Column Format for the ICSES Transactions and Conferences

Today, airports are quickly deploying self-service technologies as a ...

Robot Navigation Using FPGA Based Moving Object Tracking System

The paper describes an object tracking robot system implemented on FPGA. The ...

Trajectory Tracking Control of the Nonholonomic Mobile Robot using Torque Method and Neural Network

This paper deals with the problem of tracking control of the mobile robot with ...