JuliaRobotics / RigidBodyDynamics.jl

Julia implementation of various rigid body dynamics and kinematics algorithms
Other
286 stars 48 forks source link
control dynamics dynamics-models featherstone julia kinematics newtons-laws rigid-body-dynamics robotics robotics-algorithms robotics-control robotics-simulation simulation simulation-modeling

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