본문 바로가기

Theory/Lecture

[시스템 시뮬레이션 연재] 1. 라그랑지 방법을 이용한 동역학 모델 구축하기

이제 연재는 좀 참을려고 했는데 우연한 기회에 세미나를 할 일이 생겨 자료를 만들어서 또 연재를 시작해 볼까 합니다.^^ 이번에는 간단한 시스템을 가지고 라그랑지 방법을 이용해서 동역학 모델을 만들고, 제어기도 설계해보고, 또 뭐 이것저것 건드리면서 놀아보는 연재입니다.

동역학 모델 구축 - 시스템 고려하기 !

여러가지 시스템이 있겠지만, 설명을 위해서는 역시 좀 간단한게 필요하겠죠...^^ 그래서 위와 같은 진자 시스템을 생각해보겠습니다. 회전하는 중심축에는 DC-모터도 하나 장착되어있는 걸로 하죠. 단지 라그랑지 방법에 대한 설명이기 때문에 상당히 간단하게 설정해 둡니다.^^ 이제, 진자의 위치벡터(r)를 잡을 수 있겠죠. 기준 좌표축의 원점이 진자보다 위에 있기때문에 j-벡터쪽 성분이 '-'부호입니다. 

에너지에 대해 고려하기 !

위에서 잡힌 위치벡터를 미분해서 속도벡터(v)를 구해둡니다.

여기서, theta도 시간에 관한 함수이기 때문에 미분해야할 함수라는 점만 유의하시면 됩니다. 이제 운동에너지를 구해야하는데요. 운동에너지도 두 종류가 있습니다. 그 중 하나가 병진운동에너지인데요. 병진운동은 직선방향의 운동을 말하는 것으로, 방금 구한 속도벡터를 이용합니다. 고등하교? 중학교? 때 배운 운동에너지 공식을 그대로 사용하죠. ^^

그리고, 회전운동에너지를 찾습니다. 위의 예제로 다룰 시스템에서는 회전운동을 하는 것이 진자 뿐입니다.

이제 위치에너지를 고려하면 되는데요. 

위치벡터의 중력방향성분만 생각하면 됩니다. 위치에너지가 mgh라는 공식을 가지죠??^^

라그랑지 방정식 (Lagrange Equation) !

라그랑지 방정식을 구하기 위해서는 먼저 라그랑지안(lagrangian)을 찾아야합니다. 라그랑지안은 전체운동에너지에서 전체위치에너지를 뺀것입니다.

그 라그랑지안을 이용해서 위의 라그랑지 방정식에 대입해서 풀면됩니다. 라그랑지 방정식이 도출되는 과정은 헉.. 저도 잘 모릅니다. (블로그에서 누차 밝혔지만, 전 기계전공이 아니라 제어공학이 전공입니다.ㅠㅠ) 여기서, eta는 시스템의 상태로, 우리는 꼴랑 theta하나 있습니다.

이렇게 구할 수 있죠. 마지막 시간에 관한 미분마저 수행하면

이렇게 됩니다. 상태가 하나만 잡히다보니, 라그랑지 방정식으로 푼 결과가 바로 끝이네요. 그래도 외력부분에대해서 이야기해야죠. 다음번 글에는 DC모터를 외력으로 다뤄보겠습니다.^^

반응형