이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
단진자 분석하기
이 예제는 단진자의 동적 응답을 분석하는 방법을 보여줍니다. 회전 조인트의 회전을 측정하고, 감쇠를 추가하고, 토크를 적용하는 방법을 알아볼 수 있습니다. 멀티바디 동특성 시뮬레이션에 대한 자세한 내용은 멀티바디 동특성 항목을 참조하십시오. 모션 출력값과 함께 MATLAB® 명령을 사용하여 조인트에 대한 일련의 위상 플롯을 만들 수 있습니다.
먼저, 단진자 모델링하기 항목을 참조하여 단진자 모델을 만드십시오. 이 모델에 힘과 토크를 추가하면, 단진자를 감쇠가 없는 자유 진자에서 감쇠가 있는 구동 진자로 점진적으로 변화시킬 수 있습니다. 적용할 수 있는 힘과 토크는 다음과 같습니다.
중력(Fg) — 질량에 정비례하여 모든 물체에 작용하는 전역 힘으로, 가속도 벡터 g로 지정합니다. 이 벡터는 Mechanism Configuration 블록을 사용하여 지정합니다.
조인트 감쇠(Fb) — 진자와 조인트 픽스처 사이의 내부 토크로, 선형 감쇠 계수로 파라미터화합니다. 이 파라미터는 진자를 조인트 픽스처에 연결하는 Revolute Joint 블록을 사용하여 지정합니다.
액추에이션 토크(FA) — 진자와 조인트 픽스처 사이의 구동 토크로, 진자를 조인트 픽스처에 연결하는 Revolute Joint 블록을 사용하여 Simscape™ 물리 신호로 직접 지정합니다.
진자 운동에 대한 감지 정보 출력하기
먼저 SimplePendulum
모델을 업데이트하여 위치 데이터와 속도 데이터를 출력한 다음 이 데이터가 MATLAB 기본 작업 공간에 출력되도록 합니다.
튜토리얼 단진자 모델링하기에서 만든
SimplePendulum
모델을 엽니다.Revolute Joint 블록 대화 상자의Z 회전 프리미티브(Rz) > 감지 섹션에서 다음 파라미터를 선택합니다.
위치
속도
블록에 두 물리 신호 q와 w가 추가로 표시되며, 이 두 포트로부터 월드 프레임 기준의 진자 각위치와 각속도가 출력됩니다.
다음 블록을 모델에 추가합니다. 이들 블록을 사용하여 조인트 위치와 속도를 MATLAB 기본 작업 공간으로 출력합니다.
라이브러리 블록 수량 Simscape > Utilities PS-Simulink Converter 2 Simulink > Sinks To Workspace 2 To Workspace 블록 대화 상자에서 변수 이름 파라미터를 각각
q
와w
로 변경합니다. 이 변수를 통해 시뮬레이션 중 To Workspace 블록이 출력하는 조인트 변수를 쉽게 식별할 수 있습니다. 위치는 Revolute Joint 블록 포트 q를 통해 출력되고, 속도는 Revolute Joint 블록 포트 w를 통해 출력됩니다. 변수 이름에서 키워드out
을 제거하려면, Simulink® 툴스트립의 모델링 탭에서 모델 설정을 클릭한 후 데이터 가져오기/내보내기를 선택하고 단일 시뮬레이션 출력 파라미터를 선택 해제합니다.그림에 표시된 것처럼 블록을 연결합니다. 변수 이름이
q
인 To Workspace 블록이 PS-Simulink Converter 블록을 통해 Revolute Joint 블록 포트 q에 연결되고, 변수 이름이w
인 To Workspace 블록이 Revolute Joint 블록 포트 w에 연결되도록 합니다.두 PS-Simulink Converter 블록 모두에서 벡터 형식 파라미터의 값을
1차원 배열
로 변경합니다. q 포트와 w 포트에 연결된 PS-Simulink Converter 블록에서 출력 신호 단위 파라미터를 각각deg
와deg/s
로 설정합니다.모델을 다른 이름으로 저장합니다(예:
SimplePendulumAnalysis
).
비감쇠 진자 분석하기
시뮬레이션을 실행합니다. 멀티바디 탐색기(Multibody Explorer)가 열리면서 단진자 모델의 3차원 애니메이션이 재생됩니다.
MATLAB 명령 프롬프트에 다음 코드를 입력하여 시간에 대한 조인트 위치와 속도를 플로팅합니다.
다음 그림은 결과 플롯을 보여줍니다.figure hold on plot(q) plot(w)
MATLAB 명령 프롬프트에 다음 코드를 입력하여 각위치에 대한 조인트 각속도를 플로팅합니다.
이 결과는 조인트의 시작 위치가 수평면에 대해 0도일 때의 위상 플롯입니다.figure plot(q.data, w.data) xlabel('θ (deg)') ylabel('ω (deg/s)')
다양한 시작 각도로 모델을 시뮬레이션해 봅니다. Revolute Joint 블록 대화 상자에서, Z 회전 프리미티브(Rz) > 상태 목표값 섹션의 위치 목표값 지정 아래에 있는 값 파라미터를 지정합니다. 다음 그림은 시작 각도
-80
,-40
,0
,40
,80
deg
의 복합 위상 플롯을 보여줍니다.
감쇠 진자 분석하기
Revolute Joint 블록 대화 상자에서 Z 회전 프리미티브(Rz) > 내부 메카닉스 > 감쇠 계수를
8e-5
(N*m)/(deg/s)로 설정합니다. 감쇠 계수는 운동 중 에너지 손실을 일으켜 진자 진동의 진폭을 점차 감소시킵니다.Z 회전 프리미티브(Rz) > 상태 목표값 > 위치 목표값 지정 > 값이
0
deg
로 설정되어야 합니다.시뮬레이션을 실행합니다.
시간에 대한 조인트 위치와 속도를 플로팅합니다. 이를 위해 MATLAB 명령 프롬프트에 다음 코드를 입력합니다.
다음 그림은 결과 플롯을 보여줍니다. 감쇠로 인해 진자 진동이 시간이 지남에 따라 감소합니다. 감쇠 값이 더 커지면 진자가 과감쇠(overdamped) 상태가 되어 진동이 사라집니다.figure hold on plot(q) plot(w)
조인트 위상 플롯을 플로팅합니다. 이를 위해 MATLAB 명령 프롬프트에 다음 코드를 입력합니다.
figure plot(q.data, w.data) xlabel('θ (deg)') ylabel('ω (deg/s)')
다양한 시작 각도로 모델을 시뮬레이션해 봅니다. Revolute Joint 블록 대화 상자에서, Z 회전 프리미티브(Rz) > 상태 목표값 섹션의 위치 목표값 지정 아래에 있는 값 파라미터를 지정합니다. 다음 그림은 시작 각도
-80
,-40
,0
,40
,80
deg
의 복합 위상 플롯을 보여줍니다.
감쇠가 있는 구동 진자 분석하기
Revolute Joint 블록 대화 상자에서, 액추에이션 섹션에 있는 토크 파라미터를
입력으로 제공됨
으로 설정합니다. 블록에 물리 신호 입력 포트 t가 표시되며, 이를 사용해 조인트 액추에이션 토크를 지정할 수 있습니다.다음 블록을 모델에 추가합니다.
라이브러리 블록 Simscape > Utilities Simulink-PS Converter Simulink > Sources Sine Wave Sine Wave 블록은 주기적 토크 입력값을 Simulink 신호로 제공합니다. Simulink-PS Converter 블록은 Simulink 신호를 Simscape Multibody™ 블록과 호환되는 물리 신호로 변환합니다.
그림에 표시된 것처럼 블록을 연결합니다.
Sine Wave 블록 대화 상자에서 진폭 파라미터를
0.06
으로 설정합니다. Simulink-PS Converter 블록에서 입력 신호 단위 파라미터를N*m
으로 설정합니다.-0.06
N*m
과0.06
N*m
사이에서 진동하는 액추에이션 토크가 조인트에 적용됩니다.Revolute Joint 블록 대화 상자에서, Z 회전 프리미티브(Rz) > 상태 목표값섹션의 위치 목표값 지정 아래에 있는 값 파라미터를
0
deg
로 설정합니다.시뮬레이션을 실행합니다.
시간에 대한 조인트 위치와 속도를 플로팅합니다. 이를 위해 MATLAB 명령 프롬프트에 다음 코드를 입력합니다.
figure hold on plot(q) plot(w)
조인트 위상 플롯을 플로팅합니다. 이를 위해 MATLAB 명령 프롬프트에 다음 코드를 입력합니다.
figure plot(q.data, w.data) xlabel('θ (deg)') ylabel('ω (deg/s)')
참고 항목
PS-Simulink Converter | Revolute Joint | To Workspace