Welcome to mim_estimation’s documentation!

mim_estimation

Introduction

This package contains estimation algorithm C++ implementations with their Python bindings and their Python prototypes.

Getting started

Installation

Dependencies
  • Pinocchio (Required)

  • Mim_Control (Optional, needed to run demos)

    • Internal github organization software see the next paragraph for the installation.

  • Matplotlib (Optional, needed to run demos)

    • pip or apt installable software.

  • BulletUtils (Optional, needed to run demos)

    • Internal github organization software see the next paragraph for the installation.

  • Robot_Properties_Solo (Optional, needed to run demos)

    • Internal github organization software see the next paragraph for the installation.

  • Robot_Properties_Bolt (Optional, needed to run demos)

    • Internal github organization software see the next paragraph for the installation.

Download the package.

External dependencies: See this tutorial in order to install pinocchio or you can follow this tutorial to install related robotpkg software. We use treep in order to manage the download of our code base. See treep_installation for the installation, and treep, and colcon for their usage.

Local and specific dependencies and the actual repo we need to compile:

mkdir devel
cd devel
pip install -U treep
git clone git@github.com:machines-in-motion/treep_machines_in_motion
treep --clone mim_estimation

For full installation of the package and related dependencies, use following:

treep --clone MIM_ESTIMATION

With this command all dependencies needed to run the demos are also downloaded, see this tutorial to install related dependencies for Mim_Control package.

Build the package

We use colcon to build this package:

cd devel/workspace
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

Source the environment:

source ~/devel/workspace/install/setup.bash

Usage

Running Demos

To run the base EKF estimator on Solo12 with pre-defined contact schedule, follow the below steps:

source /opt/openrobots/setup.bash (source open robots)
cd demos
python3 demo_ekf_squatting_motion_cpp.py

License

BSD 3-Clause

Authors

Main authors:

  • Shahram Khorshidi

  • Ahmad Gazar

Secondary collaborators

  • Maximilien Naveau (mnaveau@tue.mpg.de)

  • Julian Viereck (jviereck@tue.mpg.de)

  • Avadesh Meduri (ameduri@tue.mpg.de)

  • Majid Kadhiv (mkadhiv@tue.mpg.de)

  • Ludovic Righetti (lrighetti@tue.mpg.de)

  • Nick Rotella

  • Brahayam Ponton

Cite the work

Please if you use this repository cite the work: https://arxiv.org/abs/2202.12574

@misc{khorshidi2023use,
      title={On the Use of Torque Measurement in Centroidal State Estimation},
      author={Shahram Khorshidi and Ahmad Gazar and Nicholas Rotella and Maximilien Naveau and Ludovic Righetti and Maren Bennewitz and Majid Khadiv},
      year={2023},
      eprint={2202.12574},
      archivePrefix={arXiv},
      primaryClass={cs.RO}
}

Indices and Tables

License and Copyrights

BSD 3-Clause License

Copyright (c) 2019, New York University and Max Planck Gesellschaft. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.