Method and apparatus for implementing synchronization between agvs

By setting up distance measuring units and trapezoidal blocks on AGVs, the distance between AGVs can be measured and adjusted, solving the problems of high cost and long delay in AGV synchronization, and achieving high-precision and low-cost AGV synchronization.

CN116323434BActive Publication Date: 2026-01-09SIEMENS (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080106014.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-21
Publication Date
2026-01-09
Estimated Expiration
2040-10-21

AI Technical Summary

Technical Problem

The synchronization problem between AGVs in the current technology has not been well solved, especially when moving large-sized products. The cost is high and the delay is large, which makes it difficult to meet the needs of practical applications.

Method used

The method involves setting up distance measuring units and trapezoidal blocks on AGVs. The distance measuring units measure the distance between AGVs to determine the synchronization status, and the movement of AGVs is adjusted according to the status to achieve synchronization.

Benefits of technology

It achieves high-precision, low-cost synchronization between AGVs, is suitable for multi-AGV collaborative work scenarios, reduces on-site costs, and enables rapid synchronization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116323434B_ABST
    Figure CN116323434B_ABST
Patent Text Reader

Abstract

A method for realizing synchronization between two AGVs (1-2, 101-102, 1301-1302), a first distance measuring unit (M1) and a second distance measuring unit (M2) arranged on a side surface of a first AGV (1, 101, 1301) are respectively initially aligned with specific positions on a first trapezoidal block (T1) and a second trapezoidal block (T2) arranged on a side surface of a second AGV (2, 102, 1302), the first AGV (1, 101, 1301) and the second AGV (2, 102, 1302) are designated to be spaced apart by a first distance (D1), when the first AGV (1, 101, 1301) moves following the movement of the second AGV (2, 102, 1302), a second distance (D2) between the first AGV (1, 101, 1301) and the second AGV (2, 102, 1302) is measured by the first distance measuring unit (M1) (201); a third distance (D3) between the first AGV (1, 101, 1301) and the second AGV (2, 102, 1302) is measured by the second distance measuring unit (M2) (202); based on the first distance (D1), the second distance (D2) and the third distance (D3), a relative state (203) about synchronization between the first AGV (1, 101, 1301) and the second AGV (2, 102, 1302) is determined; and when the relative state indicates that the first AGV (1, 101, 1301) and the second AGV (2, 102, 1302) are not synchronized, the movement of the first AGV (1, 101, 1301) is adjusted based on the relative state (204). The method for realizing synchronization between two AGVs (1-2, 101-102, 1301-1302) can easily and quickly realize AGV (1-2, 101-102, 1301-1302) synchronization, and has a high-precision and intelligent synchronization mechanism design, which can be flexibly applied to the scene of multiple AGVs (1-3, 101-102, 1200, 1301-1302) working together.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of intelligent mobile robots, and more particularly, to a method and apparatus for achieving synchronization between AGVs, a computing device, a computer readable storage medium, and a program product. BACKGROUND

[0002] AGVs (Automatic Guided Vehicles) are increasingly used in industrial and commercial fields. For example, AGVs are used to move components from a warehouse to a production line, and then move finished products from the production line to the warehouse for automatic logistics. For some large-size products, two or more AGVs may be needed to move from one location to another, and it is very important to keep the AGVs in synchronization. SUMMARY

[0003] The synchronization between AGVs has not been well solved. One possible solution is to use a camera installed above the AGVs (e.g., installed on the ceiling of a workshop) to capture images of the AGVs (e.g., the camera needs to capture images of the entire workshop), use computer vision technology (e.g., image stitching) to locate the AGVs, and control the AGVs according to the calculated results. However, for this solution, the camera's field of view and positioning accuracy are critical issues, resulting in high cost, and there is a large delay from capturing AGVs, locating AGVs to controlling AGVs, making it difficult to meet the actual synchronization application.

[0004] The first embodiment of the present disclosure proposes a method for achieving synchronization between two AGVs, the two AGVs including a first AGV and a second AGV, a first distance measuring unit and a second distance measuring unit disposed on a side surface of the first AGV are initially aligned with specific positions on a first trapezoidal block and a second trapezoidal block disposed on a side surface of the second AGV, respectively, the first AGV and the second AGV are designated to be spaced apart by a first distance, when the first AGV moves following the movement of the second AGV, the method comprises: A. measuring a second distance between the first AGV and the second AGV by the first distance measuring unit; B. measuring a third distance between the first AGV and the second AGV by the second distance measuring unit; C. determining a relative state about synchronization between the first AGV and the second AGV based on the first distance, the second distance and the third distance; and D. when the relative state indicates that the first AGV and the second AGV are out of synchronization, adjusting the movement of the first AGV based on the relative state.

[0005] In this embodiment, AGV synchronization can be easily achieved by using sampling, without the need for complex image processing technology, effectively reducing the on-site cost, and quickly achieving AGV synchronization to meet application requirements, and having a high-precision and intelligent synchronization mechanism design, which can be flexibly and reliably applied to the scene of multiple AGV collaborative work.

[0006] The second embodiment of the present disclosure provides a method for achieving synchronization between multiple AGVs, the multiple AGVs including a first AGV, a second AGV and a third AGV, the second AGV and the third AGV being respectively arranged on two sides of the first AGV, a first distance measuring unit and a second distance measuring unit arranged on a side surface of the first AGV are initially aligned with specific positions on a first trapezoidal block and a second trapezoidal block arranged on a side surface of the second AGV, a third distance measuring unit and a fourth distance measuring unit arranged on a side surface of the third AGV are initially aligned with specific positions on a third trapezoidal block and a fourth trapezoidal block arranged on the other side surface of the first AGV, the first AGV is designated to be spaced apart from the second AGV by a first distance, and the first AGV is designated to be spaced apart from the third AGV by another distance, the method comprising: when the first AGV moves following the movement of the second AGV, using the method according to the first embodiment to achieve synchronization between the first AGV and the second AGV, and when the third AGV moves following the movement of the first AGV, using the method according to the first embodiment to achieve synchronization between the third AGV and the first AGV.

[0007] The third embodiment of the present disclosure provides a method for realizing synchronization between a plurality of AGVs, the plurality of AGVs including a first AGV, a second AGV and a third AGV, the first AGV and the third AGV being respectively arranged at two sides of the second AGV, a first distance measuring unit and a second distance measuring unit arranged on a side surface of the first AGV being initially aligned with specific positions on a first trapezoidal block and a second trapezoidal block arranged on a side surface of the second AGV, a third distance measuring unit and a fourth distance measuring unit arranged on a side surface of the third AGV being initially aligned with specific positions on a third trapezoidal block and a fourth trapezoidal block arranged on another side surface of the second AGV, the first AGV being designated to be spaced apart from the second AGV by a first distance, and the second AGV being designated to be spaced apart from the third AGV by another distance, the method comprising: when the first AGV moves following the movement of the second AGV, using the method according to the first embodiment to realize synchronization between the first AGV and the second AGV, and when the third AGV moves following the movement of the second AGV, using the method according to the first embodiment to realize synchronization between the third AGV and the second AGV.

[0008] The fourth embodiment of the present disclosure provides an AGV comprising a controller configured to realize the method according to the first embodiment.

[0009] The fifth embodiment of the present disclosure provides an apparatus for realizing synchronization between two AGVs, the two AGVs including a first AGV and a second AGV, a first distance measuring unit and a second distance measuring unit arranged on a side surface of the first AGV being initially aligned with specific positions on a first trapezoidal block and a second trapezoidal block arranged on a side surface of the second AGV, the first AGV being designated to be spaced apart from the second AGV by a first distance, the first AGV moving following the movement of the second AGV, the apparatus comprising: a first measuring module configured to measure a second distance between the first AGV and the second AGV by the first distance measuring unit; a second measuring module configured to measure a third distance between the first AGV and the second AGV by the second distance measuring unit; a state determining module configured to determine a relative state about synchronization between the first AGV and the second AGV based on the first distance, the second distance and the third distance; and an adjusting module configured to adjust the movement of the first AGV based on the relative state when the relative state indicates that the first AGV and the second AGV are not synchronized.

[0010] A sixth embodiment of the present disclosure provides a computing device, comprising: a processor; and a memory for storing computer-executable instructions that, when executed, cause the processor to perform the method described in the first embodiment, the second embodiment, or the third embodiment.

[0011] A seventh embodiment of the present disclosure provides a computer-readable storage medium having stored thereon computer-executable instructions for performing the method described in the first embodiment, the second embodiment, or the third embodiment.

[0012] An eighth embodiment of the present disclosure provides a computer program product tangibly stored on a computer-readable storage medium and comprising computer- executable instructions that, when executed, cause at least one processor to perform the method described in the first embodiment, the second embodiment, or the third embodiment. BRIEF DESCRIPTION OF DRAWINGS

[0013] The features, advantages, and other aspects of the embodiments of the present disclosure will become more apparent from the following detailed description in conjunction with the accompanying drawings, in which several embodiments of the present disclosure are shown by way of illustration, not limitation, in the drawings:

[0014] Figure 1 An exemplary scenario in which embodiments of the present disclosure can be applied is shown.

[0015] Figure 2 A flowchart of an exemplary method for achieving synchronization between two AGVs according to embodiments of the present disclosure is shown.

[0016] Figure 3 A schematic diagram of relative movement between two AGVs according to embodiments of the present disclosure is shown.

[0017] Figure 4 A schematic diagram of relative movement between two AGVs according to embodiments of the present disclosure is shown.

[0018] Figure 5 A schematic diagram of relative movement between two AGVs according to embodiments of the present disclosure is shown.

[0019] Figure 6 A schematic diagram of relative movement between two AGVs according to embodiments of the present disclosure is shown.

[0020] Figure 7 A block diagram of an exemplary apparatus for achieving synchronization between two AGVs according to embodiments of the present disclosure is shown.

[0021] Figure 8A flow diagram illustrating an exemplary method for enabling synchronization between a plurality of AGVs according to embodiments of the present disclosure is shown.

[0022] Figure 9 A schematic diagram illustrating relative movement between a plurality of AGVs according to embodiments of the present disclosure is shown.

[0023] Figure 10 A flow diagram illustrating an exemplary method for enabling synchronization between a plurality of AGVs according to embodiments of the present disclosure is shown.

[0024] Figure 11 A schematic diagram illustrating relative movement between a plurality of AGVs according to embodiments of the present disclosure is shown.

[0025] Figure 12 An exemplary AGV for enabling AGV synchronization according to embodiments of the present disclosure is shown.

[0026] Figure 13 An exemplary system for enabling AGV synchronization according to embodiments of the present disclosure is shown.

[0027] Figure 14 An exemplary computing device for enabling AGV synchronization according to embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0028] Various exemplary embodiments of the present disclosure are described in detail below with reference to the attached drawing figures. While the exemplary methods, apparatuses described below include software and / or firmware executed on hardware, it should be noted that the examples are merely illustrative and should not be taken as limiting. For example, any or all of the hardware, software, and firmware components could be implemented in hardware, software, or any combination of the three. Thus, although exemplary methods and apparatuses are described below, those skilled in the art will readily appreciate that the examples provided are not the only ways to implement the methods and apparatuses.

[0029] Furthermore, the flow diagrams and block diagrams in the drawings are intended to illustrate the possible architectures, functions, and operations of methods and systems according to various embodiments of the present disclosure. It will be noted that many variations to the diagrams are possible. For example, the order of the blocks can vary, and additional blocks can be added, or some existing blocks can be omitted. For instance, blocks represented as serially connected in a flow diagram can, in fact, be executed in parallel, or can be executed serially in a different order. Also, functions of an existing block can be split into additional blocks, and / or multiple functions of an existing block can be combined into a single block. Additionally, the flow diagrams and block diagrams can represent methods and systems according to the present disclosure. For example, each block in the flow diagrams and block diagrams can represent a module, segment, or code section of software, firmware, or hardware, which comprises processor- executable instructions. It should also be noted that each block in the flow diagrams and block diagrams, and combinations of blocks in the flow diagrams and block diagrams, can be implemented by special-purpose hardware-based systems that perform the specified functions or operations, or combinations of special-purpose hardware and computer instructions.

[0030] As used herein, the terms "comprises," "comprising," "includes," "including," and the like are open-ended terms that are intended to mean "including but not limited to," and are not intended to exclude other contents. The term "based on" is intended to mean "based, at least in part, on." The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; and so on.

[0031] Figure 1 An exemplary scenario 100 in which embodiments of the present disclosure can be applied is shown. The scenario 100 includes multiple AGVs, such as AGV 101 and AGV 102. AGV 101 moves along a first path 103, and AGV 102 moves along a second path 104. AGV 101 can be equipped with an automatic navigation device to automatically travel along a prescribed guide path 103, e.g., AGV 101 can use magnetic navigation (magnetic strips are pasted on the road surface of the AGV travel path, and a guide is achieved by sensing signals through the magnetic strips), two-dimensional code navigation (a two-dimensional code laid on the ground is scanned by a camera, and guide is achieved by analyzing the two-dimensional code information), or laser navigation (a guide is achieved by collecting laser beams reflected by natural environment (walls, columns, and other fixed objects)), etc. to move along the first path 103. AGV 102 can similarly move along the second path 104. AGV 101 can also be installed with an industrial multi-joint robot or multi-degree-of-freedom machine device 105, and AGV 102 can also be installed with an industrial multi-joint robot or multi-degree-of-freedom machine device 106. In some cases, two or more AGVs are required to move products in coordination or to move in coordination to process the products with the robots. In such cases, synchronization between the two or more AGVs is required, e.g., to maintain a specified interval distance when AGV 101 and AGV 102 move along the first path 103 and the second path 104, respectively. It should be understood that, Figure 1 The number of AGVs in scenario 100 is for illustration only and is not limiting, and scenario 100 can include more AGVs (e.g., three, four, etc.). Moreover, in the case of coordinated movement of two AGVs, one AGV can act as a master AGV, and the other AGV can act as a slave AGV, where the slave AGV moves in coordination with the movement of the master AGV. In the case of coordinated movement of multiple AGVs, there can be multiple master-slave AGV configurations.

[0032] However, regardless of the navigation method, when AGV 101 and AGV 102 move along paths 103 and 104, respectively, due to not being perfectly consistent (e.g., movement speed error, movement direction error, etc.), there will inevitably be a situation of asynchronization. By way of example, Figures 2-6The described method for achieving synchronization between two AGVs can enable synchronization between AGV 101 and AGV 102 in scenario 100.

[0033] Figure 2 A flowchart of an exemplary method 200 for achieving synchronization between two AGVs according to embodiments of the present disclosure is shown. Method 200 can be applied to an exemplary scenario 100 as shown in Figure 1 and an exemplary system 1300 as shown in Figure 13 . For example, method 200 can be implemented by any AGV in Figure 1 , Figure 12 an exemplary AGV 1200 in Figures 3-6 , a computing device 1303 communicatively coupled with the AGV in exemplary system 1300. Method 200 is described below in conjunction with Figures 3-6 Schematic diagrams 300, 400, 500, 600 of relative movement between two AGVs according to embodiments of the present disclosure are shown.

[0034] Referring to Figure 3 , the two AGVs include AGV1 (first AGV) and AGV2 (second AGV). A first distance measuring unit M1 and a second distance measuring unit M2 are disposed on a side surface (e.g., an outer wall) of AGV1. A first trapezoidal block T1 and a second trapezoidal block T2 are disposed on a side surface (e.g., an outer wall) of AGV2. The side surface of AGV1 can be parallel to the side surface of AGV2. The first trapezoidal block T1 and the second trapezoidal block T2 can have the same shape (upper length, lower length, oblique side, oblique angle), for example, with the oblique angle θ, the upper length C1 and the lower length C2 as shown, C1 and C2 are not the same. As shown in Figure 3 , initially, the first distance measuring unit M1 is aligned with the first trapezoidal block T1, and the second distance measuring unit is aligned with the second trapezoidal block T2. For example, the first distance measuring unit M1 and the second distance measuring unit M2 are respectively aligned with the same middle position of the first trapezoidal block T1 and the second trapezoidal block T2, for example, the waist line of the trapezoidal block, the middle position (middle length C3) divides the height of the trapezoid into H1 and H2. In one example, such alignment can be achieved by disposing a marker point at the middle position of the first trapezoidal block T1 and the second trapezoidal block T2. Thus, the distance between the first distance measuring unit M1 and the second distance measuring unit M2 is equal to the distance between the first trapezoidal block T1 and the second trapezoidal block T2, which is the longitudinal distance H as shown in Figure 4 . The head of AGV1 and AGV2 are designated to be laterally spaced apart by a first distance D1 in guidance by navigation (e.g., magnetic navigation, two-dimensional code navigation, laser navigation, etc.), as shown in Figures 3-6 .

[0035] Referring toFigure 2 When the first AGV moves following the movement of the second AGV (i.e., an AGV movement task (e.g., moving from a first location to a second location) is initiated, the second AGV serves as the master AGV and the first AGV serves as the slave AGV), the method 200 starts from step 201. In step 201, a second distance between the first AGV and the second AGV is measured by the first ranging unit. Figures 3-6 The second distance D2 obtained by the first ranging unit M1 under the relative movement between the two AGVs is shown.

[0036] In some embodiments, step 201 can include measuring the second distance between the first AGV and the second AGV by the first ranging unit emitting a pulse to the second AGV and receiving a reflected pulse from the second AGV. For example, the first ranging unit M1 can include a sensor, such as an ultrasonic sensor, a photoelectric sensor (infrared, laser sensor), etc., which includes a transmitter and a receiver, the transmitter emits a generated pulse (e.g., ultrasonic, infrared, laser, etc.) to AGV2, and the receiver receives a reflected pulse (e.g., ultrasonic, infrared, laser, etc.) returned from AGV2. For example, the second distance D2 between AGV1 and AGV2 can be calculated based on the time difference between the sampled emitted pulse and the reflected pulse.

[0037] Next, the method 200 proceeds to step 202. In step 202, a third distance between the first AGV and the second AGV is measured by the second ranging unit. Figures 3-6 The second distance D3 obtained by the second ranging unit M2 under the relative movement between the two AGVs is shown.

[0038] In some embodiments, step 202 can include measuring the third distance between the first AGV and the second AGV by the second ranging unit emitting a pulse to the second AGV and receiving a reflected pulse from the second AGV. For example, the second ranging unit M2 can include a sensor, such as an ultrasonic sensor, a photoelectric sensor (infrared, laser sensor), etc., which includes a transmitter and a receiver, the transmitter emits a generated pulse (e.g., ultrasonic, infrared, laser, etc.) to AGV2, and the receiver receives a reflected pulse (e.g., ultrasonic, infrared, laser, etc.) returned from AGV2. For example, the second distance D3 between AGV1 and AGV2 can be calculated based on the time difference between the sampled emitted pulse and the reflected pulse.

[0039] Next, the method 200 proceeds to step 203. In step 203, based on the first distance, the second distance, and the third distance, a relative state between the first AGV and the second AGV with respect to synchronization is determined. For example, as Figures 3-6As shown, under different relative movements between AGV1 and AGV2, the first distance D1, the second distance D2, and the third distance D3 have different relationships. Therefore, it is possible to determine whether the two AGVs are synchronized and what kind of asynchronous state they are in based on the first distance D1, the second distance D2, and the third distance D3.

[0040] In some embodiments, step 203 may include: if the second distance and the third distance are not the same, then determining that the first AGV and the second AGV are in a first asynchronous state; or if the second distance and the third distance are the same, then when the second distance is within a first threshold range of the first distance, determining that the first AGV and the second AGV are in a second asynchronous state; when the second distance is within a second threshold range of the first distance, determining that the first AGV and the second AGV are in a third asynchronous state; and when the second distance is the same as the first distance, determining that the first AGV and the second AGV are in a fourth asynchronous state.

[0041] like Figure 3 As shown, under normal conditions (ideal synchronization), AGV1 and AGV2 move synchronously. At this time, D2 = D3 = D1 - C3. If the waistline of the trapezoidal block is taken as the specific alignment position, then C3 = (C1 + C2) / 2, and H1 = H2.

[0042] like Figure 4 As shown, when the second distance D2 is not equal to the third distance D3, it indicates that AGV1 is tilted relative to AGV2. This is because, without tilting, the first ranging unit M1 and the second ranging unit M2 are aligned with the same position on the inclined surface of the trapezoidal block, thus D2 = D3. Therefore, if the second distance D2 and the third distance D3 are not the same, it can be determined that AGV1 and AGV2 are in a first asynchronous state, that is, they are tilted relative to each other at an angle α.

[0043] like Figure 5 As shown, when the second distance D2 equals the third distance D3, if D1-C3 < D2 < D1-C1, AGV1 moves faster than AGV2. Therefore, when the second distance D2 is within the first threshold range of the first distance D1 (e.g., D1-C3 < D2 < D1-C1), it can be determined that AGV1 and AGV2 are in a second asynchronous state, that is, AGV1 is ahead of AGV2. The first threshold range can be determined by the parameters of the trapezoidal block (e.g., the top side length C1 and the middle side length C3).

[0044] like Figure 6As shown, when the second distance D2 equals the third distance D3, if D1-C2 < D2 < D1-C3, AGV1 moves slower than AGV2. Therefore, when the second distance D2 is within the second threshold range of the first distance D1 (e.g., D1-C2 < D2 < D1-C3), it can be determined that AGV1 and AGV2 are in a third asynchronous state, that is, AGV1 is lagging behind AGV2. The second threshold range can be determined by the parameters of the trapezoidal block (e.g., the lower side length C2 and the middle side length C3).

[0045] However, if AGV1 is too far ahead of AGV2 or too far behind AGV2, the first ranging unit M1 and the second ranging unit M2 will no longer be aligned with the position on the inclined surface of the trapezoidal block on AGV2. At this time, D1 = D2 = D3, and the direction of movement cannot be determined. AGV1 and AGV2 are in the fourth asynchronous state.

[0046] Next, method 200 proceeds to step 204. In step 204, when the relative state indicates that the first AGV and the second AGV are out of sync, the movement of the first AGV is adjusted based on the relative state.

[0047] In some embodiments, step 204 may include: when the relative state is a first asynchronous state, estimating the tilt angle of the first AGV relative to the second AGV based on a second distance and a third distance; and driving the first AGV to change its moving direction to compensate for the tilt angle based on the estimated tilt angle.

[0048] like Figure 4 As shown, when AGV1 and AGV2 are in the first asynchronous state, that is, when they are tilted at an angle α, the tilt angle α can be estimated according to the following equation (1):

