본문 바로가기
robotics/mecanum wheel

메카넘 휠 차량의 동작 원리 - 2

by monotics 2021. 2. 25.

조향 장치가 따로 없는 메카넘 휠 차량의 자세와 속도는 4개 휠의 회전 각속도를 통해 제어된다. 그리고 우리는 차량을 어떠한 자세와 속도로 움직이길 원한다. 차량의 움직임과 각 휠의 회전 각속도를 연결하는 것이 이번 글의 목적이다. 이를 위해서는 차량의 이동 속도를 입력으로 받아서 최종적으로 각 휠의 회전 각속도를 계산해내야 한다. 이 과정을 4개의 단계로 나누어 살펴보자.


1. 차량의 움직임 분해

차량 움직임은 섀시 중심에서의 병진 이동 속도(vt)와 Yaw 회전 각속도(w)로 나누어 생각해 볼 수 있다. 이들의 성분은 아래와 같으며 Fig 1에 벡터로 표현되어 있다. 여기서 아래 첨자로 사용된 t는 병진 운동(Translational motion)을 의미하고 r은 회전운동(Rotational motion)을 의미한다.

  • vt : 차량의 병진 이동 속도 벡터
  • vtx : vt의x 방향 성분
  • vty : vt의 y 방향 성분
  • w: 섀시 중심을 축으로 한 yaw 회전의 각속도(angular velocity)

Fig 1. 차량의 병진/회전 운동과 각 휠에서의 속도 벡터

2. 휠에서의 속도 계산

섀시 중심에서의 속도인 vt와 w는 결국 각 휠에서 발생하는 속도들로 나누어 표현할 수 있다. 이후 계산방식이 모든 휠에 대해 동일하므로 여기서는 1번 휠을 기준으로 설명하고 마지막에 나머지 3개 휠로 확장하도록 하겠다.

  • r : 차량의 중심에서 휠의 중심까지의 벡터
  • vr1 : 1번 휠의 중간 지점에서 r에 대한 접선 속도
  • v1 : 1번 휠의 중간 지점에서의 직선 속도로 vtvr1의 합 벡터이다.

vt는 휠의 중심에서도 동일하다. 하지만 wr을 통해 접선속도 vr1으로 된다. 회전운동을 할 경우 각 휠마다 접선속도는 다르다. 접선속도는 각속도와 반지름 방향 벡터의 외적으로 구한다.

(1)vr1=w×r

v1vtvr1의 합 벡터이며 식(1)의 접선속도를 대입하여 구할 수 있다.

(2)v1=vt+vr1=vt+w×r

v1을 x와 y 성분으로 나누면 아래 식(3)과 식(4)와 같다.

(3)v1x=vtxw×ry

(4)v1y=vty+w×rx

나머지 휠에 대해서도 구해보면 아래와 같다.

v2x=vtxw×ry,v2y=vtyw×rx

v3x=vtx+w×ry,v3y=vtyw×rx

v4x=vtx+w×ry,v4y=vty+w×rx

 

3. 롤러의 속도 계산

앞에서 구한 1번 휠의 v1을 통해 롤러에서 발생하는 속도를 계산해보자. 1번 휠의 롤러에서 발생하는 속도들은 Fig 2에 나타내었다.

v1 : 1번 메카넘 휠의 속도

v1 : 롤러의 축과 평행하게 발생하는 속도

v1 : 이 속도는 롤러의 회전축과 직각 방향이므로 어떠한 힘도 발생시키지 못하고 롤러가 그냥 굴러가기 때문에 무시해도된다.

u^ : 롤러의 회전축 방향의 단위 벡터

 

Fig 2. 롤러의 속도

단위 벡터 u^는 x와 y 성분으로 나눌 수 있다.

u^=12i^+12j^

이를 통해 v1로부터 v1을 구해보자.

(5)v1=v1u^=(v1xi^+v1yj^)(12i^+12j^)=12v1x+12v1y

나머지 휠들에 대해서도 계산해보면 아래와 같다.

v2=12v2x+12v2yv3=12v3x+12v3yv4=12v4x+12v4y

4. 바퀴의 속도 계산

마지막으로 롤러의 속력(v1)를 통해 휠의 속력(vw1)을 구해보자. Fig 3은 이 둘의 관계를 보여준다.

vw1 : 1번 휠의 속력

 

 

Fig 3. 휠의 속도

v1=vw1cos(45)

cos(45)=12

(6)vw1=2v1=2(12v1x+12v1y)=v1x+v1y

식(3)과 식(4)를 a와 b의 식으로 나타내면 아래와 같다.

(7)v1x=vtxwb

(8)v1y=vty+wa

식(7)과 식(8)을 식(6)에 대입하면 더디어 1번 휠의 속력이 구해진다.

vw1=(vtxwb)+(vty+wa)=vtx+vty+wa+wb=vtx+vty+w(a+b)

나머지 휠들에 대해서도 계산을 하여 최종 결과를 얻는다.

vw1=vtx+vty+w(a+b)vw2=vtx+vtyw(a+b)vw3=vtx+vtyw(a+b)vw4=vtx+vty+w(a+b)

결과 식을 보면 아주 간결하다. a와 b는 차량을 설계할 때 이미 정해지는 값이고 vt의 x와 y 축 성분인 vxvy 그리고 차량의 회전 속력 값인 w만 입력으로 주면 각 휠의 속력을 얻을 수 있다. 또한 차량이 병진 이동만 한다면 w는 0이므로 vxvy 값만 있으면 되며 회전만 한다면 w 값만 있으면 된다.

 

다음 글부터는 실제 메카넘 휠 차량을 제작해보고 여기서 얻은 결과식을 이용하여 차량을 제어하도록 하자.


참고자료

[메카넘 구동 시스템 (5)] 메카넘 구동 시스템 제어기술(1) / 좌표변환을 통한 메카넘 구동 시스템 제어

【学渣的自我修养】麦克纳姆轮浅谈 - 知乎 (zhihu.com)

'robotics > mecanum wheel' 카테고리의 다른 글

메카넘 휠 차량 제작 - 하드웨어  (15) 2021.02.25
메카넘 휠 차량의 동작 원리 - 1  (0) 2021.02.25

댓글