# Sequential Convex Programming for Nonlinear Optimal Control in UAV Trajectory Planning
## 1 Introduction  
Quadcopters are the subject of ongoing research due to their agility, mechanical simplicity, and robustness. They are capable of performing a wide range of tasks and have been utilized as platforms for investigating vision-based pose estimation [1], nonlinear control [2], and learning [3], with many other applications. Moreover, they are helpful tools for solving practical issues, such as surveillance [4] and inspection [5]. Trajectory/path planning has obtained more attention as the interest in quadcopters has increased. These machines may interact with each other and the environment. As described in [6; 7; 8], recent trajectory optimization methods utilize a simple kinematics model and exclusively consider the acceleration vector as the decision variable. Consequently, the resulting trajectories only include information about velocities and positions. These methods assume the presence of a reliable onboard trajectory tracking controller, which justifies using a simple kinematics model. In other words, the trajectory planning algorithm independently controls each motor on the quadrotor to achieve stability. The early works [9; 10] introduced traditional control methods for quadrotors, specifically a nonlinear geometric tracking controller on SE (3). These controllers can be classified as PID (proportional-integral-derivative) since they directly control the error dynamics in the attitude and position between the quadrotor and its desired target trajectory. After introducing traditional control methods, trajectory planning techniques have emerged as a distinct optimization issue, generally ignoring the actual dynamics of the drone. In robotics, the generation of trajectories that adhere to avoidance constraints has been significantly studied. As stated in [11], there are two distinct approaches: planning and reacting. The planned strategy involves generating feasible courses in advance, whereas the reactive approach usually relies on an online collision avoidance system to respond to dangerous situations, as mentioned in [12]. Additionally, the two methods can also be combined. This work focused on a planned methodology. The planning can be performed in a decentralized manner [13] or in a centralized manner [14], as described in this paper. This study was conducted on trajectory generation with avoidance constraints for numerous vehicles, including differential drive robots [15], underwater vehicles [16],and aircraft [17]. Pattern formation research [18; 19] also relies on collision-free trajectory generation. Various convex optimization techniques are employed to find collision-free trajectories while considering specific performance criteria. A model predictive control problem is described in [20], which examined highly specialized quadcopter dynamics and subsequently derived the constraints. The generation of trajectories involves constructing the trajectory of the quadcopter based on its jerk and solving a convex optimization problem for each independent axis. A technique for generating trajectories that accounts for simple dynamics constraints was proposed in [6], which is independent of the type of vehicle. Various trajectory generation strategies have been proposed, depending on the desired objective. Advanced techniques for generating trajectories for quadcopters that consider the agent constraints can be found in [17; 21]. This work aims to minimize the total thrust needed to fly the trajectories while using avoidance constraints to synchronize the trajectories of several vehicles. We assume that the agent can follow the generated trajectories (using an appropriate controller) if they satisfy a feasibility check. Separating the lengthy feasibility check from the trajectory planning algorithm results in a simple and flexible approach for rapidly generating collision-free trajectories for many vehicles. A method for planning aircraft trajectories that considers avoidance constraints and utilizes simplified dynamics was proposed in [10].