Apollo: Adaptive Polar Lattice-Based Local Obstacle Avoidance and Motion Planning for Automated Vehicles

The motion planning module is the core module of the automated vehicle software system, which plays a key role in connecting its preceding element, i.e., the sensing module, and its following element, i.e., the control module. The design of an adaptive polar lattice-based local obstacle avoidance (APOLLO) algorithm proposed in this paper takes full account of the characteristics of the vehicle’s sensing and control systems. The core of our approach mainly consists of three phases, i.e., the adaptive polar lattice-based local search space design, the collision-free path generation and the path smoothing. By adjusting a few parameters, the algorithm can be adapted to different driving environments and different kinds of vehicle chassis. Simulations show that the proposed method owns strong environmental adaptability and low computation complexity.


Introduction
The paper aims to give an efficient local motion planning method for automated driving in complex environments.The planning module, which links the system perception module and the control module, plays a special and momentous role in the automated driving system.It needs to reasonably organize and formulate the sensing, positioning and routing information while considering the status of the vehicle.An eximious motion planner of an automated vehicle needs to consider the safety, feasibility, efficiency, environmental adaptability and real-time performance of the algorithm, especially in dynamic driving scenarios with humans.

Related Work
A hierarchical framework is typically adopted, in which the motion planning task is decomposed into the global path planning and the local path planning problems.The global path planning or deliberative path planning is typically map-based and often computed offline, while the local path planning or reactive planning is sensor-based and conducted online.Global planning algorithms for completely known topological or occupancy grid maps, such as A*, D*, jump point search (JPS), probabilistic roadmap (PRM), rapidly exploring random tree (RRT), Voronoi graph and their variants [1][2][3][4][5], are well studied.In practice, global path planning is often problematic due to the inaccuracy or unavailability of the global world model.The local path planning method is mainly used for real-time collision avoidance and global path tracking in unknown or semi-unknown environments via the onboard sensing information.Many local path planning algorithms are prone to falling into local minima or exhibiting oscillating behaviors.This paper proposes an adaptive polar lattice-based local obstacle avoidance and motion planning method (APOLLO) which is effective and computationally efficient in dynamic driving scenarios with humans.Without loss of generality, the vehicle's sensing area is assumed to be fan-shaped.APOLLO is conducted on the scalable polar grids around the vehicle with elaborately designed probabilistic representations.A coarse collision-free path can then be generated by connecting grid nodes according to some optimization criteria.An efficient strategy is also proposed to adjust the selected path to a kinodynamic, plausible smooth trajectory.A local planner should track the global path while avoiding dynamic obstacles as well as taking into consideration the vehicle constraints.Several methods have been successfully used in some distinct driving scenarios, such as potential field methods [6], the dynamic windows approach (DWA) [7], the time-elastic band (TEB) [8-10], a state lattice [11][12][13], a numerical optimization approach [14][15][16][17], machine learning methods [18,19], etc. Paths planned by the potential field methods are generally smooth and safe, but methods of this kind have the problem of local optima, and it is difficult for the vehicle to approach the target point by using such methods when there are obstacles near the target point.The DWA algorithm consists of three main processes, i.e., the velocity sampling, the obstacle detection and the trajectory evaluation.This algorithm selects the path with the highest score and sends the associated speed to the vehicle, and it is also susceptible to local minima [20].The TEB algorithm is formulated as a multi-objective nonlinear optimization problem with the initial trajectory generated by a global path planner, which can take into consideration the geometric and kinematic/dynamic constraints of the vehicle.Thanks to efficient optimization techniques, such as the "g2o" framework, the TEB algorithm can be implemented robustly and efficiently in a simple environment with relatively inexpensive hardware.However, this kind of algorithm may let the vehicle wander around the channel entrance when facing a narrow channel environment (Figure 1a).State lattice approaches, such as FALCO [11] (Figure 1b), which are based on pre-computed motion primitives and online path selection, can effectively reduce the computational complexity while needing relatively larger storage spaces, and they may produce oscillatory behavior in front of long obstructions.The receding horizon optimization (RHO) and model predictive control (MPC) methods transform the local trajectory generation problem into the numerical optimization problem, which can easily take into account the environment and vehicle constraints in the model and keep the ride smooth [21].However, this kind of approach requires a deliberate balance between the model complexity and the computational complexity.
method (APOLLO) which is effective and computationally efficient in dynamic driving scenarios with humans.Without loss of generality, the vehicle's sensing area is assumed to be fan-shaped.APOLLO is conducted on the scalable polar grids around the vehicle with elaborately designed probabilistic representations.A coarse collision-free path can then be generated by connecting grid nodes according to some optimization criteria.An efficient strategy is also proposed to adjust the selected path to a kinodynamic, plausible smooth trajectory.A local planner should track the global path while avoiding dynamic obstacles as well as taking into consideration the vehicle constraints.Several methods have been successfully used in some distinct driving scenarios, such as potential field methods [6], the dynamic windows approach (DWA) [7], the time-elastic band (TEB) [8-10], a state lattice [11][12][13], a numerical optimization approach [14][15][16][17], machine learning methods [18,19], etc. Paths planned by the potential field methods are generally smooth and safe, but methods of this kind have the problem of local optima, and it is difficult for the vehicle to approach the target point by using such methods when there are obstacles near the target point.The DWA algorithm consists of three main processes, i.e., the velocity sampling, the obstacle detection and the trajectory evaluation.This algorithm selects the path with the highest score and sends the associated speed to the vehicle, and it is also susceptible to local minima [20].The TEB algorithm is formulated as a multi-objective nonlinear optimization problem with the initial trajectory generated by a global path planner, which can take into consideration the geometric and kinematic/dynamic constraints of the vehicle.Thanks to efficient optimization techniques, such as the "g2o" framework, the TEB algorithm can be implemented robustly and efficiently in a simple environment with relatively inexpensive hardware.However, this kind of algorithm may let the vehicle wander around the channel entrance when facing a narrow channel environment (Figure 1a).State lattice approaches, such as FALCO [11] (Figure 1b), which are based on precomputed motion primitives and online path selection, can effectively reduce the computational complexity while needing relatively larger storage spaces, and they may produce oscillatory behavior in front of long obstructions.The receding horizon optimization (RHO) and model predictive control (MPC) methods transform the local trajectory generation problem into the numerical optimization problem, which can easily take into account the environment and vehicle constraints in the model and keep the ride smooth [21].However, this kind of approach requires a deliberate balance between the model complexity and the computational complexity.

