Docking System and Method for Autonomous Vehicles

JP2025523787A5Pending Publication Date: 2026-06-30VENTI TECHNOLOGIES

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
VENTI TECHNOLOGIES
Filing Date
2023-06-30
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing autonomous vehicles face challenges in precisely docking at specific locations due to human visual acuity limitations and imprecision in incremental positioning, leading to potential damage during docking.

Method used

A system and method for autonomously docking an autonomous vehicle using an external reference point detection module and a docking module that adjusts the vehicle's position stepwise based on LiDAR data and brake mechanism control to achieve a threshold distance within centimeters of the docking location.

Benefits of technology

Enables precise docking of autonomous vehicles within a few centimeters of the desired location, ensuring safe loading and unloading operations without manual intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A system, method, and computer program product for autonomously docking an autonomous vehicle are described herein. Data is received that includes (i) an indication that the autonomous vehicle is within a docking location and (ii) an adjustment distance for positioning the autonomous vehicle within a threshold distance of the docking location. An external reference point detection module identifies an external reference point for the autonomous vehicle. A docking module stepwise adjusts the position of the autonomous vehicle along a first axis based on the distance between the autonomous vehicle and the external reference point until either (i) the autonomous vehicle is within the threshold distance of the docking location or (ii) the number of adjustments exceeds an adjustment maximum.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Priority Claim This application claims priority to Singapore Application No. 10202250357T, filed on Jul. 1, 2022, the contents of which are hereby incorporated by reference in their entirety.

[0002] The subject matter described herein relates to a docking system for autonomous vehicles.

Background Art

[0003] Automation is the use of computing systems to achieve various tasks without the need for human intervention. In various industries, automation is utilized to complete tasks, for example, to reduce costs and / or improve efficiency. Exemplary industries include the automotive and maritime industries.

[0004] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings.

Brief Description of the Drawings

[0005]

Figure 1

[0006]

Figure 2

[0007]

Figure 3

[0008]

Figure 4

[0009]

Figure 5A

Figure 5B

[0010]

Figure 6

[0011]

Figure 7

[0012]

Figure 8

[0013] In one aspect, a method for autonomously docking an autonomous vehicle includes receiving data including (i) an indication that the autonomous vehicle is within a docking location and (ii) an adjustment distance for positioning the autonomous vehicle within a threshold distance of the docking location. An external reference point detection module identifies an external reference point for the autonomous vehicle. A docking module stepwise adjusts the position of the autonomous vehicle along a first axis based on the distance between the autonomous vehicle and the external reference point until either (i) the autonomous vehicle is within the threshold distance of the docking location or (ii) the number of adjustments exceeds an adjustment maximum.

[0014] In some variations, the threshold distance is less than 5 centimeters from a boundary along a first axis of the docking location.

[0015] In other variations, the data further includes a plurality of light detection and ranging (LiDAR) data points.

[0016] In some variations, the external reference point is identified by using an external reference point detection module to identify a subset of a plurality of LiDAR data points located within a specified region. It is determined whether the subset is larger than a threshold. Based on the subset being larger than the threshold, a plurality of clusters are generated from the subset based on the distances between each LiDAR data point. For each cluster of the plurality of clusters, the distance to an internal reference point of the autonomous vehicle is determined. The cluster having the shortest distance along a first axis to the internal reference point among the plurality of clusters is identified.

[0017] In other variations, a cluster is identified as having the shortest distance along a first axis and the shortest distance along a second axis to the internal reference point.

[0018] In some variations, the external reference point has a higher intensity light reflectivity than the surrounding vicinity of the external reference point.

[0019] In other variations, the position is adjusted step - by - step by repeated continuous operations of applying and releasing the braking mechanism of the autonomous vehicle.

[0020] In some variations, the position is adjusted step - by - step by determining the brake release time. The braking mechanism is released for a portion of the brake release time. The total time that the braking mechanism is released is evaluated. After releasing and evaluating, if the total time is shorter than a portion of the time, it is determined whether the distance that the autonomous vehicle has moved is within a threshold distance. That distance is compared with the absolute value of the difference between that distance and the adjustment distance. If the distance is not within the threshold distance, releasing, evaluating, and determining are repeated.

[0021] In other variations, if the total time is not shorter than a portion of the time over another part of the brake release time, the position is further adjusted step - by - step by applying the braking mechanism. Determining is repeated until (i) the distance is within the threshold distance or (ii) the number of step - by - step adjustments exceeds 5 adjustments.

[0022] In some variations, the autonomous vehicle is an autonomous prime mover and data is received from an automatic rail - mounted gantry.

[0023] In other variations, when the autonomous vehicle is within the threshold distance, the container is automatically loaded or unloaded onto the autonomous vehicle without manual intervention.

[0024] In some variations, when the number of adjustments exceeds the adjustment maximum, an alarm is triggered and it becomes easier to manually load or unload the container onto the autonomous vehicle with human assistance.

[0025] Details of one or more variations of the subject matter described in this specification are described in the accompanying drawings and the following description. Other features and advantages of the subject matter described in this specification will become apparent from the description and drawings, as well as from some examples.

DETAILED DESCRIPTION OF THE INVENTION

