1. 개요
Robotics(로봇공학)로봇의 설계 및 응용을 위한 학문이다. 주로 로봇공학과, 기계공학과, 전기전자공학과, 컴퓨터공학과 3~4학년[1] 학생들이 수강한다.
2. 과목
로봇 공학은 크게 로봇역학, 로봇전기전자학, 로봇 컴퓨터과학 3개의 영역으로 볼 수 있다. 로봇전기전자학, 로봇컴퓨터과학의 경우 관련된 전공 책의 내용을 간단하게 요약하거나 생략하고 로봇역학에 응용해서 푼다. 이문서는 로봇 역학과 관련된 부분만 서술한다.2.1. 좌표계 할당
로봇공학을 배우기 전에 기초를 알아보자.로봇 공학에서 행렬에 의한 위치는 다음과 같이 나타낸다.
원점인 좌표계 역행렬 유뮤(역행렬인 경우 -1 아닌경우 생략)
로봇에 좌표계의 회전와 평행이동 표현법
[math(P)]
이동한 좌표계 위치
로봇의 위치 회전변환이나 평행이동이 일어나는 경우의 표현법이다.
우선 [math(x, y, z)]인 좌표계가 [math(\theta)] 만큼 이동한 후 좌표계를 [math(x', y', z')]라 하면 이런 기하학적 관계가 보인다.
[math(x'=x \cos(\theta)-y \sin(\theta))]
[math(y'=y \sin(\theta)+y \cos(\theta))]
이것을 회전행렬으로 나타내면
[math(R=\begin{bmatrix} \cos(\theta) & -\sin(\theta)&0 \\ \sin(\theta)&\cos(\theta)&0 \\ 0&0&1 \end{bmatrix})]
이것을 다른 y,x축 회전에 나타내면
y축 회전행렬
[math(R=\begin{bmatrix} \cos(\theta) & 0 & \sin(\theta) \\ 0 & 1 & 0 \\ -\sin(\theta) & 0 & \cos(\theta) \end{bmatrix} )]
x축 회전행렬
[math(R=\begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos(\theta) & -\sin(\theta) \\ 0 & \sin(\theta) & \cos(\theta) \end{bmatrix})]
이다.회전 변환은 다음과 같은 기호로도 나타낸다.
Rot(회전할 기준 축, 각도)
평행이동한 경우
[math(P=\begin{bmatrix}x\\y\\z\end{bmatrix})]
평행 이동은 다음과 같은 기호로도 나타낸다.
Trans((이동할 기준축),(이동량))
Scaling을 위한 행렬
물체의 비율을 조정해준다.
[math(R=\begin{bmatrix} Sx & 0 & 0 \\ 0 & Sy & 0 \\ 0 & 0 & 1 \end{bmatrix})]
회전 운동와 평행운동을 동시에 일어나는 경우
[math(T=\begin{bmatrix} R & P \\ 0\quad0\quad0\ & 1 \end{bmatrix})]
2.2. 로봇기구학 (kinematics)
로봇의 위치를 나타내는 법을 배우는 파트이다. 나타내는 방식은 크게 2가지 방법이 있다.기하학적 방식: 예로 2축 로봇이 있다고 보자. 1번째 링크 로봇의 끝점은 [math(\begin{bmatrix}l_1\cos(\theta_1)\\l_1\sin(\theta_1)\end{bmatrix})]이다. 이제 2번째 링크를 보자. 우선 1번째 링크의 링크에서 기울어진 각도 theta1이 있는 상태에서 theta2가 더해졌다, 그래서 [math(\begin{bmatrix}l_2\cos(\theta_1+\theta_2)\\l_2\sin(\theta_11+\theta_2)\end{bmatrix})] 이다.
이 로봇의 끝점은 링크1의 끝점와 링크2의 합이므로 [math(\begin{bmatrix}l_1\cos(\theta_1)+l_2\cos(\theta_1+\theta_2)\\l_1\sin(\theta_1)+l_2\sin(\theta_1+\theta_2)\end{bmatrix})]
행렬(행렬에 대한 자세한 내용은 행렬(수학)에 참조) 방식:위 방식과 유도 자체는 같다. 그러나 표현 방식이 좀 다르다.
2축 로봇 끝점은 다음과 표시한다.
[math(f(x)=\begin{bmatrix}l_1\cos(\theta_1)&l_1\cos(\theta_1)+l_2\cos(\theta_1+\theta_2)\\l_1\sin(\theta_1)&l_1\sin(\theta_1)+l_2\sin(\theta_11+\theta_2)\end{bmatrix}\begin{bmatrix} x\\y \end{bmatrix})]
로 나타낸다.
문서의 가시성은 위해 본 문서는 행렬 방식으로 서술한다.
다축 로봇 처럼 구조가 간단한 로봇들은 위 처럼 간단하게 구할 수 있다. 그러나 모양이 복잡한 로봇은 어떻게 표시할까? 그러 때 에는 DH 매개변수로 나타내면 된다. DH 매개변수란 i번째 링크와 i+1 번째 링크의 사이의 상대적인 기하학 관계로 로봇의 위치를 구하는 것이다.
구하는 방식은 다음과 같다.
가정:
1. 모든 운동하는 축은 [math(z)]축으로 할당한다.
2. [math(x)]축은 다음 링크의 위치의 방향으로 둔다.
3. [math(y)]축은 플레밍의 오른손 법칙에 의거 할당한다.
링크각도([math(\alpha)]): [math(i+1)]번째 링크 [math(x)]축 기준하여 [math(i)] 번째 링크 축의 [math(z)]축와 [math(i+1)]번째 링크 축의 [math(z)]축 간의 벌어진 각도를 말한다. [math(i+1)] [math(x)]축 기준점으로 플레밍의 오른손 법칙으로 두었을 때 회전 방향와 동일하며 양의 값 반대면 음의 값을 가진다.
링크길이([math(a)]): [math(i+1)] [math(x)]축 기준하여 [math(i)] 번째 링크 축의 [math(z)]축와 [math(i+1)]번째 링크 축의 [math(z)]축 간의 벌어진 길이를 말한다. [math(i+1)] [math(x)]축 기준점으로 플레밍의 오른손 법칙으로 두었을 때
기준점의 방향과 같으면 양 반대면 음의 값을 가지고 기준점과 다른 방향으로 되어있으면 0을 가진다. 상수로만 둘수있다.
관절각도([math(\theta)]): [math(i)] 번째 링크 축의 [math(x)]축와 [math(i+1)]번째 링크 축의 [math(x)]축 간의 벌어진 각도를 말한다.[math(i)] [math(x)]축 기준점으로 플레밍의 오른손 법칙으로 두었을 때 회전 방향와 동일하며 양의 값 반대면 음의 값을 가진다. 변수 상수로 둘수 있다.
관절길이([math(d)]): [math(i)]번째 링크 [math(z)]축를 기준하여 [math(i)] 번째 링크 축의 [math(x)]축와 [math(i+1)]번째 링크 추의 [math(x)]축 간의 벌어진 길이를 말한다.
변수와 상수로 들수 있다.
그리고 꼭 [math(z)]축 회전 [math(x)], [math(z)]축평행이동 [math(x)]축 회전 순으로 해야한다.
즉 기호로 나타내면
[math(^i_{i+1}T=Rot(z,\theta)Trans(x,a)Trans(z,d)Rot(x,\alpha))]
즉
[math(^0_nT=^0_1T^1_2T\cdots^{n-1}_nT)]
2.2.1. 정기구학 (foward kinematics)
순기구학이란 이미 주어진 링크의 길이와 관절의 길이 각도를 통해 로봇의 끝점을 구하는 것을 말한다. 우선 구하는 방법은 절대변환와 상대변환 두가지로 볼수 있다.2.2.2. 역기구학 (inverse kinematics)
반대로 위치를 이용해 관절의 각도를 구하는 것을 말한다. 방식은 두가지 이다.기하학적 방식: 로봇의 구조가 간단한 경우 로봇의 끝점와 원점에 직선을 그어 그때 생기는 삼각형에 코사인 법칙을 이용해 푸는 방식
부분집합을 이용한 방식:구조가 복잡한 경우 구하고자 하는 링크의 각도를 가진를 제외한 나머지 링크를 하나의 링크로 두고 푸는 방식이다.
2.3. 로봇속도학
기구학에서 구한 위치 방정식을 미분해주면 그게 속도이다. 근데 로봇은 실린더에 의한 평행운동, 모터에 의한 회전 운동이 여러개 이기 때문에 여러 변수 가 있기 때문에 편미분을 해야한다. 편미분한 행렬식을 나타내는 것은 자코비얀 행렬(자세한 것은 관련 문서에 참조)이다. 이 행위를 순속도학 이라 한다.그리고 그 끝점의 속도를 이용해 관절의 각속도와 속도를 구하는 것을 역속도학이다. 로봇의 속도식은 3x1 행렬인 경우가 많기 때문에 역행렬을 구할 수 없어 유사 역행렬으로 구한다.
j^@=J^T*(J*J^T)^-1
2.4. 로봇역학
로봇의 역학은 정역학, 동역학으로 나타낸다.2.4.1. 로봇 정역학
로봇의 운동이 없을때 물체에 걸리는 힘을 구하는 방식이다. 총 두가지로 나눈다.오일러 뉴턴 방식: FBD에 의거한 운동 방정식을 행렬으로 나타내면 된다.
가상일 방식: 유도는 오일러 뉴턴 방식처럼 행렬으로 나타내고 그것을 자코비얀 행렬으로 나타내면 된다. 공식은 다음과 같다.
tau=J^Tq
2.4.2. 로봇 동역학
로봇의 운동이 있을때 물체에 걸리는 힘을 구하는 방식이다. 총 두가지로 나눈다.오일러 뉴턴 방식: FBD에 의거한 운동 방정식을 행렬으로 나타내면 된다.
라그랑주 방정식 방식: 유도는 오일러 뉴턴 방식처럼 행렬으로 나타내고 그것을 운동에너지, 위치에너지 로 나눈뒤 그것을 구한뒤 라그랑주 방정식으로 하면 된다.
3. 관련 자격증
{{{+2 {{{#FFFFFF 로봇공학 관련 자격증}}}}}} | ||||||
<colbgcolor=#f5f5f5,#333> 국가기술자격 | 202. 전자 | 기사 | 로봇기구개발기사 | |||
로봇소프트웨어개발기사 | ||||||
로봇하드웨어개발기사 |
- 로봇기구개발기사: 기계공학 전공자가 유리하다.
- 로봇소프트웨어개발기사: 컴퓨터공학 전공자가 유리하다.
- 로봇하드웨어개발기사: 전자공학 전공자가 유리하다.
다만 현실적으로 로봇 개발을 수행하는 연구원들은 이런 기사를 따기보다는 대학원에서 로봇을 연구하고 입사하는 경우가 훨씬 많기 때문에 자기개발을 넘어서 취준을 위해 로봇기사를 공부하는 것을 추천하긴 어렵다. 면접관들도 '이런 기사도 있었나?', '없어도 잘만 하던데? 도움되는거였으면 다 따고 오겠지'하고 그닥 관심을 주지 않을 가능성이 높다. 실제로 해당 기사들의 응시자는 로봇 관련 직무 지원자 수에 비해 너무나 초라하다. 로봇 관련 논문 한 편 더 잘 쓰는 게 낫다는 것. 사실 대학생들의 통념과 다르게 기사 자격증이 큰 힘을 발휘하는 건 안전, 설비 등 이른바 '선임'을 거는 직무에 지원할 때의 얘기다. R&D쪽으로 갈수록 기사보다는 직무경험, 연구실적이 중요해진다. R&D 직무로 밥벌어먹는 사람이 적다보니, 특히 인터넷 커뮤니티 등에서 '내 분야 내 직무에서 기사 중요하니까 모든 공대생들은 기사를 당연히 따야 하는거야'하고 잘 모르면서 떠드는 사람이 많다. '남들도 다 기사 있을테니 나만 없으면 손해잖아'가 R&D에서는 통하지 않는 소리다. 자격증으로 밥벌어먹는 분야가 있고 아닌 분야가 있다는 걸 구분해야 한다. 이게 정말 유용하고 로봇 취업 치트키였으면 올해 신설도 아니고 2019년에 생긴 자격증이 아직도 한 해에 필기 응시 50명따리, 실기 최합 10명따리[2]인 하꼬 자격증으로 남아있을 리가.
4. 설치 대학
4년제 기준 로봇 관련학과 개설 현황. 가나다 순 배열. |
- 계명대학교 로봇공학전공
- 경북대학교 로봇공학과
- 광운대학교 로봇학부
- 대구가톨릭대학교 로봇공학과
- 동국대학교 기계로봇에너지공학과
- 동명대학교 기계·로봇공학부
- 동의대학교 로봇자동화공학과
- 목원대학교 로봇학과
- 상명대학교 휴먼지능로봇공학과
- 상지대학교 지능형로봇전공
- 안동대학교 기계로봇공학과
- 영남대학교 로봇공학과(구 로봇기계공학과)
- 창원대학교 로봇제어계측공학전공
- 충북대학교 지능로봇공학과
- 한경국립대학교 ICT로봇기계공학부
- 한국공학대학교 메카트로닉스공학부 AI로봇전공
- 한양대학교 ERICA 로봇공학과
- 호서대학교 로봇자동화공학과