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
master
branch ofSCPToolbox.jl
from 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
~/tmp
and 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.jl
package environment in JuliaPkg
REPL, addSCPToolbox.jl
as 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
IJulia
package 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