Đồ án xe tự động di chuyển dựa vào xử lý ảnh tại HCMUTE

Đồ án nghiên cứu hcmute xe tự động di chuyển dựa vào vật mốc dùng xử lý ảnh, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán .

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2016

114
5
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

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

1.1. Nội dung nghiên cứu

1.2. GIỚI HẠN

1.3. BỐ CỤC

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

2.1. TỔNG QUAN VỀ ROBOT

2.2. TỔNG QUAN VỀ ROS (ROBOT OPERATING SYSTEM)

2.2.1. Giới thiệu về hệ điều hành ROS

2.2.2. Mô hình ROS

3. CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ

3.1. Thiết kế sơ đồ khối

3.2. Sơ đồ nguyên lý mạch điện hệ thống

4. CHƯƠNG 4: THI CÔNG HỆ THỐNG

4.1. Thi công phần mạch điện

4.2. Thi công phần khung robot

4.2.1. Các bộ phận bằng nhựa

4.2.2. Linh kiện cơ khí

4.2.3. Bố trí các bộ phận của robot

4.3. Lập trình hệ thống

4.3.1. Phần mềm lập trình Arduino

4.3.2. Hướng dẫn vận hành mô hình robot

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

5.1. Mô hình Robot

5.2. Hoạt động của Robot

5.3. Nhận xét, đánh giá

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

6.1. Kết luận

6.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về Xe tự động di chuyển bằng xử lý ảnh tại HCMUTE

Đồ án tốt nghiệp "Xe tự động di chuyển dựa vào vật mốc dùng xử lý ảnh" tại Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) tập trung vào việc thiết kế và chế tạo một mô hình xe tự hành sử dụng xử lý ảnh để dò đường và nhận dạng vật mốc. Đồ án này thể hiện sự ứng dụng của công nghệ tự láixử lý ảnh trong phát triển xe tự hành HCMUTE. Các sinh viên đã kết hợp nhiều kỹ thuật khác nhau, bao gồm thuật toán xử lý ảnh, thuật toán PID, và hệ điều hành ROS, để tạo ra một hệ thống điều khiển tự động hiệu quả. Nghiên cứu này đóng góp vào lĩnh vực nghiên cứu xe tự lái HCMUTE, mở ra nhiều hướng phát triển trong tương lai.

1.1. Mục tiêu nghiên cứu

Mục tiêu chính của đồ án là xây dựng một mô hình xe tự động di chuyển có khả năng theo đường line và nhận dạng vật mốc dựa trên xử lý ảnh. Hệ thống sử dụng camera để thu thập dữ liệu hình ảnh, thư viện OpenCV để xử lý ảnh, và Arduino để điều khiển động cơ. Các sinh viên đã nghiên cứu và áp dụng thuật toán SIFT cho việc nhận dạng vật mốc, và thuật toán PID cho điều khiển vận tốc và hướng di chuyển của xe. Việc tích hợp các thành phần này trên nền tảng hệ điều hành ROS nhằm tối ưu hóa quá trình điều khiển và xử lý dữ liệu. Đây là một ví dụ điển hình về phát triển xe tự lái HCMUTE sử dụng các công nghệ hiện đại.

1.2. Phương pháp nghiên cứu

Đồ án tiến hành nghiên cứu lý thuyết về xử lý ảnh tự lái, thuật toán SIFT, thuật toán PID, và hệ điều hành ROS. Sinh viên đã thiết kế và chế tạo phần cứng, bao gồm khung xe, mạch điện, và kết nối các thành phần như camera, Arduino, và máy tính. Phần mềm được phát triển dựa trên thư viện OpenCVROS, bao gồm các chương trình xử lý ảnh, điều khiển động cơ, và giao tiếp giữa các thành phần. Quá trình thực tế ảo xe tự lái không được đề cập, nhưng mô phỏng xe tự lái được thực hiện thông qua việc lập trình và chạy thử nghiệm trên hệ thống thực tế. Đây là một quá trình nghiên cứu xe tự lái HCMUTE toàn diện từ lý thuyết đến thực hành.

