ITEA is the Eureka Cluster on software innovation
ITEA is the Eureka Cluster on software innovation
Please note that the ITEA Office will be closed from 25 December 2024 to 1 January 2025 inclusive.
ITEA 4 page header azure circular

MOSIM+ Framework

Project
19027 AIToC
Type
New system
Description

MOSIM+ is an enhanced version of the MOSIM Framework, an open modular framework for the simulation and analysis of realistic human motions in professional applications. It is a distributed system, using modular motion units (MMUs) in different programming languages and using different tools to simulate animations, which are merged in a co-simulator and displayed in a separate target engine. Additional services can be implemented and used to perform frequent utility tasks. A high-level task editor and behavior execution system allows the definition of complex agent behavior.

Contact
Janis Sprenger
Email
janis.sprenger@dfki.de
Research area(s)
3D Simulation, Motion Modelling and Synthesis, Deep Learning for Motion Modelling and Synthesis, Agent Animation
Technical features

The MOSIM+ framework comprises several components interconnected by a platform-independent middleware. A target engine (e.g. a Unity Project) is executing the simulation and visualizes the result. It connects to the MOSIM+ Framework over the thrift framework via TCP/IP to the central registry in the MOSIM+ Launcher, which is running in a separate process. Additional services are given by individual executable software components, which connect and register at the central registry and can be called by either the target engine, other services, or so-called MMUs (Modular Motion Units). Adapters are used to connect MMUs to the central registry and simplify development. They load MMUs from the hard drive and provide a communication layer to the rest of the framework. Hence, MMUs themselves do not have to deal with the network connection and scene buffering. These features are provided by the adapters to all available MMUs. A CoSimulation process is used to orchestrate available MMUs to execute a specific simulation which needs to be specified by a higher-level planning system or a human expert. The CoSimulator can be either directly integrated into the target engine (by default Unity) or run as a standalone software (e.g. in case Unreal Engine is used).

Compared to the first version of the MOSIM Framework, the new MOSIM+ Framework has enhanced functionality and usability. The framework was separated into several projects and Unity plugins to allow for easier integration and implementation of new functionality. We provide docker files and docker images to allow the execution in sandboxed environments. New MMUs have been implemented that allow the chaining of constraints: While a Grasp MMU can provide information on the required geometrical constraint of the wrist w.r.t. the object, a Reach MMU is capable of simulating the arm movement to move the wrist to the provided constraint and in turn can provide a global position constraint, which can be utilized to walk to the object with a Locomotion MMU. Constraints to steer the MMUs (e.g. grasping constraints, position constraints, etc.) can be defined in the Annotation editor and are utilized by the MMUs.

Integration constraints

The MOSIM+ framework was designed for a Windows or Linux environment and was published in several Github repositories that can be found at the MOSIM+ Github. The compilation of the full Framework requires a Unity3D license and editor, Visual Studio, Final IK (for the IK service). For an easier compilation, there are deployment scripts provided for Windows environments. A pre-compiled Framework can be downloaded via Github. For the target-engine integration in Unity there are several Unity packages linked in the MOSIM+ Unity repository. In addition, several Linux-based Docker images for the individual MOSIM+ components are provided at Docker-Hub. This means that the MOSIM+ framework can run in any environment which supports Docker. A simulation environment (Target Engine) is required to run simulations. For now, Unity and Unreal are directly supported as target engines for such a simulation environment.

Targeted customer(s)

Software companies, developers, and OEMs who create simulation solutions for manufacturing simulations, pedestrian simulations, architectural visualizations, etc. Software developers specializing in the animation of avatars.

Conditions for reuse

The MOSIM+ framework is provided open source at the MOSIM+ Repository under the terms and regulations of the MIT license.

Confidentiality
Public
Publication date
14-07-2023
Involved partners
Daimler Buses - EvoBus GmbH (DEU)
TWT GmbH Science & Innovation (DEU)
DFKI (DEU)
Lappeenranta University of Technology (FIN)

Images