*** 준회원 : 부산대학교 전자전기공학과
*** 종신회원 : 경남과학기술대학교 메카트로닉스공학과
*** 정회원 : 부산대학교 전자전기공학부(교신저자, [email protected])
접수일자 : 2011. 11. 26 심사완료일자 : 2012. 02. 02
안태희* · 박진현** · 최영규***
Implementation of Balancing Control System for Two Wheeled Inverted Pendulum Robot
Tae-hee An* · Jin-hyun Park** · Young-kiu Choi***
요 약
본 논문에서 이륜 역진자 로봇의 밸런싱에 사용되고 있는 기존 PD 제어기를 대신하여 신경회로망 학습을 통해 향상된 PD 제어기를 이륜 역진자형 이동로봇에 적용하여 실험하고 성능을 검증하였다. 먼저 제어실험에 사용할 이 륜 역진자 로봇시스템을 구축하고 나서 기존의 PD 제어기를 사용하여 사용자 몸무게에 따라 시행착오적으로 이득 값을 구해 로봇을 밸런싱시켰다. 그리고 시행착오적으로 구한 이득 값을 신경회로망 학습을 통해 일반화시켜 몸무 게에 따라 일반화된 PD 이득 값을 가지는 제어기를 구현하였다. 이렇게 구현된 제어기가 기존의 PD 제어기보다 안 정적 제어 측면에서 더 유리함을 실험적으로 확인할 수 있었다.
ABSTRACT
In this paper, instead of the conventional PD controller for balancing control of two wheeled inverted pendulum robots, an improved PD controller using the neural network is proposed and implemented for performance verification. First, a two wheeled inverted pendulum robot system is constructed for experiment. Next proper gains of the conventional PD controller according to users' weights are obtained for balancing the robot by use of the trial and error method. The PD gains based on the trial and error method are generalized through the neural network. Experiment results show that the PD controller based on the neural network has better performance than the conventional PD controller.
키워드
이륜 역진자 로봇, 밸런싱 제어, PD 제어기, 신경회로망 Key word
two wheeled inverted pendulum robot, balancing control, PD controller, neural network
Ⅰ. 서 론
최근의 로봇은 인간이 보다 편리하게 생활하고 다양 한 작업을 수행할 수 있도록 연구되어 오고 있다. 특히 주행 로봇은 많은 연구가 진행되어 오고 있는데 그중에 서 교통수단으로 사용될 수 있는 이륜 역진자 로봇은 빠르고 편리할 뿐만 아니라 친환경적인 측면도 있어 다 양한 연구가 진행되어 오고 있다. 예를 들면 이륜 역진 자 로봇의 자세 제어에 대한 여러 가지 알고리즘에 대 한 연구[1-4], 이륜 역진자 로봇에 내비게이션 시스템 을 장착한 SLAM형태의 로봇에 대한 연구[5]등이 진행 되어 오고 있다. 본 논문에서는 이륜 역진자 로봇에 사 람이 탑승하여 주행할 수 있게 만든 이륜 역진자 로봇 인 Segway에서 탑승자의 무게에 따른 PD 제어기를 제 안한다. 기존의 일반적인 PD 제어 방식에서 Segway 탑 승자 몸무게에 따라 제어특성이 달라지는데, 몸무게 값에 따라 적절한 PD 이득값을 발생시켜 우수한 제어 특성을 갖도록 하는 알고리즘을 사용한다. 이륜 역진 자 로봇의 무게에 따라 무게중심 값이 변형되어 밸런싱 각도에 영향을 주게 되는데[6], 본 논문에서는 이를 보 완하는 방법으로 PD제어기의 이득 값을 신경회로망으 로 튜닝하여 Segway의 무게에 따라 적절한 PD 이득 값 을 구하는 제어기를 구현한다. 이러한 제어기는 무게 에 대해 최적화되어 있기 때문에 무게 값이 변화하더라 도 안정적인 주행이 가능하다. 이렇게 신경회로망을 이용한 제어기를 기존의 일반적 PD 제어기와 실험적 으로 비교, 검토한다.
Ⅱ. 이륜 역진자 로봇의 모델링
일반적으로 Segway로봇은 그림 1과 같은 형태를 가 진다[7]. 이러한 형태의 Segway로봇은 그림 2와 같이 모 델링 될 수 있다. 그림 2에서 나타난 동역학 변수들을 가 지고 운동방정식으로부터 제어기 설계를 위한 상태 방 정식을 유도를 해본다[8]. 먼저 동역학적 변수에 대해 설 명하자면, , 의 경우 축에 대한 좌우바퀴의 관 성 모멘트,
그림 1. 이륜 역진자 로봇
Fig. 1 Two wheeled inverted pendulum robot
그림 2. Segway 로봇의 모델링 Fig. 2 Modeling of Segway Robot
, 은 각각 좌우바퀴의 질량, 는 축에 대한 몸체의 관성 모멘트, 는 축에 대한 몸체의 관 성 모멘트에 해당한다. 그리고 는 몸체의 질량, 은 바퀴의 반지름, 는 각 바퀴 연결부분의 축간거리, 은 몸체의 무게 중심과 축의 거리를 뜻한다. 이와 같은 변수를 바탕으로 그림 2에서 수평, 수직, 회전 운동 방정 식을 유도하면 다음과 같이 표현된다.
(1)
(2)
(3)
이는 각각의 왼쪽 바퀴에 걸리는 동역학 운동 방정식 에 해당되고, 오른쪽도 마찬가지로 걸리게 된다. 또한 몸 체에 대한 운동 방정식도 수평, 수직 회전 방향에 대한 표현이 가능하다.
(4)
(5)
(6)
(7)
이때 ,
은 각 부분의 반작용 값을 나타낸다. 식(7)에서의
는 축에 대한 각인 의 함수임을 확인할 수 있었다.
이 의 경우 실제로 아주 작은 값을 가지게 되므로
이라고 볼 수 있다. 그에 따라 는 에 대응하는 관성 모멘트로 근사화 시킬 수 있다. 그리 고 제어기를 단순화시키기 위해 주행 시 원심력에 의한 미끄럼 현상이 발생하지 않는다는 조건과 각각의 바퀴 가 지면에 밀착한다는 조건을 두었다. 또한 모터의 시 정수는 Segway 로봇의 시정수에 비해 매우 작으므로 모터에 대한 동역학 요소를 배제시킬 수 있다. 따라서
으로 두었을 때 선형적 상태방정식은 아래 식(8)과 같이 표현할 수 있다.
(8)
이러한 선형 상태방정식으로부터 선형화된 제어기 설계가 가능하다.
Ⅲ. 이륜 역진자 로봇의 제어기
앞장에서 언급하였던 이륜 역진자 로봇의 상태방정 식을 바탕으로 하여 그림 3과 같은 구조의 제어기를 설 계할 수 있다.
그림 3. 제어기 블록선도 Fig. 3 Block diagram of the controller 설계하는 제어기의 입력값 는 로봇의 목표 위 치, 은 로봇의 목표 속도,는 목표 밸런싱 각 도, 은 목표 밸런싱 각속도, 는 각각 목표 회전 각도와 목표 회전 각속도이다. 또한 Segway의 센 서를 통해서 도출한 실제의 데이터 값은,
로 나타나게 되는데, 각각 로봇의 위치, 속도, 밸런싱 각도, 밸런싱 각속도, 회전각도, 회전 각속도가 된다. 로봇의 위치나 속도는 모터에 부착된 엔 코더에서 값을 알 수 있으며, 밸런싱 각도와 각속도는 각 도 센서와 자이로에 의해 값을 알 수 있다. 그리고 회전 각도와 회전 각속도는 로봇에 부착된 조향장치(knob)를 통해서 값을 받을 수 있다. 로봇의 밸런싱 각도 제어는 PD 알고리즘이 적용되고, 회전각도와 위치를 제어하는 데 PID 알고리즘이 적용된다.
목표 입력 값과 측정된 출력 값의 차이로 오차 값을 도출한 후, 각각의 PID 제어기의 이득 값을 곱해 준다.
이때 이 PID 이득 값은 사용자의 무게에 따라 그 값이 다르게 적용이 되는데, 기존 PID 제어 실험을 통해 시 행착오적으로 구한 PID 제어기 이득 값들을 이용하여, 신경회로망 튜닝을 거쳐서 각각의 사용자 몸무게에 대 해 최적화된 PID 제어기 이득 값을 구한다. 이렇게 구 한 제어기의 이득 값을 적용한 후, 사용자의 몸무게에 대한 정보가 들어 왔을 경우에 그 몸무게에 가장 알맞 은 PID 제어기의 이득 값을 신경회로망으로 찾아 각각 의 바퀴에 걸리는 토크 값을 도출한다. 위의 설명을 전 체 블록 다이어그램으로 표현하면 다음의 그림 4로 나 타 낼 수 있다.
그림 4. 제어시스템 블록선도 Fig. 4 Block diagram of the control system
Ⅳ. 신경회로망
인공신경회로망은 생물체의 신경시스템을 공학적으 로 모델링한 것으로 지능제어 분야에서 가장 많이 쓰이 는 방식중 하나이며 우수한 제어 성능을 보여주고 있다 [9]. 본 논문에서는 기존 PID 제어기에서 실험을 통해 시 행착오적으로 구한 PID 제어기 이득인 Kp, Ki, Kd 를 신 경회로망으로 일반화시켜 PID 제어기의 일반화된 이득 값을 찾는다. 사용되는 신경회로망은 그림 5와 같은 구 조를 가진다. 그림 5의 신경회로망 구조에서 입력 값
⋯에 대한 은닉층의 출력 값 ⋯ 을 구해 보면,
⋯
⋯
⋮ ⋮
⋯ Ln
(9)
그림 5. 신경회로망 구조 Fig. 5 Structure of the neural network 식(9)에 의해 구해진 은닉층의 출력을 출력층에 넣어 주게 되면 출력 값 ⋯ 이 출력 되게 된다. 출 력 값은 식(10)과 같이 나타내어진다.
⋯
⋯
⋮ ⋮
⋯
(10)
식(10)을 통해서 신경망 학습알고리즘, 즉 Backpropagation 알고리즘을 시행한다. 의 값과
값을 수식으로 나타내면 식(11), (12)와 같다.
(11)
⋯
× (12)
식(11), (12)를 이용해서 ∆Ln과 ∆, 그리고
Ln와 의 값을 구하면 식 (13)∼(16)으로 나타낼 수 있다.
∆Ln (13)
∆ (14)
Ln Ln ∆Ln (15)
∆ (16)
위의 수식을 이용하여 우리가 구하고자 하는 PID 제 어기의 이득 값을 구할 수 있다. 본 연구에서 밸런싱 각 도제어를 하며 이 경우 PD 제어기를 사용하므로 입력
에서 n=1이 되고 이는 사용자의 몸무게가 된다. 출력
에서 n=2 가 되고 각각 Kp, Kd 값이 된다. 은닉 층의 개수 L은 10으로 지정하였다. 입력의 무게 값은 40kg부 터 1kg 단위로 70kg까지 측정하여 입력하였다. 실험을 통해 시행착오적으로 구한 Kp, Kd를, 위의 신경회로망 알고리즘의 interpolation 기능에 의해 일반화시켰다. 실 험을 통해 시행착오적으로 구한 Kp, Kd 값을 갖는 PD 제 어기보다 신경회로망에 의한 PD 제어기의 제어성능이 더 우수함을 실험적으로 확인할 수 있다.
Ⅴ. 실험 및 결과
앞에서 제안된 방식의 정당성을 검증하기 위해 이륜 역진자 로봇의 밸런싱 각도 실험을 실행하였다. 먼저, 시 행착오적으로 구한 각도 PD 이득과 신경회로망으로 튜 닝한 각도 PD 이득을 그래프를 통해 비교하여 나타낼 것 이다. 그리고 그 이득 값을 이용하여 설계한 제어기를 실 제 실험을 통해 로봇에 적용시켜 로봇의 밸런싱 성능을 비교한다.
5.1. 밸런싱 각도 PD 제어기의 이득 비교
표 1에서는 무게의 범위에 따른 PD 제어기의 이득 범 위를 나타내었다. 표 1에서의 데이터를 포함한 기존의 PD 제어기에서 실험적으로 구한 이득값과 신경회로망 튜닝을 통해 구한 PD 이득 값을 그래프를 통하여 비교할 것이다. 비교한 그래프는 그림 6과 같다[11]. 그림 6에서 Kp, Kd의 각도 이득 값을 신경회로망을 통하여 표현하 였다. 시행착오적으로 구한 기존의 이득 값들도 같이 표 시하였다.
표 1. 몸무게에 따른 PD 이득 범위 Table. 1 PD gain ranges for weights
이득
몸무게 PD 이득 범위
40∼50 [kg] Kp=196∼200
Kd=12∼13
50∼60 [kg] Kp=204∼207
Kd=14∼15
60∼70 [kg] Kp=210∼225
Kd=15∼18
( * : 시행착오법, - : 신경회로망) 그림 6. 몸무게에 따른 각도 PD 이득 Fig. 6 PD gains of the angle for weights 5.2. 실험 결과
실제 구현한 이륜 역진자 로봇의 무게를 일정하게 바 꾸어 주고, 바뀐 무게에 따른 제어기의 성능을 비교하였 다. 그림 7에서 실제로 구현한 이륜 역진자 로봇의 외관 을 보여주고, 로봇 시스템 구조를 블록선도로 나타내었 다. 실험시 이륜 역진자 로봇의 무게는 41.2[kg], 52.4[kg], 59.8[kg]으로 3가지 경우를 두었다. 우선 PC에서 DSP-JTAC-에뮬레이터를 이용하여 작성한 C코드를 로 봇 DSP 제어부로 전송한다. 전송한 프로그램은 DSP 프 로세서에서 센서 데이터와 엔코더 데이터를 이용하여 모터드라이브에 PWM 신호를 전송한다. 모터드라이브 는 전송된 PWM 신호를 이용하여 DC모터에 전류를 흘 려 토크를 발생시켜 이륜 역진자 로봇의 밸런싱 동작을 수행할 수 있도록 해준다.
그림 7. 이륜 역진자 로봇과 제어시스템 구조 Fig. 7 Two wheeled inverted pendulum robot and
control system structure
로봇의 하드웨어는 그림 8, 9와 같다. 그림 8에 나타낸 로봇 제어부인 DSP 제어보드는 양면으로 구성되어 있 고 메인 프로세서인 DSP와 로봇에 필요한 센서인 가속 도계, 자이로 센서로 구성되어 있다. DSP는 제어보드의 뒷면에, 자이로 센서와 가속도 센서는 제어보드의 앞면 에 위치하고 있다.
그림 9는 로봇의 구동부로 DC모터의 제어를 가능하 게 하는 모터드라이브이다. 이 구동부는 제어부에서 전 송되는 PWM 신호에 의해 DC모터 조작이 가능하도록 구성하였다.
그림 8. DSP 제어보드 (DSP, 가속도계, 자이로) Fig. 8 DSP control board (DSP, Accelerometer, Gyro)
그림 9. 모터 드라이브 Fig. 9 Motor drive
이러한 이륜 역진자 로봇에 기존 제어기와 신경회로 망을 이용한 제어기의 성능비교 실험을 실시하였다.
실험은 일정한 입력을 주었을 때의 밸런싱 각도를 측정 하였으며, 로봇의 기울기가 10도에서 앞쪽으로 일정한 힘을 주어 실행하였다. 실험의 결과는 그림 10-15와 같 다. 그림 10과 11에서 41.2[kg]일 때, 기존 PD 제어기의 경우 약 1.5초에서 밸런싱되고, 논문에서 제안한 신경 회로망 PD 제어기는 약 1초에서 밸런싱됨을 확인할 수 있다.
따라서 기존의 제어기와 비교해 0.5초의 시간을 단축 하는 효과가 나타난다. 뿐만 아니라, 이륜역진자형 로봇 의 각도 오버 슈터 부분과 로봇의 진동 부분에 있어서 기 존의 제어기와 비교하였을 때 본 논문에서 제안한 신경 회로망 PD제어기가 크게 개선됨을 실험그래프를 통해 서 확인 할 수 있다.
그림 10. 기존 PD 제어기 각도 궤적 (몸무게 41.2kg) Fig. 10 Angular trajectory of the conventional PD
controller (weight of 41.2kg)
그림 11. 신경망 PD 제어기 각도 궤적(몸무게 41.2kg) Fig. 11 Angular trajectory of the neural network PD
controller (weight of 41.2kg)
52.4[kg]의 무게를 주었을 때의 실험결과는 그림 12 와 13에서 나타내었는데 41.2[kg]을 주었을 때의 로봇 의 밸런싱 각도와 마찬가지로 기존의 제어기는 약 2.5 초 지점에서 밸런싱됨에 반해, 신경회로망을 이용한 제어기는 약 1.5초 지점에서 밸런싱됨을 볼 수가 있고 오버슈트 및 진동 부분에 있어서도 개선된 성능을 보임 을 알 수 있다.
그림 12. 기존 PD 제어기 각도 궤적 (몸무게 52.4kg) Fig. 12 Angular trajectory of the conventional PD
controller (weight of 52.4kg)
그림 13. 신경망 PD 제어기 각도 궤적(몸무게 52.4kg) Fig. 13 Angular trajectory of the neural network PD
controller (weight of 52.4kg)
59.8[kg]의 경우도 마찬가지로 기존 제어기는 약 3.5 초 지점에서, 신경회로망을 이용한 제어기 경우는 약 3 초 지점에서 밸런싱됨을 그림 14, 15에서 확인할 수 있고 앞서서의 41.2kg, 52.4kg와 마찬가지로 오버슈트 및 진동 에 있어서 개선된 결과를 보임을 알 수 있다.
그림 14. 기존 PD 제어기 각도 궤적 (몸무게 59.8kg) Fig. 14 Angular trajectory of the conventional PD
controller (weight of 59.8kg)
그림 15. 신경망 PD 제어기 각도 궤적(몸무게 59.8kg) Fig. 15 Angular trajectory of the neural network PD
controller (weight of 59.8kg)
이상과 같이 시행착오적으로 구한 이득을 갖는 제어 기보다, 신경회로망을 이용하여 구한 이득을 갖는 제어 기가 더 안정적이고 빠르게 제어됨을 실험 결과를 통해 확인할 수 있다.
Ⅵ. 결 론
본 논문에서 이륜 역진자 로봇의 안정적인 밸런싱 제 어기를 설계하고 구현하기 위해, 기존 PD 제어기 이득을 무게에 따라 시행착오적으로 구한 뒤, 신경회로망 알고 리즘을 통해 일반화 시킨 이득을 찾아 제어기에 적용시
켰다. 신경회로망을 이용한 PD 제어기와 기존의 PD 제 어기의 성능을 실험을 통해 비교 검토하였다. 로봇 무게 가 41.2[kg], 52.4[kg], 59.8[kg] 3가지인 경우 실험하였으 며, 본 논문에서 제안한 제어기가 기존 제어기보다 더 우 수함을 확인할 수 있었다.
참고문헌
[ 1 ] Ching-Chih Tsai, Hsu-Chih, and Shui-Chun Lin,
"Adaptive neural network control of a self-balancing two-wheeled scooter," IEEE Transactions on Industrial Electronics, vol. 57, no. 4, April 2010.
[ 2 ] Akira Shimada and Naoya Hatakeyama, "Movement control of two-wheeled inverted pendulum robots considering robustness," SICE Annual Conference Japan August 20-22, 2008.
[ 3 ] H. Azizan, M. Jafarinasab, S. Behbahani, and M.
Danesh, "Fuzzy control on LMI approach and fuzzy interpretation of the rider input for two wheeled balancing human transporter," Proc. of the 2010 IEEE International Conference on Control and Automation, Xiamen, China, June 9-11, 2010.
[ 4 ] Seul Jung, and Sung Su Kim, "Control experiment of a wheel-driven mobile inverted pendulum using neural network," IEEE Transactions on Control Systems Technology, vol. 16, no. 2, March 2008.
[ 5 ] Toshinobu Takei, Ryoko Imamura, and Shin’'ichi Yuta, “Baggage transportation and navigation by a wheeled inverted pendulum mobile robot,” IEEE Transactions on Industrial Electronics, vol. 56, no. 10, October 2009.
[ 6 ] 김현욱, 정슬, "무게 변화에 따른 차륜형 밸런싱 로 봇의 제어기 설계 및 실험연구," 한국지능시스템학 회논문지, vol. 20, no. 4, pp.469-475 2010.
[ 7 ] 엄기환, 이규윤, 이현관, 김주웅 "퍼지 PD+I 제어 방 식을 적용한 Two-wheel Balancing Mobile Robot," 대 한전자공학회논문지, 제 45권 SC편 제 1호, pp.1-8, 2008.
[ 8 ] Felix Grasser, Aldo D'Arrigo, Silvio Colombi and Alfred C. Rufer, "JOE: a mobile, inverted pendulum,"
IEEE Transactions on Industrial Electronics, vol. 49, no. 1, April 2002.
[ 9 ] 최상구, 김현식, 박진현, 최영규, "Evolution Straregy 와 신경회로망에 의한 로봇의 가변 PID 제어기," 전 기학회논문지, 제 48A권 제 8호, pp.1014-1021, 1999.
[10] J. I. Bae, T. H. An, Y. S. Kim and C. K. Ryu, "Analysis of digital load cell using 2.4GHz band's zig-bee," Proc.
of the 2008 IEEE Conference on Industrial Electronics and Applications, Singapore, June 3-5, 2008.
[11] 안태희, 김용백, 김영두, 최영규, "신경회로망을 이용한 이륜 역진자형 이동로봇의 제어기 설계,"
한국해양정보통신학회논문지, 제 15권 제 3호, pp.536-544, 2011.
저자소개
안태희(Tae-Hee An) 한국정보통신학회 논문지
제16권 제2호 참조
박진현(Jin-Hyun Park) 한국정보통신학회 논문지
제15권 제12호 참조
최영규(Young-Kiu Choi) 한국정보통신학회 논문지
제16권 제2호 참조