Các tác vụ điều khiển trong visual servoing được định nghĩa để điều khiển vận tốc của robot, sử dụng các đặc trưng thị giác được trích xuất từ hình ảnh.. GIỚI THIỆU Một tác vụ robot tron
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
VÕ DUY CÔNG
NGHIÊN CỨU VÀ ĐÁNH GIÁ CÁC KỸ THUẬT ĐIỀU
KHIỂN VISUAL SERVOING
A REVIEW AND EVALUATION OF VISUAL SERVOING
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán bộ hướng dẫn khoa học: TS Lê Đức Hạnh
Cán bộ chấm nhận xét 1: TS Lê Ngọc Bích
Cán bộ chấm nhận xét 2: PGS.TS Nguyễn Thanh Phương
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 03 tháng 09 năm 2020
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Võ Duy Công MSHV: 1870379
Ngày, tháng, năm sinh: 05/08/1995 Nơi sinh: Quảng Ngãi Chuyên ngành: Cơ điện tử Mã số : 8520114
I TÊN ĐỀ TÀI: Nghiên cứu và đánh giá các giải thuật điều khiển visual servoing
II NHIỆM VỤ VÀ NỘI DUNG: Thực hiện nghiên cứu các giải thuật điều khiển visual
servoing, đánh giá cho các sơ đồ điều khiển visual servoing khác nhau Nhiệm vụ cụ thể bao gồm:
- Xây dụng hệ thống thị giác liên quan đến visual servoing
- Tìm hiểu lý thuyết điều khiển visual servoing, các kỹ thuật điều khiển visual servoing
- Phân tích các vấn đề thường gặp trong visual servoing
- Tiến hành mô phỏng, đánh giá và so sánh các sơ đồ điều khiển visual servoing
- Xây dựng một ứng dụng cụ thể sử dùng visual servoing
III NGÀY GIAO NHIỆM VỤ : (Ghi theo trong QĐ giao đề tài) 19/08/2019
IV NGÀY HOÀN THÀNH NHIỆM VỤ: (Ghi theo trong QĐ giao đề tài)
Trang 4LỜI CẢM ƠN
Đầu tiên, em xin chân thành cảm ơn quý Thầy trong bộ môn Cơ Điện Tử, khoa Cơ khí, trường Đại học Bách Khoa TPHCM đã tận tình truyền đạt những kiến thức và kinh nghiệm trong những năm em học tập Vốn kiến thức được tiếp thu trong quá trình học tập không chỉ là nền tảng cho quá trình thực hiện luận văn mà còn là hành trang quý báu
để em bước vào đời một cách tự tin và vững chắc
Em cũng xin chân thành cảm ơn Thầy TS Lê Đức Hạnh đã tận tình hướng dẫn em trong suốt thời gian thực hiện luận văn Thầy là người đã giúp em tháo gỡ những khó khăn, vướng mắc gặp phải khi thưc hiện đề tài Sự hiểu biết sâu sắc về khoa học, cũng như kinh nghiệm của Thầy không những học được kiến thức của Thầy mà em còn học được ở Thầy phương pháp nghiên cứu và sự nhiệt tâm của người Thầy với học trò Với sự trân trọng và cảm kích, em xin gửi lời cảm ơn đến ba mẹ, ba mẹ đã động viên con rất nhiều trong suốt quá trình học tập tại trường đại học và nhất là giai đoạn thực hiện luận văn
Trang 5TÓM TẮT LUẬN VĂN
Visual servoing là một kỹ thuật để điều khiển robot, trong đấy thông tin hồi tiếp thị giác được sử dụng trong vòng điều khiển kín giúp cải thiện độ chính xác Các tác vụ điều khiển trong visual servoing được định nghĩa để điều khiển vận tốc của robot, sử dụng các đặc trưng thị giác được trích xuất từ hình ảnh Visual servoing gặp phải nhiều vấn đề khác nhau như cực tiểu cục bộ, singularity, các điểm đặc trưng ra khỏi trường nhìn của camera… Các vấn đề này được giải quyết bằng cách sử dụng các đặc trưng khác nhau hoặc sử dụng các sơ đồ điều khiển khác nhau
Nội dung luận văn sẽ cố gắng trình bày tất cả hiểu biết của học viên liên quan đến visual servoing Bắt đầu từ hệ thống thị giác: xây dựng mô hình camera từ phép chiếu phối cảnh, thiết lập quan hệ giữa các phép chiếu thông qua ràng buộc epipolar và ma trận homography, tiến hành xây dựng chuyển vị của camera bằng cách phân tách ma trận homography và ước lượng các thông số chiều sâu Sau đó, dựa trên nền tảng thị giác máy tính, trình bày về các kỹ thuật điều khiển visual servoing Lý thuyết chung về visual servoing sẽ được đưa ra trước tiên, sau đó sẽ áp dụng cho các sơ đồ điều khiển cụ thể, năm sơ đồ khác nhau sẽ được trình bày để tiến hành các so sánh và đánh giá Các đặc trưng thị giác cũng được trình bày một cách chi tiết, trong đấy tập trung diễn giải các đặc trưng hình học Ngoài ra một số sơ đồ tăng cường và kết hợp cũng được trình bày, các sơ đồ này là sự phối hợp của visual servoing với các kỹ thuật điều khiển khác nhau giúp tăng độ mạnh mẽ cho visual servoing Các vấn đề thường gặp khi áp dụng visual servoing cũng được trình bày và sau đó là các phương pháp xấp xỉ ma trận tương tác để giải quyết các vấn đề đấy
Các sơ đồ phổ biến trong visual servoing đã được trình bày sẽ được mô phỏng trên Matlab và thực hiện các so sánh và đánh giá Để tiến hành các đánh giá, luận văn sẽ đưa
ra các tác vụ điều khiển điển hình là các chuyển động tịnh tiến và xoay quanh các trục Các tiêu chí về hiệu suất được sử dụng để làm thông số đánh giá định lượng cho các sơ
đồ Các đánh giá sẽ được tiến hành với các thông số chuyển động thay đổi và ảnh hưởng khác nhau của nhiễu Kết quả của các tiêu chí sẽ được hiển thị một cách trực quan dưới dạng biểu đồ 3D, và từ đó các nhận xét và so sánh cho các sơ đồ được đưa ra Ngoài ra, luận văn cũng tiến hành đánh giá các sơ đồ khi thực hiện các chuyển động tổng quát
Trang 6Các tác vụ tổng quát sẽ được mô phỏng với robot PUMA560 Mỗi tác vụ đều có một mục đích riêng để thấy được các vấn đề trong một số sơ đồ cũng như cách các sơ đồ khác giải quyết các vấn đề này
Phần cuối sẽ là nội dung được phát triển ở giai đoạn sau của quá trình thực hiện luận văn Phần này đề xuất phương án sử dụng phối hợp các sơ đồ visual servoing để thực hiện tác vụ bám theo một đường viền nằm trong mặt phẳng bất kỳ và không biết trước hình dáng
Trang 7THESIS ABSTRACT
Visual servoing is a technique for robot control, in which visual feedback is used
in a closed loop control to improves the accuracy The control tasks in visual servoing are defined to control the velocity of the robot, using visual features extracted from the image Visual servoing encounters various problems such as local minima, singularity, feature points out of the camera field of view These problems are solved by using different features or using different control schemes
The content of the thesis will try to present all students' knowledge related to visual servoing Begin with vision system: building camera model from perspective projection, establishing relationships between projections through epipolar constraints and homography matrix, estimate the camera displacement by decompositing homography matrix and estimate depth parameters Then, based on the computer vision vision system, visual servoing control techniques were presented The general theory of visual servoing will be presented first, after that applied to specific control schemes, five different schemes will be presented for the comparison and evaluation Visual features are also presented in detail, focusing on the geometric features In addition, the enhancement and combination schemes are also presented, which are a combination of visual servoing with various control techniques that help increase the robusted of visual servoing Common problems in applying visual servoing are also presented and then interactive matrix approximation methods are presented to solve those problems The popular diagrams in visual servoing that have been presented will be simulated
on Matlab and perform comparasion and evaluation To conduct the assessment, the thesis will give typical control tasks that are translational movements and rotation around axes Performance criteria are used as a quantitative evaluation parameter for the schemes The evaluations will be conducted with the varying motion parameters and the varying effects of noise The results of the criteria will be displayed visually as a 3D chart, from which the reviews and compares of schemes are conducted In addition, the thesis also evaluates the diagrams when performing general movements General tasks will be simulated with the PUMA560 robot Each task has its own purpose for seeing problems in some schemes as well as how others solve them
Trang 8The final section will be the content to be developed at a later stage of the thesis implementation process This section proposes the method using visual servoing schemes in combination to perform the task of following a contour in any plane and without knowing the shape
Trang 9LỜI CAM ĐOAN
Tôi xin cam đoan luận văn tốt nghiệp “Nghiên cứu và đánh giá các kỹ thuật điều khiển visual servoing” là công trình nghiên cứu của bản thân Những phần sử dụng tài liệu tham khảo trong luận văn đã được nêu rõ trong phần tài liệu tham khảo Các số liệu, kết quả trình bày trong luận văn là hoàn toàn trung thực, nếu sai tôi xin chịu hoàn toàn trách nhiệm và chịu mọi kỷ luật của bộ môn và nhà trường đề ra
Tp HCM, ngày 3 tháng 9 năm 2020
Võ Duy Công
Trang 10MỤC LỤC
LỜI CẢM ƠN ii
TÓM TẮT LUẬN VĂN v
MỤC LỤC… x
DANH SÁCH HÌNH ẢNH xiii
DANH SÁCH BẢNG BIỂU xvi
DANH SÁCH TỪ VIẾT TẮT xvii
CHƯƠNG 1 GIỚI THIỆU 1
1.1 Giới thiệu chung 1
1.2 Lý do thực hiện luận văn 3
1.3 Mục tiêu luận văn 3
CHƯƠNG 2 THỊ GIÁC MÁY TÍNH 4
2.1 Xây dựng mô hình camera 5
2.1.1 Không gian chiếu và không gian Euclidian 5
2.1.2 Phép chiếu phối cảnh 6
2.1.3 Mô hình camera 7
2.2 Ma trận homography 8
2.2.1 Quan hệ giữa hai phép chiếu 8
2.2.2 Ràng buộc epipolar và ma trận homography 9
2.2.3 Ước lượng ma trận homography 10
2.3 Ước lượng chuyển vị của camera từ ma trận homography 11
2.4 Ước lượng chiều sâu từ ma trận homography 14
2.5 Kết luận 15
CHƯƠNG 3 VISUAL SERVOING 16
3.1 Giới thiệu 16
Trang 113.2 Cấu hình camera 17
3.2.1 Cấu hình eye-in-hand 17
3.2.2 Cấu hình eye-to-hand 17
3.3 Lý thuyết chung về visual servoing 19
3.4 Các sơ đồ điều khiển visual servoing 21
3.4.1 Position Based Visual Servoing (PBVS) 22
3.4.2 Image Based Visual Servoing (IBVS) 23
3.4.3 2 ½ D Visual Servoing (2.5D VS) 25
3.4.4 Partitioned Visual Servoing (PVS) 28
3.4.5 Shorted Path Visual Servoing (SPVS) 30
3.5 Lựa chọn các đặc trưng thị giác 33
3.5.1 Đặc trưng hình học 34
3.5.2 Đặc trưng quan trắc 45
3.5.3 Đặc trưng trường vận tốc 45
3.6 Các sơ đồ điều khiển kết hợp và tăng cường 46
3.6.1 Các sơ đồ chuyển đổi (switching) 46
3.6.2 Task sequencing 50
3.6.3 Feature Trajectory Planning 53
3.7 Các vấn đề trong visual servoing 54
3.7.1 Cực tiểu cục bộ 54
3.7.2 Singularity 55
3.7.3 Tầm nhìn của các đặc trưng 55
3.8 Xấp xỉ ma trận tương tác 56
3.8.1 Phương pháp cổ điển 56
3.8.2 Phương pháp trung bình 58
Trang 123.8.3 Parametric approximations for the Jacobian matrix (PAJM) 61
3.9 Kết luận 62
CHƯƠNG 4 ĐÁNH GIÁ CÁC KỸ THUẬT VISUAL SERVOING 63
4.1 Mô tả các tiêu chí, phương pháp và cách thức đánh giá 63
4.1.1 Các tác vụ điều khiển 63
4.1.2 Các chỉ số hiệu suất 65
4.1.3 Điều kiện thử nghiệm 66
4.1.4 Phương pháp mô phỏng 67
4.2 Kết quả mô phỏng và nhận xét 67
4.2.1 Chuyển động xoay quanh trục quang học với nhiễu 68
4.2.2 Tịnh tiến dọc theo trục quang học của camera 75
4.2.3 Chuyển động xoay quanh trục Y của camera 79
4.2.4 Tịnh tiến dọc theo Y của camera 84
4.2.5 Chuyển động tổng quát 87
4.3 Kết luận 101
CHƯƠNG 5 BÁM THEO ĐƯỜNG VIỀN SỬ DỤNG VISUAL SERVOING 103
5.1 Giới thiệu 103
5.2 Nội suy đường cong 104
5.3 Phương pháp thực hiện 105
5.4 Kết quả mô phỏng 108
5.5 Kết luận 115
TÀI LIỆU THAM KHẢO 116
Trang 13DANH SÁCH HÌNH ẢNH
Hình 1.1 Các lĩnh vực liên quan đến visual servoing 2
Hình 2.1: Mô hình camera 7
Hình 2.2: Chuyển vị của camera 8
Hình 3.1: Cấu hình eye-in-hand 18
Hình 3.2: Cấu hình eye-to-hand 18
Hình 3.3: Các sơ đồ điều khiển visual servoing 21
Hình 3.4: Đặc trưng về góc xoay cho PVS 29
Hình 3.5: Các đặc trưng thị giác trong Visual Servoing 33
Hình 3.6: Các vùng để lựa chọn sơ đồ điều khiển 50
Hình 3.7: Quỹ đạo các điểm đặc trưng khi thực hiện chuyển động quay quanh trục quang học sử dụng CJM 57
Hình 3.8 Quỹ đạo các điểm đặc trưng khi thực hiện chuyển động quay quanh trục quang học sử dụng VJM 58
Hình 3.9 Chuyển động rút lui của camera khi quay quanh trục quang học sử dụng phương pháp xấp xỉ VJM 58
Hình 3.10 Kết của áp dụng phương pháp xấp xỉ PMJM cho chuyển động xoay quanh trục quang học 59
Hình 3.11: Kết quả cho sự kết hợp chuyển động tịnh tiến và quanh trục quang học với góc quay 120 0 của hai phương pháp trung bình 60
Hình 3.12 Kết quả sử dụng PAJM với chuyển động quay 180 0 quanh trục quang học 62
Hình 4.1: Robot Puma 560 64
Hình 4.2 Các điểm đặc trưng cho các tác vụ điều khiển 65
Hình 4.3: Quỹ đạo các điểm đặc trưng với chuyển động xoay 60 0 quanh trục Z 68 Hình 4.4: Quỹ đạo các điểm đặc trưng với chuyển động xoay 180 0 quanh trục Z 69
Trang 14Hình 4.5: Sai số pixel trung bình khi quay quanh trục Z 70
Hình 4.6: Số lần lặp đến khi hội tụ khi quay quanh trục Z 71
Hình 4.7: Khoảng cách tối đa của điểm đặc trưng so với tâm ảnh với chuyển động xoay quanh trục Z 73
Hình 4.8: Chuyển dịch của camera khi quay quanh trục Z 74
Hình 4.9: Quỹ đạo của các điểm đặc trưng khi tịnh tiến dọc theo trục Z 75
Hình 4.10: Sai số pixel trung bình khi tịnh tiến theo trục Z 77
Hình 4.11: Số lần lặp đến khi hội tụ khi tịnh tiến theo trục Z 78
Hình 4.12: Quỹ đạo các điểm đặc trưng khi xoay quanh trục Y 79
Hình 4.13: Sai số pixel trung bình khi xoay quanh trục Y 80
Hình 4.14: Số lần lặp đến lúc dừng khi xoay quanh trục Y 81
Hình 4.15: Chuyển dịch của camera khi quay quanh trục Y 83
Hình 4.16: Quỹ đạo của các điểm đặc trưng khi tịnh tiến theo trục Y 84
Hình 4.17: Sai số pixel trung bình khi tịnh tiến theo trục Y 85
Hình 4.18: Số lần lặp đến lúc dừng khi tịnh tiến theo trục Y 86
Hình 4.19: Cấu hình robot tại vị trí mong muốn 87
Hình 4.20: Cấu hình robot tại vị trí ban đầu cho test 1 87
Hình 4.21: Quỹ đạo các điểm đặc trưng đối với Test 1 89
Hình 4.22: Quỹ đạo 3D của camera đối với Test 1 89
Hình 4.23: Vận tốc của camera 90
Hình 4.24: Quỹ đạo các điểm đặc trưng đối với Test 2 91
Hình 4.25: Tọa độ 3D của camera đối với test 2 91
Hình 4.26: Vận tốc góc của camera đối với test 2 92
Hình 4.27: Vậ tốc dài của camera đối với test 2 93
Hình 4.28: Cấu hình robot tại vị trí ban đầu cho test 3 93
Trang 15Hình 4.29: Quỹ đạo các điểm đặc trưng khi thực hiện test 3 95
Hình 4.30: Quỹ đạo của camera khi thực hiện test 3 95
Hình 4.31: Đồ thị vận tốc dài của camera khi thực hiện test 3 96
Hình 4.32: Đồ thị vận tốc góc của camera khi thực hiện test 3 96
Hình 4.33: Cấu hình robot tại vị trí ban đầu cho test 4 97
Hình 4.34: Đồ thị quỹ đạo các điểm đặc trưng cho test 4 99
Hình 4.35: Quỹ đạo 3D của camera cho test 4 99
Hình 4.36: Đồ thị vận tốc dài của camera cho test 4 100
Hình 4.37: Đồ thị vận tốc góc của camera cho test 4 100
Hình 5.1: Kết quả nội suy sử dụng đường cubic Bezier 104
Hình 5.2: Xác định điểm tracking 106
Hình 5.3: Tạo điểm đặc trưng ảo trong hình ảnh 107
Hình 5.4: Vị trí ban đầu của robot 108
Hình 5.5: Quỹ đạo của các điểm đặc trưng và của robot 109
Hình 5.6: Robot ở vị trí song song mới mặt phẳng đường viền 109
Hình 5.7: Robot sau khi đi hết đoạn thẳng 110
Hình 5.8: Kết quả bảm theo đường thẳng với bán kính r = 160 pixels 110
Hình 5.9: Kết quả bảm theo đường thẳng với bán kính r = 80 pixels 111
Hình 5.10: Kết quả bám theo đường thẳng với nhiễu bằng 1 111
Hình 5.11: Kết quả bám theo đường thẳng với nhiễu bằng 10 112
Hình 5.12: Quỹ đạo và sai số khi bám theo đường tròn 112
Hình 5.13: Quỹ đạo và sai số khi bám theo hình vuông 113
Hình 5.14: Một số kết quả bám theo quỹ đạo dùng IBVS 114
Trang 16DANH SÁCH BẢNG BIỂU
Bảng 4.1: Chỉ số hiệu suất khi thực hiện test 1 88
Bảng 4.2: Chỉ số hiệu suất khi thực hiện test 2 90
Bảng 4.3: Chỉ số hiệu suất khi thực hiện test 3 94
Bảng 4.4: Chỉ số hiệu suất khi thực hiện test 4 98
Trang 17DANH SÁCH TỪ VIẾT TẮT
VS – Visual servoing
IBVS – Image based visual servoing
PBVS – Position based visual servoing
PVS – Partioned visual servoing
2.5DVS – 2 ½ D visual servoing
SPVS – Shorted path visual servoing
CJM – Constant Jacobian matrix
VJM – Varying Jacobian matrix
PMJM – Pseudo-inverse of the mean of Jacobian
MJPM – Mean of the Jacobian pseudo-inverse
PAJM – Parametric approximations for the Jacobian matrix
Trang 18CHƯƠNG 1 GIỚI THIỆU
CHƯƠNG 1 GIỚI THIỆU 1.1 Giới thiệu chung
Ngày nay, với sự phát triển không ngừng của khoa học và công nghệ, robot ngày càng đóng vai trò quan trọng trong mọi lĩnh vực của đời sống, xã hội, thay thế dần sức lao động của con người tạo ra các sản phẩm chất lượng và có độ chính xác cao Do đó, các yêu cầu về tính linh hoạt, độ chính xác và sự mạnh mẽ của robot ngày càng cao và
có thể hoạt động trong nhiều môi trường khác nhau Để đáp ứng các yêu cầu như thế, các robot thường được tích hợp các cảm biến để đo đạc và cảm nhận môi trường xung quanh (đặc biệt khi robot hoạt động trong môi trường không cấu trúc) Các loại cảm biến thường được sử dụng là cảm biến lực, cảm biến siêu âm, laser, cảm biến thị giác…Trong đấy, cảm biến thị giác (ví dụ như camera) là phổ biến nhất, bởi vì cách cảm biến thị giác cảm nhận môi trường gần giống với con người và cho phép sự đo đạc không tiếp xúc
Sử dụng điều khiển dựa trên thị giác giúp robot có thể cảm nhận và phản ứng với môi trường phức tạp, không biết trước Camera bắt đầu được sử dụng trong điều khiển robot từ những năm sáu mươi của thế kỉ trước Thông tin thị giác được sử dụng trong
bộ điều khiển vòng hở, robot “nhìn” và sau đấy “di chuyển”, do đó độ chính xác phụ thuộc trực tiếp vào độ chính xác của cảm biến hình ảnh và của robot Điều khiển hồi tiếp sử dụng thông tin thị giác (điều khiển vòng kín) chỉ bắt đầu phát triển vào những năm 90 giúp tăng độ chính xác của hệ thống Hệ thống điều khiển vòng kín này được
gọi là Visual Servoing
Visual servoing là một kỹ thuật để điều khiển robot, trong đấy thông tin hồi tiếp thị giác được sử dụng trong vòng điều khiển kín giúp cải thiện độ chính xác Đây là một
kĩ thuật với sự kết hợp của nhiều lĩnh vực khác nhau như thị giác máy tính, động học và động lực học, lý thuyết điều khiển và các kĩ thuật tối ưu hóa (Hình 1.1) Sự thiếu chính xác của cơ cấu cơ khí có thể được bù đắp khi sử dụng kỹ thuật visual servoing Dữ liệu thị giác được hồi tiếp trong sơ đồ điều khiển giúp hệ thống đạt được độ chính xác yêu cầu cho dù hệ thống cơ khí chưa thật sự hoàn chỉnh
Trang 19CHƯƠNG 1 GIỚI THIỆU
Một tác vụ robot trong visual servoing sử dụng các đặc trưng hình ảnh trích xuất
từ đối tượng để điều khiển chuyển động của robot/camera Có nhiều nghiên cứu khác nhau tập trung vào việc lựa chọn các đặc trưng hình ảnh, cấu trúc của sơ đồ điều khiển, khảo sát sự mạnh mẽ đối với các sai số hay sự không chắc chắn khi hiệuu chỉnh robot
và camera Một hệ thống visual servoing có thể được thiết kế sử dụng các đặc trưng 2D như tọa độ các điểm trong hình ảnh, các đặc trưng 3D như tọa độ Cartesian hoặc kết hợp
cả hai Dựa trên sự lựa chọn các đặc trưng và sơ đồ điều khiển, hệ thống robot sẽ có các hành vi khác nhau Dó đó sẽ gây ra các khó khăn để có thể thiết kế và lựa chọn được các thông tin thị giác và sơ đồ điều khiển cho ra đáp ứng phù hợp
Sử dụng thị giác trong điều khiển robot giúp giải quyết được nhiều vấn đề khác nhau nhờ vào thông tin thị giác được thu thập mà không có sự tiếp xúc với môi trường Tuy nhiên, một số vấn đề cần được xem xét khi sử dụng cảm biến thị giác trong điều khiển robot Những vấn đề này bao gồm sự ổn định cục bộ hoặc toàn cầu, quỹ đạo của robot và của các tính năng hình ảnh phải phù hợp, tách rời tối đa giữa thông tin thị giác
và bậc tự do được điều khiển, tránh sự kỳ dị và cực tiểu cục bộ của ma trận điều khiển (ma trận tương tác), đảm bảo các tính năng nằm trong trường nhìn của camera, tránh va chạm và tránh giới hạn các góc khớp của robot
Hình 1.1 Các lĩnh vực liên quan đến visual servoing
Trang 20CHƯƠNG 1 GIỚI THIỆU
1.2 Lý do thực hiện luận văn
Visual servoing có thể được áp dụng trong hầu hết các hệ thống robot thực hiện các công việc định vị và mang tính chất lặp lại (ví dụ như mobile robot, robot arm, humanoid robot…) Visual servoing gặp phải nhiều vấn đề khác nhau như cực tiểu địa phương, singularities, các điểm đặc trưng ra khỏi trường nhìn của camera… Các vấn đề này được giải quyết bằng cách sử dụng các đặc trưng khác nhau hoặc sử dụng các sơ đồ điều khiển khác nhau Có nhiều kỹ thuật visual servoing khác nhau đã được phát triển nhằm giải quyết các vấn đề trên Mỗi kỹ thuật có các ưu nhược điểm khác nhau, giải quyết một số vấn đề và một số vấn đề vẫn còn tồn tại và sẽ được khắc phục bởi phương pháp khác Do đó luận văn sẽ xem xét các kỹ thuật phổ biến trong visual servoing và thực hiện các đánh giá dựa trên hiệu quả và khả năng giải quyết các vấn đề gặp phải trong visual servoing của các kỹ thuật
1.3 Mục tiêu luận văn
Mục tiêu của luận văn sẽ cố gắng tìm hiểu và trình bày các khía cạnh liên quan đến
kỹ thuật điều khiển visual servoing Thực hiện các đánh giá cho các sơ đồ điều khiển visual servoing khác nhau Mục tiêu cụ thể bao gồm:
• Xây dụng hệ thống thị giác mô tả quan hệ giữa các phép chiếu Ước lượng ma trận homography biểu diễn quan hệ giữa hai phép chiếu
• Phân tách ma trận homography để ước lượng chuyển vị của camera
• Tìm hiểu lý thuyết chung về visual servoing
• Tìm hiểu hai thành phần trong visual servoing: các sơ đồ điều khiển và các đặc trưng thị giác
• Tìm hiểu các sơ đồ tăng cường và phối hợp
• Phân tích các vấn đề thường gặp trong visual servoing
• Tiến hành mô phỏng, đánh giá và so sánh các kỹ thuật visual servoing
• Xây dựng một ứng dụng dùng visual servoing, cụ thể là áp dụng cho bài toán điều khiển robot bám theo đường viền với hình dạng bất kỳ
Trang 21
CHƯƠNG 2 THỊ GIÁC MÁY TÍNH
CHƯƠNG 2 THỊ GIÁC MÁY TÍNH
Đối với một robot hoạt động trong lĩnh vực công nghiệp tự động hóa, môi trường xung quanh là hoàn toàn biết trước Thách thức là phát triển một hệ thống tự động trong môi trường không xác định Để xây dựng một hệ thống như vậy, điều quan tâm hàng đầu là phải thu thập được càng nhiều thông tin từ môi trường xung quanh càng tốt Cảm biến có thể đáp ứng tốt nhất điều này là cảm biến thị giác (camera) Với sự phát triển của camera kỹ thuật số, việc thu thập dữ liệu hình ảnh ngày càng dễ dàng và có thể nhanh chóng liên kết với bộ điều khiển Sau đấy, hình ảnh cần phải được tiền xử lý bằng các kỹ thuật như lọc nhiễu, làm sắc nét…
Khi hình ảnh được thu nhận, cần phải xác định đối tượng cần quan tâm trong hình ảnh Điều này có thể khó khăn vì có nhiều đối tượng khác nhau trong hình ảnh và nền
có nhiều kết cấu khác nhau Sau khi xác định được đối tượng, các đặc trưng của đối tượng cần trích xuất, đó có thể là điểm, đường thẳng, đường tròn, màu sắc, mức xám, hình dạng cụ thể Các tính năng này có thể được sử dụng như đầu vào của sơ đồ điều khiển hay để ước lượng vị trí của đối tượng
Thông tin ba chiều của thế giới thực sau khi đưa vào hình ảnh thì chỉ còn lại hai chiều, thông tin về chiều sâu của đối tượng sẽ bị mất đi Do đó, vấn đề là làm sao xây dựng lại được mô hình 3D của đổi tượng chỉ từ hình ảnh 2D Điều này có thể thực hiện được nếu biết trước được các ràng buộc hình học của đối tượng, tuy nhiên lại làm giảm tính linh hoạt của hệ thống Một phương pháp khác có thể được sử dụng là xây dựng chuyển vị của camera từ hai hình ảnh Trong visual servoing thì hình ảnh của đối tượng tại vị trí mong muốn luôn được xác định trước, do đó từ hình ảnh mong muốn và hình ảnh hiện tại của đối tượng, ta có thể xây dựng lại được mô hình của đối tượng Phương
pháp này gọi là chuyển động và xây dựng cấu trúc từ chuyển động (motion and structure from motion)
Trong chương này, trình bày các vấn đề cơ bản trong thị giác máy tính Xây dựng
mô hình camera đi từ phép chiếu phối cảnh trong không gian chiếu, các ràng buộc giữa hai khung hình của cùng một đối tượng được chụp ở hai tư thế khác nhau của camera
và cách xây dựng chuyển vị của camera sử dụng ma trận homography
Trang 22
CHƯƠNG 2 THỊ GIÁC MÁY TÍNH
2.1 Xây dựng mô hình camera
2.1.1 Không gian chiếu và không gian Euclidian
Không gian chiếu ℙn, về mặt hình học có thể xem như là sự mở rộng của không gian Euclidean vì nó cho phép giải quyết các thao tác với đối tượng hình học ở “vô
cùng” Một điểm P trong không gian Euclidean n chiều, được biểu diễn trong hệ tọa độ
bởi vector [𝑋1, 𝑋2, … , 𝑋𝑛]𝑇 ∈ 𝑅𝑛 có thể được biểu diễn trong không gian chiếu ℙn với tọa độ đồng nhất [𝑋1, 𝑋2, … , 𝑋𝑛, 1]𝑇 ∈ 𝑅𝑛+1 Và một vector hướng [𝑋1, 𝑋2, … , 𝑋𝑛]𝑇
trong không gian Euclidean mà tương ứng với một “điểm ở vô cùng” có thể được biểu diễn bằng tọa độ đồng nhất bởi điểm chiếu [𝑋1, 𝑋2, … , 𝑋𝑛, 0]𝑇 Trong trường hợp tổng quát, một điểm trong không gian chiếu ℙn được biểu diễn bởi vector khác không có kích thước là n+1 Các phần tử được xác định theo một hệ số tỉ lệ và có ít nhất 1 phần tử khác không Điểm tương ứng trong không gian Euclidean được xác định bằng cách chia tất
cả các tọa độ cho tọa độ cuối trong không gian chiếu nếu phần tử này khác 0 Một mặt phẳng (hyper-plane) trong không gian Euclidean là một tập hợp các điểm mà tọa độ của chúng thỏa mãn một phương trình tuyến tính Sử dụng tọa độ đồng nhất, hyper-plane có
thể được biểu diễn trong không gian chiếu bằng vector khác không q có n + 1 phần tử,
xác định theo một hệ số tỉ lệ Một hyper-plane đặc biệt trong không gian Euclidean bao gồm các điểm nằm ở vô cùng, mà tương ứng với một “mặt phẳng ở vô cùng” có thể được biểu diễn bởi 𝒒∞ = [0, 0, … ,1]𝑇 Tất cả các điểm trong ℙn thuộc một hyper-plane
sẽ thỏa mãn phương trình 𝒒𝑇𝑷 = 0 Phương trình này thể hiện sự đối xứng giữa tọa độ
hyper-plane q và tọa độ điểm P vì 𝒒𝑇𝑷 = 𝑷𝑇𝒒 = 0
Hình học chiếu là một công cụ mạnh mẽ mà đơn giản trong tính toán Tuy nhiên cần phải nhấn mạnh rằng các nhiệm vụ trong robotics được thực hiện trong không gian Euclidean và vì vậy, sau khi tính toán, việc điều khiển robot phải thiết kế trong không gian Euclidean Liên kết giữa không gian chiếu và không gian Euclidean được thực hiện
sử dụng tọa độ đồng nhất mà đã được biết đến trong ngành robot vì sự thay đổi tọa độ Cartesian có thể được biểu diễn bằng ma trận biến đổi đồng nhất (homogeneous) Hơn nữa, ma trận chuyển đổi đồng nhất được sử dụng trong mô hình hóa robot và điều khiển [8] Chúng ta nhắc lại một số điều cơ bản của ma trận chuyển đổi đồng nhất
Trang 23
CHƯƠNG 2 THỊ GIÁC MÁY TÍNH
Đặt 𝐹∗ là hệ tọa độ tham chiếu toàn cục trong không gian Cartesian Ma trận chuyển đổi đồng nhất giữa hệ tọa độ 𝐹∗ và hệ tọa độ F là:
𝑻∗= [𝑹 𝒕
Trong đấy R và t tương ứng là ma trận xoay và vector tịnh tiến giữa 𝐹∗ và F Ma
trận chuyển đổi ngược là:
Một mặt phẳng trong không gian Cartesian, biểu diễn trong hệ tọa độ 𝐹∗, được đặc
trưng bởi vector chỉ phương n* và khoảng cách d * từ gốc tọa độ C * của hệ tọa độ tham
chiếu Sử dụng tọa độ đồng nhất, nó sẽ được biểu diễn bởi vector 𝒒∗ = [𝒏∗ − 𝑑∗]𝑇 Mặt phẳng tương tự 𝒒 = [𝒏 − 𝑑]𝑇 trong hệ tọa độ F được biểu diễn như sau:
𝒒 = (𝑻∗)−𝑇𝒒∗→ [ 𝒏
−𝑑] = [ 𝑹𝒏∗
−𝑑∗− 𝒕𝑇𝑹𝒏∗] (2.4) Với ma trận (𝑻∗)−𝑇 là ma trận đối ngẫu của 𝑻∗
Trang 24Với 𝑸 = 𝑸∗𝑻∗= [𝑹 𝒕] là ma trận 3×4 được diễn giải trong hệ tọa độ mới và 𝜆 là
một hệ số khác không Trong không gian Euclidean, chúng ta có 𝜆 = 𝑍/𝑓
2.1.3 Mô hình camera
Camera, sử dụng mô hình pinhole để thực hiện một phép chiếu phối cảnh của một điểm 𝑷 ∈ ℙ3 thành điểm ảnh 𝒎 ∈ ℙ2 với tọa độ pixel đồng nhất 𝒎 = [𝑢 𝑣 1]𝑇
Giả sử camera không bị méo ống kính thì quan hệ giữa các tọa độ P và m là tuyến tính
Sự chuyển đổi giữa tọa độ chuẩn hóa và tọa độ pixels của điểm ảnh theo phương trình:
Trang 25
CHƯƠNG 2 THỊ GIÁC MÁY TÍNH
Trong đấy 𝑢0 và 𝑣0 là tọa độ pixel của principal point, 𝑘𝑢 và 𝑘𝑣 là hệ số tỉ lệ theo phương 𝑥⃗ và 𝑦⃗ (đơn vị pixel/m), và ɸ là góc giữa hai trục này Do đó áp dụng sự thay đổi hệ tọa
độ ta có:
Nếu thông số nội của camera được xác định hoàn chỉnh, chúng ta có thể sử dụng tọa độ chuẩn hóa hoặc tọa độ pixel Cần nhấn mạnh rằng một sự chuẩn hóa của dữ liệu thì cần thiết khi sử dụng tọa độ pixel Ngay cả khi camera không được calib tốt, sử dụng tọa độ chuẩn hóa sẽ cho kết quả tốt hơn
2.2 Ma trận homography
2.2.1 Quan hệ giữa hai phép chiếu
Xét hai hình chiếu của đối tượng tĩnh (xem hình 2.2) Trong nhiệm vụ định vị dùng
visual servoing, mục tiêu là thiết kế một luật điều khiển để cho tư thế của camera (F) đạt được tư thế mong muốn (F*) Để liên kết hai hình chiếu của đối tượng, một điểm P*
có thể được xác định như sau:
Hình 2.2: Chuyển vị của camera
Trang 26
CHƯƠNG 2 THỊ GIÁC MÁY TÍNH
với 𝑸∗+ = 𝑸∗𝑇(𝑸∗𝑸∗𝑇)−1 = [𝐼3 0]𝑇 là ma trận giả nghịch đảo của 𝑸∗ và 𝑸∗− =[0 0 0 𝑊∗]0 Khoảng cách Euclidean 𝑑(𝑷∗, 𝒒∗) giữa điểm 𝑷∗ và mặt phẳng 𝜋 (hình 2.2), mô tả bởi vector 𝒒∗ = [𝒏𝑇 −𝑑∗]𝑇, có thể được viết: 𝑑(𝑷∗, 𝒒∗) = 𝒒∗𝑇𝑷∗ Do đó, tọa độ đồng nhất 𝑊∗ có thể được biểu diễn: 𝑊∗ = 𝜆∗𝒏∗𝑇𝒑∗/𝑑∗− 𝑑(𝑷∗, 𝒒∗)/𝑑∗ Phương trình trên viết lại:
𝑷∗ = 𝜆∗𝑸𝜋∗+𝒑∗+ 𝑸𝜋∗− (2.11) trong đấy 𝑸𝜋∗+ = [𝐼3 𝒏∗/𝑑∗]𝑇 và 𝑸𝜋∗− = [0 𝜖]𝑇 (với 𝜖 = −𝑑(𝑷∗, 𝒒∗)/𝑑∗) Sử dụng phương trình (6), quan hệ giữa hai điểm chiếu trong hai hình ảnh có thể được viết:
𝜆𝒑 = 𝜆∗𝑸𝑸𝜋∗+𝒑∗+ 𝑸𝑸𝜋∗− = 𝜆∗𝑯𝑒𝒑∗+ 𝜖𝒕 (2.12) trong đấy 𝑯𝑒 = 𝑸𝑸𝜋∗+ = 𝑹 + 𝒕𝒏∗/𝑑∗ là ma trận homography liên quan tới mặt phẳng tham khảo Nếu mặt phẳng tham khảo là 𝒒∞, chúng ta có 𝒏∗/𝑑∗ = 0 và 𝜖 = 1, phương trình trên trở thành:
với 𝑯𝑒∞ = 𝑹 là ma trận homography liên quan tới mặt phẳng tại vô cùng (vì nó ánh xạ
các điểm nằm trên mặt phẳng ở vô cực giữa hai hình chiếu)
2.2.2 Ràng buộc epipolar và ma trận homography
Phương trình (2.12) có thể viết lại trong hệ tọa độ pixel sử dụng phương trình (2.7):
𝜆𝒎 = 𝜆∗𝑨𝑯𝑒𝑨−1𝒎∗+ 𝜖𝑨𝒕 = 𝜆∗𝑯𝑝𝒎∗+ 𝜖𝒆 (2.14)
với 𝒆 = 𝑨𝒕 là đường epipole trong khung hình thứ hai và 𝑯𝑝 = 𝑨𝑯𝑒𝑨−1 là ma trận projective homography diễn giải trong tọa độ pixel Bây giờ xét ba điểm 3D 𝑷𝑖 trên đối tượng Những điểm này được chọn sao cho chúng không thẳng hàng trong hình ảnh Các điểm ảnh với tọa độ pixel 𝒎𝑖 trong hệ tọa độ F sẽ tương ứng với các điểm ảnh có
tọa độ 𝒎𝑖∗ trong hệ tọa độ F* bởi ma trận hormography:
Trang 27
CHƯƠNG 2 THỊ GIÁC MÁY TÍNH
với 𝑯𝑝 (3× 3)là ma trận projective homography và 𝛼𝑖 = 𝜆𝑖/𝜆∗𝑖 Thật vậy, phương trình (2.15) có thể thu được từ phương trình (2.14) vì 𝜖 = −𝑑(𝑷∗, 𝒒∗)/𝑑∗ = 0 đối với tất cả các điểm nằm trên mặt phẳng π tạo thành bởi ba điểm đã chọn Lưu ý rằng ma trân 𝑯𝑝được định nghĩa với một hệ số tỉ lệ, do đó cho một phần tử của 𝑯𝑝 bằng 1 mà không mất tính tổng quát Trong trường hợp đối tượng là mặt phẳng, phương trình (2.15) xác định cho mỗi điểm đặc trưng, do đó, nếu nhiều hơn ba điểm có sẵn, ma trận homography
có thể được ước lượng bằng cách giải hệ thống tuyến tính với 8 ẩn số chưa biết của 𝑯𝑝
2.2.3 Ước lượng ma trận homography
Phương trình (2.15) cho biết mối quan hệ giữa điểm ảnh với tọa độ pixel 𝒎𝑖 trong
hệ tọa độ F với điểm ảnh có tọa độ 𝒎𝑖∗ trong hệ tọa độ F* thông quan ma trận homography 𝑯𝑝 Biến đối phương trình này được:
𝛼𝑖[
𝑢𝑖
𝑣𝑖1] = [
Trang 28
CHƯƠNG 2 THỊ GIÁC MÁY TÍNH
Giải phương trình này thu được ma trận 𝑯𝑝 được định nghĩa theo một hệ số:
∆ 𝑯𝑝 = [
ℎ′11 ℎ′12 ℎ′13ℎ′21 ℎ′22 ℎ′23ℎ′31 ℎ′32 1
Với ∆ = 1/ℎ33 Sau khi tìm được ma trận 𝑯𝑝, ma trận 𝑯𝑒 được xác định:
𝑯𝑒 = 𝑹 + 𝒕𝒏∗/𝑑∗ = 𝑨−1𝑯𝑝𝐴 (2.21)
2.3 Ước lượng chuyển vị của camera từ ma trận homography
Kết hợp phương trình (2.20) và (2.21) ta thu được:
𝑯 = ∆ 𝑯𝒆 = ∆𝑹 + 𝝉𝒏∗= 𝑨−1𝑯′𝑝𝑨 (2.22) Với 𝝉 = ∆ 𝒕/𝑑∗ Các thành phần chuyển vị 𝑹, 𝝉, 𝒏∗, ∆ có thể tìm được bằng cách phân tách ma trận 𝑯 sử dụng phương pháp SVD (singular value decomposition) Trong trường hợp tổng quát, có hai lời giải khi phân tách ma trận 𝑯 Phần này sẽ trình bày phương pháp được được xuất bởi Faugeras [1]:
Phân tách ma trận 𝑯 sử dụng phương pháp SVD:
Thu được các ma trận trực giao 𝑼, 𝑽 và ma trận đường chéo 𝑺 chứa các giá trị suy
biến của ma trận 𝑯 Có thể xem ma trận 𝑺 như một ma trận homography và phân tách S
Trang 29Vì 𝒏𝑺∗ là vector đơn vị cho nên ∑3𝑖=1𝑥𝑖2 = 1
Ta luôn có 𝑑𝑆 = ±𝑑2 và sẽ có tối đa tám lời giải khác nhau của phương trình (2.24) Nếu 𝑑1 ≠ 𝑑3 các giá trị 𝑥𝑖, 𝑖 = 1 ÷ 3 được xác định:
Trang 31𝑛∗ và khoảng cách 𝑑∗ nên có thể thu được kết quả duy nhất ngay từ đầu từ (2.26)
2.4 Ước lượng chiều sâu từ ma trận homography
Nếu biết trước tọa độ 𝑷∗ và khoảng cách 𝑑∗ và vector 𝒏∗ trong hệ tọa độ 𝑭∗ thì các thành phần tương ứng trong hệ tọa dộ 𝐹 có thể ước lượng thông qua ma trận homography Thật vậy, chú ý rằng 𝒏 = 𝑹𝒏∗, mà ma trận 𝑹 đã được phân tách từ ma trận 𝑯𝑒, và tỉ số:
Trang 32
CHƯƠNG 2 THỊ GIÁC MÁY TÍNH
Các thông số này là quan trọng và được sử dụng trong các sơ đồ điều khiển visual servoing được để cập ở chương sau
2.5 Kết luận
Như vậy trong chương này đã trình bày các vấn đề cơ bản nhất trong thị giác máy tinh Từ cách xây dựng mô hình camera tới việc xây dựng quan hệ giữa hai phép chiếu,
để từ đó hình thành nên ma trận homography Ma trận homography sẽ được xác định
sử dụng ít nhất bốn điểm Phân tách ma trận homograpy sẽ thu được các thông số chuyển
vị của camera Từ các thông số này, sẽ ước lượng các giá trị chiều sâu sử dụng trong visual servoing
Trang 33
CHƯƠNG 3 VISUAL SERVOING
CHƯƠNG 3 VISUAL SERVOING 3.1 Giới thiệu
Visual servoing (VS) là một kỹ thuật điều khiển hồi tiếp sử dụng thông tin thị giác giúp tăng cường độ chính xác và tính linh động của hệ thống robot [3,4,5,6,7] Các tác
vụ điều khiển trong visual servoing được định nghĩa để điều khiển vị trí của robot trong khung tọa độ toàn cục hoặc trong khung tọa độ của đối tượng mục tiêu, sử dụng các đặc trưng thị giác được trích xuất từ hình ảnh theo thời gian thực [8,9] Hàm sai số trong visual servoing được định nghĩa là sai số giữa các đặc trưng thị giác hiện tại và đặc trung thị giác tại vị trí mong muốn Mục tiêu của sơ đồ điều khiển dựa trên thị giác là điều chỉnh sai số và triệt tiêu nó (sai số bằng không) Một hay nhiều camera có thể được sử dụng để thu thập thông tin thị giác từ đối tượng để điều khiển robot [3, 5, 9, 10, 11] Dựa trên cách thông tin thị giác được sử dụng, VS được phân thành hai sơ đồ điều khiển chính là position based visual servoing (PBVS) và image based visual servoing (IBVS) [3,5,6,7,12] Sự kết hợp của hai sơ đồ điều khiển tạo thành một sơ đồ lai gọi là 2-1/2D visual servoing [13] Trong một hệ thống PBVS, đầu vào được tính toán trong không gian 3D (vì lý do này, phương pháp này có thể được gọi là 3D visual servoing)
Vị trí của đối tượng so với camera được ước lượng từ các đặc trưng hình ảnh của đối tượng Có nhiều phương pháp khác nhau để xác định vị trí của đối tượng (xem [14]) Tất cả các phương pháp đều yêu cầu biết mô hình hình học hoàn chỉnh của đối tượng và các thông số calib của camera Với hệ thống điều khiển IBVS, đầu vào được tính toán trong không gian ảnh 2D (vì lý do này, phương pháp này còn gọi là 2D visual servoing) [8] Phương pháp này được biết đến rất mạnh mẽ đối với sai số calib camera và robot [15] Tuy nhiên sự hội tụ của nó về mặt lý thuyết chỉ được đảm bảo trong một vùng (hoàn toàn không thể phân tích để xác định) xung quanh vị trí mong muốn Ngoại trừ các trường hợp đơn giản, việc phân tích độ ổn định liên quan đến lỗi hiệu chỉnh là một điều bất khả thi, vì hệ thống được ghép nối và phi tuyến
Hai khía cạnh chính ảnh hưởng lớn đến hành vi của hệ thống visual servoing là: việc lựa chọn các đặc trưng thị giác được sử dụng làm đầu vào của bộ điều khiển và sơ
đồ điều khiển được thiết kế Cùng một bộ các đặc trưng, hệ thống sẽ có các hành vi khác
Trang 34
CHƯƠNG 3 VISUAL SERVOING
nhau khi được sử dụng trong các sơ đồ điều khiển khác nhau và cùng một luật điều khiển
sẽ cho các hành vi khác nhau khi xem xét các đặc trưng khác nhau Hành vi thu được với sự kết hợp của các lựa chọn này thường không như mong muốn: chọn một bộ đặc trưng cụ thể hoặc sơ đồ điều khiển cụ thể có thể dẫn đến một số vấn đề về tính ổn định
3.2.1 Cấu hình eye-in-hand
Trong cấu eye-in-hand (xem Hình 3.1), camera được gắn vào end-effector của
robot và các sơ đồ điều khiển visual servoing được thiết kế sao cho các vectơ vận tốc v
hoặc 𝑞̇ được xác định để điều khiển chuyển động yêu cầu trong hệ tọa độ camera hoặc trong không gian khớp của robot Vector vận tốc này được gửi đến bộ điều khiển robot
để thực hiện chuyển động yêu cầu Do đó, hiệu chuẩn máy ảnh, hiệu chuẩn robot và hiệu chỉnh quan hệ giữa camera và end-effector cần phải thực hiện trước để có bộ thông số nội của camera, ma trận Jacobian của robot 𝑒𝐽𝑞 và ma trận chuyển đổi 𝑐𝑀𝑒 giữa hệ tọa
độ camera 𝐹𝑐 và hệ tọa độ end-effector 𝐹𝑒
3.2.2 Cấu hình eye-to-hand
Trang 35
CHƯƠNG 3 VISUAL SERVOING
Trong cấu hình eye-to-hand, camera được cố định trong không gian làm việc (xem Hình 3.2) Không giống như cấu hình eye-in-hand, hình ảnh của đối tượng thay đổi là
do chuyển động của đối tượng và của camera, trong cấu hình eye-to-hand, hình ảnh của đối tượng thay đổi chỉ do chuyển động của đối tượng Ma trận biến đổi 𝑀𝑐 𝑏 giữa hệ tọa
độ camera 𝐹𝑐 và hệ tọa độ cơ sở của robot 𝐹𝑏 không đổi và được tính một lần Vị trí tương đối giữa hệ tọa độ end-effector và hệ tọa của camera có thể được tính bằng phép đổi giữa các hệ tọa độ
Hình 3.1: Cấu hình eye-in-hand
Hình 3.2: Cấu hình eye-to-hand
Trang 36
CHƯƠNG 3 VISUAL SERVOING
3.3 Lý thuyết chung về visual servoing
Để thực hiện một nhiệm vụ trong visual servoing, một tập hợp các đặc trưng thị giác được lựa chọn từ hình ảnh cho phép điều khiển các bậc tự do mong muốn Một luật điều khiển cũng được thiết kế để các đặc trưng thị giác 𝑠 bằng với các đặc trưng mong muốn 𝑠∗ Do đó, tất cả các tác vụ visual servoing đều nhằm mục tiêu triệt tiêu sai số 𝑒(𝑡) được định nghĩa [6]:
trong đấy vector 𝑚(𝑟(𝑡)) là một tập hợp các đo đạc trong hình ảnh (ví dụ như tọa độ điểm ảnh, hoặc diện tích, trọng tâm và các đặc trưng hình học khác của đối tượng) Các
đo đạc hình ảnh này phụ thuộc vào vị trí 𝑟(𝑡) giữa camera và môi trường Chúng được
sử dụng để tính toán vector 𝑠[𝑚(𝑟(𝑡)), 𝑎] của các đặc trưng thị giác, trong đấy 𝑎 là tập các thông số biểu diễn cho sự hiểu biết thêm về hệ thống (ví dụ như ma trận thông số nội của camera hoặc mô hình ba chiều của đối tượng) Vector 𝑠∗ chứa các giá trị mong muốn của các đặc trưng mà có thể có giá trị không đổi nếu mục tiêu cố định hoặc thay đổi nếu đối tượng di chuyển theo một quỹ đạo nhất định
Khi các biến điều khiển được định nghĩa trong hệ tọa độ của camera, để tối thiểu sai số 𝑒(𝑡), cách tiếp cận đơn giản nhất là điều khiển vận tốc của robot (cũng là vận tốc camera) Quan hệ giữa đạo hàm của vector 𝑠 và vận tốc tương đối giữa camera và đối tượng được cho bởi:
𝑠̇ = 𝐿𝑠𝜗𝑐𝑜 +𝜕𝑠
trong đấy 𝜕𝑠
𝜕𝑡 là đạo hàm của 𝑠 gây ra do chuyển động của chính đối tượng, 𝐿𝑠 ∈ 𝑅𝑘×𝑛 là
ma trận tương tác hay ma trận Jacobian, 𝜗𝑐𝑜 = 𝜗𝑐− 𝜗𝑜 là vận tốc tương đối giữa hệ tọa
độ camera F c và hệ tọa độ của đối tượng F o, 𝜗𝑐 là vận tốc của camera và 𝜗𝑜 là vận tốc của đối tượng Khi đối tượng không chuyển động, 𝜕𝑠
𝜕𝑡 = 0 và 𝜗𝑐𝑜 = 𝜗𝑐 Ta thu được:
Trang 37
CHƯƠNG 3 VISUAL SERVOING
Sử dụng ma trận Jacobian để chuyển từ vận tốc của camera về vận tốc các góc khớp, quan hệ giữa 𝑠̇ và vận tốc các góc khớp 𝑞̇ thu được như sau [16,17]:
𝑠̇ = 𝐿𝑠𝑉𝑒𝑐𝐽𝑞𝑞̇ +𝜕𝑠
trong đấy 𝐽𝑞 là ma trận Jacobian của robot biểu diễn trong tọa độ end-effector Fe và 𝑉𝑒𝑐
là ma trận chuyển đổi vận tốc trong hệ tọa độ end-effector Fe thành vận tốc trong hệ tọa
độ camera Fc và được định nghĩa [16]:
end-Nếu đối tượng không chuyển động, từ (3.4) thu được:
xỉ trong thực tế Ta kí hiệu 𝐿̂𝑠 là ma trận xấp xỉ của 𝐿𝑠 trong thực tế Luật điều khiển thực tế là:
Trang 38𝑞̇ = −𝜆𝐽̂𝑒 − 𝐽𝑠+ ̂𝑠+𝜕𝑒̂
3.4 Các sơ đồ điều khiển visual servoing
Hình 3.3: Các sơ đồ điều khiển visual servoing
Như đã nói ở phần giới thiệu, các sơ đồ điều khiển chủ yếu khác nhau ở cách các thông tin thị giác được sử dụng Các luật điều khiển khác nhau [8, 33, 6, 7, 18, 49, 50, 5] sẽ ảnh hưởng tới đáp ứng của hệ thống Trong giai đoạn thiết kế bộ điều khiển, một
số tính chất cần được xem xét như ổn định cục bộ và toàn cục, đáp ứng tốt với các sai
Trang 39
CHƯƠNG 3 VISUAL SERVOING
số về đo lường và mô hình hóa, hội tụ theo hàm mũ, thứ tự hội tụ, cực tiểu địa phương
và singularities, quỹ đạo robot hợp lý và cuối cùng là sự tách rời giữa thông tin thị giác
và bậc tự do điều khiển Trong phần này sẽ trình bày các sơ đồ điều khiển visual servoing khác nhau, từ các sơ đồ điều khiển truyền thống đến các sơ đồ lai và các sơ đồ điều khiển được tăng cường Hình 3.3 liệt kê đầy đủ các sơ đồ điều khiển visual servoing, trong phần này chỉ trình bày một số sơ đồ phổ biến nhất Để hình thành luật điều khiển cho các sơ đồ visual servoing, các tọa độ điểm ảnh 2D hoặc 3D được sử dụng Các đặc trưng thị giác khác sẽ được chi tiết trong phần sau
3.4.1 Position Based Visual Servoing (PBVS)
Trong sơ đồ PBVS sẽ không sử dụng trực tiếp các đặc trưng từ hình ảnh Các thông tin hình ảnh sẽ được sử dụng để xác định vị trí của đối tượng trong không gian 3D và làm đầu vào cho sơ đồ điều khiển Do đó sơ đồ này còn được gọi là 3D visual servoing
Vì luật điều khiển được xác định trong không gian Cartisean, được tính toán từ các phép đo trong một hình ảnh và đòi hỏi phải biết trước mô hình hình học của đối tượng
Do đó áp dụng sơ đồ PBVS sẽ gặp phải một số nhược điểm: chỉ áp dụng sơ đồ cho các đối tượng có hình dạng cụ thể, bị ảnh hưởng mạnh bởi các sai số trong quá trình hiệu chỉnh (calib), đòi hỏi nhiều tính toán hơn mà do đó sẽ giảm khả năng ứng dụng của giải thuật với các hệ thống thời gian thực Ngoài ra các đặc trưng hình ảnh có thể vượt khỏi trường nhìn của camera do không có sự kiểm soát trực tiếp nào được thực hiện trong hình ảnh Ưu điểm khi sử dụng sơ đồ PBVS là quỹ đạo của camera sẽ là một đoạn thẳng,
do đó sẽ xác định được quỹ đạo của robot trong không gian làm việc
Để xác định các đặc trưng hình ảnh sử dụng trong PBVS, ta định nghĩa ba hệ tọa độ: hệ tọa độ hiện tại của camera Ƒ𝑐, hệ tọa độ mong muốn của camera Ƒ𝑐∗ và hệ tọa độ của đối tượng Ƒ𝑜 Các vector c t o và c*to lần lượt là vector tịnh tiến từ hệ Ƒ𝑜 sang Ƒ𝑐 và
hệ Ƒ𝑐∗ đo trong hệ Ƒ𝑜 Ma trận R = c*Rc là ma trận xoay từ hệ tọa độ Ƒ𝑐 sang với hệ Ƒ𝑐∗ Định nghĩa 𝑠 = (𝑡, 𝜃𝑢), trong đấy 𝑡 là vector tịnh tiến và 𝜃𝑢 là tham số trục-góc của phép quay Có hai cách để chọn 𝑡 tương ứng với hai luật điều khiển khác nhau:
Trang 40
CHƯƠNG 3 VISUAL SERVOING
Nếu vector 𝑡 được định nghĩa trong hệ tọa độ Ƒ𝑜, chúng ta thu được vector đặc trưng 𝑠 = ( 𝑡𝑐
𝑜, 𝜃𝑢), 𝑠∗ = ( 𝑡𝑐∗
𝑜, 0) và sai số 𝑒 = ( 𝑡𝑐
𝑜 − 𝑡𝑐∗
𝑜, 𝜃𝑢) Trong trường hợp này, ma trận tương tác được xác định:
với sinc(θ) = sin(θ)/θ, [u]× là ma trận “skew symmetric” của vector u Luật điều
khiển thu được là: