Skip to content

Commit

Permalink
Merge pull request #711 from JuliaRobotics/master
Browse files Browse the repository at this point in the history
v0.10.2-rc1
  • Loading branch information
dehann authored May 25, 2021
2 parents ea80932 + eb25e17 commit 9cd8632
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 69 deletions.
8 changes: 6 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
runs-on: ${{ matrix.os }}
env:
JULIA_PKG_SERVER: ""
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -49,8 +51,10 @@ jobs:

test-masters:
#if: github.ref != 'refs/heads/release**'
name: This and Masters
name: Upstream Dev
runs-on: ubuntu-latest
env:
JULIA_PKG_SERVER: ""
steps:
- uses: actions/checkout@v2

Expand All @@ -74,7 +78,7 @@ jobs:
git config --global user.name Tester
git config --global user.email [email protected]
- name: Run tests on masters
- name: Run tests on Upstream Dev
run: |
julia --project=@. --check-bounds=yes -e 'using Pkg; Pkg.add(PackageSpec(name="RoME",rev="master"));'
julia --project=@. --check-bounds=yes -e 'using Pkg; Pkg.add(PackageSpec(name="IncrementalInference",rev="master"));'
Expand Down
6 changes: 4 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ arch:
os:
- linux

env:
- JULIA_PKG_SERVER=""

addons:
apt:
packages:
Expand All @@ -16,10 +19,9 @@ julia:
- 1.6
- nightly


jobs:
include:
- name: "DEV MASTERS"
- name: "Upstream Dev"
if: NOT branch =~ ^release.*$
julia: 1.6
script:
Expand Down
8 changes: 4 additions & 4 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name = "Caesar"
uuid = "62eebf14-49bc-5f46-9df9-f7b7ef379406"
keywords = ["SLAM", "state-estimation", "MM-iSAM", "MM-iSAMv2", "inference", "robotics", "ROS"]
desc = "Non-Gaussian simultaneous localization and mapping"
version = "0.10.1"
version = "0.10.2"

[deps]
ApproxManifoldProducts = "9bbbb610-88a1-53cd-9763-118ce10c1f89"
Expand Down Expand Up @@ -47,14 +47,14 @@ AprilTags = "0.8, 0.9"
Combinatorics = "0.7, 0.8, 0.9, 1"
CoordinateTransformations = "0.5, 0.6"
DataStructures = "0.16, 0.17, 0.18"
DistributedFactorGraphs = "0.12, 0.13"
Distributions = "0.19, 0.20, 0.21, 0.22, 0.23, 0.24"
DistributedFactorGraphs = "0.13, 0.14"
Distributions = "0.19, 0.20, 0.21, 0.22, 0.23, 0.24, 0.25"
DocStringExtensions = "0.7, 0.8"
FFTW = "1"
FileIO = "1"
ImageCore = "0.7, 0.8, 0.9"
ImageMagick = "0.7, 1.0, 1.1"
IncrementalInference = "0.22, 0.23"
IncrementalInference = "0.23, 0.24"
JLD2 = "0.1, 0.2, 0.3, 0.4"
JSON = "0.18, 0.19, 0.20, 0.21, 0.22, 0.23"
JSON2 = "0.3, 0.4"
Expand Down
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ Code changes are currently tracked via Github's integrated Milestone/Issues/PR s
| [KernelDensityEstimate.jl][kde-url] | [![][kde-stable]][kde-releases] | [![Build Status][kde-build-img]][kde-build-url] | [![codecov.io][kde-cov-img]][kde-cov-url] | [![][mst-shield]][kde-milestones] |
| [FunctionalStateMachine.jl][fsm-url] | [![][fsm-stable]][fsm-releases] | [![Build Status][fsm-build-img]][fsm-build-url] | [![codecov.io][fsm-cov-img]][fsm-cov-url] | [![][mst-shield]][fsm-milestones] |
| [DistributedFactorGraphs.jl][dfg-url] | [![][dfg-stable]][dfg-releases] | [![Build Status][dfg-build-img]][dfg-build-url] | [![codecov.io][dfg-cov-img]][dfg-cov-url] | [![][mst-shield]][dfg-milestones] |
| [RoMEPlotting.jl][rp-url] | [![][rp-stable]][rp-releases] | [![Build Status][rp-build-img]][rp-build-url] | [![codecov.io][rp-cov-img]][rp-cov-url] | [![][mst-shield]][rp-milestones] |
| [LightGraphs.jl][lgraphs-url] | [![][lgjl-stable]][lgjl-releases] | [![Build Status][lgraphs-build-img]][lgraphs-build-url] | [![codecov.io][lgraphs-cov-img]][lgraphs-cov-url] | n/a |
| [Manifolds.jl][mani-url] | [![][mani-stable]][mani-releases] | [![Build Status][mani-build-img]][mani-build-url] | [![codecov.io][mani-cov-img]][mani-cov-url] | -- |
| [TransformUtils.jl][tf-url] | [![][tf-stable]][tf-releases] | [![Build Status][tf-build-img]][tf-build-url] | [![codecov.io][tf-cov-img]][tf-cov-url] | -- |
| [~~Graphs.jl~~][graphs-url] | [![][gjl-stable]][gjl-releases] | [![Build Status][graphs-build-img]][graphs-build-url] | [![codecov.io][graphs-cov-img]][graphs-cov-url] | n/a |
| [RoMEPlotting.jl][rp-url] | [![][rp-stable]][rp-releases] | [![Build Status][rp-build-img]][rp-build-url] | [![codecov.io][rp-cov-img]][rp-cov-url] | [![][mst-shield]][rp-milestones] |