Contribution
A probability-based method to construct an adaptive local polar lattice search space with obstacles is proposed.Unlike an equidistant lattice, the proposed adaptive polar lattice based on sensor field of view (FOV) is closer to human search habits.The concise collision-free path generation and smoothing method has high computational efficiency.

Contribution
A probability-based method to construct an adaptive local polar lattice search space with obstacles is proposed.Unlike an equidistant lattice, the proposed adaptive polar lattice based on sensor field of view (FOV) is closer to human search habits.The concise collisionfree path generation and smoothing method has high computational efficiency.Compared with some state-of-the-art methods, the proposed obstacle avoidance and motion planning method shows stronger environmental adaptability and is effective in dynamic driving scenarios.

Local Search Space Design
An occupancy grid map is one of the most commonly used scene representation methods for automated vehicles.According to the size of the 2D grids, it can be divided into uniform grids, non-uniform grids and adaptive size grids.In practical applications, adjusting the local resolution of the grids adaptively according to the complexity of the environment and driving speed of the vehicle will be very helpful for motion planning.Despite the computational advantages, the variable-size grids can implicitly take the uncertainty of local sensing information into account.Apart from Cartesian occupancy grid maps, polar coordinate-based grid maps are also used especially in outdoor environments, having the advantages of easy adjusting of the angular resolution and integration of obstacles perceived by sensors, such as cameras and lidars [22].

Adaptive Polar Lattice
As shown in Figure 2, the angle range β and radius L of the automated vehicle M are set adaptively according to the sensor horizontal FOV, the sensing range and the environment.Rays are built to divide the circumferential local search space, and the circular arcs with the automated vehicle as the center divide the radial direction of the space.The rays and circular arcs divide the local search area into m × n polar lattices with different sizes, where m denotes the amount of radial dispersion and n the amount of angle dispersion.Each polar lattice in Figure 2 can be assigned a probability.The magnitude of each grid's probability value depends on the likelihood of the vehicle traversing that grid.Then, the overall probability distribution of all the polar lattices can be stored in an m × n matrix,  can reduce the computational complexity of the motion planning algorithm while ensuring the safety of the vehicle.We do not claim that an arithmetic progression or a geometric progression is the best choice for r  .It needs to be determined according to the actual driving condi- tions.

Local Probability Distribution
An automated vehicle with nonholonomic constraints cannot move laterally.In order to make the vehicle ride smoother and reduce frequent turns, the probability should be set higher in the vehicle's heading direction.As show in Figure 3, for a given initial state 0 x , the vehicle can take different paths to the sensor frontier F. The 2D path first splits in 37 directions, and each path splits in another 12 directions.For each path generated as a cubic spline curve, the resulting paths group is symmetric.As the end points of the local search space are reachable, the probabilities at the edge of the search area should be approximately consistent.
Based on the above considerations, the initial probability distribution function of the local search space without obstacles and with a goal point is designed as (3), which is similar to a two-dimensional Gaussian distribution.

