Karlsruhe Institute of Technology (KIT) Logo

Master Motor Map

Whole-body human reference model and tools for unifying representations of whole-body human motion

MMM Installation

The MMM Libraries officially supports Ubuntu 18.04 and 22.04

If you encounter any problems with the compilation or installation process, please contact andre.meixner@kit.edu or julia.starke@kit.edu.


Using the ArmarX Setup Tool

You can automatically clone and compile Simox and its dependencies using the ArmarX Setup Tool:

Follow the instructions of the ArmarX Setup Tool to create a workspace.

        axii w remove armarx
        axii w add mmm/tools
        axii w upgrade

This will install the required system packages, clone Simox, MMMCore and MMMTools and its dependencies and build them in the correct order.




Manually Clone, Install Dependencies and Build

In the following, an exemplary installation setup is given that refers to an Ubuntu 18.04 system. All dependencies listed must be adapted for any other distribution.

Prerequisites (Ubuntu)

First of all be sure git and cmake is installed on your system:

    sudo apt-get install git gitk cmake


Optional packages

  • GUI Packages for git and CMake:
    sudo apt-get install git-gui cmake-qt-gui
  • Doxygen for generating the documentation:
    sudo apt-get install doxygen doxygen-gui


Simox

Simox is required to build MMMTools for model loading, coordinate transformations and collision checking.\

Detailed installations steps are descriped here.


MMMCore

The MMMCore Library depends on three libraries:

    sudo apt-get install libeigen3-dev libboost-all-dev

Getting MMMCore

The sourcecode of MMMCore can be fetched by issuing the following commands:

    cd ~
    git clone https://git.h2t.iar.kit.edu/sw/mmm/core.git MMMCore

This will create a directory named MMMCore in the home directory of the current user containing everything which is necessary to get started with MMMCore.

Compile MMMCore

After all dependencies are installed the compilation of MMMCore can be performed by executing the following commands:

    cd ~/MMMCore
    mkdir build
    cd build
    CXX=g++-8 cmake -DCMAKE_BUILD_TYPE=Release ..
    make


MMMTools

The MMMTools Library depends on three libraries:

  • MMMCore for data structures
  • Simox for model loading, coordinate transformations and collision checking
  • qt5 for GUI
    sudo apt-get install libqt5-*

Installing NLopt (optional)

If you want to use the NLopt-based motion converter (very likely, if you want to convert motions), you need to install the NLopt development package:

    sudo apt-get install libnlopt-dev

Getting MMMTools

The sourcecode of MMMTools can be fetched by issuing the following commands:

    cd ~
    git clone https://git.h2t.iar.kit.edu/sw/mmm/tools.git MMMTools

This will create a directory named MMMTools in the home directory of the current user containing everything which is necessary to get started with MMMTools.

Compiling MMMTools

After all dependencies are installed the compilation of MMMTools can be performed by executing the following commands:

    cd ~/MMMTools
    mkdir build
    cd build
    CXX=g++-8 cmake -DCMAKE_BUILD_TYPE=Release ..
    make


(Optional) MMMVision

Extension of the MMM Framework to store, visualize and handle additional sensor data of camera-based sensors. This framework is very optional and not required. Make sure you have OpenCV (for RGB videos) and libPCL (for RGBD videos) installed.

Installing Azure Kinect SDK (optional)

If you want to use recorded data from the Azure Kinect from our motion database, you need to install the Azure Kinect SDK development package:

Getting MMMVision

The sourcecode of MMMVision can be fetched by issuing the following commands:

    cd ~
    git clone https://git.h2t.iar.kit.edu/sw/mmm/vision.git MMMVision

This will create a directory named MMMVision in the home directory of the current user containing everything which is necessary to get started with MMMVision.

Compiling MMMVision

After all dependencies are installed the compilation of MMMVision can be performed by executing the following commands:

    cd ~/MMMVision
    mkdir build
    cd build
    CXX=g++-8 cmake -DCMAKE_BUILD_TYPE=Release ..
    make

MMMViewer

The MMMViewer is the graphical user interface for the MMM framework and part of MMMTools. To use methods provided in MMMVision for sensor I/O, sensor visualisation, video playing and more, the available plugins have to be added to the MMMViewer once. Currently, in the graphical user interface. This process will be simplified in future updates!

Run the MMMViewer

./mmmtools/build/bin/MMMViewer

Go to Extra -> Plugins.. -> MotionHandler -> Add plugin directory -> Select the directory ../mmmvision/build/lib/motionHandlerPluginLibs -> Open

Go to Extra -> Plugins.. -> Sensor -> Add plugin directory -> Select the directory ../mmmvision/build/lib/sensorVisualisationPluginLibs -> Open

Go to Extra -> Plugins.. -> SensorVisualisation -> Add plugin directory -> Select the directory ../mmmvision/build/lib/sensorPluginLibs -> Open

Restart the MMMViewer
KoroiBot Logo WALK-MAN Logo Xperience Logo SecondHands Logo TimeStorm Logo I-SUPPORT Logo
PACO-PLUS Logo SFB-588 Logo SPP1527 Logo