This page describes how to run the inverse kineamtics for a human subject equipped with kinematic sensors.
The configuration file to run the Inverse Kinematics is HumanStateProvider.xml
, and it can be launched with:
yarprobotinterface --config HumanStateProvider.xml
Before running the device make sure that:
yarpserver
is runningTransformServer
is running. In order to run ityarprobotinterface --config TransformServer.xml
- In the configuration file, the following parameters are set propery:
wearableDataPorts
: Is the name of the port streaming the required wearable dataurdf
: Name of the urdf file corresponding to the subject (some models can be found inhuman-gazebo
)MODEL_TO_DATA_LINK_NAMES
: describes the map between model frame names and wearable kineamtic data with the following format<param name="ENTRY_NAME">(MODEL_FRAME_NAME, WEARABLE_SENSOR_NAME)</param>
- The following wearable data sources are available:
XsensSuit
(How to run Xsens suit)
There exist different calibration procedure that can be used. In order to send a calibration command you need to open the huamn-state-provider
rpc
port
yarp rpc /HumanStateProvider/rpc:i
the available calibraiton procedure can be browsed sending help
command to the port
>> help
If the device is running correctly, the terminal will show the frequency at which the dynamical inverse kinematics step is running. The computed model configuration is accessible reading the following port:
yarp read ... /HDE/HumanStateWrapper/state:o
Two visualizer are currently supported.
The human state visualizer is an application based on iDynTree
visualizer.
In order to run the visualization:
- Set the correct subject urdf model in the configuration file
- Run the following commnad
HumanStateVisualizer --from HumanStateVisualizer.ini
human-state-visualizer.mov
Data can be visualized on rviz
trough the following steps:
- Launch
yarpserver
withros
with the following two commandsroscore
yarpserver --ros
- Launch the wearable sources and inverse kinematics as described above
- Launch the
yarprobotstatepublisher
with the following optionsyarprobotstatepublisher --period 0.0001 --name-prefix Human --tf-prefix /Human/ --model humanSubject01_66dof.urdf --reduced-model true --base-frame Pelvis --jointstates-topic "/Human/joint_states"
- Set the correct subject urdf model in the
rivz
configuration file - Run
rviz
with the following commandsroslaunch HDERviz HDERviz.launch
rviz-inverse-kinematics.mp4
Model-Based Real-Time Motion Tracking Using Dynamical Inverse Kinematics.
Rapetti, L., Tirupachuri, Y., Darvish, K., Dafarra, S., Nava, G., Latella, C. Pucci, D.
Algorithms, 13(10), 266, 2020, doi:
10.3390/a13100266
https://www.mdpi.com/1999-4893/13/10/266
The bibtex code for including this citation is provided:
@article{rapetti2020model,
title={Model-based real-time motion tracking using dynamical inverse kinematics},
author={Rapetti, Lorenzo and Tirupachuri, Yeshasvi and Darvish, Kourosh and Dafarra, Stefano and Nava, Gabriele and Latella, Claudia and Pucci, Daniele},
journal={Algorithms},
volume={13},
number={10},
pages={266},
year={2020},
publisher={Multidisciplinary Digital Publishing Institute}
}