• Stars
    star
    287
  • Rank 144,232 (Top 3 %)
  • Language
    Julia
  • License
    Other
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Julia implementation of various rigid body dynamics and kinematics algorithms

RigidBodyDynamics.jl

Build Status codecov.io

RigidBodyDynamics.jl is a rigid body dynamics library in pure Julia. It aims to be user friendly and performant, but also generic in the sense that the algorithms can be called with inputs of any (suitable) scalar types. This means that if fast numeric dynamics evaluations are required, a user can supply Float64 or Float32 inputs. However, if symbolic quantities are desired for analysis purposes, they can be obtained by calling the algorithms with e.g. SymPy.Sym inputs. If gradients are required, e.g. the ForwardDiff.Dual type, which implements forward-mode automatic differentiation, can be used.

See the latest stable documentation for a list of features, installation instructions, and a quick-start guide. Installation should only take a couple of minutes, including installing Julia itself. The documentation includes various usage examples, starting with a quickstart guide. These examples are also runnable locally as Jupyter notebooks; see the readme in the examples directory for instructions.

Related packages

RigidBodyDynamics.jl is part of the JuliaRobotics GitHub organization.

Packages built on top of RigidBodyDynamics.jl include:

Talks / publications

  • May 20, 2019: paper at ICRA 2019: Julia for robotics: simulation and real-time control in a high-level programming language.
  • August 10, 2018: Robin Deits gave a talk at JuliaCon 2018 demonstrating RigidBodyDynamics.jl and related packages.
  • August 23, 2017: a video of a JuliaCon 2017 talk given by Robin Deits and Twan Koolen on using Julia for robotics has been uploaded. It includes a brief demo of RigidBodyDynamics.jl and RigidBodyTreeInspector.jl. Note that RigidBodyDynamics.jl performance has significantly improved since this talk. The margins of the slides have unfortunately been cut off somewhat in the video.

More Repositories

1

Caesar.jl

Robust robotic localization and mapping, together with NavAbility(TM). Reach out to [email protected] for help.
Julia
184
star
2

IncrementalInference.jl

Clique recycling non-Gaussian (multi-modal) factor graph solver; also see Caesar.jl.
Julia
72
star
3

RigidBodySim.jl

Simulation and visualization of articulated rigid body systems in Julia
Jupyter Notebook
71
star
4

RoME.jl

Robot Motion Estimate: Tools, Variables, and Factors for SLAM in robotics; also see Caesar.jl.
Julia
64
star
5

TORA.jl

Trajectory Optimization for Robot Arms
Julia
51
star
6

MeshCatMechanisms.jl

3D Visualization of mechanisms and URDFs using MeshCat.jl and RigidBodyDynamics.jl
Julia
40
star
7

EnhancedGJK.jl

GJK signed distance algorithm for convex bodies in Julia
Julia
35
star
8

KernelDensityEstimate.jl

Kernel Density Estimate with product approximation using multiscale Gibbs sampling
Julia
24
star
9

DistributedFactorGraphs.jl

Abstraction layer for spanning factor graphs over various technologies
Julia
22
star
10

AprilTags.jl

Using Apriltags in Julia
Julia
18
star
11

MotionCaptureJointCalibration.jl

Kinematic calibration for robots using motion capture data
Julia
18
star
12

LCMCore.jl

Low-level Julia bindings for the LCM communications library
Julia
15
star
13

FunctionalStateMachine.jl

Build a state machine in Julia based on functions along with stepping and visualization tools
Julia
14
star
14

MechanismGeometries.jl

Parsing and generation of 3D geometries for robot mechanisms in Julia
Julia
13
star
15

ApproxManifoldProducts.jl

Approximate the product between infinite functional objects on a manifold -- i.e. belief products
Julia
12
star
16

SensorFeatureTracking.jl

Algorithms to track features of interest, such as images KLT
Julia
11
star
17

RoboChariot.jl

Repository for small ~$100 robot and SLAM example in Julia using Raspberry Pi
Julia
9
star
18

Arena.jl

Collection 3D visualization tools associated with the Caesar.jl and RoME.jl robot navigation packages
Julia
7
star
19

CameraModels.jl

Basic Camera Models including pinhole, radial distortion and more.
Julia
5
star
20

DrakeLCMTypes.jl

LCM type definitions for compatibility with RobotLocomotion/Drake in Julia
Julia
4
star
21

juliarobotics.github.io

Website for JuliaRobotics: https://juliarobotics.org/
Ruby
3
star
22

RoMEPlotting.jl

2D plotting functionality for the RoME.jl package
Julia
2
star
23

BotCoreLCMTypes.jl

LCM type definitions for compatibility with openhumanoids/bot_core_lcmtypes in Julia
Julia
2
star
24

administration

JuliaRobotics code of conduct and mission statement
1
star