All Projects → robotology → human-dynamics-estimation

robotology / human-dynamics-estimation

Licence: LGPL-2.1 License
Software repository for estimating human dynamics

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to human-dynamics-estimation

human-gazebo
URDF models of humans created to perform human robot interaction experiments.
Stars: ✭ 57 (+32.56%)
Mutual labels:  human-robot-interaction, human-robot-collaboration
human robot collaboration
Yet another repo for the baxter collaboration task.
Stars: ✭ 18 (-58.14%)
Mutual labels:  human-robot-interaction, human-robot-collaboration
FloBaRoID
Framework for dynamical system identification of floating-base rigid body tree structures
Stars: ✭ 53 (+23.26%)
Mutual labels:  yarp
peridyno
An AI-targeted physical simulation platform.
Stars: ✭ 21 (-51.16%)
Mutual labels:  rigid-body-dynamics
HttpMouse
基于yarp的http公网反向代理到内网的服务端与客户端库
Stars: ✭ 53 (+23.26%)
Mutual labels:  yarp
CrowdNav DSRNN
[ICRA 2021] Decentralized Structural-RNN for Robot Crowd Navigation with Deep Reinforcement Learning
Stars: ✭ 43 (+0%)
Mutual labels:  human-robot-interaction
neptus
Neptus, Command and Control Infrastructure
Stars: ✭ 54 (+25.58%)
Mutual labels:  human-robot-interaction
Libbulletjme
A JNI interface to Bullet Physics and V-HACD
Stars: ✭ 55 (+27.91%)
Mutual labels:  rigid-body-dynamics
RigidBodySim.jl
Simulation and visualization of articulated rigid body systems in Julia
Stars: ✭ 63 (+46.51%)
Mutual labels:  rigid-body-dynamics
ycm
Extra CMake Modules for YARP and friends
Stars: ✭ 42 (-2.33%)
Mutual labels:  yarp
open-phri
OpenPHRI, a complete and generic solution for safe physical human-robot interactions
Stars: ✭ 24 (-44.19%)
Mutual labels:  human-robot-interaction
gesture-recognition-for-human-robot-interaction
Gesture Recognition For Human-Robot Interaction with modelling, training, analysing and recognising gestures based on computer vision and machine learning techniques. This work was done at Distributed Artificial Intelligence Lab (DAI Labor), Berlin.
Stars: ✭ 62 (+44.19%)
Mutual labels:  human-robot-interaction
wb-toolbox
Simulink toolbox to rapidly prototype robot controllers
Stars: ✭ 20 (-53.49%)
Mutual labels:  yarp
ADAM
ADAM implements a collection of algorithms for calculating rigid-body dynamics in Jax, CasADi, PyTorch, and Numpy.
Stars: ✭ 51 (+18.6%)
Mutual labels:  rigid-body-dynamics

YARP devices for the Human Dynamics Estimation (HDE)

C++ CI Action Status

Human Dynamics Estimation (HDE) is a collection of YARP devices for the online estimation of the kinematics and dynamics of a human subject monitored with a set of wearable sensors and/or interacting with a robot. A ROS-based visualizer allows to visualize in real-time the output of the estimation. The devices can be installed and run in Linux, MacOS and Windows.

Contents

Overview

The main devices contained in this project are the following:

  • HumanStateProvider: solve inverse kinematics given a set of kinematic sensor.
  • HumanDynamicsEstimator: solve the inverse dynamics given the kinematic state and a set of wrenches measurment.
  • RobotPositionControl: controls the position of a robot with a given kinematic state.

The information coming from the sensors come in the form of the IWear YARP interface, for more reference on how those are generated please refer to Wearables. All the information exchanged among the HDE devices trough implmented in this project (IHumanDynamics, IHumanState, IHumanWrench) and can be published among a network using the coreresponding wrapper devices

A possible architecture integrating wearable sensors and HDE is described in the following scheme:

Dependencies

Here following there is a list of dependencies you need for using this repository. It is worth to notice that the build ones and the libraries are mandatory to install your project. Instead, the optional dependencies are defined optional in the sense that the project is built even if they are not included. The installation of the all dependencies is strongly suggested if you want to have a visual feedback of how much your estimation is good.

For installing the dependencies you can decide to install them individually or to use the robotology-superbuild with the ROBOTOLOGY_ENABLE_DYNAMICS option that automatically is in charge of installing all the dependencies you need (except for the optional ones). Keep in mind that the robotology-superbuild is surely the fastest way to install them but it contains many more things than you need!

Build dependencies

  • CMake: an open-source, cross-platform family of tools designed to build, test and package software.
  • YCM: a CMake project whose only goal is to download and build several other projects.

