- Thiết kế được một mô hình thị giác và điểu khiển robot tự động thu gom bóng bàn dựa trên mô hình deep learning YOLO và một số kỹ thuật xử lý ảnh phát hiện vật thể trong khung hình mà ở
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOAKHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
THIẾT KẾ MÔ HÌNH THỊ GIÁC
VÀ ĐIỀU KHIỂN CHO ROBOT
TỰ ĐỘNG THU GOM BÓNG BÀN
Hội đồng : Khoa học Máy tính 5Tập thể hướng dẫn : TS Nguyễn An Khương
TS Trần Tuấn AnhThS Lê Nhật Quang
KS Huỳnh Hoàng KhaGiảng viên phản biện : TS Nguyễn Tiến ThịnhSinh viên thực hiện : Nguyễn Đăng Hà Nam
TP Hồ Chí Minh, Tháng 8/2021
Trang 2KHOA:KH & KT Máy tính 1+,ӊ09Ө/8Ұ1È17Ӕ71*+,ӊ3
%Ӝ0Ð1 KHMT Chú ý: Sinh viên pK̫LGiQWͥQj\YjRWUDQJQK̭WFͯDE̫QWKX\͇WWUình
+Ӑ9¬7Ç1 NguyӉQĈăQJ+à Nam MSSV: 1710195
NGÀNH: Khoa hӑFMáy tính /Ӟ3 MT17KH02
ĈҫXÿӅOXұQ văQ: ThiӃWNӃPô hình thӏJLác và ÿLӅXNKLӇQFKRURERWWӵÿӝQJWKXJRP
bóng bàn (Design vision and navigation models for the autonomous
ping-pong collecting robot)
1KLӋPYө\rXFҫXYӅQӝLGXQJYjVӕOLӋXEDQÿҫX
i) Tìm hiӇXnӅQWҧQJURERWLFVYà tìm hiӇXhӋWKӕQg phҫQFӭQJ phiên bҧQ Alpha và tұSOӋQKÿLӅXNKiӇQ robot do TickLab thiӃWNӃ
ii) Cùng vӟL7LFN/Db tham gia nâng cҩSSKҫQFӭQJ lên phên bҧn Beta
iii) 1JKLrQFӭXYjÿӅ[XҩWP{KuQKWKӏJLiFYjÿLӅX khLӇQFKRURERWWӵÿӝQJWKXJRPEyQJEjQ iv) Nghiên cӭu và ÿӅ[XҩWFác phѭѫQJSKáp giҧLTX\ӃWFác bài toán ÿһWUDFKRmô hình thӏJLác
thiӃWNӃPô hình và mô phӓQJ cho robot
x HXǤQK+Ràng Kha, Ĉ+% HѭӟQJGүQkiӃQWKӭF phҫn cӭng robot
Trang 3x SVTH có QăQJOӵFWӕWFyNKҧQăQJWӵKӑFYjWLQKWKҫQOjPYLӋFÿӝFOұSUҩWFDR
x 697+QҳPYӳQJNLӃQWKӭFQӅQWҧQJNLӃQWKӭFOLrQQJjQKNӻWKXұWYjFiFF{QJQJKӋFyOLrQTXDQÿӇWKLӃWNӃÿѭӧFP{KuQKWKӏJLiFYjÿLӅXNKLӇQFKRURERWWӵÿӝQJWKXJRPEyQJEjQ
x ӃWTXҧÿҥWÿѭӧFFӫD/9FyêQJKƭDWKӵFWLӉQSKKӧSYӟLPөFWLrXYjJLӟLKҥQSKҥPYLÿӅWjLÿһWUDEDQÿҫXYjFyWKӇWUuQKEj\ÿѭӧFӣKӝLWKҧRFKX\rQQJjQK
1KӳQJWKLӃXVyWFKtQKFӫD/971
Robot FKѭDÿѭӧc kiӇm tra trên thӵc tӃ nhiӅu lҫn ÿӇ ÿҧm bҧo tính әn ÿӏnh cӫa sҧn phҭm
ĈӅ nghӏĈѭӧc bҧo vӋ 🗹 %әVXQJWKrPÿӇEҧRYӋƑ K{QJÿѭӧFEҧRYӋƑ
0ӝWVӕFkXKӓL69SKҧLWUҧOӡLWUѭӟF+ӝLÿӗQJKhông có (69Vͅÿ˱ͫFK͗LWUFWL͇SWUrQ+Ĉ)
ĈiQKJLiFKXQJEҵQJFKӳJLӓLNKi7% *LӓL ĈLӇP9.9/10
.êWrQJKLU}KӑWrQ
Trang 4Ngày 11 tháng 08 năm 2021
PHIẾU CHẤM BẢO VỆ LVTN
(Dành cho người hướng dẫn/phản biện)
1 Họ và tên SV: Nguyễn Đăng Hà Nam
MSSV: 1710195 Ngành (chuyên ngành): Khoa học Máy tính
2 Đề tài: Thiết kế mô hình thị giác và điều khiển cho robot tự động thu gom bóng bàn
3 Họ tên người hướng dẫn/phản biện: Nguyễn Tiến Thịnh
4 Tổng quát về bản thuyết minh:
- Số bản vẽ vẽ tay Số bản vẽ trên máy tính:
6 Những ưu điểm chính của LVTN:
- Luận văn trình bày bố cục rõ ràng Nội dung rất chi tiết, phong phú và mạch lạc Hầu như không
có lỗi chính tả hoặc rất ít
- Thiết kế được một mô hình thị giác và điểu khiển robot tự động thu gom bóng bàn dựa trên mô hình deep learning YOLO và một số kỹ thuật xử lý ảnh phát hiện vật thể trong khung hình mà ở đây
là các trái bóng bàn và sân tập bóng bàn Sản phẩm có ý nghĩa thực tiễn và kinh tế cao
- Cơ chế hoạt động của robot có cải tiến so với một số loại robot khác như có tính toán sensitive area giúp robot rẽ hướng và di chuyển tránh được vật cản
- Có thử nghiệm và đánh giá so sánh các công trình nghiên cứu liên quan
7 Những thiếu sót chính của LVTN:
- Một số tên hàm số còn dễ gây hiểu lầm như artan2
- Một số hình ảnh bị mờ như hình 4.9, 6.32, 6.33, 6.34, v.v
- Data train chứa bóng nhưng phong nền còn chưa phù hợp với thực tế sân tập
- Chương tổng kết và hướng phát triển quá ngắn cần bổ sung thêm
- Thiếu phần thử nghiệm robot trên hiện trường sân tập bóng
8 Đề nghị: Được bảo vệ Bổ sung thêm để bảo vệ Không được bảo vệ
9 3 câu hỏi SV phải trả lời trước Hội đồng:
a Giải thích ý nghĩa hệ số gamma trong công thức 6.16 tính f_att và lý do các giá trị được thử
nghiệm lần lượt là 3,4,4.5, 5, 5.5, 6, 7
b Khi có banh nằm ngay sát chướng ngại vật như chân bàn thì do cách tính sensitive area, robot sẽ
né chân bàn Hiệu quả nhặt bóng khi đó sẽ như thế nào?
c Kết quả phương pháp lập đường di chuyển của robot trong bảng 6.12 chỉ được thử nghiệm 10 lần,như vậy kết quả thu được có đủ để nhận xét là “khá cao” so với kết quả thử nghiệm ở các công trìnhnghiên cứu liên quan không? Nếu đem vào sản xuất đại trà thì nên thử nghiệm bao nhiêu lần là đủ (chỉ cần cho ý kiến)?
10 Đánh giá chung (bằng chữ: giỏi, khá, TB): giỏi Điểm: 9,8/10
Ký tên (ghi rõ họ tên)
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướngdẫn của TS Nguyễn An Khương, TS Trần Tuấn Anh, ThS Lê Nhật Quang,
và KS Huỳnh Hoàng Kha Tất cả những nội dung nghiên cứu và trình bàytrong luận văn là trung thực và chưa từng được công bố trước đây Trongluận văn có sử dụng số liệu và dẫn chứng từ nhiều nguồn khác nhau sẽ đượcchỉ rõ trong phần trích dẫn tài liệu tham khảo Nếu phát hiện bất kỳ sựgian lận nào, tôi xin chịu hoàn toàn trách nhiệm đối với luận văn của mình.Trường Đại học Bách Khoa và tập thể hướng dẫn không liên quan đến bất
kỳ vi phạm về tác quyền và bản quyền do tôi gây ra trong quá trình thựchiện luận văn
Trang 6Những lời cảm ơn đầu tiên tôi xin chân thành gửi đến thầy tôi, thầy Nguyễn
An Khương Cho đến hiện tại, thầy là một trong hai người thầy đã đưa cuộcđời tôi sang một chương mới Thầy đã dạy cho tôi rất nhiều thứ về học thuật,viết lách, thái độ, và kinh nghiệm sống Hơn nữa, thầy còn động viên và hỗtrợ kịp thời vào những thời điểm tôi khó khăn và chệch hướng Tôi nhậnthấy rằng tôi của hiện tại và một năm trước đó đã có sự trưởng thành rấtlớn, phần nhiều là nhờ may mắn được làm luận văn dưới sự hướng dẫn củathầy Tôi tin chắc rằng đây là bước ngoặt và là bước khởi đầu chắc chắn chonhững chặng đường tiếp theo của mình Một lần nữa, tôi xin gửi lời cảm ơn
và biết ơn sâu sắc tới thầy tôi
Tôi cũng xin gửi lời cảm ơn đến các thầy Trần Tuấn Anh, thầy Nguyễn TiếnThịnh đã có những góp ý và chỉ bảo để tôi có thể hoàn thiện luận văn này.Ngoài ra, tôi xin gửi lời cảm ơn đến anh Lê Nhật Quang, anh đã có nhữnghướng dẫn sâu sắc và hỗ trợ kinh phí để tôi có thể làm luận văn Thêm vào
đó, tôi xin cảm ơn đến anh Huỳnh Hoàng Kha, anh không chỉ giúp đỡ tôihoàn thiện phần cứng mà còn chỉ dạy những nguyên tắc, kinh nghiệm khilàm sản phẩm cũng như những vấn đề cuộc sống
Tiếp theo, tôi xin gửi lời cảm ơn sâu sắc đến gia đình tôi Gia đình đãluôn động viên, hỗ trợ cho tôi có thể yên tâm nghiên cứu và hoàn thiện luậnvăn này Ngoài ra, tôi cũng xin cảm ơn chân thành đến bạn gái tôi, Trúc Ly.Chúng tôi đã giúp đỡ lẫn nhau và đã đồng hành cùng nhau suốt những nămtháng đại học Em đã động viên và góp ý để tôi có thể hoàn thiện bản thânmình cũng như luận văn này Dù một lời cảm ơn có thể không đủ, nhưng tôivẫn sẽ gửi lời cảm ơn chân thành đến em
Thêm vào đó, tôi xin gửi lời cảm ơn đến các anh Nguyễn Văn Tường,Văn Minh Hào, các bạn Nguyễn Đức Phú, Nguyễn Hữu Hồng Huy, và tậpthể TickLab đã có những hỗ trợ và góp ý giúp tôi hoàn hiện luận văn củamình Ngoài ra, tôi xin cảm ơn đến các anh, các bạn, và các em đã có nhữngcâu hỏi về luận văn này, điều đó đã góp phần giúp tôi hoàn thiện luận văn.Cuối cùng, tôi xin gửi lời cảm ơn đến nhóm “GẮT”, những người bạn tuyệtvời trong khoảng thời gian đại học
Trang 7TÓM TẮT LUẬN VĂN
Bóng bàn là môn thể thao có từ lâu đời và khá phổ biến ở Việt Nam cũngnhư trên thế giới Sau mỗi phiên tập luyện, những trái bóng sẽ rơi đầy khắpsân, người tập sẽ phải tiến hành thu gom bóng Đây là một công việc vất vả
và không có tính chuyên môn, trong khi người tập có thể dành thời gian này
để nghỉ ngơi cho phiên tập tiếp theo Để giải quyết vấn đề trên và giúp nângcao chất lượng buổi tập, sinh viên thực hiện nghiên cứu và thiết kế mô hìnhthị giác và điều khiển cho robot (đã được phát triển phần cứng) tự động thugom bóng bàn sau mỗi phiên tập Trong luận văn này, sinh viên thực hiện đãgiải quyết được các bài toán đặt ra cho robot như phát hiện trái bóng bàntrong ảnh, ước tính vị trí bóng, lập đường di chuyển cho robot, và tránh cácvật cản trên đường di chuyển Ngoài ra, các thí nghiệm mô phỏng, so sánhđánh giá với các phương pháp hiện tại đã được thực hiện để chứng minh sựhiệu quả của các phương pháp đề xuất Kết quả cho thấy phương pháp đềxuất có độ hiệu quả cao nhất trong các thí nghiệm, đặc biệt là phương phápsinh viên thực hiện đề xuất cho bài toán tránh vật cản trên đường di chuyển
và lập đường đi cho robot
Trang 8Danh sách bảng vii
1.1 Bóng bàn và lịch sử môn thể thao bóng bàn 1
1.2 Robot đánh bóng bàn và robot nhặt bóng bàn 3
1.3 Đặt vấn đề 3
1.4 Nhiệm vụ 6
1.5 Phạm vi và mục tiêu 6
1.6 Ý nghĩa thực tiễn 8
1.7 Cấu trúc luận văn 9
2 Kiến thức nền tảng 10 2.1 Học sâu 10
2.1.1 Mạng thần kinh tích chập 10
2.1.2 Mạng You Only Look Once 12
2.2 Robotics 13
2.2.1 Thấu kính hội tụ 13
2.2.2 Sự chuyển động của robot 14
3 Công trình liên quan 18 3.1 Đề xuất phần cứng cho robot 19
3.2 Bài toán phát hiện trái bóng bàn trong ảnh 19
Trang 9MỤC LỤC
3.3 Bài toán ước tính vị trí trái bóng 25
3.4 Bài toán lập đường đi cho robot thu gom bóng 29
3.5 Bài toán tránh vật cản trên đường di chuyển 30
4 Phần cứng robot 34 4.1 Khái quát về kết cấu cơ khí của robot 34
4.2 Các thiết bị cho phần cứng robot 36
4.2.1 Máy tính nhúng cho mô hình thị giác và điều khiển 36 4.2.2 Camera 38
4.2.3 Cảm biến vật cản 39
4.2.4 Mạch điều khiển chuyển động 41
4.3 Tập lệnh 42
4.3.1 Lệnh gửi cho robot 43
4.3.2 Phản hồi từ robot 45
4.4 Sơ đồ khối điều khiển robot tự động thu gom bóng bàn 47
4.5 Hiện trạng 48
4.5.1 Robot ở bản thử nghiệm đầu tiên 48
4.5.2 Robot ở phiên bản hiện tại 48
5 Mô hình đề xuất 54 5.1 Phát biểu bài toán 54
5.2 Sơ đồ khối hệ thống 55
5.3 Mô hình thị giác và điều khiển cho robot tự động thu gom bóng bàn 56
6 Mô phỏng và thực nghiệm 59 6.1 Phát hiện trái bóng bàn trong ảnh 60
6.1.1 Phương pháp phát hiện bóng bằng cách lọc ngưỡng HSV 60 6.1.2 Phương pháp nhận diện bóng qua ảnh xám sử dụng kỹ thuật Circle Hough Transform 61
6.1.3 Sử dụng mô hình mạng nơ-ron đơn giản để phát hiện trái bóng bàn 65
6.1.4 Sử dụng mô hình YOLOv3 phát hiện trái bóng bàn 67 6.1.5 Sử dụng tiny-YOLOv3 phát hiện trái bóng bàn 76
6.2 Ước tính vị trí trái bóng trên sân 78
6.2.1 Mô tả bài toán 78
6.2.2 Công thức tính trực tiếp vị trí trái bóng 79
6.2.3 Phương pháp hồi quy 83
Trang 106.2.4 Lựa chọn phương pháp ước tính vị trí trái bóng 88
6.3 Tránh vật cản trên đường di chuyển 89
6.3.1 Mô tả bài toán 90
6.3.2 Phương pháp đề xuất 90
6.3.3 Thực nghiệm và kết quả 99
6.4 Lập đường đi cho robot di chuyển 105
6.4.1 Mô tả bài toán 105
6.4.2 Phương pháp đề xuất 106
6.4.3 Thực nghiệm và kết quả 107
7 Hiện thực trên robot 110 7.1 Các khó khăn và hướng giải quyết 110
7.2 Kiểm thử thực địa và kết quả 111
8 Tổng kết 115 8.1 Các kết quả đạt được 115
8.2 Hạn chế và hướng phát triển 116
Trang 11DANH SÁCH BẢNG
3.1 Độ lỗi của vị trí trái bóng 27
4.1 Lệnh dừng khẩn cấp 43
4.2 Lệnh dừng thông thường 43
4.3 Lệnh chạy thẳng 43
4.4 Lệnh xoay tại chỗ 44
4.5 Lệnh chạy vòng cung 44
4.6 Lệnh điều chỉnh tốc độ trục quay 45
4.7 Lệnh điều chỉnh độ sáng của đèn 45
4.8 Lệnh truy vấn tình trạng pin 45
4.9 Phản hồi về tình trạng pin 46
4.10 Cảnh báo pin yếu 46
4.11 Không thể di chuyển 46
4.12 Lỗi không xác định 47
6.1 Kết quả dùng phương pháp mạng nơ-ron đơn giản 67
6.2 Đo độ hiệu quả của phương pháp mạng nơ-ron 67
6.3 Kết quả trên tập valid của mạng YOLOv3 73
6.4 Kết quả trên tập test của mạng YOLOv3 73
6.5 Đo độ hiệu quả của mạng YOLOv3 trên tập valid 74
6.6 Đo độ hiệu quả của mạng YOLOv3 trên tập test 74
6.7 Đo độ hiệu quả của mạng tiny-YOLOv3 trên tập valid 77
6.8 Đo độ hiệu quả của mạng tiny-YOLOv3 trên tập test 77
6.9 Kết quả MAE khoảng cách từ trái bóng đến camera 82
6.10 Độ lỗi của các hàm hồi quy trong tập train và tập test 84
Trang 126.11 Phương pháp hồi quy và sai số khoảng cách 88
6.12 Phương pháp hồi quy và sai số của góc 89
6.13 Kết quả tránh vật cản trong các tình huống 101
6.14 Kết quả của phương pháp lập đường di chuyển 109
Trang 13DANH SÁCH HÌNH VẼ
1.1 Trái bóng bàn tiêu chuẩn 3
1.2 Dụng cụ thu gom bóng đơn giản 5
2.1 Mạng CNN 10
2.2 Quá trình tích chập qua lớp convolution 11
2.3 Quá trình qua lớp pooling 11
2.4 Sơ đồ kiến trúc mạng YOLO 12
2.5 Ví dụ về holonomic robot 14
2.6 Ví dụ về differential−drive robot 15
2.7 Một số ví dụ về legged robot 16
2.8 Nguyên lý hoạt động của chuyển động ackermann 17
3.1 Cơ cấu robot 20
3.2 Các thành phần của robot 21
3.3 Phương pháp thu gom bóng bằng hai trục quay 21
3.4 Mô tả hành động của bộ phận thu gom bóng 22
3.5 Sơ đồ xử lý ảnh với phân đoạn đa ngưỡng 23
3.6 Phát hiện trái bóng bàn trong thời gian thực 24
3.7 Lọc ngưỡng và phát hiện bằng pháp HSV 25
3.8 Mô tả hệ trục tọa độ cho robot và trái bóng 26
3.9 Ước tính độ lỗi của vị trí bóng trong một quỹ đạo 28
3.10 Góc lệch giữa mục tiêu và camera 28
3.11 Khu vực thu gom bóng 30
3.12 Phương pháp di chuyển thu gom bóng 30
Trang 143.13 Polar histogram được sử dụng trong giải thuật VFH 31
4.1 Thiết kế robot 35
4.2 Raspberry Pi 4 Model B 2019 37
4.3 Raspberry Pi Camera Module V2 8MP 39
4.4 Cảm biến Laser Radar RPLIDAR A1 41
4.5 Mạch điều khiển Arduino Mega 2560 ADK 42
4.6 Sơ đồ khối điều khiển cho phần cứng robot 47
4.7 Lắp rắp Raspberry Pi 4 Model B với Camera 49
4.8 Hình ảnh robot ở bản thử nghiệm đầu tiên 50
4.9 Bộ phận thu gom bằng lưới 50
4.10 Tình trạng kẹt bóng khi thu gom 51
4.11 Vị trí đặt tay quay mới 51
4.12 Tay quay robot sử dụng nhựa EVA 52
4.13 Robot phiên bản hiện tại 53
5.1 Sơ đồ khối hệ thống 55
5.2 Mô hình thị giác và điều khiển 57
6.1 Ảnh chụp trái bóng bàn 61
6.2 Hình ảnh đầu vào 62
6.3 Lọc ngưỡng HSV 62
6.4 Sau bước các bước xử lý ảnh 63
6.5 Phát hiện trái bóng trong bức ảnh 63
6.6 Điểm yếu của phương pháp HSV 64
6.7 Kết quả tốt của Circle Hough Transform 65
6.8 Kết quả không tốt của Circle Hough Transform 65
6.9 Mạng nơ-ron đơn giản 66
6.10 Một số hình ảnh lấy từ thực tế 69
6.11 Gán nhãn trái bóng bàn trên ảnh 70
6.12 Nội dung file chứa thông tin nhãn 71
6.13 Bộ lọc thông thấp Gaussian với σ = 1.1 71
6.14 Bộ lọc thông cao 71
6.15 Train YOLO trên Colab 72
6.16 Một vài kết quả khi sử dụng mô hình YOLOv3 75
6.17 Minh họa vị trí bóng và camera gắn trên robot 79
6.18 Đường kính trái bóng và khoảng cách 80
6.19 Minh họa quy trình lấy ảnh của camera 81
6.20 Ước tính khoảng cách bằng công thức 82
Trang 15DANH SÁCH HÌNH VẼ
6.21 Tập dữ liệu huấn luyện và kiểm thử 84
6.22 Hồi quy hàm bậc một để tính khoảng cách 85
6.23 Hồi quy hàm bậc hai để tính khoảng cách 85
6.24 Hồi quy hàm bậc ba để tính khoảng cách 86
6.25 Hồi quy hàm bậc bốn để tính khoảng cách 86
6.26 Hồi quy hàm bậc năm để tính khoảng cách 87
6.27 Ước tính khoảng cách bằng phương pháp hồi quy 88
6.28 Minh họa robot và cảm biến LiDAR 91
6.29 Tạo sensitivity area 92
6.30 Lưu đồ của phương pháp đề xuất 93
6.31 Minh họa dữ liệu cảm biến 93
6.32 Phát hiện vật cản trên dữ liệu cảm biến 94
6.33 Góc arctan2(y, x) 94
6.34 Phóng to góc của chướng ngại vật 95
6.35 Tình huống 1 102
6.36 Tình huống 2 102
6.37 Tình huống 3 103
6.38 Tình huống 4 104
6.39 Tình huống 5 104
6.40 Tình huống 6 105
6.41 Lưu đồ phương pháp đề xuất lập đường di chuyển cho robot 107 6.42 Mô tả sân bóng bàn và các trái bóng trên sân 108
7.1 Tình huống thực địa thu gom bóng không vật cản 112
7.2 Tình huống thực địa tránh vật cản thông thường 113
7.3 Kịch bản kiểm thử thực địa với độ khó cao 113
7.4 Một số hình ảnh của robot khi kiểm thử thực địa 114
Trang 16GIỚI THIỆU
Ở chương này, sinh viên thực hiện giới thiệu sơ qua về bóng bàn và lịch sửcủa nó, đặt vấn đề, nhiệm vụ, phạm vi, mục tiêu, và ý nghĩa của luận vănsinh viên thực hiện
1.1 Bóng bàn và lịch sử môn thể thao bóng
bàn
Bóng bàn (tên tiếng Anh là ping-pong hoặc table tennis) là một môn thểthao trong đó hai hoặc bốn người chơi tham gia đánh một trái bóng nhẹ(trái bóng bàn) qua lại trên một chiếc bàn bằng cây vợt nhỏ Trò chơi diễn
ra trên một mặt bàn cứng được chia làm đôi bởi một tấm lưới Ngoại trừloạt giao bóng đầu tiên, bóng bàn có quy tắc thi đấu chung như sau ngườichơi phải để trái bóng hướng về phía bản thân nảy đúng một lần trên phầnbàn của mình và trả trái bóng về phía đối phương, sao cho bóng nảy ít nhấtmột lần trên phần bàn của họ Một điểm được ghi khi có một người chơikhông thể trả bóng theo đúng luật Đây là một trò chơi có tốc độ nhanh vàcũng đòi hỏi phản xạ nhanh
Về nguồn gốc xuất phát môn thể thao bóng bàn cho đến nay vẫn cònnhiều quan điểm trái chiều, song phần đông quan điểm ủng hộ bóng bàn
Trang 17CHƯƠNG 1 GIỚI THIỆU
xuất phát từ nước Anh1 Phiên bản sơ khai được cho là hình thành vào thậpniên những năm 1860 bởi các sĩ quan quân đội Anh ở Ấn Độ, sau đó mớiđược mang trở về quê hương Họ dựng dãy sách ở giữa bàn làm lưới, dùnghai cuốn sách khác làm vợt và đánh một trái bóng gôn qua lại liên tục
Bước chuyển đổi mang tính đột phá khi một vận động viên thể thao ngườiAnh mang từ Mỹ về các trái bóng làm từ celluloid và nhận thấy chúng rất
lý tưởng cho môn thể thao này
Bởi do những trái bóng có độ nảy lớn và khi đánh phát ra những tiếng “pingpong” nên người ta dùng từ “ping-pong” để đặt tên cho môn thể thao này.Tuy nhiên trên các văn bản và quy tắc của Hiệp hội Bóng bàn quốc tế thìbóng bàn gọi là “table tennis”
Những năm 1950, các cây vợt được thiết kế từ sự kết hợp của một lớpcao su với một lớp cao su xốp đã thay đổi đáng kể tốc độ và độ xoáy củabóng Đến năm 1988, bóng bàn chính thức là một môn thể thao trong Thếvận hội
Ngày nay, theo tiêu chuẩn quốc tế, trái bóng bàn có khối lượng 2.70g và cóđường kính 40.00mm (1.57in) Bóng chất lượng sẽ nhảy lên 24.00 − 26.00cm
(9.40 − 10.20in) khi thả từ độ cao 30.50cm (12.00in) xuống một khối thép tiêuchuẩn, trong đó hệ số COR2 rơi vào khoảng 0.89 đến 0.92 Trái bóng sẽ đượclàm từ celluloid hoặc chất dẻo tương tự, có màu trắng hoặc da cam, với phầnlớp phủ bề mặt mờ Nhìn chung trái bóng bàn (Hình 1.1) là nhẹ, hình cầu
và có độ nẩy tốt, màu sắc thông thường là màu trắng hoặc cam, tuy nhiênvẫn có các màu khác như xanh lá cây, xám
Hiện nay, các giải thưởng và cuộc thi Quốc tế lớn được tổ chức có thể kểđến như giải Vô địch bóng bàn Thế giới, Cúp bóng bàn Thế giới, Bóng bàntrong Thế vận hội Olympic
1 Trong đó có sự thừa nhận của Liên đoàn bóng bàn quốc tế (ITTF) https://www.ittf.com/history/documents/historyoftabletennis/.
2 Coefficient of restitution là tỷ số giữa vận tốc tương đối sau va chạm và vận tốc tương đối trước va chạm COR nằm trong khoảng từ 0 đến 1, trong đó tại 1 được coi là va chạm đàn hồi hoàn hảo.
3 Trái bóng đã được Liên đoàn bóng bàn quốc tế (ITTF) phê chuẩn https://equipments.ittf.com/#/equipment_preview/balls/460.
Trang 18Máy móc tập luyện bao gồm các thiết bị giúp rèn luyện kỹ năng chơibóng như máy phát bóng, giao bóng, và thậm chí là máy đánh bóng trựctiếp với con người Máy móc dọn dẹp bao gồm những thiết bị giúp đỡ việcdọn dẹp sân cũng như phòng tập một cách nhẹ nhàng và ít tốn sức trongnhững việc như thu gom bóng sau mỗi phiên tập, và làm sạch sân.
Đặc biệt, sự xuất hiện của robot trong môn thể thao này đã giúp đỡ rấtnhiều cho người tập trong việc nâng cao chất lượng buổi tập và tiết kiệmthời gian cũng như công sức khi dọn dẹp sân Có thể kể đến như các loạirobot phát bóng và robot thu gom bóng
1.3 Đặt vấn đề
Trong phạm vi luận văn này, sinh viên thực hiện sẽ quan tâm về máy mócdọn dẹp, cụ thể hơn là thiết bị thu gom bóng trên sân sau mỗi phiên/bàitập Và bóng bàn thường sẽ được tập luyện hoặc chơi trong một không gian
Trang 19CHƯƠNG 1 GIỚI THIỆU
kín như trong phòng tập, trong nhà, văn phòng nên trong luận văn này, sinhviên thực hiện giới hạn không gian chơi bóng như trên
Để nâng cao trình độ, người chơi thường sẽ đến các trung tâm tìm huấnluyện viên hoặc mua một loại máy phát bóng để tự tập Chương trình huấnluyện thường được chia làm từng nội dung để luyện tập như học giao bóng,đẩy công, đẩy chặn, và “lốp” bóng Cứ sau mỗi lượt tập thì bóng sẽ rơixuống sàn, để tiết kiệm thời gian và tăng hiệu suất tập luyện, bóng sẽ khôngđược nhặt ngay mà người tập sẽ sử dụng một trái bóng khác thay thế từ
rổ bóng Khi đánh hết bóng từ rổ cũng là lúc kết thúc một phiên tập Dotrái bóng bàn nhẹ và được người tập đánh nên những trái bóng sẽ rơi khắpsân tập, ngoài ra có thể có hơn 50 trái bóng được sử dụng trong mỗi phiên tập
Bản thân sinh viên thực hiện cũng đã từng chơi bóng bàn nên hiểu rõcông việc thu gom những trái bóng rơi trên sàn là mệt nhọc và hao tốn nănglượng, trong khi việc đó lại không có ý nghĩa về mặt chuyên môn Thay vì
có thể nghỉ ngơi giữ sức cho phiên tập tiếp theo, người tập sẽ là người phảithực hiện công việc đó Điều đó dẫn ra ảnh hưởng xấu đến chất lượng củabuổi tập Để giúp cải thiện vấn đề này, cũng có nhiều phương pháp đơn giản
đã được đề xuất như là dùng chổi quét, dùng máy hút bụi hay một loại công
cụ thu gom đơn giản (Hình 1.2), và thậm chí thuê người nhặt bóng
Sinh viên thực hiện đã đến sân tập bóng bàn và tiến hành khảo sát vềthực trạng hiện nay trong việc thu gom bóng Huấn luyện viên và học viênđều thống nhất rằng việc thu gom bóng hiện nay vẫn chưa hiệu quả và cònnhiều hạn chế (sẽ được sinh viên thực hiện phân tích ở đoạn bên dưới) Họcần một thiết bị có thể tự động thu gom bóng bàn một cách hiệu quả đểnâng cao chất lượng buổi tập Do đó, để đáp ứng nhu cầu thực tiễn này, sinhviên thực hiện đã tiến hành nghiên cứu và phát triển mô hình robot tự độngthu gom bóng bàn
Trang 20Hình 1.2: Dụng cụ thu gom bóng đơn giản.4
Các phương pháp đơn giản nêu trên theo thời gian đã bộc lộ những mặt hạnchế của nó Phương pháp thuê người nhặt bóng hoàn toàn không phải một ýkiến sáng suốt nên được loại đầu tiên Vì bóng bàn là một môn thể thao phổthông, không phải môn thể thao dành riêng cho giới quý tộc; hơn nữa côngviệc nhặt bóng thật sự chưa tới mức thuê người để nhặt Mặc dù trái bóngbàn nhẹ nên việc dùng chổi quét nghe qua có vẻ khả thi, nhưng bóng nẩytốt và lăn rất mượt, vì thế việc quét bóng có thể dẫn đến những trái bóng
sẽ lăn đi xa, và lộn xộn thêm trong phòng Khi xem xét phương pháp dùngmáy hút để thu gom bóng thì phương pháp này cũng không thật sự hiệu quả.Tuy rằng trái bóng bàn nhẹ nhưng việc hút rất nhiều trái bóng sẽ là mộtvấn đề hoàn toàn khác, việc hút có nguy cơ kẹt bóng rất cao và nhiều khihút cả rác vào máy Điều quan trọng là khi hút sẽ làm giảm chất lượng tráibóng Tiếp theo, đối với phương pháp dùng công cụ đơn giản (Hình 1.2) đểthu gom bóng, công cụ này được thiết kế với sự kết hợp giữa cây vợt (nhưvợt bóng bàn nhưng ô lưới sẽ rộng vừa đủ để khi căng lưới bóng có thể lọtqua) và một tấm lưới nhỏ để giữ các trái bóng Khi sử dụng, người tập chỉcần đập cây vợt vào trái bóng, bóng sẽ lọt được vào trong và được tấm lướigiữ lại Khi bóng trong tấm lưới đã đầy, người tập sẽ lấy những trái bóng bỏvào rổ bóng Hạn chế lớn nhất của phương pháp này chính là lúc dùng vợtđập trái bóng, hành động này có thể làm giảm chất lượng trái bóng Một kếtquả có thể đoán trước là chất lượng buổi tập tiếp theo sẽ giảm xuống khi sử
4 Website https://www.tabletennisspot.com/ping-pong-ball-collectors-pick-balls/.
Trang 21CHƯƠNG 1 GIỚI THIỆU
dụng lại những trái bóng bị hư hại này Điểm lợi của các phương pháp kểtrên là nhờ vào công cụ hỗ trợ người tập không phải cúi xuống nhặt từngtrái bóng (một hành động tốn năng lượng và mệt mỏi) Dù là vậy thì ngườitập vẫn phải đi nhặt từng trái bóng lộn xộn trên sân, trong khi đó là thờigian mà họ cần được nghỉ ngơi nhất
Để giải quyết các vấn đề nêu trên, phương pháp sử dụng một con robot tựđộng thu gom tất cả trái bóng rơi trên sàn đã được đề xuất Với sự tiến bộcủa khoa học kỹ thuật, về phần cứng lẫn phần mềm, mà phương pháp nàyngày càng tỏ ra hiệu quả và khả thi Robot sẽ đi thu gom từng trái bóngthay cho người tập, do đó người tập sẽ có được những khoảng thời gian nghỉngơi cần thiết cho chất lượng của buổi tập Một con robot thu gom bóngbàn ngoài thiết kế phù hợp với sân tập, cơ cấu thu gom bóng hợp lý và hiệuquả, thì chương trình phát hiện, ước tính vị trí trái bóng và điều khiển robot
là không thể thiếu Luận văn này chính là nghiên cứu và phát triển mô hìnhthị giác và điều khiển cho một con robot (đã được phát triển phần cứng)tiến hành thu gom bóng bàn một cách tự động
1.4 Nhiệm vụ
Robot thu gom bóng bàn mà sinh viên thực hiện nghiên cứu và phát triển
sẽ có bốn nhiệm vụ cơ bản sau đây:
• Phát hiện được trái bóng
• Ước tính được khoảng cách giữa robot và bóng
• Điều khiển được robot đến vị trí bóng và thu thập nó
• Phát hiện và tránh các vật cản trên đường di chuyển
1.5 Phạm vi và mục tiêu
Luận văn thiết kế mô hình thị giác và điều khiển cho robot tự động thu gombóng bàn có mục tiêu là xây dựng và phát triển một mô hình thị giác máytính và điều khiển robot thu gom bóng bàn một cách tự động
Phần cứng robot dựa trên phần cứng đã được phát triển bởi TickLab
Trang 22dựa trên ý tưởng và kết quả thảo luận với sinh viên thực hiện5 Trong quátrình phát triển phần cứng, sinh viên thực hiện đã góp phần chỉ ra nhữngmặt hạn chế và hướng giải quyết cho robot Kích cỡ robot, bộ phận thu gombóng, cách robot thực hiện các hành động di chuyển (đi lên, đi lùi, rẽ trái,
rẽ phải), chọn thiết bị nhúng, cách thức trao đổi giữa phần cứng và phầnmềm đã được sinh viên thực hiện thảo luận và thiết kế (sẽ được trình bàychi tiết ở Chương 4) Vì vậy có thể nói rằng, sinh viên thực hiện nắm vữngcác nguyên lý hoạt động và cấu tạo của phần cứng robot, giúp đạt được sựthống nhất giữa phần cứng và phần mềm để có độ hiệu quả cao
Trong phạm vi luận văn này, sinh viên thực hiện sẽ không giải quyết hết tất
cả kịch bản mà robot có thể gặp phải, mà chỉ tập trung giải quyết một vàikịch bản phổ biến trong số chúng
Như những loại robot thu gom bóng bàn khác, robot cần phải đáp ứngcác tiêu chí về hiệu suất nhặt bóng, chi phí thiết kế, và sự phù hợp trong sântập bóng bàn
Về hiệu suất thu gom bóng, sinh viên thực hiện sẽ nghiên cứu và pháttriển một robot thu gom được nhiều trái bóng bàn nhất có thể trong sântập bóng bàn - đạt được một hiệu suất cao nhất có thể Robot gồm các cơchế di chuyển, thu gom bóng trên sân và tránh các vật cản trong phòng tập.Hơn nữa vấn đề về năng lượng cũng sẽ được quan tâm, robot cần được tối
ưu về mặt di chuyển để tiết kiệm năng lượng
Về chi phí thiết kế, bởi vì bóng bàn là một môn thể thao phổ thông nên tổngchi phí thiết kế một con robot không nên quá cao Với một giá cả hợp lý mới
có thể đến tay những người tiêu dùng Các vấn đề về chi phí nguyên vật liệu
để xây dựng robot đã được sinh viên thực hiện cân nhắc kỹ lưỡng
Về sự phù hợp trong sân tập bóng bàn, robot được thiết kế để thu gombóng bàn trong những phòng tập và không gian kín Vì vậy kích thước robotđược thiết kế một cách phù hợp để có thể di chuyển thoải mái trên sân tập.Trong sân tập sẽ có những vật cản hiện hữu như chân bàn, chân ghế, cột, vàvách tường Do là không gian tập thể thao nên các đồ vật sẽ được sắp xếp
5 TickLab là một tổ chức sinh viên nghiên cứu khoa học kỹ thuật do nhóm cựu sinh viên trường Đại học Bách Khoa - Đại học Quốc Gia TP.HCM thành lập https://ticklab.vn/about.
Trang 23CHƯƠNG 1 GIỚI THIỆU
gọn gàng để tạo không gian thoáng Sinh viên thực hiện sẽ bỏ qua kịch bảnrobot phải nhặt bóng trong môi trường có những vật cản đặt lộn xộn trênsân Đối với những vật cản to lớn khác những cái sinh viên thực hiện đã liệt
kê, nếu xuất hiện trong sân tập thì robot cũng sẽ xử lý được Những vật cảnquá thấp (thấp hơn chiều cao của robot) thì sẽ được bỏ qua Những tìnhtiết tăng độ khó cao cho robot trong quá trình thu gom bóng như có hố ởgiữa sân, những vật thể có kích thước tương đương trái bóng cũng sẽ khôngđược xem xét trong phạm vi luận văn
Về thời điểm thu gom bóng, robot sẽ chỉ đi thu gom bóng sau khi kếtthúc bài tập, điều này có nghĩa là lúc người tập nghỉ ngơi thì robot mới bắtđầu thực hiện công việc thu gom Vì thế kịch bản có những trái bóng vẫncòn lăn lung tung trên sàn và trường hợp người chơi đang chơi dẫm phảirobot sẽ không xảy ra
Trong phạm vi luận văn này, sinh viên thực hiện sẽ chỉ tập trung nghiên cứu
và phát triển mô hình thị giác và điều khiển robot tự động thu gom bóngbàn trong những kịch bản và ràng buộc nêu trên
1.6 Ý nghĩa thực tiễn
Luận văn mà sinh viên thực hiện nghiên cứu có ý nghĩa lớn đối với thực tiễnrằng đáp ứng nhu cầu của xã hội, giúp người tập có thời gian nghỉ ngơi vàkhông phải tiêu tốn năng lượng để thu gom những trái bóng
Không những vậy, luận văn còn là nền tảng nghiên cứu, phát triển, vàứng dụng rộng rãi Bởi lẽ để giải quyết các vấn đề đặt ra cần có những kiếnthức từ tổng quát đến chuyên sâu, đòi hỏi nghiên cứu một cách nghiêm túc
và bài bản Để phát triển robot, sinh viên thực hiện đã phải giải những bàitoán về xử lý ảnh, nhận dạng đối tượng, ước tính khoảng cách, lên kế hoạchtìm đường, né tránh vật cản, và xem xét cả kiến thức liên quan về lập trình
hệ thống nhúng và robotics
Sinh viên thực hiện hy vọng luận văn này sẽ góp phần đáp ứng cho nhu cầu
xã hội và là nền tảng nghiên cứu, phát triển, và ứng dụng rộng rãi
Trang 241.7 Cấu trúc luận văn
Luận văn được chia thành những phần như sau:
• Chương 1 Giới thiệu
Ở chương này, sinh viên thực hiện sẽ giới thiệu sơ qua về bóng bàn vàlịch sử của nó, đặt vấn đề, nhiệm vụ, phạm vi, mục tiêu và ý nghĩa củaluận văn sinh viên thực hiện
• Chương 2 Kiến thức nền tảng
Chương này sẽ trình bày tóm tắt các đơn vị kiến thức có liên quan hoặcđược sử dụng trong luận văn
• Chương 3 Các công trình liên quan
Trình bày các công trình có liên quan đến các bài toán cần giải quyếttrong luận văn
• Chương 4 Phần cứng robot
Giới sơ qua về phần cứng và các ràng buộc liên quan của robot thu gombóng bàn (đã được hiện thực)
• Chương 5 Mô hình đề xuất
Trình bày các bài toán đặt ra cho robot, đề xuất mô hình thị giác vàđiều khiển cho robot tự động thu gom bóng bàn
• Chương 6 Mô phỏng và thực nghiệm để lựa chọn phương pháp
Đề xuất và tiến hành thực nghiệm để chọn các phương pháp để giảiquyết các bài toán đặt ra cho robot
• Chương 7 Hiện thực trên robot
Hiện thực các phương pháp trên robot và tiến hành thực nghiệm
• Chương 8 Tổng kết
Tổng kết các kết quả đã đạt được trong quá trình nghiên cứu và pháttriển luận văn, thảo luận những hạn chế và hướng phát triển trong tươnglai
Trang 25CHƯƠNG 2 KIẾN THỨC NỀN TẢNG
2.1 Học sâu
Mạng thần kinh tích chập (Convolutional Neural Network - CNN) là mộttrong những mô hình học sâu, gồm các lớp convolution, lớp pooling, và lớpfully connected xếp chồng lên nhau (Hình 2.1)
Hình 2.1: Mạng CNN
Có ba khái niệm cơ bản trong định nghĩa mạng thần kinh tích chập, gồm:
1 Lớp convolution Lớp convolution gồm những ma trận có trọng số(filter), dùng để trích xuất các đặc trưng, thông tin của đầu vào (nhưhình ảnh) Ngoài ra các filter còn dùng để lọc nhiễu Hình 2.2 tượngtrưng quá trình tích chập của lớp convolution với 10 filter có kích thước
Trang 265 × 5 × 3 Ví dụ như Hình 2.2, một đầu vào có kích thước 64 × 64 × 3 saukhi thực hiện phép tích chập với lớp convolution, có kích thước đầu ra
là 60 × 60 × 10
Hình 2.2: Quá trình tích chập qua lớp convolution
2 Lớp pooling Khi gặp một bức ảnh có kích thước quá lớn, ta sẽ cầngiảm số lượng tham số có thể truyền tải mà vẫn giữ được lượng thôngtin cần thiết Điều này sẽ giúp ta giảm khối lượng tính toán trong mạng.Các lớp pooling sẽ thực hiện chức năng đó và được đặt giữa các lớpconvolution Thật vậy, trên từng kích thước chiều sâu, mỗi vùng khônggian sẽ chọn ra một giá trị làm đại diện, nó sẽ không làm thay đổi đườngnét chính của bức ảnh nhưng sẽ giảm được kích thước chiều dài và chiềurộng của bức ảnh Thông thường, giá trị lớn nhất trong vùng khônggian sẽ được chọn làm giá trị đại diện Như Hình 2.3, lớp pooling giúpgiảm kích thước đầu vào từ 4 × 4 xuống còn 2 × 2 bằng cách chọn giá trịlớn nhất làm đại diện trong mỗi vùng không gian có kích thước 2 × 2
Hình 2.3: Quá trình qua lớp pooling
3 Lớp fully connected Sau khi đi qua nhiều lớp convolution và các lớppooling, ta sẽ cần một đầu ra với dạng vector có số đơn vị bằng số phânlớp (classes) và chứa thông tin xác suất ứng với mỗi phân lớp đó Vì cáclớp convolution và lớp pooling chỉ có thể trích xuất thông tin và giảmlượng tham số từ các ảnh gốc, nên ta sẽ cần một lớp fully connected đểtạo ra một đầu ra yêu cầu
Trang 27CHƯƠNG 2 KIẾN THỨC NỀN TẢNG
Mạng You Only Look Once (YOLO) là một mô hình CNN, nó sẽ sử dụngthông tin của toàn bộ bức ảnh trong một lần và dự đoán tọa độ của các hộp(bounding box) cùng với xác suất của các lớp (classes) cho các hộp này
Đây là một trong những thuật toán tốt nhất để phát hiện đối tượng và phânloại đối tượng thuộc lớp nào Ưu điểm lớn nhất của mạng YOLO là có tốc
độ xử lý rất nhanh (45 khung hình trên một giây)
Kiến trúc mạng YOLO (Hình 2.4) bao gồm: base network là các mạngconvolution làm nhiệm vụ trích xuất đặc trưng và các extra layer dùng
để phát hiện các đối tượng trên feature map của base network Base work gồm chủ yếu các convolution layer và fully connected layer Ngoài
net-ra, các kiến trúc của YOLO sẽ khác nhau tùy theo mỗi phiên bản Trongluận văn này, sinh viên thực hiện chủ yếu sử dụng phiên bản YOLO version 3
Hình 2.4: Sơ đồ kiến trúc mạng YOLO
Trong YOLO version 3, base network sử dụng kiến trúc darknet-53 Mạng nàygồm 53 lớp convolution kết nối liên tiếp, theo sau bởi một batch nomalizaion
và một activation Leaky ReLU (rectified linear activation function) Để giảmkích thước output sau mỗi convolutional layer, mạng sử dụng các lớp pooling
có các filter 2 × 2 để tiến hành thu hẹp kích thước (downsample)
Đầu ra của mạng YOLO là một vector gồm nhiều thành phần như sau
yT = [p c , hb x , b y , b w , bhi , hp 1 , p 2 , , p n i] , (2.1)trong đó:
Trang 28• p c là xác suất xuất hiện đối tượng bên trong bounding box.
• hb x , b y , b w , bhilà vị trí của bounding box,hbx, b y ilà vị trí tâm của boundingbox, hbw, bhi là chiều rộng và chiều dài của bounding box
Hơn nữa, ta có hai công thức về thấu kính gồm:
Trang 29CHƯƠNG 2 KIẾN THỨC NỀN TẢNG
Dựa trên cách thức robot di chuyển, robot được chia làm bốn loại cơ bảngồm holonomic, differential-drive, legged, và ackermann robot
Nếu số bậc tự do1 có thể điều khiển bằng tổng số bậc tự do của nó thì robotđược xem là chuyển động holonomic Ví dụ nếu xem xét trong không gianmột chiều, nơi mà chỉ có một trục để một vật có thể chuyển động Tưởngtượng một trục đó là đường ray, thì tàu hỏa được đặt trên đường ray sẽđược xem là chuyển động holonomic, vì tàu hỏa có thể di chuyển theo haihướng trên trục đó Một ví dụ khác, nếu một vật thể trong không gian bachiều mà chỉ có thể di chuyển theo một hướng thì chuyển động của vật thể
đó sẽ là không holonomic Hình 2.5 là một ví dụ về holonomic robot, vì nó
có thể di chuyển tự do theo các hướng trong mặt phẳng hai chiều (số bậc
tự do robot có thể kiểm soát ở đây là hai và tổng số bậc tự do cũng bằng hai)
Hình 2.5: Ví dụ về holonomic robot.2
Chuyển động differential−drive là chuyển động gồm các bánh xe điều khiểnđộc lập nhau, có tác dụng điều hướng di chuyển cho robot và các bánh xechuyển động bị động đa hướng Robot sử dụng trong luận văn được thiết kếtheo cách thức di chuyển này, sẽ được sinh viên thực hiện đề cập ở Mục 4.1
1 Xem thêm ở giáo trình Cơ học lý thuyết của Trường Đại học Bách Khoa - Đại học Quốc gia TP HCM.
2 Website https://www.youtube.com/watch?v=soudy8fKygk.
Trang 30Hình 2.6 là ví dụ mô tả differential−drive robot.
Hình 2.6: Ví dụ về differential−drive robot (nguồn [15])
Legged robot bao gồm các loại robot được thiết kế di chuyển bằng chân Cácrobot được thiết kế cách di chuyển như con người (đi bằng hai chân) hoặc dichuyển như các loài động vật có chân khác đều được xếp vào legged robot.Các ví dụ về legged robot được mô tả trong Hình 2.7
Trang 313 Website Environment/Mobility-and-navigation/Legged-Robots, https://www.ien.com/product- development/news/20981070/twolegged-robot-cassie-lands-in-michigan.
Trang 32https://data61.csiro.au/en/Our-Research/Our-Work/Monitoring-the-Hình 2.8: Nguyên lý hoạt động của chuyển động ackermann (nguồn [10]).
Trang 33CHƯƠNG 3 CÔNG TRÌNH LIÊN QUAN
Trong luận văn này, sinh viên thực hiện đề xuất mô hình thị giác và điềukhiển cho robot tự động thu gom bóng bàn Để làm được điều này, mô hìnhthị giác và điểu khiển cho robot tự động thu gom bóng bàn sẽ phải giải quyếtbốn bài toán con gồm:
i) Phát hiện trái bóng bàn trong ảnh
ii) Ước tính vị trí trái bóng
iii) Lập đường đi robot thu gom bóng
iv) Tránh vật cản trên đường di chuyển.1
Việc nghiên cứu, phát triển mô hình thị giác và điều khiển cho robot tự độngthu gom bóng bàn được hiện thực bằng cách giải các bài toán con đã nêu
ở trên Các công trình nghiên cứu mà tác giả luận văn tìm hiểu sẽ có liênquan đến phần cứng robot hoặc các bài toán con này
1 Sẽ được phân tích rõ hơn ở Mục 5.1 Phát biểu bài toán.
Trang 343.1 Đề xuất phần cứng cho robot
Để mở rộng phạm vi nghiên cứu, sinh viên thực hiện xem xét một vài phươngpháp trong các công trình về phát triển robot thu gom bóng tennis Bởi lẽcông việc của một con robot thu hom bóng bàn và một robot thu gom bóngtennis cũng có một vài sự tương đồng nhất định Elamvazuthi cùng các cộng
sự đã đề xuất một mô hình phần cứng robot thu gom bóng tennis (Hình 3.1)với thiết kế gồm ba bánh xe và hệ thống trục quay cố định để thu gom bóng[8] Ngoài ra, robot còn được gắn cảm biến bên phải, bên trái, và phía trước
để robot nhận biết vách sân mà chuyển hướng Công trình cũng có nêu mộtchiến thuật lập đường đi cho robot di chuyển lấy bóng, sẽ được mô tả ở Mục3.4
Perara đã đề xuất một thiết kế phần cứng cho robot thu gom bóng tennis,nhận diện trái bóng và lập đường đi cho robot2 [21] Mô hình thiết kế robotđược mô tả ở Hình 3.2 Thêm vào đó, thiết kế động cơ thu gom bóng vàcách hoạt động thu gom bóng lần lượt được đề xuất như Hình 3.4 và Hình3.3 Ngoài ra, về thiết kế nơi chứa bóng và khung sườn cho robot của tác giảluận văn3 có những điểm tương đồng với thiết kế trong công trình này Do
đó, sinh viên thực hiện tin tưởng rằng thiết kế phần cứng cho robot trongluận văn này không bị lỗi thời vào thời điểm hiện tại Tuy nhiên, về phầncứng thị giác, robot được thiết kế camera gắn trực tiếp trên robot thay vìmột camera gắn trên trần nhà như được đề xuất ở [21]; lý do là để phù hợpvới mục đích và phạm vi luận văn.4
3.2 Bài toán phát hiện trái bóng bàn trong
ảnh
Cheng đã đề xuất một mô hình robot tự động thu gom bóng bàn có thêmchức năng điều khiển từ xa, trong đó phần thị giác máy tính được xử lý dựatrên hệ thống nhúng [4] Bằng việc kết hợp thêm chế độ điều khiển từ xabằng tay, người dùng có thể tự mình điều khiển robot khi chế độ tự động
2 Phương pháp phát hiện trái bóng bàn và lập đường đi cho robot di chuyển của công trình sẽ lần lượt được đề cập trong Mục 3.2 và Mục 3.4.
3 Xem thêm đề xuất thiết kết cho phần cứng robot ở Chương 4.
4 Xem thêm giải thích ở Mục 4.1 Khái quát về kết cấu cơ khí của robot.
Trang 35CHƯƠNG 3 CÔNG TRÌNH LIÊN QUAN
(a) Nhìn từ trên cao
(b) Nhìn từ phía trước (c) Nhìn từ bên trái
(d) Nhìn từ bên phải (e) Nhìn từ phía sau
Hình 3.1: Cơ cấu robot (nguồn [8])
không đạt hiệu quả.5 Phương pháp phát hiện trái bóng trong công trình nàyrất đơn giản Từ một khung hình (frame) được lấy ra từ camera, ta sẽ tríchxuất những vùng có màu cam (màu của trái bóng) theo kênh màu RGB Sau
đó, những vùng được trích xuất này sẽ được cho là trái bóng bàn Phươngpháp phát hiện bóng này chưa thật sự tốt, bởi nếu màu nền trùng với màu
5 Phần lập đường đi cho robot sẽ được nhắc đến ở Mục 3.4.
Trang 36Hình 3.2: Các thành phần của robot (nguồn [21]).
Hình 3.3: (a) Các thành phần của cơ chế thu gom (b) Sơ đồ truyền tải năng
lượng cho hai đầu quay (nguồn [21])
bóng thì robot sẽ bị nhầm lẫn
Li và các cộng sự thuộc trường Đại học Kỹ thuật Munich (Technical
Trang 37Univer-CHƯƠNG 3 CÔNG TRÌNH LIÊN QUAN
Hình 3.4: Khi bóng tiếp xúc với con quay Một lực F sẽ được sinh ra bởi lực
f của hai con quay tác động lên trái bóng Lực F sẽ kéo trái bóng vào bên
trong robot, thực hiện hành động thu gom (nguồn [21])
sity of Munich) đã nghiên cứu về hệ thống robot đánh bóng bàn với một tốc
độ xử lý thị giác máy tính nhanh [12] Tuy rằng nội dung của bài báo là xâydựng một hệ thống đánh bóng bàn với con người nhưng sinh viên thực hiện
sẽ xem xét khả năng vận dụng phương pháp xử lý thị giác của họ cho việcphát hiện trái bóng bàn với tốc độ cao
Vì hệ thống thị giác máy tính xây dựng trong [12] phục vụ cho robotđánh bóng bàn, nên việc xác định được tọa độ của trái bóng trong khônggian ba chiều là cần thiết Với kỹ thuật stereo-vision gồm hai camera trái vàphải, ta sẽ dễ dàng tính được vị trí trong không gian ba chiều của trái bóng
từ vị trí trái bóng trong bức ảnh.6 Và hơn hết, sinh viên thực hiện đặc biệtquan tâm về bài toán phát hiện trái bóng bàn trong frame hình mà camerathu được
Công trình trên đã nêu rõ khó khăn trong bài toán phát hiện bóng ở đây làphải có tốc độ xử lý nhanh và chính xác cao, vì bóng bàn không chỉ nhỏ màcòn dễ bị ảnh hưởng bởi các loại nhiễu do ánh sáng, màu sắc của môi trường
có màu gần giống trái bóng Vì thế, tác giả đã kết hợp phát hiện chuyển độngcùng với các ngưỡng ánh sáng, màu sắc, độ bão hòa, và hình dạng (thuậttoán được mô tả như Hình 3.5) Thông qua các thí nghiệm, với 500 bức ảnhcamera bên trái thu được thì tỷ lệ phát hiện bóng thành công là96.84%, trongkhi đó tỷ lệ ở bên phải là 98, 98% Kết quả thí nghiệm cho thấy hệ thống
có khả năng nhận diện trái bóng bàn màu cam đang bay với độ chính xác cao
6 Sẽ được thảo luận chi tiết ở Mục 3.3.
Trang 38Hình 3.5: Sơ đồ xử lý ảnh với phân đoạn đa ngưỡng (nguồn [12]).
Ngoài ra, một mô hình robot đánh bóng bàn khác đã được đề xuất trong [24]bởi Silva Tác giả nhận định robot đánh bóng bàn có thách thức ở cả phầnrobotics, trí tuệ nhân tạo, và học máy Về phần robotics, robot yêu cầu việcđiều khiển phải chính xác và đáng tin cậy Về phần trí tuệ nhân tạo, robot cầnđưa ra một quyết định nhanh chóng để xác định chuyển động tốt nhất để đánhbóng Về phần học máy, robot yêu cầu phải ước lượng chính xác vị trí và thờiđiểm của trái bóng để có thể đánh được Sinh viên thực hiện tham khảo môhình robot này để giải quyết bài toán phát hiện trái bóng bàn trên ảnh và ướctính vị trí trái bóng sau khi đã phát hiện trái bóng bàn trong ảnh từ camera.7
Trong công trình nêu trên, bài báo sử dụng phương pháp phân đoạn màuHSV đơn giản để xác định trái bóng bàn trên ảnh do camera thu được (Hình3.6) Sau đó tối ưu các thông số của một đường biên hình tròn bằng cách sửdụng phương pháp bình phương nhỏ nhất [26], kết quả thu được vị trí tráibóng trong bức ảnh.8
7 Nội dung của phương pháp ước tính vị trí trái bóng sẽ được đề cập trong Mục 3.3.
8 Ở đây tác giả sử dụng OpenCV để hiện thực phương pháp.
Trang 39CHƯƠNG 3 CÔNG TRÌNH LIÊN QUAN
Hình 3.6: Phát hiện trái bóng bàn trong thời gian thực (nguồn [24])
Công trình [21] đã đề xuất một phương pháp xử lý ảnh để phát hiện tráitennis với một camera đặt trên trần cao 15.00f t (4.57m) có độ phân giải1080p (12 Megapixel) và có trang bị ống kính mắt cá (fisheye lens) Do bứcảnh thu vào bị méo (vì sử dụng ống kính mắt cá) nên bước tiền xử lý sẽ đượcthực hiện Đầu tiên, quá trình nâng ảnh sẽ được tiến hành để giảm nhiễu chobức ảnh Để làm điều này, một bộ lọc thông thấp (low pass filter) sẽ được sửdụng để làm mịn bức ảnh Sau đó, dựa vào đặc trưng của trái bóng tennis làmột hình cầu có màu vàng và xanh lá, bước phát hiện vật thể sẽ được tiếnhành để phát hiện trái bóng Tuy nhiên, trong luận văn này, đối tượng cầnphát hiện là trái bóng bàn nên các đặc trưng của trái bóng bàn (hình cầu,màu cam hoặc trắng) sẽ được thay thế cho các đặc trưng của trái bóng tennis
Cụ thể, tác giả chuyển đổi bức ảnh từ kênh màu Red-Green-Blue (RGB)sang kênh màu Hue-Saturation-Value (HSV) để trích xuất toàn bộ phạm viđộng của màu đã chọn Với điều kiện ánh sáng trong phòng, trái bóng tennis
có phạm vi HSV từ [40, 89, 59] tới [64, 255, 255] Ta phải chọn phạm vi phùhợp nếu không rất có thể sẽ bắt nhầm sang những đối tượng khác Phạm viHSV được sử dụng để tạo ra một mặt nạ (mask) trích xuất như Hình 3.7
Do hình được tạo ra bằng các ngưỡng HSV đơn giản sẽ không thể tránhkhỏi nhiễu, nên xử lý hình thái sẽ được tiến hành để loại bỏ khuyết điểmnày bằng cách tính đến hình thức và cấu trúc của bức ảnh Do đó, các bộlọc erosion và dilation sẽ được áp dụng Thứ tự thực hiện các bộ lọc và kíchthước kernel rất quan trọng, vì nếu không đúng có thể làm tăng nhiễu Trongtrường hợp này bộ lọc erosion sẽ được thực hiện trước, sau đó là dilation.Quá trình này còn được gọi là quá trình làm trơn ảnh Sau khi lọc xong, ta
sẽ sử dụng một mặt nạ để bao quanh đối tượng Dựa vào các ràng buộc vềkích thước mà ta sẽ lọc ra vị trí của những trái bóng trên ảnh Vị trí của các
Trang 40trái bóng sẽ được thêm vào bản đồ lưới9 để lập đường di chuyển cho robot.
Hình 3.7: Phạm vi HSV được sử dụng để tạo ra mặt nạ trích xuất (trái) và
đường viền được vẽ bao quanh (phải) (nguồn [21])
Kết quả của phương pháp phát hiện bóng ở trên có độ chính xác là 100%
trong điều kiện thí nghiệm Với mỗi điều kiện ánh sáng khác nhau, tác giảphải điều chỉnh một cách thủ công ngưỡng lọc HSV Điều này sẽ gây ra mộtvấn đề lớn cho việc ứng dụng ngoài thực tế Khi có sự thay đổi độ sáng trongphòng, rất có thể sẽ xảy ra rủi ro phát hiện nhầm hoặc không phát hiệnbóng, điều này đôi khi sẽ gây nguy hiểm cho người sử dụng
3.3 Bài toán ước tính vị trí trái bóng
Như đã được đề cập ở Mục 3.2, công trình [12] sử dụng dữ liệu thu được từhai camera và kỹ thuật stereo-vision được để ước tính vị trí của trái bóng [3].Tuy nhiên, trong phạm vi luận văn này chỉ sử dụng một camera gắn trựctiếp trên robot, vì thế phương pháp này sẽ không được phân tích sâu thêm
Thêm vào đó, tính chất của những tỷ lệ đã được áp dụng để ước tínhkhoảng cách từ robot đến trái bóng [24] Tác giả sử dụng đường kính củatrái bóng himage và tọa độ tâm của trái bóng (x, y) ở trong bức ảnh để ướctính vị trí và vận tốc của trái bóng ở ngoài thực tế Các hệ trục tọa độ sẽkhớp với hệ trục tọa độ của camera để tránh việc phải chuyển hệ trục tọa
độ (thuận tiện cho việc tính toán) Vị trí trái bóng và vận tốc trái bóng lần
9 Một camera được gắn trên trần nhà nên ta sẽ có một tầm nhìn bao quát từ trên xuống, do đó bản đồ của sàn nhà được lập dễ dàng.