PowerPoint Presentation 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 Đ.
Trang 1BÁ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
Trang 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
Trang 3PHẦN I:
TỔNG QUAN ĐỀ TÀI
Trang 41 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
Trang 52 Đặ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
I Tổng quan đề tài
Trang 74 Đề 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
I Tổng quan đề tài
Trang 8PHẦN II:
TÍNH TOÁN THIẾT
KẾ VÀ CHẾ TẠO MÔ
HÌNH
Trang 9II 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
- 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
Trang 102 Mô hình thực tế
Mô hình xe trên SolidWorks Mô hình thực tế của xe
II Tính toán thiết kế và chế tạo mô hình
Trang 113 Sơ đồ khối hệ thống
Sơ đồ kết nối hệ thống phần cứng
II Tính toán thiết kế và chế tạo mô hình
Trang 124 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ừ
II Tính toán thiết kế và chế tạo mô hình
Trang 134 Các thiết bị sử dụng
II Tính toán thiết kế và chế tạo mô hình
Trang 14PHẦN III: XÂY DỰNG
CÁC GIẢI THUẬT VÀ LẬP TRÌNH ĐIỀU KHIỂN HỆ
THỐNG
Trang 15III: 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
Trang 161 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
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 172 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
Các hệ tọa độ trực quan hóa trong mô phỏng
Sơ đồ khối hệ tọa độ robot
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 183 Lưu đồ thuật toán
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 194 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
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
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 205 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.
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 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
Nhận diện màu sắc
Mô hình màu HSV
5 Thuật toán bám đối tượng
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 225 Thuật toán bám đối tượng
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 236 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ố K P = 0.7, K I = 3.1,
K D = 1
Bộ điều khiển PID
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 247 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).
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 25Tiê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.
Đó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.
7 Thuật toán quét và tạo dựng bản đồ (SLAM)
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 26Trự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
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 278 Định vị xe trong bản đồ
Đị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
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 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.
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 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
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)
9 Tìm đường đi đến đích (Navigation)
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 30C 9 (A-B) ü 7(A-D) 21
(A-C-E)
16 (A-C-F) A-D
(7)
(A-C-E)
16 (A-C-F) A-B
(9)
(A-B-E)
16 (A-C-F)
A-C-F (16)
20 (A-B-E)
ü
25 (A-C-F-Z)
A-B-E (20)
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
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 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*
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 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)
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 33Costmap 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)
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 349 Tìm đường đi đến đích (Navigation)
Khối Navigation trong ROS
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 3510 Giao diện điều khiển trung tâm
Giao diện điều khiển trung tâm
III: Xây dựng các giải thuật và lập trình điều khiển hệ thống
Trang 36PHẦN IV: THỰC
NGHIỆM VÀ
ĐÁNH GIÁ KẾT
QUẢ
Trang 37PHẦN V:
KẾT LUẬN VÀ HƯỚNG PHÁT
TRIỂN
Trang 38V 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
Trang 39TÀ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,
Trang 40THANK YOU !