Libraries

  • YARP: a library and toolkit for communication and device interfaces.
  • icub-main: a library for the interaction with the iCub robot.
  • iDynTree: a library of robots dynamics algorithms for control, estimation and simulation.
  • Wearables: a library for communication and interfaces with wearable sensors.
  • Eigen (3.3 or later): a C++ template library for linear algebra.
  • IPOPT: a software package for large-scale nonlinear optimization.

Optional dependencies

  • ROS with rviz package: an open-source provider of libraries and tools for creating robot applications.
  • irrlicht and iDynTree compiled with IDYNTREE_USES_IRRLICHT enabled: visualizer for floating-base rigid-body systems.

How to install

After installing all the dependencies, you can install the HDE project:

git clone https://github.com/robotology-playground/human-dynamics-estimation.git
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/your/installation/folder -G "name-of-your-cmake-generator" ..

where the name-of-your-cmake-generator is your project generator, see Cmake-Generators. For example, on macOS you may choose Xcode, or on Unix Unix Makefiles. You can configure the following optional cmake options:

  • HUMANSTATEPROVIDER_ENABLE_VISUALIZER: enables the irricht-based iDynTree Visualizer

Then, for compiling

cmake --build . --config Release

and installing

cmake --build . --config Release --target install

Applications

The code contained in this repository can serve different application. Depending on the type of application, a different set of hardware and sensors are required. In addiction, since the applications are based on wearables devices, a certain number of wearable devices should be running providing the source sensor data. The main applications are the following

Application hardware werable device
Inverse Kinematics kinematic sensors XsensSuit
Dynamics Estimation kinematic sensors
FTshoes
XsensSuit
FTshoes
Whole-Body Retargeting kinematic sensors XsensSuit

How to run

Applications

Documentation for running each specific application can be found at the following links:

Citing this work

Please cite the following publications if you are using the code contained in this repository for your own research and/or experiments:

MDPI Sensors

Simultaneous Floating-Base Estimation of Human Kinematics and Joint Torques.
Latella, C., Traversaro, S., Ferigo, D., Tirupachuri, Y., Rapetti, L., Andrade Chavez, F. J., Nori F., Pucci, D.
Sensors, 19(12), 2794., 2019, doi:
10.3390/s19122794
https://www.mdpi.com/1424-8220/19/12/2794

The bibtex code for including this citation is provided:

@article{latella2019simultaneous,
  title={Simultaneous floating-base estimation of human kinematics and joint torques},
  author={Latella, Claudia and Traversaro, Silvio and Ferigo, Diego and Tirupachuri, Yeshasvi and Rapetti, Lorenzo and Andrade Chavez, Francisco Javier and Nori, Francesco and Pucci, Daniele},
  journal={Sensors},
  volume={19},
  number={12},
  pages={2794},
  year={2019},
  publisher={Multidisciplinary Digital Publishing Institute}
}

IEEE Robotics and Automation Letters

The CoDyCo Project achievements and beyond: Towards Human Aware Whole-body Controllers for Physical Human Robot Interaction
Francesco Romano, Gabriele Nava, Morteza Azad, Jernej Camernik, Stefano Dafarra, Oriane Dermy, Claudia Latella, Maria Lazzaroni, Ryan Lober, Marta Lorenzini, Daniele Pucci, Olivier Sigaud, Silvio Traversaro, Jan Babic, Serena Ivaldi, Michael Mistry, Vincent Padois, Francesco Nori
IEEE Robotics and Automation Letters
DOI: 10.1109/LRA.2017.2768126
http://ieeexplore.ieee.org/document/8093992

The bibtex code for including this citation is provided:

@article{romano2017codyco,
  title={The CoDyCo Project achievements and beyond: Towards Human Aware Whole-body Controllers for Physical Human Robot Interaction},
  author={Romano, Francesco and Nava, Gabriele and Azad, Morteza and Camernik, Jernej and Dafarra, Stefano and Dermy, Oriane and Latella, Claudia and Lazzaroni, Maria and Lober, Ryan and Lorenzini, Marta and others},
  year={2017},
  DOI={10.1109/LRA.2017.2768126},
  publisher={IEEE}, 
  journal={IEEE Robotics and Automation Letters}, 
  url={http://ieeexplore.ieee.org/document/8093992}, 
}

Acknowledgments

The development of HDE is supported by the FP7 EU projects CoDyCo (No. 600716 ICT 2011.2.1 Cognitive Systems and Robotics) and by H2020 EU projects An.Dy (No. 731540 H2020-ICT-2016-1). The development is also supported by the Istituto Italiano di Tecnologia.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].