Tải bản đầy đủ (.pdf) (85 trang)

Nghiên cứu thiết kế hệ thống định vị hạ cánh ứng dụng công nghệ thị giác máy tính cho thiết bị bay không người lái

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 (3.59 MB, 85 trang )

ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ
Nghiên cứu thiết kế hệ thống định vị hạ cánh
ứng dụng công nghệ thị giác máy tính cho
thiết bị bay khơng người lái

DƯƠNG ĐÌNH NAM
Ngành Kỹ thuật Điện tử

Giảng viên hướng dẫn:

PGS.TS. Nguyễn Hoàng Hải

Trường:

Điện – Điện tử

HÀ NỘI, 2023


ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ
Nghiên cứu thiết kế hệ thống định vị hạ cánh
ứng dụng công nghệ thị giác máy tính
cho thiết bị bay khơng người lái

DƯƠNG ĐÌNH NAM
Ngành Kỹ thuật Điện tử


Giảng viên hướng dẫn:

PGS.TS. Nguyễn Hoàng Hải
Chữ ký của GVHD

Trường:

Điện – Điện tử

HÀ NỘI, 2023


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn: Dương Đình Nam
Đề tài luận văn: Nghiên cứu thiết kế hệ thống định vị hạ cánh ứng
dụng công nghệ thị giác máy tính cho thiết bị bay khơng người lái
Chun ngành: Kỹ thuật điện tử
Mã số SV: 202364M
Tác giả, Người hướng dẫn khoa học và Hội đồng chấm luận văn xác
nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày
28/4/2023 với các nội dung sau:
- Thay thế các từ tiếng anh thành tiếng việt: camera: máy ảnh, marker:
điểm đánh dấu, pixel: điểm ảnh.
-

Sửa lỗi chính tả và đánh số trang.


-

Bổ sung thêm phần các từ viết tắt.

-

Chỉnh sửa lại chất lượng của một số hình ảnh.

-

Cơ động lại phần lý thuyết chương 1
Ngày

Giáo viên hướng dẫn

PGS.TS. Nguyễn Hoàng Hải

CHỦ TỊCH HỘI ĐỒNG

PGS.TS. Nguyễn Hữu Trung

tháng

năm 2023

Tác giả luận văn

Dương Đình Nam



LỜI CẢM ƠN
Trải qua những năm tháng học tập nghiên cứu tại trường Đại học Bách Khoa
em mới cảm thấy mình được học hỏi rất nhiều điều. Lời đầu tiên em xin gửi lời
cảm ơn đến trường Đại học Bách Khoa nói chung và thầy cơ trong trường Điện –
Điện tử nói riêng đã tạo điều kiện thuận lợi để em được học tập và nghiên cứu để
có thể hồn thành luận văn Thạc sĩ. Và đặc biệt em xin cảm ơn thầy PGS.TS.
Nguyễn Hoàng Hải, thầy TS. Nguyễn Anh Quang cùng tập thể phòng nghiên cứu
IVSR đã hướng dẫn và cùng em nghiên cứu, cung cấp tài liệu, trao đổi để em hồn
thành tốt nghiên cứu của mình.
Em xin chân thành cảm ơn.

Hà Nội, ngày

tháng

năm 2023

Tác giả

Dương Đình Nam


Tóm tắt nội dung luận văn
Luận văn thạc sĩ của em tập trung vào nghiên cứu phương pháp giúp hộ trợ
cho thiết bị bay không người lái hạ cánh an tồn và chính xác sử dụng cơng nghệ
thị giác máy tính, tiến hành triển khai và thử nghiệm trên mơ phỏng và thực tế.
Qua việc nghiên cứu các phương pháp, em đã triển khai thực hiện phương pháp sử
dụng các điểm đánh dấu (marker) như Whycon, ArUco, AprilTag đặt trên mặt đất
để giúp định vị chính xác điểm cần hạ cánh. Cùng với đó là sử dụng bộ điều khiển
vận tốc để điều khiển thiết bị bay hạ cánh. Ngoài ra, một thiết kế gồm một loại các

