Trajectory Optimization for the Nonholonomic Space Rover in Cluttered Environments Using Safe Convex Corridors

: Due to the limitation of space rover onboard computing resources and energy, there is an urgent need for high-quality drive trajectories in complex environments, which can be provided by delicately designed motion optimization methods. The nonconvexity of the collision avoidance constraints poses a signiﬁcant challenge to the optimization-based motion planning of nonholonomic vehicles, especially in unstructured cluttered environments. In this paper, a novel obstacle decomposition approach, which swiftly decomposes nonconvex obstacles into their constituent convex substructures while concurrently minimizing the proliferation of resultant subobstacles, is proposed. A safe convex corridor construction method is introduced to formulate the collision avoidance constraints. The numerical approximation methods are applied to transfer the resulting continuous motion optimization problem to a nonlinear programming problem (NLP). Simulation experiments are conducted to illustrate the feasibility and superiority of the proposed methods over the rectangle safe corridor method and the area method.


Introduction
Planetary surface exploration is a captivating and critical field of research [1][2][3].Planetary surface exploration is fundamental to space missions, and space rovers play a vital role in exploring challenging environments on the Moon, Mars, and other celestial bodies.The success of these missions relies on generating feasible, safe, and high-quality motion trajectories for space rovers, ensuring driving flexibility, energy efficiency, and prolonged rover service life.
Motion planning is a crucial aspect of planetary surface exploration [4], especially in environments such as Mars with complex terrains, unstable landscapes, and unknown obstacles.The objective of motion planning is to enable rovers to move safely and efficiently, accomplishing scientific investigations and mission objectives.Careful trajectory planning minimizes collisions with obstacles, reduces energy consumption, extends rover lifespan, and ensures successful arrival at designated target points, allowing for the collection of valuable scientific data.
However, despite the numerous methods available, research regarding trajectory planning in cluttered environments remains an open field, particularly for nonholonomic rovers.
The polynomial interpolation method connects data points with straight lines or polynomial curves to generate trajectories, which can constrain the flexibility of robot motion planning, especially in complex, nonlinear, or obstacle-avoiding scenarios.Probabilistic search algorithms often lack state constraints and usually do not consider the vehicle's kinematics and dynamics.Learning methods often require prolonged training times and may produce unstable or inaccurate results.
On the other hand, local trajectory generation methods based on numerical optimization models can effectively incorporate the rover's dynamic characteristics and environmental information, resulting in collision-free and kinodynamically feasible trajectories that meet various driving performance requirements [20,21], such as minimum energy consumption or shortest distance.However, these methods inevitably face a trade-off between trajectory optimality and computational efficiency.Effectively and concisely modeling collision avoidance constraints in cluttered environments is the core challenge in addressing such issues.

Related Works
The key to constructing collision avoidance constraints lies in efficiently and accurately modeling the environment, particularly the geometric representation of space rovers, irregular obstacles, and safe convex corridors.To incorporate collision avoidance constraints into the trajectory optimization model, it is essential to derive closed-form mathematical descriptions of these constraints.Much research focuses on describing the distance between the robot and obstacles, including signed distance [22], differentiable collision detection algorithms [23], hierarchical optimization-based collision avoidance (H-OBCA) [24], and others.
However, in cluttered environments, the collision avoidance constraints constructed by these methods often exhibit relatively high dimensions, leading to a decrease in the computational efficiency of the trajectory optimization model.Consequently, a method based on safe convex corridors becomes more suitable for addressing such complex scenarios.This method typically converts the conventional obstacle avoidance problem into convex constraints representing the robot's presence within convex polygons or polyhedra, significantly simplifying the computational process.This method drastically reduces the computation time compared with the original nonlinear and nonconvex obstacle avoidance constraints [19], as it utilizes simple linear constraints as shown in Figure 1.Deits et al. [25] presented IRIS (Iterative Regional Inflation by Semidefinite programming), a novel approach that efficiently computes large obstacle-free regions through convex optimizations for robot manipulator optimization.On the other hand, Chen et al. [26] introduced a safe corridor algorithm, designed to generate collision-free trajectories for autonomous quadrotor flight in cluttered environments.Another noteworthy contribution comes from Liu et al., who proposed the convex feasible set algorithm (CFS) [27], capable of solving nonconvex optimization problems with convex costs and nonconvex constraints, with a primary focus on achieving real-time computation in motion planning for robotics.In addition, Li et al. introduced safe travel corridors (STCs) [28] to simplify collision avoidance constraints in automatic parking maneuver planning, thereby enhancing efficiency and robustness in complex environments.The aforementioned safe corridor algorithms, while ensuring robot safety by constraining the robot within a convex region of free space, may result in the loss of some free space and potential suboptimal trajectory planning or infeasible solutions, as discussed in detail in Section 5.
In the realm of trajectory planning problems, collision detection for the robot often involves employing bounding boxes, such as spheres, oriented rectangles, convex hulls, or overlapping spheres [29] (see Figure 2).Meanwhile, obstacles are commonly represented as convex polygons or polyhedra.As illustrated in Figure 3, three-dimensional obstacle sets can be transformed into two-dimensional convex polygon obstacle sets.When confronted with irregular obstacles, they are typically decomposed into multiple subconvex polygons to facilitate collision detection.Notable convex decomposition methods include Keil's algo-rithm [30], Bayazit's algorithm [31], improved Bayazit's algorithm [32], and approximate convex decomposition algorithms [33], among others.Nevertheless, it should be noted that these algorithms still encounter issues, such as decomposition failure or the generation of an excessive number of subconvex polygons during segmentation.

