Skip to main content

MuJoCo System Identification tools

Project description

MuJoCo SysId

MuJoCo System Identification (mujoco-sysid) is a Python module designed to perform system identification using the MuJoCo physics engine. This module facilitates the estimation of model parameters to match the simulated dynamics with observed data, enhancing the accuracy and reliability of robotic simulations.

Features

  • Dynamic parameters: getters and setters for dynamic parameters of MuJoCo and MJX models.
  • Regressor models: energy and dynamics-based regressors for robotic systems.
  • Parameters representation: utilities for converting between dynamic parameters, Log-Cholesky parametrization and pseudo-inertia.

Installation

To install the module, run the following command:

pip install mujoco-sysid

In order to use with MJX use [mjx] or [mjx_cpu] for CPU-only version:

pip install mujoco-sysid[mjx]

Documentation

To be generated.

Examples

The demo is inspired by recent advancements in MuJoCo utilities, specifically the Levenberg-Marquardt nonlinear least squares method.

Our primary focus is on mechanical systems where the model structure is known, including the number of state variables and the configuration of the kinematic tree. While the dynamics of these systems can be inherently complex, the general forms of the equations are known and have already been implemented in MuJoCo. In this context, the task of identification is essentially to estimate the parameters within a structured model.

This repository includes the following examples:

  • Estimation of cart-pole inertial parameters through random forcing and LQR stabilization of the identified system
  • Identification of end-effector load for the Franka Emika Panda and compensation using inverse dynamics
  • Determination of mass, center of mass, and spatial inertia for a Skydio X2 Quadrotor following LTV LQR tracking attempts.

We hope these examples and utilities will be useful for all MuJoCo users and assist in resolving their system identification challenges.

For further questions and suggestions, please do not hesitate to create an issue or start a discussion on GitHub.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

mujoco_sysid-0.2.1-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file mujoco_sysid-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: mujoco_sysid-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for mujoco_sysid-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4ff0463ff13c195199d9ee4610d03aea8c001e9b25b321d9205a4c02cd1ef05c
MD5 748dc00ae547a3f71599c6c09c5a2e39
BLAKE2b-256 2f3f03dce93c7c7e97e670479a4fcd4e54c94cea78c3bd50c7a4e770aac79213

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page