điều khiển xe lăn bằng cử động tay sử dụng board intel galileo

70 716 0
điều khiển xe lăn bằng cử động tay sử dụng board intel galileo

Đ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

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC ĐIỀU KHIỂN XE LĂN BẰNG CỬ ĐỘNG TAY SỬ DỤNG BOARD INTEL GALILEO Sinh viên thực Cán hướng dẫn Phạm Hoàng Lượm MSSV: 1117984 Phạm Thanh Hùng MSSV: 1117970 Lớp: Kỹ thuật máy tính-K37 ThS GV Trương Phong Tuyên Cần Thơ, Tháng 05 năm 2015 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC ĐIỀU KHIỂN XE LĂN BẰNG CỬ ĐỘNG TAY SỬ DỤNG BOARD INTEL GALILEO Sinh viên thực Cán hướng dẫn Phạm Hoàng Lượm MSSV: 1117984 Phạm Thanh Hùng MSSV: 1117970 Lớp: Kỹ thuật máy tính-K37 ThS GV Trương Phong Tuyên Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG Luận văn thực bởi: Họ tên: Phạm Hoàng Lượm, MSSV: 1117984, Họ tên: Phạm Thanh Hùng, MSSV: 1117970, Lớp: Kỹ thuật máy tính Lớp: Kỹ thuật máy tính Tựa đề Luận văn (Hay tên đề tài): Điều khiển xe lăn cử động tay sử dụng board Intel Galileo Luận văn nộp báo cáo Hội đồng chấm bảo vệ Luận văn tốt nghiệp Đại học ngành Điện tử Truyền thông/Kỹ thuật Máy tính, Bộ môn Điện tử - Viễn thông vào ngày … tháng 05 năm 2015 (Quyết định thành lập Hội đồng số: …./QĐ-CN ngày … tháng 05 năm 2015 Trưởng Khoa Công Nghệ) Kết đánh giá: _ Chữ ký thành viên Hội đồng: Thành viên 1: ThS Trương Phong Tuyên ………………………… Thành viên 2: TS Lương Vinh Quốc Danh ……………………… Thành viên 3: ThS Trần Hữu Danh ……………………………… Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo LỜI CAM ĐOAN Với đề tài “Điều khiển xe lăn cử động tay sử dụng board Intel Galileo” tạo hệ thống điều khiển khác biệt hoàn toàn dành cho người khuyết tật Intel Galileo sản phẩm sử dụng chip Intel Quark X1000, SoC thuộc dòng "Santa Clara" sản xuất dựa dây chuyền công nghệ 14nm với mức độ tiêu thụ điện thấp Phương pháp xử lý ảnh chạy ứng dụng board Intel Galileo nét phát triển hệ thống nhúng nên nhóm chúng em định chọn đề tài Kết thúc trình nghiên cứu thực hiện, nội dung trình bày báo cáo hiểu biết thành chúng em giúp đỡ cán hướng dẫn Thạc sĩ Trương Phong Tuyên Chúng em xin cam đoan nội dung trình bày báo cáo Luận văn tốt nghiệp chép từ công trình nghiên cứu có trước Nếu không thật, chúng em xin chịu hoàn toàn trách nhiệm trước nhà trường Cần Thơ, ngày … tháng … năm 2015 Nhóm sinh viên thực Phạm Hoàng Lượm Phạm Thanh Hùng Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo LỜI CÁM ƠN Sau kết đạt được, chúng em không quên gửi lời cám ơn chân thành sâu sắc đến cha mẹ gia đình chúng em, người hộ trợ chúng em mặt kinh tế để chúng em có điều kiện tốt thực đề tài Không vậy, gia đình giúp đỡ, động viên giúp em có thêm nghị lực hoàn thành tốt nhiệm vụ học tập rèn luyện Chúng em kính gửi lời cám ơn chân thành đến đội ngũ cán giảng dạy trường Đại học Cần Thơ nói chung môn Điện tử Viễn Thông trực thuộc Khoa Công nghệ nói riêng tận tình giảng dạy, bảo tạo điều kiện vật chất suốt khoảng thời gian chúng em học tập rèn luyện trường Đặc biệt xin chân thành cám ơn Thạc sĩ Trương Phong Tuyên, người thầy người anh tận tình hướng dẫn chúng em thực đề tài luận văn Xin biết ơn thầy kiến thức truyền đạt, dẫn, tài liệu, định hướng kịp thời giúp chúng em thực hướng tiến độ với đề tài giao Trong suốt trình học tập nghiên cứu thực đề tài chúng em xin cám ơn giúp đỡ nhiệt tình anh khóa trước, cúng hợp tác bạn nhóm luận khác toàn thể bạn bè nhiệt tình động viên, ủng hộ cổ vũ tinh thần cho chúng em Xin chân thành cám ơn ! Cần Thơ, ngày … tháng … năm 2015 Nhóm sinh viên thực Phạm Hoàng Lượm Phạm Thanh Hùng Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo KÍ HIỆU VÀ VIẾT TẮT GPIO General Pirpose Input Output LED Light Emitting Diode USB Universal Serial Bus SRAM Statiac Random Access Memory RAM Random Access Memory I2C Inter-Intergrated Circuit Pixel Picture Element IP Intellectual Property JTAG Joint Test Action Group RGB Red-Green-Blue Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo MỤC LỤC CHƯƠNG TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1.3 PHẠM VI ĐỀ TÀI 1.4 PHƯƠNG PHÁP NGHIÊN CỨU CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH 2.1.1 Khái niệm điểm ảnh - ảnh số 2.1.2 Độ phân giải ảnh 2.1.3 Mức xám ảnh 10 2.1.4 Phân loại ảnh 10 2.1.5 Xử lý ảnh phương pháp xử lý ảnh 12 2.1.6 Quy trình xử lí ảnh 13 2.2 PYTHON VÀ OPENCV 14 2.2.1 Python 14 2.2.2 OpenCV 16 2.3 KIẾN THỨC VỀ CỔNG COM 18 2.4 GIỚI THIỆU VỀ BOARD INTEL GALILEO 20 2.4.1 Các thành phẩn board Intel Galileo 20 2.4.2 Giao tiếp với Intel Galileo 25 2.4.3 Lập trình với Intel Galileo 26 2.4.4 Thuộc tính chân chế độ hoạt động 28 2.4.6 Reset tự động đặc điểm vật lí board Intel Galileo 29 CHƯƠNG XÂY DỰNG HỆ THỐNG 30 3.1 THIẾT KẾ VÀ XÂY DỰNG PHẦN CỨNG 30 3.1.1 Phân tích hệ thống 30 3.1.2 Thiết kế luồng liệu 31 3.1.3 SƠ ĐỒ KHỐI HỆ THỐNG 33 3.2 LẬP TRÌNH PHẦN MỀM VÀ GIẢI THUẬT 39 3.2.1 Lưu đồ giải thuật chương trình trình 39 3.2.2 Lưu đồ giải thuật chương trình 41 3.2.3 Giải thuật so sánh hai ảnh phương pháp trừ ảnh 45 KẾT LUẬN VÀ ĐỀ NGHỊ 56 TÀI LIỆU THAM KHẢO 58 PHỤ LỤC 59 HƯỚNG DẪN SỬ DỤNG 59 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo MỤC LỤC HÌNH Hình 2.1 Ảnh nhị phân nhị phân đảo bàn tay 10 Hình 2.2 Ảnh xám chó sói 11 Hình 2.3 Mô hình màu RGB 11 Hình 2.4 Ảnh màu hai chim cành 12 Hình 2.5 Thực thi lệnh python kết trả 15 Hình 2.6 Script python với chương trình đơn giản 16 Hình 2.7 Cấp phát quyền thực thi python cript Ubuntu 16 Hình 2.8 Các khả OpenCV nhận diện khuôn mặt (trên bên trái), phát đường đồng mức (trên bên phải), phát cạnh (phía dưới) 18 Hình 2.8 Kết nối board Intel Galileo cổng COM cách kết nối chân 19 Hình 2.9 Hình ảnh thực tế board Intel Galileo mặt trước (trái) mặt sau (phải) 20 Hình 2.10 Sơ đồ khối hệ thống board Intel Galileo 21 Hình 2.11 Vị trí thành phần phần cứng board Intel Galileo 22 Hình 2.12 Vị trí jumper board Intel Galileo 29 Hình 3.1 Kiến trúc tổng quát hệ thống 30 Hình 3.2 Luồng liệu nối kết hệ thống 32 Hình 3.3 Bộ xử lý board Intel Galileo 33 Hình 3.4 Bộ phận thu nhận ảnh webcam Logitech C920 đặt cố định với bàn điều khiển 34 Hình 3.6 Module LM2506 ắc quy 12V - 4Ah 35 Hình 3.7 Module Dimerled dùng điều khiển động 35 Hình 3.8 Hình ảnh động gạt nước dùng ô tô 35 Hình 3.9 Bố trí lắp đặt động gạt nước vào xe lăn nhóm 36 Hình 3.10 Cơ cấu bánh xích tải truyền lực từ đông đến bánh xe 37 Hình 3.11 3D USB SOUND HUB USB chia sẻ kết nối với webcam 37 Hình 3.12 Sơ đồ kết nối khối hệ thống 38 Hình 3.13 Toàn module phần cững bố trí cố định vào hộp bảo vệ 39 Hình 3.11 Lưu đồ giải thuật chương trình 40 Hình 3.11 Lưu đồ giải thuật chương trình lấy lại mẫu tay 41 Hình 3.11 Lưu đồ giải thuật chương trình lấy lại mẫu tay 42 Hình 3.12 Lưu đồ giải thuật chương trình so sánh ảnh mẫu với ảnh gốc 43 Hình 3.12 Lưu đồ giải thuật chương trình kiểm tra lỗi cử điều khiển 44 Hình 3.13 Hai hình đen hoàn toàn 45 Hình 3.14 Cử nắm đấm chụp lại kèm theo vật không mong muốn 46 Hình 3.15 Hai cử so sánh 46 Hình 3.16 Hai cử xử lý sang ảnh nhị phân 47 Hình 3.17 Hai cử xử lý sang ảnh nhị phân 47 Hình 3.18 Mẫu gốc 1, đóng khung lại, tương ứng xe dừng 47 Hình 3.19 Mẫu gốc 2, cử bàn tay duỗi ngón khép, tương ứng xe thẳng 48 Hình 3.20 Mẫu gốc 3, cử bàn tay duỗi ngón xòe, tương ứng xe rẽ phải 48 Hình 3.21 Mẫu gốc 4, cử bàn tay nắm ngón xòe, tương ứng xe rẽ trái 48 Hình 3.22 Mẫu gốc 5, cử bàn tay nắm ngón khép lại, tương ứng xe dừng có còi 49 Hình 3.23 Hai ảnh thực tế có LED nên LED 49 Hình 3.24 Hai có LED chuyển sang nhị phân chia làm phần 49 Hình 3.25 Hình ảnh LED bị lỗi điểm sang đặt gần 50 Hình 3.26 Hình ảnh mẫu đặt tay không so với mẫu gốc 50 Hình 3.27 Hình ảnh mẫu đặt tay không so với mẫu gốc xử lý 50 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Hình 3.28 Ảnh tay xuất nhị phân cắt góc ảnh 51 Hình 3.29 Ảnh tay xuất nhị phân cắt góc ảnh 51 Hình 3.30 Ảnh đấm xuất nhị phân cắt góc ảnh 51 Hình 3.31 Ảnh nấm đấm xuất nhị phân cắt góc ảnh 52 Hình 3.32 Ảnh vật thể lạ xử lý so sánh với trạng thái mẫu 52 Hình 3.33 Ảnh nhị phân chưa làm mịn 52 Hình 3.34 Ảnh nhị phần làm mịn 53 Hình 3.35 Ảnh hai mẫu tay 53 Hình 3.36 Ảnh hai mẫu tay xử lý 53 Hình 3.37 Ảnh tay người bị khuyết tật 54 Hình 3.38 Các góc ảnh cắt sau xuất nhị phân làm mịn 55 Hình 3.39 Hệ thống xe lăn thực tế 56 Hình 3.40 Hình ảnh nút nguồn hệ thống 59 Hình 3.41 Hình ảnh cảm biến chạm nhận dạng lựa chọn điều khiển người sử dụng 59 Hình 3.42 Hệ thống LED hiển thị trạng thái 60 Hình 3.43 Mẫu tương ứng với – xe dừng 60 Hình 3.44 Mẫu tương ứng bàn tay khép – xe thẳng 61 Hình 3.45 Mẫu tương ứng bàn tay khép có ngón mở – xe rẽ phải 62 Hình 3.46 Mẫu tương ứng nấm đấm có ngón mở – xe rẽ trái 63 Hình 3.47 Mẫu tương nấm đấm có ngón mở khép – xe phát kèn 64 MỤC LỤC BẢNG Bảng 2.1 Công dụng chân cổng nối tiếp chân (9 pin) theo chuẩn AT cách đấu nối chuyển đổi cổng nối tiếp chân sang 25 chân 19 Bảng 2.2 Tóm tắt thông số dòng điện, điện board Intel Galileo 24 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo TÓM TẮT Với người không may bị đột quỵ hay liệt bán thân việc lại điều khó khăn, phải di chuyển xe lăn Ở mức độ liệt nặng, sức tay yếu thao tác với cần điều khiển xe, phải dùng giải thuật hỗ trợ như: nhận dạng di chuyển mắt, cử động tay hay ý nghĩ Những giải thuật hầu hết dùng đến máy tính, có giá thành cao Bên cạnh đó, Intel vừa cho mắt bo vi điều khiển Intel Galileo, sản phẩm sử dụng chip Intel Quark X1000 với mục tiêu xây dựng ứng dụng Internet of Thing (IoT) Từ tham khảo trên, nhóm chúng em định chọn đề tài “Điều khiển xe lăn cử động tay sử dụng board Intel Galileo” Mục tiêu thiết kế hệ thống có giá thành thấp, dùng Intel Galileo nhận dạng cử bàn tay để điều khiển xe lăn Đề tài cần webcam kết nối với Intel Galileo chụp ảnh cử bàn tay xử lý qua phần mềm viết Python chạy hệ điều hành Linux Kết dự kiến, xây dựng hệ thống tự động thực thi chương trình mặc định, điều khiển xe lăn cử động tay chuẩn theo bàn tay người, điều kiện ánh sáng ổn định độ trễ thời gian đáp ứng cho phép Từ khóa: Intel Galileo, Python, điều khiển xe lăn, cử động tay, xử lý ảnh ABSTRACT Who unfortunately had a stroke or hemiplegia, the travel is a difficult thing, must travel by wheelchair At a high level, the strength of hand has been decreased, can’t work with the joystick of a wheelchair, must be use of the algorithm supports such as identification of eye movements, hand gestures or by thought All the algorithms used to computers, have a very high cost Besides, Intel has launched the microcontroller boards Intel Galileo, the first products to use chip Intel Quark X1000 aimed building Applications Internet of Thing (IoT) From the above reference, we decided to choosen the project “Wheelchair control by hand movements using Intel Galileo board” The objective is design a low-cost system, use Intel Galileo could recognize hand gestures to control the wheelchair The project need a webcam connected to Intel Galileo imaging of hand gestures and processed by software written in Python that runs on Linux operating system Expected results, build a system to automatically execute load default programs, control a wheelchair by moving his hand standardized per person, light stability and latency time response was allowed Keywords: Intel Galileo, Python, controlling wheelchair, hand movements, image processing Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Hình 3.28 Ảnh tay xuất nhị phân cắt góc ảnh Tiến hành so sánh ảnh mẫu tay không hình mẫu gốc tay Và kết thu hai ảnh không giống góc trên, góc góc trái Hình 3.29 Ảnh tay xuất nhị phân cắt góc ảnh Tiến hành so sánh ảnh mẫu tay không hình mẫu gốc tay Và kết thu hai ảnh không giống góc trên, góc góc trái Hình 3.30 Ảnh đấm xuất nhị phân cắt góc ảnh Tiến hành so sánh ảnh mẫu tay không hình mẫu gốc đấm Và kết thu hai ảnh không giống góc trên, góc góc trái 51 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Hình 3.31 Ảnh nấm đấm xuất nhị phân cắt góc ảnh Tiến hành so sánh ảnh mẫu tay không hình mẫu gốc nắm đấm Và kết thu hai ảnh không giống góc trên, góc góc trái Dựa vào tất kết so sánh với mẫu tay gốc Ta kết luận ảnh mẫu đặt không với mẫu gốc Ở trạng thái hệ thống tính toán, số lần sai lệch liên tục lần phát đoạn audio cảnh báo cho người dùng cho phép người dùng chụp lấy mẫu lại muốn Tương tự với trạng thái tay đặt không , bàn điều khiển có vật thể lạ thi sau xử lý cho kết tương tự cảnh báo liên tục lần lấy mẫu liên tiếp không nhân dạng cử Hình 3.32 Ảnh vật thể lạ xử lý so sánh với trạng thái mẫu Chú ý: Nếu chuyển ảnh sang nhị phân không làm mịn ảnh ảnh nhị phân thu bị nhiễu ảnh hướng môi trường hình sau đây: Hình 3.33 Ảnh nhị phân chưa làm mịn 52 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Hình 3.34 Ảnh nhị phần làm mịn Trong thực tế ảnh tay người dùng điều khiển ảnh mẫu gốc đặt trạng thái mẫu gốc có sai lệch vị trí ảnh hưởng môi trường khác Ví dụ sau cho ta thấy rõ sai lệch Ví dụ 4: Ta có ảnh người dùng điều khiển ảnh mẫu gốc Hai ảnh tương đối giống người dùng cố ý để tay giống ảnh mẫu để điều khiển dùng sai lệch vị trí, hệ thống xử lý sau: Ảnh tay người dùng Ảnh mẫu gốc tay Hình 3.35 Ảnh hai mẫu tay Tiến hành xuất nhị phân, làm mịn ảnh cắt ảnh làm góc: Ảnh tay người dùng Ảnh mẫu gốc tay Hình 3.36 Ảnh hai mẫu tay xử lý Sử dụng hàm countNonZero cho góc ảnh: Đối với ảnh tay người dùng: A=countNonZero(GocTraiAnhNguoiDung)= 3740 B= countNonZero(GocPhaiAnhNguoiDung)=3560 C= countNonZero(GocTreniAnhNguoiDung)= 63605 D= countNonZero(GocDuoiAnhNguoiDung)= 11348 53 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Đối với ảnh mẫu gốc tay: A1=countNonZero(GocTraiAnhMauGoc)= 3740 B1= countNonZero(GocPhaiAnhMauGoc)= 3560 C1= countNonZero(GocTreniAnhMauGoc)= 61500 D1= countNonZero(GocDuoiAnhMauGoc)=11800 Trừ vế theo góc ảnh lấy giá trị tuyệt đối ta được: SoSanhTrai = |A − A1| = SoSanhPhai = |B − B1| = SoSanhTren = |C − C1| = 2105 SoSanhDuoi = |D − D1| = 452 Nếu lấy ảnh so sánh với thi giá trị so sánh trên, dưới, trái, phải Nhưng thực tế có sai lệch vị trí đặt tay nên giá trị so sánh thường không không Dựa vào điều , để so sánh ảnh ta cần đặt khoảng giới hạn cho vùng ảnh so sánh khoảng tương đối Khoàng giới hạn tính toán dựa thực nghiệm để có độ xác cao Ví dụ : Giả sử trường hợp tay người điều khiển bị dị tật bẫm sinh, số ngón tay giới hạn so với ngưới bình thường Hình 3.37 Ảnh tay người bị khuyết tật Giải vấn đề nhân dạng trước tiên cần phải chụp lại mẫu tay người dùng để làm ảnh mẫu góc so sánh , cần có giải thuật riêng giúp việc so sánh xác cách chia nhỏ vùng ảnh cần so sánh , cụ thể với bàn tay HÌNH … ta cần tách góc ảnh làm phần để có phép so sánh chuẩn xác 54 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Hình 3.38 Các góc ảnh cắt sau xuất nhị phân làm mịn Đối với trường hợp cụ thể ta cần chia góc ảnh thành nhiều phần để so sánh ảnh cách tốt 55 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo KẾT LUẬN VÀ ĐỀ NGHỊ Đề tài thực nghiên cứu tạo xe lăn điều khiển cử tay sử dụng board Intel Galileo nhằm giúp người sử dụng dễ dàng thao tác, cụ thể người bệnh bị hạn chế khả hoạt động thể Trong việc điều khiển xe di chuyển dựa vào cử chi tay người điều khiển Hình ảnh thực tế xe lăn Hình Hình 3.39 Hệ thống xe lăn thực tế Sau trình thực hiện, đề tài đạt số kết sau:  Về phần cứng: Sử dụng Board Intel Galileo Linux Lắp đặt hệ thống webcam hệ thống âm kết nối với board ổn định  Về phần mềm: Sử dụng ngôn ngữ Python thư viện Opencv để giải vấn đề xử lý hình ảnh  Về phần khí: Chế tạo thay đổi từ xe lăn bình thường thành hệ thống có đầy đủ chức hoạt động tốt Về bản, hệ thống đạt yêu cầu đặt đề tài Tuy vậy, giới hạn người , thiết bị, kinh phí, thời gian nghiên cứu nên đề tài số hạn chế không mong muốn  Về phần cứng: Chưa đạt kết tối ưu việc tiết kiệm lượng Sử dụng linh kiện có độ bền không cao hiêu suất chưa tối ưu ( kinh phí giới hạn )  Về phần mềm: Sử dụng giải thuật đơn giản xử lý ảnh ( trừ ảnh dễ bị nhiễu từ môi trường) Cần chụp ảnh lưu đè vào thẻ SD liên tục nên tốc độ xử lý chưa nhanh 56 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo  Về phần khí: Do kinh phí khả khí chưa cao nên nhiều sai sót.Hầu hết tự chế nên độ bền không cao bánh xe chưa hoàn toàn mượt mà Do giới hạn khuôn khổ thời gian tháng nên kết công việc thực hiển mức chấp nhận được, đặt yêu cầu đặt ban đầu Tuy vậy, nhóm thực mong muốn đề tài phát triển them với số ý tưởng, đề xuất sau:  Về phần cứng: Nâng cấp thêm cảm biến siêu âm xung quanh nhằm cảnh báo cho người dùng có vật cản bất ngờ hay đường rẽ bị giới hạn Và hệ thống cảm biến mưa tự động bật mái che cho người dùng Sử dụng webcam camera tốt hỗ trợ chụp vào ban đêm giảm nhiễu cho ảnh Sử dụng xử lí có tốc độ cao tiết kiệm lượng hỗ trợ tối đa xử lý ảnh  Về phần mềm: Cải thiện code sử dụng thư viện khác opencv cách tối ưu.Thêm lệnh cảnh báo người dùng sử dụng sai cử cảnh báo vật cản góc rẽ giới hạn  Về phần khí: Sử dụng động chuyên dụng có công suất cao Acquy có công suất lớn dung lượng lớn Sử dụng hôp nhông số chuyên dụng giúp xe hoạt động cách trơn tru Nâng cấp hệ thống mái che tự động cho người sử dụng 57 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo TÀI LIỆU THAM KHẢO [1] TEACHRUM http://www.techrum.vn/threads/tong-hop-nhung-su-kien-noi-bat-ngaythu-2-tai-build-2015.22596/ [2] KhoahocTV http://khoahoc.tv/timkiem/%C4%91i%E1%BB%81u+khi%E1%BB%83 n+xe+l%C4%83n/index.aspx [3] Wiki.archlinux https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architect [4] Linuxdie http://linux.die.net/man/1/aplay [5] Sparkfun https://learn.sparkfun.com/tutorials/galileo-getting-started-guide [6] Github https://github.com/galileo-chofrock/pyGalileo [7] Ksec http://ksec.info/forums/python.8/ [8] Stachoverflow http://stackoverflow.com/questions/14187032/opencv-and-connecting-awebcam 58 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo PHỤ LỤC HƯỚNG DẪN SỬ DỤNG Giới thiệu : Xe lăn điều khiển cử tay tạo nhằm đáp ứng nhu cầu người dùng, xe điều khiển cử tay đơn giản người sử dụng không tốn nhiều sức cho việc điều khiển sử dụng Xe sử dụng board Intel Galileo làm xử lý trung tâm Webcam để chụp nhận ảnh điều khiển Và trước sử dụng bạn cần chụp lấy mẫu tay trước để điều khiển xe cách mượt mà thoải mái Dưới xin hướng dẫn gồm bước sau:  Bước 1: Sau bấm nút khởi động xe hệ thống khởi động ( khoảng 60 giây ) Ở bước đoạn nhạc phát sau lời chào đến bạn Hình 3.40 Hình ảnh nút nguồn hệ thống  Bước 2: Ở giai đoạn hệ thống kiểm tra bạn có muốn lấy lại mẫu tay hay không Nếu muốn chụp lấy lại mẫu tay bạn đặt ngón tay cảm biến chạm đoạn thoại xác nhận lựa chọn bạn Nếu bạn muốn điều khiển không lấy mẫu tay thi không để tay lên cảm biến chạm Chú ý giai đoạn khoảng giây để bạn định lựa chọn Sẽ có đèn bạn dễ nhận biết Hình Hình 3.41 Hình ảnh cảm biến chạm nhận dạng lựa chọn điều khiển người sử dụng 59 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Hình 3.42 Hệ thống LED hiển thị trạng thái  Bước 3: Nếu bạn không đặt tay lên bàn phím cảm ứng vui lòng bỏ qua bước Đầu tiên đoạn thoại phát lên xác nhận bạn chọn lấy lại mẫu tay Chúng ta cần lấy mẫu Vậy nên bạn nghe thật kĩ làm theo hướng dẫn thoại phát Mẫu thứ 1: (Tương ứng với không điều khiển , xe tự động dừng ) Vui lòng không đặt bàn tay lên bàn điều khiển mẫu hình đây: Hình 3.43 Mẫu tương ứng với – xe dừng 60 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Mẫu thứ 2: Tương ứng với điều khiển xe thẳng Bạn đặt bàn tay hình Hãy nhớ đặt tay cố định không di chuyển nên khép ngón tay lại Hình 3.44 Mẫu tương ứng bàn tay khép – xe thẳng 61 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Mẫu thứ 3: Tương ứng với điều khiển xe rẽ phải Vẫn giữ tư tay mẫu trc lần bạn giang rộng ngón hết cỡ sang trái ( phải) hay ngang mức vẽ điều khiển Hình Hình 3.45 Mẫu tương ứng bàn tay khép có ngón mở – xe rẽ phải 62 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Mẫu thứ 4: Tương ứng với điều khiển xe rẽ trái Vẫn giữ tư tay mẫu trước lần bạn giữ ngón vi trí cuộn ngón lại nắm đấm Chú ý ngón giữ giang qua trái ( phải) hết cỡ hay mức vẽ sẵn bàn điều khiển Hình 3.46 Mẫu tương ứng nấm đấm có ngón mở – xe rẽ trái 63 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo Mẫu thứ 5: Tướng ứng với điều khiển xe dừng lại Vẫn giữ tư tay mẫu trước lần bạn thu gọn ngón cai lại Lúc tay bạn nắm đấm hình Tốt hết bạn nên nắm chặt khít ngón tay Và cử cần chụp cuối Hình 3.47 Mẫu tương nấm đấm có ngón mở khép – xe phát kèn 64 Điều khiển xe lăn bằn cử động tay sử dụng board Intel Galileo  Bước 4: Lời thoại phát mời bạn điều khiển xe Ở giai đoạn bạn hoàn toàn làm chủ xe điều khiển theo ý muốn bạn Nhớ cử điều khiển phải khớp với mẫu Độ trễ cử giây Nên cần tính toán hướng trước di chuyển Ví dụ: Khi đặt tay trạng thái thẳng ( Mẫu 1) bạn muốn rẽ sang phải kể từ bạn chuyển tay sang trạng thái ( mẫu ) sau giây xe rẽ sang phải Góc quay lần rẽ 25 độ Bạn nên tính toán kĩ trước rẽ Ngoài bàn LED điều khiển có pin mặt trời nhằm sạc điện cho acquy , vui lòng không đặt lên Ở bên pin mặt trời có đèn LED nhằm để báo mức điện bình , đèn chớp bạn nên dừng lại để sạc pin Intel Galileo 65 [...]... khối của board Intel Galileo thể hiện trong hình 2.9 và 2.10 Hình 2.9 Hình ảnh thực tế của board Intel Galileo mặt trước (trái) và mặt sau (phải) 20 Điều khiển xe lăn bằn bằng cử động tay sử dụng board Intel Galileo Hình 2.10 Sơ đồ khối hệ thống của board Intel Galileo 21 Điều khiển xe lăn bằn bằng cử động tay sử dụng board Intel Galileo Sơ lược về các thành phần phần cứng trên board Intel Galileo: ... Khi bắt đầu điều khiển xe, người sử dụng sẽ được hỗ trợ bằng giọng nói giúp họ nhanh nắm bắt cách thức hoạt động của xe Sau đó hình ảnh bàn tay khi điều khiển được chụp lại rồi gửi lên board Galileo và được chương trình viết bằng Python xử lý 7 Điều khiển xe lăn bằn bằng cử động tay sử dụng board Intel Galileo bằng giải thuật trừ ảnh và kiểm tra vùng trống, cuối cùng xuất điều khiển cho động cơ Do giới... toàn hệ thống là board Intel Galileo, được gắn thẻ nhớ SD 8GB có chứa file Galileo Linux Image và các các dữ liệu cần thiết khác nhằm giúp truy xuất được hệ điều hành Linux trên board và thực thi các chương trình xử lý ảnh điều khiển xe Cử động tay Xe lăn Webcam Intel Galileo board Hình 3.1 Kiến trúc tổng quát của hệ thống 30 Điều khiển xe lăn bằn bằng cử động tay sử dụng board Intel Galileo Có thể nhận... già Xe điều khiển bằng “hớp và thổi” như cách mà Christopher Reeve (tài tử từng nổi tiếng với vai siêu nhân) áp dụng trước khi qua đời vào năm 2004 6 Điều khiển xe lăn bằn bằng cử động tay sử dụng board Intel Galileo Theo đó, ông thổi vào một ống hút để làm xe lăn di chuyển tới lui, khi điều khiển xe di chuyển gây ra những khó khăn trong việc hô hấp của chính người khiển Hay việc điều khiển xe lăn bằng. .. thích nên tìm năng của Galileo là rất lớn Từ những phân tích đã trình bày, nhóm chúng em chọn đề tài Điều khiển xe lăn bằng cử động tay sử dụng board Intel Galileo Bằng việc sử dụng Intel Galileo xây dựng nên một xe lăn chạy bằng điện dùng những cử chỉ tay điều khiển xe lăn là một vấn đề khá mới mẻ Điều này đã tạo ra phương thức giao tiếp hoàn toàn mới giữa con người và các thiết bị, đề tài cũng mang... về sau 1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ Hiện nay trên thế giới có nhiều phiên bản xe lăn được tạo ra với các phương pháp điều khiển đặc trưng riêng biệt như: công nghệ điều khiển bằng joystick, bằng hơi thở, bằng lưỡi, bằng mắt hoặc suy nghĩ Xe điều khiển bằng joystick đòi hỏi người dùng phải điều khiển bằng tay hoặc một chi bị tật mà chi còn sức mạnh thì mới có thể điều khiển xe lăn bằng phương pháp... Ứng dụng cổng COM trong sử dụng thông thường của một máy tính:  Bàn phím máy tính (trước đây) 18 Điều khiển xe lăn bằn bằng cử động tay sử dụng board Intel Galileo  Chuột điều khiển (trước đây, hiện nay bàn phím và chuột sử dụng các cổng PS/2 hoặc USB)  Modem (quay số)  Ứng dụng cổng COM trong các chuyên ngành khác  Kết nối với các thiết bị điều khiển (các cổng RS-232, RS-422 ) trong ngành tự động. .. tiếp trên board Intel Galileo  Tìm hiểu về hệ điều hành Linux chạy trên board Intel Galileo, cách kết nối với PC và các thiết bị ngoại vi như: webcam, card âm thanh, …  Tìm hiểu về ngôn ngữ lập trình Python và OpenCV  Thiết kế lắp đặt các phần cứng trên xe lăn  Khảo sát kết quả thực tế và hoàn thiện hệ thống  Kết quả và đánh giá 8 Điều khiển xe lăn bằn bằng cử động tay sử dụng board Intel Galileo. .. nhân sử dụng CPU thế hệ thứ tư (486) Chúng thường được tích hợp sẵn trên các bo mạch chủ thông qua chíp Super I/O (thay cho các chíp UART trước đây) để thuận tiện hơn mà không cần sử dụng các bo mạch riêng cho chúng Ứng dụng kết nối thiết bị của cổng COM trong hình 2.9 Hình 2.8 Kết nối board Intel Galileo bằng cổng COM và cách kết nối các chân 19 Điều khiển xe lăn bằn bằng cử động tay sử dụng board Intel. .. giản trên Galileo Một số phần mở rộng có thể kể đến như:  Wifi driver: Galileo hỗ trợ hầu hết các chipset Wifi card của Intel, chỉ cần cài đặt đầy đủ Wifi driver là có thể chạy được hầu hết các card hỗ trợ Wifi Chỉ cần cắm nó vào khe cắm ở mặt dưới của board 26 Điều khiển xe lăn bằn bằng cử động tay sử dụng board Intel Galileo  Python/PHP: Bạn là người có đủ trình độ để nghiên cứu mạch Intel Galileo

Ngày đăng: 05/06/2016, 12:49

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan