Dynamically adaptive AGV speed and distance
By dynamically adjusting the speed of the AGV and the depth of the scanning profile, the problem that the AGV must stop completely when detecting an object is solved, improving travel efficiency and reducing queue space requirements.
Patent Information
- Application Number
- CN202410066805.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-20
- Filing Date
- 2024-01-16
- Publication Date
- 2025-05-20
AI Technical Summary
The automatic guide vehicle (AGV) must stop completely when an object is detected, resulting in inefficiency in travel and often stop at unnecessary minimum clearance.
The computer-implemented method performed by data processing hardware dynamically adjusts the speed of the AGV and the depth of the scan profile. When the AGV detects an object, the speed gradually decreases, and the depth of the scanning profile decreases accordingly until the AGV stops completely.
The cycle time of AGV on the travel path is reduced, travel efficiency is improved, and the AGV can stop closer to the object, thereby reducing the required queue space.
Smart Images

Figure CN120020667A_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to the operation of an Automated Guided Vehicle (AGV) as it travels in an environment, and more particularly, to dynamically adjusting the scanning profile and speed of the AGV based on the distance of the AGV to a detected object. Background Art
[0002] The information provided in this section is for the purpose of presenting the background of the present disclosure in general. To the extent described in this section, the work of the presently named inventors, as well as aspects that may not qualify as prior art at the time of filing, are neither expressly nor implicitly admitted as prior art with respect to the present disclosure.
[0003] AGVs typically transport loads within an environment (such as an industrial or manufacturing environment) by following a predetermined travel path between stations. The AGV is equipped with a scanner or sensor system that senses a sensing field in front of the AGV. When the AGV travels between stations, the AGV typically travels at a predetermined speed, and when an object is detected within the sensing field, the speed is restricted based on the distance required for the AGV to stop. Thus, when the scanner of the AGV detects an object within the sensing field, the AGV must come to a complete stop to avoid colliding with the detected object. Since the speed of the AGV is restricted based on the sensing field, which in turn causes the AGV to come to a complete stop when an object is detected, this results in an inefficient travel cycle time for the AGV between stations, and the AGV often stops at a distance greater than the minimum clearance between the AGV and the detected object.
[0004] To allow the AGV to travel at full speed between stations and come to a complete stop with a minimum clearance between the AGV and the detected object, when the scanner detects an object within the sensing field, the speed of the AGV is dynamically adjusted, and the sensing field is dynamically adjusted based on the speed of the AGV. Summary of the Invention
[0005] One aspect of the present disclosure provides a computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations. The operations include, when a vehicle travels along a predetermined travel path between a first waypoint and a second waypoint at a first speed, adjusting the speed of the vehicle from the first speed to a second speed less than the first speed based on determining that an object exists within a first portion of a sensing field of a sensor disposed at the vehicle. When the vehicle travels at the first speed, the first portion of the sensing field extends a first distance from the vehicle. When the vehicle travels along the predetermined travel path at the second speed, the operations include adjusting the first portion of the sensing field to extend a second distance less than the first distance from the vehicle.
[0006] Embodiments of the present disclosure may include one or more of the following optional features. In some embodiments, when the vehicle is traveling along a predetermined travel path at a second speed and a first portion of the sensing field extends a second distance from the vehicle, and based on determining that an object exists within the first portion of the sensing field, the operation further includes adjusting the speed of the vehicle from the second speed to a third speed that is less than the second speed. When the vehicle is traveling along the predetermined travel path at the third speed, the operation further includes adjusting the first portion of the sensing field to extend a third distance that is less than the second distance from the vehicle.
[0007] In some examples, when the vehicle is traveling along a predetermined travel path at a second speed and a first portion of the sensing field extends a second distance from the vehicle, and based on determining that no object exists within the first portion of the sensing field, the operation further includes adjusting the speed of the vehicle from the second speed to a first speed. Additionally, the operation includes adjusting the first portion of the sensing field to extend a first distance from the vehicle.
[0008] In some aspects, a second portion of the sensing field extends between the vehicle and the first portion of the sensing field. Additionally, based on determining that an object exists within the second portion of the sensing field, the operation includes stopping the vehicle.
[0009] In some embodiments, the operation further includes receiving an instruction to reduce the vehicle speed from the first speed when the vehicle reaches a second waypoint. Based on determining that no object exists within the first portion of the sensing field at the second waypoint, the operation further includes operating the vehicle at the first speed when the vehicle travels along the predetermined travel path beyond the second waypoint. In a further embodiment, the instruction is one selected from the following: (i) transmitted from a wireless transmitter disposed along the predetermined travel path at or near the second waypoint to the vehicle; and (ii) determined based on the distance that the vehicle travels along the predetermined travel path. Optionally, the vehicle includes an automated guided vehicle (AGV).
[0010] Another aspect of the present disclosure provides a system that includes data processing hardware and memory hardware communicatively coupled to the data processing hardware. The memory hardware stores instructions that are executed on the data processing hardware, and the instructions cause the data processing hardware to perform operations. The operations include when the vehicle is traveling along a predetermined travel path between a first waypoint and a second waypoint at a first speed, based on determining that an object exists within a first portion of the sensing field of a sensor disposed at the vehicle, adjusting the speed of the vehicle from the first speed to a second speed that is less than the first speed. When the vehicle is traveling at the first speed, the first portion of the sensing field extends a first distance from the vehicle. When the vehicle is traveling along the predetermined travel path at the second speed, the operation includes adjusting the first portion of the sensing field to extend a second distance that is less than the first distance from the vehicle. This aspect may include one or more of the following optional features.
[0011] In some embodiments, when the vehicle is traveling along a predetermined travel path at a second speed and a first portion of the sensing field extends a second distance from the vehicle, and based on determining that there is an object within the first portion of the sensing field, the operation further includes adjusting the speed of the vehicle from the second speed to a third speed that is less than the second speed. When the vehicle is traveling along the predetermined travel path at the third speed, the operation further includes adjusting the first portion of the sensing field to extend a third distance from the vehicle that is less than the second distance.
[0012] In some examples, when the vehicle is traveling along a predetermined travel path at a second speed and a first portion of the sensing field extends a second distance from the vehicle, and based on determining that there is no object within the first portion of the sensing field, the operation further includes adjusting the speed of the vehicle from the second speed to a first speed. Additionally, the operation includes adjusting the first portion of the sensing field to extend a first distance from the vehicle.
[0013] In some aspects, a second portion of the sensing field extends between the vehicle and the first portion of the sensing field. Additionally, based on determining that there is an object within the second portion of the sensing field, the operation includes stopping the vehicle.
[0014] In some embodiments, the operation further includes receiving an instruction to reduce the vehicle speed from the first speed when the vehicle reaches a second waypoint. Based on determining that there is no object within the first portion of the sensing field at the second waypoint, the operation further includes operating the vehicle at the first speed when the vehicle travels along the predetermined travel path beyond the second waypoint. In a further embodiment, the instruction is one selected from the following: (i) being transmitted to the vehicle from a wireless transmitter disposed along the predetermined travel path at or near the second waypoint; and (ii) being determined based on the distance that the vehicle travels along the predetermined travel path. Optionally, the vehicle includes an automated guided vehicle (AGV).
[0015] Another aspect of the present disclosure provides an automated guided vehicle (AGV). The AGV includes a sensor disposed at the AGV and sensing a sensing field relative to the AGV. The AGV includes data processing hardware and memory hardware communicatively coupled to the data processing hardware. The memory hardware stores instructions executable on the data processing hardware, and the instructions cause the data processing hardware to perform operations. The operations include when the AGV is traveling along a predetermined travel path between a first waypoint and a second waypoint at a first speed, and based on determining that there is an object within a first portion of the sensing field of the sensor, adjusting the speed of the AGV from the first speed to a second speed that is less than the first speed. When the AGV is traveling at the first speed, the first portion of the sensing field extends a first distance from the AGV. When the AGV is traveling along the predetermined travel path at the second speed, the operation includes adjusting the first portion of the sensing field to extend a second distance from the AGV that is less than the first distance. This aspect may include one or more of the following optional features.
[0016] In some embodiments, when the AGV travels along a predetermined travel path at a second speed and a first portion of the sensing field extends a second distance from the AGV, and based on determining that there is an object within the first portion of the sensing field, the operation further includes adjusting the speed of the AGV from the second speed to a third speed that is less than the second speed. When the AGV travels along the predetermined travel path at the third speed, the operation further includes adjusting the first portion of the sensing field to extend a third distance that is less than the second distance from the AGV.
[0017] In some examples, when the AGV travels along a predetermined travel path at a second speed and a first portion of the sensing field extends a second distance from the AGV, and based on determining that there is no object within the first portion of the sensing field, the operation further includes adjusting the speed of the AGV from the second speed to a first speed. Additionally, the operation includes adjusting the first portion of the sensing field to extend a first distance from the AGV.
[0018] In some aspects, a second portion of the sensing field extends between the AGV and the first portion of the sensing field. Additionally, based on determining that there is an object within the second portion of the sensing field, the operation includes stopping the AGV.
[0019] In some embodiments, the operation further includes receiving an instruction to reduce the speed of the AGV from the first speed when the AGV reaches a second waypoint. Based on determining that there is no object within the first portion of the sensing field at the second waypoint, the operation further includes operating the AGV at the first speed when the AGV travels along the predetermined travel path beyond the second waypoint. In a further embodiment, the instruction is one selected from the following: (i) being transmitted from a wireless transmitter disposed along the predetermined travel path at or near the second waypoint to the AGV; and (ii) being determined based on the distance that the AGV travels along the predetermined travel path.
[0020] Details of one or more embodiments of the present disclosure are set forth in the accompanying drawings and the following description. Other aspects, features, and advantages will become apparent from the specification, the drawings, and the claims. Description of the Drawings
[0021] The drawings described herein are only for illustration of selected configurations and are not intended to limit the scope of the present disclosure.
[0022] Figure 1 is a schematic diagram of a vehicle traveling along a travel path.
[0023] Figure 2 is a schematic diagram of a control module of the vehicle.
[0024] Figures 3A to 3C is a schematic diagram of the sensing field of the vehicle and vehicle sensors at different travel speeds of the vehicle.
[0025] Figure 4 is a flowchart of an example method for dynamically adjusting a vehicle's traveling speed and a sensor's sensing field while the vehicle travels along a path.
[0026] Figure 5 is a flowchart of another example method for dynamically adjusting a vehicle's traveling speed and a sensor's sensing field while the vehicle travels along a path.
[0027] In all the figures, corresponding reference numerals represent corresponding parts. DETAILED DESCRIPTION
[0028] Example configurations will now be described more fully with reference to the accompanying drawings. The example configurations are provided so that this disclosure will be thorough and will fully convey the scope of this disclosure to those of ordinary skill in the art. Specific details are set forth, such as examples of specific components, devices, and methods, to provide a thorough understanding of the configurations of this disclosure. It will be apparent to those of ordinary skill in the art that specific details need not be employed, that the example configurations may be embodied in many different forms, and that the specific details and example configurations should not be construed as limiting the scope of this disclosure.
[0029] The terminology used herein is for the purpose of describing particular example configurations only and is not intended to be limiting. As used herein, the singular articles “a,” “an,” and “the” may also be intended to include the plural forms, unless the context clearly indicates otherwise. The terms “comprising,” “including,” “containing,” and “having” are inclusive and thus specify the presence of stated features, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof. The method steps, processes, and operations described herein should not be construed as necessarily requiring them to be performed in the particular order discussed or illustrated, unless specifically identified as an order of performance. Additional or alternative steps may be employed.
[0030] When an element or layer is referred to as “on,” “engaged to,” “connected to,” “attached to,” or “coupled to” another element or layer, it may be directly on, engaged, connected, attached, or coupled to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as “directly on,” “directly engaged to,” “directly connected to,” “directly attached to,” or “directly coupled to” another element or layer, intervening elements or layers may not be present. Other words used to describe the relationship between elements should be interpreted in a like manner (e.g., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.). As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.
[0031] The terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers, and / or sections. These elements, components, regions, layers, and / or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer, or section from another. Terms such as "first", "second", and other numerical terms do not imply an order or sequence unless the context clearly indicates otherwise. Thus, a first element, component, region, layer, or section discussed below may be referred to as a second element, component, region, layer, or section without departing from the teachings of the exemplary configuration.
[0032] In this application, including the definitions below, the term module may be replaced by the term circuit. The term "module" may refer to an application specific integrated circuit (ASIC) or a portion thereof, or include an application specific integrated circuit (ASIC); digital, analog, or mixed analog / digital discrete circuits; digital, analog, or mixed analog / digital integrated circuits; combinational logic circuits; field programmable gate arrays (FPGA); processors (shared, dedicated, or group) that execute code; memories (shared, dedicated, or group) that store code executed by the processors; other suitable hardware components that provide the functions; or some or all of the combinations of the above, such as in a system on a chip.
[0033] The term code as used above may include software, firmware, and / or microcode, and may refer to programs, routines, functions, classes, and / or objects. The term shared processor includes a single processor that executes portions or all of the code from multiple modules. The term group processor includes a processor that, in combination with additional processors, executes some or all of the code from one or more modules. The term shared memory includes a single memory that stores some or all of the code from multiple modules. The term group memory includes a memory that, in combination with additional memories, stores some or all of the code from one or more modules. The term memory may be a subset of the term computer-readable medium. The term computer-readable medium does not include transient electrical signals and electromagnetic signals propagated through a medium, and thus may be considered tangible non-transitory memory. Non-limiting examples of non-transitory memory include tangible computer-readable media, including non-volatile memory, magnetic memory, and optical memory.
[0034] The apparatus and methods described in this application may be implemented in part or in whole by one or more computer programs executed by one or more processors. The computer programs include processor-executable instructions stored on at least one non-transitory tangible computer-readable medium. The computer programs may also include and / or rely on stored data.
[0035] A software application (i.e., software resource) can refer to computer software that enables a computing device to perform tasks. In some examples, a software application may be referred to as an "application program", "app", or "program". Example applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and gaming applications.
[0036] A non-transitory memory can be a physical device for temporarily or permanently storing programs (e.g., sequences of instructions) or data (e.g., program state information) for use by a computing device. A non-transitory memory can be volatile and / or non-volatile addressable semiconductor memory. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electrically erasable programmable read-only memory (EEPROM) (e.g., commonly used for firmware such as a boot program). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), and magnetic disks or tapes.
[0037] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented in high-level procedural and / or object-oriented programming languages and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or device (e.g., a magnetic disk, an optical disk, a memory, a programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including a machine-readable medium that receives the machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.
[0038] Various embodiments of the systems and techniques described herein can be implemented in digital electronic and / or optical circuits, integrated circuits, specially designed ASICs (application-specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These different embodiments can include embodiments implemented in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, at least one input device, and at least one output device, where the programmable processor can be special-purpose or general-purpose and is coupled to receive data and instructions from, and to send data and instructions to, a storage system.
[0039] The processes and logical flows described in this specification can be performed by one or more programmable processors, also known as data processing hardware, executing one or more computer programs to perform functions by operating on input data and generating output. These processes and logical flows can also be performed by special purpose logic circuitry, such as an FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit). By way of example, processors suitable for the execution of a computer program include both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Generally, a computer will also include or be operatively coupled to one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, to receive data from or transfer data to the mass storage device, or both. However, a computer need not have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including by way of example semiconductor storage devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
[0040] To provide for interaction with a user, one or more aspects of the present disclosure can be implemented on a computer having a display device, such as a CRT (Cathode Ray Tube), LCD (Liquid Crystal Display) monitor, or touch screen, for displaying information to the user, and a keyboard and a pointing device, such as a mouse or trackball, optional, by which the user can provide input to the computer. Other types of devices can also be used to provide for interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input received from the user can be in any form, including sound, voice, or tactile input. Additionally, the computer can interact with the user by sending documents to and receiving documents from the device used by the user; for example, by sending a web page to a web browser on a client device of the user in response to a request received from the web browser.
[0041] Automated guided vehicles (AGVs) typically travel along a predetermined travel path in an environment such as an industrial or manufacturing environment. The AGV is equipped with a scanner or sensor that senses a sensing field in front of the AGV. The sensing field extends a depth or distance from the AGV, and the speed of the AGV is limited based on the depth of the sensing field and the ability of the AGV to stop before colliding with an object detected in the sensing field. In other words, the speed of the AGV is limited so that when an object is detected in the sensing field, the AGV can stop before colliding with the object. In some examples, once the AGV stops, the AGV must maintain a critical gap between the AGV and the detected object, such that the speed of the AGV is limited based on the depth of the sensing field and the critical gap.
[0042] Accordingly, when the AGV travels in an environment, the AGV typically travels at a speed limited by the depth of the sensing field and / or the critical gap distance, such that when an object is detected in the sensing field, the AGV stops completely to avoid colliding with the detected object. However, since the speed of the AGV is limited by the stopping distance and the depth of the sensing field, the travel time between destinations is increased. Typically, the AGV is equipped with a simple sensor or scanner where the depth of the sensing field is fixed based on the capabilities of the sensor, or can only be adjusted when the AGV stops, thus resulting in inefficiencies during the travel of the AGV. Additionally, objects often move into and out of the sensing field of the AGV such that the AGV does not always need to stop completely to avoid colliding with an object. Further, based on the difference between the assumed or predicted stopping distance of the AGV and the actual stopping distance of the AGV, the AGV typically stops completely at a distance farther from the detected object than the critical gap, which can result in a longer queue of AGVs than necessary.
[0043] As discussed further below, the present disclosure allows a sensor or scanner to sense or detect an object at a distance in front of the AGV without requiring the AGV to initiate an immediate stop to avoid colliding with the detected object. Instead, when an object is detected in the sensing field, the speed of the AGV is reduced to a non-zero speed. Once the AGV reaches the reduced speed, the depth of the sensing field of the sensor or scanner is reduced according to the reduced speed. If an object is detected in the reduced sensing field, the speed of the AGV is reduced again, and the depth of the sensing field of the sensor or scanner is reduced according to the new reduced speed. This process can be repeated until the AGV stops completely, or the detected object is close enough to the AGV such that the AGV must stop completely to avoid colliding with the detected object. Although the discussion herein is with respect to an AGV traveling along a predetermined path, it should be understood that the systems and methods discussed herein are applicable to any suitable vehicle equipped with a sensor for detecting an object within the travel path of the vehicle, such as an automated guided cart (AGC), an autonomous mobile robot (AMR), a passenger vehicle, etc.
[0044] Referring now to the drawings and the illustrated configuration described therein, a vehicle or automated guided vehicle (AGV) 100 travels within an environment 10, such as an industrial or manufacturing environment like a factory or a warehouse ( Figure 1 ). In the example shown, the AGV 100 travels along a predetermined travel path 12 between waypoints 14, 14a - b that are associated with corresponding features or locations 16, 16a - b within the environment 10. For example, the AGV 100 can transport supplies from a storage area and / or transport loads between workstations within the environment 10.
[0045] The AGV 100 includes a control module 102, such as a programmable logic controller (PLC), which has data - processing hardware 104 and memory hardware 106 that communicates with the data - processing hardware 104. The memory hardware 106 stores instructions that, when executed on the data - processing hardware 104, cause the data - processing hardware 104 to perform operations. For example, the memory hardware 106 stores instructions for controlling the operation of the AGV 100 as it travels along the travel path 12, and instructions for dynamically adjusting the speed of the AGV 100 based on the detection of an object 20 within the sensing field 110 of a sensor or scanner 108 at the AGV 100.
[0046] The sensor 108, such as a lidar sensor, a laser radar sensor, a radar sensor, a camera, etc., senses a sensing or scanning profile 110 field in front of the AGV 100 to detect static and moving obstacles 20 along the travel path 12 of the AGV 100, such as people, other AGVs, objects, checkpoints, etc. The sensing field 110 includes a first portion or warning zone 112 that extends a first distance from the AGV 100, and a second portion or stop zone 114 that extends between the AGV 100 and the warning zone 112.
[0047] The distance or depth of the first portion 112 and the second portion 114 from the AGV 100 (e.g., the distance that the corresponding portion of the sensing field 110 extends horizontally along the travel direction of the AGV 100) can be based on the stopping distance of the AGV 100 at its current speed. Thus, when an object 20 is detected within the stop zone 114, the control module 102 causes the AGV 100 to come to a complete stop to avoid colliding with the object 20. As discussed further below, the warning zone 112 extends a greater distance from the AGV 100 than the stop zone 112, and thus, when an object 20 is detected within the warning zone 112, the control module 102 adjusts the operation of the motor 116 of the AGV 100 to reduce the speed of the AGV 100 and thus reduce the stopping distance of the AGV 100.
[0048] After the speed of the AGV 100 decreases upon detecting an object 20 within the warning zone 112, the control module 102 reduces the depth of the warning zone 112 and / or the stop zone 114 based on the decreased speed of the AGV 100. In other words, the distance or depth of the first part 112 and / or the second part 114 from the AGV 100 can be dynamically adjusted based on the current traveling speed of the AGV 100.
[0049] As Figure 2 shown, the control module 102 maintains operating profiles 200, 200a - n of the AGV 100, which depict the target speed or traveling speed 202, 202a - n of the AGV 100 and the depth or distance 204, 204a - n of the warning zone 112 and the depth or distance 206, 206a - n of the stop zone 114 corresponding to the traveling speed 202. For each traveling speed 202, the corresponding depth 206 of the stop zone 114 is based on the stopping distance of the AGV 100 to avoid collision with the object 20 detected within the stop zone 114, and the corresponding depth 204 of the warning zone 112 is set such that the sensor 108 detects the object 20 before the AGV 100 needs to stop to avoid collision with the detected object 20.
[0050] When an object 20 is detected within the warning zone 112 of an operating profile 200, for example determined based on captured sensor data or a signal 208 transmitted from the sensor 108 indicating the presence of the object 20 within the warning zone 112, the control module 102 adjusts the operation of the motor 116 to achieve the target speed 202 of the next operating profile 200, thereby reducing the speed of the AGV 100. Once the AGV 100 reaches the reduced target speed 202, for example determined based on a signal 210 from the motor 116 indicating that the AGV 100 is traveling at the target speed 202, the control module 102 adjusts the depth 204 of the warning zone 112 and / or the depth 206 of the stop zone 114 based on the operating profile 200 corresponding to the target speed 202.
[0051] For example, referring to Figure 1 、 2As shown in FIGS. 3A - 3C, when the AGV 100 travels along the travel path 12 at a first speed 202, 202a, for example, between a first waypoint 14, 14a corresponding to a first position 16, 16a within the environment 10 and a second waypoint 14, 14b corresponding to a second position 16, 16b within the environment 10, a first portion 112 of the sensing field 110 extends a corresponding first distance 204, 204a from the AGV 100, and a second portion 114 of the sensing field 110 extends a corresponding first distance 206, 206a between the AGV 100 and the first portion 112. Based on determining that an object 20 is present within the first portion 112 of the sensing field 110, the control module 102 adjusts the speed 202 of the AGV 100 from the first speed 202a to a second speed 202, 202b that is less than the first speed 202a. In the case where the AGV 100 travels at the second speed 202b, the control module 102 adjusts the first portion 112 of the sensing field 110 to extend a corresponding second distance 204, 204b that is less than the first distance 204a from the AGV 100. Additionally, the control module 102 may adjust the second portion 114 of the sensing field 110 to extend a corresponding second distance 206, 206b between the AGV 100 and the first portion 112.
[0052] In the case where the AGV 100 travels at the second speed 202b and based on determining that an object 20 is present within the first portion 112 of the sensing field 110, the control module 102 adjusts the speed 202 of the AGV 100 to a third speed 202, 202c that is less than the second speed 202b. In the case where the AGV 100 travels at the third speed 202c, the control module 102 adjusts the first portion 112 of the sensing field 110 to extend a corresponding third distance 204, 204c that is less than the second distance 204b from the AGV 100. The control module 102 may adjust the second portion 114 of the sensing field 110 to extend a corresponding third distance 206, 206c between the AGV 100 and the first portion 112.
[0053] The process of repeatedly detecting an object 20 within the warning zone 112, slowing down the AGV 100, and reducing the distance 204 between the warning zone 112 and the AGV 100 is repeated until the sensor 108 no longer detects the object 20 or until the AGV 100 slows down to a stop. For example, the control module 102 may maintain a finite number of operating profiles 200 (e.g., 32 operating profiles with corresponding speeds and zone depths). Optionally, each operating profile 200 acts as a gate, where the target speed 202 must be reached in a sequential order until the AGV 100 slows down to a stop or an object 20 is detected within the stop zone 114 and the AGV 100 stops.
[0054] When the AGV 100 is traveling at a reduced speed 202 and the control module 102 determines that the object 20 is no longer a collision issue, the control module 102 adjusts the operation of the motor 116 to increase the speed of the AGV 100, and the control module 102 adjusts the sensing field 110 to increase the corresponding depth 204 of the first portion 112 and the corresponding depth 206 of the second portion 114. For example, when no object 20 is detected in the sensing field 110 within a threshold time period (such as 5 seconds or longer, 10 seconds or longer, 30 seconds or longer, etc.), the control module 102 determines that the object 20 is not a collision issue. Thus, when the object 20 moves out of the travel path 12, the control module 102 increases the speed of the AGV 100.
[0055] For example, when the AGV 100 is traveling at a second speed 202b, the first portion 112 of the sensing field 110 extends a second distance 204b from the AGV 100, and based on determining that no object 20 exists within the first portion 112 and the second portion 114 of the sensing field 110, the control module 102 adjusts the first portion 112 of the sensing field 110 to extend a corresponding first distance 204a from the AGV 100 and adjusts the speed 202 of the AGV 100 from the second speed 202b to the first speed 202a. The control module 102 may further adjust the second portion 114 of the sensing field 110 from extending a corresponding second distance 206b to extending a corresponding first distance 206a between the AGV 100 and the first portion 112.
[0056] Thus, the control module 102 dynamically adjusts the speed 202 of the AGV 100 based on detecting the object 20 within the first portion or warning zone 112 of the sensing field 110 such that the AGV 100 can decelerate when the object 20 is detected rather than coming to a complete stop. This reduces the travel time of the AGV 100 along the travel path 12 because the AGV 100 does not come to a complete stop every time the object 20 is detected. Additionally, the AGV 100 can travel along the travel path 12 at its maximum travel speed because when the object 20 is detected in the second portion 114, the AGV 100 stops and the sensor 108 will detect the object 20 before the required stop distance in the second portion 114 of the sensing field 110. Further, because the speed 202 of the AGV 100 is reduced until the object 20 is within the second portion 114 of the sensing field 114, the AGV 100 stops closer to the object 20 compared to when the AGV 100 immediately stops upon first detecting the object 20.
[0057] For example, the detected object 20 is a column of other AGVs, where it is desired to stack or position the AGVs with a minimum gap (e.g., about 20 inches or less) between adjacent AGVs. Since the control module 102 gradually slows down the AGV 100 as the AGV 100 approaches the detected object 20, the AGV 100 stops at the minimum gap distance between the equipped AGV and the detected AGV 20. This reduces the space required for the AGV queue within the environment 10.
[0058] In some examples, a travel path 12 is set between waypoints 14 and corresponding locations 16 within the environment 10, e.g., by a guidance tape tracked by a guidance sensor at the AGV 100. Optionally, the travel path 12 is stored in the memory 106 at the AGV 100, and the control module 102 can track the position of the AGV 100 along the travel path 12 based on signals from a motor encoder at the motor 116.
[0059] Based on the position of the AGV 100 along the travel path 12, the control module 102 can be instructed to adjust the speed 202 of the AGV 100, e.g., if the position along the travel path 12 corresponds to a busy traffic area or a waiting area where the AGV 100 typically slows down or stops to wait for other AGVs to cycle through an upcoming waypoint 14. To avoid unnecessary stops, the control module 102 can veto or revoke the instruction to slow down or stop at these positions along the travel path 12 based on the determination that no object 20 is within the sensing field 110 when the AGV 100 reaches these positions.
[0060] In Figure 1 the example shown, when the AGV 100 approaches the second waypoint 14b, the control module 102 has an instruction to reduce the speed 202 of the AGV 100, e.g., reducing the speed 202 from a first speed 202a. For example, the instruction is transmitted from a wireless transmitter (e.g., a radio frequency identification (RFID) tag or disc 18) set at or near the second waypoint 14b along the travel path 12 to the AGV 100. Optionally, the instruction is determined based on the distance the AGV 100 travels along the travel path 12. Based on the determination that no object 20 is present within a first portion 112 of the sensing field 110 and a second portion 114 of the sensing field 110 at the second waypoint 14b, when the AGV 100 travels to and / or past the second waypoint 14b along the travel path 12, the control module 102 continues to operate the AGV 100 at the first speed 202a.
[0061] Figure 4A flowchart of an example method 400 is provided, which is used to dynamically adjust the speed 202 of the AGV 100 and the depth of the sensing field 110 of the sensor 108 at the AGV 100 when the AGV 100 travels along the travel path 12 between the first waypoint 14a and the second waypoint 14b and detects an object 20 within the first portion 112 of the sensing field 110. The control module 102 may perform the operations of method 400. At operation 402, method 400 includes determining that there is an object 20 within the first portion 112 of the sensing field 110 of the sensor 108 at the AGV 100. At operation 404, method 400 includes adjusting the speed 202 of the AGV 100 from a first speed 202a to a second speed 202b that is less than the first speed 202a. At operation 406, method 400 includes confirming that the AGV 100 is traveling at the reduced second speed 202b, such as via a signal 210 from the motor 116. At operation 408, when the AGV 100 is traveling at the reduced second speed 202b, method 400 includes adjusting the first portion 112 of the sensing field 110 to extend a second distance 204b that is less than the first distance 204a.
[0062] Figure 5 A flowchart of another example method 500 is provided, which is used to dynamically adjust the speed 202 of the AGV 100 and the depth of the sensing field 110 of the sensor 108 at the AGV 100 when the AGV 100 travels along the travel path 12 and detects an object 20 within the first portion 112 of the sensing field 110. The control module 102 may perform the operations of method 500. At operation 502, method 500 includes controlling the operation of the AGV 100 along the travel path 12 at a maximum first speed 202a. When the AGV 100 travels at the first speed 202a, the first portion 112 of the sensing field 110 extends a first distance 204a from the AGV 100. At operation 504, method 500 includes determining whether an object 20 has been detected within the first portion 112 of the sensing field 110. If no object 20 is detected within the first portion 112 of the sensing field 110, method 500 returns to operation 502. If an object 20 has been detected within the first portion 112 of the sensing field 110, then method 500 adjusts the speed 202 of the AGV 100 from the first speed 202a to a second speed 202b that is less than the first speed 202a of the next operating profile 200 at operation 506. At operation 508, method 500 includes determining whether the AGV 100 is traveling at the second speed 202b. Once the AGV 100 is traveling at the second speed 202b, method 500 includes adjusting the first portion 112 of the sensing field 110 to extend a second distance 204b that is less than the first distance 204a of the next operating profile 200 at operation 510.
[0063] At operation 512, method 500 includes determining whether an object 20 is detected within a first portion 112 of the sensing field 110 set at a second distance 204b. If an object 20 is detected within the first portion 112 of the sensing field 110 at operation 512, method 500 returns to operation 506 until the AGV 100 reaches its destination (operation 522). If an object 20 is not detected within the first portion 112 of the sensing field 110 at operation 512, method 500 includes, at operation 514, increasing the speed 202 of the AGV and adjusting the distance 204 of the first portion 112 of the sensing field 110 to the next operating parameter 200 until the AGV 100 reaches its destination (operation 522).
[0064] At operation 516, method 500 includes determining whether an object 20 is detected within a second portion 114 of the sensing field 110. If an object 20 is not detected within the second portion 114 of the sensing field 110 at operation 516, method 500 returns to operation 502. If an object 20 has been detected within the second portion 114 of the sensing field 110 at operation 516, method 500 includes, at operation 518, stopping the AGV 100. At operation 520, method 500 includes determining whether the object 20 has moved out of the second portion 114 of the sensing field 110. Once the object 20 has moved out of the second portion 114 of the sensing field 110, method 500 proceeds to operation 514 until the AGV 100 reaches its destination (operation 522).
[0065] Numerous embodiments have been described. However, it should be understood that various modifications can be made without departing from the spirit and scope of the disclosure. Accordingly, other embodiments are also within the scope of the following claims.
[0066] The foregoing description has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. The individual elements or features of a particular configuration are generally not limited to that particular configuration, but, where applicable, are interchangeable and can be used in a selected configuration, even if not specifically shown or described. This can also vary in many ways. Such variations should not be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure.
Claims
1. A computer-implemented method performed by data processing hardware, the method causing the data processing hardware to perform operations comprising: When the vehicle is traveling along a predetermined travel path between a first waypoint and a second waypoint at a first speed, and based on determining that an object is present within a first portion of a sensing field of a sensor disposed at the vehicle, adjusting the speed of the vehicle from the first speed to a second speed that is less than the first speed, wherein With the vehicle traveling at a first speed, a first portion of the sensing field extends a first distance from the vehicle; as well as With the vehicle traveling along the predetermined path of travel at a second speed, the first portion of the sensing field is adjusted to extend a second distance from the vehicle that is less than the first distance.
2. The method according to claim 1, wherein: The operations also include: When the vehicle is traveling along the predetermined path of travel at a second speed and the first portion of the sensing field extends a second distance from the vehicle, and based on determining that the object is present within the first portion of the sensing field, adjusting the speed of the vehicle from the second speed to a third speed that is less than the second speed; and With the vehicle traveling along the predetermined path of travel at a third speed, the first portion of the sensing field is adjusted to extend a third distance from the vehicle that is less than the second distance.
3. The method according to claim 1, wherein: The operations also include, while the vehicle is traveling along the predetermined path of travel at a second speed and the first portion of the sensing field extends a second distance from the vehicle, and based on determining that an object is not present within the first portion of the sensing field: adjusting the speed of the vehicle from the second speed to the first speed; as well as A first portion of the sensing field is adjusted to extend a first distance from the vehicle.
4. The method according to claim 1, wherein: a second portion of the sensing field extending between the vehicle and the first portion of the sensing field; and The operations also include stopping the vehicle based on determining that the object is present within the second portion of the sensing field.
5. The method according to claim 1, wherein: The operations also include: When the vehicle reaches the second waypoint, receiving an instruction to reduce the speed of the vehicle from the first speed; and Based on determining that the object is not present within the first portion of the sensing field at the second waypoint, the vehicle continues to be operated at the first speed as the vehicle travels beyond the second waypoint along the predetermined path of travel.
6. The method according to claim 5, wherein: The instruction is selected from one of the following: is transmitted to the vehicle from a wireless transmitter disposed along the predetermined path of travel at or near the second waypoint; as well as Determined based on a distance traveled by the vehicle along a predetermined path of travel.
7. The method according to claim 1, wherein: The vehicle comprises an automated guided vehicle (AGV).
8. A system, comprising: Data processing hardware; and Memory hardware in communication with the data processing hardware, the memory hardware storing instructions to be executed on the data processing hardware, the instructions causing the data processing hardware to perform operations including: When the vehicle is traveling along a predetermined path of travel between a first waypoint and a second waypoint at a first speed, and based on determining that an object is present within a first portion of a sensing field of a sensor disposed at the vehicle, adjusting a speed of the vehicle from the first speed to a second speed that is less than the first speed, wherein the first portion of the sensing field extends a first distance from the vehicle when the vehicle is traveling at the first speed; adjusting the first portion of the sensing field to extend a second distance from the vehicle that is less than the first distance when the vehicle is traveling along the predetermined path of travel at a second speed; and While the vehicle is traveling along the predetermined path of travel at a second speed and the first portion of the sensing field extends a second distance from the vehicle, and based on determining that an object is not present within the first portion of the sensing field: adjusting the speed of the vehicle from the second speed to the first speed; and A first portion of the sensing field is adjusted to extend a first distance from the vehicle.
9. An automatic guided vehicle (AGV), the AGV comprising: a sensor disposed at the AGV and sensing a sensing field relative to the AGV; Data processing hardware; and Memory hardware in communication with the data processing hardware, the memory hardware storing instructions to be executed on the data processing hardware, the instructions causing the data processing hardware to perform operations including: When the AGV is traveling at a first speed along a predetermined travel path between a first waypoint and a second waypoint, and based on determining that the object is present within a first portion of a sensing field of the sensor, adjusting a speed of the AGV from the first speed to a second speed that is less than the first speed, wherein the first portion of the sensing field extends a first distance from the AGV when the AGV is traveling at the first speed; adjusting the first portion of the sensing field to extend a second distance from the AGV that is less than the first distance when the AGV is traveling along the predetermined path of travel at a second speed; and The AGV is stopped based on determining that the object is present within a second portion of the sensing field, the second portion of the sensing field extending between the AGV and the first portion of the sensing field.
10. The AGV according to claim 9, wherein: The operations also include, while the AGV is traveling along the predetermined path of travel at a second speed and the first portion of the sensing field extends a second distance from the AGV, and based on determining that an object is not present within the first portion of the sensing field: Adjust the speed of the AGV from the second speed to the first speed; as well as A first portion of the sensing field is adjusted to extend a first distance from the AGV.