TỔNG QUAN
ĐẶT VẤN ĐỀ
Theo báo cáo của Tổng cục Thống kê và UNICEF vào ngày 11-1-2019, hơn 7% dân số Việt Nam, tương đương khoảng 6,2 triệu người, là người khuyết tật Ngoài ra, có khoảng 13% dân số, gần 12 triệu người, sống trong hộ gia đình có người khuyết tật Người khuyết tật được phân loại thành 6 dạng chính: khuyết tật vận động (chân, tay), khuyết tật nghe, nói (câm, điếc), khuyết tật nhìn (khuyết tật về mắt, khiếm thị), khuyết tật thần kinh, tâm thần (người rối loạn thần kinh, người điên), khuyết tật trí tuệ (bại não, động kinh, tự kỷ), và khuyết tật khác (nạn nhân chất độc da cam, người nhiễm vi rút HIV).
Cơ sở hạ tầng ở nước ta hiện vẫn thiếu các tiện ích dành cho người khuyết tật Mặc dù nhà nước đã hỗ trợ dụng cụ như chân tay giả, xe lăn và máy trợ thính, nhưng xe lăn là thiết bị thiết yếu cho người khuyết tật vận động Để người khuyết tật có thể tự di chuyển bằng xe lăn, cần có bộ điều khiển giúp xe lăn hoạt động theo ý muốn của họ.
Numerous studies have been conducted on controllers for electric wheelchairs, including the article titled “Gyro-Accelerometer based Control of an Intelligent Wheelchair” by authors Rafia Hassani, Mohamed Boumehraz, Maroua Hamzi, and Zineb Habba, published on September 9.
Vào năm 2018, nhóm sinh viên từ Đại học Sư phạm Kỹ thuật Đà Nẵng và Đại học Giao thông Vận tải đã nghiên cứu xe lăn điện điều khiển bằng cử động đầu Tuy nhiên, sản phẩm vẫn tồn tại một số nhược điểm như thiết bị điều khiển còn đơn giản và việc sử dụng quá nhiều cảm biến siêu âm để phát hiện vật cản gây ảnh hưởng đến tính thẩm mỹ.
Nhằm tạo ra một bộ điều khiển giúp người khuyết tật di chuyển dễ dàng hơn bằng xe lăn, nhóm nghiên cứu đã tập trung vào việc vận dụng các ưu điểm và khắc phục nhược điểm từ những nghiên cứu trước đó Đề tài này mang tên: “Nghiên cứu, thiết kế”.
CHƯƠNG 1: TỔNG QUAN và thi công bộ điều khiển xe lăn điện bằng cảm biến gia tốc”, do chính nhóm tiến hành nghiên cứu và thực hiện Với mô hình này, chúng ta có thể phát triển bộ điều khiển biến chiếc xe lăn thành một vật dụng hữu ích giúp cho người khuyết tật có thể đi lại dễ dàng hơn
Xử lý ảnh, mặc dù là một ngành khoa học còn mới mẻ, đang phát triển nhanh chóng và thu hút sự quan tâm từ các nhà khoa học trong bối cảnh khoa học kĩ thuật ngày càng tiến bộ Ngành này đóng vai trò quan trọng trong nhiều ứng dụng thực tiễn như sản xuất, kiểm tra chất lượng, điều khiển Robot, phát triển phương tiện giao thông tự động, hỗ trợ người khiếm thị, an ninh giám sát, nhận dạng đối tượng và khuôn mặt, cùng với các ứng dụng trong y học và chỉnh sửa video.
Camera 3D hiện nay được ứng dụng rộng rãi trong lĩnh vực khoa học kỹ thuật nhờ khả năng ghi nhận chiều sâu của đối tượng, tương tự như cách mà mắt con người hoạt động.
MỤC TIÊU
Mục tiêu nghiên cứu của đề tài "Thiết kế và thi công mô hình xe lăn tự hành trong nhà" là phát triển một hệ thống sử dụng camera 3D Realsense để xử lý tín hiệu qua laptop, sau đó giao tiếp với Arduino Nano nhằm điều khiển động cơ xe lăn điện.
NỘI DUNG NGHIÊN CỨU
Để tài “Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D” Có những nội dung sau:
NỘI DUNG 1: Tìm hiểu phương pháp nhận dạng vật mốc
NỘI DUNG 2: Tổng quan về xử lý ảnh
NỘI DUNG 3: Tìm hiểu camera 3D và các Module liên quan
NỘI DUNG 4: Viết chương trình trên Python va Arduino
NỘI DUNG 5: Hoàn thành mô hình
NỘI DUNG 6: Đánh giá kết quả thực hiện
GIỚI HẠN
Dự án "Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D" chỉ có thể hoạt động hiệu quả trên các bề mặt phẳng, không gồ ghề và cần tránh ánh sáng trực tiếp từ mặt trời để giảm nhiễu cho camera Khoảng cách tối đa để phát hiện vật cản là dưới 1.5m, trong khi độ cao của vật cản phải lớn hơn 0.5m so với mặt đất.
BỐ CỤC
Chương này giới thiệu lý do chọn đề tài nghiên cứu, mục tiêu và nội dung chính của nghiên cứu, đồng thời nêu rõ các giới hạn về thông số và cấu trúc của đồ án.
Chương 2: Cơ sở lý thuyết
Chương này sẽ cung cấp cái nhìn tổng quan về xử lý ảnh, bao gồm các phương pháp cơ bản để nhận dạng và phân loại ảnh, cũng như tính kích thước sản phẩm Ngoài ra, chúng tôi sẽ giới thiệu về camera 3D và các thư viện liên quan.
Chương 3: Thiết kế và tính toán
Chương này sẽ khám phá chi tiết các thuật toán nhận dạng sản phẩm dựa trên hình dạng, đồng thời nghiên cứu các thuật toán tính kích thước và thiết kế mô hình sản phẩm.
Chương 4: Thi công hệ thống
Nội dung chương này là quá trình thi công cùng với việc chạy chương trình về phân loại sản phẩm cũng như tính kích thước sản phẩm
Chương 5: Kết quả nhận xét và đánh giá
Nội dung chương này là tổng hợp các kết quả đạt được sau khi thi công mô hình và kết quả đạt được khi phân loại sản phẩm
Chương 6: Kết luận và hướng phát triển
Kết quả nhận được khi hoàn thiện đề tài, đưa ra các hướng phát triển hoàn thiện.
CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ CÁC THƯ VIỆN LIÊN QUAN
2.1.1 Giới thiệu xử lý ảnh
Xử lý ảnh đã trở thành một lĩnh vực quen thuộc, được áp dụng rộng rãi từ các hoạt động hàng ngày đến nâng cao hiệu suất sản xuất Công nghệ này không chỉ mang lại lợi ích cho cá nhân và gia đình, mà còn được ứng dụng trong nhiều lĩnh vực quan trọng như Chính trị, Y tế và Giáo dục.
Xử lý tín hiệu là một lĩnh vực quan trọng trong kỹ thuật điện tử và viễn thông, bao gồm nghiên cứu và xử lý các tín hiệu kỹ thuật số và analog Môn học này tập trung vào việc giải quyết các vấn đề liên quan đến lưu trữ, bộ lọc và các hoạt động khác trên tín hiệu Các tín hiệu được xử lý có thể là âm thanh, giọng nói, hình ảnh và nhiều loại tín hiệu khác.
Trong lĩnh vực xử lý tín hiệu, xử lý ảnh là một phương pháp quan trọng, trong đó đầu vào và đầu ra đều là hình ảnh Quá trình này được chia thành xử lý hình ảnh tương tự và xử lý hình ảnh kỹ thuật số Để tạo ra một bức ảnh số, đầu tiên, ánh sáng mặt trời được sử dụng làm nguồn năng lượng để chụp ảnh bằng máy ảnh Các cảm biến thu lại ánh sáng phản xạ từ đối tượng, tạo ra một tín hiệu điện áp liên tục Để chuyển đổi tín hiệu này thành hình ảnh kỹ thuật số, cần thực hiện quá trình lấy mẫu và lượng tử hóa Kết quả cuối cùng của quá trình này là một hình ảnh kỹ thuật số hoàn chỉnh.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 20
2.1.2 Những kiến thức cơ bản trong xử lý ảnh
Điểm ảnh, hay pixel, là đơn vị cơ bản tạo nên bức ảnh kỹ thuật số, được xác định bởi tọa độ (x,y) Một bức ảnh kỹ thuật số có thể được tạo ra từ việc chụp ảnh hoặc qua các phương pháp đồ họa khác, bao gồm hàng ngàn hoặc triệu pixel riêng lẻ Số lượng pixel trong bức ảnh càng nhiều thì độ chi tiết càng cao, với 1 triệu pixel tương đương 1 megapixel.
B Ảnh số: là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật Số điểm ảnh xác định độ phân giải của ảnh Ảnh có độ phân giải càng cao thì càng thể hiện rõ nét các đặt điểm của tấm hình càng làm cho tấm ảnh trở nên thực và sắc nét hơn Một hình ảnh là một tín hiệu hai chiều Nó được xác định bởi hàm toán học f(x, y) trong đó x và y là hai tọa độ theo chiều ngang và chiều dọc Các giá trị của f(x, y) tại bất kỳ điểm nào là cung cấp các giá trị điểm ảnh (pixel ) tại điểm đó của một hình ảnh
Mức xám của điểm ảnh thể hiện cường độ sáng và được gán giá trị tại mỗi điểm Các mức xám phổ biến bao gồm 16, 32, 64, 128 và 256, trong đó 256 là mức thông dụng nhất, sử dụng 1 byte để biểu diễn Ảnh nhị phân chỉ có hai mức là trắng và đen, với hai giá trị duy nhất là 0 và 1.
Mỗi điểm ảnh trong ảnh kỹ thuật số chứa 1 bit dữ liệu, với ảnh đen trắng chỉ có hai màu đen và trắng, cho phép mức xám khác nhau tại các điểm ảnh Trong khi đó, ảnh màu được tạo ra từ sự kết hợp của ba màu cơ bản, cho phép tạo ra một thế giới màu sắc sống động Để mô tả mức màu, người ta thường sử dụng 3 byte, tương đương với khoảng 16,7 triệu mức màu khác nhau.
Hiện nay, xử lý ảnh là một lĩnh vực được giảng dạy rộng rãi tại các trường đại học và ứng dụng thực tiễn qua các phần mềm chỉnh sửa hình ảnh cũng như công nghệ nhận diện khuôn mặt Sự phát triển này đã dẫn đến nhiều ứng dụng phong phú trong cuộc sống hàng ngày.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 21 công cụ để chúng ta lập trình ứng dụng vào thực tế, Như phải kể đến Matlap, hay ngôn ngữ Python…
2.1.3 Phương pháp nhận dạng vật mốc
Dự án “Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D” tập trung vào việc phát triển một mô hình xe lăn có khả năng nhận dạng các vật cản xung quanh Mô hình này sử dụng công nghệ camera 3D để phân tích môi trường, từ đó đưa ra quyết định di chuyển hợp lý cho xe lăn.
Trong cuộc sống hiện đại, mỗi gia đình đều sở hữu nhiều vật dụng nội thất với đa dạng màu sắc và hình dáng Mỗi vật dụng đều có những đặc điểm riêng biệt, tạo nên sự độc đáo cho không gian sống Chúng ta nhận diện các vật dụng này thông qua những điểm đặc trưng của chúng.
Giải thuật SIFT (Scale-Invariant Feature Transform), do David Lowe phát minh và đăng ký bản quyền, là một công cụ quan trọng trong lĩnh vực Computer Vision, giúp nhận dạng và miêu tả các điểm đặc trưng trong ảnh Được giới thiệu lần đầu vào năm 1999, SIFT cùng với giải thuật SURF đã được ứng dụng rộng rãi trong nhận dạng đối tượng và mô hình hóa 3D.
TRUYỀN DỮ LIỆU BLUETOOTH
Bluetooth là công nghệ truyền dữ liệu không dây tầm gần, cho phép các thiết bị điện tử như điện thoại, tablet và laptop trao đổi thông tin mà không cần cáp Công nghệ này hoạt động trên tần số sóng Radio 2.4GHz, tương tự như Wifi, nhưng không gây xung đột do sử dụng bước sóng ngắn hơn.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 22
Bluetooth là một chuẩn điện tử yêu cầu các nhà sản xuất tuân thủ các tiêu chuẩn kỹ thuật để sản phẩm của họ có thể tương tác và nhận diện lẫn nhau Những tiêu chí này đảm bảo rằng các thiết bị sử dụng công nghệ Bluetooth có thể kết nối và giao tiếp hiệu quả.
Các ứng dụng nổi bật của Bluetooth gồm:
+ Điều khiển và giao tiếp không dây giữa một điện thoại di động và tai nghe không dây
+ Mạng không dây giữa các máy tính cá nhân trong một không gian hẹp đòi hỏi ít băng thông
+ Giao tiếp không dây với các thiết bị vào ra của máy tính, chẳng hạn như chuột, bàn phím và máy in
Thay thế các kết nối nối tiếp truyền thống giữa các thiết bị đo, thiết bị định vị, thiết bị y tế, máy quét mã vạch và các thiết bị điều khiển giao thông bằng công nghệ hiện đại giúp cải thiện hiệu suất và độ tin cậy trong việc truyền tải dữ liệu.
+ Thay thế các điều khiển dùng tia hồng ngoại
+ Gửi các các tập tin qua lại các thiết bị dùng Bluetooth khác
+ Điều khiển từ xa cho các thiết bị trò chơi điện tử
Kết nối Internet cho máy tính qua điện thoại di động thay vì sử dụng modem truyền thống Trong nghiên cứu của tôi, công nghệ Bluetooth cho phép truyền lệnh từ bộ xử lý đến bộ phận động lực, giúp xe lăn di chuyển mà không cần dây dẫn phức tạp.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 23
2.2.3 Ưu và nhược điểm của công nghệ Bluetooth Ưu điểm:
Thay thế hoàn toàn dây nối
Hoàn toàn không nguy hại đến sức khoẻ con người
Bảo mật an toàn được đảm bảo nhờ công nghệ mã hóa, giúp thiết lập kết nối mà khó có thiết bị nào có thể nghe trộm hoặc đánh cắp dữ liệu.
Các thiết bị có thể kết nối với nhau trong vòng 20m mà không cần trực diện (hiện nay có loại Bluetooth kết nối lên đến 100m)
Kết nối điện thoại và tai nghe Bluetooth khiến cho việc nghe máy khi lái xe hoặc bận việc dễ dàng
Tốn ít năng lượng, chờ tốn 0.3mAh, tối đa 30mAh trong chế độ truyền dữ liệu
Không gây nhiễu các thiết bị không dây khác
Tính tương thích cao nên được nhiều nhà sản xuất phần cứng và phần mềm hỗ trợ Nhược điểm:
Tốc độ thấp, khoảng 720kbps tối đa
Bắt sóng kém khi có vật cản
Thời gian thiết lập lâu.
NGÔN NGỮ PYTHON
Python là một ngôn ngữ lập trình phổ biến, được sử dụng rộng rãi từ môi trường học đường đến các dự án lớn Nó phát triển nhiều loại ứng dụng như phần mềm desktop, server và ứng dụng web, đồng thời là ngôn ngữ ưa thích trong lĩnh vực trí tuệ nhân tạo và machine learning Ban đầu, Python được phát triển cho nền tảng Unix, nhưng hiện nay có thể chạy trên mọi hệ điều hành như MS-DOS, Mac OS, Windows, Linux và các hệ điều hành Unix khác Được tạo ra bởi Guido van Rossum vào năm 1990, Python được phát triển trong dự án mã mở dưới sự quản lý của tổ chức phi lợi nhuận Python Software Foundation.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Guido van Rossum là tác giả chính của Python, đóng vai trò quan trọng trong việc định hướng phát triển ngôn ngữ này Python nổi bật với cú pháp đơn giản và ngắn gọn, sử dụng ít từ khóa, làm cho nó trở thành ngôn ngữ dễ học cho người mới bắt đầu Mã lệnh của Python không phức tạp, cho phép người dùng dễ dàng suy đoán ý nghĩa của từng dòng lệnh Ngôn ngữ này có nhiều ứng dụng trên nhiều nền tảng, cho phép các chương trình viết bằng Python chạy trên các hệ điều hành khác nhau như Windows, Mac OSX và Linux.
OpenCV (Open Source Computer Vision Library) là một thư viện mã nguồn mở miễn phí, lý tưởng cho những ai mới bắt đầu trong lĩnh vực học thuật Thư viện này được ứng dụng rộng rãi trong các lĩnh vực như thị giác máy tính, xử lý ảnh và máy học, hỗ trợ nhiều ngôn ngữ lập trình như C++, C, Python và Java, cùng với khả năng hoạt động trên các nền tảng Windows, Linux, Mac OS, iOS và Android Được phát triển bởi Gary Bradsky tại Intel vào năm 1999 và ra mắt vào năm 2000, OpenCV có nhiều ứng dụng, bao gồm nhận dạng ảnh, xử lý hình ảnh, phục hồi hình ảnh/video và thực tế ảo Trong đề tài này, OpenCV được sử dụng chủ yếu với ngôn ngữ Python để xử lý ảnh đầu vào và thực hiện nhận dạng ảnh.
OpenCV là một thư viện mã nguồn mở cho phép sử dụng các thuật toán miễn phí, đồng thời người dùng cũng có thể đóng góp các thuật toán mới để thúc đẩy sự phát triển của thư viện.
Các tính năng của thư viện OpenCV:
+ Đối với hình ảnh, chúng ta có thể đọc và lưu hay ghi chúng
+ Về Video cũng tương tự như hình ảnh cũng có đọc và ghi
+ Xử lý hình ảnh có thể lọc nhiễu cho ảnh, hay chuyển đổi ảnh
+ Thực hiện nhận dạng đặc điểm của hình dạng trong ảnh
+ Phát hiện các đối tượng xác định được xác định trước như khuôn mặt, mắt, xe trong video hoặc hình ảnh
+ Phân tích video, ước lượng chuyển động của nó, trừ nền ra và theo dõi các đối tượng trong video
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 25
2.3.3 Ưu điểm và nhược điểm Python Ưu điểm:
+Là một ngôn ngữ có hình thức sáng sủa, cấu trúc roc ràng, cú pháp ngắn gọn
+Có trên tất cả các nền tảng hệ điều hành từ UNIX, MS – DOS, Mac OS, Windows và Linix và các OS khác thuộc họ Unix
+Tương thích mạnh mẽ với Unix, hardware, thirt-party software với số lượng thư viện khổng lồ (400 triệu người sử dụng)
+Python với tốc độ xử lý cực nhanh, python có thể tạo ra những chương trình từ những script siêu nhỏ tới những phần mềm cực lớn như Biender 3D
+Python không có các thuộc tính như :protected,private hay public, không có vòng lặp do…while và switch….case
+Mặc dù tốc độ xử lý của Python nhanh hơn PHP nhưng không bằng JAVA và C++.
ARDUINO
Arduino là nền tảng mã nguồn mở cho phép người dùng xây dựng các ứng dụng điện tử tương tác, kết nối với nhau hoặc với môi trường xung quanh Nó hoạt động như một máy tính nhỏ, giúp người dùng lập trình và thực hiện dự án điện tử mà không cần thiết bị chuyên dụng để nạp mã.
Arduino tương tác với thế giới thông qua các cảm biến điện tử, đèn, và động cơ
+ Phần cứng gồm một board mạch mã nguồn mở (thường gọi là vi điều khiển): có thể lập trình được
+ Các phần mềm hỗ trợ phát triển tích hợp IDE (Integrated Development
Environment) dùng để soạn thảo, biên dịch code và nạp chương cho board
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 26
Arduino là một nền tảng mạnh mẽ có khả năng đọc dữ liệu từ các thiết bị cảm biến và điều khiển động cơ, do đó thường được sử dụng làm bộ xử lý trung tâm cho nhiều loại robot khác nhau.
+ Game tương tác: Arduino có thể được sử dụng để tương tác với Joystick, màn hình,…
+ Máy bay không người lái
+ Điều khiển đèn tín hiệu giao thông, làm hiệu ứng đèn Led nhấp nháy trên các biển quảng cáo…
+ Điều khiển các thiết bị cảm biến ánh sáng, âm thanh
+ Làm đàn bằng ánh sáng
Arduino còn rất nhiều ứng dụng hữu ích khác tùy vào sự sáng tạo của người dùng
The Arduino Integrated Development Environment (IDE) is a text editor designed for writing code to upload to Arduino boards Programs created with the Arduino IDE are referred to as "sketches," and these sketches are saved in the ino format.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 27
GIỚI THIỆU PHẦN CỨNG
A Giới thiệu về camera Intel RealSense D435
Camera Intel RealSense D435 là sản phẩm của Microsoft, phát triển dựa trên công nghệ của PrimeSense Thiết bị này hoạt động như một phụ kiện cho Xbox 360, cho phép người dùng tương tác qua các cử chỉ, mang đến trải nghiệm thú vị cho game thủ Intel RealSense D435 có khả năng nhận diện cử chỉ nhờ vào hai tính năng chính: bản đồ độ sâu (depth map) và khả năng phát hiện cùng theo dõi đặc điểm cơ thể người (body skeleton tracking).
Sản phẩm Intel RealSense D435 không chỉ phục vụ cho mục đích chơi game mà còn được ứng dụng trong nghiên cứu xử lý ảnh 3D, nhận diện cử chỉ và theo dõi cơ thể Sự thành công của sản phẩm này chủ yếu đến từ mức giá hợp lý khoảng 140 USD, mang lại khả năng cung cấp thông tin 3D với chất lượng chấp nhận được.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 28
B Cấu tạo camera Intel RealSense D435
Hình 4: Cấu tạo camera Intel RealSense D435 3D
+ 2 Camera RGB: Là một camera có 3 kênh dữ liệu có độ phân giải 1280×960 Camera này có khả năng chụp lại ảnh ảnh màu
+ Cảm biến hồng ngoại: Độ sâu thu về nhờ cảm biến IR projector từ đó tính toán ra bản đồ độ sâu
C Nguyên lý hoạt động camera Intel RealSense D435
Camera Intel RealSense D435 3D sử dụng cặp cảm biến RGB bên trái và phải để tạo ra hình ảnh độ sâu từ ảnh RGB Việc kết hợp với cảm biến hồng ngoại giúp nâng cao độ chính xác của các giá trị độ sâu.
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Bộ môn Điện tử Công nghiệp – Y sinh 29 sử dụng công nghệ camera với độ chính xác cao, kết hợp ảnh độ sâu và cảm biến hồng ngoại, để xác định khoảng cách của các vật thể phía trước camera một cách hiệu quả.
D Dữ liệu thu được từ camera Intel RealSense D435
Camera Intel RealSense D435 sử dụng cảm biến được điều khiển bởi chip Intel RealSense Vision Processor D4 với tần số 24 MHz để thu thập và xử lý dữ liệu Dữ liệu này được lưu trữ trong bộ nhớ EEPROM và có thể được truyền vào máy tính qua cổng USB 3.0.
Các tín hiệu thu thập bao gồm dữ liệu về độ sâu và màu sắc, trong đó dữ liệu về độ sâu đóng vai trò quan trọng với nhiều ứng dụng Điều này là do dữ liệu chiều sâu giúp nhận dạng các vật thể trở nên dễ dàng hơn so với việc xử lý ảnh thông thường Các thuật toán xử lý ảnh truyền thống thường dựa vào sự tương đồng màu sắc, nhưng có thể dẫn đến khó khăn trong nhận dạng khi các vật thể có màu sắc tương tự nhưng không phải là cùng một đối tượng, hoặc các phần của cùng một đối tượng lại có màu sắc khác nhau.
Hình 6: Sơ đồ phần cứng camera Intel RealSense D435 3D
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 30
Thông tin về độ sâu giúp phân biệt các vật thể dựa trên vị trí của chúng Những điểm gần nhau thường thuộc về cùng một đối tượng, bất chấp sự khác biệt về màu sắc Sự thay đổi trong hình ảnh trên bản đồ độ sâu chỉ xảy ra khi độ sâu giảm đột ngột, chẳng hạn như tại các cạnh hoặc một số phần nhỏ của đối tượng.
Module Bluetooth HC06 với thiết kế nhỏ gọn và tiện lợi, chỉ cần giao tiếp với vi điều khiển qua 2 chân (Tx và Rx), giúp bạn dễ dàng thực hiện các dự án truyền dẫn và điều khiển từ xa Bạn có thể sử dụng thiết bị ngoại vi như điện thoại thông minh hoặc laptop để dò tìm tín hiệu Bluetooth mà HC06 phát ra Sau khi kết nối thành công, bạn có thể gửi tín hiệu từ vi điều khiển đến các thiết bị ngoại vi và ngược lại.
Hình 7: Module HC06 Thông số kĩ thuật:
+ Điện áp hoạt động: 3V3-5V DC
+ Dòng điện tiêu thụ: 20-30mA
+ Sử dụng chip: CSR Bluetooth V2.0
+Hỗ trợ tốc độ baud: 200,2400,4800,9600, 19200,38400,57600,115200 + Kích thước: 28x15x2,35mm
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 31
+ Giao tiếp: UART (TX,RX)
+ Bất đồng bộ: 2.1Mbps(Max)/160kbps
+ Bảo mật: mã hóa và chứng thực
Arduino Nano là một bo mạch vi điều khiển tiện dụng và đơn giản, cho phép lập trình trực tiếp từ máy tính giống như Arduino Uno R3 Điểm đặc biệt của Arduino Nano chính là kích thước nhỏ gọn, chỉ tương đương với đồng 2 nghìn gấp lại hai lần (1.85cm x 4.5cm), phù hợp cho các dự án có không gian hạn chế.
4.3cm), rất thích hợp cho các newbie, vì giá rẻ hơn Arduino Uno nhưng dùng được tất cả các thư việt của mạch này Hôm nay, tớ viết bài này nhằm mục đích giới thiệu về mạch Arduino Nano và các thông số kĩ thuật, cùng với đó là những gợi ý ứng dụng khi bắt đầu với mạch này
Vi điều khiển ATmega328 (họ 8bit) Điện áp hoạt động 5V – DC
Tần số hoạt động 16 MHz
Số chân Digital I/O 14 (6 chân PWM)
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 32
Số chân Analog 8 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 40 mA
Kích thước 1.85cm x 4.3cm
2.5.4 Module Điều Khiển Động Cơ BTS7960
Driver sử dụng 2 chip BTS7960 bao gồm mạch điều khiển cầu H và bảo vệ quá dòng, quá áp, quá nhiệt, ngắn mạch
Hình 9: Module điều khiển động cơ BTS7960 Điện áp cung cấp: 6 ~ 27 VDC
Tự động ngắt khi áp dưới 5.5V, và mở lại sau khi áp lớn hơn 5.5V
RPWM: chân đảo chiều hoặc cấp PWM nửa cầu phải, Mức tích cực cao
LPWM: chân đảo chiều hoặc cấp PWM nửa cầu trái, Mức tích cực cao
R_EN: 0 Disable nửa cầu phải, 1 Enable nửa cầu phải
L_EN: 0 Disable nửa cầu trái, 1 Enable nửa cầu trái.
TÍNH TOÁN VÀ THIẾT KẾ
GIỚI THIỆU
Hiện nay, thiết bị điện tử ngày càng phát triển theo xu hướng tự động hóa và thông minh, giúp chúng giao tiếp và hoạt động theo ý muốn của con người Để đạt được điều này, các thiết bị cảm biến và thuật toán hỗ trợ đã ra đời Dự án “Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D” bao gồm bộ điều khiển trung tâm là laptop, khối thu tín hiệu hình ảnh từ camera 3D, và các khối truyền tín hiệu cùng khối điều khiển động lực.
THIẾT KẾ HỆ THỐNG PHẦN CỨNG
Sơ đồ hệ thống bao gồm bộ điều khiển trung tâm là laptop, khối thu tín hiệu hình ảnh từ camera Intel RealSense D435, và hiển thị kết quả trên màn hình máy tính cùng với bộ phận điều khiển.
+ Khối xử lý trung tâm: là bộ xử lý chính, nhận dữ liệu từ khối thu tín hiệu camera, sau đó xử lý và phân tích nhận dạng
Khối thu tín hiệu hình ảnh có chức năng thu thập tín hiệu hình ảnh từ thực tế, chuyển đổi thành tín hiệu điện và gửi dữ liệu đến khối xử lý trung tâm Để thực hiện nhiệm vụ này, hệ thống sử dụng camera Intel RealSense D435 làm thiết bị thu tín hiệu hình ảnh.
+ Khối hiển thị: hiển thị kết quả được nhận từ khối xử lý trung tâm Sử dụng màn hình của máy tính để hiển thị kết quả
+ Khối giao tiếp: module HC06
+ Điều khiển động lực : Module Điều Khiển Động BTS7960
+ Khối nguồn: cung cấp nguồn cho toàn bộ hệ thống
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 34
Khối thu tín hiệu đóng vai trò quan trọng trong mô hình, chịu trách nhiệm thu thập dữ liệu từ thực tế và truyền tải thông tin này đến khối xử lý trung tâm.
Để đảm bảo chất lượng hình ảnh tốt cho việc xử lý ảnh dễ dàng, chúng ta cần sử dụng camera có độ phân giải cao và khả năng ghi nhận chiều sâu của đối tượng, tương tự như mắt người Vì vậy, camera Intel RealSense D435 được chọn làm khối thu tín hiệu hình ảnh.
Là thiết bị có ảnh hưởng lớn đến chất lượng ảnh cùng với việc nhận dạng Nên
“camera Intel RealSense D435” được chọn Camera có độ phân giải cao, cùng với kích thước phù hợp cho các hướng phát triển sau này
Các tính năng và đặc điểm của camera:
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 35
1 Intel RealSense D435 được điều khiển đồng thời thu thập và xử lý dữ liệu thông qua chip PS1080 có tần số 12MHz
2 Sử dụng trong HĐH Windows, Linux, Android, Mac
3.2.2 Khối xử lý và khối hiển thị
Do yêu cầu về tài nguyên và tốc độ xử lý cao trong việc xử lý ảnh, nhóm đã quyết định không sử dụng vi điều khiển thông thường Thay vào đó, laptop được chọn làm khối xử lý trung tâm cho dự án này.
Máy tính của nhóm được trang bị CPU core i5 với tốc độ xử lý đạt 3.4 GHz, rất phù hợp cho việc sử dụng trong mô hình Ngoài ra, máy tính hỗ trợ giao tiếp hiệu quả với các thiết bị ngoại vi và module từ bên ngoài, đồng thời có khả năng hiển thị kết quả từ khối xử lý trung tâm.
Sử dụng màn hình máy tính để hiển thị kết quả
3.2.4 Khối giao tiếp và điều khiển
Sử dụng module HC06 giúp truyền dữ liệu không dây, tạo sự gọn gàng cho mô hình Với điện áp hoạt động là 5V, cần sử dụng module chuyển đổi điện áp để đảm bảo phù hợp với tải.
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 36
❖ Module Điều Khiển Động BTS7960
Thông số kỹ thuật động cơ xe lăn:
Hình 13: Hình ảnh động cơ xe lăn Bảng 1: Thông số cơ bản động cơ Điện áp sử dụng 24VDC
Tốc độ định mức 83 vòng/phút
Sử dụng mạch điều khiển động cơ BTS7960 với điện áp 24VDC và dòng tải lên đến 43A, hệ thống nhận tín hiệu từ vi điều khiển Arduino để điều khiển hai động cơ quay thuận và nghịch Điều này giúp xe di chuyển linh hoạt về phía trước và phía sau với tốc độ được điều chỉnh dễ dàng.
Nguồn acquy 24VDC cung cấp năng lượng cho động cơ và thông qua mạch giảm áp để cấp điện cho cầu H BTS7960, vi điều khiển, các cảm biến và module Bluetooth Hai chân L_EN và R_EN được nối chung để kích hoạt hoạt động của cầu H, trong khi hai chân RPWM và LPWM đảm nhận vai trò điều khiển tốc độ động cơ thông qua tín hiệu PWM.
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 37
Hình 14: Sơ đồ nguyên lý mạch điều khiển động cơ 3.2.5 Khối nguồn
Thông số kỹ thuật bình Acquy sử dụng cho xe lăn
Hình 15: Acquy của xe lăn điện
Xe lăn điện sử dụng acquy có dung lượng 12AH và điện áp đầu ra 24VDC, đi kèm với bộ nguồn sạc acquy đầu vào 24VDC Thời gian sử dụng của acquy 12AH phụ thuộc vào công suất tải, bao gồm hai động cơ 250W, và được tính theo công thức t = (A.V η)/P.
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 38
- t: là thời gian sử dụng điện từ acquy (giờ)
- η: Hệ số sử dụng acquy Thông thường η=0,7
Thực nghiệm cho thấy khi người trên xe có khối lượng trung bình khoảng 65kg với tốc độ đã lập trình sẵn thì đo được như sau
Bảng 2: Thông số đo được Điện áp Dòng điện Động cơ 7.5V 4A
Lúc này thời gian ước tính khi sử dụng xe lăn liên tục không nghỉ là t = 12 Ah x 24 V x 0.7
Nguồn ra của acquy cung cấp năng lượng cho 2 động cơ thông qua mạch điều khiển BTS7960 Đồng thời, nguồn 24VDC được sử dụng để cấp cho mạch giảm áp LM2596 3A, giúp tạo ra điện áp 5V cung cấp cho các module khác trong bộ điều khiển động cơ.
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 39
Sơ đồ nguyên lý khối nguồn acquy 24VDC:
Hình 16: Sơ đồ nguyên lý khối nguồn acquy
CÁC TÍNH TOÁN TRONG XỬ LÝ ẢNH ĐẦU VÀO
Camera Intel RealSense D435 hỗ trợ hai bài toán xử lý ảnh quan trọng: nhận dạng vật mốc thông qua ảnh màu và đo khoảng cách của camera trong không gian, với dữ liệu được trả về dưới dạng mảng.
3.3.1 Nhận dạng vật mốc bằng ảnh màu của camera
Nhận dạng ảnh là giai đoạn quan trọng cuối cùng trong hệ thống xử lý ảnh, nơi mà quá trình phân loại các đối tượng diễn ra dựa trên các mô hình cụ thể Ảnh chụp sẽ được phân tích thành các đặc trưng riêng biệt, giúp cho việc nhận dạng trở nên khả thi Mô hình của tôi sử dụng các vật mốc đã chụp để so sánh với hình ảnh từ camera, từ đó đưa ra đánh giá chính xác Đặc biệt, thuật toán SIFT (Scale-Invariant Feature Transform) nổi bật với khả năng đưa ra kết quả ổn định bất chấp sự thay đổi về tỷ lệ và có tính chất rotation-invariant, giúp nâng cao độ chính xác trong nhận dạng.
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 40
❖ Các bước của giải thuật
1 Phát hiện cực đoan không gian tỷ lệ (Scale-space extrema detection)
Trong lĩnh vực computer vision, việc xác định kích cỡ các cửa sổ để quét ảnh nhằm tìm kiếm các đặc tính là rất quan trọng Một góc nhỏ có thể nhận diện tốt với cửa sổ kích thước hợp lý, nhưng khi áp dụng cùng kích cỡ cửa sổ cho góc lớn, điều này trở nên không hiệu quả Để khắc phục vấn đề này, kỹ thuật scale-space filtering được sử dụng SIFT tính toán DoG (Difference of Gaussians) cho từng pixel bằng cách lấy hiệu giữa các Gaussian Blur với hai giá trị sigma khác nhau Sau khi tính toán DoG cho toàn bộ ảnh, từng pixel sẽ được so sánh với 8 pixel lân cận và 9 pixel tương ứng ở các scale trên và dưới Nếu pixel đó là cực trị địa phương (local extrema), nó sẽ được xác định là một keypoint tiềm năng ở scale đó.
2 Nội địa hóa điểm (Keypoint localization)
Sau khi thu thập tất cả các điểm tiềm năng của ảnh, bước tiếp theo là lọc để có kết quả chính xác hơn SIFT sử dụng chuỗi Taylor mở rộng để xác định vị trí của các cực trị một cách chính xác, và nếu cường độ của cực trị nhỏ hơn ngưỡng 0.03, điểm đó sẽ bị loại bỏ Đồng thời, DoG rất nhạy cảm với các đường biên, vì vậy SIFT áp dụng khái niệm tương tự như bộ phát hiện góc Harris, sử dụng ma trận Hessian 2x2 để tính toán các đường cong chính Khi giá trị riêng lớn hơn một ngưỡng nhất định, điểm đó sẽ bị loại bỏ.
Như trên, SIFT có thể loại được keypoints có tương phản thấp, edge keypoint và giữ lại những keypoint hợp lý hơn
3 Phân công định hướng (Orientation assignment)
Each keypoint will be assigned one or more orientations based on the image gradient Subsequent calculations on the image will correspond to each orientation, scale, and the location of each feature.
4 Mô tả quan trọng (Keypoint descriptor)
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 41
SIFT tính toán Keypoint descriptor bằng cách sử dụng vùng lân cận 16x16 của keypoint, chia thành 16 sub-blocks kích thước 4x4 Mỗi sub-block tạo ra 8 bin orientation, dẫn đến tổng cộng 128 bin giá trị, tạo thành một vector biểu diễn cho keypoint descriptor.
Để tìm ra những cặp keypoint descriptor có khoảng cách Euclid nhỏ nhất giữa hai bức ảnh, FLANN giúp xác định các cặp tương đồng nhất Tuy nhiên, để đảm bảo chất lượng, chúng ta cần lọc bỏ những cặp kém, chỉ giữ lại những cặp có khoảng cách Euclid nhỏ nhất từ danh sách mà FLANN cung cấp.
Dùng các điểm bất biến với độ sáng, xoay, thu phóng làm đặc trưng so sánh
Tốc độ trích xuất key point và chi phí đối sánh còn lớn
Trong quá trình nhận dạng vật mốc, tôi đã áp dụng thuật toán SIFT để xác định các điểm đặc biệt (keypoint) của hình ảnh vật mốc mà xe lăn đã được lập trình trước Với vật mốc đã biết, chúng ta sẽ thu được một mảng các điểm đặc biệt A (keypoint).
Khi xe lăn hoạt động, quá trình thu thập ảnh bắt đầu, và mỗi bức ảnh được nhận sẽ được xử lý qua thuật toán SIFT, từ đó tạo ra một mảng các điểm đặc trưng (keypoint) B.
Sau khi xác định mảng B (keypoint), chúng ta tiến hành so sánh với mảng A Nếu phần tử trong mảng A trùng với phần tử trong mảng B, ta sẽ tạo ra tập hợp C, chứa các phần tử có keypoint giống nhau, từ đó giúp xác minh vật mốc.
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 42
Biểu diễn dưới dạng toán học: A ∩ B = C (3)
3.3.2 Tính khoảng cách dựa vào ảnh độ sau nhận được từ camera
Với ảnh độ sâu nhận được từ camera ta có số chiều MxN:
+ M là số hàng trong ma trận ảnh độ sâu
+ N là số cột trong ma trận ảnh độ sâu
Các giá trị trong mảng depth MxN đại diện cho khoảng cách từ camera đến các điểm trên ảnh màu, nằm trên trục Oz Dựa vào thông tin này, chúng ta có thể tính toán khả năng tránh vật cản của xe.
Ta tiến hành tìm Min mỗi cột trong mảng nhận được
Zi_min =∑ 𝑁−1 0 min(Z(i)) i: thứ tự các cột trong ma trận Z (4)
Mảng 1 chiều chứa các giá trị nhỏ nhất của các cột trong mảng depth cho phép chúng ta xác định xem có vật cản phía trước camera hay không, cũng như khoảng cách từ camera đến vật cản đó.
Tiếp theo, nếu gặp vật cản thì tìm Z_min là giá trị nhỏ nhất trong mảng Zi_min
Z_min = min(∑ 𝑁−1 0 Zi_min(j)) j: thứ tự các phần tử trong Zi_min (5)
Để xác định hướng di chuyển cho xe lăn, chúng ta sử dụng giá trị Z_min để phân vùng mảng Zi_min, từ đó tìm kiếm bề rộng lớn nhất trong mảng có giá trị lớn hơn Z_min nhằm tránh vật cản.
Hình 17: Giao giữa 2 tập hợp keypoint
THI CÔNG HỆ THỐNG
GIỚI THIỆU
Ở phần này thực thi trên laptop quá trình lấy các hình mẫu có sẵn sau đó xử lý phân tích và nhận dạng sản phẩm.
THI CÔNG HỆ THỐNG
4.2.1 Các linh kiện và model cần thiết cho mô hình
Mô hình này sử dụng linh kiện và model được cung cấp sẵn từ nhà sản xuất, do đó không có sơ đồ mạch in đi kèm, nhưng có sơ đồ kết nối cho mô hình.
Bảng 3: Danh sách các model và linh kiện liên quan
STT Tên Giá trị Chú thích
1 Laptop core i5 Tốc độ 3.4GHz Có vỏ bảo vệ
D435 Độ phân giải và khung hình:
Có dây kết nối với cổng
5 Module Điều Khiển Động BTS7960
4.2.2 Kết nối, lắp ráp và kiểm tra mô hình
Mô hình bao gồm bộ điều khiển trung tâm là vi xử lý (CPU) của laptop, cùng với khối thu tín hiệu hình ảnh từ bên ngoài là Camera 3D, kết nối qua cổng USB.
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 44 laptop, sau đó kết quả hiển thị trên màn hình laptop, cùng với bộ phận để người giao tiếp và điều khiển
Kết nối Camera với Laptop
Camera được kết nối với cổng USB của laptop
Sau khi kết nối, kiểm tra xem cổng USB của laptop đã nhận tín hiệu từ camera chưa Tiếp theo, mở IDLE và chạy chương trình để kiểm tra đầu vào của camera, nhằm xác định xem có xuất tín hiệu từ camera hay không.
THI CÔNG MÔ HÌNH
4.3.1 Kết nối bộ phận điều khiển động lực
Hình 18: Bộ phận điều khiển Hình 19: Bộ phận điều khiển hoàn chỉnh
Dựa vào sơ đồ nguyên lý của bộ điều khiển động cơ, nhóm đã lắp ráp các module thành hộp điều khiển động cơ bằng hộp nhựa đen PVC kích thước 160x90x57mm, đảm bảo tính chắc chắn và giá thành hợp lý Các module được cố định bằng vít và kết nối với nhau qua dây cắm để truyền tín hiệu và cấp nguồn Hộp điều khiển bao gồm đầy đủ các module điều khiển động cơ, bluetooth và vi điều khiển, tất cả được gắn chặt bên trong Đặc biệt, jack cắm nguồn đầu vào và jack cắm động cơ được đưa ra ngoài để thuận tiện cho việc kết nối với các động cơ.
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 45
4.3.2 Kết nối bộ phận điều khiển động lực với nguồn
Khối nguồn và bộ điều khiển động lực được kết nối qua dây dẫn điện, được lắp đặt phía sau xe lăn để tạo sự tiện lợi và thẩm mỹ Dây dẫn được bọc cẩn thận, mang lại tính thực tế cao cho mô hình.
Hình 20: Bộ phận điều khiển với nguồn
4.3.3 Kết nối bộ phận camera với laptop
Camera được lắp đặt ở phía trước xe lăn, cách tâm khoảng 0.1 m, nhằm đảm bảo quá trình xử lý hình ảnh nhanh chóng và thuận lợi Với tầm quan sát rộng, camera giúp xe lăn hoạt động chính xác mà không va chạm Vị trí lắp đặt camera còn tạo sự thoải mái cho người ngồi, không làm cản trở tầm nhìn Đây là mô hình thử nghiệm, vì vậy việc đặt laptop trên mô hình là điều cần thiết Để đảm bảo tín hiệu ổn định, khoảng cách cáp truyền tín hiệu được giữ ngắn nhất có thể.
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 46
Hình 21: Bộ phận camera và laptop
Sau khi kết nối tất cả các bộ phận, chúng ta có được mô hình hoàn chỉnh Mô hình này có thể được chạy trong môi trường đủ điều kiện ánh sáng để đánh giá chất lượng của nó.
Hình 22: mô hình hoàn chỉnh
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 47
LẬP TRÌNH HỆ THỐNG
A Lưu đồ giải thuật chính
Hình 23: Lưu đồ giải thuật chính
Khối thu thập ảnh RGB và ảnh depth có nhiệm vụ lấy dữ liệu đầu vào bao gồm hai loại ảnh: ảnh RGB và ảnh depth, cả hai đều có kích thước 480x640 và tần số 30 fps.
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 48
Ảnh RGB, viết tắt của hệ màu cộng, là cơ chế hiển thị màu thường được sử dụng trên các thiết bị điện tử như TV, monitor máy tính và camera kỹ thuật số Hệ màu này dựa trên ba màu cơ bản: đỏ, xanh lá và xanh dương.
OpenCV xử lý ảnh và video ở định dạng 8 bit, số nguyên không dấu với định dạng BGR Hình ảnh được chụp có thể được xem như 3 ma trận tương ứng với màu xanh dương, xanh lá và đỏ (BGR), trong đó các giá trị nguyên nằm trong khoảng từ 0 đến 255 Hình ảnh màu được biểu diễn qua 3 ma trận này.
Ảnh độ sâu, giống như ảnh RGB, cũng có một ma trận, nhưng mỗi pixel trong ma trận này đại diện cho khoảng cách từ camera đến các đối tượng trong không gian phía trước Khác với ảnh RGB, ma trận của ảnh độ sâu sử dụng kiểu dữ liệu thực.
Tìm giá trị Z min từ cột ảnh độ sâu giúp xác định khoảng cách phía trước camera, từ đó nhận diện sự hiện diện của vật thể trong tầm nhìn của camera.
Khi có vật cản, khối này sẽ so sánh dữ liệu từ kết quả khoảng cách Từ đó, chúng ta có thể kết luận rằng phía trước có vật cản cần xử lý trước khi tiến đến khối tiếp theo.
Khối chức năng tìm kiếm đặc điểm của ảnh RGB từ camera, giúp xác định các đặc trưng quan trọng của hình ảnh Các đặc trưng này sẽ được liệt kê theo danh sách, chuẩn bị cho các bước xử lý tiếp theo.
Tránh vật cản: Khối có chức năng tính toán gốc di chuyển cho xe lăn để có thể tránh được vật cản trước mặt xe lăn
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 49
Khối nhận dạng vật mốc giúp xe lăn nhận diện các vật thể bằng cách so sánh các đặc trưng của ảnh RGB với ảnh mốc đã thu thập trước đó Qua quá trình này, hệ thống xác định xem phía trước có vật mốc hay không và đưa ra hai hướng giải quyết tiếp theo.
Xác định khoảng cách dừng camera: ở khối này giúp biết được khoảng cách từ xe lăn tới vật mốc
Truyền dữ liệu cho xe di chuyển là bước cuối cùng trong quá trình xử lý dữ liệu đầu vào, cho phép xe hoạt động theo những thông tin đã được xử lý.
B Lưu đồ giải thuật con
Tìm Z min theo cột ảnh depth
Hình 25: Truyền dữ liệu cho xe di chuyển
Tìm giá trị nhỏ nhất của từng cột trong ảnh depth để xác định Zi min Sau đó, xác định giá trị nhỏ nhất trong tập hợp các Zi min đã nhận được Cuối cùng, trả về số thứ tự của cột để truyền dữ liệu cho xe lăn di chuyển.
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 50
Xác định khoảng cách dừng camera
Hình 26: Xác định khoảng cách dừng camera
Xác định khoảng cách tới tâm vật mốc: tìm giá trị khoảng cách tâm của vật mốc tới camera
Khoảng cách lớn hơn 1.5m: nếu khoảng cách vừa xác định được lớn hơn
1.5m thì xe lăn di chuyển tới vật mốc, còn nếu ngược lại thì xe lăn dừng trước vật mốc
Trả về số thứ tự cột ảnh RGB chứa tâm: trả về giá trị mà xe lăn cần điều hướng
Truyền dữ liệu cho xe di chuyển
Hình 27: Truyền dữ liệu cho xe di chuyển
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 51
Hc06 có hoạt động: kiểm tra thiết bị phần cứng của xe lăn có sẵn sàng cho việc truyền dữ liệu
Gửi số thứ tự cột Z min: gửi dữ liệu cho xe điều hướng di chuyển tránh vật cản hoặc theo vật mốc
4.4.2 Lập trình ngôn ngữ Python với Sublime Text 3
Sublime Text 3 (ST3) is the latest version of the popular text editor widely used by web developers, coders, and programmers It is available for Mac, Windows, and Linux, and can be downloaded and used for free.
Tạo, Lưu, Sửa một file trong Sublime Text 3 Để tạo file mới thì trên thanh công cụ bạn chọn:
File > New File hoặc Phím tắt: Ctrl + N (Command + N trên Mac)
Cách lưu file trong Sublime Text thì trên thanh công cụ bạn chọn:
File > Save hoặc File > Save as hoặc phím tắt Ctrl + S ( Command + S )
Cách mở một file để chỉnh sửa trong Sublime Text
File > Open hoặc phím tắt Ctrl + O ( Command + O ) Chọn đến thư mục chứa file bạn cần chỉnh sửa
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 52
Hình 28: Tạo file mới Sublime Text 3
4.4.2 Lập trình Arduino với Arduino IDE
Cấu hình phiên làm việc cho Arduino IDE
Vào menu Tools -> Board -> chọn Arduino nano
Vào menu Tools -> Serial Port -> chọn cổng Arduino đang kết nối với máy tính Ở máy của tôi là COM3.
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53
VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC
4.5.1 Viết tài liệu hướng dẫn sử dụng
Bước 1: Lắp camera vào hệ thống và kiểm tra hệ thống đã nhận camera chưa
Sau khi cấp nguồn cho hệ thống, đợi hệ thống khởi động xong ta truy cập vào IDLE để thực thi chương trình test camera
Bước 2: Kiểm tra cài đặt python và cài đặt những thư viện liên quan cho python
Mở cửa sổ command line và gõ lệnh python để kiểm tra xem hệ thống đã cài đặt thành công Python hay chưa Một trong những ưu điểm nổi bật của Python là khả năng tái sử dụng nhiều thư viện và package, giúp tiết kiệm thời gian và công sức khi phát triển ứng dụng.
Mỗi module và package đều được chuyên môn hóa để thực hiện các nhiệm vụ cụ thể Để cài đặt một package, bạn chỉ cần sử dụng lệnh pip install , giúp tiết kiệm thời gian mà không cần tải về phức tạp Việc cài đặt chỉ cần một dòng lệnh đơn giản.
Để cài đặt các thư viện như OpenCV, Numpy và Spicy cho hệ thống một cách dễ dàng, bạn chỉ cần mở command line và gõ các lệnh pip theo mẫu.
Kiểm tra xem tất cả thư viện ta cần cho chương trình đều đã sẵn sàng chưa:
Hình 30: Kiểm tra thư viện
Bước 3: Mở Sublime Text 3 và chạy chương trình nhận dạng sản phẩm và tính kích thước
CHƯƠNG 4: THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 54
Bước 4: Quan sát kết quả thu được khi xe lăn di chuyển khung hình camera ở những vị trí khác nhau
Khởi động hệ thống và chạy chương trình
Quá trình kết nối camera 3D với laptop là bước đầu tiên để hệ thống nhận diện thiết bị ngoại vi Sau khi kết nối thành công, mở Sublime Text 3 và tải file code.py để bắt đầu chạy chương trình.
Quan sát kết quả và so với thực tế
Kết quả được hiển thị ngay trên lap với thời gian ngắn và khả năng hoạt động của xe lăn trong thực tế.
KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
CAMERA 3D
Trong quá trình thực hiện đề tài, nhóm đã sử dụng Camera 3D để thu thập ảnh đầu vào và ảnh độ sâu, đồng thời kết nối với laptop nhằm xây dựng mô hình.
Camera 3D có độ phân giải cao với giá thành hợp lý, mang lại chất lượng ảnh và video phù hợp cho xử lý hình ảnh Tuy nhiên, độ chính xác trong việc đo khoảng cách từ camera vẫn bị ảnh hưởng bởi các yếu tố bên ngoài như tốc độ xử lý của laptop và điều kiện ánh sáng.
XÁC ĐỊNH VẬT CẢN
Khi vật cản xuất hiện trong tầm nhìn của camera, hệ thống sẽ gửi tín hiệu để xe lăn di chuyển theo hướng tránh vật cản, dựa trên việc phân tích dữ liệu từ ảnh độ sâu Tuy nhiên, khả năng hoạt động của camera phụ thuộc nhiều vào điều kiện môi trường, vì cảm biến hồng ngoại có thể bị ảnh hưởng bởi ánh sáng kém.
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56
Hình 32: Kết quả xác định vật cản của camera
Dưới đây là bảng thống kê thực tế về màu sắc của sản phẩm trong điều kiện ánh sáng đầy đủ, với sản phẩm màu đỏ cùng các màu khác như xanh và vàng.
Sau khi kiểm tra thực tế, khả năng hoạt động của thiết bị như sau:
Thời gian đáp ứng rất nhanh trong điều kiện lý tưởng khi làm khảo sát
Camera nhận diện được gần như 100% các vật cản ở trước.
Bảng 4: Thống kê kết quả xác định khoảng cách tối đa camera nhìn thấy vật cản
STT camera cách đất khoảng cách lớn nhất phát hiện
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57
NHẬN DẠNG VẬT MỐC
Nhận dạng vật mốc là một quy trình thiết yếu trong hệ thống, giúp xe lăn di chuyển đúng hướng theo yêu cầu Hình ảnh từ camera RGB được thu thập và xử lý bằng thuật toán SIFT và FLANN trong thư viện OpenCV để trích xuất các điểm đặc trưng, từ đó nhận diện vật thể Sau khi có các đặc trưng, chúng sẽ được so sánh với mẫu đầu vào; nếu khớp, quá trình sẽ tiếp tục tính toán góc lệch nhằm xác định vị trí của xe trong bản đồ đã được lập trước đó.
Sau đây là những hình ảnh sau khi thí nghiệm :
Hình 33: Kết quả xác định vật mốc của camera trường hợp 1
Hình 34: Kết quả xác định vật mốc của camera trường hợp 2
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58
Hình 35: Kết quả xác định vật mốc của camera trường hợp 3
Từ những hình ảnh trên cho ta thấy được khả năng nhận diện vật mốc của camera gần như chính xác so với thực tế.
KẾT QUẢ TRÁNH VẬT CẢN
Từ kết quả xác định vật cản ở phần 5.2 ta được kết quả của việc tránh vật cản trong nhiều trường hợp trong thực tế như sau:
Hình 36 cho thấy tâm của khoảng trống được camera xác định nằm ở giữa, với một đường dọc xác định khoảng cách camera Hai bên rìa của ảnh có khoảng cách nhỏ hơn, dẫn đến nền màu trắng thấp hơn ở giữa so với ảnh đo khoảng cách.
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59
Khi xe rẽ trái, camera nhận diện khoảng cách bên trái lớn hơn bên phải, dẫn đến tâm xe lệch sang trái, giúp xe dễ dàng thực hiện cú rẽ.
Khi rẽ phải, nếu có vật cản trước camera như bộ bàn ghế, khoảng cách mà camera xác định bên trái sẽ nhỏ hơn bên phải Điều này dẫn đến việc tâm di chuyển lệch về bên phải, giúp xe lăn di chuyển sang phải một cách hiệu quả.
Từ những hình ảnh trên thì ta có thể thấy được khả năng chuyển hướng của vật gần như là chính xác với kết quả của thí nghiệm
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60
5.5 KẾT QUẢ XE LĂN DỪNG TRƯỚC VẬT MỐC
Sau khi di chuyển và tránh né vật cản, xe lăn sẽ khởi động quá trình phân tích và nhận dạng khi gặp vật mốc Quá trình này giúp xe lăn xác định khoảng cách từ xe đến tâm vật mốc Trong khi chưa đạt khoảng cách dừng, xe lăn sẽ tiếp tục di chuyển về phía vật mốc Khi đạt được khoảng cách dừng, xe lăn sẽ tự động dừng lại.
5.6 KẾT QUẢ ĐO KHOẢNG CÁCH CỦA XE LĂN
Với các hình bố trí bản đồ bố trí các vật trên ta có được bảng về các thông số đo đạc và tính toán như sau :
Bảng 5: Thống kê kết quả xác định khoảng cách vật mốc Đơn vị đo meter
Trường hợp 1 Trường hợp 2 Trường hợp 3
Da Db Dc Da Db Dc Da Db Dc Đủ sáng
Nhận dạng có có có có có có có có có camera 2.39 4.05 2.68 3.67 3.89 3.13 2.68 3.60 2.73
Nhận dạng có có có có có có có có có camera 2.26 3.81 2.49 3.66 3.76 3.16 2.12 3.25 2.26
Dựa trên bảng số liệu, camera có khả năng nhận diện toàn bộ các vật mốc đầu vào, tuy nhiên, các giá trị khoảng cách đo được từ camera so với thực tế có sự chênh lệch nhất định.
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
Bộ môn Điện tử Công nghiệp – Y sinh 61 cho thấy rằng trong điều kiện thiếu sáng, camera có thể gặp phải sai số cao hơn một chút so với điều kiện đủ sáng.
KẾT QUẢ ĐO KHOẢNG CÁCH CỦA XE LĂN
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62