( ) (
) ( ) where Suppose the size of the angle and radial interval, i.e., δ a , δ r , are constant, and the probability of any point (x k , y k ) in the local search space is assigned to be ω ij .Here, the grid index i, j corresponding to the point (x k , y k ) can be calculated by Equations ( 1) and ( 2), when δ a , δ r are constant.
Here, • means rounding down.In real applications, δ a , δ r are tuned adaptively according to the geometric and physical parameters of the vehicle and the complexity of its working environment.Without a loss of generality, δ a is set to be constant in the following discussion for simplicity.Considering that the motion planning of a vehicle should be more conscientious for the area closer to itself than the area far away, δ r can be set as an arithmetic progression, a geometric progression or a logarithmic function.Similar to (1) and ( 2), the index i, j of any point in the search area can also be easily calculated for the case that δ r is an arithmetic or geometric progression.A hash table is used to store the mapping between each point's coordinates and the corresponding index of Ω.The complexity of the indexing time is O(1) (see Figure 2).Compared with the equidistant grid, the proper selection of the form and value of δ a , δ r can reduce the computational complexity of the motion planning algorithm while ensuring the safety of the vehicle.We do not claim that an arithmetic progression or a geometric progression is the best choice for δ r .It needs to be determined according to the actual driving conditions.

Local Probability Distribution
An automated vehicle with nonholonomic constraints cannot move laterally.In order to make the vehicle ride smoother and reduce frequent turns, the probability should be set higher in the vehicle's heading direction.As show in Figure 3, for a given initial state x 0 , the vehicle can take different paths to the sensor frontier F. The 2D path first splits in 37 directions, and each path splits in another 12 directions.For each path generated as a cubic spline curve, the resulting paths group is symmetric.As the end points of the local search space are reachable, the probabilities at the edge of the search area should be approximately consistent.In order to make the vehicle move towards the target point, it is necessary to set high probabilities along the direction of the target point.As shown in Figure 5, we denote the distance and azimuth of the target point to be * r and * a , respectively.Based on the above considerations, the initial probability distribution function of the local search space without obstacles and with a goal point is designed as (3), which is similar to a two-dimensional Gaussian distribution. where Here, r represents the distance between the point in the search range and the vehicle, and a represents the polar angle of the proposed point in the vehicle's coordinate system.µ is the expectation of r and a. Σ represents the covariance matrix.η and ρ are constants.Figure 4 illustrates the initial probability distribution of a 180 • fan search space.
In order to make the vehicle move towards the target point, it is necessary to set high probabilities along the direction of the target point.As shown in Figure 5, we denote the distance and azimuth of the target point to be r * and a * , respectively.
Then, the probability distribution between the vehicle and target point is set as: Sensors 2023, 23, 1813 5 of 14 where r ∈ [0, r * ] and a ∈ [a * − ∆a, a * + ∆a].For a distinct distance r from the original point, Formula (4) degenerates to a Gaussian distribution with respect to the angle a.Here, a * and σ are respectively the mean and variance of the proposed Gaussian distribution.ζ is a constant, and ∆a is an adjustable parameter.In order to make the vehicle move towards the target point, it is necessary to set high probabilities along the direction of the target point.As shown in Figure 5, we denote the distance and azimuth of the target point to be * r and * a , respectively.Then, the probability distribution between the vehicle and target point is set as:   In order to make the vehicle move towards the target point, it is necessary to set high probabilities along the direction of the target point.As shown in Figure 5, we denote the distance and azimuth of the target point to be * r and * a , respectively.Then, the probability distribution between the vehicle and target point is set as:

Obstacle Avoidance
It is always expected that the planned path of the vehicle will be as far away from obstacles as possible, so as to ensure safety.However, a too-conservative path planning strategy will inevitably reduce the planning efficiency and increase the length of the resulting path.As shown in Figure 6, the vicinity region of the obstacle point cloud p = (x k , y k ), k = 1, 2, • • • , is divided into two areas, i.e., the strictly prohibited area and the expansion area.Here, r 0 denotes the strictly prohibited region, which is related to the shape and size of the vehicle.

Obstacle Avoidance
It is always expected that the planned path of the vehicle will be as far away from obstacles as possible, so as to ensure safety.However, a too-conservative path planning strategy will inevitably reduce the planning efficiency and increase the length of the resulting path.As shown in Figure 6, the vicinity region of the obstacle point cloud ( ) , is divided into two areas, i.e., the strictly prohibited area and the expansion area.Here, 0 r denotes the strictly prohibited region, which is related to the shape and size of the vehicle.  illustrates the probability distribution of the local search space with two static obstacles at coordinates (−1.0, 1.5) and (0.0, 0.7).The probability distribution around the obstacles is updated according to the following piecewise function: Here, p 0 represents the coordinates of the obstacle point cloud.r s denotes the radius of the expanded obstacle point cloud, and γ, ε are adjustable parameters.  illustrates the probability distribution of the local search space with two static obstacles at coordinates (−1.0, 1.5) and (0.0, 0.7).

