Quan ly và vận hành của hệ thống lưu kho truyền thống phụ thuộc nhiều vào lao động con người từ việc nhận và kiểm tra chất lượng và sỐ lượng hàng hóa đến việc lưu trữchúng tại các vị trí
Trang 1ĐẠI HOC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TINH
NGUYEN BACH DUY - 19521424
ĐÀO TUẦN ANH - 19520377
KHÓA LUẬN TÓT NGHIỆP
GIAM SAT
ESTABLISHED AUTOMATIC STORAGE SYSTEM BY SCANNING
QR CODE THROUGH SURVEILLANCE CAMERA
KY SU KY THUAT MAY TINH
GIANG VIEN HUONG DAN
TS TRAN QUANG NGUYEN
TP HO CHÍ MINH, 2024
Trang 2LỜI CẢM ƠN
Chang đường đại học của chúng em đã gần đến hồi kết và khóa luận tốt
nghiệp chính là dấu chấm cuối cùng cho chặng đường ấy Khóa luận đã đúc kếtcho cho chúng em rất nhiều kiến thức cũng như cảm xúc để chúng em làm hànhtrang tiếp bước trong chặng đường tiếp theo sau này
Bằng tat cả tam lòng và sự chân thành, chúng em xin gửi lời cảm ơn đến toànthé quý thầy cô Trường Đại học Công Nghệ Thông Tin — Dai học Quốc gia Thànhphố Hồ Chí Minh nói chung và các thầy cô trong khoa Kỹ thuật máy tính nói riêng
đã tạo điều kiện thuận lợi, môi trường học tập thoải mái cùng vô vàn kiến thức bổ
ích giúp hoàn thiện chặng đường đại học của chúng em.
Chúng em xin đặc biệt gửi lời cảm ơn đến giảng viên, Tiến sĩ Trần QuangNguyên đã đồng hành, không ngừng hỗ trợ, đưa ra các chi dẫn đúng dan và thiết
thực dé chúng em có được kết quả tốt nhất.
Cuối cùng nhưng không kém phần quan trọng, chúng em xin gửi lời cảm ơn
chân thành nhất đến gia đình - những người luôn là điểm tựa vững chắc cho chúng
em Bồ mẹ luôn là những người đồng hành, ủng hộ và khích lệ chúng em trong mọihoàn cảnh Sự động viên, chăm sóc và tình yêu vô điều kiện của bố mẹ đã là nguồnđộng lực mạnh mẽ giúp chúng em vượt qua mọi thử thách và khó khăn Bố mẹ đã
hy sinh rất nhiều dé chúng em có thé yên tâm học tập và trưởng thành Chúng emcũng muốn cảm ơn các bạn, những người đã đồng hành cùng chúng em từ khi bước
chân vào môi trường đại học, chia sẻ niêm vui và nôi buôn.
Bên cạnh những yếu tố khách quan về việc giới hạn kiến thức, khó khăn
về thời gian hoàn thành khoá luận, nhóm vẫn còn nhiều mặt bị hạn chế và thiếu
sót Vượt lên trên những khó khăn đó, chúng em vẫn hết sức cố gắng và nỗ lựchoàn thành khoá luận trong khả năng Chúng em kính mong hội đồng có thêcảm thông và đưa ra chỉ dan góp ý dé khoá luận của chúng em có thé tốt hon
Trang 3MỤC LỤC
Chương 1 TONG QUAN ¿22-2 222EEEEE2E192121122171211271111211 1121 cre 4
1.1 Giới thiệu chung về hệ thống lưu kho tự động -. -¿-c5¿c5z5c+¿ 4
1.1.1 _ Tìm hiểu chung về hệ thống lưu trữ hàng hóa -. - 2+ 41.1.2 Tim hiểu về hệ thống lưu trữ tự động AS/RS -: 51.2 Các hướng nghiên cứu có liên quan đến dé tài trong và ngoài nước 7
1.2.1 Tinh hình nghiên cứu trong nƯỚC - s5 s + +sseseeereeereesse 71.2.2 _ Tình hình nghiên cứu ngoại qUỐC 2-2 2 22 +2 £+£z£+£zzxezsz 91.3 Các van đề và phương pháp giải quyết 2-2 2 z+c++E+Ezxzrezree 11
1.3.2 Phương pháp thực hiện - - + + 3s SEseEEeeresrrrrrerrrervee 11
Chương 2 CƠ SỞ LÝ THUYÊTT 2-22 ©+2E++EEE+EE++EEE+Exevrxezrxerrrxee 13
2.1 Cơ cau phần cứng và động cơ DUCE - 2s ++s+++x++x++x+xzxezxez 132.2 Thuật toán Dijkstra tìm đường đi ngắn nhất -2- 5 5+©ss2s+se2 14
2.3 Mã QR và kỹ thuật nhận diện mã QIR - - 555555 ++£+svkEssesseerss 16
2.3.1 Giới thiệu về mã QR - St St EEEEEEEEEEEEEEkEEerkerkrkerkree l6
2.3.2 Công nghệ nhận diện mã QR 25 55525 £++E+svesseeeesees 17
2.3.2.1 Tiền xử lý hình ảnh (OpenCV) -¿- 2 2 s+++£++x++Ezrzrzreee 172.3.2.2 Xử lý nhận diện mã QQR - -¿- 62+ *+E+EEsEEsrEsrrerrsrrrske 202.4 Lung (threading) - 2c tSt+St9EE£EEEEEEEEEE1E2111111112112111111 111.1 xe 232.5 Giao thức RESTful APÌ - 5 cv S1 HH HH ng nh 25
" GIO .45 262.7 Tính số bước và số vòng của động cơ bước - 2s s+sz+szzz+sez 27Chương 3 PHAN CỨNG BO ÁN -2-©222+22E2EE2122322212121122121cExcrke 29
Trang 43.1 Các phan cứng dùng trong hệ thống - 2 2 + ++++£++£++£zz+zzz+xe2 29
3.1.1 Raspberry PI2b - Ăn HT HH ngư tr 29 3.1.2 Module Relay SVDC 4 kênh - c6 xxx gi, 30
3.1.3 Động cơ bước 103H7123-62l1 -.- c5 5c c+ex+csersersrrsersres 31 3.1.4 Driver động cơ bước TB6600 - 6 chi, 32 3.1.5 May bơm khí - Gv 333.1.6 _ Bộ gap khí nén HFK16 AirfaC 5c ©5222<+2Ec2E+EEerxerrserxeres 333.1.7 Van khí nén - cv ng nh ng ng ngư 34 3.1.8 Máy bơm chân không - - +5 + + +* + EEsEEeseeresersreeere 35
3.1.10 Camera QV7677 c- LH TH HT ng TH nh nh rư 373.2 Thiết kế mô hình +++++©+++ttEEEtttEkkrtttrkkrtrtrkrrrrrrrrrrrree 37
3.2.1 _ Trục X của hệ thống cánh tay - 2-55 s+z++£++rzrzrsrrszes 373.2.2 _ Trục Y của hệ thống cánh tay -2- + s+cs+++x+Ezrzrzrszes 383.2.3 _ Trục Z của hệ thống cánh tay 2-©-+©c++cx+ccxevrxesrxesree 393.2.4 Kệ tủ lưới 3X3 ung HH ng 403.2.5 Hiện thực mô hình hệ thống 4IChương 4 PHAN MEM DO ÁN - ©222+22E222E222E222122112211271221e2EEecrev 42
4.1 Tổng quan hệ thống :- 2-2 ©E+EE+EE£EE+EE+EEEEEEEE2EE2EE2EE2E12E12E2 E2 2ee, 424.2 Sơ đồ hoạt động của máy tính 2-2 ©¿++z+++£E++E++ExtzEeerxerxrrrxrrxeee 424.3 Sơ đồ hoạt động của Raspberry Pi 2B 2-2 2+cz+c+EzEzErrerrerreee 454.4 Nhận diện mẫu vật bằng RoboflOwW - 2-2 + ++E++E+EzEzErErrerreee 464.5 Giao dién NQudi AUN oe 47Chương 5 THỰC NGHIEM VÀ KET QUẢ 2- 2 2 2+c++E++£+zzzrzreee 49
Trang 55.1 Nội dung thực nghiỆm G5 2 E3 1821118911191 1 11 91 1 vn rry 49 5.2 Đánh giá độ chính xác nhận diện mã QR - 5 2552255 ‡ 32s £++++sexs+ 50
5.3 Đánh giá hiệu suất của hệ thống cánh tay ba trục -s-ss+¿ 52
5.4 Đánh giá hiệu suất hệ thống tông thỂ 2-2 2 2 ++E+2£++Ez+E+Ezzxez 55
Chương 6 KÉT LUẬN VÀ HƯỚNG PHAT TRIỀN -. 2 ¿- 52552 59
6.1 {can a ỒỎ 59
Trang 6DANH MỤC HÌNH
Hình 1.1 Hệ thong lưu trữ va truy xuất tự động [3] -.-. c-cecreereerrexex 6Hình 1.2 Kho tự động WMS [4] .cc<ScccrhHHHHHH hy 8Hình 1.3 Hệ thong lưu kho tai AIaZOH 5scccscsctseEeErserttttetrertertetrsrrrrsrrsrrrrrrree 9Hình 1.4 Hệ thống lưu kho tự động công nghệ Đức [5] « «« eeeceee+ 10Hình 2.1 Sơ đồ nối động cơ [6] - +-ceccccrreececvertrreerEvttrrrerrrrrrrirrrrrrrrrrrrerre 13
Hình 2.2 Sơ đồ nối dây vào board điều khiển [6] -2-:+-cstrrcccerre 13Hình 2.3 Sơ đồ tín hiệu điều khiển [6] ecerereerrreerirrirrirrrre 14
Hình 2.4 Ảnh minh họa mã QR với các mô-đun c:+:++eeeevvvvrtrrrirccsee 17Hình 2.5 Chuyên đổi ảnh từ ảnh có kênh màu RGB sang xám [ 11] 18
Hình 2.6 Ước lượng các pixel trong Gaussian blur [12] - 19
Hình 2.7 a) ảnh xám, b) ảnh đã được xử lý bằng Canny [14] - 20Hình 2.8 Ví dụ về đơn luồng (trái) và đa luồng (phải) [7] -s - 24Hình 2.9 Kỹ thuật phân chia thời gian round-robin [7 ] - « -‹se-««s-cxescss+ 24
Hình 2.10 Giao thức RESTful API [ 1S ] ccesc<scscccecereexteerrersersssrserrervee 25
Hình 2.11 Các chân GPIO của Raspberry Pi 2B [ 1Ó] -e -«-ce-ceexseee 27
Hình 3.1 Raspberry Pi 2B -cccr HH 29 Hình 3.2 Module Relay SVDC 4 Kênh -s csecskekkrkkirikeEiikiiiiiee 30
Hình 3.3 Động cơ bước 103H7123-621 Ì « «e++ee+xeexxetrterrxerrretteerkerrkeee 32Hình 3.4 Driver TB6600 dùng dé điều khiển động cơ bước -.: 32Hình 3.5 Máy bơm khí APN-W ch He 33
Hình 3.6 Xilanh kẹp HEK TỐ Airtac 5< HH HHY Hàn Hà Hàng, 34
Hình 3.7 Van khí nén Airtac 4V I 1O-ÌMỐ -cccsersrrrrrrirtrirrrirrrirrrirrrrrrrrrrriree 35 Hình 3.8 Máy bơm chân không 12V DC cs+ccxetsrerkrirtkirrtrirtirrrrirrrree 36
Hình 3.9 Mạch lọc nhiễu Relay Snubber Protection essences 36
Hình 3.10 Camera OV 7670 vessessssssssssesssessssessssessesssssessseessseesssessssersueesseesaeersseesasersnseesseesaseesseesans 37Hinh 3.11 Truc X hé thong cánh tay Da trỤC -eecrsersrrrrrrrrrirtrirrrrrrrrrrrrrree 38Hình 3.12 Trục Y hệ thống cánh tay ba truce -c-e-cresererrrrrrrrrirrrirrrrrrrrrrrrree 38
Trang 7Hình 3.13 Trục Z hệ thống cánh tay ba fTỤC «ccsckeeikikikikiiiiiiirrrrrie 39Hình 3.14 Kệ tủ lưới 3x3 -+-ccetrreccetrirerertrrrrvrrtrrrrtrrirrrrrrirrrtrrrrrrrrrrrrerre 40
Hình 3.15 Mô hình hệ thống hoàn thiện -2+cccetrreecetrrreverrrrerrrrreret 41 Hình 4.1 Sơ đồ bộ điều khiên +++++°222SEEEEEEEEE.24211212221221.21111111.1 0 42
Hình 4.2 So đồ nguyên lý hoạt động của hệ thống 1 . -::cccccc+ 43Hình 4.3 Sơ đồ nguyên lý hoạt động của hệ thống 2 +-ccs:+ccesree 44
Hình 4.4 Sơ đồ main Raspberry Pi 2B -c22+ccc2trrervrtrrrrvrrrrrrerrrrrrrrre 45
Hình 4.5 Nhận diện kệ tủ băng Roboflow :-ccccerrrceecvverrrreeerrrrrrrreerre 46Hình 4.6 Giao diện người dùng khi chưa hoạt động -ccsecerxerrerreee 47
Hình 4.7 Giao diện người dùng khi hoạt động -c-+-cc«seerxvererxssrerrrrrrreee 47
Hình 4.8 Dữ liệu di chuyển của cánh tay -cccciiceecceerrreeevrerrrirrererrrrrreeerre 48
Trang 8DANH MỤC BANG
Bảng 5.1 Bảng đánh giá độ chính xác nhận diện mã QR -<-: 51
Bang 5.2 Bang tóm tắt kết quả độ chính xác nhận diện mã QR - 51Bảng 5.3 Bảng đánh giá hiệu suất của hệ thống cánh tay ba trục 53Bang 5.4 Bang tóm tat kết quả đánh giá hiệu suất của hệ thống cánh tay ba trục 54Bang 5.5 Bảng đánh giá hiệu suất hệ thống tổng thể -cc-s-ircccccvt 56Bảng 5.6 Bảng tóm tắt kết quả hiệu suất hệ thông tổng thê - 57
Trang 9DANH MỤC TỪ VIET TAT
AS/RS Automated Storage and Retrieval Systems
QR Quick Response code PID Proportional Integral Derivative RFID Radio Frequency Identification
WMS warehouse management system
RESTful API | representational state transfer Application Programming Interface
GPIO General Purpose Input / Output
OpenCV Open Source Computer Vision Library
HTTP Hypertext Transfer Protocol
PC Personal computer
Trang 10TOM TAT KHÓA LUẬN
Trong bối cảnh Công nghiệp 4.0, với sự gia tăng tự động hóa và cải tiến côngnghệ, hiệu suất và độ chính xác đang tìm đường vào các lĩnh vực đa dạng như quản
lý và lưu trữ hàng hóa Công nghệ này đặc biệt khả thi trong ngành y tế để quản lýlưu trữ thuốc hiệu quả và chính xác Hiện nay, hầu hết các bệnh viện và nhà thuốcquản lý thuốc thủ công, dẫn đến lãng phí thời gian và sai sót trong quá trình cấpphát thuốc gây ảnh hưởng đến công tác phục vụ bệnh nhân Điều này dẫn đến rấtcần một thiết bi có thé thay thé con người trong khâu cấp phát thuốc cũng như đápứng được tiêu chí công nghiệp 4.0 thì khóa luận tiến hành xây dựng hệ thống cánhtay ba trục X, Y, Z điều khiển bằng Raspberry Pi 2b quét mã QR thông qua cameragiám sát, gắp và thả vật lên kệ lưới 3x3 Mục tiêu của khóa luận này là cố gắngthông qua thiết kế dé nâng cao hiệu quả quản lý lưu trữ tại các nhà thuốc bằng cách
sử dụng hệ thống tự động với những hạn chế như vậy
Các mục tiêu chính của khóa luận là thiết kế và xây dựng một hệ thống cánhtay có khả năng di chuyên theo các trục X, Y và Z dé gap và thả chính xác trên kệchứa thuốc với tông số ô chứa là 9 ô Hệ thống cũng cần đáp ứng các yêu cầu về độchính xác, tính linh hoạt va dé dàng lập trình nhằm tối ưu hóa quy trình quản lýthuốc với số lỗi giảm thiêu Khóa luận bắt đầu bằng việc xác định các yêu cầu vàmục tiêu cụ thể về cách hệ thống hoạt động và chức năng: di chuyên linh hoạtquanh ba trục, năm chắc và thả đối tượng một cách chính xác, dễ lập trình và điềukhiển
Về thiết kế cơ khí: Khung của cánh tay được làm bằng vật liệu nhôm có cấutrúc chắc chan và nhẹ Các khớp nối và đoạn nối được thiết kế gon gàng dé cungcấp chuyền động linh hoạt theo các trục X, Y và Z Sau đó, chúng em đã chọn vàlắp ráp các bộ phận còn lại của hệ thống, bao gồm Raspberry Pi 2b, driver động co
và động cơ bước Bộ điều khiển chính được sử dụng là Raspberry Pi 2b, điều khiển
Trang 11các động cơ thông qua driver động co và được lắp đặt các cảm biên vi trí và lực đêthu thập thông tin hệ thống điều khiến.
Một camera giám sát sẽ được tích hợp vào hệ thống để đọc mã QR trên vậtthể Camera cung cấp đữ liệu theo thời gian thực cho Raspberry Pi 2b để xử lý vàxác định tọa độ cho các nhiệm vụ gap và tha Bồ sung này đảm bảo hệ thong có théxác định va tim kiêm các đôi tượng trên kệ lưới 3x3.
Lập trình điều khiển sẽ được thực hiện bằng ngôn ngữ Python trên Raspberry
Pi 2b Một giao diện điều khién đơn giản được phát triển dé đảm bảo người dùng dé
dàng tương tác với hệ thống Thuật toán di chuyền sẽ tính toán tọa độ từ dữ liệu mã
QR và điều khiển cánh tay di chuyên đến các vị trí cần thiết trên kệ Các phươngpháp điều khiển PID đảm bảo các chuyển động mượt mà và chính xác Hệ thống đãđược kiểm tra và hiệu chỉnh kỹ lưỡng, lập trình cánh tay dé di chuyên chính xác đếncác vị trí và thực hiện các nhiệm vụ gắp và thả Các tham số được tiếp tục điềuchỉnh dé đạt hiệu suất tối ưu và giải quyết các van dé kỹ thuật nhằm cải thiện độ tincậy và hiệu quả.
Sau khi thử nghiệm và hiệu chỉnh kỹ lưỡng, hệ thống cánh tay được triển
khai vào điều kiện thực tế dé thử nghiệm thực tế Các thử nghiệm này nhằm đánhgiá hiệu suất và độ chính xác của hệ thống trong việc gap va thả vật lên kệ 3x3, xácđịnh các yếu tố ảnh hưởng và thực hiện các cải tiễn cần thiết Việc triển khai thực tếgiúp nhận ra những thách thức khi áp dụng hệ thống trong môi trường thực tế và tìm
ra giải pháp Toàn bộ quá trình từ thiết kế đến lắp ráp, lập trình, kiểm tra và triển
khai được ghi lại trong một báo cáo chi tiết bao gồm các kết quả đạt được, nhữngkhó khăn gặp phải và các giải pháp khắc phục Hệ thống cũng được đánh giá tổngthê vê các điêm yêu và dé xuât các cải tiên đê nâng cao hiệu suât và độ tin cậy.
Trang 12MỞ ĐẦU
Trong bối cảnh công nghiệp phát triển nhanh chóng ngày nay, việc triển khaicác hệ thống lưu trữ tự động đã nổi lên như một yêu cầu nghiên cứu và vận hànhquan trọng Khi đất nước Việt Nam tiếp tục khang định mình là một nhân tố chủchốt trong chuỗi cung ứng toàn cầu, các doanh nghiệp cũng như các bệnh viện ngàycàng nhận ra tầm quan trọng của các giải pháp lưu trữ hiệu quả Việc áp dụng Hệthống lưu kho tự động Automatic Storage (AS) [1][2] là một chủ đề then chốt và
năng động của nghiên cứu và đổi mới.
Tuy nhiên, con đường triển khai AS không phải là không có thách thức Đầu
tư vốn ban đầu có thể rất lớn, tạo ra rào cản gia nhập đối với các tổ chức nhỏ hơn.Việc tích hợp hệ thống phức tạp với cơ sở hạ tầng hiện có, cùng với nhu cầu thíchứng của lực lượng lao động, tạo ra một đường cong học tập dốc Mối lo ngại về bảomật dữ liệu ngày càng lớn, đặc biệt là khi các hệ thống AS ngày càng được kết nốivới nhau nhiều hơn và việc tuân thủ quy định sẽ làm tăng thêm độ phức tạp chophương trình Do vậy nhóm chúng em đã chon dé tài: XÂY DỰNG HE THONGLƯU KHO TỰ ĐỘNG BẰNG PHƯƠNG PHÁP QUÉT MÃ QR THÔNG QUACAMERA GIÁM SAT, trong dé tài này, nhóm chúng em tiễn hành nghiên cứu vaxây dựng hệ thống lưu kho tự động nhằm mục đích có thé sử dụng hệ thống mộtcách rộng rãi và ít tôn kém, không bị ràng buộc vào một mô hình nhà kho cô định.
Phạm vi nghiên cứu:
Khóa luận sẽ nghiên cứu va thiết kế cơ cấu của cánh tay theo ba trục X, Y, Z, khả
năng vận hành của cánh tay từ băng chuyền đến mô hình kệ tủ Đồng thời, ứng
dụng xử lý ảnh cơ bản dé nhận diện mẫu vật (vật hình hộp nhỏ) với mục đích tăng
độ chính xác khâu cuối của hệ thống Các trục của hệ thống đã được thu ngắn
khoảng cách đề phù hợp với môi trường phòng thí nghiệm và chỉ phí sản suất
Trang 13Chương 1 TONG QUAN
1.1 Giới thiệu chung về hệ thống lưu kho tự động
1.1.1 Tim hiểu chung về hệ thống lưu trữ hàng hóa
Hệ thống lưu kho truyền thống đã lâu được áp dụng như một cách để xử lý
hàng hóa trong quá trình lưu trữ Hệ thống này dựa vào các thủ tục và thiết bị thủ
công Các kệ, giá đỡ và nơi lưu trữ được sắp xếp dé tối đa hóa không gian và đồng
thời dé dàng tiếp cận hang hóa là đặc điểm của loại hệ thống lưu kho này Quan ly
và vận hành của hệ thống lưu kho truyền thống phụ thuộc nhiều vào lao động con
người từ việc nhận và kiểm tra chất lượng và sỐ lượng hàng hóa đến việc lưu trữchúng tại các vị trí được xác định trước trong kho Nhân viên cũng có trách nhiệmcập nhật hồ sơ hàng tồn kho, chủ yếu là trên giấy hoặc thông qua một số phần mềmquản lý kho đơn giản Nhân viên cũng được giao nhiệm vụ lấy hàng dựa trên đơnđặt hàng, một quy trình cũng tương tự như thủ công và yêu cầu nhân viên di chuyểntrong kho dé tìm kiếm các mặt hàng
Một số đặc điểm nổi bật phù hợp với hệ thống lưu kho truyền thống bao gồmtính đơn giản và dé triển khai vì chúng không đòi hỏi đầu tư công nghệ lớn và cóchỉ phí thiết lập tương đối thấp Hệ thống này tốn sức lao động, yêu cầu nhiều người
để quản lý các hoạt động như nhận hàng, phân loại, đếm tồn kho và lấy hàng.Những đặc điểm khác bao gồm tính linh hoạt trong lưu trữ; hệ thống này có thé dédàng điều chỉnh dé phù hợp với các loại hàng hóa và nhu cầu lưu trữ khác nhau mà
không có sự nghiêm ngặt về công nghệ Tuy nhiên, quản lý và kiểm soát hàng tồn kho là một thách thức với hệ thống này khi phụ thuộc vào đầu vao của con người,
tăng nguy co sai sót trong quá trình ghi chép và đếm số lượng So với các hệ thốnglưu kho hiện đại, hệ thống truyền thống có hiệu quả tương đối thấp do mất nhiều
thời gian va no lực cho quản lý và vận hành của nó.
Trang 14Mặc dù hệ thống lưu kho truyền thống vẫn đủ cho nhiều doanh nghiệp nhỏhoặc bat kỳ nơi nào có nhu cau lưu trữ đơn giản hơn, xu hướng phát triển công nghệ
và tự động hóa trong các ngành công nghiệp đang thúc đây nhiều doanh nghiệpchuyền sang sử dụng các hệ thống lưu kho hiện đại Những hệ thống này mang lạicải tiến về hiệu suất, giảm chi phí và cải thiện độ chính xác trong quản lý hàng tồnkho đề phù hợp với cảnh quan công nghiệp đang thay đồi
1.1.2 Tim hiểu về hệ thống lưu trữ tự động AS/RS
Vai trò của hệ thống lưu trữ tự động trong quản lý chuỗi cung ứng vàlogistics không thé bị đánh giá thấp trong bat kỳ doanh nghiệp nào Về co bản, các
hệ thong này được thiết kế dé tổ chức, lưu trữ và quản lý hàng hóa sao cho các mặthàng có thé dé dang được truy cập dé xem xét và vận chuyền khi cần thiết Cùngvới sự phát triển của công nghệ và làn sóng tự động hóa, các hệ thống lưu trữ hiệnđại đã trở nên tiên tiễn và thông minh hơn, mang lại nhiều lợi ích đáng kế chodoanh nghiệp.
Một ví dụ điển hình về những tiễn bộ trong lĩnh vực này bao gồm việc SỬ
dụng hệ thống lưu trữ và truy xuất tự động (AS/RS) AS/RS tích hợp các thiết bị tự
động như robot, hệ thống băng chuyền và phần mềm quản lý kho hàng được liên kết
dé tự động hóa quá trình lưu trữ và truy xuất Những công nghệ này đã cung cấpcho các doanh nghiệp khả năng giảm thiểu lỗi, tăng tốc độ xử lý đơn hàng và tối ưu
hóa không gian lưu trữ Các công nghệ như RFID, mã vạch và mã QR được tích
hợp với các hệ thống này đã nâng cao khả năng theo dõi và quản lý hàng tồn kho
theo thời gian thực.
Trang 15Hình 1.1 Hệ thống lưu trữ và truy xuất tự động [3]
Các lợi ích khác của hệ thống lưu trữ tự động bao gồm giảm chỉ phí lao động
vì cần ít công nhân hơn đề thực hiện các công việc nguy hiểm, tăng cường an toàn
cho người lao động nhờ giảm thiểu sự can thiệp của con người và tăng hiệu quảhoạt động Ngoài ra, các hệ thống này cung cấp cơ hội để mở rộng hoạt động dễdàng ma không can dau tư lớn vào cơ sở hạ tang mới.
Trong bối cảnh toàn cầu hóa và sự cạnh tranh ngày càng gia tăng, việc áp
dụng các hệ thống lưu trữ hiện đại và thông minh dé tăng cường tinh cạnh tranh, tối
ưu hóa hoạt động và nhanh chóng đáp ứng nhu cầu thị trường là một thách thứcthiết yếu mà các doanh nghiệp phải đối mặt Công nghệ mới không chỉ tạo ra cơ hộicho ngành công nghiệp mà còn đặt ra các thách thức về tích hợp và vận hành hiệuquả các hệ thống phức tạp
Nói cách khác, hệ thống lưu trữ tự động là một trong những phần quan trọng
và không thể thiếu của quản lý chuỗi cung ứng Hơn nữa, với sự phát triển của côngnghệ và tự động hóa, chúng đã trở nên hiệu quả và thông minh hơn dé mang lai loiich rat lớn cho doanh nghiệp trong việc quan lý và tối ưu hóa hoạt động kho hàng
Trang 161.2 Các hướng nghiên cứu có liên quan đến đề tài trong và ngoài nước
1.2.1 Tinh hình nghiên cứu trong nước
Các hệ thống lưu kho tự động đang trở thành một phần thiết yếu trong sựphát triển của cả cảnh quan công nghiệp và thương mại tại Việt Nam, nhằm tậndụng sức mạnh của Công nghiệp 4.0 dé chuyên đổi quản lý hàng tồn kho và hiệu
quả hoạt động Theo xu hướng toàn cầu hướng tới tự động hóa, các chương trình
nghiên cứu hiện đại của Việt Nam đang tập trung ngày càng nhiều vào việc sử dụngcác công nghệ mới nhất trong các dự án dựa trên VaCL nhằm hiện đại hóa logisticskho hàng Những công nghệ nay không chi tập trung vào việc giảm chi phí lao động
mà còn đạt được độ chính xác và tốc độ cao hơn trong các quy trình lưu trữ, truy
xuất và di chuyên hàng hóa.
Một trong những lĩnh vực nghiên cứu chính là tối ưu hóa việc sử dụng khônggian lưu trữ và nâng cao hiệu quả thực hiện đơn hàng bằng cách sử dụng các hệ
thống lưu trữ và truy xuất tự động Điều này cho phép lưu trữ mật độ cao và truy
xuất hàng hóa nhanh chóng, từ đó giảm chỉ phí vận hành trong khi tối đa hóa sảnlượng Hơn nữa, các nghiên cứu về công nghệ nhặt hàng tự động đang được tiễnhành dé tiếp tục tinh giản quy trình xử lý don hàng và giảm thời gian dẫn, điều nàyrat quan trọng đôi với các chuôi cung ứng hiện dai và đôi khi nhộn nhịp.
Một lĩnh vực nghiên cứu quan trọng khác là tích hợp các công nghệ nhận dang va theo dõi, trong đó các nhà nghiên cứu Việt Nam đang nghiên cứu việc tíchhợp các hệ thống RFID, mã vạch và mã QR đề nhận dạng và truy xuất hàng tồn khotheo thời gian thực Điều này giúp cải thiện độ chính xác của hàng tồn kho, giảm lỗi
và nâng cao tính minh bạch của chuỗi cung ứng Mặt khác, việc phát triển các hệthống quản lý kho điện tử (WMS) có khả năng thu thập dit liệu theo thời gian thực,
phân tích và hỗ trợ ra quyết định đang được tiễn hành Những hệ thống nảy có thể
tối ưu hóa việc phân bổ tài nguyên, dự đoán các mẫu nhu cầu và dua ra các quyếtđịnh hoạt động tốt hơn với phân tích dữ liệu lớn [4]
Trang 17Việt Nam có tiềm năng nắm bắt rất hiệu quả tiềm năng của các hệ thống lưu
kho tự động do dat nước đã có những bước tiến đáng kề trong lĩnh vực này Tuynhiên, vẫn còn những thách thức liên quan đến tốc độ áp dụng công nghệ, hạn chế
về cơ sở hạ tầng và sự sẵn sảng của lực lượng lao động; điều này cũng đòi hỏi các
giải pháp tinh tế được thiết kế theo bối cảnh cụ thê Hiện tại, nghiên cứu đang đượctiến hành dé có các giải pháp có thé mở rộng và hiệu quả về chi phí nhằm vượt qua
những thách thức này, từ đó mở rộng việc áp dụng và tích hợp chúng trong các lĩnh vực khác nhau [4]
Trừ khi có một mức độ đầu tư cao liên tục vào nghiên cứu va phat triển các
công nghệ tiên tiến như các hệ thống lưu kho tự động dé hiện thực hóa hiệu quảtoàn diện của việc sử dụng công nghệ Công nghiệp 4.0 trong quản ly logistics vachuỗi cung ứng tại Việt Nam, điều này sẽ rất quan trọng trong việc nâng cao hiệu
qua hoạt động, giảm chi phí và cung cấp các mức độ dịch vụ tốt hơn với tiềm năng
thay đổi hoạt động logistics và thúc đây khả năng cạnh tranh trong một Việt Namđang thay đổi về mặt công nghiệp
Trang 181.2.2 Tinh hình nghiên cứu ngoại quốc
AS/RS đã trở thành trọng tâm nghiên cứu và phát triển ở hầu hết các quốcgia trên thế giới Thật vậy, việc tích hợp công nghệ tự động hóa vào kho bãi là mộtthành phần quan trọng của Công nghiệp 4.0, với ứng dụng trải rộng qua nhiềungành công nghiệp, từ sản xuất và logistics đến bán lẻ và chăm sóc sức khỏe Cácquốc gia tiên tiến đã tập trung nhiều vào việc phát triển và triển khai các hệ thống
này nhằm nâng cao hiệu quả hoạt động, giảm chỉ phí và cải thiện độ chính xác trong
quản lý hàng tồn kho [1]
Các công ty ở Mỹ, đặc biệt là các tập đoàn lớn như Amazon và Walmart, là
những nhà đầu tư lớn vào nghiên cứu và phát triển AS/RS Lý do có thể là vì các
công ty như Amazon đã có thê thực hiện và triển khai AS/RS một cách khá rộng rãi
với hệ thống robot Kiva dé lấy hang ra khỏi kho nhanh chóng và hiệu quả hơn.Walmart cũng đang tìm cách triển khai các hệ thống tự động giúp họ quản lý kho
bãi tốt hơn và xử lý đơn hàng kịp thời hơn Ngoài ra, các thuật toán và công nghệ
liên quan đến AS/RS đang được tôi ưu hóa tại các viện nghiên cứu và các trường
đại học ở Mỹ.
Trang 19AS/RS có vai trò quan trọng đối với các quốc gia như Đức, Thụy Sĩ và HàLan ở châu Âu Nền công nghiệp mạnh mẽ của Đức đã tạo ra các hệ thống lưu trữ
tự động rất tinh vi, bao gồm hệ thống Shuttle và kho cao tầng Mặt khác, Thụy Si và
Hà Lan đang xây dựng các giải pháp kho thông minh ngày càng nhiều, tích hợp trítuệ nhân tạo và học máy dé giúp tối ưu hóa các quy trình hoạt động
Về AS/RS, Nhật Bản và Hàn Quốc hiện đang dẫn đầu trong việc nghiên cứu
và triển khai trên toàn châu Á Nhật Bản nỗi tiếng với công nghệ robot tiên tiến, do
đó, họ đã phát triển các hệ thống lưu trữ tự động rất hiệu quả, đặc biệt trong các
ngành công nghiệp liên quan đến sản xuất và logistics Hàn Quốc có các khoản đầu
tư lớn vào công nghệ tự động hóa cho kho bãi với mục tiêu nâng cao hiệu quả và độchính xác trong quản lý hàng tồn kho Các trường đại học và viện nghiên cứu ở hainước này đang tích cực theo đuổi nghiên cứu và phát triển các công nghệ mới tronglĩnh vực AS/RS.
Bên cạnh đó, Trung Quốc đang nổi lên như một người chơi chính trong lĩnh
vực này Do sự phát triển nhanh chóng của ngành công nghiệp thương mại điện tử
10
Trang 20va logistics, các công ty Trung Quốc như JD.com va Alibaba đã đầu tư đáng ké vàocác hệ thống lưu trữ tự động dé nâng cao hiệu quả và giảm chi phí Chính phủTrung Quốc cũng ủng hộ mạnh mẽ việc nghiên cứu và triển khai công nghệ tự độnghóa cho kho bãi, xem đây là một thành phần quan trọng trong chiến lược phát triểnCông nghiệp 4.0 của đất nước.
Nghiên cứu về AS/RS đang được thực hiện trên toàn cầu nhằm phát triển các
công nghệ mới đồng thời tinh chỉnh các hệ thống hiện có Các xu hướng nghiên cứu
bao gồm ứng dụng AI và học máy dé dự báo nhu cau và tối ưu hóa quản lý hàng tồnkho, tích hợp IoT để giám sát và quản lý kho theo thời gian thực, và phát triển cácgiải pháp phần mềm quản lý kho thông minh Việc chia sẻ kiến thức thông qua cáctạp chí chuyên ngành và hội nghị quốc tế đang làm cho kiến thức về lĩnh vực này
được truyền đạt đến cộng đồng quốc tế, đồng thời thúc đây sự hợp tác quốc tế và cải
tủ đã được thiết kế trước Bên cạnh đó, việc xác định các ô trong trén ké dé hé théng
cánh tay đưa vật vào cũng can phải có camera ôn định va các thuật toán tìm đường
đi hiệu quả dé tăng độ chính xác mỗi lần lưu trữ
1.3.2 Phương pháp thực hiện
e Chúng em đã có một số phương pháp dé xây dựng hệ thống cánh tay ba trục
X, Y, Z cũng như giải quyết các van đề trên:
e Xây dựng cánh tay ba trục gồm các phan chính: bệ cố định bang nhôm, ba
động cơ bước cùng với driver dé điều khiến, cánh tay và bộ gap bang cơ khí
e Thiết kế kệ tủ có lưới 3x3 với kích thước mỗi 6 dai, rộng 15 cm có phông
đen đề phù hợp với database dung xử lý ảnh
11
Trang 21Lắp đặt camera gần bộ gắp cơ khí vừa nhận diện mã QR trên vật thể cũngnhư kệ tủ để gắp thả vật vào ô kệ một cách chính xác.
Sử dung board Raspberry Pi 2b đề điều khiển cánh tay bằng cách sử dụngthuật toán tìm đường đi đề tìm ra đường đi ngắn nhất đến các ô trống trên kệ
Sử dụng máy tính để xử lý ảnh từ camera công nghiệp xác định mã QR mẫu
vật dé có thé truyền các dữ liệu vị trí mẫu tới các board Raspberry PI 2b
dùng dé gap các vật
Quá trình quy trình thực hiện được thể hiện trên giao diện người dùng trênmáy tính dé có thé theo dõi các trạng thái hiện tại của hoạt động mô hình
12
Trang 22Chương2 CƠ SỞ LÝ THUYET
2.1 Cơ cầu phần cứng va động cơ bước
Hệ thống lưu kho tự động được thiết kế dựa trên 3 trục x,y và z hoạt độngđộc lấp với nhau với trục x,y hoạt động dựa trên cơ cầu dây đai — bánh răng và trục
z hoạt động dựa trên cơ cấu vitme Việc sự dụng cơ cau day đai sé giúp hệ thốnghoạt động vôi tốc độ nhanh hơn, tăng hiệu suất làm việc trong khi cơ cấu vitme tạitrục z giúp hệ thong có thé di chuyền đến là lay hàng, tránh tình trạng di chuyên quánhanh dẫn đến gây hư hỏng món hàng Để ba trục x, y và z hoạt động thì động cơbước (được minh họa như hình 2.1) được sử dụng vì độ chính xác của chúng cao
4Wire 6 wire 6 wire 8 wire 8 wire
High Speed High Torque High Torque High Torque
At Low Speed At High Speed
Hình 2.1 Sơ đồ nối động cơ [6]
Bộ driver duoc sử dụng dé điều khiển được động cơ Sơ đồ đấu dây của động
cơ bước va driver được mô tả như hình 2.2
Controller Drive Controller Drive
Trang 23Driver được nôi vào driver động cơ bước theo hai cách: nôi chung dươnghoặc nối chung âm như hình 2.6
Hình 2.3 Sơ đỗ tín hiệu điều khiển [6]
Với các thời gian điều khiển theo hình 2.3 tuân theo quy tắc sau: [6]
e tl: ENA phải gửi trước DIR ít nhất Sus
e (2: DIR phải gửi trước PUL ít nhất 5us.
e 3: xung không được nhỏ hơn 2.5us.
e t4: xung thấp không được nhỏ hơn 2.5us.
2.2 Thuật toán Dijkstra tìm đường đi ngắn nhất
Thuật toán Dijkstra là một phương pháp hiệu quả đề tìm đường đi ngắn nhấttrong đồ thị, giúp cánh tay di chuyên đến hết các 6 kệ trong kệ tủ 3x3 một cách tối
ưu [9]
Dé áp dụng thuật toán Dijkstra cho cánh tay 3 trục (x, y, z) di chuyên đến hết
9 ô kệ trong một kệ tủ 3x3, chúng ta cần mô hình hóa bài toán này dưới dạng một
đô thị, trong đó các ô kệ là các đỉnh và các cạnh đại diện cho đường di giữa các 6 kệ.
Chúng ta xây dựng một đồ thị không hướng với 9 đỉnh và các cạnh giữa các
ô kệ liên kê.
« Dinh 1 có cạnh kết nối với đỉnh 2 và đỉnh 4
14
Trang 24« Dinh 2 có cạnh kết nối với đỉnh 1, đỉnh 3 và đỉnh 5.
« Dinh 3 có cạnh kết nối với đỉnh 2 và đỉnh 6.
¢ Dinh 4 có cạnh kết nối với đỉnh 1, đỉnh 5 và đỉnh 7
« Dinh 5 có cạnh kết nối với đỉnh 2, đỉnh 4, đỉnh 6 và đỉnh 8.
« Dinh 6 có cạnh kết nối với đỉnh 3, đỉnh 5 và đỉnh 9.
„ Dinh 7 có cạnh kết nối với đỉnh 4 và đỉnh 8.
¢ Dinh 8 có cạnh kết nối với đỉnh 5, đỉnh 7 và đỉnh 9
« Dinh 9 có cạnh kết nối với đỉnh 6 và đỉnh 8
Chúng ta sẽ bắt đầu bằng việc chọn một đỉnh làm nguồn (ví dụ đỉnh 1), đặtkhoảng cách từ đỉnh nguồn đến chính nó là 0, và đến các đỉnh khác là vô cực (œ)
Đồng thời tạo một tập hợp đỉnh chưa được xử lý.
Goi d[v] là khoảng cách ngắn nhất từ đỉnh nguồn s đến đỉnh v Khởi tạo:
0, riếu u = S
= Tin 2.1
di] len néuv # S 2.1)
Tap hợp các đỉnh chưa được chon Q: chứa tất cả các đỉnh trong đồ thị
Với mỗi đỉnh v là hang xóm của 1:
Nếu ø € Q và d[u] + w(u,v) < d[v] thi
d[u] = d[u] + w(u, v) (2.5)
Trong đó w(u, v) là trọng số của cạnh nối giữa u và 0
Lặp lại cho đến khi Q rong.
15
Trang 26Mã QR bao gồm các mô-đun đen và trắng được sắp xếp trong một lướivuông Câu trúc của mã QR bao gôm:
« - Mô-đun dữ liệu (Data Module): Chita thông tin được mã hóa.
« Mô-đun định vị (Positioning Module): Ba 6 vuông lớn ở các góc của mã
QR giúp xác định hướng quét.
¢ Mô-đun căn chỉnh (Alignment Module): Ô vuông nhỏ hơn dùng để hiệu
chỉnh các biến dạng
« Mô-đun thời gian (Timing Module): Dai các 6 vuông xen kẽ giúp xác định
kích thước và phiên bản của mã QR.
‹ _ Mô-đun định dang (Format Module): Chứa thông tin về định dang của mã
QR.
OPO
Hình 2.4 Ảnh minh hoa ma QR với các mô-đun2.3.2 Công nghệ nhận diện mã QR
2.3.2.1 Tiền xứ lý hình anh (OpenCV)
OpenCV viết tắt cho Open-Source Computer Vision Library, thư viện mãnguồn mở nổi tiếng cho xử lý hình ảnh và thị giác máy tính OpenCV có các hàm
hỗ trợ phát hiện và giải mã mã QR [8]
Chuyén đổi hình ảnh thành ảnh xám (Grayscale Conversion):
17
Trang 27Ảnh xám chỉ có một kênh thay vì ba kênh như ảnh màu Việc xử lý một kênhnhanh hơn so với xử lý ba kênh màu giúp giảm khối lượng cần xử lý, đồng thời tăngtốc độ của các thuật toán xử lý hình ảnh.
R
B
Hình 2.5 Chuyên đôi ảnh từ ảnh có kênh màu RGB sang xám [11]
Làm mịn và lọc nhiễu (Smoothing and Noise Reduction):
Làm mịn (smoothing) là quá trình làm giảm sự biến đổi đột ngột giữa các giá
tri pixel trong hình ảnh Mục đích chính của làm min là tao ra một hình anh dễ nhìn
hơn bằng cách loại bỏ các chỉ tiết nhỏ hoặc các biến đổi ngẫu nhiên Điều này có
thé giúp làm mờ các chỉ tiết không cần thiết, làm giảm nhiễu và chuẩn bị hình ảnhcho các bước xử lý tiếp theo
Giảm nhiễu (noise reduction) là quá trình loại bỏ hoặc làm giảm các nhiễu
trong hình ảnh Nhiễu là các biến đổi ngẫu nhiên và không mong muốn trong giá trịpixel, thường xuất hiện như các điểm sáng hoặc tối không đều trong hình ảnh
Nhiễu có thể do nhiều nguyên nhân, bao gồm điều kiện ánh sáng kém, lỗi của cảm
biến hoặc lỗi truyền tai dit liệu
Gaussian blur là một kỹ thuật làm mờ hình ảnh sử dụng ham Gaussian dé
tính toán ảnh hưởng của mỗi pixel trong vùng lân cận của nó Đây là một trong
những phương pháp làm mờ phổ biến nhất vì nó tạo ra kết quả tự nhiên và mượt
`
ma.
18
Trang 28Hàm Gaussion blur được định nghĩa:
1 x2+ y2
e— 2ø (2.8)
G(x,y) =
2702 Trong đó:
x tà y là khoảng cach từ gốc tọa độ theo trục ngang và trục dọc
o là độ lệch chuân của phân bô Gaussian, kiêm soát độ rộng của đường cong hình chuông.
horizontal Gauss filter vertical Gauss filter
original image intermediate result end result o|lololololo olo|lo|lolo l0, ol|sg|1s8|s|0|o
1 LÚT execute op 1 LUT execute op
~ read per pixel ~ read per pixel
1 write per pixel 1 write per pixel
Hình 2.6 Ước lượng các pixel trong Gaussian blur [12]
Phát hiện cạnh (Egde detection):
Phát hiện cạnh là một kỹ thuật quan trọng trong xử lý ảnh và thị giác máy
tính Nó nhằm xác định các ranh giới của các đối tượng trong ảnh, giúp nhận diệnhình dạng và cấu trúc của các đối tượng đó Các cạnh thường là những vùng trongảnh nơi có sự thay đôi đột ngột về cường độ sáng hoặc màu sắc [13]
Canny edge detection:
19
Trang 29Canny edge detection là một trong những phương pháp phát hiện cạnh phổ
biên nhât, bao gôm các bước sau:
e Làm mịn ảnh: Áp dụng Gaussian blur dé làm giảm nhiễu
e Tính toán gradient: Sử dụng bộ lọc Sobel để tính toán gradient theo hai
hướng.
e Áp dụng Non-maximum Suppression: Loại bỏ các điểm không phải là cực
đại của gradient dé làm mỏng các cạnh
e© Double Thresholding: Sử dụng hai ngưỡng để phân loại các điểm thành
cạnh mạnh, cạnh yếu và không phải cạnh
e Edge Tracking by Hysteresis: Kết nối các cạnh yếu với các cạnh mạnh nếu
chúng liên kê đê tạo ra các cạnh cuôi cùng.
2.3.2.2 Xứ lý nhận diện mã QR Phát hiện Mã QR (QR Code Detection)
— Tìm các mô-đun định vi (Finding Finder Patterns):
20
Trang 30Các mô-đun định vi là ba hình vuông lớn ở các góc của mã QR Thuật toán tìm kiêm các mô-đun này đê xác định vi trí và hướng của mã QR.
Đâu tiên, cân phát hiện các vùng trong ảnh có thê chứa các mô đun định vi.
Dé làm điều này, thường sử dụng các bước xử lý ảnh như:
e Binarization: Chuyển đổi ảnh xám thành ảnh nhị phân bằng cách sử dụng
ngưỡng (thresholding) Các vùng đen và trắng trong ảnh sẽ dễ dàng được xác
định hơn.
e Connected Component Labeling: Xác định các vùng liên thông trong ảnh
nhị phân Mỗi vùng liên thông có thể là một mô đun định vị hoặc một phầncủa mã QR.
Sau khi phát hiện các vùng ứng viên, tiêp theo là kiêm tra xem các vùng này
có phải là mô đun định vị hay không Các bước bao gồm:
e Tính Tỉ Lệ Kích Thước (Aspect Ratio Check): Kiểm tra tỉ lệ giữa chiều
dai và chiều rộng của vùng ứng viên Mô đun định vị thường có tỉ lệ gần 1:1
e Kiểm Tra Cấu Trúc (Structure Check): Kiểm tra cấu trúc của các vùng
ứng viên bằng cách phân tích sự phân bố của các pixel đen và trang Mô đun
định vị có cấu trúc đặc biệt với tỉ lệ 1:1:3:1:1 giữa các vùng đen và trắng.
Sau khi xác định các mô đun định vi, tiên hành xác định vi trí và hướng của
mã QR Các bước bao gồm:
e Xac Định Vi Trí Tâm (Centroid Calculation): Tính toán vi trí tâm của các
mô đun định vi.
e Xác Định Khoảng Cách và Góc (Distance and Angle Calculation): Tinh
toán khoảng cách giữa các mô đun định vị và góc giữa chúng để xác địnhkích thước và hướng của mã QR.
21
Trang 31Xác Định Hướng (Orientation Determination): Dựa vào vị trí của ba mô
đun định vi, xác định hướng của mã QR.
— Xác nhận và lọc các mô-đun định vị (Confirming Finder Patterns):
Các hình vuông được phát hiện được xác nhận bằng cách kiểm tra tỷ lệ kíchthước và hình dạng của chúng.
Hiệu chỉnh Biến dạng (Perspective Transformation)
Hiệu chỉnh các biến dạng hình học (Geometric Distortion Correction):
Sử dụng các mô-đun định vị dé hiệu chỉnh bat kỳ biến dạng nào do góc nhìnhoặc bề mặt không phăng gây ra Thông thường, phép biến đổi đồng nhất(homography) được sử dụng dé biến đôi hình ảnh vào một dạng tiêu chuẩn
Phát hiện và điều chỉnh góc (Angle Detection and Adjustment): Xác địnhgóc quay của mã QR và điều chỉnh lại để mã QR nằm ngang
Phân đoạn và Trích xuất Dữ liệu (Segmentation and Data Extraction)
Phân đoạn hình ảnh thành các 6 (Grid Segmentation): Sau khi mã QR
được chuẩn hóa, hình ảnh được chia thành lưới các ô vuông nhỏ, mỗi ô đạidiện cho một bit dir liệu.
Giải mã dữ liệu (Data Decoding): Các bit dữ liệu từ lưới được giải mã theo
cấu trúc của mã QR, bao gồm các thông tin về phiên bản, mức độ sửa lỗi, và
dữ liệu thực tế
Sửa lỗi và Giải mã (Error Correction and Decoding)
Sửa lỗi (Error Correction): Mã QR sử dung thuật toán sửa lỗi
Reed-Solomon dé phát hiện và sửa chữa các lỗi trong dữ liệu
Giải mã thông tin (Decoding Information): Sau khi sửa lỗi, dữ liệu được
giải mã dé trích xuất thông tin ban đầu được lưu trữ trong mã QR
22
Trang 322.4 Luồng (threading)
Một luồng bao gồm một tập hợp các lệnh mà bộ xử lý (CPU) có thé thực thi
độc lập Trong một chương trình, có thể có một hoặc nhiều luồng, mỗi luồng có thé
thực thi đồng thời với các luồng khác Có hai kiểu là đơn luồng và đa luỗng
- Don luồng là kiểu lập trình mà trong đó chỉ có một luồng duy nhất thực
thi các lệnh của chương trình Tất cả các tác vụ được thực hiện tuần tự,
nghĩa là chỉ có một công việc được thực hiện tại một thời điểm.
% Ưu điểm của đơn luồng:
e_ Đơn giản: Dễ hiểu và dễ triển khai
e_ Quản lý dễ dàng: Không cần lo lắng về van đề đồng bộ hóa dữ liệu giữa các
luồng
% Nhược điểm của đơn luéng:
e Hiệu suất thấp: Không tận dụng được hết khả năng của CPU, đặc biệt là
trên các hệ thống đa nhân
e Phản hồi kém: Khi một tác vụ mất nhiều thời gian thực hiện, các tác vụ khác
phải chờ đợi, dẫn đến hệ thống phản hồi chậm
- Da luồng là kiểu lập trình mà trong đó có nhiều luồng thực thi đồng thời
trong một chương trình Các luồng này có thể thực thi độc lập và chia sẻ tài nguyên với nhau, giúp tận dụng tối đa hiệu suất của CPU.
% Ưu điểm của đa luồng:
e Hiệu suất cao: Tận dụng được sức mạnh của các CPU đa nhân, giúp tăng
tốc độ xử lý
e_ Phản hồi tốt: Các tác vụ có thể được xử lý song song, giúp cải thiện thời
gian phản hồi của hệ thống
e_ Tối ưu tài nguyên: Sử dụng hiệu quả hon tài nguyên hệ thống
% Nhược điểm của đa luồng:
23
Trang 33e Phức tạp: Quản lý và đồng bộ hóa giữa các luồng phức tạp hơn.
e Deadlock: Có nguy cơ xảy ra tình trạng "chết chờ" khi các luồng chờ đợi
lẫn nhau để giải phóng tài nguyên
code data files code data files
registers stack registers ||| registers ||| registers
stack stack stack
thread ——> s S s c+ thread|
single-threaded process multithreaded process
Hình 2.8 Ví dụ về đơn luồng (trai) va da luồng (phải) [7]
Đa luồng có thể được thực hiện chủ yếu theo hai cách Trong các hệ thong
đơn bộ xử ly, đa luồng thường được trién khai thông qua phân chia thời gian (time
slicing), một kỹ thuật cho phép CPU chuyền đổi giữa các phần mềm khác nhauchạy trên các luồng khác nhau Trong phân chia thời gian, CPU chuyên đổi việcthực thi của nó rất nhanh và thường xuyên đến mức người dùng thường cảm thấyrằng phần mềm đang chạy song song (ví dụ: khi bạn mở hai phần mềm khác nhaucùng một lúc trên một máy tính đơn bộ xử lý) Như hình 2.9 mô tả về kỹ thuậtround-robin.
Trang 34Việc áp dụng đơn luồng hay đa luồng trong hệ thống phụ thuộc vào độ phứctạp và yêu cầu hiệu suất của hệ thống Đối với các hệ thống đơn giản và nhỏ gọn,
đơn luồng có thé là đủ Tuy nhiên, đối với các hệ thống phức tạp và yêu cầu hiệu
suất cao, đa luồng sẽ là lựa chọn tốt hơn, giúp tận dụng tối đa hiệu suất của hệ thống
và cải thiện thời gian phản hồi
2.5 Giao thức RESTful API
RESTful API (Representational State Transfer Application Programming
Interface) là một giao diện lập trình ứng dụng tuân theo các nguyên tắc của kiếntrúc REST REST là một phong cách kiến trúc được thiết kế dé tận dụng các giaothức web, đặc biệt là HTTP RESTful API cho phép các hệ thống giao tiếp Và traođổi dữ liệu một cách hiệu quả và linh hoạt [15]
Các phương thức HTTP thường dùng trong RESTful API:
e GET: Lấy dữ liệu từ server.
e POST: Tạo mới một tai nguyên trên server.
e PUT: Cập nhật một tài nguyên hiện có trên server.
e DELETE: Xóa một tài nguyên từ server.
e PATCH: Cập nhật một phần tài nguyên hiện có trên server.
Hình 2.10 Giao thức RESTful API [15]
GET /iasks - display all tasks
POST tasks - create a new task
GET ftasks/fid)} - display a task by ID
PUT ftasks/{id} - update a task by ID
DELETE /tasks/{id} - delete a task by ID
Client
25
Trang 35Lợi Ích của RESTful API
¢ Dé Hiéu và Sử Dung: Cau trúc dựa trên HTTP quen thuộc và dễ hiểu
¢ Linh Hoạt: Có thé sử dụng với nhiều định dạng dữ liệu (ISON, XML).
- _ Tương Thích: Hoạt động tốt với các hệ thống hiện có và dé dang mở rộng
¢ Hiệu Suất Cao: Stateless nature giúp cải thiện hiệu suất và khả năng mở
rộng.
RESTful API là một cách mạnh mẽ và linh hoạt dé xây dựng các giao diệnlập trình ứng dụng, tận dụng các giao thức HTTP hiện có Nó giúp các hệ thốnggiao tiếp và trao đổi dữ liệu một cách hiệu qua, dé hiểu, và dễ triển khai giúp xâydựng các hệ thống mạnh mẽ, linh hoạt, và dé bảo trì
2.6 GPIO
GPIO (General Purpose Input/Output) là các chân kết nối trên các vi điềukhiến, vi xử lý hoặc các mạch tích hợp khác Chúng có thé được lập trình để thựchiện nhiều chức năng khác nhau như đầu vào (input) hoặc dau ra (output), giúp giaotiếp với các thiết bị ngoại vi như đèn LED, nút nhấn, cảm biến, và nhiều thiết bịkhác [16]
Cau Trúc Cơ Bản:
Pin GPIO: Mỗi chân GPIO có thể được lập trình để hoạt động như một đầu
vào hoặc đầu ra Các chân này thường được đánh số và có thé có các tên gọi khác
nhau tùy theo nhà sản xuất và loại thiết bị
Trạng Thái GPIO: GPIO có hai trạng thai cơ bản:
e High (Cao): Điện áp trên chân GPIO ở mức cao (thường là 3.3V hoặc 5V).
e Low (Thấp): Điện áp trên chân GPIO ở mức thấp (thường là OV)
Chức Năng GPIO:
26