요즘 너무 머리가 복잡하고 일손이 잡히질 않습니다. 왜냐구요? 먹고살 궁리때문이지요. 그러서 자꾸 살만 찝니다. 응? 먹고살 궁리를 하는데 왜 살찌냐구요? 음... 먹고살 궁리를 하다보니 스트레스 받아서 야밤까지 안자고 있다가 새벽에 술먹거든요... 응? 먹고살 궁리하는데 술먹을 돈은 어디 있냐구요??? 이제 다 떨어져 갑니다. ㅋㅋㅋ 음 본론으로 들어와서 밸런싱로봇을 만드는 걸 연재하다가 갑자기 레고 마인드스톰으로 넘어와버렸네요. 뭐 저의 나쁜 머리탓입니다만...ㅠㅠ 직접 공부하는 것이나 요즘 준비하는 논문과 관련없이 별도의 연재를 다루는 것이 힘들다는 것을 뼈저리게 느끼는 중입니다. 뭐 그래도 하기로한 연재니 계속 하는 것이고, 또 이것도 저의 공부가 될테니 말이죠.
- Balancing Robot
- [밸런싱 로봇 만들기] Yaw 움직임을 포함한 동역학
- Balancing Robot
- [밸런싱 로봇 만들기] Lego Mindstorm 동역학 따라하기
- Balancing Robot
- [밸런싱 로봇 만들기] 동역학 모델 구축하기 (최종)
- Balancing Robot
- [밸런싱 로봇 만들기] 기구부 재구성 및 모터 파라미터 수립
- Balancing Robot
- [밸런싱 로봇 만들기] LQR 선형제어기 설계 및 MATLAB을 이용한 시뮬레이션
- Balancing Robot
- [밸런싱 로봇 만들기] 작은 로봇을 하나 완성해서 큰 기쁨을 얻다
하여간, 지난번에 제가 레고 마인드 스톰의 기술문서의 내용중 동역학 유도부분이 이상하게 제가 한 거랑 안맞다 [관련글] 라는 이야기를 했었는데요. 찾았습니다. 원인은 저한테 있더군요. ㅠㅠ
바로 위의 항이었지요... ㅎㅎ. 희한하게 손으로 푸는 경우 자신이 틀린곳을 찾기가 좀 어렵죠. (응? 저만 그런가요???) 하여간... 그래서 MATLAB의 힘을 빌렸습니다. 예전에 크레인 제어기 설계를 위해서 동역학 유도할때, 하도 수식이 복잡해서 MATLAB으로 유도하기 위해 짜놓았던 코드가 있거든요. 그걸 조금 뜯어 고쳐서 밸런싱로봇에 적용했습니다.
저게 그 결과입니다. (언제 그 MATLAB으로 동역학 유도라는 주제로 연재를 하고싶어지는 군요.. ㅋㅋ) 하여간, 그 결과를 한글에서 정리했습니다.
저 부분은 Lagrangian인데요. 음... 마지막항에서 제가 손으로 유도한것이 잘 못 되었음을 확인했습니다. 그리고
theta의 라그랑지 방정식은 제일 위의 레고 문서와 제가 손으로 유도한 것과 마지막으로 MATLAB으로 유도한 것이 동일합니다.
음 phi의 라그랑지 방정식도 셋 다 동일하구요.
ㅎㅎ 그 문제의 psi의 라그랑지 방정식은 레고 문서와 MATLAB의 결과가 같고, 제가 손으로 한 것만 다르더군요. 큭...>.< 뭐가 잘못되었는지도 확인했습니다.
결국, 제가 잘 못된 것이더군요... 쩝.. 뭐 그래서든 이래서든 하여간
요게 맞다.. 라는 것을 알게 되었습니다. 이제 위 식 각 우변의 Generalized Force라고 흔히 부르는 것을 정의해 줘야겠는데요.
theta를 움직이는 힘은 두 바퀴의 합력이 될 것이고, psi를 움직이는 힘은 두 바퀴를 움직이는 힘의 반력이 있을 것입니다. phi를 움직이는 힘은 비례식이 적용된 상태에서 두 바퀴가 내는 힘의 차이가 될 것입니다. 비례식이 적용되는 부분에 대한 설명은 이전에 레고 문서를 처음 소개할때 했었구요.[관련글] 위 힘에서 모터에 인가하는 전류가 입력으로 되어있는데 이는 일반적인 모터 사용에서 힘이 좀 듭니다. 통상 마이크로 프로세서를 통해서 쉽게 DC모터를 다루는 방법이 PWM이니까요. 그래서 전압으로 바꾸도록 하지요.
일반적인 DC 모터의 경우
위의 식을 따릅니다. 여기서 보통 모터 내부 인덕턴스는 아주 작다고 보니까
로 간략히 표현할 수 있겠습니다. 여기서, Kb는 DC 모터의 back EMF 상수이고, Rm은 DC 모터의 내부 저항입니다. 위 식을 대입해서 힘을 다시 표현하면
이 됩니다. 여기서 f_w는 바퀴와 바닥과의 마찰 계수이고, f_m은 모터와 바디사이의 마찰계수입니다.
이제 레고 문서 따라하기는 그만하고, (아 이후 포스팅에서 언급은 계속하겠습니다.) 이제 라그랑지 방정식까지 나타났고, 힘의 관계도 잡았으니, 다음부터는 원래 제가 좋아하는 스타일로 진행하도록 하겠습니다.
'Robot > Project' 카테고리의 다른 글
[밸런싱 로봇 만들기] 10. LQR 선형제어기 설계 및 MATLAB을 이용한 시뮬레이션 (174) | 2010.07.03 |
---|---|
[밸런싱 로봇 만들기] 9. 기구부 재구성 및 모터 파라미터 수립 (82) | 2010.06.30 |
[밸런싱 로봇 만들기] 8. 동역학 모델 구축하기 (최종) (56) | 2010.06.22 |
[밸런싱 로봇 만들기] 6. Yaw 움직임을 포함한 동역학 (2) (26) | 2010.06.14 |
[밸런싱 로봇 만들기] 5. Yaw 움직임을 포함한 동역학 (1) (46) | 2010.06.12 |
[밸런싱 로봇 만들기] 4. 기구적인 파라미터 찾기 (76) | 2010.06.01 |
[밸런싱 로봇 만들기] 3. 동역학 모델 구성하기 (50) | 2010.05.18 |