Collision-Free Path Generation
Based on the above local search space design, the problem of collision-free path planning can be transformed into the problem of node selection, i.e., the nodes are selected and connected one by one along the arcs that gradually expand from near to far in the search area and in the meantime ensure that the connecting lines do not intersect with obstacles (see Figure 8).

Collision-Free Path Generation
Based on the above local search space design, the problem of collision-free path planning can be transformed into the problem of node selection, i.e., the nodes are selected and connected one by one along the arcs that gradually expand from near to far in the search area and in the meantime ensure that the connecting lines do not intersect with obstacles (see Figure 8).As shown in Figure 9, the azimuth angle of the goal point in the sector search area is first calculated.For a goal point inside the local search space, the node closest to the goal is chosen as the target.For the case that the goal point is outside the local search space, the center point of the vehicle is connected to the goal point, and the intersection point with the boundary of the search area is denoted as E. If E is collision-free, then its closest node is selected as the temporary target point.Otherwise, the nodes around E are selected as potential targets.The path weight of the vehicle to each potential target is calculated, and the path with the largest value is selected.As shown in Figure 9, the azimuth angle of the goal point in the sector search area is first calculated.For a goal point inside the local search space, the node closest to the goal is chosen as the target.For the case that the goal point is outside the local search space, the center point of the vehicle is connected to the goal point, and the intersection point with the boundary of the search area is denoted as E. If E is collision-free, then its closest node is selected as the temporary target point.Otherwise, the nodes around E are selected as potential targets.The path weight of the vehicle to each potential target is calculated, and the path with the largest value is selected.
first calculated.For a goal point inside the local search space, the node closest to the goal is chosen as the target.For the case that the goal point is outside the local search space, the center point of the vehicle is connected to the goal point, and the intersection point with the boundary of the search area is denoted as E. If E is collision-free, then its closest node is selected as the temporary target point.Otherwise, the nodes around E are selected as potential targets.The path weight of the vehicle to each potential target is calculated, and the path with the largest value is selected.The specific path generation procedures are given in Algorithm 1.
select the node E ∈ S closest to the goal and calculate its corresponding index (i, j) in matrix Ω 3.

Path Smoothing
In order to make the tracking process of the vehicle smoother and more stable, it is necessary to convert the polyline into a kinodynamic-friendly trajectory, especially at sharp turning points.The path transferring process should also be collision-free and can be adjusted automatically according to the speed of the vehicle.

Fast Point Sequence Generation
As shown in Figure 10, the unit heading vector of the vehicle at the position A i is denoted by v i , i = 0, 1, • • • .Point B i is on the vehicle's current heading vector, and the distance between A i and B i is set to be l i .With B i as the center point, find point C i on the polyline path so that B i C i = κ i .Find point A i+1 on vector B i C i so that B i A i+1 = l i .Denote as v i+1 the vector starting from A i+1 and going in the direction of the extension line A i A i+1 (see the green vector in Figure 10).The above process is repeated until the vehicle reaches the vicinity of the target point, and the point sequence A i , i = 0, 1, • • • generated in the process is smooth.
on the polyline path so that  AA + (see the green vector in Figure 10).The above process is re- peated until the vehicle reaches the vicinity of the target point, and the point sequence 01 , , , i Ai= generated in the process is smooth.The point sequence can be kept collision-free by adjusting the parameters ,, ll   .
Algorithm 2 gives the specific path smoothing procedures.The point sequence can be kept collision-free by adjusting the parameters κ, l, l .Algorithm 2 gives the specific path smoothing procedures.Initialize weight matrix Ω and κ, l, l // κ, l, l are adjustable parameters 2.
calculate index (i, j) of point D k in Ω 8.
back to step 3 11.
end for calculate angular velocity between A i and A i+1 15. end while As shown in Figure 10, a sequence of points {A 0 , A 1 , • • •} with directions can be generated by Algorithm 2. Figure 11 shows the path smoothing results of differently shaped polyline paths with different parameters κ, l, l .Figure 12 shows the path smoothing results of Algorithm 2 in a driving scenario with obstacles.

