SYSTEM AND METHOD FOR ADJUSTING PLANTED TRAJECTORY OF AN AUTONOMOUS VEHICLE

By adopting a dual coordinate system planning architecture in autonomous driving cars, the estimated position of the vehicle is converted to the center coordinate system of the vehicle body and projected onto a predetermined trajectory, the correction problem of trajectory differences during driving is solved, and efficient and safe trajectory maintenance is achieved.

JP7662655B2Active Publication Date: 2025-04-15ZOOX INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022551549
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-02-28
Filing Date
2021-02-09
Publication Date
2025-04-15
Estimated Expiration
2041-02-09

AI Technical Summary

Technical Problem

Trajectory differences caused by position sensor errors or vehicle deviating from predetermined tracks during driving require frequent corrections to keep the vehicle running on predetermined tracks.

Method used

Using a dual coordinate system planning architecture, a new trajectory is generated to correct deviations by converting the estimated position of the vehicle from a two-dimensional coordinate system to a one-dimensional coordinate system opposite the center of the vehicle body and projecting it onto a predetermined trajectory.

Benefits of technology

It realizes the rapid correction of trajectory differences while keeping the vehicle running smoothly, improves the accuracy and response speed of the autonomous driving system, and enhances the safety of the vehicle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007662655000001
    Figure 0007662655000001
  • Figure 0007662655000002
    Figure 0007662655000002
  • Figure 0007662655000003
    Figure 0007662655000003
Patent Text Reader

Abstract

Techniques for correcting errors in vehicle position are described herein. In some cases, there may be a discrepancy between the measured state of the vehicle and the desired state as determined by the vehicle's systems. Techniques and methods for planning architecture in autonomous vehicles that can provide smooth trajectory maintenance as the vehicle follows a planned path or route. In some cases, the planning architecture in autonomous vehicles may correct for differences between the estimated state and the planned path without using a separate system. In an example of this process, the planning architecture may include a mission planning system, a decision system, and a tracking system that together output a trajectory for the drive system.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a system and method for adjusting the planned trajectory of an autonomous vehicle. [Background technology]

[0002] [CROSS REFERENCE TO RELATED APPLICATIONS] This application claims priority to U.S. patent application Ser. No. 16 / 805,118, filed Feb. 28, 2020, and entitled “SYSTEM AND METHOD FOR ADJUSTING PLANNED TRAJECTORY OF AN AUTONOMOUS VEHICLE,” the entire contents of which are incorporated herein by reference.

[0003] Planning and navigation systems for autonomous vehicles need to frequently correct discrepancies between the planned path and the vehicle's physical position. For example, some errors or discrepancies in position may occur during maneuvering because the estimated physical position is an estimate with respect to the actual physical position. Therefore, the vehicle needs to frequently correct the errors by readjusting to the planned path while still maintaining a smooth ride for travel without irregular or sporadic turns. [Brief description of the drawings]

[0004] The detailed description will be described with reference to the accompanying drawings, in which the leftmost digit(s) of a reference number identifies the drawing in which the reference number first appears. Use of the same reference number in different drawings indicates similar or identical components or functionality.

[0005] [Figure 1] 1 is an example pictorial diagram illustrating transformations related to planning architecture as described herein.

[0006] [Diagram 2] FIG. 1 is an example timing diagram in a Euclidean coordinate system illustrating an autonomous vehicle utilizing a planning architecture as described herein.

[0007] [Diagram 3] FIG. 1 is an exemplary diagram of an autonomous vehicle utilizing a planning architecture as described herein.

[0008] [Figure 4] FIG. 2 is a flow diagram illustrating an example of a process associated with planning architecture as described herein.

[0009] [Diagram 5] FIG. 2 is a block diagram illustrating an example of a planning architecture as described herein.

[0010] [Figure 6] FIG. 1 is a pictorial diagram illustrating an example implementation of the planning system in an autonomous vehicle as described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] [Detailed Description] The techniques and methods described herein are directed to an autonomous vehicle planning architecture that is capable of providing smooth trajectory maintenance as the vehicle follows a planned course or path. In some implementations, the autonomous vehicle may operate using two coordinate systems. A first coordinate frame (e.g., a body-centered coordinate frame) may be relative to the vehicle such that the position of the vehicle in the first coordinate frame remains substantially smooth or stable as the vehicle traverses the planned path. The vehicle may also maintain a second coordinate frame (e.g., a Euclidean coordinate system) based on the vehicle's position on the surface of the Earth, such as a Universal Transverse Mercator coordinate frame or a longitude / latitude coordinate frame. Although discussed herein with respect to such body-centered and Euclidean coordinate frames, the disclosure is not meant to be so limiting, and any combination of one or more coordinate systems (including the same coordinate system) is contemplated.

[0012] In an example process, the planning architecture of an autonomous vehicle may correct for differences between estimated states and a planned path without using a separate system. In this example process, the planning architecture may include a mission planning system, a decision system, and a following system that together output a trajectory for the drive system. In general, the mission planning system may generate a planned path for the vehicle from a first location to a second location. The decision system may maintain, adjust, or generate a planned trajectory for the vehicle based on the planned path and the estimated state or position of the vehicle, as well as consideration of any objects that may be proximate to the vehicle, and the following system may generate a corrective trajectory to correct for differences between the planned path and the planned trajectory (e.g., to help keep the vehicle on the planned trajectory). In some cases, the example process may include projecting the estimated state to the planned trajectory in a first (e.g., body-centered) coordinate frame and then transforming the projected state or position to a second (e.g., Euclidean) coordinate frame prior to the following system generating the corrective trajectory.

[0013] To provide an illustrative example of differences in estimated states or positions, assume that an autonomous vehicle may initially be at an estimated position of (0,0) in a first coordinate frame and (100,100) in a second coordinate frame. In this illustrative example, past planning decisions may include a planned trajectory starting at (0,0) in the first coordinate frame and (100,100) in the second coordinate frame, such that there is zero distance between the vehicle position and the determined trajectory (e.g., both are at (0,0) in the first coordinate frame and (100,100) in the second coordinate frame during a first time period).

[0014] In this example, the estimated position of the vehicle received from the position sensor is (99,100) in the second coordinate frame, e.g., the estimated position differs from the expected state or position by only one unit of measurement. Therefore, due to either an error in the position sensor or a deviation by the vehicle (and / or any associated algorithms), the vehicle is no longer along the planned trajectory or path.

[0015] As the vehicle receives the estimated position, it may determine a projected state or position along the past planned trajectory by projecting the estimated position onto the past planned trajectory in a first coordinate frame. In some examples, the vehicle may first transform the estimated position into the first coordinate frame, which is received in a second coordinate frame. However, it should be understood that because the first coordinate frame is relative to the vehicle (e.g., body centered), both the expected state and the estimated state at the vehicle will be the same.

[0016] In some cases, such as the current example, the projected state may deviate from the estimated position of the vehicle. The projected state may be transformed into a second coordinate frame using a transformation determined for the state of the vehicle during a past period, and a new planned trajectory may be determined using the projected state or the planned path. The estimated position and the new planned trajectory may be provided to a tracking system. The tracking system may then generate a correction trajectory to further correct any discrepancies between the estimated position and the new planned trajectory, as well as correct for any nearby objects detected.

[0017] The techniques described herein can be implemented in several ways. Examples of implementations are described below with reference to the following figures. Although discussed in the context of autonomous vehicles, the methods, apparatus, and systems described herein can be applied to a variety of systems (e.g., sensor systems, or robotic platforms) and are not limited to autonomous vehicles. In one example, a similar technique can be utilized in driver-controlled vehicles, which can provide an indication of whether such a system is safe to perform various operations. In another example, the technique can be utilized in the context of manufacturing assembly lines, in the context of aerial surveying, or in the context of marine navigation. Additionally, the techniques described herein can be used on real data (e.g., acquired using sensors), simulated data (e.g., generated by a simulator), or any combination of the two.

[0018] 1 is an example diagram 100 illustrating transformations associated with the planning architecture as described herein. In the current example, a vehicle may have a predicted state or position 102, and the vehicle's position system may respond with an estimated state 104. In the illustrated example, the predicted state or position 102 and the estimated state or position 104 are shown in both a first coordinate frame 106 (e.g., a body-centered coordinate frame) and a second coordinate frame 108 (e.g., a Euclidean coordinate frame). Similar to the example described above, in the illustrated example, it should be noted that the predicted state 102 and the estimated state 104 in the first coordinate frame are the same when the coordinate frames are relative to the vehicle's position.

[0019] In the current example, the vehicle has a planned path 122 from a planning system and a previously planned trajectory 112 from a decision system. As shown, the predicted state 104 differs from the previously planned trajectory 112 by a first distance, and the estimated position 104 differs from the predicted state 102 by an additional or second distance.

[0020] In this example, the estimated state 104 and the previously planned trajectory 112 are transformed into a first coordinate frame 106, and the estimated state 104 is projected in the first coordinate frame 106 as shown at 114 to determine a projected state or position 116 along the previously planned trajectory 112. In some cases, such as the current example, the projected state or position 116 is a distance 110 from the estimated position 104 in the first coordinate frame 106 as shown. The projected state 116 is then transformed into a second coordinate frame 108. The vehicle may then determine a new planned trajectory 118 by projecting from the projected state 116 in the second coordinate frame (e.g., a Euclidean coordinate frame). Thus, by projecting in a first coordinate frame that is relative to the vehicle's position, and then transforming the projected state 116 into the second coordinate frame, the vehicle may be planned from a position 116 that is closer to the vehicle than if the projection between the estimated state 104 and the previously planned trajectory 112 was determined in the second coordinate frame. By having the vehicle plan from a position 116 that is closer to the estimated state 104, the vehicle is able to better plan around nearby obstacles.

[0021] The new planned trajectory 118 may then be provided to the following system to generate a corrected trajectory 120 to correct the gap 110 between the projected state 116 and the estimated state 104. Again, because the new planned trajectory 118 is closer to the estimated state 104 than the previously planned trajectory 112, the corrected trajectory 120 generated by the following system may be calculated in less time using fewer computational resources, thereby improving the decision and reaction time of the vehicle which ultimately increases the operational safety of the vehicle.

