ℹ️ The repository CTrjGen is being developed in parallel with the author's R&D progress, to implement more new design features from academic papers from 2023-2026 and practical functions including AutoDiff, SCS solver and so on.
Sequential Convex Programming for trajectory generation with hand-parser.
The Computational Trajectory Generation (CTrjGen) is a Julia implementation of the SCP PTR algorithm [1] for trajectory generation with a hand-parsed process and ECOS (a linear SOCP solver) [4], solely for academic purposes.
Sequential Convex Programming (SCP) is a type of multiple-shooting direct method for numerical optimal control problems, modeled from autonomous systems such as Autonomous Driving, Robotic Loco-manipulation, Rocket Landing and so on. The Penalized Trust Region (PTR) is one of SCP algorithm designed by Dr. T. P. Reynolds, Prof. B. Açıkmeşe et al. from ACL, University of Washington [1].
see development report Computational Trajectory Generation.
CTrjGen is mainly composed of three parts.
- OCP Class: dynamics, constraints, cost and ocp parameters.
- SCP Class and parser function.
- SubProblem class and lsocp structure used in ECOS.
- Hand-Parsed process
- Rather than using automatic parsers such as JuMP or CVXPY [2], the standard form of linear SOCP is hand-parsed from the original OCP. Because developers must be familiar with each calculation step, eliminate computational bottlenecks and test software performance,
- especially for real-time embedded systems, which usually have limited computing resources, static memory allocation,require functional safety review and failure may cause losses in the real world.
[1] Reynolds, T. P. (2020). Computational guidance and control for aerospace systems. University of Washington.
[2] https://github.com/UW-ACL/SCPToolbox.jl
[3] Kamath, A. G., Doll, J. A., Elango, P., Kim, T., Mceowen, S., Yu, Y., ... & Açıkmeşe, B. (2025). Onboard Dual Quaternion Guidance for Rocket Landing. arXiv preprint arXiv:2508.10439.
[4] Domahidi, A., Chu, E., & Boyd, S. (2013, July). ECOS: An SOCP solver for embedded systems. In 2013 European control conference (ECC) (pp. 3071-3076). IEEE.
[5] O'Donoghue, B. (2021). Operator splitting for a homogeneous embedding of the linear complementarity problem. SIAM Journal on Optimization, 31(3), 1999-2023.
Copyright (C) 2025 Qingtan Zeng
This project is licensed under the GPLv3 License - see the LICENSE file for details.