Speed Optimization
The smooth path generated can be followed by path tracking methods.Usually, the control module should be fed with the linear velocity and angular velocity at a given moment.Several approaches can be applied to transfer the discrete path into v, ω with limited motor torques, such as multi-objective optimization [8,9], polynomial interpolation and Sensors 2023, 23, 1813 9 of 14 quadratic programming [14].The optimization can also be performed on the SE(2) manifold, and then the resulting pose can be directly tracked by geometric control methods [10,23].In this paper, it is assumed that the velocity between two adjacent configurations g 0 = (x 0 , y 0 , θ 0 ), g e = (x e , y e , θ e ) ∈ R 2 S 1 SE( 2) is constant and that the direction of it has been obtained in the path smoothing process.
Here, (x 0 , y 0 ), (x e , y e ) denote the position of the vehicle, and θ 0 , θ e denote the orientation of the vehicle.Divide the time interval T = [t 0 , t e ] between g 0 and g e into N equal subintervals with length δt.
As shown in Figure 10, a sequence of points  

01
,, AA with directions can be generated by Algorithm 2. Figure 11 shows the path smoothing results of differently shaped polyline paths with different parameters ,, ll   .As shown in Figure 13, the parameters selected in Algorithm 2, such as l i , l i , are closely related to the kinematics of the vehicle.For example, if l i = l i , the path between A i and A i+1 is a circular arc.According to the geometric relation, the formula for solving velocity can be obtained as:

Speed Optimization
The smooth path generated can be followed by path tracking methods.Usually, the control module should be fed with the linear velocity and angular velocity at a given moment.Several approaches can be applied to transfer the discrete path into , v  with lim- ited motor torques, such as multi-objective optimization [8,9], polynomial interpolation and quadratic programming [14].The optimization can also be performed on the SE( 2) manifold, and then the resulting pose can be directly tracked by geometric control methods [10,23].In this paper, it is assumed that the velocity between two adjacent configurations where Then, the angular velocity ω i , i = 1, • • • , N between the configurations g 0 (p 0 , θ 0 ) and g e (p e , θ e ) can be obtained by the following optimization model: Sensors 2023, 23, 1813 10 of 14 where Here, α 1 , α 2 are weights corresponding to the terminal angle and position error.The vector v in (8) consists of two elements, i.e., v = v x , v y T .The above objective function can also be represented by the distance metric of SE(2), which is log g 0 −1 g e (here we abuse the notations g 0 , g e to represent group elements in SE( 2)).For N = 3, the above optimization formulation can be relaxed to the following algebraic equations: where ∆θ i = ω i δt and ∆s = vδt.It is obvious that Equation ( 9) has a unique analytical solution.As θ i are often very small, especially with high control frequencies, in practice, the trigonometric functions in ( 9) can be approximated by the first-order Taylor expansion.Figures 14 and 15 show the linear and angular velocity, i.e., v, ω, generated in the long wall driving scenario.( )  are weights corresponding to the terminal angle and position error.
The vector v in (8) consists of two elements, i.e., ,  2)).For N = 3, the above optimization formulation can be relaxed to the following algebraic equations: where . It is obvious that Equation ( 9) has a unique analytical solution.As i  are often very small, especially with high control frequencies, in prac- tice, the trigonometric functions in ( 9) can be approximated by the first-order Taylor expansion.Figures 14 and 15 show the linear and angular velocity, i.e., , v  , generated in the long wall driving scenario.It should be pointed out that the velocity and time can also be regarded as the decision variables in the optimization model, but this will consume much more time for solving the resulting optimization problem.Based on the consideration of real-time performance, the model is simplified, and the resulting model is verified to be effective and   ( )  are weights corresponding to the terminal angle and position error.
The vector v in (8) consists of two elements, i.e., ,  2)).For N = 3, the above optimization formulation can be relaxed to the following algebraic equations: where   It should be pointed out that the velocity and time can also be regarded as the decision variables in the optimization model, but this will consume much more time for solving the resulting optimization problem.Based on the consideration of real-time performance, the model is simplified, and the resulting model is verified to be effective and should be pointed out that the velocity and time can also be regarded as the decision variables in the optimization model, but this will consume much more time for solving the resulting optimization problem.Based on the consideration of real-time performance, the model is simplified, and the resulting model is verified to be effective and efficient.Due to the extremely low computational complexity of the proposed path planning and smoothing algorithms, the method can be effectively applied to human-involved dynamic driving scenarios without predicting the motion of the humans.

