티스토리 뷰

반응형

https://www.youtube.com/watch?v=NcOT9hOsceE&t=1s

 

https://www.youtube.com/watch?v=B1K-ti5Lqjc

 

 

옴니 휠과 메카넘 휠의 원리에 대해 배운다.

 

옴니 휠과 메카넘 휠의 원리는 같지만, 자유 슬라이등을 허용하는 방향이 다르다.

 

chassis velocity가 주어졌을 때, 바퀴의 구동 속도가 어떻게 되어야 하는지에 대한 질문을 다룬다.

 

바퀴 하나에 대해 알아보자.

바퀴의 주행 방향은 미끄러지지 않고 구르는 방향이고,

xB 축에 대해 각도 베타i 만큼 차이가 난다.

 

바퀴 가장자리 주위의 롤러는 각도 감마i에 대해 자유롭게 미끄러질 수 있다.

 

구동방향에 수직인 방향에 대한 감마 i는 옴니휠의 경우 0도이고,

메카넘 휠의 경우 45도이다.

 

이러한 정의를 사용하면 휠에 부착된 모터의 회전 속도 ui를 구할 수 있다.

 

이제 주행 속도와 자유 슬라이딩 속도의 합인 바퀴의 속도(wheel velocity)를 구한다.

 

이 선형 속도는 본체의 body twist V_b에서 파생되고, 휠과 {b} 프레임의 위치를 사용하여 구한 선형 속도이다.(맨 끝의 벡터항)

이제 이 선형 속도를 휠에 고정된 프레임으로 변환한다.

이 선형 속도는 driving velocity와 free sliding velocity의 합이므로, wheel velocity를 sliding과 driving으로 분해해서 볼 수 있다.

 

그리고 나서 1 tangent 감마i와 휠 속도의 내적을 취해서, 구동 구성 요소를 계산한다.

이는 분리된 벡터들을 정사영하는 효과를 가진다.

마지막으로 선형 구동 속도를 바퀴의 회전 속도로 변환하기 위해서 바퀴의 반지름 ri로 나눈다.

 

최종 결과는 비틀림 v_b를 곱한 1*3 행 벡터이다.

해당 행 벡터는 hi(0)이라고 부르는데, m개의 바퀴에 대한 hi 행 벡터를 쌓아서

H(0) 라는 m*3 행렬을 만들 수 있다.

 

그런 다음 특정 chassis twist에 대한 휠 속도 벡터는 u가 H(0)와 V_b를 곱한 것과 동일하게 계산된다.

 

u = H(0) * V_b

 

다만 이 절차는 H-of-0이 full rank, 즉, 여기서는 rank 3일때만 동작한다.

 

우리는 이 kinematic 모델링을 3개의 옴니휠이 달린 장치에 적용할 수 있다.

여기서 r은 바퀴의 각 radius이고, d는 삼각형 중앙으로부터 각 바퀴까지의 거리이다.

 

메카넘 휠에 적용

똑같이 메카넘 휠에도 적용할 수 있다.

w는 바퀴에서 사각형 중앙까지의 거리이고,

l은 바퀴의 축에서 사각형 중앙까지의 거리이다.

 

이 행렬이 정사각형이 아니라는 사실은 휠 속도를 임의로 선택하면 휠이 주행 방향으로 미끄러지는 원인이 된다는 것을 의미한다.

 

미끄러짐을 방지하려면 H 행렬에 의해 결정된 대로 4차원 휠 속도 공간의 3차원 표면에서 휠 속도를 선택해야 한다.

이는 미끄러짐을 유발하지 않고 휠 속도를 임의로 선택할 수 있는 3-옴니휠 로봇과는 다르다.

 

H-행렬은 몸체 x방향의 앞뒤 움직임을 위해서는 모든 2번째 열의 속도가 1로 동일해야 한다.

즉, forward/ backward 모션을 위해서는 모든 바퀴의 속도가 동일한 속도를 가져야 한다.

 

