Skip to content

Rible-Sim/Rible.jl

Repository files navigation

Rible Logo

Rible.jl

Towards a differentiable simulator for computational design of rigid-flexible robots.

Latest Docs License


Key Features

Feature Description
⌨️ Coordinates NCF (Natural Coordinates) - 2D/3D variants with nonminimal formulation.
💥 Modeling Comprehensive library bodies and joints.
Dynamics Efficient solvers (default: Zhong06 family), contact handling, and linearization, support for (adjoint) sensitivity analysis.
🤖 Visualization Integrated and extensible visualization tools (via Makie).
🛠️ Extensibility Modular design allowing easy extension of new components.

Monorepo Structure

Rible.jl is a monorepo structured around a core package and strictly coupled extensions that expand its capabilities.

📦 Main Package: Rible.jl

The core package Rible provides the fundamental Multibody Dynamics engine and essential tools for simulation.

🔗 Extensions Architecture

Various extension packages integrate with the core Rible.jl ecosystem.

Package Description
📦 Rible.jl The core package for rigid-flexible body dynamics.
Coordinates & Bodies
└ 📦 RibleQCF.jl Quaternion-based coordinate formulations.
Structures
└ 📦 RibleTensegrity.jl Tensegrity structures modeling and analysis.
Dynamics Solvers
└ 📦 RibleExtraIntegrators.jl Include extra integrators that build on the core package and shipped extensions.

Installation

import Pkg
Pkg.add(url="https://github.com/Rible-Sim/Rible.jl")

Documentation

See the Getting Started guide for a walkthrough of your first simulation, or browse the full documentation for API reference and advanced topics.

中文用户请参阅中文文档

Contributing

Development setup

Clone the repository, enter the checkout, and instantiate the project:

git clone https://github.com/Rible-Sim/Rible.jl.git
cd Rible.jl
julia --project=. -e 'import Pkg; Pkg.instantiate()'

Validation before opening a pull request

Run the root test suite from the repository root:

julia --project=. -e 'import Pkg; Pkg.test()'

Packages

 
 
 

Contributors