Machine-Learning

AGV Dynamics

호중조 2024. 6. 9. 18:42
AGV Dynamics

AGV Dynamics (AGV 역학)

AGV의 동적 모델은 AGV의 물리적 움직임을 설명하는 수학적 모델로, 이 모델은 주로 질량, 힘, 속도 등의 요소를 포함.

AGV Dynamics (AGV 역학)

AGV의 동적 모델은 다음과 같은 형태로 표현:

\[ M(q) \dot{R} + C(q, \dot{q})R + G(q) + F(\dot{q}) + \tau_d = B(q) \tau \]

여기서 각 항은 다음과 같다.:

  • \( q = [p_x, p_y, \theta]^T \): 위치 벡터 (AGV의 x, y 좌표와 방향 각도)
  • \( R = [v, \omega]^T \): 속도 벡터 (AGV의 선형 속도 \(v\)와 각속도 \(\omega\))
  • \( \tau = [\tau_1, \tau_2]^T \): 제어 입력 벡터 (좌측과 우측 모터의 토크)
  • \( M(q) \): 질량 행렬
  • \( C(q, \dot{q}) \): 코리올리 행렬
  • \( G(q) \): 중력 벡터
  • \( F(\dot{q}) \): 마찰 벡터
  • \( \tau_d \): 외란 벡터
  • \( B(q) \): 제어 입력 매핑 행렬

각 행렬과 벡터의 정의는 다음과 같다:

1. 질량 행렬 \( M(q) \)

\[ M(q) = \begin{bmatrix} \frac{2I_w}{r^2} + 2m_w + m_v & 0 \\ 0 & \frac{2b^2}{r^2}I_w + I_z \end{bmatrix} \]


\[ M(q) = \begin{bmatrix} \frac{2I_w}{r^2} + 2m_w + m_v & 0 \\ 0 & \frac{2b^2}{r^2}I_w + I_z \end{bmatrix} \]

2. 코리올리 행렬 \( C(q, \dot{q}) \)

\[ C(q, \dot{q}) = \begin{bmatrix} 0 & -dm_v \dot{\theta} \\ dm_v \dot{\theta} & 0 \end{bmatrix} \]


\[ C(q, \dot{q}) = \begin{bmatrix} 0 & -dm_v \dot{\theta} \\ dm_v \dot{\theta} & 0 \end{bmatrix} \]

3. 중력 벡터 \( G(q) \)

\[ G(q) = 0 \]


\[ G(q) = 0 \]

4. 마찰 벡터 \( F(\dot{q}) \)

\[ F(\dot{q}) = F_c \dot{q} \]


\[ F(\dot{q}) = F_c \dot{q} \]

5. 제어 입력 매핑 행렬 \( B(q) \)

\[ B(q) = \begin{bmatrix} \frac{2}{r} & \frac{2}{r} \\ -\frac{2b}{r} & \frac{2b}{r} \end{bmatrix} \]


\[ B(q) = \begin{bmatrix} \frac{2}{r} & \frac{2}{r} \\ -\frac{2b}{r} & \frac{2b}{r} \]

AGV의 운동 방정식

AGV의 상태 변화율 \( \dot{R} \)를 구하기 위해 운동 방정식을 정리하면:

\[ \dot{R} = -M^{-1}(q) (C(q, \dot{q})R + D(q) - B(q) \tau) \]

여기서 \( D(q) = F(\dot{q}) + \tau_d \) 입니다.

요약

AGV의 동적 모델은 AGV의 물리적 움직임을 설명하는 수학적 모델이다. 이 모델은 AGV의 위치, 속도, 질량, 코리올리 효과, 마찰, 외란 등을 포함한다. 이러한 모델을 기반으로 AGV의 제어 입력을 계산하여 원하는 궤적을 추적할 수 있다.