/whole-body-estimators

YARP-based estimators for humanoid robots.

Primary LanguageC++

whole-body-estimators C++ CI Workflow

YARP-based estimators for humanoid robots.

Overview

📙 Implementation

The current implementations available in the devices folder include,

  • baseEstimatorV1 includes a simple humanoid floating base estimation algorithm fusing legged odometry and IMU attitude estimation, aimed to be used along side walking controllers.

Floating Base Estimation Algorithm V1

  • wholeBodyDynamics primarily implements external contact wrench and internal joint torques estimation using various sensor modalities of the robot. Please see the document Force Control on iCub for more details (This is ported from its original archived repository robotology-legacy/codyco-modules). It additionally includes supporting algorithms for gravity compensation torques estimation, and force-torque sensors calibration.

📄 Dependencies

  • YCM extra CMake Modules for YARP and friends.

  • YARP: to handle the comunication with the robot;

  • ICUB: to use the utilities like low pass filters from the ctrLib library

  • iDynTree: to setup the floating base estimation algorithm. Please compile iDynTree with CMake option IDYNTREE_USES_ICUB_MAIN ON (depends on ICUB).

  • Gazebo: for the simulation (tested Gazebo 8 and 9).

    Optional Dependencies

It must be noted that all of these dependencies can be directly installed together in one place using the robotology-superbuild, in particular enabling its Dynamics component.

🔨 Build the suite

Linux

git clone https://github.com/robotology/whole-body-estimators.git
cd whole-body-estimators
mkdir build && cd build
cmake ../
make
[sudo] make install

Notice: sudo is not necessary if you specify the CMAKE_INSTALL_PREFIX. In this case it is necessary to add in the .bashrc or .bash_profile the following lines:

export WBDEstimator_INSTALL_DIR=/path/where/you/installed
export YARP_DATA_DIRS=${YARP_DATA_DIRS}:${WBDEstimator_INSTALL_DIR}/share/yarp

Note that this is not necessary if you install whole-body-estimators via the robotology-superbuild .

Using the estimators

  • baseEstimatorV1 Please follow the documentation available here to run the floating base estimator.
  • wholeBodyDynamics Please follow the documentation for a description of features/parameters of the device and please follow the documentation in Force Control on iCub for running the whole body dynamics device.

Authors

Hosameldin Awadalla Omer Mohamed <hosameldin.mohamed@iit.it>
Francisco Javier Andrade Chavez <FranciscoJavier.AndradeChavez@iit.it>
Prashanth Ramadoss <prashanth.ramadoss@iit.it>
Giulio Romualdi    <giulio.romualdi@iit.it>
Silvio Traversaro  <silvio.traversaro@iit.it>
Daniele Pucci      <daniele.pucci@iit.it>