Technical Support

{{ post.title }} 글 편집 글 편집 (이전 에디터) 작성자 {{ post.author.name }} 작성일

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

OnOff Joint는 특정 조건을 만족시킬 때, 동작하도록 하는 조인트입니다.
이를 이용하면, 특정 조건 하에서만 동작하는 조인트를 정의할 수 있습니다.

유용한 예 중에 하나는 접촉을 대신하는 조인트입니다.
물건을 이동시키는 로봇을 모델링할 때, 접촉 특성이 아닌 질량의 변화 등에만 관심이 있을 경우,
특정 조건에서만 동작하는 ‘Fixed Joint’와 같이 모델링하여 사용할 수 있습니다.

예를 들어, 아래의 영상과 같은 동작에서 물건을 옮길 때 접촉이 아닌 OnOff Joint를 이용하였습니다.

예제 모델을 첨부하였으니, 한번 살펴보시기 바랍니다.

Download OnOffJoint_V9R1 (example model)

1. 0~1초 MovingBody가 우측으로 이동
2. 1~2초 GripperBody 하단으로 이동
3. 2~3초 GripperBody가 TargetBody위에서 정지
4. 3~4초 GripperBody가 TargetBody를 위로 집어올림 (이 때, OnOff조인트가 아래 다이얼로그와 같이 time >3 일 때, 동작합니다.)
5. 4~5초 TargetBody를 집어든 GripperBody가 우측으로 이동

  • Expression으로 정의한 수식이 참일 때 (0이 아닐 때) 해당 구속조건이 적용
  • 만일 수식의 결과값이 0이면 구속조건이 적용되지 않음



위와 같이 6개의 자유도를 모두 구속하면 Fixed Joint와 같이 동작하므로, 물건을 집어든 것과 같은 효과를 낼 수 있습니다.

이 예제를 활용하면 물건을 내려 놓는 동작도 표현할 수 있습니다.
(또는 로켓과 같이 일부 부품이 이탈하는 것도 모델링이 가능합니다.)

만일 RotationalZ를 제외한 나머지 5개의 자유도만 구속한다면 마치 Revolute Joint와 같은 효과를 낼 수 있습니다.


한가지 더!

예제 모델에서는 아래와 같은 Expression을 이용하여 Gripper가 내려갔다 올라오는 동작을 표현했는데,
이는 ExpressionHelper, SignalChart_TimeType을 이용하여 손쉽게 Expression을 만들었습니다.

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




이를 이용하면 아래와 같은 수식도 손쉽게 만들 수 있습니다.

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)




아래와 같은 Excel 파일을 통해 손쉽게 복잡한 Expression을 생성 가능