기구학

카메라 자동 캘리브레이션을 위한 고정거치대는 로봇팔과 유사하게 만들어 집니다. 이를 위한 정기구학을 정리한 페이지 입니다.

기구학 개요

로봇 기구학은 정기구학, 역기구학으로 나눠질 수 있습니다. 정기구학은 원점으로부터 말단의 위치와 자세를 구하는 문제이고 역기구학은 그 반대로 말단의 위치와 자세로부터 관절의 각도를 구하는 문제입니다. 정기구학의 경우 상대적으로 간단하나 역기구학의 경우 해가 여러개이거나 해가 없는 경우도 있습니다. (해가 없어 로봇이 그에 맞는 형태를 가지지 못할 경우 특이점이라 부르는 듯 합니다.)

제작 방향

현재 필요한 카메라 고정거치대는 로봇의 앞 뒤를 x축, 양 옆을 y축, 위 아래를 z축으로 가정하면 x, y, z축 병진운동 + y, z축 회전운동이 가능하여야 합니다.

그러나 카메라 고정 거치대 자체는 로봇의 몸체 좌표계를 따라갑니다. 로봇은 고정 좌표계에서 x, y 병진운동 + z축 회전운동이 가능합니다. 카메라 고정고치대는 z축 병진운동 + y축 회전운동이 가능하여야 합니다. 기본형을 2축 로봇팔의 형태를 가진 거치대로 생각하고 설계하도록 하겠습니다.

2차원 변환

\[\begin{aligned} \left( \begin{array}{c} x_1 \\ y_1 \\ 1 \end{array} \right) = \left( \begin{array}{c} cos(\phi) & -sin(\phi) & m \\ sin(\phi) & cos(\phi) & n \\ 0 & 0 & 1 \end{array} \right) \left( \begin{array}{c} x\\ y\\ 1 \end{array} \right) \end{aligned}\]

Φ는 기존 좌표에서 다음 좌표의 사이각, (m,n)은 병진 운동량

3차원 변환

병진 운동

\[\begin{aligned} \left( \begin{array}{c} 1 & 0 & 0 & x \\ 0 & 1 & 0 & y \\ 0 & 0 & 1 & z \\ 0 & 0 & 0 & 1 \end{array} \right) \end{aligned}\]

x축 회전 운동 (roll)

\[\begin{aligned} \left( \begin{array}{c} 1 & 0 & 0 & 0 \\ 0 & cos(\phi) & -sin(\phi) & 0 \\ 0 & sin(\phi) & cos(\phi) & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) \end{aligned}\]

y축 회전운동 (pitch)

\[\begin{aligned} \left( \begin{array}{c} cos(\phi) & 0 & sin(\phi) & 0 \\ 0 & 1 & 0 & 0 \\ -sin(\phi) & 0 & cos(\phi) & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) \end{aligned}\]

z축 회전운동 (yaw)

\[\begin{aligned} \left( \begin{array}{c} cos(\phi) & -sin(\phi) & 0 & 0 \\ sin(\phi) & cos(\phi) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) \end{aligned}\]

병진과 회전을 순차적으로 할 경우 차례대로 행렬의 곱을 연산한다. 단, 연산의 순서가 바뀔경우 네번째 열(병진운동) 값이 달라질 수 있다.

로봇 좌표계 지정

  1. 로봇의 기초(혹은 좌표계시작점)를 0번이라 정의하고 기초에서 말단까지의 링크 번호를 1~n까지 매긴다
  2. 관절 k는 링크 k-1과 링크 k를 연결시켜준다.
  3. 각 링크의 좌표축은 바깥쪽 관절(해당링크와 다음링크가 연결된 곧)을 기준으로 한다.
  4. z 축은 관절 축과 일치시킨다. (직동 관절의 경우 z방향은 관절에서 멀어지는 방향, 회전 관절인 경우 z방향은 회전과 같은 방향)
  5. x 축은 이전 z축과 현재 z축의 상태에 따라 결정한다. (z축이 평행하면 링크 중앙선과 일치, 아닌 경우 z축 외적방향)
  6. y 축은 오른손 법칙을 이용하여 결정한다.

2차원 로봇팔

직동 관절을 제작하여 말단 위치를 단순화시켜 제작하기 위해 고정 거치대를 3가지 형태로 설계하였습니다.

  1. 평, 랙기어를 활용한 직동관절
  2. 4절 링크를 통한 직동관절
  3. 2 링크 회전 관절 (로봇 팔)

들어 올려야 하는 무게가 대략 0.5kg이기 때문에 모터에 대한 제약이 많습니다. 또한 여러 프레임이나 부품이 추가되면 더 무거운 무게를 들어올려야 됩니다. 그리하여 모터에 가장 적은 힘이 들어가는 형태로 설계하기 위해 고정 거치대의 좌표시작점에 위치하는 모터의 토크를 계산하였습니다.

\[\begin{aligned} T_1 = (m_{카메라}+m_{평기어}+m_{모터})*R_{기어}+N*\mu \end{aligned}\] \[\begin{aligned} T_3 = (m_{카메라}+m_{모터})*l_{링크} \end{aligned}\]

마찰 및 3d프린터로 제작한 프레임의 무게는 없다고 가정합니다. 모든 구조는 정지한 상태라고 가정합니다.

모터 무게 = 0.1kg 기어 무게 = 0.2kg 카메라 무게 = 0.5kg 기어의 반지름 = 0.04 m

로봇 팔의 길이 = 0.3m

  1. 렉과 피니언 구조 모터 부하 토크 = (모터 무게 + 기어 무게 + 카메라 무게) * 9.8 * 기어의 반지름 = 0.313 N*M

  2. 로봇 팔 구조 모터 부하 토크 = (무터 무게 + 카메라 무게) * 9.8 * 0.3 = 2.352 N*M

  3. 4절 링크 구조 4절링크의 경우 병진운동으로 제어하기 위한 크랭크, 팔로워, 커플러 링크의 길이 결정과 크랭크 링크에 걸리는 부하 토크 계산의 어려움으로 제외

위의 이유로 4절 링크 구조는 다루기 어려워 제외시켰고, 렉과 피니언 구조가 모터에 걸리는 부하 토크가 더 적어 렉과 피니언 구조로 선택하였습니다.