기계공학/로보틱스

로봇공학, 로보틱스(Robotics) 공부하기 (1) - 로봇에 대한 기초, 구성요소

역학맨 2025. 1. 31. 01:58

안녕하세요 역학맨입니다! 운이 좋게 로보틱스와 관련된 연구를 진행할 수 있는 기회가 생겼습니다.

그와 관련해서 미리 선행공부를 통해 공부한 내용들을 정리하여 공유함으로써 로보틱스 이외에 기계공학과 관련된 공부를 진행할 때 큰 도움이 되었으면 해서 정리해보려고 합니다.

*다만, 저도 배우는 과정에 있기 때문에 정확하지 않을 수 있으니 그 부분은 양해 부탁드립니다! 

 


 

로봇공학 공부하기 위해 선행되어야 할 전공지식

 

1. 동역학 : 위치, 속도, 가속도를 기반으로 시간에 따라 움직이는 물체의 운동을 해석하는 학문 -> 미분방정식을 사용해서 로봇의 움직임을 파악해야 합니다.

2. 진동학 : 로봇의 움직임을 만들어내는 것은 모터이므로 진동에 대한 지식이 있어야 합니다.

3. 제어공학 : 역학적인 지식이 있다고 하여 로봇을 움직일 수 있는 건 아니겠죠? 그러려면 역학적으로 해석한 내용을 바탕으로 모터를 제어할 수 있어야 하기에 제어공학에 관한 내용을 알아야 합니다.

4. 기구학 : 로봇에게 주어진 조건들을 바탕으로 기구학적인 움직임(정적인 움직임)을 해석할 수 있어야 우리가 목표하는 로봇을 설계할 수 있겠죠?

 

위에 서술한 내용들을 모두 융합한 학문이 로보틱스, 로봇공학이라고 보시면 될 것 같습니다. 이외에도 MATLAB의 Simulink와 같은 툴들을 잘 다룰 수 있어야 하기도 합니다. (기계과 3학년 이상이라면 충분히 다 알고 있을 것이라고 생각합니다 모른다고 너무 겁먹지 마세요. 나중에 해당 내용에 대해서도 정리해 보도록 할게요)

 

*참고 교재 : John J. Craig, Introduction to Robotics, Mechanics and Control, 3th edition, Wiley -> 로보틱스의 바이블이라 합니다. 

저처럼 깊게 공부해 보실 분들은 구매해서 공부하면 좋을 것 같아요

한글판 책
4판부터는 Pearson으로 변경되었나보네요

 


 

 

로봇을 구성하는 요소

 

  1.  구동 : 모터의 제어를 통해 움직임을 구현하게 됩니다.
  2.  지능 : 의사결정 과정으로서 우리는 프로그래밍된 코드를 통해 로봇의 움직임을 구현합니다.
  3.  센싱 : 카메라나 LiDAR와 같은 센서를 사용해서 로봇의 위치나 장애물을 파악할 수 있습니다.

또한 로봇의 몸체, Body는 링크(Link)와 관절(Joint)로 구성되어 있고 움직임을 제어하는 모터와 감속기가 있습니다. 

 

우리가 흔히 산업용으로 사용하는 Manipulator(매니퓰레이터)의 경우 무게가 상당히 많이 나가는 데 사실 모터만 사용해서는 이 무거운 로봇을 움직일 수 없기 때문에 Torque(토크)를 올려주기 위해 감속기를 사용하게 됩니다. 이를 통해 무거운 로봇도 관절마다 존재하는 모터로 구동할 수 있게 되는 거죠. 

 

Manipulator(매니퓰레이터)

 

Mobile robot (이동로봇)

 

제가 올릴 글들은 보통 다 Manipulator에 대해서 올릴 예정입니다. 이외에도 Mobile Robot(이동로봇)이 있는데 거기에 대한 것도 기회가 되면 올릴게요! 최근에는 스마트팩토리 및 자동화 공정과 관련해서 Mobile robot에 Manipulator를 융합한 형태에 대해서 많은 연구가 이루어지고 있습니다. 물류창고와 관련해서 엄청나게 많은 짐을 사람이 모두 옮길 수 없으니 로봇의 힘을 빌리면 작업효율이 많이 올라가겠죠? 하지만 그러기 위해서는 Safety에 대한 문제가 해결되어야 합니다. 

 

 