II. Kết quả và đánh giá

Đồ án đã thành công trong việc xây dựng một mô hình xe tự động di chuyển bằng xử lý ảnh. Xe có thể theo đường line và nhận dạng vật mốc với độ chính xác nhất định. Tuy nhiên, có một số hạn chế như kích thước nhỏ, môi trường hoạt động đơn giản, và khả năng xử lý trong điều kiện ánh sáng yếu còn cần cải thiện. Kết quả cho thấy sự khả thi của việc ứng dụng xử lý ảnh trong tự lái, đặc biệt trong lĩnh vực xe tự hành HCMUTE. AI trong xe tự lái HCMUTE được thể hiện một phần qua việc sử dụng các thuật toán xử lý ảnh để nhận dạng vật thể.

2.1. Khả năng hoạt động

Mô hình xe tự lái HCMUTE thể hiện khả năng di chuyển theo đường line và nhận dạng vật mốc. Ứng dụng xử lý ảnh trong tự lái được chứng minh hiệu quả trong việc định hướng. Tuy nhiên, hiệu suất hoạt động phụ thuộc nhiều vào điều kiện ánh sáng và chất lượng đường line. Thực tế ảo xe tự lái không được sử dụng, nên việc đánh giá độ chính xác và khả năng thích ứng với môi trường phức tạp còn hạn chế. Việc sử dụng camera Logitech cho thấy khả năng quan sát của hệ thống, mặc dù chi phí xe tự lái HCMUTE có thể được tối ưu hơn bằng cách sử dụng các giải pháp camera khác. Hệ thống tự lái bằng xử lý ảnh này cần được cải thiện để ứng dụng trong môi trường thực tế phức tạp hơn.

2.2. Hạn chế và hướng phát triển

Các hạn chế chính của đồ án gồm kích thước nhỏ, môi trường hoạt động đơn giản (trong nhà, đường line rõ ràng), và khả năng chịu nhiễu ánh sáng yếu. An toàn xe tự lái HCMUTE cần được cải thiện đáng kể. Triển vọng xe tự lái HCMUTE phụ thuộc vào việc khắc phục các hạn chế này. Các hướng phát triển bao gồm cải thiện thuật toán xử lý ảnh, nâng cấp phần cứng (camera tốt hơn, động cơ mạnh mẽ hơn), và mở rộng khả năng hoạt động trong môi trường phức tạp hơn. Đào tạo kỹ sư tự lái HCMUTE cũng cần được chú trọng để đáp ứng nhu cầu phát triển công nghệ này. Nghiên cứu sinh tự lái HCMUTE có thể tập trung vào các hướng nghiên cứu tiên tiến như học máy (machine learning) và học sâu (deep learning) để nâng cao khả năng tự động hóa của hệ thống.

01/02/2025

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

đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án. Chương 2: Cơ Sở Lý Thuyết Chương này chúng ta tìm hiểu tổng quan về Robot Operating System các thuật toán điều khiển, xử lý ảnh. Chương 3: Tính Toán Và Thiết Kế Chương này giới thiệu các khối xử lý cần thiết và sơ đồ nguyên lý. Chương 4: Thi Công Hệ Thống Chương này tập trung thi công mô hình phần cứng bao gồm phần thi công mạch điện và thi công khung robot cũng như các giải thuật dò line, nhận dạng vật mốc cho máy tính, điều khiển động cơ cho Arduino.

Chương 5: Kết Quả_Nhận Xét_Đánh Giá Trình bày kết quả chạy thực tế, đánh giá kết quả thực nghiệm. Chương 6: Kết Luận Và Hướng Phát Triển Trình bày những kết quả đạt được trong luận văn, các mặt hạn chế và hướng phát triển mở rộng ứng dụng của đề tài trong thực tế. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 3 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Chương 2.1 TỔNG QUAN VỀ ROBOT [9] Cuộc cách mạng công nghiệp là những bước phát triển vượt bậc của con người, cuộc cách mạng cho phép ứng dụng rộng rãi các robot trong nhiều lĩnh vực của cuộc sống.

