GIỚI THIỆU
Tính cấp thiết của đề tài
Xu hướng hiện nay của thế giới là hiện đại hóa công nghiệp hóa, gần như hầu hết tất cả các ngành nghề, lĩnh vực đều và đang được phát triển theo hướng tự động hóa giảm thiểu sự can thiệp của con người Ngày nay, rất dễ dàng bắt gặp những công ty đem vào vận hành máy móc, những tay máy hay dây chuyền tự động thay thế cho lao động tay chân của con người để gia tăng năng suất Không nằm ngoài xu thế đó, việc lưu trữ hàng hóa cũng đang từng bước áp dụng tự động hóa vào những công việc lặp đi lặp lại của con người Và việc này đã khá phổ biến ở các nước phát triển như châu Âu, Mĩ, Nhật Bản, … Thậm chí là Trung Quốc, đất nước đang trên đà phát triển khủng khiếp của thế giới, cũng đạt được những thành tựu đáng kể của ngành này Hệ thống lưu trữ và truy xuất tự động đang cách mạng hóa việc lưu kho truyền thống và thực hiện đơn đặt hàng Những tòa nhà ngổn ngang chứa đầy giá đỡ cao, hàng rộng và xe nâng ồn ào đang được thay thế bằng lưới và thùng với robot và máy trạm Có rất nhiều hệ thống nhà kho thông minh khác nhau với mỗi mô hình là một cấu trúc và cách thức lưu trữ riêng biệt Những chủ yếu các hệ thống nhà kho thường được ứng dụng trong diện tích kho bãi lớn Mô hình nhà kho chứa hàng hóa vừa và nhỏ trong các không gian hẹp thì lại rất ít Ở Việt Nam đã có rất ít hệ thống nhà kho thông minh được ứng dụng trong thực tế và hầu như không có các mô hình nhà kho cho hàng hóa vừa và nhỏ để áp dụng cho doanh nghiệp bán lẻ có diện tích kho bãi hẹp Chính vì lý do này nhóm đề xuất ra một mô hình nhà kho thông minh có thể đáp ứng các yêu cầu trên thậm chí tăng khối lượng hàng hóa lưu trữ lên nhiều lần mà không làm tăng diện tích sử dụng và bất chấp cả các biên dạng, hình thù của diện tích Để cho trực quan nhóm chọn lĩnh vực y tế để áp dụng mô hình này mà cụ thể là các kho hoặc tiệm thuốc tây để giúp việc lưu trữ thuốc cũng như lấy thuốc được dễ dàng nhanh chóng, đáp ứng được yêu cầu khách hàng cũng như giảm thiểu các bước phức tạp trong việc tìm kiếm các loại thuốc cần thiết Mô hình sẽ có nhiều robot hoạt động cùng lúc với nhau được điểu khiến bằng máy tính trung tâm để tăng năng suất và độ chính xác cao nhất.
Ý nghĩa khoa học và thực tiễn của đề tài
- Thêm một mô hình nhà kho thông minh mới, góp phần đa dạng trong lĩnh vực này và phát triển đất nước theo hướng công nghiệp hóa hiện đại hóa.
- Mô hình này có thể là đề tài nghiên cứu và phát triển thêm sau này Ý nghĩa thực tiễn:
- Tiết kiệm và tận dụng không gian để làm kho bãi.
- Tăng năng suất trong việc lưu trữ và truy xuất hàng hóa.
- Giúp con người giảm đi chi phí, thời gian và công sức.
- Ứng dụng được ở quy mô doanh nghiệp tư nhân vừa và nhỏ làm thúc đẩy kinh tế.
Mục tiêu nghiên cứu của đề tài
Căn cứ vào những vấn đề được đặt ra ở trên, nhóm đã quyết định đưa ra các mục tiêu chính cho đề tài như sau:
- Thiết kế, chế tạo robot có thể tự động vận hành độc lập.
- Thiết kế, lập trình hệ thống điều khiển tối ưu để vận hành cũng như theo dõi vận hành của robot.
- Lập trình hệ thống máy chủ tính toán các đường đi cho robot và có giao diện để nhận lệnh của người dùng.
- Lập trình hệ thống theo dõi trực quan cơ sở dữ liệu theo dạng 3D.
Đối tượng và phạm vi nghiên cứu
- Robot vận chuyển có thể vận hành linh hoạt, nhanh chóng, giao diện điều khiển dễ tiếp cận cho người sử dụng cũng như là chi phí thiết kế phù hợp.
- Khung đỡ chắc chắn và có thể dễ dàng tháo lắp
1.4.2 Phạm vi nghiên cứu. Ứng dụng đề tài này trong các kho hoặc tiệm thuốc tây để lưu trữ và quản lý các loại thuốc hiệu quả hơn cũng như phục vụ khách hàng nhanh chóng hơn.
Phương pháp nghiên cứu
1.5.1 Cơ sở phương pháp luận
- Phương pháp nghiên cứu tài liệu.
- Phương pháp phân tích tổng hợp.
- Phương pháp thu thập thông tin, dữ liệu.
1.5.2 Các phương pháp nghiên cứu cụ thể
- Phương pháp nghiên cứu tài liệu từ các bài báo khoa học, các bằng sáng chế và các video phân tích trên Internet để phục vụ cho việc tìm kiếm kiến thức.
- Phương pháp phân tích các ưu nhược điểm của từng hệ thống, từng phương án đã được đặt ra Sau đó tổng hợp lại từng thành phần của robot đã được phân tích trước đó thành tổng thể.
- Phương pháp thực nghiệm để vận hành thử hệ thống, kiểm tra, đánh giá để có thể chỉnh sửa và hoàn thiện.
- Phương pháp thu thập thông tin, dữ liệu dùng cho việc lấy thông số để có thể tuning PID từ đồ thị dữ liệu của vận tốc robot Ứng dụng cho việc điều khiển robot.
1.6 Kết cấu của đồ án tốt nghiệp
Nội dụng báo cáo bao gồm 8 chương:
Chương 2 TỔNG QUAN NGHIÊN CỨU ĐÈ TÀI
Chương 3 CƠ SỞ LÝ THUYẾT
Chương 4 PHƯƠNG HƯỚNG VÀ GIẢI PHÁP
Chương 5 TÍNH TOÁN VÀ THIẾT KẾ CƠ KHÍ
Chương 6 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG ĐIỆN ĐIỀU KHIỂN
Chương 7 CHƯƠNG TRÌNH TÌM KIẾM ĐƯỜNG ĐI CHO ROBOT
Chương 8 KẾT QUẢ – ĐÁNH GIÁ
TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI
Giới thiệu
Ở mô hình nhà kho này của nhóm, đây sẽ là một hệ thống nhà kho có hình lưới lập phương có các đường ray ở phía mặt trên Robot chuyển hàng sẽ chạy phía trên các đường ray đó Các thùng chứa hàng sẽ nằm phía trong của từng ô lưới và xếp chồng lên nhau Vị trí của từng thùng hàng sẽ được đánh số chính là vị trí trong hệ tọa độ 3 chiều với các thông số (Dài xRộng x Cao) Khi các robot muốn lấy hàng, nó sẽ thả một cơ cấu gắp từ phía trên của ô chứa hàng rồi gắp thùng hàng lên Sau đó, robot sẽ chạy về các cổng để đưa hàng ra hoặc nhập hàng vào từ chính cổng đó hoàn tất một chu trình làm việc Sẽ có nhiều robot cùng vận hành và được điều hành bởi một máy tính trung tâm giúp tính toán đường đi cho robot và phân chia nhiệm vụ một cách hợp lý.
Kết cấu của hệ thống
Kết cấu của hệ thống bao gồm:
- Robot vận chuyển hàng hóa.
- Khung lưới lập phương có đường ray phía trên đóng vai trò như kho lưu trữ hàng hóa và để robot di chuyển phía trên.
- Hệ thống máy chủ điều khiển và giám sát robot.
Tình hình nghiên cứu trong và ngoài nước
2.3.1 Tình hình nghiên cứu ngoài nước
Trên thế giới hiện nay, rất nhiều nước đã và đang ứng dụng hệ thống lưu trữ tự động. Sau đây là liệt kê vài ví dụ tiêu biểu mà nhóm tìm được:
• Amazon robotics: Như đã biết Amazon là một công ty thương mại điện tử lớn trên thế giới Chính vì thế Amazon đã phát triển một hệ thống nhà kho tự động cho hoạt động giao hàng của mình Họ sử dụng robot tự động di chuyển để lấy và xếp hàng hóa trong nhà kho Các robot này có tên là Amazon Robotic Drive Units (ARDUs).
ARDUs sử dụng một hệ thống bánh xe đa hướng để di chuyển trong không gian nhà kho Hệ thống này cho phép chúng di chuyển dễ dàng và linh hoạt trên các sàn nhà kho Bề mặt làm việc của ARDUs được thiết kế để nâng các kệ và vận chuyển hàng hóa.
• Dematic: Dematic là một công ty chuyên về công nghệ kho hàng, học có kinh nghiệm rất nhiều và đã xây dựng nhiều hệ thống nhà kho tự động cho nhiều khách hàng khác nhau trên thế giới Robot vận chuyển tự động của họ gọi là AGV (Automated Guided Vehicles) Các AGV của Dematic được thiết kế có dạng các xe nâng hạ hàng hóa nhưng có thể di chuyển độc lập và tuân theo lộ trình đã được lập trình trước Chúng còn có khả năng nhận dạng và né vật cản trong quá trình di chuyển của mình.
• Vanderlande: Là công ty cung cấp giải pháp robot tự động cho quá trình sắp xếp hàng hóa Các robot này tên là Robot Sorting có khả năng phân loại và định vị hàng hóa theo yêu cầu, giúp tăng cường hiệu suất và độ chính xác của quá trình sắp xếp. Các robot sử dụng công nghệ thị giác máy tính và hệ thống nhận dạng để xác định và xử lý hàng hóa một cách tự động Cơ cấu và cách di chuyển phức tạp, ứng dụng bánh xe và các cơ cấu nâng hạ khác nhau.
Hình 2 3 Robot Sorting của Vanderlande
• Swisslog Autostore: Đây là một hệ thống robot tự động để quản lý kho hàng Hệ thống này có một cấu trúc đặc biệt là hình lưới lập phương để tổ chức và lưu trữ hàng hóa. Robot lấy và đặt hàng (Rovers) là các robot di động nhỏ gọn có thể lấy được 1 kiện hàng cho mỗi lần thực hiện và được điều khiển tự động Mỗi robot có một bàn làm việc trên đỉnh, được trang bị một hệ thống bánh xe cơ động để di chuyển ngang dọc theo hệ thống Grid.
Hình 2 4 Robot Rovers của Swisslog Autostore
2.3.2 Tình hình nghiên cứu trong nước Ở Việt Nam, việc ứng dụng nhà kho tự động còn khá ít, có thể kể tới:
• Viettel Logistics: Có các hệ thống nhà kho trông giống Amazon Đây là một bước tiến trong việc bắt kịp công nghệ của các nước tiên tiến các robot này được thiết kế và chế tạo trong nước với mục tiêu tăng cường tự động hóa và nâng cao hiệu suất trong quản lý kho hàng và logistics.
Hình 2 5 AGV của Viettel Logistics
• Tập đoàn Kỹ thuật và Công nghiệp Việt Nam InTech Robot AGV: AGV của Vietnam InTech là các robot di chuyển tự động sử dụng trong kho hàng và logistics AGV được trang bị các công nghệ điều khiển tự động và định vị để di chuyển trong không gian kho hàng. Chúng có khả năng phát hiện và tránh vật cản, tuân theo các tuyến đường định sẵn hoặc điều khiển từ xa.
Cách tiếp cận
- Nghiên cứu, tham khảo và tìm hiểu ưu nhược điểm của các mẫu hệ thống đang có ở các nước đi đầu về hệ thống nhà kho tự động cũng như là các hệ thống trong nước để có thể đưa ra những thiết kế phù hợp với nhu cầu của khách hàng nội địa.
- Nghiên cứu các hệ thống điều khiển, giao tiếp đã ứng dụng trong ngành robot để ứng dụng cho đề tài.
- Nghiên cứu về các thuật toán tìm kiếm và tạo đường đi cho robot để ứng dụng vào điều khiển robot.
- Nghiên cứu nhu cầu, khả năng của khách hàng để đưa ra thiết kế phù hợp.
- Tìm hiểu khả năng (về kinh phí, độ phức tạp của mô hình), điều kiện công nghệ chế tạo
Giới hạn đề tài
- Robot di chuyển trên đường ray dạng lưới được thiết kế sẵn.
- Robot có kích thước (Dài × Rộng × Cao): 470mm x 370mm x 485mm
- Khối lượng robot ước tính: 35kg
- Khối lượng tải ước tính tối đa: 3kg
- Vận tốc di chuyển tối đa: 1m/s
- Thời gian hoạt động ước tính: 1h
- Phạm vi hoạt động: Trong các kho hoặc nhà thuốc tây
Kế hoạch thực hiện
- Nghiên cứu hệ thống trong và ngoài nước.
- Đưa ra phương án thiết kế theo nhu cầu thực tế.
- Tính toán chọn động cơ và bộ truyền động.
- Tính toán thiết kế trục (chọn vật liệu, kiểm nghiệm bền).
- Thiết kế khung xe robot, kiểm bền cho khung xe robot.
- Tìm hiểu về động học robot.
- Nghiên cứu và thiết kế các nguyên lý truyền động cho robot.
- Thiết kế mạch điện điều khiển.
- Nghiên cứu, lập trình hệ thống điều khiển robot.
- Thiết kế khung lưới nhà kho.
- Lập trình hệ thống theo dõi dữ liệu nhà kho.
- Lập trình hệ thống truy xuất dữ liệu kho.
- Chế tạo và chạy thử hệ thống.
- Chỉnh sửa và hoàn thiện lại hệ thống.
CƠ SỞ LÝ THUYẾT
Giới thiệu cơ sở lý thuyết
Muốn chế tạo mô hình nhà kho thông mình cấu hình khối lập phương trước tiên ta cần tìm hiểu các kiến thức liên quan đến đề tài Trong quá trình tìm hiểu về các kiến thức cần thiết, nhóm đã phải tìm hiểu về các vấn đề cụ thể như Multi Agent Path Finding, UART, Cơ sở dữ liệu, … Sau đây là trình bày của nhóm về cơ sở lý thuyết mà đã tìm hiểu được.
3.1.1 Thuật toán tìm kiếm đường đi (Multi Agent Path Finding)
Multi Agent Path Finding (MAPF) hay còn gọi là Bài toán tìm đường đi cho đa đối tượng là một vấn đề nghiên cứu nhận được sự quan tâm trong những năm gần đây giới khoa học trên thế giới (Standley 2010; Bartak, ´ Svancara, và Vlk 2018; Cohen ˇ et al 2018a; Li et al 2019) Trong đó, nhiệm vụ của bài toán này là phương pháp lập đường đi cho đa đối tượng mà làm cho các đối tượng đi theo các đường dẫn này không va chạm với nhau và vẫn tới được đích đến mong muốn bằng cách tính toán các đường dẫn chính xác bằng các thuật toán khác nhau Các thuật toán này sẽ tính toán đường đi ban đầu cho robot, sau đó phát hiện các va chạm có thể xảy ra cùng thời điểm để lập ra các đường đi khác có thể tránh được các va chạm tới khi hoàn toàn loại bỏ được các va chạm cho các đối tượng Hãy xem qua một ví dụ về bài toán MAPF.
Hình 3 1 Minh họa bài toán tìm kiếm đường đi
Trong hình trên, ở hình a, hình tròn đại diện cho các đối tượng và đang đứng ở điểm bắt đầu trước khi di chuyển tới điểm đích là các hình vuông Hình tròn và hình vuông cùng màu sẽ tương ứng với điểm bắt đầu và điểm đích của cùng đối tượng Các toán Tiếp theo, khi các đối tượng bắt đầu di chuyển thì chúng có va chạm ngay ở hình c và được khoanh trong vùng màu đỏ, có thể thấy là các đối tượng không thể di chuyển theo đường đi này do chúng đã va chạm với nhau và gây ra xung đột Vì thế, đường đi ở hình d sẽ là hợp lý nhất vì chúng không va chạm hay gây cản trở cho nhau Ở đây là ví dụ chỉ có 3 đối tượng, MAPF sẽ tính toán cho nhiều đối tượng hơn trong những không gian lớn hơn là ví dụ này Đó là cách giải thích khái quát của bài toán MAPF.
Có hai kiểu di chuyển của đối tượng chính trong bài toán này chính là đối tượng di chuyển đa hướng trong không gian và đối tượng di chuyển theo dạng lưới Ở đây ứng dụng trong đề tài của nhóm là cho các đối tượng di chuyển dạng lưới trên các ray của các ô hàng Ngoài đề tài này thì MAPF có một loạt các ứng dụng hiện đại có liên quan bao gồm Phương tiện tự hành, Máy bay không người lái, Kiểm soát không lưu, Người máy, , đặc biệt là Nhà kho tự động.
Chính vì có nhiều ứng dụng khác nhau nên sẽ có nhiều nghiên cứu khác nhau về bài toán này để hướng tới những mục đích khác nhau Do đó, việc nhóm cũng khó tìm thấy được các nghiên cứu liên quan đến các ứng dụng cụ thể cho đề tài của nhóm Các bài toán MAPF đã được nhóm tìm thấy có các phương pháp sau: CBS (Conflict-Based Search), GWAS (Generalized Wavefront Algorithm Search), PPA (Prioritized Planning Algorithms), ICTS (Increasing Cost Tree Search), EPEA* (Enhanced Partial Expansion A*).
Hình 3 2 So sánh các thuật toán tìm kiếm đường đi
Dựa vào so sánh giữa các thuật toán trong bài báo “Conflict-based search for optimal multi-agent pathfinding” của Guni Sharon, Roni Stern, Ariel Felner, Nathan R. Sturtevant, ta thấy được CBS là thuật toán tối ưu và được ứng dụng rộng rãi nhất cho bài toán tìm đường đi dạng lưới nên nhóm chọn thuật toán này để giải quyết vấn đề chọn đường đi của robot Sau đây, chúng ta sẽ đi sâu vào thuật toán này.
CBS là một thuật toán tìm đường đi do Sharon và các cộng sự đề xuất năm 2015. Thuật toán này là một thuật toán hai cấp, được chia thành tìm kiếm cấp cao (High-level searches) và cấp thấp (Low-level searches) Nó dựa trên thuật toán tìm kiếm cấp thấp để tìm kiếm các đường đi ban đầu, sau đó thuật toán sử dụng một cơ chế phát hiện xung đột (Tìm kiếm cấp cao) để giải quyết các xung đột đó Các xung đột có thể bao gồm va chạm trực tiếp giữa các đối tượng, xung đột về tài nguyên, hoặc các ràng buộc hành vi của các đối tượng Bằng cách giải quyết từng xung đột một, CBS tìm kiếm và xây dựng các lời giải tốt nhất cho bài toán tìm đường đi trong môi trường có xung đột. o Tìm kiếm cấp thấp Ở trong đồ án này, nhóm dùng thuật toán tìm kiếm cấp thấp là A * Thuật toán sẽ tìm đường từ 1 nút bắt đầu đến 1 nút đích đến cho trước sao cho chi phí là tốt nhất và số bước duyệt là ít nhất Thuật toán A* ban đầu được thiết kế như một bài toán duyệt đồ thị, để giúp xây dựng một đối tượng có thể tìm đường đi của chính nó Thuật toán này tìm kiếm các đường dẫn ngắn hơn trước, do đó làm cho nó trở thành một thuật toán tối ưu và đầy đủ hơn khi xuất ra kết quả Nó là phần mở rộng của thuật toán đường đi ngắn nhất Dijkstra (Dijkstra's Algorithm). Thuật toán A* cũng sử dụng hàm heuristic cung cấp thông tin bổ sung về khoảng cách từ nút mục tiêu mà đối tượng đang đứng Nó sẽ tìm kiếm qua các nút gần kề của nút hiện tại và chọn nút tiếp theo có giá trị f(x) = g(x) + h(x) nhỏ nhất để tiếp tục tìm kiếm và xử lý nút/ô đó Trong đó, ‘f ', ‘g' và 'h' được định nghĩa là:
- 'g' là khoảng cách cần thiết để đi đến một ô vuông nhất định trên lưới tính từ điểm bắt đầu, đi theo con đường mà thuật toán đã tạo để đến đó.
- 'h' là kinh nghiệm, là ước tính khoảng cách cần thiết để đi đến vạch đích từ ô vuông đó trên lưới.
- ‘f ' là chi phí tổng thể ước lượng của đường đi qua ô vuông hiện tại đến vạch đích.
Còn về Heuristic về cơ bản là những phỏng đoán đã được huấn luyện trước Đối tượng không biết khoảng cách đến điểm kết thúc cho đến khi tìm thấy tuyến đường vì có nhiều vật cản.
1 Khởi tạo danh sách mở.
2 Đặt nút bắt đầu vào danh sách mở (để f của nút này bằng không) Khởi tạo danh sách đóng.
3 Thực hiện các bước sau cho đến khi danh sách mở không còn trống: a Tìm nút có f nhỏ nhất trong danh sách mở và đặt tên là "q". b Xóa q khỏi danh sách mở. c Tạo ra tám nút con của q và đặt q làm nút cha của chúng. d Đối với mỗi nút con: i) Nếu tìm thấy một nút kế nhiệm là mục tiêu, dừng tìm kiếm. ii) Ngược lại, tính toán giá trị g và h cho nút kế nhiệm.
()= ()+ℎ() iii) Bỏ qua nút kế nhiệm này nếu trong danh sách Mở đã có một nút cùng vị trí nhưng có giá trị f thấp hơn nút kế nhiệm. iv) Bỏ qua nút kế nhiệm này nếu trong danh sách Đóng đã có một nút cùng vị trí nhưng có giá trị f thấp hơn; nếu không, thêm nút vào cuối danh sách mở (for loop). e Đưa q vào danh sách đóng và kết thúc vòng lặp while.
Cần phải xác định giá trị chính xác của h:
1 Trước khi sử dụng thuật toán A*, tính toán trước khoảng cách giữa mọi cặp ô.
2 Sử dụng công thức khoảng cách, chúng ta có thể trực tiếp xác định giá trị chính xác của h trong trường hợp không có ô bị chặn hoặc cản trở.
Sau đây để giải thích một cách dễ hiểu hơn về thuật toán A*.
Hình 3 3 Bài toán A* Ở ví dụ trên:
- Số được viết trên các đường thẳng đại diện cho khoảng cách giữa các nút.
- Số được viết trên nút đại diện cho giá trị Heuristics. Đề bài là hãy tìm đường đi có ngắn nhất và có hiệu quả nhất về chi phí từ A đến G Điều này có nghĩa là A là nút bắt đầu còn G là nút đích đến.
Từ A có thể đi đến B hoặc E, vì thế chúng ta có thể tính toán được ( ) của mỗi đường đi như sau:
Có thể thấy di chuyển từ A đến B là ngắn hơn và tiết kiệm chi phí hơn từ
A đến E nên ta chuyển sang nút con là B trước để tính toán ( ) Từ B có thể đi đến C hoặc G, vì thế chúng ta có thể tính toán được ( ) của mỗi đường đi như sau:
Ta thấy được ( ) = 11 khi đi → → Bây giờ hãy xem xét nút con
E xem thế nào Từ E có thể đi đến D và rồi đến G, vì thế chúng ta có thể tính toán được ( ) của đường đi như sau:
So sánh 2 kết quả có thể thấy được đi từ → → → thì ngắn hơn và tiết kiệm chi phí hơn so với đi từ → → Do đó, → →
→ là đường đi tối ưu cho bài toán này. Đó là thuật toán tìm kiếm cấp thấp A* Tiếp theo là giải thích thuật toán thuật toán tìm kiếm cấp cao. o Tìm kiếm cấp cao
PHƯƠNG HƯỚNG VÀ GIẢI PHÁP
Yêu cầu kĩ thuật
- Hệ thống cơ sở dữ liệu lưu trữ: Có thể lưu trữ tất cả thông tin của hàng hóa như thời gian nhập kho, loại hàng hóa, số lượng hàng hóa còn lại,… Và truy xuất để điều khiển hệ thống robot khi cần thiết xuất nhập.
+ Tự động di chuyển khi có hàng hóa nhập kho, xuất kho.
+ Chính xác và liên tục
- Hệ khung chứa lưu trữ hàng hóa:
+ Khung chắc chắn, có thể chịu được tải trọng của xe.
+ Các thùng hàng nằm trong khung được sắp xếp ngay ngắn.
+ Khung có thể lắp ráp được để dễ dàng trong việc vận chuyển.
- Giao diện giao tiếp với người dùng để thực hiện các yêu cầu xuất nhập kho: Giao diện dễ sử dụng, tối ưu cho người dùng Nhiệm vụ là giúp người dùng truy xuất được loại thuốc với số lượng và vị trí để gửi thông tin này cho hệ thống điều khiển nhà kho sau đó hệ thống sẽ thực hiện nhiệm vụ.
Nguyên lý hoạt động
Nhà kho thông minh là một hệ thống có phạm vi rộng, cần phải có những hệ thống thành phần như hệ thống các trạm đưa hàng hóa vào trong kho, hệ thống tự sạc pin cho robot, hệ thống điều khiển robot và phân công nhiệm vụ cho chúng, hệ thống để truy xuất hàng hóa trong kho, hệ thống giám sát thực tế, hệ thống quản lý dữ liệu trong nhà kho,… Trong phạm vi của đồ án này, nhóm chỉ tập trung vào phần hệ thống điều khiển robot và phân công nhiệm vụ cho
24 chúng cũng như một phần đơn giản của hệ thống quản dữ liệu và truy xuất hàng hóa Nguyên lý hoạt động của chúng như sau:
Hàng hóa cụ thể là thuốc sau khi được tìm kiếm trên giao diện người dùng sẽ được truy xuất trên cơ sở dữ liệu rồi sau đó hiển thị số lượng lên giao diện Giao diện sẽ có nút “Thực thi” việc tìm kiếm để người dùng quyết định có thực hiện việc tìm kiếm hay không Sau khi bấm nút “Thực thi”, máy chủ sẽ lấy dữ liệu từ yêu cầu của khách hàng rồi hệ thống máy chủ (máy tính cá nhân) sẽ tính toán đường đi cho robot và chuyển dữ liệu đường đi vào robot Robot sẽ thực thi lệnh lấy hàng và luôn cập nhập vị trí thực lên giao diện người dùng để người dùng có thể giám sát robot Robot sẽ tới vị trí lấy hàng sau đó chuyển hàng về vị trí người nhận kết thúc chu trình làm việc.
Phương án thiết kế và giải pháp thực hiện
4.4.1 Phương án thiết kế và định hình máy
• Phương án thiết kế tổng thể robot
Bảng 4 1 Bảng các phương án thiết kế tổng thể robot
Phương án 1: Thiết kế robot có khoang Phương án 2: Thiết kế robot có khoang chứa hàng bên trong chứa hàng bên ngoài. Ưu điểm: Ưu điểm:
- Tiết kiệm được không gian khi di - Dễ chế tạo. chuyển - Dễ kiểm soát và quản lý hơn.
- Nhiều robot có thể cùng vận hành hơn.
- Dễ dàng xây dựng thuật toán tìm đường đi hơn.
- Khó chế tạo - Chiếm không gian khi di chuyển.
- Ít robot có thể vận hành cùng lúc.
- Xây dựng thuật toán tìm đường đi phức tạp hơn.
- Robot khó chế tạo cân bằng hơn.
• Phương án thiết kế khung lưới lập phương
Bảng 4 2 Bảng các phương án thiết kế khung lưới lập phương
Phương án 1: Thiết kế khung lưới lập Phương án 2: Thiết kế khung lưới lập phương bằng thép hộp phương bằng nhôm định hình. Ưu điểm: Ưu điểm:
- Giá thành rẻ - Dễ gia công chính xác
- Dễ tìm - Có các rãnh bắt ốc sẵn, dễ dàng gá các thanh ray lên.
- Khó gia công chính xác - Giá thành cao.
- Không có các chỗ bắt ốc sẵn để - Khó tìm. gác thanh ray lên.
4.4.2 Phương án xây dựng hệ thống điều khiển
• Phương án xây dựng thuật toán tìm kiếm đường đi
Bảng 4 3 Bảng các phương án xây dựng thuật toán tìm kiếm đường đi
Phương án 1: Xây dựng thuật toán dựa Phương án 2: Xây dựng thuật toán dựa trên phương pháp Trí tuệ bầy đàn trên phương pháp Tìm kiếm đường đi (Swarm Intelligence) cho đa đối tượng (Multi-Agent Path
Planning) Ưu điểm: Ưu điểm:
- Nhiều nguồn kiến thức, dễ tìm - Phù hợp hơn với đề tài. kiếm - Có các nghiên cứu chuyên sâu về
- Có thầy hướng dẫn về lĩnh vực chính vấn đề của đề tài. này.
- Cần phải có sự nghiên cứu và làm - Có khá ít thông tin và bài báo nói việc lâu dài hơn để xây dựng về vấn đề này. thuật toán riêng cho đề tài - Không có sự hướng dẫn từ giáo viên.
• Phương án xây dựng hệ thống điều khiển để robot đến đúng vị trí
Bảng 4 4 Bảng các phương án xây dựng hệ thống điều khiển để robot đến đúng vị trí
Phương án 1: Xây dựng hệ thống điều Phương án 2: Xây dựng hệ thống điều khiển sử dụng PID vị trí kết hợp với khiển sử dụng cảm biến lazer kết hợp với
RFID RFID. Ưu điểm: Ưu điểm:
- Điều khiển được robot tới đúng vị - Dễ thực hiện với phương pháp trí mong muốn đơn giản.
- Không cần lắp đặt thêm thiết bị - Chỉ cần động cơ thường. khác bên trong xe.
- Cần có động cơ encoder - Nhiễu từ ánh xạ kim loại trên
- Khó xây dựng hệ thống điều đường ray. khiển - Cần lắp đặt thêm module bên trong xe.
Lựa chọn giải pháp
Sau khi xem xét nhóm quyết định chọn các phương án như sau.
Bảng 4 5 Bảng lựa chọn phương án
Phương án thiết kế tổng thể robot X
Phương án thiết kế khung lưới lập phương X
Phương án xây dựng thuật
Phương án xây dựng hệ thống điều khiển để robot đến đúng vị trí
TÍNH TOÁN VÀ THIẾT KẾ CƠ KHÍ
Nghiên cứu lựa chọn và thiết kế lại thùng hàng
Sử dụng thùng hàng có sẵn trên thị trường có nhiều ưu điểm:
- Phổ biến và nhiều sự lựa chọn.
- Có sẵn ở các kho hàng lưu trữ, có thể tiết kiệm chi phí.
Sau khi tìm kiếm và thử nghiệm các thùng hàng có sẵn trên thị trường thì nhóm quyết định chọn thùng nhựa B12 làm thùng chứa cho mô hình của mình vì tính phù hợp của thùng nhựa này.
• Chất liệu: BJ355 - nhựa PP nguyên sinh nhập khẩu từ Hanwa Total Hàn Quốc
• Kiểu: Thiết kế từ Nhật Bản
• Có thể xếp chồng lên nhau.
• Màu sắc: Xanh lam, xanh lá, đỏ, vàng, ghi, đen…
Thùng nhựa sẽ được thiết kế lại để có thể gắp và thả bằng cơ cấu gắp thả của robot.
Tính toán, thiết kế hệ thống dẫn động cụm bánh xe ngắn
Sơ đồ 5 1 Sơ đồ truyền động cụm bánh xe ngắn (Hình chiếu đứng)
Sơ đồ 5 2 Sơ đồ truyền động cụm bánh xe ngắn (Hình chiếu bằng)
5.2.1 Công suất và tốc độ trục công tác
- Vật liệu vận chuyển: Thuốc y tế
- Khối lượng tải tối đa mt(kg): 3
Theo thiết kế sơ bộ ta có:
Tổng tải trọng tối đa xe thiết kế: m xe = m tk + m t = 35 + 3 = 38 (kg)
Chọn vận tốc tối đa khi chịu tải của xe là: v t = 2,3 (m/s) o Công suất trên các bánh xe chủ động
Trong đó: v t : Vận tốc tối đa khi chịu tải của xe
: Lực kéo tiếp tuyến ở các bánh xe chủ động
= = 38.9,81 = 372,78 là tổng tải trọng tối đa xe thiết kế. f là hệ số cản lăn, = 0,018 (Chọn mặt đường nhựa thay sắt tiếp xúc với bánh xe cao su).
: Lực cản dốc = 0 vì mặt đường ray không có dốc
: Lực cản không khí = 0 vì xe chạy ở tốc độ thấp nên lực cản không khí có thể bỏ qua
: Lực cản chủ động quán tính
Khi xe chuyển động với tốc độ không ổn định sẽ xuất hiện lực quán tính.
Lực gồm hai thành phần: Lực do chuyển dộng tịnh tiến và lực do chuyển động quay (Chuyển động quay của các động cơ, puly,… Do đại lượng này nhỏ nên có thẻ bỏ qua)
Thay những tính toán trên vào công thức tổng ta có:
= + + + = 6,71 + 0 + 372,78 + 0 = 379,49( ) Đây là trường hợp cực đoan của công suất Trong thực tế, hiếm khi những lực cản này diễn ra cùng lúc Ví dụ như động cơ chạy đều thì bỏ qua lực quán tính Do đó, Lực kéo tiếp tuyến ở các bánh xe chủ động ở trường hợp này tính lại là:
= = 6,71.2,3 = 15,43( ) o Tốc độ quay bánh xe
5.2.2 Chọn động cơ và phân phối tỉ số truyền
- Tỉ số truyền của bộ truyền đai răng 1, chọn đ 1 =2
- Tỉ số truyền của bộ truyền đai răng 2, chọn đ 2 = 3
Tính số vòng quay của động cơ n:
Công suất cần thiết trên trục động cơ:
- : công suất cần thiết trên trục động cơ (kW)
- : công suất tính toán trên trục máy công tác (kW)
Moment trên trục động cơ
Bảng 5 1 Bảng Catalog động cơ
Với moment trên trục động cơ đ = 49,08 và = 4056,84( ℎ ), dựa vào catalog chọn động cơ Servo Motors NF5475 với Encoder
Hình 5 2 Servo Motor NF5475 với Encoder
• Phân phối tỉ số truyền
Dựa trên các sản phẩm bộ truyền đai răng có sẵn trên thị trường và phần tính toán chọn động cơ, ta có thể chọn tỉ số truyền của hệ thống dẫn động như trên:
- Tỉ số truyền của bộ truyền đai răng 1, chọn đ 1 =2
- Tỉ số truyền của bộ truyền đai răng 2, chọn đ 2 = 3 o Số vòng quay trên các trục:
) đ 2 3 ℎú o Công suất trên các trục:
Bảng 5 2 Thông số động học
Trục Động cơ Trục 1 Trục 2
Số vòng quay n (vg/ph) 4057 2028,5 676,17
5.2.3 Tính toán bộ truyền đai răng o Chọn loại đai
Môđun m xác định theo công thức thực nghiệm:
Sử dụng hệ số 35 đối với đai răng thang, 25 đối với đai răng tròn
- đ : Công suất động cơ (kW);
- đ : Số vòng quay động cơ
Dựa trên thông số đai răng gờ hình tròn phổ biến trên thị trường và kết quả tính toán trên, ta chọn loại đai GT2 bước răng 2mm
Bảng 5 3 Bảng thông số đai
Trong đó: Hệ số chiều rộng đai đ= 9
Dựa trên thông số đai răng gờ hình tròn phổ biến trên thị trường và kết quả tính toán trên, ta chọn loại đai GT2 bước răng 2mm rộng 6mm
Chiều rộng nhỏ nhất của răng: S = (1:1,2).m = (1:1,2) = 0,64:0,77 (mm) o Xác định thông số bộ truyền
Với môđun m = 2 và số vòng quay trục dẫn là đ = 4057 kết hợp tham khảo bảng chọn số răng của bánh đai răng nhỏ z 1 = 20, suy ra z 2 = 2.20 = 40
Khoảng cách trục nhỏ nhất: a min = 0,5.(d 1 + d 2 ) + C = 0,5.(12,74 + 25,48) + 2 2 = 20,38(mm)
Trong đó: C =2.m Chiều dài đai ngắn nhất:
Số rằng z p tính theo chiều dài đai ngắn nhất:
Dựa trên kết quả tính toán, thiết kế sơ bộ kết hợp tra bảng, chọn z p = 140
Tính lại chiều dài đai: L p = =
Tính chính xác khoảng cách trục: a =
4 Đường kính vòng chia bánh đai nhỏ: d 1 = m.z 1 2
2 Đường kính vòng chia bánh đai lớn: d 2 = m.z 2 = 40 = 25,48 (mm)
1 = 1 − 2 = 12,74 − 2.0,254 = 12,23 ( ) Đường kính ngoài bánh đai lớn:
Với là khoảng cách từ đáy răng đến đường trung bình của lớp chịu tải.
Số răng đồng thời ăn khớp trên bánh đai nhỏ
Trong đó: Góc ôm trên bánh đai nhỏ 1 = 180 − [ ( 2− 1) ] 57,3 = 173,35 o Kiểm nghiệm đai
Kiểm nghiệm đai về lực vòng riêng:
Khối lượng 1m dây đai với chiều rộng 10mm (Tham khảo thông số nhà sản xuất)
Hệ số tải trọng động đ = 1
Lực vòng riêng cho phép (tham khảo thông số nhà sản xuất)
Hệ số kể đến ảnh hưởng của số răng đồng thời ăn khớp = 1
Hệ số kể đến ảnh hưởng của truyền động tăng tốc = 1
Thỏa mãn điều kiện. o Xác định lực căng ban đầu và lực tác dụng lên trục
Lực căng đai ban đầu:
Lực tác dụng lên trục:
Các thông số của bánh đai răng sử dụng thông số từ nhà sản xuất
Bảng 5 4 Bảng thông số bộ truyền đai răng
Thông số Ký hiệu Giá trị Đơn vị
Công suất trên trục dẫn đ 20,33 (W)
Tốc độ quay trục dẫn đ 4057 (vòng/phút)
Loại đai Đai răng GT2 rộng 6mm Đường kính bánh đai nhỏ 1 12,74 ( ) Đường kính bánh đai lớn 2 25,48 ( )
Lực tác dụng lên trục 1 9 ( )
• Bộ truyền đai răng 2 o Chọn loại đai
Môđun m xác định theo công thức thực nghiệm:
Sử dụng hệ số 35 đối với đai răng thang, 25 đối với đai răng tròn
- 1 : Công suất động cơ (kW);
- 1 : Số vòng quay động cơ
Dựa trên thông số đai răng gờ hình tròn phổ biến trên thị trường và kết quả tính toán trên, ta chọn loại đai GT2 bước răng 2mm.
Bảng 5 5 Bảng thông số đai
Trong đó: Hệ số chiều rộng đai đ = 9
Dựa trên thông số đai răng gờ hình tròn phổ biến trên thị trường và kết quả tính toán trên, ta chọn loại đai GT2 bước răng 2mm rộng 10mm
Chiều rộng nhỏ nhất của răng: S = (1:1,2).m = (1:1,2) 2 = 0,64:0,77 (mm)
Chọn S = 0,7 o Xác định thông số bộ truyền
Với môđun m = 2 và số vòng quay trục dẫn là 1 = 2028,5 kết hợp tham khảo bảng chọn số răng của bánh đai răng nhỏ z 1 = 20, suy ra z 2 = 3.20 = 60
Dựa trên các sản phẩm phổ biến trên thị trường kết hợp thiết kế sơ bộ chọn đai có chiều dài 1000mm
41 Đường kính vòng chia bánh đai nhỏ: d 1 = m.z 1 = 2 20 = 12,74 (mm)
2 Đường kính vòng chia bánh đai lớn: d 2 = m.z 2 = 60 = 38,22 (mm)
1 = 1 − 2 = 12,74 − 2.0,254 = 12,23 ( ) Đường kính ngoài bánh đai lớn:
Với là khoảng cách từ đáy răng đến đường trung bình của lớp chịu tải. o Kiểm nghiệm đai
Kiểm nghiệm đai về lực vòng riêng:
Khối lượng 1m dây đai với chiều rộng 10mm (Tham khảo thông số nhà sản xuất)
Hệ số tải trọng động đ = 1
Lực vòng riêng cho phép (tham khảo thông số nhà sản xuất) [ 0 ] = 4,37 (N/mm)
Hệ số kể đến ảnh hưởng của số răng đồng thời ăn khớp = 1 Hệ số kể đến ảnh hưởng của truyền động tăng tốc = 1
Thỏa mãn điều kiện. o Xác định lực căng ban đầu và lực tác dụng lên trục Lực căng đai ban đầu:
Lực tác dụng lên trục:
Các thông số của bánh đai răng sử dụng thông số từ nhà sản xuất
Bảng 5 6 Bảng thông số bộ truyền đai răng
Thông số Ký hiệu Giá trị Đơn vị
Công suất trên trục dẫn P 1 19,12 (W)
Tốc độ quay trục dẫn n 1 2028,5 (vòng/phút)
Loại đai Đai răng GT2 rộng 10mm Đường kính bánh đai nhỏ d 1 12,74 (mm) Đường kính bánh đai lớn d 2 38,22 (mm)
Lực tác dụng lên trục F r2 15 (N)
Tính toán, thiết kế hệ thống dẫn động cụm bánh xe dài
Sơ đồ 5 3 Sơ đồ truyền động cụm bánh xe dài (Hình chiếu đứng)
Sơ đồ 5 4 Sơ đồ truyền động cụm bánh xe dài (Hình chiếu bằng)
5.3.1 Công suất và tốc độ trục công tác
(Cùng thông số đầu vào với cụm bánh xe ngắn)
(Tương tự phần tính toán công suất và tốc độ trục công tác của cụm bánh xe ngắn)
5.3.2 Chọn động cơ và phân phối tỉ số truyền
- Tỉ số truyền của bộ truyền đai răng 1, chọn đ 1 =2
- Tỉ số truyền của bộ truyền đai răng 2, chọn đ 2 = 3
Tính số vòng quay của động cơ n:
Công suất cần thiết trên trục động cơ:
- : công suất cần thiết trên trục động cơ (kW)
- : công suất tính toán trên trục máy công tác (kW)
Moment trên trục động cơ
Bảng 5 7 Bảng thông số Servo Motors NF5475 với Encoder
Với moment trên trục động cơ đ = 50,45 và = 4056,84( ℎ ), dựa vào catalog chọn động cơ Servo Motors NF5475 với Encoder
• Phân phối tỉ số truyền
Dựa trên các sản phẩm bộ truyền đai răng có sẵn trên thị trường và phần tính toán chọn động cơ, ta có thể chọn tỉ số truyền của hệ thống dẫn động như trên:
- Tỉ số truyền của bộ truyền đai răng 1, chọn đ 1 =2
- Tỉ số truyền của bộ truyền đai răng 2, chọn đ 2 = 3 o Số vòng quay trên các trục:
3 o Công suất trên các trục:
Bảng 5 8 Thông số động học
Trục Động cơ Trục 1 Trục 2
Số vòng quay n (vg/ph) 4057 2028,5 676,17
5.3.3 Tính toán bộ truyền đai răng
• Bộ truyền đai răng 1 o Chọn loại đai
(Tính toán bộ truyền tương tự như trong cụm bánh xe ngắn.)
Dựa trên thông số đai răng gờ hình tròn phổ biến trên thị trường và kết quả tính toán trên, ta chọn loại đai GT2 bước răng 2mm rộng 6mm
Chiều rộng nhỏ nhất của răng: S = (1:1,2).m = (1:1,2) 2 = 0,64:0,77 (mm) Chọn S = 0,7 o Xác định thông số bộ truyền
Với môđun m = 2 và số vòng quay trục dẫn là đ = 4057 kết hợp tham khảo bảng chọn số răng của bánh đai răng nhỏ z 1 = 20, suy ra z 2 = 2.20 = 40
Khoảng cách trục nhỏ nhất: a min = 0,5.(d 1 + d 2 ) + C = 0,5.(12,74 + 25,48) + 2 2 = 20,38(mm)
Trong đó: C =2.m Chiều dài đai ngắn nhất:
Số rằng z p tính theo chiều dài đai ngắn nhất:
Dựa trên kết quả tính toán, thiết kế sơ bộ kết hợp tra bảng, chọn z p = 140 Tính lại chiều dài đai: L p = = 2 100 = 200 mm
Tính chính xác khoảng cách trục: a = (λ + √λ 2 − 8Δ 2 ) 4
4 Đường kính vòng chia bánh đai nhỏ: d 1 = m.z 1 2
2 Đường kính vòng chia bánh đai lớn: d 2 = m.z 2 = 40 = 25,48 (mm)
1 = 1 − 2 = 12,74 − 2.0,254 = 12,23 ( ) Đường kính ngoài bánh đai lớn:
Với là khoảng cách từ đáy răng đến đường trung bình của lớp chịu tải
Số răng đồng thời ăn khớp trên bánh đai nhỏ
Trong đó: Góc ôm trên bánh đai nhỏ 1 = 180 − [ ( 2− 1) ] 57,3 = 173,35 o Kiểm nghiệm đai
Kiểm nghiệm đai về lực vòng riêng:
Khối lượng 1m dây đai với chiều rộng 10mm (Tham khảo thông số nhà sản xuất)
Hệ số tải trọng động đ = 1
Lực vòng riêng cho phép (tham khảo thông số nhà sản xuất)
Hệ số kể đến ảnh hưởng của số răng đồng thời ăn khớp = 1
Hệ số kể đến ảnh hưởng của truyền động tăng tốc = 1
Thỏa mãn điều kiện. o Xác định lực căng ban đầu và lực tác dụng lên trục
Lực căng đai ban đầu:
Lực tác dụng lên trục:
Các thông số của bánh đai răng sử dụng thông số từ nhà sản xuất
Bảng 5 9 Bảng thông số bộ truyền đai răng
Thông số Ký hiệu Giá trị Đơn vị
Công suất trên trục dẫn đ 20,73 (W)
Tốc độ quay trục dẫn đ 4057 (vòng/phút)
Loại đai Đai răng GT2 rộng 6mm Đường kính bánh đai nhỏ 1 12,74 ( )
50 Đường kính bánh đai lớn 2 25,48 ( )
Lực tác dụng lên trục 1 9 ( )
• Bộ truyền đai răng 2 o Chọn loại đai
(Tính toán và lựa chọn tương tự với bộ truyền đai răng 1)
Dựa trên thông số đai răng gờ hình tròn phổ biến trên thị trường và kết quả tính toán trên, ta chọn loại đai GT2 bước răng 2mm rộng 10mm
Chiều rộng nhỏ nhất của răng: S = (1:1,2).m = (1:1,2) 2 = 0,64:0,77 (mm) Chọn S = 0,7 o Xác định thông số bộ truyền
(Tính toán tương tự với hệ thống dẫn động cụm bánh xe ngắn)
Ta có các thông số tương tự: Đường kính vòng chia bánh đai nhỏ: d 1 = 12,74 (mm) Đường kính vòng chia bánh đai lớn: d 2 = 38,22 (mm) Đường kính ngoài bánh đai nhỏ: 1 = 12,23 ( ) Đường kính ngoài bánh đai lớn: 2 = 37,71 ( ) o Kiểm nghiệm đai
(Tính toán tương tự với hệ thống dẫn động cụm bánh xe ngắn) Ta cũng có:
Thỏa mãn điều kiện. o Xác định lực căng ban đầu và lực tác dụng lên trục
(Tính toán tương tự với hệ thống dẫn động cụm bánh xe ngắn)
Bảng 5 10 Bảng thông số bộ truyền đai răng
Thông số Ký hiệu Giá trị Đơn vị
Công suất trên trục dẫn P 1 19,12 (W)
Tốc độ quay trục dẫn n 1 2028,5 (vòng/phút)
Loại đai Đai răng GT2 rộng 10mm Đường kính bánh đai nhỏ d 1 12,74 (mm) Đường kính bánh đai lớn d 2 38,22 (mm)
Lực tác dụng lên trục F r2 15 (N)
Tính toán, thiết kế cụm cơ cấu nâng hạ bánh xe
5.4.1 Phương án thiết kế cơ cấu bánh xe
Robot sẽ di chuyển theo hai phương vuông góc nên khi đổi chiều chuyển động, 4 bánh chuyển động theo chiều ngược lại sẽ được nâng lên.
Hình 5 3 Cụm cơ cấu nâng hạ bánh xe
Sơ đồ 5 5 Sơ đồ truyền động cụm cơ cấu nâng hạ bánh xe
- Vật liệu vận chuyển: Thuốc y tế
- Khối lượng tải tối đa mt(kg): 3
Khi động cơ xoay, đai răng tịnh tiến theo chiều ⃗ đ , đai răng tác dụng 1 lực ⃗ lên vòng bi khiến vòng tịnh tiến trên hành trình cam cùng chiều ⃗ đồng thời cụm bánh xe ngắn sẽ tịnh tiến cùng chiều ⃗⃗ Cùng thời điểm đó cụm bánh xe dài sẽ tịnh tiến ngược chiều cụm bánh xe ngắn và toàn bộ tải trọng của xe sẽ dồn về 4 bánh xe của cụm bánh xe ngắn.
Sơ đồ đặt lực minh họa cơ cấu cam nâng hạ cụm bánh xe ngắn:
Sơ đồ 5 6 Sơ đồ đặt lực minh họa cơ cấu cam nâng hạ cụm bánh xe ngắn
Sơ đồ đặt lực minh họa cơ cấu cam nâng hạ cụm bánh xe dài:
Sơ đồ 5 7 Sơ đồ đặt lực minh họa cơ cấu cam nâng hạ cụm bánh xe dài
Theo thiết kế sơ bộ ta có:
Tổng khối lượng tối đa xe thiết kế: m xe = 38 (kg)
Khối lượng chi tiết cam, các chi tiết định vị cam và bánh xe: m n = 6 (kg)
Khối lượng mỗi lần nâng hạ bánh xe: m = m xe – m n = 38 – 6 = 32 (kg)
Lực ma sát có ích (giữ cho bánh xe k bị lệch khỏi khung) tác dụng lên khung xe (nhôm định hình v-slot):
- f là hệ số cản lăn, = 0,018 (Chọn bánh xe cao su tiếp xúc với nhựa thay thế nhôm).
- N là lực tác dụng của bánh xe v-slot lên khung (8 bánh xe v-slot), có trị số phụ thuộc vào dung sai chi tiết và dung sai lắp ghép, chọn N= 160 ( )
Lực kéo của đai răng cùng phương hành trình cam:= đ cos(16)
Lực kéo của đai răng tác dụng lên cụm bánh xe ngắn đ 1 (N)
Trọng lực mỗi lần nâng hạ tác dụng cùng phương hành trình cam:
Lực ma sát lăn của vòng bi tác dụng lên bề mặt cam:
:Góc nghiêng rãnh cam, = 16°
Lực kéo của đai răng tác dụng lên cụm bánh xe dài đ 2 (N)
Lực ma sát giữa vòng bi và cam
Trọng lực chi tiết cam, các chi tiết định vị cam và bánh xe tác dụng theo phương ngang:
Do đó: Lực kéo của đai răng tác dụng lên cơ cấu nâng hạ bánh xe: đ = đ 1 + đ 2 > 96,48 + 18,73 = 115,21 ( )
Chọn vận tốc nâng hạ bánh của xe là: t = 0,005 (m/s)
Suy ra: vận tốc vòng bi là:
Công suất tại các vòng bi
Tốc độ quay cam bị dẫn á ℎ =
5.4.3 Chọn động cơ và tỉ số truyền
- đ - tỉ số truyền của bộ truyền đai răng, chọn đ = 1
Tính số vòng quay của động cơ n:
Công suất cần thiết trên trục động cơ động cơ: đ 4,2
- : công suất cần thiết trên trục động cơ (kW)
- : công suất tính toán trên trục công tác (kW)
Moment trên trục động cơ
Với Moment trên trục động cơ 1664,02 (Nmm) và = 35( ℎ ), kết hợp các sản phẩm thông dụng trên thị trường, chọn động cơ JGB37-520 12VDC 60RPM
Bảng 5 11 Bảng thông số kỹ thuật động cơ JGB 37-520
Bảng 5 12 Thông số động học
Tính toán, thiết kế cụm cơ cấu nâng hạ thùng, kẹp thùng
5.5.1 Cụm cơ cấu nâng hạ thùng
Sơ đồ 5 8 Sơ đồ truyền động cụm cơ cấu nâng hạ thùng hàng
Hình 5 4 Cụm cơ cấu nâng hạ thùng
Cơ cấu có chức năng quấn dây có buộc khung của cơ cấu kẹp giữ thùng và kéo thả Bốn dây được mắc theo cặp chéo nhau để khi trục quay theo một phương thì cả bốn dây có thể đồng loạt đi lên hoặc xuống Cơ cấu sử dụng động cơ Nema23 và bộ truyền động là đai răng.
Sơ đồ 5 9 Sơ đồ phân tích lực tác dụng lên trục nâng hạ
Ta có khôi lượng tải = 1 + 2 = 3 + 3 = 6 , bán kính pulley quấn dây 1 = 12,5 , bán kính pulley GT2 của trục 2 = 12,8 có số răng 1 = 40, bán kính pulley trục động cơ 3 = 6,11 có số răng 2 = 20 Tốc độ thả thùng hàng = 0,5 /
• Tính toán lực và vận tốc động cơ
Ta có momen tổng tác dụng lên trục:
Tỉ số truyền của pully trục và pully động cơ như sau:
Vận tốc góc của trục:
Vận tốc góc của động cơ: Độ ơ = = 40.2 = 80 /
Số vòng quay của động cơ trong một giây (tần số quay):
Ta có thông số động cơ Nema23 2.4 Amp như sau:
Bảng 5 13 Bảng thông số động cơ
Momen của động cơ là 64Ncm > M2 = 36,75
• Tính toán bộ truyền đai răng
Sơ đồ 5 10 Mô tả bộ truyền đai GT2 o Chọn Pulley
Dựa vào điều kiện làm việc không quá khắt khe nên nhóm chọn Puly và dây đai như sau:
- Puly GT2 20 răng đường kính trục 6.35mm.
- Puly GT2 40 răng đường kính trục 8mm.
- Dây đai vòng GT2 200mm.
Tính toán khoảng cách giữa hai trục (tâm pulley)
Với: L: chiều dài dây đai GT2. a: khoảng cách tâm của 2 puly d1: đường kính puly 1 (pulley trục động cơ) d2: đường kính puly 2 (pulley trục cơ cấu)
5.5.2 Cụm cơ cấu kẹp thùng
Cụm cơ cấu nâng hạ thùng bao gồm hai cơ cấu Cơ cấu kẹp giữ thùng có nhiệm vụ cố định thùng, thông qua hệ thông đòn bẫy và động cơ truyền động, các gờ và trục để cố định thùng, giúp cho cơ cấu đòn bầy có thể kẹp được chính xác Cơ cấu nâng hạ bao gồm hệ thống các ròng rọc, đai và động cơ bước, có nhiệm vụ thả dây, nâng hạ thùng.
Hình 5 5 Cụm cơ cấu kẹp thùng Ở góc của cơ cấu có 4 đầu vít được sử dụng để định vị trí của thùng từ đó cơ cấu kẹp có thể kẹp chính xác vào vị trí của thùng hàng.
Hình 5 6 Chi tiết cơ cấu kẹp thùng
Cơ cấu (A) Cơ cấu gồm bốn thanh được vát nhọn ở đầu, cố định ở bốn góc của thùng Cơ cấu giúp định vị thùng chính xác để cho các ờ ở bốn cạnh của cơ cấu không bị lệch Mép của tấm đỡ cơ cấu được gập một góc 85 độ, để áp vào méo thùng.
Cơ cấu (B) được 2 động cơ servo đẩy thông qua 2 trục để kẹp lại hoặc thả thùng.Đòn bẫy gồm 2 mảnh: đực và cái Khi tác dụng lực từ trục từ phải sang trái, hai mảnh khớp nhau và kẹp lại.
Hình 5 7 Bộ truyền động kẹp
Cơ cấu bao gồm 2 động cơ, 2 trục ỉ5 và cỏnh tay đũn để dẩn động từ động cơ đến trục ỉ5 Động cơ xoay tỏc động lực lờn cỏnh tay đũn dẫn động đến đũn bẫy.
Hình 5 8 Phân tích góc xoay động cơ
• Tính góc xoay động cơ
Ta có OA = 15mm, AB = 36mm, CO = 35.14mm, BC = 9.25mm, △L = 4mm Ở trạng thái ban đầu cạnh L1 vuông góc với phương ngang nên: ̂ = ̂ °
Khi dịch chuyển điểm B sang phải 1 đoạn có chiều dài là △L thì ta có được hình mới như sau:
Sơ đồ 5 11 Mô hình động học góc xoay động cơ
Xét tam giác vuông BDO vuông tại D:
Ta có góc ở trường hợp 2: =+= 16.365 + 89.6 = 105.965° ̂ ̂ ̂
Vậy góc xoay của động cơ là: ̂ ̂
TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG ĐIỆN ĐIỀU KHIỂN
Cụm cơ cấu kẹp giữ và nâng hạ thùng hàng
6.2.1 Sơ đồ khối điều khiển
Sơ đồ 6 1 Sơ đồ khối cụm cơ cấu kẹp giữ và nâng hạ thùng hàng
Cụm cơ cấu kẹp giữ và nâng hạ thùng bao gồm: hai RC servo SG90 được sử dụng để kẹp giữ thùng, Động cơ bước Nema23 được dùng làm dẫn động cho cơ cấu kéo thả thùng, cơ cấu sử dụng công tắt hành trình để phản hồi vị trí trong quá trình nâng hạ thùng.
6.2.2 Phần cứng và tính toán
66 o Thông số kỹ thuật của động cơ SG90:
Bảng 6 1 Thông số kỹ thuật của động cơ SG90
Tốc độ vận hành 0.1s/60 degree Điện áp vận hành 4.8 V
Vị trí và xung điều khiển “0°”(1.5 ms pulse); “90°”(2 ms pulse) ;
“-90°”(1 ms pulse) o Tính toán xung điều khiển động cơ:
Tần số xung PWM của vi điều khiển:
Với: F TimerClock : tần số xung clock timer
Prescaler: bộ chia trước CouterPeriod: chu kì đếm Để tạo ra xung 50Hz điều khiển RC servo Prescaler = 159, CouterPeriod = 999.
Góc kẹp và mở của cơ cấu kẹp: = 50° giá trị xung để tạo ra tín hiệu được tính như sau là 1.7777 ms Giá trị để tạo ra độ rộng xung PWM điều khiển COMPARE = 89.
Hình 6 2 Động cơ bước Nema23 o Thông số kỹ thuật của Động cơ bước Nema23 :
Bảng 6 2 Thông số kỹ thuật của Động cơ bước Nema23
Mômen xoắn giữ (Holding torque) 64 Ncm
Mômen xoắn giữa các bước (Detent 2.7 Ncm
Vị trí và xung điều khiển “0°”(1.5 ms pulse); “90°”(2 ms pulse) ;
Hình 6 3 Biểu đồ thể hiện mối quan hệ giữa mômen xoắn và tốc độ động cơ
Từ biểu đồ trên cho thấy nên mômen xoắn của động cơ sẽ giảm khi tăng tốc độ. Động cơ được điều khiển với tốc độ cố định bằng xung PWM có tần số được tính như sau (với Prescaler = 7, CouterPeriod = 999, F F TimerClock = 8000000) :
Tốc độ động cơ ở chế độ Full step với PPR = 200 (Pulse per Round: là số xung cần thiết để động cơ quay được một vòng): ω =
= 5 = 300 step Ở mức tốc độ 300 RPM motor đạt mômen xoắn cao nhất.
• Mạch điều khiển động cơ bước A4988
Mạch điều khiển A4988 có kích thước nhỏ gọn, hỗ trợ nhiều chế độ (full-step, half-step, quarter-step, eighth-step, và sixteenth-step), có thể điều chỉnh dòng ra và tự động ngắt khi quá nhiệt.
Thông số kỹ thuật của A4988:
Bảng 6 3 Thông số kỹ thuật của A4988
Nhiệt độ môi trường hoạt động -20 đến 85 Để thuận tiện lắp đặt sử dụng kết hợp với mạch ra chân dành cho A4988:
Sơ đồ 6 2 Sơ đồ kết nối A4988 Module
Chân STEP, DIR, ENABLE được nối với vi điều khiển, STEP là chân cấp xung, DIR là chân quy định chiều quay, chân ENABLE nếu ở mức LOW thì module được bật.
6.2.3 Lưu đồ giải thuật điều khiển
Begin current_state = PICK_UP
Nếu change_flag = true state_stm = Init True change_flag = 0 state_stm = CLOSE_GRIPPER False state_stm =
Step_down state_stm = Đến khi chạm công tắt
RELEASE_STEP target_state_stm = OPEN_GRIPPER False
Nếu cnt>= 200 state_stm = Pending True
Chuyển đến target_state_stm
OPEN_GRIPPER target_state_stm = ROLL_STEP False
Step_up state_stm = ROLL_STEP True Nếu chạm công tắt state_stm = STOP_STEP
False state_stm = STOP_STEP True
Stop_Step state_stm = Init
Sơ đồ 6 3 Lưu đồ giải thuật điều khiển cụm cơ cấu kẹp và nâng hạ thùng hàng
Khi robot đến vị trí cần thiết, một tín hiệu được gửi để kích hoạt quá trình gấp thùng.
Quá trình này được thực hiện thông qua các bước sau:
- Bước 1: Đóng đầu kẹp - Robot đóng đầu kẹp để khi cơ cấu đi xuống, đầu kẹp rơi chính xác vào lỗ của thùng.
- Bước 2: Hạ cơ cấu xuống - Robot sử dụng động cơ step để điều khiển cơ cấu hạ xuống cho đến khi chạm công tắt hành trình.
- Bước 3: Gắp thùng - Sau khi cơ cấu chạm công tắt hành trình, đầu kẹp gắp vào thùng và đợi trong 2 giây.
- Bước 4: Nâng cơ cấu lên - Sau 2 giây, robot nâng cơ cấu lên trở lại.
- Bước 5: Kiểm tra công tắt hành trình - Robot kiểm tra và dừng động cơ step khi cơ cấu chạm vào công tắt hành trình Sau đó, quá trình chuyển về trạng thái "init" để chờ quá trình tiếp theo.
Quy trình thả thùng hàng cũng tương tự với quy trình gấp thùng nhưng bước đóng đầu kẹp và kẹp thùng được đổi cho nhau.
Cụm cơ cấu nâng hạ bánh xe
6.2.1 Sơ đồ khối điều khiển
Sơ đồ 6 4 Sơ đồ khối điều khiển cụm cơ cấu nâng hạ bánh xe
Cụm cơ cấu sử dụng động cơ hộp số DC 12V GB37 được điều khiển thông qua module L297N và qua hệ thống đai để nâng hạ bánh xe giúp cho robot có thể chuyển đổi trục di chuyển Cơ cấu được bố trí công tắt hành trình để hồi tiếp vị trí.
Nếu robot cần di chuyển theo trục x đầu tiên cần phải nâng hai bánh xe ở trục y lên và đồng thời hạ hai bánh xe của trục x xuống Nêu hàm điều khiển nhận được đầu
72 vào là Move_x động cơ sẽ quay chiều thuận và ngược lại, thông qua hệ thống dai và rãnh trượt để nâng bánh xe ở trục y lên và hạ bánh xe trục x xuống công tắt hành trình được bố trí khi bánh xe được nâng hạ hoàn toàn sẽ chạm công tắt.
6.2.2 Phần cứng và tính toán
• Mạch điều khiển động cơ DC L298N
Hình 6 5 Mạch điều khiển động cơ L298N o Thông số kỹ thuật L298N
Bảng 6 4 Thông số kỹ thuật L298N
Nguồn Logic V ss Tối đa 7V
Dòng điện lặp lại với thời gian bật tắt 2.5A
Dòng điện khi vận hành liên tục 3A
Nhiệt độ hoạt động -25 đên -30°C
Sơ đồ kết nối mạch L298N với vi điều khiển STM23F411
Sơ đồ 6 5 Sơ đồ kết nối mạch điều khiển L298N
Kết nối chân in1, in2 và E của module L298N với GPIO_PIN của vi điều khiển.
Bảng 6 5 Tín hiệu điều khiển ứng với từng trạng thái động cơ.
Trang thái động cơ In1 In2 E
Quay thuận HIGH LOW HIGH
Quay nghịch LOW HIGH HIGH
6.2.3 Lưu đồ giải thuật điều khiển
Sơ đồ 6 6 Lưu đồ giải thuật điều khiển cụm cơ cấu nâng hạ bánh xe
Chương trình bắt đầu từ trạng thái init, nơi không có hoạt động nào được thực hiện Tiếp theo, nếu state = move_x chương trình chuyển sang trạng thái move_x Trong trạng thái này, hướng quay của động cơ được đặt để di chuyển theo trục x, và tín hiệu PWM cũng được thiết lập để đáp ứng yêu cầu di chuyển Kiểm tra xem công tắt hành trình của trục x (LSwitch_x) có hoạt động không Nếu nó hoạt động, chương trình chuyển sang trạng thái Stop Trong trạng thái Stop, các bánh xe trục x và trục y được đặt lại thành trạng thái không hoạt động, tín hiệu PWM cũng được đặt lại thành giá trị dừng Và tương tự với trục y Sau khi hoàn thành, chương trình quay trở lại trạng thái ban đầu init và lặp lại quá trình.
Cụm động cơ Servo motor trục x và trục y
6.3.1 Sơ đồ khối điều khiển
Sơ đồ 6 7 Sơ đồ khối điều khiển cụm động cơ Servo motor trục x và trục y
Sử dụng mạch cầu H BTS7960 để điều khiển động cơ Servo Nisca NF5475, sử dụng bộ điều khiển PID với tín hiệu hồi tiếp từ encoder để điều khiển vị trí động cơ.
6.3.2 Phần cứng và tính toán
• Mạch điều khiển động cơ MKS H2407ND
Hình 6 6 Mạch điều khiển động cơ MKS H2407ND
Bảng 6 6 Thông số kỹ thuật MKS H2407ND
Dòng điện khi vận hành liên tục tối đa 50A
Mạch điều khiển động cơ MKS H2407ND là một module điều khiển động cơ
DC kép có khả năng chịu được dòng điện vào cao lên đến 7A trên mỗi kênh đầu ra Sử dụng các cổng logic tương tự L298N và cũng có cách điều khiển giống với L298N.
• Động cơ Servo Nisca NF5475 Động cơ Nisca NF5475 được dùng nhiều trong các ứng dụng robot và công nghiệp, động cơ có độ chính xác cao nhờ vào encoder có độ phân giải 200 xung/vòng.
Hình 6 7 Động cơ Servo Nisca NF5475 o Thông số động cơ Nisca NF5475:
Bảng 6 7 Thông số động cơ Nisca NF5475
Tốc độ không tải 4884 RPM
Momen xoắn Khởi động 506.57 mN.m
Thông số encoder của động cơ Nisca NF5475:
Bảng 6 8 Thông số encoder của động cơ Nisca NF5475 Độ phân giải 200 PPR
Encoder được đọc bằng mode encoder được tính hợp sẵn trong vi điều khiển STM32F411RE, bộ đếm của timer là 16 bit, có nghĩa là khi giá trị xung ghi nhận đến
65535 giá trị thì sẽ bị tràn bộ nhớ, vì vậy cần phải có thuật toán để xử lý.
Hình 6 8 Minh họa việc đọc xung encoder
Như hình trên có các hợp xảy ra như sau: trường hợp động cơ quay thuận giá trị trước lớn hơn giá trị sau chưa tràn thanh ghi, giá trị trước nhỏ hơn giá trị sau thanh ghi đã bị tràn; trường hợp động cơ quay nghịch giá trị trước nhỏ hơn giá trị sau thì chưa tràn thanh ghi, giá trị trước lớn hơn giá trị sau, thanh ghi bị tràn. Để kiểm soát hiện tượng trên đầu tiền cần xác đinh số xung tối đa mà thu được trong khoảng thời gian lấy mẩu.
Số xung tối đa đọc được trong thời gian lấy mẫu 10ms là ≈ 138
6.3.3 Lưu đồ giải thuật điều khiển
• Lưu đồ giải thuật đọc encoder:
(Current_data – Pre_data) >= 0 True
(Current_data – Pre_data) < 0 True
DeltaPulse = Current_data – Pre_data
DeltaPulse = Current_data – Pre_data
DeltaPulse = Current_data – Pre_data - 65536
DeltaPulse = Current_data – Pre_data + 65536
Sơ đồ 6 8 Lưu đồ giải thuật đọc encoder
• Giải thích lưu đồ: Đầu tiên xét điều kiện giá trị hiện tại trừ cho giá trị trước nếu lớn hơn 0 thì xét đến điều kiện tiếp theo, nếu giá trị hiện tại trừ cho giá trị trước bé hơn MaxPulse thì động cơ quay thuận và timer chưa tràn, nếu giá trị hiện tại trừ cho giá trị trước lơn hơn MaxPulse thì timer đã tràn và động cơ quay nghịch, vì vậy DeltaPulse = Current_data – Pre_data – 65536 Nếu giá trị hiện tại trừ cho giá trị trước nếu lớn hơn 0 xét điều kiện
79 tiếp theo -(Current_data – Pre_data) MaxPulse động cơ quay thuận và timer bị tràn khi đó DeltaPulse Current_data – Pre_data + 65536.
Cụm vi điều khiển đọc Vị trí và giao tiếp với máy tính
Sơ đồ 6 9 Sơ đồ kết nối cụm vi điều khiển đọc Vị trí và giao tiếp với máy tính
6.4.2 Phần cứng và tính toán
Raspberry Pi 3 là một board máy tính đơn nhỏ, giá rẻ, kích thước nhỏ gọn, tiết kiệm điện năng thuộc Raspberry Foundation Nó bao gồm CPU, GPU, cổng USB và các chân I/O và có khả năng thực hiện các chức năng như một máy tính thông thường. o Thông số kỹ thuật:
- SoC: Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1,4 GHz
- Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
- Khe cắm thẻ Micro SD
- Hỗ trợ Power-over-Ethernet (PoE) o Nhiệm vụ:
Trong đồ án trên, nhóm sẽ sử dụng raspberry như một máy tính điều khiển của robot vận chuyển vì tác vụ của máy tính điều khiển này không quá nặng (Các tác vụ tính toán đường đi đã được xử lý trên máy tính trung tâm) Chức năng của nó sẽ là: giao tiếp với máy chủ trung tâm để nhận nhiệm vụ và phản hồi vị trí của robot lên máy chủ; xử lý dữ liệu nhận từ máy chủ và truyền dữ liệu đã qua xử lý xuống STM32 để chạy các cơ cấu có thể vận hành robot, đóng vai trò như một bộ xử lý điều hành các hoạt động của robot.
Sơ đồ chân: Đây là 40 chân GPIO được sử dụng để kết nối với các thiết bị khác.
Hình 6 10 Chân kết nối của Raspberry pi 3
• RFID RC522 Mini Module o Tổng quan:
RFID RC522 Mini Module là một module tích hợp công nghệ RFID hay còn gọi là Radio Frequency Identification Công nghệ này được sử dụng để truyền dữ liệu qua sóng Radio Các thẻ RFID sẽ giao tiếp và dữ liệu trong thẻ sẽ được đọc bởi các module này Các thẻ sẽ chứa một vi mạch nhỏ và anten để phục vụ cho chức năng trên RFID module sử dụng chip RC522 hoạt động ở tần số 13.56 MHz và phương thức kết nối SPI. RFID module có thể đọc và ghi dữ liệu từ các thẻ RFID, nhận diện định danh và thu thập thông tin từ các thẻ RFID trong phạm vi làm việc của nó Ứng dụng phổ biến nhất của RFID là trong các bãi giữ xe.
Hình 6 11 Module RFID RC522 Mini o Thông số kỹ thuật:
- Nguồn làm việc: 3VDC, dòng:13-26mA
- Dòng điện ở chế độ chờ: 10-13mA / DC 3.3V
- Dòng điện ở chế độ ngủ: 0.8 và τ > 0.1θ (Điều kiện này được đề xuất bởi Rivera và đồng τ p nghiệp vào năm 1986)
- τ > τ > 0 (Điều kiện này được đề xuất bởi Chien và Fruehauf vào năm
- τ = θ p (được đề xuất bởi Skogestad vào năm 2003)
Bảng 6 11 Phương pháp Direct Synthesis
Bảng 6 12 Phương pháp Chen & Seborg
6.7.3 Phương hướng và giải pháp
Phương pháp điều khiển cascade control được sử dụng để điều khiển vị trí của robot, phương pháp này giúp cải thiện khả năng theo kịp đáp ứng của hệ thống, với vòng phụ là điều khiển tốc độ, giúp điều chỉnh và ổn định tốc độ của quá trình điều khiển từ đó quá trình điều khiển vị trí nhanh chóng và chính xác hơn Giảm tác động của nhiễu đến vị trí do đã được xử lý ở vòng vận tốc.
Sơ đồ 6 15 Hàm truyền điều khiển PID sử dụng phương pháp Cascade Control
• Tìm hàm truyền vòng vận tốc o Lấy dữ liệu về sự thay đổi của đáp ứng ngõ ra đối với biến điều khiển
Biến điều khiển là (MV) là giá trị từ 0 đến 999 ứng với xung PWM 0% đến 100%, đơn vị đo thời gian là ms (mili giây) đáp ứng ngõ ra có đơn vị là RPM (Round Per Second). Đồ thị đáp ứng vận tốc của trục x thu được khi tăng MV từ 400 đến 800, và khi MV từ
Hình 6 19 Đồ thị đáp ứng vận tốc của trục x thu được khi tăng MV từ 400 đến 800
Hình 6 20 Đồ thị đáp ứng vận tốc của trục x thu được khi tăng MV từ 350 đến 650 Đồ thị đáp ứng vận tốc của trục y thu được khi tăng MV từ 300 đến 600, và khi MV từ
Hình 6 21 Đồ thị đáp ứng vận tốc của trục y thu được khi tăng MV từ 300 đến 600
Hình 6 22 Đồ thị đáp ứng vận tốc của trục y thu được khi tăng MV từ 400 đến 800 o Tính toán tìm ra hàm truyền vòng vận tốc của trục x và trục y:
Từ đồ thị đáp ứng vận tốc K p , θ p , τ p của hai trục được thể hiện ở bảng sau (đơn vị thời gian là giây):
Bảng 6 13 Bảng đáp ứng vận tốc của hai trục
Trục x Step change 350 – 650 Step change 400 – 800 Trung bình
Trục y Step change 300 – 600 Step change 400 – 800 Trung bình
Từ bảng trên hàm truyền vận tốc của trục x và trục y được biểu diễn như sau:
0.5972s + 1 o Tìm thông số cho bộ điều khiển PI:
Sử dụng bốn phương pháp đã được nêu ở phần cơ sở lý thuyết là Ziegler-Nichols 1, IMC, Direct Synthesis, Chen & Seborg ta có bảng thông số K c , K i của bộ điều khiển theo các phương pháp như sau:
Bảng 6 14 Bảng thông số tính toán PID của hai trục
• Tiến hành mô phỏng MATLAB để tìm ra bộ thông số tối ưu: Sơ đồ mô phỏng trục x:
Sơ đồ 6 16 Sơ đồ mô phỏng theo trục x cho vòng vận tốc
Sơ đồ mô phỏng trục y:
Sơ đồ 6 17 Sơ đồ mô phỏng theo trục y cho vòng vận tốc Đồ thị kết quả mô phỏng đáp ứng trục x với setpoint 0, thời gian mô phỏng là 5 giây:
Sơ đồ 6 18 Đồ thị kết quả mô phỏng đáp ứng trục x cho vòng vận tốc Đồ thị kết quả mô phỏng đáp ứng trục y với setpoint 0, thời gian mô phỏng là 1 giây:
Từ đồ thị cho thấy phương pháp Z-N1 và C&S có độ vọt lố cao không ổn định, phương pháp IMC có thời gian xác lập chậm Vì vậy chọn thông số theo phương pháp
DS để làm thông số cho bộ điều khiển PI của vòng vận tốc. o Tìm thống số điều khiển cho vòng vị trí:
Sử dụng Matlab để mô phỏng cả vòng vận tốc và vị trí như sau, với thông số điều khiển của vòng vận tốc đã tìm được ở bước trên.
Sơ đồ mô phỏng trục x:
Sơ đồ 6 20 Sơ đồ mô phỏng theo trục x cho vòng vị trí
Sơ đồ mô phỏng trục y:
Sơ đồ 6 21 Sơ đồ mô phỏng theo trục y cho vòng vị trí
Sử dụng Matlab mô phỏng nhiều lần thu được thông số điều khiển vòng vị trí của trục x:
Kp = 97.1, của trục y: 80.2 Đồ thị kết quả mô phỏng đáp ứng vận tốc và vị trí của trục x với setpoint vị trí là 50 vòng:
Sơ đồ 6 22 Đồ thị kết quả mô phỏng đáp ứng vận tốc của trục x
Sơ đồ 6 23 Đồ thị kết quả mô phỏng đáp ứng vị trí của trục x Đồ thị kết quả mô phỏng đáp ứng vận tốc và vị trí của trục y với setpoint vị trí là 50 vòng:
Sơ đồ 6 24 Đồ thị kết quả mô phỏng đáp ứng vận tốc của trục y
Sơ đồ 6 25 Đồ thị kết quả mô phỏng đáp ứng vị trí của trục y
CHƯƠNG TRÌNH TÌM ĐƯỜNG ĐI CHO ROBOT
Phần cứng
Chương trình này sẽ chạy trên máy chủ có chức năng tính toán đường đi và điều phối hoạt động của robot nên cần một phần cứng mạnh mẽ Vì kiếm một phần cứng riêng biệt trên thị trường sẽ làm phát sinh chi phí và không quá nhất thiết nên nhóm quyết định sẽ điều khiển trực tiếp chương trình thông qua một chiếc laptop cá nhân Máy tính sẽ được kết nốiMQTT tới Raspberry Pi 3 (Vi điều khiển trung tâm của robot).
Nhiệm vụ
Người dùng sẽ nhập Tên thuốc từ giao diện và bấm nút “Tìm kiếm” Chương trình sẽ tìm trong Cơ sở dữ liệu thông số Vị trí và Số lượng thuốc cần tìm rồi hiển thị lên giao diện.Người dùng sẽ kiểm tra các thông tin cần thiết và quyết định xem có thực hiện lấy hàng không Khi quyết định thực hiện lấy hàng, người dùng sẽ bấm nút “Thực thi” để tiến hành quy trình Để tạo đường đi cho robot thông qua dữ liệu đã lấy được từ giao diện là Vị trí hiện tại của robot, Vị trí thùng hàng và từ cổng giao hàng là Vị trí cổng đưa hàng Chương trình sẽ tiến hành tính toán đường đi bằng thuật toán CBS Sau khi tính toán xong, thuật toán sẽ xuất về một chuỗi dữ liệu bao gồm: Đường đi của robot, Vị trí thùng hàng trên lưới.Cuối cùng sẽ gửi chuỗi dữ liệu này thông qua MQTT xuống bộ xử lý của robot để vận hành.
Xây dựng
7.3.1 Xây dựng chương trình giao diện và thuật toán
Giao diện người dùng bao gồm những thành phần sau:
- Label “Nhập tên thuốc”: Dùng để nhập Tên thuốc cần tìm khiếm trong nhà kho.
- Nút “Tìm kiếm”: Khi bấm nút này, chương trình sẽ truy cập vào Cơ sở dữ liệu của hệ thống thực hiện tìm kiếm Tên thuốc theo yêu cầu và hiện kết quả Vị trí và Số lượng lên Giao diện.
- Nút “Thực thi”: Khi bấm nút này, chương trình sẽ thực hiện tính toán và gửi lệnh thực hiện nhiệm vụ cho robot.
Chương trình Giao diện sẽ thực hiện theo trình tự của lưu đồ sau.
Sơ đồ 7 1 Lưu đồ Chương Trình Giao diện Ở nhiệm khởi tạo MQTT Init, Firebase Init, GUI Init chương trình sẽ chuẩn bị các tài nguyên cần thiết cho việc thực thi chương trình Các bước này có nhiệm vụ là:
- MQTT Init: Kết nối MQTT cho máy chủ và thực hiện quá trình lấy vị trí của robot trên khung lưới lập phương rồi đưa vào biến start_found chính là vị trị hiện tại của robot.
- Firebase Init: Kết nối đến Cơ sở dữ liệu cần tìm trên Firebase Ở đây cụ thể là Cơ sở dữ liệu Autostore.
- GUI Init: Tạo giao diện.
Và lưu đồ sau đây sẽ là các bước thực hiện.
Sơ đồ 7 2 Lưu đồ các Hàm con Init ban đầu
• Thuật toán tìm đường CBS Đầu tiên, để phản ánh chính xác chuyển động của robot trong môi trường, khung lưới lập phương được sử dụng để thiết lập mô hình Do đó, khung lưới được chuyển đổi thành bản đồ lưới với các đặc điểm hình học đơn giản hóa Các thanh ray được biểu thị là các đường màu đen và các ô chứa hàng thì được hiển thị là các ô màu trắng Sau khi khung lưới thực tế được chuyển đổi thành bản đồ lưới, bài toán lập kế hoạch đường đi của robot được đơn giản hóa thành bài toán tối ưu hóa đường đi từ điểm bắt đầu đến điểm mục tiêu Để tiện cho việc quản lý vị trí của từng ô trong lưới, nhóm quy định vị trí của từng ô trong lưới sẽ có dạng [m, n] Với m và n lần lượt đại diện cho kích thước hàng và cột trong khung lưới Các bước cụ thể là thiết lập tọa độ phẳng hình chữ nhật xOy với việc chọn ô phía dưới bên trái của khung lưới làm gốc tọa độ.
Hình 7 1 Hình ảnh khung lưới lập phương thực tế
Hình 7 2 Khung lưới lập phương được bản đồ hóa
Trong giai đoạn tính toán đường đi cho robot, chương trình sẽ chạy một file Python tên là CBS File này chính là thuật toán CBS được xây dựng trên phần mềm dựa trên các lý thuyết về thuật toán này Thuật toán này có trình tự như bên dưới. Đầu vào:
Bản đồ: G = (V, E), trong đó V là tập hợp các ô (cells) trên bản đồ và E là tập hợp các cạnh (edges) giữa các ô kề nhau.
Danh sách các tác nhân: A = {A , A , , A }, trong đó Aᵢ là tác nhân thứ i.
Hàm chi phí giữa các ô: cost (v, u), trong đó v và u là hai ô kề nhau trên bản đồ.
Hàm tìm kiếm cấp thấp A*:
▪ Input: Tác nhân Aᵢ, ô đầu tiên start, ô đích goal
▪ Output: Đường đi tốt nhất từ start đến goal cho tác nhân Aᵢ
• Khởi tạo cây tìm kiếm rỗng.
• Khởi tạo hàng đợi ưu tiên OPEN rỗng.
• Khởi tạo tập hợp đường đi đã khám phá (paths) rỗng.
3 Đặt s là một nút mới với state là start và cost là 0.
4 Đặt g là một nút mới với state là goal và cost là vô cùng.
5 Thêm s vào hàng đợi ưu tiên OPEN.
6 Trong khi hàng đợi ưu tiên OPEN không rỗng:
• Lấy nút hiện tại cur từ hàng đợi ưu tiên OPEN với f[cur] nhỏ nhất.
• Nếu cur là g: o Trả về đường đi tốt nhất từ s đến cur.
• Duyệt qua các ô kề của cur: o Đặt next là một nút mới với state là ô kề và cost là cost(cur, next). o Nếu next đã tồn tại trong paths, bỏ qua. o Tính toán g[next] = g[cur] + cost(cur, next).
103 o Nếu next không tồn tại trong hàng đợi ưu tiên OPEN, hoặc g[next] < g[next trong OPEN]:
- Nếu next không tồn tại trong hàng đợi ưu tiên OPEN, thêm next vào hàng đợi ưu tiên OPEN.
- Ngược lại, cập nhật f[next] trong hàng đợi ưu tiên OPEN.
6 Nếu không tìm thấy đường đi, trả về không tìm thấy.
Thuật toán này khi được đưa lên lập trình sẽ được giải thích bằng lưu đồ phía dưới.
Sơ đồ 7 3 Lưu đồ Hàm con Thuật toán CBS
Thuật toán CBS ở trên sử dụng thuật toán tìm kiếm cấp thấp là A * Đây là một thuật toán riêng biệt cũng cần phải xây dựng trên phần mềm và được xây dựng ở một file Python riêng lẻ Thuật toán A * sẽ được gọi khi cần trong thuật toán CBS Nó có cách hoạt động như thế này.
Sơ đồ 7 4 Lưu đồ Hàm con Thuật toán A
Trong thuật toán trên, hàm heuristic được tính bằng khoảng cách Manhattan (Manhattan distance) và hàm có công thức như sau:
▪ , lần lượt là vị trí trên khung lưới hiện tại của nút (robot).
▪ , lần lượt là vị trí trên khung lưới của đích đến.
• Mô phỏng thuật toán CBS
Vì lý do kinh phí và thời gian nên nhóm không thể làm nhiều robot để có thể chứng minh chương trình tính toán đường đi cho robot ứng dụng cho các mô hình có số lượng robot lớn hơn 2 Thay vào đó, nhóm sẽ làm mô phỏng để có thể chứng minh cho chương trình tính toán đường đi mà nhóm xây dựng có thể vận hành cho nhiều robot cùng lúc trên một khung lưới lập phương Trong hình mô phỏng trên bao gồm:
- Hình tròn: Đại diện cho robot.
- Hình Vuông: Đại diện cho thùng hàng Số trên thùng tương ứng với số trên robot.
- Dấu X: Đại diện cho đích đến Màu của đích đến tương ứng với màu của thùng hàng.
- Tên khay: Chứa vị trí của khay theo chiều cao, có dạng “Khay [Số]”.
- PORT: Cổng đưa và nhận thùng hàng.
- Đường kẻ: Đại diện cho đường đi của robot Màu của đường kẻ đến tương ứng với màu của robot. o Thuật toán mô phỏng trên lưới 12x12 ô với 5 robot:
Hình 7 3 Mô phỏng CBS trên lưới 12x12 với 5 robot tại thời điểm bắt đầu
Hình 7 4 Mô phỏng CBS trên lưới 12x12 với 5 robot tại thời điểm robot tới điểm gắp thả thùng
Hình 7 5 Mô phỏng CBS trên lưới 12x12 với 5 robot tại thời điểm robot tới đích đến cuối cùng o Thuật toán mô phỏng trên lưới 20x20 ô với 15 robot:
Hình 7 6 Mô phỏng CBS trên lưới 20x20 với 15 robot tại thời điểm bắt đầu
Hình 7 7 Mô phỏng CBS trên lưới 20x20 với 15 robot tại thời điểm robot tới điểm gắp thả thùng
Hình 7 8 Mô phỏng CBS trên lưới 20x20 với 15 robot tại thời điểm robot tới đích đến cuối cùng o Thuật toán mô phỏng trên lưới 25x25 ô với 20 robot:
Hình 7 9 Mô phỏng CBS trên lưới 25x25 với 20 robot tại thời điểm bắt đầu
Hình 7 10 Mô phỏng CBS trên lưới 25x25 với 20 robot tại thời điểm robot tới điểm gắp thả thùng
Hình 7 11 Mô phỏng CBS trên lưới 25x25 với 20 robot tại thời điểm robot tới đích đến cuối cùng
7.3.2 Xây dựng Chương trình Quản lý nhà kho (Chương trình phụ)
Chương trình này giúp người dùng có thể theo dõi hệ thống kho bãi một cách trực thị bởi các màu khác nhau, Số lượng hàng khác nhau được biểu diễn thông qua các cấp độ hiển thị màu sắc Các đường kẻ in đậm phía trên sẽ đại diện cho các đường ray của robot Kích thước của lưới sẽ được hiển thị và chia theo thang.
• Xây dựng Đồ thị 3D của nhà kho là hiển thị trực quan nhà kho một cách đơn giản nhưng trực quan Chương trình sẽ biểu diễn đồ thị bằng cách thực hiện các bước theo trình tự sau:
Sơ đồ 7 5 Lưu đồ Chương trình Quản lý nhà kho
KẾT QUẢ VÀ ĐÁNH GIÁ
Kết quả đạt được
8.1.1 Kết quả thiết kế ban đầu
Hình 8 1 Thiết kế robot ban đầu
Hình 8 2 Thiết kế cơ cấu nâng hạ ban đầu
Hình 8 3 Thiết kế cụm cơ cấu kẹp giữ thùng ban đầu
8.1.2 Kết quả thiết kế sau khi đánh giá và chỉnh sửa
Hình 8 4 Thiết kế cơ cấu nâng hạ sau khi chỉnh sửa
Hình 8 5 Thiết kế cơ cấu kẹp thùng sau khi chỉnh sửa
Hình 8 6 Thiết kế cơ cấu nâng hạ bánh xe sau khi chỉnh sửa
Hình 8 7 Thiết kế robot sau khi chỉnh sửa
Bảng 7 1 Thông số sản phẩm
Khối lượng máy khi chưa có hàng 35 kg
Khối lượng máy khi có hàng 38 kg
Kích thước máy (Dài x Rộng x Cao) 470 mm x 370 mm x 485 mm Tốc độ di chuyển tối đa V max 1 (m/s)
Chế độ làm việc 2 chế độ: Nhận hàng và Lấy hàng
Vật liệu khung Nhôm định hình, thép tấm
Kích thước (Dài x Rộng x Cao) 2 x 3 x 2 ô
Khối lượng khung Khoảng 7kg
Chương trình, phần mềm điều khiển
Giao diện chương trình tính toán đường Hoàn thành đi cho robot
Chương trình điều khiển cho robot Hoàn thành
Chương trình Quản lý nhà kho Hoàn thành
8.1.4 Kết quả thực nghiệm bộ thông số điều khiển PID Đồ thị kết quả trục x của xe chạy không tải trong điều kiện bánh xe không tiếp xúc với ray của khung lưới lập phương với setpoint vị trí là 50 vòng:
Hình 8 8 Đồ thị vận tốc của trục x của xe chạy không tải
Hình 8 9 Đồ thị vị trí của trục x của xe chạy không tải Đồ thị kết quả trục y của xe chạy không tải trong điều kiện bánh xe không tiếp xúc với rây với setpoint vị trí là 20 vòng:
Hình 8 10 Đồ thị vận tốc của trục y của xe chạy không tải
Hình 8 11 Đồ thị vị trí của trục y của xe chạy không tải Đồ thị kết quả trục x của xe chạy có tải trong điều kiện bánh xe tiếp xúc với rây với setpoint vị trí là 20 vòng:
Hình 8 12 Đồ thị vận tốc của trục x của xe chạy có tải
Hình 8 13 Đồ thị vị trí của trục x của xe chạy có tải Đồ thị kết quả trục y của xe chạy có tải trong điều kiện bánh xe tiếp xúc với rây với setpoint vị trí là 10 vòng:
Hình 8 14 Đồ thị vận tốc của trục y của xe chạy có tải
Hình 8 15 Đồ thị vị trí của trục y của xe chạy có tải
8.1.5 Kết quả chương trình Giao diện và Cơ sở dữ liệu
• Giao diện của chương trình khi tìm thấy số lượng.
Hình 8 16 Giao diện của chương trình khi tìm thấy số lượng
• Giao diện của chương trình khi không tìm thấy số lượng.
Hình 8 17 Giao diện của chương trình khi không tìm thấy số lượng
• Giao diện của chương trình khi Đang thực thi.
Hình 8 18 Giao diện của chương trình khi Đang thực thi
• Giao diện của chương trình khi Thực thi xong.
Hình 8 19 Giao diện của chương trình khi Thực thi xong
• Các cơ sở dữ liệu đã xây dựng.
Hình 8 20 Các cơ sở dữ liệu đã được xây dựng trên Firebase
8.1.6 Kết quả chương trình Quản lý nhà kho
Các số liệu Tên và Số lượng trong các đồ thị bên dưới đây được tạo ngẫu nhiên để mô phỏng được quy mô lớn hơn của kho, giúp đáp ứng linh hoạt nhu cầu thực tế bên ngoài. o Đồ thị nhà kho với kích thước (Dài x Rộng x Cao) là 5x5x5.
Hình 8 21 Đồ thị nhà kho với kích thước (Dài x Rộng x Cao) là 5x5x5 o Đồ thị nhà kho với kích thước (Dài x Rộng x Cao) là 10x10x10.
Những vấn đề đã khắc phục
8.2 Những vấn đề đã khắc phục
8.2.1 Cơ cấu nâng hạ bị kẹt giữa hành trình
Góc nghiêng của rãnh trượt cho cơ cấu nâng hạ lớn nên không tối ưu được lực mà động cơ cung cấp dẫn tới trượt đai.
Thay rãnh trượt có góc nghiêng nhỏ hơn.
8.2.2 RFID không đọc được giá trị
RFID Module đặt quá xa thẻ RFID nên dẫn tới tin hiệu bị yếu không đọc được.
Thiết kế và đặt lại vị trí của thẻ và module RFID cho phù hợp với khoảng cách đọc được.
8.2.3 Cơ cấu kẹp thùng không kẹp được thùng
Cơ cấu dẫn truyền lực từ servo và cơ cấu kẹp không hoạt động tốt.
Thiết kế và lắp đặt lại các cơ cấu này.
8.2.4 Thùng khi di chuyển xa dễ bị lắc lư
Tốc độ xe khá cao và có khoảng hở giữ cơ cấu kẹp thùng và khung xe.
Thiết kế và lắp đặt bộ phận giữ ổn định cơ cấu kẹp thùng khi di chuyển.
Đánh giá
- Robot có thể hoạt động ổn định, đáng tin cậy, thực hiện nhiều tác vụ hiệu quả và chính xác.
- Thuật toán tìm kiếm đường đi có thể chạy tốt và luôn tính toán được đường đi cho robot.
- Khung lưới vững chắc, có thể làm tốt nhiệm vụ đỡ cho robot vận hành phía trên.
Hạn chế
Từ kết quả thu được, nhóm nhận thấy đề tài còn nhiều mặt hạn chế như sau:
- Robot chỉ dùng được một loại thùng chỉ chứa cùng một khối lượng hàng hóa.
- Khung lưới lập phương tháo lắp khá tốn thời gian.
- Robot chạy thời gian lâu sẽ có sự sai lệch về vị trí.
- Pin vẫn chưa đủ đáp ứng để hoạt động lâu dài.
- Bộ phận nâng hạ bánh xe hoạt động lâu dài sẽ bị dãn dây đai gây ra sai lệch vị trí.
- Thuật toán tìm kiếm đường đi vẫn chưa thực sự tối ưu, nhiều lần robot phải chuyển trục làm tốn thời gian cũng như năng lượng.
- Robot chưa thể vận hành với yêu cầu thời gian nghiêm ngặt để tránh sự sai lệch cộng dồn của hệ thống.
Từ những kết quả đã trình bày bên trên thì nhóm cơ bản đã hoàn thành được những mục tiêu đã đề ra ban đầu Từ các bước xây dựng hệ thống cơ khí của robot, khung lưới lập phương, hệ thống điều khiển, hệ thống quản lý kho, giao diện người dùng và thuật toán tìm kiếm đường đi cho robot mà có thể sử dụng cho nhiều robot Robot qua nhiều lần cải tiến hệ thống cơ khí và các chương trình điều khiển thì hiện tại đã hoạt động khá ổn định, đáp ứng được tiêu chí ban đầu được đặt ra.
Ngoài những thành tựu đạt được, nhóm có những đề xuất, kiến nghị khác để giúp hoạn thiện hơn hệ thống sau này:
- Phát triển nhiều dòng robot hơn cho những loại hàng hóa khác nhau.
- Xây dựng các cổng xuất và nhập hàng chuyên biệt để tối ưu việc xuất và nhập hàng hóa.
- Thiết kế lại khung lưới lập phương để có thể lắp ráp nhanh và tiện hơn.
- Trang bị hệ thống giám sát camera trong kho để theo dõi các robot làm việc, phát hiện và giải quyết sự cố khi cần thiết.
- Phát triển chương trình thuật toán phân chia hàng hóa được đặt vào kho để việc xuất nhập trở nên tối ưu nhất.
- Tăng kích thước thùng hàng để chứa được nhiều hàng hóa hơn.
- Thêm vào các chương trình cảnh báo và xử lý khi phát hiện va chạm ở trong robot đề phòng khi thuật toán máy chủ hoặc robot không thực hiện theo kế hoạch vạch sẵn.
- Tối ưu các thông số điều khiển của robot để robot hoạt động với hiệu suất cao hơn.
- Thiết kế bổ sung thêm giao diện cần thiết và chuyên biệt cho việc xuất nhập hàng đòi hỏi nhiều thông số hơn.
- Thiết kế hệ thống trạm sạc tự động cho robot để robot có thể tự sạc khi gần hết năng lượng và thay đổi hệ thống pin từ ắc quy sang pin lithium để giảm khối lượng và tăng dung lượng pin.
- Tối ưu lại thuật toán tìm kiếm đường đi cho robot với nhiều các thông số cần cân nhắc như thời gian tìm kiếm, thời gian thực thi, động lực học của robot, năng lượng cần dùng,
… Từ đó giúp tiết kiệm thời gian và chi phí cho hệ thống.
[1] Mai Văn Ánh, Võ Đình Hoàng, Phạm Hoàng Anh, NGHIÊN CỨU THIẾT KẾ HỆ THỐNG TRUYỀN ĐỘNG ĐIỀU KHIỂN ĐỘNG CƠ ĐIỆN CỠ NHỎ, Đồ án Tốt nghiệp Đại học, ĐHSPKT ĐN, 2022
[2] Nguyễn Xuân Quang, Võ Lâm Chương, Bài giảng điều khiển quá trình, ĐHSPKT
[3] Nguyễn Thế Hùng, Điều khiển tự động, ĐHSPKT TP.HCM, 2006
[4] Trịnh Chất, Lê Văn Uyển, Tính toán thiết kế hệ dẫn động cơ khí, Nhà xuất bản Giáo dục, 2/2006
[5] Sifan Wu, Yu Du, Yonghua Zhang, Mobile Robot Path Planning Based on a Generalized Wavefront Algorithm, pp 3-10, Volume 2ss020, Mathematical Problems in Engineering, 2020
[6] Giacomo Lodigiani, Nicola Basilico, Francesco Amigoni, Robust Multi-Agent Pickup and Delivery with Delays, Volume 2303, University of Milan, 2023
[7] Justin Kottinger, Shaull Almagor, Morteza Lahijanian, Conflict-Based Search for Explainable Multi-Agent Path Finding, Volume 2202, Department of Aerospace Engineering Sciences Colorado, 2022
[8] Hang Ma, Jiaoyang Li, T K Satish Kumar, Sven Koenig, Lifelong Multi-Agent Path Finding for Online Pickup and Delivery Tasks, Volume 1705, International Foundation for Autonomous Agents and Multiagent Systems, 2017
[9] Qinghong Xu, Jiaoyang Li, Sven Koenig, Hang Ma, Multi-Goal Multi-Agent Pickup and Delivery, Volume 2208, Natural Sciences and Engineering Research Council of Canada, 2022
[10] Gang Tang, CongQiang Tang, Christophe Claramunt, Xiong Hu, Peipei Zhou,
Geometric A-Star Algorithm: An Improved A-Star Algorithm for AGV Path
Planning in a Port Environment, Volume 1109, IEEE Access, 2021
[11] Guni Sharon, Roni Stern, Ariel Felner, Nathan R Sturtevant, Conflict-based search for optimal multi-agent pathfinding, Volume 219, ScienceDirect, 2014
[12] K Astrom, T Hagglund, PID Controllers: Theory, Design and Tuning, Instrument Society of America, USA, 1995
[13] Norman S Nise, Control System Engineering, Wiley International Publisher, USA,