Chương 1. Lý do chọn để tài. Tinh hình hiện nayy. Tình hình nghiên cứu trong nước.
Tình hình nghiên cứu trên thế giới. Phương pháp thực hiện.---2cc2ccc+222Evcvverrrrrrrrrrrrrrrrrree 8 1. Dữ liệu đầu vào. Xử lý dữ liệu.
Dữ liệu đầu ra. Tổng quan về Real-Time Operating System - RTOS. Khái niệm RTOS. Một số khái niệm trong RTOS.
Một số chức năng của RTOS. Tổng quan về hệ điều hành dành cho robot — ROS. Khái nệm về ROS sự ra đời của ROS2. Chức năng của ROS2.
DDS trên ROS2. Một số khái niệm trong ROS2. Một số tính năng ROS2 In. Laser Imaging, Detection and Ranging (LIDAR).
Simultaneous Localization and Mapping (SLAM). Giải thuật Cartographer ROS. Hệ thống Navigation2 (Nav2). Tổng quan về Nav2.
Nvidia Jetson TX2 Developer Kit. Cảm biến RPLidar AI. Một số module khác .-:---¿-2++++22c+zevcvvxverrrrree 37 Chương 3. PHAN TÍCH VÀ THIET KE HE THÓNG.
Phân tích phan cứng.-----22222vvvc+zt+tvcvvvvrrrerrrrre 41 3. Phân tích khung Xe 0. Liên kết các thành phan xe. Phân tích phần mềm.
Phần mềm trên máy tính cá nhân. Phần ROS2 trên Nvidia Jetson TX2 Developer Kit. Phan RTOS trên STM32F429 Discovery Kít. Tính toán Odometry, thuật toán Dijkstra và Dynamic Window ADDPTOaCH.
Tính toán OdOI€(TY. Thuật toán Dynamic Window Approach. THỰC NGHIỆM VÀ DANH GIÁ. Phần khung robot.
ROS2 và các phần phụ thuộc. Đánh giá bản đồ 2D. Đánh giá Navigation GoalL. Thực nghiệm không có vật cản.
Thực nghiệm có vật cản.-¿- ¿sec 62 Chương 5. KÉT LUẬN VÀ HƯỚNG PHÁT TRIEN. Ưu điểm và nhược điểm của khóa luận. Hướng phát triỂn.---¿--©+2222+++222SS+ttEEvvrretrrrrrrrrrrrree 65 DANH MỤC HÌNH Hình 1.1: Mô hình robot của nhóm sinh viên Trần Hoàng Phương và Võ Anh Hình 1.2: Mô hình robot của nhóm sinh viên Phan Anh Kiệt và Lê Chí Bảo [5].3: Mô hình robot Turtlebot3 Waffle Pi và Burger của hãng ROBOTIS [6] —.4: Mô hình robot Rimini của hãng OMOROBOT [7].5: Sơ đồ khối cấu trúc của robot.1: Hệ điều hành RTOS [8].2: Kernel trong RTOS [8] .3: Mô hình trạng thái của task trong RTOS [8].4: Lập lịch theo Round-robin [8] .-- - ¿+ + 5s <cx+++svrexseexexexex 3 Hình 2.5: Lập lịch theo Priority base [Ñ].6: Lập lịch theo Priority-based pre-emptive [8] .7: Signal Events trong RTOS [§].8: Message Queue trong RTOS [8] .9: Mail Queue trong RTOS [§].
- -- 555cc serersrrkrkeek 8 Hình 2.10: Mutex trong RTOS [8]. cece eee ceeeeeseeeeseseseessneseasseeneeeneneae 9 Hình 2.11: Logo của ROS.12: Các phiên bản của ROS2 [9] occ eeeeseeeseeeeseeseetseeeeaeseeeeeeeeeee 21 Hình 2.13: Package trong ROS2.15: Node trong ROS2.-- -- tàn HH it24 Hình 2.16: Topic trong ROS2.17: Service trong ROS2.-¿- 5< Sàn HH” HH.18: Action trong ROS2.------ +52: tt E222 ren25 Hình 2.19: Hình ảnh minh họa LIDAR .20: Hình ảnh minh họa dùng SLAM đề vẽ bản đồ 2D [10].21: Mô hình Cartographer trong ROS2.22: Mô hình Nav2 trong ROS [7].23: Nvidia Jetson TX2 carrier board.25: Hình ảnh mô tả các thông số của Rplidar A l.26: Khung xe vẽ trên phần mềm soliđdworks.-cc-cc-:cccÄ7 Hình 2.27: Mạch nguồn giảm ap DC-DC.28: Servo driver MSD_ElA.29: Cảm biến gia tốc GY-521 6DOF IMU MPU6050.30: Động Cơ DC Servo JGB37 DC. 5+ Ss+csxsserrererererexee 40 Hình 2.31: Cảm biến hồng ngoại E3F-DS30Y2.1: Khung xe dựa theo mô hình Mars rOV€TS.2: Khung xe hiện tate. ccc ceseeeeeeeeeseseseseeseseseseeseseseseessneeacseeseeeeaeee 42 Hình 3.3: Sơ đồ khối mô tả hệ thống trên STM32F429 Discovery Kit .4: Sơ đồ bố trí tọa độ của robot .5: 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 [4].6: Hai đường cung tròn tạo bởi hai bánh xe ảo [4].7: Vận tốc cho phép Va trong DWA [1 I].c:--cz525sscz<+ 53 Hình 3.8: Heading của robot trong DWA [ [ Ï].--- 5 55++c+c+ce<<+e=xe 54 Hình 4.1: Hình chụp thực tế của khung xe.
tt n2, 0111121212 1g rên56 Hình 4.3: Kết quả quá trình vẽ bản đồ 2D của môi trường hoạt động.4: Đường đi được tạo ra từ thuật toán DWB.5: Sơ đồ mô tả giải thuật xử lí khi robot phát hiện vật cản ngoài bản đồ61 Hình 4.6: Trang thái Recovery oo. cece 5 SĐT 62 DANH MỤC BANG Bảng 3.1: Các package dé sử đụng rObot.2: Các package được kế thừa lại dé thực hiện hệ thống.3: Các tác vụ trong RTOS.1: Bảng thông số thực nghiệm không có vật cản.2: Bảng thông số thực nghiệm có vật cản.--c:775sccc-- 63 DANH MỤC TU VIET TAT AHB Advanced High-Performance Bus AMCL Adaptive Monte Carlo Localization APB Advanced Peripheral Bus CPU Central Processing Unit DC Direct Current DDS Data Distribution Service DDSI-RTPS DDS-Interoperability Real Time Publish Subscribe DSP Digital Signal Processor DWA Dynamic Window Approach FPU Floating-Point Unit GPS The Global Positioning System GPU Graphics Processing Unit GUI Graphical User Interface IMU Inertial Measurement Unit LIDAR Light Detection and Ranging PCL Point Cloud Library PID Proportional—Integral—Derivative controller RAM Random Access Memory ROS Robot Operating System RTOS Real-Time Operating System SLAM Simultaneous Localization and Mapping TF2 Transform Version 2 TOM TAT KHÓA LUẬN Khóa luận “NGHIÊN CỨU VÀ TÍCH HỢP ROS2 VÀ RTOS CHO ROBOT TỰ HANH” ứng dung LIDAR và Navigation Stack đề thiết kế nên robot có khả năng vẽ được bản đồ khu vực hoạt động, tự hoạch định đường đi và đi đến nơi chỉ điểm trên bản đồ kết hợp tránh vật cản. Ứng dụng các thuật toán tìm đường đi để robot có thể di chuyên đến nơi chỉ định chỉ với các thao tác đơn giản nhất. Với hệ thống LIDAR, robot sử dụng cảm biến Rplidar Al từ thương hiệu SLAMTEC được phát triển để sử dụng vào các ứng dụng phát hiện vật cản, lập bản đồ bằng tỉa laser, hỗ trợ định vị xe hay robot tự hành,.
Bên cạnh đó STM32F429 Discovery Kit sử dung Encoder để tính toán vận tốc và số vòng của bánh xe để 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 đi dé robot có thé tự động di chuyển đến nơi chỉ định trên 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 hợp và đồng bộ trên một hệ điều hành quy nhất. Khi đó, hệ điều hành đành cho robot (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 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. Ở đề tài lần này, nhóm sẽ tập trung chủ yếu vào nghiên cứu về ROS2 (hệ điều hành dành cho robot phiên bản thứ 2) với những tính năng mới ưu việt hơn so với ROS, các gói dành cho Rplidar và các gói phục vụ SLAM, định vị và hoạch định đường đi cho robot trên ROS2. Đi cùng với ROS2, nhóm sẽ nghiên cứu tích hợp hệ điều hành thời gian thực (RTOS) với chức năng giúp dễ dàng điều khiển và quản lý phần cứng. Cuối cùng, để hoàn thiện hệ thống Navigation 2 Stack, robot sẽ được chia làm ba phần.
Phần thứ nhất là Nvidia Jetson TX2 Developer Kít, nơi thực thi các thuật toán định vị và hoạch định đường đi. Phần thứ hai là máy tính cá nhân nơi quản lý các thông tin của robot. Phần cuối cũng là tang nền với STM32F429 Discovery Kit 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 bốn động cơ DC dé robot có thé di chuyền. Ba phần chính sẽ được liên kết chặt chẽ với nhau trên một hệ thống là Robot Operating System (ROS2).
Ly do chọn đề tài Những năm gần đây tự động hóa và robotics phát triển nhanh và mạnh mẽ con người ngày càng cần đến các công cụ tự động nhằm nâng cao năng suất lao động cũng như tối ưu thời gian và chỉ phí. Từ đó đã phát triển rất nhiều loại robot tự động khác nhau đáp ứng các nhu cầu khác nhau như cánh tay robot trong công nghiệp, robot xử lý ảnh và phân loại sản phẩm. Trong đó, robot tự hoạch định đường đi là một dạng robot rất quan trọng được ứng dụng rộng rãi trong nhiều lĩnh vực đời sống va công nghiệp có thé ké đến là robot lau nhà, robot vận chuyển hàng hóa trong nhà máy. Hơn thế nữa, cộng đồng người dùng, nghiên cứu và phát triển robot trên Robot Operating System (ROS) hiện nay khá là lớn mạnh, giúp người dùng dé dàng tiếp cận, xây dựng một robot phức tạp trở nên đơn giản hơn.
Để 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 và đồng bộ trên một hệ điều hành duy nhất. Khi đó, ROS là một lựa chọn rất phù hợp. 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. Để có thể điều khiển robot di chuyển mượt mà và ồn định thì cần một hệ điều hành thời gian thực với khả năng xử lý dữ liệu siêu nhanh dành cho robot ở đây nhóm sẽ sử dụng Real-time Operating System (RTOS) — hệ điều hành thường được nhúng trong các loại vi điều khiển nơi mà các tài nguyên bên trong rất hữu hạn nên chỉ một sự chậm trễ cũng có thê làm hệ thống làm việc hoàn toàn sai lệch.
Trên thế giới các công trình nghiên cứu về robot tự động hoạch định đường đi (Navigation Robot) đã đượ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ế nên nhóm thực hiện tìm hiểu về ROS2 và RTOS dựa vào đó xây dựng robot xe mini tích hợp navigation. Bên cạnh đó, việc thực hiện dé tài sẽ giúp cho nhóm có thêm được kiến thức, kinh nghiệm cũng như cái nhìn œ tổng quan trong quá trình thiết kế robot tự hành. Đây cũng là lý do nghiên cứu của nhóm trong quá trình thực hiện khóa luận tốt nghiệp lần này.
Tình hình hiện nay Do công nghệ xe tự hành mới được phô biến tại Việt Nam trong những năm gan đây, nên những sản phẩm phục vụ cho dao tạo nghiên cứu còn hạn chế, nhỏ lẻ và hông đồng nhất. Có những tô chức nghiên cứu, đầu tư vào xe tự hành với mức inh phí khủng như Vin Group [1], FPT [2], Phenikaa [3]. với những cuộc thi về xe tự hành tổ chức cho sinh viên và các bạn học sinh trên toàn cả nước. Hiện tại ở trường Đại học Công nghệ Thông tin cũng đã có những bước đi đầu tiên khi đã tiến ành các cuộc thi về xe tự hành trong sinh viên do khoa Kỹ thuật Máy tính chủ trì.
Việc xây dựng một hệ thống robot hoàn chỉnh tích tích hợp hệ thống ROS2 và RTOS sẽ giúp tạo ra hướng đi mới cho việc xây dựng và phát triển robot, giúp đồng bộ trên một hệ điều hành và dễ kế thừa phát triển, xây dựng mô hình xe ngày càng hoàn thiện cho các cuộc thi học thuật ở trường có thể mở rộng hơn nữa.