Upstream: https://github.com/pollen-robotics/bam Upstream-Commit: 57d13ead53206a6bf0db3d66f86506ae8c2ce01a Upstream-Branch: mjlab_frictionloss
130 lines
4.0 KiB
ReStructuredText
130 lines
4.0 KiB
ReStructuredText
Better Actuator Models (BAM)
|
||
============================
|
||
|
||
.. grid:: 1 2 2 2
|
||
:gutter: 2
|
||
|
||
.. grid-item::
|
||
|
||
.. video:: https://github.com/Rhoban/bam_media/raw/refs/heads/main/videos/m1_vs_m6.mp4
|
||
:autoplay:
|
||
:muted:
|
||
:loop:
|
||
|
||
.. grid-item::
|
||
|
||
.. video:: https://github.com/Rhoban/bam_media/raw/refs/heads/main/videos/sin_sin.mp4
|
||
:autoplay:
|
||
:muted:
|
||
:loop:
|
||
|
||
.. admonition:: What is it?
|
||
|
||
|
||
BAM (for Better Actuator Models) is a library to **identify** and **use** servo-actuator models in simulation
|
||
engines. In particular, it provides **extended friction models**, which are more accurate than the default friction
|
||
models used in most simulators (e.g., MuJoCo).
|
||
|
||
The animation above is a face-to-face comparison of the :doc:`default MuJoCo friction model (M1) <theory/models>` and an :doc:`extended friction model (M6) <theory/models>` identified for Dynamixel MX-64 and MX-106 servo-actuators lifting a load.
|
||
|
||
Features
|
||
--------
|
||
|
||
- :doc:`Pre-identified friction models <usage/actuators>` for common servo-actuators (e.g., XL320, XL330, MX64, MX106...)
|
||
- **API for direct integration of friction models** into :doc:`MuJoCo CPU <usage/mujoco_cpu>` and :doc:`mjlab (MuJoCo Warp) <usage/mjlab_gpu>`
|
||
- :doc:`Extended friction models <theory/index>`, including Stribeck effect, load-dependance
|
||
- :doc:`Identification process <identification/index>` for servo-actuator with friction models
|
||
|
||
Getting started
|
||
---------------
|
||
|
||
Pick the path that matches where you are:
|
||
|
||
.. grid:: 1 1 3 3
|
||
:gutter: 3
|
||
:class-container: bam-getting-started
|
||
|
||
.. grid-item-card:: 🔌 Use a bundled model
|
||
:link: usage/index
|
||
:link-type: doc
|
||
:class-card: bam-card
|
||
|
||
Your motor is already in the :doc:`library <usage/actuators>`
|
||
(``xl320``, ``xl330``, ``mx64``, ``mx106``, ...).
|
||
|
||
Load its parameters and plug them into your MuJoCo or mjlab simulation
|
||
right away.
|
||
|
||
+++
|
||
:doc:`Usage guide → <usage/index>`
|
||
|
||
.. grid-item-card:: 🔧 Identify a new motor
|
||
:link: identification/index
|
||
:link-type: doc
|
||
:class-card: bam-card
|
||
|
||
Your motor is not in the library yet.
|
||
|
||
Build a simple pendulum test bench, record trajectories under varying
|
||
load, and run the identification pipeline to fit a friction model.
|
||
|
||
+++
|
||
:doc:`Identification process → <identification/index>`
|
||
|
||
.. grid-item-card:: 📐 Understand the theory
|
||
:link: theory/index
|
||
:link-type: doc
|
||
:class-card: bam-card
|
||
|
||
You want to understand the modeling approach.
|
||
|
||
Dive into the pendulum dynamics, the friction-budget formulation, and
|
||
the six model variants M1–M6.
|
||
|
||
+++
|
||
:doc:`Theory → <theory/index>`
|
||
|
||
Reference paper
|
||
---------------
|
||
|
||
This library implements the modeling and identification approach introduced
|
||
in the paper `"Extended Friction Models for the Physics Simulation of Servo
|
||
Actuators" <https://arxiv.org/pdf/2410.08650>`_ by Marc Duclusaud, Gregoire Passault, Vincent Padois, and Olivier
|
||
Ly .
|
||
|
||
If you use BAM or the friction models provided in this library for your
|
||
scientific work, please cite the publication:
|
||
|
||
.. code-block:: bibtex
|
||
|
||
@inproceedings{duclusaud2025extended,
|
||
title={Extended Friction Models for the Physics Simulation of Servo Actuators},
|
||
author={Duclusaud, Marc and Passault, Gr{\'e}goire and Padois, Vincent and Ly, Olivier},
|
||
booktitle={2025 IEEE International Conference on Robotics and Automation (ICRA)},
|
||
pages={12091--12097},
|
||
year={2025},
|
||
organization={IEEE}
|
||
}
|
||
|
||
If you also wish to cite the software directly, you may use:
|
||
|
||
.. code-block:: bibtex
|
||
|
||
@software{BAM,
|
||
title = {{BAM: Better Actuator Models}},
|
||
author = {Duclusaud, Marc and Passault, Grégoire},
|
||
license = {Apache-2.0},
|
||
url = {https://github.com/Rhoban/bam},
|
||
version = {0.0.1},
|
||
year = {2024}
|
||
}
|
||
|
||
.. toctree::
|
||
:maxdepth: 2
|
||
:caption: Contents
|
||
|
||
usage/index
|
||
identification/index
|
||
theory/index
|
||
api/index
|