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) ` and an :doc:`extended friction model (M6) ` identified for Dynamixel MX-64 and MX-106 servo-actuators lifting a load. Features -------- - :doc:`Pre-identified friction models ` for common servo-actuators (e.g., XL320, XL330, MX64, MX106...) - **API for direct integration of friction models** into :doc:`MuJoCo CPU ` and :doc:`mjlab (MuJoCo Warp) ` - :doc:`Extended friction models `, including Stribeck effect, load-dependance - :doc:`Identification process ` 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 ` (``xl320``, ``xl330``, ``mx64``, ``mx106``, ...). Load its parameters and plug them into your MuJoCo or mjlab simulation right away. +++ :doc:`Usage guide โ†’ ` .. 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 โ†’ ` .. 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 โ†’ ` Reference paper --------------- This library implements the modeling and identification approach introduced in the paper `"Extended Friction Models for the Physics Simulation of Servo Actuators" `_ 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