[0026] An autonomous vehicle operates with minimal or no interaction with humans. There are many ways in which autonomous vehicles are used in both personal and commercial environments. For example, in a personal environment, people can use an autonomous vehicle to travel from point A to point B, such as commuting to work or school. In a commercial environment, an autonomous vehicle can be used to transport people or goods from point A to point B. For example, items can be placed on or retrieved from inventory shelves in a retail space or storage warehouse, or a transport container can be moved around a transport port. Regardless of personal or commercial use, an autonomous vehicle needs to dock (or park) at a specific location either temporarily or permanently. Precise movement or adjustment of the position of the autonomous vehicle during docking is important to avoid any damage to anything around the autonomous vehicle, the autonomous vehicle itself, or any item or person being transported by the autonomous vehicle. The systems and methods described herein can be used for precise docking of an autonomous vehicle within a few centimeters of a specific docking location.

[0027] The precision described herein may not be achievable by humans due to human visual acuity and lack of position feedback. Additionally, there is imprecision when moving an autonomous vehicle incrementally to a desired stop point. For example, if an autonomous vehicle first arrives at a docking location and is approximately 15 cm short of the final docking location, using only the braking mechanism with human control may not be sufficient to move the autonomous vehicle to the correct position. This is because when a human releases the braking mechanism, the motor idle speed pulls the autonomous vehicle further, but the exact amount by which the autonomous vehicle is pulled forward cannot be determined relative to the precision required for proper placement of the autonomous vehicle. This can be due to, for example, braking mechanism delays, towing conditions, and / or engine idle speed.

[0028] FIG. 1 is a block diagram 100 showing a top view of an autonomous vehicle 110 docked inside a docking location 120 within an exact distance of a front boundary 120a and / or a rear boundary 120b according to various embodiments of the present disclosure. The autonomous vehicle 110 navigates to the docking location 120 by various position movements (e.g., left and / or right of the y-axis, lateral direction, front and rear of the x-axis, longitudinal direction). The docking location 120 is defined by a front boundary 120a and a rear boundary 120b of the x-axis, and a right boundary 120c and a left boundary 120d of the y-axis. When the autonomous vehicle 110 arrives inside the boundaries 120a-120d of the docking location 120, the autonomous vehicle 110 adjusts its position step by step to be within an exact distance of the front boundary 120a and / or the rear boundary 120b. In other words, the position of the autonomous vehicle 110 is adjusted until the autonomous vehicle 110 enters within a threshold distance of the front boundary 120a and / or the rear boundary 120b. The autonomous vehicle 110 performs these stepwise adjustments by comparing the position of an internal reference point 124 with the position of one or more of external reference points 102, 103, 104, 105, 106. Since the external reference points 102-106 are objects having a higher reflectivity than their surroundings, for example, when using a light detection and ranging (LiDAR) scan, light can be easily reflected at the external reference points when scanning.

[0029] When the autonomous vehicle 110 arrives inside the boundaries 120a to 120d of the docking location 120, the autonomous vehicle 110 can determine the distance 122a between the front boundary 120a and the front end of the autonomous vehicle 110, and / or the distance 122b between the rear boundary 120b and the rear end of the autonomous vehicle 110. The autonomous vehicle 110 uses the distance 122a and / or the distance 122b to determine whether it needs to move forward or backward along the x-axis so that it is less than a few centimeters of the threshold distance. The distance 122a and / or the distance 122b is provided to the autonomous vehicle 110 from an external data source (EDS) 150 via the transmission data 152. The external data source 15 determines the ground truth distance (e.g., the distance 122a and / or the distance 122b) that the autonomous vehicle 110 needs to move in order to be within the threshold distance. The autonomous vehicle 110 continuously monitors the distance (e.g., the distance 122a and / or the distance 122b) that the autonomous vehicle has moved by calculating the distance between the internal reference point 124 and one of the external reference points 102 to 106. This distance can be calculated using a series of scan data points provided by the scan device(s) 125 of the autonomous vehicle 110. The scan device(s) 125 can be, for example, a LiDAR device. When the distance 122a and / or the distance 122b is less than a few centimeters of the threshold distance, the autonomous vehicle stops its stepwise adjustment. The autonomous vehicle 110 may include a positioning system (not shown) that can be used to determine its position. However, the position determined by the positioning system may not be accurate enough within a range of less than a few centimeters of the threshold. Instead, the autonomous vehicle relies on the distance between the internal reference point 124 and one of the external reference points 102 to 106.

[0030] Figure 2 is a block diagram 200 showing a top view of an exemplary application of autonomous vehicle docking according to various embodiments of the present disclosure. The application example of FIG. 2 is specific to the maritime industry. However, those skilled in the art can recognize that this is merely an example for illustrative purposes. At a shipping port such as a container transfer hub, an exemplary EDS 150 is an automated rail-mounted gantry, and an exemplary autonomous vehicle 110 is an autonomous platform mover (APM) such as an autonomous prime mover. In this example, an automated rail-mounted gantry and an autonomous prime mover are used to move shipping containers, for example, containers loaded with various items, across different container yard blocks. Loading and / or unloading of the container onto / from the APM is automatically processed by the EDM. To enable this automated process, the APM docks the container at a specified slot with an accuracy or precision of less than a few centimeters (e.g., 0 to 5 cm), e.g., within a threshold distance.

