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의 제어 입력을 계산하여 원하는 궤적을 추적할 수 있다.
'Machine-Learning' 카테고리의 다른 글
Raspberry pi에 scikit-learn이 설치되지 않을 때 (0) | 2023.10.05 |
---|---|
Could not load library cudnn_cnn_infer64_8.dll. Error code 126 해결방법 (1) | 2022.01.06 |