로터리 역진자 시스템은 여러가지 펜들럼 시스템중에서 구동부인 모터를 적용하기에 가장 편한 시스템입니다. 이유는 모터가 회전(물론 리니어 모터도 있지만)하는 놈이니까 그에 맞춰서 적절히 기어만 달아주면 되기 때문입니다. 그러나 로터리역진자는 그 폴이 넘어지는 방향이 직선이기 때문에 암과의 조인트부분을 좀 튼튼히 만들어줄 필요가 있습니다. 그렇게 하더라도 방향전환시 카트형에 비하면 접선 방향으로 좀 많은 충격이 나타납니다. 또한 로터리 펜들럼은 카트형에 비하면 상대적으로 작은 크기로 만들어 낼수도 있습니다.
위의 그림을 보면 폴(Pole)이 있고 그 각도를 측정하는 엔코더가 있습니다. 쓰러지는 폴을 잡기 위해서 암(Arm)이 있고 암을 구동하는 엔코더 내장형 모터가 있습니다. 제어의 용이성을 위해 폴 반대편에 무게추를 설치했습니다. 뭐 전형적인 로터리 펜들럼 그 자체이지요.
위 그림은 실제 제작된 펜들럼입니다. 이 작품은 2005년에 제가 지도대학원생으로 참여한 실험실 학부논문조가 만든것입니다. 이제 이 모델에 대한 동역학 방정식을 구해야겠습니다.
전체 기구부에서 암을 고정 시키면 폴만 운동하게 될텐데 그걸 간략히 표현한 것이 위의 그림입니다. 이 운동은 단진자 운동으로 간단히 생각 할 수 있게 되는데요. 폴의 질량이 균일하게 분포해 있다면, 폴의 중심에 그 무게중심이 위치하게 될것입니다. 그걸 Newton Method로 표현하면
입니다. 물론 로터리 펜들럼은 폴과 암의 운동이 연관이 있으니 그 것도 간단히 다이어그램으로 표현하면
이 됩니다. 여기서 각 인자는
입니다. 폴과 암의 조인트에 가해지는 수평 방향의 합력은 폴의 무게중심의 수평방향으로의 이동거리의 힘과 등가로 볼 수 있습니다. (F=ma)
그것으로 위와 같은 수식을 또한 얻을 수 있습니다. 폴과 암의 조인트에 가해지는 수직방향의 힘도 같은 방법으로 찾게 되면
이 됩니다. 먼저 암의 회전운동에 대한 운동방정식은
이고, 폴의 회전운동에 대한 방정식은
이 됩니다. 위 두 식을 연립하여 풀면
을 구할 수 있게 됩니다. 위 식은 비선형방정식이고 동작점 부근에서
로 선형화하면
를 얻게 됩니다. 여기서
로 치환하면
좀 간단히 표현할 수 있습니다. 이제 상태변수 모델로 표현하기 위해
상태를 잡고,
의 형태로 표현하면
각 행렬들은 위와 같습니다.
회전 이너셔(Inertia)를 찾아야하는데요. 일단 이론적으로 도출해도 될겁니다만, 그 과정을 한다하더라도 실제와의 일치 여부를 찾아야하니까요. 우리는 그냥 실험적으로 도출해 보도록 하겠습니다.
위의 그림과 같이 암을 고정시키고, 간단히 포텐셔미터를 하나 연결해서 폴의 흔들리는 각도를 잡기로 합니다.
그렇게 데이터를 얻은다음 (실제론 DAQ보를 통해 LabView로 데이터를 얻었습니다. ) 간단한 단진자 운동의 경우, 자유운동을 시킨 그 결과에서 흔들리는 주기는 이너셔가 결정하고, 피크포인트의 감쇠는 마찰계수가 결정하게 됩니다.
46도에서 놨을때의 운동결과입니다. 이를 가지고 폴의 이너셔와 마찰계수를 맞춰낼수가 있지요. 측정값은 Jp=0.0364, =0.002, lmg=0.6724 입니다.
위 그림처럼 폴의 이너셔와 마찰계수를 알게 되었으니까 전체적으로 암까지 같이 흔들어서 그 데이터를 획득해서 암의 이너셔와 마찰계수를 잡습니다.
실험 블럭선도입니다.
위와같이 데이터들을 얻어서
라는 결론을 냈습니다. 이제 이번 로터리 펜들럼에서 모르는 계수는 없다고 보시면 됩니다.
이제 모터를 수식화 시켜야겠네요. 위의 수식입니다. 여기서 전기자 인덕턴스 La는 초기 과도 상태에서만 영향을 미치므로 생략하고
전류에 대해 전개한다음 발생토크의 식을 다시 대입하여 로드토크에 관해 정리하면
으로 표현됩니다. 여기서 우리가 필요한 토크, 즉 모터에서 발생시켜야할 토크는
으로 나타납니다.
위에서 사용된 계수들의 정의입니다. 이를 대입하여 다시 비선형함수를 정리하면
이 됩니다. 물론 또 선형화도 수행해보기 위해 모터쪽에서 기어의 이너셔와 마찰계수는 전체 기구에 비하면 너무 작기때문에 무시하고 다시 선형화를 수행하면
이 됩니다. 두 미분방정식을 상태변수모델로 표현하기 위해
로 두고 선형화된 방정식을 다시 간단히 하면
입니다.
위와 같은 형태의 상태변수모델을 만들수가 있구요
각 행렬은 위와 같습니다.
실측된 파라미터들입니다.
모터쪽 파라미터들이구요
이렇게 해서 상태행렬들을 모두 구했습니다.
이제 이전에 했던 카트형펜들럼에서 적용되었던 LQR방식을 사용하기 위해 Q,R행렬은 위와 같이 표현합니다.
그렇게 해서 도출된 제어 게인입니다.
MATLAB/Simulink에서 시뮬레이션 하기 위해 작성된 블럭입니다.
그 결과는 위 동영상에서 직접 확인하시면 되겠습니다.^^.
반응형
'Robot > Project' 카테고리의 다른 글
자이로센서 myGyro300SPI의 통신문제 해결 (3) | 2009.06.22 |
---|---|
자이로센서를 이용한 각도 측정시 가속도센서로 보정하기 (116) | 2009.06.17 |
자이로센서의 출력에 온도를 고려하기 (23) | 2009.06.15 |
자이로센서를 이용한 각도검출과 그 한계 (124) | 2009.06.13 |
가속도센서를 이용한 각도 측정과 그 한계 (124) | 2009.06.09 |
Balancing Robot 밸런싱 로봇 (32) | 2009.04.18 |
Cart type Inverted Pendulum (카트형 역진자) 시스템 (120) | 2009.04.17 |