[0049]

[0050] After estimating the tilt angle α, the AGV1 can be driven to change its direction of movement (e.g., rotate by an appropriate angle) to compensate for the tilt angle α.

[0051] In some embodiments, step 204 may include: when the relative state is a second asynchronous state or a third asynchronous state, estimating the relative displacement of the first AGV and the second AGV in the moving direction based on a first distance and a second distance; and driving the first AGV to change its moving speed to compensate for the relative displacement based on the estimated relative displacement.

[0052] like Figure 5As shown, when AGV1 and AGV2 are in the second asynchronous state, that is, when AGV1 is ahead of AGV2, the relative displacement D of AGV1 and AGV2 in the longitudinal direction (i.e., the direction of movement) can be calculated according to the following equation (2):

[0053] D=H1-(D1-D2-C1)tanθ (2)

[0054] After calculating the relative displacement D based on the parameters of D1, D2, and the trapezoidal block, the AGV1 can be driven to decelerate to compensate for the relative displacement D. For example, the corresponding speed trapezoidal curve and deceleration time can be calculated, and the AGV1 can be automatically decelerated to compensate for the relative displacement D.

[0055] like Figure 6 As shown, when AGV1 and AGV2 are in the third asynchronous state, that is, when AGV1 lags behind AGV2, the relative displacement D of AGV1 and AGV2 in the longitudinal direction (i.e., the direction of movement) can be calculated according to the following equation (3):

[0056] D=(D1-D2-C3)tanθ (3)

[0057] After calculating the relative displacement D based on the parameters of D1, D2, and the trapezoidal block, the AGV1 can be driven to accelerate to compensate for the relative displacement D. For example, the corresponding speed trapezoidal curve and acceleration time can be calculated, and the AGV1 can be automatically accelerated to compensate for the relative displacement D.

[0058] In some embodiments, step 204 may include: when the relative state is a fourth asynchronous state, stopping the first AGV and the second AGV from moving and issuing an alarm message.

[0059] When AGV1 and AGV2 are in a fourth asynchronous state, meaning AGV1 is too far ahead or behind AGV2, the direction of movement cannot be determined. Therefore, AGV1 and AGV2 need to be stopped to prevent accidents and an alarm message (e.g., through sound, indicator lights) should be issued to alert the user. For example, AGV1 can send a stop instruction to AGV2 directly or through a workstation to stop AGV2.

[0060] Method 200 may further include: determining whether the movement task has ended (e.g., determining whether the movement has been completed from the first position to the second position based on navigation); if the movement task has not ended, repeating steps 201-204 above to continuously control the movement of the first AGV as a slave AGV to achieve synchronization between the first AGV and the second AGV.

[0061] According to the embodiments of the present disclosure, AGV synchronization can be easily achieved by using sampling, without the need for complex image processing technology, effectively reducing the on-site cost, and quickly achieving AGV synchronization to meet application requirements, and having a high-precision and intelligent synchronization mechanism design, which can be flexibly and reliably applied to the scene of multiple AGVs working together.

[0062] Figure 7 A block diagram of an exemplary device 700 for implementing synchronization between two AGVs is shown, according to embodiments of the present disclosure, wherein the two AGVs include a first AGV and a second AGV, a first distance measuring unit and a second distance measuring unit disposed on a side surface of the first AGV are initially aligned with specific positions on a first trapezoidal block and a second trapezoidal block disposed on a side surface of the second AGV, respectively, the first AGV is designated to be spaced apart from the second AGV by a first distance, and the first AGV moves following the movement of the second AGV. The device 700 includes a first measurement module 701, a second measurement module 702, a state determination module 703, and an adjustment module 704.

[0063] The first measurement module 701 is configured to measure a second distance between the first AGV and the second AGV by the first distance measuring unit.

[0064] The second measurement module 702 is configured to measure a third distance between the first AGV and the second AGV by the second distance measuring unit.

[0065] The state determination module 703 is configured to determine a relative state between the first AGV and the second AGV with respect to synchronization based on the first distance, the second distance, and the third distance.

[0066] The adjustment module 704 is configured to adjust the movement of the first AGV based on the relative state when the relative state indicates that the first AGV and the second AGV are not synchronized.

[0067] In some embodiments, the first measurement module 701 can be further configured to measure the second distance between the first AGV and the second AGV by the first distance measuring unit by emitting a pulse to the second AGV and receiving a reflected pulse from the second AGV.

[0068] In some embodiments, the second measurement module 702 can be further configured to measure the third distance between the first AGV and the second AGV by the second distance measuring unit by emitting a pulse to the second AGV and receiving a reflected pulse from the second AGV.

[0069] In some embodiments, the state determining module 703 can be further configured to: if the second distance is different from the third distance, determine that the first AGV and the second AGV are in a first unsynchronized state, or if the second distance is the same as the third distance, when the second distance is within a first threshold range of the first distance, determine that the first AGV and the second AGV are in a second unsynchronized state, when the second distance is within a second threshold range of the first distance, determine that the first AGV and the second AGV are in a third unsynchronized state, and when the second distance is the same as the first distance, determine that the first AGV and the second AGV are in a fourth unsynchronized state.

[0070] In some embodiments, the adjustment module 704 can be further configured to: when the relative state is the first unsynchronized state, estimate an inclination angle of the first AGV relative to the second AGV based on the second distance and the third distance; and drive the first AGV to change the moving direction to compensate for the inclination angle based on the estimated inclination angle.

[0071] In some embodiments, the adjustment module 704 can be further configured to: when the relative state is the second unsynchronized state or the third unsynchronized state, estimate a relative displacement of the first AGV and the second AGV in the moving direction based on the first distance and the second distance; and drive the first AGV to change the moving speed to compensate for the relative displacement based on the estimated relative displacement.

