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 2THONG 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 3LỜ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 4MỤ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 52.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 64.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 7DANH 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 8Hinh 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 9DANH 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 10DANH 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 11LSTM 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 12TÓ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 13CHUONG 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 14AI 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 15Tuy 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 161.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 17CHƯƠ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 18Sim 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 19hà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 20chuyê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 21parameter 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 24Trong 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 252.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 26Sim-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 27và 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 28Trong 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 31CHƯƠ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 32Dé đ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 333.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 34Di 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 36Hì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 37Việ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 38Hì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 39củ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 40Bả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