1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Mạng máy tính và truyền thông: Nghiên cứu và ứng dụng các kỹ thuật học sâu tăng cường nhằm tăng tính tự hành của cánh tay robot phục vụ việc thu hoạch cây ăn trái tự động

82 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu và ứng dụng các kỹ thuật học sâu tăng cường nhằm tăng tính tự hành của cánh tay robot phục vụ việc thu hoạch cây ăn trái tự động
Tác giả Nguyễn Phan Đức Anh, Phan Trung Kiến
Người hướng dẫn Th.S Đặng Lê Bảo Chương, Th.S Bùi Thanh Bình
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Mạng máy tính và truyền thông
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 82
Dung lượng 51,47 MB

Nội dung

Mục tiêu đích là tối đa hóa phan thưởng và cho rô-bốt có thé đạt được tới một hành vi tự nhiên nhất trong môi trường từ mô phỏng sang đời thật Kết quả từ mô hình dựa trên các tiêu chí nh

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG

NGUYÊN PHAN ĐỨC ANH - 20521071

PHAN TRUNG KIÊN - 20521491

KHÓA LUẬN TÓT NGHIỆP

NGHIÊN CỨU VÀ ỨNG DỤNG CÁC KỸ THUẬT HỌC

SÂU TĂNG CƯỜNG NHẰM TĂNG TÍNH TỰ HÀNH

CUA CANH TAY ROBOT PHỤC VỤ VIỆC THU HOẠCH

CAY AN TRAI TU DONG

Research and implement Deep Reinforcement Learning model in

automating robotic arm for fruit harvesting.

CU NHAN NGANH MANG MAY TINH VA TRUYEN THONG DU LIEU

GIANG VIEN HUONG DAN Th.S PANG LE BAO CHUONG

Th.S BUI THANH BINH

TP HO CHi MINH, 2023

Trang 2

THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số

TigầYy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 3

LỜI CẢM ƠN

Dé hoàn thành khóa luận này, chúng em xin gửi lời cảm ơn đến các Quý Thay côKhoa Mạng máy tính và Truyền thông, Trường Dai học Công nghệ Thông tin — Đạihọc Quốc gia Hồ Chí Minh đã tạo cơ hội cho chúng em được học tập, rèn luyện vàtích lũy kiến thức, kỹ năng đề thực hiện khóa luận

Đặc biệt, chúng em xin gửi lời cảm ơn đến hai Giảng viên hướng dẫn, ThS Đặng Lê

Bảo Chương và ThS Bùi Thanh Binh, đã tận tình chỉ dẫn, theo dõi và đưa ra những

lời khuyên bồ ích giúp chúng em giải quyết được các van dé gặp phải trong quá trình

nghiên cứu và hoàn thành đề tài một cách tốt nhất

Chúng em cũng muốn cảm ơn bạn bè của mình, những người đã luôn bên cạnh, động

viên và hỗ trợ em trong những lúc khó khăn nhất Cùng những người khác, dù trựctiếp hay đã giáng tiếp, đã góp phần hoàn thành khóa luận này

Do kiến thức của bản thân còn hạn chế và thiếu kinh nghiệm thực tiễn nên nội dungkhóa luận khó tránh những thiếu sót Chúng em rất mong nhận sự góp ý, chỉ dạy thêm

từ Quý Thay cô

Cuối cùng, chúng em xin chúc Quý Thầy Cô luôn thật nhiều sức khỏe và đạt được

nhiêu thành công trong công viéc.

Trân trọng,

Nguyễn Phan Đức Anh Phan Trung Kiên

Trang 4

MỤC LỤC

CHƯƠNG 1 GIỚI THIỆU cc¿¿-©55vvc2c2EvvtrttExttrrrrrrtrrrerrrrree 2

LL Ciuiii 040 0 2

1.2 Những nghiên cứu liên QuUa1n - 5 3321332 SEEsrererrrereerrrrrrree 3

1.3 Mục tiêu, đối tượng, phạm vi nghiên CỨU 5 5-5 + *++sssesssereerees 4

1.3.1 Mục tiêu nghiên CỨU - G5 kg Hhghg n nnrt 4

1.3.2 _ Đối tượng nghiên cứu - c-©k+SE+EE+E2EE2EEEEEEEEEEerkerkrrerree 5

2.1.2.1 Tinh năng chính - - «kh ng ng ng nưệt 7

2.1.2.2 Thư viện sử dụng trong không gian làm việc Isaac Sim 7

2.2 Mô hình học tang CƯỜng + c 12.11121113 1119 11 8 11181 1 ng ng rệt 7

2.2.1 Qua trình quyết định Markov(Markov Decision Process — MDP) 8

2.2.2 Mô hình học tăng CƯỜng - cv HH re 8 2.2.3 Học sâu tăng CƯỜng - kg ng 9 2.2.4 Phân loại thuật toán DRLL, - - - << 5 222211133 ‡£££22#eveexkeszsese 10

2.2.5 Thuat tod 9 a 12

2.2.6 Thuật toán A2C - SH TH Hy 13

2.3 Động học nghịch đảo (Inverse KinematIC) - sSsss+ssssserssersses 14

2.4 Sim—tO-T€AÌ L SĐT ng 05050 kg 14

Trang 5

2.5 Thư viện hỗ tỢ G111 S311 E E11 TT HT crrrep 15

2.5.1 OpenAL Gym sọ TT Hà HH nh 15 2.5.2 OmnilsaacOymETIV - G11 ng ng rt 16

"ha 2Ö Ảd 18

CHƯƠNG 3 THIET KE MÔ HÌNH HE THÓNG -ccccc+cccccee 20

3.1 Mô hình kết nỗi hệ thống - 2 2 ¿+ +E+EE+EE+EE+EEEEE2EEEEEEeEEerkrrxrreee 203.2 Mô hình mạng của hệ thống - ¿2 2 2+2E+EE2EE+EE£EEtEEzEErrxrrkerreee 22

3.3 Mô hình Reinforcement Learning - ‹- 5 + * + +seexsseeseeeresee 22

3.3.1 Tổng quan mô hình -¿- ¿2-+++++2+++£x++zx+rxerxesrxesrxee 22

3.3.2 _ Xây dựng mô phỏng trên Isaac S1m eee «+ £+se+ssseree 24

3.3.2.1 Kay dựng môi trƯỜng + +s + re 24

3.3.2.2 Thực hiện mô hình Deep Reinforcement Learning 28

3.3.2.3 Thư viện OmnilsaacGymEnv trong huấn luyện 373.4 Xây dựng mô hình DOF rô-bốt thật - 2 2 s+£+E£+££+£++zxezszez 40

3.4.1 Linh kiện xây dựng mô hình - «+ sEsvEseeeseeseesesse 40

3.4.1.1 Khung cánh tay rô-bốt 6—DOE - +52 2+E+Ee£Eerxersrrerrs 40

Trang 6

4.1.1 Cầu hình phần cứng cho mô phỏng -. ¿- ¿+ s++:xz2+z+2 49

