Skip to content
@control-toolbox

control-toolbox

Toolbox for optimal control

Welcome to control-toolbox!

The control-toolbox ecosystem gathers   Julia   packages for mathematical control and applications.

The root package is OptimalControl.jl which aims to provide tools to model and solve optimal control problems with ordinary differential equations by direct and indirect methods.

Tip

From the documentation, you can find tutorials to define and solve optimal control problems with OptimalControl.jl.

See also some applications of OptimalControl.jl:

Documentation

Installation ©

To install OptimalControl.jl please open Julia's interactive session (known as REPL) and press ] key in the REPL to use the package mode, then add the package:

julia> ]
pkg> add OptimalControl

Note

Sometimes the above command can fail due to the default Julia registry ('General') not being installed for some reason. You can check that the registry is installed with

pkg> registry st
Registry Status 
[23338594] General (https://github.com/JuliaRegistries/General.git)

If the General registry is missing, simply add it

pkg> registry add General

then retry the add command.

Main repositories

The control-toolbox hierarchy includes:

  • OptimalControl.jl: main package
  • CTBase.jl: fundamentals of the control-toolbox ecosystem
  • CTDirect.jl: direct transcription of an optimal control problem and resolution
  • CTFlows.jl: classical flow, Hamiltonian flow, flow from optimal control problem
flowchart TD
O(<a href='https://control-toolbox.org/OptimalControl.jl/stable/'>OptimalControl</a>) --> B(<a href='https://control-toolbox.org/OptimalControl.jl/stable/api-ctbase.html'>CTBase</a>)
O --> D(<a href='https://control-toolbox.org/OptimalControl.jl/stable/api-ctdirect.html'>CTDirect</a>)
O --> F(<a href='https://control-toolbox.org/OptimalControl.jl/stable/api-ctflows.html'>CTFlows</a>)
F --> B
D --> B
Loading

Contributing

Any contributions are welcomed, check out how to contribute to a Github project. If it is your first contribution, you can also check this first contribution tutorial. You can find first good issues (if any 🙂) here and the list of control-toolbox issues at the control-toolbox list of issues.

For any package, if you think you found a bug or if you have a feature request or suggestion, feel free to open an issue. Before opening a pull request, start an issue or a discussion on the topic, please. If you want to ask a question, feel free to start a discussion.

Note

If you want to add an application or a package to the control-toolbox ecosystem, please follow this set up tutorial.

Citing us

If you use the package OptimalControl.jl in your work, please cite us.

Misc

Pinned Loading

  1. OptimalControl.jl OptimalControl.jl Public

    Model and solve optimal control problems in Julia

    Julia 70 8

  2. OptimalControlProblems.jl OptimalControlProblems.jl Public

    Optimal control problems for Julia

    Julia 10 1

  3. CTBase.jl CTBase.jl Public

    Fundamentals of the control-toolbox ecosystem

    Julia 12 3

  4. CTDirect.jl CTDirect.jl Public

    Direct transcription of an optimal control problem and resolution

    Julia 9 6

  5. CTFlows.jl CTFlows.jl Public

    Flows: classical, Hamiltonian, from OCP and more

    Julia 1 2

  6. CTApp.jl CTApp.jl Public template

    Control-toolbox template for application and package

    Julia 2

Repositories

Showing 10 of 37 repositories
  • CTDirect.jl Public

    Direct transcription of an optimal control problem and resolution

    control-toolbox/CTDirect.jl’s past year of commit activity
    Julia 9 MIT 6 11 0 Updated Nov 15, 2024
  • BVP-DAE Public

    Proof of concept: interior point bvp with collocation to initialise shooting for the Goddard problem

    control-toolbox/BVP-DAE’s past year of commit activity
    Jupyter Notebook 0 0 1 1 Updated Nov 4, 2024
  • LossControl.jl Public

    Optimal control problems with loss control: applications

    control-toolbox/LossControl.jl’s past year of commit activity
    Julia 2 MIT 1 2 1 Updated Nov 4, 2024
  • OptimalControl.jl Public

    Model and solve optimal control problems in Julia

    control-toolbox/OptimalControl.jl’s past year of commit activity
    Julia 70 MIT 8 23 (1 issue needs help) 7 Updated Nov 4, 2024
  • CTModels.jl Public

    Gather the models for the control-toolbox.

    control-toolbox/CTModels.jl’s past year of commit activity
    Julia 0 MIT 0 0 2 Updated Nov 4, 2024
  • MedicalResonanceImaging.jl Public

    Optimal control in Medical Resonance Imaging by Nuclear Magnetic Resonance

    control-toolbox/MedicalResonanceImaging.jl’s past year of commit activity
    Julia 1 MIT 0 1 1 Updated Nov 4, 2024
  • control-toolbox/profiling’s past year of commit activity
    Julia 0 0 1 0 Updated Oct 30, 2024
  • CTBenchmarks.jl Public

    Control-toolbox benchmarks

    control-toolbox/CTBenchmarks.jl’s past year of commit activity
    Jupyter Notebook 9 3 4 0 Updated Oct 22, 2024
  • CTBase.jl Public

    Fundamentals of the control-toolbox ecosystem

    control-toolbox/CTBase.jl’s past year of commit activity
    Julia 12 MIT 3 20 (2 issues need help) 6 Updated Oct 18, 2024
  • CTFlows.jl Public

    Flows: classical, Hamiltonian, from OCP and more

    control-toolbox/CTFlows.jl’s past year of commit activity
    Julia 1 MIT 2 6 2 Updated Oct 18, 2024

Top languages

Loading…

Most used topics

Loading…