[0031] For example, in FIG. 2, the APM 210 includes an APM head 212 and an APM trailer 214. The APM head 212 may include one or more LiDAR devices 270. In some variations, one LiDAR device can perform scans on the left side of the APM 210, and a second LiDAR device can perform scans on the right side of the APM 210. The APM 210 docks at a docking location 260 along the fence line 220. The fence line 220 separates the APM 210 from a container yard having several transport containers such as transport container 230 and transport container 240. The fence line 220 includes several fence posts 221, 222, 223, 224, 225 spaced apart between each pole. Docking the APM 210 within the exact distance (e.g., distances 260a, 260b) of the docking location 260 is important to ensure the safe loading and / or unloading of the transport container 220 onto the APM trailer 214. The APM 210 autonomously navigates itself to the docking location 260 (e.g., performs an initial docking). However, this first docking is not accurate within the threshold distance, and the APM 210 requires further adjustment to ensure that it is within the threshold distance (e.g., 0 - 5 cm) of the front boundary 260c and / or the rear boundary 260d of the docking location 260. The APM 210 adjusts its position autonomously and step - by - step as detailed in FIGS. 3 - 5. More specifically, the APM 210 communicates with the EDS 250 to receive ground - to - truth distance data 252 (e.g., distance 260b and distance 260c), and determines the distance by which the APM 210 is away from the threshold distance. The APM uses the ground - to - truth distance data 252 to assist in its step - by - step adjustment. The APM 210 utilizes an internal reference point 218 of the APM trailer 214 to determine the distance to one of the fence posts 221 - 225. As described in more detail in FIG. 4, this distance is determined using LiDAR data points provided by the LiDAR device(s) 270 of the APM 210.When the APM210 is docked by the EDS250 and its adjustment inside the docking location 260 is improved, the transport container 230 can be loaded onto the APM trailer 214 or unloaded from the APM trailer 214 to the container location 216 specified by the dotted line on the APM trailer 214.

[0032] FIG. 3 is a process flow diagram 300 showing steps autonomously performed by the APM210 to gradually adjust the position of the APM210 within a threshold distance according to various embodiments of the present disclosure. For the purpose of easy understanding and illustration only, FIG. 3 is described with reference to the example of the shipping industry continuing from FIG. 2. However, those skilled in the art can recognize that such an example can be applicable to any industry or scenario where an autonomous vehicle is docked at a docking location. When the APM210 arrives at the docking location 260, the docking process starts at step 302. The APM210 autonomously navigates itself to the docking location 260 first. In step 304, the APM210 evaluates whether it has arrived inside the boundaries 260c, 260d, 260e, 260f of the docking location 260. If the APM210 is inside the boundaries 260c - 260f of the docking location 260, in 306, the APM210 enters the adjustment mode step and gradually adjusts its position within the threshold distance. Otherwise, step 302 is repeated and the APM210 continues to navigate itself to the docking location 260.

[0033] When the APM 210 enters its adjustment mode in step 306, in step 308, the APM 210 attempts to detect or identify at least one external reference point, such as one of the fence poles 221-225, along the fence line 220. The APM 210 uses an external reference point detection module to determine which external reference point (e.g., at least one of the fence poles 221-225) is closest to the internal reference point 218. A detailed description of the external reference point detection module function is described in FIG. 4. If the APM 210 is unable to detect any external reference point, such as one of the fence poles 221-225, in step 310, manual intervention is triggered to load the transport container 230 onto the APM trailer 214 or unload the transport container 230 from the APM trailer 214. If the APM 210 is able to detect one of the external reference points, such as one of the fence poles 221-225, the distance in the x-direction between the internal reference point 218 and one of the fence poles 221-225 is determined. This distance is the initial distance used to calculate the movement distance of the APM 210. In addition to this distance, the EDS 250 provides the ground-to-truth distance to the APM 210 via data 252. The ground-to-truth distance is determined by the EDS 250 through continuous laser scanning. The EDS 250 may include one or more three-dimensional (3D) laser scanners (not shown in FIG. 2). The laser scanner facilitates the scanning of the APM 210 from various angles and can calculate the ground-to-truth distance between the APM 210 and the docking location 260. The APM 210 receives this ground-to-truth distance from the EDS 250 and uses that distance as the initial distance to determine the adjustment distance that the APM 210 needs to move to achieve the threshold distance. In step 312, the APM 210 continuously monitors to receive the adjustment distance from the EDS 250. While the APM 210 awaits the adjustment distance from the EDS 250, in step 314, the braking mechanism is applied.When the APM210 receives the adjustment distance from the EDS250, as will be described in detail with reference to FIG. 4, the APM210 adjusts its own position step by step in steps 318 and 320. When the APM210 moves a distance within the threshold distance, the adjustment is completed in step 322.

[0034] FIG. 4 is a process flow diagram 400 showing steps performed by an external reference point detection module of the APM210 according to various embodiments of the present disclosure. For ease of understanding and illustration only, FIG. 4 is described with reference to the example of the maritime industry continuing from FIGS. 2-3. However, one of ordinary skill in the art can recognize that such an example may be applicable to any industry or scenario in which an autonomous vehicle is docked at a docking location.