4.1.2 Jetson Nano (c1 HS 21x 54

4.1.2.1 Thông số phan cứng - 2 2 ++SE+EE+EE+EE+EE+EE+EerEerkerxerkeree 544.1.2.2 Thông số môi trường ¿- ¿+ +k+Ex+Ek+EE+EE+EE+Eerkerkerkerkeree 55

4.2 Xây dựng kết nối từ máy tính điều khiển tới DOF rô-bốt thật: 55

4.2.1 _ Chương trình nhận điều khiển DOF rô-bốt - 5+ 5+: 56

4.3 THUC NGHIEM 0 60

4.3.1 Thiết lập thực nghi@m c ccccccccccssesssesssesssesseessesssesstesseessesssesseesseessees 60

4.3.1.1 Môi trường thực nghiệm - 5 Ăn eeeeeske 60

4.3.1.2 Chỉ số đánh giá c- 22-55: 27Sc2cEktEkErkerkrerkrerkerrres 60

4.3.1.3 Nett cảnh thực nghiỆm - 5 25 33+ 13+ E+*EEseesesererserere 60

4.3.2 Kết quả thực nghiệm ¿-¿©2+2x++cx++rxrrrrerkesrxrrrxees 60

4.3.2.1 Kết quả đo từ mô hình - ¿2+ s+s+EE+E++E£+Eezkerxerxrrsrree 604.3.2.2 DOF Rô- bốt thật 2-52 ©522E<‡EEEEE2EEEEEEEEEEEEEkrrkrrkerree 64CHƯƠNG 5 KÉT LUẬN VÀ HƯỚNG PHAT TRIÊN :: 66

5.1 KẾT LUẬN -.-2cc 22222221221 2122122122121 665.2 Hướng phát triÊn -2¿-+¿©-++2E++EE+2EE2EEE2EEE21E221 22121122122 tre 66

Trang 7

DANH MỤC HÌNH

Hình 2.1: Mô hình học tăng cong - - - - +2 3331991119111 91 11811 9 11g ng re, 9 Hình 2.2: Mô hình hoc sâu tăng CưỜng - - + + + HH HH ng rưệt 10

Hình 2.3: Phân loại thuật toán học tăng CƯỜng - - 6 + + +kEseessersersee 10

Hình 2.4: Sơ đồ mô tả động học nghịch đảo - - s tk HH ngư 14Hình 2.5: Hình ảnh ví dụ về sim-to-real -:-+c+cc+tttrktrrrrrrrrrrrrrrirrrrrrieg 15Hình 3.1: Mô hình kết nối cơ bản của hệ thống - 22 2 +£x+2E£+E++£xsrxezsz 20

Hình 3.2: Mô hình kết nối đầy đủ của hệ thống - 2-2 2+ 2+x£E+zx+rxerszsez 21

Hình 3.3: Mô hinh mạng của hệ thống - 2 2® E+2E£+E£+EE+EEt£E+zEEerxerxerez 22Hình 3.4: Sơ đồ trình tự của chuỗi hành động di chuyên vật - 23

Hình 3.5: Dau ra và đầu vào của mô hình dé suất -2- ¿+¿+cszse+c+z 23

Hình 3.6: Đầu ra và đầu vào của mô hình thực hiện -¿-cccccce+rcceev 23

Hình 3.7: DOF rô-bốt tương tác với quả táo : ¿©+2++c++zxzx+zz++zxerxezs+ 25

Hình 3.8: Giao diện làm việc của [saac S1m c5 5523222 ‡+++sseeeeeeeezx 25

Hình 3.9: Mặt đất và Vật lý trong Isaac sỉm - 2-55 + 2+E+EzEerkerxerxersrree 26Hình 3.10: Thế giới đã thêm vào vật lý và mặt đất -2 ¿-s¿+cx+x++c++ 26

Hình 3.11: DOF rô-bốt đã được thêm trong môi trường 5 s2 s2 27 Hình 3.12: Sơ đồ xử lý của VecEnvBase với Isaac Sim và rlgames 28

Hình 3.13: Cây thư mục của thư viện OIP - - 62+ + E+*E+veeEeeeeeeerereers 37

Hình 3.14: Sơ đồ hoạt động của file train.Dy 2-52 s+sz+c++xezxerxerxerxersrree 38

Hình 3.15: Sơ đồ tong quan luồng làm việc của mã nguồn - 5 52 s2 40Hình 3.16: Bộ khung cánh tay máy sau khi lắp ráp xong - -: -: -s- 41Hình 3.17: Động co Servo MG996 ch HH TH TH HH HH Hàng tệ 41

Hình 3.18: Mach PCA9685 - HH HH HT ng HH HH TH Hư 42

Hinh 3.19: BG nguén HIS—480-0-48 an 43

Hình 3.20: Mô hình dang trong qua trình hoàn thiện 5555555 <++<s++ss+ 44

Hình 3.21: Mô hình sau khi hoàn tất lắp rấp - 2 2 + + ++x+Eerxerxerxersrree 45Hình 3.22: Doan code kiểm thử các chuyên động của cánh tay 47

Hình 4.1: Giao diện khi chạy lệnh “nvid1a—SIM”” - 5 Scs + s*vssereeeeersserrre 50

Trang 8

Hinh 4.2: Giao dién Nuclear 0015 — 14.- 51 Hình 4.3: Giao diện App S€Ï€CẨOT - G1 HH HH He 51

Hình 4.4: Thanh công chạy ứng dụng - <5 + 3 vn ng ngư 52

Hình 4.5: Tép yaml cài đặt bang Cond c.ccccscsssesssesssessessesssecssessessecssecsuesseessecsseess 53

Hình 4.6: Nội dung của file Setup py c SH HH g 54

Hình 4.7: Sơ đồ kết nối từ Mô phỏng sang server điều khiến - 55Hình 4.8: Kết nối thành công -¿- 2: +¿©2£©++2EE+2EE2EEE2EEE2EE2EEEEEESEkrrrrrrrrcrke 55Hình 4.9: Đồng bộ hóa hành động từ mô phỏng ra DOF rô-bốt - - 56

Hình 4.10: Nội dung chính file dofbot—server—Ipynb «+ +-sss+sscsssesseers 57

Hình 4.11: Nội dung các hàm sử dung trong file dofbot—server.ipynb 59

Hình 4.12: Biểu đồ phần thưởng trên đơn vị vòng lặp 2-5 5552552 61

Hình 4.13: Biểu đồ số lần thành công liên tiếp trên đơn vị vòng lặp 62

Hình 4.14 Mang chứa thông tin góc khớp được gut ởI - -«-+s << x+s<+sx+ 64

Hình 4.15: Đồng bộ từ Isaac Sim ra DOF rô-bốt thật ở góc l - 64Hình 4.16: Đồng bộ từ Isaac Sim ra DOF rô-bốt thật ở góc 2 - 65Hình 4.17: Quá trình gap vật của DOF rô-bốt thật - 2 252 + s2 £s+£s2 +2 65

Trang 9

DANH MỤC BANG

Bảng 2.1: Ưu nhược điểm của hai loại thuật toán -¿-¿- 5z 5s+s+c£v+EeEeEzxexererez lãiBảng 3.1: Thành phần của mảng không gian quan sát -2 ¿sz©5+2=s+ 29Bảng 4.1: Cau hình yêu cầu của phần mềm và cấu hình thực tế sử dụng 49Bảng 4.2: Giá trị các tham số chính trong quá trình thực nghiệm [18] 61Bảng 4.3: Thống kê tỉ lệ chạm tới mục tiêu trong 30 giây (9 lần = 100%) 63

Trang 10

DANH MỤC TỪ VIET TAT

API Application Programming Interface

CPU Central Processing Unit

CUDA Compute Unified Device Architecture

GPU Graphics Processing Unit

GRU Gated Recurrent Unit

GUI Graphical User Interface

HER Hindsight Experience Replay

I2C Inter—Integrated Circuit

IC Integrated Circuit

IP Internet Protocol

LAN Local Area Network

Trang 11

LSTM Long Short-Term Memory

MDP Markov Decision Process

OIGE OmnilsaacGymEnvs

PC Personal Computer

PPO Proximal Policy Optimization

PWM Pulse Width Modulation

RL Reinforcement Learning

RTX Ray Tracing Texel eXtreme

SCL Serial Clock

SDA Serial Data

TCP Transmission Control Protocol

TD Temporal Difference

TRPO Trust Region Policy Optimization USD Universal Scene Description

Volt

Trang 12

TÓM TẮT KHÓA LUẬN

Trong khóa luận này chúng tôi đưa ra một dé xuất cho việc tạo ra một DOF rô-bốt tựhành trong việc thu hoạch trái cây và giải quyết được một vấn đề trong chuỗi hànhđộng đề suất Cu thé là việc chạm đến vật thé trong không gian băng đầu vào là dit

liệu quan sát từ môi trường.

Khóa luận tập trung vào việc áp dụng phương pháp học sâu tăng cường giúp rô-bốt

có khả năng tự hành và đưa từ mô hình từ mô phỏng ra ngoài đời thực Môi trường

mô phỏng được xây dựng trên nền tang Isaac Sim, áp dung framework OIGE cungcấp từ NVIDIA dé huấn luyện Môi trường nay được xây dung dé mô tả rô-bốt vớivật thể xuất hiện ngẫu nhiên trong không gian ba chiều

Trạng thái của môi trường được xác định bởi các trạng thái của đôi tượng học tăng

cường như vi trí va toc độ của các khớp và mục tiêu can đạt tới Tac tử huân luyện có

sử dụng một chính sách để đưa ra quyết định dựa trên trạng thái hiện tại.

Trong quá trình tương tác, tác tử khám phá môi trường và tối ưu hóa chính sách quyết

định thông qua việc tương tác với môi trường Các thuật toán học tăng cường

Advantage Actor-Critic (A2C) và Proximal Policy Optimization (PPO) được sử dụng

cho việc cập nhật dé cải thiện chính sách Mục tiêu đích là tối đa hóa phan thưởng và

cho rô-bốt có thé đạt được tới một hành vi tự nhiên nhất trong môi trường từ mô

phỏng sang đời thật

Kết quả từ mô hình dựa trên các tiêu chí như phần thưởng đạt được qua nhiều episode,

độ dài của episode trên đơn vi thời gian và tỉ lệ phần trăm thành công của việc đạt tới

mục tiêu trong thời gian nhất định Qua kết quả, chúng tôi đánh giá được hiệu quả

của mô hình học tăng cường được ứng dụng trong một vấn đề cụ thê và tiềm năngcủa việc ứng dụng đê tài này vào tác vụ mà chúng tôi đê xuât.

Trang 13

CHUONG 1 GIOI THIEU

1.1 Giới thiệu khóa luận

Trong bối cảnh công nghệ ngày càng tiên tiến, ngành rô-bốt và học sâu đã mở rộngảnh hưởng đến nhiều lĩnh vực như y học, nông nghiệp, kinh tế và giao thông Với khảnăng vận chuyên và đóng gói nhanh chóng và hiệu quả, r6—bét dần trở nên quan trọnghon trong sản xuất Tuy nhiên, sự phát triển của rô-bốt không chỉ dừng lại ở đó,chúng còn có khả năng thực hiện nhiều công việc phức tạp hơn, giúp cuộc sống của

cho tính hiệu quả trong hoạt động của cánh tay rô-bốt

Khoá luận này tập trung vào việc ứng dụng kỹ thuật học sâu tăng cường dé cải thiện

khả năng tự động của cánh tay rô-bốt trong thu nông nghiệp Học củng cố sâu, kết

hợp học sâu và học tăng cường, cho phép máy móc "học" và "hành động” dựa trên

dữ liệu Điều này mở ra khả năng tự động hóa không chỉ các tác vụ đơn giản mà còn

cả hoạt động phức tạp như thu hoạch trái cây.

Nghiên cứu về học củng cố sâu cho thấy tiềm năng lớn trong việc sử dụng mạng

nơ-ron sâu dé gần đúng các thành phan học củng cố, mở ra ứng dụng mới tnơ-rong rô-bốt

và các lĩnh vực khác của cuộc sống Deep RL đã trở thành công cụ mạnh mẽ cho pháttriển rô-bốt, với các mô hình học sâu giúp rô-bốt hiểu và phan ứng với môi trường,

tăng cường tự động hóa và tôi ưu hóa.

Trong nghiên cứu, chúng tôi đã phân tích mô hình học sâu tăng cường khác nhau dé

tìm ra phù hợp cho thu hoạch, đồng thời tối ưu hàm reward dé đạt độ chính xác cao.Mục tiêu là phát triển rô-bốt tự động thích nghi với môi trường và thu hoạch hiệuquả Nghiên cứu góp phần tiến bộ ngành rô-bốt nông nghiệp, mở hướng ứng dụng

Trang 14

AI và học máy trong thực tiễn, cải thiện năng suất, giảm chỉ phí lao động và tăng an

toàn sản xuât.

Chúng tôi cũng đánh giá thách thức khi áp dụng trong nông nghiệp, qua đó đề xuấtgiải pháp cũng như hướng phát triển tiếp theo Khoá luận phân tích chỉ tiết kết quảthử nghiệm, đánh giá tính khả thi của giải pháp, và khuyến nghị cho tương lai Trongbối cảnh toàn cầu hóa và biến đổi khí hậu, nghiên cứu và phát triển công nghệ tiêntiến trong nông nghiệp là cấp bách, hướng tới hệ thống nông nghiệp bền vững, antoàn và hiệu quả Phần kết của khóa luận là tổng hợp phát hiện chính, đánh giá tầmquan trọng của nghiên cứu và đề xuất hướng phát triển trong tương lai, đóng góp chonông nghiệp và ứng dụng AI, học máy trong sản xuất

1.2 Những nghiên cứu liên quan

Từ 2005 đến 2023, lĩnh vực học tăng cường sâu (Deep Reinforcement Learning —DRL) đã có nhiều nghiên cứu và đột phá được áp dụng trong điều khiển rô-bốt Nhiềutác giả và những công trình nồi bật như:

— “Reinforcement Learning for Robots Using Neural Networks” bởi L.-J Lin:

đây là một báo cáo kỹ thuật mang tính đột pha, đặt nên móng cho việc sử dụng

mạng nơ-ron trong học tăng cường [1]

— “Neural Fitted Q Iteration — First Experiences with a Data Efficient Neural

Reinforcement Learning Method” bởi Riedmiller, M: bài báo này giới thiệu

phương pháp học Q-iteration, một tiễn bộ quan trọng trong việc cải thiện hiệu

quả dữ liệu cho DRL [2].

— “Deep auto—encoder neural networks in reinforcement learning “ bởi S Lange

and M Riedmiller: bai báo nay thảo luận vé viéc áp dụng mang nơ-ron sâu tự

mã hóa trong quá trình học tăng cường [3] và rất nhiều những bài báo khác cóđóng góp tương đương

Những nghiên cứu này đã đóng góp quan trọng vào việc phát triển các phương pháp

và kỹ thuật mới trong DRL, đặc biệt là trong việc điều khiến rô-bốt

Trang 15

Tuy nhiên, trong thời kì đầu của sự phát triển, họ không thể nào tránh khỏi những hạn

chế mà chính họ cũng chưa có giải pháp trong khoảng thời gian đó Tương ứng với

những bài viết được đề cập, Lin L.-J (1993) [1], mặc dù đặt nền móng quan trọng,

những công trình này có thé đã không đủ dé giải quyết các van đề phức tạp trong môitrường đa dang và thay đổi liên tục mà rô-bốt hiện đại phải đối mặt Riedmiller, M

(2005) [2], phương pháp Neural fitted Q iteration có thé chưa đủ hiệu quả về mặt tínhtoán khi áp dụng cho các hệ thống lớn và phức tạp, đặc biệt là trong môi trường có

sự không chắc chắn cao và cuối cùng là Lange, S & Riedmiller, M (2010) [3], việc

sử dung mang nơ-ron sâu tự mã hóa có thé không hoàn toàn hiệu quả trong việc xử

lý các van đề liên quan đến học chuyển giao và thích ứng nhanh với môi trường

giảm tiêu thụ tài nguyên tính toán [4].

Chuyên Giao Chính Sách Học Tăng Cường Sâu từ Mô Phỏng sang Thực Tế: Một bài

báo khác từ Nature Machine Intelligence nêu bật thách thức trong việc chuyên chính

sách học được từ mô phỏng sang thực tế trong điều khiến rô-bốt Các phương phápchuyền giao chính sách đã được xem xét, cung cấp cái nhìn sâu sắc về cách thức tíchhợp DRL vào các ứng dụng rô-bốt thực tế [5]

1.3 Mục tiêu, đối tượng, phạm vi nghiên cứu

1.3.1 Mục tiêu nghiên cứu

Nghiên cứu và phát triển r6—bét tự động thu hoạch nông san, sử dụng phương

pháp học tăng cường đề hỗ trợ rô-bốt hoạt động chính xác, tự nhiên hơn

Trang 16

1.3.2 Doi tượng nghiên cứu

— Mô hình học sâu tăng cường.

— Điều khiển Rô-bốt qua mạng máy tính

— Trình mô phỏng NVIDIA Isaac Sim.

1.4 Cấu trúc khóa luận tốt nghiệp

Chúng tôi xin trình bày nội dung của Khoá luận theo cấu trúc như sau:

— Chương 1: Giới thiệu tông quan về đề tài của Khóa luận và những nghiên cứu

liên quan.

— Chương 2: Trình bày cơ sở lý thuyết và kiến thức nền tảng liên quan đến đề

tài.

— Chương 3: Trình bày chỉ tiết thiết kết mô hình rô-bốt trên môi trường ảo bao

gồm cả mô hình mô phỏng và mô hình DRL

— Chương 4: Trình bay thực nghiệm và đánh giá.

— Chương 5: Kết luận và hướng phát triển của đề tài

Trang 17

CHƯƠNG 2 CƠ SỞ LÝ THUYÉT

2.1 Trình mô phỏng

2.1.1 NVIDIA Omniverse

NVIDIA Omniverse [6] là một nền tảng mở, dễ dàng mở rộng, được thiết kế để

cộng tác trực tuyến trong việc mô phỏng vật lý chính xác theo thời gian thực Cácchuyên viên sáng tạo nội dung, nhà thiết kế, nhà nghiên cứu và kỹ sư có thê kết nối

các công cụ thiết kế, nội dung và dự án chính dé cộng tác va lặp lại trong một khônggian ảo được chia sẻ Các nhà phát triển và nhà cung cap phần mềm cũng có thé dễdàng xây dựng và bán các Extension, App, Connector và các dịch vụ kiểumicroservice trên nền tảng module hóa của Omniverse dé mở rộng chức năng của

nØ.

Các điểm nỗi bật của NVIDIA Omniverse:

— Cộng tác trực tiếp giữa những người dùng và các ứng dụng với nhau Tập

hợp lại những người sử dụng và các công cụ thiết kế 3D hàng đầu trongngành theo thời gian thực trên một nền tảng tương tác duy nhất Quy trìnhlàm việc được đơn giản hóa vì các bản cập nhật, nâng cấp thường xuyên

và thay đổi diễn ra tức thời mà không cần chuẩn bi dit liệu

— Tốc độ thời gian thực, chất lượng như khi offline Omniverse cung cấp khả

năng ray-tracing và path-tracing thời gian thực, có thể mở rộng Cung cấphình ảnh đẹp, chính xác về mặt vật lý và chân thực trong thời gian thực

— Mô phỏng thực tế với công nghệ RTX Xây dựng một lần, hiển thị ở bat cứ

đâu Truyền trực tiếp hiệu ứng do công nghệ NVIDIA RTX mang lại cho

bất ky thiết bi nào của bạn Chia sé công việc một cách dễ dàng và đảm

bảo rằng nó được trình bày đúng như mong đợi

2.1.2 Isaac Sim

NVIDIA Isaac Sim là một ứng dụng mô phỏng rô-bốt có thé mở rộng và công cụ tạo dữ liệu tổng hợp Được xây dựng trên nền tảng Omniverse, Isaac

Trang 18

Sim cho phép các rô-bốt được dao tạo và kiêm tra hiệu quả hơn bằng cách cung cấp một môi trường mô phỏng chân thực cho rô-bốt vượt ra ngoài thé giới thực Isaac Sim cung cấp những môi trường ảo chính xác về mặt vật ly dé phát trién, thử nghiệm va quản lý các rô-bốt dựa trên AI.

2.1.2.1 Tính năng chính

Isaac Sim dựa trên các tiện ích mở rộng phân loại các chức năng như: main (chức năng côt lõi và điêu khiên), cảm biên (tạo và giao tiêp), chuyên đôi

tài nguyên (nhập các công cụ rô-bôt), robot (các lớp rô-bôt chính), và khác

(như gỡ lỗi và chương trình tạo chuyển động) [2].

Mỗi tiện ích đều tham gia vào chức năng của trình mô phỏng; nhờ vậy,

việc sử dụng mã bên trong như thư viện python chuẩn được thực hiện, điều này cho phép người dùng cuối có lựa chọn thực hiện mọi thứ có sẵn trong việc lập trình giao diện người dùng đồ họa (GUI) Một trong những tiện ích mở rộng quan trọng nhất cho học tăng cường là Isaac Gym.

2.1.2.2 Thư viện sử dụng trong không gian làm việc Isaac Sim

Khi cần thao tác với tư thế của các prim (đối tượng trong môi trường ảo),

có bốn thư viện chính: CORE, USD, PhysX và DYNAMIC CONTROL [4] Tat cả chúng đều làm việc với biểu diễn vị tri không gian ba chiều Cartesian (x,

y, z theo centimet) và biéu diễn bốn chiều cho hướng (quaternions theo radian hoặc độ) [5] Sử dụng chúng cùng nhau làm cho việc tạo ra một lớp tổng quát

cho thao tác với các phần tử và nhiều chức năng dé điều khiển, thao tác và sửa

đôi tài nguyên của rô-bôt trở nên dê dàng hơn.

2.2 Mô hình học tăng cường

Học Tăng Cường Sâu (Deep Reinforcement Learning — DRL) là một lĩnh vực đang

phát trién mạnh mẽ trong ngành công nghệ trí tuệ nhân tạo DRL kết hợp hai thànhphần chính: học tăng cường, là một kỹ thuật máy học nơi một tác nhân tự học cách

Trang 19

hành xử trong một môi trường đề tối đa hóa phần thưởng tích lũy; và học sâu, là mộtphương pháp cho phép mô hình hóa các hàm phức tạp thông qua mạng nơ-ron sâu.

Trong DRL, tác nhân học từ kinh nghiệm, tức là từ việc tương tác với môi trường mô

phỏng Mỗi lần tương tác, tác nhân thực hiện một hành động và nhận về một phảnhồi dưới dạng phan thưởng hoặc phạt, giúp nó hiểu được hành động đó có lợi ích hay

không Tác nhân sử dụng thông tin này dé cập nhật chiến lược của minh, thường đượcbiểu diễn qua một mạng nơ-ron, dé tôi ưu hóa hành động trong tương lai

2.2.1 Qua trình quyết định Markov(Markov Decision Process - MDP)

Cốt lõi của DRL là quá trình quyết định Markov (MDP), một mô hình toán học mô

tả môi trường học của tác nhân thông qua các trạng thái, hành động và quy tắc phần

thưởng MDP giả định rằng quyết định hiện tại có thê tối ưu hóa phần thưởng trong

tương lai mà không cần dựa vào lịch sử quyết định trước đó, được gọi là tính chất

Markov [7].

Đề đạt được mục tiêu của mình, tác nhân trong DRL học một chính sách (policy 7)

dé ánh xạ từ trạng thái sang hành động, va hàm giá tri (value function V(s) hoặcQ(s, a)) dé đánh giá kỳ vọng phần thưởng của các hành động Cả hai đều được cập

nhật qua thời gian khi tác nhân tích lũy thêm kinh nghiệm thông qua việc thử nghiệm

và lỗi, cho phép nó phát triển một chiến lược tối ưu hóa dựa trên việc dự đoán kết quảcủa các hành động.

2.2.2 Mô hình học tăng cường

Học tăng cường (Reinforcement learning — RL) là một nhánh của hoc máy (Machine learning — ML), nghiên cứu cách thức một tác nhân (Agent) trong một môi

trường (Environment) đang ở một trạng thái (State) thực hiện một hành động (Action)

dé tối ưu hóa một phần thưởng (Reward) chung

Đề đơn giản hơn, ta xét đến bài toán như sau: Ở tại thời điểm £, tác nhân A có trạngthái là s¿ e S (tập các trạng thái có thể có của tác nhân trong môi trường), thực hiệnhành động ae A (tập các hành động của tác nhân) và có một xác suất P;z(S¿¿¡)

Trang 20

chuyên đến trạng thái tiếp theo s;„¡ và nhận được một phan thưởng tức thời r; P;„ làmột phân phối biéu diễn trạng thái tiếp theo của tác nhân khi thực hiện hành động a

ở tại trạng thái s trong S Mục tiêu của bài toán là tối đa phần thưởng (lợi tức) chung

R.

action Reward| |State

R¿ St

Hình 2.1: Mô hình hoc tang cường

2.2.3 Hoc sâu tăng cường

Học sâu tăng cường về cơ bản bao gồm một môi trường tạo ra thông tin về chính

nó, được biéu thị dưới dạng trạng thái và một tác nhân hiểu được nó dé tạo ra một số

chiến lược hoặc chính sách nhằm tao ra các hành động nhằm theo đuôi hoặc hoànthành một nhiệm vụ hoặc mục tiêu cu thé Môi trường mô phỏng là công cụ hỗ trợquan trọng, giúp xây dựng và chuyền giao kết quả nghiên cứu một cách dễ dàng sang

thực tế Trong đó, sự chuyên đổi từ trạng thái này sang trạng thái khác được xem xét

như một quá trình quyết định Markov với phân phối xác suất P điều kiện bởi toàn bộ

lịch sử tương tác của tác nhân với môi trường Tác nhân trong MDP học chính sách

ma, và day là chức năng cốt lõi của học tăng cường với ba biểu thức toán học chính:

— Chính sách a, chuyền đổi trạng thái thành hành động: a ~ 7Z(S)

— Hàm giá trị V“(s) hoặc Q“(s, a) dé ước lượng lợi tức kỳ vọng E từ phần thưởng

R.

- Mô hình môi trường P(s’ | s, a).

Trang 21

parameter 9

Observe state

Hình 2.2: Mô hình hoc sâu tăng cường

Policy Optimization Q-Learning ) | Learn the Model j Given the Model

— — —* DQN World Models ——*> AlphaZero |

A2C / A3C 7 } —* a1 T2A

