1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3d

70 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Và Thi Công Mô Hình Xe Lăn Tự Hành Trong Nhà Dùng Camera 3D
Tác giả Huỳnh Tấn Cường
Người hướng dẫn ThS. Ngô Bá Việt
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TP. Hồ Chí Minh
Chuyên ngành Kỹ Thuật Điện - Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2019
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 70
Dung lượng 2,89 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (16)
    • 1.1 ĐẶT VẤN ĐỀ (16)
    • 1.2 MỤC TIÊU (17)
    • 1.3 NỘI DUNG NGHIÊN CỨU (17)
    • 1.4 GIỚI HẠN (18)
    • 1.5 BỐ CỤC (18)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (19)
    • 2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ CÁC THƯ VIỆN LIÊN QUAN (19)
      • 2.1.1 Giới thiệu xử lý ảnh (19)
      • 2.1.2 Những kiến thức cơ bản trong xử lý ảnh (20)
      • 2.1.3 Phương pháp nhận dạng vật mốc (21)
    • 2.2 TRUYỀN DỮ LIỆU BLUETOOTH (21)
      • 2.2.1 Giới thiệu (21)
      • 2.2.2 Ứng dụng của Bluetooth (22)
      • 2.2.3 Ưu và nhược điểm của công nghệ Bluetooth (23)
    • 2.3 NGÔN NGỮ PYTHON (23)
      • 2.3.1 Giới thiệu (23)
      • 2.3.3 Ưu điểm và nhược điểm Python (25)
    • 2.4 ARDUINO (25)
      • 2.4.1 Giới thiệu (25)
      • 2.4.2 Ứng dụng của Arduino (26)
      • 2.4.3 Arduino IDE (26)
    • 2.5 GIỚI THIỆU PHẦN CỨNG (27)
      • 2.5.1 Camera Intel RealSense D435 (27)
      • 2.5.2 Module HC06 (30)
      • 2.5.3 Kit Arduino Nano (31)
      • 2.5.4 Module Điều Khiển Động Cơ BTS7960 (32)
  • CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ (33)
    • 3.1 GIỚI THIỆU (33)
    • 3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG (33)
      • 3.2.1 Khối thu tín hiệu (34)
      • 3.2.2 Khối xử lý và khối hiển thị (35)
      • 3.2.4 Khối giao tiếp và điều khiển (35)
      • 3.2.5 Khối nguồn (37)
    • 3.3 CÁC TÍNH TOÁN TRONG XỬ LÝ ẢNH ĐẦU VÀO (39)
      • 3.3.1 Nhận dạng vật mốc bằng ảnh màu của camera (39)
      • 3.3.2 Tính khoảng cách dựa vào ảnh độ sau nhận được từ camera (42)
  • CHƯƠNG 4: THI CÔNG HỆ THỐNG (43)
    • 4.1 GIỚI THIỆU (43)
    • 4.2 THI CÔNG HỆ THỐNG (43)
      • 4.2.1 Các linh kiện và model cần thiết cho mô hình (43)
      • 4.2.2 Kết nối, lắp ráp và kiểm tra mô hình (43)
    • 4.3 THI CÔNG MÔ HÌNH (44)
      • 4.3.2 Kết nối bộ phận điều khiển động lực với nguồn (45)
      • 4.3.3 Kết nối bộ phận camera với laptop (45)
      • 4.3.4 Mô hình hoàn chỉnh (46)
    • 4.4 LẬP TRÌNH HỆ THỐNG (47)
      • 4.4.1 Lưu đồ giải thuật (47)
      • 4.4.2 Lập trình ngôn ngữ Python với Sublime Text 3 (51)
      • 4.4.2 Lập trình Arduino với Arduino IDE (52)
    • 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC (53)
      • 4.5.1 Viết tài liệu hướng dẫn sử dụng (53)
      • 4.5.2 Quy trình thao tác (54)
  • CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ (0)
    • 5.1 CAMERA 3D (55)
    • 5.2 XÁC ĐỊNH VẬT CẢN (55)
    • 5.3 NHẬN DẠNG VẬT MỐC (57)
    • 5.4 KẾT QUẢ TRÁNH VẬT CẢN (58)
    • 5.5 KẾT QUẢ ĐO KHOẢNG CÁCH CỦA XE LĂN (0)
  • CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (62)
    • 6.1 KẾT LUẬN (62)

Nội dung

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

Ngày đăng: 18/07/2021, 13:29

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[9] PGS.TS Nguyễn Quang Hoan, “Xử Lý Ảnh”, Học Viện Công Nghệ Bưu Chính Viễn Thông, 2006.(http://www.e-ptit.edu.vn/hoctap/hoclieu/XLA.pdf) Sách, tạp chí
Tiêu đề: Xử Lý Ảnh
[1] TS. Nguyễn Thanh Hải, “Giáo trình Xử lý ảnh”, NXB Đại Học Quốc Gia TPHCM, 09/2014 Sách, tạp chí
Tiêu đề: Giáo trình Xử lý ảnh
Nhà XB: NXB Đại Học Quốc Gia TPHCM
[2] Phạm Quang Huy, “Arduino dành cho người tự học” , NXB Thanh Niên , 2019 Sách, tạp chí
Tiêu đề: Arduino dành cho người tự học
Nhà XB: NXB Thanh Niên
[6] Trí thức trẻ, Camera 3D hoạt động như thê nào, https://fptshop.com.vn 05/01/2016 [7] Nguyễn Văn Sơn, Hà Duy Khánh, Phân loại sản phẩm dùng Kit Raspberry, Đồ án tốt nghiệp, trường ĐHSPKT, Tp.HCM, 2018 Link
[10] Thông số kỹ thuật của động cơ DC được tìm kiếm ở trang web: https://vietnamese.alibaba.com/ , Ms. Maggie Wang, TT Motor (Shenzhen) Industrial Co., Ltd. Floor 4-5, Building A14, Tianliao Industrial Zone, Taoyuan Street, Nanshan District, Shenzhen, Guangdong, China (Mainland) Link
[1] Việt Nam công bố kết quả Điều tra Quốc gia quy mô lớn đầu tiên về người khuyết tật (2016) – www.unicef.org – 1/2019 Khác
[2] Gyro-Accelerometer based Control of an Intelligent Wheelchair Received 19 December 2017, Published online: 9 June2018 Khác
[3] An Introduction to MEMS (Micro-electromechanical Systems) - Prime Faraday Technology Watch – 01/ 2002 Khác
[4] Ryan Goodrich – Accelerometer - What They Are and How They Work - LiveScience Contributor – 01/10/2013 Khác
[5] Nguyễn Tiến San, Nguyễn Thái Bảo Hùng, Báo cáo tìm hiểu cảm biến Kinect (RGB –D), Đồ án môn học, trường Đại học công nghệ, Tp.HCM, 2016 Khác
[8] Richard Blum, Christine Bresnahan, Sams teach yourself python in 24 Hours, Sams, 2014 Khác
[3] Rafia Hassani, Mohamed Boumehraz, Maroua Hamzi, Zineb Habba – Gyro- Accelerometer based Control of an Intelligent Wheelchair – 06/2018 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w