Skip to content

QingtanZeng/CTrjGen.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ℹ️ 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.

Computational Trajectory Generation

Sequential Convex Programming for trajectory generation with hand-parser.

CTrjGen FlowChart

License GPL 3

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].


Document

see development report Computational Trajectory Generation.

Overview

CTrjGen is mainly composed of three parts.

  1. OCP Class: dynamics, constraints, cost and ocp parameters.
  2. SCP Class and parser function.
  3. SubProblem class and lsocp structure used in ECOS.

Sparse structure of A,b,c Array from SOCP

Implementation Highlights

  1. 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.

Sparse structure of A,b,c Array from linear SOCP

2. Inverse-free FOH discretization using RK4 of nonlinear system [3].

Reference

[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.

License

Copyright (C) 2025 Qingtan Zeng
This project is licensed under the GPLv3 License - see the LICENSE file for details.

Releases

No releases published

Packages

 
 
 

Contributors

Languages