Multi-AGV distributed architecture scheduling method
By setting up servers and clients in each AGV, and using wireless network modules to realize communication and server switching between AGVs, the production stagnation caused by industrial control machine failures is solved, and the operation efficiency of AGV and the smoothness of production lines are improved.
Patent Information
- Application Number
- CN202310063294.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-13
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2043-01-13
AI Technical Summary
Traditional AGV scheduling systems rely on industrial control machines. Failure or restart will cause production stagnation, especially in factories without MES systems and manual call systems, AGV cannot complete the delivery task.
Multi-AGV distributed architecture scheduling method is adopted. Each AGV contains a server and a client, and communicates through wireless network modules to realize the switching of AGV servers and clients in the area, ensuring high availability of the system.
It solves the production stagnation problem caused by industrial control machine failure in traditional systems, and improves the operation efficiency of AGV and the flow of production lines.
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of AGV scheduling methods, and in particular relates to a multi-AGV distributed architecture scheduling method. Background Art
[0002] At present, the AGV dispatching system is generally deployed on a specific industrial computer in the work scene, and sends task information and path information to each AGV through the workshop's wireless network. It has high network requirements when in use. Once the industrial computer is restarted or the network fails, the on-site AGV will not be able to continue working and will need to be moved manually, slowing down the overall transportation efficiency of the logistics conveyor line.
[0003] Especially in some scenarios where high flexibility is required in transportation, that is, the operating environment where manual designation of the pickup or delivery location is often required, a complete MES system and manual call system are required. In some factories that are not equipped with these systems, AGV cannot complete the transportation task, or professional operators are required to operate the scheduling system at the industrial computer at any time. Summary of the invention
[0004] The present invention provides a multi-AGV distributed architecture scheduling method, which enables each AGV to serve as a server and a client, so as to solve the problem of production stagnation caused by problems or restarts of traditional industrial computers.
[0005] The present invention discloses a multi-AGV distributed architecture scheduling method, including a plurality of AGVs;
[0006] Each AGV includes:
[0007] Server and client;
[0008] Wireless network module, used for mutual communication between AGVs;
[0009] A controller having a storage unit therein, wherein the storage unit is used to store map information and setting information in the AGV usage scenario;
[0010] Traffic control module, including server traffic control module and client traffic control module, used to control the path action of AGV;
[0011] The path planning module constrains the starting point and the end point according to the map information of the usage scenario, so as to plan the path;
[0012] The navigation and positioning module can obtain the current position of the AGV and compare it with the map coordinates of the AGV usage scenario to determine the area where the AGV is currently located;
[0013] The scheduling method is:
[0014] S1: Divide the map information of the AGV usage scenario into several areas;
[0015] S2: If there is no AGV in a certain area, when the first AGV enters this area, it will be designated as the only server in this area after comparison and confirmation by the navigation and positioning module, and its server traffic control module will monitor whether there are other AGVs entering this area;
[0016] S3: When other AGVs enter this area again, they are identified as clients in this area after comparison by the navigation and positioning module;
[0017] S4: The client AGV and the server AGV in this area communicate in real time through the wireless network module;
[0018] Among them, the client AGV sends the information of occupied paths to the server AGV through the client traffic control module, and the server AGV feeds back the situation of each AGV occupying the path in this area through the server traffic control module;
[0019] S5: Each AGV determines the drivable range in this area and performs tasks through its own path planning module based on the location information of other AGVs and the occupied paths;
[0020] S6: When the server AGV leaves this area, an AGV in this area will be selected as the server to achieve the switching between the server and the client.
[0021] In some implementations, the region division method in S1 is:
[0022] Each AGV is equipped with a wireless network module, which divides the area according to the coverage range of its wireless network module to ensure that each AGV in the current area can communicate with each other, that is, in the absence of obstructions, communication can be achieved between the two farthest points within this area, and the network delay needs to be less than 100ms.
[0023] In some implementations, in the area division method in S1, overlapping areas are set between adjacent areas, and a first server port number and a second server port number are set in each area.
[0024] In some embodiments, the switching method of the server and the client in S6 is: the IP addresses of all AGVs are in the same network segment, and each AGV knows the IP addresses of all AGVs; the server AGV will obtain the AGV closest to its own IP address based on the IP addresses of the AGVs in this area, and designate the AGV as the next server.
[0025] In some implementations, the scheduling method for setting overlapping areas between adjacent areas is:
[0026] The client AGV and the server AGV enter the overlapping area and do not leave. At this time, the path planned by the path planning module is still within its area, and no adjustment is made at this time;
[0027] When the server AGV enters the overlapping area and the path planned by the path planning module shows that it will leave this area, the server AGV uses the first server port number and designates the AGV closest to its own IP address as the next server through its server traffic control module;
[0028] The AGV that will serve as the next server is turned on in server mode, and the second server port number is used to switch the server AGV that is about to leave to the client AGV through its server traffic control module;
[0029] The server AGV that is about to leave notifies all the remaining client AGVs in the area to switch servers through the client traffic control module and informs the IP address of the new server and the second server port number. All the remaining client AGVs will disconnect the current connection and try to establish a connection with the new server;
[0030] When the client AGV enters the overlapping area and the path planned by the path planning module shows that it will leave this area, the client AGV will notify the server AGV that has established a connection to disconnect.
[0031] In some implementations, the planning method of the path planning module is:
[0032] The path planning module integrates the A* path planning algorithm. When the AGV receives the task instruction, it can plan the shortest path to the target point through the A* path planning algorithm. However, the current AGV cannot obtain the path points occupied by other AGVs in the usage scenario, and can only obtain the path points occupied by other AGVs in the current area. Therefore, when the AGV enters a new area, it must re-plan based on the original path planning.
[0033] In some embodiments, the planning method of the path planning module is: each AGV plans a suitable path and calculates the area occupied by the AGV at the current moment and the safety area to ensure safe operation according to the current speed, action type, AGV body size and wheel system structure.
[0034] In some implementations, the control method of the traffic control module is:
[0035] In an area, when an AGV has occupied a certain path, other AGVs need to bypass the current AGV when planning a new path. If the occupied path cannot be bypassed, the AGV will wait at a suitable location for the AGV occupying the path to complete the task before proceeding with subsequent work.
[0036] In some embodiments, the setting information includes pickup point information, delivery point information, charging point information, and parking point information.
[0037] Compared with the prior art, the beneficial effects of the present invention are as follows: the scheduling method adopts a distributed structure of multiple AGVs, and cooperates with a system architecture in which each AGV can serve as a server and a client, thereby solving the problem that in the traditional scheduling method using an industrial computer, once the industrial computer has a system failure or restarts, it cannot operate, thereby greatly ensuring the operating efficiency of the AGV and improving the smoothness of the entire production line assembly line operation. DETAILED DESCRIPTION
[0038] Reference to "embodiments" in the present invention means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present invention. The appearance of the phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those of ordinary skill in the art that the embodiments described in the present invention may be combined with other embodiments without conflict.
[0039] The multi-AGV distributed architecture scheduling method includes a plurality of AGVs; each AGV includes: a server, a client, a wireless network module, a controller, a traffic control module, a path planning module, and a navigation and positioning module.
[0040] The wireless network module is used for mutual communication between AGVs.
[0041] A storage unit is provided in the controller, which is used to store map information and setting information in the AGV usage scenario; each AGV stores information on all feasible areas and pickup and delivery points in the usage scenario, as well as information on charging points and parking points. After manual confirmation, this information is edited by map editing software and saved in a specific format in the AGV controller to prepare for subsequent autonomous path planning.
[0042] The traffic control module includes a server traffic control module and a client traffic control module, which are used to control the path action of the AGV; the selection of the server traffic control module and the client traffic control module depends on whether the current AGV is used as a server or a client.
[0043] The path planning module constrains the starting point and the end point according to the map information of the usage scenario, so as to plan the path.
[0044] The navigation and positioning module can obtain the current position of the AGV and compare it with the map coordinates of the AGV usage scenario to determine the area where the AGV is currently located.
[0045] The scheduling method is:
[0046] S1: Divide the map information of the AGV usage scenario into several areas;
[0047] S2: If there is no AGV in a certain area, when the first AGV enters this area, it will be designated as the only server in this area after comparison and confirmation by the navigation and positioning module, and its server traffic control module will monitor whether there are other AGVs entering this area;
[0048] S3: When other AGVs enter this area again, they are identified as clients in this area after comparison by the navigation and positioning module;
[0049] S4: The client AGV and the server AGV in this area communicate in real time through the wireless network module;
[0050] Among them, the client AGV sends the information of occupied paths to the server AGV through the client traffic control module, and the server AGV feeds back the situation of each AGV occupying the path in this area through the server traffic control module;
[0051] S5: Each AGV determines the drivable range in this area and performs tasks through its own path planning module based on the location information of other AGVs and the occupied paths;
[0052] S6: When the server AGV leaves this area, an AGV in this area will be selected as the server to achieve the switching between the server and the client.
[0053] In some embodiments, the area division method in S1 is:
[0054] Each AGV is equipped with a wireless network module, and the area is divided according to the coverage of its wireless network module to ensure that each AGV in the current area can communicate with each other, that is, in the absence of obstructions, communication can be achieved between the two farthest points in this area, and the network delay needs to be less than 100ms. Since the coverage of each AGV wireless network module may be different, when dividing the area, the area is divided autonomously according to the size of the coverage, thereby avoiding the problem of inability to communicate or large communication delays between AGVs due to inaccurate area division.
[0055] In some embodiments, in the area division method in S1, in order to further ensure the reliability of communication, overlapping areas are set between adjacent areas, and a first server port number and a second server port number are set in each area.
[0056] In some embodiments, the switching method of the server and client in S6 is: the IP addresses of all AGVs are in the same network segment, and each AGV knows the IP addresses of all AGVs; the server AGV will obtain the AGV closest to its own IP address based on the IP address of the AGV in this area, and designate the AGV as the next server.
[0057] For example, the AGV server will calculate the AGV closest to its own IP address based on the fourth digit of the IP address of the AGV in the current area, and designate the AGV as the next server. At the same time, if the AGV that serves as a server in a certain area is lost, since each AGV knows the IP addresses of all AGVs, the AGV with the smallest fourth digit of the IP address in the current area will be designated as the server, and the information will be fed back to other AGVs, thereby achieving server switching.
[0058] In some embodiments, the scheduling method for setting overlapping areas between adjacent areas is:
[0059] The client AGV and the server AGV enter the overlapping area and do not leave. At this time, the path planned by the path planning module is still within its area, and no adjustment is made at this time;
[0060] When the server AGV enters the overlapping area and the path planned by the path planning module shows that it will leave this area, the server AGV uses the first server port number and designates the AGV closest to its own IP address as the next server through its server traffic control module;
[0061] The AGV that will serve as the next server is turned on in server mode, and the second server port number is used to switch the server AGV that is about to leave to the client AGV through its server traffic control module;
[0062] The server AGV that is about to leave notifies all the remaining client AGVs in the area to switch servers through the client traffic control module and informs the IP address of the new server and the second server port number. All the remaining client AGVs will disconnect the current connection and try to establish a connection with the new server;
[0063] When the client AGV enters the overlapping area and the path planned by the path planning module shows that it will leave this area, the client AGV will notify the server AGV that has established a connection to disconnect.
[0064] For example, let two adjacent areas be area 1 and area 2, and the overlapping area be area 3. The server port numbers of area 1 are PORT1 and PORT2, and the server port numbers of area 2 are PORT3 and PORT4.
[0065] The AGV can obtain the current position according to the navigation and positioning module, and compare it with the map coordinates saved in the storage unit in the controller to determine the area where the AGV is currently located.
[0066] When the AGV in area one enters area three, and the path planned by the path planning module is still within area one, no adjustment is made at this time.
[0067] When the server AGV in area 1 enters the overlapping area area 3, and the path planned by the path planning module shows that it will leave area 1 and enter area 2, the port number used by the server AGV in area 1 at this time is PORT1. The server AGV in area 1 specifies the AGV closest to its own IP address as the next server through its server traffic control module. If the AGV to be switched to the server replies that it is allowed, the server mode is turned on and its port number is set to PORT2, and the server AGV that is about to leave is switched to the client AGV through its server traffic control module. The server AGV that is about to leave notifies all the remaining client AGVs in the area to switch servers through the client traffic control module and informs the IP address of the new server with port number PORT2. All the remaining client AGVs will disconnect the current connection and try to establish a connection with the new server.
[0068] When the client AGV enters the overlapping area, area 3, and the path planned by the path planning module shows that it will leave area 1 and enter area 2, the client AGV will notify the server AGV that has established a connection to disconnect.
[0069] The AGV enters the overlapping area, Area 3, and the path planned by the path planning module shows that it will leave Area 1 and enter Area 2, and has disconnected from other AGVs in Area 1. At this time, the AGV will try to connect to the fixed port number of Area 2 and the combination of all AGV IP addresses in its area as a client. If there is no way to establish a connection, it proves that there is no AGV in the current area. This AGV runs the server program and runs as a server in Area 2. If a connection is established with another AGV during the process of trying to connect as a client, this AGV runs as a client and communicates with the AGV as a server to ensure operation within Area 2.
[0070] In some embodiments, the planning method of the path planning module is:
[0071] The path planning module integrates the A* path planning algorithm. When the AGV receives the task instruction, it can plan the shortest path to the target point through the A* path planning algorithm. However, the current AGV cannot obtain the path points occupied by other AGVs in the usage scenario, and can only obtain the path points occupied by other AGVs in the current area. Therefore, when the AGV enters a new area, it must re-plan based on the original path planning.
[0072] In some embodiments, the planning method of the path planning module is: each AGV plans a suitable path according to the current speed, action type, AGV body size and wheel system structure, and calculates the area occupied by the AGV at the current moment and the safety area to ensure safe operation.
[0073] In some embodiments, the control method of the traffic control module is:
[0074] In an area, when an AGV has occupied a certain path, other AGVs need to bypass the current AGV when planning a new path. If the occupied path cannot be bypassed, the AGV will wait at a suitable location for the AGV occupying the path to complete the task before proceeding with subsequent work.
[0075] In some embodiments, the setting information includes pickup point information, delivery point information, charging point information, and parking point information.
[0076] Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent substitutions for some of the technical features therein; and these modifications or substitutions do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A multi-AGV distributed architecture scheduling method, characterized in that: Including several AGVs; Each AGV includes: Server and client; Wireless network module, used for mutual communication between AGVs; A controller having a storage unit therein, wherein the storage unit is used to store map information and setting information in the AGV usage scenario; Traffic control module, including server traffic control module and client traffic control module, used to control the path action of AGV; The path planning module constrains the starting point and the end point according to the map information of the usage scenario, so as to plan the path; The navigation and positioning module can obtain the current position of the AGV and compare it with the map coordinates of the AGV usage scenario to determine the area where the AGV is currently located; The scheduling method is: S1: Divide the map information of the AGV usage scenario into several areas; S2: If there is no AGV in a certain area, when the first AGV enters this area, it will be designated as the only server in this area after comparison and confirmation by the navigation and positioning module, and its server traffic control module will monitor whether there are other AGVs entering this area; S3: When other AGVs enter this area again, they are identified as clients in this area after comparison by the navigation and positioning module; S4: The client AGV and the server AGV in this area communicate in real time through the wireless network module; Among them, the client AGV sends the information of occupied paths to the server AGV through the client traffic control module, and the server AGV feeds back the situation of each AGV occupying the path in this area through the server traffic control module; S5: Each AGV determines the drivable range in this area and performs tasks through its own path planning module based on the location information of other AGVs and the occupied paths; S6: When the server AGV leaves this area, an AGV in this area will be selected as the server to achieve the switching between the server and the client.
2. The multi-AGV distributed architecture scheduling method according to claim 1, characterized in that: The area division method in S1 is: Each AGV is equipped with a wireless network module, which divides the area according to the coverage range of its wireless network module to ensure that each AGV in the current area can communicate with each other, that is, in the absence of obstructions, communication can be achieved between the two farthest points within this area, and the network delay needs to be less than 100ms.
3. The multi-AGV distributed architecture scheduling method according to claim 1, characterized in that: In the area division method in S1, overlapping areas are set between adjacent areas, and a first server port number and a second server port number are set in each area.
4. The multi-AGV distributed architecture scheduling method according to claim 3 is characterized in that: The switching method of the server and the client in S6 is: the IP addresses of all AGVs are in the same network segment, and each AGV knows the IP addresses of all AGVs; the server AGV will obtain the AGV closest to its own IP address based on the IP addresses of the AGVs in this area, and designate the AGV as the next server.
5. The multi-AGV distributed architecture scheduling method according to claim 4, characterized in that: The scheduling method for setting overlapping areas between adjacent areas is: The client AGV and the server AGV enter the overlapping area and do not leave. At this time, the path planned by the path planning module is still within its area, and no adjustment is made at this time; When the server AGV enters the overlapping area and the path planned by the path planning module shows that it will leave this area, the first server port number used by the server AGV will designate the AGV closest to its own IP address as the next server; The AGV that will serve as the next server will start the server mode, and use the second server port number to switch the server AGV that is about to leave to the client AGV; The server AGV that is about to leave notifies all the remaining client AGVs in the area to switch servers and informs them of the IP address of the new server and the port number of the second server. All the remaining client AGVs will disconnect the current connection and try to establish a connection with the new server; When the client AGV enters the overlapping area and the path planned by the path planning module shows that it will leave this area, the client AGV will notify the server AGV that has established a connection to disconnect.
6. The multi-AGV distributed architecture scheduling method according to claim 1, characterized in that: The planning method of the path planning module is: The path planning module integrates the A* path planning algorithm. When the AGV receives the task instruction, it can plan the shortest path to the target point through the A* path planning algorithm. However, the current AGV cannot obtain the path points occupied by other AGVs in the usage scenario, and can only obtain the path points occupied by other AGVs in the current area. Therefore, when the AGV enters a new area, it must re-plan based on the original path planning.
7. The multi-AGV distributed architecture scheduling method according to claim 1, characterized in that: The planning method of the path planning module is as follows: each AGV plans a suitable path according to the current speed, action type, AGV body size and wheel system structure, and calculates the area occupied by the AGV at the current moment and the safety area to ensure safe operation.
8. The multi-AGV distributed architecture scheduling method according to claim 1, characterized in that: The control method of the traffic control module is: In an area, when an AGV has occupied a certain path, other AGVs need to bypass the current AGV when planning a new path. If the occupied path cannot be bypassed, the AGV will wait at a suitable location for the AGV occupying the path to complete the task before proceeding with subsequent work.
9. The multi-AGV distributed architecture scheduling method according to claim 1, characterized in that: The setting information includes pickup point information, delivery point information, charging point information, and parking point information.
Citation Information
Patent Citations
AGV control system and method based on edge computing
CN109213161A
AGV (Automated Guided Vehicle) remote monitoring system
CN109634187A