| PPO a = " » QR-DQN > MBMF

| TRPO <— —> HER | > MBVE

Hình 2.3: Phân loại thuật toán học tăng cường

Thuật toán học tăng cường được chia làm hai loại chính:

— Thuật toán không dựa trên mô hình (Model-free): là những thuật toán

mà không sử dụng mô hình môi trường, trong đó mô hình môi trườngmột hàm dự đoán sự chuyển đôi trạng thái và phần thưởng Chúng không

cố gắng mô phỏng hoặc dự đoán các chuyên đổi trạng thái của môi trường hoặc phần thưởng dựa trên hành động.

10

Trang 22

— Thuật toán dựa trên mô hình (Model-based): là những thuật toán sử dụng

mô hình môi trường Mô hình môi trường này có thé dự đoán chuyên đồi trạng thái của môi trường và phần thưởng dựa trên hành động.

Mỗi thuật toán sẽ có ưu nhược điểm đặc trưng, cụ thể được liệt kê trong bảng

sau:

Bang 2.1: Ưu nhược điểm của hai loại thuật toán

Thuật toán Ưu điểm Nhược điểm

Thuật toán | — Linh hoạt, đa dạng — Đòi hỏi nhiều tương tác

không dựa trên | — Độc lập với mô hình với môi trường hơn.