로봇의 위치를 파악하는 방법

 

로봇이 자신의 위치를 파악하는 것이 왜 중요할까요? 간단하게 로봇청소기를 생각해 봅시다. 로봇청소기가 자신의 위치와 공간에 대한 정보가 없으면 제대로 된 청소를 할 수 없게 됩니다. 방의 끝까지의 거리가 어디인지 어디에 장애물이 있는지 자신과의 거리에 대한 정보가 없기 때문에 충돌하게 되거나 같은 구역의 청소를 계속해서 진행하게 되는 등 다양한 문제가 발생하게 되죠. 이는 Manipulator에서도 동일하게 발생하는 문제입니다. 

 

이를 해결하기 위해서 로봇청소기의 위치에 대한 중심점을 설정하고 중심점에 대한 자신의 위치를 좌표로 나타낼 수 있는 것이 상당히 중요한 과제라고 볼 수 있습니다. 위치를 파악하기 위해 다양한 방법들을 사용하는 데 내용만 간단하게 설명하고 넘어가도록 할게요

 

  • 추측항법(Dead reckoning) : 인코더를 활용해서 모터의 회전바퀴수를 측정하여 기구학적 계산을 통해 위치를 파악하는 방법입니다. 하지만 단독으로 사용하기에는 오차가 크게 발생하게 되는 단점이 있습니다. 
    • 오차발생원인으로 로봇청소기를 예로 들면 바닥의 상태에 따라 마찰계수가 낮거나 하면 헛바퀴가 도는 상황을 들 수 있습니다. 모터는 회전하지만 로봇청소기는 움직이지 않게 되죠. 표면이 평평하지 않은 상태에서 운행하게 되면 양쪽 바퀴의 회전수에 차이가 존재하게 됩니다. 이 또한 위치를 잘못 파악하게 되는 원인이 되겠습니다.

이와 같은 단점을 보완하기 위해서 다른 방법을 함께 병행해서 현재 자신의 위치를 파악하게 합니다.

  • 위성의 GPS를 사용해서 자신의 위치를 파악할 수 있게 합니다. (실외)
  • RFID, 적외선과 같은 마커를 실내에 설치해서 전파의 도달시간을 측정함으로써 현재 위치를 파악할 수 있게 합니다. (실내)

 

이외에도 산업용 로봇에서는 본인의 위치를 아는 것이 상당히 중요합니다. 기구학을 배우신 분들이라면 익숙하실 단어일 텐데 바로 Singularity(싱귤래러티- 특이성)입니다. 

앞서 말씀드린 것처럼 산업용 로봇은 정말 무거운 무게를 가지고 있습니다. 하지만 공장에서는 공정의 효율성을 위해 단위시간마다 로봇이 이동해야 하는 움직임이 정해져 있습니다. 그런데 예를 들어 모종의 이유로 로봇이 자신의 위치를 정확히 파악하지 못해 20cm까지 움직일 수 있는 로봇이 1m를 움직여야 된다고 판단했다면 무슨 일이 벌어질까요? 

예상치 못한 움직임이 발생하면서 비틀어지는 움직임을 구현하게 되고 또한 평소보다 훨씬 더 빠른 속도로 움직이게 되는 현상이 발생하게 됩니다. 이럴 때 작업자들은 로봇의 Workspace(작업공간) 밖에 안전공간에서 작업을 하다가도 로봇이 작업자에게 상해를 입히게 되는 사고가 발생하게 됩니다. 대개의 경우 사망에 이르게 됩니다. 

공장에서 일어나는 로봇 사망사고에 대한 대부분이 이런 경우 때문에 발생하므로 로봇의 현재 위치를 파악하는 것은 상당히 중요하다는 것을 알아야 합니다.


 

이번에는 여기까지 정말 정말 간단하게 수학적인 지식 없이 로봇 기초에 대해서만 정리해 봤습니다.

다음에는 로봇공학과 관련된 용어에 대해서 정리하는 시간을 가지고 아주 간단하게 로보틱스에서 사용되는 전공적인 내용에 대해서 설명해 보도록 할게요! 

 

부족한 글이지만 도움이 되셨으면 좋겠습니다.