역진자카트시스템제어 I. 실험목적 이실험에서는역진자카트시스템을수학적으로모델링하고그로부터제어기를설계한다. 그후역진자카트 시스템을시뮬레이션하여설계한제어기를확인한다. (1) 실험절차 이번실험의절차는다음과같다. 1. 자유물체도이해. 운동방정식찾기 / 유도 3. 전달함수찾기 4. 상태방정식찾기 5. PD 제어기설계 6. 시뮬레이션 (Labview 프로그램이용 ) 7. 보고서제출
() 이론및실험진행.1) 자유물체도 * 변수 변수 설명 단위 M Mass of the cart kg m Mass of the pendulum kg b Friction coefficient for the cart N/m/s l Distance from the axis of rotation to the pendulum mass center m I F x Mass moment of inertia of the pendulum with respect to the axis of rotation Force applied to the cart Cart position coordinate Pendulum angle measured from the vertical axis Figure 1. 역진자카트시스템자유물체도 kg m.) 운동방정식 수평방향의힘을합산하면아래식 (1) 과같다. Mx bx N F (1) 수평방향에대한자유물체도도의반력 N 을계산하면식 () 이된다 N mx ml ml sin cos () 식 (1) 에식 () 을넣으면다음과같은첫번째지배방적식을얻는다. ( ) sin cos M m x bx ml ml F (3) pendulum 에대한수직방향의힘을요약한다. 그러면다음과같은식 (4) 을얻는다.
Pcos N sin mg cos ml mx sin (4) P 와 N 을제거하기위해정리하면 Pl cos Nl sin I (5) 식 (4) 과식 (5) 을더하면두번째지배방정식을구할수있다. (I ml ) mglcos mlxsin (6) 이제어설계기법은선형시스템에만적용이되기때문에방정식을선형화할필요가있다. 수직상향평형위치를선형화하면 =π, 그리고이시스템은작은구간에서유지된다고가정한다. 수직상향평형위치가 0 를넘지않으면이가정은상당히합리적이다. 다음아래식 (7) 과같다. sin cos 1 0 (7) 다음으로비선형방정식에위의식을넣으면두개의선형방정식이나오고 F를 input으로놓으면 u값을얻을수있다. (I ) ml mgl mlx ( M m) x bx ml u F (8).) 전달함수 전달함수 : 라플라스변환법에의한자동제어계의해석에있어서중요한의미를갖는함수로, 제어계의각요소또는그결합된것의응답을나타내고, 일반적으로모든초기값을 0으로할때의출력신호와입력신호의라플라스변환의비로정의된다. Y(s) Ts () Us (). 선형방정식의전달함수를얻기위해서, 초기조건을가정하고 Laplace변환을아래식 (9), 식 (10) 과같이수행한다. (I ml ) ( s) s mgl( s) mlx ( s) s ( M m) X( s) s bx ( s) s ml ( s) s U( s) (10) (9) Output (s) 과 InputU(s) 에서전달함수를찾기위해서 X(s) 를제거해야한다. X(s) 에대해정리하면, I ml g X ( s) ( s) ml s (11). 이된다. 식 (11) 을식 (10) 에대입을하면아래식 (1) 와같고
I ml g I ml g ( M m) ( s) s b ( s) s ml ( s) s U( s) ml s ml s (1) 식 (1) 을정리하면 ml s () s q Us () 4 b( I ml ) 3 ( M m) mgl bmgl s s s s q q q (13) 여기서, q M m I ml ml [( )( ) ( ) ] (14) 위의식 (13) 을보면, 원점에 pole 과 zero 가겹쳐있으므로약분하면전달함수식 (15) 와같다. T pend ml s () s q (s) Us () 3 b( I ml ) 3 (Mm)mgl bmgl s s s s q q q rad [ ] N (15) 식 (15) 를구한방식과같은방식으로식 (9),(10) 으로부터전달함수식 (16) 을구할수있다. T cart.3) 상태방정식 (state-space) ( I ml ) s gml X() s q () s Us () 4 b( I ml ) 3 ( M m) mgl bmgl s s s s q q q m [ ] N (16) 미분방정식이연속적이라면이운동선형방정식들은 state-place 로대체가가능하다. 위방정식들은선형이기때문에아래와같은표준행렬로나타낼수있다. 0 1 0 0 0 x ( ) x I ml b m gl I ml 0 0 x I( M m) Mml I( M m) Mml x I( M m) Mml u 0 0 0 1 0 mlb mgl( M m) ml 0 0 I( M m) Mml I( M m) Mml I( M m) Mml (17) Y x 1 0 0 0 x 0 u 0 0 1 0 0
.4) 제어기설계하기 식 (17) 을간단히표현하면식 (18) 과같다. x x X AX Bu x 여기서, X, Y, u F Y CX Du (18) 식 (18) 에서입력값 u 에식 (19) 를대입한다. 식 (19) 에서 K 는제어상수이며제어상수에따라시스템의안정성이좌 우된다. K 는식 (0) 과같다. u KX (k x k x k k ) (19) p1 d1 p d k k K k k p1 d1 p d (0) 여기서 k p1, k d1 은각각카트의위치와속도에대한제어상수이며, k p, k d 는각각진자의각도와각속도에대한제 어상수이다. 식 (18) 의상태방정식에식 (19) 를대입하여정리하면상태방정식 (18) 은식 (1) 과같다. X ( A BK) X (1) 식 (1) 에서 (A-BK) 가 negative definite이면시스템은안정하다. 다시말해제어상수 K를사용하였을때진자가쓰러지지않고안정하게서있는다. (A-BK) 가 negative definite인지확인하는방법은 (A-BK) 의고유값을구하여이값이모두음수이면 (A-BK) 은 negative definite이다. 3x3행렬부터는고유값을손으로구하기어려우므로컴퓨터를이용하여계산한다. 고유값은시스템의안정성및수렴속도와관련있다. Eigen value의절대값이클수록시스템이빨리안정화된다. 만약 Eigen value가복소수이면시스템에진동이발생한다. (Root locus 상에서의 pole, zero 위치와시스템응답과의관계참조 ; 자세한점은시스템제어서적참조 ).5) 시뮬레이션 역진자카트시스템시뮬레이션은랩뷰 (Labview) 프로그램으로진행한다. LabVIEW는테스트, 컨트롤및측정어플리케이션을개발하는엔지니어와과학자들을위해 National Instrument사에서제작한그래픽기반프로그래밍언어이다. 이실험에서는역진자카트시스템시뮬레이션을위해다음의파일을활용한다. ( 파일위치 : 바탕화면 > pendulum control Labview application 폴더 ) 1. "Inverted pendulum Application.exe" 시뮬레이션진행. "Controller design from state space Application.exe" 설계
1. Inverted pendulum Application 파일 Inverted pendulum Application 파일을실행하면아래의창이뜨며각요소에대한설명은 Figure 와같다. Figure. Inverted pendulum Application 역진자카트시뮬레이션창 먼저, 시스템변수입력창 에역진자카트의변수를입력한다. 각변수값들은다음의범위내에서선정한다. 진자의무게 m (kg) 회전축으로부터진자무게중심까지 마찰계수 b 카트무게 M (kg) 거리 l (m) 0.1~ 0.1~1 0.1~0.5 0.1~5 진자의관성모멘트는진자의회전축으로부터진자의무게중심점에대하여계산된막대기의관성모멘트식 () 으로부터구한다. I ml () 여기서선정한변수들과식 (17) 로부터역진자카트시스템의상태방정식을구할수있다. 1. 시뮬레이션진행시간 : 인디케이터는시뮬레이션이진행된시간을보여준다. 시뮬레이션의진행시간은 60 초 이다.. 진자의초기시작각도 : 시뮬레이션이시작할때진자가기울어져있는각도이다. 이값이 0 이면시뮬레이션이 진행되지않으므로 0.1~1 범위내에서선정한다. 3. 시뮬레이션정지버튼 : 시뮬레이션이진행중에끝내고싶을때누르면된다. 이버튼을누르지않아도시뮬 레이션이시작되고 60 초가지나면 ( 여기서 60 초는실제시간이아닌시뮬레이션상의 60 초 ) 자동으로시뮬레이션 은끝난다. 4. 시뮬레이션창 = 역진자카트의움직임을보여준다. 5. 진자각도, 카트위치, 카트속도그래프 : 진자의각도와카트의움직인거리및카트의속도변화를보여준
다. 6. 실행버튼 : 시뮬레이션에필요한변수들과제어상수를모두입력한후시뮬레이션을실행하고자할때클릭 한다. 7. 진자및카트제어게인입력창 : 역진자의각도와카트위치를제어하기위한제어상수를입력한다. 이제 어상수의설계여부에따라시스템의안정성이좌우된다. 제어상수를설계하기위해 Controller design from state space Application 파일을사용하자.. Controller design from state space Application 파일 Controller design from state space Application 파일을실행하면와같은창이뜬다. Figure 3. Controller design from state space Application 창 먼저, 위에서선정한변수들과식 (17) 을이용하여구한상태방정식의 A, B 행렬을 exe 파일의 상태방정식의 A, B 행 렬을입력하는창 에입력한다. 다음으로원하는 eigen value를 원하는 eigen value 입력창 에입력한다. 모든 eigen value가음수여야시스템이안정화된다. 각각의 eigen value는상태방정식의 X행렬의원소들과관련이있다 ( 식 (17),(18) 참조 ). Eigen value의절대값이커질수록관련된 X행렬의원소는빨리안정화된다. 예를들어, X 31 원소와관련된 eigen value의절대값이커지면 X 31 원소즉역진자의각도는다른원소들에비해빨리안정화된다. 만약 Eigen value를실수가아닌복소수로입력하면시스템에진동이생긴다. Table.1은 eigen value의실수와복소수형태의예시이다. (Eigen value에대한더자세한내용은공업수학책이나인터넷자료참조 ) Table 1. Eigen value 실수
] Eigen value 복소수 상태방정식의 A, B 행렬과 Eigen value 까지모두입력한후 실행버튼 을클릭하여프로그램을실행한다. 설계된 제어상수창 에설계된제어상수들이출력된다. 이제어상수들을시뮬레이션창 (Figure ) 의 진자및카트제 어게인값들입력창 에입력한후시뮬레이션창의 실행버튼 을클릭하여시뮬레이션을실행한다. 여기서, Kp1 은카트위치 (x), Kd1 는카트의속도 (x ), Kp 는진자의각도 (θ), Kd 진자의각속도 (θ ) 에대한제어상수 이다. 시뮬레이션을수행하고보고서를제출한다. (3) 참조문헌 1. http://ctms.engin.umich.edu/ctms/index.php?example=invertedpendulum§ion=systemmodeling
실험일자 : 학번 : 반 : 성명 : 실험결과 1. 역진자카트시스템의상태방정식 - 시뮬레이션을위해선정한값은기입하시오. 카트무게 M (kg) 진자무게 m (kg) 지면마찰계수 b 회전축으로부터진자무게중심까지의거리 l (m) 초기진자각도 θ(rad) - 위물리변수로부터구한역진자카트시스템의상태방정식을식 (17) 을대입하여표현하시오.. Labview 프로그램에서제어상수 (k p, k d ) 또는 Eigen value 값을변화시키며진자와카트의움직임을관찰하고 아래표를작성하시오. (hint : 부호변화 ) ( k p, k d 값의작은변화는제어결과의차이가미비하므로, 값을크게변화시키며실험을진행할것 ) kp, kd 값 진자의정지시간 (s) 총진자운동횟수 카트가원점으로부터이동한최대위치 (x max ) 및카트의최대속도 (v max ) kp1 kd1 1 차 kp Eigen values = kd kp1 kd1 차 kp Eigen values = kd kp1 kd1 3 차 kp Eigen values = kd
3. 각실험에서제어상수의변화에따라진자정지시간, 왕복횟수, 카트이동거리및속도가어떻게변하는지 설명하라. 3. 지금까지실험한결과를볼때, 카트의최대속도를감소시키기위해서는 eigenvalue 의절대값을증가시켜 야되는가? 감소시켜야되는가?