[0022] 2 is an example timing diagram 200 in a Euclidean coordinate system illustrating an autonomous vehicle utilizing a planning architecture as described herein. In the current example, a vehicle 202 is illustrated traversing a planned trajectory 204 via a first planned trajectory 206. For example, at a first time period t0, the vehicle 202 may be at a first position 208 along a first planned trajectory 206(A). As illustrated, such a first planned trajectory 206(A) may be determined to propel the vehicle 202 to follow the planned path 204 based on various data (e.g., clearance from path 204, obstacles, etc.).

[0023] During a second time period t1, the vehicle 202 may be moving to a position 210 (e.g., due to either errors in the position system (sensor mismatch, algorithm mismatch, and / or otherwise) or deviations in navigation). As such, the vehicle 202 may be at a first separation 212 from the first planned trajectory 206(A). During the second time period, the vehicle 202 may generate a first corrected trajectory 214 so that during a third time period t2, the vehicle 202 may have a predicted state or position 216.

[0024] However, in the current example, during the third time period, the vehicle 202 is actually in an estimated state 218, rather than an expected state 216. In this example, the planning architecture of the vehicle 202 may transform the first planned trajectory 206(A) and the estimated state 218 into a first coordinate frame, with the first planned trajectory 206(A) positioned relative to the vehicle 202 as illustrated by the transformed first planned trajectory 206(B). The vehicle 202 may then perform a projection 220 to determine a projected state 222 along the first planned trajectory 206(A) in the first coordinate frame.

[0025] The projected states 222 may then be translated back into the second coordinate frame at the location shown. The vehicle 202 may then determine a second planned trajectory 224 based on the projected states 222 in the second coordinate frame. Such a second planned trajectory may represent a trajectory for the vehicle 202 to return to the path 204 from the transformed first planned trajectory 206(B) in a similar manner as if planning had been performed with the transformed first trajectory 206(A). In this manner, the current planning process allows the vehicle 202 to determine a second planned trajectory 224 from the projected states 222 that is closer to the estimated state 218 of the vehicle 202 than the position 226 along the first planned trajectory 206(A), thereby improving safety over convectional planning systems. For example, as shown, an object 230 (e.g., a tree) may be in the path of vehicle 202 but is easily avoided in the current process described herein, although it does not fit into the planned trajectory (not shown) determined from position 226.

[0026] In some examples, such as the illustrated example, the vehicle 202 It may still be offset. or depart from the second planned trajectory 224 In the position In these cases, the vehicle 202 may determine a corrective trajectory 228 to bring the vehicle 202 closer to or on the planned trajectory 224. Again, because the planned trajectory 224 is physically closer to the estimated state 218, the calculations to determine the corrective trajectory 228 are reduced, thus shortening the time period associated with determining and planning, thereby improving the overall safety of the vehicle 202.

[0027] FIG. 3 is an exemplary diagram 300 of an autonomous vehicle 302 utilizing the planning architecture described above with respect to FIGS. 1 and 2. In the current example, the vehicle 302 is traveling in a planned course or path 304 having a route reference 306 (e.g., side or center in a lane). The vehicle 302 also has a past planned trajectory 308(A) in a second coordinate frame (e.g., in a Euclidean coordinate frame illustrated in FIG. 3). In the current example, the past planned trajectory 308(A) may be in the shape of an arc (e.g., the vehicle 302 does not move in a straight line as in FIGS. 1 and 2). As discussed above, the actual state of the vehicle 302 represented by 310 (position, speed, meandering, heading, etc.) may differ from the expected state 312, which may be determined by the change in the expected state from the planned trajectory 308(A) as shown. offset Be attitude This may also occur.

[0028] In this example, the previously planned trajectory 308(A) may be transformed into a first coordinate frame (e.g., a vehicle- or body-centered coordinate frame) to be shown as previously planned trajectory 308(B). As FIG. 3 is shown in the second coordinate frame and the previously planned trajectory 308(B) is shown in the first coordinate frame, the location of the previously planned trajectory 308(B) corresponding to the estimated state reflects the position of the previously planned trajectory 308(A) corresponding to the expected state 312 of the vehicle 302.

[0029] The vehicle 302 may then identify a projected state 316, typically as represented by a projection 314, by projecting the estimated state 310 onto the past planned trajectory 308(B). In some cases, such as the illustrated example, the projection 314 is based on the shortest distance between the estimated state 310 of the vehicle 302 and the past determined trajectory 308(B). The projected state 316 may then be transformed into a second coordinate frame using a transformation determined for the state of the vehicle during the current time period. The vehicle 302 may then determine a new planned trajectory 318, starting from the projected state 316 in the second coordinate frame, as shown, that will return the vehicle 302 to the planned path 304. However, in some cases, the vehicle 302 may determine a new planned trajectory 318 from the new planned trajectory 318. Still offset In some cases, the vehicle 302, or a following system of the vehicle 302, may steer the vehicle 302 onto the planned trajectory 318 by determining a corrected trajectory 320. Again, because the planned trajectory 308(B) is physically closer to the estimated state 310, the calculations for determining the corrected trajectory 320 are reduced, thus shortening the time period associated with determining and planning, thereby improving the overall safety of the vehicle 302.

