본문 바로가기

Theory/ControlTheory

(53)
정방향 기구학(forward kinematics)의 기초와 Two Link Planar 예제 2014. 11. 14. 07:00 사실 PinkWink는 기구학을 제대로 사용한 적이 없습니다. 항상 누군가 만들어 놓은 기구학적 모델을 이용한다던지 혹은 그냥 [바로가기]처럼 기하학적으로 푼다든지 하는 일들이 많았습니다. 그렇게 기하학적으로 풀면 머리가 좀 아프면서도 또 뭔가 정신이 맑아지는 듯한 느낌도 있거든요^^. 요즘은 정말 원없이 재미있게 연구(공부)하고 그걸 바로바로 적용시키는 재미에 푹 빠져있었답니다. 모터 제어기의 (회로부분빼고^^) 제어기의 이론적 코어를 완성하고, 그걸 (회사의 여건상) 직접 임베디드로 구현하는 작업을 거의 끝내가고 있거든요. 물론 실제 완전히 적용할려면 당연히 더 많은 노가다성 일들이 남아 있죠. 물론 이런 종류의 임베디드 환경이 처음이니 옆자리 동료를 무쟈게 괴롭히면서^^ 말이죠^^) 그런데 이제 이..
델타형 병렬 로봇의 역기구학을 단순 기하학적으로 손쉽게 해석해보기 2014. 4. 25. 00:04 세상에는 참 재미있는 일도 많고 하고 싶은 일도 많습니다. 최근 저는 기구학을 다시 학습하게 되었는데요. 사실 기구학이 참 많이 쓰이는데 희한하게 저는 그렇게 많이 만나지는 못했네요. 이제 마구마구 만날듯한데 워밍업 해야죠^^. 예전에 3D 프린터 이야기를 하면서 델타형 로봇에 대한 이야기도 한 줄(^^)로 소개한 적이 있죠.^^.위 그림은 3DR RepRap Delta robot인데요. 저게 델타형 로봇의 자작 프로젝트의 결과물로 인터넷에 꽤 많이 알려진 작품입니다. [바로가기]에 가시면 다른 3D 프린터가 있다면 도면을 다운받아서 고대로 한번 만들어 볼 수 있는 제품이지요. 꽤 흥미롭습니다.^^. 저렇게 생긴 기구부는 어떻게 해석할까요. 기구학적으로 말이죠. 궁금했습니다. 그런데, 꽤 멋있는 블로그를..
저역통과필터와 고역통과필터를 C로 구현 2011. 6. 1. 08:35 오늘은 비가 많이 오네요. 날씨가 좀 꿉꿉합니다.^^. 어제는 제가 입사한지 123일만에 쳤던 대형사고의 마지막 심사인 프리젠테이션 발표를 했습니다. 분명 다친 다리[관련글]의 철심을 제거하는게 예상으로는 지지난주였어야하는데요. 우리의 쿨~한 의사선생님께서 좀 더 있어야겠다... 라는 한마디에 아직도 철심을 제거를 못한채, 휠체어를 타고 대전까지 내려갔었네요.ㅠㅠ 발표하려는 다른 분들도 많아서 차를 건물안에 주차를 못해서 이 무거운 몸이 앉은 휠체어를 같이간 연구원이 끄느라 참... 미안했습니다.ㅠㅠ ... 하여간 이제 심사결과를 기다리는 처지가 되었네요^^. 뭐.. 안되면 다음에 또 하면 되죠.. 클클.. 비오는 오늘은... 흔히들 MATLAB에서 많이들 사용하는 저역통과필터와 고역통과필터를 C로 구현..
[C/C++] 배열을 사용하지 않고 평균 구하기 2011. 3. 25. 18:44 2월1일에 다리가 부러진 후... 이제 겨우 8주가 지났네요. 16주 진단이니까... 아직 8주가 더 남았습니다.ㅠㅠ 단지 다리하나가 더 부러졌을 뿐인데도 많은 부분이 불편하네요..ㅠㅠ 특히 그 좋아하는 블로그 활동도 못하고, 아름다운 알콜 습취도 못하네요...ㅠㅠ 그러다 문득, 한가지 떠로는 생각이 있어서, 배열없이 평균을 구하는 것에 대해 이야기를 할까합니다.^^ 보통 C/C++를 공부하다보면 배열을 배우는 단계에서 배열의 합과 평균을 구하는 예제를 통해 배열을 배우게 되는데요. 이번엔 배열을 구하지 않고 평균을 구하는 예제를 다뤄볼까 합니다. 먼저 평균을 구하기 위해 입력되는 n 번째 숫자를 이라고 하구요. n 번째까지의 평균을 이라고 하죠. 그러면, 평균은 다들 아는데로 n번째까지의 합에서 갯수를..
안티와인드업 Anti-Windup 2011. 3. 15. 08:48 이 글은 설승기님의 "전기기기 제어론" 2.5.3절 안티와인드업의 내용을 발췌했습니다. 책의 저자 설승기님께서는 2.5.3절의 내용을 C. Bohn의 "An Analysis Package Comparing PID Anti-Windup Strategies" 라는 IEEE Control Systems, vol.6, no.2, April, 1995, pp.33-40에 발표된 논문을 참조하였다고 책에서 밝히셨습니다. 안티와인드업에 대해 이야기하기 전에 와인드업에 대해 이야기를 먼저 해야겠네요. 와인드업이란 적분제어기의 경우 그 값이 제한되지 않고 제어기의 제한폭을 넘어서 제어입력이 쌓이게 되는 경우를 말합니다. 그로 인해 제어기의 입력 부호가 반전되어도 windup된 적분값으로 인해 제어기의 출력이 제대로 반응..
서보제어 Servo Control 2011. 3. 14. 09:00 이 글은 Yorihisa Yamamoto의 29.Feb.2009에 MATLAB Central에 발표된[관련글] NXTway-GS Model-Based Design Control of self-balancing two-wheeled robot built with LEGO Mindstorms NXT 라는 글의 Appendix A.3절. Servo Control의 내용을 발췌한 것입니다. 서보제어는 제어대상의 위치 기준값을 잘 추적하도록 디자인된 제어기법입니다. 그중 PID방식의 서보제어기법을 소개할려고 합니다. 위의 그림에 서보제어기법이 블록선도로 나타나 있습니다. K_f는 일반적인 제어기이고 서보제어를 위해 K_i가 추가된 것입니다. 위 블록선도가 어떻게 나타나게 되었는지를 보겠습니다. 먼저 위와 같은 시..
정보를 담고 있는 좌표계에 회전행렬을 적용하는 방법 2011. 1. 18. 20:16 '정인'님의 질문을 최근에 받은게 있는데 댓글로 쓰기엔 좀 길고, 또 포스팅하기에 괜찮은 주제라 생각해서 어떤 정보를 담고있는 좌표의 회전행렬을 적용하는 방법에 대해 이야기를 할려고 합니다. 먼저 위의 5개 좌표를 보죠. 3차 공간의 좌표라 하더라도 뭔가 좀 길죠... 앞 세개는 좌표이고, 뒤에 두개는 어떤 정보라고 하죠. 이 정보는 좌표가 변해도 변하면 안되는 것입니다. 간단히 두개를 했지만, 이게 긴 길이의 정보라 해도 상관없습니다. 일단 합쳐서 하나의 행렬(P)로 두었습니다. 그 유명한 회전행렬인데요. 그냥 간단히 x-y-z축 변환이라고 하죠. 아... phi, theta, psi순입니다. 회전행렬을 다 곱한 것이구요 위와같이 회전행렬을 다시 정의해 두는 겁니다. 각 좌표에 붙어있던 정보만 생각하면..
회전형 역진자 시스템의 동역학 Rotary Inverted Pendulum 2010. 12. 27. 05:34 역진자 시스템(Inverted Pendulum system)은 제어이론을 공부하는 학생들에게는 거의 필수적인 코스입니다. 그 중에서 오늘 이야기할 회전형 역진자 시스템은 동일한 형태의 카트형 시스템에 비해 그 구현이 간편하기 때문인데요. 문제는 뉴턴역학으로 동역학을 유도하는 경우 카트형 보다는 약간 초반 접근이 어려울 수도 있습니다. 이미 저의 블로그에서는 예전에 회전형 역진자 시스템의 "동역학 유도 -> 선형화 -> LQR 제어기 설계 -> 실제제작"이라는 일련의 과정을 한번 이야기했었습니다.[관련글] 그러나 당시에는 뉴턴역학을 이용했었고, 또 그 후 약간의 유도과정에서 오류가 있다는 것을 발견했습니다. 그래서 최근 제 블로그에서 유도되는 동역학들이 대부분 라그랑지 방법을 이용하고 있는데요. 역시 회전..

반응형