Yếu tố này phù hợp với nhận thức về vấn đề an toàn trong công việc, robot thay thế cho con người trong sản xuất, trong lao động, trong các nhà máy, điều đó đã góp phần vào sự xuất hiện nhu cầu sử dụng các robot. Ngày nay, trong đời sống có rất nhiều công việc do tính chất công việc nặng nhọc, môi trường làm việc khó khăn độc hại rất nguy hiểm và tác hại trực tiếp đối với con người. Một số nơi địa hình quá khó khăn để di chuyển (vùng rừng núi, sa mạc, vùng có lở núi, động đất, vùng bị cháy rừng, vùng nhiễm phóng xạ, khu vực bị khủng bố). Ở những nơi này con người rất cần tới sự hỗ trợ của robot.

Với mô hình robot đa năng có sự tuỳ biến cao, dễ lắp đặt và vận chuyển, được thiết kế và lập trình từ máy tính cá nhân, robot có thể làm việc độc lập theo chu trình được cài đặt sẵn hoặc theo sự điều khiển từ xa qua vô tuyến từ người điều khiển, tính chất và công việc cụ thể được thay đổi dễ dàng, khả năng kết nối với các thiết bị chuyên dụng linh hoạt. Robot có kích thước tương đối và làm việc được trong nhiều môi trường khắc nghiệt về thời tiết, khí hậu độc hại và nguy hiểm đối với con người. Ngoài ra, robot có thể được thiết kế cho phù hợp với các công việc mang tính chất tự động hoá cao, có thể ứng dụng vào các dây chuyền sản xuất tự động ở các nhà máy, xí nghiệp, các khu công nghiệp, khu chế xuất. Hiện nay, hầu hết các thiết bị robot và dây chuyền tự động hoá được sử dụng trong các ngành công nghiệp sản xuất và chế biến đều được nhập từ nước ngoài rất đắt tiền, trong khi nhu cầu ở nước ta đang rất cao và trong nước có khả năng chế tạo sản xuất để phù hợp với điều kiện làm việc ở Việt Nam.

Lĩnh vực thiết kế, chế tạo robot và các thiết bị điều khiển tự động rất mới mẻ và có tiềm năng rộng lớn không những ở trong nước mà còn cả trên thế giới. Việc thâm nhập, nghiên cứu và chế tạo một số mô hình điều khiển tự động như robot thông minh, robot thăm dò, robot sản xuất là một hướng cần thiết nhằm rút ngắn khoảng cách giữa khoa học công nghệ trong nước và trên thế giới trong lĩnh vực này. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 4 do an CHƯƠNG 2.2 TỔNG QUAN VỀ ROS (ROBOT OPERATING SYSTEM) [10] 2.1 Giới thiệu về hệ điều hành ROS Hình 2.1 Ứng dụng hệ điều hành ROS ROS là một hệ điều hành mã nguồn mở, dùng cho các ứng dụng robot như hình 2. Về cơ bản, ROS có những đặc tính thiết yếu của một hệ điều hành như khả năng thực hiện các tác vụ (task) song song, giao tiếp, trao đổi dữ liệu với nhau giữa các tác vụ, quản lý dữ liệu.

Hơn thế nữa, để ROS có thể ứng dụng trong lĩnh vực robotics, ROS còn được phát triển riêng biệt về các thư viện, công cụ dành cho việc thu thập, xử lý, hiển thị, điều khiển. ROS có thể kết hợp, tương tác với nhiều robot framework khác như Player, YARP, Orocos, CARMEN, Orca, Moos và Microsoft Robotics Studio. Xây dựng ứng dụng robotics trên nền ROS sẽ giảm đi một lượng đáng kể các công việc lập trình, thiết lập hệ thống. Những phần này có thể tận dụng nguồn tài nguyên mã nguồn mở vô cùng phong phú của cộng đồng.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 5 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Những tài nguyên được cung cấp từ ROS thể hiện được sức mạnh trong các lĩnh vực robotics như: - Đồ họa (Visualization) - Nhận diện vật thể (Object recognition) - Định hướng di động (Navigation) - Thao tác/thu giữ (Manipulgation/grasping) 2.2 Mô hình ROS Cấu trúc ROS gồm có ba tầng: Filesystem, Computation Graph và Community.  Tầng ROS Filesystem Hình 2.2 Tầng ROS Filesystem Filesystem hình 2.2 là nguồn tài nguyên ROS được lưu trữ trên bộ nhớ hệ thống, bao gồm những thành phần như: - Packages: Gói dữ liệu là đơn vị chính trong tổ chức phần mềm của hệ điều hành ROS. Một package có thể chứa các lệnh thực thi của ROS (các nodes), một thư viện phụ thuộc ROS, tập dữ liệu, các file cấu hình, hoặc các dữ liệu cần thiết khác trong hệ thống.

