Đồ án tốt nghiệp: Hệ thống đánh giá chất lượng mặt đường và giám sát thông số xe ô tô

Đồ án tốt nghiệp nghiên cứu hệ thống đánh giá chất lượng mặt đường và giám sát thông số xe ô tô dựa trên nền tảng ROS và chuẩn truyền thông CAN.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2024

121
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

DANH MỤC CÁC TỪ VIẾT TẮT

DANH MỤC BẢNG BIỂU

DANH MỤC HÌNH ẢNH

1. CHƯƠNG 1: TỔNG QUAN

1.1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI

1.2. TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC

1.2.1. Tình hình nghiên cứu ở nước ngoài

1.2.2. Tình hình nghiên cứu ở trong nước

1.3. MỤC TIÊU NGHIÊN CỨU

1.4. PHƯƠNG PHÁP NGHIÊN CỨU

1.5. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

1.5.1. Đối tượng nghiên cứu

1.5.2. Phạm vi nghiên cứu

1.6. BỐ CỤC BÀI BÁO CÁO

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. GIỚI THIỆU VỀ NỀN TẢNG ROS

2.2. CÁC CHUẨN GIAO THỨC

2.2.1. Giao thức truyền thông CAN

2.2.2. Nguyên lý hoạt động

2.2.3. Phân loại khung CAN

2.2.4. Chuẩn giao thức OBD-II

2.2.5. Hoạt động của OBD-II

2.2.6. Giao thức SPI

2.2.7. Giao thức TCP/IP

2.3. GIỚI THIỆU VỀ HỆ THỐNG PHẦN CỨNG

2.3.1. Máy tính nhúng – Raspberry Pi 4

2.3.2. Ethernet Shield Arduino

2.3.3. CAN_Bus Shield

2.3.4. Cảm biến gia tốc Serial 6-Axis Accelerometer

2.3.5. Cảm biến định vị GPS NEO M8M

2.3.6. Màn hình LCD

2.4. TỔNG QUAN VỀ CHẤT LƯỢNG MẶT ĐƯỜNG

2.4.1. Độ gồ ghề mặt đường

2.4.2. Chỉ số Gồ ghề Quốc tế (IRI)

2.4.3. Áp dụng IRI vào thuật toán

2.5. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU GOOGLE FIREBASE

2.5.1. Giới thiệu cơ sở dữ liệu Google Firebase

2.5.2. Các tính năng của Firebase

2.6. TỔNG QUAN VỀ HTML, CSS VÀ JAVASCRIPT

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.1. YÊU CẦU HỆ THỐNG

3.2. ĐẶC TẢ HỆ THỐNG

3.2.1. Chức năng hệ thống

3.2.2. Mô hình tổng thể hệ thống

3.2.3. Sơ đồ khối hệ thống

3.2.4. Hoạt động của hệ thống

3.3. THIẾT KẾ PHẦN CỨNG

3.3.1. Khối xử lý trung tâm. Khối tiền xử lý

3.3.2. Khối cảm biến

3.3.3. Bộ truyền nhận CAN dùng cổng OBD II

3.3.4. Khối hiển thị

3.3.5. Sơ đồ thiết kế toàn bộ hệ thống

3.4. THIẾT KẾ PHẦN MỀM

3.4.1. Xây dựng Website

4. CHƯƠNG 4: KẾT QUẢ VÀ NHẬN XÉT ĐÁNH GIÁ

4.1. KẾT QUẢ PHẦN CỨNG

4.1.1. Mô hình phần cứng

4.1.2. Kết quả giao tiếp giữa khối tiền xử lý và khối xử lý trung tâm

4.2. KẾT QUẢ PHẦN MỀM

4.2.1. Giao diện chính

4.2.2. Giao diện đăng ký/đăng nhập

4.2.3. Giao diện người dùng

4.3. ĐÁNH GIÁ VÀ NHẬN XÉT HỆ THỐNG

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Kết quả đạt được

5.2. HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Hệ thống đánh giá chất lượng mặt đường

Hệ thống đánh giá chất lượng mặt đường là một giải pháp công nghệ nhằm xác định và phân tích tình trạng của các tuyến đường. Hệ thống này sử dụng các cảm biến đánh giá đường như cảm biến gia tốc và GPS để thu thập dữ liệu về độ gồ ghề, vị trí ổ gà, và các yếu tố khác ảnh hưởng đến chất lượng đường. Dữ liệu được xử lý thông qua nền tảng ROS, một công cụ mạnh mẽ cho việc tích hợp và quản lý dữ liệu từ nhiều nguồn khác nhau. Hệ thống này không chỉ giúp người dùng nhận biết tình trạng đường mà còn hỗ trợ các cơ quan quản lý giao thông trong việc lập kế hoạch bảo trì và sửa chữa.