điểm đánh đấu dưới mặt đất cho phép thiết bị bay có thể hạ cánh an toàn từ các độ
cao khác nhau và trong trường hợp một phần nào đó điểm đánh dấu bị che khuất.
Để thực hiện đề tài này, em đã sử dụng một máy ảnh đơn hướng xuống được gắn
trên thiết bị bay để tiến hành tìm kiếm và xác định điểm đánh dấu. Bộ điều khiển
vận tốc sử dụng thuật toán PID điều khiển vận tốc dựa trên khoảng cách từ thiết bị
bay đến điểm đánh dấu. Các nền tảng phần mềm được sử dụng như: Robot
Operating System, trình mô phỏng Gazebo, firmware điều khiển bay PX4. Tất cả
được thực hiện trên máy tính sử dụng hệ điều hành Ubuntu. Kết quả thu được là
thử nghiệm mô phỏng và thực tế thiết bị bay đã có thể thực hiện hạ cánh an tồn
trên vị trí được đánh dấu. Tuy nhiên, kết quả cũng có những sai số do hạn chế về
thiết bị, thời gian thử nghiệm hay dụng cụ đo đạc. Nếu được tiếp tục phát triển,
luận văn có thể ứng dụng trong các bài toán của thiết bị bay không người lái như
giao và thả hàng tự động đến điểm được đánh dấu, bãi hạ đỗ cho thiết bị bay.

HỌC VIÊN
Ký và ghi rõ họ tên


MỤC LỤC
CHƯƠNG 1. GIỚI THIỆU CHUNG ................................................................. 1
1.1 Đặt vấn đề .................................................................................................. 1
1.2 Tổng quan về thiết bị bay không người lái ................................................ 1
1.3 Định vị dùng thị giác máy tính .................................................................. 3
1.3.1 AprilTag ........................................................................................... 4
1.3.2 ArUco ............................................................................................. 12
1.3.3 Whycon .......................................................................................... 15
1.3.4 Ước tính vị trí ................................................................................. 20
1.4 Phương pháp điều khiển vận tốc .............................................................. 36
CHƯƠNG 2. THIẾT KẾ HỆ THỐNG ............................................................ 39
2.1 Thiết kế điểm hạ cánh .............................................................................. 39

2.1.1 Ưu điểm của các loại điểm đánh dấu ............................................. 39
2.1.2 Bố trí các điểm đánh dấu................................................................ 41
2.2 Thiết kế chương trình ............................................................................... 44
CHƯƠNG 3. MƠ PHỎNG VÀ THỰC NGHIỆM .......................................... 53
3.1 Mô phỏng ................................................................................................. 53
3.1.1 Nền tảng sử dụng ........................................................................... 53
3.1.2 Kịch bản và kết quả mô phỏng ...................................................... 57
3.2 Thử nghiệm thực tế .................................................................................. 61
3.2.1 Thiết bị sử dụng ............................................................................. 61
3.2.2 Kịch bản và kết quả thử nghiệm .................................................... 63
CHƯƠNG 4. KẾT LUẬN ................................................................................. 72
4.1 Kết luận .................................................................................................... 72
4.2 Hướng phát triển của luận văn trong tương lai ........................................ 72
TÀI LIỆU THAM KHẢO ................................................................................. 73


DANH MỤC HÌNH VẼ

Hình 1.1 Một số ứng dụng của thiết bị bay khơng người lái ................................. 2
Hình 1.2 Một số kiểu dáng thiết bị bay không người lái ....................................... 2
Hình 1.3 Một số loại điểm đánh dấu ...................................................................... 4
Hình 1.4 Thẻ AprilTag ........................................................................................... 5
Hình 1.5 Quá trình xử lý ảnh của AprilTag ........................................................... 7
Hình 1.6 AprilTag 2 được phát hiện và giải mã .................................................... 8
Hình 1.7 Bố cục của thẻ AprilTag 21h7 .............................................................. 10
Hình 1.8 Một số kích thước từ điển cho ArUco................................................... 12
Hình 1.9 Quá trình phát hiện và giải mã thẻ ArUco ............................................ 14
Hình 1.10 Quay các bit đã giải mã 90 độ ............................................................. 15
Hình 1.11 Bảng đánh dấu nhiều ArUco ............................................................... 15
Hình 1.12 Điểm đánh dấu Whycon ...................................................................... 16

