C3D 파일의 처음과 끝의 데이터 안정성 문제
모델을 Load하고 시뮬레이션을 수행하게 되면 아래와 같은 에러메시지를 종종 접하게 됩니다.
C3D 파일은 특정 시간 범위에 대해서 마커 궤적을 포함하고 있습니다. 즉, 그 특정 시간 외의 데이터는 포함하고 있지 않습니다. 또한, 특정 시간 범위의 시작과 끝 부분은 안정적인 데이터가 아닐 수 있습니다. 따라서 모션데이터를 보간하기에 유용하지 않을 수 있습니다.
Time, 't', has an invalid value for this interpolation. 에러 해결 방법
사용자가 C3D파일의 시간 범위를 모른다면 시작 시간과 끝 시간을 알아내야 합니다. 그 방법은 아래와 같이 Study 폴더 를 아래와 같이 주석 처리합니다.
그리고 Model Tree에서 사용자가 불러온 C3D파일 경로에서 FirstFrameNo. LastFrameNo. VideoFrameRate를 확인합니다.
예를 들어 아래와 같이 총 1000프레임의 데이터를 가지고 있는데, FrameRate 가 100 Frame/s 이니 총 시간은 10초가 됩니다.
앞서 언급한 것처럼 처음과 끝의 데이터는 보간하기에 불안정할 수 있으므로 앞뒤로 0.05초의 데이터씩 앞당겨 지정합니다.
하지만, 이를 매번 C3D데이터를 확인하고 프레임시간을 확인하는 것이 번거로울 수 있어 자동화 할 수 있는 방법이 있습니다. 아래와 같이 AnyIntVar를 이용해 FirstFrame와 LastFrame을 변수화 하고 2*Kinematics.ApproxVelAccPerturb 를 이용하면 시작과 끝에서 불안정한 데이터를 사용하지 않을 수 있습니다.
'AnyBody > FAQ' 카테고리의 다른 글
AnyForce 클래스를 이용한 Spline 하중 적용방법 (0) | 2024.10.23 |
---|---|
보행자의 보폭 측정 방법 (0) | 2024.07.10 |
한국인 표준 체형으로 스케일링하는 방법 (0) | 2024.06.14 |
AnyRefFrame 클래스의 r, rDot, rDDot, Axes, r0, Axes0, sRel, ARel 은 어떤 값인가요? (0) | 2024.06.13 |
시뮬레이션 결과 저장/불러오기 방법 (0) | 2024.06.12 |