Method, apparatus, device, medium and product for configuring an automated guided vehicle
A centralized fleet management system using QR codes and FTP servers addresses inefficiencies in AGV configuration by enabling rapid, secure, and efficient management of multiple AGVs through bulk configuration and updates.
Patent Information
- Application Number
- PCT/CN2024/090963
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-30
- Publication Date
- 2025-11-06
AI Technical Summary
Current AGV configuration methods are inefficient and time-consuming, requiring separate configuration and updating of each vehicle, lacking a centralized management system.
A centralized fleet management system (FMS) using QR codes and FTP servers to manage and distribute configuration information to multiple AGVs, enabling efficient and secure configuration and updates.
Facilitates rapid and secure configuration of AGVs, reducing time and improving management efficiency by allowing bulk operations and ensuring consistent, up-to-date settings across the fleet.
Smart Images

Figure CN2024090963_06112025_PF_FP_ABST
Abstract
Description
METHOD, APPARATUS, DEVICE, MEDIUM AND PRODUCT FOR CONFIGURING AN AUTOMATED GUIDED VEHICLEFIELD
[0001] Embodiments of the present disclosure generally relate to the field of computer technology and in particular, to a method, an apparatus, an electronic device, a computer-readable medium and a computer program product for configuring an automated guided vehicle (AGV) .BACKGROUND
[0002] An AGV is a type of industrial vehicle equipped with automatic guidance devices such as electromagnetic or optical systems. The AGV is capable of traveling along working paths autonomously and are designed for various scenarios including the transportation, loading, and unloading of goods. AGVs are at the forefront of research in logistics automation, integrating technologies from fields such as artificial intelligence, information processing, and image processing. AGVs are used across a wide range of sectors including automotive manufacturing, warehousing and logistics and so on.SUMMARY
[0003] In general, various example embodiments of the present disclosure provide a method, an apparatus, an electronic device, a computer-readable storage device, and a computer program product for configuring an AGV.
[0004] In a first aspect, it is provided a method for configuring an AGV. The method comprises in response to a quick response (QR) code associated with the AGV being scanned by a user device, providing, by a server associated with the QR code, a user interface for configuring the AGV to a user. The method further comprises receiving, by the server, a user input for configuring the AGV via the user interface. The method further comprises transmitting, by the sever to the AGV, configuration information for the AGV based on the user input.
[0005] In a second aspect, it is provided an apparatus for configuring an AGV. The apparatus comprises a providing module configured to provide, in response to a QR code associated with the AGV being scanned by a user device, a user interface for configuring the AGV to a user by a server associated with the QR code. The apparatus further comprises a receiving module configured to receive a user input for configuring the AGV via the user interface by the server. The apparatus further comprises a transmitting module configured to transmit configuration information for the AGV based on the user input by the sever to the AGV.
[0006] In a third aspect, it is provided an electronics device. The electronics device comprises a processor; and a memory coupled to the processor, wherein the memory has instructions stored therein, and the instructions, when executed by the processor, cause the device to execute actions of the first aspect.
[0007] In a forth aspect, it is provided a computer-readable medium. The computer-readable medium comprises instructions stored therein, which when executed by a processor, cause the processor to perform methods of the first aspect.
[0008] In a fifth aspect, it is provided a computer program product. The computer program product comprises instructions stored therein, which when executed by a processor, cause the processor to perform methods of the first aspect.
[0009] It is to be understood that the Summary is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become readily comprehensible through the description below.DESCRIPTION OF DRAWINGS
[0010] Through the following detailed descriptions with reference to the accompanying drawings, the above and other objectives, features and advantages of the example embodiments disclosed herein will become more comprehensible. In the drawings, several example embodiments disclosed herein will be illustrated in an example and in a non-limiting manner, wherein:
[0011] FIG. 1A illustrates a schematic diagram of an example environment in which a plurality of embodiments of the present disclosure can be implemented;
[0012] FIG. 1B illustrates a schematic diagram of example phases in accordance with some embodiments of the present disclosure;
[0013] FIG. 1C illustrates a schematic diagram of example functions in the preparation phase in accordance with some embodiments of the present disclosure;
[0014] FIG. 1D illustrates a schematic diagram of example functions in the implementation phase in accordance with some embodiments of the present disclosure;
[0015] FIG. 2 illustrates an example configuration file folder in accordance with some embodiments of the present disclosure;
[0016] FIG. 3 illustrates example sub-folders in accordance with some embodiments of the present disclosure;
[0017] FIG. 4 illustrates an example of copying selected sub-folders in accordance with some embodiments of the present disclosure;
[0018] FIG. 5 illustrates an example user interface of editing AGV map in accordance with some embodiments of the present disclosure;
[0019] FIG. 6 illustrates an example user interface of editing configuration information in accordance with some embodiments of the present disclosure;
[0020] FIG. 7 illustrates an example user interface of configuration file management in accordance with some embodiments of the present disclosure;
[0021] FIG. 8 illustrates a flowchart of an example method for configuring an AGV in accordance with some embodiments of the present disclosure;
[0022] FIG. 9 illustrates a block diagram of an example apparatus for configuring an AGV in accordance with some embodiments of the present disclosure; and
[0023] FIG. 10 illustrates a block diagram illustrating an electronic device in accordance with some embodiments of the present disclosure.
[0024] Throughout all the drawings, the same or similar reference numerals represent the same or similar elements.DETAILED DESCRIPTION OF EMBODIMENTS
[0025] Principles of the present disclosure will now be described with reference to several example embodiments shown in the drawings. Though example embodiments of the present disclosure are illustrated in the drawings, it is to be understood that the embodiments are described only to facilitate those skilled in the art in better understanding and thereby achieving the present disclosure, rather than to limit the scope of the disclosure in any manner.
[0026] The term comprises "or" includes "and" its variants are to be read as open terms that mean "includes, but is not limited to" . The term "or" is to be read as "and / or" unless the context clearly indicates otherwise. The term "based on" is to be read as "based at least in part on" . The term "being operable to" is to mean a function, an action, a motion or a state can be achieved by an operation induced by a user or an external mechanism. The term "one embodiment" and "an embodiment" are to be read as "at least one embodiment" . The term "another embodiment" is to be read as "at least one other embodiment" . The terms "first" , "second" , and the like may refer to different or same objects. Other definitions, explicit and implicit, may be included below. A definition of a term is consistent throughout the description unless the context clearly indicates otherwise.
[0027] The functions or algorithms described herein may be implemented in software in one embodiment. The software may consist of computer executable instructions stored on computer readable media or computer readable storage device such as one or more non-transitory memories or other type of hardware-based storage devices, either local or networked. Further, such functions correspond to modules, which may be software, hardware, firmware or any combination thereof. Multiple functions may be performed in one or more modules as desired, and the embodiments described are merely examples. The software may be executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system, turning such computer system into a specifically programmed machine.
[0028] The functionality can be configured to perform an operation using, for instance, software, hardware, firmware, or the like. For example, the phrase "configured to" can refer to a logic circuit structure of a hardware element that is to implement the associated functionality. The phrase "configured to" can also refer to a logic circuit structure of a hardware element that is to implement the coding design of associated functionality of firmware or software. The term "module" refers to a structural element that can be implemented using any suitable hardware (e.g., a processor, among others) , software (e.g., an application, among others) , firmware, or any combination of hardware, software, and firmware. The term "logic" encompasses any functionality for performing a task. For instance, each operation illustrated in the flowcharts corresponds to logic for performing that operation. An operation can be performed using, software, hardware, firmware, or the like. The terms, "component" , "system" , and the like may refer to computer-related entities, hardware, and software in execution, firmware, or combination thereof. A component may be a process running on a processor, an object, an executable, a program, a function, a subroutine, a computer, or a combination of software and hardware. The term, "processor" may refer to a hardware component, such as a processing unit of a computer system.
[0029] The terms "a" or "an" as used herein, are defined as one or more than one. Also, the use of introductory phrases such as "at least one" and "one or more" in the claims should not be construed to imply that the introduction of another claim element by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim element to disclosures containing only one such element, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an" . The same holds true for the use of definite articles.
[0030] Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computing device to implement the disclosed subject matter. Computer-readable storage media can include, but are not limited to, magnetic storage devices, e.g., hard disk, floppy disk, magnetic strips, optical disk, compact disk (CD) , digital versatile disk (DVD) , smart cards, flash memory devices, among others. In contrast, computer-readable media, i.e., not storage media, may additionally include communication media such as transmission media for wireless signals and the like.
[0031] As discussed above, an AGV is widely used in many fields. Before the AGV works, usually some configurations for the AGV should be done in advance, such as the configuration of the navigation map, AGV motion parameters, AGV communication parameters, and downloading of the controller program. Currently, each AGV is usually configured separately. Controller program needs to be downloaded separately for each AGV, and the configuration parameters need to be configured or the configuration files need to be imported on each AGV separately.
[0032] Therefore, the present disclosure proposes a solution for configuring an AGV. By implementing the proposed solution, centralized configuration can be done in a server and configuration information can be sent separately to the AGVs. Therefore, configuring and / or updating the AGVs can be more efficient, and the time of AGV configuration can be reduced and the ability of AGV management can be improved.
[0033] FIG. 1A illustrates a schematic diagram of an example environment 100 in which a plurality of embodiments of the present disclosure can be implemented. The example environment 100 is only illustrated and is not intended to suggest any limitations as to scope of use or functionality of embodiments of the disclosure described herein.
[0034] As shown in FIG. 1A, the example environment 100 comprises a server 110, a device 120 and an AGV 130. The server 110 may be a computing device which provides data, services, or resources to other programs or devices, which are called "clients" . Servers are designed to manage multiple service requests from clients, and they operate continuously to ensure that these services are available to users whenever they are needed. An example of the server 110 may be a file transfer Protocol (FTP) server which implements the FTP protocol to allow users to transfer files over a network, typically over the internet.
[0035] A FTP server is a foundational technology for file sharing and are used in various scenarios, from personal file sharing to large-scale content delivery and data exchange between businesses. For example, the server 110 may facilitate the transfer of files between a client and the server 110 itself. The server 110 may keep log of file transfer activities, which can be useful for auditing and monitoring purposes. The server 110 may be configured to use secure file transfer protocol (SFTP) over secure shell (SSH) or FTP Secure (FTPS) , which encrypts the data transfer.
[0036] The device 120 may be an electronic device. The device 120 has a camera which can scan a QR code. The device 120 may be a mobile computing device, which is portable and allows users to perform computing tasks and access the internet without being tethered to a fixed location or network. Designed to be lightweight and easy to carry. These devices have built-in power sources, making them ideal for use on the go. These devices can connect to wireless networks, including Wi-Fi and cellular data networks, allowing users to stay connected wherever there is network coverage. These devices have significantly increased flexibility and productivity in work. An example of the device 120 may be a smartphone, a tablet, a personal mobile device (PDA) and so on.
[0037] The AGV 130 has a QR code 132 attached on it. For example, the QR code 132 may be pasted on the surface of the AGV 130. The QR code 132 may comprise information for linking to the user interface of management software (for example, a fleet management system, FMS) implemented at the server 110.
[0038] The QR code 132 may be used for the scenario of maintenance and repair for the AGV 130. When the AGV 130 requires maintenance or repair, a technician can use the device 120 to scan the QR code 132 to immediately pull up the AGV 130's complete maintenance history, current settings, and other important data. This allows for quicker diagnostics and more efficient repairs.
[0039] The QR code 132 may be also used for the scenario of localization. In a large warehouse or manufacturing setting, the QR code 132 can serve as a localization feature. Each QR code carries different data. Thus scanning the QR code 132 can provide information regarding not only the AGV 130 itself but also its currently assigned tasks or location data.
[0040] The QR code 132 may be also used for the scenario of task assignment. The AGV 130 could potentially has tasks assigned to it via the QR code 132. The QR code 132 could encode a specific task, which the AGV 130 would then execute upon scanning the QR code 132. The user may scan the QR code 132 to access the user interface to configure the AGV 130. After the user click the apply button on the user interface, the respective configuration information can be transmitted from the server 110 to the AGV 130. This could provide a flexible, efficient method for managing AGV workflows.
[0041] Each AGV has a dedicated folder that contains its configuration file (s) . These files may include parameters for operation, such as navigation paths, load capacities, sensor settings, communication protocols, and maintenance schedules. The FMS is a centralized system that has the authority and capability to access the configuration files of all AGVs in the fleet. This is helpful for the FMS to effectively manage, monitor, and coordinate the activities of the AGVs.
[0042] The FMS may be used to configure and / or update configurations when needed for changes in operational parameters or updates to the AGV software. The FMS may monitor the status of each AGV, including its configuration to ensure it's optimized for its tasks. The FMS may troubleshoot issues by reviewing the AGV's configuration files for any discrepancies or errors. AGVs are restricted to only accessing their own configuration file folders. The FMS may prevent unauthorized access to or tampering with other AGVs' configurations, which could lead to operational disruptions or safety issues. The FMS may ensure that each AGV is operating based on its specific settings, which may differ from other AGVs due to variations in their tasks, routes, or capabilities. The FMS may maintain a clear separation of duties and access levels, which is important for security and system integrity. The FMS may act as the central authority with full visibility and control over the fleet, while the AGVs are limited to their own operations.
[0043] The FMS may allow for efficient management of a large number of AGVs. The FMS can push updates to all AGVs simultaneously or perform bulk operations without the risk of cross-contamination of configurations. The FMS can also simplify maintenance and support processes, as technicians or support staff can access the configuration files through the FMS to diagnose and resolve issues remotely. In summary, the described FMS provides a secure and organized way to maintain and control the operations of a fleet of AGVs, with the FMS serving as the central hub for oversight and management.
[0044] The operation of AGVs can be broadly categorized into manual and automatic modes, each with its own set of requirements and controls. When operating manually, it's often necessary to adjust the AGV's parameters. This can include settings related to speed, sensitivity of its guidance system, payload capacity, and other operational specifications.
[0045] In some example embodiments, for manual control, AGVs are equipped with interfaces that allow operators to override automatic functions and control the AGVs manually. This is helpful for tasks like positioning the AGV in a specific spot, performing maintenance, or navigating through areas not covered by the AGV's automated systems. A touchscreen is commonly integrated into the AGV or its control panel to facilitate parameter configuration and manual operation. The touchscreen program provides a user-friendly interface for operators to interact with the AGV. In addition to touchscreens, physical buttons or a remote control device can be used for manual operations. These offer a straightforward and immediate way to command the AGV, especially in situations where a touchscreen might not be practical.
[0046] In some example embodiments, during automatic operation, it's important to monitor the status of each AGV. FMS can provide real-time data on the operational status, location, and health of each AGV. AGVs are designed to stop and alert operators in the event of a fault. Quick access to fault information is essential for diagnosing the issue and determining the necessary corrective actions. Many AGV controllers can establish a web server, allowing for the creation of a web-based Human-Machine Interface (HMI) . This enables operators to access AGV data and perform manual control operations through a web browser, providing flexibility and accessibility.
[0047] Utilizing a Browser / Server (BS) architecture, the AGV controller's web server can publish a webpage-based HMI. This allows clients to connect to the AGV via the web, making it possible to monitor and control AGVs from any device with internet access. The web-based HMI can also facilitate remote support and troubleshooting, allowing technicians to assist with issues without being physically present. Regardless of the control method, it's essential to implement robust security measures to protect against unauthorized access and ensure the integrity of the AGV's operations. By integrating these features, AGVs can be effectively managed in both manual and automatic modes, providing operators with the tools they need to ensure efficient and safe operations. The transition between manual and automatic control can be seamless, allowing for adaptability to changing conditions and requirements.
[0048] Since most AGV controllers support FTP (File Transfer Protocol) communication now, in order to make the configuration of AGV more convenient and efficient, an FTP server can be set up. By sharing FTP files, it is convenient to manage the configuration of each AGV file. The proposed method scans the AGV QR code to open the web page of the AGV controller, thereby reducing the time of AGV configuration, and improving the ability of AGV management.
[0049] FIG. 1B illustrates a schematic diagram of example phases 100B in accordance with some embodiments of the present disclosure. As shown in FIG. 1B, there are a preparation phase 140 and an implementation phase 150. In the preparation phase 140, the user may set up the configuration information for the AGV 130 and generate a QR code for the AGV 130. The user may edit the configuration information or create the same or similar configuration information for another AGV based on the prepared configuration information. In the implementation phase 150, the user may scan the QR code and access the user interface to configure the AGV 130, edit the configuration information or maps, copy, backup, restore any configuration information and so on.
[0050] FIG. 1C illustrates a schematic diagram 100C of example functions in the preparation phase in accordance with some embodiments of the present disclosure. In the preparation phase 140, the function 142 for creating configuration file folders or sub-folders for the AGV 130 will be described with reference to FIG. 2 and FIG. 3. The function 144 for copying or editing the configuration file folders or sub-folders for the AGV 130 will be described with reference to FIG. 4. Example functions in FIG. 1C further comprises the function 146 for generating QR code for the AGV 130. For the purpose of simplification, the details will not be described here.
[0051] FIG. 1D illustrates a schematic diagram 100D of example functions in the implementation phase 150 in accordance with some embodiments of the present disclosure. In the implementation phase 150, the function 152 for editing maps for the AGV 130 will be described with reference to FIG. 5. The function 154 for editing configuration information for the AGV 130 will be described with reference to FIG. 6. The function 156 for managing the configuration files for the AGV 130 will be described with reference to FIG. 7. For the purpose of simplification, the details will not be described here.
[0052] In the preparation phase 140, FIG. 2 illustrates an example configuration file folder 200 in accordance with some embodiments of the present disclosure. FIG. 2 shows a file structure 200 at the server side (for example, at the server 110 in FIG. 1A) . As shown inside the block 202, on the top of block 202, the address line 204 shows the address of the configuration file folders. For example, there are four AGV file folders (AGV 1, AGV 2, AGV 3 and AGV 4) shown in block 202. The left column 206 shows names of each configuration file folders. The right column 208 shows the last modified time of each configuration file folders.
[0053] In each AGV folder, respective configuration information is stored as sub-folders. For example, FIG. 3 illustrates example sub-folders 300 in accordance with some embodiments of the present disclosure. As shown in FIG. 3, inside block 302, on the top of block 302, the address line 304 shows the address of the sub-folders. For example, FIG. 3 shows the sub-folders of AGV 1. The left column 306 shows names of the sub-folders. The right column 308 shows the last modified time of the sub-folders.
[0054] For example, the sub-folder 310 comprises information for an alarm history. The sub-folder 312 comprises information for an initialization backup. The sub-folder 314 comprises information for parameter backup. The sub-folder 316 comprises information for program backup. The sub-folder 318 comprises information for simultaneous localization and mapping (SLAM) backup. The sub-folder 320 comprises information for a AGV map. The sub-folder 322 comprises information for parameter configuration file of the AGV. The sub-folder 324 comprises information for a PLC code. The sub-folder 324 comprises information for a SLAM.
[0055] These sub-folders, in a combination or alone, may provide a management of an AGV, for example, for a configuration, update, backup, restoring, downloading and / or uploading operation related to the AGV via the user interface of the FMS. The FMS has the authority to access configuration files for all AGVs. AGVs are restricted to access only their own configuration file folders to maintain security and prevent cross-contamination of settings. The FMS may allow for modification of an AGV's configuration parameters. Once modified, these parameters can be saved and copied to other AGVs' configuration file folders, and then downloaded to the selected AGV. This feature supports efficient fleet- wide updates.
[0056] Each AGV's parameter configuration file may be backed up and restored. This is help for maintaining system integrity and allows operators to revert to original settings if necessary.
[0057] The use of QR codes to access user interface for configuring and monitoring the AGV can simplify the process of monitoring and managing AGVs. By scanning a QR code, users can bypass manual configuration of service information and directly open the monitoring page for an AGV. This provides a robust framework for AGV management, emphasizing ease of use, security, and efficiency. The use of QR codes and web-based user interfaces enhances accessibility and functionality. Version control and backup / restoration capabilities ensure reliability and flexibility in operations.
[0058] FIG. 4 illustrates an example 400 of copying selected sub-folders in accordance with some embodiments of the present disclosure. The FMS allows for the replication of the current AGV map file, parameter configuration file, programmable logic controller (PLC) program, and SLAM to other AGV configuration file folders. This is useful for maintaining consistency across the fleet, especially when updates or changes are made. Upon copying the AGV parameter files to a corresponding AGV configuration file folder, the FMS automatically modifies the file headers (file names) . This ensures that the files are correctly tailored to the specific AGV they are assigned to.
[0059] For example, the block 402 shows the sub-folders for the AGV 1 (as shown at 404) and the block 430 shows the sub-folders for the AGV 2 (as shown at 432) . On the left column 406 in block 402, the sub-folder 410, the sub-folder 412, the sub-folder 414, the sub-folder 416 and the sub-folder 418 are selected (as shown in dashed block 428) to be copied to sub-folders for AGV 2.
[0060] As shown, the sub-folder 410, the sub-folder 412, the sub-folder 414, the sub-folder 416 and the sub-folder 418 are copied to the left column 434 in block 430 which is for sub-folders for AGV 2, and these copied sub-folders are renamed as the sub-folder 440, the sub-folder 442, the sub-folder 444, the sub-folder 446 and the sub-folder 448.
[0061] When a user wants to configure the AGV 130 or manage the configuration files, the user may scan the QR code 132 and continue to the implementation phase. FIG. 5 illustrates an example user interface 500 of editing AGV map in accordance with some embodiments of the present disclosure. The FMS provides a centralized interface for managing various aspects of AGVs, including the ability to edit AGV map files. The FMS includes an interface that allows operators to open and edit AGV map files. This user interface has icons to edit map edges and map nodes, enabling users to make precise adjustments to the map.
[0062] Each AGV map file contains a header 502 that stores important information about the AGV, including its IP address 504. This makes it easy to identify which map file corresponds to which AGV. The map file header also includes a version number 506. This version number 506 is automatically incremented by 1 each time a change is made and saved. Version control is helpful for tracking changes and can ensure that the most up-to-date map is being used. Users can edit the specific details of map edges 508 and map nodes 510 within the AGV map. The map nodes may represent points of interest or decision points in the map. The map edges may represent the paths that connect these nodes. After making edits to the map, users can save their changes. These modifications are then reflected in the AGV's configuration file folder, so the current AGV map file is updated accordingly.
[0063] Similarly, the FMS is designed to increment the version number of the AGV map file by 1 each time a save operation is performed after making edits. This incremental versioning helps in tracking the history of changes and can be useful for troubleshooting or reverting to a previous version if needed. The FMS can ensure that the edited map file is synchronized with the AGV's configuration file folder. This means that the AGV will utilize the most recent version of the map file for its operations. The ability to edit and manage AGV map files from the FMS provides a centralized point of control. This can simplify the management of a fleet of AGVs and ensure consistency across all vehicles.
[0064] In summary, the FMS can serve as a comprehensive tool for managing AGV operations, including the critical task of map file editing and version control. By providing a user-friendly interface for these operations, the FMS can enhance the efficiency and reliability of AGV fleets.
[0065] FIG. 6 illustrates an example user interface 600 of editing configuration information in accordance with some embodiments of the present disclosure. The FMS can provide a user interface for editing and managing AGV parameters. The FMS may include a user interface that allows operators to open and edit AGV parameter configuration files.
[0066] Each AGV parameter file may contain a header section 602 that stores basic information about the AGV. This typically includes the AGV's IP address 604, which is used for identifying and communicating with the AGV. The header of the AGV parameter file also contains a version number 606. This number is automatically incremented by 1 each time a parameter is edited and saved. This version control feature is vital for tracking changes, ensuring that the most current parameters are used, and for reverting to previous versions if necessary.
[0067] Users can modify various parameters 610 for each AGV, such as communication settings 608, navigation settings, sensor configurations, speed limits, and safety protocols. These adjustments can be tailored to the specific needs of the AGV's tasks and environment. After making edits to the AGV parameters, users can save their changes by clicking icon 612 (apply and save) . These modifications are then reflected in the corresponding AGV configuration file folder, and thus can ensure that the AGV uses the updated parameters for its operations.
[0068] The FMS is designed to automatically increment the version number of the AGV parameter configuration file by 1 each time a save operation is performed after making edits. This helps maintain a clear record of changes and simplifies the process of identifying the most recent version. The FMS can ensure that the edited parameter file is synchronized with the AGV's configuration file folder. This synchronization is helpful for the AGV to operate with the most up-to-date settings.
[0069] In summary, the FMS can serve as a comprehensive tool for managing AGV operations, including the tasks of parameter editing and version control. By providing a centralized and user-friendly interface for these operations, the FMS can enhance the efficiency, reliability, and safety of AGV fleets.
[0070] FIG. 7 illustrates an example user interface 700 of configuration file management in accordance with some embodiments of the present disclosure. As shown in 702, user interface 700 is for managing AGV 1. In user interface 700, the user may click on icon 704 to copy AGV parameter. The user may click on icon 706 to back up the AGV parameter. The user may click on icon 708 to download the AGV parameter from the server to AGV 1. It is to be understood that these icons are only illustrative without limitations.
[0071] All in all, FIG. 2 to FIG. 7 describe a comprehensive system for managing AGVs through an FMS with integration to an FTP server. The FMS provides a function for FTP server configuration, in which an FTP server is set up on the FMS to facilitate file transfers and storage. The FMS further provides a function for creation of AGV configuration file folder, in which when an AGV is added to the FMS software, a dedicated configuration file folder is created on the FTP server. The folder name typically includes a number that corresponds to the AGV's IP address.
[0072] The FMS further provides a AGV configuration file folder structure, in which the AGV configuration file folder contains several subfolders and files, including one or more of: an alarm history folder; an initialization backup folder; a parameter backup folder; a program backup folder; an SLAM backup folder; a current AGV map file; a current AGV parameters configuration file; a current PLC program; a current SLAM map AGV.
[0073] The FMS further provides a function for a map file editing interface, in which an interface is provided to display AGV map file data. Each map editing file's header includes the AGV's IP address and the file's version number. Users can edit and save node and edge information, causing the version number to increment upon each save.
[0074] The FMS further provides a function for an AGV parameter configuration interface, in which the FMS allows for the display and editing of AGV parameter configuration files. The header contains the AGV's IP address and the file's version number, and the version is incremented after each edit and save.
[0075] The FMS further provides a function for an AGV file management interface for managing AGV files. The FMS further provides a function for file copying and header modification, in which AGV parameter files, PLC programs, and SLAM maps can be copied to other AGV configuration file folders. The header of the copied file is automatically updated to match the AGV in the destination folder.
[0076] The FMS further provides a function for backup and restoration function, in which current parameter files, PLC programs, and SLAM maps can be backed up to a specified folder with customizable names. Backup files can be selected and restored to the current AGV configuration file folder.
[0077] The FMS further provides a function for uploading AGV data function. The PLC program and SLAM map can be uploaded from the AGV to the corresponding AGV configuration file folder on the FTP server. The FMS further provides a function for downloading AGV data, in which operators can instruct a specific AGV to download the current parameter file, PLC program, and SLAM map from its configuration file folder to the AGV itself.
[0078] The FMS further provides a function for two-dimensional (2D) code generation. Each AGV has a unique 2D code generated, which contains the AGV's configuration information and the URL of the AGV monitoring web page. The code is physically affixed to the AGV.
[0079] The FMS further provides a function for AGV monitoring and configuration. By scanning the 2D code, users can directly access the AGV monitoring web page and ensure that the AGV is configured correctly according to the settings stored on the FTP.
[0080] The FMS offers a streamlined and automated approach to AGV management, from configuration and monitoring to version control and file management. It leverages modern technologies like FTP servers, web interfaces, and QR codes to create an efficient workflow for AGV operations.
[0081] By implementing the embodiments of FIGS. 2-7, the AGV configuration can be done on the FMS software installed on the FMS computer. After the completion of one AGV, it can be easily copied and distributed to other AGV, thereby saving the time. A QR code for each AGV can be generated to manage the information of the AGV in a unified manner. In some example embodiments, each AGV configuration file has version management, and can be backed up and restored, thereby more secure and efficient can be achieved. The controller program, SLAM map and other files of each AGV can be uploaded to FTP for saving and backup, and can also be copied and distributed to other AGVs, which is more convenient and efficient. The alarm and log files of each AGV can also be uploaded to FTP to facilitate the subsequent data analysis.
[0082] In some example embodiments, entering the webpage through the QR code can save the process of manually configuring the service information of AGV, instead, the AGV monitoring webpage can be opened directly. QR codes are more user-friendly and convenient than RFID tags or MAC addresses due to their visibility and easy scanning with smartphones. The QR code system simplifies the process of accessing and modifying AGV controller settings by directly linking the QR code to the FTP file of an AGV, eliminating manual FTP details input and facilitating updates or changes. The QR code are suitable for carrying out simple upgrades on older devices without having to purchase additional equipment, which is more suitable for some older AGV devices.
[0083] FIG. 8 illustrates a flowchart of an example method 800 for configuring an AGV in accordance with some embodiments of the present disclosure. For the purpose of a clear illustration, reference will be made in combination with FIG. 1A.
[0084] At 802, the server 110 provides a user interface for configuring the AGV 130 to a user in response to the QR code 132 associated with the AGV 130 being scanned by a user device. A user may use the device 120 to scan the QR code 132. The user may operate the icons on the user interface. At 804, the server 110 receives a user input for configuring the AGV 130 via the user interface from the device 120. For example, the user may select or edit some configuration parameters via user interface, and these selections or editions may be referred to as the user input. At 806, the sever 110 transmits configuration information for the AGV 130 based on the user input.
[0085] In some example embodiments, the server 110 may obtain default configuration information for the AGV 130. The server 110 may store the default configuration information in a configuration file folder in the server 110. The server 110 may generate the QR code 132 for accessing the user interface, and the QR code 132 may be attached to the AGV 130. These steps may happen prior to 802.
[0086] In some example embodiments, the configuration information for the AGV 130 may be based further on the default configuration information. The default configuration information in the configuration file folder may be stored in a plurality of sub-folders.
[0087] In some example embodiments, the plurality of sub-folders may comprise at least one of: an alarm history; an SLAM backup; a current SLAM map; a current AGV map; a current parameter configuration file of the AGV 130; a current PLC program; an initialization backup; a parameter backup; or a PLC program backup.
[0088] In some example embodiments, the user interface may display operation icons for editing the configuration information. The user interface may display a current motion information, fault information and alarm information of the AGV 130. The server may be an FTP server. The user interface may be a web page-based user interface.
[0089] In some example embodiments, the server 110 may receive an edition of at least one of an edges or a point of an AGV map file via the user interface. The server 110 may save the edition with an increasing version number of the AGV map file. In some example embodiments, a parameter configuration file of the AGV may correspond to an IP address of the AGV 130 and a version number of the parameter configuration file of the AGV 130.
[0090] In some example embodiments, the server 110 may receive an edition of a content of the parameter configuration file of the AGV 130 via the user interface. The server 110 may save the edition of the content with an increasing version number of the parameter configuration file of the AGV 130.
[0091] In some example embodiments, the AGV 130 may be a first AGV and the configuration file folder may be a first configuration file folder. The server 110 may create a second configuration file folder for a second AGV. The server 110 may receive a selection of sub-folders in the first configuration file folder. The server 110 may copy the selected sub-folders to the second configuration file folder. The server 110 may rename respective names of the selected sub-folders and respective version numbers of the parameter configuration file in the second configuration file folder.
[0092] In some example embodiments, the server 110 may receive a selection of sub-folders for backing up in the first configuration file folder via the user interface. The server 110 may back up configuration information corresponding to the selected sub-folders to a predetermined backup folder.
[0093] In some example embodiments, the server 110 may receive a selection of sub- folders for restoring in the first configuration file folder via the user interface. The server 110 may restore configuration information corresponding to the selected sub-folders from a predetermined restoring folder.
[0094] In some example embodiments, the server 110 may receive an uploading operation for uploading at least one of a current log, a current AVG map, a current SLAM map via the user interface. The server 110 may cause the AGV 130 upload the at least one of a current log, a current AVG map, a current SLAM map from the AGV 130 to the server.
[0095] By implementing the embodiments of the method 800, centralized configuration can be done in a server and configuration information can be sent separately to the AGVs. Therefore, configuring and / or updating the AGVs can be more efficient, and the time of AGV configuration can be reduced and the ability of AGV management can be improved. Configuring and / or updating the AGVs can be more efficient, and the time of AGV configuration can be reduced and the ability of AGV management can be improved.
[0096] Reference is made to FIG. 9, which illustrates a block diagram of an example apparatus 900 for configuring an AGV in accordance with some embodiments of the present disclosure. The apparatus 900 comprises a providing module 902 configured to provide, in response to a QR code associated with the AGV being scanned by a user device, a user interface for configuring the AGV to a user by a server associated with the QR code. The apparatus 900 further comprises a receiving module 904 configured to receive a user input for configuring the AGV via the user interface by the server. The apparatus 900 further comprises a transmitting module 906 configured to transmit configuration information for the AGV based on the user input by the sever to the AGV.
[0097] In some example embodiments, the apparatus 900 may further comprise a module configured to obtain default configuration information for the AGV. The apparatus 900 may further comprise a module configured to store the default configuration information in a configuration file folder in the server. The apparatus 900 may further comprise a module configured to generate the QR code for accessing the user interface, wherein the QR code is to be attached to the AGV.
[0098] In some example embodiments, the apparatus 900 may further comprise a module configured to receive an edition of at least one of an edges or a point of an AGV map file via the user interface. The apparatus 900 may further comprise a module configured to save the edition with an increasing version number of the AGV map file.
[0099] In some example embodiments, the apparatus 900 may further comprise a module configured to receive an edition of a content of the parameter configuration file of the AGV via the user interface. The apparatus 900 may further comprise a module configured to save the edition of the content with an increasing version number of the parameter configuration file of the AGV.
[0100] In some example embodiments, the AGV may be a first AGV and the configuration file folder may be a first configuration file folder. The apparatus 900 may further comprise a module configured to create a second configuration file folder for a second AGV. The apparatus 900 may further comprise a module configured to receive a selection of sub-folders in the first configuration file folder. The apparatus 900 may further comprise a module configured to copy the selected sub-folders to the second configuration file folder. The apparatus 900 may further comprise a module configured to rename respective names of the selected sub-folders and respective version numbers of the parameter configuration file in the second configuration file folder.
[0101] In some example embodiments, the apparatus 900 may further comprise a module configured to receive a selection of sub-folders for backing up in the first configuration file folder via the user interface. The apparatus 900 may further comprise a module configured to back up configuration information corresponding to the selected sub-folders to a predetermined backup folder.
[0102] In some example embodiments, the apparatus 900 may further comprise a module configured to receive a selection of sub-folders for restoring in the first configuration file folder via the user interface. The apparatus 900 may further comprise a module configured to restore configuration information corresponding to the selected sub-folders from a predetermined restoring folder.
[0103] In some example embodiments, the apparatus 900 may further comprise a module configured to receive an uploading operation for uploading at least one of a current log, a current AVG map, a current SLAM map via the user interface. The apparatus 900 may further comprise a module configured to cause the AGV upload the at least one of a current log, a current AVG map, a current SLAM map from the AGV to the server.
[0104] By implementing the example embodiments of FIG. 9, similar to the advantages discussed above, configuring and / or updating the AGVs can be more efficient, and the time of AGV configuration can be reduced and the ability of AGV management can be improved. Centralized configuration can be done in a server and configuration information can be sent separately to the AGVs.
[0105] FIG. 10 illustrates a block diagram illustrating an electronic device 1000 in accordance with some embodiments of the present disclosure. As indicated, the device 1000 includes a central processing unit (CPU) 1001, which can execute various appropriate actions and processing based on the computer program instructions stored in a read-only memory (ROM) 1002 or the computer program instructions loaded into a random access memory (RAM) 1003 from a storage unit 1008. The RAM 1003 also stores all kinds of programs and data required by operating the electronic device 1000. CPU 1001, ROM 1002 and RAM 1003 are connected to each other via a bus 1004, to which an input / output (I / O) interface 1005 is also connected.
[0106] A plurality of components in the device 1000 are connected to the I / O interface 1005, comprising: an input unit 1006, such as a keyboard, a mouse and the like; an output unit 1007, such as various types of displays, loudspeakers and the like; a storage unit 1008, such as a storage disk, an optical disk and the like; and a communication unit 1009, such as a network card, a modem, a wireless communication transceiver and the like. The communication unit 1009 allows the device 1000 to exchange information / data with other devices through computer networks such as Internet and / or various telecommunication networks.
[0107] Each procedure and processing described above, such as the method 800, can be executed by a processing unit 1001. For example, in some embodiments, the method 800 can be implemented as computer software programs, which are tangibly included in a machine-readable medium, such as a storage unit 1008. In some embodiments, the computer program can be partially or completely loaded and / or installed to the device 1000 via the ROM 1002 and / or the communication unit 1009. When the computer program is loaded to the RAM 1003 and executed by the CPU 1001, one or more steps of the above described method 800 are implemented. Alternatively, in other embodiments, the CPU 1001 may also be configured in any proper manner to implement the above process / method.
[0108] The present disclosure may be a method, a device, a system and / or a computer program product. The computer program product can include a computer-readable storage medium loaded with computer-readable program instructions thereon for executing various aspects of the present disclosure.
[0109] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (anon-exhaustive list) of the computer readable storage medium would include: a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , a static random access memory (SRAM) , a portable compact disc read-only memory (CD-ROM) , a digital versatile disk (DVD) , a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination thereof. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable) , or electrical signals transmitted through a wire.
[0110] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium, or downloaded to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0111] Computer readable program instructions for carrying out operations of the present disclosure may be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) . In some embodiments, by means of state information of the computer readable program instructions, an electronic circuitry including, for example, programmable logic circuitry (PLC) , field-programmable gate arrays (FPGA) , or programmable logic arrays (PLA) can be personalized to execute the computer readable program instructions, thereby implementing various aspects of the present disclosure.
[0112] Aspects of the present disclosure are described herein with reference to flowchart and / or block diagrams of methods, apparatus (systems) , and computer program products according to embodiments of the present disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0113] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which are executed via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.
[0114] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which are executed on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0115] The flowchart and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, snippet, or portion of codes, which comprises one or more executable instructions for implementing the specified logical function (s) . In some alternative implementations, the functions noted in the block may be implemented in an order different from those illustrated in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or by combinations of special purpose hardware and computer instructions.
[0116] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.
[0117] A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
[0118] It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiment. Details are not described herein again.
[0119] In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
[0120] The units described as separate parts may be or may not be physically separate, and parts displayed as units may be or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
[0121] In addition, functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
[0122] When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer readable storage medium. Based on such an understanding, the technical solutions in this application essentially, or the part contributing to the prior art, or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in the embodiments of this application. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM) , a random access memory (Random Access Memory, RAM) , a magnetic disk, or an optical disc.
[0123] The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
Claims
1.A method for configuring an automated guided vehicle (AGV) , comprising:in response to a quick response (QR) code associated with the AGV being scanned by a user device, providing, by a server associated with the QR code, a user interface for configuring the AGV to a user;receiving, by the server, a user input for configuring the AGV via the user interface; andtransmitting, by the sever to the AGV, configuration information for the AGV based on the user input.2.The method of claim 1, further comprising:obtaining default configuration information for the AGV;storing the default configuration information in a configuration file folder in the server; andgenerating the QR code for accessing the user interface, wherein the QR code is used to be attached to the AGV.3.The method of claim 1, wherein the configuration information for the AGV is based further on the default configuration information, and the default configuration information in the configuration file folder is stored in a plurality of sub-folders, and the plurality of sub-folders comprises at least one of:an alarm history;a simultaneous localization and mapping (SLAM) backup;a current SLAM map;a current AGV map;a current parameter configuration file of the AGV;a current programmable logic controller (PLC) program;an initialization backup;a parameter backup; ora PLC program backup.4.The method of claim 3, wherein at least one of the following:the user interface displays operation icons for editing the configuration information;the user interface displays a current motion information, fault information and alarm information of the AGV;the server is a file transfer protocol (FTP) server; orthe user interface is a web page-based user interface.5.The method of claim 3, further comprising:receiving an edition of at least one of an edges or a point of an AGV map file via the user interface; andsaving the edition with an increasing version number of the AGV map file.6.The method of claim 3, wherein a parameter configuration file of the AGV corresponds to an internet protocol (IP) address of the AGV and a version number of the parameter configuration file of the AGV.7.The method of claim 6, further comprising:receiving an edition of a content of the parameter configuration file of the AGV via the user interface; andsaving the edition of the content with an increasing version number of the parameter configuration file of the AGV.8.The method of claim 3, wherein the AGV is a first AGV and the configuration file folder is a first configuration file folder, and wherein the method further comprises:creating a second configuration file folder for a second AGV;receiving a selection of sub-folders in the first configuration file folder;copying the selected sub-folders to the second configuration file folder; andrenaming respective names of the selected sub-folders and respective version numbers of the parameter configuration file in the second configuration file folder.9.The method of claim 1, further comprising:receiving a selection of sub-folders for backing up in the first configuration file folder via the user interface; andbacking up configuration information corresponding to the selected sub-folders to a predetermined backup folder.10.The method of claim 1, further comprising:receiving a selection of sub-folders for restoring in the first configuration file folder via the user interface;restoring configuration information corresponding to the selected sub-folders from a predetermined restoring folder.11.The method of claim 10, further comprising:receiving an uploading operation for uploading at least one of a current log, a current AVG map, a current SLAM map via the user interface; andcausing the AGV upload the at least one of a current log, a current AVG map, a current SLAM map from the AGV to the server.12.An apparatus for configuring an automated guided vehicle (AGV) , comprising:a providing module configured to provide, in response to a quick response (QR) code associated with the AGV being scanned by a user device, a user interface for configuring the AGV to a user by a server associated with the QR code;a receiving module configured to receive a user input for configuring the AGV via the user interface by the server; anda transmitting module configured to transmit configuration information for the AGV based on the user input by the sever to the AGV.13.An electronic device, comprising:a processor; anda memory coupled to the processor, wherein the memory has instructions stored therein, and the instructions, when executed by the processor, cause the device to execute actions of any of claims 1-11.14.A computer-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform a method of any of claims 1-11.15.A computer program product having instructions stored therein, which when executed by a processor, cause the processor to perform a method of any of claims 1-11.
Citation Information
Patent Citations
Interaction system for intelligent robot and client based on artificial intelligence
CN105072143A
Factory material and equipment management system
CN115578031A
Automated guided vehicle configuration
CN117642706A
Application Group Operation Method and Terminal
US20190391822A1