원하는 모션이 차체 프레임의 순수한 회전(h 행렬의 1열)

같은 쪽에 있는 바퀴의 속도는 동일해야 한다.

 

원하는 모션이 몸체 y방향의 측면(h 행렬의 3열) - 옆으로 가는 모션일 경우,

반대쪽 모서리에 있는 바퀴의 속도는 동일해야 한다. 즉, 대각선 형태로 동일하게 돌아가야 한다.

 

요약하면,

1. 휠 속도는 h0 매트릭스에 비틀림 v_b를 곱한 것과 같다. 단. h0이 풀 랭크일 경우에 한한다.

때로는 좌표 phi,x,y의 변화율인 q-dot을 사용하여 휠 속도를 계산하는 게 더 편리할 때도 있다.

이를 위해 v_b를 회전 행렬 곱하기 q-dot으로 대체한다.

 

회전 행렬이 q-dot을 v_b로 변환하고,

우리는 h(0) 곱하기 회전 행렬을 phi의 h 행렬이라고 부른다.

 

이것도 마찬가지로 h(phi) * q-dot으로 u를 표현할 수 있다.

 

Omnidirectional Wheeled Mobile Robots

 

바퀴 달린 로봇의 섀시 구성은 q=(phi,x,y)로 쓸 수 있다.

그리고 u= h(phi) * q-dot 이고, 이는 휠 속도의 벡터이다.

 

q=(phi,x,y)

u= h(phi) * q-dot

 

적절하게 구성된 전방향 로봇의 경우 휠 속도를 적절하게 선택하면 모든 q-dot을 얻을 수 있다.

이 때문에 전방향 바퀴 로봇의 동작 계획 및 제어는 비교적 간단하다.

 

궤적 q-of-t가 계획되면 피드포워드와 pi 피드백 제어 또한 적용할 수 있다.

 

 

 

명령된 섀시 속도 q-dot은 현재 순간에 원하는 섀시 속도와 pi 피드백 제어를 더한 값으로 계산된다.

 

구성 오류와 오류의 시간 적분에 비례하는 피드백 항이 들어간다.

간단한 비례 제어인 P만 있어도 합리적인 성능을 발휘할 수 있다.

 

다만 모든 제어 컨트롤러에 대해 섀시 구성을 추정해야 한다.

 

추정은 주행 거리 측정법을 사용하거나,

카메라, gps 또는 라이다 거리 측정기와 같은 외부 센서를 사용하여 추정할 수 있다.

 

섀시 속도 q-dot이 계산되면 운동학적 모델을 적용하여 휠 속도를 계산한다.

 

바퀴에 제한된 속도가 있는 경우, 모션 플랜을 할 때 이를 고려해야 한다.

휠 속도의 경계를 차체 프레임의 섀시 비틀림 경계로 변환할 수 있다.

 

바퀴 속도의 경계는 -ui와 ui 사이의 값으로 정의된다.

해당 두 경계는 다르게 말하면 두 개의 평행 평면이다.

 

이 두 평면 사이의 비틀림은 휠 속도 제한을 충족하게 된다. m개의 바퀴 각각에 대해 이러한 가능한 비클림을 교차시키면서, 로봇의 가능한 비틀림은 m쌍의 평행한 면을 가진 볼록 다면체 내부에 있다.

 

Feasible twist lie inside a 2m-sided convex ployhedron

 

옴니휠 로봇의 경우

옴니휠 로봇의 경우 3개의 바퀴가 있으므로, 6면 다면체 내부 안에 비틀림이 존재한다.

이 다면체와 각속도가 0인 평변의 교차점이 있다.

가능한 선형 속도는 육각형으로 제한된다.

메카넘 휠의 경우

4개의 메카넘 휠이 있는 경우 비틀림 한계는 8면 다면체로 설명된다.

이 다면체와 각속도가 0인 평면의 교차점은 정사각형이 된다.

 

반응형