[0030] In the example, the point above the estimated state 310 of the vehicle 202 is shown as the vehicle's midpoint, but the point 310 can be any fixed location on the vehicle 302. For example, the point 310 can be along the front or rear axle, as well as other locations.

[0031] FIG. 4 is a flow diagram illustrating an example process 400 associated with the project architecture according to some implementations. The process is illustrated as a collection of blocks in a logical flow diagram that represents a flow of operations, some or all of which may be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions stored on one or more computer-readable media that, when executed by one or more processors, perform the described operations. Generally, computer-readable instructions include routines, programs, objects, components, encryption, decryption, compression, records, data structures, etc. that perform particular functions or implement particular abstract data types.

[0032] The order in which the operations are described should not be construed as a constraint. Any number of the described blocks can be combined in any order and / or in parallel to implement the process or alternative processes, and not all blocks need to be executed. For purposes of discussion, the processes herein are described with respect to the frameworks, architectures, and environments described in the examples herein, although the processes may be implemented in a wide variety of other frameworks, architectures, and environments.

[0033] As mentioned above, in some instances, the estimated state of an autonomous vehicle may move or jump due to fluctuations in the data received from various position sensors. Jumps in the estimated state may cause the vehicle to jerk forward or backward or move jerkily without proper compensation by a planning architecture or system in the vehicle.

[0034] 4 is a flow diagram illustrating an example of a process 400 associated with the planning architecture as described herein. Process 400 may be used, for example, in an autonomous vehicle to correct differences between estimated states and the planned path by projecting the estimated states to the planned trajectory in a first (vehicle-centric) coordinate frame and then transforming the projected states to a second (e.g., Euclidean) coordinate frame prior to the tracking system generating a corrective trajectory.

[0035] In step 402, the system may receive or access a planned trajectory. In some cases, the planned trajectory may be associated with a time period in the past. The planned trajectory may be in a first coordinate frame, a second coordinate frame, or both.

[0036] In step 404, the system may receive or determine a transformation associated with the planned trajectory between the first and second coordinate frames. In some cases, the transformation may be determined during a past period, such as during the period in which the planned trajectory was determined. In some instances, the transformation may be stored in a location that is accessible by the system of the planning architecture.

[0037] In step 406, the system may receive an estimated state. The estimated state may be received from one or more position sensors or one or more systems coupled to the position sensors. For example, the position sensors may include an inertial measurement unit (IMU), a global positioning system (GPS) sensor, or a global navigation satellite system (GNSS) sensor, as well as other types of position sensors. In some examples, the position may be estimated based on one or more stored environmental maps as well as imagery, lidar, or radar data acquired about the physical environment surrounding the vehicle. For example, operation 406 may include localizing the vehicle in the environment based on data (e.g., lidar, radar, imagery) acquired about the map (e.g., a mesh or data structure including multi-resolution covariance data). The estimated state may be in a second coordinate frame.

[0038] In step 408, the system may transform the estimated state into a first coordinate frame (e.g., a body-centered coordinate frame) so that the estimated state and the planned trajectory may be compared in the first coordinate frame. Furthermore, it should be understood that because the first coordinate frame is relative to the vehicle, the position of the vehicle does not move even for a jump equivalent in the estimated state.

[0039] In step 410, the system may project the estimated states onto a planned trajectory in a first coordinate frame. For example, as discussed above with respect to Figures 1-3, the system may project the estimated states onto the planned trajectory by determining the shortest distance between the planned trajectory and the estimated states.

[0040] In step 412, the system may determine a projected state in the first coordinate frame. For example, the location on the planned trajectory that is the shortest distance from the estimated state may be selected or used as the projected state.

[0041] The system may then determine a new planned trajectory in the second coordinate frame based at least in part on the projected state, in step 414. For example, the system may determine a new trajectory to adapt to any nearby objects to return the vehicle from the projected state to the planned path.

[0042] In step 416, the system may output the new planned trajectory and the estimated states to the tracking system. For example, since the new planned trajectory is determined from the projected states, there may be a time lag between the estimated states and the new planned trajectory. Some offset may still exist. In these cases, the tracking system may determine a correction trajectory between the estimated state and the new planned trajectory that avoids any nearby objects, as described above.

[0043] FIG. 5 is a block diagram illustrating an example of a planning architecture 500 as described herein. In the current example, the planning architecture 500 may include a planning system 502, a decision system 504, and a following system 506. The planning system 502 may generate a planned path 508 for the vehicle from a first location to a second location. The decision system 504 may maintain, adjust, or generate a planned trajectory of the vehicle, such as planned trajectories 510(A) and 510(B), based on the planned path 508 and estimated state 514 of the vehicle that accounts for any objects that may be in proximity to the vehicle. For example, the decision system 504 may receive the estimated state 514 of the vehicle and determine a projected position 516 by projecting the estimated state 514 onto the previously planned trajectory 510(A), as described above. The decision system 504 may then generate a new planned trajectory 510(C) based on the projected state 516 and the planned path 508, as shown. The following system 506 may correct for differences between the planned path 508 and the planned trajectory 510(C) by generating a corrective trajectory 518 to be followed by the drive system 512 (e.g., to help keep the vehicle on the planned trajectory 510(C)).

