{{ post.title }}
글 편집
글 편집 (이전 에디터)
{{ post.author.name }}
작성일
Version | {{ post.target_version }} | Product |
{{ product.name }}
|
---|---|---|---|
Tutorial/Manual | {{ post.manual_title }} | Attached File | {{ post.file.upload_filename }} |
RecurDyn의 Toolbar 기능 중 Object Control을 이용하여 Body를 회전시키고 해석을 완료해보면, 회전하기 이전의 초기 위치로 돌아가서 회전하기 시작하는 경우가 있습니다.
<그림 1>
첨부된 예제를 보시면, 위 <그림 1>과 같이, Object Control을 이용하여 오른쪽 실린더를 60도 만큼 시계반대방향으로 회전시켰습니다. 하지만 해석완료 후 확인해 보면 회전하기 전의 초기 상태에서 부터 시작되는 것을 확인할 수 있습니다. RecurDyn 모델링을 하다보면 간혹 이런 경우가 발생하게 됩니다.
이 예제에서 Revolute Joint의 Motion은 <그림 2>와 같이 Displacement 타입으로, Time라고 정의되어 있습니다.
<그림 2>
0초에 0 rad, 1초에 1 rad 만큼 회전한 상태로 만든다는 의미입니다.
이때, 이 각도는 Revolute Joint의 Base Marker를 기준으로 한 Action Marker의 자세입니다.
우측 실린더 Body에 생성된 Revolute Joint(C1_RevJoint1)에서 Base Marker는 Ground.Marker2, Action Marker는 Body2,Marker1 입니다.
<그림 3>
초기 모델링 상태에서 Action marker는 60도 만큼 회전해 있지만, 해석을 진행하게 되면 Revolute Joint에 정의 된 Motion 조건에 의하여 회전이 발생하기 때문에, 눈으로 보이는 모델링 상태와 해석 후 시뮬레이션 '0'초의 상태는 다를 수 있습니다.
그렇다면, 사용자의 의도가 시뮬레이션 '0'초에 60도만큼 회전된 상x에서 Motion이 시작되게 하려면 어떻게 해야 할까요?
- 첫번째 방법은(첨부된 예제모델 기준), Motion에 정의된 'Time' 대신, Time+60D를 입력하는 것입니다.(D를 붙이는 것은 60 degree를 rad으로 변환해 주는 것입니다.) 즉, Revolute Joint의 Motion 조건을 수정하여, 시뮬레이션 '0'초일 때 60도만큼 오프셋되게 하는 방법입니다.
- 위 방법보다 다음 방법을 더 추천합니다. 여기서 중요한 포인트는 Base Marker와 Action Marker 간의 각도입니다. 따라서 Base Marker의 자세를 Action Marker와 같이 60도만큼 회전시켜주면 모델링 상태에서 두 Marker의 자세가 같아집니다. 이 상태에서 해석을 수행하면 회전된 상태에서부터 실린더가 회전하게 됩니다.
2번을 쉽게 적용하는 방법은 다음과 같습니다.
<그림 4>
Revolute Joint의 Property 창을 오픈하여, Connector 탭을 보면 <그림 4>와 같이 'Copy Action to Base'라는 버튼과 'Copy Base to Action'이라는 버튼이 있습니다. 'Copy Action to Base' 버튼을 누르면 Action marker의 위치와 자세가 Base marker에도 동일하게 적용되고, 이 상태에서 'OK' 혹은 'Apply'를 누르면 적용됩니다.