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 }}

Joint에 Motion을 적용하여 운동하는 Body에 대하여, 시뮬레이션 중 특정 조건(시간, 센서 등으로 expression으로 적용 가능한 조건) 이 후 Free Motion (자유운동)으로 변경하는 방법에 대하여 알아보도록 하겠습니다.

RecurDyn에서는 특정 시간이나 조건에 대하여 이미 적용된 Motion(expression으로 정의된다.)을 "0"으로 만들 수 있습니다. 하지만 "0"은 움직이지 않는 것을 뜻하며, 자유운동을 하지 않습니다. 그렇기 때문에 실제 모델링 시, 가상의 Dummy body와 force를 생성하는 트릭을 써야 합니다. (단, 이때 생성되는 dummy body와 force는 실제 원하는 운동상황 및 해석 결과에 영향을 주면 안됩니다.)

아래 예제 모델을 통하여 이와 같은 해석모델을 모델링하는 방법에 대하여 알아보도록 하겠습니다.

free_motion_01


위 그림은, Ground Body와 Spring Force로 연결된 Box body에 Translate Joint를 생성하고 일정한 속도로 Spring의 반대방향, 즉 오른쪽으로 0.5초 동안 등속운동을 적용하였습니다. 그리고 0.5초 이후에는 등속운동은 사라지게되고 Spring Force의 영향을 받아 다시 왼쪽으로 돌아오게 됩니다.

free_motion__virtual_area


적용 원리는 다음과 같습니다.

1. 실제 Target Body(Box)의 중심 부근에는 질량이 아주 작은 Dummy body(sphere)를 생성

2. Target Body와 Dummy 사이에 가상의 Axial Force를 생성하여, 마치 하나의 Body가 움직이는 것 처럼 강한 Spring Force(expression 수식으로 표현, 아래 expression 수식 참고)로 고정

3. 그리고 Ground와 Dummy 사이에 Translate Joint 1로 등속운동을 적용

4. 이렇게 되면 Target Body는 Dummy와 Axial force를 통해 간접적으로 Ground와 연결됨

5. 이 후, Expression 함수 중 IF()를 활용하여 0.5초 이후에는 이 가상의 Spring Force를 "0"으로 적용하게 되면, 해석적으로 Target Body와 Dummy Body 연결고리는 완전히 끊어지게 되고 결국 Ground와 등속운동으로 간접적으로 연결되어 있었던 연결관계도 끊어지게 됨

  • Virtual Force Expression : IF(TIME-0.5: 100000*(DX(TargetBody marker, dummy marker)), 0, 0)

이렇게 되면 Ground와 Target Body 사이에 Motion을 정의하지 않은 Translate Joint 2에 의해 자유운동을 가지게 됩니다.

예제모델을 응용하여 다양한 조건, 다양한 Joint를 활용한다면, 더욱 정밀한 움직임을 표현할 수 있습니다.