1.1. Công nghệ ROS trong đánh giá đường

Nền tảng ROS đóng vai trò trung tâm trong việc xử lý và tích hợp dữ liệu từ các cảm biến. ROS cho phép các node giao tiếp với nhau thông qua các topic, giúp thu thập và xử lý dữ liệu một cách hiệu quả. Ví dụ, dữ liệu từ cảm biến gia tốc và GPS được truyền về Raspberry Pi 4, sau đó được xử lý và lưu trữ trên cơ sở dữ liệu Firebase. Công nghệ ROS cung cấp một môi trường linh hoạt và mạnh mẽ để phát triển các ứng dụng thời gian thực, đặc biệt trong lĩnh vực quản lý giao thông.

1.2. Ứng dụng thực tế

Hệ thống này có thể được áp dụng trong nhiều bối cảnh thực tế, từ việc giám sát các tuyến đường cao tốc đến các con đường đô thị. Bằng cách cung cấp thông tin chính xác về chất lượng đường, hệ thống giúp giảm thiểu tai nạn giao thông và kéo dài tuổi thọ của phương tiện. Giải pháp đánh giá đường này cũng hỗ trợ các cơ quan quản lý trong việc ưu tiên các khu vực cần bảo trì, từ đó nâng cao hiệu quả quản lý hạ tầng giao thông.

II. Giám sát xe ô tô trên nền tảng CAN

Giám sát xe ô tô là một phần quan trọng của hệ thống, sử dụng giao thức CAN để thu thập và truyền dữ liệu từ các thông số trên xe như tốc độ, nhiệt độ động cơ, và lượng nhiên liệu. Giao thức CAN là một chuẩn truyền thông phổ biến trong ngành công nghiệp ô tô, cho phép các thiết bị điện tử trên xe giao tiếp với nhau một cách hiệu quả. Dữ liệu từ các cảm biến trên xe được truyền về Raspberry Pi 4 thông qua giao thức CAN, sau đó được xử lý và hiển thị trên website.

2.1. Giao thức CAN và ứng dụng

Giao thức CAN được sử dụng để truyền dữ liệu giữa các thiết bị điện tử trên xe, bao gồm cảm biến và bộ điều khiển. Giao thức này đảm bảo tính ổn định và độ tin cậy cao trong môi trường nhiễu điện từ. Trong hệ thống này, giao thức CAN được tích hợp với nền tảng ROS để thu thập và xử lý dữ liệu từ các thông số trên xe, giúp người dùng theo dõi tình trạng hoạt động của xe một cách liên tục.

2.2. Tích hợp ROS và CAN

Việc tích hợp nền tảng ROSgiao thức CAN tạo ra một hệ thống giám sát xe ô tô toàn diện. Dữ liệu từ các cảm biến trên xe được truyền về Raspberry Pi 4 thông qua CAN, sau đó được xử lý và lưu trữ trên cơ sở dữ liệu Firebase. Hệ thống giám sát này không chỉ cung cấp thông tin về tình trạng xe mà còn cảnh báo kịp thời khi các thông số vượt ngưỡng an toàn, giúp người dùng chủ động trong việc bảo trì và sửa chữa.

III. Thiết kế hệ thống và ứng dụng thực tế

Hệ thống được thiết kế với hai phần chính: phần cứng và phần mềm. Phần cứng bao gồm các cảm biến, Raspberry Pi 4, và Arduino Mega 2560, trong khi phần mềm được phát triển trên nền tảng ROS và tích hợp với cơ sở dữ liệu Firebase. Website được xây dựng để hiển thị thông tin về chất lượng đường và tình trạng xe, giúp người dùng dễ dàng theo dõi và quản lý.

3.1. Thiết kế phần cứng

Phần cứng của hệ thống bao gồm các cảm biến gia tốc, GPS, và các thiết bị truyền nhận dữ liệu qua giao thức CAN. Raspberry Pi 4 đóng vai trò là bộ xử lý trung tâm, kết nối với các cảm biến và Arduino Mega 2560 để thu thập dữ liệu. Hệ thống phần cứng được thiết kế để hoạt động ổn định trong môi trường thực tế, đảm bảo độ chính xác và độ tin cậy cao.

3.2. Thiết kế phần mềm