[0035] To precisely dock the autonomous vehicle 210 with the threshold distances of the boundaries 260c - 260d of the docking location 260, one or more external reference points such as the fence poles 221 - 225 are identified. In step 402, the position of the external reference point is determined using the LiDAR device(s) 270 and the LiDAR scan data. The LiDAR scan data is composed of some of the individual LiDAR data points. These LiDAR data points are classified by the external reference point detection module based on the intensity values. For example, any LiDAR data point having an intensity higher than 100 is classified as a valid lidar point. This is because the fence poles 221 - 225 reflect highly compared to the fence line 220. In step 404, to speed up the filtering process, the external reference point detection module searches for valid LiDAR data points in a specified region of the known external reference point position. The specified region can be a 3D area surrounding the known external reference point. In the context of the shipping industry example, the specified range is defined as approximately -1.0m < x < 2.4m, 1.8m < y < 2.8m, 0.0m < z < 0.45m, and 1.1m < z < 1.6m for the fence pole on the left side of the APM210. For the fence pole on the right side of the APM210, the specified range is defined as -1.0m < x < 2.4m, -2.8m < y < -1.8m, 0.0m < z < 0.45m, and 1.1m < z < 1.6m with respect to the fence pole on the right side of the APM210. In step 404, the external reference point detection module scans the LiDAR data points collected for a subset of the data points within these specified ranges. In step 402, to determine whether a pole is detected, the number of data points in the subset is compared with the value of the threshold data point. This value of the threshold data point is set based on the selected external reference point. For example, in the context of the shipping industry example in Figure 2, the number of LiDAR data points in the specified region is greater than 70 for effective fence pole detection. If the number of valid LiDAR data points is below the value of the threshold data point, it is determined in step 408 by the external reference point detection module that the pole cannot be found, and the external reference point detection module generates output data indicating the same.

[0036] When the number of valid LiDAR data points is greater than the value of the threshold data points, the external reference point detection module clusters a subset of the LiDAR data points based on the Euclidean distance between each LiDAR data point in the subset. The Euclidean distance in three-dimensional space is defined as in (1).

Equation

[0037] Once clusters are formed, the external reference point detection module loops through each of the clusters and determines the distance along the y-axis between the cluster and the internal reference point 218. After looping through all the clusters, the external reference point detection module identifies one cluster that has the minimum lateral distance along the y-axis to the internal reference point 218 of the APM 210. Using Equation (1), this distance is determined using the center of the cluster as one coordinate and the internal reference point 218 as the other coordinate. The center of the cluster can be the average value of the data points within that cluster. In step 412, the other clusters (e.g., the remaining clusters that do not have the minimum lateral distance) are discarded. In other words, clusters that have a lateral distance greater than the minimum lateral distance are discarded. This discarding avoids misidentifying other surrounding objects as external reference points such as the EDS 250. If a small distance gap exists between the external reference points, it is possible to detect multiple external reference points. For example, referring again to FIG. 2, there is a gap of approximately 0.6 m in some transport containers such as containers that require refrigeration. To distinguish these external reference points from other points, the external reference point detection module identifies the external reference point that has the shortest longitudinal distance to the internal reference point 218 as the external reference point for adjustment. In step 416, the external reference point detection module outputs the position of the external reference point based on the calculated average of the LiDAR data points within the selected cluster.

[0038] Figures 5A - 5B show a process flow diagram 500 showing the control logic executed by the docking module for autonomous step - by - step positioning performed by the APM210 according to various embodiments of the present disclosure. For the purpose of understanding and illustrating only the objective, FIG. 5 is described with reference to an example in the shipping industry following FIGS. 2 - 4. However, those skilled in the art can recognize that such an example can be applicable to any industry or scenario where an autonomous vehicle is docked at a docking location. Considering that the APM210 has a length of several tens of meters (e.g., 10 - 20 m), docking the APM210 within a range of less than several centimeters (e.g., 0 - 5 cm) with precise accuracy can be difficult. In addition, due to the very large size of the APM210, there is a possibility of brake delay. To account for the brake delay, the speed of the APM210 is maintained as low as possible when performing step - by - step position adjustment. For example, the throttle ratio of the APM210 is set to about 1% throughout the step - by - step adjustment. To perform step - by - step position adjustment, the APM210 applies its brakes for a specific period (e.g., 0 - 5 seconds) and releases the brake mechanism for another period (e.g., 0 - 5 seconds). This continuous brake and release process is repeated for many cycles to step - by - step adjust the position of the APM210 until it is within the threshold distance. The brake mechanism is applied at about 40% to facilitate the stopping of the APM210. It is an adjustment of the brake release time that controls the step - by - step distance the APM210 moves per operating cycle. As the brake release time increases, the distance the APM210 moves in one cycle increases.

