본문 바로가기

Robot/Project

[밸런싱 로봇 만들기] 6. Yaw 움직임을 포함한 동역학 (2)


밸런싱 로봇 (Balancing Robot) 만들기 연재
1. 동역학 구축 (1) [바로가기]
2. 동역학 구축 (2) [바로가기]
3. 동역학 구축 (3) [바로가기]
4. 기구부 구성 및 모터 파라미터 측정 [바로가기]
5. 제어기 설계 및 MATLAB을 이용한 시뮬레이션 [바로가기]
6. 밸런싱 로봇 만들기 [바로가기]


밸런싱 로봇 만들기를 기대하시는 분들께서는 참 답답하시겠지만, 계속 동역학을 건드리고 있네요^^. 동역학모델을 익혀야하는 이유는 이야기를 했었습니다.[관련글] 그리고 그 때 소개한 동역학은 로봇의 Yaw 움직임은 고려하지 안았다고 했습니다. 그러다가 Lego사의 마인드스톰이라는 제품의 Yorihisa Yamamoto라는 분이 작성한 기술문서를 보게되어서 그 동역학의 시작을 지난 번에 소개[관련글]했었습니다. 


이번에는 지난번에 이어 동역학을 정리할려고 했는데요. Lego사의 그 기술문서에서 저의 전개와 다른 것을 발견했네요. 제가 잘못했을 확률이 높습니다만, 일단, 정리를 계속하면서 어디서 차이점이 발견되었는지 이야기를 해보겠습니다.


지난번에도 나왔던 그림이네요. 여기서


운동에너지와 위치에너지를 구한다고 했습니다. T1은 병진운동에너지 (Translation Kinetic Energy)이구요. T2는 회전운동엔너지 (Rotational Kinetic Energy)입니다. U는 위치에너지 (Potential Energy)입니다. 위 식에다가, 지난번 포스팅에서 초반에 이야기했던 위치정보들, 



위 식들을 미분해서 대입해야합니다.

그리고 난 다음 라그랑지 방정식을 Yorihisa Yamamoto라는 분은


라고 소개하고 있습니다.

그런데 제가 해보니 딱 일치하지를 않았습니다. ㅠㅠ 일단 이렇게 포스팅하긴 싫었는데 말이죠. 너무 수식이 많아서 제가 전개한 부분은 그냥 스캔해서 올리겠습니다. (클릭하시면 아마 크게 나오겠죠^^)

일단, 방금 말씀드린데로. 운동에너지와 위치에너지 (T1, T2, U)들을 가지고 라그랑지안 L=T1+T2-U를 구하신 다음 상태 (theta, psi, phi)를 이용해서 라그랑지 방정식을 만드는 식은


입니다. 저도 이 과정을 거쳐서 전개했습니다.






이렇게 유도를 해보았지요.ㅠㅠ. 몹쓸 글씨로 눈 아프게 해드려 죄송합니다.ㅠㅠ



일단 결과식을 비교해보도록 하겠습니다.


먼저 theta 상태에 대한 라그랑지 방정식은 일치합니다.


그리고, phi 상태에 대한 라그랑지 방정식도 일치하고 있습니다.


그런데, psi 상태에 대한 라그랑지 방정식이 일치하질 않습니다. 어디서 정확히 차이가 나는가하면


위에 표시된 항(-MRL dot_theta dot_psi sin(psi) )가 저는 있고, Yorihisa Yamamoto라는 분의 결과식에는 없습니다. 헉....ㅠㅠ 저 항은 이전의 MRL dot_theta cos (psi) 라는 항이 미분되면서 나타나는 두 항중 하나인데요. 그게 이상하죠. 미분된 두 항중 하나는 확인이 되었으니 말입니다.ㅠㅠ. 어디선가 고수한 홀연히 나타나서, PinkWink님 여기를 잘못 유도하셨군요.. 라고 속 시원히 말씀해주시면 좋겠는데 말이죠...ㅠㅠ (갑자기 저의 지도교수님 말씀이 생각납니다. - 넌 머리가 왜 이리 나쁘냐...ㅠㅠ) 잉~~~!!

그럼 혹시 정말 0.001%의 확률로 제가 맞다고 치죠..^^ 그럼 왜 Yorihisa Yamamoto라는 분의 문서에서 저 항이 없는데도 레고의 마인드스톰을 잘 제어가 되는가?? 라는 의문을 가지게 될 수도 있습니다만, 사실 레고사의 기술문서에서는 선형제어기를 사용하고 있습니다. 즉, 저한테는 있고, 기술문서에는 없는 저 항은, 동역학 모델을 선형화하다보면, 없어져 버립니다. 선형화 과정에서 어차피 없어질 항이기 때문에 큰 상관은 없습니다만...ㅠㅠ

하여간 또 새롭게 밝혀지기 전까지는 뭐 전 제가 맞다고 생각하고 진행해야죠^^...

이번에는 지난번에 이어서... 라그랑지 방정식을 유도하는 과정까지 진행했습니다.


반응형