# Contributors

Expand Down Expand Up @@ -69,7 +69,7 @@ Administration of the Caesar.jl ecosystem is done by [NavAbility](http://www.nav
[build-v0.10]: https://travis-ci.org/JuliaRobotics/Caesar.jl.svg?branch=release/v0.10
[build-v0.9]: https://travis-ci.org/JuliaRobotics/Caesar.jl.svg?branch=release/v0.9
[build-url]: https://travis-ci.org/JuliaRobotics/Caesar.jl
[caesar-stable]: https://img.shields.io/badge/2021Q1-v0.10.x-green.svg
[caesar-stable]: https://img.shields.io/badge/2021Q2-v0.10.x-green.svg
[caesar-slack-badge]: https://img.shields.io/badge/Caesarjl-Slack-green.svg?style=popout
[caesar-slack]: https://caesarjl.slack.com
[caesar-milestones]: https://github.com/JuliaRobotics/Caesar.jl/milestones
Expand All @@ -81,7 +81,7 @@ Administration of the Caesar.jl ecosystem is done by [NavAbility](http://www.nav
[r-build-img]: https://travis-ci.org/JuliaRobotics/RoME.jl.svg?branch=master
[r-build-v05]: https://travis-ci.org/JuliaRobotics/RoME.jl.svg?branch=release%2Fv0.15
[r-build-url]: https://travis-ci.org/JuliaRobotics/RoME.jl
[r-stable]: https://img.shields.io/badge/2021Q1-v0.15.x-green.svg
[r-stable]: https://img.shields.io/badge/2021Q2-v0.15.x-green.svg
[r-milestones]: https://github.com/JuliaRobotics/RoME.jl/milestones
[r-releases]: https://github.com/JuliaRobotics/RoME.jl/releases

Expand All @@ -91,7 +91,7 @@ Administration of the Caesar.jl ecosystem is done by [NavAbility](http://www.nav
[iif-build-v020]: https://travis-ci.org/JuliaRobotics/IncrementalInference.jl.svg?branch=release/v0.23
[iif-build-url]: https://travis-ci.org/JuliaRobotics/IncrementalInference.jl
[iif-url]: http://www.github.com/JuliaRobotics/IncrementalInference.jl
[iif-stable]: https://img.shields.io/badge/2021Q1-v0.23.x-green.svg
[iif-stable]: https://img.shields.io/badge/2021Q2-v0.24.x-green.svg
[iif-milestones]: https://github.com/JuliaRobotics/IncrementalInference.jl/milestones
[iif-releases]: https://github.com/JuliaRobotics/IncrementalInference.jl/releases

Expand All @@ -109,7 +109,7 @@ Administration of the Caesar.jl ecosystem is done by [NavAbility](http://www.nav
[tf-build-img]: https://travis-ci.org/dehann/TransformUtils.jl.svg?branch=master
[tf-build-url]: https://travis-ci.org/dehann/TransformUtils.jl
[tf-url]: http://www.github.com/dehann/TransformUtils.jl
[tf-stable]: https://img.shields.io/badge/2018Q4-v0.2.x-green.svg
[tf-stable]: https://img.shields.io/badge/2021Q2-v0.2.x-green.svg
[tf-milestones]: https://github.com/JuliaRobotics/TransformUtils.jl/milestones
[tf-releases]: https://github.com/JuliaRobotics/TransformUtils.jl/releases

Expand All @@ -120,13 +120,13 @@ Administration of the Caesar.jl ecosystem is done by [NavAbility](http://www.nav
[dvis-build-url]: https://travis-ci.org/rdeits/DrakeVisualizer.jl
[dvis-url]: http://www.github.com/rdeits/DrakeVisualizer.jl -->

[graphs-cov-img]: https://codecov.io/github/JuliaAttic/Graphs.jl/coverage.svg?branch=master
[graphs-cov-url]: https://codecov.io/github/JuliaAttic/Graphs.jl?branch=master
[graphs-build-img]: https://travis-ci.org/JuliaAttic/Graphs.jl.svg?branch=master
[graphs-build-url]: https://travis-ci.org/JuliaAttic/Graphs.jl
[graphs-url]: http://www.github.com/JuliaAttic/Graphs.jl
[gjl-stable]: https://img.shields.io/badge/2019Q2-v0.10.x-green.svg
[gjl-releases]: https://github.com/JuliaAttic/Graphs.jl/releases
[mani-cov-img]: http://codecov.io/github/JuliaManifolds/Manifolds.jl/coverage.svg?branch=master
[mani-cov-url]: https://codecov.io/gh/JuliaManifolds/Manifolds.jl/
[mani-build-img]: https://github.com/JuliaManifolds/Manifolds.jl/workflows/CI/badge.svg
[mani-build-url]: https://github.com/JuliaManifolds/Manifolds.jl/actions?query=workflow%3ACI+branch%3Amaster
[mani-url]: http://www.github.com/JuliaManifolds/Manifolds.jl
[mani-stable]: https://img.shields.io/badge/2021Q2-v0.5.x-green.svg
[mani-releases]: https://github.com/JuliaManifolds/Manifolds.jl/releases

[lgraphs-cov-img]: https://codecov.io/github/JuliaGraphs/LightGraphs.jl/coverage.svg?branch=master
[lgraphs-cov-url]: https://codecov.io/github/JuliaGraphs/LightGraphs.jl?branch=master
Expand All @@ -141,7 +141,7 @@ Administration of the Caesar.jl ecosystem is done by [NavAbility](http://www.nav
[dfg-build-img]: https://travis-ci.org/JuliaRobotics/DistributedFactorGraphs.jl.svg?branch=master
[dfg-build-url]: https://travis-ci.org/JuliaRobotics/DistributedFactorGraphs.jl
[dfg-url]: http://www.github.com/JuliaRobotics/DistributedFactorGraphs.jl
[dfg-stable]: https://img.shields.io/badge/2021Q1-v0.13.x-green.svg
[dfg-stable]: https://img.shields.io/badge/2021Q2-v0.14.x-green.svg
[dfg-milestones]: https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/milestones
[dfg-releases]: https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/releases

Expand All @@ -150,7 +150,7 @@ Administration of the Caesar.jl ecosystem is done by [NavAbility](http://www.nav
[amp-build-img]: https://travis-ci.org/JuliaRobotics/ApproxManifoldProducts.jl.svg?branch=master
[amp-build-url]: https://travis-ci.org/JuliaRobotics/ApproxManifoldProducts.jl
[amp-url]: http://www.github.com/JuliaRobotics/ApproxManifoldProducts.jl
[amp-stable]: https://img.shields.io/badge/2021Q1-v0.3.x-green.svg
[amp-stable]: https://img.shields.io/badge/2021Q2-v0.3.x-green.svg
[amp-milestones]: https://github.com/JuliaRobotics/ApproxManifoldProducts.jl/milestones
[amp-releases]: https://github.com/JuliaRobotics/ApproxManifoldProducts.jl/releases

Expand All @@ -168,6 +168,6 @@ Administration of the Caesar.jl ecosystem is done by [NavAbility](http://www.nav
[rp-cov-url]: https://codecov.io/github/JuliaRobotics/RoMEPlotting.jl?branch=master
[rp-build-img]: https://travis-ci.org/JuliaRobotics/RoMEPlotting.jl.svg?branch=master
[rp-build-url]: https://travis-ci.org/JuliaRobotics/RoMEPlotting.jl
[rp-stable]: https://img.shields.io/badge/2021Q1-v0.7.x-green.svg
[rp-stable]: https://img.shields.io/badge/2021Q2-v0.7.x-green.svg
[rp-milestones]: https://github.com/JuliaRobotics/RoMEPlotting.jl/milestones
[rp-releases]: https://github.com/JuliaRobotics/RoMEPlotting.jl/releases
6 changes: 6 additions & 0 deletions docs/src/examples/parametric_solve.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ solveGraphParametric
IncrementalInference.solveGraphParametric!
```

Initializing the parametric solve from existing values can be done with the help of:

```@docs
initParametricFrom!
```

## [Defining Factors to Support a Parametric Solution (Experimental)](@id parametric_factors)

Factor that supports a parametric solution, with supported distributions (such as `Normal` and `MvNormal`), can be used in a parametric batch solver `solveGraphParametric`.
Expand Down
87 changes: 42 additions & 45 deletions docs/src/installation_environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ The easiest method is---via the terminal---to [download the desired](https://jul
cd ~
mkdir -p .julia
cd .julia
wget https://julialang-s3.julialang.org/bin/linux/x64/1.5/julia-1.5.2-linux-x86_64.tar.gz
tar -xvf julia-1.5.2-linux-x86_64.tar.gz
rm julia-1.5.2-linux-x86_64.tar.gz
wget https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.1-linux-x86_64.tar.gz
tar -xvf julia-1.6.1-linux-x86_64.tar.gz
rm julia-1.6.1-linux-x86_64.tar.gz
cd /usr/local/bin
sudo ln -s ~/.julia/julia-1.5.2/bin/julia julia
sudo ln -s ~/.julia/julia-1.6.1/bin/julia julia
```
!!! note
Feel free to modify this setup as you see fit.
Expand Down Expand Up @@ -86,11 +86,11 @@ There are a variety of useful packages in VSCode, such as `GitLens`, `LiveShare`
## Julia Packages

The philosophy around Julia packages are discussed at length in the [Julia core documentation](https://docs.julialang.org/en/stable/manual/packages/), where each Julia package relates to a git repository likely found on [Github.com](http://www.github.com).
To install a Julia package, simply open a `julia` REPL (equally the julia REPL in Atom/Juno) and type:
To install a Julia package, simply open a `julia` REPL (equally the Julia REPL in VSCode) and type:

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

These are [registered packages](https://pkg.julialang.org/) maintained by [JuliaRegistries/General](http://github.com/JuliaRegistries/General).
Expand All @@ -99,63 +99,36 @@ Unregistered latest packages can also be installed with using only the `Pkg.deve
```julia
# Caesar is registered on JuliaRegistries/General
julia> ]
(v1.5) pkg> add Caesar
```

See [Pkg.jl](https://github.com/JuliaLang/Pkg.jl) for details and features regarding package management, development, version control, virtual environments and much more.
(v1.6) pkg> add Caesar
(v1.6) pkg> add Caesar#some-branch
(v1.6) pkg> add Caesar@v0.10.0

## Install Visualization Tools

### RoMEPlotting.jl for 2D plots

RoMEPlotting.jl (2D) and Arena.jl (3D) as optional visualization packages:
```julia
(v1.5) pkg> add RoMEPlotting
# or alternatively your own local fork (just using old link as example)
(v1.6) pkg> add https://github.com/dehann/Caesar.jl
```

!!! note
As of 1Q2020 it is likely that most systems won’t require a system install of libpango or even libcairo.
Previous versions of libraries required the following Linux system packages be installed:
```bash
sudo apt-get install libfontconfig1
sudo apt-get install gettext
sudo apt-get install libcairo2
sudo apt-get install libpango1.0-0 # or libpango1.0-1
```

### Install 3D Visualization Utils (e.g. Arena.jl)

3D Visualizations are provided by [Arena.jl](https://github.com/JuliaRobotics/Arena.jl) as well as development package Amphitheater.jl.
Please follow instructions on the [Visualizations page](concepts/arena_visualizations.md) for a variety of 3D utilities.

!!! note
Arena.jl and Amphitheater.jl are currently being refactored as part of the broader DistributedFactorGraph migration, the features are are in beta stage (1Q2020).

Install the latest `master` branch version with
```julia
(v1.5) pkg> add Arena#master
```
See [Pkg.jl](https://github.com/JuliaLang/Pkg.jl) for details and features regarding package management, development, version control, virtual environments and much more.

## Running Unit Tests Locally

Unit tests can further be performed for the upstream packages as follows -- **NOTE** first time runs are slow since each new function call or package must first be precompiled.
```julia
# the multimodal incremental smoothing and mapping solver
(v1.5) pkg> test IncrementalInference
(v1.6) pkg> test IncrementalInference
...
# robotics related variables and factors to work with IncrementalInference -- can be used standalone SLAM system
(v1.5) pkg> test RoME
(v1.6) pkg> test RoME
...
# umbrella framework with interaction tools and more -- allows stand alone and server based solving
(v1.5) pkg> test Caesar
(v1.6) pkg> test Caesar
...
```

## Install Repos for Development

Alternatively, the `dev` command:
```julia
(v1.5) pkg> dev https://github.com/JuliaRobotics/Caesar.jl
(v1.6) pkg> dev https://github.com/JuliaRobotics/Caesar.jl
```

!!! warn
Expand All @@ -175,11 +148,35 @@ To use RoME with the newly created sysimage, start julia with:
julia -O3 -J ~/.julia/dev/RoME/compileRoME/RoMESysimage.so
```

## Install "Just the ZMQ/ROS Runtime Solver" (Linux)

Work in progress (see issue [#278](https://github.com/JuliaRobotics/Caesar.jl/issues/278)).
## 2D Plotting, RoMEPlotting.jl

RoMEPlotting.jl (2D) and Arena.jl (3D) as optional visualization packages:
```julia
(v1.6) pkg> add RoMEPlotting
```

## Contributing, Issues, or Comments

Please feel free to open [issues with Caesar.jl](https://github.com/JuliaRobotics/Caesar.jl/issues) or even Fork and Pull Request as required.
General conversations or comments can be made in the [Caesar Gist](https://gist.github.com/dehann/537f8a2eb9cc24d8bbd35ae92cb4d2d2).


## Features To Be Restored In Future

### Install 3D Visualization Utils (e.g. Arena.jl)

3D Visualizations are provided by [Arena.jl](https://github.com/JuliaRobotics/Arena.jl) as well as development package Amphitheater.jl.
Please follow instructions on the [Visualizations page](concepts/arena_visualizations.md) for a variety of 3D utilities.

!!! note
Arena.jl and Amphitheater.jl are currently being refactored as part of the broader DistributedFactorGraph migration, the features are are in beta stage (1Q2020).

Install the latest `master` branch version with
```julia
(v1.5) pkg> add Arena#master
```

## Install "Just the ZMQ/ROS Runtime Solver" (Linux)

Work in progress (see issue [#278](https://github.com/JuliaRobotics/Caesar.jl/issues/278)).

0 comments on commit 9cd8632

Please sign in to comment.