Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
6,8 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ THUẬT TOÁN DI CHUYỂN CHO MOBILE ROBOT SỬ DỤNG CẢM BIẾN LIDAR GVHD: ThS VÕ LÂM CHƯƠNG SVTH: NGUYỄN ĐỨC THÀNH PHẠM NGỌC DUY NGUYỄN THỊ HUỆ S K L Tp Hồ Chí Minh, tháng 8/2023 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CƠ KHÍ CHẾ TẠO MÁY BỘ MÔN CƠ ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP Đề tài: THUẬT TOÁN DI CHUYỂN CHO MOBILE ROBOT SỬ DỤNG CẢM BIẾN LIDAR Sinh viên thực hiện: Giảng viên hướng dẫn: Nguyễn Thị Huế 19146338 Nguyễn Đức Thành 19146389 Phạm Ngọc Duy 19146315 ThS Võ Lâm Chương TP Hồ Chí Minh, tháng 08, năm 2023 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CƠ KHÍ CHẾ TẠO MÁY Độc lập – Tự – Hạnh phúc Bộ môn Cơ Điện tử NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Học kỳ 2/ Năm học 2022 – 2023 Giảng viên hướng dẫn: Ths Võ Lâm Chương Sinh viên thực hiện: Nguyễn Thị Huế MSSV: 19146338 SĐT: 096.200.9587 Nguyễn Đức Thành MSSV: 19146389 SĐT: 096.456.3620 Phạm Ngọc Duy MSSV: 19146315 SĐT: 036.582.3120 Mã số đề tài: 22223DT181 - Tên đề tài: Thuật toán di chuyển cho mobile robot sử dụng cảm biến LiDAR Các số liệu ban đầu - Khối lượng robot: ~ 10 kg - Kích thước: R200 x H110 Nội dung đồ án - Điều khiển động DC servo truyền động cho robot - Xây dựng thuật tốn di chuyển cho robot mơi trường nhà, nhiều vật cản, sử dụng cảm biến LiDAR kết hợp ROS Các sản phẩm dự kiến - Mơ hình mobile robot hồn chỉnh Ngày giao đồ án: 15/03/2023 Ngày nộp đồ án: 15/7/2023 Ngôn ngữ báo cáo: Bản báo cáo ☐ Tiếng Anh ☑ Tiếng Việt Trình bày bảo vệ ☐ Tiếng Anh ☑ Tiếng Việt TRƯỞNG KHOA TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN (Ký, ghi rõ họ tên) (Ký, ghi rõ họ tên) (Ký, ghi rõ họ tên) i LỜI CAM ĐOAN Tên đề tài: Thuật toán di chuyển cho mobile robot sử dụng cảm biến LiDAR GVHD: Ths Võ Lâm Chương Sinh viên thực hiện: Nguyễn Thị Huế MSSV: 19146338 Nguyễn Đức Thành MSSV: 19146389 Phạm Ngọc Duy MSSV: 19146315 Liên hệ: SĐT: 096.456.3620 Email: 19146389@student.hcmute.edu.vn Cam đoan: Chúng tơi xin cam đoan đề tài: Thuật tốn di chuyển cho mobile robot sử dụng cảm biến LiDAR cơng trình nhóm chúng tơi nghiên cứu thực Chúng không chép viết, cơng trình cơng bố mà khơng trích dẫn nguồn gốc Các số liệu, kết trình bày luận văn hồn tồn trung thực Nếu có vi phạm nào, chúng tơi xin chịu hồn tồn trách nhiệm Nhóm sinh viên thực Nguyễn Đức Thành Nguyễn Thị Huế Phạm Ngọc Duy ii LỜI CẢM ƠN Lời đầu tiên, nhóm nghiên cứu xin bày tỏ lòng biết ơn sâu sắc tới Th.S Võ Lâm Chương tận tình hướng dẫn, bảo kiến thức chuyên ngành truyền cảm hứng động lực cho chúng tơi hồn thành đề tài Chúng xin cảm ơn thầy mơn Cơ điện tử nói riêng thầy khoa Cơ khí Chế tạo máy nói chung, thầy trường Đại học Sư phạm Kỹ thuật thành phố Hồ Chí Minh giảng dạy tâm huyết, hỗ trợ chúng tơi nhiệt tình mặt Chúng xin gửi lời cảm ơn sâu sắc đến gia đình, bạn bè người thân ln động viên, quan tâm, giúp đỡ suốt thời gian học tập hoàn thành đồ án Cuối cùng, dù cố gắng để hồn thiện thật tốt đồ án, với điều kiện thời gian kinh nghiệm cịn hạn chế, nhóm chúng tơi khơng thể tránh khỏi thiếu sót, chúng tơi mong nhận góp ý lời nhận xét q báu từ thầy để nhóm hồn thiện nâng cao kiến thức Nhóm chúng tơi xin tiếp nhận lịng biết ơn Nhóm sinh viên thực Nguyễn Đức Thành Nguyễn Thị Huế Phạm Ngọc Duy iii TÓM TẮT ĐỒ ÁN Hiện nay, robot tự hành (mobile robot) trở nên phổ biến đời sống người, xuất khắp nơi từ nông thôn đến thành thị, từ nhà máy đến gia đình, chí hoạt động sản xuất sinh hoạt hàng ngày Các robot tự hành đóng vai trị quan trọng việc thay người cơng việc khó khăn, nguy hiểm, vất vả Điều giúp tiết kiệm sức lao động, thời gian, tài nguyên cho người, đồng thời nâng cao hiệu suất chất lượng cơng việc Từ thực tiễn đó, nhóm nghiên cứu phát triển đề tài thuật toán di chuyển cho mobile robot sử dụng cảm biến LiDAR cách xây dựng mobile robot có khả di chuyển linh hoạt mơi trường nhà Tính tốn lựa chọn động cơ, cấu truyền động phù hợp, xây dựng phương trình động học cho robot theo cấu thiết kế chế tạo mơ hình mobile robot Song song với viết chương trình điều khiển, xây dựng đồ định vị robot đồ xây dựng được, nghiên cứu thuật tốn giúp cho robot có khả di chuyển từ điểm bắt đầu đến điểm đích với quãng đường thuận lợi Kết nhóm nghiên cứu thiết kế vận hành thành công mobile robot với hệ thống bánh xe omni, trục bánh xe tạo với góc 120° đảm bảo yêu cầu di chuyển linh hoạt, động Planet có hồi tiếp encoder tạo nên độ xác ổn định q trình di chuyển Kết hợp với ROS, robot xây dựng đồ môi trường hoạt động hoạch định đường di chuyển, tránh vật cản đồ xây dựng iv ABSTRACT Nowadays, the mobile robot is more familiar to people, they currently present everywhere from rural to urban, from factory to household, in production as well as in everyday life Mobile robots have contributed significantly to replacing people who complete difficult, high-risk, hard-working jobs… Thereby saving labor, time as well as wealth for people and improving the quality of work Based on this practicality, our group is developing an algorithm for the movement of a mobile robot using LiDAR sensors by constructing a mobile robot capable of flexible movement in a 2D environment This involves calculating the selection of motors, appropriating transmission mechanisms, and constructing dynamic equations for the robot based on the designed structure and manufacturing the mobile robot model In parallel with this, we are writing control programs, building maps, and positioning the robot within the constructed map, researching algorithms to enable the robot to move from the starting point to the end point with the most convenient route As a result of our research and design, we have successfully operated a mobile robot with a 3-wheel omni system, where each wheel axis forms a 120-degree angle with each other, ensuring flexible movement The robot is equipped with three Planet motors with encoder feedback, providing accuracy and stability during movement The robot is capable of mapping and storing its operational environment and planning the trajectory within the mapped environment, avoiding the obstacle while moving v MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỜI CAM ĐOAN ii LỜI CẢM ƠN iii TÓM TẮT ĐỒ ÁN iv ABSTRACT v MỤC LỤC vi DANH MỤC BẢNG viii DANH MỤC HÌNH ẢNH ix DANH MỤC CÁC TỪ VIẾT TẮT xi CHƯƠNG GIỚI THIỆU 1.1 Lý chọn đề tài 1.2 Mục tiêu nghiên cứu đề tài 1.3 Đối tượng phạm vi nghiên cứu 1.3.1 Đối tượng nghiên cứu 1.3.2 Phạm vi nghiên cứu 1.4 Phương pháp nghiên cứu 1.5 Kết cấu đồ án CHƯƠNG TỔNG QUAN ĐỀ TÀI 2.1 Giới thiệu 2.2 Một số thuật toán di chuyển cho mobile robot 2.2.1 Phương pháp trường 2.2.2 Phương pháp đồ đường 2.2.3 Phương pháp thuật toán di truyền 2.2.4 Phương pháp thuật toán bầy đàn 2.2.5 Thuật toán Dijkstra CHƯƠNG THIẾT KẾ PHẦN CỨNG HỆ THỐNG 10 3.1 Thiết kế khí 10 3.1.1 Lựa chọn cấu di chuyển 10 3.1.2 Tính tốn, lựa chọn động 13 3.1.3 Thiết kế khung, vỏ robot 16 3.2 Thiết kế hệ thống điện 17 3.2.1 Các thiết bị điện – điện tử 17 3.2.2 Lựa chọn nguồn cho robot 21 3.2.3 Mạch giảm áp 22 vi 3.2.4 Sơ đồ nguyên lý mạch điều khiển 23 CHƯƠNG ĐỘNG HỌC – ĐIỀU KHIỂN 24 4.1 Động học mobile robot 24 4.1.1 Mơ hình hóa động học robot 24 4.1.2 Phương trình động học 25 4.1.3 Chuyển vị vận tốc 26 4.1.4 Kết mô động học 27 4.2 Hệ thống điều khiển robot 30 4.2.1 Điều khiển động 30 4.2.2 Phương thức giao tiếp phần cứng điều khiển robot 39 CHƯƠNG XÂY DỰNG PHẦN MỀM TRÊN ROS 40 5.1 Giới thiệu tảng ROS 40 5.1.1 Giới thiệu 40 5.1.2 Cấu trúc thư mục số thuật ngữ ROS 40 5.1.3 Trao đổi thông tin ROS 43 5.1.4 ROS Navigation Stack 44 5.1.5 Tích hợp sử dụng ROS cho robot LiDAR 45 5.2 Điều hướng cho mobile robot 49 5.2.1 Xây dựng đồ môi trường 49 5.2.2 Định vị robot đồ 57 5.2.3 Hoạch định quỹ đạo di chuyển cho robot 59 5.2.4 Di chuyển tránh vật cản 61 CHƯƠNG KẾT LUẬN – HƯỚNG PHÁT TRIỂN 63 6.1 Kết thực nghiệm 63 6.1.1 Phần cứng 63 6.1.2 Điều khiển 63 6.1.3 Điều hướng cho mobile robot 64 6.2 Kết luận 68 6.3 Hướng phát triển 68 TÀI LIỆU THAM KHẢO 69 PHỤ LỤC 72 vii DANH MỤC BẢNG Bảng 3.1 Thông số đầu vào 13 Bảng 3.2 Thông số động Planet 15 Bảng 3.3 Thông số kỹ thuật cảm biến LiDAR 18 Bảng 3.4 Thông số kỹ thuật kit Phát Triển STM32F103C8T6 19 Bảng 3.5 Thông số kỹ thuật BTS7960 21 Bảng 3.6 Thông số dòng tiêu thụ thiết bị 21 Bảng 3.7 Thông số pin LIPO 22 Bảng 3.8 Thông số LM2596 23 Bảng 4.1 Bảng Routh tổng quát 37 Bảng 4.2 Tính thơng số cho bảng Routh 37 Bảng 6.1 Thông số robot 63 viii Hình 5.17 Sơ đồ nút trọng số cạnh Hình 5.18 Ví dụ mơ tả thuật tốn Dijkstra Với ví dụ hình 5.18, với A điểm bắt đầu F điểm kết thúc, quãng đường di chuyển ngắn A – B – D – E – F Các bước giải thuật Dijkstra để tìm đường ngắn hai đỉnh đồ thị có trọng số khơng âm sau: Bước 1: Khởi tạo: - Đặt đỉnh xuất phát đỉnh nguồn (source) gán khoảng cách từ nguồn đến - Gán khoảng cách từ nguồn đến tất đỉnh lại ∞ không xác định Đánh dấu tất đỉnh chưa khám phá Bước 2: Lặp tất đỉnh khám phá: - Chọn đỉnh có khoảng cách từ nguồn nhỏ đánh dấu khám phá Duyệt qua tất đỉnh kề với đỉnh (chưa khám phá) cập nhật khoảng cách tốt (nếu có) Khoảng cách tốt từ nguồn đến đỉnh khoảng cách từ nguồn đến đỉnh cộng với trọng số cạnh nối đỉnh 60 đỉnh Nếu khoảng cách nhỏ khoảng cách tại, cập nhật khoảng cách Bước 3: Khi tất đỉnh khám phá đến đỉnh đích: - Kết khoảng cách ngắn từ nguồn đến đỉnh tính tốn 5.2.3.2 Path planning ROS Trong ROS, để thực lập kế hoạch đường đi, có số packages hỗ trợ thuật tốn tìm đường khác Một số có package navfn (navigation function), sử dụng để tạo chức điều hướng nội suy nhanh cho robot Package cho phép người lập kế hoạch giả định robot hoạt động đồ chi phí (costmap) để tìm kế hoạch có chi phí tối thiểu từ điểm bắt đầu đến điểm kết thúc lưới Thuật toán áp dụng việc lập kế hoạch thuật tốn tìm đường Dijkstra môi trường tĩnh Để di chuyển robot theo quỹ đạo đặt trước, ta sử dụng package move_base ROS Package kết nối với global_planner để đưa lệnh di chuyển cho robot Global_planner sử dụng thuật toán Dijkstra phần giới thiệu bên để đưa quãng đường ngắn Để thuật tốn Dijkstra hoạt động ta cần có file cấu hình số thơng số quan trọng đồ chi phí file global_costmap_param.yaml Thuật tốn chia nhỏ đồ thành (grid map) (hình 5.19 [13]) để tiến hành tính tốn Hình 5.19 Dijkstra Path Planning 5.2.4 Di chuyển tránh vật cản Môi trường mà robot hoạt động môi trường nhà nên có nhiều vật cản bao gồm vật cản tĩnh vật cản động Trong trình di chuyển đến đích thơng qua đường dẫn tìm được, robot bị gặp cản ngẫu nhiên gây ảnh hưởng đường đến đích Khi gặp vật cản ngẫu nhiên, LiDAR quét phát vật cản, từ robot cập nhật lại đồ theo vùng vật cản xuất thực lập lại kế hoạch đường để thay cho kế hoạch cũ, từ robot di chuyển để tránh vật cản động Lưu đồ hoạt động tránh vật cản thể hình 5.20: 61 Hình 5.20 Lưu đồ tránh vật cản Giải thích lưu đồ: Khi người dùng u cầu đích đến cho robot, kiểm tra xem đích đến có khả thi hay khơng (có nằm vùng đồ hoạt động hay khơng) Nếu đích đến khả dụng, robot lập kế hoạch di chuyển di chuyển theo đường lập được, đích đến khơng khả dụng robot trả lỗi không hoạt động Trên đường di chuyển, robot phát vật cản robot lập lại kế hoạch di chuyển cập nhật đường di chuyển di chuyển theo đường đó, cịn khơng phát vật cản đến đích 62 CHƯƠNG KẾT LUẬN – HƯỚNG PHÁT TRIỂN 6.1 Kết thực nghiệm 6.1.1 Phần cứng Trải qua thời gian nghiên cứu tìm hiểu thực đồ án tốt nghiệp với đề tài Thuật toán di chuyển cho mobile robot sử dụng cảm biến LiDAR, nhóm thiết kế mơ hình mobile robot hình 6.1 a Bên ngồi b Bên Hình 6.1 Mơ hình tổng quan robot Mơ hình robot nhóm thiết kế với thông số: Bảng 6.1 Thông số robot Thơng số Kích thước robot Giá trị R200xH110 Khối lượng 10 kg Thời gian hoạt động ~ 3h Nguồn Cơ cấu di chuyển Đường kính bánh xe Pin LIPO 6S 6000mAh bánh Omni Wheel 78 mm 6.1.2 Điều khiển Để thực nghiệm chương trình điều khiển, nhóm nghiên cứu tiến hành cho robot chạy với vận tốc ngẫu nhiên để xem đáp ứng động Đồ thị đáp ứng động thể hình 6.2 63 vx_robot (m/s) v RPM Động v_x_robot setpoint RPM setpoint v_x_robot response RPM response t (s) vy_robot (m/s) t (s) RPM v_n Động v_y_robot setpoint RPM setpoint v_y_robot response RPM response t (s) w_robot (rad/s) t (s) RPM w Động w_robot setpoint RPM setpoint w_robot response RPM response t (s) t (s) Hình 6.2 Đáp ứng vận tốc robot Từ đồ thị ta thấy động đáp ứng nhanh có độ xác cao 6.1.3 Điều hướng cho mobile robot Sau cho robot di chuyển phòng với số vật cản bàn ghế, nhóm thu đồ hình 6.3, kết cho thấy đồ robot thu có độ xác cao so với thực tế 64 Hình 6.3 Bản đồ thu Sau thu đồ từ thuật toán Hector SLAM, nhóm tiến hành thử nghiệm hoạch định di chuyển cho robot mơi trường có vật cản khơng có vật cản, kết thu quỹ đạo di chuyển (path planning) hình 6.4 6.5 End Hướng robot Path planning Start Hình 6.4 Hoạch định di chuyển khơng có vật cản 65 Vật cản path planning a Bản đồ b Mơi trường thực Hình 6.5 Hoạch định di chuyển mơi trường có vật cản Với mơi trường thử nghiệm hình 6.6, ban đầu, chưa có vật cản robot hoạch định quỹ đạo di chuyển hình 6.7a, có vật cản động xuất (người qua) robot lập lại đường di chuyển hình 6.7b a Mơi trường thực tế b Bản đồ mơi trường Hình 6.6 Mơi trường thử nghiệm vật cản động 66 a Quỹ đạo ban đầu b Quỹ đạo vật cản xuất Hình 6.7 Quỹ đạo thay đổi có vật cản động xuất Sau lập kế hoạch di chuyển (path planning), robot thực di chuyển tới điểm đích theo đường lập Ngoài ra, để kiểm tra độ xác hoạt động robot di chuyển bám theo quỹ đạo lập được, nhóm nghiên cứu phát triển chương trình nhỏ với đầu vào quỹ đạo mà người dùng mong muốn cho robot di chuyển bám theo quỹ đạo Hình 6.8 ví dụ quỹ đạo hình tròn, thực nghiệm cho thấy robot bám đường tốt di chuyển theo quỹ đạo lập Hình 6.8 Robot di chuyển theo quỹ đạo hình trịn 67 6.2 Kết luận Như vậy, sau trình nghiên cứu thiết kế mobile robot sử dụng cảm biến LiDAR, ứng dụng ROS vào điều khiển robot, nhóm thực được: - Về phần cứng, nhóm hồn thành thiết kế khung robot, lựa chọn cấu phù hợp, bên cạnh thiết kế mạch điều khiển giúp cho mobile robot di chuyển linh hoạt ổn định môi trường nhà - Về khả xây dựng đồ môi trường hoạt động hector SLAM, qua trình thực nghiệm cho thấy đồ mà robot xây dựng có kết xác so với mơi trường thực tế - Mobile robot có khả định vị vị trí đồ xây dựng - Về khả lập kế hoạch di chuyển, mobile robot hoạch định di chuyển tới vị trí - đích mơi trường có vật cản khơng có vật cản Về khả tránh vật cản, cảm biến LiDAR quét môi trường tốc độ cao nên khả xác định vật cản robot môi trường tĩnh môi trường động có độ xác cao Robot di chuyển theo đường hoạch định (path planning) tránh vật cản tĩnh vật cản động Tuy nhiên, kiến thức thời gian nghiên cứu hạn chế, nên mobile robot mà nhóm thiết kế cịn hạn chế sau: - Khối lượng tổng thể robot chưa có tải nặng Cảm biến LiDAR với serial dễ bị lỗi drive USB Vị trí đặt cảm biến LiDAR tương đối cao nên việc phát vật cản có độ cao thấp tầm quét LiDAR hạn chế Đối với vật cản động xuất bán kính gần (< 30 cm) robot xử lý chậm nên dễ bị va vào vật cản 6.3 Hướng phát triển Để hoàn thiện mobile robot tối ưu, hoạt động tốt ổn định nhiều điều kiện môi trường khác qua thương mại hóa, nhóm cần phải cải nghiên cứu, cải thiện thêm số vấn đề sau: - Cải thiện thiết kế phần cứng chắn thẩm mỹ Giảm kích thước robot thay khung nhựa khung kim loại Cải thiện thuật toán di chuyển để robot hoạt động ổn định hơn, tốc độ xử lý robot nhanh nhạy Xây dựng kiến trúc sở cho phần mềm hoạt động ổn định, robot di chuyển linh hoạt dễ dàng bảo trì Tạo tiền đề nghiên cứu phát triển cho nhiều ứng dụng tương lai 68 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Trịnh Chất, Lê Văn Uyển, Tính tốn thiết kế hệ dẫn động khí, NXB Giáo dục, Tp.HCM [2] Th.S Võ Lâm Chương, Giáo trình môn học Hệ thống truyền động Servo, Đại học SPKT TP Hồ Chí Minh [3] Trần Quốc Hùng, Dung sai kỹ thuật đo, Nhà xuất ĐHQG [4] Nguyễn Văn Khang, Cơ sở học kỹ thuật, NXB Đại học Quốc gia Hà Nội, 2003 [5] Nguyễn Hữu Lộc, Cơ sở thiết kế máy, Nhà xuất ĐHQG, Tp.HCM [6] Trần Hữu Quế, Vẽ kỹ thuật khí (tập 1, tập 2), Nhà xuất giáo dục, 2007 Tiếng Anh [7] Chao Ou, Weixing Lin, Comparision between PSO and GA for parameters optimization of PID controller, Faculty of Information science and technology university of Ningbo Pp 2471 – 2475 [8] D G Sillas, E G Hurtado, J E Vargas and S Tovar, Kinematics modeling and simulation of an autonomous omni-directional mobile robot, Ingeniería e Investigación, pp 74-79, 2015 [9] E Ivanjko, T Petrini and I Petrovic, Modeling of Mobile robot Dynamics, Research Gate, 2010 [10] Giorgio Grisetti, Rainer Kummerle, Cyrill Stachniss, Wolfram Burgard, A tutorial on Graph – Base SLAM, IEEE Intelligent Transportation Systems Magazine, 2010 [11] Hagen Burchardt, Ralf Salomon, Implementation of Path Planning using Genetic Algorithms on Mobile robots, IEEE, 2013 [12] Jean-Claude Latombe, Potential Field Methods, Kluwer Academic Publishers, pp 295–355, 1991 [13] Kaiyu Zheng, ROS Navigation Tuning Guide, Springer International Publishing, 2016 [14] Lagoudakis, Michail G, Mobile robot local nagivation with a polar neural map, MSc Thesis, University of Southwestern Louisiana, 1998 [15] M DaneshPanah, A Abdollahi, H Ostadi and H A Samani, Comprehensive OmniDirectional Soccer Player robots, INTECH, pp 348-352, 2007 [16] N A Rafai, N Adzhar, and N I Jaini, A Review on Path Planning and Obstacle Avoidance Algorithms for Autonomous Mobile robots, Journal of robotics, 2022 [17] Pajaziti, Arbnor, SLAM – Map Building and Navigation via ROS, International Journal of Intelligent Systems and Applications in Engineering, pp 71-75, 2014 [18] Richard Hanten, Sebastian Buck, Sebastian Otte and Andreas Zell, Vector-AMCL: Vector Based Adaptive Monte Carlo Localization for Indoor Maps, 2017 69 [19] S A Fadzli, S I Abdulkadir, M Makhtar, and A A Jamal, robotic indoor path planning using Dijkstra’s algorithm with multi-layer dictionaries, International Conference on Information Science and Security, 2015 [20] T Bailey, H Durrant-Whyte, Simultaneous localization and mapping (SLAM): part II, IEEE robotics & Automation Magazine, pp 108–117, 2006 [21] W Sirigool and R Kesvarakul, Particle Filter for Hector SLAM to Improve thePerformance of robot Positioning by Image Processing Based, International Journal of Machine Learning and Computing, 2020 [22] YoonSeok Pyo, HanCheol Cho, RyuWoon Jung, TaeHoon Lim, ROS robot Programming, Robotics Co.Ltd, 2017 Tài liệu khác [23] Cytrontech, Raspberry Pi Model B - 8GB, Link: https://www.cytrontech.vn/craspberry-pi-main-board/c-raspberry-pi-4/p-raspberry-pi-4-model-b-8gb-latest, 4/2023 [24] DiGi – Key, STM32F103C8T6 – Blue pill development board, Link: https://components101.com/microcontrollers/stm32f103c8t8-blue-pill-developmentboard, 4/2023 [25] Điện tử Đức Huy, Module điều khiển động BTS7960, Link: https://dientuduchuy.com/products/bts-7960, 4/2023 [26] Etek, robot di động ứng dụng thực tiễn, Link: https://www.tpa- fas.com.vn/Tin/robot-di-dong-va-ung-dung-thuc-tien, 3/2023 [27] Frank Odom, Towards Data Science, Linh: https://towardsdatascience.com/fourierconvolutions-in-pytorch-4cbd23c70005, 7/2023 [28] Linh kiện Cầu Giấy, Bánh xe mecanum đa hướng, Link: https://lkcg.vn/banh-xemecanum-da-huong-80mm, 4/2023 [29] Mua linh kiện, Bộ khung xe robot bánh mica trong, Link: https://mualinhkien.vn/bokhung-xe-robot-3-banh-mica-trong, 4/2023 [30] IC Đây Mạch giảm áp Buck DC-DC LM2596 có hiển thị, Link: https://icdayroi.com/mach-giam-ap-dc-lm2596-co-hien-thi, 4/2023 [31] S Kohlbrecher, Hector SLAM, Link: http://wiki.ros.org/hector_slam, 6/2023 [32] ROS, Robot Operating System, Link: https://ros.org/, 6/2023 [33] Tài liệu mẫu, Tổng quan mobile robot, Link: https://tailieumau.vn/de-tai-tongquan-ve-mobile-robot-hay-9d/, 3/2023 [34] Thế giới IC, OMNI - Bánh xe đa hướng, Link: https://www.thegioiic.com/products/omni-58-banh-xe-da-huong-58mm, 4/2023 70 [35] Trần Ngọc Linh, Xây dựng hệ thống phân tích hình ảnh ros cho robot hướng dẫn viên, Link: https://www.slideshare.net/man2017/xy-dng-h-thng-phn-tch-hnh-nhtrn-ros-cho-robot-hng-dn-vin, 7/2023 [36] Trường An Equipment, Khung xe kim loại bánh Omni, Link: https://tae.vn/khungxe-kim-loai-3-banh-omni, 4/2023 [37] Trường An Equipment, Bánh xe robot TT 65MM, Link: https://tae.vn/banh-xe-robottt-65mm, 4/2023 71 PHỤ LỤC MÔ PHỎNG ĐỘNG HỌC Chương trình mơ động học động lực học mobile robot thực phần mềm Matlab sau: clc; clear all; close; ts = 10; %% sample time dt = 0.01; %% step time t = 0:dt:ts; motor1 = 0; motor2 = -2; motor3 = 2; d = 0.2; % d(wheel,robot center) M = [motor1; motor2; motor3]; x0 = 0; y0 = 0; psi0 = 0; position_0 = [x0;y0;psi0]; position(:,1) = position_0; R = [-3^(1/2)/3 1/3 3^(1/2)/3; -2/3 1/(3*d) 1/(3*d) 1/3; 1/(3*d)]; for i = 1:1:length(t) theta = position(3,i); Jacobi_theta = [cos(theta) -sin(theta) 0; sin(theta) cos(theta) 0; 0 1]; Vel_robot(:,i) = R*M; %vec to vận tốc robot 72 Vel_t(:,i) = Jacobi_theta * Vel_robot(:,i); %Vận tốc tức thời hệ toàn cục position(:,i+1) = position(:,i) + dt * Vel_t(:,i); %vị trí hệ toàn cục subplot(1,2,1); %axis([-5 -5 5]); plot(position(1,1:i),position(2,1:i),'b-','LineWidth',2); title('ĐỒ THỊ VỊ TRÍ'); set(gca,'fontsize',20); xlabel('X axist [m]'); ylabel('Y axist [m]'); hold on; grid on; subplot(1,2,2); plot((i-1)*0.01,position(3,i),'r.-','LineWidth', 1); title('GÓC XOAY CỦA ROBOT'); set(gca,'fontsize',20); xlabel('Time (s)'); ylabel('Radian'); hold on; grid on; pause(0.01); end 73 S K L 0