Simulations
The performance of the proposed method is evaluated in different simulated scenarios (see Figure 16): the forest scenario, the narrow channel scenario, the long wall scenario and the human-involved dynamic driving scenario.The algorithms are implemented in C++ and are executed on a laptop running Ubuntu 16.04 with an Intel i5-10200H CPU and 16 GB of RAM.
C++ and are executed on a laptop running Ubuntu 16.04 with an Intel i5-10200H CPU and 16 GB of RAM.
The TEB algorithm is also tested in the narrow channel scenario.Figure 17 shows the simulations of the TEB algorithm with different maximum global looking-ahead distances and the performance of the APOLLO algorithm in the narrow channel scenario.It can be seen that the vehicle is wandering around the gate and cannot follow the global path, while the APOLLO algorithm allows the vehicle to pass smoothly through the narrow channel of the same size.For the long wall scenario, the FALCO algorithm exhibits oscillatory behavior (Figure 1b), while the APOLLO algorithm can choose a relatively better direction without hesitation (Figure 16c).The TEB algorithm is also tested in the narrow channel scenario.Figure 17 shows the simulations of the TEB algorithm with different maximum global looking-ahead distances and the performance of the APOLLO algorithm in the narrow channel scenario.It can be seen that the vehicle is wandering around the gate and cannot follow the global path, while the APOLLO algorithm allows the vehicle to pass smoothly through the narrow channel of the same size.For the long wall scenario, the FALCO algorithm exhibits oscillatory behavior (Figure 1b), while the APOLLO algorithm can choose a relatively better direction without hesitation (Figure 16c).and the human-involved dynamic driving scenario.The algorithms are implemented in C++ and are executed on a laptop running Ubuntu 16.04 with an Intel i5-10200H CPU and 16 GB of RAM.
The TEB algorithm is also tested in the narrow channel scenario.Figure 17 shows the simulations of the TEB algorithm with different maximum global looking-ahead distances and the performance of the APOLLO algorithm in the narrow channel scenario.It can be seen that the vehicle is wandering around the gate and cannot follow the global path, while the APOLLO algorithm allows the vehicle to pass smoothly through the narrow channel of the same size.For the long wall scenario, the FALCO algorithm exhibits oscillatory behavior (Figure 1b), while the APOLLO algorithm can choose a relatively better direction without hesitation (Figure 16c).Figure 19 shows the trajectory planning process of the automated vehicle in the human involved dynamic driving scenario.Figures 20 and 21 show the linear and angular velocity, i.e., v, ω, generated in this dynamic driving scenario.
Owning to its strong environmental adaptability and low computational complexity, the proposed APOLLO algorithm can also be used by the automated vehicle in a fleet to generate local collision-free trajectories.This algorithm can be applied in dynamic indoor environments, such as smart factories, shopping malls or airport stations, as well as high-speed outdoor transportation environments.Owning to its strong environmental adaptability and low computational complexity, the proposed APOLLO algorithm can also be used by the automated vehicle in a fleet to generate local collision-free trajectories.This algorithm can be applied in dynamic indoor environments, such as smart factories, shopping malls or airport stations, as well as highspeed outdoor transportation environments.

Conclusions
This paper presents APOLLO, a fast local smooth path generator for agile drives in unknown dynamic environments.The key advantage of the proposed local planner lies in its low computational complexity and its adaptivity.Therefore, this method can deal with human-involved dynamic driving scenarios and high-speed driving scenarios.Some of the variable parameters in the proposed algorithms can be adjusted manually to adapt to different driving scenarios.Owning to its strong environmental adaptability and low computational complexity, the proposed APOLLO algorithm can also be used by the automated vehicle in a fleet to generate local collision-free trajectories.This algorithm can be applied in dynamic indoor environments, such as smart factories, shopping malls or airport stations, as well as highspeed outdoor transportation environments.

Conclusions
This paper presents APOLLO, a fast local smooth path generator for agile drives in unknown dynamic environments.The key advantage of the proposed local planner lies in its low computational complexity and its adaptivity.Therefore, this method can deal with human-involved dynamic driving scenarios and high-speed driving scenarios.Some of the variable parameters in the proposed algorithms can be adjusted manually to adapt to different driving scenarios.

Conclusions
This paper presents APOLLO, a fast local smooth path generator for agile drives in unknown dynamic environments.The key advantage of the proposed local planner lies in its low computational complexity and its adaptivity.Therefore, this method can deal with human-involved dynamic driving scenarios and high-speed driving scenarios.Some of the variable parameters in the proposed algorithms can be adjusted manually to adapt to different driving scenarios.

Figure 1 .
Figure 1.Oscillatory behavior of TEB and FALCO.(a) TEB in narrow channel; (b) FALCO in front of long obstruction.

Figure 1 .
Figure 1.Oscillatory behavior of TEB and FALCO.(a) TEB in narrow channel; (b) FALCO in front of long obstruction.

Sensors 2023 ,
23, x FOR PEER REVIEW 4 of 15 of  .The complexity of the indexing time is O(1) (see Figure 2).Compared with the equidistant grid, the proper selection of the form and value of,a r

15 Figure 3 .
Figure 3. Illustration of the state lattices of the nonholonomic robot.

Figure 4 .
Figure 4. 3D illustration of the initial probability distribution.

Figure 5 .
Figure 5. Probability distribution along the direction of the target point in a 180° fan search space.

Figure 3 .
Figure 3. Illustration of the state lattices of the nonholonomic robot.

