Search

[Bi-Stable Gripper] MATLAB과 Recurdyn 해석 관련해 질문드립니다

Board √
Member √
Category √
MATLAB
Created by
전현준
전현준
Status √
Complete
Files
Bi-stable Gripper.zip
5 more properties
Question
지난 [Easy_Model] 관련 질문드립니다(Matlab, Recurdyn 이용한 2 Link Mechanism 분석) 질문과 유사한 질문 드립니다.
승현 선배님이 주신 [Easy_Model]에 이어 [Bi-Stable Gripper](이하 BSG) 코드를 분석하고 있습니다.
이번 주 팀 미팅 당시 장건익 선배님께서 주신 조언(예시를 따라 직접 코드를 짜보는 것이 도움이 된다)에 따라 [BSG] 과제의 목적을 분석한 후 승현 선배님께서 도출하실 결론을 직접 도출하는 것을 목표로 파일을 보고 있습니다.
하지만 이전 파일보다 변수와 코드의 양 모두 많이 늘어 해석하는데 어려움을 겪고 있습니다.
따라서 아래의 질문들에 따라 도움 주신다면 감사하겠습니다.
Q1) 해당 코드들의 최종 목표는 리커다인 시뮬레이션을 통한 BSG 해석과 매트랩을 통한 해석이 일치하는 지를 확인하는 것으로 보입니다. 제가 이해한 바가 맞는지, 틀렸다면 본 과정의 진짜 목표는 무엇인지 알려주시면 감사하겠습니다.
Q2) 위의 Q1)을 통해 최종 목표가 정해졌다면 제가 직접 코드를 짜기 시작할 수 있을 것 같습니다. 이전 모델과 마찬가지로 BSG 모델에 맞춰 변수를 설정하고, Equation of Motion을 찾고, 이를 기반으로 해석하는 흐름으로 진행하면 되는 것으로 이해하고 있습니다. 이를 제외하고 이 코드를 참고했을 때 유의할 점, 혹은 추가적으로 분석할 점을 알려주시면 감사하겠습니다.
Q3) 파일이 [BSDM_Kinematic_Model], [Matlab], [Recurdyn]으로 나누어져 있습니다. [BSDM_Kinematic_Model]의 경우 BSG의 운동을 확인하는 것, [Matlab]은 [Easy_Model]과 마찬가지로 운동방정식을 분석하는 것, [Recurdyn]은 리커다인의 값을 불러온 것으로 이해했습니다. 하지만 더 상세한 설명이 있다면 직접 코드를 짜는 과정에서 막히거나 기존의 코드와 비교할 때 도움이 되겠습니다. 예를 들자면 [Matlab] 폴더 속 코드들이 서로 참조하고 있는 관계, [Recurdyn]의 값들을 불러오는 과정 등이 잘 이해되지 않습니다. 이러한 부분들을 좀 더 자세히 설명해주시면 감사하겠습니다.
Answer

Q1 ) 본 목적: Snap-through가 일어날 수 있는 최소 Force 확인

RecurDyn으로 Force를 계속 바꿔서 확인하기에는 번거롭기 때문에,
MATLAB을 이용하여 Lagrange Equation으로 운동방정식을 세우고 반복문으로 Snap-through가 일어날 수 있는 최소 Force를 찾기 위해서 코드를 작성
작성한 MATLAB 코드로 Dynamics 해석이 올바르게 수행되는지 RecurDyn을 통해 검증하기 위해 1번부터 진행
1.
MATLAB 코드로 수행한 Dynamics 해석 결과와 RecurDyn 시뮬레이션 결과가 동일한 것을 확인함 (앞서 너가 언급한 사항과 동일)
2.
Time vs alpha 그래프 도출

Q2 ) 유의할 점은 딱히 없을 것 같고, 하다가 막히게 되었을 때 어떠한 문제가 발생했는지 알려준다면 추가로 설명해줄 수 있음

RecurDyn의 해석 결과와 동일한 결과를 만들어 내는 MATLAB 코드를 작성하는 것을 목표로 하면 됨.
MATLAB 코드와 RecurDyn 해석 결과를 맞춰가는 과정에서 해당 모델 관련 의문점이 있다면 추가로 상세히 질문하는 게 나을 듯.

Q3 ) MATLAB: [Easy_Model]과 동일하게 운동방정식을 분석하여 Time vs alpha 그래프 도출 (Closing_speed_BSDM_recurdyn)

RecurDyn: RecurDyn으로 모델링한 링크 (Model3_2.rdyn) (torsional spring 등 반영), 나머지 파일들은 그냥 시뮬레이션 파일이라 그대로 두면 됨.
RecurDyn에서 시뮬레이션을 수행한 결과 데이터는 [2]Matlab에서 F.xlsx, F_0_1.csv, F_0_05.csv, F_1.csv 파일로 저장됨.
(여기서 F_0_1뜻은 F를 0.1N으로 줬다는 뜻. 마찬가지로 F_0_05는 F를 0.05N으로 줬다는 뜻)
BSDM_Kinematic Model은 앞서 너가 말한 그대로 시스템의 운동을 확인하는 것.
일단, 먼저 혼자 직접 MATLAB 코드를 짜는 것 보다 각 파일이 어떠한 내용을 썼는지 완벽히 숙지한 다음에 코딩을 짜는 것이 막막하지 않을 것이라 생각함
line by line으로 하나씩 읽다가 이 line이 무엇을 의미하는지 모르겠다 싶으면 찾아와서 물어봐도 됨!
Read analysis data.m은 그냥 무시해도 되고 보는 순서를 알려주면,
1.
Recurdyn_Kinetic_energy.m 은 Kinematic Model처럼 링크 위치 확인
2.
bsdm_energy_recurdyn은 Recurdyn_Kinetic_energy.m에서 확인된 링크를 가져와서 Kinetic Energy와 Potential Energy에 대한 식 작성 + Lagrange Equation에 대한 미분 진행 + RK4를 돌리기 위해 alpha_2dot과 alpha_dot으로 묶음
3.
My_RK4_BSDM_Recurdyn.m은 Easy model처럼 RK4 돌린 파일 (주의할 점: 관성모멘트 (리커다인에서 실린더 형태로 해서 실린더 관성모멘트 반영)
4.
closing_speed_BSDM_recurdyn.m은 리커다인에서 도출한 결과파일(F.xlsx, F_0_1.csv, F_0_05.csv, F_1.csv: 리커다인에서 시간에 따른 alpha 데이터 추출한 결과값) plot하고 RK4돌려서 나온 Time vs alpha 값 plot해서 일치하는지 확인하는 파일
Mention for reply completion notification: @전현준