본문 바로가기

matlab

(91)
부유체 위의 크레인 제어기 설계 - 2. 외란제거를 통한 선형화 2010. 3. 2. 03:12 처음 배나 모바일 하버와 같은 부유체 위에 고정된 크레인의 간소화된 동역학을 [프로젝트/ControlTheory] - 부유체 위의 크레인 동역학 이야기했었습니다. 그리고 그 동역학에 대한 제어기 설계를 [프로젝트/ControlTheory] - 부유체 위의 크레인 제어기 설계 - 1. 궤환선형화기법 또한 이야기 했었구요. 그 사이에 제어기 동역학에서 트롤리라고 부르는 부분의 절대좌표에서 수평성분을 고려해야한다는 이야기를 [프로젝트/ControlTheory] - 부유체 위의 크레인 동역학 - 2. 절대좌표계에서 상태를 설정 에서 했었는데요. 이번에는 절대좌표계에서 제어기를 설계해 보도록하겠습니다. 위 두 식은 절대좌표계에서 동역학을 고려할때 나타났던 라그랑지 방정식입니다. 여기서 ddot_z_t가 보이실텐데..
부유체 위의 크레인 제어기 설계 - 1. 궤환선형화기법 2010. 2. 23. 20:36 궤환선형화 기법을 이용한 제어기 설계 ! 이 전에 구축했던 부유체 위의 크레인의 동역학[[프로젝트/ControlTheory] - 부유체 위의 크레인 동역학]에서 라그랑지 방정식 부분 에서 힘에 관해 식을 다시 변경하고 이렇게 적어볼 수 있을 겁니다. 여기서 입니다. 그 식을 다시 적으면 으로 표현할 수 있는데요. 여기서 e는 오차입니다. 그러면 이렇게 오차에 대한 선형시스템을 구축할 수 있는데요. 이제 위 시스템을 안정화 할 수 있는 a, b, c, d를 구성하면 됩니다. 실제 크레인의 정확한 제원을 몰라서 그냥 임의로 설정했습니다. 제가 이전글[[프로젝트/ControlTheory] - 부유체 위의 크레인 동역학 - 2. 절대좌표계에서 상태를 설정]에서 말했듯이, 트롤리의 절대좌표계에서의 수평위치를 기준..
MATLAB Figure에서 그리스 문자나 수학기호 삽입하기 2009. 12. 7. 00:30 뭐 간단한 기능이긴 한데요. 또 figure에서는 그리스문자를 그냥 alpha, beta 뭐 이렇게 입력하기 때문에 크게 자주쓰는건 아니지만, 그래도 살짝 소개합니다. 각 축을 설명하는 label에 보이시죠? "\"를 이용하는 겁니다. xlabel('\alpha') ylabel('\beta') 라고 입력하면 됩니다. 한글수식입력기의 명령어 입력에 익숙한 분이라면 쉽게 예측할 수 있습니다. 하나 더 해보면 적분처럼 수학기호도 입력가능합니다. xlabel('\int _a^b x dx') 와 같이 입력한 것이지요. 좀더 자세한 내용은 MATLAB Help 문서중 Adding Text Annotations to Graphs :: Annotating Graphs (MATLAB@)을 확인하시면 됩니다.
제어입력의 크기를 가늠하기 위한 단순 진자 시뮬레이션 실험 2009. 11. 30. 00:01 동역학 모델 ! 제목에도 있지만, 문득 그냥 고정된 진자를 움직일려면 어느정도 힘이 필요한지 궁금했습니다. 그래서 급히 동역학을 구성하고 한번 테스트를 해 보기로 했습니다. 일단, 위과 같이 생각합니다. m은 질점이라고 가정하고 이너셔는 없다고 봅니다. 진자의 길이는 l이고 움직인 각도는 theta로 표현하기로 하지요. 그러면 와 같이 질점의 위치벡터를 잡을 수 있고, 그로부터 속도벡터 v를 유도할 수 있습니다. [공학기초/Robot] - Cart Pendulum의 동역학 유도에서 이야기 한데로 라그랑지방법을 사용하기 위해 위치에너지(T)와 운동에너지(V)를 설정하고 라그랑지 방정식을 만듭니다. 위치에너지나 운동에너지 모두 질점에 대해서만 생각하면 됩니다. 그리고, 간단히 유도를 해보면 위와 같이 나타나..
Simulink에서 Mask 하기 2009. 10. 25. 05:10 이번에는 이전에했던 [공학기초/MATLAB] - Simulink에서 간단한 애니메이션 구현하기에니메이션 구현하기에서 만들었던 Simulink블럭을 가지고 Mask하는 법을 간단히 이야기 해보겠습니다. 먼저 그 때 만들었던 블럭에서 Clock만 빼고 마우스로 쭈욱 긁으면(^^) 위에서 처럼 선택되었음을 의미하는 표시가 나타나지요 살짝 오른쪽 버튼을 눌러서 Create Subsystem을 선택합니다. 그러면 저렇게 Box로 된 모양이 나타나죠^^. 뭐 좀 허전하긴 합니다만... 이번글은 그저 Mask를 실습해보자는데 있으니까요...^^ Subsystem을 더블클릭해보면 당연히 위에서처럼 잘 되어있지요. 조금 더 나가서 에초에 사용하고 있는 box라는 변수가 물론 이전에 Click here---- 어쩌고에 초..
Simulink에서 간단한 애니메이션 구현하기 2009. 10. 16. 07:53 얼마전에 MATLAB m-file로 정말 허덥하게 간단한 애니메이션 구현([공학기초/MATLAB] - MATLAB에서 간단히 움직이는 그림 구현하기 (애니메이션 구현))을 이야기 했었는데요. 이걸 다시 Simulink에서 불러보는 작업을 해서, Simulink상에서도 어떤 결과를 애니메이션화해서 관찰할 수 있도록 해보겠습니다. Simulink에서 주의해야할 점 ! 일단 이전에 소개한 글([공학기초/MATLAB] - MATLAB에서 간단히 움직이는 그림 구현하기 (애니메이션 구현))에서 사용한 코드를 figure('name','Animation Test','numbertitle','off'); x = [-3 -3.5 -4 -4 -3]; y = [1 1.5 1 -1 -1]; box = fill(x,y, 'r..
MATLAB에서 간단히 움직이는 그림 구현하기 (애니메이션 구현) 2009. 10. 10. 04:05 오랜만에 MATLAB 업데이트인데요... 뭐 크게 익힐 건 없지만^^... 이번에 정리할 내용은 간단히 애니메이션을 구현해보는 것입니다. 여러가지 접근법이 있지만, 특별히 그림이 복잡하지 않다면 간단히 fill명령으로 가능합니다. fill 명령 ! MATLAB에서 그림을 그리는 명령어중 fill이라는 명령이 있습니다. 간단한 예제를 하나 보면위에 보이는 코드에 x, y가 보이시지요?^^ 아래 결과 그래프와 같이 보시면, (-1,-1)->(-1,1)->(1,1)->(1,-1) 순서로 점을 잡고 fill명령을 사용하면 그 둘레로 만들어진 다각형이 만들어집니다. 색상코드 'r'을 사용했으니 빨간색으로 칠해지구요. 그 그림을 box라는 변수에 개체화해서 저장합니다.간단히 fill명령을 보았으니 간단히 저 사각형..
MATLAB에서 컴파일, 독립 실행 파일 만들기 2009. 7. 23. 18:04 MATLAB에서 잘 사용하는 기능은 아닙니다만, MATLAB도 컴파일 기능을 가지고 있습니다. 물론 compile toolbox가 설치되어있어야합니다만, 아.. 그리고 다른 윈도우용 컴파일러가 하나 더 있어야합니다. 뭐 VC++ 같은 것으로... 그러면 위의 창이 뜨는 데요. 다른건 뭐 안해봐서 모르겠구요^^. Standalone Application은 도스 콘술창이 뜨면서 실행하게 하는 것이고, Windows Standalone Application은 MS-Window모드에서 바로 실행되게 됩니다. 뭐... 둘다 사용법은 동일합니다. 둘 중 하나를 선택하고 나면 위와같이 창이 하나 더 생기는데요 테스트를 위해 0.01간격으로 0부터 10까지 시간축을 만들고 그걸 sin함수로 그리도록 하지요. 그걸 저장..

반응형