본문 바로가기
로봇

2바퀴 로봇의 키네마틱스(Kinematics) 풀이

by OpenJigWare 2025. 3. 31.

로봇공학에서 키네마틱스는 로봇의 움직임과 위치를 분석하고 제어하기 위해 중요한 개념입니다. 특히, 2바퀴 로봇의 키네마틱스를 이해하면 간단한 모바일 로봇을 효율적으로 제어할 수 있습니다. 이번 글에서는 2바퀴 로봇의 키네마틱스를 상세히 풀이하고, 왜 이를 분석해야 하는지에 대해 설명하겠습니다.

1. 왜 2바퀴 로봇의 키네마틱스를 분석하는가?

2바퀴 로봇은 일반적으로 간단한 구조를 가지고 있으면서도 정확한 위치와 방향 제어가 가능합니다. 다음과 같은 이유로 키네마틱스를 분석합니다:

  • 정확한 경로 추적 및 위치 제어: 로봇이 원하는 위치로 정확하게 이동하기 위해 필요합니다.
  • 효율적인 모션 계획(Motion Planning): 최적의 경로와 속도 프로파일을 계산할 수 있습니다.
  • 로봇의 회전 및 이동 동작을 정확히 이해하기 위함: 로봇의 기구학적 제약을 파악하여 제어 알고리즘을 개발합니다.
  • 센서 데이터와 모터 제어의 연계: 센서로부터 얻은 정보를 모터 제어로 변환하는 과정을 수학적으로 모델링합니다.

2바퀴 로봇은 자율주행 로봇, 서비스 로봇, 교육용 로봇 등에 널리 사용되며, 키네마틱스 분석이 필수적입니다.

2. 2바퀴 로봇 키네마틱스 모델

2바퀴 로봇은 두 개의 독립적으로 구동 가능한 바퀴로 구성됩니다. 로봇의 움직임은 두 바퀴의 속도 차이를 통해 결정됩니다.

좌표계 설정

먼저 로봇의 위치를 표현하기 위한 좌표계를 설정해야 합니다:

  • 전역 좌표계(Global Frame): {X, Y} - 로봇이 움직이는 환경의 고정된 기준 좌표계
  • 로봇 좌표계(Robot Frame): {x, y} - 로봇의 중심에 위치하며, 로봇과 함께 회전하는 좌표계

로봇의 위치는 전역 좌표계에서 (X, Y, θ)로 표현됩니다. 여기서 θ는 로봇의 방향(헤딩)을 나타냅니다.

순기구학(Forward Kinematics)

2바퀴 로봇의 움직임은 다음과 같은 기본 방정식으로 표현됩니다:

 
v = (vR + vL) / 2 = r * (ωR + ωL) / 2 ω = (vR - vL) / L = r * (ωR - ωL) / L

여기서:

  • v: 로봇의 선속도
  • ω: 로봇의 각속도
  • r: 바퀴의 반경
  • ωR, ωL: 오른쪽 및 왼쪽 바퀴의 각속도
  • L: 두 바퀴 사이의 거리(휠베이스)

이를 통해 로봇의 위치 변화율은 다음과 같이 계산됩니다:

 
Ẋ = v * cos(θ) Ẏ = v * sin(θ) θ̇ = ω

이 미분 방정식을 적분하면 로봇의 위치를 시간에 따라 추적할 수 있습니다.

역기구학(Inverse Kinematics)

원하는 로봇의 선속도(v)와 각속도(ω)를 알고 있을 때, 각 바퀴의 속도를 계산하는 방법은 다음과 같습니다:

 
vR = v + (L * ω) / 2 vL = v - (L * ω) / 2

또는 각속도로 표현하면:

 
ωR = (v + (L * ω) / 2) / r ωL = (v - (L * ω) / 2) / r

3. 키네마틱스 방정식의 의미

