MỤC TIÊU Đề tài “Robot vận chuyển mẫu xét nghiệm trong bệnh viện” hướng đến mục tiêu tự động hoá trong bệnh viện, góp phần xây dựng bệnh viện hiện đại, thông minh, giảm bớt gánh nặng côn
Trang 1BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH vii
MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii
LỜI CAM ĐOAN v
LỜI CẢM ƠN vi
MỤC LỤC vii
DANH MỤC HÌNH xi
DANH MỤC BẢNG xiv
DANH MỤC CÁC TỪ VIẾT TẮT xv
CHƯƠNG 1: TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 2
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 3
1.5 BỐ CỤC 3
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4
2.1 ROBOT VẬN CHUYỂN PHỤC VỤ TRONG LĨNH VỰC Y TẾ 4
2.1.1 Giới thiệu 4
2.1.2 Một số robot vận chuyển trong bệnh viện 4
2.1.2.1 Robot Noah 4
2.1.2.2 Robot RP7 5
2.1.2.3 Robot vận chuyển chất thải y tế ở Anh 6
2.1.2.4 Robot TUG 7
2.2 PHƯƠNG PHÁP NHẬN DẠNG LINE 7
2.2.1 Giới thiệu 7
2.2.2 Thuật toán Contour 8
2.2.2.1 Giới thiệu 8
2.2.2.2 Thuật toán 8
2.2.3 Thuật toán Moment 12
2.2.3.1 Giới thiệu 12
Trang 2BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH viii
2.2.3.2 Thuật toán 12
2.3 NGÔN NGỮ LẬP TRÌNH PYTHON 14
2.3.1 Giới thiệu 14
2.3.2 Đặc điểm 15
2.4 THƯ VIỆN OPENCV 15
2.4.1 Giới thiệu 15
2.4.2 Đặc điểm 15
2.5 BỘ TRUYỀN NHẬN UART 16
2.6 GIỚI THIỆU VỀ WEB SERVER VÀ NGÔN NGỮ LẬP TRÌNH HTML 17
2.6.1 Khái niệm web server 17
2.6.2 Nguyên lí hoạt động của web server 18
2.6.3 Các giao thức sử dụng của web server 18
2.6.3.1 Giao thức HTTP 18
2.6.3.2 Giao thức FTP 19
2.6.4 Khái niệm ngôn ngữ lập trình HTML 19
2.6.5 Cấu trúc cơ bản của HTML 20
2.7 CÁC CHUẨN TRUYỀN THÔNG KHÔNG DÂY 21
2.7.1 Một số công nghệ kết nối trong truyền thông không dây 21
2.7.2 Tìm hiểu chuẩn IEEE 802.11 22
2.7.3 Tìm hiểu về chuẩn IEEE 208.16 23
2.8 TỔNG QUAN VỀ PHẦN CỨNG 24
2.8.1 Kit Raspberry Pi 3 Model B 24
2.8.2 Mô đun Raspberry Pi Camera 25
2.8.3 Tổng quan về ESP8266 NodeMCU Lua CP1202 26
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ 27
3.1 GIỚI THIỆU 27
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 27
3.2.1 Thiết kế sơ đồ khối 27
3.2.2 Thiết kế phần cứng 28
3.2.2.1 Khối điều khiển và xử lý trung tâm 28
Trang 3BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ix
3.2.2.2 Khối thu thập hình ảnh 31
3.2.2.3 Khối cảm biến vật cản 33
3.2.2.4 Khối động cơ 35
3.2.2.5 Khối nguồn 39
3.2.3 Sơ đồ nguyên lý toàn mạch 42
CHƯƠNG 4: THI CÔNG HỆ THỐNG 43
4.1 CHUẨN BỊ LINH KIỆN – MÔ ĐUN 43
4.2 LẮP RÁP – NỐI DÂY 43
4.2.1 Sơ đồ nối dây 43
4.2.2 Vẽ khung robot 44
4.2.2.1 Giới thiệu phần mềm SketchUp 44
4.2.2.2 Khung robot sau khi thiết kế 45
4.3 LẬP TRÌNH HỆ THỐNG 46
4.3.1 Lập trình trên Raspberry Pi 3 46
4.3.1.1 Cài đặt hệ điều hành trên Raspberry Pi 46
4.3.1.2 Cài đặt thư viện Opencv trên Raspberry Pi 3 47
4.3.1.3 Lưu đồ giải thuật robot tự di chuyển 50
4.3.1.4 Quy trình dò tìm đường line 52
4.3.1.5 Giao diện lập trình 53
4.3.2 Lập trình Android 53
4.3.2.1 Giới thiệu phần mềm Android Studio 53
4.3.2.2 Lưu đồ giải thuật 55
4.3.2.3 Giao diện phần mềm Android Studio 59
4.3.3 Lập trình ESP8266 60
4.3.3.1 Lưu đồ giải thuật 60
4.3.3.2 Giao diện phần mềm Arduino 65
4.4 HƯỚNG DẪN THAO TÁC, SỬ DỤNG 66
4.4.1 Thao tác đối với Raspberry Pi 66
4.4.1.1 Remote Desktop 66
4.4.1.3 Thực thi code ở chế độ điều khiển 69
Trang 4BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH x
4.4.2 Thao tác đối với ứng dụng trên điện thoại 69
CHƯƠNG 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 71
5.1 KẾT QUẢ 71
5.1.1 Kết quả thi công phần cứng 71
5.1.2 Kết quả nhận dạng line 72
5.1.2.1 Kết quả nhận dạng line trên nhiều nền màu 72
5.1.2.2 Kết quả nhận dạng line và điều khiển trong thực tế 75
5.1.3 Kết quả điều khiển robot bằng ứng dụng trên điện thoại 79
5.2 NHẬN XÉT VÀ ĐÁNH GIÁ 79
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 81
6.1 KẾT LUẬN 81
6.1.1 Kết quả đạt được 81
6.1.2 Những mặt hạn chế 81
6.2 HƯỚNG PHÁT TRIỂN 81
TÀI LIỆU THAM KHẢO 82
PHỤ LỤC 84
Trang 5BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH xi
DANH MỤC HÌNH
Hình 2.1: Robot Noah ở Trung Quốc 5
Hình 2.2: Robot chuẩn đoán bệnh RP7 5
Hình 2.3: Robot vận chuyển chất thải y tế trong bệnh viện ở Anh 6
Hình 2.4: Robot TUG 7
Hình 2.5: Ví dụ về đường viền (Contour) 8
Hình 2.6: Mô tả quá trình tìm contour của thuật toán Square Tracing 9
Hình 2.7: Ví dụ trường hợp thuật toán chạy sai 9
Hình 2.8: Ví dụ trường hợp thuật toán chạy đúng 10
Hình 2.9:Mô tả quá trình tìm contour của thuật toán Moore-Neighbor Tracking 10
Hình 210: Mô tả quá trình tìm Contour của thuật toán Radial Sweep 11
Hình 2.11: Mô tả quá trình tìm contour của thuật toán Theo Pavlidis’ Algorithm 12
Hình 2.12: Bất biến tịnh tiến 14
Hình 2.13: Tín hiệu tương đương của UART và RS232 16
Hình 2.14: Sơ đồ khối của UART 17
Hình 2.15: Raspberry Pi 3 Model B 24
Hình 2.16: Raspberry Pi Camera Rev 1.3 26
Hình 2 17: Mô đun Wifi ESP8266 NodeMCU Lua CP2102 26
Hình 3.1: Sơ đồ khối toàn hệ thống 27
Hình 3.2: Ngoại vi của Raspberry Pi 3 model B 29
Hình 3.3: Sơ đồ chân của Raspberry Pi 3 model B 30
Hình 3.4: Sơ đồ ra chân của ESP8266 NodeMCU Lua CP2102 30
Hình 3.5: Raspberry Pi Camera Rev 1.3 31
Hình 3.6: Động cơ servo SG90 32
Hình 3.7: Sơ đồ nối dây và nguyên lý hoạt động của động cơ servo SG90 33
Hình 3.8: Mặt trước và sau của srf05 33
Hình 3.9: Mô tả lực ma sát trượt 37
Hình 3.10: Động cơ giảm tốc DCM37 38
Hình 3.11: Mô đun L298N 38
Hình 3.12: Nguyên lý hoạt động của cầu H 39
Hình 3.13: Sơ đồ nguyên lý mô đun L298N 39
Hình 3.14: Bánh xe 80mm 39
Hình 3.15: Pin dự phòng Xaomi 10000AMh Gen 2 40
Hình 3.16: Bình ắc quy Globe 41
Hình 3.17: Sơ đồ nguyên lý toàn mạch 42
Hình 4.1: Sơ đồ nối dây toàn hệ thống 44
Hình 4.2: Mặt trước khung robot 45
Trang 6BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH xii
Hình 4.3: Mặt bên khung robot 45
Hình 4.4: Mặt sau khung robot 46
Hình 4.5: Trang web tải hệ điều hành Raspbian 46
Hình 4.6: Định dạng thẻ nhớ bằng phần mềm SD Card Formatter 47
Hình 4.7: Ghi hệ điều hành Raspbian vào thẻ nhớ bằng phần mềm NetBSD Disk Image Tool 47
Hình 4.8: Lệnh kiểm tra OpenCV 49
Hình 4.9: Lưu đồ giải thuật lập trình Python trên Raspberry Pi 51
Hình 4.10: Quy trình dò tìm line 52
Hình 4.11: Giao diện lập trình Python trên Raspberry Pi 3 53
Hình 4.12: Lưu đồ giải thuật lập trình Android 58
Hình 4.13: Giao diện phần mềm Android Studio – Màn hình chính 59
Hình 4.14: Giao diện phần mềm Android Studio – Main Class 59
Hình 4.15: Giao diện phần mềm Android Studio – class truyền nhận dữ liệu 59
Hình 4.16: Lưu đồ chương trình trên mô đun ESP8266 NodeMCU Lua CP2102 64
Hình 4.17: Giao diện lập trình Arduino 1.8.5 65
Hình 4.18: Kết nối cổng Lan RJ45 trên Raspberry Pi 3 66
Hình 4.19: Đặt địa chỉ IP cho cổng LAN 66
Hình 4.20: Quét IP của Raspberry Pi 3 67
Hình 4.21: Nhập IP của Raspberry Pi vào Remote Desktop 67
Hình 4.22: Nhập username và password 67
Hình 4.23: Giao diện Desktop của Raspberry Pi 68
Hình 4.24: Truy cập địa chỉ IP của Raspberry Pi 68
Hình 4.25: Giao diện Desktop 68
Hình 4.26: Lệnh thực thi code ở chế độ tự di chuyển 69
Hình 4.27: Lệnh thực thi coe ở chế độ điều khiển 69
Hình 4.28: Ứng dụng android sau khi cài đặt 70
Hình 4.29: Giao diện điều khiển robot trên ứng dụng 70
Hình 5.1: Camera và cảm biến siêu âm 71
Hình 5.2: Bên trong robot 71
Hình 5.3: Mô hình robot tổng thể 72
Hình 5.4: Nhận dạng line trên nền màu hồng 72
Hình 5.5: Nhận dạng line trên nền màu vàng 73
Hình 5.6: Nhận dạng line trên nền màu xanh lam 73
Hình 5.7: Nhận dạng line trên nền màu trắng 73
Hình 5.8: Nhận dạng line trên nền màu đỏ 74
Hình 5.9: Nhận dạng line trên nền màu xanh lá 74
Hình 5.10: Nhận dạng line trên nền màu tím 74
Trang 7BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH xiii
Hình 5.11: Kết quả nhận dạng line và điều khiển rẽ phải 76
Hình 5.12: Kết quả nhận dạng line và điều khiển rẽ trái 76
Hình 5.13: Kết quả nhận dạng line và điều khiển chạy thẳng 77
Hình 5.14: Không có line 77
Hình 5.15: Kết quả nhận dạng line bị đứt quãng 77
Hình 5.16: Kết quả nhận dạng line có nhiễu các vật thể màu đen 78
Hình 5.17: Giao diện điều khiển trên ứng dụng điện thoại 79
Trang 8BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH xiv
DANH MỤC BẢNG
Bảng 2.1: Thông số của Raspberry Pi 3 model B 24
Bảng 3.1: Hệ số ma sát trượt của một số vật liệu…… ………36
Bảng 4.1: Các linh kiện, mô đun sử dụng……… ………43
Bảng 5.1: Kết quả nhận dạng line trên 7 nền màu…… ………75
Bảng 5.2: Bảng kết quả nhận dạng line và điều khiển trong thực tế 78
Trang 9BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH xv
DANH MỤC CÁC TỪ VIẾT TẮT
IrDA Infrared Data Association
IR Infrared Remote
ISM Industrial Scientific Medical
LAN IEEE Local Area Network Institute of Electrical and Electronics
EngineersMAC Media Access Control
WLAN Wireless Local Area Network
TKIP Temporal Key Integrity Protocol
AES Advanced Encryption Standard
WEP Wired Equivalent Privacy
AES-OCB Advanced Encryption Standard and Offset Codebook
MAN Metropolitan Area Network
PHY Physical Layer
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
IP Internet Protocol
TCP Transmission Control Protocol
FTP File Transfer Protocol
DC Direct Current
GPIO General Purpose Input Output
CPU Central Processing Unit
ARM Advanced RISC Machine
Mbps Megabit per second
SIFT Scale Invariant Feature Transform
SURF Speeded up robust features
LSB Least Significant Bit
MSB Most Significant Bit
IC Integrated Circuit
UART Universal synchronous Asynchronous Receiver Transmitter
PWM Pulse-Width Modulation
Trang 10BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 1
CHƯƠNG 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ
Cùng với sự phát triển không ngừng của các ngành khoa học kỹ thuật, các ngành công nghiệp tự động hóa cũng phát triển nhanh chóng Việc áp dụng máy móc hiện đại vào sản xuất là một yêu cầu không thể thiếu trong các nhà máy nhằm tăng năng suất, tăng chất lượng và giảm giá thành sản phẩm Song song với sự phát triển đó, công nghệ chế tạo robot cũng phát triển mạnh mẽ, đặc biệt là ở các nước phát triển nhằm đáp ứng nhu cầu về sản xuất, sinh hoạt và an ninh quốc phòng Chủng loại robot ngày nay khá
đa dạng về hình thức cũng như có thể thực hiện được rất nhiều chức năng như thăm dò, chinh phục vũ trụ, hỗ trợ, giúp đỡ người khuyết tật, vận chuyển đồ vật và giám sát an ninh cho ngôi nhà, [22]
Tại Việt Nam, với việc đẩy mạnh cuộc cách mạng công nghệ 4.0, cụ thể là trong việc phát triển các robot có tính ứng dụng cao trong đời sống cũng như sản xuất Đã có nhiều công trình nghiên cứu khoa học mang tính đột phá cao trong tự động hóa để áp dụng vào thực tiễn dây chuyền sản xuất và đặc biệt là ứng dụng các khoa học công nghệ cao vào y tế nhằm giảm gánh nặng về nhân lực, tăng độ chính xác, ổn định, đồng thời giảm thiểu các tai nạn về an toàn lao động trong bệnh viện [23]
Xuất phát từ những điểm nêu trên, cùng với sự phát triển của nhiều loại robot phục
vụ cho nhu cầu khác nhau của con người, robot phục vụ trong bệnh viện được nghiên cứu và ứng dụng tại rất nhiều quốc gia trên thế giới Với sự phát triển vượt bậc của nền kinh tế, khoa học kỹ thuật, việc thay thế con người bởi các robot hỗ trợ là điều cần thiết Trong thực tế, ngành y tế đã và đang chịu sức ép lớn khi thiếu nguồn nhân lực và
cả những bất cẩn, sai sót mang đến hậu quả nghiêm trọng do phải làm việc quá sức của đội ngũ nhân viên bệnh viện Nên cần chú trọng đầu tư công nghệ tự động, nâng cấp các bệnh viện thành bệnh viện thông minh, mang đến những dịch vụ tốt nhất cho người dân
và giảm áp lực công việc cho đội ngũ nhân viên y tế
Đề tài “Robot vận chuyển mẫu xét nghiệm trong bệnh viện” hướng đến vấn đề xây dựng bệnh viện thông minh trong cuộc cách mạng công nghệ 4.0 Hiện tại, ở một số nước phát triển như Mỹ, Anh, Nhật Bản, Trung Quốc,… đang trong quá trình thử
Trang 11BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 2
nghiệm robot vận chuyển trong bệnh viện, với hi vọng về sự hoạt động hiệu quả mà nó mang lại sẽ làm thay đổi phương thức hoạt động của bệnh viện ngày càng hiện đại hơn Nhưng vấn đề về giá thành và sự phù hợp với cơ sở hạ tầng, cơ sở vật chất ở các bệnh viện trong nước cản trở sự tiếp cận của các công nghệ robot thế giới
Từ những yêu cầu đặt ra, nhóm chúng tôi quyết định chọn đề tài “Robot vận chuyển mẫu xét nghiệm trong bệnh viện” với hy vọng góp phần giảm bớt gánh nặng công việc cho đội ngũ nhân viên bệnh viện, giảm thiểu tính trạng di chuyển liên tục, và cúng góp phần giải quyết tình trạng thiếu nguồn nhân lực, từ đó người dân sẽ được phục vụ tốt hơn Ngoài ra, đề tài cũng mở ra hướng tiếp cận mới trong vấn đề xây dựng bệnh viện thông minh, giám sát an ninh di động, robot hoạt động tự hành với độ chính xác cao sẽ giúp giảm thiểu tình trạng bất cẩn, sai sót của con người trong quá trình làm việc
1.2 MỤC TIÊU
Đề tài “Robot vận chuyển mẫu xét nghiệm trong bệnh viện” hướng đến mục tiêu
tự động hoá trong bệnh viện, góp phần xây dựng bệnh viện hiện đại, thông minh, giảm bớt gánh nặng công việc cho đội ngũ nhân viên ngành y tế, với các mục tiêu cụ thể:
- Robot hoạt động ở hai chế độ là tự di chuyển theo quỹ đạo cố định đã định sẵn
và chế độ điều khiển từ ứng dụng được cài đặt trên điện thoại chạy hệ điều hành Android
để vận chuyển các mẫu xét nghiệm theo yêu cầu của đội ngũ nhân viên bệnh viện từ các phòng lấy mẫu đến phòng xét nghiệm, hoặc đến các phòng khác
- Trong quá trình di chuyển, robot phát hiện được vật cản sau đó dừng lại và phát
âm thanh cảnh báo
- Ở chế độ điều khiển, robot đảm nhận thêm vai trò giám sát Các nhân viên y tế
có thể điều khiển sự di chuyển của robot và điều khiển camera, hình ảnh thu được từ camera được hiển thị lên web
1.3 NỘI DUNG NGHIÊN CỨU
NỘI DUNG 1: Thu thập dữ liệu quy trình lấy mẫu và xét nghiệm trong bệnh viện
NỘI DUNG 2: Các giải pháp xử lý ảnh, xử lý dữ liệu sau khi lấy mẫu và xét nghiệm
NỘI DUNG 3: Thiết kế hệ thống điều khiển
NỘI DUNG 4: Thiết kế mô hình
NỘI DUNG 5: Đánh giá kết quả thực hiện
Trang 12BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 3
NỘI DUNG 6: Chỉnh sửa các lỗi điều khiển, lỗi lập trình và lỗi của các thiết bị
NỘI DUNG 7: Viết luận văn
NỘI DUNG 8: Báo cáo đề tài tốt nghiệp
1.4 GIỚI HẠN
- Sự hoạt động của robot trong đề tài với các điều kiện về cơ sở hạ tầng, cường độ ánh sáng, màu sắc line, tốc độ wifi và một số yếu tố khác là lý tưởng
- Robot hoạt động ở chế độ tự hành trên quỹ đạo được định sẵn bằng phương thức
xử lý hình ảnh từ Pi Camera để nhận biết line có màu đen cố định
- Robot hoạt động ổn định ở môi trường trong nhà với đầy đủ ánh sáng
Chương 2: Cơ sở lý thuyết
Chương này giới thiệu các lý thuyết liên quan, các linh kiện, thiết bị, phần cứng sử dụng thiết kế
Chương 3: Tính toán và thiết kế
Trong chương này mô hình xe robot vận chuyển mẫu xét nghiệm được nêu rõ các yêu cầu chi tiết về kỹ thuật Từ đó, thực hiện thiết kế sơ đồ khối hóa hệ thống, chọn lựa thiết kế và chọn lựa phần cứng phù hợp cũng như thiết kế phần mềm
Chương 4: Thi công hệ thống
Chương này trình bày về kết quả mô hình robot vận chuyển mẫu xét nghiệm sau khi thực hiện, các thử nghiệm robot theo các mục tiêu đã đặt ra
Chương 5: Kết quả - nhận xét - đánh giá
Chương này nêu kết quả đã đạt được, nhận xét đánh giá hệ thống
Chương 6: Kết luận và hướng phát triển
Chương này đưa ra những kết luận về quá trình nghiên cứu và khả năng phát triển cho robot vận chuyển ở bệnh viện trong tương lai
Trang 13BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 4
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 ROBOT VẬN CHUYỂN PHỤC VỤ TRONG LĨNH VỰC Y TẾ
vị trí, nâng cao năng suất và hiệu quả làm việc [15]
Robot đã bước vào lĩnh vực y tế rất đa dạng, muôn hình muôn vẻ Từ những loại robot chăm sóc người cao tuổi, trẻ em, đến các loại robot phức tạp hơn, có thể làm công việc như một điều dưỡng bệnh viện [6]
Một số robot làm việc trong bệnh viện ở Hoa Kì, Anh hay Nhật Bản đã cho thấy
sự hoạt động hiệu quả của mình khi hoàn thành tốt các nhiệm vụ vận chuyển chất thải
y tế, vận chuyển tài liệu, thuốc, giúp bác sĩ thăm khám bệnh nhân thông qua camera,…[6]
Theo SlashGear, việc có quá ít y tá làm việc ban đêm khiến hoạt động tìm kiếm vật dụng y tế trở nên vất vả hơn Triển khai robot sẽ lấp đầy khoảng trống đó, giúp vận chuyển thuốc, mẫu và các vật dụng khác giữa các điểm đến trong bệnh viện [6]
2.1.2 Một số robot vận chuyển trong bệnh viện
2.1.2.1 Robot Noah
Robot Noah được đưa vào thử nghiệm tại Bệnh viện Nhi và Phụ nữ Quảng Châu, Quảng Đông, Trung Quốc giúp giảm quãng đường đi bộ của y tá lên đến 1.900 km/năm Mỗi robot có thể mang tài liệu và thuốc nặng tới 330kg Tuy nhiên, người đứng đầu bệnh viện dự đoán robot có thể mang được khối lượng nặng hơn thế [7]
Mỗi robot Noah có thể làm thay công việc của 4 người Sử dụng công nghệ GPS, các robot này có thể di chuyển và cầm theo số đồ dùng gấp 10 lần một nhân viên bình thường Với việc đưa Noah vào hỗ trợ, y tá bệnh viện sẽ giảm được hơn 1.900 km quãng đường đi bộ bên trong khuôn viên mỗi năm [7]
Trang 14BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 5
Hình 2.1: Robot Noah ở Trung Quốc
Robot Noah được lập trình với các cụm từ như: "Tôi đi đây", "Tôi đang vào thang máy", "Tôi bị cản trở" để thông báo cho các y tá trong bệnh viện.[7]
Noah tiện lợi nhờ các bánh xe để dễ dàng di chuyển và ngăn kéo có thể khóa tránh cho các thiết bị và tài liệu bị nhiễm bẩn như khi con người mang vác Mỗi robot Noah
có giá 600.000 nhân dân tệ (hơn 2 tỷ đồng) Các nhà sáng chế vẫn đang tiếp tục nghiên cứu để robot này có thể giao tiếp cơ bản với nhân viên y tế.[7]
2.1.2.2 Robot RP7
Ở Anh, một "robot bác sĩ" với sứ mệnh cứu người đã chính thức bắt tay vào nhiệm
vụ tại một bệnh viện thuộc Vương quốc Anh và sắp tới có thể sẽ trở thành thành viên túc trực thường xuyên với đội ngũ bác sĩ ở các bệnh viện khác trên khắp xứ sở sương
mù [14]
Hình 2.2: Robot chuẩn đoán bệnh RP7
Trang 15BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 6
RP7 được trang bị các bánh xe nên nó có thể di chuyển khắp bệnh viện với tốc độ 8km/h Nhờ vậy, một bác sĩ đang ở xa nhiều cây số cũng có thể "lệnh" cho RP7 tiến đến bên giường bệnh nhân để thăm khám bằng cách sử dụng một thiết bị điều khiển từ xa Bệnh nhân có thể nhìn thấy chuyên gia y tế qua màn hình và nhận được sự tư vấn trực tiếp từ họ "Chiếc camera của robot RP7 không chỉ hiển thị khuôn mặt của chúng ta cho bệnh nhân thấy, mà còn cho phép các bác sĩ nhìn gần hơn vào bất cứ bộ phận nào trên
cơ thể bệnh nhân, chẳng hạn như phóng to mắt của họ lên toàn màn hình để có thể chẩn đoán họ có dấu hiệu của bệnh vàng da hay không", Tiến sĩ Charles MacAllister ở bộ phận ICU Bệnh viện Craigavon, một trong các bệnh viện ứng dụng robot vào khám chữa bệnh ở Anh, cho biết [14]
Robot RP7 đầu tiên ở Anh hiện đang hoạt động như một chuyên gia tư vấn khẩn cấp tại bệnh viện Daisy Hill ở Bắc Ireland và theo kế hoạch, các "đồng nghiệp" của chúng cũng sẽ được triển khai tại hai bệnh viện ở Shropshire và Kent & Canterbury [14]
2.1.2.3 Robot vận chuyển chất thải y tế ở Anh
Bệnh viện Hoàng gia Forth Valley (NHS) là cơ sở y tế đầu tiên tại Anh triển khai đội quân robot này với tổng trị giá 300 triệu bảng.[8]
Hình 2.3: Robot vận chuyển chất thải y tế trong bệnh viện ở Anh
Tùy theo nhiệm vụ mà có loại robot với cấu hình tương ứng, chúng sẽ vận chuyển chất thải lâm sàng và các chất bẩn khác; cung cấp thực phẩm phù hợp với tình trạng bệnh nhân hoặc giúp phân chia liều thuốc theo y lệnh Robot đi dọc theo hành lang dành
Trang 16BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 7
riêng cho chúng ở tầng dưới của bệnh viện Khi cần, các nhân viên bệnh viện sẽ sử dụng một thiết bị kỹ thuật số cầm tay để gọi chúng đến Mỗi robot được trang bị chùm tia laser để giúp chúng dò tìm đúng nơi cần đến, hệ thống cảm biến của chúng giúp nhặt những đồ vật theo yêu cầu [8]
2.1.2.4 Robot TUG
Tại bệnh viện Aethon, robot TUG dùng để vận chuyển thuốc, dụng cụ y tế và các loại hàng hóa nhằm giảm thiểu sai sót và chi phí hoạt động Robot được trang bị nhiều ăng-ten nhỏ xíu để phát hiện con người và chướng ngại vật Những chiếc ăng-ten có thể phát ra sóng siêu âm, tia hồng ngoại và tia laser để dò tìm các vật thể xung quanh robot Với khối lượng 25kg, TUG hoạt động nhờ hai motor điện một chiều có khả năng tự sạc khi chúng không hoạt động Khi lượng điện trong pin đạt mức tối đa, TUG sẽ hoạt động liên tục trong 10 tiếng đồng hồ TUG có thể mang vô số vật nặng lên tới 453kg, làm những công việc nguy hiểm như tiếp xúc với các chất độc hại [5]
Hình 2.4: Robot TUG Khả năng giao tiếp với nhau của các robot ngày càng được nâng cao và TUG cũng không phải trường hợp ngoại lệ Chúng có thể “nói chuyện” với nhau trong hành lang
để trao đổi thông tin về lộ trình hiệu quả nhất để tới đích
2.2 PHƯƠNG PHÁP NHẬN DẠNG LINE
2.2.1 Giới thiệu
Nhận dạng ảnh là giai đoạn quan trọng của một hệ thống xử lý ảnh Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo một mô hình nào đó Ảnh được chụp sẽ được phân tích thành các đặc trưng riêng biệt, với những đặc trưng đó ta đem đi
Trang 17BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 8
2.2.2.2 Thuật toán
Có 4 thuật toán thông dụng nhất được sử dụng trong Contour tracking, gồm:
Square Tracing Algorithm [16]
Moore – Neighbor Tracing [16]
Radial Sweep [16]
Theo Pavlidis’ Algorithm [16]
Trong số đó, Square Tracing Algorithm và Moore – Neighbor Tracing dễ triển khai nên được sử dụng phổ biến hơn cả [16]
Square Tracing algorithm: [16]
Thuật toán: Duyệt từ pixel ngoài cùng bên trái phía dưới, đi lên cho tới khi gặp
Trang 18BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 9
pixel có giá trị bằng 1 (pixel này sẽ được gọi là pixel start) thì bắt đầu di chuyển theo quy tắc sau:
Nếu gặp Pixel có giá trị bằng 1 thì rẽ trái
Nếu gặp Pixel có giá trị bằng 0 thì rẽ phải
Di chuyển cho tới khi quay lại pixel start thì dừng lại
Hình sau mô tả cách hoạt động của thuật toán:
Hình 2.6: Mô tả quá trình tìm contour của thuật toán Square Tracing
Điều kiện kết thúc:
Thuật toán kết thúc khi gặp một trong hai điều kiện sau:
Di chuyển vào pixel start lần thứ 2 sau khi đi qua n pixel khác Nếu điều kiện này xảy ra, có nghĩa rằng thuật toán chạy sai, xem ví dụ như hình 2.6
Hình 2.7: Ví dụ trường hợp thuật toán chạy sai
Di chuyển vào pixel start lần thứ 2 sau khi đi qua n pixel khác và theo đúng hướng
đi vào pixel start lần đầu tiên, điều kiện này còn được gọi là Jacob’s stopping
Trang 19BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 10
criterion Điều kiện này xảy ra nghĩa là thuật toán đã chạy đúng, như ví dụ ở hình
5 Vậy thuật toán chỉ chạy đúng trên đối tượng 4-connected
Hình 2.8: Ví dụ trường hợp thuật toán chạy đúng
Moore – Neighbor Tracing: [16]
Thuật toán: khi gặp pixel có giá trị bằng 1 đầu tiên (pixel start) thì ta sẽ quay lại pixel trước đó, sau đó đi vòng qua các pixel thuộc 8-connected theo chiều kim đồng hồ cho tới khi gặp pixel khác có giá trị bằng 1
Hình 2.9:Mô tả quá trình tìm contour của thuật toán Moore-Neighbor Tracking
Điều kiện kết thúc: Giống với thuật toán Square Tracking
Radial Sweep: [16]
Thuật toán: Cũng giống với Moore – Neighbor Tracking, sau khi gặp pixel có giá trị bằng 1 đầu tiên (Start pixel), ta sẽ quay lại pixel trước đó và đi vòng theo chiều kim đồng hồ cho tới khi gặp pixel có giá trị bằng 1 tiếp theo, lúc này Radial Sweep sẽ không
Trang 20BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 11
thực hiện như Moore-Neighbor Tracking, mà thay vào đó, nó tạo ra một đoạn thẳng ảo nối pixel hiện tại với pixel có giá trị bằng 1 đã đi qua gần nhất Và đoạn thẳng này được xoay cho tới khi gặp một pixel khác có giá trị bằng 1
Hình 210: Mô tả quá trình tìm Contour của thuật toán Radial Sweep
Điều kiện kết thúc: Giống với thuật toán Square Tracking
Theo Pavlidis’ Algorithm: [16]
Thuật toán: Tại pixel start, 3 điểm P1, P2, P3 được định nghĩa như hình 2.10 Lúc này việc lựa chọn P1, P2, hay P3 làm điểm đến tiếp theo được xét như sau:
Nếu P1 có giá trị bằng 1 thì P1 được chọn là điểm kế tiếp, quá trình di chuyển được mô tả như hình 2.10b
Nếu P1 có giá trị bằng 0, thì P2 được xét, nếu P2 có giá trị bằng 1 thì P2 được chọn và quá trình di chuyển được mô tả như hình 2.10c
Nếu P1, P2 đều có giá trị bằng 0 thì P3 được xét, nếu P3 có giá trị bằng 1 thì P3 được chọn và quá trình di chuyển được mô ta như hình 2.10d
Nếu cả P1, P2 và P3 đều không thỏa mãn thì ta sẽ quay 90o theo chiều kim đồng
hồ để được 3 vị trí P1, P2 và P3 mới
Trang 21BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 12
Hình 2.11: Mô tả quá trình tìm contour của thuật toán Theo Pavlidis’ Algorithm Điều kiện kết thúc:
Thuật toán kết thúc khi gặp một trong 2 điều kiện sau:
Di chuyển tới start pixel lần thứ 2
Khi chuyển hướng 3 lần mà vẫn không tìm được pixel thỏa mãn
2.2.3 Thuật toán Moment
2.2.3.1 Giới thiệu
Moment là thuật toán giúp đánh giá sự giống nhau của 2 đối tượng; sử dụng trong các phép biến đổi translate, scaling hay rotate; hay sử dụng các khối hình học để tái xây dựng lại đối tượng
2.2.3.2 Thuật toán
Công thức xác định moment như sau:
21 2
1
) , (
pq x y f x y dxdy
M (2.1) Trong đó:
p, q = 0, 1, 2,…
f(x, y) là giá trị tại pixel có tọa độ (x, y)
Moment được phân biệt nhờ vào 2 tham số p và q, giá trị (p + q) là thứ tự của moment đó và được ký hiệu là Mp,q Cụ thể một số moment được định nghĩa như sau:
M0,0 được gọi là zero order moment, moment này chính là diện tích của đối tượng
Trang 22BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 13
M0,1 hay M1,0 được gọi là first order moments
M2,0, M0,2 hay M1,1 được gọi là second order moments
…
Khoảnh khắc bất biến (Moment Invariants) [16],[9]
Dịch, xoay và chia tỉ lệ (Translate, rotation và scaling (TRS)) là những phép biến đổi đơn giản trong không gian TRS thỉnh thoảng được gọi là biến đổi similarity, gồm 4 tham số được biểu diễn bằng công thức sau:
t sRx
sincos
R (2.3) Với α là góc quay
Bất biến trong TRS là một yêu cầu quan trọng trong mọi ứng dụng Bởi vì đối tượng nên được xác định chính xác vị trí trong bức ảnh Vì vậy TRS invariants trở nên quan trọng Dịch và nhân rộng bất biến có thể khá trực quan nhưng bất biến để xoay thì phức tạp hơn
Moment sử dụng trong bình thường hoá quy mô không còn được sử dụng trong nhận dạng vì giá trị của chuẩn hoá tương ứng moment luôn luôn bằng 1
Trong xử lý hình ảnh, thị giác máy tính và các trường liên quan, khoảnh khắc hình ảnh là trung bình (thời điểm) trọng số cụ thể nhất định của cường độ của pixel hình ảnh hoặc chức năng của những khoảnh khắc đó, thường được chọn để có một số thuộc tính hoặc diễn giải hấp dẫn
Khoảnh khắc hình ảnh rất hữu ích để mô tả các đối tượng sau khi phân đoạn Các thuộc tính đơn giản của hình ảnh được tìm thấy qua các khoảnh khắc hình ảnh bao gồm diện tích (hoặc tổng cường độ), trọng tâm của nó và thông tin về hướng của nó Khoảnh khắc hình ảnh giúp tính toán một số tính năng như tâm khối lượng của vật thể, diện tích
Trang 23BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 14
Toạ độ 𝑥 = và 𝑦 = là thành phần trung tâm
Nếu ƒ(x , y) là một hình ảnh kỹ thuật số, sau đó phương trình (2.4) trở thành
) , ( ) ( ) ( x x y y q f x y
)())(
Python do Guido van Rossum tạo ra năm 1989 Python được phát triển trong một
dự án mã nguồn mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý Mặc
Trang 24BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 15
dù sự phát triển của Python có sự đó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 [17]
2.3.2 Đặc điểm
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 không mấy phức tạp
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
2.4 THƯ VIỆN OPENCV
2.4.1 Giới thiệu
OpenCV (Open Source Computer Vision Library) là một thư viện mã nguồn mở,
nó là miễn phí cho những ai bắt đầu tiếp cận với các học thuật OpenCV được ứng dụng trong nhiều lĩnh vực như cho thị giác máy tính hay xử lý ảnh và máy học Thư viện được lập trình trên các ngôn ngữ cấp cao: C++, C, Python, hay Java và hỗ trợ trên các nền tảng Window, Linux, Mac OS, iOS và Android OpenCV đã được tạo ra tại Intel vào năm 1999 bởi Gary Bradsky, và ra mắt vào năm 2000 OpenCV có rất nhiều ứng dụng: Nhận dạng ảnh, xử lý hình ảnh, phục hồi hình ảnh/video, thực tế ảo,… Ở đề tài này thư viện OpenCV được chạy trên ngôn ngữ Python OpenCV được dùng làm thư viện chính
để xử lý hình ảnh đầu vào và nhận dạng ảnh [9]
2.4.2 Đặc điểm
OpenCV là một thư viện mở nên sử dụng các thuật toán một cách miễn phí, cùng với việc chúng ta cũng có thể đóng góp thêm các thuật toán giúp thư viện thêm ngày càng phát triển
Các tính năng của thư viện OpenCV:
Đối với hình ảnh, 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
Trang 25BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 16
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
2.5 BỘ TRUYỀN NHẬN UART
UART - Universal synchronous asynchronous receiver transmitter là một ngoại vi
cơ bản và thường dùng trong các quá trình giao tiếp với các mô đun như: Xbee, Wifi, Bluetooth… Khi giao tiếp UART kết hợp với các IC giao tiếp như MAX232CP, SP485EEN… thì sẽ tạo thành các chuẩn giao tiếp RS232, RS485 Đây là các chuẩn giao tiếp thông dụng và phổ biến trong công nghiệp từ trước đến nay [18]
Ưu điểm của giao tiếp UART không đồng bộ: tiết kiệm chân vi điều khiển (2 chân), là ngoại vi mà bất kì 1 vi điều khiển nào cũng có, có khá nhiều mô đun, cảm biến dùng UART để truyền nhận dữ liệu với vi điều khiển [18]
Nhược điểm của loại ngoại vi này là tốc độ khá chậm, tốc độ tối đa tùy thuộc vào từng dòng; quá trình truyền nhận dễ xảy ra lỗi nên trong quá trình truyền nhận cần có các phương pháp để kiểm tra (thông thường là truyền thêm bit hoặc byte kiểm tra lỗi) Khi muốn truyền dữ liệu đi xa, chúng ta cần phải sử dụng các IC thông dụng để tạo thành các chuẩn giao tiếp đáng tin cậy như RS485 hay RS232
Hình 2.13: Tín hiệu tương đương của UART và RS232
Baud rate (tốc độ Baud ): Khi truyền nhận không đồng bộ để hai modul hiểu được nhau thì cần quy định một khoảng thời gian cho 1 bit truyền nhận, nghĩa là trước khi
Trang 26BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 17
truyền thì tốc độ phải được cài đặt đầu tiên Theo định nghĩa thì tốc độ baud là số bit truyền trong một giây [18]
Frame (khung truyền): Do khiểu truyền thông nối tiếp này rất dễ mất dữ liệu nên ngoài tốc độ , khung truyền cũng được cài đặt từ ban đầu để tránh bớt sự mất mát dữ liệu này Khung truyền quy định số bit trong mỗi lần truyền , các bít báo như start, stop, các bit kiểm tra như parity, và số bit trong một data [18]
Bit Start: Là bit bắt đầu trong khung truyền Bit này nhằm mục đích báo cho thiết
bị nhận biết quá trình truyền bắt đầu
Data: Dữ liệu cần truyền Data không nhất thiết phải 8 bit Có thể là 5, 6, 7, 8, 9 Trong UART bit LSB được truyền đi trước, Bit MSB được truyền đi sau
Parity bit: Là bit kiểm tra dữ liệu đúng không Có 2 loại parity: chẵn (even parity),
lẻ (old parity) Parity chẵn là bit parity thêm vào để số số 1 trong data + parity = chẵn Parity lẻ là bit parity thêm vào để số số 1 trong data + parity = lẻ Bit Parity là không bắt buộc nên có thể dùng hoặc không
Stop: là bit báo cáo kết thúc khung truyền Thường là mức 5v Và có thể có 1 hoặc 2 stop
Hình 2.14: Sơ đồ khối của UART 2.6 GIỚI THIỆU VỀ WEB SERVER VÀ NGÔN NGỮ LẬP TRÌNH
HTML
2.6.1 Khái niệm web server
Trang 27BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 18
Web server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác (các mã Script, các chương trình và các file Multimedia) [19] Web server có khả năng gửi đến máy khách những trang web thông qua môi trường internet qua giao thức HTTP, giao thức được thiết kế để gửi các file đến trình duyệt web browser và các giao thức khác
Tất cả các web server đều có một địa chỉ IP hoặc cũng có thể có một tên miền Giả
sử khi người sử dụng đánh vào thanh địa chỉ trên trình duyệt của máy một dòng http://www.abc.com sau đó gõ phím enter khi đó người sử dụng đã gửi một yêu cầu đến một server có tên miền là www.abc.com Server này sẽ tìm trang web có tên là index.htm rồi gửi nó đến trình duyệt của người sử dụng
Bất kỳ một máy tính nào cũng có thể trở thành một web server bởi việc cài đặt lên
nó một chương trình phần mềm server software và sau đó kết nối vào internet
Khi máy tính kết nối đến một web server và gửi đến yêu cầu truy cập các thông tin
từ một trang web nào đó, web server software sẽ nhận yêu cầu và gửi lại những thông tin mà người sử dụng mong muốn
2.6.2 Nguyên lí hoạt động của web server
Khi gõ địa chỉ trang web http://www.abc.com vào trình duyệt web và nhấn Enter, trang web hiển thị ngay trên màn hình Trình duyệt web thực hiện một kết nối tới máy chủ web, yêu cầu một trang web và nhận lại Sau đây là thứ tự từng bước cơ bản xảy đến đằng sau màn hình Trình duyệt web tách địa chỉ website làm 3 phần:
- Phần giao thức: (“http”)
- Máy chủ tên miền: (www.abc.com)
- Tên tệp: (“index.htm”)
Trình duyệt liên hệ với máy chủ tên miền để chuyển đổi tên miền "www.abc.com"
ra địa chỉ IP Sau đó, trình duyệt sẽ gửi tiếp một kết nối tới máy chủ có địa chỉ IP tương ứng qua cổng 80 Tiếp đến, máy chủ sẽ gửi đoạn text dạng HTML đến trình duyệt web máy đã gởi yêu cầu Trình duyệt web đọc các thẻ HTML, định dạng trang web và kết xuất ra màn hình
2.6.3 Các giao thức sử dụng của web server
2.6.3.1 Giao thức HTTP
Trang 28BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 19
HTTP là giao thức cơ bản mà World Wide Web sử dụng để xác định cách các thông điệp được định dạng và truyền tải ra sao, những hành động nào mà các web server
và các trình duyệt web phải làm để đáp ứng các lệnh rất đa dạng [19] Chẳng hạn, khi
gõ một địa chỉ web URL vào trình duyệt web, một lệnh HTTP sẽ được gửi tới web server để ra lệnh và hướng dẫn tìm đúng trang web được yêu cầu và kéo về mở trên trình duyệt web Nói cách khác, HTTP là giao thức truyền tải các file từ một web server vào một trình duyệt web để có thể xem một trang web đang hiện diện trên internet HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP
Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML, có chức năng quản lý cách thức mà các trang web được định dạng và hiển thị
Người ta gọi HTTP là một giao thức phi trạng thái bởi vì mỗi lệnh đều được thực thi một cách độc lập, lệnh sau không biết bất cứ điều gì về các lệnh đã đến trước Đây chính là một hạn chế khiếm khuyết của HTTP và nguyên nhân chính của tình trạng rất khó thực thi các trang web có khả năng phản ứng thông minh đối với lệnh được nạp vào Và sự hạn chế này đang được khắc phục trong các công nghệ mới như activeX, java, javascript và cookies
2.6.3.2 Giao thức FTP
FTP là một giao thức dùng để tải lên các file từ một trạm làm việc hay máy tính
cá nhân tới một FTP server hoặc tải xuống các file từ một máy chủ FTP về một trạm làm việc [19] Đây là cách thức đơn giản nhất để truyền tải các file giữa các máy tính trên internet
FTP hiện được dùng phổ biến để upload các trang web từ nhà thiết kế web lên một máy chủ host trên internet, truyền tải các file dữ liệu qua lại giữa các máy tính trên internet, cũng như để tải các chương trình và các file từ các máy chủ khác về máy tính
cá nhân Dùng giao thức FTP có thể cập nhật các file tại một máy chủ Nếu dùng chức năng FTP của một ứng dụng quản lý file có thể tiến hành các tác vụ xử lý file trên máy chủ giống
2.6.4 Khái niệm ngôn ngữ lập trình HTML
HTML là ngôn ngữ đánh dấu siêu văn bản dùng để tạo nên một trang web có nhiều trang, mỗi trang là một mẩu thông tin được trình bày trên World Wide Web [20] HTML
Trang 29BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 20
là ngôn ngữ đơn giản nhất, cơ sở của mọi trang web và trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML HTML là một chuẩn ngôn ngữ internet được tạo ra và phát triển bởi tổ chức World Wide Web Consortium [13]
Một tập tin HTML bao gồm các đoạn văn bản HTML được tạo lên bởi các thẻ HTML Có 2 loại thẻ cơ bản là thẻ có khai báo mở rồi kết thúc bằng cách đóng thẻ và loại thẻ không cần khai báo mở và đóng
2.6.5 Cấu trúc cơ bản của HTML
Cấu trúc của HTML với bố cục từ trên xuống dưới và từ trái qua phải với 2 phần chính là head và body Các website viết bằng HTML đều tuân theo cấu trúc cơ bản như sau:
- Mọi trang HTML đều phải khai báo doctype (định nghĩa chuẩn văn bản) ngay từ dòng đầu tiên
- Thẻ <HTML> cho trình duyệt biết mở đầu và kết thúc của trang HTML
- Thẻ <head> chứa tiêu đề và các thông tin khai báo, các thông tin ẩn khác
- Thẻ <body> sẽ hiển thị nội dung của trang web
- Mọi kí tự nằm giữa dấu <!– và –> sẽ được xem là thẻ comment và sẽ bị trình duyệt
bỏ qua, không xử lý và không hiển thị
<HTML>
<head>
<title>Đây là thẻ đánh dấu tiêu đề trang web</title>
<! Comment: Các thông tin khai báo, các thông tin ẩn >
Trang 30BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 21
Là những đặc tính, tính chất mang theo để trình duyệt định dạng và hiển thị thẻ
Mỗi thẻ có thể có một hoặc nhiều thuộc tính
Mỗi thuộc tính có tên thuộc tính và giá trị thuộc tính, giá trịnh đặt trong dấu
Có hai loại là danh sách có đánh số thứ tự <ol> và danh sách không đánh số thứ
tự <ul> Bên trong các thẻ danh sách này các phần tử được đánh dấu với thẻ <li>
2.7 CÁC CHUẨN TRUYỀN THÔNG KHÔNG DÂY
2.7.1 Một số công nghệ kết nối trong truyền thông không dây
Việc kết nối mạng không dây có thể được thực hiện bằng cách sử dụng một số chuẩn kết nối sau:
- Công nghệ IrDA
Đây là công nghệ giao tiếp dữ liệu hồng ngoại IR được sử dụng nhiều trong điều khiển từ xa của vô tuyến, điều hòa nhiệt độ, trong máy tính, máy in với khoảng cách ngắn và chi phí thấp [20]
- Công nghệ Bluetooth
Bluetooth là công nghệ mạng không dây cho phép các thiết bị điện, điện tử giao tiếp với nhau trong khoảng cách ngắn bằng sóng vô tuyến qua băng tần chung ISM trong dãy tần 2.40–2.48 GHz [21] Công nghệ này được thiết kế nhằm mục đích thay thế dây cáp giữa máy tính và các thiết bị truyền thông cá nhân, kết nối các thiết bị điện
tử lại với nhau một các thuận lợi
Khi được kích hoạt bluetooth có thế tự động định vị các thiết bị khác có chung công nghệ trong vùng xung quanh và bắt đầu kết nối với chúng
Trang 31BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 22
- Công nghệ Wimax
Wimax là công nghệ cho phép các dịch vụ truy nhập không dây mọi lúc mọi nơi Công nghệ này cung cấp việc truyền dẫn không dây ở khoẳng cách lớn bằng nhiều cách khác nhau từ kiểu kết nối điểm điểm cho đến kiểu truy nhập tế bào Wimax cho phép
sử dụng trình duyệt internet trên laptop mà không cần kết nối vật lý bằng cổng Ethernet tới router hay switch [21]
2.7.2 Tìm hiểu chuẩn IEEE 802.11
Chuẩn mạng LAN IEEE 802.11 dựa vào kiến thức tế bào, là kiến trúc trong đó hệ thống được chia nhỏ thành các cell, mỗi cell được kiểm soát bởi một trạm cơ sở [21] Chuẩn IEEE 802.11 có các họ sau:
- Chuẩn IEEE 802.11a
Là một chỉ tiêu kỹ thuật IEEE cho mạng không dây hoạt động trong dải tần số 5 GHz với tốc độ truyền dữ liệu cực đại 54Mbps Dải tần số 5 GHz không nhiều như tần với chuẩn IEEE 208.11b Sự bổ sung kênh này giúp tránh giao thoa vô tuyến và viba
- Chuẩn IEEE 208.11b
Là chuẩn quốc tế cho mạng không dây doạt động trong dải tần 2.4 GHZ và cung cấp một lưu lượng trên 11Mbps Đây là một tần số thường được sử dụng, các lò vi ba, điện thoại không dây, thiết bị y khoa, y học, cũng như thiết bị Bluetooth đều làm việc bên trong dải tần 2.4 GHz
- Chuẩn IEEE 208.11d
Là chuẩn IEEE bổ sung lớp điều khiển truy cập MAC vào chuẩn IEEE 208.11 để đẩy mạnh khả năng sử dụng rộng mạng WLAN chuẩn IEEE 208.11 Chuẩn này cho phép các điểm truy cập truyền thông thông tin trên các kênh vô tuyến được dùng với
Trang 32BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 23
mức công suất chấp nhận được cho các thiết bị khách hàng Các thiết bị sẽ tự động điều chỉnh dựa vào yêu cầu vật lý
- Chuẩn IEEE 208.11g
Tương tự chuẩn IEEE 208.11b, chuẩn này cung cấp một lưu lượng lên đến 54 Mbps, hoạt động ở dải tần số 2.4 GHz nhưng sử dụng một công nghệ vô tuyến khác để tăng dải thông toàn bộ
- Chuẩn IEEE 208.11i
Đây là chuẩn dành cho việc chuẩn hóa bảo mật mạng WLAN Bảo mật chuẩn IEEE 208.11i có một khung làm việc dựa vào cơ chế bảo mật tăng cường gồm 2 phần:
cơ chế riêng của dữ liệu và quản lý liên kết bảo mật
Cơ chế riêng của dữ liệu hỗ trợ hai sơ đồ được đề xướng: TKIP và AES TKIP là một giải pháp ngắn hạn mà định nghĩa phần mềm và cho WEP để cung cấp một mức riêng tư dữ liệu tối thiểu AES hay AES-OCB là một sơ đồ riêng tư dữ liệu mạnh mẽ và một giải pháp thời hạn lâu dài
2.7.3 Tìm hiểu về chuẩn IEEE 208.16
IEEE 208.16 là hệ thống tiêu chuẩn truy nhập không dây băng rộng cung cấp đặc
tả chính thức cho mạng MAN không dây băng rộng [21] Chuẩn này cho phép kết nối bang rộng vô tuyến cố định, mang xách được, di động mà không cần ở trong tầm nhìn thẳng trực tiếp tới một trạm gốc Chuẩn IEEE 208.16 có các họ sau:
- Chuẩn IEEE 208.16-2001
Chuẩn này xác định giao diện vô tuyến gồm lớp MAC và PHY của hệ thống truy nhập vô tuyến cố định điểm điểm, đa điểm với mục đích cho phép triển khai nhanh chóng, rộng rãi các hệ thống truy nhập vô tuyến bang rộng Đảm bảo khả năng tương thích giữa các thiết bị truy nhập vô tuyến băng rộng
- Chuẩn IEEE 208.16a-2003
Chuẩn này quy định các giao diện không cố định điểm tới đa điểm truy cập không dây băng thông rộng hệ thống cung cấp nhiều dịch vụ Các lớp kiểm soát truy cập trung bình có khả năng hỗ trợ nhiều lớp vật chất kỹ thuật tối ưu hóa cho các dải tần số của ứng dụng
- Chuẩn IEEE 208.16c-2002
Trang 33BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 24
Đây là bản sửa lỗi chuẩn của bản 802.16-11, có thêm định nghĩa các hồ sơ mới cho dải băng tần từ 10-66 GHz với mục đích cải tiến thao tác giữa các phần
- Chuẩn IEEE 802.16-2004
Chuẩn này sử dụng băng tần từ 2-11 GHz, là băng tần được thu hút nhiều sự quan tâm nhất vì tín hiệu truyền có thể vượt được các chướng ngại vật trên đường truyền 2.8 TỔNG QUAN VỀ PHẦN CỨNG
2.8.1 Kit Raspberry Pi 3 Model B
Hình 2.15: Raspberry Pi 3 Model B
Raspberry Pi là một seri các máy tính kích thước nhỏ chỉ bằng hộp bút (máy tính nhúng), được phát triển tại Anh bởi Raspberry Pi Foundation với mục đích thúc đẩy việc giảng dạy về khoa học máy tính cơ bản trong các trường học và các nước đang phát triển Với mục đính ban đầu là phục vụ việc học tập trong các nhà trường nhưng máy tính Raspberry Pi đã ngày càng trở lên phổ biến và được ứng dụng rộng rãi trong nhiều linh vực, với nhiều đối tượng sử dụng từ trẻ em cho đến những người trưởng thành Raspberry Pi 3 là thế hệ máy tính thứ 3 của Raspberr Pi, nó ra đời để thay thế Raspberry Pi 2 vào tháng 1/2016 Raspberry Pi 3 có đặc điểm nổi trội hơn các phiên bản trước là có tích hợp thêm wifi để có thể kết nối mạng internet không dây và bluetooth 4.1
Trang 34BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 25
Bảng 2.1: Thông số của Raspberry Pi 3 model B
Vi xử lý Broadcom BCM2837, ARMv8 (64bit) quad-core
GPU Broadcom VideoCore IV, OpenGL ES 2.0,
OpenVG 1080p 60 , 400 MHz Tốc độ xử lý 1Ghz
Power Ratings 800mA, 5V
Trọng lượng 45 g (1.6 oz)
Hệ điều hành Debian GNU/Linux, Raspbian OS, Arch Linux
ARM, RISC OS, FreeBSD, Plan 9,
2.8.2 Mô đun Raspberry Pi Camera
Raspberry Pi camera là mô đun camera được chính Raspberry Pi Foundation thiết
kế và đưa vào sản xuất đại trà từ tháng 5/2013 Trước khi xuất hiện PiCamera, điều duy nhất bạn có thể làm để thêm khả năng nhận biết hình ảnh, quay phim, chụp hình cho RPi là sử dụng 1 webcam cắm vào cổng USB Với các webcam Logitech tích hợp sẵn định dạng xuất mjpeg sẽ giúp Raspberry xử lý nhanh hơn Nhưng các webcam Logitech lại có giá thành khá cao, nhất là các webcam có độ phân giải lớn
Raspberry Pi camera được tích hợp camera 5 megapixel có độ nhạy sáng cao, có thể chụp tốt ở nhiều điều kiện ánh sáng khác nhau, cả trong nhà và ngoài trời Điểm
Trang 35BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 26
đặc biệt mà camera mang lại đó là chụp hình độ nét cao trong lúc quay phim
Hình 2.16: Raspberry Pi Camera Rev 1.3 Camera được gắn chắc chắn vào socket CSI Điều này giúp hạn chế tình trạng nghẽn băng thông cho chip xử lý USB trên mạch Raspberry Chiều dài cáp nối camera
đã được tính toán cẩn thận khi vừa đạt được độ dài cần thiết trong khi vẫn đảm bảo tốc độ truyền hình ảnh từ module về RPi
2.8.3 Tổng quan về ESP8266 NodeMCU Lua CP1202
Kit RF thu phát Wifi ESP8266 NodeMCU Lua CP1202 là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng
và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản
Kit RF thu phát Wifi ESP8266 NodeMCU Lua CP1202 được dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT
Kit RF thu phát Wifi ESP8266 NodeMCU Lua CP1202 sử dụng chip nạp và giao tiếp UART mới và ổn định nhất là CP2102 có khả năng tự nhận Driver trên tất cả các
hệ điều hành Window và Linux, đây là phiên bản nâng cấp từ các phiên bản sử dụng
IC nạp giá rẻ CH340
Hình 2 17: Mô đun Wifi ESP8266 NodeMCU Lua CP2102
Trang 36BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 27
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Đề tài “Robot vận chuyển mẫu xét nghiệm trong bệnh viện” bao gồm việc thiết kế
và thi công mô hình robot có khả năng di chuyển theo đường line đã định sẵn và di chuyển đúng theo sự điều khiển trên ứng dụng điện thoại chạy hệ điều hành Android Trên robot còn được lắp một số ngoại vi khác như cảm biến đo khoảng cách, camera quan sát kết nối với Raspberry Pi để thu thập hình ảnh và truyền về trung tâm xử lý
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế sơ đồ khối
Hình 3.1: Sơ đồ khối toàn hệ thống Chức năng từng khối :
Trang 37BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 28
Khối nguồn: Cấp nguồn cho toàn hệ thống
Khối điều khiển và xử lý trung tâm: Bao gồm Kit Raspberry Pi 3 nhận dữ liệu hình ảnh từ khối thu thập hình ảnh, tín hiệu khoảng cách từ khối nhận biết vật cản và xử lý để truyền tín hiệu điều khiển cho khối động cơ; Kit ESP8266 NodeMCU Lua CP1202 nhận tín hiệu điều khiển từ điện thoại để điều khiển servo
Khối thu thập hình ảnh: Thu thập hình ảnh bằng camera truyền về khối điều khiển và xử lý trung tâm
Khối động cơ: Nhận tín hiệu từ khối điều khiển và xử lý trung tâm để di chuyển
Khối nhận biết vật cản: sử dụng cảm biến siêu âm để phát hiện vật cản, truyền tín hiệu về khối điều khiển và xử lý trung tâm
3.2.2 Thiết kế phần cứng
3.2.2.1 Khối điều khiển và xử lý trung tâm
Kit Raspberry Pi 3 model B
Raspberry Pi 3 model B là thế hệ thứ 3 và mới nhất tính đến thời điểm hiện tại của gia đình Raspberry Pi, nó ra đời vào tháng 2 năm 2016 Cấu hình Raspberry Pi 3 có khá nhiều thay đổi Raspberry Pi 3 gồm 10 phần chính:
Chip SOC (System On Chip) Broadcom BCM 2837: chạy ở tốc độ 1.2 GHz, được nâng cấp hơn rất nhiều so với các thế hệ trước Chip này tương đương với nhiều loại được sử dụng trong smartphone phổ thông hiện nay, và có thể chạy được hệ điều hành Linux Tích hợp trên chip này là nhân đồ họa (GPU) Broadcom VideoCore IV Dual Core GPU này đủ mạnh để có thể chơi một số game phổ thông và phát video chuẩn full
HD
Jack nguồn micro USB 5V, 2.5A (tối thiểu là 1A)
40 ngõ GPIO (General Purpose Input Output): Giống như các chân của vi điều khiển, các IO này của Raspberry Pi cũng được sử dụng để xuất tín hiệu ra led, thiết bị… hoặc đọc tín hiệu vào từ các nút nhấn, công tắc, cảm biến… Ngoài ra còn có các IO tích hợp các chuẩn truyền dữ liệu UART, I2C và SPI
Ngõ HDMI: dùng để kết nối Pi với màn hình máy tính hay tivi có hỗ trợ cổng HDMI
Trang 38BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 29
Cổng DSI (Display Serial Interface): Cổng này dùng để kết nối với LCD hoặc màn hình OLED
Ngõ audio 3.5mm: Kết nối dễ dàng với loa ngoài hay headphone Đối với tivi có cổng HDMI, ngõ âm thanh được tích hợp theo đường tín hiệu HDMI nên không cần sử dụng ngõ audio này
Cổng USB: Một điểm mạnh nữa của Pi là tích hợp 4 cổng USB 2.0 Đủ để cắm các ngoại vi cần thiết như chuột, bàn phím và usb wifi
Cổng Ethernet: Cho phép kết nối Internet dễ dàng Cắm dây mạng vào Pi, kết nối với màn hình máy tính hay tivi và bàn phím, chuột là bạn có thể lướt web dễ dàng
Khe cắm thẻ nhớ SD: Raspberry Pi không tích hợp ổ cứng Thay vào đó nó có thể dùng thẻ SD để lưu trư dữ liệu Toàn bộ hệ điều hành Linux sẽ hoạt động trên thẻ SD này vì vậy nó cần kích thước thẻ nhớ tối thiểu 4GB và dung lượng hỗ trợ tối đa là 32
Trang 39BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 30
Hình 3.3: Sơ đồ chân của Raspberry Pi 3 model B
Kit ESP8266 NodeMCU Lua CP1202
Trong khối điều khiển và xử lý trung tâm, mô đun ESP8266 NodeMCU Lua CP2102 ngoài chức năng phát wifi để điện thoại điều khiển thì còn là một vi điều khiển được nạp chương trình thông qua phần mềm Arduino, có các I/O kết nối và điều khiển servo đóng mở cửa
Hình 3.4: Sơ đồ ra chân của ESP8266 NodeMCU Lua CP2102
Trang 40BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 31
Một số thông số chip ESP8266:
Wifi: 2.4GHz hỗ trợ chuẩn 802.11 b/g/n
Điện áp hoạt động: 3.3V
Điện áp vào: 5V thông qua cổng USB
Dòng điện hoạt động: 80mA
Số chân I/O: 11 (tất cả các chân I/O đều có Interrupt / PWM/ I2C/ One-wire, trừ chân D0)
Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)