역진자카트시스템제어 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 Figure 1. 역진자카트시스템자유물체도 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 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 사에서제작한그래픽기반프로그래밍언 어이다. 이실험에서는제공된시뮬레이션파일로역진자카트시스템시뮬레이션을진행한다. Inverted pendulum Application 파일 제공된설치파일을설치후설치경로에들어가면 Application 파일이있다. 이 Application 파일을실행하면아 래의창이뜨며 설정, 실험, 결과 탭을순서대로설정하여시뮬레이션을진행한다.
A. 설정 탭 설정탭에서는 1) 역진자시스템의변수들과 ) 제어계수를계산하는데필요한 eigen 값들그리고 3) 역진자의초기 각도설정해준다. 변수설정먼저, 변수설정 에역진자카트의변수를입력한다. 각변수값들은 Table 1을참조한다. 진자의관성모멘트는진자의회전축으로부터진자의무게중심점에대하여계산된막대기의관성모멘트식 () 으로부터구한다. I ml () Eigen value 입력 다음으로원하는 eigen value 를 원하는 eigen value 입력 창에입력한다. 모든 eigen value 가음수 (-) 여야역진자 시스템이안정화된다. 각각의 eigen value 는상태방정식의 X 행렬의원소들과관련이있다 ( 식 (17),(18) 참조 ). Eigen value 의실수크기가커질수록관련된 X 행렬의원소는빨리안정화된다. 예를들어, 식 (18) 에서 X 31 원소와 관련된 eigen value 의절대값이커지면 X 31 원소즉역진자의각도는다른원소들에비해빨리안정화된다. 여기서, Kp1 은카트위치 (x), Kd1 는카트의속도 (x ), Kp 는진자의각도 (θ), Kd 진자의각속도 (θ ) 에대한제어상수이다. 만약 Eigen value 를실수가아닌복소수로입력하면시스템에진동이생긴다 (Eigen value 에대한더자세한내용 은공업수학책이나인터넷자료참조 ). Eigen value 를복소수로입력시 kp 와 kd 는켤레복소수여야한다. 즉 kp, pd 의복소수는크기가같고부호가반대여야한다. (ex: kp1=-1+1i, kd1=-1-1i) 역진자의초기각도 시뮬레이션이시작할때진자가기울어져있는각도이다. 이값이 0 이면시뮬레이션이진행되지않는다.
B. 실험 탭 시뮬레이션창 = 역진자카트의움직임을보여준다. 시뮬레이션진행시간 : 인디케이터는시뮬레이션이진행된시간을보여준다. 시뮬레이션의진행시간은 60 초이다. START 버튼 : 시뮬레이션시작버튼 STOP 버튼 : 시뮬레이션이진행중에끝내고싶을때누르면된다. 이버튼을누르지않아도시뮬레이션 이시작되고 60 초가지나면 ( 여기서 60 초는실제시간이아닌시뮬레이션상의 60 초 ) 자동으로시뮬레이션 은끝난다. 제어게인 (gain) : 앞에 설정 탭에서입력한변수와 eigen 값을사용하여계산된제어상수들
C. 결과 탭 진자각도, 카트위치, 카트속도그래프 : 진자의각도와카트의움직인거리및카트의속도변화 를보여준다. 시뮬레이션을수행하고보고서를제출한다. (3) 참조문헌 1. http://ctms.engin.umich.edu/ctms/index.php?example=invertedpendulum§ion=systemmodeling
Table 1 실험용계수들팀 / 조 1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 진자의무게 m (kg) 회전축으로부터진자무게중심까지거리 l (m) 카트무게 M (kg) 0.1 0.5 1 1.5.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 0.1 0.5 1 1.5.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 0.1 0.5 1 1.5.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 초기각도 (rad) 0.95 0.9 0.85 0.8 0.75 0.7 0.65 0.6 0.55 0.5 0.45 0.4 0.35 0.3 0.5 0. 0.15 0.1 0.05 0.01 마찰계수 b 0.1 Eigen values Kp1 = -1, Kd1 = -1, Kp = -1, Kd = -1
실험일자 : 년월일학번 : 반 / 팀 : 성명 : 실험결과 1. 역진자카트시스템의상태방정식 - 시뮬레이션을위해사용한파라미터 (parameter) 값을입력하시오.(Table 1 참조 ) 카트무게 M (kg) 진자무게 m (kg) 지면마찰계수 b 회전축으로부터진자무게중심까지의거리 l (m) 초기진자각도 θ(rad) - 위물리변수를식 (17) 에대입하여역진자카트시스템의상태방정식을표현하시오.. Labview 프로그램에서시스템변수들과 Eigen value 값을변화시키며진자와카트의움직임을관찰하고아래 표를작성하시오. ( 차시 : eigen value 를 1 차때보다 10 배크게변화시켜실험을진행할것 ) ( 3 차시 : eigen value 를 1 차때보다 10 배작게변화시켜실험을진행할것 ) k p, k d 값 진자의정지시간 (s) 총진자진동횟수 카트가원점으로부터이동한최대위치 (x max) 및카트의최대속도 (v max): 절대값고려, 부호는좌표의방향 ( 왼쪽 / 오른쪽 ) 표시함 1 차 k p1 k p Eigen values = k d1 k d 차 k p1 k p Eigen values = k d1 k d 3 차 k p1 k p Eigen values = k d1 k d
. Eigen value 의 Kp, Kd 복소수부를자신의조번호숫자만큼의크기로설정하고시뮬레이션하였을때결과가어떻게변하는지확인하고설명하라. ( 주의, 켤레복소수로입력해야함즉크기는같고부호는반대여야함 ) 3. 지금까지진행한실험에서 eigen value 의변화에따라, 제어상수가어떻게변하는지그리고진자정지시간, 왕복횟수, 카트이동거리및속도가어떻게변하는지설명하라. 4. 지금까지실험한결과를볼때, 카트의최대속도를감소시키기위해서는 eigenvalue 실수부의절대값을증가시켜야되는가? 감소시켜야되는가?