본문 바로가기

matlab

(91)
MATLAB 함수로 구현한 구간평균법(moving average) 2010. 6. 3. 16:43 예전에 구간평균법(moving average)에 대해 이야기를 한 적이 있습니다. 대부분의 프로세서들은 ADC를 수행할때, 사용자의 설정에 따라 수 샘플링 시간동안의 평균을 현재의 ADC값으로 표현하도록 되어있을텐데요. 자이로나 가속도센서 등등의 센서를 사용할 때 누구나 노이즈때문에 고생을 하게 됩니다. 사실 저는 필터에 대해 잘 모르지만, 구간평균법은 간단히 구현하기에 참 편리하고 좋더군요. 이걸 예전부터 MATLAB에서 함수로 구현해서 사용하고 있었는데요. 비록 허덥한 프로그램이지만, 오늘은 그걸 한번 포스팅할까 합니다. 먼저 함수의 형식은 원데이터를 받고, 평균을 취할 구간의 길이를 정해서 그 구간을 평균해서 현재의 값이라고 생각을 하게 됩니다. 즉, 현재의 값은 정해진 구간(n) 만큼 이전의 데이..
[밸런싱 로봇 만들기] 4. 기구적인 파라미터 찾기 2010. 6. 1. 02:43 밸런싱 로봇 (Balancing Robot) 만들기 연재 1. 동역학 구축 (1) [바로가기] 2. 동역학 구축 (2) [바로가기] 3. 동역학 구축 (3) [바로가기] 4. 기구부 구성 및 모터 파라미터 측정 [바로가기] 5. 제어기 설계 및 MATLAB을 이용한 시뮬레이션 [바로가기] 6. 밸런싱 로봇 만들기 [바로가기] 밸런싱로봇 만들기 연재를 시작한지 꽤 되었는데 이제 네번째 글을 올립니다. 지난 두 세주가 너무 바빴네요. 게다가 지난주에는 제가 있는 학교에서 저의 블로그가 둥지를 틀고 있는 티스토리를 차단[관련글]해 버리는 바람에 꽤 애를 먹었습니다. 지금은 완벽히는 아니지만, 잘 해결[관련글]되어서 한 시름 놓았네요. 이번에는 파라미터 찾기에 대해 이야기를 할려고 합니다. 일단 지난번에 기구부..
SimMechanics를 통해 동역학 분석을 쉽게하자. 2010. 5. 26. 11:54 동역학을 해석하는 대표적인 방법은 뉴턴역학을 이용한 방법과 라그랑지 방법이 있습니다. 이 두 방법모두 개념을 잘 정립한다음 수학과의 싸움을 벌려야합니다. 그렇게 만들어진 모델을 MATLAB 같은 툴을 이용해서 시뮬레이션을 하기 위해서는 또 수식을 해당 언어에 맞게 변환을 해 주어야합니다. 이런 과정들 중에 실수가 있을 수 있고, 그 실수는 간혹 발견하기 어려울때가 있습니다. 오늘 소개해드릴 MATLAB의 한 기능인 SimMechanics는 역학적 해석을 수행할때, 좀 더 직관적으로 접근할 수 있으며, 간단한 조작으로 애니메이션도 수행할 수 있습니다. 항상 그렇듯 간단한 예제를 통해 소개해보도록 하지요. 위의 그림과 같은 단순 진자를 대상으로 하겠습니다. Rigid Body 하나와 조인트하나면 되겠죠? 먼..
PID 제어기 튜닝? MATLAB으로 간단히 하자 !!! 2010. 5. 23. 03:15 사실 PID제어기 설계법을 배워도 치밀한 계산에 의해 적용하기는 참 힘들때가 있습니다. MATLAB에서는 PID 제어기 블럭이 강력한 튜닝(Tunning)기능을 가지고 있는데요. 이것을 이용하면 제어기 튜닝이 정말 간편합니다. 위의 블럭을 Simulink에서 꾸며보죠. 분모의 근이 1,5라서 불안정한 시스템입니다. 실행해서 결과를 보면 이렇게 발산해버리시거든요^^ 시뮬링크 라이브러리에 Continuous 폴더에 보시면 PID Controller가 있습니다. 이걸 가져다가 이렇게 붙여보도록 하죠. 그 PID 블럭을 더블클릭해서 보면, PID, PI, PD, P, D, I 제어기중 하나를 선택할 수 있는곳과 연속시간인지 이산시간인지 선택할 수 있도록 되어있습니다. 또한 PID Advanced탭에서는 출력 제..
파라미터 추정(Parameter Estimation)을 MATLAB으로 간단히 해보자 2010. 5. 21. 01:09 MATLAB Simulink는 간단한 사용방법을 가졌지만, 꽤 유용한 (하긴 그런 툴이 정말 많지만 말이죠...^^) Parameter Estimation Toolbox를 가지고 있습니다. 이걸 이용하면 구하고 싶은 파라미터를 추정해볼 수 있는데요. 이번에는 요걸 한번 소개해보도록 하겠습니다. 먼저 좋은 실험 환경이 있었으면 참 좋겠지만, 그런 환경이 없으니 말이죠. 이 파라미터추정 실습을 위해 먼저 데이터를 만들어야겠네요..ㅠㅠ 먼저 Simulink에서 위와 같이 꾸밉니다. Sine Wave에는 아무것도 안건드리고 디폴트로 두었어요. 빨간 표시가 있는 곳에 -2, -1을 넣어둡니다. 그리고 실행해서 Scope를 열어보면 이런 결과가 나는데요. 여기서 표시된 아이콘을 누르고 Data History를 선택..
Reaction Wheel Pendulum. 리액션 휠 펜들럼의 동역학 및 시뮬레이션 2010. 5. 14. 14:13 현재 이글의 내용은 잘못유도되었습니다. http://www.pinkwink.kr/342 를 바로 읽으시길 바랍니다. 어느날 문득... 저에게 트랙백이 하나 날라들어왔습니다. [모델링] 리액션 휠을 이용한...??? 응?? 그래서 따라가 보았더니 저(PinkWink)에게 질문을 하신 것이더군요...ㅠㅠ 평상시엔 이렇게 풀어달라든지, 혹은 코드 어디가 잘못된 것인가?? 라는 형식의 질문은 대답을 잘 하지 않습니다. 이유는 저도 상당히 실력이 떨어지기 때문에 어디가 문제인지 확인하기 위해서는 너무 오랜시간을 고민해야하기 때문입니다. 딱 보고 여기가 잘못임... 이라고 말 할 수 있는 고수가 아직 되지 못했기 때문이지요...ㅠㅠ 그런데 이 경우는 시스템자체가 관심이 가더군요.. 그래서 대략 3시간동안 정리를 해..
[MATLAB 연재] 16. GUI - 종합예제 2010. 4. 29. 11:48 MATLAB1. MATLAB 각 Window 사용법 MATLAB2. M-File을 사용한 기초연산법 및 데이터의 그래픽 출력 MATLAB3. 데이터의 3D 출력 MATLAB4. 조건문 및 반복문의 사용. 에러대비 MATLAB5. Simulink의 기초 1 MATLAB6. Simulink의 기초 2 MATLAB7. Function 문의 사용 MATLAB8. 동역학 시뮬레이션하기 MATLAB9. 애니메이션 구현하기 MATLAB10. 애니메이션을 이용한 동역학 시뮬레이션하기 MATLAB11. LQR 툴박스를 사용하여 제어기 구현하기 MATLAB12. GUI 시작하기 - Static, Edit Text 및 Push Button MATLAB13. GUI - Slider 사용하기 MATLAB14. GUI - Lis..
[MATLAB 연재] 15. GUI - Check Box와 Radio Button 2010. 4. 27. 11:55 MATLAB1. MATLAB 각 Window 사용법 MATLAB2. M-File을 사용한 기초연산법 및 데이터의 그래픽 출력 MATLAB3. 데이터의 3D 출력 MATLAB4. 조건문 및 반복문의 사용. 에러대비 MATLAB5. Simulink의 기초 MATLAB6. Simulink의 기초 2 MATLAB7. Function 문의 사용 MATLAB8. 동역학 시뮬레이션하기 MATLAB9. 애니메이션 구현하기 MATLAB10. 애니메이션을 이용한 동역학 시뮬레이션하기 MATLAB11. LQR 툴박스를 사용하여 제어기 구현하기 MATLAB12. GUI 시작하기 - Static, Edit Text 및 Push Button MATLAB13. GUI - Slider 사용하기 MATLAB14. GUI - List ..

반응형