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

Khóa luận tốt nghiệp Kỹ thuật máy tính: Ứng dụng công nghệ định vị đồng thời lập bản đồ trên robot

68 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

Định dạng
Số trang 68
Dung lượng 66,11 MB

Nội dung

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 2

LỜ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 3

MỤ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 4

2.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 5

3.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 6

DANH 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 7

Hì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 8

DANH 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 9

DANH 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 10

TÓ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 11

Chươ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 12

cá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 13

hiê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 14

hoà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 15

Chươ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 16

Hì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 17

Hì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 21

Release 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 22

cả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 23

Mộ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 25

như 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 27

slam_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 28

có 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 29

tiế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 30

Cá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

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 31

BEFORE 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 32

USB: 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 33

e 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

Ngày đăng: 06/12/2024, 15:22

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

TÀI LIỆU LIÊN QUAN

w