[0072] In some embodiments, the adjustment module 704 can be further configured to: when the relative state is the fourth unsynchronized state, stop the first AGV and the second AGV from moving, and send an alarm information.

[0073] The above describes how to implement the synchronization between two AGVs, and the above synchronization process can be flexibly applied to the scenario of multiple AGVs to implement the synchronization between multiple AGVs, as described below in conjunction with Figures 8-10 .

[0074] Figure 8 A flowchart of an exemplary method 800 for implementing the synchronization between multiple AGVs according to embodiments of the present disclosure is shown. Figure 9 A schematic diagram 900 of the relative movement between multiple AGVs according to embodiments of the present disclosure is shown. The method 800 is described below in conjunction with Figure 9 . The method 800 can be applied to the exemplary scenario 100 as Figure 1 shown and the exemplary system 1300 as Figure 13 shown. For example, the method 800 can be implemented by the computing device 1303 in the exemplary system 1300 that is communicatively coupled with the AGVs.

[0075] As Figure 9As shown, the plurality of AGVs includes AGV1 (a first AGV), AGV2 (a second AGV), and AGV3 (a third AGV), AGV2 and AGV3 are respectively disposed at two sides of AGV1, a first distance D1 is specified between AGV1 and AGV2, and another distance D1’ is specified between AGV1 and AGV3. A first distance D1 is specified between AGV1 and AGV2, and another distance D1’ is specified between AGV1 and AGV3. A side surface of AGV1 can be parallel to a side surface of AGV2, and another side surface of AGV1 can be parallel to a side surface of AGV3.

[0076] Reference is made to Figure 8 Method 800 starts at step 801. In step 801, synchronization between a first AGV and a second AGV is achieved using the aforementioned method 200 when the first AGV moves following the movement of the second AGV. For example, AGV2 is taken as a master AGV and AGV1 is taken as a slave AGV, so that synchronization between AGV1 and AGV2 can be achieved using method 200.

[0077] Next, in step 802, synchronization between a third AGV and the first AGV is achieved using the aforementioned method 200 when the third AGV moves following the movement of the first AGV. For example, AGV1 is taken as a master AGV and AGV3 is taken as a slave AGV, so that synchronization between AGV3 and AGV1 can be achieved using method 200.

[0078] Figure 10 A flowchart of another exemplary method 1000 for achieving synchronization between a plurality of AGVs according to an embodiment of the present disclosure is shown. Figure 11 A schematic diagram 1100 of relative movement between a plurality of AGVs according to an embodiment of the present disclosure is shown. Method 1000 will be described below in conjunction with Figure 11 Method 1000 can be applied to the exemplary scenario 100 as shown in Figure 1 and the exemplary system 1300 as shown in Figure 13 For example, method 1000 can be implemented by the computing device 1303 in the exemplary system 1300 that is communicatively coupled with the AGVs.

[0079] As shown in Figure 11As shown, multiple AGVs include AGV1 (first AGV), AGV2 (second AGV), and AGV3 (third AGV). AGV1 and AGV3 are respectively disposed on opposite sides of AGV2. A first ranging unit M1 and a second ranging unit M2 disposed on one side surface of AGV1 are initially aligned with specific positions on the first trapezoidal block T1 and the second trapezoidal block T2 disposed on one side surface of AGV2, respectively. A third ranging unit M3 and a fourth ranging unit M4 disposed on one side surface of AGV3 are initially aligned with specific positions on the third trapezoidal block T3 and the fourth trapezoidal block T4 disposed on the other side surface of AGV2, respectively. AGV1 and AGV2 are designated to be separated by a first distance D1, and AGV2 and AGV3 are designated to be separated by another distance D1'. One side surface of AGV2 may be parallel to one side surface of AGV1, and the other side surface of AGV2 may be parallel to one side surface of AGV3.

[0080] refer to Figure 10 Method 1000 begins at step 1001. In step 1001, when the first AGV moves following the movement of the second AGV, the aforementioned method 200 is used to achieve synchronization between the first AGV and the second AGV. For example, AGV2 is designated as the master AGV and AGV1 as the slave AGV, thereby enabling synchronization between AGV1 and AGV2 using method 200.

[0081] Next, in step 1002, when the third AGV moves following the movement of the second AGV, the aforementioned method 200 is used to achieve synchronization between the third AGV and the second AGV. For example, AGV2 can be used as the master AGV and AGV3 as the slave AGV, thereby enabling synchronization between AGV3 and AGV2 using method 200.

[0082] Figure 12 An exemplary AGV 1200 for implementing AGV synchronization according to an embodiment of this disclosure is shown. For example... Figure 12 As shown, AGV 1200 includes controller 1201, which can be configured to implement the aforementioned method 200 for synchronizing two AGVs. For example, when the AGV controller has sufficient processing power, the method for synchronizing AGVs can be integrated into the AGV and implemented by the AGV controller.

[0083] Figure 13 An exemplary system 1300 for implementing AGV synchronization according to embodiments of the present disclosure is shown. The exemplary system 1300 includes a plurality of AGVs 1301, AGVs 1302, and a computing device 1303. It should be understood that... Figure 13The number of AGVs is for illustration only and not limitation, the system 1300 can include more AGVs (e.g., three, four, etc.). The plurality of AGVs 1301, 1302 can be similar to the AGVs 101, 102 of Figure 1 The computing device 1303 can be communicatively coupled to the plurality of AGVs 1301 and 1302 to enable information exchange. For example, the computing device 1303 can communicate with the plurality of AGVs 1301 and 1302 through wired or wireless data links to send instructions (e.g., movement instructions, stop instructions, measurement instructions, etc.) to the plurality of AGVs 1301 and 1302 and acquire data therefrom (e.g., various distances (including measured distances and known distances, e.g., the first distance Dl, the second distance D2, the third distance D3, the distance H between the ranging units, etc.), various parameters (e.g., trapezoidal block parameters, etc.), etc.). The computing device 1303 can be a computer (PC), a workstation, a programmable logic controller (PLC), and / or any appropriate control device to implement the methods (e.g., any one or more steps of the aforementioned methods 200, 800, or 1000) for implementing AGV synchronization described in embodiments of the present disclosure.