[0044] 6 is a block diagram of an example system 600 for implementing the techniques described herein, according to an embodiment of the disclosure. In some examples, system 600 may include one or more features, components, and / or functionality related to the embodiments described herein with respect to FIGS. 1-5. In some embodiments, system 600 may include a vehicle 602. Vehicle 602 may include a vehicle computing device 604, one or more sensor systems 606, one or more communication connections 608, and one or more drive systems 610.

[0045] Vehicle computing device 604 may include one or more processors 612 and computer readable media 614 communicatively coupled to the one or more processors 612. In the illustrated example, vehicle 602 is an autonomous vehicle, although vehicle 602 can be any type of vehicle or any other system (e.g., a robotic system, a camera-enabled smartphone). In the illustrated example, computer readable media 614 of vehicle computing device 604 stores trajectory 620, position data 622, coordinate frames 624, and transformations 626 between coordinate frames 624, as well as planning system 616 and system controller 618. While depicted in FIG. 6 as residing on computer-readable media 614 for purposes of explanation, planning system 616 and system controller 618, as well as trajectory 620, position data 622, coordinate frame 624, and transformations 626 between coordinate frames 624, may additionally or alternatively be accessible to vehicle 602 (e.g., stored on vehicle 602 or otherwise accessible from computer-readable media separate from vehicle 602).

[0046] In at least one example, planning system 616 may be configured to implement one or more processors to correct deviations between measured conditions and desired conditions for the vehicle as described with respect to any of Figures 1-5 herein.

[0047] In at least one example, the vehicle computing device 604 can include one or more system controllers 618 that can be configured to control steering, propulsion, braking, safety, emitter, communication, and other systems associated with the vehicle 602. These system controllers 618 can communicate with and / or control systems corresponding to the drive system 610 and / or other components associated with the vehicle 602. In some examples, aspects of some or all of the components described herein can include any models, algorithms, and / or machine learning algorithms.

[0048] In at least one example, the sensor system 606 can include lidar sensors, radar sensors, ultrasonic transducers, sonar sensors, position sensors (e.g., GPS, compass, etc.), inertial sensors (e.g., inertial measurement unit (IMU), accelerometer, magnetometer, gyroscope, etc.), cameras (e.g., trichromatic, infrared, intensity, depth, time of flight, etc.), microphones, wheel encoders, environmental sensors (e.g., temperature sensors, humidity sensors, light sensors, pressure sensors, etc.), and one or more time-of-flight (ToF) sensors, etc. The sensor system 606 can include multiple instances of each of these or other types of sensors. In another example, a camera sensor can include multiple cameras located at various locations on the exterior and / or interior of the vehicle 602. The sensor system 606 can provide input to the vehicle computing device 604. Additionally or alternatively, the sensor system 606 can transmit sensor data over one or more networks to one or more computing devices, such as in near real-time, after a predetermined period of time has elapsed, or at a particular frequency.

[0049] Vehicle 602 may include one or more communications connections 608 that enable communication between vehicle 602 and one or more other local or remote computing devices. For example, communications connections 608 may facilitate communication to other local computing devices in vehicle 602 and / or drive system 610. Communications connections 608 may also enable vehicle 602 to communicate to other nearby computing devices (e.g., other nearby vehicles, traffic signals, etc.). Communications connections 608 may also enable vehicle 602 to communicate to remotely operated computing devices or other remote services.

[0050] The communication connection 608 may include a physical and / or logical interface for connecting the vehicle computing device 604 to another computing device (e.g., computing device 630) and / or to a network, such as network 628. For example, the communication connection 608 may enable Wi-Fi based communications, such as via frequencies defined by IEEE 802.11, short-range wireless frequencies such as Bluetooth, cellular communications (e.g., 2G, 3G, 4G, 4G LTE, 5G, etc.), or any suitable wired or wireless communication protocol that enables each computing device to interface with other computing devices.

[0051] In at least one example, the vehicle 602 can include one or more drive systems 610. In some examples, the vehicle 602 can have a single drive system 610. In at least one example, when the vehicle 602 has multiple drive systems 610, the individual drive systems 610 can be located at opposite ends of the vehicle 602 (e.g., the front or the rear, etc.). In at least one example, the drive system 610 can include one or more sensor systems 606 to detect the health of the drive system 610 and / or the surroundings of the vehicle 602, as discussed above. By way of example and not limitation, the sensor systems 606 can include one or more wheel encoders (e.g., rotary encoders) for sensing the rotation of wheels in the drive system, inertial sensors (e.g., inertial measurement units, accelerometers, gyroscopes, magnetometers, etc.) for measuring orientation and acceleration in the drive system, cameras or other imaging sensors, ultrasonic sensors for acoustically detecting objects in the surroundings of the drive system, lidar sensors, radar sensors, etc. Some sensors, such as wheel encoders, may be specific to the drive system 610. In some cases, the sensor systems 606 in the drive system 610 may duplicate or capture corresponding systems in the vehicle 602.

