![Journal of Korea Robotics Society](/images/basic/pubreader_back.gif)
메카넘 휠을 이용한 볼-봇의 슬립률 감소와 균형 및 주행제어
†Corresponding author : Electrical Engineering, Pusan National University, Jangjeon-Dong, Geumjeong-Gu, Pusan, Korea
© Korea Robotics Society All rights reserved
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract
This paper proposes a robust balance and driving control for omni-directional ball robot(generally called ball-bot) with two axis mecanum wheel. Slip between ball and mecanum wheel actuator inevitably occurs along diagonal axis due to its instantaneous strong torque. In order to reduce and saturate slip, exact distance calculation scheme especially for rotational movement is essential. So this research solved Euler-Lagrange dynamics for proposed two axis ball robot based on practical mechanical modeling. Robust balance control was carried out by PID controller according to the pitch and roll angles of ball robot by using sensor fusion between AHRS and wheel encoder. Proposed PID controller enhances stability by reducing steady state error and settling time. Proposed slip control algorithm for omni-directional ball robot has been demonstrated by experiments for balance control and arbitrary driving control.
Keywords:
Ball-bot, PID Control, Balancing Control, AHRS Sensor, Mecanum Wheel1. 서 론
최근 모바일 로봇(mobile robot)에 대한 관심이 커지고 있다. 과거에는 한 곳에 고정이 되어 일정한 동작을 반복하는 로봇들이 대부분이었지만, 기술이 발전함에 따라 사람들은 이동이 가능하면서도 다양한 동작을 하는 로봇을 요구하게 되었다. 대표적으로 특정한 위치에서 음성신호를 내보내는 전시장 안내로봇과 장애물을 피하여 이동하는 청소로봇, 그리고 협조제어로 물건을 운반하는 창고로봇 등이 있다. 그 이외에도 사람들을 도와 다양한 일을 처리하는 로봇들이 있으며, 계속해서 모바일 로봇에 대한 연구가 진행 되고 있다 [1-7].
모바일 로봇에서의 가장 기본적인 요소는 이동성이다. 하지만 보통의 모바일 로봇들은 직선주행엔 강하지만 방향전환 및 제자리 회전에 대해서는 제한적인 모습을 보인다. 예시로 2륜 모바일 로봇을 Fig. 1에 표현하였다.
하지만 구를 사용하게 되면 바퀴 사이의 축이 없어져 제자리에서의 전방향 이동과 제자리 회전이 동시에 가능하게 된다. 이러한 목적으로 만들어진 구 모양의 로봇 또는 구 모양의 바퀴(Spherical Wheel)를 사용하는 로봇을 볼-봇(Ball-bot)이라 부른다. 볼-봇은 전 방향으로 이동 또는 제자리에서의 회전이 가능하다는 장점을 가지며 Fig.2에 표현되어 있다. 하지만 Fig. 2에 보이듯이 볼-봇은 불안정한 구체 위에서 균형을 잡기 때문에 불안정한 상태를 안정상태로 만들어주는 제어 기술이 가 장 중요하게 적용된다.
기어를 사용하는 일반적인 로봇과는 다르게 볼-봇은 모터와 연결된 휠(wheel)과 볼 사이에 발생하는 마찰력으로 볼을 굴려 움직인다. 이때 슬립(slip)현상이 발생하며 이러한 슬립현상으로 볼-봇의 정밀한 제어가 어려워지고 또한 장기적으로 보았을 경우 모터의 불필요한 회전이 늘어나기 때문에 에너지효율도 떨어지게 된다. 이러한 문제점을 보완하기 위해서 슬립 발생이 적은 휠을 사용해야 한다.
본 논문에서는 볼-봇을 역진자(Inverted Pendulum) 구조로 생각하여 제어기를 설계하며, 제어 방식으로 PID 제어를 사용한다.[8] 또한 메카넘 휠(Mecanum wheel)을 사용하여 슬립률(Slip Ratio)이 줄어드는 것을 수치적으로 확인한다. 2장에서는 로봇의 하드웨어 구성과 동역학 설계, 메카넘 휠에 대해 설명하고, 3장에서는 PID제어기를 설명한다. 4장에서는 실험을 통하여 PID제어에 대한 결과와 휠에 따른 슬립현상이 줄어드는 것을 수치 데이터로 확인하고, 5장에서 결론을 맺도록 구성하였다.
2. 로봇의 하드웨어 구성과 동역학 설계
본 장에서는 제안한 볼-봇의 하드웨어 구성과 전체 시스템 구조를 설명하고 라그랑주 방정식(Lagrange Equation)을 이용한 동역학적 모델링을 유도한다.[9]
설계된 볼-봇의 모습은 Fig. 3와 같다.
볼-봇은 몸체의 지름이 300 mm ~ 416 mm, 높이는 500 mm이고 무게는 21 kg인 원통 모양이다. 공은 10파운드(lb)의 볼링 공을 사용하였으며, 직경 21.5 cm 둘레 68.5 cm 이다. 세부적으로, 로봇 몸체 중심부에 22.2V 배터리가 위치하며, 배터리를 기준으로 상단 부에는 AHRS(Attitude & Heading Reference System, 3DM-GX3-25)센서와 제어기(Controller, DSP), 모터드라이버(Motor Driver), 블루투스(Bluetooth)가 있으며, 하단 부에는 엔코터(encoder)기능이 탑재된 4개의 12V DC 모터와 메카넘 휠이 위치해 있다.
2.1. 구동부 설계
볼-봇의 종류에는 구의 형태를 가지는 구조와 구 위에 로봇의 몸체를 얹은 구조로 나뉜다고 앞서 설명했으며 구에 얹은 구조의 볼-봇을 분류하면 3축(three-axis)과 2축(two-axis)으로 나누어지며 Fig. 4에 나와있다.
옴니 휠(Omni wheel)을 사용한 3축 볼-봇은 대각 이동에 대해선 제한이 거의 없지만 구에 강한 토크(torque)를 전달하지 못하며 제어가 어려워져 결국 균형을 잡는 볼-봇의 입장에서는 안정도가 떨어진다. 반면, 일반적인 2축 구조는 구를 감싸는 구조이므로 강한 토크가 전달되지만 일반 휠을 사용할 경우 대각이동이 어려우므로 본 논문에서는 대각이동이 가능한 2축 메카넘 휠 볼-봇을 사용한다. 메카넘 휠은 축을 기준으로 45°만큼 방향이 틀어진 여러 개의 롤러(roller)로 구성되며 Fig. 5는 메카넘 휠의 구조를 나타낸다.
메카넘 휠은 대각선으로 힘을 전달하며 회전 방향으로 가는 벡터 힘과 회전 방향에 수직인 벡터 힘으로 나누어진다. 이러한 메카넘 휠은 일반적인 휠 보다 슬립이 적으며 제자리회전도 가능하다는 장점을 가진다.[10]
2.2. 볼-봇의 시스템 구조
볼-봇의 전체 시스템 구조는 Fig. 6에 나타내었으며, 전체 시스템은 MCU(TMS28335)를 중심으로 구성된다. 동작제어 시 수행하고자 하는 동작에 따라 기울기의 기준(Reference)이 달라지므로 블루투스를 통해 균형 및 주행에 따른 기울기의 기준값과 다음 위치값을 제어기로 송신하고 pc에서 볼-봇의 상태를 수신하도록 한다. AHRS 센서에서는 축 별 기울어진 각도 값과 각속도 값들이 출력이 되며 이 데이터들은 SPI통신을 이용하여 MCU로 전송된다.
AHRS센서에서 나오는 roll, pitch 값들로 자세 제어를 한다. 균형을 잡을 경우는 볼-봇이 평형이 되는 지점의 각을 기준(0°)으로 설정하고 주행을 하는 경우엔 약간 기운 각도를 기준 각도로 설정하여 오차값을 이용하는 알고리즘을 적용한다. MCU에서 Euler 각도 값을 이용하여 설계된 PID제어기에 따라 PWM 제어신호를 출력하여 모터를 구동한다.
2.3. 역학적 해석
볼-봇의 구 바퀴를 움직이기 위해 모터들이 이루는 모양을 각 x축, y축으로 나누어 기준을 잡고 각 축을 기준으로 옆에서 볼 경우 수직은 ix,y, 수평은 jx,y로 나누었고 Fig. 7에 표현하였다.
l :회전바퀴의 중심에서 질량 중심까지의 거리
Rw :회전 바퀴의 반지름
θ :회전바퀴의 회전 변위
ψ :로봇의 Pitch축 회전 변위
m :구 바퀴의 질량
M :로봇 몸체 질량
역학에서 좌표와 그 시간미분의 함수로서 역학적인 성질과 그 운동을 일반화 시켜주는 라그랑주 함수를 사용했다. 전체 운동에너지 T와 위치에너지 V를 구하고, 운동에너지와 T와 위치에너지의 V의 차로 라그랑지안(Lagrangian) L을 구하여 역학 식을 세운다.
원점에서 회전바퀴 중심까지의 위치벡터
(1) |
(2) |
이며, 위치벡터를 이용하여 구한 운동에너지T는 다음과 같다.
(3) |
여기서 (
(4) |
이를 통하여 라그랑지안 L을 구하면,
(5) |
라그랑주 방정식은
(6) |
Q는 θ, ψ 이며 대입하여 정리하면,
(7) |
(8) |
여기서
(9) |
(10) |
(11) |
(12) |
τp는 회전바퀴의 모터에 의해서 발생하는 토크이며 진자(Pendulum)에 작용하는 토크는 τp 와 크기는 같고 방향은 반대인 토크로 작용한다. 볼-봇을 2개의 역진자(Inverted Pendulum) 형태로 가정하여 각각의 축에 대한 토크의 크기를 적용하였다.[11]
3. PID 제어
3.1. 제어 방식
볼-봇의 특성상 균형을 잡는 제어가 가장 중요하며 본 논문에서는 PID 제어 방식을 사용한다. 이 제어는 제어 변수와 기준 입력 사이의 오차에 근거하여 계통의 출력이 기준 전압을 유지하도록 하는 피드백 제어의 일종이다. 특징으로 출력을 목표 값에 유연하게 접근 시키며 정상상태 오차도 보정할 수 있고, 피드백(Feedback) 값에 영향을 미치는 외란에 대해서 빠른 응답을 보인다는 장점을 가진다.[12-16]
비례, 적분, 미분 피드백을 사용하여 구동 모터의 시스템 특성인 샘플링 타임, 정상상태 오차, 시스템 비례, 적분, 미분 피드백을 사용하여 구동 모터의 시스템 특성인 샘플링 타임, 정상상태 오차, 시스템 안정도 등을 제어하며, 아래 Fig. 8에 제어기를 결합한 구조를 나타내었다.
각 오차(Angle error), 엔코더 오차(Quadrature Encoder Interface error, QEI error)들이 각 PID, PI 제어기를 걸쳐 결과(Result)로 나와 보상되고 볼-봇 시스템(SYSTEM)을 지난 출력은 다음과 같다.
(13) |
여기서 eθ 는 각 오차 값이고 epos 는 엔코더 오차 값, 아래첨자 pos는 엔코더에서 읽어들이는 현재 모터의 위치(position) 값이다. 그리고
(14) |
로 나타낸다.
제어기의 입력은 AHRS와 엔코더에서 받아온 로봇의 몸체 기울기 값이며 균형과 주행동작에 따른 기울기의 기준 값과 현재 로봇의 상대 기울기 값의 차를 오차(error)값으로 두며 오차값을 피드백 시킨다. 오차값에 P만큼을 곱하여 값을 출력하되 오차값을 미분한 뒤 D만큼 곱하여 P제어에서 발생하는 오버슈트(overshoot)를 감소 시킨다. I제어로 P를 곱한 출력에 오차의 값을 더할 경우 누적오차가 발생하여 주행 시 I의 값은 0으로 고정시켰다.
본 논문에서 사용된 제어기의 제어주기는 10ms 이며 각 제어기의 모든 이득값은 실험을 통해 구하였으며 아래 표에 나타내었다.
4. 실험 및 결과
본 실험의 목표는 바퀴에 따른 엔코더 값을 받아 슬립을 확인하고 정착시간과 목표치에 도달정도를 확인하여 PID제어의 성능을 검증하는 것이다. 실험은 미끌림이 거의 없고 평평한 바닥에서 진행하였고 우선 1.4m를 이동 시켰을 경우의 엔코더 펄스 수를 비교하여 슬립 발생을 확인하였고, 다음으로 2m 길이의 직선을 표시한 뒤 블루투스 모듈을 통해 주행 명령을 볼-봇으로 송신하고 현재 로봇의 상태를 수신하여 동작을 확인하였다.
4.1. 슬립
일반 바퀴(General wheel)를 적용한 볼-봇과 메카넘 휠을 사용한 볼-봇의 슬립현상을 비교하는 실험을 하였고, Fig. 9는 거리에 따른 펄스(pulse)의 개 수로 슬립량을 나타낸다. Table 1
1.4m를 움직였을 경우 슬립 현상이 없을 때를 기준으로 엔코더에 18,000개의 펄스가 기록되어야 한다. Fig. 9에 보면 일반 바퀴를 사용하였을 때 약 23,500개, 메카넘 휠을 사용하였을 때 약 22,000개의 펄스가 기록되었다. 각각 77%와 81%의 효율을 보였고 일반 바퀴와 비교하여 메카넘 휠의 슬립현상이 4%가량 덜 일어나 볼-봇의 바퀴로 사용하기에 효율이 더 좋다는 것을 알 수 있다.
4.2. PID 제어를 이용한 주행
2m의 길이만큼 직선 주행을 하는 실험이며 입력신호는 블루투스 모듈을 통해 현재 로봇의 위치를 전송 받아 로봇이 이동할 다음 위치를 전송하는 방식으로 진행하였다. 실험 결과는 Fig. 10에 나타나있다.
(0, 0)은 시작위치로 상대적인 값이며 지시한 대로 (0, 2)까지 이동한 모습이 보인다. 볼-봇의 이동모습을 액션카메라(action camera)를 이용하여 이동된 위치를 점(dot)로 표시하였으며 평균 12.5cm/s의 속도로 이동하였다.
실험을 통하여 메카넘 휠을 사용한 볼-봇의 슬립 감소와 PID제어를 이용한 안정적인 균형 및 주행이 이루어졌음을 알 수 있다.
5. 결 론
본 논문에서는 2축 볼-봇에 독립적인 메카넘 휠을 적용하여 상대적으로 슬립이 적게 발생하였음을 실험을 통하여 입증하였고, 메카넘 휠이 2축 볼-봇의 바퀴로 적합함을 확인하였다. 그리고 PID 제어방식을 사용하여 볼-봇의 자세와 주행 제어에 대해 빠르게 정상상태로 향하도록 하는 시스템을 만들었고 실제 주행을 통해 안정적이라는 것 또한 보였다. 하드웨어는 복잡한 수식을 간단하게 하기 위해 역진자 형태로 가정한 뒤, 라그랑주 방정식을 사용하여 동역학 모델링을 하였으며 제어된 로봇의 기울어진 값을 통해 검증하였다. 볼-봇은 좁은 공간에서도 자유롭게 움직일 수 있다는 장점을 가지며 이러한 장점을 살려 다양한 모바일 로봇에 적용시킬 경우 엄청난 시너지효과가 발생할 수 있으므로, 볼-봇 연구에 대한 기대가 높다.
추후 연구에서는 무게중심이 변하였을 때의 균형유지와 로봇의 등속, 감속, 가속 이동에 대한 제어 연구를 할 것이다. 또한 거리측정 센서나 비전 센서를 사용하여 물체를 추종하는 기능도 더할 예정이다.
REFERENCES
-
Lauwers, T B, Kantor, G A, Hollis, R L, “A dynamical stable single-wheeled mobile robot with inverse mouse-ball drive ”, Proc. of the IEEE International Conference on Robotics and Automation, (2006), May 2006, p2884-2889.
[https://doi.org/10.1109/robot.2006.1642139]
- Hollis, R, “ Ballbots”, Scientific American Magazin, (2006, Oct), p72-77.
- Lo, J C, Kuo, Y H, “Decoupled fuzzy sliding-mode control ”, IEEE Transactions on Fuzzy Systems, (1998, Aug), 6(3), p426-435.
- Lin, C M, Mon, Y J, “Decoupling control by hierarchical fuzzy sliding-mode controller ”, IEEE Transactions on Control Systems Technology, (2005, Jul), 13(4), p593-598.
-
Wang, W, Liu, X D, Yi, J Q, “Structure design of two types of sliding-mode controllers for a class of under-actuated mechanical systems ”, IET Proceeding of Control Theory and Applications, (2007, Jan), 1(1), p163-172.
[https://doi.org/10.1049/iet-cta:20050435]
-
Lee, S-J, Jung, S, “Experimental studies of balancing control of a Two-wheel mobile robot for human interaction by angle modification”, Journal of Korea Robotics Society, (2013, Jun), 8(2), p67-74.
[https://doi.org/10.7746/jkros.2013.8.2.067]
-
Kim, S C, Yi, S Y, Choi, J S, “Development of roller wheel mobile robot ”, Journal of Korea Robotics Society, (2014, Dec), 9(4), p250-257.
[https://doi.org/10.7746/jkros.2014.9.4.250]
-
Huang, C-H, Wang, W-J, Chiu, C-H, “Design and implementation of fuzzy control on a two-wheel inverted pendulum”, IEEE Trans. Ind. Informat, (2011, Jul), 58(7), p337-345.
[https://doi.org/10.1109/tie.2010.2069076]
-
Kim, S-H, Lee, J-O, Hwang, J-M, Ahn, B-H, Lee, J-M, “Dynamic modeling and performance improvement of a unicycle robot ”, Journal of Institute of Control Robotics and Systems, (2010, (7), Nov), 16p1074-1081, (in Korean).
[https://doi.org/10.5302/j.icros.2010.16.11.1074]
- Dickerson, SL, “Control of an omni-directional robotic vehicle with Mecanum wheels ”, IEEE Trans. Syst. Telesystems Conference, (1991, Mar), 1, p323-328.
-
Kim, S-H, Lee, J-O, Hwang, J-M, Ahn, B-H, Lee, J-M, “Dynamic modeling and performance improvement of a unicycle robot ”, Journal of Institute of Control Robotics and Systems, (2010, Nov), 16(11), p1074-1081, (in Korean).
[https://doi.org/10.5302/j.icros.2010.16.11.1074]
- Astrom, K J, Hagglund, T, Automatic Tuning of PID Controllers, Instrument society of America, (1988).
- Yamamoto, Y, “NXT ballbot model-based design-control of a self-balancing robot on a ball, built with LEGO Mindstorms NXT”, (2009, Apr).
- Nagarajan, U, Mampetta, A, Kantor, G A, Hollis, R L, “State transition, balancing, station keeping, and yaw control for a dynamically stable single spherical wheel mobile robot ”, in Proc. IEEE Int. Conf. Robot. Autom, (2009), p998-1003.
- Nagarajan, U, Kantor, G A, Hollis, R L, “Trajectory planning and control of an underactuated dynamically stable single spherical wheeled mobile robot ”, in Proc. IEEE Int. Conf. Robot. Autom, (2009), p3743-3748.
- Lee, J-H, “Re-analysis of lyapunov stability of PI(D) controllers for regulation of second order servo systems ”, 13th KACC, (1998, Oct).
2015 부산대학교 전자전기공학부 졸업(공학사)
2015~현재 부산대학교 전자공학과 석사과정 재학
관심분야 : 로봇제어, MCU 프로그래밍, Balancing control