본문 바로가기
의공학자를 위한 생체역학 시뮬레이션/Scone 사용법

SCO-01 여는 글: SCONE이란?

by 율생공 2024. 8. 20.

생체역학 simulation

  가끔 사람의 동작을 분석하기 위해 simulation을 하는 경우가 있습니다. kinematics는 VICON으로 구할 수 있고, Kinetics는 force plate와 inverse dynamics를 이용해서 구할 수 있습니다. 하지만 근육이 힘을 어떻게 내는지를 체크하기 어렵고, 실제 사람에게 테스트하기 어려운(의족, 의수 등) 물체들을 사람에게 적용해보기 전에 테스트해볼 수 있기 때문입니다.

  시뮬레이션은 목적에 따라 두 종류로 나눌 수 있습니다.

  1. Inverse dynamics simulation : kinetics&kinematics --> 각 근육의 힘

  이 경우는 kinematics/kinetics가 주어졌을 때 muscle이 어떻게 동작하는지를 분석하는 것이 목적입니다. 예시로, 환자의 보행 데이터를 넣고, 환자가 걸을 때 어떤 근육이 잘 활성화되지 않아 이런 보행을 하는 것인지 추론할 수 있습니다.

  2. Predictive simulation : 각 근육의 힘 --> kinetics & kinematics

  이 경우는 반대로 muscle이 어떻게 동작할 지를 입력하면 그에 따른 kinetics와 kinematics가 어떻게 될 지를 보는 것이 목적입니다. 강화학습을 이용한 보행 로봇과 같은 원리입니다.

 

Opensim vs SCONE

  Opensim은 아마 전세계에서 가장 유명한 무료 생체역학 시뮬레이션 프로그램이 아닐까 싶습니다. Gait2354같은 다양한 인체 모델이 많은 점, 많은 논문에서 사용하고 있어 신뢰성이 높은 점, 그리고 사용자가 많아 참고할 자료가 많다는 점이 큰 장점입니다. 그래서 생체역학 시뮬레이션을 하는 경우라면 일반적으로는 Opensim이 좋은 선택지라고 생각합니다.

  그런데 predictive simulation을 하면서는 조금 생각이 달라졌습니다. Opensim으로 predictive simulation을 하고 결과를 보려고 (gait2354) 모델을 시각화했더니 켜지고 10초 시뮬레이션하는 데에 1분이 걸리더군요..ㅋㅋㅋ 제 컴퓨터가 좋지 않아서 그런것도 있지만 기본적으로 시뮬레이션 엔진이 느린 것 같습니다. 보통 Inverse dynamics simulation 개념으로 문제를 풀 때에는 시간이 많이 걸리는 것이 크게 문제가 되지 않지만, trial and error를 통해 최선의 방법을 찾아야 하는 입장에서는 시간이 많이 걸리는 것이 너무 큰 단점이었습니다.

  SCONE은 Opensim과는 달리 predictive simulation에 최적화된 프로그램입니다. 그렇기 때문에(정확도가 어떤지는 직접비교자료가 없어서 잘 모르겠지만) 속도가 Opensim에 비해서는 압도적으로 빠릅니다. 그래서 아주 복잡한 모델링이 필요하진 않지만 predictive simulation을 이용해 분석을 해야하는 경우 SCONE이 Opensim보다 좋은 선택이라고 생각합니다. 그런데 문제는 Opensim 만큼 모델이 다양하거나 사용자층이 넓지 않아 자료를 구하기 힘들고, 핵심 내용들이 Lua 언어를 사용해야 구현이 쉽기 때문에 복잡한 개념(머신러닝 등)을 구현하기가 어렵습니다. 그래도 제작자이신 Thomas Geijtenbeek 님께서 웹사이트와 메일을 통해 친절히 답변해주십니다 ㅎㅎ

 

Hyfydy

  발음을 어떻게 해야하는지 모르겠네요. 하이파이다이??

  Hyfydy는 SCONE에서 제공하는 유료버전이라고 보시면 간단합니다. Hyfydy를 사용하면 무료 SCONE을 사용할 때보다 다양한 모델을 사용할 수 있습니다. 인체 모델을 Notepad로 열어볼 수 있는데, .osim 파일보다 훨씬 깔끔한 구조로 되어있어서 마이너한 수정이 필요하거나 새로 만들기에도 훨씬 편합니다. 부수적으로 시뮬레이션 속도가 빨라지는 효과도 있다고 합니다. 무료버전에서 보행 모델을 구현할 때에는 Sagittal plane만 구현이 되어있는 H0914m, H0918m 모델만을 사용할 수 있지만, Hyfydy를 사용하게 되면 H1622(Hip abduction/adduction, trunk rotation/oblique 포함), H2190(거의 모든 자유도)모델도 사용할 수 있습니다. 그리고 SCONE의 신규 업데이트 사항들을 pre-release를 통해 확인할 수 있습니다.

  

맺음말

  앞으로는 SCONE의 사용법과 예시를 적어보려고 합니다. 감사하게도 SCONE을 이용해 학회나 논문을 내신 많은 분들이 모델과 소스코드를 공개해주셔서 그 내용도 한번 리뷰해볼까 합니다. 아직 저는 SCONE을 이용해 투고한 내용은 없지만, 이후에 투고하게 된다면 SCONE 커뮤니티와 이 블로그에 한번 올려볼까 합니다.