[0084] Figure 14 A block diagram of an exemplary computing device 1400 for implementing AGV synchronization according to embodiments of the present disclosure is shown. The computing device 1400 includes a processor 1401 and a memory 1402 coupled with the processor 1401. The memory 1402 is used to store computer-executable instructions that, when executed, cause the processor 1401 to perform the methods (e.g., any one or more steps of the aforementioned methods 200, 800, or 1000) in the above embodiments.

[0085] Further, alternatively, the above-described methods can be implemented by a computer-readable storage medium. The computer-readable storage medium has computer-readable program instructions stored therein for executing the methods in the various embodiments of the present disclosure. The computer-readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer-readable storage medium can be, for example but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or punched tape, a holographic storage medium, or any suitable combination of the foregoing. A computer-readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

[0086] Accordingly, in another embodiment, the present disclosure proposes a computer-readable storage medium having stored thereon computer-executable instructions for executing the methods in the various embodiments of the present disclosure.

[0087] In another embodiment, the present disclosure proposes a computer program product tangibly stored on a computer-readable storage medium and comprising computer- executable instructions that, when executed, cause at least one processor to perform the methods in the various embodiments of the present disclosure.

[0088] In general, the various example embodiments of the present disclosure can be implemented in hardware or special-purpose circuits, software, firmware, logic, or any combination thereof. Some aspects can be implemented in hardware, while other aspects can be implemented in firmware or software which can be executed by a controller, microprocessor or other computing device. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that the blocks, apparatus, systems, techniques or methods described herein can be implemented in, as non-limiting examples, hardware, software, firmware, special-purpose circuits or logic, general purpose hardware or controllers or other computing devices, or some combination thereof.

[0089] The computer readable program instructions or computer program product for executing the various embodiments of the present disclosure can also be stored in the cloud, and when needed, the user can access the computer readable program instructions stored in the cloud through mobile Internet, fixed network or other network, so as to implement the technical solutions disclosed according to the various embodiments of the present disclosure.

[0090] Although the embodiments of the present disclosure have been described with reference to several specific embodiments, it should be understood that the embodiments of the present disclosure are not limited to the specific embodiments disclosed. The embodiments of the present disclosure are intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. The scope of the claims is the broadest interpretation under the law, encompassing all such modifications and equivalent structures and functions.

Claims

1. A method for achieving synchronization between two AGVs, the two AGVs comprising a first AGV and a second AGV, a first distance measuring unit and a second distance measuring unit disposed on a side surface of the first AGV initially aligning with specific positions on a first trapezoidal block and a second trapezoidal block disposed on a side surface of the second AGV, the first trapezoidal block and the second trapezoidal block having an upper side length of C1 and a lower side length of C2, the specific positions corresponding to a side length of C3; the first AGV and the second AGV being designated to be spaced apart by a first distance D1, when the first AGV moves following the movement of the second AGV, the method comprising: A. measuring a second distance D2 between the first AGV and the second AGV by the first distance measuring unit; B. measuring a third distance D3 between the first AGV and the second AGV by the second distance measuring unit; C. determining a relative state with respect to synchronization between the first AGV and the second AGV based on the first distance D1, the second distance D2 and the third distance D3; and D. when the relative state indicates that the first AGV and the second AGV are not synchronized, adjusting a moving direction or a moving speed of the first AGV based on the relative state; wherein the step C comprises: if the second distance D2 and the third distance D3 are not the same, determining that the first AGV has tilted relative to the second AGV, or if the second distance D2 and the third distance D3 are the same, when the second distance D2 and the first distance D1 satisfy a relationship D1-C3 < D2 < D1-C1, determining that the first AGV moves faster than the second AGV, when the second distance D2 and the first distance D1 satisfy a relationship D1-C2 < D2 < D1-C3, determining that the first AGV moves slower than the second AGV, when the second distance D2 and the first distance D1 are the same, determining that the first AGV and the second AGV have deviated from a substantially synchronized position. the step A comprises:

2. The method of claim 1, wherein, measuring the second distance between the first AGV and the second AGV by the first distance measuring unit transmitting a pulse to the second AGV and receiving a reflected pulse from the second AGV. the step B comprises:

3. The method of claim 1, wherein, measuring the third distance between the first AGV and the second AGV by the second distance measuring unit transmitting a pulse to the second AGV and receiving a reflected pulse from the second AGV. the step D comprises:

4. The method of claim 1, wherein, when it is determined that the first AGV has tilted relative to the second AGV, estimating a tilt angle of the first AGV relative to the second AGV based on the second distance D2 and the third distance D3; and based on the estimated tilt angle, driving the first AGV to change the moving direction to compensate for the tilt angle.

5. The method of claim 1, the step D comprising: ​ when it is determined that the first AGV moves faster or slower than the second AGV, estimating the relative displacement of the first AGV and the second AGV in the moving direction based on the first distance D1 and the second distance D2; and driving the first AGV to change the moving speed to compensate for the relative displacement based on the estimated relative displacement.

6. The method of claim 1, wherein the step D comprises: when it is determined that the first AGV and the second AGV are out of the substantially synchronous position, stopping the first AGV and the second AGV from moving and sending an alarm information.

7. A method for achieving synchronization between a plurality of AGVs, the plurality of AGVs comprising a first AGV, a second AGV and a third AGV, the second AGV and the third AGV being respectively arranged on two sides of the first AGV, a first distance measuring unit and a second distance measuring unit arranged on a side surface of the first AGV being initially aligned with specific positions on a first trapezoidal block and a second trapezoidal block arranged on a side surface of the second AGV, a third distance measuring unit and a fourth distance measuring unit arranged on a side surface of the third AGV being initially aligned with specific positions on a third trapezoidal block and a fourth trapezoidal block arranged on another side surface of the first AGV, the first AGV and the second AGV being designated to be spaced apart by a first distance, the first AGV and the third AGV being designated to be spaced apart by another distance, the method comprising: when the first AGV moves following the movement of the second AGV, achieving synchronization between the first AGV and the second AGV using the method according to any one of claims 1-6, and when the third AGV moves following the movement of the first AGV, achieving synchronization between the third AGV and the first AGV using the method according to any one of claims 1-6.

8. A method for achieving synchronization between a plurality of AGVs, the plurality of AGVs comprising a first AGV, a second AGV and a third AGV, the first AGV and the third AGV being respectively arranged on two sides of the second AGV, a first distance measuring unit and a second distance measuring unit arranged on a side surface of the first AGV being initially aligned with specific positions on a first trapezoidal block and a second trapezoidal block arranged on a side surface of the second AGV, a third distance measuring unit and a fourth distance measuring unit arranged on a side surface of the third AGV being initially aligned with specific positions on a third trapezoidal block and a fourth trapezoidal block arranged on another side surface of the second AGV, the first AGV and the second AGV being designated to be spaced apart by a first distance, the second AGV and the third AGV being designated to be spaced apart by another distance, the method comprising: when the first AGV moves following the movement of the second AGV, achieving synchronization between the first AGV and the second AGV using the method according to any one of claims 1-6, and when the third AGV moves following the movement of the first AGV, achieving synchronization between the third AGV and the first AGV using the method according to any one of claims 1-6. The third AGV uses the method according to any one of claims 1-6 to achieve synchronization between the third AGV and the second AGV when the third AGV moves following the movement of the second AGV.

9. An AGV comprising a controller configured to implement the method according to any one of claims 1-6.

10. An apparatus for achieving synchronization between two AGVs, the two AGVs comprising a first AGV and a second AGV, a first distance measuring unit and a second distance measuring unit disposed on a side surface of the first AGV initially aligning with specific positions on a first trapezoidal block and a second trapezoidal block disposed on a side surface of the second AGV, the first trapezoidal block and the second trapezoidal block having an upper side length of C1 and a lower side length of C2, the specific positions corresponding to a side length of C3; the first AGV and the second AGV being designated to be spaced apart by a first distance D1, the first AGV moving following the movement of the second AGV, the apparatus comprising: a first measuring module configured to measure a second distance D2 between the first AGV and the second AGV by the first distance measuring unit; a second measuring module configured to measure a third distance D3 between the first AGV and the second AGV by the second distance measuring unit; a state determining module configured to determine a relative state regarding synchronization between the first AGV and the second AGV based on the first distance D1, the second distance D2 and the third distance D3; and an adjusting module configured to adjust a moving direction or a moving speed of the first AGV based on the relative state when the relative state indicates that the first AGV and the second AGV are not synchronized; wherein the state determining module is configured to: if the second distance D2 and the third distance D3 are not the same, determine that the first AGV has tilted relative to the second AGV, or if the second distance D2 and the third distance D3 are the same, when the second distance D2 and the first distance D1 satisfy a relationship D1-C3 < D2 < D1-C1, determine that the first AGV moves faster than the second AGV, when the second distance D2 and the first distance D1 satisfy a relationship D1-C2 < D2 < D1-C3, determine that the first AGV moves slower than the second AGV, when the second distance D2 and the first distance D1 are the same, determine that the first AGV and the second AGV have deviated from a basic synchronization position.

11. The apparatus of claim 10, wherein, the first measuring module is further configured to: measure the second distance between the first AGV and the second AGV by the first distance measuring unit transmitting a pulse to the second AGV and receiving a reflected pulse from the second AGV.

12. The apparatus of claim 10, wherein, the second measuring module is further configured to: measure the third distance between the first AGV and the second AGV by the second distance measuring unit transmitting a pulse to the second AGV and receiving a reflected pulse from the second AGV.

13. The apparatus of claim 10, wherein, the adjusting module is further configured to: when it is determined that the first AGV has tilted relative to the second AGV, estimating a tilt angle of the first AGV relative to the second AGV based on the second distance D2 and the third distance D3; and driving the first AGV to change a moving direction to compensate for the tilt angle based on the estimated tilt angle.

14. The apparatus of claim 10, the adjusting module is further configured to: when it is determined that the first AGV is moving faster or slower than the second AGV, estimating a relative displacement of the first AGV relative to the second AGV in a moving direction based on the first distance Dl and the second distance D2; and driving the first AGV to change a moving speed to compensate for the relative displacement based on the estimated relative displacement.

15. The apparatus of claim 10, the adjusting module is further configured to: when it is determined that the first AGV and the second AGV have deviated from a substantially synchronized position, stopping the first AGV and the second AGV from moving, and issuing an alert information.

16. A computing device, the computing device comprising: a processor; and a memory for storing computer-executable instructions that, when executed, cause the processor to perform the method of any one of claims 1-8.

17. A computer-readable storage medium having stored thereon computer- executable instructions for performing the method of any one of claims 1-8.

18. A computer program product tangibly stored on a computer-readable storage medium and comprising computer-executable instructions that, when executed, cause at least one processor to perform the method of any one of claims 1-8.

Citation Information

Patent Citations

  • A relative attitude measurement system based on a laser rangefinder sensor array

    CN209167539U

  • Charging device and positional deviation detection method

    US20190039473A1