Phần mềm được phát triển trên nền tảng ROS, tích hợp với cơ sở dữ liệu Firebase để lưu trữ và xử lý dữ liệu. Website được xây dựng để hiển thị thông tin về chất lượng đường và tình trạng xe, giúp người dùng dễ dàng theo dõi và quản lý. Hệ thống thông minh này không chỉ cung cấp thông tin thời gian thực mà còn hỗ trợ các cơ quan quản lý trong việc ra quyết định dựa trên dữ liệu phân tích.

21/02/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan đề tài: Giới thiệu lý do chọn đề tài và mục tiêu hướng đến. Cập nhật tình hình nghiên cứu trong và ngoài nước cũng như phương pháp nghiên cứu, giới hạn đề tài và bố cục cho đề tài. Chương 2: Cơ sở lý thuyết: Trình bày ngắn gọn và rõ ràng các linh kiện được sử dụng trong mô hình, các cơ sở lý thuyết liên quan, mô tả đặc điểm của các phần mềm thiết kế hệ thống. Chương 3: Thiết kế hệ thống: Từ yêu cầu của đề tài tính toán để lựa chọn các linh kiện, xây dựng sơ đồ khối và phân tích các chức năng của từng khối trong hệ thống.

Mô tả hoạt động của hệ thống. Chương 4: Kết quả và nhận xét đánh giá: Trình bày kết quả và hình ảnh thực tế của hệ thống. Phân tích kết quả thực tế và đưa ra nhận xét so với mục tiêu đề ra ban đầu. Chương 5: Kết luận và hướng phát triển: Dựa vào các kết quả đạt được từ chương 4, đưa ra kết luận về những việc đã làm được và chưa làm được của đề tài.

Từ đó đưa ra các hướng để cải thiện dự án và nâng cao tính ứng dụng để đưa dự án đi vào thực tiễn. 6 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. GIỚI THIỆU VỀ NỀN TẢNG ROS ROS là một nền tảng mã nguồn mở (open-sourced) cung cấp cho người dùng các công cụ cũng như các thư viện để xây dựng các ứng dụng liên quan đến robot [7]. ROS cung cấp các tính năng như thực hiện các tác vụ (task) song song, trao đổi dữ liệu giữa các tác vụ, quản lý dữ liệu,.

Việc sử dụng nền tảng ROS mang lại rất nhiều thuận lợi cho người dùng nhờ các công cụ chuẩn hỗ trợ việc giao tiếp giữa các tác vụ được dễ dàng hơn cũng như sự hỗ trợ của các thư viện có sẵn cho nhiều tác vụ. Hơn thế nữa, khi dùng ROS, người dùng còn có sự hỗ trợ của một cộng đồng vô cùng lớn mạnh, giúp việc giải quyết các thắc mắc và các vấn đề gặp phải được dễ dàng và thuận lợi hơn trong quá trình làm việc [7]. Mô hình ROS có thể được chia thành ba phần: Filesystem, Computation Graph, và Community [8]. ➢ Tầng Filesystem: là tầng nền tảng cung cấp môi trường cho việc thực hiện giao tiếp truyền nhận dữ liệu, xử lý các dữ liệu trong hệ thống.

Trong đó các dữ liệu sẽ được quy định về cấu trúc của dữ liệu truyền nhận trong phần message (msg), các lệnh yêu cầu truy cập và phản hồi của các services trong ROS sẽ được định nghĩa trong phần service (src). Quan trọng nhất, để cho việc thực thi và cấu hình cho hệ thống thì ta không thể thiếu được phần Packages nơi cung cấp các dịch vụ để thực hiện các chức năng trên. ➢ Tầng Computation Graph: nơi người dùng có sự tương tác và làm việc trực tiếp nhiều nhất. Cơ bản thì tầng Compution Graph bao gồm các thành phần cơ bản sau: Nodes, Master, Messages, Topics và Bags, trong đó: • Nodes: là nơi thực hiện các công việc về thu thập dữ liệu, tính toán, xử lý các dữ liệu.

Một hệ thống khi được xây dựng sẽ bao gồm nhiều node khác nhau thực hiện các chức năng nhất định. Ví dụ một trong hệ thống xây dựng chất lượng mặt đường sẽ có node thực hiện việc thu thập các giá trị thu được từ cảm biến, một node khác sẽ đảm nhiệm việc tính toán các dữ liệu đã thu được. • Master: cung cấp tên đăng ký và tra cứu cho các node. Đây là nơi để thực hiện các kết nối giữa các node trong hệ thống với nhau để có thể thực hiện việc 7 trao đổi thông tin giữa các node với nhau.