Figure 3 .
Figure 3. Illustration of the state lattices of the nonholonomic robot.

Figure 4 .
Figure 4. 3D illustration of the initial probability distribution.

Figure 5 .
Figure 5. Probability distribution along the direction of the target point in a 180° fan search space.
For a distinct distance r from the original point, Formula (4) degenerates to a Gaussian distribution with respect to the angle a .Here, * a and  are respectively the mean and variance of the proposed Gaussian distribution. is a constant, and a  is an adjustable parameter.

Figure 4 .
Figure 4. 3D illustration of the initial probability distribution.

Figure 3 .
Figure 3. Illustration of the state lattices of the nonholonomic robot.

Figure 4 .
Figure 4. 3D illustration of the initial probability distribution.

Figure 5 .
Figure 5. Probability distribution along the direction of the target point in a 180° fan search space.
For a distinct distance r from the original point, Formula (4) degenerates to a Gaussian distribution with respect to the angle a .Here, * a and  are respectively the mean and variance of the proposed Gaussian distribution. is a constant, and a  is an adjustable parameter.

Figure 5 .
Figure 5. Probability distribution along the direction of the target point in a 180 • fan search space.

Figure 6 .p
Figure 6.Expansion of an obstacle point cloud.The probability distribution around the obstacles is updated according to the following piecewise function: s r denotes the ra- dius of the expanded obstacle point cloud, and ,  are adjustable parameters. Figure

Figure 6 .
Figure 6.Expansion of an obstacle point cloud.

p
Figure 7  illustrates the probability distribution of the local search space with two static obstacles at coordinates (−1.0, 1.5) and (0.0, 0.7).represents the coordinates of the obstacle point cloud.

sr
denotes the ra- dius of the expanded obstacle point cloud, and ,  are adjustable parameters. Figure

Figure 7 .
Figure 7. Probability distribution of the local search space with obstacles in polar coordinates.

Figure 7 .
Figure 7. Probability distribution of the local search space with obstacles in polar coordinates.

Figure 9 .Algorithm 1
Figure 9. Illustration of path planning when (a) target is occupied; (b) target is collision-free.The specific path generation procedures are given in Algorithm 1. Algorithm 1 Collision-free path planning 1. Initialize weight matrix  2. select the node ES  closest to the goal and calculate its corresponding index ( ) , ij in matrix  3.If

Figure 9 .
Figure 9. Illustration of path planning when (a) target is occupied; (b) target is collision-free.
find neighbor node E b of E, b = 1, 2, • • • 5. generate corresponding paths p b 6. calculate total weight ω b = ∑ m i=1 ω i of each path 7. select path p * = p b b = argmax b

1 iA
+ and going in the direction of the extension line1 ii

Sensors 2023 , 15 Algorithm 2 smoothing 1 .
23, x FOR PEER REVIEW 9 of Path Initialize weight matrix  and ,, ll  As shown in Figure10, a sequence of points  01,, AA with directions can be generated by Algorithm 2. Figure11shows the path smoothing results of differently shaped polyline paths with different parameters ,, ll   .

Figure 12
Figure12shows the path smoothing results of Algorithm 2 in a driving scenario with obstacles.

Figure 12
Figure12shows the path smoothing results of Algorithm 2 in a driving scenario with obstacles.

Figure 12 .
Figure 12.Illustration of the generated smooth, collision-free paths.Figure 12. Illustration of the generated smooth, collision-free paths.

Figure 12 .
Figure 12.Illustration of the generated smooth, collision-free paths.Figure 12. Illustration of the generated smooth, collision-free paths.

Figure 13 .p
Figure 13.Illustration of geometric relations between two poses.

Figure 13 .
Figure 13.Illustration of geometric relations between two poses.

