Open-source C++ multibody dynamics library for simulating articulated systems such as robots, vehicles, and human skeletons.
projectchrono/chrono
C++ multiphysics library for simulating rigid and flexible multibody systems, granular media, fluid-solid interaction, and vehicles and robots.
Open-source alternative to:Adams
- Stars
- 3,140
- Forks
- 655
- Open issues
- 16
- Last commit
- 15 hours ago
What is it?
Chrono is an open-source C++ multi-physics package for modeling and simulating connected rigid bodies, deformable bodies governed by partial differential equations, granular media, and fluid-solid interaction. Optional modules extend it to ground vehicles, robots, co-simulation, run-time visualization, and parallel computing on multi-core, GPU, and distributed systems.
The core supports modeling, simulation, and visualization of rigid and flexible multibody systems. Sensor models for cameras, LiDAR, GPS, IMU, and SPAD are available for robotics and autonomous agent simulation through a ROS2 interface. Python (PyChrono) and C# APIs are provided alongside the C++ library, and the CMake-based build is tested on Linux, Windows, and macOS.
Key features
- 01Rigid and flexible multibody dynamics simulation
- 02Granular dynamics with non-smooth and smooth contact formulations
- 03Fluid-solid interaction modeling
- 04Ground vehicle and terramechanics modules
- 05Sensor models for camera, LiDAR, GPS, IMU, and SPAD with ROS2 interface
- 06Python and C# APIs alongside C++
Use cases
- Simulating vehicle dynamics and terrain interaction
- Developing and testing robots with sensor simulation
- Studying granular material behavior in engineering problems
- Modeling fluid-solid coupling in scientific research
Quick start
- 1
Read the build and install guide from the README
Things to know
- The README gives no package-manager install; you build from source with CMake.
In collections
Topics
FAQ
- What is chrono?
- C++ multiphysics library for simulating rigid and flexible multibody systems, granular media, fluid-solid interaction, and vehicles and robots. Chrono is an open-source C++ multi-physics package for modeling and simulating connected rigid bodies, deformable bodies governed by partial differential equations, granular media, and fluid-solid interaction. Optional modules extend it to ground vehicles, robots, co-simulation, run-time visualization, and parallel computing on multi-core, GPU, and distributed systems.
- Is chrono free to use? What license does it have?
- chrono is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
- Is chrono still maintained?
- Actively maintained. The last commit to chrono was on Nov 6, 2026.
- What can I use chrono for?
- Simulating vehicle dynamics and terrain interaction Developing and testing robots with sensor simulation Studying granular material behavior in engineering problems Modeling fluid-solid coupling in scientific research
- How do I install chrono?
- Read the build and install guide from the README
- Where can I get chrono?
- The source code and installation instructions are on GitHub: https://github.com/projectchrono/chrono
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
C++17 physics library with Python bindings for kinematics, dynamics and contact simulation of articulated robots and animated characters.
A differentiable rigid-body physics engine built on JAX for robot control, co-design and robot learning.
A multi-core friendly C++ rigid body physics and collision detection library for games and VR applications.
Lightweight 2.5D dynamics simulator for wheeled mobile robots and vehicles, usable standalone, via ROS 1/2, or from C++ and Python.
A JAX-based rigid-body physics engine that runs massively parallel, differentiable simulation on accelerators for robotics and RL research.