[0039] As described above with reference to FIG. 3, in step 312, the APM 210 continuously monitors to receive an adjustment distance from the EDS 250. When the adjustment distance (e.g., d_adj) is received from the EDS 250, in step 502, the control logic for performing a stepwise adjustment starts. When the adjustment distance is received from the EDS 250, in step 504, the APM 210 sets an initial brake release time (e.g., t_release of 0 to 5 seconds) based on the adjustment distance. The initial brake release time can be obtained from a large amount of experimental data. For example, when the adjustment distance is greater than about 0.2 m, the initial brake release time is set to about 1 s. When the adjustment distance is between about 0.1 m and about 0.2 m, the initial brake release time is set to 0.6 s. When the adjustment distance is less than about 0.1 m, the brake release time is further shortened by about 0.4 s.

[0040] After setting the initial brake release time, the docking module is triggered at a frequency of approximately 10 Hz. The brake mechanism is released over a portion of the initial brake release time at step 506. At step 508, the docking module records the accumulated brake release time (e.g., t_accu - the period during which the brake mechanism is being released cumulatively). At step 510, this accumulated brake release time (e.g., t_accu) is compared with the initial brake release time (e.g., t_release). If the accumulated brake release time is shorter than the initial brake release time (e.g., t_accu < t_release), at step 512, the distance between the internal reference point 218 and an external reference point (e.g., one of the fence poles 221 - 225) is measured to calculate the movement distance of the APM210 (e.g., d_move). At step 514, the docking module evaluates the difference between the absolute value of the movement distance (e.g., d_move) and the adjustment distance (e.g., d_adj) by comparing it with approximately half of the threshold distance. The accuracy of the threshold is smaller than the threshold distance for correcting any measurement error from the scan performed by the EDS250. If this absolute value is not smaller than approximately half of the threshold distance, steps 506 - 514 are repeated. Instead, at step 516, if the absolute value is less than or equal to approximately half of the threshold distance, the count of the number of adjustments is incremented by 1. At step 518, the count is compared with the value of 5. At step 520, if the count is greater than 5, the adjustment cycle ends. Instead, at step 522, if the count is less than 5, the brake mechanism of the APM210 is maintained (e.g., still applied). At step 524, the distance between the internal reference point 218 and the external reference point is calculated. Using this distance, at step 526, the adjustment distance is corrected, and at step 504, the adjustment process is restarted for another cycle.

[0041] Return to step 510 again. If the accumulated brake release time is not shorter than the initial brake release time (for example, t_accu < t_release), in step 528, the brake mechanism is applied over a small time increment (for example, 0.1 s). In step 530, the docking module records the accumulated brake application time (for example, t_accu - the period during which the brake mechanism is applied cumulatively). In step 532, the accumulated brake application time is compared with a short period (for example, 1 s). If the accumulated brake application time is shorter than the short period, in step 534, the distance between the internal reference point 218 and an external reference point (for example, one of the fence poles 221 - 225) is measured to calculate the moving distance of the APM 210 (for example, d_move). Next, in step 536, the docking module evaluates the difference between the absolute value of the moving distance (for example, d_move) and the adjustment distance (for example, d_adj) by comparing it with approximately half of the threshold distance. If this absolute value is smaller than approximately half of the threshold distance, the docking module proceeds to step 516. Instead, if this absolute value is not smaller than approximately half of the threshold distance, the docking module repeats steps 528 - 532.

[0042] Return to step 532 again. If the accumulation time is not shorter than or equal to the short period, in step 538, the total movement distance (e.g., d_cycle) in one operating cycle is calculated to benchmark against the adjustment distance or the threshold distance. In step 540, the docking module determines the distance between the internal reference point 218 and an external reference point (e.g., one of the fence poles 221 - 225), and that distance is measured to calculate the movement distance (e.g., d_move) of the APM210. The docking module compares a part of the adjustment distance threshold (e.g., 0.2 m) with the absolute value of the difference between the adjustment distance and the movement distance. If the absolute value is greater than a part of the adjustment distance threshold (e.g., 0.2 m), in step 544, the quotient of the total movement distance and the adjustment distance (e.g., d_adj) in one operating cycle (e.g., d_cycle) is compared with a ratio value (e.g., 25% or 0.25). A ratio below the ratio value indicates that the movement distance in one operating cycle is very small. In other words, if the quotient is smaller than the ratio value, the docking module, in step 546 for the next operating cycle, increases the brake release time by a small duration (e.g., 0.1 s), thereby restarting step 506. Instead, return to step 544. If the quotient is not smaller than the ratio value, the brake release time (or the initial brake release time) remains unchanged in step 552, and the docking module restarts step 506.

[0043] Return to step 542. If the absolute value is less than or equal to the adjustment distance threshold (e.g., 0.2 m), in step 548, the absolute value is compared with an even smaller portion of the adjustment distance threshold (e.g., 0.1 m). If the absolute value is greater than or equal to the even smaller adjustment distance threshold, in step 552, the quotient of the total movement distance in one operating cycle (e.g., d_cycle) and a part of the adjustment distance (e.g., 0.2 m) is compared with a ratio value (e.g., 25%). If the quotient is smaller than the ratio value, the docking module increases the brake release time by a small duration (e.g., 0.1 s) in step 546 for the next operating cycle, thereby resuming step 506. Instead, if the quotient is not smaller than or equal to the ratio value, the brake release time (or the initial brake release time) remains unchanged in step 552, and the docking module resumes step 506.

