Skip to content

Latest commit

 

History

History
104 lines (89 loc) · 4.57 KB

how-to-run-inverse-kinematics.md

File metadata and controls

104 lines (89 loc) · 4.57 KB

How to run Inverse Kinematics

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

Before running the device make sure that:

  • yarpserver is running
  • TransformServer is running. In order to run it
    yarprobotinterface --config TransformServer.xml
  • In the configuration file, the following parameters are set propery:
    • wearableDataPorts: Is the name of the port streaming the required wearable data
    • urdf: Name of the urdf file corresponding to the subject (some models can be found in human-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:

Calibration

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

Output

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

Visualization

Two visualizer are currently supported.

Human State Visualizer

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

RViz Visualizer

Data can be visualized on rviz trough the following steps:

  • Launch yarpserver with ros with the following two commands
    roscore
    yarpserver --ros
  • Launch the wearable sources and inverse kinematics as described above
  • Launch the yarprobotstatepublisher with the following options
    yarprobotstatepublisher --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 commands
    roslaunch HDERviz HDERviz.launch
rviz-inverse-kinematics.mp4

Reference

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}
}