Technical Support

{{ post.title }} 글 편집 글 편집 (이전 에디터) Author {{ post.author.name }} Posted on

Version {{ post.target_version }} Product
{{ product.name }}
Tutorial/Manual {{ post.manual_title }} Attached File {{ post.file.upload_filename }}

OnOff Joint is a joint that operates when certain conditions are met.
This allows you to define joints that operate only under certain conditions.

One of the most useful examples could be a joint that replaces ‘Contact’.
When you are modeling a robot that moves objects and interested only in mass changes rather than contact characteristics, you can use it as a 'Fixed Joint' that works only under certain conditions.

For example, OnOff Joint is used instead of ‘Contact’ when a robot is moving objects as shown in the video below.

(Watch Youku Video)

You can download the attached example model file by clicking the link below.

Download OnOffJoint_V9R1 (example model)

(Watch Youku Video)

1. 0~1 sec: MovingBody moves to the right.
2. 1~2 sec: GripperBody moves downwards.
3. 2~3 sec: GripperBody stops on top of TargetBody.
4. 3~4 sec: GripperBody picks up TargetBody (It operates when OnOff Joint is ‘time>3’ in the Expression as shown in the following dialog).
5. 4~5 sec: GripperBody with TargetBody moves to the right.

  • When the expression defined by Expression is true (not 0), the constraint is applied.
  • If the result of the expression is 0, the constraint does not apply.




When all six degrees of freedom are constrained, the joint operates like a fixed joint so that the same effect as picking up objects can be confirmed. 

This example allows you to express the movement of putting objects down.
(Models where some parts are supposed to be detached, such as rockets, can be also modeled)

When five degrees of freedom are constrained except Rotational Z, the joint operates like a revolute joint.


One more tip!

In the example model, the following expression is used to show the vertical motion of the Gripper. The expression can be easily created using ExpressionHelper and SignalChart_TimeType.

STEP(Time,1,0,2,200)+STEP(Time,3,0,4,-200)+STEP(Time,4,0,5,0)+STEP(Time,4,0,5,-0)




You can also use the expression above to easily create the expression below.

STEP(Time,1,-1,1,0)+STEP(Time,2,0,2,1)+STEP(Time,3,0,3,-1)+STEP(Time,4,0,4,-1)
+STEP(Time,5,0,5,1)+STEP(Time,6,0,6,1)+STEP(Time,7,0,7,-2)+STEP(Time,8,0,8,1)+STEP(Time,8,0,8,-1)





You can easily create complex expressions using the following Excel file.