Chương 1. TONG QUAN DE TÀI. Lý do thực hiện khóa luận. Mục tiêu khóa luận.
Phương pháp thực hiện. Tim hiểu lý thuyết: 1. Van dụng thực ~Ô. Dữ liệu đầu vào: 1.
Quá trình xử lý:. Dữ liệu đầu ra: Chương 2. Tổng quan về ROS. ROS 1A gi Pecccssstssetccsssssesesssessssssnsensssssessevessossseesseseesssnsseeneseessesnsassesesesseeseesesee 2.
Chức năng của ROS. Mô hình ROS. Tầng ROS FEilesystem. Tầng ROS Computation graph.
Tang ROS community. Két luận cho việc sử dung ROS. Laser Imaging, Detection And Ranging(LIDAR). Simultaneous Localization And Mapping(SLAM).
GM appiing vassscscssssssssesssessssssssavsesssesssssssssnesssessssssssaeesseesesssssseeseeseesesssssseeeenenseessy 28 2. Các công nghệ khác.ccccshHHHHHHnHHYnHỶn HH Hà HànHànHà HH Hà Hàng, 30 2. Tổng quan về Navigation Stack.c«cccctsekh th HH H111 re 31 2. Cấu hình costmap.
Cấu hình base_local_ pÏannIeT. Nvidia Jetson Nano. Mạch thứ cấp. Động cơ JGB37 EnCOd€T.--cse<srkterrietrierrriiriiierirree 44 Chương 3.
PHAN TÍCH VÀ THIẾT KẾ HỆ THỐNG. Phân tích phần cứng, phần mềm dé xây dựng hệ thống. _ Phân tích phần cứng. Kết nối phần cứng.
Phân tích phần mềm. Phan mềm trên máy tính cá nhân. Phần mềm trên Arduino Mega. Tính toán Odometry, thuật toán Dijkstra và Dynamic Window Approach.
_ Tính toán Odome(ry. _ Thuật toán Dijkstra. _ Thuật toán Dynamic Window Approach oes 59 3. Không gian tìm kiếm.
THỰC NGHIỆM VÀ ĐÁNH GIÁ.--ccccriirrceeeevvvvvrrrrrrrree 63 le 6 cố số. Quy trình cài đặt. Cài đặt ROS. Cài đặt my_ robot metapackage và my_ robot_ base.
Thiết lập môi trường ROS cho máy tính cá nhân và Jetson Nano. Thứ tự các lệnh để chạy SLAM và Navigation. Đánh giá map 2Ì). Đánh giá Navigation Oal.
Thực nghiêm không vật cản. Thực nghiệm có vật Cản.-------«-5s+ccs+scereerrrrrsrrerrrrrrrrrrrrrreee 68 Chương 5. KET LUẬN VÀ KIẾN NGHỊ,. Két qua dat ẽ.
Ưu điểm-Nhược điểm khóa luận. Hướng phát triển và công việc tiếp theo.---cecccccerrrreceevrrrrrrree 71 DANH MỤC HÌNH Hình 1.1: Sơ đồ thiết kế tổng quan của rObOt.----ccce-cccvvveeecvvvvvserrerrrvee 14 Hình 1.2: Sơ đồ hoạt động Của TObOI.1: Hệ điều hành ROS.-----cc2cveeerrrkrkriirrttrrriiirrrtriiiirrrriirirrrrree 17 Hình 2.2: Các robot sử dụng hệ điều hành ROS, burger và waffle.3: Cấu trúc Package trong ROS.----ccc-eccrrrriiiiiirrrrrriiiiiirrrree 20 Hình 2.4: Cấu trúc Stack trong ROS.---cc-cccccrreeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrree 21 Hình 2.5: Mô hình Server - Client trong ROS.6: ROS Computation Grapph.7: Quan hệ giữa các node trong ROS.8: Lich sử các phiên bản của ROS [6] .9: Hình ảnh minh họa LIDAR .10: Bản đồ 2D được xây dựng bằng phương pháp SLAM.11: Bản đồ 2D được xây dựng bằng phương pháp GMapping.12: Camera KÏT€CE. sec Hit 29 Hình 2.13: Cảm biến HC-SR04.14: Mô hình Navigation stack trong ROS [7] .15: Bản đồ costmap trong ROS.cccc---esccrrrkkkerrrrrrrrriirrrree 31 Hình 2.16: Giá trị chi phí ảnh hưởng đến hoạt động của robot [4].17: Nvidia Jetson Nano .18: Thông số hoạt động RPLidar A1M8.----c-ccc+ccrrrrrrrrrrirrrrrrrrrrrrirrrrririrrrrrrrrrre 39 Hình 2.20: Khung 3D trên phần mềm SolidWork.----ccccccc-ssccccveccee 41 Hình 2.21: Khung cắt mica được vẽ bằng AutoCAD.22: Mạch nguồn trên Altium Design.----ccc-c-ccccvveerecevvveeerrerrrree 42 Hình 2.23: Mạch cầu H XY-160D.-cccHHHHHH HH 43 Hình r2 9000010100077 .26: Động cơ JGB 37 EncOer.1: Hình ảnh bố trí trọng tâm rODOL.----cccee+ccccvveereerrrvveererrrrvee 46 Hình 3.2: Robot Waffle Pi,.-ceehHHọnHHHHHHHH HH Hàng 47 Hình 3.3: Sơ đồ nguyên lý mạch thứ cấp.4: Sơ đồ nguyên lý mạch nguồn.--cc----vvcee+eccvvveerrerrrrveeerrrrrrree 48 Hình 3.5: Sơ đồ input và output toàn hệ thống .6: Sơ đồ kiết nối các Node và Topic khi hệ thống Navigation hoạt động.7: Lưu đồ thuật toán trên Arduino Mega.8: Qua một khoảng thời gian rất nhỏ, chuyên động robot có thé gần bằng một cung tròn.------------+++esc+xs+rx++ret+tsrrtrrrtrrstrtrrrtrrrrrrrrrrrrrrrrirrrrrrrrrrrrrerrreee 55 Hình 3.9: Hai đường cung tròn tạo bởi bánh trái và phải [13].10: Sơ đồ nút và trọng số trên mỗi cạnh trong đồ thị [9].11: Hoạch định đường di dùng thuật toán Dijkstra.12: Vận tốc cho phép Va trong DWA.13: Vận tốc trong cửa sổ động Vd trong DWA.14: Heading của robot trong DWA.1: Trình tự thực thi khóa luận.3: Map 2D phòng lab được vẽ từ hệ thống.------cc--ec-ccceex 66 Hình 4.4: Robot đang được Estimate và chạy Navigation Stack.5: Trạng thái RÑ@COV€TV.--ccsscrrerrrketrrrirtrrrrrrrrrrrrirrrrrrrrierrrrirrrrierrrreree 69 DANH MỤC BANG Bảng 2.1: File cOsSff1đD_ COMMOH_DATGHS.2: File giobal_ costmap_DATGITS.3: File local_ COSfINđD_DATGTHS.4: File Dase_local_planner_Params.cecc«cceeceexeekeeerrrkrrekrrerrrrrkee 37 Bảng 3.1: Các packages dé sử dụng robot.---ccse+eeeverrrrervvrrrrervrrrrreerrre 49 Bảng 3.2: Cac packages được kế thừa lại để hiện thực hệ thống.3: Chi tiết các packages quan trọng trong hệ thống .1: Các lệnh dé sử dụng khóa luận.2: Bảng kết quả dữ liệu lây từ terminal khi chạy xong navigation.3: Bảng thực nghiệm với môi trường đường Ít vật cản.4: Bảng thực nghiêm với môi trường nhiều vật cản .-----s 68 DANH MỤC TỪ VIET TAT ROS Robot Operating System LiDAR Light Detection And Ranging Laser Light amplification by stimulated emission of radiation DWA Dynamic Window Approach SLAM Simultaneous Localization And Mapping AMCL Adaptive Monte Carlo Localization TF Transform IMU Inertial Measurement Units TÓM TẮT KHÓA LUẬN Khóa luận “Robot Tránh Vật Can Sử Dụng Công Nghệ LIDAR” ứng dụng Lidar và Navigation Stack dé thiết kết nên Robot có khả năng tránh vật cản và đi đến nơi chỉ điểm trên bản đồ. Ung dụng các thuật toán tìm đường đi dé robot có thé di chuyển đên nơi chi định chỉ với các thao tác đơn giản nhât.
Với hệ thống Lidar, robot sử dung Rplidar AI từ thương hiệu SLAMTEC được phát triển dé sử dụng vào các ứng dụng phát hiện vật can, lập ban đồ bằng tia laser, hỗ trợ định vi xe hay robot tự hành,. Bên cạnh đó sử dụng Encoder dé tính toán vận tốc và số vòng của bánh xe dé có thé biét duoc trạng thái của Robot. Từ đó áp dung các thuật toán định vi và hoạch định đường đi dé Robot có thể tự động di chuyên đến noi chỉ định trên bản đồ một cách chính xác và nhanh nhất có thể. Đề Robot hoàn thiện và hoạt động tốt các hệ thống riêng lẽ phải được kết hợp va đồ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ợ dé truyền dit 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ệ thong “Robot Tránh Vat Can Sử Dung Công Nghệ LIDAR” sẽ tập trung chủ yếu vào các gói đành cho Rplidar 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 Navigation Stack.
Robot sẽ được chia làm ba phan. Phan thứ nhất là Nvidia Jetson Nano Developer Kit, trung tâm truyền nhận dữ liệu từ máy tính cá nhân (ROS Master) và tầng nền nơi cũng cấp thông tin của Robot. Phần thứ hai là máy tính cá nhân nơi thực thi các thuật toán định vị và hoạch định đường đi. Phần cuối cũng là tầng nền với Arduino Mega nhầm nhận dữ liệu từ các cảm biến IMU và Encoder và tính toán trang thái của Robot, đồng thời điều khiển hai động cơ DC dé Robot có thé di chuyên.
Ba phan chính sẽ được liên kết chặc chẻ với nhau trên một hệ thống là Robot Operating System (ROS). TONG QUAN DE TÀI 1. Lý do thực hiện khóa luận Những năm gần đây tự động hóa và 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ông nghiệp, công nghiệp, dịch 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.
Trong đó Robot tự động hoạch định đường đi là một dạng robot rất quan trọng được ứng dụng rộng rã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ên ROS 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ình nhưng con Robot từ don 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 hoạch định đường di (Navigation Robot) [4],[5] đã đượ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ế.
Đặc biệt mới đây một số công trình Robot phục vụ nơi công cộng nhằm hạn chế sự tiếp xúc người với người, do dịch bệnh Covid-19 diễn biến phức tạp đã xuất hiện, nhưng phan lớn vẫn chưa 6n định và đáp ứng tốt. Nên chúng em chọn nghiên cứu xây dựng Robot với khả năng diệt khuẩn văn phòng với đèn UV áp dụng kỹ thuật tự động tìm đường đi trên bản đồ dé đơn giản các thao tác điêu khiên, từ đó tôi ưu việc thực hiện diệt khuân trong các văn phòng. Mục tiêu khóa luận Xây dựng robot theo định hướng navigation cho phép robot có thể hoạch định quỹ đạo đường đi dựa trên bản đồ đã được vẽ trước bằng Lidar. Robot sẽ được thực hiện vẽ bản đồ bằng cách điều khién từ máy tính cá nhân.
Thuật toán SLAM sẽ được thực thi dé có thé vẽ được ban dé của một khu vực, sau khi hoàn thành bản đồ sẽ được lưu lại trong máy tính cá nhân phục vụ cho công tác navigation. Người dùng sẽ có thực hiện thao tác chỉ điểm trên bang đồ đã vẽ dé robot tự động di chuyền đến vị trí mong muôn. 13 Bên cạnh đó, robot sẽ tùy chọn tích hợp thêm các bộ phận dén UV 3W thích hợp cho việc diệt khuẩn và các khung đề đồ thuận tiện cho việc vận chuyên các đồ dùng, trang thiết bị trong môi trường yêu cầu khắc khe về việc giữ khoảng cách. Cai thiện thuật toán và thử nghiệm dé đưa ra các thông số so sánh về thời gian thực thi và độ chính xác của Robot chúng ta đối với các robot khác trên thế giới.
Phương pháp thực hiện Dé xây dựng một robot với chức năng navigation, khóa luận sẽ xây dựng một robot bằng khung mica có hai động cơ. Đây là mô hình xe dễ tính toán vận tốc cũng như góc quay hỗ trợ cho việc định vị và hoạch định đường đi chính xác. Ngoài ra sử dụng bánh xích sẽ giúp cho robot di chuyên ôn định hơn với bề mặt đường gồ gé. Song song đó dé robot hoạt động, bộ nguồn sẽ được thiết kế với pin lipo 3 cell và bộ ha áp 20A, giúp cũng cấp một nguồn điện phù hợp và ồn định cho toàn hệ thống.
Tim hiểu lý thuyết: (rr ~ RP_LidarA^1 UART(rosserial EL AMCL ~———> MOVE_BASE defson Nano Arduino Mega DC_Encoder DC_Encoder Wifi (ROS server) Motor Motor ‘ b Hình 1.1: Sơ đồ thiết kế tổng quan của robot 14 Tìm hiểu các kiến thức về một hệ thong robot navigation. Bắt đầu với việc tim hiéu về SLAM dé vẽ ban đồ và lưu ban đồ, tim hiều về các thanh phan cần thiế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 vi AMCL và hoạch định đường di. Ngoài ra các kiến thực về dé sử dụng ROS và làm việc trên môi trường Linux cũng là một nhân tố không thể thiếu trong quá trình thực hiện khóa luận. Vận dụng thực tế: 1.