Hình 1.13 Ảnh hưởng mờ cạnh đối với Whycon ................................................. 19
Hình 1.14 Mơ hình máy ảnh Pinhole ................................................................... 20
Hình 1.15 Mơ tả chuyển từ hệ tọa độ thực tới các hệ tọa độ của máy ảnh .......... 21
Hình 1.16 Một số ví dụ sử dụng việc hiệu chỉnh máy ảnh .................................. 22
Hình 1.17 Mơ tả một điểm trong thế giới thực sử dụng mơ hình Pinhole ........... 23
Hình 1.18 Mô tả phép chuyển giữa các hệ tọa độ ................................................ 23
Hình 1.19 Mơ tả mối quan hệ của hai điểm trong hai mặt phẳng ........................ 24
Hình 1.20 Mơ tả chuyển đổi hệ tọa độ homography ............................................ 26
Hình 1.21 Trục tọa độ và góc quay trên thiết bị bay ............................................ 33
Hình 1.22 Phép tịnh tiến giữa hai hệ tọa độ ......................................................... 34
Hình 1.23 Phép xoay các trục tọa độ ................................................................... 34
Hình 1.24 Chuyển đổi hệ tọa độ kết hợp phép xoay và tịnh tiến ......................... 35
Hình 1.25 Các hệ tọa độ được sử dụng khi thực hiện chuyến bay....................... 35
Hình 1.26 Hệ thống điều khiển có phản hồi ........................................................ 36
Hình 1.27 Tổng quan về toàn bộ hệ thống PID ................................................... 37
Hình 1.28 Phản hồi bước đơn vị điển hình .......................................................... 37
Hình 2.1 So sánh phát hiện khoảng cách của một AprilTag và ArUco ............... 39
Hình 2.2 So sánh phát hiện khoảng cách của hai AprilTag và ArUco ................ 40


Hình 2.3 So sánh khả năng phát hiện thẻ bị ảnh hưởng bới chuyển động........... 40
Hình 2.4 Khả năng phát hiện của thẻ ArUco và AprilTag .................................. 41
Hình 2.5 Điểm hạ cánh được sử dụng cho độ cao trên 20m ................................ 42
Hình 2.6 Điểm hạ cánh trong điều kiện có thể bị che khuất ................................ 43
Hình 2.7 Các giai đoạn trong khi hạ cánh............................................................ 44
Hình 2.8 Các thành phần trong hệ thống ............................................................. 46
Hình 2.9 Kiến trúc của chương trình ................................................................... 46
Hình 2.10 Sơ đồ xử lý tuần tự khi bắt đầu nhận tín hiệu hạ cánh........................ 47
Hình 2.11 Q trình gửi vị trí tới bộ chuyển đổi ................................................. 48
Hình 2.12 Q trình tính tốn vận tốc ................................................................. 49

Hình 2.13 Tính vận tốc theo vị trí đo lường ........................................................ 50
Hình 2.14 Tính vận tốc theo vị trí ước tính được ................................................ 50
Hình 2.15 Mơ tả đầu vào của bộ PID .................................................................. 51
Hình 3.1 Q trình truyền thơng của hai node thơng qua ROS Master ............... 54
Hình 3.2 Truyền nhận dữ liệu qua topic .............................................................. 55
Hình 3.3 Khung cảnh mơ phỏng trên giao diện của Gazebo ............................... 56
Hình 3.4 Vị trí bắt đầu của UAV trong môi trường mô phỏng ........................... 58
Hình 3.5 Hiển thị các thơng số khởi tạo và trạng thái ......................................... 58
Hình 3.6 Quá trình hạ cánh ở độ cao 20m trong mơ phỏng ................................ 59
Hình 3.7 Q trình hạ cánh ở độ cao 15m trong mơ phỏng ................................ 60
Hình 3.8 Vị trí kết thúc hạ cánh trong mơ phỏng ở độ cao 15m ......................... 60
Hình 3.9 Khung Tarot Iron Man 650 ................................................................... 61
Hình 3.10 HolyBro Pixhawk 6 ............................................................................ 61
Hình 3.11 Jetson Xavier NX ................................................................................ 61
Hình 3.12 Depth Camera D455 ........................................................................... 61
Hình 3.13 Điểm hạ cánh thực tế .......................................................................... 62
Hình 3.14 Thiết bị bay thực tế ............................................................................. 63
Hình 3.15 Vị trí xuất phát của UAV .................................................................... 63
Hình 3.16 Độ cao của UAV trong thực nghiệm .................................................. 64
Hình 3.17 Phát hiện Whycon tại độ cao 20m ...................................................... 64
Hình 3.18 Phát hiện whycon khi chuyển động .................................................... 65
Hình 3.19 ArUco được phát hiện tại độ cao 7m .................................................. 65