A p B  4 4
A p B  A p B 

Trajectory Planning Framework Based on Safe Convex Corridors
Considering the challenges identified in previous research, we introduce a specialized trajectory planning framework for space rovers, designed to navigate unstructured environments with a high density of obstacles.This framework makes use of the safe convex corridors method, as illustrated in Figure 4.During the "convex decomposition and discretization of obstacles" stage, the input comprises polygonal obstacles.The path planning stage employs a hybrid A [34], though other path planning algorithms can also be employed.The "sample waypoints" stage involves secondary sampling of the path points obtained from the path planning output to facilitate the construction of safe convex corridors.The "path planning" and "velocity planning" stages handle the initial solutions for trajectory optimization.In this context, waypoints refer to the discrete path points generated by path planning algorithms, such as A [35], hybrid A [34], and jump point search [36], and then processed further in the "sample waypoints" stage.The specific implementation details will be introduced later in this paper.The contributions of this paper can be summarized as follows: 1.
An efficient method for generating safe convex corridors (SCCs) is introduced.The proposed method outperforms the existing methods, such as the rectangle safe corridor method [28] and the area method [18], in some distinct scenarios.Moreover, it achieves superior optimality compared with some similar safe corridor algorithms, specifically the rectangle safe corridor method.

2.
A novel convex decomposition algorithm, which can be applied to break down concave polygonal obstacles into multiple subconvex polygons, is proposed.This decomposition method reduces the number of resulting subpolygons significantly, when compared with Bayazit's algorithm [31] and Keil's algorithm [30].This improvement contributes to the acceleration of the SCC generation process.

3.
An adaptive sampling algorithm is established to ensure appropriate spacing between adjacent waypoints used in constructing SCCs, while avoiding collisions with obstacles.This adaptive sampling algorithm guarantees suitable distances and nonintersecting lines between waypoints, thus ensuring the effective generation of SCCs.

4.
A strategy for discretizing only the boundary of obstacles, rather than the entire obstacle area, is given.This approach greatly expedites the SCCs' generation process, while still providing accurate and reliable obstacle representation.

Organization
The paper is structured as follows: In Section 2, we present the Bolza-type optimization formulation for the trajectory generation problem.Accompanied by illustrative examples showcasing its superiority, Section 3 introduces our tailored convex decomposition algorithm for nonconvex obstacles.The process of preparing to construct safe convex corridors is elaborated in Section 4. In Section 5, we delve into the method for constructing these safe convex corridors.To rigorously assess the effectiveness of our proposed methods, we meticulously design simulations and compare them with other state-of-the-art approaches in Section 6.Finally, we draw conclusions in Section 7.

Problem Formulation
This section presents a comprehensive overview and specific formulation of the trajectory planning problem for space rovers.The main objective of trajectory planning is to determine a trajectory ζ(t) ∈ R N ζ that connects the initial state ζ 0 to the terminal state ζ f .The system's control variables are denoted as u(t) ∈ R Nu .The general formulation of the space rover's trajectory planning problem, as proposed in [17], is as follows: Problem ( 1) is a Bolza-type optimal control problem, where the cost function J(•) quantifies the desired performances.
represents the terminal performance metrics, and W e is the non-negative weighting coefficient.The constraints of optimal control problem (1) consist of the following terms: the differential equation ζ(t) = f (ζ(t), u(t), t) that describes the kinematic constraints of the space rover, the state and control limits ζ min ≤ ζ(t) ≤ ζ max and u max ≤ u(t) ≤ u max , the collision avoidance constraints h min ≤ h(ζ(t), u(t), t) ≤ h max , and the boundary conditions e(ζ 0 , ζ f , t 0 , t f ) = 0 and q min ≤ q(x 0 , ζ f , t 0 , t f ) ≤ q max .The planning horizon is denoted as T = [t 0 , t f ].

Kinematic Constraints
This paper focuses on the motion planning of space rovers in unstructured planetary surface environments, where they operate at low speeds and encounter numerous cluttered polygonal obstacles (see Figure 3c).It is worth noting that the height information of obstacles is not taken into consideration in this study.To navigate such challenging scenarios, the rover's nonholonomic constraints must be carefully considered.For high-speed motion scenarios, alternative dynamic models are available, such as the high-dimensional doubletrack dynamics model and the whole-body dynamics model [37], which can be employed accordingly based on the specific requirements.The kinematic model of the space rover consists of front wheels acting as steering wheels and rear wheels serving as driving wheels.A clear representation of this configuration is depicted in Figure 5.The motion of the space rover can be effectively described by the following single-track bicycle model [19]: In this equation, x(t), y(t) represents the coordinates of the midpoint of the rover's rear axle, which corresponds to point p in Figure 5.The variables v(t), a(t), and ȧ(t) denote the longitudinal velocity, acceleration, and rates of acceleration changes of the rover, respectively.φ(t) denotes the steering angle of the front wheels, while ω(t) and ω(t) represent the angular rate and the angular acceleration of the rover.The yaw angle of the rover is denoted as θ(t).Additionally, the front suspension length, wheelbase, rear suspension length, and width between the left and right wheels are represented by l 1 , l 2 , l 3 , and l w , respectively.In this model, the control variable is denoted as u = [ ω(t), ȧ(t)] T , which influences the rover's angular rate and acceleration.

Path Constraints
The motion of the space rover is governed by a multitude of constraints arising from its mechanical configuration and the surrounding environment.These constraints remain applicable throughout the planning time horizon and are commonly known as path constraints.Specifically, the following limitations are imposed on certain state and control variables:

Boundary Constraints
The boundary constraint is the setting of the initial state and terminal state of the space rover, and also includes the control variables of the space rover system.

Cost Function
In this paper, the optimization problem's cost function is formulated with two criteria: minimizing the shortest time and the smallest energy consumption.The cost function is represented as follows: Here, W time represents the weight assigned to the time factor.Now, let us elaborate on each component of the cost function: 1. W time t f : This term quantifies the cost associated with the total time of the trajectory, where W time serves as the weight factor for the time component, and t f denotes the final time of the trajectory.By incorporating this term, the objective function aims to minimize the overall time required to traverse the planned trajectory.The weight factor W time provides flexibility in balancing time optimization with other motionrelated objectives.
2. 2 dt: This term represents integral-type performance metrics, seek- ing to minimize speed, angular velocity, and energy consumption throughout the entire trajectory.
The objective function can be tailored to meet specific requirements.For instance, if the primary objective is to minimize the rover's planning time, the objective function may only include the first term.Further discussions on this matter will be presented in Section 6.

Optimal Control Formulation for the Trajectory Planning Problem
The optimal control for trajectory planning in complex and unstructured environments can be summarized as follows: Minimize MinimumTimeAndEnergy (5) s.t.KinematicConstraints (2) PathConstraints ( 3) CollisionAvoidanceConstraints ( Let us explore the intricacies of the obstacle avoidance constraints, a crucial aspect in ensuring the space rover's collision-free trajectory.To simplify the representation of the space rover's shape, we employ a bounding rectangle and approximate surrounding obstacles with convex polygons (refer to Figure 5).This transforms the collision avoidance problem between the rover and obstacles into a nonoverlapping scenario, similar to the approach described in [18], known as the area method.However, in scenarios with numerous obstacles, this avoidance method can be inefficient, with the optimization problem solving speed decreasing dramatically as the number of obstacles increases.In Section 6, we will conduct experiments to demonstrate the time-related disadvantages of the area method.Therefore, we opt to use the safe convex corridors (SCCs) method to represent the avoidance constraints, with specific implementation details provided in Section 5.
Directly solving the optimal control problem ( 6) is highly challenging.To approximate the trajectory planning problem, one may apply a difference method or a direct collocation method [38].As a result, the trajectory planning problem is transformed into a corresponding nonlinear programming problem, which can be effectively addressed using numerical optimization methods.

Convex Decomposition of Obstacles
Convex decomposition of obstacles is a prerequisite for many collision avoidance algorithms, including the safe convex corridors' generation algorithm discussed in this paper.In practice, the algorithm is required to efficiently decompose as few convex polygons as possible, which can effectively improve the time efficiency of the subsequent generation of a safe convex corridor.It is also possible to wrap each obstacle with only one convex polygon.An efficient algorithm for the convex decomposition of nonconvex obstacles is presented in this section.

The Convex Decomposition Algorithm
Without loss of generality, let us examine the nonconvex obstacle depicted in Figure 6a.The vertices of this obstacle can be classified into two categories: convex vertices and concave vertices.A convex vertex of a polygon is a vertex within the polygon where its corresponding internal angle is less than 180 degrees.For an arbitrary vertex V i , we define the dot product of its adjacent vectors as [32] and the vertex is convex for F > 0 and concave for F < 0. The core idea of the convex decomposition algorithm is to find some line segments that can transfer all the concave vertexes to convex vertexes.In order to ensure the effectiveness of the convex decomposition algorithm, the selected line segments should meet the following requirements: 1.
The line segments need to be inside the concave polygon, and should not intersect with the edge and other line segments.Otherwise, more convex polygons and more vertices will be produced.

2.
In the case where the line segment connects two concave points, if the two concave points can be eliminated at the same time, this connection is prioritized so that fewer convex polygons will be generated.The detailed convex decomposition processes are given in Algorithm 1.
The set of vertex coordinates V in = x 1 , y 1 , . . ., x n , y n represents the vertices of the polygon, and n represents the number of the vertices.Define the geometric center of the polygon as In Algorithm 1, the first line rearranges the vertices of the given irregular polygon according to the azimuth angle β i and the Euclidean distance d i between the vertices and their geometric center V c , which are defined as and The function findConcavePoints(•) in the second line of Algorithm 1 is used to identify the concave vertices and collect them in the set Ω.As shown in Figure 6a, for an arbitrary concave point V i , denote the intersection points of the polygon edge and the extension line of the vectors Denote G and Ψ as the set of concave and convex vertices in the proposed ray region.Below, we classify the scenarios into three types: 1.
Scenario 1: When G is nonempty, it indicates the presence of concave points within the ray region ˝ V M i V i V N i .To address this scenario, findDividingLineInG(•) (line 6, Algorithm 1) is utilized, and the detailed procedure can be found in Algorithm 2.

2.
Scenario 2: When G is empty, but Ψ is nonempty, it indicates the existence of only convex points within ˝ V M i V i V N i .In this scenario (lines 7-9, Algorithm 1), where either there are convex points or all connections between concave vertices intersect with the edges in E, findDividingLineInΨ(•) is employed to handle this scenario, and the detailed subsequent implementations are presented in Algorithm 3.

3.
Scenario 3: When Υ is empty, it indicates the absence of vertices within ˝ V M i V i V N i .This scenario implies that there are no vertices in the ray region or all connections intersect the edges in E (lines 10-13, Algorithm 1).In such cases, a connection is established between P i and the midpoint V H i of V M i and V N i .

Algorithm 1 Convex decomposition
Require: Vertices of the input polygon V in , polygon edges, and added dividing lines end if Remove V i from Ω and add − −− → V i V H i to E.

13:
end if 14: end while Below, we provide a comprehensive explanation of the detailed implementations for Algorithms 2 and 3.In Algorithm 2, the second line contains the function closestPoint(•), which is utilized to find V j in G that is closest to V i .In line 3, the function segmentIntersection(•) checks whether the connecting line segment − − → V i V j intersects with any edges in the set E. If an intersection is found, the vertex V j is removed from the set G. The function convexify(•) in line 6 examines whether the line segment − − → V i V j separates the angle ∠V j−1 V j V j+1 into two angles less than 180°.If this condition is met, the two concave vertices V i and V j are eliminated from the set Ω. Otherwise, connect the concave vertex closest to V i , as further described in line 13 of Algorithm 2. The return result " = true" indicates that all the concave vertices in the set G have been traversed, and all the dividing lines intersect with the line segments in E. Since the concave vertex V i has not been eliminated, it is necessary to find the dividing line in the set Ψ and continue the operation in the function findDividingLineInΨ(•), which is detailed in Algorithm 3. Given the similarity between the functions in Algorithms 2 and 3, further elaboration is omitted to maintain conciseness and clarity.
Remove V j from G, Continue 5: Remove V i and V j from Ω, add − − → V i V j to E, ← false, Break 8: end if 11: end while 12: if tmp = 0 then 13: Remove V j from Ψ, Continue Remove end if 8: end while 9: return [Ω, , E]

Examples
As shown in Figure 6a, the set of all vertices V in = {V 1 , V 2 , • • • , V 13 }, and the set of concave vertices is Ω = {V 3 , V 5 , V 9 , V 11 }.For the concave vertex V 3 , the corresponding sets Υ, G, and Ψ can be obtained as , connect the concave vertex V 3 and the convex vertex V 12 and remove V 3 from Ω.For V 5 , the set G 5 = {V 11 }.Connecting V 5 and V 11 , both ∠V 5 V 11 V 12 and ∠V 5 V 11 V 10 are less than 180°.Then the vertices V 5 and V 11 are removed from the set Ω.For vertex V 9 , both the sets Ψ 9 and G 9 are empty.Therefore, V 9 is connected to the midpoint of V M9 and V N9 , i.e., V H9 .The convex decomposition procedures are listed in Table 1, and the result is shown in Figure 6b.

Concave Point Types of Scenarios
Connecting V 5 can eliminate the concave point condition without the need for processing To illustrate the superiority of the proposed convex decomposition algorithm, it is compared with Keil's algorithm [30] and Bayazit's algorithm [31].The results are shown in Figure 7.It is evident that the proposed algorithm results in a lower number of gen-erated subpolygons for a given irregular polygon compared with Keil's algorithm and Bayazit's algorithm.

Preparation for Safe Convex Corridors' Construction
This section encompasses the preparatory tasks preceding the construction of safe convex corridors (SCCs), involving both path planning and adaptive sampling methodologies.These crucial processes are employed to generate a comprehensive set of points necessary for the subsequent construction of SCCs.Additionally, they incorporate obstacle inflation and boundary discretization techniques to effectively exclude regions occupied by obstacles during the SCCs' construction process.

Path Planning
In the path planning stage, mainstream path planning algorithms, such as rapidly exploring random trees, A*, and informed RRT*, are used to generate path points.The generated path points serve two main purposes: first, to assist the velocity planning module in generating the initial solution for the optimal control problem (6), and second, to be used in constructing safe convex corridors (SCCs).
Compared with a traditional A* algorithm, the hybrid A* algorithm has the following advantages: 1.
Better suited for continuous state space: The hybrid A* algorithm efficiently handles continuous state spaces, enabling more effective searches in high-dimensional state spaces.

2.
Consideration of kinematics: The hybrid A* algorithm takes into account kinematic constraints, such as the maximum turning radius and maximum velocity of the space rover, resulting in the generation of more reasonable and feasible paths.
Considering these advantages, we have chosen to use the hybrid A* algorithm for generating path planning points.For the velocity planning stage, please refer to [28].

Adaptive Sampling of Waypoints
The discrete path points generated directly by the path planning stage may not be suitable for SCC.These points may have small interpoint spacing and an excessive quantity, resulting in prolonged construction times and SCC with limited spatial coverage.Therefore, it is imperative to employ adaptive sampling to obtain waypoints.The waypoints utilized in SCC construction must satisfy two requirements: first, the points should be adequately spaced apart, and second, the line segments connecting these waypoints should be free from obstacle collisions.
Below, we present the specific steps involved in our implementation process.We begin by performing a sampling process on the path points acquired from the path planning stage.To achieve this, we set a maximum length, denoted as L max , and then proceed to calculate the cumulative distance along the path points starting from the start point.Once the cumulative distance surpasses the specified L max threshold, we incorporate the previous point into the set P and proceed to re-evaluate the cumulative length from the current point.This iterative process continues until we reach the end point.However, it is crucial to bear in mind that the sequence of waypoints mentioned above does not guarantee obstacle-free connections between neighboring line segments, as illustrated in Figure 8.Therefore, in situations where the adjacent waypoints p i and p i+1 are linked by line segments intersecting with obstacles, we introduce an intermediary point p m through further sampling.Subsequently, we assess whether the line segments formed by the newly inserted point p m with the points p i and p i+1 intersect with any obstacles.If there are no intersections, we can proceed to check the subsequent line segments.Nonetheless, should there still be line segments that intersect with obstacles, we persist in sampling additional intermediate points between these segments to find feasible connections.By diligently following this approach, we ultimately derive a new sequence of waypoints denoted by P.This newly obtained path maximizes the distance between adjacent points while ensuring that it remains within the bounds of L max .Moreover, the waypoints in this sequence are meticulously adjusted to avoid any consecutive intersections with obstacles along the connecting line segments.

Obtain Discrete Obstacle Points
Unlike in previous works, such as [28,39], we adopt a different approach for discretization.Instead of discretizing the entire region occupied by obstacles, we concentrate solely on discretizing the boundaries of these obstacles.By doing so, we significantly expedite the generation of safe convex corridors (SCCs).To elucidate, our process commences with the discretization of the edges of the polygons resulting from the convex decomposition of the obstacles.The specific steps are as follows: 1.
We discretize the boundaries of the convex polygons forming the obstacles by sampling points along their edges.The Euclidean distance between the sampled points is denoted as ε 1 , and it is imperative to include the vertices of the polygon obstacles in the sampling.The resulting discrete points constitute a set denoted as O.

2.
Utilizing the points in the set O as centers and r as the radius, we construct a series of circles, where r represents the space rover's coverage circle.As depicted in Figure 5, both covering circles have an identical radius.

3.
Subsequently, we discretize the circles, with the Euclidean distance between the discrete points denoted as ε 2 .These discrete points are collected into a set denoted as obs * .Referring to Figure 9a, the red points represent the discretized obstacle point set obs * .
The calculation for the radius r is outlined below:

Safe Convex Corridor Construction
The construction of a safe convex corridor is based on the global waypoints, denoted as P = {p 1 , p 2 , • • • , p N p }.The start point is denoted as p 1 , while the end point is represented by corresponds to a segment in the free space, achieved through adaptive sampling.To establish the safe convex corridor, we create a convex polygon SC i around each directed line segment − → L i .By utilizing these convex polygons, the safe convex corridor SCC(P) = N p −1 i=1 SC i can be obtained.Here, SC i denotes the ith convex polygon constructed around − → L i .Figure 10 visually demonstrates the constructed safe convex corridor, effectively eliminating a significant amount of redundant obstacles.The intersection between adjacent convex polygons is guaranteed to be nonempty, with p i being a part of SC i−1 ∪ SC i for all i = 2, 3, • • • , N p − 1, ensuring the connectivity of the SCC.Failure to maintain connectivity would compromise the safety of the trajectory, as shown in Figure 11.This is why we generate SC i using directed line segments − → L i instead of individual points.We will create two safe convex corridors, denoted as SCCf and SCCr, for the centers O f (t) = (x f (t), y f (t)) and O r (t) = (x r (t), y r (t)), respectively.By using Equation (11), we determine the corresponding O f and O r from P, denoted as P f Ä O f 1 , O f 2 , . . ., O f N p ä and P r O r1 , O r2 , . . ., O rN p , respectively.We then utilize these two sets of centers to construct the convex corridors SCCf and SCCr.Below, we eliminate the subscripts "f" and "r" since the construction process for both safe convex corridors is identical.Therefore, we will only describe it once.
Next, we will illustrate the process of determining the constraints within the corresponding safe convex corridor using the directed line segment − → L i as an example.This process consists of four steps: creating a bounding rectangle (Section 5.1), establishing an initial ellipse (Section 5.2), forming a convex polygon (Section 5.3), and defining the constraints within the safe convex corridor (Section 5.4).The complete process can be referred to Figure 9 and Algorithm 4.

Creating a Bounding Rectangle
To ensure the connectivity of the SCC and prevent excessive computation time, we define a bounding rectangle Pr(T 1 T 2 T 3 T 4 ).If there are no obstacle points from the set obs * inside this bounding rectangle, we skip the next two steps (Sections 5.2 and 5.3).The length of the adjacent sides of the bounding rectangle is denoted as L = − → L i 2 + 2∆s and 2h (refer to Figure 12).The redundancy length 2∆s serves to enhance the continuity of the safe convex corridor while ensuring that it remains considerably small to prevent any potential interference with obstacles.The side aligned with the direction of − → L i is inclined at an angle δ i .
The upper half of the rectangle Pr is denoted as the rectangle Pr up (T 1 T 2 M 2 M 1 ), while the lower half of Pr is denoted as rectangle Pr low (M 1 M 2 T 3 T 4 ).The boundary between them is defined by the directed line segment −−−→ p i p i+1 .M 1 represents the midpoint of the line segment T 1 T 4 , and M 2 represents the intersection point of the line segment T 2 T 3 .The coordinates of the six points of the bounding rectangle are as follows: M 2 : Pr : The bounding rectangle Pr.
The aforementioned process corresponds to the function findPr(•) in Algorithm 4, specifically in the fourth line.

Establishing an Initial Ellipse
This step involves the determination of a suitable initial ellipse, denoted as OV 0 .The major axis of the ellipse corresponds to the directed line segment − → L i , while the minor axis is perpendicular to − → L i .Mathematically, the ellipse is represented by the equation OV(E, d) = {x = Ex + d| x ≤ 1}, where the unit circle with the center at the origin has |x| ≤ 1.The matrix E ∈ R 2 captures the rotation and scaling transformation of the ellipse, and it can be decomposed as E = R T SR, where S = diag(a, b) is a diagonal matrix with a and b representing the lengths of the ellipse's semiaxes.Specifically, a corresponds to the semiaxis length in the direction of − → L i , while b represents the semiaxis length perpendicular to − → L i .The matrix R denotes the rotation matrix, and d represents the translation of the ellipse.
For the initial ellipse OV 0 (E 0 , d), its radius is determined as , and its center is located at the midpoint p q between p i and p i+1 .It is important to note that the major and minor axes of the ellipse are of equal length.The coordinates of d are given by p q , as illustrated in Figure 9a.
The process described above corresponds to the step in Algorithm 4, specifically in the sixth line, with the green ellipses in Figure 9a representing the initial ellipses created by our method.

Forming a Convex Polygon
The process involves identifying the obstacle point, denoted as obs min ∈ obs * , which is closest to the center point p q of the ellipse.This obstacle point is used to construct a new ellipse, denoted as OV new .The current half-space H s j that contains the ellipse OV new at the point obs min is retained, while excluding the portions of obs * that do not belong to the half-space H s j .This operation is repeated using the new ellipse OV new until there are no obstacles within the ellipse, indicated by OV new ∩ obs * = ∅.By obtaining the set of half-spaces H s i = ∩ m j=1 H s j and the bounding rectangle Pr i (T 1 T 2 T 3 T 4 ), we can construct the convex polygon SC i = H s i ∩ Pr i .It is worth noting that SC i is guaranteed to be convex because the intersection of convex sets is always convex.The specific steps are outlined as follows.
First, we identify the obstacle points within the bounding rectangle Pr and denote them as O remain .The obstacles outside Pr are not considered, which increases the corridor generation process.Next, we need to find the coordinates of the obstacle point obs min in O remain that is closest to the center point p q of the ellipse.To accomplish this, we transform the coordinates of obs min into the coordinate system of the ellipse.This is achieved by applying a transformation that maps OV(E, d) to x ≤ 1.In the coordinate system of the ellipse, the transformed coordinates of obs are represented as obs ov = E −1 obs − p q .In this coordinate system, the distance from obs ov to the center p q of the ellipse is equivalent to the distance from obs ov to the origin, denoted as dis = obs ov 2 .Based on the input obs ovmin , we generate a new ellipse OV new .The new ellipse OV new retains the same a-axis and center p q as the original ellipse, while adjusting the b-axis.This is achieved by using a scaling matrix E st to stretch or shrink the b-axis.The transformation matrix E new = E • E st represents the expression for the new ellipse OV new .
At the point obs ovmin , there exists a tangent line that separates the new ellipse OV new from the obstacle O remain .The half-space where the ellipse lies is the desired half-space Hs j .
Next, we use the hyperplane H s j Ä H a s j , H b s j ä to exclude the obstacle O remain .If O remain = ∅, we continue to stretch or shrink the ellipse until there are no more obstacles within the ellipse.By following the steps above, we obtain a series of half-spaces H s 1 ∼ H s m , whose union is the set H s i = H s 1 ∩ H s 2 ∩ . . .∩ H s m .The set H s i is convex because the intersection of convex sets is convex.A complete description can be found in Algorithm 4; removeObstacles(•) represents the use of a hyperplane constraint to exclude obstacles on the other side of the ellipse.Repeat the above process along the adjacent points of the waypoints P until reaching the end point, completing the generation of the SCC.

Defining the Constraints within the Safe Convex Corridor
The previous steps focused on creating safe convex corridors.In this step, our objective is to convert the collision avoidance constraints for the space rover into linear constraints within the safe convex corridor.Specifically, we have generated safe convex corridors, denoted as SCCf and SCCr, corresponding to the center points O f = (x f , y f ) and O r = (x r , y r ), respectively.It is important to note that we are not constructing a convex polygon for each adjacent pair of waypoints, but rather for a series of path points lying within the convex polygon (refer to Figure 13).
For instance, a path point p k within the i-th convex polygon can be represented as follows: In this equation, the matrices A and B are derived from the edges of the convex polygon.
Here, i = 1, 2, . . ., N p − 1 and k = k 1 , k 2 , . . ., k g , where p k 1 = p i and p k g = p i+1 .Here, g represents the number of path points within the i-th convex polygon.The position of the space rover's coverage circle center within the corresponding safe convex corridor (SCC) can be represented by the following equation: In the above formula, j represents the index of the discrete path points generated by path planning, with j = 1, • • • , N(N > N p ).The first row indicates that the front circle center O f (t) = (x f (t), y f (t)) is within the safe convex corridor SCCf, and the second row indicates that the rear circle center O r (t) = (x r (t), y r (t)) is within the safe convex corridor SCCr.Lastly, the obstacle avoidance constraints in the trajectory planning problem 6 have been transformed into Equations (11) and (20).
The depiction of constraints within the safe convex corridor (SCC) reveals that a set of waypoints resides within a convex polygon SC i .These path points are generated during the path planning stage, but we specifically utilize the sampled points p i and p i+1 to construct the convex polygon SC i .The side of the line equation can be expressed as a linear constraint

Experimental Analysis and Discussion
The feasibility and effectiveness of the proposed trajectory planning framework have been verified in a typical cluttered planetary surface environment.The impact of parameters on the algorithm has been discussed, and a comparison has been made between the proposed SCC algorithm and other state-of-the-art obstacle avoidance algorithms.In our simulation experiments, IPOPT [40] and MA57 were selected as the solvers for the optimization problem.

Simulation Platform and Parameters
The simulations are conducted in MATLAB 2020b and run on a desktop with AMD Ryzen 5 3600X 6 Core CPU @3.8 GHZ and 16 G RAM.The parameters used in the simulations are listed in Table 2. Weighting factor for time in the objective function 10 -

Simulation Results
The simulations are conducted in a cluttered space measuring 40 m × 40 m.In this space, 7 irregular obstacles are randomly positioned.By employing the proposed convex decomposition algorithm described in Section 3, a total of 10 subconvex polygons are obtained.Among these polygons, the largest obstacle occupies an area of 27.763 m 2 , while the smallest one covers an area of 2.488 m 2 .The initial and terminal states of the simulation are defined as x 0 = 8.551 m, y 0 = 7.672 m, θ 0 = 0.785 rad and x t f = 30.736m, y t f = 34.608m, θ t f = 0.070 rad, respectively.
The resulting safe convex corridors SCCf and SCCr, along with the optimized trajectory, are depicted in Figure 14.In Figure 14a,b, the inflated boundaries of the obstacles (represented by orange dots) are utilized for collision detection.The expansion of the convex corridor halts upon encountering surrounding obstacles, and in some cases, it takes the shape of a rectangle due to the absence of obstacle points within the Pr region.Consequently, no further steps are executed.Figure 14c displays the resulting trajectory, which surpasses the initially generated path by the hybrid A* algorithm.The discrepancy in results is due to the hybrid A* algorithm's lack of consideration for the upper bounds of state and control variables, and its focus solely on partial kinematics.Additionally, its objective function is designed to find the shortest path, leading to differences in trajectory outcomes when compared with our comprehensive trajectory planning framework.Statistical analysis of the SCCf/SCCr areas and the number of ellipse reshaping steps are presented in Figure 15.In the figure, it is evident that the ellipse can undergo a maximum of 9 adjustments, whereas the minimum number of adjustments is 0. A value of 0 indicates the absence of any obstacles within the safe corridor.Additionally, Figure 16 illustrates the state and control variables of the resulting trajectory, all of which remain within their respective limits.
. (a-g) Time profile of decision variables that are within the defined range.

Method Comparison for Optimality and Time Efficiency
To compare the proposed method with state-of-the-art collision avoidance methods, namely, the rectangle safe corridor method [28] and the area method [18], we kept the objective function, constraints, and initial solution in the trajectory optimization problem consistent, except for the collision avoidance constraints.The simulations were conducted in four different unstructured environments, as depicted in Figure 17.The parameters of the obstacles, as well as the initial and terminal poses, are listed in Table 3.The simulation results of the three methods are presented in Table 4.
It is evident that both the proposed method and the rectangle safe corridor method outperform the area method in terms of time efficiency.Moreover, the proposed method demonstrates slightly superior performance compared with the rectangle safe corridor method.In case 1, which consists of the highest number of irregularly distributed obstacles, the area method exhibits the poorest performance.The time efficiency of the area method is closely tied to the number of obstacles and vertices.As the number of obstacles surpasses a certain threshold, the area method may fail due to the algorithm taking longer to execute than the predefined tolerance time.The aforementioned results clearly illustrate the significant reduction in computation time achieved by the trajectory optimization formulation based on our method.This improvement is attributed to the elimination of redundant obstacles and the utilization of linear constraints for the safe corridor.In contrast, the area method relies on nonlinear constraints and is unable to eliminate redundant obstacles.Consequently, it encounters difficulties in solving the optimization problem, particularly when dealing with a large number of obstacles and vertices.
The convergence efficiency of trajectory optimization models using three different collision avoidance methods in case 1 is illustrated in Figure 18.The figure shows the optimal value and constraint violation (in f _pr in the IPOPT solver).It is evident that the proposed safe convex corridor method outperforms the other two methods in terms of performance.
The two types of safe corridor methods (including our proposed method and the rectangle safe corridor method) may unavoidably sacrifice some free space during the corridor construction process, which could potentially result in the loss of the optimal solution.Despite the lower computational efficiency of the area method, it is able to make full use of the available free space.This explains why the area method exhibits the smallest loss function among the four cases (refer to Table 4).According to the experimental results, our method excels in both time efficiency compared with the area method and optimality loss rate compared with the rectangle safe corridor method.This indicates that our method achieves superior efficiency while minimizing the impact on optimality, making it a more suitable choice compared with the other two methods.

Impact of Parameters of the Bounding Rectangle Pr on the Optimization Problem
Moreover, we discussed the impact of the Pr parameters, namely ∆ s , h, and − → L i 2 .
Since − → L i 2 has already been determined, we will only discuss the other two parameters.It is important to note that ∆ s should not be excessively large, as it may result in the presence of obstacle points inside the ellipse.This limitation arises because we have fixed the axis of the ellipse along − → L i .Moving on, we examine the influence of the parameter h on the optimization problem.As depicted in Figure 19a, with the increase in h, the area of the safe convex corridor expands, and the value of the optimization objective function decreases rapidly until it eventually stabilizes.Figure 19b demonstrates that the computation time decreases rapidly and eventually reaches a steady state as h increases, which aligns with the evolution pattern of the objective function.The initial computation time is longer due to the challenge of finding a feasible or optimal solution when the area of the safe corridor is relatively small.It is therefore crucial to select an appropriate value for h to avoid wasting computation time on SCC generation if h is too large, or risking the loss of the optimal solution if h is too small.In practice, h is defined as h = max(λ h L c , h max ), where L c denotes the length of the current oriented path segment, λ h is a non-negative constant, and h max is equal to twice the length of the rover.Figure 20 illustrates five optimized trajectories generated with different values of h.This outcome is consistent with the results shown in Figure 19, where the trajectories for the initial three values of h differ, while the trajectories for the last two values of h overlap.This phenomenon occurs because, at this stage, increasing the value of h does not lead to a further increase in the area of the safe convex corridor.Due to the current obstacle environment, the area of the safe convex corridor can only reach a certain maximum.Additionally, it is possible that the optimal solution satisfying the current optimization problem is already within the feasible region, rendering the increase in the area of the safe convex corridor irrelevant to the optimal solution.

Discussion on Applicability
The trajectory planning framework proposed in this study is versatile and can be applied not only to the specific problem we have presented but also to various other problem variations.By customizing the objective functions and constraints to match the specific scenario, remarkable results can still be achieved.The effectiveness of the proposed trajectory optimization framework is demonstrated in Figure 21, which showcases optimized trajectories with different objectives and constraints.For further formulation details, please refer to Table 5.For example, if the primary objective is to minimize the time required for the space rover's trajectory, one could consider using the framework provided in Problem 1.If the objective is to optimize both time and energy constraints, Problem 2 or 3 formulations would be suitable options.Alternatively, if the focus is solely on guiding the space rover from random points to a designated target without considering its pose, i.e., no specific requirements for the pose at the end point, Problem 7 could be used.For scenarios where certain constraints, such as velocity or angular velocity, are not a concern for the space rover, considering the frameworks presented in Problem 8 or 9 would be appropriate.

Conclusions
This paper presents a trajectory optimization method of the nonholonomic rover based on safe convex corridors.The collision avoidance modeling problem in cluttered environments is transformed into a safe convex corridor construction problem, and a simple linear programming model describing the collision avoidance constraints in cluttered environments is presented.Detail implementations of the convex decomposition algorithm and the safe convex corridor, i.e., SCCf and SCCr, construction algorithm are introduced.The main conclusions of this paper are summarized as follows: (1) The trajectory planning framework, which is based on the proposed safety convex corridor method, outperforms two other advanced methods in terms of timeliness, while ensuring a significantly low rate of optimal solution loss.It enables the space rover to achieve a collision-free arrival from the starting point to the destination while maintaining trajectory optimality.(2) A novel convex decomposition algorithm is introduced, which generates significantly fewer subconvex polygons compared with the alternative methods.This enhances the efficiency of the entire trajectory planning framework.(3) Furthermore, the paper discusses the strategies for parameter selection in these algorithms.The effectiveness and superiority of the proposed methods are validated through extensive simulations conducted in various meticulously designed typical environments.
While the trajectory planning framework presented in this paper assumes a fully known global map, it can be extended to handle scenarios where obstacles are not known a priori.Specifically, as the space rover explores the environment, it continuously senses its surroundings and generates real-time obstacle maps.This online localization and mapping process allows the rover to create a local map and estimate its position relative to encountered obstacles.Seamlessly integrated with the trajectory planning framework, the online localization and mapping modules enable the rover to adapt to changing environments.As the rover navigates, it simultaneously senses and updates its map information in real time.Leveraging up-to-date map information, our algorithm dynamically recalculates trajectories to efficiently circumvent newly detected obstacles.

Figure 1 .Figure 2 .Figure 3 .
Figure 1.(a) The safety convex corridor established in the map in Figure 3c; (b) collision avoidance constraints are represented as linear constraints within the convex corridor region.

Figure 4 .
Figure 4.The space rover trajectory optimization framework based on safe convex corridors.

Figure 5 .
Figure 5. Geometric description of the space rover.

Figure 6 .
Figure 6.An example of polygon segmentation using the proposed convex decomposition algorithm: (a) decomposition of a nonconvex obstacle; (b) subconvex polygons after decomposition.

Figure 7 .
Figure 7.Comparison of Keil's algorithm, Bayazit's algorithm, and the proposed convex decomposition algorithm: (a) Keil's algorithm, (b,c) Bayazit's algorithm,(d-f) proposed.It can be observed that our proposed algorithm yields fewer subconvex polygons in the decomposition compared with the other two algorithms.Additionally, Bayazit's algorithm is incapable of handling concave polygons in the case (c).

Figure 8 .
Figure 8.When the line segment between the points p i and p i+1 intersects with an obstacle, we select the intermediate point p m , where m = round((2i + 1)/2).

Figure 9 . 1 SCFigure 10 .Figure 11 .
Figure 10.The figure illustrates a safe convex corridor (SCC) method, designed to mitigate the influence of redundant obstacles on trajectory planning problems.

Figure 14 .
Figure 14.Display of optimal trajectory.The coverage circle centers of the space rover need to stay within the safety corridors SCCf and SCCr.(a) The safe convex corridor SCCf is generated using the waypoints P f for the center of the front circle O f .(b) The safe convex corridor is generated using the waypoints P r for the center of the rear circle O r .(c) The trajectory is generated by utilizing these two safe convex corridors.

Figure 15 .
Figure 15.(a) The area of the convex polygon that makes up the safe convex corridor and the abscissa denotes the waypoint number from the start point to the end point.(b) Number of elliptic transformations in the process of generating the safe convex corridor.

Figure 20 .
Figure 20.The impact of the parameter h on the optimal trajectory.

Table 1 .
Decomposition procedures of the proposed irregular polygon.

Table 2 .
Basic parameter settings for the rover in the simulation environment.

Table 4 .
Comparison of experimental results of different methods.
Optimality loss: ∆ obj = cost of current method − cost of area method, rate of optimality loss: L obj = ∆ obj /cost of current method, ∆ t = (CPU time of area method − CPU time of current method)/CPU time of current method.

Table 5 .
Description of different trajectory optimization formulations.Figure 21.Optimized trajectory with different objectives and constraints.