.
The above objective function can also be represented by the distance metric of SE(2), which is group elements in SE(

Figure 14 .
Figure 14.Linear velocity generated in the long wall scenario.

Figure 15 .
Figure 15.Angular velocity generated in the long wall scenario.

Figure 14 .
Figure 14.Linear velocity generated in the long wall scenario.

.
The above objective function can also be represented by the distance metric of SE(2), which is group elements in SE(

.
It is obvious that Equation (9) has a unique analytical solution.As i  are often very small, especially with high control frequencies, in prac- tice, the trigonometric functions in (9) can be approximated by the first-order Taylor expansion.Figures14 and 15show the linear and angular velocity, i.e., , v  , generated in the long wall driving scenario.

Figure 14 .
Figure 14.Linear velocity generated in the long wall scenario.

Figure 15 .
Figure 15.Angular velocity generated in the long wall scenario.

Figure 15 .
Figure 15.Angular velocity generated in the long wall scenario.

Figure 16 .
Figure 16.Planned path in (a) forest scenario; (b) narrow channel scenario; (c) long wall scenario.Here the 3D point clouds of the environment are depicted with different colors.

Figure 18
Figure 18 records the CPU times of various planning algorithms in the long wall simulation environment.As we can see, APOLLO has the highest time efficiency and needs less than 2 ms on average to complete the local planning task.Compared with the state lattice-based FALCO local planner, the APOLLO planner does not need to pre-compute the path group for a distinct vehicle and only needs to change few parameters to adjust the size of the desired sector region, which makes APOLLO well adapted to different driving speeds of the automated vehicle.

Figure 17 .
Figure 17.Illustration of the performance of the TEB algorithm and the APOLLO algorithm in the narrow channel scenario.For the TEB algorithm, the red line indicates the local trajectory and the green line indicates the global path.For the APOLLO algorithm, the blue dots represent the point cloud of the narrow channel.

Figure 16 .
Figure 16.Planned path in (a) forest scenario; (b) narrow channel scenario; (c) long wall scenario.Here the 3D point clouds of the environment are depicted with different colors.

Figure 16 .
Figure 16.Planned path in (a) forest scenario; (b) narrow channel scenario; (c) long wall scenario.Here the 3D point clouds of the environment are depicted with different colors.

Figure 18
Figure 18 records the CPU times of various planning algorithms in the long wall simulation environment.As we can see, APOLLO has the highest time efficiency and needs less than 2 ms on average to complete the local planning task.Compared with the state lattice-based FALCO local planner, the APOLLO planner does not need to pre-compute the path group for a distinct vehicle and only needs to change few parameters to adjust the size of the desired sector region, which makes APOLLO well adapted to different driving speeds of the automated vehicle.

Figure 17 .
Figure 17.Illustration of the performance of the TEB algorithm and the APOLLO algorithm in the narrow channel scenario.For the TEB algorithm, the red line indicates the local trajectory and the green line indicates the global path.For the APOLLO algorithm, the blue dots represent the point cloud of the narrow channel.

Figure 17 .
Figure 17.Illustration of the performance of the TEB algorithm and the APOLLO algorithm in the narrow channel scenario.For the TEB algorithm, the red line indicates the local trajectory and the green line indicates the global path.For the APOLLO algorithm, the blue dots represent the point cloud of the narrow channel.

Figure 18
Figure 18 records the CPU times of various planning algorithms in the long wall simulation environment.As we can see, APOLLO has the highest time efficiency and needs less than 2 ms on average to complete the local planning task.Compared with the state lattice-based FALCO local planner, the APOLLO planner does not need to pre-compute the path group for a distinct vehicle and only needs to change few parameters to adjust the size of the desired sector region, which makes APOLLO well adapted to different driving speeds of the automated vehicle.Figure19shows the trajectory planning process of the automated vehicle in the human involved dynamic driving scenario.Figures20 and 21show the linear and angular velocity, i.e., v, ω, generated in this dynamic driving scenario.Owning to its strong environmental adaptability and low computational complexity, the proposed APOLLO algorithm can also be used by the automated vehicle in a fleet to generate local collision-free trajectories.This algorithm can be applied in dynamic

Figure 19
Figure 19 shows the trajectory planning process of the automated vehicle in the human involved dynamic driving scenario.Figures 20 and 21 show the linear and angular velocity, i.e., , v  , generated in this dynamic driving scenario.

Figure 19 .
Figure 19.Trajectory generation process in the human-involved dynamic driving scenario.Red dots represent the randomly walking humans, and the hollow circle represents the vehicle.The number ①-⑥ indicate six sequential moments from the beginning to the end.

Figure 19
Figure 19 shows the trajectory planning process of the automated vehicle in the human involved dynamic driving scenario.Figures 20 and 21 show the linear and angular velocity, i.e., , v  , generated in this dynamic driving scenario.

Figure 19 .
Figure 19.Trajectory generation process in the human-involved dynamic driving scenario.Red dots represent the randomly walking humans, and the hollow circle represents the vehicle.The number ①-⑥ indicate six sequential moments from the beginning to the end.

Figure 19 .Figure 20 .
Figure 19.Trajectory generation process in the human-involved dynamic driving scenario.Red dots represent the randomly walking humans, and the hollow circle represents the vehicle.The number

Figure 21 .
Figure 21.Angular velocity generated in the human-involved dynamic driving scenario.

Figure 20 .
Figure 20.Linear velocity generated in the human-involved dynamic driving scenario.

Figure 20 .
Figure 20.Linear velocity generated in the human-involved dynamic driving scenario.

Figure 21 .
Figure 21.Angular velocity generated in the human-involved dynamic driving scenario.

Figure 21 .
Figure 21.Angular velocity generated in the human-involved dynamic driving scenario.
is the orientation of the vehicle i C so that ii BC  = 5. choose test points 12 , , ,