[0044] Return to step 548. If the quotient is not greater than the smaller portion of the adjustment distance threshold (e.g., 0.1 m), in step 554, another quotient of the total distance moved in one operating cycle (e.g., d_cycle) and the smaller portion of the adjustment distance (e.g., 0.1 m) is compared with that ratio value. If the quotient is less than or equal to the ratio value, the docking module increases the brake release time by a small duration (e.g., 0.1 s) in step 546 for the next operating cycle, thereby resuming step 506. Instead, if the quotient is not smaller than or equal to the ratio value, the brake release time (or the initial brake release time) remains unchanged in step 552, and the docking module resumes step 506.

[0045] Notwithstanding the foregoing, when the APM 210 is within the threshold distance of the docking location, the adjustment cycle as illustrated in FIG. 5 may end at any of the operating steps. However, considering any delays in the braking mechanism, the error in the actual docking position may be greater than the threshold distance. To accommodate this, the entire adjustment cycle can be repeated until the final docking position error is less than the threshold distance or until the number of adjustment cycles is greater than 5.

[0046] FIG. 6 is a process flowchart 600 showing a method for autonomously docking an autonomous vehicle such as the APM 210 according to various embodiments of the present disclosure. At step 602, data 252 is received, which includes (i) an indication that the autonomous vehicle (e.g., APM 210) is inside the docking location 260 and (ii) an adjustment distance (e.g., d_adju) for positioning the autonomous vehicle within the threshold distance of the docking location 260. Using an external reference point detection module, an external reference point such as one of the fence poles 221 - 225 with respect to the autonomous vehicle is determined at step 604 using various steps as illustrated in FIG. 4. As described in detail in FIG. 5, at step 606, using the docking module, the position of the autonomous vehicle along the first axis is adjusted step by step based on the distance between the autonomous vehicle and the external reference point.

[0047] FIG. 7 shows an exemplary system 700 for processing input data 720 to generate output data 730 according to various embodiments of the present disclosure. The input data may be, for example, data 252 received from the EDS 250. This data may include any of LiDAR data points from a LiDAR scan, an adjustment distance (e.g., d_adj), or an indication that an autonomous vehicle such as the APM 210 is inside the docking location 260.

[0048] System 700 includes one or more processing systems 710. Processing system 1610 includes a docking module 712, an external reference detection module 714, and data storage 716. Input data 720 can be received by processing system 710 via a communication network, such as, for example, the Internet, an intranet, an extranet, a local area network ("LAN"), a wide area network ("WAN"), a metropolitan area network ("MAN"), a virtual local area network ("VLAN"), and / or any other network. Input data 720 can also be received via wireless, wired, and / or any other type of connection method. Input data 720 is processed by docking module 712 and / or external reference detection module 714 using the algorithms described in detail in FIGS. 4-5.

[0049] Processing system 710 can be implemented using software, hardware, and / or any combination of both. Processing system 710 can also be implemented on a personal computer, laptop, server, mobile phone, smartphone, tablet, cloud, and / or any other type of device, and / or any combination of devices. Docking module 712 and / or external reference detection module 714 can perform, compile, and / or any other function on input data 720 as described in detail in FIGS. 4-5.

[0050] Data storage component 716 can be used to store data processed by processing system 710 and can include any type of memory (e.g., temporary memory, permanent memory, and / or the like).

[0051] The output data 730 may include any data generated by the docking module 712 or the external reference point detection module 714, such as an indication that an external reference point cannot be found, command data to the braking mechanism to enable or disable the braking function, etc. The output data 730 may also include any data stored internally in the data storage component 716.

[0052] FIG. 8 is a diagram 800 showing a sample of a computing device architecture for implementing various aspects described herein where specific components can be omitted depending on the application. The bus 804 can function as an information highway interconnecting the other illustrated components of the hardware. The CPU (Central Processing Unit) labeled with the processing system 808 (e.g., one or more computer processors / data processors in a given computer or multiple computers) and / or the GPU-based processing system 810 can perform the calculations and logical operations necessary to execute a program. Non-transitory processor-readable storage media such as read-only memory (ROM) 812 and random access memory (RAM) 816 can communicate with the processing system 808 and may include one or more programming instructions for the operations specified herein. Optionally, the program instructions can be stored on a non-transitory computer-readable storage media such as a magnetic disk, optical disk, recordable memory device, flash memory, or other physical storage media.

[0053] In one example, the disk controller 848 can interface one or more optional disk drives to the system bus 804. These drives can be external or internal floppy disk drives (e.g., 860), external or internal CD-ROM, CD-R, CD-RW, or DVD, or semiconductor drives (e.g., 852), or external or internal hard drives 856. As described above, these various drives 852, 856, 860 and the disk controller are optional devices. The system bus 804 can also include at least one communication port 820, which enables communication with external devices either physically connected to the computing system or made externally available via a wired or wireless network. In some cases, the at least one communication port 820 includes or otherwise comprises a network interface.