mô hình — Đơn giản hơn — Khó khăn trong việc tìm

hiểu các chính sách hiệuquả hơn trong không gian

trạng thai lớn và phức

tạp.

Thuật toán dựa | — Doi hỏi ít tương tác hơn với | — Phụ thuộc rất lớn vào mô

trên mô hình môi trường do có sự tham gia hình môi trường.

của mô hình môi trường — Độ phức tạp cao trong

— Khả năng lập kế hoạch hiệu việc tạo ra một mô hình

quả hơn môi trường tối ưu

— Tiết kiệm tài nguyên hơn — Có khả năng chứa các giả

định không chính xác

Dựa trên những ưu nhược điểm này, chúng tôi quyết định sử dụng thuật toán

không sử dụng mô hình dé giản lượt tác vụ tạo ra mô hình môi trường Chúng tôi sẽ chỉ tập trung nói đến thuật toán này.

Thuật toán không sử dụng mô hình lại chia làm 2 loại:

lãi

Trang 23

— Tối ưu hóa chính sách: là thuật toán chú trọng trực tiếp tới việc tối ưu

hóa chính sách của tác tử học tăng cường (Agent) thay vi học một ham

giá trị hành động Dữ liệu thu thập được dé học và tối ưu hóa policy phải đến từ việc thực thi chính chính sách nó tạo ra Gồm những thuật toán