Hình 3.20 Phát hiện AprilTag ở độ cao 3m ......................................................... 66
Hình 3.21 UAV tiếp cận ở trên điểm hạ cánh và ở độ cao 1m ............................ 66
Hình 3.22 Vị trí của UAV sau khi hạ cánh .......................................................... 67
Hình 3.23 Qũy đạo vị trí theo thời gian ............................................................... 67
Hình 3.24 Qũy đạo di chuyển trong khơng gian 3D ............................................ 68
Hình 3.25 Vị trí của UAV lúc kết thúc chương trình trong khơng gian 3D ........ 68

Hình 3.26 Điểm xuất phát ban đầu và điểm hạ cánh bị che khuất ....................... 69
Hình 3.27 Độ cao của UAV với điểm hạ cánh bị che khuất ................................ 69
Hình 3.28 Qũy đạo của UAV tại độ cao 8m trong thực nghiệm.......................... 69
Hình 3.29 Phát hiện Whycon với điểm hạ cánh bị che khuất .............................. 70
Hình 3.30 Phát hiện ArUco và AprilTag với điểm hạ cánh bị che khuất ............ 70
Hình 3.31 UAV hạ cánh trên điểm đánh dấu bị che khuất .................................. 70
Hình 3.32 Qũy đạo UAV trong khơng gian 3D ................................................... 71
Hình 3.33 Vị trí của UAV trong hệ trục thời gian ............................................... 71


DANH MỤC BẢNG BIỂU

Bảng 1.1 Ảnh hưởng của việc tăng một tham số độc lập .................................... 38
Bảng 3.1 Mô tả kịch bản bay với độ cao 20m ..................................................... 57
Bảng 3.2 Mô tả kịch bản bay với độ cao 15m ..................................................... 59


DANH MỤC CÁC TỪ VIẾT TẮT

GPS

Global Positioning System

UAV

Unmanned Aerial Vehicles

CPU

Central Processing Unit


GPU

Graphics Processing Unit

DOF

Degrees of Free

ID

Identification

PID

Proportional–Integral–Derivative

FOV

Field of View

ENU

East-North-Up

ROS

Robot Operating System



CHƯƠNG 1. GIỚI THIỆU CHUNG
1.1 Đặt vấn đề
Với việc xác định vị trí của thiết bị bay khơng người lái phổ biến nhất là sử
dụng hệ thống định vị toàn cầu hay GPS (Global Positioning System), nhưng
phương pháp này thường khơng chính xác trong các trường hợp: mơi trường mất
sóng, sóng kém hoặc khơng ổn định do bị chắn bởi các tịa nhà cao tầng hay khu
vực thu sóng kém, thời tiết không tốt dẫn đến số lượng vệ tinh có thể bắt được tín
hiệu ít. Điều này làm cho thiết bị bay khơng người lái có thể hạ cánh tại những
điểm khơng mong muốn dẫn đến có thể gây ra tai nạn. Do đó, các nghiên cứu liên
quan tới việc định vị nhằm hỗ trợ hạ cánh cho thiết bị bay khơng người lái ngày
càng phát triển. Vì vậy, việc nghiên cứu các ứng dụng phát triển trên thiết bị bay
không người lái hỗ trợ hạ cánh là cần thiết. Với sự phát triển không ngừng của
khoa học máy tính, đề tài đã thực hiện nghiên cứu bài tốn ứng dụng thị giác máy
tính để định vị nhằm giúp hạ cánh cho thiết bị không người lái.
1.2 Tổng quan về thiết bị bay không người lái
Thiết bị bay không người lái – Unmanned Aerial Vehicles (viết tắt là UAV)
là tên gọi chỉ chung cho các loại máy bay mà khơng có người lái ở buồng lái, hoạt
động tự lập và được điều khiển từ xa, từ trung tâm hay máy tính điều khiển [1].
Máy bay khơng người lái thường có nhiều loại và kích thước, được sử dụng
cho nhiều mục đích khác nhau (Hình 1.1):
- Mục tiêu và mồi nhử: phương tiện bay không người lái được tạo ra để mô
phỏng máy bay hoặc tên lửa của đối phương, trở thành mục tiêu cho hệ thống súng,
pháo mặt đất và trên không.
- Trinh sát: phương tiện bay không người lái được dùng để cung cấp thơng
tin tình báo chiến trường.
- Chiến đấu: phương tiện bay không người lái được dùng để tạo ra khả năng
tấn công cho các nhiệm vụ có độ rủi ro cao, được gọi là Unmanned Combat Aerial
Vehicle.
- Vận tải: phương tiện bay không người lái được dùng trong khâu vận chuyển
hàng hóa tự động trong chuỗi các hoạt động của dịch vụ vận tải.