[0054] To provide interaction with a user, the subject matter described herein is implemented on a computer device, which includes a display device 840 (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying to the user information obtained from the bus 804 via a display interface 814, and an input device 832 such as a keyboard and / or a pointing device (e.g., a mouse or a trackball) and / or a touch screen through which a user can provide input to the computer. Similarly, other types of input devices 832 can be used to provide interaction with the user. For example, the feedback provided to the user can be any form of perceptual feedback (e.g., visual feedback, auditory feedback via a microphone 836, or tactile feedback), and the input from the user can be received in any form, including acoustic input, speech input, or tactile input. The input device 832 and the microphone 836 are coupled to the bus 804 via an input device interface 828 and can carry information via the bus 804. Other computing devices, such as dedicated servers, can omit one or more of the display 840 and the display interface 814, the input device 832, the microphone 836, and the input device interface 828.

[0055] Aspects or features of one or more of the subject matters described in this specification can be implemented in digital electronic circuitry, integrated circuitry, specially designed application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), computer hardware, firmware, software, and / or combinations thereof. These various aspects or features can include implementations in one or more computer programs executable and / or interpretable in a programmable system including at least one programmable processor, where the at least one programmable processor can be dedicated or general purpose and coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. The programmable system or computing system can include clients and servers. The clients and servers are generally remote from each other and typically interact via a communication network. The relationship of client and server arises by virtue of computer programs running on respective computers and having a client-server relationship to each other.

