Tutorials for SCPToolbox.jl by ACL
| Part | Notebooks | Slides | Description |
|---|---|---|---|
| 0 | p0_welcome.ipynb |
p0_welcome.slides.html |
Introduction |
| 1 | p1_clp.ipynb |
p1_clp.slides.html |
Conic linear programs (CLPs) |
| 2 | p2_scp.ipynb |
p2_scp.slides.html |
Simple sequential convex programming (SCP) example |
| 3 | p3_dubin.ipynb |
p3_dubin.slides.html |
Dubin's car trajectory optimization |
| 4 | p4_rocket.ipynb |
Rocket-landing guidance (self-guided tutorial) | |
| 4* | p4_rocket_solutions.ipynb |
Rocket-landing guidance (solutions) |
- Install
Julia v1.7.1,Python 3.10,matplotlib 3.5.1, andffmpeg. - Clone the
masterbranch ofSCPToolbox.jlfrom here into~/tmp.
$ cd ~/tmp
$ git clone https://github.com/UW-ACL/SCPToolbox.jl.git
$ cd SCPToolbox.jl
$ git checkout master
- Clone this tutorial repository into
~/tmpand install TeX-related packages for plotting scripts inSCPToolbox.jl:
$ cd ../
$ git clone https://github.com/UW-ACL/SCPToolbox_tutorial.git
$ cd SCPToolbox_tutorial
$ xargs sudo apt-get install <apt.txt
- Activate the
tutorial.jlpackage environment in JuliaPkgREPL, addSCPToolbox.jlas a dependency and precompile:
$ cd src
julia> ]
(@v1.7) pkg> activate ..
(tutorial) pkg> dev ../../SCPToolbox.jl/
(tutorial) pkg> precompile
- Re-activate the base Julia environment and install/build the
IJuliapackage to obtain JupyterLab:
(tutorial) pkg> activate
(@v1.7) pkg> add IJulia
(@v1.7) pkg> build IJulia
- Launch JupyterLab from Julia REPL. (Conda and JupyterLab installation (self-contained in Julia) will be automatically prompted if they don't exist already.)
julia> jupyterlab(dir=pwd())
| Slide | Menu option | Command |
|---|---|---|
| New | Slide Type |
Slide |
| Persistent | Slide Type |
Fragment |
| Hide input only | Add Tag |
hide-input |
| Hide output only | Add Tag |
hide-output |
| Hide entire cell | Slide Type |
Skip |
jupyter nbconvert --output-dir='slides' p1_clp.ipynb --to slides --no-prompt --TagRemovePreprocessor.remove_input_tags={\"hide-input\"} --TagRemovePreprocessor.remove_all_outputs_tags={\"hide-output\"} --post serve