  This paper presents an algorithm to solve non-convex optimal control
problems, where non-convexity can arise from nonlinear dynamics, and non-convex
state and control constraints. This paper assumes that the state and control
constraints are already convex or convexified, the proposed algorithm
convexifies the nonlinear dynamics, via a linearization, in a successive
manner. Thus at each succession, a convex optimal control subproblem is solved.
Since the dynamics are linearized and other constraints are convex, after a
discretization, the subproblem can be expressed as a finite dimensional convex
programming subproblem. Since convex optimization problems can be solved very
efficiently, especially with custom solvers, this subproblem can be solved in
time-critical applications, such as real-time path planning for autonomous
vehicles. Several safe-guarding techniques are incorporated into the algorithm,
namely virtual control and trust regions, which add another layer of
algorithmic robustness. A convergence analysis is presented in continuous- time
setting. By doing so, our convergence results will be independent from any
numerical schemes used for discretization. Numerical simulations are performed
for an illustrative trajectory optimization example.