[0056] These computer programs (which may also be referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented in high-level procedural, object-oriented programming languages, functional programming languages, logical programming languages, and / or assembly / machine languages. As used herein, the term "machine-readable medium" refers to any computer program product, apparatus, and / or device used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives the machine instructions as a machine-readable signal, e.g., a magnetic disk, an optical disk, a memory, a programmable logic circuit (PLD). The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor. A machine-readable medium can store such machine instructions non-transitorily. For example, it could be a non-transitory solid-state memory or a magnetic hard drive, or any equivalent storage medium. A machine-readable medium can alternatively or additionally store such machine instructions transiently. For example, it could be a processor cache or other random access memory associated with one or more physical processor cores.

[0057] In the foregoing description, and in some examples, phrases such as "at least one of" or "one or more of" may occur, followed by a concatenated list of elements or features. Also, the term "and / or" may occur in a list of two or more elements or features. Such phrases are intended to mean any of the listed elements or features individually, or any of the listed elements or features in combination with any of the other listed elements or features, as long as it is not implicitly or explicitly inconsistent with the context in which it is used. For example, the phrases "at least one of A and B", "one or more of A and B", and "A and / or B" are each intended to mean "only A, only B, or A and B together". The same interpretation also applies to lists that are intended to include three or more items. For example, the phrases "at least one of A, B, and C", "one or more of A, B, and C", and "A, B, and / or C" are each intended to mean "only A, only B, only C, A and B together, A and C together, B and C together, or A and B and C together". In addition, the use of the term "based on" in the foregoing and in some examples is intended to mean "at least partially based on" so as to allow features or elements that are not listed.

[0058] The subject matter described in this specification can be embodied in a system, apparatus, method, and / or article, according to the desired configuration. The embodiments described in the foregoing description do not represent all embodiments that are consistent with the subject matter described in this specification. Instead, they are merely some examples that are consistent with aspects of the described subject matter. Although several variations have been described in detail above, other modifications or additions are possible. Specifically, further features and / or variations can be provided in addition to those described herein. For example, the embodiments described above can be directed to various combinations and sub-combinations of the disclosed features, and / or combinations and sub-combinations of some of the further features disclosed above. Additionally, the logic flows shown in the accompanying figures and / or described herein do not necessarily require the particular order or sequential order shown to achieve the desired result. Other embodiments can be within the scope of the following claims.

Claims

1. A method for autonomously docking an autonomous vehicle, (i) receiving data including an indication that the autonomous vehicle is within a docking location, and (ii) an adjustment distance for positioning the autonomous vehicle within a threshold distance of the docking location. Using an external reference point detection module, identify an external reference point for the autonomous vehicle, and Using a docking module, the position of the autonomous vehicle on the first axis is adjusted stepwise based on the distance between the autonomous vehicle and the external reference point until either (i) the autonomous vehicle is within the threshold distance of the docking location, or (ii) the number of adjustments exceeds the maximum adjustment limit. The method, including the method described above.

2. The method according to claim 1, wherein the threshold distance is less than 5 centimeters from the boundary of the docking location on the first axis.

3. The method according to claim 1, wherein the data further includes a plurality of light detection and ranging (LiDAR) data points.

4. The external reference point is determined using the external reference point detection module. Identifying a subset of the plurality of LiDAR data points located within a specified area, To determine whether the subset is greater than the threshold, Based on the fact that the subset is greater than the threshold, multiple clusters are generated from the subset based on the distance between each LiDAR data point. For each of the multiple clusters, the distance to the internal reference point of the autonomous vehicle is determined, and To identify the cluster having the shortest distance along the first axis to the internal reference point among the multiple clusters, The method according to claim 3, which is identified by performing the following.

5. The method according to claim 4, wherein the cluster is identified as having the shortest distance along the first axis and the shortest distance to the internal reference point along the second axis.

6. The method according to claim 1, wherein the external reference point has a light reflectance of a higher intensity than the surrounding area of ​​the external reference point.

7. The method according to claim 1, wherein the position is adjusted stepwise by a series of repetitive operations of applying and releasing the brake mechanism of the autonomous vehicle.

8. The aforementioned position is, Determining the brake release time, To release the brake mechanism for a portion of the brake release time, To evaluate the total time the brake mechanism was released, If, after the release and evaluation, the total time is less than a portion of that time, the determination of whether the distance traveled by the autonomous vehicle is within the threshold distance, wherein the distance is compared with the absolute difference between the distance and the adjustment distance, and If the distance is not within the threshold distance, the process of releasing, evaluating, and determining is repeated. The method according to claim 1, wherein the adjustment is performed in stages by doing so.

9. The aforementioned position is further, If the total time is not shorter than a portion of the time, the brake mechanism is applied over another portion of the brake release time, and (i) Repeat the determination until the distance falls within the threshold distance, or (ii) until the number of stepwise adjustments exceeds five adjustments. The method according to claim 8, which is adjusted in stages.

10. The method according to claim 1, wherein the autonomous vehicle is an autonomous platform mover, and the data is received from an automated rail-mounted gantry.

11. The method according to claim 1, wherein when the autonomous vehicle is within the threshold distance, the container is automatically loaded onto or unloaded onto the autonomous vehicle without manual intervention.

12. The method according to claim 1, wherein when the number of adjustments exceeds the maximum adjustment limit, an alarm is triggered, facilitating the manual loading or unloading of the container onto the autonomous vehicle with human assistance.

13. At least one data processor, When executed by at least one data processor, it comprises memory that stores instructions for performing an operation, and the operation is, (i) receiving data including an indication that an autonomous vehicle is within a docking location, and (ii) an adjustment distance to position the autonomous vehicle within a threshold distance of the docking location. Using an external reference point detection module, identify an external reference point for the autonomous vehicle, and Using a docking module, the position of the autonomous vehicle on the first axis is adjusted stepwise based on the distance between the autonomous vehicle and the external reference point until either (i) the autonomous vehicle is within the threshold distance of the docking location, or (ii) the number of adjustments exceeds the maximum adjustment limit. A system that includes this.

14. The system according to claim 13, wherein the threshold distance is less than 5 centimeters from the boundary of the docking location on the first axis.

15. The data further includes multiple light detection and ranging (LiDAR) data points, and the external reference point is detected using the external reference point detection module. Identifying a subset of the multiple LiDAR data points located within a specified area, To determine whether the subset is greater than the threshold, Based on the fact that the subset is greater than the threshold, multiple clusters are generated from the subset based on the distance between each LiDAR data point. For each of the multiple clusters, the distance to the internal reference point of the autonomous vehicle is determined, and Identifying, among the plurality of clusters, the cluster having the shortest distance along the first axis to the internal reference point, wherein the cluster is identified as having the shortest distance along the first axis and the shortest distance to the internal reference point along the second axis, The system according to claim 13, which is identified by performing the following.

16. The system according to claim 13, wherein the external reference point has a light reflectance of a higher intensity than the surrounding area of ​​the external reference point.

17. The position is adjusted stepwise by a series of repetitive operations of applying and releasing the brake mechanism of the autonomous vehicle, and the series of repetitive operations is Determining the brake release time, To release the brake mechanism for a portion of the brake release time, To evaluate the total time the brake mechanism was released, If, after the release and evaluation, the total time is less than a portion of that time, the determination of whether the distance traveled by the autonomous vehicle is within the threshold distance, wherein the distance is compared with the absolute difference between the distance and the adjustment distance, If the distance is not within the threshold distance, the process of releasing, evaluating, and determining is repeated. If the total time is not shorter than a portion of that time, the brake mechanism will be applied over another portion of the brake release time, and (i) Repeat the determination until the distance falls within the threshold distance, or (ii) until the number of stepwise adjustments exceeds five adjustments. The system according to claim 13, which performs the following:

18. The system according to claim 13, wherein the autonomous vehicle is an autonomous platform mover, and the data is received from an automated rail-mounted gantry.

19. The system according to claim 13, wherein when the autonomous vehicle is within the threshold distance, the container is automatically loaded or unloaded onto the autonomous vehicle without manual intervention, and when the number of adjustments exceeds the maximum adjustment limit, an alarm is triggered to facilitate the manual loading or unloading of the container onto the autonomous vehicle with human assistance.

20. A non-temporary computer program product that stores instructions, wherein the instructions, when executed by at least one data processor forming part of at least one computing device, perform an operation, and the operation is: (i) receiving data including an indication that an autonomous vehicle is within a docking location, and (ii) an adjustment distance to position the autonomous vehicle within a threshold distance of the docking location. Using an external reference point detection module, identify an external reference point for the autonomous vehicle, and Using a docking module, the position of the autonomous vehicle on the first axis is adjusted stepwise based on the distance between the autonomous vehicle and the external reference point until either (i) the autonomous vehicle is within the threshold distance of the docking location, or (ii) the number of adjustments exceeds the maximum adjustment limit. The non-temporary computer program product, including the aforementioned.

21. The operation further includes the method according to claim 1, wherein the non-temporary computer program product is as described in claim 20.