Với hệ thống Lidar, robot sử dụng RP Lidar A1M8 được phát triển dé sử dụng vàocác ứng dụng phát hiện vật cản, lập bản đồ bằng tia laser, hỗ trợ định vị xe hay robot tự hành,robot thông m
Trang 1ĐẠI HOC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TINH
Trần Anh Minh — 20521616
Văn Nhật Minh — 20521619
KHÓA LUẬN TÓT NGHIỆP
< ỨNG DỤNG CÔNG NGHỆ ĐỊNH VỊ ĐÒNG THỜI LẬP
BAN DO TREN ROBOT >
< SIMULTANEOUS LOCALIZATION AND MAPPING(SLAM)
IN MOBILE ROBOTS >
CU NHAN KY THUAT MAY TINH
GIANG VIEN HUONG DAN
PHAN DINH DUY PHAM QUOC HUNG
TP HO CHÍ MINH, 2024
Trang 2LỜI CẢM ƠN
Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến thầy cô Trường Đại
học Công nghệ Thông tin — Dai học Quốc gia TP HCM nói chung và thầy cô
Khoa Kỹ thuật Máy tính nói riêng đã tạo điều kiện thuận lợi và môi trường học tập tuyệt vời trong 4 năm qua dé chúng em có thể hoàn thành khóa luận tốt nghiệp này.
Chúng em xin bày tỏ lòng biết ơn sâu sắc và chân thành nhất đến thầy Phan
Đình Duy và thầy Phạm Quốc Hùng, những người đã dành thời gian và kinh nghiệm quý báu của mình dé tận tình chỉ bao và hướng dẫn chúng em hoàn
thành khóa luận tốt nghiệp Những góp ý của thầy đã giúp chúng em vượt qua
nhiều khó khăn thử thách và hạn chế của bản thân dé hoàn thành khóa luận một cách tốt nhất Hơn hết, những lời động viên về mặt tinh thần và sự quan tâm của các thầy là nguồn động lực lớn lao dé chúng em cố gắng hoàn thiện khóa luận tốt nghiệp Ngoài ra, chúng em xin cảm on tất cả các bạn bè đã hỗ
trợ chúng em trong quá trình thu thập dữ liệu và cung cấp những thông tin cần
thiết cho khóa luận của tụi em Một lần nữa xin cảm ơn mọi người đã dành thời gian va tâm sức dé hỗ trợ chúng em hoàn thành khóa luận tốt nghiệp Kính mong quý thay cô và các bạn bỏ qua những sai sót trong quá trình thực
hiện luận văn của chúng em.
Trân trọng,
Trân Anh Minh
Văn Nhật Minh
Trang 3MỤC LỤC
Chương 1 TÔNG QUAN DE TÀI - 2-2 2+5£+E£+EE+EE+E2EE+EzErEerrerreee 13
I.I Tổng quan về để tài 25s ©x+2E2EE£EEEEEEEEEEEEEEEEEEEEEErrrrrreeg 13
1.2 Mục tiêu và giới hạn của I0 13
1.2.1 Mục tiêu đề tài - 22 5c 2k2 2 E2 2112112112111 ke 13
1.2.2 Giới hạn của đề tài -¿- 5c 2c 22k 22 2212211221121 211cc 14
1.3 Phương pháp thực hiỆn <5 c2 3E *vEEeeEeeseerreereeerree 14
1.3.1 Tìm hiểu về lý thuyẾ - + ©sSt+EE‡EEEEEEEEE 2E E111 1.1 cxe 14
1.3.2 Vận dụng thực tẾ - 2¿2+++2+2E+t2EEE2EE2E122112711221122122 22 15
1.3.2.1 Dữ liệu đầu VA0 wc ceccccscssecssessessssssecsecssesnecsecssessecsssssecseessssseeseeseeeseess 15
1.3.2.2 Quá trình xử lý SG SH HH kg rn 15
1.3.2.3 Dữ liệu đầu ra ©2:27+c22k 2 EEEEEEEEEEEErrrrrerrkee l6
Chương2 CO SỞ LÝ THUYỀÊT - 2-2 2 E+E+EE+EE+E£EEzEerrerreee 17
2.1 Tổng quan về ROS -2¿2¿- + E22 EEEEEEEEE211221 2121.211 xcrke 17
2.1.1 Khái niệm về ROS_ -52-Sc 2k E22 E221 crkrree 17
2.1.2 Chức năng của ROS - - LH HH TH HH HH TH tr 18 2.1.3 Môi trường của ROS ecceccccsesssssesssssessesseessessesssessessesssessessssssessesseseseess 19
2.1.4 Mô hình của ROS - c2 2k2 2 2212112111121 111tr cre 19
2.1.4.1 Tang ROS Filesystem o ccccccccccesccssssessessessessessessessesessssseseseseesees 19
2.1.4.2 Tầng ROS Computation graph ccccccscccsssesssessseessessesstecseeeseesseeess 20
2.1.4.3 Tầng ROS community c ccccccccccescessesessessessesessessesessssessesseseesees 22
2.1.5 Ưu điểm của ROS cocccccccscccssesssessessssssessessuessessessusssessesssessessussseeseeseeeseess 23
2.2 Laser Imaging, Detection And Ranging(LIDAR) 23
2.2.1 Simultaneous Localization And Mapping(SLAM) 27
Trang 42.2.2 GMappInE Gọi 28
"SN (0 29
2.3.1 Expected Robot behavior - -.- «¿5+ + + 11v 30
2.3.2 APT của Movebase - HH HH HH kh 31
2.4 Explore_ eXDÏOTAfIOTI - - G1 HH HH ng 31
2.4.1 Tổng quan ¿2-5-2 SESEEEEEEEEE XE 1EE15211121111111111 111.1 c0 31
2.4.2 Setup Frontier_eXpÏOTafIOII - 5 + x9 ng ngư 32
2.5.6 Mạch điều khiển động cơ - ¿2+ ©c++2++2EtEEterkeerkeerkesree 39
2.5.7 Động cơ DC Servo JGB37 - 52 .- cty 40
2.5.8 IMU 6O5U Gà ry 42
2.5.9 Màn hình 7 inch HDMI LCTD - 5 5 S3 *+skseeeseserseeeere 43
Chương 3 | PHAN TÍCH VA THIET KE HỆ THÓNG 2-2 5+: 45
3.1 Phân tích phần cứng, phần mềm dé xây dựng hệ thống 45
3.1.1 Phân tích phan cứng - ¿+ + + ©x+EE£EE#EE+EESEEEEEEEEEEEEErrkrrerrrrei 45
3.1.1.1 Thiết kế phần cứng - 2-2 + E+SE+EE+EE+EE£EE+EEEEESEEEEErrrrrerreee 45
3.1.2 Phân tích phần mềm - 2£ E+SE£EE£EE+EE£EEEEEEEEEEEzErrrrerrerei 46
3.1.2.1 Phần mềm trên Jetson Nano 2-22 s+x+2E++£++zxzzsrxeee 46
3.1.2.2 Phần mềm trên Esp32 ¿2+ ©++22++2+++£E++rx+erxesrxesrei 49
Trang 53.2 Tính toán Odometry, Điều khiển PID -¿ 2 s+s+s+z+E+Ezzszszs2 50
3.2.1 X09 a2 50
3.2.2 Điều khiến PID - - 22 %©E2E2EEEEE2E1E7121121171711211 21.21 re 54
Chuong 4 THỰC NGHIỆM VÀ ĐÁNH GIA -¿-75¿5cs2cxz+c+z 60
4.1 Cài đặt môi trường ¿-¿-:++++++ St x2xEEEEEEEEEErkrkrkrrerererrree 60
4.1.1 Quy trình cải dat ooo ccecccssecsneesseeesseceseeesaecsseeeeeeceaeeeeeeseeeesneesaees 60
4.1.1.1 Cài đặt ROS s 2c 2 2222221221121 111k 60
4.1.1.2 Thiết lập môi trường ROS cho máy tính các nhân va Jetson Nano
¬ 60
4.1.1.3 Thứ tự chạy các lệnh Map và Navigation ««< «<<+ 61
4.2 Đánh giá mức độ vẽ Map + + + Sxssxtsvsvsseereerrrkree 62
4.3 Đánh giá mức độ NavIgatIOI - 5 5S + ‡+vEEeeeeeereeerreerres 63
4.3.1 Trong môi trường không có vật cản .- - «+ ssc+x++c+ecsxe 63 4.3.2 Trong môi trường CO Vat CảN - - 55-55 +*vsseseeereeeres 64
4.4 Đánh giá độ chính xác trong phép định vi của robot 65
Chương 5 KÉT LUẬN VÀ KIEN NGHỊ, -2- 2 2 2+£+££+££+£zxz+zzee 67
5.1 Két quả đạt ẨƯỢC - óc c1 ng ng nếp 67 5.2 Ưu điểm — Nhược điểm của khóa luận - 2s 2 s+s+zzzszx+zsss2 67
Trang 6DANH MỤC HÌNH
Hình 2.1: Robot Operating SVSf€T - - - G1 119211191119 11 91119 1 1 ng vn ng 17 Hình 2.2: Mô hình robot SÏa1m - 1121931911911 1 911v nh ng ngư 18
Hình 2.3: Mô hình ROS Filesystem nh nhớ, 20
Hình 2.4: Tầng ROS community - 2 2£ 2 + ++E£+E++EE+E++E£EzEzErrerrerreee 20
Hình 2.5: Giao tiếp giữa các Nodes trong ROS scsssesssesssesssesssesssesssesssessecssecssecssecases 22Hình 2.6: Cộng đồng ROS community - 2-2-2 5++2++2£x+2£x2Exvtzxerxxerseees 23
Hình 2.7: Hình ảnh minh họa LIdar - ( ( ( (<< << 1 ***** E3 ‡‡‡‡‡£++esseessseeeees 24
Hình 2.8: Mô hình SLUAM - Gà HH TH TH TH TH ng ng 28 Hình 2.9: Mô hình GmappIng - <5 + 31 13911191113 11 911 9v ng ng ng 29 Hình 2.10: Mô hình famework movea§e - - cv nnnHnghnHng nnrưy 29
Hình 2.11: Hành vi dự kiến của rObot .c¿ c:++5ccccvvvteccxvrrerrrrrrrrrtrrerrrkee 30
Hình 2.12: Map dựa vào gói Fronfier_€XpÏOTAfIOTI «+ ««++«s++s+eeexesereeess 31
Hình 2.13: Cau trúc của gói Frontier_exploration - 2-2 ssz+sz+sz+z+szzszee 32
Hình 2.14: Hai phiên ban Jetson Nano A02 va BOT - - 5-55 <«++s++sexssexs 33
Hình 2.15: Pinout của Kit Esp32 NodeMCU-32S - 5 si eeiee 36
Hình 2.16: Pin Lipo 3S - - 2c 23112111 1121191111111 1 1 TT TH HH nà Hy 37
Hình 2.17: Hình dáng của UPS Module 3S - + 5+ + *++skkseerseesserseeese 38
Hình 2.18: Động Cơ L298N DC Motor IDTIVeT - <5 + £*skEssvessseesees 39
Hình 2.19: Động cơ JGB 37 Encoder - - S5 3 S3 ngư 40
Hình 2.20: Chi tiết cấu tạo động CO veceescscsessesssesseessessesssessecsesssessesssessessesssessessesseeses 42
Hình 2.21: Mô hình IMU MPU6050 - - -GG SQ S*SHHH HH HH ng Hy 43 Hình 2.22: Màn hình 7inch HDMI LCD C, - - 5 5 + £+++kE+eeEseksserseeese 43
Hình 3.1: Hình ảnh bố trí trọng tâm TOOIV - - - s1 1v kg kg ke 45Hình 3.2: Sơ đồ hệ thống -LLc c2 1122011112221 111 1 1111111 151111 46Hình 3.3: Sơ đồ liên kết của các node trong hệ thống 2-2 2 225252: 49Hình 3.4: Lưu đồ giải thuật của Esp32 2¿ 2+: 2+2++£x++zx+rxezrxrsrxrrrree 50Hình 3.5: Qua một khoảng thời gian rất nhỏ, chuyên động robot có thé gần bằng
THỘT CUNE fTỒN Q2 2n ng SH SH n nh ni km nh cv 51
Trang 7Hình 3.6: Hai đường cung tròn tạo bởi bánh trái và phải « «+«<++ 52
Hình 3.7: Cấu trúc điều khiển của PID w ccccccscccsssesssesssesssesssecssesssecsssssssssssseesseeesecsses 55
Hình 3.8: Công thức của bộ điều khiển PID - 2-2 2 2 +2 ++££+E++Ez+Ezxzzxeez 55Hình 3.9: Độ vọt lố(POTT) 2¿- +©5¿+2x2Ex92EE2212211211221711211271211 211.1 cv 56Hình 3.10: Sai số xác lập -¿- 2-2 SE+SESEE2EE9E1221221211211211211211211211211 21.211 ty 57
Hình 3.11: Thời g1an xác lẬP - - + + 11199 ng 58
Hình 3.12: Phuong pháp Ziegler — Nichlos - xi errrskrey 59
Hình 4.1: Các bước dé robot bắt đầu hoạt động -¿ 2¿©++2cx+zxz+sse2 61Hình 4.2: Bản độ hành lang thực Ế TH E11 1111111111111 11111111111 111111 11111 cre 62
Hình 4.3: Bản đồ hành lang robot vẽ đƯỢC - 2-2 2 2+++s++££+xzxzxzxezreee 62
Trang 8DANH MỤC BANG
Bảng 3.1: Cac packages tự tao ra trong quá trình xây dựng robot 46
Bảng 3.2: Các packages được kế thừa lại dé hiện thực hệ thống "¬ 47Bang 3.3: Chi tiết nội dung các packages trong hệ thống 2-2 2 25+: 48
Bảng 4.1: Phần trăm sai số giữa khoảng cách thực tế và khoảng cách thu được từ
000 63
Bảng 4.2: Bang thông số thực nghiệm không có vật cản -.: -:-¿5+¿ 63Bảng 4.3: Bảng thông số thực nghiệm có vật cản -2 ¿- 5¿©cs+2cx2zxeczse2 64Bang 4.4: Bảng kết quả dit liệu lấy từ terminal khi chạy xong localization 65
Trang 9DANH MUC TU VIET TAT
Robot Operating System Light Detection And Rangging Light amplification by stimulated emission of radiation Dynamic Window Approach
Simultaneous Localization And Mapping Transform
Inertial Measurement Units Time - Of - Flight
Trang 10TÓM TẮT KHÓA LUẬN
Khóa luận “Ứng dụng công nghệ định vị đồng thời lập bản đồ trên Robot” ứng dụng
Lidar và Jetson Nano dé thiết kế nên Robot có khả năng tự di chuyền và vẽ được bản
đồ sau khi robot đã đi qua Ứng dụng các thuật toán tìm đường đi dé robot có thé di
chuyên với các thao tác đơn giản nhat.
Với hệ thống Lidar, robot sử dụng RP Lidar A1M8 được phát triển dé sử dụng vàocác ứng dụng phát hiện vật cản, lập bản đồ bằng tia laser, hỗ trợ định vị xe hay robot
tự hành,robot thông minh
Bên cạnh đó sử dụng Encoder để tính toán vận tốc và số vòng của bánh xe dé có thểbiết được trạng thái của Robot Từ đó áp dụng các thuật toán định vị và hoạch địnhđường di dé Robot có thé tự động di chuyển và vẽ bản đồ một cách chính xác và
nhanh nhất có thé.
Dé Robot hoàn thiện và hoạt động tốt các hệ thống riêng lẽ phải được kết hop vàđồng bộ trên một hệ điều hành quy nhất Khi đó, ROS là một lựa chọn rất phù hợp
với hệ thống ROS là một hệ thống phần mềm giúp phát triển Robot với các thư viện
và công cụ được hỗ trợ đề truyền dữ liệu giữa các chương trình, giữa Robot và máy
tính nhờ vào kiến trúc các gói trên hệ thống của Robot Hệ thống “Ứng dụng côngnghệ định vi đồng thời lập bản đồ trên Robot” sẽ tập trung chủ yếu vào các gói dành
cho Lidar và các gói phục vụ SLAM, định vi và hoạch định đường di cho Robot.
Cuối cùng, dé hoàn thiện hệ thống vẽ Map và Navigation Robot sẽ được chia làm ba phần Phần thứ nhất là Nvidia Jetson Nano Developer Kit, nơi thực thi các thuật toán
định vi và hoạch định đường di Phan thứ 2 chính là Lidar có nhiệm vụ như là trungtâm của robot tiếp nhận tín hiệu và truyền dữ liệu để nhận diện có tín hiệu vật cản
hoặc tín hiệu không có vật cản Phan thứ ba cũng là tầng nền với Esp32 nhận dữ liệu
từ các cảm biến IMU và Encoder và tính toán trạng thái của Robot, đồng thời điều
khiển hai động co DC dé Robot có thé di chuyển Ba phan chính sẽ được liên kếtchặc chẻ với nhau trên một hệ thống là Robot Operating System (ROS)
12
Trang 11Chương 1 TONG QUAN DE TÀI
1.1 Tổng quan về đề tài
Những năm gần đây tự động hóa va robotic phát triển rất nhanh và mạnh mẽ, con
người dần hướng đến những công cụ tự động trong nhiều lĩnh vực như nôngnghiệp,
công nghiệp, dịch vụ, v.v Đặc biệt là Robot tự động được ứng dụng rộng rãi từ
các công việc quy mô lớn như thám hiểm vũ trụ [1], đến các công việc trong kho
chứa hàng, nhà xưỡng [2] hay trong căn hộ [3] v.v Trong đó Robot tự động xác
định đường di và vẽ bản đồ là một dạng robot rất quan trọng được ứng dụng rộngrãi Hơn thế nữa với cộng đồng người dùng, nghiên cứu và pháp triển Robot trênROS lớn mạnh như ngày nay, chúng ta đã dé dàng tiếp cận và xây dựng cho mìnhnhưng con Robot từ đơn giản đến phức tạp yêu cầu nhưng kiến thức chuyên sâu
về kỹ thuật và động lực học
Trên thế giới các công trình nghiên cứu về Robot tự động đã được thực hiện và
cải tiễn rất nhiều Tuy nhiên tình hình phát trién trong nước vẫn còn hạn chế vachưa 6n định Nên chúng em chọn đề tài “Ung dụng công nghệ định vị đồng thờilập bản đồ trên Robot” với mong muốn có thể tạo ra robot di chuyên xây dựngbản đồ trong quá trình di chuyên dé làm cơ sở tương lai có thé tạo ra một số robotphục vụ cho đời sống sinh hoạt của con người Việt Nam như: robot vận hành vật
liệu, robot hút bụi, robot hoạt động trong ngôi nhà thông minh v.v
1.2 Mục tiêu và giới hạn của đề tài
1.2.1 Mục tiêu của đề tài
Xây dựng robot có khả năng tự động di chuyển và né vật cản trong môitrường trong nhà, đồng thời robot tự hoạch định đường di, tự xác định dé vẽđược hoàn chỉnh bản đồ của môi trường đó Robot sẽ được thực hiện việc xácđịnh vị trí của nó trong môi trường, lập kế hoạch di chuyên và vẽ bản đồ bằng
13
Trang 12các node điều khiến từ Jetson Nano Thuật toán SLAM được thực thi để cóthé vẽ được bản đồ của một khu vực, sau khi hoàn thành bản đồ sẽ được lưulại trong máy tính để phục vụ cho công tác navigation là bước cải tiến sau
này.
1.2.2 Giới hạn của đề tài
e Mức độ xử lí tính hiệu nhiễu còn một số hạn chế
e Những góc nhỏ hẹp xe di chuyên khó khăn và còn mắc phải nhiều hạn chế
© Có một số ngoại lực và động lực học ảnh hưởng đến quá trình di chuyên
của robot
e Phan cứng được thực hiện thu công nên độ chính xác còn chưa tuyệt đối
¢ Robot chỉ sử dung lidar dé né vật cản do đó robot chỉ có khả năng di
chuyền tốt mà không có lỗi trong những địa hình không quá phức tạp
1.3 Phương pháp thực hiện
Dé xây dựng một robot với chức năng navigation và gmapping, khóa luận sẽ xâydựng một robot bằng khung mô hình “foam” cùng 4 bánh gồm 2 động cơ tải bánh
xe độc lập, 2 bánh tự do dé tạo nên phan cứng cho robot Day là mô hình xe dé
tính toán vận tốc, góc quay hỗ trợ cho việc định vị và hoạch định đường đi chínhxác và vẽ map Song song đó dé robot hoạt động, bộ nguồn sẽ được thiết kế với
pin lipo 3 cell và pin UPS cho Jetson Nano và bộ hạ áp bằng LM2596 3A, giúp
cũng cấp một nguồn điện phù hợp và ôn định cho toàn hệ thống
1.3.1 Tìm hiểu về lý thuyết
Tìm hiểu các kiến thức về một hệ thống robot SLAM Bắt đầu với việc tìmhiều về SLAM dé vẽ ban đồ và lưu ban đồ, tìm hiều về các thanh phan cầnthiết cho một hệ thống navigation như Odometry, Joint-State, TF Tiếp đến làcác đầu vào cho thuật toán định vị và hoạch định đường di Ngoài ra các kiếnthực để sử dụng ROS và làm việc trên môi trường Linux cũng là một yếu tốkhông thể thiếu trong quá trình thực hiện khóa luận Song song đó cần tìm
14
Trang 13hiêu một sô kiên thức vê động lực học vê cách hoạt động của motor, hoạt động của bánh xe và một sô lý thuyêt về xử lí nhiêu cũng như xử lí ma sát của
bánh xe trong lúc vận hành.
1.3.2 Vận dụng thực tế
1.3.2.1 Dữ liệu đầu vào
Dé có thé thực hiện chức năng navigation thì vẽ ban đồ là đầu vào không thé
thiếu đo đó nhờ vào tìn hiệu từ Lidar gửi đến Jetson Nano ta sẽ thực hiện công
việc vẽ bản đồ bằng các thuật toán SLAM sau đó lưu bản đồ lại bằngmap server Dé vẽ bản đồ ta cần một trình điều khiến robot trên Jetson Nano,
giúp điều khiển robot đi hết diện tích phòng lần đầu tiên Tiếp đến, những đầu
vào cần thiết cho một robot navigation sẽ bao gồm Odometry (VỊ trí và vật tốcước tính của robot trong không gian tự do), JointState(Bao gồm các thông số
về vị trí các thành chuyền động cua Robot), TF( Sự thay đổi của Robot trongcác khoản thời gian),Node(Luu trữ dữ liệu của các thông số của Encoder,
IMU,v.v ) Những dữ liệu này sẽ được tính toán nhờ vào Encoder va IMU
(MPU6050) dé phục vụ cho quá trình xử lý của các thuật toán khác và cungcấp dữ liệu dé tính toán phục vụ cho quá trình navigation
1.3.2.2 Quá trình xử lý
Tang dưới cũng là Esp32 sẽ thực hiện tính toán Odometry, PID dé điều khiển
vận tốc bánh xe, JointState, TF và xử lý tín hiệu từ IMU sau đó tiến hành
publish dữ liệu cho Jetson Nano dé Jetson tiến hành việc vẽ Map và
Navigation Tín hiệu từ Lidar sẽ được gửi đến đến Jetson Nano nhờ sự hỗ trợ
từ các công cụ trong rplidar package được cung cấp trên môi trường ROS
Jetson Nano là trung tâm xử lí tập hợp dữ liệu từ Esp32 và Lidar, sau đó tiến
hành liên kết và đưa dữ liệu đến ROS dé có thé làm input cho các thuật toán về
SLAM, Gmapping, Localization và Move_base dé robot có thé đạt được mục
dich là tự di chuyên và tiến hành vẽ bản đồ trong quá trình di chuyên đồng thờicũng tránh vật cản và hoạch định đường đi hiệu quả nhất Cuối cùng sau khi đã
15
Trang 14hoàn thành việc vẽ map thi robot tiến hành việc lưu map bằng Mapserver dé
phục vụ cho việc lưu trữ và update Navigation
1.3.2.3 Dữ liệu đầu ra
Jetson Nano có nhiệm vụ như là một laptop cá nhân xử lí dữ liệu và chạy các
giải thuật nằm trên các gói mà ROS cung cấp đề tạo ra output như mong muốn
là vẽ được Map và tự động di chuyền dé né vật cản
16
Trang 15Chương 2.CƠ SỞ LÝ THUYET
2.1 Tổng quan về ROS
2.1.1 Khái niệm về ROS
ROS (Robot Operating System) là một phần mềm trung gian mở cho robot Roscung cấp các dịch vụ từ một hệ điều hành cho người dùng sử dụng , bao gồmphần cứng được mô phỏng thông qua phần mềm mà nó cung cấp , kiểm soát cácthiết bị hạ tầng, triển khai mốt số chức năng thường được sử dụng, thông báogiữa các quy trình và quản lý gói để người dùng có thé dé dang debug va phát
triển Đồng thời nó cũng cung cấp các công cụ hữu ích và thư viện để xây dựng
nên một dự án hoàn chỉnh, đồng thời chúng ta có thé viết và chạy trên nhiều máytính nhúng khác nhau như (Rasberry Pi, Jetson Nano) ROS là hệ điều hànhtương tự các hệ điều hành robot hiện nay đã phát triển chăng hạn như Player,
YARP, Orocos, CARMEN, Orca, MOOS và Microsoft Robotics Studio ROS
chạy trên đồ thị thời gian là một mạng lưới quy trình peer-to-peer (có khả năng
được phân phối trên các máy) được kết nối bằng cách sử dụng co sở hạ tangtruyền thông của ROS ROS triển khai một số giao tiếp khác nhau, bao gồm giaotiếp kiểu RPC đồng bộ qua các dịch vụ mà ros cung cấp , truyền dữ liệu khôngđồng bộ theo các chủ đề và lưu trữ đữ liệu trên máy chủ tham số Sau khoảng
thời gian phát hành ROS là công cụ đang được các developer trên thế giới sử
dụng nhiều nhất phục vụ cho việc mô phỏng và thực hiện các hành vi của robotđồng thời còn được sử dụng trong các dự án công nghiệp liên quan đến lĩnh vực
Robot và xe tự hành.
3:ROS
“Robot Operating System _ Operating System
17
Trang 16Hình 2.1: Robot Operating System 2.1.2 Chire nang cia ROS
ROS trên thực tế không phải các hệ điều hành như Windows,Linux hoặc Mac màROS là một phần mềm trung gian đề câu hình và liên lạc giữa các máy phân tán
Ý tưởng chính mà các nhà phát triển quyết định phát triển HĐH robot với mụcđích tránh liên tục phải phát triển lại bánh xe và phải cung cấp lại các chức năng
được chuan hóa dé thực hiện trừu tượng hóa phan cứng dé cho nó giống như một
HDH thông thường cho PC
Một lợi ích quan trọng khác cần được nhắc đến của các hệ điều hành robot ở đây
là ROS là sự kết hợp của nhiều khối ngành kỹ thuật với nhau với một số đặctrưng được tích hợp khi lập trình robot cần phải có là:
e Xây dựng phan cứng bằng cách viết trình các chương trình điều khiển
e Xây dựng bộ nhớ đồng thời tạo môi trường dé thực hiện các quy trình
e_ Quản lý đồng thời các tác vụ song song và kết hop dit liệu của nó lại với
nhau
e_ Cung cấp các thuật toán và các gói hỗ trợ dé sử dụng
e Robotics do đó đòi hỏi các bộ kỹ năng đặc trưng như: lập trình nhúng, kỹ
thuật cơ điện tử v.v vì vay một dự án Robot thường vượt quá phạm vi của một cá nhân.
» Waffle Burger
-® Collaboration with {YOPEN (intel)
18
Trang 17Hình 2.2: Mô hình robot Slam 2.1.3 Môi trường của ROS
ROS có một nhược điểm chỉ có thé chạy trên các nền tảng Unix Các phan mềmdành cho ROS chủ yếu là trên Ubuntu ,MAC OS X, mặc dù cộng đồng đã cốgắng phát triển một số nền tảng như :Fedora, Gentoo, v.v
2.1.4 Mô hình của ROS
Cấu trúc mô hình của ROS được chia làm 3 tầng đó là những tầng: Filesystem,
Computation Graph, và CommunIty.
cho moi dự án riêng của hệ thong
* Manifests (manifests.xml): ROS tạo ra manifest chỉ với mục địch duy nhất
là cung cấp dữ liệu về một gói hay một thư viện cụ thé hoặc một số dòng lệnhbiên dịch để người dùng có thể biết và sử dụng đúng vơi mục đích ban đầu
* Stacks: là nơi mà người dùng được hiểu là tập hợp các packages mà Ros đãcung cấp dé thực hiện một số tính năng như : di chuyển , vẽ map , tránh vậtcản Người dùng chỉ cần gọi các gói này ra và liên kết chúng lại với nhau để
có thê sử dụng tùy vào mục đích riêng
* Stack Manifests (stack.xml): Đây là nơi dùng dé cung cấp dữ liệu cần thiếtcho stacks dữ liệu có thé thuộc một số dạng bắt buộc dưới đây như license vàmột vài thông số đặc trưng của stack khác
19
Trang 18* Message(msg): ROS tạo ra dùng dé quy định cấu trúc dữ liệu đặc trưng nóđược hiểu là phương thức dé truyền nhận thông tin trong môi trường ROS
* Service (srv): ROS dùng để định nghĩa giúp người dùng hiểu về cấu trúc
Stack Manifest
Packages
Sa 2
Hinh 2.3: M6 hinh ROS Filesystem
2.1.4.2 Tầng ROS Computation Graph
Parameter Server
Hinh 2.4: Tang ROS Computation Graph
“Computation Graph”, được goi là một mang peer-to-peer cua ROS trong đó
nó quy định cách giao tiếp và xử lí giữa các tính hiệu với nhau va những cáchquy ước riêng Computation Graph được tạo ra bao gồm các thành phần chính
như: Nodes, Topics, Master, Services, Parameter Server, Messages, và Bags,
chúng liên kết với nhau tạo thành một dự án hoàn chỉnh
20
Trang 19¢ Nodes: là nơi người dùng tạo ra và xử lí thực các lệnh tính toán, xử
lý dữ liệu Mỗi node ROS đều quy định cách xây dựng và chạy nóbang cách sử dung client library như: roscpp hoặc rospy Và tiến hành
chạy các node băng rosrun
* Master: là nơi mà ROS cung cấp các Subcriber và Publish dé giao
tiếp giữa các node.Nếu người dùng không đăng ký Master, thì việc
giao tiếp giữa các node là điều không thể thực hiện đồng thời việc
người dùng gọi các services cũng sẽ thât bại
* Parameter Server: là một phần được ROS tạo ra không thé thiếu của
Master.
* Messages: Nhu đã đề cập ở trên, trong ROS messages là trung giannơi dé các nodes giao tiếp vào hiéu được nhau Messages là tập hợpkiểu dữ liệu được định nghĩa bởi ROS như: interger, string, array, float
V.V
¢ Topics: Topic được định nghĩa dưới 2 dạng là: publish (đưa dữ liệu
lên dé các nodes khác subcribes) và subcribe (đăng ký nhận thông tin
sau khi một node nào đó đã publish dữ liệu) Trong ROS quy định việc một nodes publish dữ liệu dưới dạng một topic sau đó nodes khác sé
Subcribes topic đó về để sử dụng Tên của topic được dùng để quy
định nội dung của message(vd: /imu, /tf, /odom)
* Service: ROS dùng dé định nghĩa giúp người dùng hiểu về cấu trúccác lệnh để truy cập request hay respone của các srv trong ROS.Thường được thiết kế để người dùng có thể tương tác dưới dạng
request/reply
* Bags: là một hình thức dùng dé lưu trữ và phát lai message Bagsthường dùng để lưu trữ dữ liệu, chăng hạn như đữ liệu cảm biến
21
Trang 20[— Registration = Registration —]
4 Messages —> ite 4 Messages —>
Messages
Hình 2.5: Giao tiếp giữa các Nodes trong Ros
2.1.4.3 Tang ROS Community
Các khái niệm về ROS Community Level là các nguồn tài nguyên củaROS được cộng đồng người thường xuyên dùng để trao đổi với nhau vềcác bug và dit liệu đồng thời cung các document, các nguồn tài nguyên
thường là:
Distributions: là tổng hợp các phiên bản của stack mà chúng ta có thé cài
đặt ROS Distributions có vai trò tương tự như Linux Distributions.
Respositories: là nguồn tài nguyên dựa trên cộng đồng mạng lưới các tổ
chức khácnhau phát triển và phát hành những mô hình riêng của họ.
The ROS Wiki: gồm nhiều tài liệu về ROS Bat cứ ai cũng có thé chia sẻ
tài liệu, cung cấp các ban cập nhật, viết các bài hướng dẫn, bang tài
khoản mà họ đã đăng ký.
Mailing list: phổ biến trong cộng đồng ROS với một số nhóm như : ROS
Answers,Users,Embedded, Visualization,
ROS-Development v.v
22
Trang 21Release date Tuturtle, turtle in tutorial EOL date
ROS Lunar Loggerhead May 23rd, 2017
ROS Jade Turtle May 23rd, 2015 sa ® May, 2017
Hình 2.6: Cộng đồng ROS community
2.1.5 — Ưu điểm của ROS
ROS có một số ưu điểm như:
© Cung cấp các công cụ và gói dé giao tiếp giữa phần cứng với
phần mềm, giữa các gói với nhau
e Sau những năm phát triển ROS đã trở thành công cụ chính khi
xây dựng robot vì vậy chúng ta dễ dàng tham khảo các nguồn
mở trên Internet
e ROS ngày càng phát triển và tích hợp nhiều công nghệ trên thé
giới để phục vụ cho cộng đồng người dùng tiếp cận với cáccông nghệ mới và tối ưu thuật toán
e Sử dụng ROS không tốn phí và được khuyến khích sử dụng vi
nó có một lượng lớn người dùng trên khắp thế giới
2.2 Laser Imaging, Dectection and Ranging (LIDAR)
LIDAR là một phương pháp thu thập dữ liệu về khoảng cách của một vat thé với
23
Trang 22cảm biến nhờ vào việc chiếu sáng vật thê đó băng tia Lazer và tính toán dựa vàocác tia phản xạ lại cảm biến Trên thế giới LIDAR thường được ứng dụng vàonhững hệ thống lớn về địa tin hoc, lâm nghiệp, khảo cô học, nông nghiệp dé xâydựng bản đồ, vat thé ba chiều.
Bên cạch đó LIDAR còn được tích hợp vào Robot mục đích cải thiện nhãn
quan cho Robot nhờ vào sự chính xác về khoảng cách mà LIDAR manglại.Theo như thông tin từ nhà sản xuất thì mỗi Lidar có thể phát hai trămnghìn tia laser mỗi giây Cấu tạo của lidar gồm 3 bộ phận chính là laser, scan
va GPS dé thu tín hiệu.Khi robot hoặc xe tự hành di chuyền tín hiệu Lidar sẽquét nếu nó quét vào một điểm trên mặt đất thì ánh sáng từ tia chiếu bị phảnngược lại Sau đó cảm biển bắt tín hiệu bi phản xạ đó dé có thé tính toán đượckhoảng cách từ nó đến điểm đó dựa vào thời gian di chuyên và vị trí mà tia đó
phản xạ.Song song với đó Lidar sau khi đã có dữ liệu về vị trí sẽ kết hợp vớiGPS và một số bộ đo được hỗ trợ bởi nhà sản xuất, đầu ra của nó là tập hợp
các điểm gọi tắt là “point clound” Mỗi điểm point clound (có tọa độ x,y,z)tương ứng với vị trí của điểm hay vật cản đã có trước đó sau đó các điểm nàysau đó được đem đi dựng thành 1 mô hình để làm đầu vào cho Navigation
trong ROS
24
Trang 23Một hệ thống Lidar bao gồm các thành phần chính sau:
Laser Source: Tạo ra tia laser có đặc tính nhất định, thường là tialaser hồng ngoại gần (near-infrared)
Scanner: Quét tia laser qua một góc ngang hoặc doc dé phủ sóng môi
trường xung quanh Có hai loại cơ bản của scanner là cơ khí
(mechanical) và quang học (solid-state).
Receiver: Nhận và ghi lại tia laser phản xạ từ các vật thể trong môi
trường Thông qua việc do thời gian bay, receiver xác định khoảng
cách từ cảm biến đến các vật thể
Time-of-Flight Measurement: Dùng dé tính toán khoảng cách bangcách đo thời gian mà tia laser mất để đi từ cảm biến đến vật thể và
quay trở lại.
Data Processing: Dữ liệu thu thập từ Lidar thường được xử lý dé tạo
ra điểm điểm (point cloud) 3D, là một tập hợp các điểm trong khônggian thê hiện vị trí và hình dạng của các vật thể trong môi trường
Các thông số cơ bản của LIDAR có thé thay đổi tùy thuộc vào loại và nhà sảnxuất của Lidar cụ thể Các thông số này quan trọng dé đánh giá và lựa chọn hệthống Lidar phù hợp với các ứng dụng và yêu cầu cu thé Các thông số cụ thé
bao gom:
Khoảng cách hoạt động (Operating Range): Là khoảng cách tối da
mà Lidar có thé đo được từ cảm biến đến các vật thé trong môi trường.Thông thường, khoảng cách hoạt động của Lidar có thé dao động từ
vài mét đến hàng trăm mét hoặc thậm chí cả kilomet
Góc quét (Scan Angle): Là phạm vi góc mà tia laser được quét qua.
Góc quét có thể là góc ngang (horizontal scan angle) hoặc góc đọc
(vertical scan angle), hoặc cả hai Nó xác định phạm vi không gian ma
Lidar có thé thu thập dữ liệu trong mỗi quét
25
Trang 24Độ phân giải không gian (Spatial Resolution): Là mức độ chi tiết của
dữ liệu không gian thu thập được bởi Lidar Độ phân giải không gian
được do bang đơn vị đo lường nhỏ nhất ma Lidar có thể phân biệt
được giữa các điểm trong không gian Độ phân giải không gian ảnh
hưởng đến khả năng xác định vi trí và hình dạng của các vật thé.
Độ phan giải thời gian (Temporal Resolution): Là kha nang cua Lidar
trong việc thu thập dữ liệu trong một khoảng thời gian nhất định Độ
phân giải thời gian quyết định tần số ma Lidar có thé quét và thu thập
dữ liệu, ảnh hưởng đến khả năng thực hiện quét nhanh chóng và thu
thập đữ liệu động.
Kích thước và trọng lượng (Size and Weight): Là các thông số về
kích thước và trọng lượng của hệ thống Lidar Điều này quan trọng
trong việc tích hợp Lidar vào các thiết bị di động như ô tô, máy bay,
hay robot.
Tần số phát (Emitter Frequency): Là tần số mà tia laser được phat ra
từ Lidar Tan số phat ảnh hưởng đến khả năng thu thập dữ liệu trong
các môi trường nhất định, ví đụ như khả năng thâm nhập mưa, tuyết,
hay khói.
Giao diện và độ tương thích (Interface and Compatibility): Là các
giao điện và tiêu chuẩn kết nối của Lidar với các thiết bị khác như máy
tính, hệ thống điều khiến, hoặc các bộ xử ly dit liệu Giao diện và độ
tương thích cần được đảm bảo dé hỗ trợ tích hợp và truyền dữ liệu một
cách hiệu quả.
Mật độ điểm dữ liệu (Point Density): Là số lượng điểm đữ liệu 3D
thu thập được bởi Lidar trên một đơn vi diện tích hoặc thé tích Mật độ
điểm đữ liệu quyết định độ chỉ tiết và độ phân giải của mô hình không
gian 3D thu được.
Độ chính xác (Accuracy): Là mức độ chính xác cua dir liệu Lidar so
với giá trị thực tế Độ chính xác có thê được đo bằng đơn vị đo lường
26
Trang 25như centimet hay millimet và phụ thuộc vào yếu tố như sai số đolường và độ ồn định của Lidar.
¢ _ Tốc độ quét (Scan Speed): Là tốc độ mà Lidar quét tia laser qua một
góc hoặc một khu vực nhất định Tốc độ quét quyết định thời gian mà
hệ thống Lidar cần dé thu thập dt liệu trong một khu vực xác định.
« - Độ nhạy sáng (Sensitivity): La khả năng của Lidar trong việc nhận
diện và thu thập dữ liệu từ các vật thê có độ phản xạ thấp hoặc trongđiều kiện ánh sáng yêu Độ nhạy sáng quyết định khả năng hoạt độngcủa Lidar trong các điều kiện ánh sáng khác nhau
¢ _ Góc nhìn (Field of View): Là phạm vi góc ma Lidar có thể quét và thu
thập dữ liệu Góc nhìn xác định không gian mà Lidar có thể quét và
thu thập thông tin.
2.2.1 Simultaneous Localization And Mapping(SLAM)
SLAM là một phương pháp dé xây dung va cập nhật ban đồ ở những nơi chưabiết trước đồng thời xác định được vi trí của chủ thé Những thuật toán vềSLAM thường được sử dụng trong các lĩnh vực định vị, vẽ bản đồ, tính toànkhoảng cách và định hướng, ngoài ra SLAM còn được áp dụng vào thực tế ảo(virtual reality) và thực tế tăng cường (augmented reality) Dé có thé thựchiện SLAM chúng ta cần có những thiết bị ngoại vị như (camera, sona, radar,
lidar) dé nhận thông tin từ bên ngoài.
Các kỹ thuật thống kê được sử dụng để tính gần đúng các phương trìnhSLAM bao gồm bộ lọc Kalman và bộ lọc Particle (hay còn gọi là phươngpháp Monte Carlo) Chúng cung cấp ước tính của hàm xác suất cho tư thế củarobot và cho các thông số của bản đồ Các phương pháp tính gần đúng mộtcách bảo toàn mô hình trên bằng cách sử dụng giao điểm phương sai có thểtránh phụ thuộc vào các giả định thống kê độc lập dé giảm độ phức tạp củathuật toán cho các ứng dụng quy mô lớn Các phương pháp xấp xỉ khác đạt
27
Trang 26được hiệu quả tính toán được cải thiện bang cách sử dung các vùng giới han
đơn giản.
Các kỹ thuật tập hợp thành phần chủ yếu dựa trên sự lan truyền khoảng giới
hạn Họ cung cấp một bộ bao gồm tư thế của rô bốt và một tập hợp gần đúngcủa bản đồ Điều chỉnh và ước tính sau thử nghiệm (MAP), là một kỹ thuậtphô biến khác cho SLAM sử dụng dữ liệu hình ảnh, cùng ước tính các tư thé
và vị trí mốc, tăng độ chính xác của bản đồ và được sử dụng trong các hệthống SLAM thương mại hóa như ARCore của Google, thay thế dự án thực tếtăng cường trước đó ‘Tango’ MAP tính toán về các tư thế của robot và bản
đô cung cap dt liệu cảm biên, thay vì cô găng ước tính toàn bộ xác suât.
Các thuật toán SLAM mới vẫn là một lĩnh vực nghiên cứu mới, và thường
được yêu câu và tạo ra giả định khác nhau về các loại bản đô, cảm biên và mô
Hình 2.8: Mô hình SLAM
2.2.2 Gmapping
Đây là một package của ROS dành cho OpenSlam’s Gmapping Gmapping
cung cấp thông tin laser SLAM, vốn là node của ROS được gọi là
28
Trang 27slam_gmapping Chúng ta có thé tạo ra bản đồ 2-D (gần giống với bản thiết
kê mặt cắt sàn nhà) được tạo ra từ dữ liệu laser và vị trí của robot.
2.3 Gói Movebase
Pa ta Navigation Stack Setup
Imove base ; "/map"
y Y nav_msgs/GetMap ver
ame! global_planner < global_costmap
A
sensor a internal = Sensor topics sensor sources
tí/tfMessage recovery_behaviors sensor_msgs/LaserScan 9 nav_msgs/Path x- sensor_msgs/PointCloud
platform specific node
Hinh 2.10: M6 hinh famework movebase
Node move_base cung cap giao dién ROS dé dinh cau hinh, chay va tuong tac voi
ngăn xêp điêu hướng trên robot Bản đô mức cao ma node move_base cung cap và cách nó tương tác với các thành phân khác được hiện thị ở trên Các node màu xanh
29
Trang 28có thê thay đôi dựa trên nên tảng robot,các node màu xám mang một chức năng khác
đó là đại diện cho những tùy chọn nhưng được cung câp cho tât cả các hệ thông và
các node màu trăng là các node băt buộc của gói move_base nhưng cũng được cung
cấp cho tất cả các hệ thống
2.3.1 Expected Robot behavior
a ` stuck stuck stuck <
Ce ⁄ “Clearing ` BH agressive ⁄ ‘Clearing N
Hình 2.11: Hành vi dự kiến của robot
Việc khởi chạy move_base trên một robot sau khi người dùng đã cấu hìnhchính xác sẽ giúp robot nhanh chóng dat được vi trí mục tiêu với sai số do
người dùng chỉ định.Trong trường hợp robot không gặp phải vật cản động thì
node move_base cuối cùng sẽ đến vị trí mục tiêu hoặc gửi thông báo chongười dùng là không thé đạt được mục tiêu.Đồng thời khi đó node move_base
sẽ có thé thực hiện các bước dé cố gắng phục hồi khi robot hoặc xe tự hành
cảm nhận thấy nó đang bị mac ket ROS da cai dat node move_base sé thuchiện các hành động sau dé có gắng thoát ra khỏi không gian mà nó dang bị
mắc kẹt:
Đầu tiên, các chướng ngại vật bên ngoài khu vực do người dùng chỉ định sẽ bịxóa khỏi bản đồ của robot Tiếp theo, nếu có thé, robot sẽ thực hiện XOay tạichỗ đề thoát khỏi không gian Nếu điều này cũng thất bại, robot sẽ mạnh mẽhơn xóa các vật cản ra khỏi bản đồ của nó, loại bỏ tất cả các chướng ngại vậtbên ngoài khu vực hình chữ nhật mà nó có thé xoay tại chỗ Sau đó robot sẽ
30
Trang 29tiến hành xoay tại chỗ một lần nữa Nếu tất cả điều này không thành công,
robot sẽ coi mục tiêu của nó là không khả thi và thông báo cho người dùng
rằng nó đã hủy bỏ Các hành vi khôi phục này có thê được câu hình bằng cách
sử dụng tham số recovery_behaviors và vô hiệu hóa bằng cách sử dụng tham
so recovery_behavior_enabled.
2.3.2 API của Movebase
Nút move_base cung cấp một triển khai của SimpleActionServer, nhận các
mục tiêu có chứa các thông điệp geometry_msgs/PoseStamped Bạn có thể
giao tiếp trực tiếp với nút move_base qua ROS, nhưng cách được đề xuất dé
gửi mục tiêu đến move_base nếu ban quan tâm đến việc theo dõi trạng thái
của chúng là sử dụng SimpleActionClient.
2.4 Frontier_exploration
2.4.1 Tổng quan
Gói frontier_exploration cung cấp một plugin lớp costmap_2d là Bounded
ExploreLayer và các node client/server của actionlib là explore_client va
explore_ server.
31
Trang 30Các node được cung cấp có thể được sử dụng dé làm chức năng của lớp
costmap bang cách thực hiện một nhiệm vụ khám pha frontier được giới han
bởi một vùng đa giác do người dùng xác định Lớp Bounded ExploreLayer có
thể được sử dụng cho các nhiệm vụ khám phá phức tạp hơn, chức năng đượctiếp cận thông qua hai Dịch vụ: UpdatePolygonBoundary và GetNextFrontier
2.4.2 Setup Frontier_exploration
geometry_msgs/PolygonStamped map_msgs/OccupancyGridUpdate
5ø
p>} Frontier_exploration )
movement commands nav_msgs/OccupancyGrid
Hình 2.13: Cau trúc của gói Frontier_exploration
Dé thực hiện khám phá biên giới (frontier exploration) bằng gói phần mềm
này, ban cần có một cau hình robot thực tế hoặc mô phỏng cung cap các chức
năng sau:
Máy quét laser hoặc cảm biến tương tự có thé quét quanh không gian và đánh
dau các chướng ngại vat
Hệ thống điều hướng đã được cau hình đúng, có thé chap nhan muc tiéu hanhđộng (action goals) dé di chuyền robot đến vi trí mong muốn
Ban đồ toàn cau /map được cung cấp bởi map_server, gmapping hoặc global
costmap từ move_base.
2.5 Phan cứng
2.5.1 Nividia Jetson Nano B01
May tính AI NVIDIA Jetson Nano Developer Kit BO1 là phiên ban hoàn thiện
và cải tiến nâng cấp của phiên ban cũ A02 với với một số thay đồi về cầu trúcđồng thời cũng cải tiến thêm một số phần cứng (như bên dưới hình)
Tuy nhiên bộ xử lí trung tâm của Jetson Nano và các chân cắm của nó không
thay đôi vê vi trí và chức năng.
32
Trang 31BEFORE AFTER iy)
Jetson Nano Developer Kit Carrier Board A02 Jetson Nano Developer Kit Carrier Board Boi
Hình 2.14: Hai phiên ban Jetson Nano A02 và B01
Bộ công cụ phát triển NVIDIA® Jetson NanoTM BO1 được xem như là máy
tính mini, vì vậy người dùng có thê chạy song song nhiêu “neural
networks”cho các ứng dụng như phân loại xử lí tính hiệu hình ảnh, phát hiện
đôi tượng trong dt liệu dau vào, xử lý giọng nói đê nhận diện Tat cả déu có
trong một nền tang dé sử dụng, chạy ở mức công suất chỉ 5 watt
Các thông số kĩ thuật của Jetson Nano B01:
Model: NVIDIA Jetson Nano Developer Kit B01) GPU của JetSon Nano: 128-core Maxwell
CPU cua JetSon Nano: Quad-core ARM A57 @ 1.43 GHz
Bộ Nhớ: 4 GB 64-bit LPDDR4 25.6 GB/s Lưu trữ: microSD
Chất lượng giải mã: 4K @ 30,4x 1080p @ 30,9x 720p @ 30Chất lượng mã hóa: 4K @ 60, 2x 4K @ 30, 8x 1080p @ 30, 18x 720p @
30
Camera gồm 2 lane là MIPI CSI-2 DPHYKết nối: Kết nối với Gigabit Ethernet và M.2 Key EMàn hình: HDMI và cổng hiển thị
33
Trang 32USB: 4x USB 3.0 và USB 2.0 Micro-B
Giao thức giao tiép: GPIO, I2C, I2S, SPI, UARTCấu trúc:diện tích 69 mm x 45 mm, đầu nối cạnh 260-pin
2.5.2 RP Lidar AIM8
Chủ yếu bao gồm lõi do khoảng cách laser, bộ truyền vô tuyến, bộ do góc, bộtruyền động cơ và vô cơ Được thiết kế băng công nghệ DTOE, nó có khả
năng phạm vi chính xác trong phạm vi 0,15-12m Cảm biến khoảng cách
RPLIDAR AIM8 được sản xuất bởi hãng SLAMTEC chuyên sản xuất các
ứng dụng đo khoảng cách, phát hiện vật cản, lập bản đồ bằng tia Laser trong
xe tự hành, robot tự hành, hệ thống chống trộm, , cảm biến có độ ồn định và
độ chính xác cao dựa vào các tia quét
Cảm biến khoảng cách sử dụng giao tiếp UART có thé dé dàng giao tiếp với
vi điều khién, máy tính nhúng (như Rasberry Pi, Jetson Nano) hoặc kết nốimáy tính cá nhân qua mạch chuyên USB-UART và phần mềm hỗ trợ bao gồmdriver đi kèm, cảm biến có khả năng quét trong phạm vi 12m, với tốc độ quaylên đến 5.5Hz va tần số lay mẫu lên đến 8000 điểm trên 1 giây
Thông số kỹ thuật:
Model: RPLIDAR AIM§
Pham vi quét: Quét dưới dang hình tam giác
Điều khiển động cơ: Động co DCĐiện áp đầu vào: 5V
34
Trang 33e D6 phân giải : <1°
e - Góc quay: 360°
e Độ phân giải:
o <I% trong phạm vi <12m o_ <2% trong phạm vi 12m < x < 16m
kế với phần cứng và firmware và các chân Pin tương tự các esp đời trước, với
ưu điểm là cách sử dụng dé dàng, đủ, tích hợp mach nạp và giao tiếp dé thuận
tiện trong việc nghiên cứu và xây dựng phát triển đồ án nhỏ và vừa phù hợp
với giá thành của sinh viên.
Thông số kỹ thuật:
« Nha sản xuất hiện nay của Kit là Ai-Thinker
¢ Bo xử lý trung tâm chính là Ai-Thinker ESP32-S
¢ - Hỗ trợ flash cho giao thức SPI: 32Mbits
‹ _ Tần số hoạt động của Kit là khoảng 2400 đến 2483.5Mhz
¢ _ Hỗ trợ các dòng Bluetooth như BLE 4.2 BR/EDR
¢ Wifi được hé trợ trong Kit là loại: 802.11
35
Trang 34« Cac chuẩn giao tiếp được hỗ trợ : UART/SPI/I2C/I2S/PWM/IR
« - Nguồn điện cho Kit: 5V
« - Tích hợp mạch nạp và giao tiếp UART nên không cần phải dùng
mach nạp dé hỗ trợ giao tiếp
« Bao gồm 38 pin với diện tích 2.54mm của module ESP32
Hình 2.15: Pinout của Kit Esp32 NodeMCU-32S
36