Motion planning with variable mesh resolution for graph search-based planning
By adopting the planning technology based on graph search and the motion planning system with variable grid resolution in the autonomous parking system, the problem of high calculation cost of motion planning in the autonomous parking environment in the existing technology is solved, and more efficient calculation and Lower cost.
Patent Information
- Application Number
- CN202311385699.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-11
- Filing Date
- 2023-10-24
- Publication Date
- 2025-02-18
AI Technical Summary
The prior art has high computational costs when planning motion in autonomous or automatic parking environments, especially in complex parking environments containing static and dynamic objects.
A planning technology based on graph search is adopted, using a motion planning system with variable grid resolution. The system obtains initial and target poses, obstacle maps and reference paths through the processor, uses motion planning algorithms and obstacle maps to perform graph-based searches through two or more grid resolutions to determine the path or trajectory.
By using rougher grid resolution in areas close to the target pose and finer grid resolution near the current location of the main vehicle, the calculation cost of motion planning is reduced and the computing efficiency is improved.
Smart Images

Figure CN119469175A_ABST
Abstract
Description
Background Art
[0001] Some vehicles provide autonomous or automatic parking to assist the driver. However, motion planning (e.g., a driving path for navigating in a parking environment to park in a specific space or respond to a call request) is often computationally expensive due to the large search space and complex environment (e.g., a combination of moving and stationary objects). For example, motion planning may involve using both a path planner and a velocity planner to provide a collision-free trajectory in a complex parking environment, and making decisions (e.g., yielding, offsetting, overtaking) to handle static and dynamic objects. In addition, path searching often involves relatively long distances, which results in a large computational cost to perform motion planning in such scenarios. Summary of the invention
[0002] This document describes techniques and systems for motion planning with variable grid resolution for graph-based search planning. An example system includes a processor that obtains an initial pose (e.g., a source node), a target pose (e.g., a target node), and an obstacle map of a parking environment or a similar road. The processor may also obtain a reference path. The processor then uses a motion planning algorithm and the obstacle map (and the reference path, if available) to determine a path (or trajectory) by using two or more grid resolutions for graph-based search. The path includes a series of waypoints for navigating from the initial pose to the target pose. Each waypoint includes two-dimensional (2D) position information or coordinates and optional time information or coordinates (if it is a 3D trajectory). The processor controls the operation of the host vehicle using an assisted driving or autonomous driving system to maneuver along the path or trajectory toward the target pose. In this way, the example system performs a path or trajectory search for the entire path distance, but uses a coarser grid resolution for the portion of the graph search close to the target pose. This allows motion planning for autonomous parking, particularly in a parking environment that includes static and dynamic objects, to be processed in a more computationally efficient manner.
[0003] This document also describes methods performed by the systems summarized above and other configurations set forth herein, as well as computer-executable instructions and devices for performing these methods.
[0004] This Summary introduces simplified concepts related to motion planning with variable grid resolution for graph search based planning in the Detailed Description and Figures. This Summary is not intended to identify essential features of the claimed subject matter nor to determine the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Details of one or more aspects of motion planning for variable grid resolution for graph search based planning are described in this document with reference to the following figures. The same numbers are generally used throughout the figures to refer to similar features and components: Figure 1 An example environment is shown in which a parking system performs motion planning using a variable grid resolution for graph search based planning in accordance with the techniques of this disclosure; Figure 2 An example configuration of a vehicle having a parking system for performing motion planning using a variable grid resolution for graph search based planning is shown; Figure 3 An example flow chart illustrating the described techniques and systems for motion planning using variable grid resolution for graph search based planning is shown; Figure 4-1 to Figure 4-4 An example artificial potential field for motion planning is shown; Figure 5 An example technique for determining a repulsive potential for motion planning in a 2D or 3D search space with an artificial potential field is shown; Figure 6 An example 2D search space with variable grid resolution for graph search based planning is shown; Figure 7 An example 3D search space with variable grid resolution for graph search based planning is shown; Figure 8-1 to Figure 8-4 An example 3D search space for motion planning is shown; Figure 9-1 to Figure 9-6 shows an example path for a vehicle with a parking system using a dynamic and variable grid resolution for graph search based planning; and Fig.10 An example method of a parking system that may use variable grid resolution for graph-based planning is shown. DETAILED DESCRIPTION Overview
[0006] Some vehicles provide autonomous or automatic parking and summoning functionality. Many autonomous or automatic parking systems use a parking path algorithm to generate a parking path (or summoning path) and / or a speed profile to navigate the host vehicle to a selected parking space (or in response to a summoning request). However, motion planning for autonomous parking and summoning is a complex and computationally expensive task due to the relatively large search space around the selected parking space, non-holonomic constraints on vehicle motion (e.g., a vehicle cannot move directly sideways but must move forward or backward to achieve lateral movement), and avoidance of nearby obstacles (e.g., parked vehicles, moving vehicles, pedestrians, and other objects).
[0007] Some parking systems use an iterative combination of a path planner and a speed planner to generate a path. In the path planner and at each search, these parking systems can predict the location of an object and perform a bias on it (e.g., provide a distance offset) to generate a 2D path. The distance traveled is usually relatively long, resulting in a computationally expensive search. These parking systems can use a speed planner to generate a speed profile based on a cost function associated with avoiding nearby objects and reaching a desired destination (e.g., a parking spot). Since the speed planner may change the speed profile of the host vehicle based on a new or updated 2D path, the predicted position of the moving object may also change, and the motion planner must determine another speed profile. In such parking systems, the influence and action of the path planner and the speed planner on each other result in an iterative path-speed algorithm, which is exacerbated by the relatively long distances of many parking or summoning operations.
[0008] In contrast, this document describes techniques and systems for motion planning with variable grid resolutions for graph-based search planning to reduce the computational cost of searching the entire 2D or 3D search space. For example, the parking system obtains an initial pose (e.g., a source node), a target pose (e.g., a target node), and an obstacle map of the parking environment. The parking system may also receive a reference path. The parking system uses a motion planning algorithm, an obstacle map, and a reference path (if provided) to determine a path or trajectory by using two or more grid resolutions for graph-based search. The path or trajectory includes a series of 2D or 3D waypoints, including 2D position coordinates and optional time coordinates, respectively, to navigate the main vehicle from the initial pose to the target pose. The main vehicle is then controlled to maneuver along the path or trajectory toward the target pose. In this way, the described techniques and systems perform path or trajectory searches with a finer grid resolution near the current position of the main vehicle, and perform path or trajectory searches with a coarser grid resolution for a more distant portion of the environment to reduce the computational cost of motion planning. As the host vehicle navigates along the path or trajectory, the path or trajectory is updated with a finer grid resolution near the updated position of the host vehicle, thereby providing a dynamic grid resolution that moves with the host vehicle. This allows motion planning for autonomous parking operations, particularly in parking environments that include both static and dynamic objects, to be processed in a more computationally efficient manner.
[0009] This is just one example of the described techniques and systems for motion planning using variable grid resolution for graph search based planning. This document describes other examples and implementations. Operating Environment
[0010] Figure 1An example environment 100 is shown in which a parking system 120 of a vehicle 102 (e.g., a host vehicle, an ego vehicle) performs motion planning using a variable grid resolution for graph search-based planning in accordance with techniques of the present disclosure. In the depicted environment 100, the vehicle 102 is in a parking lot or other environment with multiple parking spaces. In other implementations, the environment 100 may be a road with parking spaces on one side of the road. Figure 1 100 is shown parallel to the path of travel of vehicle 102. Parking spaces may also be at an angle to the path of travel of vehicle 102, or may be generally perpendicular to the path of travel of vehicle 102. Environment 100 includes stationary objects 112 (e.g., other vehicles parked in some of the parking spaces, pillars, curbs, and barriers) and moving objects 114 (e.g., pedestrians and other vehicles navigating in environment 100). Environment 100 may also include available spaces 110 that are not occupied.
[0011] Although shown as a passenger truck, the vehicle 102 may represent other types of motor vehicles (e.g., cars, automobiles, motorcycles, buses, tractors, semi-trailers), watercraft (e.g., boats), or aircraft (e.g., airplanes). The vehicle 102 includes one or more sensors 118 and a parking system 120. In the depicted environment 100, the sensors 118 are mounted to the front, center, and rear of the vehicle 102, or integrated into the front, center, and rear of the vehicle 102. As described in more detail below, the sensors 118 may include camera systems, radar systems, lidar systems, ultrasonic systems, and positioning systems. The sensors 118 may provide sensor data about stationary objects 112 and moving objects 114 to the parking system 120 (e.g., as an obstacle map).
[0012] Additionally, parking system 120 or another component of vehicle 102 may use sensors 118 to obtain initial pose 104 and / or target pose 106 (e.g., parked in available space 110) of vehicle 102. Sensors 118 may also be used to generate an obstacle map of environment 100 including stationary objects 112 and moving objects 114.
[0013] In the depicted implementation, the sensor 118 is mounted on the front of the vehicle 102 and can provide sensor data for building an obstacle map. The sensor 118 can detect nearby objects or parking-space features from any exterior surface of the vehicle 102. For example, a vehicle manufacturer can integrate a radar system, a lidar system, a camera, or an ultrasonic sensor into a bumper, a side mirror, a headlight, or any other interior or exterior location where an object (e.g., a stationary object 112, a moving object 114) needs to be detected. In some cases, the vehicle 102 includes multiple sensors and / or sensor types (such as radar systems and cameras) that provide a larger instrument field of view or improved detection of nearby objects. In general, the vehicle manufacturer can design the position of the sensor 118 to provide a specific field of view that includes an area of interest. Example fields of view include a 180-degree field of view, one or more 90-degree fields of view, etc., which can overlap or be combined into a field of view of a specific size.
[0014] The parking system 120 can provide assisted or autonomous driving for the driver of the vehicle 102. For example, the parking system 120 can identify a selected parking spot (e.g., the available space 110) and generate a path 108 (or trajectory) to navigate from the initial pose 104 to a target pose 106 proximate to the selected parking spot. In some implementations, the parking system 120 can then provide the parking path 116 (or trajectory) to the assisted or autonomous driving system to park the vehicle 102 in the available space 110.
[0015] The parking system 120 may include a motion planner 122. The parking system 120 and the motion planner 122 may be implemented using hardware, software, firmware, or a combination thereof. The parking system 120 may also include a parking space selector that may identify the available space 110 and select the available space 110 or another parking space for the vehicle 102. In other implementations, the driver may provide input to the parking system 120 to select a desired parking space.
[0016] The motion planner 122 can determine a path 108 (or trajectory) that includes a position path plan and / or a velocity plan for navigating the vehicle 102 from the initial pose 104 to the target pose 106 (e.g., a location near the available space 110) while avoiding collisions with stationary objects 112 and moving objects 114. The path 108 can also include a path plan and / or a velocity plan for navigating in the environment 100 to find the available space 110 or to leave the environment 100. The path 108 includes a series of waypoints between the initial pose 104 and the target pose 106, where each waypoint indicates 2D position information or coordinates and (optionally) time information and coordinates (if a 3D trajectory).
[0017] The motion planner 122 uses a spatial or space-time artificial potential field to plan a path or trajectory in a 2D or 3D search space, while using a dynamic and variable grid resolution to minimize the computational costs associated with motion planning. For example, the motion planner 122 can use two or more different grid resolutions to perform a graph-based search, where a finer grid resolution is used for the search space closest to the vehicle 102, and a coarser grid resolution is used to plan the remainder of the path or trajectory. In each iteration or cycle of motion planning, the motion planner 122 uses the finer grid resolution for the portion of the environment 100 closest to the current position of the vehicle 102 to update or recalculate the remainder of the path 108. As a result, the finer grid resolution moves dynamically with the vehicle 102 as the vehicle 102 travels along the (updated) path 108 (or trajectory). The motion planner 122 can use a variant of the A-star (A*) or hybrid A* algorithm to determine the path 108. In other implementations, the motion planner 122 may use Dijkstra, Anytime A*, D*, D*Lite, or similar algorithms. In this way, the motion planner 122 may determine and update the path 108 (or trajectory) in a computationally efficient manner with sufficient resolution for autonomous operation while still providing a complete planned path. Transportation Configuration
[0018] Figure 2 An example configuration of a vehicle 102 with a parking system 120 that performs motion planning using a variable grid resolution for graph search based planning is shown. Figure 1 As described in , the vehicle 102 includes sensors 118 and a parking system 120, which may include a parking space selector 212, a global planner 214, a motion planner 122, and a parking planner 216. In addition, the vehicle 102 may include one or more communication devices 202, one or more processors 204, a computer readable storage medium (CRM) 206, and a control interface 218 to one or more vehicle-based systems (including one or more autonomous driving systems 220).
[0019] The communication device 202 may include a sensor interface and a vehicle-based system interface. For example, when the sensor 118 and / or various components of the parking system 120 are integrated into the vehicle 102, the sensor interface and the vehicle-based system interface may transmit data (e.g., radar data, distance calculations) via a communication bus of the vehicle 102.
[0020] The processor 204 (e.g., an energy processing unit or an electronic control unit) can be a microprocessor or a system on a chip. The processor 204 executes instructions stored in the CRM 206, one or more disks, memories, or other non-transitory computer-readable storage media. For example, the processor 204 can process sensor data from the sensor 118 and execute instructions loaded from the CRM 206 so that they generate an obstacle map of the parking environment, determine a path 108 (the path 108 can be referred to as a cruise trajectory) for driving toward a parking space, satisfying a summon request, or navigating in the parking environment. The instructions can configure the processor 204 to generate a path 108 for at least one automotive system using a variable grid resolution, the path 108 also including a speed plan as a trajectory. For example, the processor 204 executes instructions on the CRM 206 to control the autonomous driving system 220 to operate the vehicle 102 using the path 108 to approach a selected parking space based on the sensor data.
[0021] The parking system 120 may be stored in the CRM 206. As described above, the parking system 120 may include a parking space selector 212, a global planner 214, a motion planner 122, and a parking planner 216. The parking space selector 212 may identify the available spaces 108 or select a parking space (e.g., the best parking space) for the vehicle 102. The selected parking space may be presented to the driver of the vehicle 102 on a display (e.g., an overlay on a photo or video feed of the parking environment or a graphical representation of the parking environment). The parking space selector 212 may also determine nearby available spaces and present them to the driver of the vehicle 102 on a video display. The driver may then select a space in which the parking system 120 will park the vehicle 102.
[0022] The global planner 214 provides high-level motion planning for the parking system 120. For example, the global planner 214 can provide a reference path or trajectory to the motion planner 122 (which can also be referred to as a local planner) for navigating to the vicinity of a selected parking space, satisfying a summon request, or leaving the parking environment. The reference path provides an ideal or suggested path planning from the initial pose 104 to the target pose 106. The global planner 214 typically uses map data of the parking environment to generate the reference path or trajectory. The map data can be stored locally in the vehicle 102 or obtained from a remote computer system using a communication device. In other implementations, the reference path or trajectory can be a stored path for a frequently visited parking environment (e.g., a learned or trained trajectory for parking in a specified location at the driver's home or work).
[0023] The motion planner 122 determines a path 108 for navigating from the initial pose 104 to the target pose 106 in the parking environment. As described below, the motion planner 122 can determine a series of waypoints to safely navigate in the parking environment (e.g., avoiding collisions with stationary objects 112 and moving objects 114). The waypoints include 2D position coordinates and may also include time coordinates. The heading of the vehicle can be determined by taking derivatives of the 2D position (e.g., dy / dx or dS / dL). The velocity component can be determined by taking derivatives of the position axis with respect to time (e.g., dx / dt, dy / dt, dS / dt, dL / dt).
[0024] The parking planner 216 determines a parking path (e.g., Figure 1 to navigate from the target pose 106 to the selected parking space (e.g., Figure 1 The parking planner 216 may also determine the type of maneuver (e.g., forward parking, reverse parking, single-turn maneuver, double-turn maneuver) to use to park in the selected parking space. For example, the parking planner 216 may determine based on the parking-space characteristics that the vehicle 102 cannot perform a single-turn maneuver to enter the selected parking space because the entry turn radius is less than the minimum inner turn radius of the vehicle 102. The parking planner 216 may also determine to perform a single-turn or double-turn maneuver based on driver preference or input, followed by a reverse move to park in the selected parking space.
[0025] The vehicle 102 also includes a control interface 218 to one or more vehicle-based systems that, alone or in combination, provide a means for receiving the path 108 to control the vehicle 102. One example of a vehicle-based system to which the control interface 218 provides parking information includes an autonomous driving system 220, which can rely on information output from the parking system 120. For example, the autonomous driving system 220 can rely on data transmitted via the communication device 202 and obtained from the sensors 118 to operate the vehicle 102 along the path 108 toward the target pose 106 in a crowded parking environment. For example, the autonomous driving system 220 can use the data provided by the parking system 120 and / or the sensors 118 to control the operation of the vehicle 102 to navigate close to a selected parking space (and subsequently use the parking path 116 to park in the selected parking space), to satisfy a summon request, or to navigate in a parking environment. Example trajectory planning flow chart
[0026] Figure 3 An example flow chart 300 of described techniques and systems for motion planning using variable grid resolution for graph search based planning is shown. Figure 3 The parking system can be, for example, Figure 1 and Figure 2 The output of the flowchart 300 is a path 306 or trajectory, which can be provided as an input to the autonomous driving system 220 to operate the vehicle 102 along the path 306 to navigate in the parking environment (e.g., to approach an available space, find an available space, complete a summon request, or leave the parking lot). The path 306 can also include time coordinates to provide a trajectory output from the motion planner 122.
[0027] At step 304, the parking system 120 or the motion planner 122 obtains the input 302 and runs a motion planning algorithm using multiple grid resolutions. The motion planning algorithm can be run in a 2D or 3D search space with a spatial or space-time artificial potential field, respectively. The 2D search space includes two position dimensions. The 3D search space includes two position dimensions and a time dimension.
[0028] The input 302 includes an initial or current pose of the vehicle 102, a target pose near a selected parking space or destination within the parking environment, and an obstacle map. The initial pose may represent a source node of a motion planning algorithm and may be obtained from the positioning system 208, which uses position data to determine the position of the vehicle. The target pose may represent a target node of the motion planning algorithm and may be obtained from the parking space selector 212 or another system of the parking system 120. The parking system 120 may also obtain an obstacle map of the environment near, around, between, and including the initial pose and the target pose. The obstacle map may be obtained from the perception system 210, which uses sensor data to generate and populate the obstacle map. In some implementations, the obstacle map may be a radar occupancy grid map generated from radar data or a similar type of occupancy grid map (e.g., an occupancy grid map that fuses data from multiple types of sensors).
[0029] The motion planning algorithm utilizes space and / or time-space artificial potential fields and graph-based search to plan the path 306 of the vehicle 102 in the parking environment. The motion planning algorithm first discretizes the 2D or 3D search space into an array or 2D or 3D nodes, respectively, and assigns an artificial potential field value or magnitude to each node using a potential field function. The motion planning algorithm determines the trajectory to travel from the current position (e.g., initial pose) to the target position (e.g., target pose) with the lowest cost or potential.
[0030] There are two common artificial potential fields generated within or by the motion planning algorithm: attractive potential and repulsive potential. In general, the target pose and reference path (if provided) exhibit attractive potential, while obstacles (e.g., moving objects 114, stationary objects 112) produce repulsive potential. The attractive or repulsive potential is a function of the distance between the vehicle 102 and the potential source (e.g., an inverse, linear, quadratic, or exponential relationship). Therefore, the total potential energy U at any point or node within the parking environment is 总 (s,l,t) is determined by the attractive potential energy U 吸引 (s,l,t) and repulsive potential energy U 排斥 The sum of (l,l,t) is determined as shown in equation (1): U 总 (s,l,t)=U 吸引 (s,l,t)+U 排斥 (s,l,t)(1)
[0031] The attractive potential energy can be generated based on the reference line, reference path, target line, and target node. The reference line can represent the lateral center of the lane or implied lane in which the vehicle 102 is traveling. The reference path or trajectory can represent the ideal path or trajectory of the vehicle 102 following the marked lanes in the parking environment from the initial posture to the target posture or target line, assuming that there are no obstacles. The target line can represent the lateral (or another direction) line to which the vehicle 102 is to travel to leave the parking environment or navigate the vehicle 102 in the parking environment to search for an available space 110. The attractive potential energy from the reference path and the target posture is shown in equations (2) and (3), respectively: U 参考路径 (s,l,t)=w 参考路径 d 路径 (2) U 目标 (s,l,t)=w 目标 d 目标 (3) Among them, w 参考路径 and w 目标 denotes weights with the same or different constant values, and d 路径 and d 目标 represents the Euclidian distance from the current position of the vehicle 102 to the reference path or target pose or the minimum distance from the current position of the vehicle 102 to the reference path or target pose, respectively.
[0032] Figure 4-1 and Figure 4-2 Example attractive potential fields 400-1 and 400-2 are shown, respectively, for use by motion planner 122 in determining path 306. Figure 4-1, graph 400-1 shows the attractive potential field generated by a reference path. The reference path is offset from the S axis. The magnitude of the attractive potential increases linearly based on the lateral (L) distance to the reference path or line.
[0033] exist Figure 4-2 , graph 400-2 shows the attractive potential field generated by a target line. The target line is a line with an S value of 40. The magnitude of the attractive potential increases linearly based on the distance to the target line along the S axis.
[0034] Repulsive potential energy can be generated from boundaries and obstacles. If used, the repulsive potential energy of the boundary is useful for keeping the vehicle 102 away from the boundary of the parking environment. The repulsive potential energy from the obstacle is shown in equation (4): Among them, w 障碍物 represents a weight having a constant value, d represents the distance between the vehicle 102 and the obstacle, and d c Represents the collision distance offset for small distances around obstacles, d g represents the gradient distance offset around the obstacle, and C 碰撞 and C 梯度 Represents the cost associated with being within the corresponding distance of the obstacle.
[0035] Figure 5 An example technique for determining repulsive potential in path planning in a 2D or 3D search space with an artificial potential field is shown. Specifically, Figure 5 A host vehicle 502 (eg, Figures 1 to 3 506). In the motion planning algorithm, the representation of the host vehicle 502 and the obstacle 504 is simplified by using one or more circles. In the example shown, the host vehicle 502 and the obstacle 504 are both represented by three circles 506.
[0036] The distance d, 408 from equation (4) can be determined using equation (5): where s 主 and 障碍物 s coordinates of the centers of the host vehicle 502 and the obstacle 504 respectively; 主 and l 障碍物 l coordinates representing the centers of the host vehicle 502 and the obstacle 504, respectively; and r 主 and r 障碍物 The radii of the circle 506 representing the host vehicle 502 and the obstacle 504 are respectively indicated.
[0037] In equations (1) to (5), the position coordinates are provided in station (S or s) and lateral (L or l) dimensions. The S dimension indicates the distance along the path, and the L dimension indicates the vertical offset from the path. Cartesian coordinates can also be used to represent a 2D search space in a global coordinate system or a vehicle coordinate system with an x-axis and a y-axis perpendicular to each other. Similarly, polar coordinates or another position coordinate system can be used for a 2D position search space in a spatial field or a time-space field.
[0038] Collision distance offset d c 516 represents the distance between the obstacle boundary 510 and the collision circle 512 of the obstacle 504. The obstacle boundary 510 represents the approximate boundary of the obstacle 504, which is represented by the circle(s) 506. The collision circle 512 represents the area within which a collision with the obstacle 504 occurs or may occur. g 518 represents the distance between the gradient circle 514 and the obstacle boundary 510. The gradient circle 514 represents the region within which the repulsive potential from the obstacle decreases linearly. In other implementations, the repulsive potential may decrease at a quadratic, exponential, or some other rate within the gradient circle 514. 碰撞 520 and gradient cost C 梯度 522 represent the cost of the vehicle 502 within the collision circle 512 or gradient circle 514 of the obstacle 504, respectively. For example, the collision cost C 碰撞 520 and gradient cost C 梯度 522 may have values of 100 and 25, respectively. In other implementations, different values may be used for the collision cost C 碰撞 520 and gradient cost C 梯度 522 both.
[0039] Figure 4-3 An example repulsive potential field 400-3 is shown that is used by the motion planner 122 to determine the path 306. The graph 400-3 shows the repulsive potential field generated by nine parked vehicles in a parking environment. The magnitude of the repulsive potential field increases as the vehicle 102 approaches the corresponding object(s).
[0040] Figure 4-4 An example artificial potential field 400-4 is shown that is used by the motion planner 122 to determine the path 306 for a single point in time. Specifically, the graph 400-4 shows a combination of attractive and repulsive potential energies or fields from graphs 400-1, 400-2, and 400-3.
[0041] The result of the motion planning algorithm is a path 306. Path 306 includes a series of 2D or 3D waypoints having 2D position coordinates and time coordinates (if 3D waypoints) for navigating the host vehicle from an initial attitude to a target attitude. The 2D position coordinates are represented by two position dimensions (e.g., in the SL plane). The slope of the position coordinates (e.g., dS / dL) indicates the heading of the vehicle 102. The position provided by the position coordinates can be represented in a vehicle coordinate system or a global coordinate system. If a time coordinate is provided, the time coordinate can be used to determine the velocity component of path 306. Specifically, the longitudinal velocity component is indicated by the slope in the ST plane (e.g., dS / dT), and the lateral velocity component is indicated by the slope in the LT plane (e.g., dL / dT).
[0042] At optional step 308, the motion planner 122 optimizes the path 306 to smooth out the path and speed of the vehicle 102. For example, the motion planner 122 may optimize the path 306 using inequality constraints to reduce curvature, acceleration, or any jerkiness.
[0043] As another example, the motion planner 122 can introduce speed penalties to minimize situations where the vehicle 102 travels faster or slower than a reference speed. Speed penalties can also include a maximum speed or a minimum speed that cannot be exceeded. Similarly, the motion planner 122 can also consider kinematic constraints (e.g., steering restrictions) and dynamic constraints (e.g., changes in road elevation that may occur, for example, on a ramp) to introduce other penalties to influence or optimize the path 306. In other implementations, these penalties and constraints can be integrated as part of the motion planning algorithm in step 304.
[0044] At step 310, the parking system 120 or the autonomous driving system 220 executes the horizon waypoints from the path 306. The horizon waypoints represent a subset of the path 306, and the horizon waypoints are determined using a first or fine grid resolution. For example, the horizon waypoints may represent the path 306 for a two-second period or execution time. As a result, the motion planner 122 provides the 2D or 3D waypoints required to execute two seconds of the path 306, and then replans the remainder of the path 306 to account for updated information (e.g., changes in the trajectory of the mobile object 114 or the perception of a new object). In the initial motion planning, the remainder of the path 306 is determined using one or more coarser grid resolutions to reduce the computational cost of path planning. The horizon waypoints may represent different execution times (e.g., one second) or distance thresholds (e.g., ten meters or ten percent of the total path). In this way, the parking system 120 performs a retreat horizon solution by searching for a longer path or trajectory, but only executing a small portion of it, and then replanning in a computationally efficient manner.
[0045] At step 312, the parking system 120 determines whether the target pose has been reached. If not, the parking system 120 returns to step 304, and the motion planner 122 runs a motion planning algorithm in a 2D or 3D search space with an artificial potential field and multiple grid resolutions to re-plan the remaining portion of the path 306. For example, the new or updated path 306 will be determined using a fine grid resolution for a different portion of the path than was used in a previous iteration of the path 306. In other words, the fine grid resolution is used for a new series of horizon waypoints to be executed in the current iteration of the flowchart 300. If the target pose has been reached, the motion planning ends at operation 314.
[0046] Figure 6 An example 2D search space 600 with variable grid resolution for graph-based search planning is shown. Specifically, the 2D search space 600 is used for Figure 3 An example search space for motion planning in flowchart 300 is shown.
[0047] The 2D search space 600 includes a station (S) dimension or axis indicating the distance along the path, and a lateral (L) dimension or axis indicating the perpendicular offset from the path. Cartesian coordinates can also represent the 2D search space 600 with an x-axis and a y-axis perpendicular to each other in a global coordinate system or a vehicle coordinate system. Similarly, polar coordinates can be used for the 2D search space 600.
[0048] exist Figure 6 , vehicle 102 starts at position (0, 0) (eg, an initial pose) and travels at position (14, 4) toward target pose 602. 2D search space 600 also includes stationary objects 604-1, 604-2, and 604-3 (eg, parked vehicles).
[0049] In the immediate vicinity of the vehicle 102, the motion planner 122 uses a first grid resolution 606 having a half-unit by half-unit resolution. The units of the 2D search space 600 may be meters, miles, feet, kilometers, or similar length units. For example, the first grid resolution 606 may provide a search space resolution of 0.5 m by 0.5 m. Different resolutions may be used in other implementations of the 2D search space 600 for one or both dimensions. Figure 6 , the first grid resolution 606 extends 4 units in the S dimension and 2 units in the L dimension. In other implementations, the first grid resolution 606 can extend a shorter or longer distance in one or both dimensions. The size of the first grid resolution 606 can be based on an expected distance covered by the vehicle 102 in a predetermined time period (e.g., one second), a predetermined size, or a predetermined percentage of the distance between the initial pose and the target pose 602.
[0050] Further away from the vehicle 102, the motion planner 122 uses a second grid resolution 608 having a one unit by one unit resolution. For example, the second grid resolution 608 may provide a search space resolution of 1 m by 1 m. Different resolutions may be used in other implementations of the 2D search space 600 for one or both dimensions. Figure 6 , the second grid resolution 608 is twice as coarse in both dimensions as the first grid resolution 606. In other implementations, the second grid resolution 608 can be a different factor larger than the first grid resolution 606 in one or both dimensions (e.g., four times larger in both dimensions, four times larger along the S dimension, and three times larger along the L dimension).
[0051] exist Figure 6 , the second grid resolution 608 extends to encompass the target pose 602. In other implementations, the second grid resolution 608 may extend a shorter or longer distance in one or two dimensions. The size of the second grid resolution 608 may be based on the location of the target pose 602, the reference path, or the expected distance covered by the vehicle 102 within a predetermined time period (e.g., four seconds). In other implementations, the motion planner 122 may use three or more grid resolutions, and the second grid resolution 608 may be based on the expected distance covered by the vehicle 102 within a predetermined time period (e.g., four seconds) extending beyond the first grid resolution 606.
[0052] As the vehicle 102 travels along the path 306 toward the target pose 602, the motion planner 122 iteratively runs the motion planning algorithm to update the path 306. In each iteration or cycle of running the motion planning algorithm, the position of the first grid resolution 606 moves to account for the current position of the vehicle 102 and to provide a finer resolution for updating the initial portion of the path 306. In this manner, the motion planner 122 uses a dynamic multi-resolution grid whose position moves in each cycle.
[0053] Figure 7 An example 3D search space 700 with variable grid resolution for graph-based search planning is shown. Specifically, the 3D search space 700 is used for Figure 3 Another example search space for motion planning in flowchart 300 .
[0054] 3D search space 700 adds a time (T) dimension to the station (S) and lateral (L) dimensions of 2D search space 600. As described above, the S and L space dimensions may be replaced with Cartesian or polar coordinates in a global or vehicle coordinate system.
[0055] exist Figure 7, the vehicle 102 starts at an initial position (e.g., an initial pose) and travels toward a target pose 702. In the immediate vicinity of the vehicle 102, the motion planner 122 uses a first grid resolution 704 having a quarter unit by quarter unit resolution. The units of the 3D search space 700 may be meters, miles, feet, kilometers, or similar units for the S and L dimensions and seconds for the T dimension. For example, the first grid resolution 704 may provide a search space resolution of 0.25m, 0.25m, and 0.25s for the S, L, and T dimensions, respectively. Different resolutions may be used in other implementations of the 3D search space 700 for one or more of the S, L, and T dimensions. In FIG. Figure 7 In the example of , the first grid resolution 704 extends 1.5 units in the S dimension, 1.25 units in the L dimension, and 1 unit in the T dimension. In other implementations, the first grid resolution 704 can extend a shorter or longer distance in one or more dimensions. The size of the first grid resolution 704 can be based on the expected distance covered by the vehicle 102 in a predetermined time period (e.g., one second).
[0056] Further away from the vehicle 102, the motion planner 122 uses a second grid resolution 706 having a half-unit by half-unit resolution. For example, the second grid resolution 706 may provide a search space resolution of 0.5m, 0.5m, and 0.5s in the S, L, and T dimensions, respectively. Different resolutions may be used in other implementations of the 3D search space 700 for one or more of the S, L, and T dimensions. Figure 7 , the second grid resolution 706 is twice as coarse in all three dimensions as the first grid resolution 704. In other implementations, the second grid resolution 706 can be a different factor greater than the first grid resolution 704 in one or more dimensions.
[0057] Still further away from the vehicle 102, the motion planner 122 uses a third grid resolution 708 having a one unit by one unit resolution. For example, the third grid resolution 708 may provide search space resolutions of 1 m, 1 m, and 1 s for the S, L, and T dimensions, respectively. Different resolutions may be used in other implementations of the 3D search space 700 for one or more of the S, L, and T dimensions. Figure 7 , the third grid resolution 708 is twice as coarse in all three dimensions as the second grid resolution 706. In other implementations, the third grid resolution 708 can be a different factor greater than the second grid resolution 704 in one or more dimensions.
[0058] exist Figure 7, the third grid resolution 708 extends to cover the target pose 702. In other implementations, the third grid resolution 708 can extend a shorter or longer distance in one or more dimensions. The size of the third grid resolution 708 can be based on the location of the target pose 702, the reference path, or the expected distance covered by the vehicle 102 within a predetermined time period (e.g., four seconds). In other implementations, the motion planner 122 can use fewer or more grid resolutions. In some other implementations, the T dimension (or another dimension) can have the same resolution in two or more of the first grid resolution 704, the second grid resolution 706, and the third grid resolution 708.
[0059] Figure 8-1 to Figure 8-4 An example 3D search space 800 for motion planning is shown. Specifically, Figure 8-1 810 is shown as an example 3D search space occupied by obstacles and trajectories 810. Figure 3 800 for 3D search spaces of environments and motion planning.
[0060] The 3D search space 800 adds a time (T) dimension to the traditional 2D search space for motion planning. Figure 8-1 to Figure 8-4 As shown, the 2D position search space can be represented by a station (S) dimension indicating the distance along the path and a lateral (L) dimension indicating the vertical offset from the path. Cartesian coordinates can also represent a 2D position search space with an x-axis and a y-axis perpendicular to each other in a global coordinate system or a vehicle coordinate system. Similarly, polar coordinates can be used for a 2D position search space.
[0061] exist Figure 8-1 , the 3D search space 800 includes a longitudinal S axis, a lateral L axis, and a vertical T axis. Stationary objects (e.g., parked vehicles 804) are presented as vertical lines relative to the SL plane because their positions are independent of time. If moving objects (e.g., oncoming vehicles 806 and pedestrians 802) are predicted to have uniform speeds, they can be presented as straight lines in the 3D search space 800. The slope of the line for a moving object represents its predicted speed. Trajectory 810 is shown as a B-spline curve with its 3D waypoints shown as circles.
[0062] exist Figure 8-2, a 2D SL search space 800-1 is shown. The 2D SL search space 800-1 is a projection of the 3D search space 800 onto the SL plane. The position of the parked vehicle 804 remains as a point, which appears as a rectangle due to the perspective view. In contrast, the positions of the pedestrian 802 and the oncoming vehicle 806 are presented as lines due to their predicted movement over time. The trajectory 810 indicates how the vehicle 102 deviates from the reference path 808 when turning to provide a larger offset between it and the oncoming vehicle 806 and the pedestrian 802.
[0063] exist Figure 8-3 , a 2D ST search space 800-2 is shown. The 2D ST search space 800-2 is a projection of the 3D search space 800 on the ST plane. The positions of the parked vehicles 804 are represented as vertical lines because their positions do not change over time. In contrast, the position of the pedestrian 802 is presented as a straight line with a positive slope because the pedestrian 802 is predicted to travel at a uniform speed in the same direction as the vehicle 102. When the oncoming vehicle 806 travels toward the vehicle 102 at a uniform speed and exceeds the vehicle 102, its position is presented as a line with a negative slope. Trajectory 810 indicates the S position of the vehicle 102 over time. The vehicle 102 stops briefly before passing the pedestrian 802 to allow the oncoming vehicle 806 to pass, resulting in the slope of the trajectory 810 being vertical. The instantaneous longitudinal velocity of the vehicle 102 can be determined as the inverse of the instantaneous slope at any point along the trajectory 810.
[0064] exist Figure 8-4 , a 2D LT search space 800-3 is shown. The 2D LT search space 800-3 is a projection of the 3D search space 800 onto the LT plane. The positions of the parked vehicles 804 are represented as vertical lines because their positions are predicted to be constant over time. Similarly, the position of the pedestrian 802 is presented as a vertical line because the lateral position of the pedestrian is predicted to be constant over time (e.g., the pedestrian walks on a straight line with a uniform offset from the reference path 808). Similarly, the position of the oncoming vehicle 806 is presented as a vertical line (which looks like a straight line with a small negative slope due to perspective) because the lateral position of the vehicle is predicted to be constant. Trajectory 810 indicates the L position of the vehicle 102 over time as it turns to make room for the oncoming vehicle 806 and then turns in the opposite lateral direction to pass the pedestrian 802. The instantaneous lateral velocity of the vehicle 102 can be determined as the inverse of the instantaneous slope at any point along the trajectory 810.
[0065] Figure 9-1 to Figure 9-6An example path 306 (or trajectory) of a vehicle 102 having a parking system 120 using a dynamic grid with variable resolution for graph-based search planning is shown. The path 306 is shown using a chart 900 showing snapshots of the vehicle 102 traveling in a parking environment. The chart 900 provides different snapshots of the 2D XY search space over time as the vehicle 102 travels toward a target pose 902. The position of the vehicle 102 is represented using a Y-axis (e.g., the longitudinal front of the vehicle) and an X-axis perpendicular to the Y-axis. The environment includes a plurality of stationary objects, specifically nine parked vehicles 904. The parked vehicles 904 define a drivable corridor in which the vehicle 102 can navigate objects and travel. The environment also includes moving objects, specifically pedestrians 906. Pedestrians 906 are slowly moving perpendicular to the drivable corridor and the path 306.
[0066] exist Figure 9-1 In the diagram 900-1 of FIG. 1 , the vehicle 102 begins traveling along the path 306-1 in the positive Y direction. The diagram 900-1 is taken at the beginning of the path 306-1, where T equals 0 seconds. The pedestrian 906 is walking between two parked vehicles 904 toward the drivable aisle, but is located on the left side of the drivable aisle. The path 306-1 includes an executable path 908-1 generated using a fine grid resolution. For example, the executable path 908-1 can be executed using a grid resolution of 0.5m in the X and Y dimensions and a grid resolution of 0.5 seconds in the T dimension, while the grid resolution of the remainder of the path 306-1 is executed using a grid resolution of 1.0m in the X and Y dimensions and a grid resolution of 1.0 seconds in the T dimension. In other examples, a third and coarser grid resolution can be used for the final portion of the path 306-1. Executable path 908 - 1 may represent a portion of path 306 - 1 that is executable within two seconds (or another time span), the first five meters (or another set distance) of path 306 - 1 , or ten percent (or another percentage) of path 306 - 1 .
[0067] exist Figure 9-2In Figure 900-2, where T equals 2 seconds, the vehicle 102 has executed the executable path 908-1. The pedestrian 906 is now a short distance to the left of the drivable passage. After the executable path 908-1 is completed, the parking system 120 replans the path 306 and generates an updated path 306-2. In other implementations, the parking system 120 may replan the path 306 after detecting a new object near the current path or a short time before completing the previous executable path (e.g., executable path 908-1). Because the pedestrian 906 is now close to the drivable passage, the path 306-2 moves toward the center of the drivable passage when the path 306-2 passes through the current position of the pedestrian 906. The path 306-2 includes a new executable path 908-2 that starts at the end position of the previous path 908-1 and extends along the new path 306-2. As shown in graph 900 - 2 , executable path 908 - 2 deviates from previous path 306 - 1 by navigating to set the remainder of path 306 - 2 to have a greater lateral offset from pedestrian 906 .
[0068] exist Figure 9-3 In Figure 900-3 of FIG. 1 , where T equals 6 seconds, vehicle 102 has executed executable paths 908-1 and 908-2 (and another). Pedestrian 906 is now within the drivable lane. After completing the previous executable path, parking system 120 replans path 306 and generates updated path 306-3. Because pedestrian 906 is now on the drivable lane, path 306-3 is moved further to the lateral right side of the drivable lane to pass pedestrian 906. Path 306-3 includes new executable path 908-3, which starts at the end location of the previous path and extends along new path 306-3.
[0069] exist Figure 9-4 and Figure 9-5In Figures 900-4 and 900-5 of FIG. 1 , where T is equal to 10 seconds and 12 seconds, respectively, the vehicle 102 has executed executable paths 908-1, 908-2, and 908-3 (among others). Pedestrian 906 is being positioned along paths 306-4 and 306-5, respectively. As a result, the current paths 306-4 and 306-5 require the vehicle 102 to slow down and allow pedestrian 906 to cross the drivable passage. After completing the previous executable path, the parking system 120 replans the path 306 and generates updated paths 306-4 and 306-5, as well as updated executable paths 908-4 and 908-5. Executable paths 908-4 and 908-5 start at the end position of the previous executable path and extend along the new paths 306-4 and 306-5, respectively. As shown in graphs 900 - 4 and 900 - 5 , executable paths 908 - 4 and 908 - 5 are shorter than previously executable paths because they include speed reduction to allow pedestrian 906 to pass through paths 306 - 4 and 306 - 5 .
[0070] exist Figure 9-6 In Figure 900-6 of FIG. 1 , where T equals 16 seconds, the vehicle 102 has executed executable paths 908-1 to 908-5 (and others). Pedestrian 906 has now crossed the drivable lane and the vehicle 102 has previously traveled past the Y position of pedestrian 906. After completing the previous executable path, the parking system 120 replans the path 306 and generates an updated path 306-6. Path 306-6 includes a new executable path 908-6 that begins at the end position of the previous path 908-3 and extends along the new path 306-3. The parking system has the last path 306 to plan in order to reach the target pose 902. After reaching the target pose 902, the vehicle 102 can initiate a parking maneuver to park in the selected parking space. As another example, the vehicle 102 can leave the parking environment to begin traveling on the road. Example Method
[0071] Fig.10 An example method 1000 of a parking system using a variable grid resolution for graph-based motion planning is shown. The method 1000 is shown as operations (or actions) being performed, but is not necessarily limited to the order or combination of operations shown herein. In addition, any one or more operations may be repeated, combined, or reorganized to provide other methods. In the following discussion, reference may be made to Figure 1 Environment 100 and Figures 1 to 9-6 The entities detailed in the foregoing are referenced for purposes of example only. The technology is not limited to being performed by one entity or multiple entities.
[0072] At step 1002, the initial pose and target pose of the host vehicle are obtained. For example, the motion planner 122 can obtain the initial pose of the vehicle 102 from the vehicle state estimator. The initial pose can be determined using position data. The initial pose can represent the source node used in the motion planning algorithm or the algorithm based on the graph search. The motion planner 122 can obtain the target pose from the parking space selector 212 or the global planner 214. The target pose can represent the target node used in the motion planning algorithm or the algorithm based on the graph search, and can indicate the position close to the selected parking space, the position along the road in the environment, or the exit of the environment. The target pose can be determined using position data, map data, or other sensor data (e.g., data from a camera system, a radar system, a lidar system, or an ultrasonic sensor system).
[0073] At step 1004, an obstacle map of the environment including an initial pose and a target pose is obtained. For example, the motion planner 122 may obtain the obstacle map from a perception system. The obstacle map may be a radar occupancy grid map of the environment 100 or an occupancy grid map centered on a radar. Obstacles in the obstacle map may be represented by bounding boxes, circles, occupancy grids or grid cells, free space polygons, or any combination thereof. The motion planner 122 may also obtain a reference path.
[0074] At step 1006, a path (or trajectory) is determined by a motion planning algorithm using the obstacle map and two or more grid resolutions for a graph-based search. The path or trajectory includes a series of 2D or 3D waypoints, respectively, including 2D position coordinates and time coordinates (if 3D waypoints are provided) for navigating the host vehicle from an initial posture to a target posture. For example, the motion planner 122 initially runs a motion planning algorithm by searching in a 2D or 3D search space with a space or time-space artificial potential field using two or more grid resolutions, respectively, to obtain a series of 2D or 3D waypoints including 2D position coordinates (e.g., S and L coordinates) and time coordinates (if 3D waypoints are provided) (e.g., T coordinates) for navigating the vehicle 102 from an initial posture to a target posture.
[0075] The graph-based search may be performed in a two-dimensional search space that includes a longitudinal dimension (e.g., along the S axis) and a lateral dimension perpendicular to the longitudinal dimension (e.g., along the L axis). The plurality of grid resolutions include a first grid resolution and a second grid resolution along each of the longitudinal dimension and the lateral dimension, wherein the first grid resolution is smaller (or finer) than the second grid resolution. The motion planning algorithm uses the first grid resolution for an area of the 2D search space that is closest to the vehicle 102. For example, the first grid resolution may include an environment at a set distance or set travel time from a source node. Generally speaking, the second grid resolution along each of the longitudinal dimension and the lateral dimension is at least twice as large as the first grid resolution.
[0076] In other implementations, the graph-based search can be performed in a 3D search space including a longitudinal dimension, a lateral dimension, and a time dimension. The multiple grid resolutions include a first grid resolution and a second grid resolution along each of the longitudinal dimension, the lateral dimension, and the time dimension, wherein the first grid resolution is less than the second grid resolution. The parking algorithm uses the first grid resolution for an area of the 3D search space closest to the vehicle 102. For example, the first grid resolution may include an environment with a set distance or a set travel time from a source node. Generally speaking, the second grid resolution along each of the longitudinal dimension, the lateral dimension, and the time dimension is at least twice as large as the first grid resolution.
[0077] The graph-based search may also use three or more grid resolutions, wherein a first grid resolution, a second grid resolution, and a third grid resolution are along each of at least two of a longitudinal dimension, a transverse dimension, and a time dimension. The first grid resolution has a smaller resolution than the second grid resolution, and the second grid resolution has a smaller resolution than the third grid resolution. The first grid resolution may be adjacent to an initial pose, and the third grid resolution is adjacent to a target pose. In a 2D or 3D search space, the second grid resolution is between the first grid resolution and the third grid resolution.
[0078] The motion planner 122 may use various motion planning algorithms that implement graph search-based algorithms. For example, the motion planning algorithm may be a variant of a hybrid A*, A*, or Dijkstra algorithm for finding the best path from an initial pose to a target pose using nonholonomic constraints on the movement of the vehicle 102.
[0079] The motion planning or graph search-based algorithm uses a spatial (for a 2D search space) or a temporal-space (for a 3D search space) artificial potential field to plan a path 306 that avoids collisions with stationary objects 112 and moving objects 114 in the environment 100. The artificial potential field includes a repulsive potential field and an attractive potential field. The corresponding repulsive potential field is a function of the distance between the vehicle 102 and the corresponding stationary object 112 or the corresponding moving object 114 (e.g., a linear, inverse, quadratic, or exponential relationship). The attractive potential field may include a target potential field, which is a function of the distance between the vehicle 102 and the target pose (e.g., a linear, inverse, quadratic, or exponential relationship). The attractive potential field may also include a reference path potential field, which is a function of the lateral distance or absolute distance between the vehicle 102 and the reference path (e.g., a linear, inverse, quadratic, or exponential relationship), where the lateral distance is perpendicular to the reference path.
[0080] The motion planning or graph search based algorithm may also consider or include a speed penalty to penalize speeds in the path 306 or trajectory that deviate from a reference speed or speed range, exceed a maximum speed threshold, or are less than a minimum speed threshold. Similarly, a steering penalty may be used to penalize positions in the path 306 or trajectory that require a steering angle that exceeds a steering angle threshold. Trajectory optimization may also be performed on a series of 2D or 3D waypoints to smooth position and speed together and reduce curvature, acceleration, or jerkiness.
[0081] At step 1008, the operation of the host vehicle is controlled using the assisted driving system or the autonomous driving system to maneuver along the path to or toward the target pose. For example, the motion planner 122 can output the path 306 to the autonomous driving system 220. The autonomous driving system 220 can then be used to control the vehicle 102 to navigate along the path 306 or trajectory.
[0082] The motion planner 122 may also perform horizon planning to identify or select a first waypoint of the path 306. The first waypoint includes a subset of 2D or 3D waypoints for the vehicle 102 to navigate from an initial pose to a target pose. The subset of waypoints may include position coordinates and time coordinates for a predetermined operation time (e.g., two seconds) or a predetermined distance (e.g., five meters) of the vehicle 102 along the path 306. In response to the autonomous driving system 220 completing the operation of the vehicle 102 along the first waypoint, the motion planner 122 may identify an intermediate pose at the end of the first waypoint from the subset of position coordinates. Then, the motion planning algorithm is used with two or more grid resolutions to determine another series of waypoints for navigating the vehicle 102 from the intermediate pose to the target pose of the updated path 306. In the updated graph-based search, at least the first grid resolution is moved in space (and time) to determine a finer set of position (and time) coordinates for the initial portion of the updated path 306. Autonomous driving system 220 may then control operation of vehicle 102 to maneuver from the intermediate pose toward the target pose along another (or updated) series of waypoints toward the target pose. Additional Examples
[0083] In the following sections, examples are provided.
[0084] Example 1. A method comprising: obtaining an initial posture and a target posture of a host vehicle; obtaining an obstacle map of an environment including the initial posture and the target posture; using the obstacle map and two or more grid resolutions used by a motion planning algorithm for a graph-based search to determine a path, the path comprising a series of waypoints, the series of waypoints comprising two-dimensional (2D) position coordinates of the host vehicle for navigating the host vehicle from the initial posture to the target posture; and controlling the operation of the host vehicle using an assisted driving system or an autonomous driving system to operate along the path toward the target posture.
[0085] Example 2. The method of Example 1, wherein: a graph-based search is performed in a two-dimensional search space including a longitudinal dimension and a lateral dimension perpendicular to the longitudinal dimension; and two or more grid resolutions include a first grid resolution and a second grid resolution along each of the longitudinal dimension and the lateral dimension, the first grid resolution being smaller than the second grid resolution, and the first grid resolution being adjacent to the initial posture.
[0086] Example 3. The method of Example 2, wherein: the second grid resolution along each of the longitudinal dimension and the lateral dimension is at least twice as large as the first grid resolution.
[0087] Example 4. A method of any of the previous examples, wherein: a graph-based search is performed in a three-dimensional search space comprising a longitudinal dimension, a lateral dimension perpendicular to the longitudinal dimension, and a time dimension; the two or more grid resolutions include a first grid resolution and a second grid resolution along each of the longitudinal dimension and the lateral dimension, and the time dimension, the first grid resolution being smaller than the second grid resolution, the first grid resolution being adjacent to the initial posture; and the waypoint further comprises a time coordinate of the host vehicle.
[0088] Example 5. The method of Example 4, wherein: the second grid resolution along each of the longitudinal dimension, the lateral dimension, and the temporal dimension is at least twice as large as the first grid resolution.
[0089] Example 6. A method of any of the previous examples, wherein: a graph-based search for a path is performed using three grid resolutions; the three grid resolutions include a first grid resolution, a second grid resolution, and a third grid resolution along each of at least two of a longitudinal dimension, a lateral dimension perpendicular to the longitudinal dimension, and a time dimension, the first grid resolution being smaller than the second grid resolution, the second grid resolution being smaller than the third grid resolution; and the first grid resolution is adjacent to an initial pose, the third grid resolution is adjacent to a target pose, and the second grid resolution is between the first grid resolution and the third grid resolution.
[0090] Example 7. A method of any of the previous examples, wherein the method further includes: selecting a first waypoint of a path, the first waypoint comprising a subset of a series of waypoints for navigating the main vehicle from an initial posture to a target posture; in response to the assisted driving or autonomous driving system completing the operation of the main vehicle along the first waypoint, identifying an intermediate posture located at a position end of the first waypoint from the first waypoint; using two or more grid resolutions used by the motion planning algorithm for graph-based search to determine a second waypoint of the path for navigating the main vehicle from the intermediate posture to the target posture; and controlling the operation of the main vehicle along the second waypoint toward the target posture using the assisted driving system or the autonomous driving system.
[0091] Example 8. The method of Example 7, wherein the subset of the series of waypoints includes position coordinates of a predetermined time of operation of the host vehicle along the route.
[0092] Example 9. The method of any of the previous examples, wherein: the environment includes one or more stationary objects or one or more moving objects; and the series of waypoints avoids collision between the host vehicle and the one or more stationary objects or the one or more moving objects.
[0093] Example 10. The method of Example 9, wherein: the motion planning algorithm includes a graph search-based algorithm; the graph search-based algorithm uses a spatial or space-time artificial potential field for each of one or more stationary objects and one or more moving objects to avoid collision with one or more stationary objects or one or more moving objects in the environment; and the artificial potential field includes a repulsive potential field and at least one attractive potential field, the corresponding repulsive potential field is a function of the distance between the main vehicle and the corresponding stationary object or the corresponding moving object, and the at least one attractive potential field includes a target potential field, which is a function of the distance between the main vehicle and the target posture.
[0094] Example 11. The method of Example 10, wherein the at least one attractive potential field further comprises a reference path potential field, the reference path potential field being a function of a lateral distance between the host vehicle and the reference path, the lateral distance being perpendicular to the reference path.
[0095] Example 12. The method of Example 10 or Example 11, wherein the graph search based algorithm comprises a hybrid A-star (A*), A*, Dijkstra algorithm variant for finding an optimal path from an initial pose to a target pose.
[0096] Example 13. A method of any of the previous examples, wherein: the target pose includes a selected parking space, a location near the selected parking space, a location along a road in the environment, or an exit from the environment; the initial pose is generated by a vehicle state estimator using position data; the target pose is generated by a parking space selector using position data and other sensor data or map data; and the other sensor data includes data from at least one of a camera system, a radar system, a lidar system, or an ultrasonic sensor system.
[0097] Example 14. A system comprising one or more processors configured to perform the method of any one of Examples 1 to 13.
[0098] Example 15. A computer-readable storage medium comprising computer-executable instructions which, when executed, cause a processor to perform the method of any one of Examples 1 to 13. Conclusion
[0099] Although various embodiments of the present disclosure are described in the foregoing description and shown in the accompanying drawings, it should be understood that the present disclosure is not limited thereto, but can be implemented in various ways within the scope of the following claims. From the foregoing description, it will be apparent that various changes can be made without departing from the scope of the present disclosure defined by the following claims.
Claims
1. A method, comprising: Obtaining the initial attitude and target attitude of the main vehicle; Obtaining an obstacle map of the environment including the initial posture and the target posture; determining a path using the obstacle map and two or more grid resolutions used by a motion planning algorithm for a graph-based search, the path comprising a series of waypoints including two-dimensional (2D) position coordinates of the host vehicle for navigating the host vehicle from the initial pose to the target pose; as well as Operation of the host vehicle is controlled using an assisted driving system or an autonomous driving system to maneuver along the path toward the target pose.
2. The method according to claim 1, characterized in that: The graph-based search is performed in a two-dimensional search space including a longitudinal dimension and a lateral dimension perpendicular to the longitudinal dimension; and The two or more grid resolutions include a first grid resolution and a second grid resolution along each of the longitudinal dimension and the lateral dimension, the first grid resolution being smaller than the second grid resolution, the first grid resolution being adjacent to the initial pose.
3. The method according to claim 2, characterized in that: The second grid resolution along each of the longitudinal dimension and the transverse dimension is at least twice as large as the first grid resolution.
4. The method according to claim 1, characterized in that: The graph-based search is performed in a three-dimensional search space including a longitudinal dimension, a lateral dimension perpendicular to the longitudinal dimension, and a time dimension; The two or more grid resolutions include a first grid resolution and a second grid resolution along each of the longitudinal dimension, the lateral dimension, and the time dimension, the first grid resolution being smaller than the second grid resolution, the first grid resolution being adjacent to the initial pose; and The waypoint further includes a time coordinate of the host vehicle.
5. The method according to claim 4, characterized in that: The second grid resolution along each of the longitudinal dimension, the lateral dimension, and the temporal dimension is at least twice as large as the first grid resolution.
6. The method according to claim 1, characterized in that: The graph-based search for the path is performed using three grid resolutions; The three grid resolutions include a first grid resolution, a second grid resolution, and a third grid resolution along each of at least two of a longitudinal dimension, a lateral dimension perpendicular to the longitudinal dimension, and a time dimension, the first grid resolution being smaller than the second grid resolution, and the second grid resolution being smaller than the third grid resolution; and The first grid resolution is adjacent to an initial pose, the third grid resolution is adjacent to the target pose, and the second grid resolution is between the first grid resolution and the third grid resolution.
7. The method according to claim 1, characterized in that The method further comprises: selecting a first waypoint of the path, the first waypoint comprising a subset of the series of waypoints for navigating the host vehicle from the initial attitude to the target attitude; in response to the assisted driving or the autonomous driving system completing the operation of the host vehicle along the first waypoint, identifying from the first waypoint an intermediate pose at a position end of the first waypoint; determining a second waypoint of the path for navigating the host vehicle from an intermediate pose to a target pose using the two or more grid resolutions used by the motion planning algorithm for the graph-based search; and Operation of the host vehicle is controlled using the assisted driving system or the autonomous driving system to maneuver along the second waypoint toward the target attitude.
8. The method according to claim 7, characterized in that The subset of the series of waypoints includes position coordinates of the host vehicle at a predetermined time of operation along the path.
9. The method according to claim 1, characterized in that: The environment includes one or more stationary objects or one or more moving objects; and The series of waypoints avoids collision between the host vehicle and the one or more stationary objects or the one or more moving objects.
10. The method according to claim 9, characterized in that: The motion planning algorithm includes an algorithm based on graph search; The graph search-based algorithm uses a spatial or space-time artificial potential field for each of the one or more stationary objects and the one or more moving objects to avoid collision with the one or more stationary objects or the one or more moving objects in the environment; and The artificial potential field includes a repulsive potential field and at least one attractive potential field, the corresponding repulsive potential field is a function of the distance between the host vehicle and the corresponding stationary object or the corresponding moving object, and the at least one attractive potential field includes a target potential field, and the target potential field is a function of the distance between the host vehicle and the target posture.
11. The method according to claim 10, characterized in that The at least one attractive potential field further includes a reference path potential field that is a function of a lateral distance between the host vehicle and a reference path, the lateral distance being perpendicular to the reference path.
12. The method according to claim 10, characterized in that The graph search based algorithms include a hybrid A*, A*, Dijkstra algorithm variant for finding the best path from an initial pose to a target pose.
13. The method of claim 1, wherein: The target pose includes a selected parking space, a location proximate to the selected parking space, a location along a road in the environment, or an exit of the environment; The initial pose is generated by a vehicle state estimator using position data; The target pose is generated by a parking space selector using the position data and other sensor data or map data; and The other sensor data includes data from at least one of a camera system, a radar system, a lidar system, or an ultrasonic sensor system.
14. A system comprising one or more processors, the one or more processors being configured to: Obtaining the initial attitude and target attitude of the main vehicle; Obtaining an obstacle map of the environment including the initial posture and the target posture; determining a path using the obstacle map and two or more grid resolutions used by a motion planning algorithm for a graph-based search, the path comprising a series of waypoints including two-dimensional (2D) position coordinates of the host vehicle to navigate the host vehicle from the initial pose to the target pose; as well as Operation of the host vehicle is controlled using an assisted driving system or an autonomous driving system to maneuver along the path toward the target pose.
15. The system of claim 14, wherein: The graph-based search is performed in a two-dimensional search space including a longitudinal dimension and a lateral dimension perpendicular to the longitudinal dimension; and The two or more grid resolutions include a first grid resolution and a second grid resolution along each of the longitudinal dimension and the lateral dimension, the first grid resolution being smaller than the second grid resolution, the first grid resolution being adjacent to the initial pose.
16. The system of claim 14, wherein: The graph-based search is performed in a three-dimensional search space including a longitudinal dimension, a lateral dimension perpendicular to the longitudinal dimension, and a time dimension; The two or more grid resolutions include a first grid resolution and a second grid resolution along each of the longitudinal dimension, the lateral dimension, and the time dimension, the first grid resolution being smaller than the second grid resolution, the first grid resolution being adjacent to the initial pose; and The waypoint further includes a time coordinate of the host vehicle.
17. The system of claim 14, wherein: The graph-based search of the path is performed using three grid resolutions; The three grid resolutions include a first grid resolution, a second grid resolution, and a third grid resolution along each of at least two of a longitudinal dimension, a lateral dimension perpendicular to the longitudinal dimension, and a time dimension, the first grid resolution being smaller than the second grid resolution, and the second grid resolution being smaller than the third grid resolution; and The first grid resolution is adjacent to the initial pose, the third grid resolution is adjacent to the target pose, and the second grid resolution is between the first grid resolution and the third grid resolution.
18. The system of claim 14, wherein: The one or more processors are further configured to: selecting a first waypoint of the path, the first waypoint comprising a subset of the series of waypoints for navigating the host vehicle from the initial attitude to the target attitude; in response to the assisted driving system or the autonomous driving system completing the operation of the host vehicle along the first waypoint, identifying from the first waypoint an intermediate pose at a position end of the first waypoint; determining a second waypoint of the path for navigating the host vehicle from the intermediate pose to the target pose using the two or more grid resolutions used by the motion planning algorithm for the graph-based search; as well as Operation of the host vehicle is controlled using the assisted driving system or the autonomous driving system to maneuver along the second waypoint toward the target attitude.
19. The system of claim 18, wherein: The subset of the series of waypoints includes position coordinates of the host vehicle at a predetermined time of operation along the path.
20. A computer-readable storage medium comprising computer-executable instructions which, when executed, cause a processor to: Obtaining the initial attitude and target attitude of the main vehicle; Obtaining an obstacle map of the environment including the initial posture and the target posture; determining a path using the obstacle map and two or more grid resolutions used by a motion planning algorithm for a graph-based search, the path comprising a series of waypoints comprising two-dimensional (2D) position coordinates of a host vehicle to navigate the host vehicle from the initial pose to the target pose; as well as Operation of the host vehicle is controlled using an assisted driving system or an autonomous driving system to maneuver along the path toward the target pose.