Hiện nay robot và thị giác máy ngày càng được ứng dụng nhiều trong sản xuất vì tính ứng dụng cao, độ chính xác và khả năng làm việc hiệu quả. Cánh tay robot SCARA là một loại robot phổ biến thường được sử dụng trong việc đóng gói các sản phẩm tự động. Khi kết hợp với thị giác máy tính, robot sẽ có thể thực hiện được những công việc phức tạp và thay thế cho con người. Luận văn này hướng tới việc áp dụng thị giác máy vào robot để thực hiện gắp và phân loại các đối tượng. Luận văn tập trung vào việc xây dựng một mô hình bao gồm robot SCARA, camera và máy tính. Máy tính sẽ lấy ảnh liên tục của đối tượng từ camera và tiến hành phân loại, tính toán vị trí và góc xoay. Sau đó, máy tính ra lệnh cho robot di chuyển để thực hiện gắp và đặt đối tượng đến vị trí mong muốn. Bên cạnh đó, luận văn còn xây dựng phần mềm giao diện để người sử dụng có thể quan sát quá trình hệ thống vận hành một cách trực quan. Việc xây dựng phần mềm giao diện này dựa trên nền tảng Qt và thư viện OpenGL, OpenCV. Luận văn đã cơ bản thành công trong việc phân loại vật đứng yên. Tuy nhiên cũng còn nhiều hạn chế cần khắc phục và phát triển thêm để hoàn thiện và đưa ra sử dụng thực tế. 1.2. Mục tiêu luận văn Mục tiêu của luận văn là xây dựng một hệ thống kết hợp giữa cánh tay robot và thị giác máy tính thỏa các yêu cầu sau: • Hệ thống camera, máy tính phải đảm bảo xác định được vị trí vật thể, cánh tay robot phải tiến hành gắp, xếp đúng vị trí vật. • Hệ thống phải xác định được hướng xoay vật thể trên mặt phẳng nằm ngang, cánh tay robot phải linh hoạt trong việc xoay gắp và đặt vật thể. • Xây dựng được giao diện giám sát hệ thống thân thiện với người dùng bao gồm các thông tin từ camera cũng như hình ảnh mô phỏng của robot để tiện cho việc giám sát và theo dõi. 1.3. Cấu trúc tổng quát hệ thống Luận văn tập trung nghiên cứu điều khiển cánh tay robot, nghiên cứu các giải thuật thị giác máy tính thông qua việc xây dựng mô hình hệ thống robot SCARA kết hợp thị giác máy tính. Hình 1.3 Mô hình nghiên cứu trong luận văn Hình 1.4 Đối tượng cần nhận diện và gắp được Hệ thống robot SCARA kết hợp thị giác máy tính có sơ đồ như sau: Hình 1.5 Sơ đồ hệ thống Hệ thống bao gồm các thành phần: • Camera: đóng vai trò cảm biến, thu hình ảnh và truyền về máy tính. • Robot SCARA: đóng vai trò phần tử chấp hành, thực hiện thao tác di chuyển, gắp và nhả vật theo lệnh được gửi từ máy tính. • Máy tính: đóng vai trò trung tâm xử lí thông tin. Máy tính nhận dữ liệu hình ảnh từ camera, chạy thuật toán thị giác máy để xác định vị trí, hướng của vật thể cần gắp và gửi lệnh yêu cầu robot thực hiện. Máy tính còn cung cấp giao diện hình ảnh cho người sử dụng. 1.4. Cấu trúc luận văn Luận văn bao gồm 7 chương: • Chương 1: Giới thiệu chung về vấn đề nghiên cứu, mô hình nghiên cứu trong luận văn. • Chương 2: Trình bày cơ sở lý thuyết động học robot và áp dụng các lý thuyết đó vào mô hình robot SCARA. • Chương 3: Trình bày cơ sở lý thuyết của phương pháp nhận diện đối tượng. • Chương 4: Trình bày về thiết kế phần cứng của hệ thống. • Chương 5: Trình bày về lập trình hệ thống và giao diện. • Chương 6: Trình bày một cách chi tiết về giải thuật nhận diện đối tượng. • Chương 7: Trình bày kết quả đạt được, nhận chung về luận văn và hướng phát triển.
Trang 1TP HỒ CHÍ MINH, 2020
KHOA ĐI N Ệ – ĐI N Ệ TỬ
BỘ MÔN ĐI U Ề KHI N Ể TỰ Đ NG Ộ
LU N Ậ VĂN T T Ố NGHI P Ệ
ĐI U KHI N ROBOT SCARA TRONG NG D NG G P V T Ề Ể Ứ Ụ Ắ Ậ
S D NG THU T TOÁN YOLO Ử Ụ Ậ VÀ HOUGHLINES
Trang 2TP HỒ CHÍ MINH, 2020
KHOA ĐI N Ệ – ĐI N Ệ TỬ
BỘ MÔN ĐI U Ề KHI N Ể TỰ Đ NG Ộ
LU N Ậ VĂN T T Ố NGHI P Ệ
ĐI U KHI N ROBOT SCARA TRONG NG D NG G P Ề Ể Ứ Ụ Ắ
V T Ậ S D NG THU T TOÁN YOLO Ử Ụ Ậ VÀ HOUGHLINES
CONTROL OF SCARA ROBOT FOR PICK AND PLACE
APPLICATION USING YOLO AND HOUGHLINES ALGORITHMS
GI NG VIÊN Ả
H ƯỚ NG D N Ẫ TS.
NGUY N VĨNH H O Ễ Ả
KS BÙI THANH HUY N Ề
Trang 3KHOA ĐI N Ệ – ĐI N Ệ TỬ
B MÔN: Ộ ĐI U Ề KHI N Ể TỰ Đ NG Ộ
ĐI U KHI N ROBOT SCARA TRONG NG D NG G P Ề Ể Ứ Ụ Ắ
V T Ậ SỬ D NG Ụ THU T Ậ TOÁN YOLO VÀ HOUGHLINES
Nhóm Sinh viên th c hi n: ự ệ Cán bộ h ướ ng d n: ẫ
Trang 4
2 Về n iộ dung lu n văn:ậ
Trang 53 Về tính ngứ d ng:ụ
4 Về thái độ làm vi cệ c aủ sinh viên:
Đánh giá chung: Lu n văn đ t/không đ t yêu c u c a m t lu n văn t t ậ ạ ạ ầ ủ ộ ậ ố nghi pệ kỹ s ,ư x pế lo iạ Gi i/ỏ Khá/ Trung bình Đi m ể t ng ừ sinh viên: Đ ngặ H ngồ Phúc Nam /10
Nguy nễ Th H nhị ạ Nhi /10
Cán bộ h ướ d n ng ẫ
(Ký tên và ghi rõ họ tên)
Cán bộ h ướ d n ng ẫ
(Ký tên và ghi rõ họ tên)
Trang 6KHOA ĐI N Ệ – ĐI N Ệ TỬ
B MÔN: Ộ ĐI U Ề KHI N Ể TỰ Đ NG Ộ
ĐI U KHI N ROBOT SCARA TRONG NG D NG G P Ề Ể Ứ Ụ Ắ
V T Ậ SỬ D NG Ụ THU T Ậ TOÁN YOLO VÀ HOUGHLINES
Trang 7
6 Về n iộ dung lu n văn:ậ
Trang 87 Về tính ngứ d ng:ụ
8 Về thái độ làm vi cệ c aủ sinh viên:
Đánh giá chung: Lu n văn đ t/không đ t yêu c u c a m t lu n văn t t ậ ạ ạ ầ ủ ộ ậ ố nghi pệ kỹ s ,ư x pế lo iạ Gi i/ỏ Khá/ Trung bình Đi m ể t ng ừ sinh viên: Đ ngặ H ngồ Phúc Nam /10
Nguy nễ Th H nhị ạ Nhi /10
Cán bộ ph n ả bi n ệ
(Ký tên và ghi rõ họ tên)
Trang 9L i ờ c m ả n ơ
L i đ u tiên, chúng em xin g i l i c m n chân thành đ n quý th y cô tr ngờ ầ ử ờ ả ơ ế ầ ườ
Đ iạ h cọ Bách Khoa TP.HCM nói chung, và bộ môn Đi uề khi nể Tự đ ngộ nói riêng,
đã truy n d y cho chúng em nh ng ki n th c quí báu trong su t quãng th i gianề ạ ữ ế ứ ố ờ
C m n gia đình, ngả ơ ười thân đã quan tâm, chăm lo cho chúng con được ăn
h c.ọ C mả nơ cha mẹ đã d yạ d ,ỗ nuôi n ngấ chúng con khôn l n.ớ
C m n nh ng b n bè, đàn anh trong phòng lab đã h tr , giúp đ nhauả ơ ữ ạ ỗ ợ ỡ
t nậ tình trong th iờ gian h cọ t pậ và làm vi cệ t i lab.ạ
TPHCM, ngày 31 tháng 8 năm 2020
Sinh viên
Trang 10TR ƯỜ NG Đ I Ạ H C BÁCH Ọ KHOA TP H CHÍ Ồ
MINH
KHOA ĐI N Ệ – ĐI N Ệ TỬ
B MÔN: Ộ ĐI U Ề KHI N Ể TỰ Đ NG Ộ
TÊN LU N Ậ VĂN: ĐI UỀ KHI N ROBOTỂ SCARA TRONG NGỨ D NGỤ G PẮ V TẬ
SỬ D NGỤ THU TẬ TOÁN YOLO VÀ HOUGHLINES
Cán bộ h ướ d n: ng ẫ TS Nguy nễ Vĩnh H oả
KS Bùi Thanh Huy nề
Th i gian th c ờ ự hi n: ệ Từ ngày 20/2/2020 đ nế ngày 30/8/2020
Sinh viên th c ự hi n: ệ
N i dung ộ đ tài: ề
M c ụ tiêu:
Xây d ng b đi u khi n cho mô hình robot SCARA K t h p v i th giác máyự ộ ề ể ế ợ ớ ị
th cự hi nệ ngứ d ngụ g pắ và phân lo iạ v tậ thể tĩnh Thi tế kế giao di nệ sử d ngụ trênmáy tính ph cụ vụ vi tế nghiên c uứ và sử d ng.ụ
Ph ươ pháp th c ng ự hi n ệ
Nghiên c uứ về cơ khí, l pậ trình và thi tế kế bộ đi u khi nề ể c aủ robot
Nghiên c uứ gi iả thu tậ để xử lý nh RGB,ả phân lo iạ và g p v tắ ậ thể đ ngứ yên
K t ế quả mong đ i ợ
Xây d ngự thành công bộ đi uề khi nể robot, protocol và thư vi n giaoệ ti p.ế
Xây d ngự thành công gi iả thu tậ xác đ nhị vị trí và phân lo iạ v tậ thể đ ngứ yên
Trang 11 L pậ trình hệ th ngố và giao di nệ ngườ dùng tr ci ự quan, dễ sử d ng.ụ
Th cự hi nệ thành công g p vàắ phân lo iạ v t thậ ể d ng yên.ứ
Trang 12Kế ho ch ạ th c ự
hi n ệ
Đ ng ặ H ng ồ Phúc Nam Nguy n ễ Thị H nh ạ Nhi
Giai đo n ạ 1: Nghiên c u ứ về mô
đi uề khi n,ể driver
Hoàn ch nhỉ tủ đi uề khi n.ể
Giai đo n ạ 3: L p trình ậ robot
Hu nấ luy nệ cho các t p datasetậ trên
Ki m tra kh năng nh n di n ể ả ậ ệ
b ngằ camera th c và ch n ra b ự ọ ộdataset nào có t c đ nh n di n ố ộ ậ ệnhanh và chính xác nh tấ
Giai đo n ạ 4: Xây d ng ự giao th c ứ
Trang 13 Vi t th hi n giao ti p d a trênế ư ệ ế ự
frame truy n đ cung c p API ề ể ấ
cho ngứ d ngụ khác sử d ng.ụ
Xác đ nh t a đị ọ ộ tâm
Giai đo n ạ 4: Chuy n ể đ i ổ thông tin
từ camera sang thông tin robot Giai đo n ạ 5: K t ế h p ợ và hoàn ch nh ỉ
giao di n ệ ng ườ dùng i
Thi t kế ế giao di nệ k tế h pợ thị
giác máy và giao ti pế robot
Calib camera tìm thông số n iộ t iạ
Trang 16M C Ụ L C Ụ
CHƯƠNG 1 T NGỔ QUAN VỀ ĐỀ TÀI 2
1.1.Đ t v nặ ấ đề 2
1.2.M cụ tiêu lu nậ văn 3
1.3.C u trúcấ t ngổ quát hệ th ngố 4
1.4.C u trúcấ lu nậ văn 5
CHƯƠNG 2 Đ NGỘ H CỌ ROBOT 6
2.1.M t sộ ố khái ni m trongệ kĩ thu tậ robot 6
2.2.Bi uễ di nễ vị trí và hướng trong không gian 7
2.2.1.Ma tr nậ xoay 7
2.2.2.Ma tr nậ bi nế đ i thu nổ ầ nh tấ 7
2.3.Đ ngộ h c thu nọ ậ robot 8
2.3.1 Phươ pháp Denavit-Hartenberg (DH) 8ng 2.3.2 Đ ngộ h cọ thu nậ robot SCARA 10
2.4.Đ ngộ h c ngọ ược robot SCARA 12
2.5.Đ ngộ h c v nọ ậ t c ố 14
2.5.1.Ma tr nậ Jacobian 14
2.5.2.Ma tr nậ Jacobian c a robot SCARAủ 15
2.6.Đi m kìể d (Singularities)ị 16
2.6.1.Gi iớ thi u đi m kìệ ể dị 16
2.6.2.Đi mể kì dị c a robotủ SCARA 17
2.7.Các phương th c diứ chuy nể c a robotủ 19
2.8.Ho chạ đ nh quỹị đ oạ 20
2.8.1.Quỹ đ oạ v nậ t c hình thangố (LSPB) 21
2.8.2.Quỹ đ oạ v n t cậ ố S-curve 23
Trang 172.9.Ho chạ đ nhị đường đi trong không gian làm vi cệ 26
2.9.1.Đo nạ th ngẳ 26
2.9.2.Cung tròn trên m tặ ph ngẳ XY 26
CHƯƠNG 3 PHƯƠNG PHÁP NH NẬ DI NỆ Đ IỐ TƯỢNG 27
3.1.L aự ch nọ phương pháp nh n di nậ ệ đ i tố ượng 27
3.1.1.Họ các mô hình RCNN 27
3.1.2.Họ các mô hình YOLO 27
3.2.T ngổ quát về m ngạ n -ronơ (Neural Network – NN) 28
3.3.M ngạ n -ronơ tích ch p (Convolutionalậ Neural Network – CNN) 30
3.3.1.Convolution 30
3.3.2.Pooling 32
3.3.3.Fully connected (k tế n i)ố 32
3.4.Thu tậ toán YOLO và cách ho tạ đ ngộ 33
3.4.1.Phân chia nhả đ uầ vào thành nhi u ôề 33
3.4.2.Áp d ngụ CNN cho t ngừ ô 33
3.4.3.Áp d ngụ kĩ thu tậ tri t tiêuệ không t i đaố 34
3.5 đồSơ gi iả thu tậ YOLO nh nậ di nệ đ i tố ượng 35
CHƯƠNG 4 THI TẾ KẾ PH NẦ C NGỨ 36
4.1.T ngổ quát ph nầ c ngứ hệ th ngố 36
4.2.Camera 36
4.3.Robot SCARA 37
4.3.1.Gi iớ thi uệ mô hình cơ khí cánh tay SCARA 37
4.3.2.Thi tế kế board đi uề khi nể 38
4.3.3.Gi iớ thi uệ driver đi uề khi nể đ ngộ cơ 40
4.3.4.Thi tế kế tủ đi uề khi nể 41
CHƯƠNG 5 L PẬ TRÌNH HỆ TH NGỐ VÀ THI TẾ KẾ GIAO DI NỆ 44
Trang 185.1 lSơ ược về các ph nầ m mề trong hệ th ngố 44
5.2.L pậ trình đi uề khi nể robot 44
5.3.L pậ trình giao di nệ người dùng 51
5.3.1.C u trúcấ chương trình giao di nệ 51
5.3.2.Giao di nệ đã thi tế kế 53
CHƯƠNG 6 GI IẢ THU TẬ NH NẬ DI NỆ Đ IỐ TƯỢNG 55
6.1.L pậ trình thị giác máy tính 55
6.1.1.Gi iớ thi uệ thư vi nệ OpenCV 55
6.1.2.C u trúcấ gi iả thu tậ th giácị máy tính 56
6.2.Hu nấ luy nệ mô hình YOLO 59
6.2.1.Cài đ t mãặ ngu n Darknetồ 59
6.2.2.Chu nẩ bị dữ li uệ hu nấ luy nệ 62
6.2.3.Hu nấ luy n b ngệ ằ google colab 65
6.3 thu tCác ậ toán xử lý nhả kinh đi nể sử d ngụ OpenCV 67
6.3.1.Chuy nể đ i nhổ ả màu sang nhả xám 67
6.3.2.Nh phânị hóa nhả 68
6.3.3.Làm m nị nh,ả khử nhi uễ 70
6.3.4.Thu tậ toán phát hi nệ c nhạ - Canny Edge Detection 71
6.3.5 Thu tậ toán phát hi nệ đườ th ngng ẳ – Houghlines Transform 73
6.4.Tính góc xoay và t a độọ tâm đ iố tượng 77
6.4.1.Tính góc xoay c a đ iủ tố ượng 77
6.4.2.Tính t aọ độ tâm c a đ i tủ ố ượng 78
CHƯƠNG 7 K TẾ QU ,Ả NH NẬ XÉT VÀ HƯỚNG PHÁT TRI NỂ 81
7.1 quảK tế 81
7.1.1.K t quảế đi uề khi nể robot 81 7.1.2 K tế quả nh n di nậ ệ và xác đ nhị vị trí đ iố tượ đ i tng ố ượ 91ng
Trang 197.1.3.K t quế ả hệ th ngố robot k t h pế ợ thị giác máy tính trong vi cệ g pắ v t 94ậ7.2.Nh nậ xét lu nậ văn 977.3.Hướng phát tri nể c a lu n vănủ ậ 97
Trang 20DANH M C Ụ HÌNH NH Ả
Hình 1.1 Robot đượ ngcứ d ngụ trong s nả xu tấ 2
Hình 1.2 Thị giác máy đượ ngcứ d ngụ trong ki mể tra s nả ph mẩ 3
Hình 1.3 Mô hình nghiên c u trongứ lu nậ văn 4
Hình 1.4 Đ i tố ượ c nng ầ nh nậ di nệ và g pắ đượ 4c Hình 1.5 S đơ ồ h th ngệ ố 4
Hình 2.1 Minh h aọ phươ pháp Denavit-Hartenberg 8ng Hình 2.2 Hệ t aọ độ đượ ch nc ọ theo phươ pháp D-H 10ng Hình 2.3 Hệ t aọ độ đượ nhìn t trênc ừ xu ngố 12
Hình 2.4 Hai trườ h p nghi mng ợ ệ đ ngộ h c ngọ ượ 13c Hình 2.5 Quỹ đ o v nạ ậ t cố hình thang 21
Hình 2.6 Đồ thị quỹ đ oạ S-curve 24
Hình 3.1 Mô hình toán h cọ mô ph ngỏ n -ronơ 28
Hình 3.2 M tộ m ngạ n -ronơ nhân t oạ đ n gi nơ ả 29
Hình 3.3 Mô hình CNN 30
Hình 3.4 Đ uầ vào và đ uầ ra c aủ YOLO 33
Hình 3.5 Minh h aọ kĩ thu tậ tri tệ tiêu không t iố đa 34
Hình 3.6 Sơ đồ gi iả thu tậ YOLO nh nậ di nệ đ iố tượ 35ng Hình 4.1 S đơ ồ t ngổ quát ph nầ c ngứ h th ngệ ố 36
Hình 4.2 Camera Logitech C270 36
Hình 4.3 C uấ trúc ph nầ c ng robot SCARAứ 37
Hình 4.4 Sơ đồ board đi uề khi nể 38
Hình 4.5 Sơ đồ k tế n iố gi aữ STM32 và CPLD MAX II 39
Hình 4.6 Board đi u khi nề ể sau khi thi công 40
Trang 21Hình 4.7 Driver DC Servo MSD 40
Hình 4.8 Driver đ ngộ cơ bướ DRV8825 41c Hình 4.9 Sơ đồ đ uấ ngu nồ tủ đi uề khi nể 41
Hình 4.10 Sơ đồ đ u dâyấ tín hi uệ tủ đi uề khi nể 42
Hình 4.11 Tủ đi uề khi nể hoàn ch nhỉ 43
Hình 5.1 Minh h aọ ho tạ đ ngộ c aủ RTOS 44
Hình 5.2 L uư đồ Main task 46
Hình 5.3 L uư đồ Th cự thi theo chế độ và tr ngạ thái hi nệ t iạ 47
Hình 5.4 L uư đồ Ch yạ theo chế độ MODE_DUTY 47
Hình 5.5 L uư đồ Kh iở t oạ hành trình 48
Hình 5.6 L uư đồ Bám hành trình 48
Hình 5.7 L uư đồ Kh iở t oạ trong mi nề không gian 49
Hình 5.8 L uư đồ Bám hành trình trong mi nề không gian 50
Hình 5.9 L uư đồ Kh iở t oạ di chuy nể trong mi nề bi nế kh pớ 50
Hình 5.10 L uư đồ Bám hành trình trong mi nề bi nế kh pớ 51
Hình 5.11 Sơ đồ thi tế kế giao di nệ 53
Hình 5.12 Giao di n đãệ thi t kế ế 54
Hình 6.1 L uư đồ gi iả thu tậ thị giác máy tính 56
Hình 6.2 Thu nậ toán YOLO tìm đ iố tượ trong nhng ả 57
Hình 6.3 L uư đồ gi iả thu tậ xử lí nhả kinh đi nể 58
Hình 6.4 nhẢ sau khi chuy nể sang nhả xám 58
Hình 6.5 nhẢ sau khi nhị phân hóa b ngằ phân ngưỡ thích nghi 58ng Hình 6.6 nhẢ sau khi l cọ nhi uễ 58
Hình 6.7 nh nhẢ ị phân sau khi dùng thu tậ toán Canny Egde 58
Trang 22Hình 6.8 nh sauẢ khi dùng thu tậ toán Houghlines 59Hình 6.9 V tậ thể robot c nầ nh nậ di nệ 62Hình 6.10 Gán nhãn cho đ iố tượ b ngng ằ LabelImg 63Hình 6.11 Cách kích ho tạ GPU 65Hình 6.12 K tế quả ki m tra c uể ấ hình GPU 66Hình 6.13 Cách xét Gradient 72Hình 6.14 Minh h aọ đườ th ngng ẳ trong hệ t aọ độ Descartes và trong openCV .74Hình 6.15 Bi uể di nễ m i đi mỗ ể nhả b ngằ m tộ đường cong 75Hình 6.16 Minh h a t oọ ạ m ng hai chi uả ề 76Hình 6.17 L uư đồ gi iả thu tậ tính góc xoay 77Hình 6.18 Sơ đồ gi iả thu tậ tính t aọ độ tâm 78Hình 6.19 Chia 2 nhóm giao đi m d aể ự trên kho ngả cách đ nế đườ th ngng ẳ 79Hình 6.20 Chia giao đi mể vào 4 vùng 79Hình 7.1 V trí 4 bi n kh p khi ho ch đ nh mi n bi n kh pị ế ớ ạ ị ề ế ớ v i quỹ đ o LSPB ớ ạtheo th iờ gian 81Hình 7.2 V n t c 4 bi n kh p khi ho ch đ nh mi n bi n kh pậ ố ế ớ ạ ị ề ế ớ v i quỹ đ o LSPBớ ạtheo th iờ gian 82Hình 7.3 V trí 4 bi n kh p khi ho ch đ nh mi n bi n kh pị ế ớ ạ ị ề ế ớ v i quỹ đ o S-curveớ ạtheo th iờ gian 82Hình 7.4 V n t c 4 bi n kh p khi ho ch đ nh mi n bi n kh pậ ố ế ớ ạ ị ề ế ớ v i quỹ đ o S-ớ ạcurve theo th iờ gian 83Hình 7.5 V trí đ u công tác di chuy n theo đo n th ngị ầ ể ạ ẳ v i quỹ đ o LSPB trongớ ạkhông gian 3 chi uề 84Hình 7.6 V trí và hị ướng khi di chuy n theo đo n th ng v i quỹ đ o LSPB theoể ạ ẳ ớ ạ
th iờ gian 84
Trang 23Hình 7.7 V n t c dài và v n t c góc khi di chuy n theo đo n th ng v i quỹ đ oậ ố ậ ố ể ạ ẳ ớ ạ LSPB theo th iờ gian 85Hình 7.8 V trí đ u công tác di chuy n theo đo n th ngị ầ ể ạ ẳ v i quỹ đ o S-curve ớ ạtrong không gian 3 chi uề 85Hình 7.9 V trí và hị ướng khi di chuy n theo đo n th ng v i quỹ đ o S-curve theoể ạ ẳ ớ ạ
th iờ gian 86Hình 7.10 V n t c dài và v n t c góc khi di chuy n theo đo n th ng v i quỹ đ oậ ố ậ ố ể ạ ẳ ớ ạS- curve theo th i gianờ 86Hình 7.11 V trí đ u công tác di chuy n theo cung tròn m t XYị ầ ể ặ v i quỹ đ o LSPBớ ạtrong không gian 3 chi uề 87Hình 7.12 V trí đ u công tác di chuy n theo cung tròn m t XYị ầ ể ặ v i quỹ đ o S-ớ ạcurve trong không gian 3 chi uề 88Hình 7.13 Thí nghi m ki m traệ ể độ chính xác robot 88Hình 7.14 Hình nhả đ iố tượ trong thí nghi mng ệ ki mể tra thu nậ toán nh nậ di n.ệ
92 Hình 7.15 Thí nghi mệ ki mể tra độ chính xác c aủ hệ th ngố robot và thị giác máy 95
Trang 24DANH M C Ụ B NG Ả
B ngả 2.1 B ng thôngả số D-H 11
B ngả 2.2 Công th cứ tính ma tr nậ Jacobian 15
B ngả 6.1 Các thông số c uấ hình c aủ mô hình YOLO 60
B ngả 6.2 : Gía trị ρ tươ ng v ingứ ớ các đi mể nhả 76
B ngả 7.1 Th ngố kê sai số vị trí robot 89
B ngả 7.2 Th ngố kế sai số góc Rz c aủ robot 90
B ngả 7.3 Th ngố kê nh nậ di nệ lá cờ Nh tậ B nả 91
B ngả 7.4 Th ngố k nh nế ậ di nệ lá cờ Vi t Namệ 91
B ngả 7.5 Th ngố kê sai số vị trí c aủ thu tậ toán nh nậ di nệ 93
B ngả 7.6 Th ngố kê sai số góc Rz c aủ thu tậ toán nh nậ di nệ 94
B ngả 7.7 Th ngố kê sai số vị trí robot g pắ 95
B ngả 7.8 Th ngố kê sai số góc Rz robot g pắ 96
Trang 25DANH M C Ụ TỪ VI T Ế T T Ắ
AI (Artificial intelligence)
ML (Machine learning)
DL (Deep learning)
NN (Neural network): m ng n -ronạ ơ
CNN (Convolutional Neural Network)
RCNN (Regions with CNN features)
YOLO (You only look once)
IOU (Intersection over union)
VM (Virtual machine computing)
OpenCV (Open Computer Vision)
GC (Google Colab)
SCARA (Selective Compliance Assembly Robot Arm)CPLD (Complex programmable logic device)
Trang 26TÓM T T Ắ LU N Ậ VĂN
Hi n nay robot và th giác máy ngày càng đệ ị ượ ức ng d ng nhi u trongụ ề
s nả xu t vì tính ng d ng cao, đ chính xác và kh năng làm vi c hi u qu ấ ứ ụ ộ ả ệ ệ ảCánh tay robot SCARA là m t lo i robot ph bi n thộ ạ ổ ế ường đượ ử ục s d ng trong
vi c đóngệ gói các s nả ph mẩ tự đ ng.ộ Khi k tế h pợ v iớ thị giác máy tính, robot
sẽ có thể th cự hi n đệ ược nh ng công vi c ph c t p và thay th cho con ngữ ệ ứ ạ ế ười
Lu n văn nàyậ hướng t i vi c áp d ng th giác máy vào robot đ th c hi n g pớ ệ ụ ị ể ự ệ ắ
và phân lo i cácạ đ iố tượng
Lu nậ văn t pậ trung vào vi cệ xây d ngự m tộ mô hình bao g mồ robotSCARA, camera và máy tính Máy tính sẽ l yấ nhả liên t cụ c aủ đ iố tượ từngcamera và ti nế hành phân lo i,ạ tính toán vị trí và góc xoay Sau đó, máy tính ra
l nhệ cho robot di chuy nể để th cự hi nệ g pắ và đ tặ đ i tố ượ đ nng ế vị trí mong
mu n.ố
Bên c nh đó, lu n văn còn xây d ng ph n m m giao di n đ ngạ ậ ự ầ ề ệ ể ườ ử ụi s d ng
có th quan sát quá trình h th ng v n hành m t cách tr c quan Vi c xâyể ệ ố ậ ộ ự ệ
d ngự ph nầ m mề giao di nệ này d aự trên n nề t ng Qtả và thư vi nệ OpenGL,OpenCV
Lu n văn đã c b n thành công trong vi c phân lo i v t đ ng yên Tuyậ ơ ả ệ ạ ậ ứnhiên cũng còn nhi u h n ch c n kh c ph c và phát tri n thêm đ hoànề ạ ế ầ ắ ụ ể ểthi nệ và đ a raư sử d ngụ th cự t ế
Trang 27CH ƯƠ NG 1 T NG Ổ QUAN V Đ Ề Ề TÀI
1.1 Đ t ặ v n ấ đề
Cùng v i s phát tri n m nh mẽ c a khoa h c kĩ thu t trên th gi i,ớ ự ể ạ ủ ọ ậ ế ớ
vi cệ ng d ng các công ngh m i, máy móc vào các dây chuy n s n xu t là r tứ ụ ệ ớ ề ả ấ ấquan tr ngọ nh mằ c iả thi nệ năng su tấ lao đ ngộ và ch tấ lượ c ang ủ s nả ph m.ẩ
Cánh tay robot đã được s d ng nhi u trong nhà máy s n v i các ngử ụ ề ả ớ ứ
d ngụ nh :ư hàn, c tắ kim lo i,ạ l pắ ráp linh ki nệ đi nệ t ,ử l pắ ráp ô tô, s pắ x pếpallet, đ c bi t trong ng d ng có đi u ki n kh c nghi t, ng d ng đòi h iặ ệ ứ ụ ề ệ ắ ệ ứ ụ ỏ
t c đ và đố ộ ộ chính xác cao Thị giác máy tính ngày nay đã trở thành xu hướngphát tri nể và có vai trò quan tr ngọ trong s nả xu t,ấ đ iờ s ng.ố
Hình 1.1 Robot đượ ngcứ d ngụ trong s nả xu tấ
Trang 28Hình 1.2 Thị giác máy đượ ngcứ d ngụ trong ki mể tra s nả ph mẩ
H th ng phân lo i, s p x p s n ph m s d ng robot và th giác máyệ ố ạ ắ ế ả ẩ ử ụ ịtính là m t trong nh ng h th ng ph bi n có tính ng d ng cao trong nhà máy.ộ ữ ệ ố ổ ế ứ ụRobot SCARA là m tộ robot r tấ phổ bi nế trong ngứ d ngụ s pắ x pế hàng hóa
N uế đượ sự h tr c a th giác máy tính, robot có th th c hi n công vi cc ỗ ợ ủ ị ể ự ệ ệ
s p x p ph c t pắ ế ứ ạ h n.ơ Vì v y,ậ v iớ m cụ tiêu ban đ uầ là tìm hi uể ki nế th c,ứnâng cao kĩ năng chuyên môn, nhóm sinh viên th cự hi nệ lu nậ văn quy tế đ nhị
ch nọ đề tài “Đi uề khi nể robot SCARA trong ngứ d ngụ g pắ v tậ sử d ngụ thu tậtoán YOLO và Houghlines”
H th ng ph i xác đ nh đệ ố ả ị ược hướng xoay v t th trên m t ph ngậ ể ặ ẳ
n mằ ngang, cánh tay robot ph iả linh ho tạ trong vi cệ xoay g pắ và đ tặ
Trang 291.3 C u ấ trúc t ng ổ quát hệ th ng ố
Lu n văn t p trung nghiên c u đi u khi n cánh tay robot, nghiên c uậ ậ ứ ề ể ứcác gi i thu t th giác máy tính thông qua vi c xây d ng mô hình h th ngả ậ ị ệ ự ệ ốrobot SCARA k tế h p th giácợ ị máy tính
Hình 1.3 Mô hình nghiên c u trongứ lu nậ văn
Hình 1.4 Đ iố tượ c nng ầ nh nậ di n vàệ g pắ được
Hệ th ngố robot SCARA k t h pế ợ thị giác máy tính có sơ đồ như sau:
Hình 1.5 S đơ ồ h th ngệ ố
Trang 30Hệ th ngố bao g m cácồ thành ph n:ầ
Camera: đóng vai trò c mả bi n, thuế hình nhả và truy nề về máy tính
Robot SCARA: đóng vai trò ph n t ch p hành, th c hi n thao tác diầ ử ấ ự ệchuy n,ể g p vàắ nhả v tậ theo l nhệ đượ g i tc ử ừ máy tính
Máy tính: đóng vai trò trung tâm xử lí thông tin Máy tính nh nậ dữ
li uệ hình nh t camera, ch y thu t toán th giác máy đ xác đ nh vả ừ ạ ậ ị ể ị ịtrí, hướng c a v t th c n g p và g i l nh yêu c u robot th c hi n.ủ ậ ể ầ ắ ử ệ ầ ự ệMáy tính còn cung c p giaoấ di nệ hình nhả cho ngườ sử d ng.i ụ
1.4 C u ấ trúc lu n văn ậ
Lu nậ văn bao g mồ 7 chương:
Chươ 1: Gi ing ớ thi uệ chung về v nấ đề nghiên c u,ứ mô hình nghiên
c uứ trong lu nậ văn
Chươ 2: Trình bày cơ sở lý thuy t đ ngng ế ộ h cọ robot và áp d ngụ các
lý thuy tế đó vào mô hình robot SCARA
Chươ 3: Trình bày cơ sở lý thuy tng ế c aủ phươ pháp nh nng ậ di nệ
đ iố tượng
Chươ 4: Trình bày về thi tng ế kế ph n c ngầ ứ c aủ hệ th ng.ố
Chươ 5: Trình bày về l png ậ trình hệ th ngố và giao di n.ệ
Chươ 6: Trình bày m tng ộ cách chi ti tế về gi iả thu tậ nh nậ di nệ
đ iố tượng
Chươ 7: Trình bày k tng ế quả đ tạ đượ nh nc, ậ chung về lu nậ văn
và hướ phát tri n.ng ể
Trang 31CH ƯƠ NG 2 Đ NG Ộ H C Ọ ROBOT
2.1 M t ộ số khái ni m ệ trong kĩ thu t ậ robot:
B c t ậ ự do c a ủ robot (Degrees Of Freedom - DOF)
B c t do là kh năng chuy n đ ng c a m t c c u (chuy n đ ng quayậ ự ả ể ộ ủ ộ ơ ấ ể ộ
ho c t nh ti n) Đ d ch chuy n m t v t th trong không gian, c c u ch pặ ị ế ể ị ể ộ ậ ể ơ ấ ấhành c a robot ph i đ t m t s b c t do B c t do c a robot có th tínhủ ả ạ ộ ố ậ ự ậ ự ủ ểtheo công th c:ứ
Đ i v i các c c u có các khâu đố ớ ơ ấ ược n i v i nahu b ng kh p quay ho cố ớ ằ ớ ặ
kh p t nh ti n thì s b c t do b ng v i s khâu đ ng Trong trớ ị ế ố ậ ự ằ ớ ố ộ ường h pợrobot Scara thì số b cậ tự do là 4 (3 b cậ tự do để đ nhị vị trí, 1 b cậ tự do để đ nhị
hướng)
Hệ t a ọ độ (Coordinate frames)
M i robot thỗ ường bao g m nhi u khâu liên k t (links) v i nhau qua cácồ ề ế ớ
kh p (joints), t o thành m t xích đ ng h c xu t phát t m t khâu c b nớ ạ ộ ộ ọ ấ ừ ộ ơ ả(base) đ ngứ yên
Hệ t aọ độ g nắ v iớ khâu cơ b nả g iọ là hệ t aọ độ cơ b nả (hệ t aọ độbase) Các hệ t aọ độ trung gian khác g nắ v iớ các khâu đ ngộ g iọ là hệ t aọ độsuy r ng.ộ Trong t ngừ th iờ đi m,ể các t aọ độ suy r ngộ (bi nế kh p)ớ xác đ nhị c uấhình c aủ robot b ngằ các d chị chuy nể c aủ các kh p t nhớ ị ti nế và kh pớ quay
Các h t a đ g n trên các khâu c a robot ph i tuân theo qui t c bànệ ọ ộ ắ ủ ả ắtay ph i Trong robot thả ường dùng ch O và ch s n đ bi u th h t a đ g nữ ỉ ố ể ể ị ệ ọ ộ ắtrên khâu n
Trang 322.2 Bi u ễ di n ễ v trí ị và h ướ ng trong không gian
Trong kĩ thu tậ robot, hệ t aọ độ quan tr ngọ nh tấ là hệ t aọ độ base, nó
đượ ch nc ọ làm hệ t aọ độ tham chi uế (reference frame) Vị trí trên các hệ khác
đ uề ph iả qui về hệ tham chi u.ế
Để xác đ nhị vị trí và hướ c ang ủ m tộ v tậ r nắ trong không gian, l yấ hệtham chi uế ���� (hệ 0) làm chu n,ẩ ta g nắ m tộ hệ t aọ độ �′�′�′� (hệ 1) lên′nó
Vector vị trí c aủ hệ (1) đ iố v iớ hệ (0) là vector OO’ Ta t nhị ti nế O’ vềtrùng v i ớ O Lúc này, hướng được xác đ nh b ng hình chi u c a các vector đ nị ằ ế ủ ơ
v c aị ủ hệ (1) lên hệ (0), đượ bi uc ể di nễ b ngằ m tộ ma tr nậ R g iọ là ma tr nậxoay
2.2.1 Ma tr n ậ xoay
Gi s c n xoay m t đi m ho c m t v t th xung quanh tr c t a đ x,ả ử ầ ộ ể ặ ộ ậ ể ụ ọ ộ
y, z v iớ góc quay tươ ngng ứ là ,γ ,β ,α các ma tr nậ xoay đượ tính theo côngc
Trang 33Đ ng h c thu n là bài toán đi tìm v trí và hộ ọ ậ ị ướng xoay c a các h t a đủ ệ ọ ộ
được đ t trên các kh p c a robot, và quan tr ng nh t là trên đ u công tác, khiặ ớ ủ ọ ấ ầ
bi tế trướ giá trị c ac ủ các bi nế kh p.ớ
2.3.1 Ph ươ pháp Denavit-Hartenberg (DH) ng
B t kì m t robot nào cũng có th xem là t p h p các khâu g n li n v iấ ộ ể ậ ợ ắ ề ớcác kh p.ớ N u đ tế ặ cho m iỗ khâu m tộ hệ tr cụ t aọ độ và sử d ngụ các phép bi nế
đ i thìổ có thể mô tả vị trí và hướ tng ươ đ ing ố gi aữ các hệ t aọ đ ộ
Hình 2.1 Minh h aọ phươ pháp Denavit-Hartenbergng
�
�
�
�
Trang 34M tộ Robot có n kh pớ và n+1 khâu Chỉ số các kh pớ b tắ đ uầ từ 1 đ nế n,còn khâu b t đ u 0 đ n n Kh p (i) k t n i khâu (i – 1) và khâu (i) Đ ch nắ ầ ế ớ ế ố ể ọ
m t hộ ệ tr cụ t aọ độ cho các khâu thì ph iả tuân theo m tộ số nguyên t cắ chungsau:
Tr cụ zi n mằ trên tr cụ c aủ kh pớ (i + 1)
Tr cụ xi n mằ trên đườ vuông góc chung hng ướ từ zng i-1 đ nế zi Trong
trườ h png ợ 2 trục giao nhau thì �¯ ⃗7
tr cụ �¯¯⃗7 = ¯�¯⃗7 ×
¯�⃗7.Xác đ nhị bộ thông số Denavit-Hartenberg:
G iọ �i là kho ngả cách gi aữ tr cụ �i–1 và tr cụ �i trên tr cụ �i
G iọ �i là góc xoay �i–1 quanh tr cụ �i đ nế song song v iớ �i
G iọ �i là kho ngả cách d cọ theo tr cụ �i–1 gi aữ �i–1 và �i
G iọ �i là góc xoay �i–1 quanh tr cụ �i đ nế song song v iớ
�i Xác đ nhị bi nế kh p:ớ
N uế kh pớ (i) là kh pớ quay (revolute) thì iθ là bi nế kh p.ớ
N uế kh pớ (i) là kh pớ t nh ti n (prismatic)ị ế thì di là bi n kh p.ế ớTrên c s các h t a đ đã ch n cho t t c các khâu c a robot thì m iơ ở ệ ọ ộ ọ ấ ả ủ ốquan h gi a các h t a đ n i ti p nhau (i -1) và (i) đệ ữ ệ ọ ộ ố ế ược xác đ nh b i cácị ởphép quay và phép t nhị ti nế sau đây:
Quay quanh �i–1 m tộ góc �i
T nhị ti nế d cọ theo �i–1 m tộ đo nạ �i
T nhị ti nế d cọ theo �i–1 m tộ đo nạ �i
Quay quanh �i m tộ góc xo nắ �iPhép bi nế đ iổ thì hệ (i - 1) sang hệ (i) đượ bi uc ể di nễ b ngằ ma tr nậ �i–1
(ma tr nậ chuy nể v )ị đượ tính b ngc ằ công th c:ứ
Trang 352.3.2 Đ ng ộ h c ọ thu n ậ robot SCARA
Hình 2.2 Hệ t aọ độ đượ ch nc ọ theo phươ pháp D-Hng
Ta đ tặ các hệ t oạ độ như hình vẽ Trong đó, hệ �0�0�0�0 là hệ t aọ độ chu n,ẩ hệ �4�4�4�4 là hệ t aọ độ t iạ đ uầ công tác (end-effector)
Trang 37V yậ ta tìm đượ vị trí và hc ướng c aủ đ u côngầ tác như sau :
2.4 Đ ng h c ộ ọ ng ượ c robot SCARA
Trong vi c ho ch đ nh robot, ta ho ch đ nh trệ ạ ị ạ ị ước v trí và hị ướng c aủ
nh ng đi m robot mà sẽ đi t i, nên yêu c u đ t ra là tìm các giá tr bi n kh pữ ể ớ ầ ặ ị ế ớ
tươ ngngứ v iớ vị trí và hướ đó.ng
Đ ng h c ngộ ọ ược là bài toán đi tìm giá tr c a các bi n kh p khi bi tị ủ ế ớ ế
trướ vị trí và hc ướ xoay c ang ủ đ uầ công tác
Vì góc P và � luôn cố đ nh,ị nên ta chỉ quan tâm vào góc � c aủ robot
Gi s ta bi t trả ử ế ước v trí x, y, z và góc ị � c a robot Theo h phủ ệ ươngtrình đ ngộ h cọ thu nậ v aừ tìm đượ ở trên, ta dễ dàng tính đc ượ :c
�∗ = �1 − �4 − �Khi nhìn robot theo hướ từ trên xu ngng ố (top view), ta đượ hình sau :c
2 33
Trang 38Ở đây ta th yấ �2 có 2 trườ h png ợ nghi mệ tươ ngngứ robot sẽ có 2 dáng g iọ
là Elbow-up là Elbow-down Khi tính �∗, ta sẽ ch nọ giá trị nào g nầ v iớ giá trị �∗
hi nệ t iạ nh t.ấ Nói cách khác, l aự ch nọ sao cho ΔΔ 2 là nhỏ nh t.ấ
Hình 2.4 Hai trườ h png ợ nghi mệ đ ngộ h c ngọ ược
W
W 1
2
2 2
1 4
Trang 392.5 Đ ng ộ h c v n ọ ậ t c ố
2.5.1 Ma tr n ậ Jacobian
Trong đi u khi n robot, giá tr v n t c là m t giá tr quan tr ng c n tínhề ể ị ậ ố ộ ị ọ ầtoán Khi ho ch đ nh quỹ đ o trong không gian làm vi c, v n t c c a đ u côngạ ị ạ ệ ậ ố ủ ầtác bao g mồ v nậ t cố dài và v nậ t cố góc Do v y,ậ c nầ ph iả tìm quan hệ gi aữ v nậ
t cố trong không gian làm vi c và không gian bi n kh p Ma tr n Jacobian là maệ ế ớ ậ
tr nậ th hi n quan h gi a các giá tr trong không gian bi n kh p và khôngể ệ ệ ữ ị ế ớgian làm vi c.ệ
ph n trên, ph ng trình đ ng h c thu n c a robot có th bi u di n
G i R là ma tr n xoay n m trong các ma tr n chuy n đ i ng gi a cácọ ậ ằ ậ ể ổ ứ ữ
hệ t a đ , O là v trí c a g c t a đ tọ ộ ị ủ ố ọ ộ ương ng Công th c tính t ng ph n tứ ứ ừ ầ ử
c a maủ tr nậ Jacobian đượ trình bày ở b ngc ả dưới
Trang 40Có thể vi tế l i 2ạ phươ trình trên như sau:ng
� � = (� �̇
�
�
) = �(�)�
2.5.2 Ma tr n ậ Jacobian c a robot ủ SCARA
Ma tr nậ Jacobian c aủ robot SCARA là m tộ ma tr nậ (6 x 4), tươ ngngứ