- Nghiên cứu và phát triển: phương tiện bay không người lái được sử dụng
để nghiên cứu cải tiến công nghệ, phát triển các cơng nghệ mới. Từ đó, áp dụng
lên các phương tiện bay không người lái thế hệ tiếp theo.
- Dân dụng và thương mại: phương tiện bay không người lái được sử dụng
trong nông nghiệp, chụp ảnh, quay phim trên không, cứu hộ, an ninh, khảo sát, thu
thập dữ liệu, lập bản đồ.

1


a. Nơng nghiệp

b. Giao hàng

c. Qn sự

Hình 1.1 Một số ứng dụng của thiết bị bay không người lái

Về kiểu dáng có các loại thơng dụng như [2] (xem Hình 1.2):

a. Nhiều cánh quạt

b. Cánh cố định

c. Một cánh quạt

d. Cất hạ cánh thẳng đứng

Hình 1.2 Một số kiểu dáng thiết bị bay không người lái


Máy bay không người lái nhiều cánh quạt (Multi-Rotor Drones): là lựa chọn
dễ dàng nhất và rẻ nhất để có được một thiết bị bay khơng người lái. Chúng được
gọi là nhiều động cơ vì chúng có nhiều hơn một động cơ: 3 động cơ (tricopter), 4
động cơ (quadcopters), 6 động cơ (hexacopters) và 8 động cơ (octocopters). Cho
đến nay, quadcopters là loại máy bay không người lái nhiều cánh quạt phổ biến
nhất.
Máy bay không người lái cánh cố định (Fixed-Wing Drones): có một cánh
cứng được thiết kế để hoạt động giống như một chiếc máy bay, cung cấp lực nâng
thay vì cánh quạt nâng thẳng đứng. Do đó, loại máy bay khơng người lái này chỉ
cần năng lượng để di chuyển về phía trước chứ khơng cần giữ mình trên khơng.
Điều này làm cho chúng tiết kiệm năng lượng.
Các loại máy bay không người lái một cánh quạt (Single-Rotor Drones): rất
mạnh và bền, chúng trông giống với máy bay trực thăng thực tế về cấu trúc và thiết
kế. Một cánh quạt đơn chỉ có một cánh quạt, giống như một cánh quay lớn, cộng
với một cánh quạt đuôi để điều khiển hướng và độ ổn định.
2


Các loại máy bay không người lái lai cất hạ cánh thẳng đứng (Fixed-Wing
Hybrid VTOL): kết hợp những lợi ích của thiết kế cánh cố định và cánh quạt. Loại
máy bay khơng người lái này có các cánh quạt gắn vào các cánh cố định, cho phép
nó bay lơ lửng và cất cánh, hạ cánh theo phương thẳng đứng. Loại hybrid mới này
chỉ có một số ít trên thị trường. Một ví dụ như máy bay khơng người lái giao hàng
Prime Air của Amazon.
Trong luận văn này, máy bay không người lái nhiều cánh quạt được chọn để
thực hiện trong việc nghiên cứu, thiết kế hệ thống hạ cánh trong cả mô phỏng và
thực nghiệm. Do khả năng cơ động, giá thành rẻ, nó có thể di chuyển lên và xuống
trên cùng một đường thẳng đứng, lùi ra trước, từ bên này sang bên kia và quay
theo trục của chính nó. Hoạt động trong nhiều mơi trường hơn so với các máy bay
khơng người lái khác vì chúng khơng u cầu thêm khơng gian để cất và hạ cánh.