[0052] In at least one example, the components discussed herein may process sensor data, such as location data 622, as discussed above, and transmit their respective outputs over one or more networks 628 to one or more computing devices 630. In at least one example, the components discussed herein may transmit their respective outputs to one or more computing devices 630 at a particular frequency, such as in near real-time after a predetermined period of time has elapsed.

[0053] As described herein, an exemplary neural network is a biologically inspired algorithm that creates an output by passing input data through a series of connected layers. Each layer in a neural network can be composed of another neural network, or can be composed of any number of layers (whether convolutional or not). As can be understood in the context of this disclosure, a neural network can utilize machine learning, which can refer to a broad class of such algorithms in which an output is generated based on learned parameters.

[0054] Although discussed with respect to neural networks, any type of machine learning can be used consistent with this disclosure. For example, machine learning algorithms include regression algorithms (e.g., ordinary least squares regression (OLSR), linear regression, logistic regression, stepwise multiple regression, multivariate adaptive regression splines (MARS), local estimation scatterplot smoothing (LOESS)), instance-based algorithms (e.g., ridge regression, least absolute shrinkage and model selection (LASSO), elastic net, least angle regression (LARS)), decision tree algorithms (e.g., classification and regression trees (CART), iterative dichotomy (ID3), automated detection of interactions based on chi-squared tests (CHAID), decision strains, conditional decision trees), Bayesian algorithms (e.g., naive Bayes, Gaussian naive Bayes, naive Bayes based on multinomial distribution, average-order-of-dependence estimator (AODE), Bayesian belief network (BNN), Bayesian network), clustering algorithms (e.g., K-means, K-median, expectation maximization (EM), hierarchical clustering), association rule learning algorithms (e.g., parity-based clustering), and so on. The learning algorithms may include, but are not limited to, septrons, backpropagation, Hopfield networks, radial basis function networks (RBFNs), deep learning algorithms (e.g., deep Boltzmann machines (DBMs), deep belief networks (DBNs), convolutional neural networks (CNNs), stacked autoencoders), dimensionality reduction algorithms (e.g., principal component analysis (PCA), principal component regression (PCR), partial least squares regression (PLSR), Sammon mapping, multidimensional scaling (MDS), projection pursuit, linear discriminant analysis (LDA), mixed discriminant analysis (MDA), quadratic discriminant analysis (QDA), flexible discriminant analysis (FDA)), ensemble algorithms (e.g., boosting, bootstrap aggregation (Bagging), adaboost, stacked generalization (blending), gradient boosting machines (GBMs), gradient boosted regression trees (GBRTs), random forests), support vector machines (SVMs), supervised learning, unsupervised learning, semi-supervised learning, etc.Additional example architectures include neural networks such as ResNet50, ResNet101, VGG, DenseNet, PointNet, etc.

[0055] The processor 612 of the vehicle 602 and the processor 632 of the computing device 630 may be any suitable processor capable of executing instructions to process data and perform operations as described herein. By way of example and not limitation, the processors 612 and 632 may comprise one or more central processing units (CPUs), graphic processing units (GPUs), or any other device or portion of a device that processes electronic data and converts it into registers and / or other electronic data that can be stored in a computer-readable medium. In some examples, integrated circuits (e.g., ASICs, etc.), gate arrays (e.g., FPGAs), and other hardware devices may also be considered processors so long as they are configured to implement coded instructions.

[0056] The computer readable media 614 and 634 are examples of non-transitory computer readable media. The computer readable media 614 and 634 can store an operating system and one or more software applications, instructions, programs, and / or data to implement the methods and functions of the various systems described herein. In various implementations, the computer readable media can be implemented using any suitable computer readable media technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile / flash type memory, or any other type of computer readable media capable of storing information. The architectures, systems, and individual elements described herein can include many other logical, programmatic, and physical components, and the components shown in the accompanying figures are merely examples relevant to the discussion herein.

[0057] As will be appreciated, the components discussed herein have been described as separate for purposes of explanation, however, the operations performed by the various components may be combined or performed in any other component.

[0058] 6 is illustrated as a distributed system, in alternative examples, components of the vehicle 602 may be associated with the computing device 630 and components of the computing device 630 may be associated with the vehicle 602. That is, the vehicle 602 may perform one or more functions associated with the computing device 630 and vice versa. Additionally, aspects relating to the machine learning components may be implemented in any of the devices discussed herein.

