1.2 Four-bar Linkage
1.2.1 Solid Bar
4-bar mechanism을 구현해 보자. 먼저 bar가 필요하다. 길이 $\textrm{1 m}$, 너비 $\textrm{0.2 m}$, 두께 $\textrm{0.1 m}$라고 하자.
Simscape > Multibody > Body Elements > Brick Solid
Dimension은 reference frame을 기준으로 한 벡터 정보. 치수를 설정하고 F5
를 누르면 업데이트된다. Inertia
항목에서 inertial parameter도 설정 가능.
이렇게 생성한 bar 이름을 Link1
으로 변경. 기존의 파라미터 블록들과 연결해 준다. Run
을 누르면 mechanics explorer 창에 움직이지 않는 Link1
이 생성된다.
1.2.2 Frame Transformation - Rigid Frame
Transformation = Translation + Rotation
Simscape에서 좌표 변환을 구현하기 위해서는 Rigid Transform
블록이 필요.
Simscape > Multibody > Frames and Transforms > Rigid Frame
1.2.3 Connection on Link 1
Link1
의 reference frame은 world frame에서 $\textrm{0.5 m}$ 만큼 translation되어 있다. 따라서,
Simulink 상에서 Link1
의 frame들을 나타내면 다음과 같다.
즉 $x$-축 방향으로 $\textrm{0.5 m}$씩 translation되고, 그 중앙에 link의 reference frame이 존재하는 모습.
1.2.4 Cylindrical Joint
Simscape > Multibody > Body Elements > Cylindrical Solid
반지름을 $\textrm{0.1 m}$, 높이를 $\textrm{0.1 m}$로 설정하자. 또, 이 부분은 링크의 운동에 영향을 주지 않도록 density를 0으로 설정.
Joint에 의해 회전하는 중심축의 방향을 $z$-축으로 하고자 한다. 그러려면 Link1
의 양쪽 Rigid Transform
블록을 변경.
부호가 다른 이유는 Joint1
에서 $\{R\}$로, $\{R\}$에서 Joint2
로 바뀌기 때문.
물론, Joint1
은 world frame과 연결되어야 하므로,
1.2.5 Subsystem과 Connection 블록
다수의 블록들을 드래그하고 우클릭. Subsystem으로 만들고 connection 블록의 이름을 바꿀 수 있다. Ctrl
키를 누르면서 드래그하면 블록이 복사된다.
Connection 블록의 파라미터 창에서 포트 위치를 바꿀 수 있다.
1.2.6 Revolute Joint
그러나 이 상태에서는 Run
을 눌러도 link가 움직이지 않는다. Fixed 상태이기 때문. Joint에 자유도를 부여하기 위해 Revolute Joint
를 연결한다.
Simscape > Multibody > Joints > Revolute Joint
Revolute Joint
는 $z$-축 방향으로 joint를 회전시킨다. 이제 Run
을 누르면 link가 잘 회전하는 것을 볼 수 있다.
1.2.7 Four-bar System
이제 네 개의 Link를 제작.
\[\textrm{Link1 : 1 m} \\ \textrm{Link2 : 0.4 m} \\ \textrm{Link3 : 0.8 m} \\ \textrm{Link4 : 0.8 m} \\\]1-2-3-4 순으로 연결하고, 각 joint에는 Revolute Joint
를 연결한다.
알아보기 쉽도록 Brick Solid
의 Graphic
파라미터에서 색상을 바꿔도 좋다.
Link의 길이가 변경되었으므로, Rigid Transform
의 Translation 길이도 바뀐 길이의 절반으로 줄여야 한다.