Có khả năng bay lại gần hơn nhiều với các cấu trúc hạ tầng và tòa nhà.
1.3 Định vị dùng thị giác máy tính
Một UAV được trang bị rất nhiều cảm biến (hồng ngoại, áp suất, GPS, …)
để có thể hoạt động được, mỗi cảm biến đều có nhưng vai trị và đặc điểm riêng.
GPS là một trong những cảm biến chính, sử dụng tín hiệu thu được từ các vệ tinh
để tính tốn ra vị trí hiện tại của UAV trong hệ tọa độ thế giới hoặc hệ tọa độ xuất
phát ban đầu của nó. Thơng thường, việc di chuyển hay hạ cánh của thiết bị bay
đều dựa vào tín hiệu từ GPS. Nhưng trong một số trường hợp, tín hiệu GPS sẽ bị
gián đoạn, mất khi bay trong môi trường thành phố hoặc bay thấp dưới các tòa nhà
cao tầng. Việc này làm cho thiết bị bay khi đang trong q trình hạ cánh sẽ hạ sai
vị trí dẫn đến nhưng sự cố hỏng hóc về thiết bị cũng như nguy hiểm cho con người
gần đó.
Hiện nay, với sự phát triển mạnh mẽ của các bộ xử lý CPU và GPU có rất
nhiều nhân, ngày càng hiện đại giúp tăng tốc độ xử lý ảnh, giải quyết các bài toán
phức tạp u cầu nhiều đến khả năng tính tốn của phần cứng. Do vậy, thị giác
máy tính với yêu cầu khả năng tính tốn cao mà trước đây gặp nhiều khó khăn u
cầu xử lý, thì hiện tại đã có rất nhiều ứng dụng được triển khai và một trong số đó
là ứng dụng trên máy bay khơng người lái:
- Điều khiển để tránh các chướng ngại vật.
- Theo dõi nhận dạng mục tiêu, tìm kiếm cứu nạn từ trên cao.
- Quan trắc, thu thập dữ liệu lập bản đồ.
- Hỗ trợ hạ cánh.
Trong các ứng dụng trên, với phương pháp hỗ trợ hạ cánh sử dụng thị giác
máy tính có ưu điểm về giá thành rẻ, trọng lượng thêm vào nhẹ, rất phù hợp và có
thể được thực hiện bằng một máy ảnh và một điểm đánh dấu dưới mặt đất hay còn
gọi là marker.
Điểm đánh dấu được sử dụng để ước tính ra vị trí của nó so với máy ảnh đã
được ứng dụng rất rộng dãi trong theo dõi đối tượng, định vị, thực tế ảo và các ứng
dụng trong lĩnh vực robotics. Áp dụng nó vào trong việc hỗ trợ hạ cánh sẽ có thể
giải quyết được vấn đề về sai số GPS như đề cập đến ở trên. Do vậy, trong luận

3


văn này, một hệ thống tham chiếu sử dụng các điểm đánh dấu sẽ được nghiên cứu
và thiết kế để hỗ trợ cho việc định vị và hạ cánh.
Các điểm đánh dấu đã được thiết kế để dễ dàng có thể phát hiện được từ việc
trích xuất các đặc điểm về hình dạng của chúng ngày cả khi nó ở độ phân giải rất
thấp, ánh sáng không đều, bị xoay một cách kỳ lạ hoặc nằm trong một mơi trường
hình ảnh lộn xộn (xem Hình 1.3).

Hình 1.3 Một số loại điểm đánh dấu

Kiểu điểm đánh dấu phổ biến nhất thường được sử dụng là hình vng có hai
màu đen trắng như ArUco hay AprilTag, các mã nhị phân đen trắng đã được mã
hóa thêm vào trong điểm đánh dấu để tăng khả năng phát hiện, xác định chính xác
thẻ, cũng như thêm các tính năng phát hiện và sửa lỗi. Mỗi loại điểm đánh dấu đều
di kèm với một bộ phát hiện (hay còn được gọi là bộ Detector) và hệ thống mã hóa
của riêng nó để phát hiện và định vị. Sau khi điểm đánh dấu này được phát hiện
bởi máy ảnh, cùng với kích thước của điểm đánh dấu đã biết từ trước, nó cho phép
chúng ta có thể trích xuất được hướng và vị trí giữa máy ảnh với điểm đánh dấu
dựa trên việc tìm kiếm sự tương ứng giữa các điểm trong môi trường thực và phép
chiếu hình ảnh 2D của chúng. Từ vị trí này, chúng ta có thể thơng qua các phép
biến đổi giữa các hệ trục tọa độ có thể lấy được vị trí của UAV so với điểm đánh
dấu. Vị trí này sau đó được làm đầu vào cho bộ điều khiển của UAV để sinh ra tín
hiệu điều khiển tiếp cận và hạ cánh trên nó. Với các việc làm như trên (xác định
điểm đánh dấu, ước tính vị trí, chuyển đổi hệ tọa độ, điều khiển UAV), chúng ta
hoàn toàn có thể tạo ra một hệ thống hỗ trợ hạ cánh sử dụng thị giác máy tính.
Ba kiểu điểm đánh dấu là AprilTag, ArUco, Whycon được sử dụng trong
luận văn do tính phổ biến và ưu điểm của chúng như được trình bay sau đây.
1.3.1 AprilTag