như A2C, PPO, TRPO

— Q-learning: là thuật toán dùng để tìm ra một chính sách (policy) tối ưu

trong một môi trường học tăng cường xác định mà không phải thực hiện

chính sách đó Gồm những thuật toán như DỌN, HER, C51

Và trong hai loại này, chúng tôi chọn thuật toán tối ưu chính sách cho việc huấn luyện vì thư viện chúng tôi chọn có hỗ trợ mô hình này Cụ thể chúng tôi

sử dụng thuật toán PPO và A2C, sẽ được đề cập ở phần sau.

2.2.5 Thuật toán PPO

PPO va A2C là hai thuật toán dựa trên Actor—Critic (AC) kết hop ham gradient

chính sách và giá tri, bao gồm hai phần: Actor và Critic [8] Trong số đó, Actor là

chức năng chính sách tương đương với gradient chính sách, chịu trách nhiệm tạo ra

các hành động và tương tác với môi trường Critic sử dụng hàm giá tri tương tự nhưDQN thay vì phương pháp Monte Carlo dé tính giá trị của từng bước và lay hàm giátrị Sau đó, hàm giá trị được sử dụng đề đánh giá hiệu suất của Tác nhân và hướngdẫn hành động của Tác nhân trong giai đoạn tiếp theo

Khi nói về PPO, thuật toán này không chỉ có hiệu suất tốt trong không gian hoạtđộng liên tục của rô-bốt di động mà còn dễ thực hiện hơn so với TRPO hay rất nhiềuthuật toán khác Hàm mục tiêu của phương pháp PPO là:

LEMPAVE*S (9) = Ê,[LỆ" (0) — c, LE" (6) + czS[mạ](s,)]

Trong đó, L¿¡p(Ø) là ham mục tiêu chính của việc tối ưu hóa chiến lược; Sự matmát giữa giá trị đầu ra của mạng và giá trị mục tiêu lỗi TD cần được giảm thiêu bởi

Lyp(8) S[ma](s) là entropy thông tin của việc đo lường ham gradient chiến lược mới

nhất [9]

12

Trang 24

Trong hàm L¢,;p (8), có một hàm clip(r,(@), 1—€, 1+€) cắt giảm tỉ lệ ra r;(Ø) vềkhoảng (1—€, 1+€) Hàm mục tiêu của PPO chỉ lấy giá trị nhỏ hơn giữa hàm mục

tiêu thông thường và hàm cắt giảm, điều này giúp cho chiến lược không bi thay đối

nhiều và chỉ giao động trong vùng clip cắt giảm Do đó PPO cải thiện tính ôn định

cho việc huấn luyện policy networks bằng cách giới hạn giá trị cập nhật của policy

cho mạng tại mỗi bước huấn luyện

2.2.6 Thuật toán A2C

Là một thuật toán tiên tiến trong cách tiếp cận chiến lược tổ hợp, dựa trên cơ sở

của REINFORCE kết hợp với giá trị Advantage Thuật toán này nâng cấp quá trìnhcập nhật gradient của policy thông qua một hàm nhằm giảm thiểu sự phân kỳ giữa

các gradient, qua đó cải thiện độ chính xác của việc ước lượng Thay vì chỉ dựa vào

value function, critic trong A2C đánh gia giá tri dựa trên advantage function, cho

phép một đánh giá toàn diện về hiệu quả của hành động dựa trên tiềm năng cải thiệnchúng Điều này giảm đáng kế sự chênh lệch giữa các ước lượng trong policynetwork, làm tăng cường tính robust của mô hình và tối ưu hóa lợi nhuận thu được

