JuliaRobotics Mission Statement

JuliaRobotics is a collection of robotics-related packages that focus on robot control, simulation, navigation, and visualization. JuliaRobotics intends to provide more visibility to robotics-related work within the Julia community. JuliaRobotics does not intend to replace other packages in the Julia ecosystem, but rather to improve the communication around combining the variety of open source packages available for robotics applications. JuliaRobotics intends to leverage the benefits of the Julia language. Lastly, JuliaRobotics has a code of conduct which encourages positive, constructive collaboration, and peer review to improve access and the quality of modern robotics technology.

Packages

Visualization

Arena.jl

Collection of all 2D and 3D visualizations associated with the Caesar.jl and RoME.jl robotic navigation packages. This package also relies on RoMEPlotting.jl.

Build Status docs source

MeshCatMechanisms.jl

Adds support for visualizing mechanisms and robots from RigidBodyDynamics.jl with MeshCat.jl. All geometries are constructed using MechanismGeometries.jl.

Build Status source

MechanismGeometries.jl

Implements several methods of generating or loading geometries associated with a RigidBodyDynamics.jl Mechanism in Julia. It is currently used by MeshCatMechanisms.jl but can also be used independently.

Build Status source

Machine Vision

AprilTags.jl

This package is a ccall wrapper for the AprilTags library tailored for Julia.

Build Status docs source

SensorFeatureTracking.jl

Algorithms to track features of interest, such as KLT. Please see documentation, and file issues or make suggestions as you see fit. Note Features in this package are not yet optimized for speed, but the start of implementing machine/computer vision sparse feature functions that are useful to robotics.

Build Status

Dynamics and Simulation

RigidBodyDynamics.jl

Julia implementation of various rigid body dynamics and kinematics algorithms.

Build Status docs source

RigidBodySim.jl

Simulation and visualization of articulated rigid body systems in Julia.

Build Status docs source

Calibration

MotionCaptureJointCalibration.jl

Kinematic calibration for robots using motion capture data.

Build Status source

SLAM and State-Estimation

Caesar.jl

An umbrella package for a Simultaneous Localization and Mapping toolkit that allows for non-Gaussian factor graph based SLAM. This package relies heavily on RoME.jl, IncrementalInference.jl, KernelDensityEstimate.jl, and others. Please see Arena.jl for visualization tools.

Build Status docs source

RoME.jl

Robot Motion Estimate package that implements many of the algebraic transforms, utilities, and tools for building local factor graph based SLAM systems. This package, together with IncrementalInference.jl, complete the algorithm known as multimodal iSAM (incremental smoothing and mapping).

Build Status source

Inference / Optimization

IncrementalInference.jl

A nonparametric solution (posterior belief estimate) to the Bayes (Junction) tree refactoring of non-Gaussian factor graph (joint probability) inference problem.

Build Status source

KernelDensityEstimate.jl

A Julia implementation of Nonparametric Belief Propagation (NBP) where (N x D) dimensional products of infinite functional objects are estimated through an efficient multiscale Gibbs sampling strategy. See associated KernelDensityEstimatePlotting.jl for visualization tools.

Build Status source