Đầu tiên, AprilTag là một hệ thống các thẻ sử dụng cho thị giác máy tính
được nghiên cứu và phát triển bởi University of Michigan nhằm cung cấp độ chính
xác cao, giá thành thấp cho các ứng dụng robot khác nhau. Chúng là một loại mã
hai chiều, có hệ thống mã hóa mạnh mẽ được thiết kế với dữ liệu mã hóa nhỏ, cho
phép định vị đầy đủ 6 bậc tự do (Degrees of Free െDOF) từ các chi tiết của duy
nhất một hình ảnh với độ chính xác cao kể cả trong các trường hợp mặt thẻ bị cong
vênh hay méo của ống kính máy ảnh [3].
AprilTag hiện nay đã có 3 phiên bản, với phiên bản 2 có cơ chế mã hóa khơng
đổi nhưng thiết kế lại bộ phát hiện thẻ để tăng khả năng phát hiện, giảm thời gian
tính tốn, tăng độ chính xác và hiệu quả [4].

4


1.3.1.1. AprilTag 1
AprilTag 1 [3] có bộ phát hiện thẻ sẽ cố dị tìm các vùng có bốn mặt hay cạnh
(quads) có phần bên trong tối hơn phần bên ngồi của chúng. Do vậy, bản thân các
thẻ AprilTag nên có viền đen và trắng để tạo điều kiện thuận lợi cho việc này (Hình
1.4). Bộ phát hiện 4 cạnh hay gọi là quads này cũng được thiết kế để có tỷ lệ âm
tính giả rất thấp và do đó có mà tỷ lệ dương tính giả cao. Vì vậy AprilTag đã sử
dụng một hệ thống mã hóa đặc biệt để làm giảm tỷ lệ dương tính giả này xuống
mức hữu ích.

Hình 1.4 Thẻ AprilTag

Quá trình để phát hiện thẻ bao gồm một số giai đoạn như sau:
Phát hiện các phân đoạn đường thẳng: bằng cách tính tốn độ dốc hay hướng sáng
(gradient) và độ lớn (magnitude) ở mỗi điểm ảnh sau đó thực hiện phân cụm các
điểm ảnh thành các thành phần có hướng và độ dốc tương tự nhau. Thuật toán phân
cụm được sử dụng ở đây tương tự như phương pháp dựa trên đồ thị của

Felzenszwalb (một biểu đồ được tạo trong đó mỗi nút đại diện cho 1 điểm ảnh).
Các cạnh được thêm vào giữa các điểm ảnh liền kề với trọng số cạnh bằng với sự
khác biệt của các điểm ảnh theo hướng dốc. Sau đó, các cạnh này được sắp xếp và
xử lý theo cách tăng trọng số cạnh. Đối với mỗi cạnh, kiểm tra xem tại các thành
phần được kết nối chứa các điểm ảnh có nên được nối với nhau hay khơng. Ví dụ,
một thành phần n sẽ được biểu thị có hướng độ dốc là D(n) và độ lớn mà M(n)
(gradient và magnitudes). D(n) và M(n) là các giá trị vô hướng biểu thị sự khác
biệt giữa các giá trị lớn nhất và nhỏ nhất của hướng và độ lớn tương ứng. Hai thành
phần n và m được nối lại với nhau nếu thỏa mãn cả hai điều kiện như bên dưới
(1.1):

D n ‰ m
d min D n
, D m

 K D / n ‰ m

M n ‰ m
d min M n
, M m

 K M / n ‰ m

PT 1.1

Các giá trị nhỏ của D() và M() biểu thị các thành phần có ít biến thể bên trong
nó. Hai cụm được liên kết với nhau nếu liên kết của chúng gần như đồng nhất như
các cụm được thực hiện riêng lẻ. Sự gia tăng ít trong biến thể bên trong thành phần
được cho phép thông qua các tham số KD và KM. Tuy nhiên, điều này nhanh chóng
thu hẹp lại khi các thành phần trở nên lớn hơn. KD = 100 và KM = 1200 được sử

dụng, mặc dù thuật toán hoạt động tốt trên nhiều giá trị. Vì lý do hiệu suất, trọng
5