Hàm mục tiêu cho A2C là:

VạJ(Ø) = E[Vạ log mrạ (a;|s,) A(s¿, a,)]

Trong đó, A(s;, a;) là policy network, A(s, a) là ham advantage , có công thức là:

AG, a,) = QG¿, ae) — V(S,) = TSẹ, Ae, Sea) + WV (Se41) + V(s¿)

Kết quả của phép tính này là sự khác biệt giữa giá trị hành động cụ thể Q(s¿, a,) vàgiá trị trạng thái V(s,), cho phép xác định mức độ "tốt" của hành động so với mức độtốt trung bình ở trạng thái đó Công thức kết hợp phần thưởng tức thời và giá trị dựkiến giảm dần, cho phép mô hình học tập đánh giá hành động không chỉ dựa trên hiệu

quả tức thời mà còn cả hiệu quả dài hạn thông qua chiết khấu Cho nên, hàm

Advantage cung cấp một cơ sở tốt hon dé đánh giá và lựa chọn hành động [10]

13

Trang 25

2.3 Động học nghịch đảo (Inverse Kinematic)

Với việc điều khiển cánh tay rô-bốt, thì một kiến thức không thể thiếu chính là

động học nghịch đảo Động học nghịch đảo là việc sử dụng các phương trình

động học dé xác định chuyên động của ro—bot nhằm đạt đến vị trí mong muốn.

Vi dụ: dé thực hiện việc nhặt thùng tự động, một cánh tay rô-bốt được sử dụng

trong dây chuyền sản xuất cần có chuyên động chính xác từ vi trí ban đầu đến

vị trí mong muốn giữa thùng và máy sản xuất Đầu nam của cánh tay rô-bốt

được chỉ định là cơ quan tác động cuối cùng Câu hình rô-bốt là danh sách các

vị trí khớp nam trong giới han vị trí của mô hình rô-bốt và không vi phạm bat

kỳ ràng buộc nào mà rô-bốt có [11].

Inverse Kinematics (IK)

Hình 2.4: Sơ đồ mô ta động học nghịch đảo

2.4 Sim-to-real

Phương pháp học tăng cường cần rất nhiều dit liệu dé có thé huấn luyện hiệu quảđược một mô hình Mô hình càng phức tạp thì càng cần nhiều kinh nghiệm Và việcthu thập những dữ liệu này dựa trên môi trường thực tế thì không khả thi vì nó mangrất nhiều rủi ro tiềm tàng Do đó, dé việc tìm cách dé lay được dữ liệu hiệu quả hon,

an toàn hơn, người ta sử dụng dữ liệu giả lập trên các trình mô phỏng.

14

Trang 26

Sim-to-real là một phương pháp mà trong đó sử dụng phần mềm mô phỏng đề huấn

luyện chiến lược trong môi trường ảo, sau đó chuyên sang môi trường thực tế Ưu

điểm rất lớn của phương pháp này là tạo ra một lượng dữ liệu lớn rất nhanh chóng và

đã có rất nhiều nghiên cứu chỉ ra sự cải thiện đáng ké nhờ thời gian huấn luyện giả

A

lập.

Van đề lớn của huấn luyện giả lập là "khoảng cách thực tế" — sự khác biệt giữa môitrường giả lập và thực tế Các phần mềm giả lập chân thực dang dan thu hẹp khoảngcách này Nhưng thực sự, việc chuyên từ giả lập sang thực tế vẫn không đơn giản

Reaching Pushing Sliding

OpenAI Gym tập trung vào việc huấn luyện theo dang episodic trong lĩnh vực học

tăng cường, nơi trải nghiệm của tác nhân được xử lý theo các "episodes" Trong đó,

trạng thái ban đầu của người học được chọn một cách ngẫu nhiên từ một phân phối,

15

Trang 27

và quá trình tương tác với môi trường kết thúc khi một trạng thái kết thúc được đạt

tới API này tập trung vào trừu tượng hóa môi trường và cách tác nhân tương tác với

nó, cung cấp một cách dé chỉ định thông tin về dữ liệu quan sát thông qua các lớp con

cụ thể Môi trường học tăng cường có thé được biểu diễn bởi lớp Gym và phải bao

gôm các yêu tô sau:

— Khai báo và Khởi tạo: Câu hình các metadata, chế độ render, tốc độ khung

hình, và các cấu hình ban đầu khác cho môi trường cụ thể, chăng hạn như

số bước tối đa cho mỗi episode

— Tạo Quan sát từ Trạng thái Môi trường: Phương pháp này chuyên đổi trạng

thái môi trường thành quan sát, tức là thông tin có thé nhận biết được

— Khởi tạo Episode mới: Khi bắt đầu một epIsode mới, phải trả về một trạng

thái ban đầu hoặc một số thông tin phụ trợ nào đó

— Bước: Phương pháp nay chứa logic chính của môi trường, xử lý hành động,

tính toán trạng thái môi trường và tính toán phần thưởng.

— Đóng: Hàm này đóng và giải phóng bắt kỳ tài nguyên nào được sử dụng bởi

môi trường mà không còn cân thiệt nữa.

Với những thành phần này, có thê tạo ra một hệ thống hybrid giữa một môi trườngtùy chỉnh và một rô-bót lập trình được tương thích với Isaac Sim, một phần mở rộngcủa Gym đáp ứng cho các chức năng quan lý cơ bản và mô hình hóa 3D, từ điều khiểnrô-bốt đến thao tác cầm nam Các mở rộng này cung cấp các chức năng cơ bản đề hỗtrợ liên kết mạnh mẽ giữa Isaac Sim và OpenAI Gym, mô phỏng sự tương tác giữa

"Isaac Sim" và "Gym" , nơi Isaac Sim đại diện cho mô phỏng va Gym API đại diện

cho "các thư viện dễ sử dụng", nơi có thể trích xuất các hệ thống này.

2.5.2 OmnilsaacGymEnv

OmnilsaacGymEnvs [12], một phan mở rộng cua Omniverse Isaac Gym từNVIDIA, đại diện cho một bước tiến lớn trong lĩnh vực học tăng cường và mô phỏngvật lý Đây không chỉ là một công cụ học máy tiên tiến, mà còn là một cầu nối giữathế giới ảo và thực, giúp định hình tương lai của rô-bốt và trí tuệ nhân tao (AI)

16

Trang 28

Trong thế giới ngày càng kỹ thuật số, việc phát triển các mô hình AI hiệu quả và

chính xác ngày càng trở nên quan trọng OmnilsaacGymEnvs, với khả năng tích hợp

sâu vào hệ thống Omniverse của NVIDIA, cung cấp một môi trường mô phỏng vật

lý độ chính xác cao, cho phép các nhà nghiên cứu và kỹ sư tạo ra, thử nghiệm và cải

thiện các mô hình học tăng cường một cách hiệu quả Nó mở ra cánh cửa mới cho

việc nghiên cứu trong lĩnh vực này, với khả năng mô phỏng các tình huống phức tạp

và đa dạng, từ mô phỏng rô-bốt cho đến các nhiệm vụ xử lý dữ liệu cảm biến phứctap.Ung dụng của OmnilsaacGymEnvs không giới hạn trong lĩnh vực nghiên cứu

Nó có khả năng ảnh hưởng đến nhiều ngành công nghiệp, từ sản xuất, tự động hóa,cho đến y tế và giáo dục

Tính năng và ứng dụng nổi bậc của OmnilsaacGymEnvs

— Huan luyện và suy luận học tăng cường: OmnilsaacGymEnvs cung cấp một

giao diện cho việc huấn luyện và suy luận học tăng cường trong Isaac Sim

Nó giúp kết nối các thư viện học tăng cường với mô phỏng vật lý và cácnhiệm vụ trong Isaac Sim Điều nay là quan trong dé đạt được kết quả huấnluyện tốt hơn và nhanh chóng triển khai các chính sách RL vào môi trườngthực tế