- Manifests: là bảng kê khai thông tin dữ liệu của package (manifest.xml), cung cấp cơ sở dữ liệu về package đó, bao gồm điều kiện cho phép (license) và những yếu tố phụ thuộc của gói dữ liệu đó. Manifest còn chứa thông tin về đặc trưng của ngôn ngữ lập trình ví dụ như các cờ báo (flags) của trình biên dịch. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 6 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT - Stacks: là tập hợp các packages phối hợp với nhau để thực hiện một chức năng cụ thể, chẳng hạn như “navigation stack” là tập hợp các packages dẫn hướng cho robot.

Stack còn mô tả cách thức phần mềm ROS được xây dựng và chứa thông tin về phiên bản ROS đang sử dụng. - Stack Manifests: (stack.xml) cung cấp cơ sở dữ liệu về một stack, bao điều kiện cho phép (license) và các thông số phụ thuộc vào những stack khác. - Message (msg) Types: thông tin mô tả message được lưu trữ trong my_package/msg/MyMessageType.msg, định nghĩa cấu trúc dữ liệu cho các messages được gửi trong ROS. - Service (srv) Types: thông tin mô tả các services, được lưu trữ trong my_package/srv/MyServiceType.srv, định nghĩa cấu trúc dữ liệu cho các lệnh truy cập (Request) và các phản hồi (Response) của các services trong ROS.

 Tầng ROS Computation Graph “Computation Graph” (tạm gọi là lược đồ tính toán) như hình 2.3 là một mạng peer-to-peer của ROS trong đó các dữ liệu được xử lý với nhau. Computation Graph cơ bản gồm các thành phần: các nút (Nodes), Master, Parameter Server, Messages, Services, Topics và Bags. Tất cả các thành phần này đều cung cấp dữ liệu cho Graph bằng những phương thức khác nhau. Parameter Nodes Master Server ROS Computational Graph Level Topics Services Bags Messages Hình 2.3 Tầng ROS Computation Graph BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 7 do an CHƯƠNG 2.

CƠ SỞ LÝ THUYẾT - Nodes: là đơn vị thực hiện các lệnh tính toán, xử lý dữ liệu. Hệ điều hành ROS được thiết kế mô-đun hoá, các mô-đun được xây dựng rất chi tiết và chuyên biệt, một hệ thống điều khiển robot thường sẽ bao gồm nhiều nodes. Ví dụ, một node điều khiển hệ thống cảm biến, một node điều khiển động cơ bánh xe, một node thực hiện việc tác vụ định vị, một node hoạch định đường đi, một node vẽ quỹ đạo của hệ thống. Mỗi node ROS được xây dựng nhờ sử dụng một ROS client library, chẳng hạn như roscpp hoặc rospy.

- Master: Các ROS Master cung cấp tên đăng ký và tra cứu đến phần còn lại của Computation Graph. Nếu không có Master, các node sẽ không thể tìm thấy nhau, trao đổi thông tin, hay gọi services đều không thực hiện được. - Parameter Server: là một phần của Master. - Messages: Các node giao tiếp với nhau thông qua các message.