số cạnh được lượng tử hóa và lưu trữ dưới dạng số điểm cố định. Điều này cho
phép các cạnh được sắp xếp bằng cách sử dụng các thuật toán sắp xếp, thuật tốn
tìm kiếm như Unionfind với các giới hạn trên và dưới của hướng và độ dốc được
lưu trữ trong một mảng đơn giản được lập chỉ mục bởi mỗi thành viên đại diện của
thành phần.Do phương pháp phân cụm dựa trên độ dốc này rất nhạy cảm với nhiễu
trong ảnh, ngay cả lượng nhiễu vừa phải cũng sẽ khiến các hướng độ dốc cục bộ
thay đổi, cản trở sự phát triển của các thành phần. Giải pháp cho vấn đề này là bộ
phát hiện AprilTag đã sử dụng bộ lọc thông thấp với giá trị σ = 0.8 được đề xuất
để không làm mờ các thông tin hữu ích của ảnh.
Sau khi phân cụm hồn tất, các đoạn đường sẽ khớp với từng thành phần
được kết nối bằng cách sử dụng bình phương nhỏ nhất (least-squares), tính trọng
số từng điểm theo độ dốc của nó, điều chỉnh từng đoạn đường sao cho phần tối của
đường nằm bên trái và phần sáng nằm bên phải của nó. Thuật toán phân đoạn là
giai đoạn chậm nhất trong sơ đồ phát hiện thẻ. Vì vậy có thể tùy chọn phân đoạn
này được thực hiện ở một nửa độ phân giải hình ảnh với tốc độ cải thiện sẽ gấp 4
lần. Nhưng hệ quả của việc tối ưu hóa này là phạm vi phát hiện giảm đi một chút
do các ô vng rất nhỏ có thể khơng cịn được phát hiện nữa.
Phát hiện ơ hình vng: Tại thời điểm này, đã một tập hợp các đoạn đường thẳng
có hướng đã được tính tốn. Nhiệm vụ tiếp theo là tìm chuỗi các đoạn thẳng tạo
thành hình 4 cạnh (tức là hình tứ giác). Với cách tiếp cận dựa trên tìm kiếm đệ quy
theo chiều sâu (thuật toán Recursive Depth-first search) với độ sâu được chọn là
bốn, tương ứng với mỗi cấp của cây tìm kiếm sẽ thêm một cạnh vào tứ giác. Ở độ
sâu đầu, xem xét tất cả các đoạn đường. Ở độ sâu từ hai đến bốn, xem xét tất cả
các đoạn đường bắt đầu đủ gần với điểm kết thúc của đoạn đường trước đó và tuân
theo thứ tự ngược chiều kim đồng hồ không. Độ chắc chắn đối với các lỗi phân
đoạn và che chắn được xử lý bằng cách điều chỉnh ngưỡng: với ngưỡng lớn có thể

xử lý các khoảng trống đáng kể xung quanh các cạnh. Ngưỡng đủ gần được xác
định là gấp đôi chiều dài của đường thẳng cộng với năm điểm ảnh bổ sung. Đây là
một ngưỡng lớn dẫn đến tỷ lệ âm tính giả thấp, nhưng cũng dẫn đến tỷ lệ dương
tính giả cao. Khi bốn đoạn thẳng đã được tìm thấy, một ứng cử viện quad được tạo
ra. Các góc của hình tứ giác này là giao điểm của các đường tạo nên nó. Do các
đường khớp với nhau bằng cách sử dụng dữ liệu từ nhiều điểm ảnh nên các ước
tính góc này chính xác đến một phần nhỏ của điểm ảnh.
Giải mã dữ liệu: nhiệm vụ cuối cùng là đọc các bit đã đượ mã hóa. Thực hiện điều
này bằng cách tính tốn tọa độ tương đối của thẻ của từng trường bit, chuyển đổi
chúng thành tọa độ hình ảnh bằng cách sử dụng phương pháp homography và sau
đó tạo ngưỡng cho các điểm ảnh thu được. Sử dụng ngưỡng thay đổi theo khơng
gian để chính xác với độ sáng sáng (có thể thay đổi khơng chỉ từ thẻ này sang thẻ
khác mà còn trong thẻ). Cụ thể là xây dựng mơ hình thay đổi theo khơng gian về
cường độ của các điểm ảnh đen và mơ hình về cường độ của các mơ hình trắng
(1.2):

I x, y

×