TỔNG QUAN
ĐẶT VẤN ĐỀ
Theo công bố 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ừ 2 tuổi trở lên, tương đương khoảng 6,2 triệu người, là người khuyết tật Ngoài ra, có 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 thành 6 loại: khuyết tật vận động, khuyết tật nghe và nói, khuyết tật nhìn, khuyết tật thần kinh và tâm thần, khuyết tật trí tuệ, và khuyết tật khác, bao gồm nạn nhân chất độc da cam và người nhiễm virus độc hủy hoại cơ thể.
Cơ sở hạ tầng ở Việt Nam hiện chưa đáp ứng đầy đủ nhu cầu của người khuyết tật Mặc dù nhà nước đã cung cấp các thiết bị hỗ trợ như chân tay giả, xe lăn và máy trợ thính, nhưng xe lăn là vật dụng 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 thiết phải có bộ điều khiển cho phép họ điều khiển xe theo ý muốn.
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, which was 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 đã phát triển xe lăn điện điều khiển bằng cử động đầu Tuy nhiên, sản phẩm này vẫn tồn tại một số nhược điểm, bao gồm 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ỹ của xe.
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 bằng xe lăn, nhóm nghiên cứu đã tập trung vào việc phát huy những ưu điểm và khắc phục nhược điểm của các nghiên cứu trước đây Đề tài được giới thiệu là: “Nghiên cứu, thiết kế bộ điều khiển cho xe lăn”.
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
Trong bối cảnh khoa học kỹ thuật phát triển mạnh mẽ, xử lý ảnh đã trở thành một lĩnh vực mới mẻ nhưng phát triển nhanh chóng, thu hút sự quan tâm của nhiều nhà khoa học Ngành này đóng vai trò quan trọng trong các ứ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ương tiện tự trị, hỗ trợ người mù, an ninh, giám sát, nhận dạng đối tượng và khuôn mặt, cũng như trong y học và hiệu chỉnh 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à dùng camera 3D” là phát triển một hệ thống xe lăn điện thông minh, sử dụng laptop để xử lý tín hiệu từ camera 3D Realsense Hệ thống này giao tiếp với Arduino Nano, bộ xử lý tín hiệu điều khiển động cơ, nhằm điều khiển hoạt động của xe lăn tự động trong không gian nội thất.
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
Đề tài “Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D” chỉ phù hợp với những địa hình bằng 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 thiểu nhiễu từ camera Mô hình có khả năng phát hiện vật cản trong khoảng cách dưới 1.5m, với yêu cầu độ cao của vật cản phải trên 0.5m so với mặt đất.
BỐ CỤC
Chương này giới thiệu lý do lựa chọn đề tài, xác định mục tiêu nghiên cứu, nội dung nghiên cứu, các giới hạn 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 kiến thức cơ bản về xử lý ảnh, bao gồm các phương pháp nhận dạng và phân loại ảnh hiệu quả Ngoài ra, nội dung cũng sẽ đề cập đến cách tính kích thước sản phẩm và giới thiệu về camera 3D cùng các thư viện liên quan.
Chương 3: Thiết kế và tính toán
Chương này sẽ đi tìm hiểu kỹ các thuật toán nhận dạng sản phẩm theo hình dạng, 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 phần quan trọng trong nhiều lĩnh vực, từ cuộc sống hàng ngày đến sản xuất nâng cao Công nghệ này không chỉ hỗ trợ cá nhân và gia đình, mà còn được ứng dụng rộng rãi trong các lĩnh vực như Chính trị, Y tế và Giáo dục.
Xử lý tín hiệu là lĩnh vực quan trọng trong kỹ thuật điện tử và viễn thông, liên quan đến nghiên cứu và xử lý tín hiệu kỹ thuật số và analog Nó giải quyết các vấn đề như lưu trữ tín hiệu, thiết kế bộ lọc và thực hiện các hoạt động khác trên tín hiệu Các tín hiệu này có thể bao gồm truyền dẫn â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à phương pháp mà đầu vào và đầu ra đều là hình ảnh, được thực hiện qua một quá trình xử lý Xử lý ảnh có thể chia thành hai loại: 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ố, quá trình bắt đầu bằng việc chụp ảnh từ máy ảnh, sử dụng ánh sáng mặt trời làm nguồn năng lượng Các cảm biến thu nhận ánh sáng phản xạ từ đối tượng, tạo ra tín hiệu điện áp liên tục Để chuyển đổi dữ liệ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 là một hình ảnh kỹ thuật số.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
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 cấu thành nên một bức ảnh kỹ thuật số, với địa chỉ của nó được biểu thị dưới dạng tọa độ (x,y) Một bức ảnh kỹ thuật số, có thể được tạo ra qua việc chụp ảnh hoặc sử dụng phương pháp đồ họa khác, bao gồm hàng ngàn hoặc hàng triệu pixel riêng lẻ Số lượng pixel trong bức ảnh tỷ lệ thuận với độ chi tiết của nó; cụ thể, một triệu pixel tương đương với 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 một giá trị cụ thể Các mức ảnh xám phổ biến bao gồm 16, 32, 64, 128 và 256 Trong đó, mức được sử dụng phổ biến nhất là 256.
256, tức là dùng 1 byte để biểu diễn mức xám. Ảnh nhị phân: Là ảnh có 2 mức trắng và đen Chỉ có 2 giá trị 0 và 1 và chỉ sử dụng
Mỗi điểm ảnh trong ảnh kỹ thuật số được biểu diễn bằng 1 bit dữ liệu Ảnh đen trắng chỉ sử dụng hai màu cơ bản là đen và trắng, với các mức xám khác nhau ở các điểm ảnh Trong khi đó, ảnh màu được tạo ra bằng cách kết hợp ba màu cơ bản, cho phép tạo ra một thế giới màu sắc phong phú Để mô tả mức màu trong ảnh 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 đã trở thành một lĩnh vực quan trọng trong giáo dục đại học và được ứng dụng rộng rãi trong thực tế, như trong các phần mềm chỉnh sửa hình ảnh và công nghệ nhận diện khuôn mặt.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 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 diện các vật cản xung quanh Mô hình này sử dụng công nghệ camera 3D để thu thập thông tin và đưa ra quyết định điều hướng cho xe lăn, nhằm cải thiện tính tự động và an toàn trong quá trình di chuyển.
Trong cuộc sống hiện đại, mỗi gia đình đều sở hữu nhiều đồ 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 mang một thiết kế độc đáo, tạo nên sự phong phú cho không gian sống.
Vì thế mỗi vật mốc có điểm đặc biệt riêng Ở đây ta chúng ta nhận dạng vật mốc bằng các điểm đặc đó của vật mốc.
Giải thuật SIFT (Scale-Invariant Feature Transform), được phát minh và đăng ký bản quyền bởi David Lowe vào năm 1999, là một công cụ quan trọng trong lĩnh vực Computer Vision SIFT được sử dụng để nhận dạng và mô tả các điểm đặc trưng (local features) trong ảnh, cùng với giải thuật SURF, nó đã được áp dụng rộng rãi trong nhận dạng đối tượng (object recognition) và mô hình hóa 3D (3D modeling).
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 giao tiếp với nhau mà không cần dây 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 nhờ vào bước sóng ngắn hơn của Bluetooth.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
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 để đảm bảo rằng sản phẩm của họ có khả năng nhận diện và tương tác với nhau Các tiêu chí này giúp các thiết bị sử dụng công nghệ Bluetooth kết nối một cách 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 truyền thống bằng dây giữa các thiết bị như thiết bị đo, thiết bị định vị, thiết bị y tế, máy quét mã vạch và thiết bị điều khiển giao thông, giúp nâng cao hiệu quả và giảm thiểu sự phức tạp trong hệ thống.
+ 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 có thể thực hiện dễ dàng bằng cách sử dụng điện thoại di động thay cho modem Trong nghiên cứu của tôi, công nghệ Bluetooth được sử dụng để truyền lệnh từ bộ phận xử lý đến bộ phận động lực, giúp xe lăn di chuyển một cách linh hoạt mà không cần dây dẫn phức tạp.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
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.
Công nghệ mã hóa đảm bảo an toàn cho dữ liệu, giúp ngăn chặn việc nghe trộm hoặc đánh cắp thông tin Khi kết nối được thiết lập, việc truy cập trái phép trở nên cực kỳ khó khăn cho các thiết bị bên ngoài.
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 trong giáo dục và các dự án lớn, cho phép phát triển nhiều loại ứng dụng như phần mềm desktop, server và ứng dụng web Nó cũng là lựa chọn hàng đầu trong xây dựng chương trình trí tuệ nhân tạo, bao gồm machine learning Được Guido van Rossum phát triển vào năm 1990, Python ban đầu chạy trên nền Unix nhưng hiện nay tương thích với nhiều hệ điều hành như MS-DOS, Mac OS, OS/2, Windows và Linux Python được phát triển trong một dự án mã mở và được quản lý bởi tổ chức phi lợi nhuận Python Software Foundation.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của Python Python là ngôn ngữ có hình thức đơn giản, cú pháp ngắn gọn, sử dụng một số lượng ít các từ khoá, do đó Python là một ngôn ngữ dễ học đối với người mới bắt đầu tìm hiểu Python là ngôn ngữ có mã lệnh (source code hay đơn giản là code) không mấy phức tạp cả trường hợp bạn chưa biết gì về Python bạn cũng có thể suy đoán được ý nghĩa của từng dòng lệnh trong source code Python có nhiều ứng dụng trên nhiều nền tảng, chương trình phần mềm viết bằng ngôn ngữ Python có thể được chạy trên nhiều nền tảng hệ điều hành khác nhau bao gồm Windows, Mac OSX và Linux.
OpenCV (Thư viện Thị giác Máy tính Mã nguồn Mở) là một thư viện 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 thị giác máy tính, xử lý ảnh và máy học OpenCV hỗ trợ nhiều ngôn ngữ lập trình như C++, C, Python và Java, và có thể hoạt động trên các nền tảng như Windows, Linux, Mac OS, iOS và Android OpenCV được phát triển bởi Intel vào năm
OpenCV, được phát triển bởi Gary Bradsky vào năm 1999 và ra mắt vào năm 2000, là một thư viện mạnh mẽ với nhiều ứng dụng trong 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 triển khai trên ngôn ngữ Python, sử dụng làm thư viện chính để xử lý hình ả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 người dùng sử dụng miễn phí các thuật toán, đồng thời khuyến khích cộng đồng đóng góp thêm thuật toán mới để phát triển thư viện ngày càng mạnh mẽ hơ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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
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ở lý tưởng cho việc phát triển ứng dụng điện tử tương tác Nó hoạt động như một máy tính nhỏ, cho phép người dùng lập trình và thực hiện các dự án điện tử một cách dễ dàng mà không cần các công cụ 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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
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ơ, vì vậy nó 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 using the Arduino IDE are referred to as sketches, which are saved in the ino file format.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
GIỚI THIỆU PHẦN CỨNG
A Giới thiệu về camera Intel RealSense D435
Intel RealSense D435 là một sản phẩm của Microsoft, ứng dụng công nghệ camera từ PrimeSense, được thiết kế như một thiết bị ngoại vi cho Xbox 360 Thiết bị này cho phép giao tiếp với người dùng thông qua cử chỉ, mang đến trải nghiệm thú vị cho game thủ Intel RealSense D435 có khả năng hiểu cử chỉ con người nhờ vào hai yếu tố chính: thông tin về độ sâu ảnh (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 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 Intel RealSense D435 chủ yếu nhờ vào giá cả hợp lý, khoảng 140 USD, cho một thiết bị cung cấp thông tin 3D chất lượng chấp nhận được.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
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
Hình 5: Nguyên lý camera Intel RealSense D435 3D
Cặp cảm biến camera RGB bên trái và bên phải hoạt động đồng bộ để tạo ra giá trị độ sâu cho hình ảnh RGB Việc kết hợp thêm cảm biến hồng ngoại giúp nâng cao độ chính xác và chất lượng của ảnh độ sâu.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT độ chính xác, với ảnh độ sâu camera và cảm biến hồng ngoại camera cho ra khoảng cách của các vật ở phía trước camera.
D Dữ liệu thu được từ camera Intel RealSense D435
Camera Intel RealSense D435 sử dụng sơ đồ phần cứng kết nối để điều khiển các cảm biến, thu thập và xử lý dữ liệu hiệu quả thông qua chip Intel.
Realsense Vision Processor D4 có tần số 24 MHz, sau đó được lưu trữ vào bộ nhớ
EEPROM Các dữ liệu này có thể truyền vào máy tính thông 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 Tầm quan trọng của dữ liệu chiều sâu nằm ở việc nó giúp nhận dạng các vật thể dễ dàng hơn so với xử lý ảnh thông thường Các thuật toán xử lý ảnh truyền thống dựa vào sự tương đồng về màu sắc, nhưng điều này có thể gây khó khăn vì những vật thể có màu sắc tương tự có thể 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 có thể có màu sắc khác nhau.
Hình 6: Sơ đồ phần cứng camera Intel RealSense D435 3D
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Thông tin về độ sâu giúp phân biệt các vật thể qua vị trí, với những điểm gần nhau thường thuộc cùng một đối tượng mà không cần phân biệt màu sắc Sự thay đổi trong hình ảnh trên bản đồ độ sâu chỉ xảy ra khi có sự giảm đột ngột về độ sâu, như ở các cạnh hoặc những phần nhỏ của đối tượng.
Với thiết kế nhỏ gọn và tiện lợi, module Bluetooth HC06 cho phép giao tiếp với vi điều khiển qua chỉ hai chân (Tx và Rx), giúp 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 các thiết bị ngoại vi như điện thoại thông minh hoặc máy tính 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
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
+ 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 mạch vi điều khiển nhỏ gọn, dễ sử dụng và có thể lập trình trực tiếp từ máy tính, tương tự như Arduino Uno R3 Với kích thước chỉ 1.85cm x 4.3cm, Arduino Nano rất phù hợp cho những người mới bắt đầu, đồng thời có giá rẻ hơn so với Arduino Uno nhưng vẫn hỗ trợ tất cả các thư viện của mạch này Bài viết này sẽ giới thiệu về Arduino Nano, các thông số kỹ thuật của nó, cũng như những gợi ý ứng dụng cho người mới bắt đầu.
Vi điều khiển ATmega328 (họ 8bit) Điện áp hoạt động
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
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
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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
TÍNH TOÁN VÀ THIẾT KẾ
GIỚI THIỆU
Ngày nay, thiết bị điện tử ngày càng trở nên 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 nhờ vào các thiết bị cảm biến và thuật toán hỗ trợ Dự án “Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D” sử dụng một bộ điều khiển trung tâm là laptop, kết hợp với camera 3D để thu tín hiệu hình ảnh từ môi trường xung quanh, cùng với các khối truyền tín hiệu và điều khiển động lực.
THIẾT KẾ HỆ THỐNG PHẦN CỨNG
Bộ điều khiển trung tâm trong hệ thống là laptop, kết hợp với camera Intel RealSense D435 để thu tín hiệu hình ảnh từ bên ngoài Kết quả hình ảnh sẽ được hiển thị trên màn hình máy tính, cùng với các thiết bị điều khiển để tương tác hiệu quả.
+ 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ó nhiệm vụ chuyển đổi tín hiệu hình ảnh từ thực tế thành tín hiệu điện và truyền dữ liệu đến khối xử lý trung tâm Trong bài viết này, camera Intel RealSense D435 được sử dụng 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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
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ừ môi trường thực tế và truyền tải thông tin này đến khối xử lý trung tâm.
Để đạt được chất lượng hình ảnh tốt và dễ dàng xử lý ảnh, nên sử dụng camera có độ phân giải cao và khả năng ghi nhận chiều sâu đối tượng, tương tự như mắt con người Camera Intel RealSense D435 là lựa chọn lý tưởng cho 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:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
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, vi điều khiển thông thường không đủ khả năng đáp ứng Vì vậy, nhóm đã quyết định sử dụng laptop làm khối xử lý trung tâm.
Máy tính nhóm được trang bị CPU core i5 với tốc độ xử lý lên tới 3.4 GHz, rất phù hợp cho việc sử dụng trong mô hình Nó hỗ trợ giao tiếp hiệu quả với các thiết bị ngoại vi và module bên ngoài, đồng thời có chức năng hiển thị kết quả từ khối xử lý trung tâm thông qua màn hình máy tính.
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, mang lại sự gọn gàng cho mô hình Với điện áp hoạt động 5V, cần sử dụng module chuyển đổi điện áp để đảm bảo tương thích với tải.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
❖ Module Điều Khiển Động BTS7960
Thông số kỹ thuật động cơ xe lăn:
Hình 13 minh họa động cơ xe lăn, trong khi Bảng 1 cung cấp thông số cơ bản của động cơ, bao gồm điện áp sử dụng, dòng điện định mức, công suất định mức và tốc độ định mức.
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, cho phép 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 dễ dàng di chuyển tới lui với tốc độ được điều chỉnh linh hoạt.
Nguồn Acquy 24VDC cung cấp năng lượng cho động cơ thông qua mạch giảm áp, phục vụ cho cầu H BTS7960, vi điều khiển, cảm biến và module bluetooth Hai chân L_EN và R_EN được kết nối chung để kích hoạt hoạt động của cầu H, trong khi hai chân RPWM và LPWM điều chỉnh tốc độ động cơ thông qua tín hiệu PWM.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
Hình 14: Sơ đồ nguyên lý mạch điều khiển động cơ
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 hoạt động với acquy 12AH và điện áp 24VDC, sử dụng bộ nguồn sạc đầu vào 24VDC Thời gian sử dụng của acquy này phụ thuộc vào công suất tải, bao gồm hai động cơ 250W Công suất của hộp điều khiển động cơ được tính theo công thức t = (A.V η)/P.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
- 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
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 = 7,5V x 4A x 2+5V x ( 40 x 14 x 2+30+20 x 3+700 x 3)mA
Nguồn ra của acquy được sử dụng để điều khiển hai động cơ thông qua mạch điều khiển động cơ BTS7960 Đồng thời, nguồn 24VDC được cấp vào mạch giảm áp LM2596 3A để tạo ra điện áp 5V, cung cấp năng lượng cho các module khác trong bộ điều khiển động cơ.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
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
Phương pháp nhận dạng dựa trên lý thuyết và cấu tạo phần cứng của camera Intel RealSense D435 cho thấy có hai bài toán chính trong xử lý ảnh: nhận dạng vật mốc thông qua ảnh màu và xác định khoảng cách của camera trong không gian 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 cuối cùng quan trọng trong hệ thống xử lý ảnh, đóng vai trò phân loại các đối tượng theo mô hình nhất định Quá trình này bắt đầu bằng việc phân tích ảnh chụp thành các đặc trưng riêng biệt, từ đó giúp nhận diện các đối tượng Mô hình của tôi so sánh hình ảnh từ camera với các ảnh vật mốc để đưa ra đánh giá chính xác Đặc biệt, thuật toán SIFT (Scale-Invariant Feature Transform) cho phép đạt được kết quả ổn định bất chấp sự thay đổi về kích thước và góc độ của ảnh, nhấn mạnh tính chất rotation-invariant của nó.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
❖ 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, kích thước của các cửa sổ được định nghĩa để quét ảnh và tìm kiếm các đặc tính quan trọng Khi có một góc nhỏ, kích thước cửa sổ phù hợp sẽ giúp nhận diện các keypoint, nhưng với góc lớn hơn, kích thước cửa sổ đó có thể không còn hợp lý Để khắc phục vấn đề này, phương pháp scale-space filtering được áp dụng SIFT sử dụng DoG (Difference of Gaussians) cho từng pixel bằng cách lấy hiệu giữa hai 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à local extrema (lớn nhất), 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 chính tiềm năng từ ảnh, bước tiếp theo là lọc để đạt đượ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 hơn, sau đó kiểm tra xem cường độ của cực trị đó có nhỏ hơn ngưỡng (0.03) hay không, nếu có thì sẽ loại bỏ điểm chính đó Ngoài ra, 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 ngưỡng nhất định, điểm chính đó 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 the specific orientation, scale, and position of each feature.
4 Mô tả quan trọng (Keypoint descriptor)
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
SIFT tính toán mô tả điểm chính (keypoint descriptor) bằng cách sử dụng vùng lân cận 16x16 của điểm chính đó, chia thành 16 khối con (sub-blocks) kích thước 4x4 Mỗi khối con tạo ra 8 hướng nhị phân (bin orientation), dẫn đến tổng cộng 128 giá trị nhị phân, tạo thành một vector biểu diễn cho mô tả điểm chính.
Tìm kiếm các cặp keypoint descriptor có khoảng cách Euclid nhỏ nhất giữa hai bức ảnh là nhiệm vụ chính của FLANN, giúp xác định những cặp keypoint descriptor tương đồng nhất Để đả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 tối thiểu 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 phần phương pháp 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 ảnh vật mốc mà xe lăn đã được lập trình nhận diện trước Khi có một vật mốc đã biết, chúng ta sẽ thu được một mảng các keypoint, ký hiệu là A.
Khi xe lăn hoạt động, quá trình thu thập ảnh sẽ bắt đầu, và mỗi bức ảnh mà xe lăn nhận được sẽ được xử lý thông 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), tiến hành so sánh với mảng A Nếu phần tử trong mảng A trùng giá trị 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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
Biểu diễn dưới dạng toán học: A ∩ B = C
Hình 17: Giao giữa 2 tập hợp keypoint
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 tương ứng trong ảnh màu trên trục Oz Thông qua 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.
Chúng ta có một mảng một chiều chứa các giá trị tối thiểu của các cột trong mảng độ sâu Dựa vào kết quả này, chúng ta có thể 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
Bằng cách sử dụng giá trị Z_min, chúng ta thực hiện phân vùng cho mảng Zi_min và xác định hướng di chuyển an toàn cho xe lăn bằng cách tìm bề rộng lớn nhất trong mảng có giá trị vượt quá Z_min.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
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 không có sơ đồ mạch in do các linh kiện và model đã được nhà sản xuất chuẩn bị sẵn Tuy nhiên, vẫn có sơ đồ kết nối cho mô hình để hỗ trợ người dùng.
Bảng 3: Danh sách các model và linh kiện liên quan.
4.2.2 Kết nối, lắp ráp và kiểm tra mô hình
Mô hình này bao gồm bộ điều khiển trung tâm, là bộ 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 thông qua Camera 3D, được kết nối qua cổng USB.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG 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 hay 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
Nhóm tiến hành lắp ráp hộp điều khiển động cơ dựa trên sơ đồ nguyên lý, sử dụng hộp nhựa PVC kích thước 160x90x57mm để chứa các module Hộp này được chọn vì tính sẵn có, giá thành rẻ và độ bền cao Các module được cố định bằng vít và kết nối qua dây cắm cho tín hiệu và 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, được lắp đặt chắc chắn Các jack cắm nguồn 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ơ.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG
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 để nâng cao tính thuận tiện và thẩm mỹ Dây dẫn được bọc cẩn thận, đảm bảo tính thực tế cho mô hình xe lăn.
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 xe khoảng 0.1 m, nhằm đảm bảo quá trình xử lý hình ảnh nhanh chóng và hiệu quả Với tầm quan sát rộng, camera giúp xe lăn hoạt động chính xác, tránh va chạm Vị trí lắp camera cũng tạo điều kiện cho người ngồi thoải mái, không bị vướng víu, từ đó không làm giảm tầm nhìn Mô hình này là thử nghiệm, nên việc đặt laptop trên mô hình là cần thiết để đảm bảo khoảng cách cáp truyền tín hiệu ngắn nhất, giúp hoạt động của camera ổn định.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG
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 đã tạo ra một mô hình hoàn chỉnh Mô hình này có thể được chạy trong môi trường có đủ điều kiện ánh sáng để tiến hành đánh giá chất lượng.
Hình 22: mô hình hoàn chỉnh
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG
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 loại ảnh này đều có kích thước 480x640 và tần suất 30 fps.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG
Ảnh RGB, viết tắt của cơ chế hệ màu cộng, là phương pháp phổ biến để hiển thị màu sắc trên các thiết bị điện tử như TV, màn hình máy tính và camera kỹ thuật số Hệ màu này sử dụng 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 chụp có thể được xem như 3 ma trận tương ứng với các 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 thông qua 3 ma trận này.
Hình 24: Ma trận không gian màu RGB
Ảnh độ sâu tương tự như ảnh RGB, nhưng mỗi pixel trong ma trận ảnh độ sâu thể hiện 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 ảnh độ sâu sử dụng kiểu dữ liệu thực.
Tìm giá trị Z min theo cột ảnh depth giúp xác định khoảng cách từ camera đến các vật thể phía trước Chức năng này cho phép nhận diện sự hiện diện của vật thể trong vùng quan sát của camera thông qua từng cột dữ liệu ảnh depth.
Khối này được sử dụng để so sánh dữ liệu từ kết quả khoảng cách, từ đó giúp chúng ta xác định sự hiện diện của vật cản phía trước Kết luận này cho phép chúng ta quyết định hướng đi tiếp theo cho khối xử lý.
Tìm đặc điểm của ảnh RGB: Khối có chức năng tìm ra các đặc trưng của ảnh
RGB lấy từ camera, các đặc trưng của ảnh được liệt kê theo danh sách để chuẩn bị cho bước 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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG
Khối nhận dạng vật mốc giúp xe lăn xác định sự hiện diện của vật mốc bằng cách so sánh các đặc trưng của ảnh RGB với ảnh mốc đã được thu thập trước đó Qua quá trình này, hệ thống có thể xác định xem phía trước có vật mốc hay không, từ đó đưa ra hai hướng giải quyết cho tình huống 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.
Để điều khiển xe di chuyển, sau khi xử lý dữ liệu đầu vào, bước cuối cùng là truyền dữ liệu này cho xe để thực hiện chuyển động theo thông tin đã nhận.
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 từng cột trong ảnh độ sâu (Zi min) để xác định Z min từ tập hợp các giá trị này Cuối cùng, trả về chỉ số cột tương ứng, giúp truyền dữ liệu cho xe lăn di chuyển.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG
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
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG
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 highly popular text editor favored by web developers, coders, and programmers Available for Mac, Windows, and Linux, it 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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG
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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG
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à gói (package) có sẵn, giúp tiết kiệm thời gian và công sức lập trình.
Mỗi module và package đều được thiết kế để thực hiện những nhiệm vụ chuyên biệt Để cài đặt một package, bạn chỉ cần sử dụng lệnh pip install Việc cài đặt các package trở nên đơn giản hơn bao giờ hết, chỉ cần gõ một dòng lệnh mà không cần phải tải về phức tạp.
Để cài đặt thư viện cho hệ thống một cách dễ dàng, bạn chỉ cần mở command line và nhập các lệnh pip theo mẫu để cài đặt các thư viện như OpenCV, Numpy và Spicy.
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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 4: THI CÔNG HỆ THỐNG
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 các thiết bị ngoại vi, như camera 3D, với laptop là rất quan trọng Sau khi hệ thống nhận diện thiết bị, người dùng cần mở Sublime Text 3 và truy cập vào file code.py để thực hiện 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ế.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
CAMERA 3D
Trong quá trình thực hiện đề tài, nhóm đã áp dụng công nghệ Camera 3D để thu thập ảnh đầu vào và ảnh độ sâu Camera này được kết nối với laptop, giúp nhóm tiến hành xây dựng mô hình một cách hiệu quả.
Hình 31: Kết quả ảnh RGB và ảnh độ sâu từ camera
Camera 3D có độ phân giải cao và giá thành hợp lý, mang lại chất lượng ảnh và video tốt cho việc xử lý hình ảnh Tuy nhiên, việc đo khoảng cách từ camera vẫn chưa hoàn toàn chính xác do ảnh hưởng của 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, thiết bị sẽ gửi tín hiệu cho 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 các dữ liệu từ ảnh độ sâu Tuy nhiên, hiệu quả của quá trình này 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ủa camera có thể bị ảnh hưởng bởi ánh sáng kém.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
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 đủ, bao gồm màu đỏ và 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
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
NHẬN DẠNG VẬT MỐC
Nhận dạng vật mốc là một quá trình quan trọng trong hệ thống điều khiển xe lăn, giúp xe di chuyển đúng hướng theo yêu cầu Hình ảnh từ camera RGB được thu nhận và xử lý bằng các thuật toán SIFT và FLANN trong thư viện OPENCV, cho phép xác định các điểm đặc trưng để nhận dạng vật thể Sau khi có được các đặc trưng này, chúng sẽ được so sánh với mẫu đầu vào; nếu khớp, hệ thống sẽ tính toán góc lệch để xác định vị trí của xe trên 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
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
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 ảnh cho thấy tâm của khoảng trống mà camera xác định nằm ở giữa, với một đường dọc đánh dấu 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 ở giữa thấp hơn so với phần ảnh đo khoảng cách.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
Khi khoảng cách mà camera xác định bên trái lớn hơn bên phải, tâm của xe sẽ bị lệch sang trái, giúp xe lăn dễ dàng rẽ sang hướng trái.
Khi xe lăn rẽ phải và gặp 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ẽ thấp 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 dễ dàng di chuyển sang hướng đó.
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.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
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, giúp xác định khoảng cách từ xe đến tâm vật mốc Trong trường hợp 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 Da Đủ sáng
Nhận dạng có camera Thực tế Chênh lệch Thiếu sáng
Nhận dạng có camera Thực tế Chênh lệch
Dựa trên bảng số liệu, có thể nhận thấy rằng 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ế vẫn có sự chênh lệch.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ lệnh không đáng kể Với điều kiện thiếu sáng thì camera có sự sai số cáo hơn một chút so với điều kiện đủ sáng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH