Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

DO_AN_TOT_NGHIEP-1 (1).pptx

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Prochain SlideShare
Robot scara
Robot scara
Chargement dans…3
×

Consultez-les par la suite

1 sur 40 Publicité

Plus De Contenu Connexe

Similaire à DO_AN_TOT_NGHIEP-1 (1).pptx (20)

Publicité

Plus récents (20)

DO_AN_TOT_NGHIEP-1 (1).pptx

  1. 1. BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: XE VẬN CHUYỂN HÀNH LÍ ĐA TẦNG Giảng viên hướng dẫn: TS. Trương Công Tuấn Nhóm sinh viên thực hiện: Trần Trí Phong Nguyễn Đức Thắng Lê Tăng Trường Đào Duy Tùng MSSV: 20170855 MSSV: 20170905 MSSV: 20170961 MSSV: 20170985 Lớp: CK.CĐT.02 Khóa: K62
  2. 2. • I: Tổng quan đề tài • II: Tính toán thiết kế và chế tạo mô hình • III: Xây dựng các giải thuật và lập trình điều khiển hệ thống • IV: Thực nghiệm và đánh giá kết quả • V: Kết luận và hướng phát triển đề tài NỘI DUNG BÁO CÁO 2
  3. 3. PHẦN I: TỔNG QUAN ĐỀ TÀI
  4. 4. 1. Automated Guided Vehicle (AGV) Robot AGV sử dụng trong nhà máy Nhu cầu sử dụng AGV trên toàn thế giới từ 2019 đến 2026 Automation Guided Vehicle (AGV) – xe tự hành sử dụng các công nghệ dẫn đường để vận chuyển đến các địa điểm được đánh dấu sẵn mà không cần đến sự can thiệp của con người. I. Tổng quan đề tài 4
  5. 5. 2. Đặt vấn đề Robot vận chuyển khách sạn Shelton Los Angeles Robot vận chuyển hành lí trong khách sạn tại Nhật Bản Robot vận chuyển hành lí tại Trung Quốc Robot vận chuyển hành lí trong khách sạn tại Úc I. Tổng quan đề tài 5
  6. 6. 3. Đề xuất các chức năng Mô hình xe được thiết kế để có thể thực hiện 2 nhiệm vụ chính, chuyển đổi nhiệm bằng giọng nói: - Nhiệm vụ 1: Bám sát nhân viên hướng dẫn để xây dựng bản đồ tòa nhà. - Nhiệm vụ 2: Vận chuyển hành lí từ khu vực lễ tân đến các phòng theo yêu cầu của khách hàng. 6 I. Tổng quan đề tài
  7. 7. 4. Đề xuất các thiết kế mô hình AGV điều hướng bằng line AGV điều hướng bằng QR code AGV điều hướng tự do I. Tổng quan đề tài 7
  8. 8. PHẦN II: TÍNH TOÁN THIẾT KẾ VÀ CHẾ TẠO MÔ HÌNH
  9. 9. II. Tính toán thiết kế và chế tạo mô hình 1. Yêu cầu đầu vào bài toán - Không gian hoạt động: Khách sạn - Vận tốc di chuyển: ~ 0.5m/s - Khối lượng hành lí: 10 kg - Có thể tự tạo bản đồ và lập kế hoạch đường đi - Có thể thao tác qua giao diện và giọng nói. - Có kích thước nhỏ gọn đảm bảo trong quá trình di chuyển trong không gian nhỏ hẹp của khách sạn và hành lang. (kích thước 700x520 mm). - Xác thực người nhận bằng QR code Segway Delivery Robotic S2 9
  10. 10. 2. Mô hình thực tế Mô hình xe trên SolidWorks Mô hình thực tế của xe 10 II. Tính toán thiết kế và chế tạo mô hình
  11. 11. 3. Sơ đồ khối hệ thống Sơ đồ kết nối hệ thống phần cứng 11 II. Tính toán thiết kế và chế tạo mô hình
  12. 12. 4. Các thiết bị sử dụng Jetson Nano Developer Kit STM32F04VE LIDAR A2 Realsense Depth Camera Mạch cầu H L298 Encoder từ 12 II. Tính toán thiết kế và chế tạo mô hình
  13. 13. 4. Các thiết bị sử dụng 13 II. Tính toán thiết kế và chế tạo mô hình
  14. 14. PHẦN III: XÂY DỰNG CÁC GIẢI THUẬT VÀ LẬP TRÌNH ĐIỀU KHIỂN HỆ THỐNG
  15. 15. III: Xây dựng các giải thuật và lập trình điều khiển hệ thống 1. Robot Operation System (ROS) Hệ thống ROS Sự tương tác các node trong ROS Các package tương ứng với các folder 15
  16. 16. 1. Robot Operation System (ROS) ROS yêu cầu các phần tử cần phải khai báo tọa độ để phục vụ các tính toán biến đổi tọa độ trong quá trình hoạt động, đặc biệt là quá trình quét bản đồ và điều hướng tự động. Tổng quát các hệ tọa độ trong ros Các node đang được khởi tạo trong ROS 16 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  17. 17. 2. Hệ thống tọa độ trong ROS odometry source: thông tin về tốc độ của robot (đọc từ encoder) hoặc IMU để ước tính vị trí của robot so với vị trí trước đó. Các hệ tọa độ trực quan hóa trong mô phỏng Sơ đồ khối hệ tọa độ robot 17 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  18. 18. 3. Lưu đồ thuật toán 18 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  19. 19. 4. Thuật toán nhận dạng giọng nói Nhóm đề tài sử dụng thư viện SpeechRecognition để nhận dạng lệnh của người nói lên robot. Thư viện này sử dụng mô hình Markov ẩn (HMM) để nhận dạng. Mô hình nhận dạng giọng nói HMM a) Tín hiệu tương tự b) Tín hiệu số Biến đổi tín hiệu âm thanh sang tín hiệu số Rút trích đặc trưng của tiếng nói 19 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  20. 20. 5. Thuật toán bám đối tượng Lưu đồ thuật toán bám đối tượng Thuật toán bám đối tượng để phục vụ yêu cầu quét bản đồ. Ở đây nhóm sẽ xác định đối tượng bằng màu sắc và di chuyển theo đối tượng dựa theo khoảng cách và góc lệch thu được từ camera. 20 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  21. 21.  H: (Hue) Vùng màu, màu sắc được mô hình hóa dưới dạng một chiều góc mã hóa thông tin màu sắc  S: (Saturation) Độ bão hòa màu  B (hay V): (Bright hay Value) độ sáng, thể hiện số lượng màu tương ứng được trộn với màu đen. Cách phối màu trong mô hình RGB Nhận diện màu sắc Mô hình màu HSV 5. Thuật toán bám đối tượng 21 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  22. 22. Nhận diện màu sắc Ta sẽ chuyển đổi ảnh từ RGB sang mô hình HSV. Sau đó áp dụng mặt nạ ngưỡng để phát hiện màu sắc. Ví dụ color_lower =[50 20 20] đến color_upper = [10 255 255] Phát hiện vị trí vùng màu 5. Thuật toán bám đối tượng 22 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  23. 23. 6. Thiết kế bộ điều khiển cho động cơ Phương pháp căn chỉnh thủ công theo các bước sau: Bước 1: Khởi tạo các giá trị KP, KI, KD ban đầu bằng 0. Bước 2: Tăng dần KP cho đến khi đáp ứng động cơ bắt đầu dao động, khi đó KP sẽ được chọn bằng 1/2 giá trị bắt đầu dao động. Bước 3: Cân chỉnh KD để bộ điều khiển nhanh chóng trở về giá trị đặt khi bị vọt lố. Trong hệ thống điều khiển động cơ, ở ngõ ra đã có một khâu tích phân lý tưởng nên giá trị KI sẽ được cho bằng 0. Kết quả cho ra với hệ số KP= 0.7, KI = 3.1, KD = 1. Bộ điều khiển PID 23 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  24. 24. 7. Thuật toán quét và tạo dựng bản đồ (SLAM) Simultaneous Localization And Mapping (SLAM) là công nghệ định vị và xây dựng bản đồ đồng thời. Bằng cách sử dụng SLAM, các kết cấu hạ tầng có thể thay đổi dễ dàng. Bên cạnh đó việc cài đặt công nghệ này cũng không tốn nhiều thời gian. Thuật toán vẽ bản đồ Hector SLAM Hector SLAM, Gmapping là các thuật toán mã nguồn mở được sử dụng để xây dựng bản đồ lưới 2D cho môi trường xung quanh dùng cảm biến laser scan (Lidar). • Tái tạo môi trường (mapping) • Định vị (localization). 24 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  25. 25. Tiêu chí Gmapping Hector SLAM Độ chính xác của ánh xạ Có thể lập bản đồ môi trường chính xác khi sử dụng laser_scan và merge_scan. Bản đồ được vẽ với bức tường hẹp hơn nhưng có nhiều khu vực / đối tượng địa lý bị lệch hơn. Có thể lập bản đồ môi trường chính xác khi sử dụng laser_scan hoặc merge_scan. Bản đồ được vẽ với các bức tường dày hơn nhưng các khu vực / đối tượng địa lý ít bị lệch hơn. Phát hiện các kích thước và đặc điểm hình dạng khác nhau Có thể phát hiện các đối tượng có nhiều kích thước bằng cách sử dụng merge_scan; nhưng kém chính xác hơn Hector SLAM. Phát hiện tốt hơn các đối tượng có nhiều kích thước bằng cách sử dụng merge_scan. Đóng vòng Có thể đóng vòng lặp vì nó dựa trên bộ lọc hạt. Không thể đóng vòng lặp. Trong quá trình hoạt động, bản đồ thu được chỉ có thể được thay đổi cục bộ (tức là tại các khu vực nằm trong FOV của lần quét gần nhất). Độ phức tạp Cao hơn đáng kể do kỹ thuật lọc hạt phức tạp và thực tế là nó sử dụng cả scan và odometry trong tính toán. Không thể cập nhật bản đồ với tốc độ nhanh. Thấp hơn đáng kể do thuật toán (GaussNewton) đơn giản hơn. Đối sánh quét được sử dụng để ước tính tư thế và chỉnh sửa cục bộ bản đồ. Tư thế ước tính Đầu ra đặt tư thế điều chỉnh thay vì tư thế thực. Chỉnh sửa được cập nhật sau mỗi 5 đến 6 giây. Do đó, trong khoảng thời gian, odometry phải được sử dụng để ước tính tư thế. Trực tiếp xuất ra tư thế ước tính. Tốc độ cập nhật nhanh hơn đáng kể so với Gmapping; gần với tốc độ cập nhật của quá trình quét đầu vào. Nhóm sử dụng thuật toán Hector Slam 7. Thuật toán quét và tạo dựng bản đồ (SLAM) 25 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  26. 26. Trực quan quá trình xây dừng bản đồ bằng Hector SLAM. 360 điểm tương ứng với 360 độ khi quét Quá trình tiền xử lí đưa ra bản đồ lưới Quá trình Scan Matchinng Bản đồ được hoàn thành 7. Thuật toán quét và tạo dựng bản đồ (SLAM) Không có laser scan Có laser scan 26 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  27. 27. 8. Định vị xe trong bản đồ Robot tự định vị với thuật toán Monte Carlo Định vị (localization). Thuật toán định vị Monte-Carlo Monte-Carlo là một bộ lọc dạng PF (Partial Filter) dùng để xác định vị trí của robot trong không gian với một bản đồ đã biết trước. Bộ lọc Monte-Carlo có hai bước chính là lấy mẫu vị trí từ mô hình chuyển động, đánh giá trọng số bằng mô hình quan sát và tiến hành lấy mẫu lại các mẫu quan trọng 27 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  28. 28. 9. Tìm đường đi đến đích (Navigation) So sánh giữa global planner và local planner Quá trình tìm đường đi ngắn nhất từ điểm tới điểm, được xác định qua hai chức năng: global planner và local planner. 28 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  29. 29. a) Kế hoạch đường đi toàn cục (global planner) Thuật toán Dijkstra Giới thiệu thuật toán Dijkstra, A* Nó có một hàm chi phí, là giá trị chi phí thực từ nguồn đến từng nút f(x) = g(x) Nó tìm thấy con đường ngắn nhất từ ​​nguồn đến mọi nút khác bằng cách chỉ xem xét chi phí thực. Thuật toán A* Nó có hai chức năng chi phí. g(x): giống như Dijkstra. Chi phí thực sự để đạt được một nút x. h(x): chi phí gần đúng từ nút x đến nút mục tiêu. Đó là một chức năng heuristic. Hàm heuristic này không bao giờ nên đánh giá quá cao chi phí. Điều đó có nghĩa là, chi phí thực tế để đạt được nút mục tiêu từ nút x phải lớn hơn hoặc bằng h(x). Tổng chi phí của mỗi nút được tính bằng: f(x) = g(x) + h(x) 9. Tìm đường đi đến đích (Navigation) 29 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  30. 30. a) Kế hoạch đường đi toàn cục (global planner) Plan Source Node Nodes B C D E F Z A (0) A 9 (A-B) 4 (A-C) 7(A-D) A-C (4) C 9 (A-B)  7(A-D) 21 (A-C-E) 16 (A-C-F) A-D (7) D 9 (A-B)   21 (A-C-E) 16 (A-C-F) A-B (9) B    20 (A-B-E) 16 (A-C-F) A-C-F (16) F    20 (A-B-E)  25 (A-C-F-Z) A-B-E (20) E      25 (A-C-F-Z) 9. Tìm đường đi đến đích (Navigation) Các bước thực hiện thuật toán • Tìm đường đi ngắn nhất từ A đến tất cả các nút. Thuật toán Dijkstra 30 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  31. 31. a) Kế hoạch đường đi toàn cục (global planner) 9. Tìm đường đi đến đích (Navigation) Thuật toán A* Các bước thực hiện thuật toán 31 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  32. 32. b) Kế hoạch đường đi cục bộ (local planner) Có hai thuật toán thường được sử dụng trong tìm đường đi cục bộ là thuật toán cửa sổ động (DWA) và thuật toán Time Elastic Band (TEB). So sánh hai thuật toán DWA và TEB 9. Tìm đường đi đến đích (Navigation) 32 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  33. 33. Costmap 2D Là một dạng bản đồ 2D hoặc 3D của phần không gian bị ngăn trở bởi vật cản hoặc tường ngoài môi trường và lan rộng nó ra trong bản đồ dựa trên bản đồ dạng lưới và độ rộng của vùng lan. • Global costmap: bản đồ chi phí dựa trên những vật cản tĩnh đã có từ bản đồ gốc. • Local costmap: bản đồ chi phí có thể xác định vật cản động, giúp điều hướng robot linh hoạt tránh va chạm. 9. Tìm đường đi đến đích (Navigation) Trước khi sử dụng Costmap 2D Sau khi sử dụng Costmap 2D 33 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  34. 34. 9. Tìm đường đi đến đích (Navigation) Khối Navigation trong ROS 34 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  35. 35. 10. Giao diện điều khiển trung tâm Giao diện điều khiển trung tâm 35 III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
  36. 36. PHẦN IV: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
  37. 37. PHẦN V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
  38. 38. V. Kết luận • Với đề tài “Xe tự hành vận chuyển hành lí đa tầng”, chúng em đã đạt được những kết quả nhất định: • Tính toán, thiết kế được mô hình robot, đảm bảo độ vững chắc, hình dáng phù hợp trong không gian hoạt động. • Ghép nối, kết hợp điều khiển các module, linh kiện điện tử hoạt động ổn định. • Thiết kế bộ điều khiển PID, hiệu chỉnh thông số phù hợp với mỗi động cơ. Xe có thể lập bản đồ cho môi trường chưa xác định trước, tự lập kế hoạch đường đi, tránh vật cản. • Thiết lập giao diện Python trực quan tương tác trực tiếp với người quản lí. • Tuy nhiên do kiến thức còn nhiều thiếu sót nên còn tồn tại một số nhược điểm: • Hình dáng của xe còn khá thô, chưa có tính thẩm mĩ cao. • Thời gian sử dụng xe còn ngắn. • Vẫn còn sai lệch về hướng và vị trí của xe. PHƯƠNG HƯỚNG PHÁT TRIỂN • Cải thiện mô hình robot, nâng cao tính thẩm mỹ, hạ giá thành sản phẩm. • Tăng tốc độ di chuyển của robot, nâng cao số lượng đồ ăn phục vụ. • Thiết kế thêm bộ sạc tự động sau mỗi phiên làm việc. • Xây dựng hệ thống hoàn toàn tự động gồm nhiều xe phục vụ để giảm thiểu tối đa nhân lực. 38
  39. 39. TÀI LIỆU THAM KHẢO • [1] Pritesh Shah & Sudhir Agashe, “Review of fractional PID controller”. ElsevierLtd. 20 June 2016. • [2] Lentin Joseph, “Mastering ROS for Robotics Programming”. Pack Publishing Ltd. December 2015. • [3] Ming-Yi Ju, Yu-Jen Chen, and Wei-Cheng Jiang, “Implementation of Odometry with EKF in Hector SLAM Methods”, March 1, 2018. • [4] S. Thrun, W. Burgard, D. Fox, "Robot Motion," in Probabilistic Robotics, The MIT Press, 2005, pp. 91-119. • [5] S. Thrun, W. Burgard, D. Fox, "Measurements," in Probabilistic Robotics, The MIT Press, 2005, pp. 121-157 • [6] S. Thrun, W. Burgard, D. Fox, "The Particle Filter," in Probabilistic Robotics, The MIT Press, 2005, pp. 77-89. • [7] S. Thrun, W. Burgard, D. Fox, "Monte Carlo Localization," in Probablilistic Robotics, The MIT Press, 2005, pp. 200-209. • [8] Aleksandar Tomović, “Path Planning Algorithms For The Robot Operating System”, Computer Science Saint Cloud State University Saint Cloud, 2014 • [9] Dieter Fox, Wolfram Burgard, Sebastian Thruny, “The Dynamic Window Approach to Collision Avoidance”, 1997. • [10] Nguyễn Cao Quí, “Ứng dụng mô hình markov ẩn để nhận dạng tiếng nói trên FPGA”, 2011. • [11] Jaspirt S Gill – Setup and Configuration of the Navigation Stack on a Robot. http://wiki.ros.org/navigation/Tutorials/RobotSetup 39
  40. 40. THANK YOU ! 40

×