[0059] [Example clauses] A. An autonomous vehicle comprising one or more position sensors, one or more processors, and one or more non-transitory computer readable media storing instructions executable by the one or more processors, the instructions which, when executed, cause the one or more processors to perform operations including receiving an estimated position associated with the autonomous vehicle; determining a projected position of the autonomous vehicle by determining a relative position of the estimated position associated with the autonomous vehicle with respect to a previously planned trajectory of the vehicle in a body-centered coordinate frame of the vehicle; determining a new planned trajectory associated with the autonomous vehicle based, at least in part, on the projected position and the planned path associated with the autonomous vehicle based, at least in part, on a Euclidean coordinate frame, where the planned path includes a path for the autonomous vehicle between a first location and a second location; determining a corrected trajectory associated with the autonomous vehicle based, at least in part, on the estimated position and the new planned trajectory associated with the autonomous vehicle based, at least in part, on the Euclidean coordinate frame; and controlling operation of the autonomous vehicle based, at least in part, on the corrected trajectory.

[0060] B. The autonomous vehicle of claim A, wherein the corrective trajectory is further based, at least in part, on a location of an object proximate to the autonomous vehicle.

[0061] C. The autonomous vehicle of claim A, further including transforming the projected position from a body-centered coordinate frame to a Euclidean coordinate frame prior to determining the new planned trajectory.

[0062] D. An autonomous vehicle according to claim A, wherein controlling operations related to the autonomous vehicle includes causing the autonomous vehicle to traverse a corrective trajectory.

[0063] E. A method comprising: determining a projected state of the autonomous vehicle by projecting measured states associated with the autonomous vehicle onto a first planned trajectory for the autonomous vehicle in a first coordinate frame; determining a second planned trajectory associated with the autonomous vehicle based at least in part on the projected states and the planned path associated with the autonomous vehicle based at least in part on the second coordinate frame; and controlling operation of the autonomous vehicle based at least in part on the second planned trajectory.

[0064] F. The method of clause E, wherein the measured state includes at least one of a measured position, a measured orientation, a measured acceleration, or a measured velocity associated with the autonomous vehicle.

[0065] G. The method according to clause E, wherein the first coordinate frame is a body-centered coordinate frame and the second coordinate frame is a Euclidean coordinate frame.

[0066] H. The method of clause E, wherein the second planned trajectory is further based at least in part on a state of the object detected by the autonomous vehicle.

[0067] I. The method of claim E, wherein the step of determining the projected state includes determining a shortest distance between the first planned trajectory and the measured state.

[0068] J. The method of clause E, further comprising determining a corrective trajectory associated with the autonomous vehicle based at least in part on the measured states associated with the autonomous vehicle and the second planned trajectory based at least in part on a second coordinate frame, wherein controlling operation of the autonomous vehicle is based at least in part on the corrective trajectory.

[0069] K. The method of claim J, wherein the corrective trajectory is further based at least in part on a state of the object detected by the autonomous vehicle.

[0070] L. The method of clause E, returning the autonomous vehicle to the planned path once the second planned trajectory is executed by the autonomous vehicle.

[0071] M. A non-transitory computer-readable medium storing instructions that, when executed, cause one or more processors to perform operations including determining a projected state of the autonomous vehicle by projecting measured states associated with the autonomous vehicle onto a first planned trajectory for the vehicle based at least in part on a first coordinate frame; determining a second planned trajectory associated with the autonomous vehicle based at least in part on the projected states and a planned path associated with the autonomous vehicle based at least in part on a second coordinate frame, where the planned path includes a path for the autonomous vehicle between the first location and the second location; and determining, relative to the second coordinate frame, a corrective trajectory associated with the autonomous vehicle based at least in part on the measured states associated with the autonomous vehicle and the second planned trajectory.

[0072] N. The non-transitory computer-readable medium of claim M, wherein determining the projected state includes determining a minimum distance between the first planned trajectory and the measured state.

[0073] O. A non-transitory computer readable medium relating to clause M, wherein the first coordinate frame is relative to a body of the vehicle.

[0074] P. A non-transitory computer-readable medium according to claim M, wherein the second coordinate frame is a Universal Transverse Mercator (UTM) coordinate frame.

[0075] Q. The non-transitory computer-readable medium of clause M, further including controlling operation of the autonomous vehicle based at least in part on the corrected trajectory.

[0076] R. A non-transitory computer-readable medium according to clause S, determining a corrective trajectory associated with the autonomous vehicle based at least in part on the corrective state associated with the autonomous vehicle and the second planned trajectory, and controlling operation of the autonomous vehicle based at least in part on the corrective trajectory.

[0077] S. A non-transitory computer readable medium for node R, wherein the corrective trajectory is determined based at least in part on a second coordinate frame.

[0078] T. A non-transitory computer readable medium for clause R, where the corrective trajectory, when executed by the autonomous vehicle, causes the autonomous vehicle to return to the second planned trajectory.

[0079] Although the example provisions described above are described with respect to one particular implementation, in connection with this document, the contents of the example provisions may also be implemented via a method, apparatus, system, computer readable medium, and / or other implementations. Further, any of Examples A-T may be implemented alone or in any combination with one or more of the others in Examples A-T.

[0080] [Conclusion] As can be appreciated, the components discussed herein are described as separate for purposes of explanation. However, the operations performed by the various components can be combined or performed with any other components. It should also be understood that components or steps discussed with respect to one example or implementation can be used in combination with components or steps in other examples. For example, the components and instructions in FIG. 6 can utilize the processes and flows in FIGS. 1-5.

