{{ post.title }}
글 편집
글 편집 (이전 에디터)
{{ post.author.name }}
작성일
Version | {{ post.target_version }} | Product |
{{ product.name }}
|
---|---|---|---|
Tutorial/Manual | {{ post.manual_title }} | Attached File | {{ post.file.upload_filename }} |
위 그림과 같이 mass = 251.2Kg인 강체를 2개의 Fixed joint로 고정하게 되면, 아래에 적힌 것과 같이 각 Joint에 걸리는 반력은 1231.71 (N)이 나와야 합니다.
하지만 MBD for ANSYS로 이 모델을 해석해서 Joint의 반력을 구해보면, 한 Fixed Joint는 반력이 두 개의 Fixed Joint 중 하나는 반력이 2463.43 (N), 다른 하나는 반력 0으로 보여집니다. 이러한 결과가 보여지는 이유는, 동역학 시뮬레이션의 관점에서 이 모델이 ‘과잉구속 (Over-Constrained)’되어 있기 때문입니다. 과잉 구속된 구속조건을 MBD for ANSYS 솔버 (Solver)는 ‘Redundant Constraint’로 처리하여 무시하기 때문에 실제 Fixed Joint를 2개 달았지만, 이 중 하나의 Fixed Joint만을 고려하여 동역학 해석을 진행하게 됩니다. 따라서, MBD for ANSYS 솔버 (Solver) 에서 사용된 조인트의 반력만 2463.43 (N)으로 계산되고, 사용되지 않은 다른 하나의 조인트는 반력이 0으로 계산되게 됩니다.
이렇게 과잉구속이 발생하더라도 Fixed Joint를 이용하여 강체를 고정시키고자 하는 것이 주된 목적이라면, 해석결과에는 아무런 문제가 없습니다. 하지만, 각각의 Fixed Joint에 발생하는 반력을 구하는 것이 해석의 주된 목적이라면, 과잉구속에 의해 나머지 다른 Fixed Joint의 반력이 0이 나와서는 안될 것입니다.
이런 경우, 다음과 같이 Fixed Joint 대신 Bushing Force를 사용하게되면, 강체를 고정시키는면서 원하는 반력을 구할 수 있습니다.
이 때, Bushing Force를 Joint와 같이 사용하려고 할 경우에는 구속하고자 하는 자유도에 해당하는 Stiffness를 아주 큰 값 (50만~5000만정도)을 입력할 필요가 있습니다.
Fixed Joint는 6개의 자유도 모두를 구속해야 하므로 Bushing Force의 6개 Stiffness 요소 (Translation, Rotation) 모두에 큰 값을 적용해야 합니다. Fixed Joint처럼 완전하게 구속을 시켜주진 않기 때문에, Body에 약간은 Displacement가 발생합니다 (Stiffness가 클수록 Displacement가 작게 발생합니다.). 이렇게 적용한 후, 시뮬레이션을 하고, Bushing Force의 반력을 확인해보면 양쪽 모두 1231.71 (N)이 나오는 것을 확인할 수 있습니다.
예제에서는 Stiffness 값으로 "50,000,000"을 사용하였는데, 약간의 Displacement가 발생해도 괜찮다면, 이보다는 작은 500,000이나 5,000,000 정도를 입력해도 상관은 없습니다.
참고로, 만일 Fixed Joint가 아닌 Revolute Joint를 Bushing Force로 대체하는 경우라면, 회전에 해당하는 요소에 대해서만 K와 C를 0으로 놓고, 나머지 요소에 대해서는 Stiffness에 아주 큰 값을 입력하면 됩니다.