Một message đơn giản là một cấu trúc dữ liệu, bao gồm các trường được định kiểu. Các kiểu dữ liệu chuẩn (như integer, floating point, boolean) và mảng (array) với kiểu chuẩn đều được hỗ trợ. Messages có thể bao gồm các cấu trúc và các mảng lồng nhau (giống như kiểu structs trong ngôn ngữ C). - Topics: Messages được định tuyến thông qua một hệ thống trao đổi (transport system), trong đó phân loại các thông điệp thành 2 dạng: publish (đưa tin) và subcribe (đăng ký nhận thông tin).

Một node gửi đi một message bằng việc đưa thông tin tới một topic (chủ đề). Tên của topic được dùng để quy định nội dung của message. Một node liên quan đến loại dữ liệu như thế nào sẽ đăng ký nhận tin từ topic tương ứng. Một topic có thể có nhiều đối tượng đưa tin (publishers) cũng như nhiều đối tượng đăng ký nhận tin (subcribers); và mỗi một node cũng có thể truyền tin nhiều topic khác nhau, cũng như có thể nhận tin từ nhiều topic.

- Services: Mô hình truyền thông theo mẫu publish/subcribe như trình bày ở trên là một mô hình rất linh hoạt, tuy vậy, đặc điểm của nó là thông tin được truyền đa đối tượng, một chiều (many-to-many, one-way) đôi khi lại không phù hợp với các trường hợp cần tương tác theo kiểu request/reply (yêu cầu/đáp ứng), kiểu tương tác này thường gặp trong các hệ thống phân phối. Do vậy, cần có BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 8 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT thêm một thành phần nữa trong ROS Graph, đó là “services”, nhằm thực hiện được các yêu cầu tương tác theo kiểu request/reply. Services là một cặp cấu trúc thông điệp: một thông điệp để gửi yêu cầu và một thông điệp dành cho đáp ứng.

Một node cung ứng một service với một thuộc tính “name”, một client sử dụng service đó bằng cách gửi đi một thông điệp yêu cầu (request message) rồi đợi phản hồi như hình 2. Trong thư viện client của ROS, phương thức tương tác này thường được cung cấp như một hàm được gọi từ xa.4 Mô tả phương thức hoạt động của service - Bags: là một định dạng để lưu và phát lại dữ liệu từ các ROS messages. Bags là một cơ chế quan trọng để lưu trữ dữ liệu, chẳng hạn như dữ liệu cảm biến, những dữ liệu này là cần thiết để phát triển và thử nghiệm các thuật toán.

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

Bài viết "Xe tự động di chuyển bằng xử lý ảnh tại HCMUTE" giới thiệu về một dự án nghiên cứu và phát triển xe tự động sử dụng công nghệ xử lý ảnh tại Trường Đại học Công nghệ TP.HCM (HCMUTE). Dự án này không chỉ mang lại những hiểu biết sâu sắc về cách thức hoạt động của xe tự động mà còn nhấn mạnh tầm quan trọng của công nghệ trong việc cải thiện hiệu suất và độ chính xác trong di chuyển. Độc giả sẽ được khám phá các ứng dụng thực tiễn của công nghệ này, từ việc nhận diện môi trường xung quanh đến khả năng điều khiển tự động, giúp nâng cao trải nghiệm và an toàn khi sử dụng xe tự động.

Nếu bạn muốn tìm hiểu thêm về các dự án liên quan, hãy tham khảo bài viết "Đồ án hcmute thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone", nơi bạn sẽ thấy cách mà công nghệ di động có thể kết hợp với xe tự hành. Ngoài ra, bài viết "Đồ án hcmute thiết kế thi công mô hình bãi giữ xe ô tô tự động sử dụng plc s7 1200" sẽ cung cấp cho bạn cái nhìn sâu sắc về hệ thống quản lý bãi đỗ xe tự động. Cuối cùng, bạn có thể khám phá thêm về "Đồ án hcmute nghiên cứu thiết kế bộ điều khiển cho máy châm keo tự động", một ứng dụng khác của công nghệ tự động hóa trong sản xuất. Những bài viết này sẽ giúp bạn mở rộng kiến thức và hiểu rõ hơn về các ứng dụng của công nghệ tự động trong đời sống.