Skip to content
This repository has been archived by the owner on Dec 1, 2021. It is now read-only.

MoveFingersMMU

Janis Sprenger edited this page Feb 18, 2021 · 1 revision

Move Fingers MMU

Scope

The MoveFingersMMU is a basic MMU that allows the manipulation of finger joints. In particular, the MMU allows to blend between different hand postures specified using MPostureConstraints.

image

Overall Data

Property Values
Name MoveFingersMMU
ID daimler.com:MoveFingersMMU/1.0
VendorDomain daimler.com
Vendor Daimler Buses
Author Felix Gaisbauer
Short description MMU allows to manipulate the finger joints by means of motion blending.
Long description MMU allows to manipulate the finger joints by means of motion blending.
Programming Language C#
Development Tools Visual Studio 2017
Service dependencies -
MMU dependencies (Motion types) -
File dependencies MoveFingersMMU.dll
Application dependencies requires .Net 4.5 or newer
Additional Libraries -
MotionType Pose/MoveFingers
Events FingersPositioned
Basic MMU yes
License MIT

Functionalities

In the following an overview of the functionalities and parameters of the MoveFingersMMUare provided.

Parameters

Runtime Parameters

Name Type Required Description
Hand {Left,Right} yes The hand type.
Release bool no Specifies whether the hand posture should be released.
HandPose MPostureConstraint(ID) no The desired hand pose.
Duration float no The desired duration until the pose is established.
AngularVelocity float no The max angular velocity of the finger motions.

An important parameter that must be specified for using the MMU is the Hand and the corresponding HandPose that should be reached. The MMU supports two modes, whereas by default the given handpose is tried to be achieved, the MMU furthermore supports a Release motion. If the Release parameter is set, an HandPose is not required. In this mode, the MMU establishes the original hand posture given by the previous MMU in hierarchy.

Scene Parameters

The MoveFingersMMU does not require explicit scene parameters.

Examples

//Indicates whether a release motion should be performed
public bool Release = false;

//The desired Hand pose (rotations of the finger Joints)
public UnityHandPose LeftHandPose;

//Create the instruction to move the fingers
MInstruction moveFingersInstructions = new MInstruction(System.Guid.NewGuid().ToString(), "Move fingers", "Pose/MoveFingers")
{
     Properties = new Dictionary<string, string>()
     {
            {"Release", this.Release.ToString() },
            {"Hand", "Left" }
     },

     Constraints = new List<MConstraint>()
};

string constraintID = System.Guid.NewGuid().ToString();
moveFingersInstructions.Properties.Add("HandPose", constraintID);
moveFingersInstructions.Constraints.Add(new MConstraint()
{
       ID = constraintID,
       PostureConstraint = this.LeftHandPose.GetPostureConstraint()
});

Known Issues

Technical Information

The MoveFingersMMU utilizes joint interpolation to transfer the finger orientations from the currently present posture to the desired one.

Licensing

Provided as basic MMU with MIT license.

MOSIM Documentation

Introduction

Documentation

Known Issues

Clone this wiki locally