1.1.2 Các nhiệm vụ cơ bản và vấn đề tồn đọng của hệ thống AGV Trong hệ thống AGV sẽ bao gồm 5 nhiệm vụ chính[8]: phân phối công việc, xác định đường đi, lập kế hoạch di chuyển, định vị v
TỔNG QUAN
Giới thiệu vấn đề
1.1.1 Giới thiệu hệ thống AGV trên thế giới và ở Việt Nam
AGV là viết tắt cho cụm từ Automated Guided Vehicle, một phương tiện vận chuyển hàng hoá không người lái Tập hợp nhiều AGV được gọi là AGV và thuật ngữ này được giới thiệu lần đầu tiên vào năm 1955 [1] Khi AGV hoạt động cùng với nhau thực hiện công việc vận chuyển hàng hoá từ địa điểm này đến địa điểm khác thông qua mạng lưới giao thông thì chúng là một phần của hệ thống AGV Ngoài ra, hệ thống AGV còn có các thành phần khác như hệ thống điều khiển, hệ thống định vị, hệ thống sản xuất, lưu trữ,… [1]
Hình 1.1: Hệ thống AGV của SWISSLOG[2]
Báo cáo của Grand View Reseach [3] cho thấy thị trường AGV vào năm 2022 có giá trị 4,28 tỉ USD trên toàn thế giới và tỉ lệ tăng trưởng kép được kỳ vọng là 9,7% từ năm 2023 tới năm 2030 Trong 3 năm từ 2021 đến 2023, đã có nhiều doanh nghiệp ở nhiều ngành đã áp dụng hệ thống AGV vào hệ thống của họ Năm 2021, công ty AUDI AGV, một công ty sản xuất ô tô đã áp dụng AGV trong hệ thống sản xuất Cùng năm đó, công ty OTSAW Digital Pte.Ltd phát triển AGV để phục vụ cho mục đích chăm sóc sức khoẻ các bệnh nhân Vào năm 2022, một công ty bán lẻ tên là SAVE MART SUPER MARKET đã mở rộng khu vực giao hàng của mình khi sử dụng AGV của công ty Starship Trong thời gian gần đây, vào tháng 3 năm 2023, Swisslog Holding AGV đã giới thiệu phiên bản mới của hệ thống CarryPick, hệ thống di động lấy hàng và lưu trữ đến người với tính năng hướng dẫn xe chở hàng tự động
Vào tháng 12 năm 2022, Daifuku Co Ltd, một nhà sản xuất hàng đầu về giải pháp xử lý tự động, đã thông báo về việc xây dựng một nhà máy mới tại Hyderabad – Telangana - Ấn Độ, nhằm sản xuất các giải pháp kho tự động, băng tải, hệ thống xe hướng dẫn theo dõi đường ray, bộ sắp xếp, và nhiều hệ thống khác Trong tháng 10 năm 2022, Seegrid Corporation đã tuyên bố mối quan hệ chiến lược với Koops Automation Systems, tạo điều kiện cho Koops để nâng cao danh mục sản phẩm dịch vụ doanh nghiệp của họ bằng cách tích hợp giải pháp doanh nghiệp Fleet CentralTM và robot di động tự động Seegrid PalionTM Bastian Solutions, Inc., công ty logistics thuộc sở hữu của Toyota, đã giới thiệu giải pháp chọn lựa tự động SmartPick tại sự kiện PACK EXPO International vào tháng 9 năm 2022 Trong tháng 9 năm 2022, JBT Corporation đã mua lại Bevcorp để phát triển một mô hình kinh doanh chắc chắn, với 60% doanh thu định kỳ Cũng vào tháng 9 năm 2022, Toyota Material Handling Japan (YMHJ), một phần của TOYOTA INDUSTRIES CORPORATION, đã ra mắt công nghệ mới về xe nâng tự động sử dụng trí tuệ nhân tạo để tự động nhận diện vị trí và địa điểm của xe nâng, từ đó tạo ra tuyến đường di chuyển tự động cho quá trình xếp hàng
Trên đây chỉ là một vài ví dụ về ứng dụng của AGV trong các ngành khác nhau
Hệ thống AGV được áp dụng rộng rãi trong nhiều ngành công nghiệp khác nhau như sản xuất, logistics, ô tô, chăm sóc sức khoẻ, thực phẩm vì khả năng nâng cao năng suất, giảm thiểu chi phí và khả năng thúc đẩy quy trình tự động hoá, công nghiệp hoá Khi các doanh nghiệp nhận ra được quá trình công nghiệp hoá tự động hoá là xu hướng phát triển, nhu cầu phát triển các giải pháp xử lý vật liệu và vận chuyển sẽ tăng theo và đây chính là cơ hội phát triển của thị trường AGV
Việt Nam thuộc khu vực châu Á – Thái Bình Dương, đây là khu vực có tốc độ phát triển thị trường lớn nhất[3] Nhưng thị trường AGV ở Việt Nam không phát triển vì nền công nghiệp ở đây còn non trẻ Nền công nghiệp của Việt Nam đang gặp rất nhiều thách thức, phụ thuộc vào vốn đầu tư nước ngoài, công nghệ kém, sản phẩm kém chất lượng và năng suất lao động thấp[5]
Mặc dù gặp nhiều thách thức và khó khăn nhưng Việt Nam định hướng phát triển theo hướng công nghiệp hoá, hiện đại hoá, mục tiêu tới năm 2030 cơ bản trở thành nước công nghiệp theo hướng hiện đại[5] Xu hướng tự động hoá, hiện đại hoá sẽ kéo theo sự phát triển các giáp pháp vận chuyển và xử lý vật liệu Vậy nên đây sẽ là một cơ hội để phát triển thị trường AGV ở Việt Nam Tại đây đã có một số công ty bắt đầu nghiên cứu phát triển AGV như IDEA group, INTECH group, ESATECH,… Các công ty này đã có các sản phẩm AGV và các hệ thống AGV hoàn thiện, góp phần phát triển thị trường ở Việt Nam
Hình 1.3: ESATECH AGV và IDEA AGV[6] [7]
Từ những lý do trên, có thể thấy thị trường AGV ở Việt Nam có tiềm năng phát triển theo xu hướng tự động hoá, hiện đại hoá của đất nước Góp phần hỗ trợ quá trình nâng cấp từ quy trình sản xuất thủ công sang bán tự động và tự động Vì thế hướng nghiên cứu hệ thống AGV được lựa chọn
1.1.2 Các nhiệm vụ cơ bản và vấn đề tồn đọng của hệ thống AGV
Trong hệ thống AGV sẽ bao gồm 5 nhiệm vụ chính[8]: phân phối công việc, xác định đường đi, lập kế hoạch di chuyển, định vị và quản lý phương tiện Các công việc sẽ được hệ thống điều khiển phân phối cho các AGV trong trạng thái rảnh rỗi, sau đó chọn ra một con đường để vận chuyển hàng hoá
Trong quá trình vận chuyển, để tránh va chạm và kẹt cứng thì hệ thống cần phải hoàn thành tốt nhiệm vụ lập kế hoạch chuyển động cho tới khi AGV hoàn thành công việc được giao Trong lúc AGV đang vận hành thì các thành phần khác nhau trong hệ thống sẽ đảm nhiệm nhiệm vụ định vị và quản lý phương tiện
Hình 1.4: Quy trình làm việc chung của hệ thống AGV[8]
Dựa theo quy trình làm việc chung của hệ thống AGV được trình bày ở [8], sau khi AGV hoàn thành công việc, nó sẽ tiếp tục nhận công việc mới và lặp lại quy trình Trong trường hợp AGV không có được hệ thống điều khiển giao nhiệm vụ ngay tức khắc thì AGV sẽ chuyển về trạng thái rảnh[1] Lúc này, hệ thống điều khiển ra lệnh cho AGV đến một vị trí để đỗ và chờ công việc tiếp theo được phân phối Để giảm thời gian hàng hoá đợi AGV di chuyển từ vị trí đỗ tới địa điểm lấy hàng, vị trí đỗ của AGV cần được lựa chọn cân nhắc
Nhiều nghiên cứu đã đưa ra các tiêu chí đánh giá và phương pháp tiếp cận để lựa chọn vị trí bãi đỗ AGV hợp lý nhằm giảm thời gian phản hồi của AGV, từ đó rút ngắn thời gian hoàn thành nhiệm vụ Các giải pháp thống kê, lập trình linh hoạt và mô hình chuỗi Markov có thể hiệu quả với hệ thống AGV cố định Tuy nhiên, khi hệ thống phức tạp và số lượng AGV lớn, cần sử dụng các thuật toán hiệu quả hơn để giải quyết vấn đề.
Bên cạnh đó, theo dòng lịch sử, con người đã phát minh ra nhiều loại công cụ để xử lý các công việc đơn giản hơn Những công cụ này giúp con người thoả mãn các nhu cầu trong đời sống, bao gồm di chuyển, các ngành công nghiệp và tính toán Máy học là một trong số chúng[9] Đã có những nghiên cứu ứng dụng máy học để xác định vị trí đỗ AGV nhằm giảm thời gian hoàn thành nhiệm vụ
Các công trình nghiên cứu liên quan
Vào năm 1993, Egbelu đã chỉ ra rằng có rất nhiều nghiên cứu tập trung vào vấn đề thiết kế và điều khiển nhưng vấn đề xác định vị trí đỗ cho AGV lại được ít chú ý hơn so với các hướng nghiên cứu khác Trong nghiên cứu này, ông đã chỉ ra 3 hướng tiếp cận để giải quyết vấn đề: giảm thiểu thời gian phản hồi lớn nhất của hệ AGV, giảm thiểu thời gian phản hồi trung bình của hệ AGV và phân phối vị trí đỗ của các AGV đều trên khu vực hoạt động[10] Ngoài ra, có 3 nguyên tắc đỗ được nhắc đến đó là: nguyên tắc đỗ tập trung, nguyên tắc đỗ vòng lặp và nguyên tắc đỗ tại chỗ[10] Hình 1.5 mô tả một hệ thống AGV với bố cục vòng lặp, trong hệ thống này bao gồm một đường đi khép kín qua các trạm làm việc được đánh số từ 1 tới 10
Hình 1.5: Một hệ thống AGV với bố cục vòng lặp[10]
Khi AGV chuyển từ trạng thái làm việc sang rảnh rỗi, có ba nguyên tắc đỗ thông dụng được áp dụng Nguyên tắc đỗ tập trung chỉ định một khu vực cụ thể để AGV rảnh quay về Ngược lại, nguyên tắc đỗ vòng lặp xác định các vòng lặp cụ thể để AGV đỗ tạm thời Cuối cùng, nguyên tắc đỗ tại chỗ cho phép AGV dừng ngay tại vị trí giao hàng sau khi hoàn thành nhiệm vụ, nhưng có thể gây ra tình trạng kẹt cứng trong hệ thống.
Egbelu[10] nghiên cứu quy tắc đỗ vòng lặp Trong nghiên cứu này ông xem mọi vòng lặp đều tương đương với một bố cục hình tròn Khi tiếp cận theo hướng này, khoảng cách giữa các trạm làm việc không còn tính theo khoảng cách mà tính theo độ lớn của cung tròn Có 4 mô hình được giới thiệu, trong đó có hai mô hình đơn phương tiện, xem xét AGV di chuyển theo một hướng và hai hướng, hai mô hình còn lại xem xét trường hợp đa phương tiện và các phương tiện này di chuyển theo một chiều và hai chiều Nguyên lý cơ bản của các giải thuật được đề ra trong nghiên cứu này dựa trên mô hình toán, tính toán khoảng cách giữa các trạm theo độ lớn của cung tròn, chọn khoảng cách cung lớn nhất và chọn vị trí đỗ hợp lý sao cho giảm đi thời gian phản ứng tối đa của các phương tiện Hình 1.6 mô tả cách Egbelu xem xét đường đi khép kín ngẫu nhiên (a) tương đương với một đường tròn (b) Độ dài đường đi ở bố cục (a) bằng với chu vi đường tròn bán kính r ở bố cục (b)
Hình 1.6: Bố cục ngẫu nhiên(a) và bố cục tròn tương đương(b)[10]
Kim[11] nghiên cứu về vị trí đỗ dựa trên nguyên tắc đỗ vòng lặp, mục tiêu hướng tới đó là giảm thời gian phản hồi trung bình của hệ AGV Nguyên tắc cốt lõi mà Kim dùng tương tự với Egbelu, phân tích một vòng lặp thành bố cục đường tròn, được mô tả như trong hình 1.6 Sự khác biệt mà Kim mang tới đó là Kim xác lập công thức cho thời gian phản hồi trung bình từ một trạm làm việc tới các trạm làm việc khác Sau đó kiểm tra các giá trị thời gian phản hồi trung bình khi thay đổi vị trí đỗ Lúc này, thời gian phản hồi trung bình nhỏ nhất sẽ được chọn
Tương tự với Kim, Lee và Ventura [12] đã nghiên cứu một mô hình động để lập kế hoạch định vị bãi đỗ xe nhằm mục đích giảm thời gian phản hồi trung bình Lee và Ventura đã phát triển một thuật toán lập trình động để xác định điểm dừng cho AGV trong vòng lặp đơn hướng và đa hướng, đồng thời giảm thiểu thời gian phản hồi trung bình có trọng số Thuật toán này chia các trạm làm việc thành các nhóm nhỏ hơn để một AGV duy nhất phục vụ tất cả các trạm trong nhóm.
Hình 1.7: Vị trí các điểm đỗ và trạm làm việc được[12]
Bảng 1.1: Các nhóm công việc được phân chia khi áp dụng giải thuật[12]
LOẠI CÔNG VIỆC CÔNG VIỆC/GIỜ ĐƯỜNG ĐI
Montoya-Torres[13] và các cộng sự đề xuất một công thức quy hoạch tuyến tính theo số nguyên để xử lý vấn đề thay vì sử dụng phương pháp tương tự hoá các vòng lặp thành bố cục hình tròn Mạng lưới giao thông được chia thành các khu vực và một số lượng AGV được sắp xếp vào trong các khu vực đó nhằm tối ưu thời gian phản hồi của hệ thống AGV Các thông tin về nhu cầu vận chuyển trong khu vực và cũng như hành vi của AGV được tổng hợp lại và dùng quy hoạch tuyến tính theo số nguyên để xử lý Mục tiêu của cách tiếp cận này là giảm thời gian phản hồi lớn nhất của AGV Trong đề tài của mình, Montoya – Torres và các cộng sự đã giới thiệu một bố cục nhà xưởng như hình 1.8 Nhà xưởng có kích thước 150×40(m 2 ), được chia thành 5 vùng từ vùng 1 tới vùng 5 Mỗi vùng có một số lượng AGV nhất định hoạt động trong vùng đó Tuỳ thuộc vào tình trạng và nhu cầu công việc của mỗi vùng mà số lượng AGV được sắp xếp trong mỗi vùng được chọn sao cho phù hợp nhất
Hình 1.8: Mạng lưới giao thông được chia thành các khu vực nhỏ hơn[13]
Các công trình nghiên cứu trên có điểm chung là nhắm tới giảm thiểu thời gian phản hồi tối đa hoặc là giảm thiểu thời gian phản hồi trung bình của hệ thống AGV Từ những nghiên cứu từ ngày đầu của Egbelu và Kim [10], [11] xem xét các vòng lặp như những bố cục hình tròn, Ventura[12] ứng dụng giải thuật động nhằm chọn vị trí đỗ AGV sao cho hợp lý tới Montoya-Torres[13] dùng phương pháp quy hoạch tuyến tính với số nguyên, đã có một sự phát triển trong các công cụ được ứng dụng để giải quyết vấn đề và những vấn đề không còn chỉ xem xét ở các mặt bằng vòng lặp đơn giản mà đã mở rộng ra đến những mạng lưới giao thông phức tạp trong ngành sản xuất Mặc dù vậy nhưng hướng tiếp cận này vẫn có những yếu điểm khi ứng dụng vào những mạng lưới giao thông phức tạp hơn, và số lượng AGV tăng lên sẽ dẫn tới gánh nặng về phần cứng Vậy nên cần hướng tiếp cận mới để giảm tải công việc cho phần cứng
Ventura[14] tìm hướng giải quyết vấn đề cho một mạng lưới giao thông phổ thông Công cụ được áp dụng đó là quy hoạch tuyến tính với hỗn hợp số nguyên cho 3 hướng tiếp cận: giảm thiểu thời gian phản hồi trung bình, giảm thiểu thời gian phản hồi tối đa, và giảm thiểu thời gian phản hồi tối đa khi có ràng buộc về thời gian phản hồi của xe Để hỗ trợ cho việc tính toán khi mạng lưới giao thông càng phức tạp thêm và tăng thêm số lượng xe thì Ventura đã đề xuất một thuật toán di truyền có thể áp dụng vào 3 hướng tiếp cận trên
○: Trạm giao/nhận hàng hoá □: Giao điểm của các đường đi
Hình 1.9: Hệ thống giao thông dạng lưới 6×7 (30 trạm) và 5×7 (35 trạm)[14]
Ventura có thiết kế mô phỏng trên mạng giao thông có dạng lưới, di chuyển hai chiều, mục tiêu là giảm thiểu thời gian phản hồi trung bình và thời gian phản hồi tối đa của hệ thống AGV Kết quả công bố cho thấy thuật toán di truyền có độ sai lệch so với tính toán thông thường dưới 2% và cho thấy tiềm năng của giải thuật này Mạng giao thông dạng lưới được mô tả như hình 1.9, bao gồm hai trường hợp là 30 trạm (trái) và 35 trạm (phải)
Hình 1.10:Ví dụ về mức thời gian phản hồi của khu vực m và k[15]
Ngoài thuật toán di truyền, công cụ máy học được áp dụng trong [15] Các tác giả giới thiệu một mô hình dự đoán để áp dụng vào một hệ thống xử lý vật liệu để xác định vị trí đỗ hợp lý Môi trường sản xuất được chia thành nhiều khu vực, mỗi khu vực có một nhu cầu vận chuyển khác nhau, nhu cầu vận chuyển này sẽ được dự đoán mỗi 15 phút Các tác giả nhắm tới một mô hình dự đoán chính xác nhằm loại bỏ các hiệu ứng phụ ảnh hưởng tới hiệu suất của hệ thống Từ yêu cầu trên, giải thuật máy học -phân loại đa nhiệm vụ - chuỗi tạo chuỗi được lựa chọn để xác định vị trí đỗ cho các phương tiện
Để thực hiện giải thuật, dữ liệu về nhu cầu vận chuyển tại các khu vực được thu thập và xử lý Dữ liệu sau khi xử lý được phân nhóm và dùng để dự đoán, điều chỉnh hành vi phương tiện Hình 1.10 mô tả quy trình xử lý Trong hình 1.10, phân tích hai khu vực m và k trong toàn bộ bố cục Thời gian chuyển giao chậm trễ trong 3 tuần được thống kê lại ở mỗi khu vực Các dữ liệu này được xử lý thông qua hàm log để giảm sai lệch Dữ liệu xử lý được phân loại bằng giải thuật K-mean Cuối cùng, dự đoán số lượng yêu cầu dỡ hàng tại các khu vực.
Hình 1.11:Quy trình giải quyết vấn đề của giải thuật[15]
Một nghiên cứu khác ứng dụng công cụ máy học vào có thể kể tới nghiên cứu của Dong Li và cộng sự[16] giới thiệu một mô hình dự đoán nhu cầu vận chuyển tương lai, xác định vị trí để đưa AGV tới để giảm thời gian phản hồi Trong nghiên cứu này Dong
Li đã dùng một mạng RNN để dự đoán nhiệm vụ trong tương lai dựa trên các dữ liệu đã thu thâp từ trước Giải thuật này được chứng minh sự đúng đắn trên 4 mạng lưới giao thông khác nhau trong hình 1.13 và hiệu suất được cải thiện tới 20-30%
Hình 1.12: 2 trong 4 sa bàn được áp dụng để kiểm chứng giải thuật
Từ năm 1993 khi Egbelu[10] nghiên cứu về vấn đề vị trí đỗ của các phương tiện trong hệ thống AGV tới nay, đã có một sự thay đổi về mục tiêu tiếp cận, các đối tượng và các công cụ để giải quyết vấn đề Các mục tiêu tiếp cận ban đầu là hạn chế thời gian phản hồi trung bình, thời gian phản hồi tối đa và phân bố đều AGV trong mạng lưới giao thông [10] Qua thời gian phát triển, các mục tiêu được xác định trong các trường hợp cụ thể và có thêm điều kiện ràng buộc như ở [13] Mặt khác, các đối tượng trong các nghiên cứu cũng có sự khác biệt Mạng lưới giao thông không còn là dạng bố cục vòng lặp[10], [11], [12], [17] mà ngày càng phức tạp và đa dạng [14], [15], [16] Các công cụ dùng để tiếp cận và xử lý vấn đề ngày càng tân tiến, những công cụ ban đầu sử dụng các công cụ toán, xem xét bố cục vòng lặp như một đường tròn [10], [11], [12], [17]
Khi mạng lưới giao thông ngày càng phát triển, các công trình nghiên cứu áp dụng các phương pháp tiếp cận mạnh mẽ hơn như quy hoạch động[12], [13] để xác định vị trí đỗ phù hợp với sự biến thiên của nhu cầu vận chuyển Nhưng các công cụ toán học vẫn có nhược điểm đó là khi các hệ thống càng phức tạp, mạng lưới giao thông càng lớn, số lượng phương tiện tăng lên dẫn đến khối lượng tính toán càng nhiều Vì thế nên các công cụ mới như máy học, thuật toán di truyền được áp dụng để giải quyết các vấn đề này[14], [15], [16].
Hướng ứng dụng thực tế, mục tiêu, phạm vi đề tài và nội dung luận văn
Hệ thống AGV được ứng dụng vào rất nhiều mảng trong đời sống, từ sản xuất cho đến y tế, từ lưu trữ cho đến chuỗi cung ứng và các mảng xử lý vật liệu cũng như là quy trình vận hành[1] Khi áp dụng hệ thống AGV, không thể nào không tính đến một chiến lược đỗ và quy hoạch khu vực đỗ cho các AGV Trung tâm điều khiển của hệ thống AGV thông qua các giải thuật để ra quyết định vài giải quyết vấn đề này Mặt khác, khi số lượng công việc tăng lên và hệ thống ngày càng phức tạp thì các chiến lược đỗ cần phải linh hoạt hơn để phù hợp với hệ thống Đề tài tập trung vào chiến lược đỗ tại chỗ, kết hợp với máy học để hỗ trợ trung tâm điều khiển xác định vị trí phù hợp cho AGV
13 Đề tài có thể được áp dụng vào lĩnh vực sản xuất, trong dây chuyền sản xuất gồm nhiều công đoạn, mỗi công đoạn cần các vật liệu và các chi tiết Hệ thống AGV làm công việc vận chuyển sản phẩm giữa các giai đoạn và cung cấp vật liệu cần thiết Áp dụng máy học, hệ thống trung tâm điều khiển dự đoán được mặt hàng, vật liệu cần xử lý trong công đoạn tiếp theo hoặc dự đoán thời gian xử lý công đoạn tiếp theo Thông qua đó trung tâm điều khiển xác định được vị trí đỗ hợp lý cho AGV Thông qua cách xử lý như trên, đề tài vận dụng công cụ máy học để giảm thời gian phản hồi của AGV, từ đó gián tiếp giảm thời gian chết giữa các công đoạn trong dây chuyền sản xuất
Một lĩnh vực khác cũng áp dụng hệ thống AGV rất là nhiều đó là hệ thống kho bãi, vận tải và chuỗi cung ứng Trong lĩnh vực này, có nhiều trạm vận tải và trung chuyển hàng hoá khác nhau, và hệ thống AGV đóng vai trò vận chuyển hàng hoá giữa các trạm này Khi áp dụng máy học, người dùng có thể xem xét xu hướng của hàng hoá trong hệ thống lưu trữ hoặc là nhu cầu hàng hoá của các trạm trung chuyển và vận chuyển Thông qua những dữ liệu đã được phân tích và xử lý bởi máy học, trung tâm điều khiển sẽ ra quyết định để có một chiến lược đỗ phù hợp
Trên đây là hai trong số các ứng dụng của đề tài Đề tài tập trung vào việc giảm thiểu thời gian giữa các khâu trong quy trình hoạt động Bằng cách sử dụng máy học nhằm cung cấp thêm thông tin cho trung tâm điều khiển, thông qua đó sẽ ra quyết định xác định vị trí và chiến lược đỗ hợp lý cho các AGV Đề tài cân nhắc một trong hai hướng ứng dụng thực tế được nêu trên và xác định hướng ứng dụng trong lĩnh vực Logistic để áp dụng Trong lĩnh vực Logistic, ngoài loại hình giao thương truyền thống, thương mại điện tử đã được giới thiệu[18] và đi kèm theo đó là sự phát triển của các nhà kho bán lẻ Đề tài xem xét các thông tin về kho vận của nhà bán lẻ lớn trên thế giới là Amazon[19] và xem xét giải pháp dành cho nhà kho bán lẻ của Swisslog[20] để xem xét các mô hình hình nhà kho bán lẻ đã và đang ứng dụng trong thực tế Ngoài ra, đề tài tham khảo về mô hình nhà kho trong các nghiên cứu [21], [22], [23], [24] Thông qua các ví dụ thực tế và các nghiên cứu liên quan, đề tài xác định nhà kho được áp dụng là dạng bàn cờ
1.3.2 Mục tiêu đề tài Đề tài chọn hướng nghiên cứu về hệ thống AGV vì tiềm năng của hệ thống AGV trong thời kỳ công nghiệp hoá hiện đại hoá ở Việt Nam cũng như trên thế giới, được nêu trong mục 1.1.1 Mặt khác, khi xem xét tổng quan hệ thống AGV, nhận ra được tầm quan trọng của việc xác định vị trí đỗ trong quy trình vận hành, ảnh hưởng tới thời gian hoàn thành nhiệm vụ ở mục 1.1.2 và các công trình nghiên cứu liên quan trong mục 1.2
Thông qua các nghiên cứu liên quan ở mục 1.2, tác giả nhận thấy rằng quy tắc đỗ tại chỗ có những điểm mạnh riêng so với quy tắt đỗ tập trung và đỗ vòng lặp Điểm yếu của quy tắc này là khi AGV dừng đỗ một chỗ thì có khả năng gây ra ùn tắc[1] Một mặt khác khi xem xét các hướng ứng dụng thực tế được trình bày như mục 1.3.1, và mô hình nhà kho được áp dụng là dạng bàn cờ thì tác giả nhận thấy rằng nhược điểm của quy tắc đỗ tại chỗ có thể được xử lý nếu chọn loại phương tiện hợp lý, sẽ được trình bày trong mục 2.3 Ngoài ra, nhận thấy rằng các nhà kho bán lẻ có tính mùa vụ và có thể dự đoán được mặt hàng được buôn bán dựa theo các dữ liệu đã lưu [16] Bởi vì các lý do trên tác giả định nghĩa xác định vị trí đỗ cho AGV là xem xét với từng AGV, sử dụng mô hình đưa ra kết quả dự đoán kệ hàng hoá được vận chuyển trong tương lai, sau đó cho AGV áp dụng quy tắc đỗ tại chỗ tại vị trí của nút chứa kệ hàng đó
Thông qua những nghiên cứu tổng quan trên, đề tài xác định mục tiêu như sau:
- Xem xét tổng quát lý thuyết của hệ thống AGV, cách vận hành và mô phỏng hệ thống AGV
- Xem xét tổng quát về mô hình dự đoán, các công cụ dùng để huấn luyện, cách xử lý dữ liệu và tạo một mô hình dự đoán
- Phát triển thuật toán dự đoán vị trí đỗ cho AGV bằng mô hình đã tạo được
- Mô phỏng mô phỏng và kiểm chứng kết quả
- Đánh giá mức độ hiệu quả của đề tài thông qua thời gian phản hồi nhiệm vụ
1.3.3 Phạm vi đề tài Đề tài tập trung vào một phạm vi nhất định, xác định rõ đối tượng nghiên cứu và cách thức nghiên cứu để hạn chế khối lượng công việc và nhằm chứng minh được sự hiệu quả khi áp dụng mô hình dự đoán vào hệ thống AGV
- Đối tượng nghiên cứu của đề tài là hệ thống AGV trong mạng lưới giao thông dạng bàn cờ trước và sau khi áp dụng giải thuật xác định vị trí đỗ
- Đề tài nghiên cứu trong môi trường mô phỏng của MATLAB
- Đề tài xem xét các yếu tố có thể ảnh hưởng tới quá trình vận hành hệ thống AGV và đánh giá mức độ ảnh hưởng của chúng lên hệ thống trước và sau khi áp dụng giải thuật
1.3.4 Nội dung luận văn Để phù hợp với mục tiêu và phạm vi của đề tài, nội dung của luận văn sẽ được chia như sau:
- Chương 1: TỔNG QUAN trình bày về vấn đề, các công trình nghiên cứu liên quan cũng như mục tiêu, phạm vi của đề tài.dsx
- Chương 2: CƠ SỞ LÝ THUYẾT VÀ MÔ HÌNH HOÁ HỆ THỐNG AGV sẽ trình bày về cấu trúc của hệ thống AGV Sau đó xác định những thành phần nào sẽ được tập trung chú ý đến trong đề tài Tiếp theo đó là trình bày về cách mô phỏng hệ thống AGV trong môi trường MATLAB
- Chương 3: MÔ HÌNH DỰ ĐOÁN VÀ GIẢI THUẬT TÍNH TOÁN trình bày về các giải thuật và phân loại mô hình dự đoán Tầm quan trọng của dữ liệu và cách xử lý dữ liệu cũng được trình bày ở đây Bước tiếp theo là xác định loại mô hình dự đoán được áp dụng trong đề tài và huấn luyện mô hình dự đoán
- Chương 4: PHÁT TRIỂN THUẬT TOÁN XÁC ĐỊNH VỊ TRÍ ĐỖ CHO AGV BẰNG MÔ HÌNH ĐỀ XUẤT xem xét tổng quan quy trình làm việc của toàn bộ hệ thống AGV Xem xét quy trình làm việc của hệ thống AGV trong môi trường mô phỏng MATLAB Đề xuất thuật toán, và xác định quy trình làm việc của hệ thống AGV trong môi trường MATLAB sau khi áp dụng thuật toán
- Chương 5: MÔ PHỎNG VÀ KẾT QUẢ ĐẠT ĐƯỢC trình bày về cách thức mô phỏng tìm ra sự ảnh hưởng của giải thuật, số lượng nhiệm vụ và số lượng AGV ảnh hưởng tới quá trình vận hành của hệ thống Thông qua kết quả đạt được này để xem xét mức độ ảnh hưởng của mô hình dự đoán lên quá trình vận hành của hệ thống AGV
- Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN tổng kết những gì đề tài đã đạt được và hướng phát triển
CƠ SỞ LÝ THUYẾT VÀ MÔ HÌNH HOÁ HỆ THỐNG AGV
Các thành phần trong hệ thống AGV
Hệ thống AGV được cấu thành từ nhiều thành phần liên hợp và áp dụng nhiều thuật toán, quy tắc nhằm đảm bảo quá trình làm việc diễn ra thông suốt Khi thiết kế hệ thống AGV, cần đảm bảo các yếu tố và vấn đề vận hành, bao gồm: mạng lưới giao thông, quản lý giao thông (bao gồm dự đoán và tránh va chạm, nút thắt), số lượng và vị trí các điểm giao nhận, yêu cầu phương tiện, phân bổ nhiệm vụ, xác định tuyến đường di chuyển, lên kế hoạch di chuyển, vị trí đỗ, quản lý năng lượng và xử lý lỗi.
Mặt khác, thay vì tiếp cận hệ thống AGV theo các vấn đề cần giải quyết như trên thì có thể phân chia hệ thống AGV thành các thành phần nhỏ hơn như phương tiện, hệ thống vận chuyển, giao diện vật lý giữa hệ thống sản xuất/lưu trữ và hệ thống điều khiển[1] Mỗi thành phần đều có chức năng riêng của chúng và ảnh hưởng tới vận hành hệ thống AGV
Khi phân chia hệ thống AGV thành các thành phần nhỏ hơn, bao gồm cả phần mềm và phần cứng sẽ có rất nhiều yếu tố ảnh hưởng Do đó để giảm thiểu khối lượng tính toán và vẫn giữ được tính tổng quát, ta xem xét hệ thống AGV bao gồm hệ thống điều khiển, các thành phần thực thi nhiệm vụ ở đây là AGV và các đối tượng không thể thiếu đó là đường dẫn các trạm giao nhận thuộc mạng lưới giao thông Để thực hiện được mục tiêu đề ra ở mục 1.3.2, đề tài nghiên cứu cấu trúc của hệ thống AGV, các đặc tính và chức năng của các thành phần này nhằm làm cơ sở cho mô hình hoá và mô phỏng hợp lý.Các mục phía sau sẽ đi sâu vào hệ thống điều khiển, phương tiện và mạng lưới giao thông của hệ thống AGV Sau khi tìm hiểu về các thành phần trong hệ thống AGV, tác giả sẽ xem xét những điều kế thừa và những điều khác biệt khi áp dụng vào đề tài.
Cấu trúc và vai trò của hệ thống điều khiển
Theo [8] có hai cách điều khiển hệ thống AGV, đó là điều khiển tập trung và phi tập trung Điều khiển phi tập trung được cho là xu hướng phát triển của hệ thống AGV khi khoả lấp được những hạn chế của điều khiển tập trung trong hệ thống sản xuất linh hoạt Nhưng điều khiển phi tập trung không hoàn toàn tốt hơn điều khiển tập trung ở mọi trường hợp, trong các hệ thống nhỏ hệ thống điều khiển tập trung sẽ tối ưu hơn, đây là lý
17 do chính để áp dụng cấu trúc điều khiển tập trung vào mô hình hệ thống AGV nhằm chứng minh tính đúng đắn của giả thuyết Hình 2.1 mô tả hai cách tiếp cận và bảng 2.1 so sánh hai cấu trúc điều khiển [8]
Hình 2.1: Cấu trúc tập trung (trái) và cấu trúc phi tập trung (phải)[8]
Bảng 2.1: So sánh cấu trúc tập trung và phi tập trung[8]
CẤU TRÚC TẬP TRUNG CẤU TRÚC PHI TẬP TRUNG Ứng dụng lâu đời trong công nghiệp Khó thực hiện trong công nghiệp
Có các thuật toán nổi tiếng Có các thuật toán nổi tiếng
Truy cập được vào thông tin toàn cầu Truy cập vào thông tin nội bộ
Có thể ứng dụng toàn cầu Ứng dụng đơn lẻ
Hệ thống nhỏ Hệ thống lớn
Hệ thốn đơn giản Hệ thống phức tạp
Không mạnh trong môi trường làm việc năng động
Mạnh mẽ khi ứng dụng vào môi trường làm việc năng động Ngoài ra hệ thống AGV còn cần phải làm tốt 5 nhiệm vụ cốt lõi [8] : phân bổ công việc, xác định đường đi, lên kế hoạch di chuyển, định vị và quản lý AGV Vì giả thuyết được chứng minh trong môi trường MATLAB vậy nên đề tài tập trung nghiên cứu 3 nhiệm vụ là phân bổ công việc, xác định đường đi, và lên kế hoạch di chuyển để mô phỏng môi trường làm việc cho hệ AGV; hai nhiệm vụ còn lại là định vị và quản lý phương tiện cũng sẽ được đề cập và phân tích Mỗi nhiệm vụ sẽ được xem xét các giải thuật và chọn ra giải thuật phù hợp nhất cho đề tài, cố gắng xem xét sao cho phù hợp với đề tài và gần nhất có thể với thực tế
2.2.1 Nhiệm vụ phân bổ công việc
Phân bổ công việc là một trong những nhiệm vụ khó khăn nhất khi vận hành một hệ thống AGV Khi thực hiện nhiệm vụ này, mục tiêu của hệ thống điều khiển là phân bổ công việc cho các AGV sao cho tổng chi phí vận hành thấp nhất có thể Với các hệ thống AGV ngày càng lớn và phức tạp, số lượng công việc và số lượng AGV tăng lên đồng nghĩa với các phương án giải quyết nhiệm vụ phân bổ công việc cũng tăng lên và không có một thuật toán hiệu quả nào phân bổ công việc một cách tối ưu hoàn toàn Nhưng dù vậy vẫn có một số phương án tiếp cận nhằm giải quyết vấn đề này một cách ổn thoả[8] Đối với nhiệm vụ phân bổ công việc, hai đặc tính căn bản nhất cần được thoả mãn đó chính là toàn thể nhiệm vụ cần được phân chia đồng đều và hệ thống điều khiển cần hoàn thành nhiệm vụ phân chia công việc này một cách chính xác bất kể các vấn đề đang phải đối mặt Sau khi giải quyết được hai vấn đề này thì có thể cân nhắc tới những đặc tính khác như khả năng mở rộng hệ thống mà không xảy ra bất kì vấn đề gì, nhiệm vụ phân bổ công việc vẫn vận hành tốt; khả năng linh hoạt của hệ thống điều khiển khi hệ thống AGV thay đổi nhưng vẫn thích nghi được Để thoả mãn được những đặc tính như vậy, cần xem xét đến các phân loại và đặc tính của nhiệm vụ, các hạn chế của công việc, những đối tượng cần tối ưu, và các mô hình để giải quyết nhiệm vụ này
Công việc vận chuyển hàng hoá đối với một hệ thống AGV có thể xem xét hai cách tiếp cận là tìm hiểu đặc tính của công việc, phương tiện vận chuyển và xem xét chiến lược phân công công việc Công việc có thể chia thành công việc chỉ cần một phương tiện hoàn thành, hoặc cần nhiều hơn một phương tiện để hoàn thành Có các công việc độc lập với nhau, không cần phải lập kế hoạch để phân bổ công việc cho chúng và cũng có các công việc phụ thuộc vào nhau, theo trình tự, có thể lên kế hoạch trong tương lai
Về phía phương tiện, có phương tiện thực hiện nhiều nhiệm vụ trong một lần và phương tiện chỉ thực hiện nhiệm vụ đơn lẻ Qua đặc tính nhiệm vụ và phương tiện, ta hiểu hơn bản chất hệ thống AGV, từ đó chọn chiến lược phân bổ nhiệm vụ hợp lý Trong chiến lược phân bổ nhiệm vụ tĩnh, nhiệm vụ được giao cố định cho AGV, không thể phân bổ lại cho đến khi AGV hoàn tất Ngược lại, phương pháp khác có thể phân bổ lại nhiệm vụ cho AGV khác nếu có AGV phù hợp hơn AGV ban đầu.
Hiểu rõ được tính chất của công việc và phương tiện là bước đầu tiên để tiếp cận các hướng giải quyết cho nhiệm vụ phân bổ công việc Trong thực tế, không phải lúc nào công việc chỉ có những ràng buộc về tính chất của nhiệm vụ và phương tiện [8] đề cập tới những ràng buộc về thời gian, ràng buộc về quyền ưu tiên, một số ràng buộc ảnh hưởng tới tính chất linh hoạt của hệ thống và giới hạn về nguồn lực Những giới hạn này ảnh hưởng tới vấn đề vận hành và phân bổ nhiệm vụ của trung tâm điều khiển Để có cái nhìn tổng thể về công việc, phương tiện, và các ràng buộc liên quan, việc hiểu rõ các đặc tính của nhiệm vụ là quan trọng Điều này cho phép tối ưu hóa nhiệm vụ và đồng thời hiểu rõ về các đối tượng có thể ảnh hưởng và cách xử lý chúng Một trong những đối tượng quan trọng là giá thành và lợi nhuận, vì hệ thống điều khiển sẽ phân phối công việc cho các phương tiện sao cho tổng giá thành là thấp nhất hoặc tổng lợi nhuận là cao nhất Ngoài ra, các yếu tố khác cũng được xem xét, như mức độ ưu tiên của công việc, phần thưởng khi hoàn thành nhiệm vụ, và chất lượng khi hoàn thành một công việc
Thông qua những đặc tính trên mà [8] thống kê về các giải thuật phân phối công việc, và các ưu và nhược điểm của chúng Nhiệm vụ phân bổ công việc không những cần xác định rõ tính chất của công việc cũng như phương tiện mà còn phải xác định rõ quy tắc phân bổ công việc và mục tiêu tối ưu trong nhiệm vụ Một số nguyên tắc phổ biến được đề cập tới ở [1] như quy tắc phân bổ nhiệm vụ ngẫu nhiên, quy tắc phân bổ nhiệm vụ cho AGV gần nhất, quy tắc phân bổ nhiệm vụ cho AGV xa nhất, quy tắc phân bổ nhiệm vụ cho AGV rảnh nhất và quy tắc phân bổ nhiệm vụ cho AGV ít dùng nhất Các yếu tố này cũng cần được cân nhắc vì chúng là thước đo để xem xét mức độ hiệu quả của hệ thống điều khiển khi thực hiện nhiệm vụ phân bổ công việc
2.2.2 Nhiệm vụ xác định đường đi
Sau khi AGV được phân bổ nhiệm vụ, hệ thống điều khiển phải xác định một lộ trình cho AGV Đây là là nhiệm vụ xác định đường đi, một trong những nhiệm vụ quan trọng của hệ AGV[8] Theo Vis[1] thì lựa chọn lộ trình cho phương tiện vận chuyển ảnh hưởng đến hiệu suất của hệ thống Để hoàn thành nhiệm vụ thì hệ thống điều khiển cần biểu diễn lại mạng lưới giao thông mà hệ thống AGV cần di chuyển và sử dụng thuật toán để tìm được đường đi
Có hai hướng tiếp cận để giải quyết nhiệm vụ này, bao gồm các thuật toán động và tĩnh Trong trường hợp của các thuật toán tĩnh, đường đi giữa các điểm giao nhận được xác định trước, và sau đó được tái sử dụng khi có yêu cầu vận chuyển hàng hóa Tuy nhiên, các thuật toán tĩnh không linh hoạt đối với sự biến động trong hệ thống và điều kiện giao thông Ngược lại, các giải thuật động được lựa chọn dựa trên thông tin thời gian thực của hệ thống, tạo ra nhiều lựa chọn đường đi cho việc vận chuyển hàng hóa
Có nhiều giải thuật để xác định đường đi, nguyên lý của chúng dựa trên hai hướng tiếp cận đó là các thuật toán đại diện môi trường và thuật toán tìm đường trong sa bàn Thuật toán lập kế hoạch đường đi tính toán đường đi ngắn nhất Đầu tiên, cần một biểu diễn về các trạng thái có thể đạt được của AGV trên bản đồ môi trường Các hệ thống AGV công nghiệp thường có đường di chuyển được xác định trước bằng mạng lưới nút và đoạn đường Nếu không có mạng lưới sẵn, cần một thuật toán tạo ra biểu diễn về không gian cấu hình để tạo ra các đường đi Hướng còn lại là các thuật toán tìm kiếm đồ thị Một số thuật toán động đáng chú ý là Dijkstra cổ điển và Dijkstra mở rộng
Thuật toán Dijkstra cổ điển là một thuật toán tìm đường tĩnh, chỉ cung cấp một con đường ngắn nhất giữa hai điểm Thuật toán xác định vị trí nút bắt đầu, đánh dấu các nút xung quanh và liên tục đánh dấu lại nút có giá trị thấp nhất cho đến khi đạt đến nút đích Tuy nhiên, nhược điểm của thuật toán này là chỉ tìm ra một đường đi cực tiểu duy nhất và có khối lượng tính toán lớn vì nó không bỏ qua bất kỳ nút nào trong quá trình tìm kiếm.
Giải thuật Dijkstra cổ điển có điểm mạnh nhưng để áp dụng vào môi trường sản xuất ngày càng linh động, khổng lồ và phức tạp thì không thích hợp Vậy nên các thuật toán động được ưu tiên và thuật toán Dijkstra cổ điển được nâng cấp thành thuật toán Dijkstra mở rộng Guo Quing [25] xây dựng thuật toán Dijkstra mở rộng, trả về nhiều lộ trình ngắn nhất đi từ hai điểm đã cho Thuận tiện cho việc áp dụng vào một hệ thống phức tạp và năng động
Hình 2.2: Quy trình làm việc của thuật toán Dijkstra mở rộng.[25]
Hình 2.3: Quãng đường ngắn nhất giữa 20 và 15 có 4 đường
2.2.3 Nhiệm vụ lập kế hoạch di chuyển
Khi xác định lộ trình, hệ thống điều khiển còn phải hoàn thành một nhiệm vụ nữa là lập kế hoạch di chuyển nhằm tránh va chạm và kẹt cứng Trong hệ thống AGV, nhiệm vụ xác định lộ trình ở mục 2.2.2 nhằm chọn ra một con đường đi ngắn nhất và tránh các vật cản tĩnh, nhưng trong thực tế có nhiều trường hợp xảy ra khi vận hành Trên con đường vận chuyển hàng hoá, các phương tiện có thể gặp các phương tiện khác, người hoặc là các vật cản Vậy nên ngay lúc này, hệ thống điều khiển phải làm tốt nhiệm vụ lập kế hoạch di chuyển này để tránh va chạm, kẹt cứng để phương tiện hoàn thành tốt nhiệm vụ
Khi tránh va chạm, một trong những cách đơn giản nhất là có hệ thống cảm biến, máy quét trên phương tiện nhằm nhận diện vật cản Khi xác định vật cản có thể va chạm với AGV, các AGV đi chậm lại và dừng hẳn Sau đó AGV chờ tới khi hết bị cản thì tiếp tục hành trình Đây là một trong những cách xử lý cơ bản nhất khi vận hành hệ thống AGV Không chỉ vậy, để xử lý các trường hợp va chạm, có hai cách xử lý là tập trung và phi tập trung Trong giải pháp phi tập trung, AGV phản ứng dựa trên thông tin cục bộ và tương tác với các AGV lân cận để tránh va chạm Mặc dù cách tiếp cận này có ưu điểm trong việc mở rộng số lượng AGV, nhưng nó đối mặt với các hạn chế đặc biệt trong việc tránh va chạm và kẹt cứng Ngược lại, trong giải pháp tập trung hoá, máy tính trung tâm thu thập và xử lý toàn bộ dữ liệu từ các AGV, bao gồm vị trí và mục tiêu Sau đó, nó lập kế hoạch tổng thể để đảm bảo không có va chạm giữa các AGV và tối ưu hóa hiệu suất của hệ thống Phương pháp này mang lại sự quản lý thuận lợi hơn cho hệ thống AGV
Bảng 2.2: Tổng quan các giải thuật tránh va chạm
Các phương pháp tránh va chạm
Phương pháp Ưu điểm Nhược điểm
Phương pháp tránh va chạm tập trung
Tổng quan Tối ưu cho các đội
Thiếu sự vững chãi, hiệu suất, khả năng mở rộng và sự linh hoạt cho các đội AGV lớn
Phương pháp tránh va chạm phi tập trung
Cảm biến phía trước Đơn giản, ổn định, tốt khi chọn đây là bước kiểm tra cuối cùng
Xác định lại đường đi dựa trên giải thuật A* và D* Đơn giản, nhanh Cần có bản đồ khu vực Độ lệch cục bộ so với đường đi
Phương tiện được ứng dụng trong hệ thống AGV
Theo báo cáo nghiên cứu thị trường của Grand View Research, có nhiều loại AGV khác nhau được ứng dụng trên thị trường hiện nay Xét về phương tiện sử dụng, chúng ta có các loại phương tiện kéo, chuyên chở hàng hóa, phương tiện kéo pallet, phương tiện nâng, phương tiện hỗn hợp, Về công nghệ điều hướng, có các phương tiện điều hướng bằng laser, từ tính, thị giác, Những loại AGV này được ứng dụng trong nhiều lĩnh vực khác nhau phục vụ nhu cầu vận chuyển hàng hóa.
Phương tiện được dùng trong đề tài này là AGV nâng kệ hàng Ưu điểm của loại AGV này được nhắc tới ở [23] Nhờ vào khả năng linh hoạt, kích thước nhỏ, dễ dàng điều khiển là lý do được các công ty như Amazon, Alibaba,… áp dụng Đặc điểm và tính năng của loại AGV này là nâng theo phương thẳng đứng, sử dụng phương pháp điều hướng bằng mã QR trên mạng lưới giao thông dạng bàn cờ, giao tiếp không dây với hệ thống điều khiển Nhờ vào đặc tính nhỏ gọn mà phương tiện có thể chạy bên dưới các kệ hàng, khắc phục nhược điểm của quy tắc đỗ tại chỗ
Hình 2.4: AGV nâng kệ hàng trong mạng lưới giao thông dạng bàn cờ
Hệ thống cơ khí của AGV nâng hàng được nhắc tới trong [26] bao gồm phần khung và cơ cấu nâng Loại AGV này gồm 2 bánh đặt hai bên phần khung, chịu trách nhiệm di chuyển cho AGV Phía trước và phía sau được trang bị bánh xe đa hướng để trợ lực và không ảnh hưởng tới khả năng di chuyển của AGV
Hình 2.5: Mô hình hoá phương tiện vận chuyển
Các thông số của AGV bao gồm: 𝑂𝑥 𝐼 𝑦 𝐼 là hệ trục toạ độ gắn với mặt đất, 𝑂𝑥 𝑟 𝑦 𝑟 là hệ trục toạ độ gắn với AGV, 𝜃 diễn tả góc lệch giữa 2 hệ toạ độ này, A là tâm đường nối giữa 2 bánh xe truyền động, C là khối tâm AGV, R là bán kính mỗi bánh xe và L là khoảng cách giữa tâm 2 bên bánh xe
Vận tốc tịnh tiến của AGV trong hệ trục tọa độ gắn liền với robot là tốc độ trung bình của vận tốc dài của hai bánh xe
Và vận tốc góc 𝜔 của AGV cũng được xác định:
Vậy, trong hệ toạ độ 𝑂𝑥 𝑟 𝑦 𝑟 gắn với AGV, vận tốc của điểm A được xác định bằng cách đạo hàm công thức (2.1) và (2.2):
Khi biểu diễn trong hệ toạ độ 𝑂𝑥 𝐼 𝑦 𝐼 gắn với mặt đất ta được:
Trong khi đó, nhận thấy rằng mối quan hệ giữa vị trí trọng tâm C và điểm A trong hệ trục 𝑂𝑥 𝐼 𝑦 𝐼 được xác định:
(2.5) Đạo hàm hệ phương trình trên, ta sẽ có được vận tốc trọng tâm C của robot trong hệ trục tọa độ gắn liền với mặt đất:
Từ đó, ta có phương trình cuối cùng về vận tốc trọng tâm C của AGV trong hệ trục tọa độ gắn liền với mặt đất:
Mạng lưới giao thông
Trong phạm vi ứng dụng của AGV, mục đích sử dụng của chúng khá rộng[3] Mỗi hệ thống AGV tùy vào mục đích ứng dụng mà sẽ có một mạng lưới giao thông riêng biệt, được thiết lập sao cho phù hợp với môi trường ứng dụng.
Môi trường được ứng dụng ở đây là nhà kho dạng bàn cờ Nhà kho bao gồm khu vực lưu trữ chứa các kệ hàng, khu vực đặt máy chủ, khu vực tương tác giữa người và AGV, các trạm sạc và khu vực đỗ Đề tài xem xét mức độ hiệu quả của hệ thống AGV khi áp dụng mô hình dự đoán nhằm xác định vị trí đỗ Vậy nên mạng lưới giao thông sẽ chú ý đến hai khu vực đó là khu vực lưu trữ hàng hoá và khu vực tương tác giữa người và AGV Để mô phỏng được mạng lưới giao thông trong môi trường nhà kho bằng phần mềm MATLAB, chúng ta cần đến ma trận kề để biểu thị mối liên quan giữa các node Trong ma trận kề chỉ có hai giá trị là 0 và 1, biểu thị cho hai node có liền kể hay không
Hình 2.6: Ma trận kề giữa các node A,B,C,D,E
Hình 2.7: Mối quan hệ giữa các node A,B,C,D,E
Ma trận kề chỉ giúp xác định được 2 nút đó có kề nhau hay không nhưng không giúp xác định vị trí tương quan giữa các node kề nhau Vì vậy ta cần một ma trận góc để thể hiện vị trí tương quan giữa các trạm làm việc với nhau
Ma trận góc Φ mô tả hướng của AGV khi di chuyển giữa các nút Để diễn tả góc của AGV trong quá trình di chuyển giữa các nút, ta có ma trận Φ Trong đó: Φ = [
𝜑(𝑥, 𝑦) = 0 khi y nằm bên phải x (nút x và y liền kề)
𝜑(𝑥, 𝑦) = 90 khi y nằm bên trên x (nút x và y liền kề)
𝜑(𝑥, 𝑦) = 180 khi y nằm bên trái x (nút x và y liền kề)
𝜑(𝑥, 𝑦) = 270 khi y nằm bên dưới x (nút x và y liền kề).
Mô phỏng hệ thống AGV
Để mô phỏng hệ thống AGV cần xác định các trạng thái và mô phỏng phương tiện và mạng lưới giao thông trong hệ thống
Biểu diễn trạng thái các AGV Tập hợp các AGV được biểu diễn trong ma trận V, trong đó:
Mỗi 𝑣 𝑖 được được biểu diễn bằng một matrix biểu diễn các trạng thái, thông số của AGV thứ i
𝑣 𝑖 = {𝑝 𝑖 , 𝜑 𝑖 , 𝑚 𝑖 , 𝐴𝑠𝑡𝑡 𝑖 , 𝐺𝑠𝑡𝑡 𝑖 } (2.10) Một mặt khác, sa bàn gồm hai thành phần là các trạm làm việc và đường đi kết nối các trạm làm việc đó lại với nhau Ta có thể biểu diễn một mang lưới giao thông dưới dạng sau:
Trong đó n là tổng số các trạm làm việc, m là tổng số các đường đi nối hai trạm làm việc với nhau Một mạng lưới giao thông là tập hợp các trạm làm việc và các đường đi Mỗi trạm làm việc được xác định bởi toạ độ trong hệ toạ độ Descartes và mỗi đường đi được xác định bởi hai trạm làm việc
Sau khi mô phỏng môi trường làm việc, cần phải điều khiển AGV bám theo đường dẫn đã hoạch định Trong quá trình vận hành.thực tế, sau khi hệ thống điều khiển thực hiện nhiệm vụ xác định đường đi, kết quả sẽ cho ra một chuỗi các nút mà AGV cần phải đi qua Ứng với mỗi nút có một toạ độ xác định trước Đây là mục tiêu mà AGV phải bám theo AGV sẽ tham chiếu toạ độ trọng tâm C so với điểm P mục tiêu Khi AGV tới đích thì sẽ đặt mục tiêu là nút tiếp theo trong chuỗi đã được xác định bởi nhiệm vụ xác định đường đi Xét điểm tham chiếu P như trong hình 2.5, điểm tham chiếu P được biểu diễn bằng vị trí 𝑃 𝑡 và vận tốc 𝑉 𝑡
Sai số giữa trọng tâm AGV (C) so với điểm tham chiếu P gồm 3 thành phần: e1 (sai số vị trí theo trục x), e2 (sai số vị trí theo trục y) và e3 (sai số góc di chuyển) Các sai số này được xác định trong hệ trục tọa độ gắn với AGV và thể hiện độ lệch của khối tâm C so với điểm tham chiếu P.
Biến đổi công thức 2.19, ta có:
(2.20) Đạo hàm hai vế công thức 2.20, ta được:
Trong thực tế,để xác định các sai số e 1 , e 2 , e 3 thì sẽ dựa trên toạ độ trọng tâm C của AGV và toạ độ của điểm tham chiếu Đối với các điểm tham chiếu là các vị trí đã xác định trước Đối với trọng tâm C của AGV thì phụ thuộc vào công nghệ và là trách nhiệm của nhiệm vụ định vị - một trong 5 nhiệm vụ cơ bản được nhắc tới ở mục 2.2.4
31 Đã có nhiều nghiên cứu về vấn đề điều khiển AGV bám theo đường dẫn Trong [27]trình bày cách dùng bộ điều khiển PID để giải quyết vấn đề Ngoài PID thì bộ điều khiển khác như Fuzzy logic cũng được áp dụng để điều khiển AGV bám theo đường dẫn trong [28] Bên cạnh đó, sự kết hợp giữa các bộ điều khiển cũng được cân nhắc như Fuzzy PID áp dụng vào hệ điều khiển AGV[29]
MÔ HÌNH DỰ ĐOÁN VÀ GIẢI THUẬT TÍNH TOÁN
Mô hình dự đoán
Mục tiêu chính của nghiên cứu tập trung vào việc phát triển các mô hình dự đoán để hỗ trợ quá trình ra quyết định Trong đời sống hàng ngày, dữ liệu đóng một vai trò không thể phủ nhận và cực kỳ quan trọng[30] Để tận dụng tối đa giá trị của dữ liệu, nhiều công cụ và kỹ thuật đã được phát triển, trong đó có toán học, thống kê và máy học Máy học, như một phạm trù rộng lớn, bao gồm nhiều giải thuật và phương pháp tiếp cận khác nhau, mỗi cái đều có ưu điểm và hạn chế riêng biệt tùy thuộc vào bối cảnh cụ thể
Thường thì, quy trình tiếp cận và phát triển mô hình dự đoán bắt đầu bằng việc lựa chọn một thuật toán hoặc công cụ phù hợp, sau đó nạp dữ liệu và xây dựng một mô hình dự đoán từ dữ liệu đó Tuy nhiên, mặc dù quy trình này có thể tạo ra một mô hình dự đoán, nhưng chất lượng của mô hình không luôn đạt được mức độ cao nhất Do đó, việc hiểu rõ về dữ liệu và mục tiêu của mô hình dự đoán là rất quan trọng Tiếp theo, các bước tiền xử lý dữ liệu và phân chia dữ liệu cũng đóng vai trò quan trọng trong việc chuẩn bị dữ liệu trước khi xây dựng mô hình Chỉ khi dữ liệu được xử lý một cách hợp lý, quá trình xây dựng mô hình dự đoán mới có thể bắt đầu[31]
3.1.2 Quy trình xây dựng mô hình dự đoán
Quy trình xây dựng một mô hình dự đoán bao gồm nhiều bước cụ thể để đảm bảo rằng mô hình có khả năng dự đoán chính xác và hữu ích trong ứng dụng thực tế Đầu tiên, quy trình bắt đầu bằng việc xác định mục tiêu cụ thể của dự đoán, tức là câu hỏi chính mà mô hình sẽ giải quyết Tiếp theo là thu thập dữ liệu Dữ liệu là yếu tố quan trọng để đảm bảo tính chính xác và độ đại diện của mô hình Sau khi có dữ liệu, bước tiền xử lý được thực hiện để kiểm tra và xử lý các vấn đề như giá trị thiếu và ngoại lệ Các biến loại danh mục có thể được chuyển đổi thành dạng số, và dữ liệu có thể được chuẩn hóa để đảm bảo sự cân bằng giữa các đặc trưng Bước quan trọng tiếp theo là chia dữ liệu thành bộ huấn luyện và bộ kiểm thử Bộ huấn luyện được sử dụng để đào tạo mô hình, trong khi bộ kiểm thử được sử dụng để đánh giá hiệu suất của mô hình trên dữ liệu không nhìn thấy trước.Sau đó, là quá trình chọn mô hình Ở đây, quyết định mô hình nào phù hợp nhất với vấn đề cụ thể, với sự cân nhắc về độ phức tạp và yêu cầu tính toán
Công việc tiếp theo là huấn luyện mô hình, trong đó mô hình sẽ được điều chỉnh các tham số để tối ưu hóa dự đoán Sau đó, mô hình được đánh giá bằng cách sử dụng bộ kiểm thử, và các điều chỉnh tiếp theo có thể được thực hiện để cải thiện hiệu suất Cuối cùng, khi mô hình đạt được hiệu suất mong muốn, nó có thể được triển khai để sử dụng trong môi trường thực tế hoặc tích hợp vào hệ thống tổ chức Liên tục theo dõi và cải tiến mô hình là quan trọng để đảm bảo rằng nó vẫn phản ánh đúng và hiệu quả trong điều kiện thực tế Theo quy trình xây dựng như trên, đề tài sẽ tập trung vào xử lý dữ liệu và chọn giải thuật để huấn luyện mô hình Những điểm tập trung nghiên cứu sẽ được trình bày trong mục 3.2, 3.3.
Dữ liệu và xử lý dữ liệu
Trong quá trình hoạt động của một hệ thống dự đoán, việc thu thập dữ liệu là một bước quan trọng không thể thiếu Dữ liệu đóng vai trò then chốt trong việc xây dựng một mô hình dự đoán chất lượng và đáng tin cậy Tuy nhiên, việc thu thập dữ liệu có thể đối mặt với nhiều thách thức, đặc biệt là trong các tình huống mô phỏng hoặc khi không có dữ liệu cụ thể
Trong trường hợp thiếu dữ liệu hoặc khi tiến hành mô phỏng, các nhà nghiên cứu và kỹ sư có thể sử dụng các nguồn dữ liệu mở như Kaggle, Dataset Search, cùng nhiều nguồn khác trên Internet để mô phỏng và tạo dữ liệu Các nguồn dữ liệu mở này thường cung cấp bộ dữ liệu đa dạng từ nhiều lĩnh vực, từ khoa học máy tính đến y học và kinh doanh, qua đó giúp tạo môi trường mô phỏng chân thực và đáng tin cậy.
Tuy nhiên, việc sử dụng dữ liệu từ các nguồn mở cũng đồng nghĩa với việc cần phải xử lý và biến đổi dữ liệu một cách cẩn thận Chất lượng của dữ liệu sẽ là yếu tố quyết định chính về hiệu quả của mô hình dự đoán Các biến đổi dữ liệu là kỹ thuật đầu tiên và quan trọng nhất cần được áp dụng để chuẩn bị nền tảng cho việc xây dựng một mô hình dự đoán hiệu quả và chính xác[31]
Việc biến đổi dữ liệu có thể bao gồm loại bỏ nhiễu, điền giá trị còn thiếu, chuẩn hóa dữ liệu, và trích xuất các đặc trưng quan trọng Quá trình này cần sự kỹ lưỡng và kiên nhẫn để đảm bảo rằng dữ liệu đã được xử lý một cách đúng đắn và hoàn chỉnh trước khi tiếp tục vào các bước tiếp theo của quá trình xây dựng mô hình dự đoán
3.2.1 Dữ liệu xấu và cách xử lý dữ liệu xấu
Dữ liệu xấu là dữ liệu không hoàn thiện, không chính xác và không liên quan tới vấn đề cần giải quyết Có những kiểu dữ liệu sẽ ảnh hưởng tới kết quả đầu ra như lặp dữ liệu, dữ liệu hết hạn, dữ liệu không hoàn thiện, dữ liệu không chính xác, dữ liệu không nhất quán[33]
Bảng 3.1: Phân loại các kiểu dữ liệu xấu[33]
Dữ liệu lặp Các dữ liệu xuất hiện nhiều hơn một lần
Các số liệu hoặc là các phân tích bị sai lệch, các thống kê số lượng bị thổi phồng và không chính xác hoặc nhầm lẫn trong quá trình truy xuất dữ liệu
Các dữ liệu đã cũ cần phải thay thế bởi các dữ liệu mới hơn và thông tin chính xác hơn
Ra quyết định, phân tích và đặc điểm của dữ liệu không chính xác
Dữ liệu không hoàn thiện
Các dữ liệu bị mất thông tin Giảm đi hiệu suất, các đặc điểm của dữ liệu không chính xác
Dữ liệu không chính xác
Các dữ liệu hoàn thiện nhưng mà không chính xác
Giảm đi hiệu suất và ra quyết định không chính xác vì dựa trên các thông tin không chính xác
Dữ liệu không nhất quán
Các dữ liệu sử dụng các định dạng khác nhau để đại diện cho cùng một thứ
Để đảm bảo chất lượng dữ liệu, xử lý các vấn đề của dữ liệu là điều cần thiết Nhiều công cụ như Excel và MATLAB có Data Clean App có thể hỗ trợ nâng cao độ tin cậy của bộ dữ liệu, tạo nền tảng vững chắc cho việc xây dựng các mô hình dự đoán chính xác.
3.2.2 Các phương pháp biến đổi tập dữ liệu
Sau khi loại bỏ các dữ liệu xấu, cần phải xem xét tổng thể của Xét các tập dữ liệu đơn thuộc tính, các phương pháp cần chú ý tới là Centering, Scaling Đôi khi dữ liệu cần được ở dạng phân phối chuẩn Khi dùng phương pháp Centering, các giá trị trong dữ liệu sẽ trừ đi giá trị trung bình toàn tập dữ liệu và với Scaling thì các giá trị sẽ chia cho một hằng số Hai phương pháp này về tông quan giúp tăng mức độ ổn định khi tính toán Nhược điểm là các giá trị đơn lẻ sẽ mất đi tính diễn giải vì không còn ở giá trị ban đầu nữa
Mặt khác trong một bộ dữ liệu có nhiều thông tin mô tả, các thông tin này ảnh hưởng đến chất lượng của mô hình dự đoán Càng nhiều thông tin mô tả sẽ càng tăng khối lượng tính toán khi mà tạo ra mô hình dự đoán Và nếu như có hai hay nhiều thông tin cùng mô tả một tính chất của kết quả thì mô hình dự đoán được tạo ra sẽ không hiệu quả và càng ảnh hưởng tới hiệu suất của máy tính PCA là một kỹ thuật giảm kích thước của bộ dữ liệu[31] và có thể dùng để giải quyết vấn đề vừa nêu trên Phương pháp này tìm một sự kết hợp tuyến tính giữa các thông tin mô tả và mô tả mức độ ảnh hưởng của các thông tin này lên kết quả Công thức toán của phương pháp PCA có thể được viết như (3.1) Trong đó P được xem như là các thông tin mô tả, và a là một hệ số thể hiện mức ảnh hưởng của thông tin mô tả lên kết quả
Hình 3.1:Hình ảnh ví dụ về bộ dữ liệu Cell Segment đã được áp dụng PCA[31]
Trong hình 3.1 ở trên thể hiện cách mà PCA có thể xem xét mức độ ảnh hưởng của các thành phần Ở hình bên trái, dữ liệu ban đầu gồm hai thông tin là Intensity và Fiber Width, với dữ liệu gốc như vầy thì ta không thể xác định được mức độ ảnh hưởng của các thông tin lên kết quả Hình bên phải, sau khi áp dụng PCA, có thể thấy được thành phần thứ nhất có ảnh hưởng đến kết quả nhiều hơn thành phần thứ hai Đây là một ví dụ khi ứng dụng PCA để xem xét mức độ ảnh hưởng của các tính chất lên kết quả của một bộ dữ liệu
Sau khi xử lý dữ liệu, một vấn đề cần phải quan tâm đó là phân chia dữ liệu thành các tệp dữ liệu để huấn luyện mô hình và kiểm chứng độ chính xác Để phân chia tệp dữ liệu thành các tập dữ liệu nhỏ hơn và vẫn còn giữ lại được đặc tính của tập dữ liệu ban đầu cần phải có kỹ thuật, nếu không sẽ tạo thành thiên kiến và ảnh hưởng tới kết quả sau này Có 4 kỹ thuật được nhắc tới trong [31] là K – fold Cross – validation, Generalized Cross – Validation, Repeated Training/Test Splits, The Bootstrap Sau khi phân chia tệp dữ liệu, chúng ta cần chọn một giải thuật để phát triển mô hình
3.2.3 Tệp dữ liệu được áp dụng trong đề tài Để kết quả của mô hình dự đoán được tốt nhất, dữ liệu nên được thu thập từ quá trình vận hành một nhà kho thực tế Trong trường hợp này bộ dữ liệu sẽ có nhiều trường thông tin, có thể kể tới như thời gian, số lượng, phân loại hàng hoá, thông tin khách hàng, địa điểm đặt hàng tuỳ theo đặc điểm của nhà kho Thông qua những trường thông tin này, chúng ta có thể xử lý dữ liệu theo nhiều cách Đối với đề tài, tác giả mô phỏng trên môi trường phần mềm MATLAB, ràng buộc về thời gian và nguồn lực nên không có bộ dữ liệu được thu thập từ quá trình vận hành một nhà kho thực tế Vậy nên có thể xem xét chọn một bộ dữ liệu ảo hoặc là một bộ dữ liệu mở để huấn luyện mô hình Để chọn một bộ dữ liệu dùng cho việc xây dựng mô hình dự đoán ta có thể chọn ở những nguồn dữ liệu mở ở [23] Mặc dù đa dạng nhưng có nhiều vấn đề cần phải đối mặt Một số bộ dữ liệu được chọn để thử nghiệm là dữ liệu bán lẻ, hoặc là dữ liệu nhà kho Khi lựa chọn những bộ dữ liệu này nhằm mô phỏng được một mô hình dự đoán có thể phản ánh được thói quen tiêu dùng của người dùng và áp dụng mô hình dự đoán vào hệ thống AGV
Các bộ dữ liệu này có đặc điểm là rất nhiều thông tin bao gồm như số hoá đơn, mã đơn hàng, thời gian, số lượng hàng nhập và xuất, giá của từng đơn vị và giá trị hoá đơn,… Bởi vì đa dạng mặt hàng và chênh lệch lượng truy cập dẫn tới việc áp dụng các bộ dữ liệu này gặp khó khăn Ví dụ, xem xét qua bộ dữ liệu Online Retail[29], đây là bộ dữ liệu về hàng hoá xuất kho trong vòng một năm từ tháng 12 năm 2010 tới tháng 12 năm 2011 Có hơn 4000 mặt hàng và có hơn 500.000 dữ liệu Khi phân loại và xử lý bộ dữ liệu, có sự chênh lệch rất lớn giữa phân loại hàng đứng thứ nhất và phân loại hàng đứng thứ hai Vậy nên đề tài không sử dụng các tệp dữ liệu mở
Hình 3.2: Biểu đồ phân bố các loại hàng tệp dữ liệu Online Retail[36] Ở [16] dùng chuỗi Markov để tạo ra một chuỗi nhiệm vụ, theo Dong Li và các cộng sự, các nhiệm vụ có mối tương quan với nhau Do đó trong [16] tạo ra chuỗi nhiệm vụ dựa trên chuỗi Markov, chia thành tệp huấn luyện và tệp kiểm tra Đề tài xem xét hệ thống nhà kho có n trạm làm việc đóng vai trò là các kệ hàng Mỗi kệ hàng lưu trữ một mặt hàng Mỗi khi có một nhu cầu xuất hiện, ta có thể xem đó là trạng thái hiện tại và trạng thái tương lai phụ thuộc vào trạng thái hiện tại chứ không có phụ thuộc vào trạng thái ở quá khứ Thông qua đó ta có thể tạo nên một chuỗi Markov giả định để sử dụng cho mô hình dự đoán
Mặt khác, chuỗi Markov cũng cần phải có mức độ chính xác so với thực tế, chứ không chỉ là một chuỗi các nhiệm vụ ngẫu nhiên Do đó khi tạo chuỗi Markov gần với một nhà kho thực tế nhất, ta cần phải xem xét một bộ dữ liệu thực tế, có thể là dữ liệu mở, được thu thập từ một nhà kho bán lẻ Phân loại hàng hoá thành các nhiệm vụ và xác định ma trận xác xuất của các nhiệm vụ Đây là cách đảm bảo bộ dữ liệu ảo gần với thực tế nhất
Hình 3.3: Ví dụ về sự thay đổi giữa các trạng thái của chuỗi Markov.[37]
Xác định thuật toán và xây dựng mô hình dự đoán
Có nhiều cách phân chia các giải thuật trong máy học như trong [30] chia ra nhiều hướng tiếp cận như Unsupervised learning, Supervised learning, Reinforcement learntning, Neural network,… hoặc là tập trung vào ứng dụng của mô hình dự đoán như [31], ở đây được chia làm hai hướng ứng dụng là Regression và Classification
Với ứng dụng Regression, kết quả được trả về với dạng số và với ứng dụng Classification thì kết quả là các danh mục[31] Đối với mục tiêu xác định nhiệm vụ diễn ra trong tương lai, tuỳ theo mục tiêu của đề tài mà chọn giải thuật và ứng dụng phù hợp
Mô hình dự đoán trong trường hợp này tập trung dự đoán công việc tương lai, do đó sẽ sử dụng phương pháp phân loại (Classification).
Có nhiều giải thuật để sử dụng nhằm mục đích phân loại Về cơ bản được chia làm
3 loại đó là phân tích biệt thức cùng các mô hình phân loại tuyến tính, các mô hình phân loại phi tuyến tính và các mô hình dựa trên giải thuật cây ra quyết định Đề tài tập trung vào mô hình phân loại phi tuyến tính và dùng Neural Network
Hình 3.6: Cấu trúc của mạng Neuron
Theo [21], Neural Network là một chuỗi các thuật toán nỗ lực tìm hiểu các mối liên hệ trong một tập dữ liệu thông qua mô phỏng lại cách hoạt động của bộ não con người Có 2 phân loại Neural Network được đề cập trong đề tài này là Supervised Neural Network, Unsupervised Neural Network Đối với Supervised Neural Network, thông tin nhập vào và kết quả đã biết, kết quả dự đoán của mô hình sẽ được so sánh với kết quả thực tế Dựa vào sự sai lệch mà thông qua đó điều chỉnh Neural Network một lần nữa Unsupervised Neural Network có nhiệm vụ chính là phân loại dữ liệu dựa trên những sự tương đồng
Hình 3.7:Cấu trúc của học giám sát
Hình 3.8: Cấu trúc của học không giám sát
Mục tiêu của mô hình dự đoán là dựa trên những dữ liệu về nhu cầu công việc trong quá khứ và dự đoán các công việc trong tương lai Vậy nên xác định một công cụ phù hợp là điều rất quan trọng Một mặt khác đó là khi xem xét các công việc luôn thay đổi tuỳ theo nhu cầu, vậy nên việc cần có một mô hình dự đoán thích nghi với sự thay đổi là điều rất quan trọng để đảm bảo được sự ổn định Vậy nên chọn mạng LSTM để sử dụng trong trường hợp này
Mạng LSTM được đề xuất trong bài báo Long Short – Term Memory[38] Ở đây mạng LSTM được ứng dụng vì khả năng xử lý thông tin dài hạn và khả năng học tự động của nó Nhờ vào cấu trúc như hình 3.9 gồm các cổng vào, cổng ra, cổng quên và các hàm mà LSTM chia làm 3 giai đoạn hoạt động ở hình 3.10 Giai đoạn đầu tiên nói về lượng thông tin mà một khối LSTM có thể nhớ được Trạng thái tế bào đại diện cho dữ liệu dài hạn Trên đường trạng thái tế bào này không có các hệ số cho nên sau khi thực hiện tính toán thì các giá trị qua Trạng thái tế bào không có tiến nhanh về vô cùng hoặc là 0 Đường màu nâu trong hình 3.9 trạng thái ẩn, đại diện cho dữ liệu ngắn hạn Dữ liệu thông qua trạng thái ẩn sẽ được nhân cho một hệ số σ có thể thay đổi được Dữ liệu từ input và trạng thái ẩn sẽ được kết hợp và biến đổi bởi forget gate Lúc này bởi kết quả từ forget gate mà dữ liệu ở trạng thái tế bào sẽ giảm đi một chút Đây là bước quyết định bao nhiêu phần trăm dữ liệu dài hạn được giữ lại
Giai đoạn thứ hai sẽ là giai đoạn cập nhật dữ liệu dài hạn Dữ liệu input sẽ được quyết định giữ lại bao nhiêu phần trăm thông qua các hàm toán ở cổng vào Sau đó dữ liệu đầu vào sẽ được cập nhật vào dữ liệu dài hạn ở trạng thái tế bào Bước cuối cùng sẽ là cập nhật dữ liệu ngắn hạn Dữ liệu dài hạn được cập nhật sau giai đoạn hai để xác định dữ liệu ngắn hạn tiềm năng Dữ liệu ngắn hạn và input được dùng để xác định phần trăm dữ liệu ngắn hạn được giữ lại
Hình 3.9: Cấu trúc của Long Short – Term Memory[39]
Hình 3.10: 3 giai đoạn hoạt động của khối LSTM[39]
Trong bài báo [16], Dong Li và cộng sự của mình đã chỉ ra khi áp dụng mô hình dự đoán dựa trên dữ liệu đầu vào là tập hợp các điểm giao hàng đầu tiên của các nhiệm vụ trong quá khứ nên xem xét đây là dạng chuỗi – tạo chuỗi Và vì thế Dong Li đã tạo ra một mạng RNN để dự đoán
Hình 3.11:Cấu trúc mạng LSTM được áp dụng bởi Dong Li[16]
Bởi vì những ưu điểm nên mạng LSTM được ứng dụng để tạo mô hình dự đoán để áp dụng vào thuật toán
3.3.2 Xây dựng mô hình dự đoán Để tạo mô hình dự đoán, ở đây ta dùng công cụ Train Neural Network[40] của MATLAB Đây là một công cụ giúp tạo ra một mô hình dự đoán Để tạo được mô hình cần chuẩn bị bộ dữ liệu, thiết lập Neural Network, và lựa chọn các tuỳ chỉnh để chạy mô hình
Dùng chuỗi Markov được nhắc đến ở mục 3.2.3 để tạo ra một chuỗi các điểm đầu tiên của nhiệm vụ Để đảm bảo được độ lớn của bộ dữ liệu ta cần xem xét tạo bao nhiêu mẫu dữ liệu Xem xét với lượng yêu cầu vận chuyển hàng hoá trung bình là 30 công việc một giờ, một ngày nhà kho vận hành 12 giờ trong 300 ngày thì lượng công việc sẽ là 108.000 công việc trong vòng một năm
Mặt khác ta cần quyết định mô hình dự đoán sẽ dự đoán công việc tiếp theo ở tương lai dựa trên bao nhiêu công việc trong quá khứ Để làm điều này, cần xem xét mức độ ảnh hưởng của các công việc đã hoàn thành ảnh hưởng tới công việc tương lai thế nào Liệu rằng công việc vừa mới hoàn thành có mức độ ảnh hưởng so với công việc thứ 100 đã hoàn thành trước đó Để kiểm chứng và xác định điều này ta lập một bảng số liệu trên Excel, công việc vừa hoàn thành sẽ được gọi là DELAY1, công việc trước đó sẽ là DELAY2 cho tới công việc đã hoàn thành thứ 100 gọi là DELAY100 Khi
Bảng 3.2: Chuỗi Markov 96 trạng thái với 100 công việc trong quá khứ
DELAY100 DELAY99 DELAY97 DELAY96 … DELAY1 TASK
Khi áp dụng công cụ PCA, ta sẽ tìm các giải thích bộ dữ liệu trong Bảng 3.2 theo các DELAY từ 1 tới 100 sao cho vẫn giữ được đặc trưng của bộ dữ liệu Ở đây khi dùng công cụ PCA, ta thu được một ma trận giải thích mức độ ảnh hưởng các yếu tố đến kết quả như bảng 3.3 Các giá trị này xấp xỉ nhau và trung bình cộng của các giá trị này là 1 Khi áp dụng PCA cho một phần nhỏ của bộ dữ liệu từ DELAY1 tới DELAY20 Kết quả tương tự với khi áp dụng trên toàn bộ dữ liệu, các giá trị đại diện được trình bày trong bảng 3.4 có giá trị xấp xỉ nhau và gần bằng 5 Không thể giải thích TASK chỉ bằng một vài công việc đã hoàn thành trước đó Chọn số lượng công việc trong quá khứ dùng để dự đoán công việc trong tương lai là 05 công việc nhằm giảm tải cho việc tính toán sau này
Xem xét hệ thống AGV theo góc độ toàn thể, các công việc rời rạc với nhau và mỗi công việc được xem như là một trạng thái Dữ liệu khi mà được đưa vào mạng Neural Network sẽ được biến đổi thành ma trận [96x05] Một biến Input được tạo ra để lưu các ma trận này Ngoài ra một biến Output được dùng để lưu các công việc trong tương lai dưới dạng dữ liệu danh mục
Tệp dữ liệu được chia theo tỉ lệ 7:3 Trong đó 70% dữ liệu được dùng cho việc huấn luyện bộ dữ liệu và 30% được dùng để kiểm tra độ chính xác Bộ dữ liệu được chia bằng công cụ cvpartition, với công cụ này chia tập dữ liệu thành 2 phần với tỉ lệ 7:3 theo cách ngẫu nhiên Gọi là tệp dữ liệu và tệp dữ liệu kiểm tra độ chính xác
PHÁT TRIỂN THUẬT TOÁN XÁC ĐỊNH VỊ TRÍ ĐỖ CHO AGV BẰNG MÔ HÌNH ĐỀ XUẤT
Quy trình làm việc của hệ thống AGV
Một môi trường sản xuất linh hoạt (FMS) sẽ bao gồm nhiều hệ thống nhỏ hoạt động với nhau và hệ thống AGV là một hệ thống nhỏ trong hệ thống FMS này Trong trường hợp đề tài đang đề cập là môi trường nhà kho thì hệ thống AGV sẽ hoạt động với hệ thống quản lý nhà kho Hệ thống quản lý nhà kho đóng vai trò như một cơ sở dữ liệu cung cấp thông tin về vị trí, số lượng hàng hoá còn lại trong kho Mặt khác hệ thống quản lý kho hàng sẽ nhận yêu cầu từ người dùng, biến đổi thành các công việc để hệ thống AGV vận hành
Hình 4.1: Cấu trúc hệ thống nhà kho[43]
Sau khi nhận thông tin và yêu cầu từ hệ thống quản lý nhà kho, hệ thống AGV hoạt đọng theo một quy trình để thực hiện các công việc Mặc dù ở chương 2 đã trình bày về các nhiệm vụ cơ bản của hệ thống AGV và quy trình làm việc dựa trên những nhưng đó chưa phải là một quy trình làm việc cụ thể và rõ ràng Một quy trình hoạt động hợp lý sẽ giảm bớt rất nhiều sự cố vận hành trong hệ thống Vậy nên để đảm bảo được rằng mô phỏng mô phỏng chính xác thì cần phải xác định một quy trình làm việc rõ ràng và chi tiết
Hình 4.2: Quy trình làm việc của hệ thống AGV trong [43]
[43] giới thiệu một quy trình làm việc của hệ thống AGV trong môi trường nhà kho như hình 4.2 Ở đây cũng đề cập tới một quy trình làm việc tổng quát cho hệ AGV Khi một công việc mới xuất hiện, hệ thống điều khiển trung tâm sẽ chọn một AGV để đi làm công việc đó Sau khi có một tập hợp các công việc mà một AGV cần làm thì đầu não trung tâm sẽ áp dụng thuật toán Dijkstra dựa trên vị trí hiện tại của AGV và hàng hoá để chọn ra một con đường ngắn nhất Sau khi xác định được con đường thì hệ thống trung tâm biến đổi thành một chuỗi các node và các đường nối rồi gửi chỉ dẫn đường đi tới AGV Nhận được chỉ dẫn từ hệ thống trung tâm, AGV sẽ thực hiện theo chỉ dẫn và tron quá trình thực hiện đó AGV sẽ gửi lại thông tin vị trí và tình trạng cho hệ thống trung tâm Hệ thống trung tâm nhận được những thông tin này, qua đó xác định trạng thái của AGV, phân tích tình trạng hiện tại của hệ thống Những thông tin này sẽ được đưa qua bộ mô – đun quản lý giao thông Mô – đun này áp dụng các giải thuật và phương pháp để điều phối giao thông nhằm giảm thiểu, hạn chế tình trạng kẹt cứng và va chạm
Quy trình của hệ thống AGV của đề tài cũng được xác lập tương tự như trên và có những sự ràng buộc khác để giảm thiểu mức độ tính toán và phức tạp Mặt khác một số quy tắc vận hành cũng khác so với hệ thống được áp dụng ở [43] Để xác định quy tắc vận hành phù hợp với đề tài, trước tiên cần xác định rõ môi trường làm việc của hệ thống AGV và các thành phần trong đó
Nhà kho hình chữ nhật, dài 72m và rộng 62.4m Hệ thống mạng lưới giao thông bao gồm 234 node, xếp thành 18 cột và 13 hàng Trong đó có 96 node dùng đê chứa các kệ hàng Và có 16 node cố định đóng vai trò là trạm làm việc, nơi tương tác giữa người làm việc và hệ thống Sơ đồ được trình bày như hình 4.3 Trong đó những node màu đỏ là những node chứa kệ hàng, node trống sẽ không có màu Khu vực màu xanh lá là khu vực các kệ hàng được sắp xếp Khu vực màu xanh nhạt là khu vực của các trạm làm việc Trong mạng lưới giao thông này Các node được kết nối với nhau bằng các con đường, các con đường này có độ dài là 3.9m
Trong khu vực này không có khu vực đỗ cụ thể cho AGV rảnh Trong ca làm việc, các AGV được đỗ tại chỗ khi hoàn thành xong công việc Khi đó các AGV được đỗ tại các node chứa kệ hàng Để biểu diễn mạng lưới giao thông này ta dùng hai ma trận Adj và Adj_i Trong đó Adj dùng để biểu diễn mạng lưới giao thông khi xe vận hành không có tải và Adj_i dùng cho trường hợp xe đang tải hàng
Hình 4.3: Sơ đồ mạng lưới giao thông của nhà kho
Trong hệ thống này số lượng AGV được dùng để thực hiện các công việc được giao tối thiểu là 3 Ở đây các AGV được xem như là chất điểm Chuyển động của AGV là hai chiều khi chúng qua một đoạn đường bất kỳ Mỗi thời điểm, một AGV chỉ mang một nhiệm vụ Vận tốc trên mọi đoạn đường của AGV được lấy giá trị trung bình là 1m/s
Vị trí ban đầu của n AGV sẽ được xác định bằng ma trận src
𝑠 (4.5) Để giảm sự phức tạp trong tính toán, nhiệm vụ thay vì được giao cho AGV theo nguyên tắc phương tiện gần nhất thì đề tài sẽ xác định một tập nhiệm vụ cho từng AGV Một mặt khác đề tài cũng xem xét mức độ ảnh hưởng khi số lượng nhiệm vụ trong một giờ và thời gian mà nhiệm vụ mới xuất hiện
Hình 4.4: Quy trình làm việc được áp dụng trong đề tài
Thông qua số lượng công việc trong một giờ mà xác định được thời gian trung bình một nhiệm vụ xuất hiện Qua đó thời gian xuất hiện nhiệm vụ sẽ được xác định thuộc phân phối chuẩn, có giá trị trung bình là thời gian trung bình một nhiệm vụ xuất hiện, xác lập sai số sao cho trung bình thời gian xuất hiện nhiệm vụ không đổi
Trong quy trình làm việc trên, mỗi khi có nhiệm vụ mới thì hệ thống điều khiển sẽ phân bổ đều cho các AGV Khi thực hiện nhiệm vụ, hệ thống điều khiển áp dụng giải thuật Dijkstra để xác định đường đi ngắn nhất và quãng đường đi Sau đó gửi thông tin đến AGV thực thi nhiệm vụ AGV thực thi, trong quá trình làm việc, áp dụng các phương pháp chống va chạm và kẹt cứng AGV hoàn thành công việc thì chuyển sang trạng thái chờ và đỗ tại chỗ
Mục 4.2 và mục 4.3 sẽ trình bày về hai giải thuật và nguyên do cần hai giải thuật này.
Giải thuật áp dụng mô hình dự đoán nhằm xác định vị trí đỗ cho AGV
Mục 4.1 giải thích về quy trình làm việc của hệ thống AGV trong đề tài Đây là cơ sở để xây dựng giải thuật và giải quyết vấn đề Thông qua đó đề xuất một quy trình làm việc áp dụng giải thuật này
Dựa trên giải thuật thứ nhất được trình bày trong [16], đây là một giải thuật dùng để vận hành và áp dụng mô hình dự đoán vào quy trình vận hành Trong quy trình vận hành được nhắc tới trong [16], khi có một nhiệm vụ mới xuất hiện, trung tâm điều khiển sẽ thêm thông tin về điểm nhận hàng vào một chuỗi có R phần tử trước đó Sau đó sẽ giao nhiệm vụ cho AGV thực hiện Khi hoàn thành nhiệm vụ, AGV chuyển sang trạng thái rảnh thì sẽ dùng mô hình dự đoán để dự đoán nhiệm vụ tiếp theo và tiến hành cho AGV đỗ Trong quá trình đó, luôn so sánh và kiểm tra đối chiếu với tệp nhiệm vụ để nếu dự đoán sai thì ngay lập tực dừng quá trình đỗ và thực hiện nhiệm vụ, nếu đúng thì tiếp tục công việc Giải thuật này cần thiết để định hình quy trình hoạt động của trung tâm điều khiển khi có nhiệm vụ mới Dựa trên giải thuật trên, và dựa theo quy trình làm việc được nêu ra ở mục 4.1, đề tài trình bày giải thuật 1 để áp dụng mô hình dự đoán vào quy trình làm việc
Một nhiệm vụ có ba mốc thời gian chính, đó là thời điểm nhiệm vụ xuất hiện, thời điểm AGV nhận hàng hoá và thời điểm AGV hoàn thành công việc Các mốc thời gian được biểu diễn như hình 4.5, trong đó 𝑡 1 và 𝑡 2 lần lượt là thời gian AGV phản hồi và thời gian AGV giao hàng hoá Sau khi hoàn thành nhiệm vụ, quy trình sẽ được lặp lại cho nhiệm vụ kế tiếp
Hình 4.5: Các mốc thời gian trong một nhiệm vụ Áp dụng mô hình dự đoán vào hệ thống Đề tài tập trung vào giảm thiểu thời gian phản hồi trung bình 𝑡̅ 1 Để thực hiện điều này thì ngay khi AGV thực hiện xong công việc và chuyển sang trạng thái rảnh thì ngay sau đó hệ thống điều khiển sẽ dự đoán công việc tiếp theo và xác định vị trí đỗ cho AGV sao cho phù hợp
Hình 4.6: Các mốc thời gian trong một nhiệm vụ khi áp dụng mô hình dự đoán
Giả sử đã có chuỗi gọi là delay_task lưu trữ điểm bắt đầu của R công việc trước đó ( R là một thông số tự chọn sao cho phù hợp với mô hình) Khi một nhiệm vụ t mới được tạo, hệ thống sẽ phân bổ nhiệm vụ t dựa trên số thứ tự k Sau đó điểm bắt đầu của nhiệm vụ t sẽ được thêm vào cuối chuỗi delay_task Nếu độ dài chuỗi lớn hơn R thì xoá đi điểm bắt đầu ở đầu chuỗi delay_task Kiểm tra AGV đã hoàn thành việc đỗ 𝑡 𝑝𝑟𝑒 ở nhiệm vụ trước chưa, và đã trở về trạng thái rảnh chưa Nếu chưa thì tiếp tục đỗ AGV và đưa nhiệm vụ t vào hàng chờ Q Nếu AGV đã đỗ xong thì thực thi nhiệm vụ t Khi nhiệm vụ t hoàn thành thì kiểm tra có còn nhiệm vụ trong hàng chờ Q không, nếu không thì chuyển trạng thái của AGV về trạng thái rảnh Sử dụng mô hình dự đoán với đầu vào là delay_task dự đoán nhiệm vụ t pre tiếp theo Gán nhiệm vụ 𝑡 𝑝𝑟𝑒 cho AGV để AGV đỗ vào điểm bắt đầu của nhiệm vụ 𝑡 𝑝𝑟𝑒 Khi hoàn thành thì gán tình trạng rảnh cho AGV
Giải thuật 1: Giải thuật phân phối nhiệm vụ khi áp dụng mô hình dự đoán bắt đầu
1 Nếu xuất hiện nhiệm vụ mới t Số thứ tự của t là k thì
2 Chèn điểm giao hàng của nhiệm vụ t vào delay_task
3 Nếu số lượng điểm giao hàng trong delay_task lớn hơn R thì
4 Xoá đi điểm giao hàng đầu tiên trong delay_task
5 Chọn AGV để thực hiện t dựa theo k
6 AGV được chọn là dựa theo phần dư của k cho n AGV
7 Nếu k chia hết cho n thì
9 Nếu AGV chưa đỗ xong thì
10 Chèn nhiệm vụ t vào chuỗi công việc của AGV
12 Ra lệnh cho AGV hoàn thành nhiệm vụ t
13 Nếu chuỗi delay_task có đủ R thành phần và AGV rảnh thì
14 Dự đoán nhiệm vụ mới và ra lệnh AGV đi tới vị trí đỗ
Điều kiện để áp dụng giải thuật và quy trình làm việc
Khi sử dụng mô hình, nếu tốc độ tạo mới công việc quá nhanh, thuật toán sẽ không kịp thích ứng, gây cản trở khả năng giao hàng của AGV.
Tùy vào tình trạng rảnh hay bận của hệ thống, thuật toán này có thể được sử dụng có chọn lọc Hệ thống được xác định là rảnh khi tỉ lệ thời gian trung bình giữa lúc công việc mới xuất hiện và lúc công việc cũ hoàn thành như công thức đã cho.
Tốc độ tạo ra các công việc mới so với tốc độ hoàn thành công việc của AGV được thể hiện thông qua tham số 𝑖𝑑𝑙𝑒 Khi 𝑖𝑑𝑙𝑒 = 1, tốc độ của hai quá trình là bằng nhau Nếu 𝑖𝑑𝑙𝑒 < 1, AGV sẽ có thời gian rảnh sau khi hoàn thành công việc Ngược lại, nếu 𝑖𝑑𝑙𝑒 > 1, hệ thống đang quá tải và các công việc mới sẽ phải chờ đợi.
Biến số idle được trình bày ở [16], nhằm xác định trạng thái của hệ thống Áp dụng vào quy trình hiện tại được đề ra ở mục 4.1, đề tài đề xuất giải thuật 2 để xác định trạng thái của hệ thống
Sau khi đưa mô hình dự đoán vào hệ thống, cần có những điều chỉnh trong quy trình làm việc để đảm bảo hệ thống hoạt động ổn định Mặc dù vậy, những nhiệm vụ cơ bản vẫn phải được đảm bảo thực hiện trong quá trình vận hành hệ thống tích hợp mô hình dự đoán.
Giải thuật 2: Giải thuật nhằm xác định tình trạng của hệ thống
1 Xác định giá trị ban đầu của thời gian xuất hiện nhiệm vụ 𝑡 𝑓𝑖𝑟𝑠𝑡 = 0
2 Xác định thời gian tổng giữa 2 nhiệm vụ 𝑇 = 0
3 Xác định tổng thời gian AGV hoàn thành công việc 𝑇 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 = 0
4 Nếu xuất hiện nhiệm vụ mới t Số thứ tự của t là k thì
5 Lưu thời điểm nhiệm vụ t xuất hiện vào biến 𝑡 𝑒𝑥𝑒𝑐𝑢𝑡𝑒
6 Thời gian chênh lệch giữa 2 nhiệm vụ t và t -1 : ∆𝑡 = 𝑡 𝑒𝑥𝑒𝑐𝑢𝑡𝑒 − 𝑡 𝑓𝑖𝑟𝑠𝑡
7 Tổng thời gian mà các nhiệm vụ xuất hiện 𝑇 = 𝑇 + ∆𝑡
9 Thời gian trung bình giữa các nhiệm vụ 𝑇̅ = 𝑇
10 Nếu nhiệm vụ t đã hoàn thành thì
11 Lưu thời điểm nhiệm vụ t được hoàn thành vào 𝑡 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒
12 Tính thời gian hoàn thành nhiệm vụ t ∆𝑡 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 = 𝑡 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 − 𝑡 𝑒𝑥𝑒𝑐𝑢𝑡𝑒
Tổng thời gian hoàn thành các nhiệm vụ 𝑇 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 = 𝑇 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 + ∆𝑡 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒
14 Thời gian trung bình AGV hoàn thành nhiệm vụ 𝑇̅̅̅̅̅̅̅̅̅̅̅ = 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 𝑇 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒
57 Ở đây sẽ quan tâm điều điện hoạt động của hệ thống trong hai trường hợp là hệ thống rảnh 𝑖𝑑𝑙𝑒 < 1 và hệ thống bận 𝑖𝑑𝑙𝑒 ≥ 1 Để xác định hệ thống bận hay rảnh dùng giải thuật 2 Khi một nhiệm vụ mới t được tạo, hệ thống sẽ nhớ thời gian mà nhiệm vụ xuất hiện 𝑡 𝑒𝑥𝑒𝑐𝑢𝑡𝑒 và thời gian mà nhiệm vụ hoàn thành 𝑡 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 Thời gian giữa hai nhiệm vụ liên tiếp nhau là ∆𝑡 và được cộng dồn vào tổng thời gian giữa các nhiệm vụ 𝑇 Thời gian nhiệm vụ t hoàn thành là ∆𝑡 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 và được cộng dồn vào tổng thời gian AGV thực thi nhiệm vụ 𝑇 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 Với mỗi nhiệm vụ t, hệ thống sẽ xác định được thời gian trung bình giữa các nhiệm vụ 𝑇̅ và thời gian trung bình AGV thực thi nhiệm vụ 𝑇̅̅̅̅̅̅̅̅̅̅̅ 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 Thông qua hai thông số này ta sẽ xác định được tình trạng của hệ thống
Nhờ vào điều kiện trên nên hệ thống sẽ áp dụng giải thuật tuỳ theo điều kiện hiện tại Lúc này quy trình sẽ được tinh gọn hơn và hệ thống không phải lúc nào cũng phải áp dụng giải thuật Quy trình này được trình bày trong hình 4.7
Hình 4.7: Quy trình làm việc của hệ thống AGV khi áp dụng giải thuật
MÔ PHỎNG VÀ KẾT QUẢ ĐẠT ĐƯỢC
Đặc tính của hệ thống và mô hình mô phỏng
Mô phỏng là một trong những kỹ thuật khoa học quản lý và nghiên cứu quá trình vận hành rộng rãi nhất, nếu không muón nói là công cụ rộng rãi nhất Mô phỏng được ứng dụng vào nhiều lĩnh vực, đa ngành đa nghề như thiết kế và phân tích hệ thống sản xuất, phát triển hệ thống vũ khí quân đội, hoặc là xác định các yêu cầu phần cứng hay là các giao thức giao tiếp mạng,… [44] Đối tượng của mô phỏng đó là các hệ thống Một hệ thống được định nghĩa là một tập hợp của con người hay máy móc, hoạt động và tương tác với nhau để hoàn thành một mục đích hợp lý nào đó[44] Hệ thống AGV làm việc trong nhà kho chính là một hệ thống như vậy Trong hệ thống AGV có các AGV, các trạm làm việc và con người làm việc cùng với nhau, để thực hiện chức năng tập kết, lưu trữ, phân loại và quản lý hàng hoá
Hệ thống được chia làm hai loại, hệ thống rời rạc và hệ thống liên tục Với hệ thống rời rạc có các biến trạng thái thay đổi tức thời tại các thời điểm riêng biệt Ở hướng còn lại, hệ thống liên tục có các biến trạng thái thay đổi liên tục theo thời gian Xác định loại hệ thống là một điều cần thiết để thực hiện mô phỏng Đối với hệ thống AGV được áp dụng trong đề tài, được áp dụng mô hình dự đoán để hỗ trợ hệ thống điều khiển ra quyết định, xác định vị trí đỗ cho AGV để giảm thời gian phản hồi là một hệ thống rời rạc Do đó, mô hình mô phỏng được áp dụng trong đề tài là mô hình mô phỏng rời rạc.
Mô hình mô phỏng
5.2.1 Các điều kiện ban đầu Để kiểm tra tính đúng đắn của giả thuyết và giải thuật thì cần mô phỏng Mô phỏng sẽ tập trung vào trường hợp hệ thống đang ở trạng thái rảnh Áp dụng chuỗi Markov được tạo ở mục 3.4.3 Chuỗi Markov này có giá trị là 108.000 nhiệm vụ trong vòng 1 năm Ngoài được ứng dụng để tạo mô hình dự đoán, chuỗi nhiệm vụ này cũng sẽ đóng vai trò là chuỗi nhiệm vụ thực tế dùng để đối chứng với hệ thống khi đã áp dụng giải thuật
60 Đề tài tập trung vào giải thuật và chọn vị trí đỗ của AGV Cho rằng AGV di chuyển đều, thời gian xoay không đáng kể Giữa các AGV không có xảy ra va chạm và kẹt cứng Trình tự làm việc của một AGV là di chuyển từ vị trí đỗ, tới vị trí nhận hàng AGV nhận hàng, vận chuyển tới trạm làm việc Sau khi người vận hành đã thao tác xong thì AGV mang kệ hàng lại chỗ cũ Vì có yếu tố con người tác động vào quy trình cho nên bỏ qua thời gian giao nhận hàng, tập trung vào thời gian AGV di chuyển trên đường 16 trạm làm việc sẽ được phân bố đều công việc
Khi thời gian giữa các nhiệm vụ liên tiếp nhỏ (∆𝑡̅̅̅) hoặc có nhiệm vụ đang chờ trong hàng đợi Q, giải thuật không được áp dụng Hệ thống giao thông được sử dụng cho mô phỏng được đề cập trong mục 4.2 Hai ma trận kề Adj và Adj_i được dùng để tìm quãng đường đi ngắn nhất khi AGV không mang hàng và có mang hàng hóa.
Số lượng AGV được dùng ít nhất là 3 nhằm đảm bảo tính tổng quan của đề tài Vị trí ban đầu của các AGV được xác định bằng ma trận 𝑠𝑟𝑐 = [1 2 3 … ] không đổi trong mọi trường hợp mô phỏng Sau đó số lượng AGV được tăng lên để kiểm chứng mức độ ảnh hưởng của hệ thống
5.2.2 Xác định điều kiện để hệ thống trong trạng thái rảnh Để xác định điều kiện áp dụng giải thuật vào quy trình vận hành trước tiên cần xác định thời gian trung bình AGV hoàn thành một công việc Sử dụng chuỗi Markov ở mục 3.4.3, cho rằng thời điểm AGV hoàn thành một nhiệm vụ thì sẽ ngay lập tức có nhiệm vụ mới được tạo ra Lúc này ta xem xét trên toàn hệ thống chỉ có một AGV duy nhất làm việc
Thời gian trung bình một nhiệm vụ hoàn thành được xác định như sau Với nhiệm vụ đầu tiên, vị trí ban đầu sẽ được lưu trong ma trận 𝑠𝑟𝑐 = [1 2 3], công việc sẽ bao gồm thông tin của vị trí điểm nhận hàng và trạm làm việc được lưu trong ma trận 𝑑𝑎𝑡𝑎 có kích thước 108.000×2
Con đường ngắn nhất và độ dài quãng đường đi từ vị trí hiện tại tới điểm đầu của nhiệm vụ được xác định bởi giải thuật Dijkstra
Tương tự như trên, quãng đường ngắn nhất từ điểm bắt đầu của nhiệm vụ i tới trạm làm việc được xác định
[𝑐𝑜𝑠𝑡2 𝑝𝑎𝑡ℎ2] = 𝑑(𝐴𝑑𝑗, 𝑑𝑎𝑡𝑎(𝑖, 1), 𝑑𝑎𝑡𝑎(𝑖, 2)) (5.2) Thời gian nhiệm vụ i được hoàn thành
Gán vị trí cuối cùng AGV trong nhiệm vụ i cho ma trận src và sau đó lặp lại quy trình trên Cuối cùng tổng kết quá trình xem xét 108000 nhiệm vụ thì ta có
Vậy điều kiện để hệ thống ở tình trạng rảnh là số lượng nhiệm vụ trung bình một giờ phài bé hơn 82
Giải thuật được áp dụng vào 4 trường hợp tương ứng số lượng công việc một giờ lần lượt là 20, 40, 60, 80 Mỗi trường hợp gồm các thông số vận hành của AGV trong hệ thống trước và sau khi áp dụng giải thuật Hai mô phỏng sẽ được so sánh với nhau nhằm xem xét mức độ ảnh hưởng của giải thuật đến thời gian phản hồi của AGV khi số lượng nhiệm vụ dần tăng Tiêu chí đánh giá chính là thời gian phản hồi trung bình của các AGV và thời gian phản hồi tối đa của AGV, ngoài ra đề tài còn xem xét tổng thể quá trình làm việc của hệ thống nhằm có cái nhìn tổng quát hơn về hiệu suất của hệ thống
Một mặt, tệp nhiệm vụ sẽ được chia nhỏ ra thành 4 tệp nhỏ đều nhau gồm 27000 công việc nhằm giảm khối lượng tính toán và tăng tính đa dạng cho kết quả Các tệp này được đánh số từ 1 tới 4, vẫn giữ nguyên thứ tự trong chuỗi Markov Với mỗi phương pháp mô phỏng đều đánh giá trên cả 4 tệp
Bảng 5.1: Chuỗi delay_task của các tệp 1, 2, 3, 4 Tệp nhiệm vụ Giá trị chuỗi delay_task
Bảng 5.2: Bố trí mô hình mô phỏng 1
Phương pháp mô phỏng Số lượng nhiệm vụ một giờ
Số lần kiểm tra mỗi tệp nhiệm vụ
Hệ thống vận hành không có giải thuật
Hệ thống vận hành có áp dụng giải thuật
Hệ thống vận hành không có giải thuật
Hệ thống vận hành có áp dụng giải thuật
Hệ thống vận hành không có giải thuật
Hệ thống vận hành có áp dụng giải thuật
Hệ thống vận hành không có giải thuật
Hệ thống vận hành có áp dụng giải thuật
Tệp 3 Tệp 4 Với mỗi tệp nhiệm vụ, chuỗi 𝑑𝑒𝑙𝑎𝑦 𝑡𝑎𝑠𝑘 của mỗi tệp có độ dài giống nhau là 𝑅 5 nhưng giá trị của chuỗi sẽ khác nhau Đây cũng là nguyên nhân dẫn tới sự khác biệt giữa các tệp
Trong mô phỏng 1 này, mục tiêu tập trung vào việc xem xét mức độ ảnh hưởng của số lượng nhiệm vụ và mô hình dự đoán lên trên quá trình hoạt động của hệ thống AGV
5.2.4 Mô hình mô phỏng 2 Để kiểm chứng mức độ hiệu quả của hệ thống, xem xét hệ thống có nhiều hơn 3 AGV Khi số lượng AGV tăng thêm, hệ thống sẽ càng phức tạp và số lượng nhiệm vụ mà một AGV xử lý sẽ giảm đi Lúc này thời gian giữa hai nhiệm vụ mà một AGV xử lý liên tiếp nhau sẽ tăng thêm Số lượng AGV được chọn để thử nghiệm là 3, 6, 9, 12 AGV
Bảng 5.3: Bố trí mô phỏng 2
Phương pháp mô phỏng Số lượng nhiệm vụ một giờ Số AGV Số lần kiểm tra mỗi tệp nhiệm vụ
Hệ thống vận hành không có giải thuật
Hệ thống vận hành có áp dụng giải thuật
Hệ thống vận hành không có giải thuật
Hệ thống vận hành có áp dụng giải thuật
Hệ thống vận hành không có giải thuật
Hệ thống vận hành có áp dụng giải thuật
Hệ thống vận hành không có giải thuật
Hệ thống vận hành có áp dụng giải thuật
12 Lúc này sẽ xem xét mức độ hiệu quả trên 108000 nhiệm vụ, với số lượng nhiệm vụ trung bình có 4 trường hợp là 20, 40, 60, 80 nhiệm vụ/h Chuỗi delay_task của tệp nhiệm vụ có độ dài là R=5 và có giá trị như bên dưới
Tiêu chính đánh giá chính là thời gian phản hồi trung bình và thời gian phản hồi của AGV Mô phỏng được bố trí như bảng 5.3.
Kết quả đạt được
5.3.1 Kết quả mô phỏng 1 và xử lý số liệu
Để đảm bảo tính khách quan và chính xác của kết quả mô phỏng, tập dữ liệu đã được chia thành 4 tập nhỏ hơn và mỗi mô phỏng được lặp lại 10 lần Việc chia nhỏ dữ liệu và lặp lại mô phỏng giúp khử thiên kiến và sai lệch, đem lại tính tổng quát cho kết quả.
Kết quả tính toán được lưu giữ trong hai ma trận Ma trận C sẽ lưu giữ kết quả của hệ thống không áp dụng giải thuật và ma trận D dùng để lưu trữ kết quả cho trường hợp được áp dụng giải thuật
(5.6) Để xem xét mức độ ảnh hưởng của giải thuật, ta sẽ so sánh giá trị trung bình 𝑡̅ 1 ở
Trong các mô phỏng tại C, kết quả trung bình t̅1 trên 10 lần lặp lại cho mỗi tệp dữ liệu là giống nhau Tương tự, trong các mô phỏng tại D, kết quả của 10 lần lặp lại trên mỗi tệp dữ liệu cũng giống nhau.
Một mặt khác giá trị trung bình 𝑡̅ 1 trên từng bộ dữ liệu kiểm tra trong trường hợp có kết quả như nha Kết quả như trong bảng sau
Bảng 5.4: Thời gian phản hồi trung bình khi không áp dụng giải thuật
Bảng 5.5: Thời gian phản hồi trung bình khi áp dụng giải thuật
65 Để xem xét mức độ hiệu quả của thuật toán, chúng ta so sánh thời gian phản hồi trước và sau khi áp dụng thuật toán Bằng cách lấy tỉ lệ thời gian phản hồi trước và sau khi áp dụng giải thuật
Qua đó ta có bảng 5.6 thể hiện tỉ lệ thời gian phản hồi trung bình trước và sau khi áp dụng giải thuật
Bảng 5.6: Tỉ lệ thời gian phản hồi trung bình sau và trước khi áp dụng giải thuật
Qua bảng 5.4, 5.5 và 5.6, thời gian phản hồi trung bình của AGV giống nhau ở cả
4 trường hợp, sự khác biệt đến từ các bộ dữ liệu và với tệp dữ liệu 1 thì thời gian phản hồi trung bình giảm đi 22,67%, giảm nhiều nhất ở tệp 2 là 24,58%, tệp 3 chỉ giảm 13,91% Trong khi đó với tệp dữ liệu 4 thì thời gian phản hồi trung bình tăng 12,10%
Hình 5.1:Thời gian phản hồi trước khi áp dụng giải thuật (20task/h,tệp 1)
Hình 5.2:Thời gian phản hồi của AGV sau khi áp dụng giải thuật (20task/h,tệp 1)
Mặt khác sự cải tiến còn đến từ việc giảm đi thời gian phản hồi tối đa Trong trường hợp chưa áp dụng giải thuật, thời gian phản hồi tối đa của AGV là 89,7(s) Trong khi đó khi áp dụng giải thuật thì thời gian phản hồi tối đa của từng tệp dữ liệu từ 1 tới 4 là 54,6(s), 50,7(s), 62,4(s) và 81,9(s) Để xem xét mức ảnh hưởng của thời gian phản hồi tối đa, ta cũng xét tỉ lệ thời gian phản hồi tối đa của AGV trước và sau khi áp dụng giải thuật, đối với từng tệp nhiệm vụ khác nhau
Bảng 5.7: Tỉ lệ thời gian phản hồi tối đa
Kết quả mô phỏng 2 và xử lý dữ liệu ở phần này nhằm đánh giá mức độ ảnh hưởng của giải thuật trong tình huống số lượng nhiệm vụ một giờ và số lượng AGV thay đổi, tăng dần từ 3, 6, 9 và 12.
Khi chưa áp dụng giải thuật, thời gian phản hồi trung bình của hệ thống khi tăng dần số lượng nhiệm vụ không có sự thay đổi Với số lượng AGV tăng dần thì thời gian trung bình phản ứng của mỗi AGV có sự thay đổi nhẹ nhưng không đáng kể
Bảng 5.8: Thời gian phản hồi trung bình của AGV khi chưa áp dụng giải thuật
Bảng 5.9: Thời gian phản hồi trung bình khi áp dụng giải thuật
80 26.3109 26.3109 26.3109 26.3109 Để xác định mức độ hiệu quả của giải thuật khi áp dụng vào hệ thống AGV, áp dụng công thức (5.7) Khi áp dụng công thức ta có tỉ lệ thời gian phản hồi trung bình như bảng 5.10
Bảng 5.10: Tỉ lệ thời gian phản hồi trung bình của AGV
Nhận xét và kết luận
Để xem xét tính hiệu quả và minh chứng tính hiệu quả của hệ thống AGV khi áp dụng mô hình dự đoán so với khi chưa áp dụng thì cần phải chứng minh thông qua mô hình mô phỏng Tác giả đã thiết kế hai mô phỏng ở mục 5.2 Ở đây tác giả đã tạo ra một môi trường tốt nhất để áp dụng giải thuật bằng cách hạn chế mọi vấn đề xảy ra và thời gian xuất hiện nhiệm vụ trong các mô phỏng chưa có giống thực tế Do đó hai mô hình mô phỏng kiểm chứng mức độ hiệu quả của mô hình dự đoán tác động lên thời gian phản hồi khi AGV đã chuyển sang trạng thái rảnh rỗi Với mỗi mô hình mô phỏng đều kiểm chứng mức độ hiệu quả khi áp dụng mô hình dự đoán thông gia đại lượng là thời gian phản hồi của AGV Khi có thời gian phản hồi của các AGV trước và sau khi áp dụng giải thuật thì đánh giá dựa trên hai mục tiêu tối ưu là giảm thời gian phản hồi trung bình và giảm thời gian phản hồi tối đa[10] Lấy tỉ lệ thời gian phản hồi trước và sau khi áp dụng mô hình dự đoán và giải thuật để xem xét mức độ ảnh hưởng của mô hình dự đoán Phương pháp mô phỏng được trình bày trong chương 5 chưa hoàn thiện và gần với thực tế, hai mô hình chứng minh được có sự hiệu quả tác động lên thời gian phản hồi khi áp dụng mô hình dự đoán
Thông qua hai thiết kế mô phỏng, đề tài xem xét các yếu tố ảnh hưởng tới thời gian phản hồi của AGV, bao gồm có số lượng nhiệm vụ một giờ, số lượng AGV trong hệ thống và các tệp dữ liệu khác nhau Một mặt khác đề tài so sánh với mô phỏng của [16] nhằm đánh giá một cách chính xác nhất Đối với số lượng nhiệm vụ trong một giờ, thông qua hai mô phỏng cho thấy không có sự ảnh hưởng đến thời gian phản hồi trung bình So sánh với mô phỏng trong [16], số lượng nhiệm vụ mỗi giờ có ảnh hưởng tới thời gian phản hồi lên tới 20 – 30% Mặt khác trong [16] xem xét tới những mạng lưới giao thông khác nhau Đối tượng của [16] nhắm tới đó là thời gian hoàn thành nhiệm vụ, trong khi đề tài xem xét tới thời gian phản hồi trung bình của AGV và thời gian phản hồi tối đa của các
Một yếu tố quan trọng cần xem xét là ảnh hưởng của tập dữ liệu Mặc dù cả hai tập dữ liệu đều được tạo dựa trên cùng một chuỗi Markov, chúng thể hiện kết quả khác nhau Sự khác biệt này là do độ trễ của mỗi tác vụ trong chuỗi và dữ liệu thực tế Sự ảnh hưởng khác nhau của các tập dữ liệu này cho thấy tầm quan trọng của việc lựa chọn mô hình dự đoán thích hợp.
Kết quả nghiên cứu cho thấy số lượng AGV trong hệ thống không ảnh hưởng đáng kể đến thời gian phản hồi trung bình của chúng Sự cải thiện thời gian phản hồi chủ yếu do chuỗi delay_task của toàn bộ chuỗi Markov tương tự như chuỗi delay_task của dữ liệu tham chiếu Điều này cho thấy số lượng AGV không phải là yếu tố quyết định trong việc cải thiện thời gian phản hồi trung bình của AGV trong hệ thống.
Qua các nhận xét trên, sự hiệu quả của giải thuật đến từ mức độ chính xác và hoàn thiện của mô hình dự đoán Ngoài ra, hệ thống khi áp dụng mô hình dự đoán được trình bày như mục 3.3 thì tỉ lệ chính xác 35,44% và có thể giảm thời gian phản hồi đến 24,58%