Nếu không có Master thì các node sẽ không có sự liên kết và hoạt động rời rạc, không đem lại kết quả cho hệ thống. • Messages: là kiểu cấu trúc của dữ liệu mà người dùng muốn định nghĩa cho thông tin để giao tiếp giữa các node, ví dụ như string, IMU, GPS,. • Topics: Trong quá trình trao đổi thông tin giữa các Node, Messages được định tuyến theo hai kiểu trong hệ thống bao gồm: Publisher (gửi thông tin) và Subscriber (đăng ký nhận thông tin). Một node thực hiện việc gửi các messages bằng cách đưa các messages vào trong các topic, tên các topic thường được đặt theo nội dung của messages.

• Bags: là nơi lưu trữ các thông tin từ ROS messages, đây là một tính năng quan trọng để lưu trữ các dữ liêu, chẳng hạn như dữ liệu cảm biến thu được. 1: Giao tiếp giữa các Node trong ROS.1 mô tả quá trình giao tiếp giữa 2 node trong ROS, đầu tiên để gửi thông tin đi thì Publisher Node thực hiện đăng ký tên topic với Ros Master, sau đó ROS Master có nhiệm vụ cung cấp thông tin tên topic này đến với Subscriber Node. Khi đã nắm thông tin về topic, Subscriber Node thực hiện yêu cầu gửi thông tin message đến Publisher Node. Khi nhận được yêu cầu Publisher thực hiện gửi các message vào topic đã được đăng ký, sau đó Subscriber Node sẽ nhận các message này từ topic đã đăng ký và được thông báo từ ROS Master.

➢ Tầng Community: là các nguồn tài nguyên bao gồm phần mềm và các kiến thức được cộng đồng phát triển ROS chia sẻ với nhau. CÁC CHUẨN GIAO THỨC 2. Giao thức truyền thông CAN 2. Tổng quan Ngày nay nhiều thiết bị điện tử được triển khai trên các phương tiện hiện đại, với mục đích tạo ra sự an toàn và thoải mái cho người điều khiển phương tiện cũng như giảm thiểu lượng khí thải tạo ra.

Tuy nhiên, điều này đặt ra vấn đề về việc cần có nhiều đường dây kết nối cũng như nhiều đầu nối hơn để các thiết bị trên hệ thống có thể trao đổi thông tin với nhau, lúc này những yếu tố về chi phí vật liệu, thời gian sản xuất và độ tin cậy của dữ liệu bắt đầu có nhiều sự ảnh hưởng. Vì vậy để giải quyết vấn đề trên, mạng truyền thông CAN (Control Area Network) đã được ra đời, việc sử dụng mạng CAN đã giúp thay thế được các kết nối điểm – điểm trong hệ thống và chuyển sang sử dụng một đường truyền thông chung kết nối duy nhất liên kết tất cả các hệ thống lại với với nhau gọi là CAN_bus và trao đổi thông tin trên CAN_bus này. 2: Giao thức truyền thông CAN. Trong mạng CAN các nút truyền dữ liệu với nhau thông qua 2 dây CAN_H và CAN_L các dữ liệu truyền nhận sẽ được mã hóa và giải mã riêng theo các quy luật của mạng CAN.

Tốc độ truyền dữ liệu cao lên đến 1Mbps với khoảng cách truyền lên đến 40m cho cặp dây xoắn, việc xoắn của cặp dây CAN_H và CAN_L giúp cho dữ liệu giảm được nhiễu điện từ EMI một cách đáng kể trong quá trình truyền [10]. Nguyên lý hoạt động Giao thức CAN hoạt động dựa theo khái niệm “Carrier Sense Multiple Access with Arbitration on Message Priority” hay còn gọi là CSMA/AMP [11]. Khái niệm trên có 2 phần cần được hiểu gồm CSMA và AMP trong đó CSMA có nghĩa là trước khi tín hiệu được truyền lên đường truyền thì cần kiểm tra xem đường truyền có đang trống và không còn có dữ liệu nào khác đang được truyền trên đó không, còn AMP có nghĩa là các tin nhắn được truyền sẽ có độ ưu tiên khác nhau và các tin nhắn có độ ưu tiên lớn hơn sẽ có thể được xử lý sớm hơn. Tóm lại, các dữ liệu chỉ được truyền trên đường truyền CAN_Bus nếu đường truyền đang trống, không có dữ liệu đang truyền trên đó và khi các dữ liệu truyền cùng một lúc thì dữ liệu nào có độ ưu tiên cao hơn sẽ được truyền đi trước, độ ưu tiên sẽ được tính dựa theo số bit dominant (bit 0) trong trường trạng thái của dữ liệu.