[0081] One or more examples of the techniques described herein will be described; however, various modifications, additions, permutations, and equivalents are included within the scope of the techniques described herein.

[0082] In describing the examples, reference is made to the accompanying drawings, which form a part of this specification, and which illustrate illustrative examples of the claimed subject matter. Other examples may be used, and modifications or adjustments, such as structural changes, may be made. In such examples, modifications or adjustments do not necessarily depart from the intended scope of the claimed subject matter. Although steps herein are presented in a certain order, in some cases, the ordering can be changed such that certain inputs are provided at different times or in different orders without changing the functionality of the described systems and methods. The disclosed procedures can also be performed in different orders. Furthermore, the various operations described herein need not be performed in the order disclosed, and other examples using alternative orderings of operations can be readily implemented. In addition to reassigning orders, in some examples, operations can be decomposed into sub-operations with the same results.

Claims

1. A step of determining a projected state of the autonomous vehicle along a first planned trajectory of the autonomous vehicle in a first coordinate frame based at least in part on a measured state associated with the autonomous vehicle, the measured state deviating from the first planned trajectory by an arc length along the first planned trajectory and an offset extending from the first planned trajectory; determining a second planned trajectory associated with the automated vehicle based at least in part on a second coordinate frame, the projection state, and a planned path associated with the automated vehicle; controlling operation of the automated vehicle based at least in part on the second planned trajectory. A method comprising:

2. 2. The method of claim 1, wherein the measured conditions include at least one of a measured position, a measured orientation, a measured acceleration, or a measured velocity associated with the autonomous vehicle.

3. 3. The method according to claim 1, wherein the first coordinate frame is a body-centered coordinate frame and the second coordinate frame is a Euclidean coordinate frame.

4. 4. The method of claim 1, wherein the second planned trajectory is further based at least in part on states of objects detected by the autonomous vehicle.

5. 5. The method of claim 1, wherein the step of determining the projected state includes the step of determining a shortest distance between the first planned trajectory and the measured state. determining a corrective trajectory associated with the autonomous vehicle based at least in part on the measured state associated with the autonomous vehicle and the second planned trajectory based at least in part on the second coordinate frame; Further equipped with controlling the operation of the autonomous vehicle based at least in part on the corrected trajectory.

6. The method according to claim 1, wherein the first and second electrodes are connected to a first electrode.

7. 7. The method of claim 6, wherein the corrective trajectory is further based at least in part on a state of an object detected by the autonomous vehicle.

8. 8. The method of claim 1, wherein the second planned trajectory, when executed by the automated vehicle, returns the automated vehicle to the planned path.

9. A computer program comprising coded instructions which, when executed on a computer, implements the method according to any one of claims 1 to 8.

10. One or more position sensors; one or more processors; one or more non-transitory computer-readable media storing instructions executable by the one or more processors; wherein the instructions, when executed, cause the system to: receiving an estimated location associated with the autonomous vehicle; determining a projected position of the autonomous vehicle along a previously planned trajectory for the autonomous vehicle in a body-centered coordinate frame, the estimated position deviating from the previously planned trajectory by an arc length along the previously planned trajectory and an offset extending from the previously planned trajectory; determining a new planned trajectory associated with the autonomous vehicle based at least in part on a Euclidean coordinate frame, the projected position, and a planned path associated with the autonomous vehicle including a path for the autonomous vehicle between a first location and a second location; determining a corrective trajectory associated with the automated vehicle based at least in part on the estimated position associated with the automated vehicle and the new planned trajectory based at least in part on the Euclidean coordinate frame, the corrective trajectory configured to cause the automated vehicle to travel from the estimated position; A system for executing operations including:

11. The system of claim 10, wherein determining the projected position includes determining a shortest distance between the previously planned trajectory and the estimated position.

12. the vehicle body center coordinate frame is a coordinate frame relative to a body of the autonomous driving vehicle, the Euclidean coordinate frame is the Universal Transverse Mercator (UTM) coordinate frame; A system according to claim 10 or 11, characterized in that

13. 13. The system of claim 10, wherein the operation further comprises controlling operation of the automated vehicle based at least in part on the corrected trajectory.

14. The method of claim 13, further comprising: determining the corrected trajectory associated with the autonomous vehicle based at least in part on the estimated position associated with the autonomous vehicle and the new planned trajectory. Further comprising: controlling the autonomous vehicle based at least in part on the corrected trajectory.

14. The system of claim 13.

15. the corrective trajectory is determined based at least in part on the Euclidean coordinate frame; The corrective trajectory returns the autonomous vehicle to the new planned trajectory.

15. The system of claim 14.

Citation Information

Patent Citations

  • A system for a vehicle

    GB2570887A

  • Absolute travel route calculation apparatus, method, and program

    JP2010122034A

  • Driving support system

    JP2018024295A

  • Travel control method and travel control apparatus for drive assist vehicle

    JP2019043396A

  • Autonomous driving support apparatus and method

    US20190113925A1