— Các lớp giao diện môi trường: OmnilsaacGymEnvs cung cấp các lớp giao

diện môi trường mà ké thừa từ gym.Env, một tiêu chuan phô biến trong họctăng cường Giao diện này giúp kết nối chính sách RL với mô phỏng trongIsaac Sim, giúp các nhà nghiên cứu và phát trién dé dàng thực hiện các thử

nghiệm.

— Nhiều môi trường và nhiệm vụ: Cung cấp một loạt các nhiệm vụ và môi

trường, từ việc điều khiến tay máy đến mô phỏng di chuyên của rô-bốt, hỗtrợ việc nghiên cứu và phát triển trong lĩnh vực học máy và học tăng cường

— Tích hợp với Docker và hỗ trợ livestream: Hỗ trợ việc chạy trong môi

trường Docker và có khả năng livestream dé theo dõi quá trình huấn luyện

17

Trang 29

— Hỗ trợ checkpoint và tiếp tục huấn luyện: Có khả năng lưu và tải các mô

hình đã huấn luyện (checkpoint), cho phép người dùng dễ dàng tiếp tục quátrình huấn luyện hoặc thực hiện suy luận dựa trên các mô hình đã được huấn

luyện.

2.5.3 PyTorch

PyTorch là một thư viện về học sâu phổ biến.Sự phát triển của PyTorch bắt đầu

như một nỗ lực nhằm đáp ứng nhu cầu về một thư viện học sâu dễ sử dụng và linh

hoạt hơn PyTorch được chính thức ra mắt vào năm 2017 và nhanh chóng nhận được

sự quan tâm từ cộng đồng nghiên cứu nhờ vào cấu trúc đồ thị tính toán động của nó,một tính năng đặc biệt so với đồ thị tĩnh trong TensorFlow — một thư viện học sâukhác phô biến [13]

Tính năng noi bật

— Đồ thị tính toán động: PyTorch sử dụng đồ thị tính toán động, có nghĩa là

đồ thị được xây dựng ngay khi các phép toán được thực hiện, tạo điều kiện

cho việc xây dựng các kiến trúc phức tạp và làm cho việc gỡ lỗi trở nên dễ

dàng hơn.

— Tính năng pythonic: API của PyTorch được thiết kế một cách trực quan va

phù hợp với quy ước của Python, làm tăng khả năng tiếp cận và dé sử dụng

cho những người quen thuộc với Python.

— Hỗ trợ thư viện phong phú: PyTorch bao gồm một loạt các công cụ và thư

viện cho nhiều ứng dụng như xử lý ảnh và video (TorchVision), xử lý ngôn

ngữ tự nhiên (TorchText), và cả tính toán khoa học (TorchSci).

— Hỗ trợ cộng đồng và ngành công nghiệp mạnh mẽ: Với sự hỗ trợ từ các tập

đoàn lớn như Facebook, PyTorch có một cộng đồng phát trién mạnh và đangphát triển nhanh chóng Sự hỗ trợ này dẫn đến các cập nhật thường xuyên,nhiều tài nguyên học tập và một kho lưu trữ lớn các mô hình và bộ dữ liệu

đã được huấn luyện trước

18

Trang 30

— Tích hợp với CUDA: PyTorch tích hợp mạnh mẽ với CUDA, cho phép tận

dụng tối đa GPU của NVIDIA để tăng tốc tính toán tensor Điều này làm

cho PyTorch trở thành công cụ mạnh mẽ cho các tác vụ tính toán hiệu năng cao trong học sâu.

19

Trang 31

CHƯƠNG 3 THIẾT KÉ MÔ HÌNH HỆ THÓNG

3.1 Mô hình kết nối hệ thống

Trong mô hình lần này, chúng tôi sẽ sử dụng một mô hình thiết bi thật Cánh tay rô—

bốt 6-DOF, được điều khiển từ phan mềm NVIDIA Isaac Sim thông qua Jetson Nano,

và các thiết bị khác theo mô hình như sau:

Jetson NANO PWM Signal

Hình 3.1: Mô hình kết nối cơ bản của hệ thong

Tín hiệu điều khiến cánh tay sẽ được gửi từ PC dùng phần mềm NVIDIA Isaac Sim

đến Jetson Nano thông qua kết nối TCP trên port 65432

Mạch PCA9685 được kết nối với Jetson Nano bằng giao thức I2C, dé dùng giao thức

này chúng ta chỉ cần nối chân SCL và SDA của Jetson Nano với chân tương ứng trênPCA9685 Ngoài 2 chân SCL, SDA, chúng ta còn phải nối lần lượt chân 5V và GNDvới chân VCC va GND của PCA9685 dé có thé cấp nguồn cho mạch PCA9685

20

Trang 32

Dé điêu khiên cánh tay chuyên động, chúng ta sẽ điêu khiên trực tiêp các khớp xoay của cánh tay, tức là các động cơ servo Các động cơ này sẽ được điêu khiên trực tiêp

bởi NVIDIA Jetson Nano thông qua mach PCA9685.

Ngoài ra, dé có thé cấp đủ nguồn điện cho 6 động co servo, ta ding một bộ nguồn tổ

ong Bộ nguồn này sẽ biến nguồn điện AC 220V — 10A thành dòng điện DC 5.55V

— 10A Dòng điện này sẽ được nối vào chân cấp điện riêng cho servo của mach

Hình 3.2: Mô hình kết nối đầy đủ của hệ thống

21

Trang 33

3.2 Mô hình mạng của hệ thống

Hệ thống này của chúng tôi sẽ sử dụng kết nối trong mạng intranet, với tất cả các

thiết bị (bao gồm PC, Jetson Nano) đều nằm trong một mạng LAN

Jetson NANO 6-DOF Robotic Manipulator

Hinh 3.3: M6 hinh mang cua hé thong

Jetson sẽ đóng vai trò như một Server, mở port 65432 tai IP 172.31.10.96 dé lắng

nghe thông số được gửi từ PC (có IP 172.31.10.39) Jetson Nano sẽ dựa vào các

thông số này dé gửi tín hiệu điều khiển đến cho DOF rô-bốt

3.3 M6 hình Reinforcement Learning

3.3.1 Tong quan mô hình

Sử dụng phương pháp học sâu tăng cường trên rô-bốt có rất nhiều cách, cũng như

có rất nhiều dạng tối ưu Về quy mô của khóa luận này, chúng tôi sẽ giới hạn nó vềmột phạm vi nhất định Trong một tác vụ cụ thé, việc hái trái cây, chúng tôi được phát

biểu nó là một tác vụ có trình tự, chúng tôi hình dung trái cây là một vật Chúng tôi

đê suât mô hình cụ thê như sơ đô bên dưới.

22

Trang 34

Di chuyén vật

Xác định vị trí Đạt được vị trí Khám phá môi trường

Với một việc như hải trải cây, tuân tự này được áp dụng Đâu vào của mô hình sẽ

Ảnh Video trực tiép từ Camera Hanh động của Robot

Hình 3.5: Đâu ra và dau vào của mô hình dé suat

Nhìn chung thi vẫn có cách dé có thé dùng một mô hình, cho ra nhiều hành độngtuần tự như việc sử dụng LSTM hay là GRU Nhưng chúng tôi nhận thấy rằng, việc

đó không chỉ phức tạp, mà còn đòi hỏi một số yêu cầu khá riêng biệt khi thao tác vớimỗi thành phần trong chuỗi sự kiện hành động Với việc khám phá môi trường đòihỏi phải áp dụng nhiều kĩ thuật khác nhau về thị giác máy tính, cũng như các outputcủa mô hình đó đề điều khién hành vi của r6—bét trong việc tìm kiếm mục tiêu CònVỚI VIỆC gap vật, xác định vi tri thi lai đòi hoi sự chính xác, tối ưu được vi trí nào trênvật thé là tốt nhất dé gap, Vì thế cho nên dé hạn chế sự mat phương hướng tronglúc nghiên cứu, chúng tôi quyết định chọn một trong những tác vụ trên là đạt tới vịtrí vật dé thực hiện

