-
Notifications
You must be signed in to change notification settings - Fork 8
MoveMMU
The MoveMMU is a basic MMU that allows to move objects from one location to further ones. The MMU allows to define single points as target locations, as well as trajectories.
Property | Values |
---|---|
Name | MoveMMU |
ID | daimler.com:MoveMMU/1.0 |
VendorDomain | daimler.com |
Vendor | Daimler Buses |
Author | Felix Gaisbauer |
Short description | A move MMU which models both, one handed and both handed motions. |
Long description | A move MMU realized using inverse kinematics. It moreover supports concurrent motions. |
Programming Language | C# |
Development Tools | Visual Studio 2017 |
Service dependencies | IKService |
MMU dependencies (Motion types) | - |
File dependencies | MoveMMU.dll |
Application dependencies | requires .Net 4.5 or newer |
Additional Libraries | - |
MotionType | Object/Move |
Events | end |
Basic MMU | yes |
License | MIT |
In the following an overview of the functionalities and parameters of the MoveMMU are provided.
Name | Type | Required | Description |
---|---|---|---|
TargetID | MGeometryConstraint(ID) | yes | The id of the target location (object). |
SubjectID | MGeometryConstraint(ID) | yes | The id of the object hat should be moved. |
Hand | {Left,Right} | yes | The hand used for moving the object. |
Trajectory | MPathConstraint(ID) | no | ID of the MPathConstraint constraint", "An optionally specified trajectory. |
Velocity | float | no | An optionally defined velocity. |
AngularVelocity | float | no | An optionally defined angular velocity. |
HoldDuration | float | no | An optional time, the move is held. |
CollisionAvoidance | bool | no | Flag defines whether local collision avoidance using steering behavior is used. |
For utilizing the MoveMMU three parameters are crucial, namely TargetID, SubjectID and Hand. Whereas the first describes the target location that should be established after moving the object, the SubjectID describes the object that should be moved. Moreover, the Hand parameters describes which hand should be moved for the move operation. The MMU furthermore supports several optional parameters such as Trajectory, Velocity or AngularVelocity. It is noteworthy that the MMU supports optionaly collision avoidance which is based on local steering behaviors.
The MoveMMU does not require explicit scene parameters.
MInstruction moveObject = new MInstruction(MInstructionFactory.GenerateID(), "move object", "Object/Move")
{
Properties = PropertiesCreator.Create("SubjectID", UnitySceneAccess.Instance["GraspObject"].ID, "Hand", "Right", "TargetID", UnitySceneAccess.Instance["PositioningTarget"].ID),
};
The MoveMMU is a model-driven MMU based on local motion planning in conjunction with inverse kinematics. For each frame, the next posture of the object and hand is planned using local motion planning. The IK is consecutively used to compute a feasible posture.
Provided as basic MMU with MIT license.
- What is the MOSIM Framework?
- Components of the Framework
- Repository Structure
- RPCs with Apache Thrift
- Setting up the MMI-Environment
- MMU Development
- Target Engine Integration
- Integration in Unity
- Integration in UE4
- Integration in 3rd Party Engines
- Service Development
-
Intermediate Skeleton & Retargeting
- Concept of the Intermediate Skeleton
- Retargeting Service and Configurator
- Retargeting in Unity
- Retargeting in UE4
- Constraints