Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thowell/directtrajectoryoptimization.jl
A Julia package for constrained trajectory optimization using direct methods.
https://github.com/thowell/directtrajectoryoptimization.jl
collocation optimal-control optimization robotics trajectory-optimization
Last synced: about 4 hours ago
JSON representation
A Julia package for constrained trajectory optimization using direct methods.
- Host: GitHub
- URL: https://github.com/thowell/directtrajectoryoptimization.jl
- Owner: thowell
- License: mit
- Created: 2021-09-22T19:23:38.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-12T15:18:53.000Z (over 2 years ago)
- Last Synced: 2024-08-09T05:56:47.189Z (3 months ago)
- Topics: collocation, optimal-control, optimization, robotics, trajectory-optimization
- Language: Julia
- Homepage:
- Size: 147 KB
- Stars: 28
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DirectTrajectoryOptimization.jl
[![CI](https://github.com/thowell/DirectTrajectoryOptimization.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/thowell/DirectTrajectoryOptimization.jl/actions/workflows/CI.yml)
[![codecov](https://codecov.io/gh/thowell/DirectTrajectoryOptimization.jl/branch/main/graph/badge.svg?token=821EI7HJEL)](https://codecov.io/gh/thowell/DirectTrajectoryOptimization.jl)A Julia package for solving constrained trajectory optimization problems:
```
minimize cost_T(state_T; parameter_T) + sum(cost_t(state_t, action_t; parameter_t))
states, actions
subject to dynamics_t(state_t, action_t, state_t+1; parameter_t), t = 1,...,T-1
constraint_t(state_t, action_t; parameter_t) {<,=} 0, t = 1,...,T
state_lower_t < state_t < state_upper_t, t = 1,...,T
action_lower_t < action_t < action_upper_t, t = 1,...,T-1.
```with direct trajectory optimization.
Fast and allocation-free gradients and sparse Jacobians are automatically generated using [Symbolics.jl](https://github.com/JuliaSymbolics/Symbolics.jl) for user-provided costs, constraints, and dynamics. The problem is solved with [Ipopt](https://coin-or.github.io/Ipopt/).
## Installation
```
Pkg.add("DirectTrajectoryOptimization")
```## Quick Start