{{ post.title }}
글 편집
글 편집 (이전 에디터)
{{ post.author.name }}
작성일
Version | {{ post.target_version }} | Product |
{{ product.name }}
|
---|---|---|---|
Tutorial/Manual | {{ post.manual_title }} | Attached File | {{ post.file.upload_filename }} |
RecurDyn에서 Marker의 자세를 정할 때,
Coordinate타입으로 지정 후, Slave Point를 무한대 값을 이용하여 설정하면, Master만 컨트롤하면 자세를 결정할 수 있습니다. 이 팁은 Marker의 자세를 Parametric Point를 통해 조정하고자 할 때 특히 유용합니다.
이해하기 어렵다면, 아래 내용만 기억하면 됩니다.
"Slave를 무한대값(아주 큰 값)이 포함된 벡터로 설정하면 Master만으로 자세를 결정할 수 있다."
- Slave 가 무한대가 아닌 값으로 설정하면 Master를 변경했을 때, 최종 자세가 Slave값의 영향도 받습니다.
- Slave가 무한대값으로 설정되면 slave의 방향은 항상 고정된 셈이므로, 항상 동일한 방향으로 향한 벡터라고 볼 수 있다. (무시할만한 차이만이 발생)
예를 들어, 아래에서 Slave Point를 0, 0, 1.e+15으로 입력하였습니다. (무한대를 입력할 수는 없기에 아주 큰 값 입력) 이렇게 입력하면 사실상 어떤 점을 기준으로 해도 Slave Point는 Z축과 평행한 벡터로 고정됩니다. (물론 완전히 평행하지는 않지만, 그 오차는 무시할만합니다.)
이제 그 이유를 설명해보겠습니다. Coordinate타입의 경우, 자세가 결정되는 방식을 이해하면 이유를 알 수 있습니다.Coordinate 타입에서 master를 +Z 로 Slave를 +X로 하여 선택하면,
Master와 Slave를 가지고 아래와 같이 자세를 결정합니다.
우선 Origin에 대한 Master의 방향을 Z축으로 결정한 후,
- Origin에 대한 Master와 Slave의 외적을 계산하여 Y축을 결정
- Z축과 Y축의 외적을 계산하여 X축을 결정. (Master와 Slave가 서로 직교가 아닐 수 있으므로 X를 재계산)
즉, master뿐만 아니라 slave가 축방향을 정하는 데 영향을 줍니다. 만일 Origin이 변경될 경우, 자세를 유지하려면 master와 slave를 모두 origin에 맞춰 변경해줘야 합니다.
하지만 slave를 무한대 값으로 설정해버리면, 사실상 origin에 관계없이 slave는 항상 동일한 방향 벡터라고 할 수 있습니다. (오차가 매우 적음) 즉, Slave는 항상 동일한 방향을 가리키고 있으므로, master만으로 자세를 컨트롤할 수 있게 됩니다.
첨부 모델은 위의 원리를 이용하여 Slave를 일정하게 유지한 채, Origin과 Master만 함께 변경하면 일정한 자세를 유지할 수 있게 한 예제입니다. (Marker만 있는 모델입니다.)
모델설명
- Marker1은 Origin에 대해 Master는 Global X, slave는 Global Z방향으로 설정
- Origin 205, 5, 0
- Master 206, 5, 0 (즉, 방향벡터는 1, 0, 0)
- Slave 205, 5, 1 (즉, 방향벡터는 0, 0, 1)
- Marker2, Marker3는 origin의 변화에 따라 적절히 master, slave를 함께 변경해주어, 일정한 자세 유지.
- Marker3_DifferentSlave는 Marker3의 Slave를 적절히 변경해주지 않은 탓에 자세가 다소 틀어졌음 (Euler Angle이 90, 90, 90이 아님)
- Origin 210, -5, 0
- Master 211, -5, 0 (즉, 방향벡터는 1, 0, 0)
- Slave 205, 5, 1 (즉, 방향벡터는 -5, 10, 1)
- 하지만 Marker3_Infinity의 경우, Slave를 0, 0, 1.e+15으로 입력하여 Marker1, Marker2, Marker3와 동일한 자세 유지. (Slave는 항상 Global Z방향)
- Marker3_Infinity에 대해 origin과 Master만 상대적인 값을 함께 변경해주면 계속 동일한 자세 유지(Slave는 0, 0, 1e+15로 유지)
