Method for controlling automated guided vehicle, related device and computer program product
By detecting the path adjustment and obstacle update after the automatic guide vehicle completes the task at the target position, the automatic guide vehicle is efficiently controlled in the industrial environment, improving its utilization efficiency and safety.
Patent Information
- Application Number
- CN202411764454.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-03
- Publication Date
- 2025-03-11
AI Technical Summary
How to more effectively control the automatic guide vehicle to improve its utilization efficiency in industrial environments, especially in the face of path adjustment after the target position task is completed and the existence of obstacles.
A method for controlling an automatic guide vehicle is proposed, including controlling its movement with a first path after detecting that the automatic guide vehicle has completed its task at a target position; obtaining the current position of the automatic guide vehicle; if the position is the first path end point or the second path position, switch to the second path to control its movement. At the same time, the path is updated based on the obstacle position to ensure that the automatic guide vehicle can complete the task safely and effectively.
By dynamically adjusting the path, the automatic guided vehicle can make more efficient use of resources, improve logistics efficiency, reduce labor costs, and reduce losses and errors during transportation.
Smart Images

Figure CN119596947A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, specifically to the field of artificial intelligence technology such as automated guided vehicles, operation control, and intelligent logistics, and especially to methods, devices, electronic equipment, computer-readable storage media, and computer program products for controlling automated guided vehicles. Background Art
[0002] An automated guided vehicle (AGV) is a mobile robot equipped with an electronic guidance system that can automatically travel along a predetermined guidance path and transport materials between a starting point and an end point.
[0003] Generally, AGV can be used in logistics and warehouse management in industrial environments to improve logistics efficiency, reduce labor costs, and reduce losses and errors in material handling. Therefore, how to use AGV more efficiently is worthy of attention and urgent need. Summary of the invention
[0004] The embodiments of the present disclosure provide a method, an apparatus, an electronic device, a computer-readable storage medium, and a computer program product for controlling an automatic guided vehicle.
[0005] In a first aspect, an embodiment of the present disclosure proposes a method for controlling an automated guided vehicle, comprising: in response to detecting that the automated guided vehicle completes a corresponding task at a target position, controlling the movement of the automated guided vehicle along a first path; in response to a second path that has been planned from the target position to a desired position, obtaining a first position where the automated guided vehicle is currently located; in response to the first position being the end position of the first path or the first position being a position in the second path, controlling the movement of the automated guided vehicle along the second path starting from the first position.
[0006] In some embodiments, the method further includes acquiring an obstacle within a preset distance range of the automated guided vehicle; in response to the obstacle being located in the first path, updating the first path based on the position of the obstacle to obtain an updated first path, wherein the end point of the updated first path is located before the obstacle; controlling the movement of the automated guided vehicle using the updated first path as a replacement for the first path; and in response to the first position being the end point of the first path or the first position being a position in the second path, controlling the movement of the automated guided vehicle starting from the first position using the second path, including: in response to the first position being the end point of the updated first path or the first position being a position in the second path, controlling the movement of the automated guided vehicle starting from the first position using the second path.
[0007] In some embodiments, the method further includes: updating the second path based on the position of the obstacle and the updated end position of the first path; and controlling the movement of the automatic guided vehicle along the second path starting from the first position in response to the first position being the updated end position of the first path or the first position being a position in the second path, including: controlling the movement of the automatic guided vehicle along the updated second path starting from the first position in response to the first position being the updated end position of the first path or the first position being a position in the updated second path.
[0008] In some embodiments, the method further includes: updating the first path and / or the second path used to control other automated guided vehicles based on the position of the obstacle to obtain a corresponding updated first path and / or an updated second path.
[0009] In some embodiments, the above method also includes: in response to receiving clearance information for an obstacle, based on the position of the obstacle, restoring the updated first path and / or updated second path used to control other automatic guided vehicles to obtain the corresponding updated first path and / or updated second path.
[0010] In some embodiments, the method further includes: in response to receiving a path setting instruction, setting the first path based on an instruction of the path setting instruction.
[0011] In some embodiments, the method further includes: in response to the automated guided vehicle having reached the end position of the first path and currently unable to plan a second path from the target position to the desired position, controlling the automated guided vehicle to stay at the end position.
[0012] In some embodiments, the method further includes: in response to the automated guided vehicle deviating from the first path while being controlled by the first path, updating the first path based on the current third position of the automated guided vehicle; and controlling the movement of the automated guided vehicle using the updated first path.
[0013] In some embodiments, the first path and the second path have the same starting point, and the first path is a sub-path of the second path.
[0014] In a second aspect, an embodiment of the present disclosure proposes a device for controlling an automatic guided vehicle, comprising: a first control unit, configured to control the movement of the automatic guided vehicle along a first path in response to detecting that the automatic guided vehicle completes a corresponding task at a target position; a first position acquisition unit, configured to acquire a first position where the automatic guided vehicle is currently located in response to a second path that has been planned from the target position to the desired position; and a second control unit, configured to control the movement of the automatic guided vehicle along a second path starting from the first position in response to the first position being the end position of the first path or the first position being a position in the second path.
[0015] In some embodiments, the above-mentioned device also includes: an obstacle acquisition unit, configured to acquire obstacles located within a preset distance range of the automatic guided vehicle; a first path updating unit, configured to update the first path based on the position of the obstacle in response to the obstacle being located in the first path, to obtain an updated first path, wherein the end position of the updated first path is located before the obstacle; a third control unit, configured to control the movement of the automatic guided vehicle using the updated first path as a substitute for the first path; and a second control unit, further configured to control the movement of the automatic guided vehicle using the second path starting from the first position in response to the first position being the end position of the updated first path or the first position being a position in the second path.
[0016] In some embodiments, the above-mentioned device also includes: a second path updating unit, configured to update the second path based on the position of the obstacle and the end position of the updated first path; and a second control unit, further configured to control the movement of the automatic guided vehicle starting from the first position with the updated second path in response to the first position being the end position of the updated first path or the first position being the position in the updated second path.
[0017] In some embodiments, the above-mentioned device also includes: a third path updating unit, which is configured to update the first path and / or the second path used to control other automatic guided vehicles based on the position of the obstacle to obtain the corresponding updated first path and / or updated second path.
[0018] In some embodiments, the above-mentioned device also includes: a fourth path updating unit, which is configured to restore the updated first path and / or the updated second path used to control other automatic guided vehicles based on the position of the obstacle in response to receiving clearance information for the obstacle, and obtain the corresponding updated first path and / or updated second path.
[0019] In some embodiments, the above apparatus further includes: a first path setting unit configured to, in response to receiving a path setting instruction, set the first path based on an instruction of the path setting instruction.
[0020] In some embodiments, the above-mentioned device also includes: a stop control unit, which is configured to control the automatic guided vehicle to stop at the end position in response to the automatic guided vehicle having reached the end position of the first path and currently unable to plan a second path from the target position to the desired position.
[0021] In some embodiments, the above-mentioned device also includes: a fifth path updating unit, configured to update the first path based on the current third position of the automatic guided vehicle in response to the automatic guided vehicle deviating from the first path while being controlled by the first path; and a fourth control unit, configured to control the movement of the automatic guided vehicle with the updated first path.
[0022] In some embodiments, the first path and the second path have the same starting point, and the first path is a sub-path of the second path.
[0023] In a third aspect, an embodiment of the present disclosure provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that when the at least one processor executes, it is possible to implement the method for controlling an automatic guided vehicle as described in any implementation method in the first aspect.
[0024] In a fourth aspect, an embodiment of the present disclosure provides a non-transitory computer-readable storage medium storing computer instructions, which are used to enable a computer to implement the method of controlling an automatic guided vehicle as described in any implementation method of the first aspect when executed.
[0025] In a fifth aspect, an embodiment of the present disclosure provides a computer program product comprising a computer program, which, when executed by a processor, can implement the method for controlling an automatic guided vehicle as described in any implementation manner in the first aspect.
[0026] The method, device, electronic device, computer-readable storage medium and computer program product for controlling an automated guided vehicle provided by the embodiments of the present disclosure control the movement of the automated guided vehicle along a first path in response to detecting that the automated guided vehicle has completed a corresponding task at a target position; obtain the current first position of the automated guided vehicle in response to a second path from the target position to a desired position that has been planned; and control the movement of the automated guided vehicle along a second path starting from the first position in response to the first position being the end position of the first path or the first position being a position in the second path. In this way, the automated guided vehicle can be controlled more effectively and the utilization efficiency of the automated guided vehicle can be improved.
[0027] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Other features, objects and advantages of the present disclosure will become more apparent from the detailed description of non-limiting embodiments made with reference to the following drawings:
[0029] Figure 1 is an exemplary system architecture in which the present disclosure may be applied;
[0030] Figure 2 A flowchart of a process of controlling an automatic guided vehicle provided by an embodiment of the present disclosure;
[0031] Figure 3 A flowchart of another process of controlling an automatic guided vehicle provided by an embodiment of the present disclosure;
[0032] Figure 4 A schematic diagram of an architecture for implementing a process of controlling an automatic guided vehicle in an application scenario provided by an embodiment of the present disclosure;
[0033] Figure 5 A structural block diagram of a device for controlling an automatic guided vehicle provided in an embodiment of the present disclosure;
[0034] Figure 6 A schematic diagram of the structure of an electronic device suitable for executing a method for controlling an automatic guided vehicle provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0035] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description. It should be noted that the embodiments in the present disclosure and the features in the embodiments may be combined with each other without conflict.
[0036] Figure 1 An exemplary system architecture 100 is shown to which embodiments of the method, apparatus, electronic device, and computer-readable storage medium for controlling an automated guided vehicle of the present disclosure may be applied.
[0037] like Figure 1As shown, the system architecture 100 may include automated guided vehicles 101, 102, 103, a network 104, and a server 105. The network 104 is used to provide a medium for communication links between the automated guided vehicles 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.
[0038] Accordingly, the server 105 can control the actions of the automatic guided vehicles 101, 102, 103 by issuing corresponding action instructions and paths to the automatic guided vehicles 101, 102, 103. For example, the automatic guided vehicles 101, 102, 103 can "follow" and "move" independently or under the control of the server 105 according to the paths issued by the server 105.
[0039] In some scenarios, users can also use terminal devices (not shown) to interact with the server 105 through the network 104, or directly interact with the automatic guided vehicles 101, 102, 103 to control the automatic guided vehicles 101, 102, 103.
[0040] Figure 1 The server 105 shown in the figure and the terminal device used by the user can be hardware or software. When the terminal device is hardware, it can be various electronic devices with a display screen, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, etc.; when the terminal device is software, it can be installed in the electronic devices listed above, which can be implemented as multiple software or software modules, or as a single software or software module, which is not specifically limited here. When the server 105 is hardware, it can be implemented as a distributed server cluster composed of multiple servers, or as a single server; when the server is software, it can be implemented as multiple software or software modules, or as a single software or software module, which is not specifically limited here.
[0041] It should be noted that in some scenarios, if the automatic guided vehicles 101, 102, 103 have path planning, mobile control and other capabilities locally (for example, the automatic guided vehicles 101, 102, 103 can complete path planning locally), in such a case, the automatic guided vehicles 101, 102, 103 can control the process of the automatic guided vehicles through their local path planning and mobile control capabilities. In this case, the exemplary system architecture 100 may also not include the network 104 and the server 105.
[0042] In order to simplify the configuration requirements of the automatic guided vehicle, or for actual usage needs (for example, simultaneously scheduling and controlling multiple automatic guided vehicles), the method of controlling the automatic guided vehicle provided in the subsequent embodiments of the present disclosure is generally executed by a server 105 with stronger computing power and more computing resources. Accordingly, the device for controlling the automatic guided vehicle is generally also set in the server 105.
[0043] It should be understood that Figure 1 The number of automatic guided vehicles, networks and servers in the embodiment is only for illustration. Any number of automatic guided vehicles, networks and servers may be provided as required.
[0044] Please refer to the following Figure 2 , Figure 2 A flowchart of a process of controlling an automatic guided vehicle is provided for an embodiment of the present disclosure, including process 200.
[0045] The process 200 specifically includes the following steps:
[0046] Step 201: In response to detecting that the automated guided vehicle completes a corresponding task at a target location, controlling the automated guided vehicle to move along a first path;
[0047] In the embodiments of the present disclosure, for example Figure 1 The server 105 shown is used as an execution subject of the method for controlling an automated guided vehicle for exemplary description. It should be understood that the selection of the execution subject is only an exemplary description for convenience of understanding and is not intended to be limiting.
[0048] It should be understood that in the embodiments of the present disclosure, the automated guided vehicle can achieve guidance, navigation and tracking by means of, for example, magnetic tape guidance (navigation), laser guidance (navigation), visual guidance (navigation), inertial guidance (navigation), radio frequency identification guidance (navigation), and QR code / bar code guidance (navigation). For example, in the case of laser guidance, the automated guided vehicle can determine the current position and path by scanning the surrounding environment and comparing it with surrounding reflective markers.
[0049] In the embodiments of the present disclosure, the execution subject can detect whether the automatic guided vehicle at the target location has completed the task that should be completed at the target location. The task can be, for example, a cargo delivery task, a cargo receiving task, a task of waiting for cargo processing to be completed, etc. in combination with specific scenarios.
[0050] For example, in a logistics station scenario, the target location may be a cargo delivery location of a workstation. Accordingly, the task corresponding to the target location may be a "cargo delivery task".
[0051] For example, a manipulator may be provided at the target position, and the manipulator may grab and obtain the "goods" transported from the shelf by the automated guided vehicle. Accordingly, if the manipulator completes the acquisition and grabbing of the goods, the automated guided vehicle may be determined to have completed the task at the (target) position.
[0052] For ease of understanding, the following will be exemplified by the scenario of "logistics station". It should be understood that this scenario is only an example made for ease of understanding and is not intended to limit the scenario used in the present disclosure.
[0053] Next, if the executing entity detects that the automatic guided vehicle has completed the corresponding task at the target position (for example, the executing entity can determine that the automatic guided vehicle has completed the corresponding task based on the analysis of the captured image, or the task completion signal transmitted by, for example, a robot), the executing entity can choose to control the movement of the automatic guided vehicle along the first path to control the guided vehicle to leave the above-mentioned "target position".
[0054] The direction and length of the first path can be preset based on different scenarios. Through the first path, the execution subject can control the AGV that has completed the corresponding task to leave the "target position" first, so as to avoid the AGV mistakenly occupying the "target position" due to waiting for subsequent instructions (for example, instructions related to the next round of cargo delivery tasks), and mistakenly restricting other AGVs from using the "target position".
[0055] In some optional implementations of this embodiment, the first path may be set by, for example, an operation and maintenance personnel or a management personnel of a logistics station. For example, the operation and maintenance personnel or the logistics station may set the first path based on the physical space structure and layout of the logistics station.
[0056] For example, the first path may be a "must-go path" from the target location to the next task. For example, the first path may be a path that the automated guided vehicle must take when it leaves the "target location". For example, when the target location is within a "space", the first path may be a "must-go path" from the target location to the exit of the "space" to the next task, such as the shelf location.
[0057] On this basis, for example, operation and maintenance personnel, management personnel of logistics stations, etc. can set the first path by sending a path setting instruction to the execution subject. Accordingly, the execution subject can set the first path based on the instructions of the path setting instruction after receiving the path setting instruction.
[0058] For example, for the target location exemplified as a cargo delivery location, if it corresponds to a unique "exit path", that is, a unique path leaving the cargo delivery location, then the unique path, or the unique path and the end point of the unique path can be extended outward as the first path.
[0059] As a result, operation and maintenance personnel, logistics station managers, etc. can control the automated guided vehicle based on actual needs to complete the next path in a timely manner or at least partially after completing the task at the target location, so as to improve the circulation efficiency of the automated guided vehicle.
[0060] In some optional implementations of this embodiment, the automated guided vehicle may unexpectedly "derail" due to some emergencies in the physical environment. For example, in the process of controlling the automated guided vehicle using the first path, the automated guided vehicle may be located at a third position outside the first path due to an unexpected, accidental collision.
[0061] In such a case, the execution subject may respond thereto, that is, the execution subject may choose to update the first path based on the third position where the automated guided vehicle is currently located in response to the automated guided vehicle deviating from the first path while being controlled by the first path.
[0062] For example, the execution entity may update the first path based on the third position of the automated guided vehicle, so that the updated first path can "pass through" the third position. In response, the execution entity may continue to control the movement of the automated guided vehicle using the updated first path, so that it can continue to move from the third position to the end position of the originally set first path.
[0063] In this way, it can be ensured that the automated guided vehicle can complete the "first path" more safely and reliably and reach the corresponding "end position".
[0064] Step 202: In response to the second path from the target position to the desired position being planned, obtaining the first position where the automatic guided vehicle is currently located;
[0065] In an embodiment of the present disclosure, if a second path from the target location to the desired location is planned (for example, planned by an execution entity or other third-party device independent of the execution entity, and used to control and instruct the automatic guided vehicle on the next action or task of the second path), the execution entity can obtain the first position where the automatic guided vehicle is currently located.
[0066] Typically, the second path may include the end point of the first path, so that the automated guided vehicle can be controlled and implemented along the second path at least after completing the first path.
[0067] In some scenarios, if the second path does not include the end point of the first path, the execution entity may update the second path so that the updated second path includes the end point.
[0068] In some optional implementations of this embodiment, the second path has the same starting point as the first path, and the first path is a subpath of the second path, that is, the first path can have the same starting point as the second path and is at least a section of the second path, or at least a part of the second path. Thus, the automated guided vehicle can complete a part of the second path in advance based on the first path, so as to move to the desired position earlier and faster.
[0069] In other words, the second path may completely include the first path. For example, the starting point of the second path may be the same as the starting point of the first path (for example, both starting points are at the "target position" discussed above). Furthermore, for the planned second path, the second path may completely include the first path, that is, the first path is at least a part of the second path.
[0070] In this way, not only can the first path be "seamlessly" switched to the second path, reducing and avoiding the potential "ineffective movement" due to the difference between the first path and the second path, but also the second path can be planned with better quality and efficiency with reference to the first path. For example, the second path can also be planned based on the first path. For example, if the first path is a preset "must-pass path", when planning the second path, after planning the path between the end position of the first path and the desired position, the second path can be obtained based on the combination of the path and the first path.
[0071] In this way, not only the planning cost for the second path can be reduced, but also the first path can be completely included in the second path.
[0072] As discussed above, the desired location may be related to the next task of the automated guided vehicle. For example, in the above scenario, the desired location may be a "shelf" that can provide the next round of goods that need to be transported.
[0073] For another example, if the next task is, for example, "recovering the automated guided vehicle," the desired location may actually be a guided vehicle parking location in a yard for storing automated guided vehicles.
[0074] Accordingly, for example, when the executing entity determines the grid position in the shelf used to provide goods for the next round of tasks (usually, the grid position can be the "optimal" grid position for the automated guided vehicle planned based on parameters such as task priority and the distance from the automated guided vehicle), the grid position can be used as the "expected position" to plan the "second path" to guide the automated guided vehicle.
[0075] Accordingly, if the execution subject determines that a second path for the automated guided vehicle has been planned, or in other words, has been obtained, for going to and executing the next round of tasks, the execution subject can obtain the first position where the automated guided vehicle is currently located.
[0076] Typically, the execution subject can determine the current first position of the automatic guided vehicle through communication with the automatic guided vehicle, based on a positioning device set on the automatic guided vehicle, and / or devices such as cameras in the scene.
[0077] Then, the execution subject determines whether the first position is the end position of the first path, that is, whether the execution subject has completed the first path; and determines whether the first position is a position in the second path.
[0078] Step 203: In response to the first position being the end position of the first path or the first position being a position in the second path, starting from the first position, the automated guided vehicle is controlled to move along the second path.
[0079] In the embodiments of the present disclosure, if the first position is the end position of the first path, or the first position is a position in the second path, the execution subject can respond to this and determine that the automated guided vehicle has completed the first path, or the automated guided vehicle is currently in the "second path". Accordingly, the execution subject can choose to start from the first position and control the movement of the automated guided vehicle along the second path to achieve the "second path".
[0080] For example, if the automated guided vehicle reaches the end position of the first path, the execution entity can continue to select the second path as a continuation of the first path to control the automated guided vehicle so that the automated guided vehicle starts to move along the second path to the "desired position".
[0081] The method for controlling an automated guided vehicle provided by the disclosed embodiment controls the movement of the automated guided vehicle along a first path in response to detecting that the automated guided vehicle completes a corresponding task at a target position; obtains the current first position of the automated guided vehicle in response to a second path from the target position to a desired position that has been planned; and controls the movement of the automated guided vehicle along a second path starting from the first position in response to the first position being the end position of the first path or the first position being a position in the second path. In this way, the automated guided vehicle can be controlled more effectively and the utilization efficiency of the automated guided vehicle can be improved.
[0082] In some embodiments, the automated guided vehicle may have completed the first path before the second path is planned and completed. In such a case, the execution entity may respond to this by choosing to control the automated guided vehicle to stay at the end position.
[0083] That is, the execution entity may control the automatic guided vehicle to stay at the end position in response to the automatic guided vehicle having reached the end position of the first path and currently being unable to plan a second path from the target position to the desired position.
[0084] Thereby, the automatic guided vehicle can be controlled continuously using the second path efficiently.
[0085] In some embodiments, there may be obstacles in the forward direction of the automated guided vehicle, which may cause the automated guided vehicle to be unable to achieve the path currently used to control it (ie, the first path or the second path).
[0086] For example, in the case of multiple AGVs, the AGV that is controlled later and moves along the same path may fail to achieve the path because the AGV that has the same path (e.g., the first path) fails (e.g., the AGV loses communication, loses the path, or has a mechanical failure, etc.). Usually, in such a case, the AGV that is controlled later will stay behind the failed AGV in the corresponding path.
[0087] In some embodiments, the execution subject may determine whether it is necessary to update the control path of the automatic guided vehicle (e.g., update the first path) due to the presence of an obstacle based on "active detection" or by reporting by the automatic guided vehicle. For example, the execution subject may determine whether there is an obstacle within a preset distance range of the automatic guided vehicle by identifying objects included in the scene (e.g., identification based on a camera, a sensor, etc.).
[0088] Alternatively, the automated guided vehicle may be configured to report the obstacle to the execution entity when an obstacle is detected, so as to determine whether the path of the automated guided vehicle needs to be updated. Alternatively, the automated guided vehicle may also be configured to send an assistance request to the execution entity when it is unable to completely complete, for example, the first path (for example, the automated guided vehicle may send an assistance request when it detects an obstacle ahead, or when it detects that it has stayed at a certain location for more than a time threshold), so as to request the execution entity to update, for example, the first path.
[0089] For this, please refer to Figure 3 . Figure 3A flowchart of another process of controlling an automatic guided vehicle provided by an embodiment of the present disclosure includes process 300 .
[0090] The process 300 specifically includes:
[0091] Step 301: In response to detecting that the automated guided vehicle completes a corresponding task at a target location, controlling the automated guided vehicle to move along a first path;
[0092] This step is similar to step 201 shown in the above process 200. The same parts can refer to the contents described in step 201 and will not be repeated here.
[0093] Step 302: in response to an obstacle being located in the first path, updating the first path based on the position of the obstacle to obtain an updated first path;
[0094] Specifically, if an obstacle is located in the first path, that is, the obstacle may prevent the automated guided vehicle from achieving the first path, the execution entity may respond to this by choosing to update the first path based on the location of the obstacle.
[0095] The end position of the updated first path is before the obstacle. That is, based on the updated first path, the execution entity can control the automatic guided vehicle to "stay" before the obstacle (for example, control the automatic guided vehicle to stay in the first path, a position with a "safe distance" from the obstacle, or in other words, enable the automatic guided vehicle to stay before reaching the position of the obstacle during the process of being controlled by the first path). That is, the updated first path can actually be understood as a "sub-path" of the original first path with the same starting point as the original first path, or in other words, at least a part of it (for example, the sub-path actually has the same starting point as the first path, and the end point is a position before the obstacle in the first path that has not yet reached the obstacle).
[0096] Step 303: Using the updated first path as a substitute for the first path, and controlling the automatic guided vehicle to move;
[0097] Step 304: In response to the second path from the target position to the desired position being planned, obtaining the first position where the automatic guided vehicle is currently located;
[0098] This step is similar to step 202 shown in the above process 200. The same parts can refer to the contents described in step 202 and will not be repeated here.
[0099] Step 305: In response to the first position being the end position of the updated first path or the first position being a position in the second path, starting from the first position, the automated guided vehicle is controlled to move along the second path.
[0100] Specifically, after the first path is updated, the execution subject may, similar to step 203, alternatively or alternatively select to detect whether the first position is the end position of the updated first path and whether the first position is located in the second path. Accordingly, if the first position is the end position of the updated first path or the first position is located in the second path, the execution subject may select to start from the first position and control the movement of the automatic guided vehicle along the second path.
[0101] Thus, by updating the first path, the automated guided vehicle can "remain in the first path" without changing the implemented first path, and can stay in front of an obstacle to avoid collision with the obstacle.
[0102] In some optional implementations of this embodiment, after the first path is updated, the execution entity may also update the second path based on the position of the obstacle and the updated end point position of the first path.
[0103] Specifically, for example, the execution entity may generate a "detour path" based on the updated end position of the first path as the starting point, so as to control the automatic guided vehicle to "detour" the obstacle.
[0104] The starting point of the "detour path" is located at the end point of the updated first path, and the end point is located on the second path, a position that can bypass the obstacle (usually, this "one position" is actually also located on the second path, the position closest to the end point of the first path).
[0105] Accordingly, the execution entity may complete the update of the second path by superimposing the "detour path" onto the second path, and then deleting the original second path corresponding to the start and end positions of the "detour path" in the second path.
[0106] Then, when the current first position of the automated guided vehicle is the end position of the updated first path, or is a position in the updated second path, the execution entity responds to this by choosing, as an alternative or alternative, to control the movement of the automated guided vehicle starting from the first position and using the updated second path.
[0107] In some embodiments, after the execution entity updates the first path, the execution entity can also update the second path by directly replanning the second path based on the location of the obstacle and the end point location of the updated first path (for example, planning a new path with the end point location of the updated first path as the starting point, which can avoid obstacles and reach the desired location).
[0108] As a result, the automated guided vehicle can bypass obstacles by utilizing the updated second path through the updated detour path to achieve "obstacle avoidance" and solve the problem of unexpected stops of the automated guided vehicle caused by obstacles.
[0109] In some embodiments, if the position of the obstacle cannot be accurately determined, for example, the shape, location, etc. of the obstacle cannot be accurately determined, the execution entity can determine a "detour path" by "estimating" the influence range of the obstacle (usually, the area occupied by the influence range will be larger than the area of the obstacle) to update the second path.
[0110] In some embodiments, when the executing entity obtains the position of an obstacle, if the executing entity also controls other automated guided vehicles at the same time (for example, the server 105 simultaneously controls automated guided vehicles 101, 102, and 103), the executing entity may also choose to update (synchronously) the first path and / or second path used to control the other automated guided vehicles based on the position of the obstacle.
[0111] For example, when the automatic guided vehicle 102 is controlled based on the corresponding first path, the execution entity can update the first path based on the position of the obstacle (for example, similarly based on the above method, to "shorten" it to obtain the corresponding updated first path, or, use the "detour path" to update the second path).
[0112] Therefore, the execution entity can update the path used to control other automated guided vehicles through the location of obstacles reported by one automated guided vehicle to avoid potential risks of stopping, thereby achieving effective and efficient control of each automated guided vehicle in a scenario with at least two automated guided vehicles.
[0113] In some optional implementations of this embodiment, if the subsequent obstacle is cleared, for example, the maintenance personnel can send clearing information to the execution entity accordingly, or, for example, the obstacle detection module associated with the execution entity can send clearing information to the execution entity when it detects that the obstacle is cleared.
[0114] Accordingly, the execution subject can restore the updated first path and / or the updated second path for controlling other automated guided vehicles based on the location of the obstacle in response to receiving the obstacle removal information. That is, the updated first path and the updated second path are restored to the original first path and second path states (that is, no longer "shortened" or "detoured").
[0115] This ensures that the first path and the second path are more optimal, that is, avoids unexpected stops or "detours" due to incorrect identification of obstacles.
[0116] To deepen understanding, the present disclosure also provides an exemplary architecture for implementing the process of controlling an automated guided vehicle in an application scenario in combination with a specific application scenario. The exemplary architecture can be found in Figure 4 Architecture 400 is shown.
[0117] At the same time, to facilitate understanding of the architecture 400, you can also refer to Figure 1 The architecture 100 is shown for illustration.
[0118] In architecture 400 , a robot 410 and a shelf 415 may be included.
[0119] Accordingly, the automated guided vehicles (e.g., automated guided vehicles 101, 102, 103) may be controlled by a server (not shown) to move between the manipulator 410 and the shelf 415. For example, after the automated guided vehicles 101, 102, 103 obtain the "goods" from the shelf 415, they may go to the target location 425 (e.g., the target location 425 may be the "picking area" corresponding to the manipulator 410).
[0120] After the automated guided vehicles 101 , 102 , 103 arrive at the target location 425 , the manipulator 410 may perform a “pick up goods” action to obtain the goods transported by the automated guided vehicles 101 , 102 , 103 .
[0121] After completing the transportation, the automated guided vehicles 101, 102, 103 can go back to the shelf 415 to perform the next round of tasks (eg, transport new goods stored in the shelf 415).
[0122] Taking the automated guided vehicle 101 as an example, the server 105 may, in response to detecting that the automated guided vehicle 101 has completed the task at the target position 425 (for example, the cargo has been acquired by the robot 410), first control the automated guided vehicle 101 to move along the first path 430 (for example, the starting point of the first path 430 may be position 425, and the end point may be position 427) to give up the target position 425 so that the subsequent automated guided vehicle 102 can continue to move to the target position 425.
[0123] Then, in the process of controlling the movement of the automatic guided vehicle 101 based on the first path 430, if the planning of the second path 435 is completed (for example, from the target position 425 to the desired position 417), the server can determine whether the current position of the automatic guided vehicle 101 is the position 427 which is the end position of the first path 430, or whether the current position of the automatic guided vehicle 101 is located in the second path 435.
[0124] If yes (i.e., the current position of the automated guided vehicle 101 is position 427, and the current position is within the second path 435), the server may choose to control the automated guided vehicle 101 along the second path 435 so that it moves along the second path 435 to the desired position 417 (exemplarily, at the desired position 417, the automated guided vehicle 101 may continue to obtain the next round of goods provided by the shelf 415).
[0125] In order to more clearly understand the present disclosure, illustratively, in the process of controlling the movement of the automated guided vehicle 101 based on the first path 430 , the automated guided vehicle 103 stays in the first path 430 due to a “failure”.
[0126] In such a case, the server can update the first path 430 so that the position 429 located before the automated guided vehicle 103 and in the first path 430 can be used as the end position of the updated first path 430 instead of continuing to the position 427.
[0127] Then, the server may update the second path 435 based on the position of the automated guided vehicle 103 and the position 429 to obtain a second path 435 ′.
[0128] Accordingly, the server can further determine whether the current position of the automatic guided vehicle 101 is "position 429" or the position in the updated second path 435'. Exemplarily, if the server determines that the current position of the automatic guided vehicle 101 is position 429, the server can control the automatic guided vehicle 101 from position 429 based on the second path 435', "avoid" the automatic guided vehicle 103 regarded as an obstacle, and go to the desired position 417.
[0129] Further references Figure 5 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a device for controlling an automatic guided vehicle. Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.
[0130] like Figure 5As shown, the apparatus 500 for controlling an automated guided vehicle in this embodiment may include: a first control unit 501, a first position acquisition unit 502, and a second control unit 503. The first control unit 501 is configured to control the movement of the automated guided vehicle along a first path in response to detecting that the automated guided vehicle completes a corresponding task at a target position; the first position acquisition unit 502 is configured to acquire the first position of the automated guided vehicle currently located in response to a second path that has been planned from the target position to the desired position; the second control unit 503 is configured to control the movement of the automated guided vehicle along a second path starting from the first position in response to the first position being the end position of the first path or the first position being a position in the second path.
[0131] In the present embodiment, in the device 500 for controlling an automated guided vehicle, the specific processing of the first control unit 501, the first position acquisition unit 502, and the second control unit 503 and the technical effects thereof can be referred to in Figure 2 The relevant descriptions of steps 201 - 203 in the corresponding embodiment are not repeated here.
[0132] In some optional implementations of this embodiment, the device 500 also includes: an obstacle acquisition unit, configured to acquire obstacles located within a preset distance range of the automatic guided vehicle; a first path updating unit, configured to update the first path based on the position of the obstacle in response to the obstacle being located in the first path, to obtain an updated first path, wherein the end position of the updated first path is located before the obstacle; a third control unit, configured to control the movement of the automatic guided vehicle using the updated first path as a substitute for the first path; and a second control unit 503, further configured to control the movement of the automatic guided vehicle using the second path starting from the first position in response to the first position being the end position of the updated first path or the first position being a position in the updated second path.
[0133] In some optional implementations of this embodiment, the device 500 also includes: a second path updating unit, configured to update the second path based on the position of the obstacle and the updated end position of the first path; and a second control unit 503, further configured to control the movement of the automatic guided vehicle starting from the first position with the updated second path in response to the first position being the end position of the updated first path or the first position being a position in the second path.
[0134] In some optional implementations of this embodiment, the device 500 also includes: a third path updating unit, configured to update the first path and / or the second path used to control other automatic guided vehicles based on the position of the obstacle, to obtain the corresponding updated first path and / or updated second path.
[0135] In some optional implementations of this embodiment, the device 500 also includes: a fourth path updating unit, which is configured to, in response to receiving clearance information for an obstacle, restore the updated first path and / or the updated second path used to control other automatic guided vehicles based on the position of the obstacle to obtain the corresponding updated first path and / or updated second path.
[0136] In some optional implementations of this embodiment, the apparatus 500 further includes: a first path setting unit configured to, in response to receiving a path setting instruction, set a first path based on an instruction of the path setting instruction.
[0137] In some optional implementations of this embodiment, the device 500 also includes: a stop control unit, configured to control the automatic guided vehicle to stop at the end position in response to the automatic guided vehicle having reached the end position of the first path and currently being unable to plan a second path from the target position to the desired position.
[0138] In some optional implementations of this embodiment, the device 500 also includes: a fifth path updating unit, configured to update the first path based on a third position where the automatic guided vehicle is currently located in response to the automatic guided vehicle deviating from the first path while being controlled by the first path; and a fourth control unit, configured to control the movement of the automatic guided vehicle with the updated first path.
[0139] In some embodiments, the first path and the second path have the same starting point, and the first path is a sub-path of the second path.
[0140] This embodiment exists as a device embodiment corresponding to the above method embodiment. The device for controlling an automated guided vehicle provided by this embodiment controls the movement of the automated guided vehicle along a first path in response to detecting that the automated guided vehicle completes a corresponding task at a target position; obtains the current first position of the automated guided vehicle in response to a second path from the target position to a desired position that has been planned; and controls the movement of the automated guided vehicle along a second path starting from the first position in response to the first position being the end position of the first path or the first position being a position in the second path. In this way, the automated guided vehicle can be controlled more effectively and the utilization efficiency of the automated guided vehicle can be improved.
[0141] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
[0142] Figure 6A schematic block diagram of an example electronic device 600 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0143] like Figure 6 As shown, the device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0144] A number of components in the device 600 are connected to the I / O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a disk, an optical disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0145] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as a method for controlling an automatic guided vehicle. For example, in some embodiments, the method for controlling an automatic guided vehicle may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the method for controlling an automatic guided vehicle described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform a method for controlling an automatic guided vehicle by any other appropriate means (e.g., by means of firmware).
[0146] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0147] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0148] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0149] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0150] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0151] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and virtual private servers (VPS) services. The server can also be divided into a server of a distributed system, or a server combined with a blockchain.
[0152] According to the technical solution of the embodiment of the present disclosure, in response to detecting that the automatic guided vehicle completes the corresponding task at the target position, the automatic guided vehicle is controlled to move along the first path; in response to the second path from the target position to the desired position being planned, the first position where the automatic guided vehicle is currently located is obtained; in response to the first position being the end position of the first path or the first position being a position in the second path, the automatic guided vehicle is controlled to move along the second path starting from the first position. In this way, the automatic guided vehicle can be controlled more effectively and the utilization efficiency of the automatic guided vehicle can be improved.
[0153] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions provided by this disclosure can be achieved, and this document does not limit this.
[0154] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A method for controlling an automatic guided vehicle, comprising: In response to detecting that the automated guided vehicle completes the corresponding task at the target location, controlling the automated guided vehicle to move along a first path; In response to a second path being planned from the target position to the desired position, obtaining a first position where the automatic guided vehicle is currently located; In response to the first position being an end position of the first path or the first position being a position in the second path, the automated guided vehicle is controlled to move along the second path starting from the first position.
2. The method according to claim 1, further comprising: Obtain obstacles within a preset distance range of the automatic guided vehicle; In response to the obstacle being located in the first path, updating the first path based on the position of the obstacle to obtain an updated first path, wherein the end position of the updated first path is located before the obstacle; Using the updated first path as a substitute for the first path, controlling the movement of the automated guided vehicle; and In response to the first position being the end position of the first path or the first position being a position in the second path, starting from the first position, controlling the automatic guided vehicle to move along the second path includes: In response to the first position being the end position of the updated first path or the first position being a position in the second path, the automatic guided vehicle is controlled to move along the second path starting from the first position.
3. The method according to claim 2, further comprising: updating the second path based on the position of the obstacle and the updated end position of the first path; as well as In response to the first position being the end position of the updated first path or the first position being a position in the second path, starting from the first position, controlling the automatic guided vehicle to move along the second path includes: In response to the first position being the end position of the updated first path or the first position being a position in the updated second path, the automatic guided vehicle is controlled to move along the updated second path starting from the first position.
4. The method according to claim 2, further comprising: Based on the position of the obstacle, the first path and / or the second path used to control other automated guided vehicles are updated to obtain a corresponding updated first path and / or an updated second path.
5. The method according to claim 4, further comprising: In response to receiving the clearance information for the obstacle, based on the position of the obstacle, an updated first path and / or an updated second path for controlling other automated guided vehicles is restored.
6. The method according to claim 1, further comprising: In response to receiving the path setting instruction, the first path is set based on an instruction of the path setting instruction.
7. The method according to claim 1, further comprising: In response to the automated guided vehicle having reached the end position of the first path and currently being unable to plan a second path from the target position to a desired position, the automated guided vehicle is controlled to stay at the end position.
8. The method according to claim 1, further comprising: In response to the automated guided vehicle deviating from the first path while being controlled by the first path, updating the first path based on a third position currently located by the automated guided vehicle; The automatic guided vehicle is controlled to move according to the updated first path.
9. The method according to any one of claims 1 to 8, wherein: The first path and the second path have the same starting point, and the first path is a subpath of the second path.
10. A device for controlling an automatic guided vehicle, comprising: A first control unit is configured to control the automatic guided vehicle to move in a first path in response to detecting that the automatic guided vehicle completes a corresponding task at a target location; A first position acquisition unit is configured to acquire a first position where the automatic guided vehicle is currently located in response to a second path planned from the target position to the desired position; The second control unit is configured to control the automatic guided vehicle to move along the second path starting from the first position in response to the first position being an end position of the first path or the first position being a position in the second path.
11. An electronic device, comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method for controlling an automatic guided vehicle according to any one of claims 1 to 9.
12. A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method for controlling an automatic guided vehicle according to any one of claims 1 to 9.
13. A computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements the method for controlling an automatic guided vehicle according to any one of claims 1 to 9.
Citation Information
Cited By
Control method, device and equipment for automatic guiding vehicle and storage medium
CN120595670A