본문 바로가기

Robot/Project

[밸런싱 로봇 만들기] 8. 동역학 모델 구축하기 (최종)

실제 제작과 연재를 동시에 진행하다보니 약간 혼선이 있었습니다만, 이번에는 밸런싱로봇의 동역학 최종 결과를 보여드릴려고 합니다. 일부 레고문서(^^)를 참조했었지만, 실제 연제의 시작은

[프로젝트/Robot] - [밸런싱 로봇 만들기] 5. Yaw 움직임을 포함한 동역학 (1)

였구요. 여기서 라그랑지 방정식을 손으로 직접 풀어도 보고, MATLAB을 이용해서 유도하여 그 결과식이 맞다는 것을 알게 되었습니다. 그래서 라그랑지 방정식을

[프로젝트/Robot] - [밸런싱 로봇 만들기] 7. Lego Mindstorm 동역학 따라하기

에서 검증했습니다.

밸런싱로봇을 위 그림처럼 볼 수 있게 되구요. 거기서 유도된 라그랑지 방정식이

였습니다. 거기에

모터의 특성을 고려하여 외부힘을 인가하게 되고 전개하여 각 double-dot에 대해 정리하면

이 됩니다. (클릭하셔서 크게보세요^^)

위의 결과식을

sin(angle) = anlge

cos(angle) = 1

두 상태의 곱은 = 0

로 보고 '0' 부근에서 선형화를 수행했습니다.

그리고, 상태별로 식을 

정리했구요. 이제 상태방정식

과 같은 형태로 둘 것입니다. 여기서, u1 = v_l + v_r이고, u2 = v_l - v_r 입니다. 이는 phi 쪽 상태를 고려하는 것 자체가 이전에 제가 자주 다루던 two-rotor와 같은 형태입니다.[참조1, 참조2, 참조3, 참조4]. 두 모터에 인가되는 전압(v1,v2)로 제어입력을 표현하고자 하지만, 동역학을 해석해보면, 결국 theta와 psi는 두 모터의 합력, phi는 차에 의해서 결정되기 때문에 u1, u2로 표현한 것입니다. 위 상태방정식의 각 요소들 중 theta 쪽은

이고, phi 쪽은

이고, psi 쪽은

입니다. 여기서 Den, u1, u2, alpha, beta는

입니다. 동역학에 대해서는 이제 그만 만져야겠지요. 아직도 해야할 일이 많으니까요. 중간중간 또 틀리거나 오타가 있다면, 그때그때 수정하도록하겠습니다.

반응형