위 방정식을 통해 다음과 같은 중요한 특성을 알 수 있습니다:

  1. 두 바퀴의 속도가 같은 경우(vR = vL): 로봇은 직선으로 이동합니다. (ω = 0)
  2. 두 바퀴의 속도가 다른 경우(vR ≠ vL): 로봇은 원호를 그리며 이동합니다.
  3. 두 바퀴의 속도가 크기는 같고 방향이 반대인 경우(vR = -vL): 로봇은 제자리에서 회전합니다. (v = 0)

이러한 특성을 이용하여 로봇의 다양한 움직임을 구현할 수 있습니다.

회전 반경(Instantaneous Center of Rotation, ICR)

로봇이 회전할 때의 회전 중심은 다음과 같이 계산할 수 있습니다:

 
R = L/2 * (vR + vL) / (vR - vL)

여기서 R은 로봇의 중심에서 회전 중심까지의 거리입니다.

4. 로봇 위치 추정(Odometry)

실제 로봇에서 엔코더를 통해 바퀴의 회전량을 측정하면, 키네마틱스 방정식을 이용하여 로봇의 위치를 추정(Odometry)할 수 있습니다:

 
Δs = r * (ΔθR + ΔθL) / 2 Δθ = r * (ΔθR - ΔθL) / L X(t+1) = X(t) + Δs * cos(θ(t) + Δθ/2) Y(t+1) = Y(t) + Δs * sin(θ(t) + Δθ/2) θ(t+1) = θ(t) + Δθ

여기서 ΔθR, ΔθL은 각 바퀴의 회전각 변화량입니다.

5. 실제 적용 사례

  • 자율주행 로봇의 정밀한 경로 추적: 키네마틱스 모델을 기반으로 PID 제어기나 모델 예측 제어(MPC)를 구현하여 로봇이 원하는 경로를 따라갈 수 있도록 합니다.
  • 서비스 로봇의 장애물 회피 동작: 장애물을 감지했을 때 최적의 회피 경로를 계산하고 이를 모터 제어 명령으로 변환합니다.
  • 교육용 로봇의 기본 움직임 제어: 학생들이 로봇 제어의 기본 원리를 이해하고 구현할 수 있도록 합니다.
  • SLAM(Simultaneous Localization and Mapping): 로봇이 자신의 위치를 추정하고 지도를 작성하는 데 필요한 운동 모델로 활용됩니다.

6. 실제 구현 시 고려사항

바퀴 슬립(Wheel Slip)

실제 환경에서는 바퀴와 바닥 사이의 마찰력 부족으로 인한 슬립이 발생할 수 있습니다. 이는 오도메트리 오차의 주요 원인이 되므로 다음과 같은 방법으로 보완할 수 있습니다:

  • 적절한 바퀴 재질 선택
  • IMU(관성 측정 장치)와 같은 추가 센서를 통한 보정
  • 확장 칼만 필터(Extended Kalman Filter)를 이용한 위치 추정 개선

모터 제어

이론적인 키네마틱스 모델을 실제 로봇에 적용하기 위해서는 모터의 특성을 고려한 제어가 필요합니다:

  • 모터의 응답 지연 보상
  • 모터 드라이버의 비선형성 보정
  • 모터 PID 제어기 튜닝

7. 결론

2바퀴 로봇의 키네마틱스를 분석하면 로봇의 움직임을 보다 정밀하게 제어할 수 있습니다. 이는 로봇의 정확성 향상과 더불어 효율적인 모션 계획 수립에 필수적입니다.

키네마틱스는 로봇 제어의 기초가 되는 중요한 개념으로, 이를 바탕으로 더 복잡한 제어 알고리즘이나 자율 주행 시스템을 개발할 수 있습니다. 간단한 구조이지만 강력한 제어를 가능케 하는 2바퀴 로봇의 키네마틱스를 충분히 이해하고 활용해 보세요!

 

이후에는 3바퀴 구조, 4바퀴구조의 옴니휠 구조에 대해 각각 고민해 보도록 하겠습니다.

그리고 최종적으로 조이스틱으로 바퀴를 제어하는 프로그래밍도 해 보아야겠죠?