Install Caesar.jl

Caesar.jl is one of the packages within the JuliaRobotics community, and adheres to the code-of-conduct.

Possible System Dependencies

The following (Linux) system packages are used by Caesar.jl:

# Likely dependencies
sudo apt-get install hdf5-tools imagemagick

# optional packages
sudo apt-get install graphviz xdot

For ROS.org users, see at least one usage example at the ROS Direct page.

Installing Julia Packages

The philosophy around Julia packages are discussed at length in the Julia core documentation, where each Julia package relates to a git repository likely found on Github.com. Also see JuliaHub.com for dashboard-style representation of the broader Julia package ecosystem. To install a Julia package, simply open a julia REPL (equally the Julia REPL in VSCode) and type:

] # activate Pkg manager
(v1.6) pkg> add Caesar

These are registered packages maintained by JuliaRegistries/General. Unregistered latest packages can also be installed with using only the Pkg.develop function:

# Caesar is registered on JuliaRegistries/General
julia> ]
(v1.6) pkg> add Caesar
(v1.6) pkg> add Caesar#janes-awesome-fix-branch
(v1.6) pkg> add Caesar@v0.10.0

# or alternatively your own local fork (just using old link as example)
(v1.6) pkg> add https://github.com/dehann/Caesar.jl

See Pkg.jl for details and features regarding package management, development, version control, virtual environments and much more.

Next Steps

The sections hereafter describe Building, [Interacting], and Solving factor graphs. We also recommend reviewing the various examples available in the Examples section.

New to Julia

Installing the Julia Binary

Although Julia (or JuliaPro) can be installed on a Linux computer using the apt package manager, we are striving for a fully local installation environment which is highly reproducible on a variety of platforms.

The easiest method is–-via the terminal–-to download the desired version of Julia as a binary, extract, setup a symbolic link, and run:

cd ~
mkdir -p .julia
cd .julia
wget https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.3-linux-x86_64.tar.gz
tar -xvf julia-1.6.3-linux-x86_64.tar.gz
rm julia-1.6.3-linux-x86_64.tar.gz
cd /usr/local/bin
sudo ln -s ~/.julia/julia-1.6.3/bin/julia julia
Note

Feel free to modify this setup as you see fit.

This should allow any terminal or process on the computer to run the Julia REPL by type julia and testing with:

VSCode IDE Environment

VSCode IDE allows for interactive development of Julia code using the Julia Extension. After installing and running VSCode, install the Julia Language Support Extension:

In VSCode, open the command pallette by pressing Ctrl + Shift + p. There are a wealth of tips and tricks on how to use VSCode. See this JuliaCon presentation for as a general introduction into 'piece-by-piece' code execution and much much more. Working in one of the Julia IDEs like VS Code or Juno should feel something like this (Gif borrowed from DiffEqFlux.jl):

There are a variety of useful packages in VSCode, such as GitLens, LiveShare, and Todo Browser as just a few highlights. These VSCode Extensions are independent of the already vast JuliaLang Package Ecosystem (see JuliaObserver.com).