반응형
문제
길이가 1인 링크의 한쪽 끝을 ground 에 고정하고, 다른 쪽 끝을 각속도 pi/2 (rad/s) 로 1초간 회전시키시오. 이때 링그 끝부분의 선속도를 계산하고 에니바디 결과와 비교하시오.
풀이
1. 모델링
1) 링크생성 및 노드 생성
링크를 생성하고, 링크 안에 노드 두개를 생성합니다. 하나는 (0,0,0) 이고, 다른 하나는 (1,0,0) 입니다.
GlobalRef 안에도 노드를 하나 생성합니다. (0,0,0) 입니다.
2) 조인트 생성
링크 안에 있는 (0,0,0) 노드와 GlobalRef 안에 있는 (0,0,0) 노드를 조인트로 묶어줍니다. 회전축은 z축으로 설정합니다.
3) 드라이버 생성
드라이버를 생성하고 2에서 생성한 조인트에 각속도를 부여합니다.
2. 코드
코드는 아래와 같습니다.
// Todo: Write a small description of your model here
Main = {
// The actual body model goes in this folder
AnyFolder MyModel = {
AnySeg Link1 =
{
r0 = {0.5, 0.5, 0.0};
//rDot0 = {0.0, 0.0, 0.0};
//Axes0 = {{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}};
//omega0 = {0.0, 0.0, 0.0};
Mass = 0.0;
Jii = {0.0, 0.0, 0.0};
//Jij = {0.0, 0.0, 0.0};
//sCoM = {0.0, 0.0, 0.0};
//JaboutCoMOnOff = Off;
viewRefFrame.Visible = On;
viewNodes.Visible =On ;
viewNodes.InertiaScale =0.5;
AnyRefNode node1L =
{
sRel = {0.0, 0.0, 0.0};
//ARel = {{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}};
//viewRefFrame.Visible = On;
};
AnyRefNode node2L =
{
sRel = {1.0, 0.0, 0.0};
//ARel = {{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}};
//viewRefFrame.Visible = On;
};
};
// Global Reference Frame
AnyFixedRefFrame GlobalRef = {
viewRefFrame.Visible = On;
AnyRefNode node1G =
{
sRel = {0.0, 0.0, 0.0};
//ARel = {{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}};
};
}; // Global reference frame
AnyRevoluteJoint Joint1 =
{
//RefFrames = ;
//Surfaces = ;
//KinMeasureArr = ;
//KinMeasureIndexArr = ;
Axis = z;
//Ref = 0;
AnyRefFrame &node1G = Main.MyModel.Link1.node1L;
AnyRefFrame &node1L = Main.MyModel.GlobalRef.node1G;
};
AnyKinEqSimpleDriver Driver1 =
{
//RefFrames = ;
//Surfaces = ;
//KinMeasureArr = ;
//KinMeasureIndexArr = ;
//MeasureOrganizer = ;
//CType = ;
//WeightFun = ;
//DriverPos = ;
DriverVel = {90*pi/180};
//DriverAcc = ;
AnyKinMeasure &Joint1 = Main.MyModel.Joint1;
};
}; // MyModel
// The study: Operations to be performed on the model
AnyBodyStudy MyStudy = {
AnyFolder &Model = .MyModel;
Gravity = {0.0, -9.81, 0.0};
tStart = 0.0;
tEnd = 3.0;
nStep = 101;
};
}; // Main
3. 결과
선속도는 아래와 같이 계산됩니다.
$\frac{dl}{dt}=r\frac{d\theta}{dt}=r\omega =\frac{\pi}{2}=1.57$
해석 결과와 비교해봅시다.
끝부분이 회전하기 시작할 때, 속도는 y방향 성분만 있고 크기는 1.57 입니다. 계산 결과와 동일합니다.
반응형
댓글