3: Ví dụ cho quá trình hoạt động trên mạng CAN [9].3 mô tả ví dụ cụ thể cho quá trình truyền khi có đồng thời ba dữ liệu từ ba Node khác nhau cùng truyền một lúc thì lúc này sẽ dựa vào độ ưu tiên của mỗi dữ liệu mà thứ tự truyền của dữ liệu sẽ được thiết lập. Tại đây ta thấy được Node B có độ ưu tiên thấp cao nhất nên sẽ bị cho vào hàng chờ vì có bit recessive cao hơn so với hai Node còn lại, tiếp tục so sánh hai Node còn lại cho ra kết quả bit Node C lại có bit recessive (bit 1) cao hơn so với Node A nên sẽ có độ ưu tiên thấp hơn Node A. Từ kết quả so sánh trên ta có thứ tự ưu tiên trên đường truyền CAN_Bus lần lượt sẽ là Node A, Node B và Node C. 10 Sau khi các dữ liệu đã được truyền trên đường truyền dữ liệu thì sẽ mang một mã ID khác nhau tương ứng với dữ liệu đang mang.

Các Node khi nhận dữ liệu sẽ dựa trên các ID này để kiểm tra xem đây có đúng là dữ liệu đã được yêu cầu chưa, nếu ID chính xác thì sẽ tiến hành nhận dữ liệu để xử lý, trường hợp ID sai sẽ tiếp tục quá trình dò tìm dữ liệu có mã ID đúng theo như yêu cầu. Phân loại khung CAN Khung CAN được phân thành 5 loại [10], bao gồm: • Khung dữ liệu (Data Frame). • Khung yêu cầu (Remote Frame). • Không gian liên khung (Inter-frame Space).

➢ Khung dữ liệu Hình 2. 4: Định dạng khung dữ liệu tiêu chuẩn [9]. Khung dữ liệu được sử dụng khi Node có nhu cầu truyền dữ liệu lên đường truyền CAN, trong hình 2.4 ở trên mô tả chi tiết các thành phần cấu thành nên một khung dữ liệu: • Bắt đầu một khung dữ liệu sẽ là bit SOF, bit này mặc định sẽ luôn có giá trị là 0 (bit dominant). • Tiếp theo sau sẽ là trường trạng thái của khung, nơi đây quy định mức độ ưu tiên cho dữ liệu trên đường truyền, bao gồm 2 phần: phần đầu chiếm 11 bit quy 11 định mã ID để định danh dữ liệu trên đường truyền, phần sau gồm một bit để thể hiện khung hiện tại là khung dữ liệu hay là khung yêu cầu (đối với khung dữ liệu giá trị bit luôn là 0).

• Trường tiếp theo là trường điều khiển tại đây sẽ quy định khung dữ liệu hiện tại đang là khung CAN cơ bản hay khung CAN mở rộng bằng bit IDE, đối với khung CAN cơ bản thì giá trị luôn bằng bit luôn bằng 0, số lượng byte chứa dữ liệu trong tin nhắn sẽ được thể hiện trong 4 bit cuối cùng của trường (0 – 8byte). • Trường dữ liệu có độ dài được xác định bởi DLC ở trên (0, 8, 16,…, 56, 64) tại đây sẽ chứa thông tin về giá trị dữ liệu của tin nhắn đang mang.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Hệ thống đánh giá chất lượng mặt đường và giám sát xe ô tô trên nền tảng ROS và CAN" giới thiệu một giải pháp công nghệ tiên tiến, kết hợp nền tảng ROS (Robot Operating System) và giao thức CAN (Controller Area Network) để theo dõi và đánh giá tình trạng mặt đường cũng như giám sát hoạt động của phương tiện giao thông. Hệ thống này mang lại lợi ích lớn trong việc nâng cao an toàn giao thông, tối ưu hóa quản lý hạ tầng và giảm thiểu chi phí bảo trì. Đây là một bước tiến quan trọng trong lĩnh vực giao thông thông minh, đặc biệt phù hợp với các đô thị hiện đại.

Để hiểu rõ hơn về các ứng dụng công nghệ trong giao thông, bạn có thể tham khảo thêm Đồ án hcmute ứng dụng xử lý ảnh vào mô hình điều khiển đèn giao thông ngã tư, Luận văn thạc sĩ kỹ thuật điện tử tối ưu lưu lượng giao thông dựa trên giao thức virtual traffic light thông qua vanet, và Luận văn thạc sĩ quản lý xây dựng phân tích các yếu tố ảnh hưởng đến sự phát triển của hệ thống giao thông thông minh tại thành phố Hồ Chí Minh. Những tài liệu này sẽ giúp bạn mở rộng kiến thức về các giải pháp công nghệ hiện đại trong quản lý và điều khiển giao thông.