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)
See this tutorial in order to install
pinocchio
or you can follow this tutorial to install related robotpkg software.
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
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}
}
Python API
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:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
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.
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.