Skip to content

MIREVI MotionHub (MMH) is a middleware for merging body tracking data from different systems into one coordinate space in real-time in order to combine and use their individual benefits.

License

Notifications You must be signed in to change notification settings

Mirevi/MotionHub

Repository files navigation

MIREVI MotionHub

MIREVI MotionHub (MMH) is a middleware for merging body tracking data from different systems into one coordinate space in real-time in order to combine and use their individual benefits.

MMH offers support for several body tracking systems and encompasses a game engine plug-in that connects the MMH with Unity by means of a standardized protocol. The plug-in allows for the usage of a single type of skeleton for any body tracking system and, therefore, facilitates the switch between different body tracking systems during app development significantly.

MotionHub is developed at the research lab MIREVI from the University of Applied Sciences Düsseldorf within the scope of the projects HIVE and iKPT4.0.

Acknowledgements

This project is sponsored by: German Federal Ministry of Education and Research (BMBF) under the project numbers 16SV8182 and 13FH022IX6. Project names: HIVE-Lab (Health Immersive Virtual Environment Lab) and Interactive body-near production technology 4.0 (german: ’Interaktive körpernahe Produktionstechnik 4.0’ (iKPT4.0)).

Conference Video:

A short presentation about the MotionHub on the 7th International Conference on Movementand Computing (MOCO ’20): Youtube Video

Requirements

Currently MMH is only supported on Microsoft Windows operating systems.

  • This version of MotionHub was tested on Microsoft Windows 10 64 bit.

Minimum Computer Requirements

  • Seventh Gen Intel i5 Processor
  • NVidia GeForce GTX 1070 (when using Azure Kinect Body Tracking)
  • 4 GB Memory
  • 5 GB Storage

Documentation

The developer, API and user documentation including a class collaboration diagram can be found in the doc folder.

Supported Body Tracking Systems

Supported
Azure Kinect
OptiTrack
The Captury
XSens MVN Animate (only compatibel with MVN Pro License due to network streaming capabilities)
OpenVR
Planned
Perception Neuron 2 and 3 (planned when neuronmocap release a new version of its C++ SDK with absolut tracking data available --- Link to old SDK
Rokokko Smartsuit Pro II and Smartgloves
Valve Knuckles Controller

Installer (for users, not for developers)

If you want to install the MotionHub, please download the latest release: https://github.com/Mirevi/MotionHub/releases

Building from source (for developers, not for users)

The CMake system is used to generate project files and for downloading all required dependencies. Please use the CMakeLists.txt file for generating.

  • MMH is developed with Microsoft Visual Studio 2019. (CMake has only been tested with this IDE version.)
  1. Download or clone MMH

  2. Download and install Azure Kinect Sensor and Body Tracking SDK

  3. In CMake, set source path to the MMH path

  4. Set binaries path to (MMH path)/build

  5. Click "configure" (click Yes, select your installed VS version and Finish). This will take a few minutes (and might FAIL).

  6. If CMake fails, because it couldn't find the Azure Kinect dependences (which you installed in step 2), paste the correct paths to K4A_ROOT (e.g. C:/Program Files/Azure Kinect SDK v1.4.0) and K4ABT_ROOT. Then again click "configure".

  7. If the configuration was successful, click "generate"

  8. You can now click "Open Project" or open the Solution with VS (/MMH/build/MireviMotionHub.sln)

  9. In the VS Solution Explorer, right click on the project "MireviMotionHub"->"Set as StartUp Project" and "MireviMotionHub"->"build"

  10. After the code is compiled, you can push F5 (Local Windows Debugger) in VS or execute /MMH/build/bin/MireviMotionHub.exe to start the MotionHub

Please Note that we use Qt Framework for the UI. To build the project you need the Qt Visual Studio Tools and for editing Qt .ui files you need Qt Designer.

We recognized an Error, when using a N version of Windows, in which the .exe wouldn't start, because MF.dll was missing. To fix that, install the Media Feature Pack for Windows 10 N and the Motionhub should work.

Authors

  • Philipp Ladwig - Project Manager and Developer
  • Kester Evers - Developer
  • Eric Jansen - Developer
  • Manuel Zohlen - Developer
  • David Nowottnik - Developer
  • Ben Fischer - Developer

Build with

  • Qt (LGPL - License -> No GPL or commercial modules used)
  • Eigen (MPL2 - License)
  • oscpack (oscpack License -> BSD-style License)
  • TinyXML (zlib - License)

Game engine plug-in

Currently, we are supporting Unity with a plugIn, which you can integrate in your project. It receives the tracking data and animates a character. You can download the project here.

Hopefully, we will be able to integrate Unreal Engine 4 and a Live Link connection soon. Unfortunately, this depends on further fundings.

License

MIT license.
If you want to use the MMH in a commercial setting, please send a mail to Philipp Ladwig.

Referencing MotionHub (Paper)

When using MotionHub please reference:

@inproceedings{MotionHub:2020,
author = {Ladwig, Philipp and Evers, Kester and Jansen, Eric J. and Fischer, Ben and Nowottnik, David and Geiger, Christian},
title = {MotionHub: Middleware for Unification of Multiple Body Tracking Systems},
year = {2020},
publisher = {ACM},
url = {https://doi.org/10.1145/3401956.3404185},
booktitle = {Proceedings of the 7th International Conference on Movement and Computing},
}

About

MIREVI MotionHub (MMH) is a middleware for merging body tracking data from different systems into one coordinate space in real-time in order to combine and use their individual benefits.

Resources

License

Stars

Watchers

Forks