Đâu ra và đâu vào chúng tôi thực hiện sẽ như sau:

INPUT OUTPUT

;Ƒ i ¬

Dữ liệu quan sat

° a

Hình 3.6: Dau ra va dau vào của mô hình thực hiện

23

Trang 35

Ở chương này chúng tôi sẽ trình bày tổng quan về phương pháp của chúng tôi trong

xây dựng môi trường rèn luyện cũng như thuật toán, framework mà chúng tôi làm

việc Với học sâu tăng cường, chúng tôi có thê cải thiện cách thức mà cánh tay đạt

tới vật.

Mô hình huấn luyện của chúng tôi gồm 2 phần chính:

— Thứ nhất: Xây dựng môi trường mô phỏng với isaac sim

— Thứ hai: Áp dụng thuật toán huấn luyện trên DOF rô-bốt

3.3.2 Xây dựng mô phỏng trên Isaac Sim

Có rất nhiều cách thức dé train ra mô hình Deep Reinforcement Learning, mà trực

qua nhất là sử dung Standalone Application trực tiếp từ NVIDIA cung cấp, và sử

dụng thư viện OIGE/rlgames Trong báo cáo này, chúng tôi chọn phương thức làm

với OIGE /rlgames Song song đó, chúng tôi cũng sẽ nói chỉ tiết về phương thức train,

và khởi tạo môi trường, các thành phần liên quan phụ thuộc

3.3.2.1 Xây dựng môi trường

DOF rô-bốt trong Isaac Sim của NVIDIA là một phần mở rộng rô-bốt được

tích hợp trong môi trường mô phỏng Isaac Sim Mục tiêu của nó là cung cấp một

mô hình rô-bốt động học dé mô phỏng và phát triên các ứng dụng rô-bốt Isaac Sim cung cấp một loạt các tính năng và API đề tương tác và điều khiển rô-bốt

này trong môi trường ảo.

Trong Isaac Sim, chúng tôi có thể tạo và điều khiển DOE rô-bốt thông

qua các API Các tính năng chính bao gồm điều khiển các khớp (joints) của rô-bốt

theo vị trí, vận tốc, hoặc lực Điều này cho phép mô phỏng các hoạt động phức tạp

và kiêm tra các thuật toán điều khiển rô-bốt trước khi triển khai chúng trong thực tế

24

Trang 36

Hình 3.7: DOF rô-bốt tương tác với qua táo

Với demo nhỏ này, chúng tôi cung cấp một cái nhìn tổng quan cho việc môitrường huấn luyện được cấu thành như thé nào Trong ảnh là một DOF rô-bốt cùng

với một quả táo Với môi trường ảo, những tính chất vật lý cần được định nghĩa

Trang 37

Việc đầu tiên cho việc thêm bat cứ vật thé gì vào thé giới là tạo mặt dat và áp

dụng trọng lực lên nó Với giao diện GUI, chúng tôi sẽ vào phần Create > Physic >

Ground Plane và chọn thêm PhysicScene

File Edit Create Window Isaac Utils Isaac Examples Replicator Tools Profiler Layout Help

Material

Physics Physics Scene

Flow Ground Plane

Particles Physics Material

== Sequence Collision Group

Visual Scripting Joint

» Navigation Particle System

Hình 3.10: Thế giới đã thêm vào vat lý và mặt dat

Phan trong khung đỏ, Stage, thé hiện những vật thé nằm trong thé giới Có théthấy rõ được trong phần này là GroundPlane, ánh sáng và Physic đã được thêm vào

26

Trang 38

Hình 3.11: DOF rô-bốt đã được thêm trong môi trường

Với môi trường training, chỉ định nghĩa trong Thế giới thôi thi chưa đủ mà còn

phải lay được vị trí của riêng những khớp cần tính toán Với sự khác biệt về cách thực

thi, môi trường train trong rl_games sẽ sử dụng một file đề lưu các định nghĩa chỉ tiết

về DOF rô-bót, không chỉ về định nghĩa môi trường mà còn là cả một môi trường

huân luyện.

Huan luyện mô hình Deep Reinforcement Learning trên Isaac Sim cho phépchúng tôi train nhiều mô hình cùng một lúc bằng cách sử dụng VecEnvBase

VecEnvBase được cung cấp bởi omni.isaac.gym, nó chịu trách nhiệm chuyên các

hành động từ thư viện RL sang nhiệm vụ từng bước truy của DOF rô-bốt, mô phỏngxuất các quan sát, phần thưởng và đặt lại bộ đệm cho thư viện RL

Vi lý do đó, néu train nhiều môi trường cần phải cân nhắc đến giới hạn củaphần cứng và chọn phương pháp tối ưu cho việc nhân bản ra nhiều tài nguyên DOF

rô-bốt Instanceable Asset là một chức năng của Isaac Sim hỗ trợ nhân bản mà khôngcần quan tâm quá nhiều vào lượng tại nguyên sử dụng Bằng cách đó, mỗi bản sao

của rô-bôt sẽ tham chiêu đên một bản sao của các mesh (tài nguyên từng thành phân

27

Trang 39

của những vật thé) , tránh việc phải tạo nhiêu ban sao của cùng một mesh trong cảnh,

do đó giảm mức sử dụng bộ nhớ trong môi trường mô phỏng tổng thể

động có thé ma agent có thể thực hiện trong môi trường của nó

Các thành phần của không gian quan sát không chỉ cung cấp thông tin chỉ tiết

về trạng thái của rô-bốt và mục tiêu, mà còn có thể được sử dụng làm cơ sở để tính

toán phần thưởng (reward) trong quá trình huấn luyện

Không gian quan sát là một mảng có 29 phần tử, nội dung của các phần tử được

liệt kê trong bảng sau:

28

Trang 40

Bảng 3.1: Thành phần của mảng không gian quan sát

Quan sát Số phần tử chiếm trong mảng

VỊ trí góc khớp 6

Tốc độ góc khớp 6

VỊ trí của mục tiêu 3

Hướng quay của mục tiêu 4

Hướng quay tương đối của mục tiêu 4

Hành động trước đó 6Tổng 29

Chi tiết mỗi thành phan bên trong không gian quan sát được mô tả bên dưới

Vị trí và vận tốc của các khớp (Joints Position and Velocity): Việc rô-bốt dichuyên các khớp một cách hiệu quả và chính xác hướng tới mục tiêu có thé đóng gópvào việc tính phần thưởng Vị trí khớp — Quyết định hành động (góc quay) của từng

bậc tự do (dof), biểu thị bằng một mảng có 6 phần tử Tương tự, vận tốc khớp cũng

có phan tử tương ứng với tốc độ quay của 6 khớp có trên DOF rô-bốt

Vi trí và hướng quay của mục tiêu (Goal Position and Rotation): Việc dat đến

hoặc duy tri vị trí gần với mục tiêu và hướng quay tương đối so với mục tiêu có thé

được coi là thành tựu và nhận phần thưởng VỊ trí được biểu thi bằng một mảng có 3

phần tử, chứa vi trí của muc tiêu trên hệ trục x, y, z Hướng quay được biểu thị bằngmột quaternion — một mảng có 4 phan tử Việc sử dụng quarternion có ý nghĩa nhưsau: Không bi gimbal lock — Quaternions tránh được van đề mat một bậc tự do trong

quay, điều thường xảy ra với góc Euler, Ít tích lũy lỗi — Khi thực hiện nhiều phép

quay liên tiếp, quaternions giúp giảm bớt việc tích lũy lỗi, Hiệu quả tính toán — Phépnhân và nghịch đảo của quaternions thường nhanh và tiêu tốn ít tài nguyên hơn so

với ma trận quay,

Hành động trước đó (Previous Action): Sự liên quan giữa hành động hiện tại

và hành động trước đó có thể ảnh hưởng đến việc tính phần thưởng, đặc biệt nêu hành

động trước đó dẫn đến cải thiện vị trí hoặc hướng quay so với mục tiêu Cũng giống

29

Ngày đăng: 02/10/2024, 02:47

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN