Gurugail Robot/Robot
Robot

Robot

인공지능을 전공하고 사회에 진출할 시 고민을 했다. 인공지능 분야가 가장 잘 활용될 수 있는 분야가 과연 무엇일까? 지금도 그렇지만 그 때 당시에도 인공지능을 계속 해서 고민하고 관련 분야에서 일하고 싶은 마음이 있어기에 그런 고민이 있었던 것이다. 사회 초년생이 내린 결론은 게임 분야였다. 모든 기술이 집약될 수 있는 게임이야말로 인공지능의 기술을 제대로 적용하지 않을까 싶어서이다. 하지만 1년 반 동안에 내린 결론은 물론 게임에서 인공지능이라는 요소가 중요하긴 하지만 그보다 더 중요한 재미 요소가 너무나 강하게 다가웠다. 인공지능과 평생 연을 맺고 싶어 하던 저에게 과감한 결단을 내리게 되고, 결국 5년 전 쯤 로봇이라는 분야(회사)에 취업을 하였다.

짧지만 5년 동안에 느낀 로봇에 대해서 정리를 해보고자 한다. 틀린 부분도 있을 것이고, 수준이 이하 일 수도 있다. 신경쓰지 않고 하겠다. 눈치를 보면 아무것도 안된다.

로봇의 정의

통상 로봇이란 무엇인가? 짧게 말하면 자율적인 행위가 가능한 기계 라고 정의를 내리고 싶다. 자율적이다 라고 한다면 환경을 인식하고 스스로 판단해서 외부와 반응할 수 있는 액추에이터도 있어야 한다. 자울적이기 때문에 사람이 행하는 일을 대신할 수 있다. 자동차를 로봇이라고 하지 않는 이유는 자율적인 행위를 하도록 하기 위해 만들어 지지 않았기 때문이다. 자동차는 사람에 의해서 조절된다. 그와 반면 청소기 로봇은 주어진 공간을 나름대로의 주행 방식에 따라 움직이면서 청소를 하는 기계 즉 로봇이라 보통 호칭한다. 그렇다면 자율 주행이 가능한 미래의 자동차는 로봇인가? 로봇으로 명명 가능한 자동차이겠다. 참고로 로봇이란 용어는 체코의 소설가 카렐 차페크에 의해서 처음 사용되게 되었고 노동을 의미하는 robota가 어원이다.

로봇의 3 원칙

로봇을 이처럼 똑똑하게 만들 수 있을까가 의구심이긴 하지만 로봇 관련 일을 하는 한 사람으로써 그래도 항상 마음 속에 남아 있는 로봇의 3원칙라는 것이 있다. 아이작 아시모프가 제시한 아래와 같은 로봇 행동에 관한 3원칙이다.

  1. 로봇은 인간에게 해를 끼쳐서는 안 되며, 위험에 처해 있는 인간을 방관해서도 안 된다.
  2. 로봇은 인간의 명령에 반드시 복종해야만 한다. 단, 제1법칙에 거스를 경우는 예외다.
  3. 로봇은 자기 자신을 보호해야만 한다. 단, 제1법칙과 제2법칙에 거스를 경우는 예외다.

로봇의 분류

지구상에는 수 많은 로봇들이 있다. 아마도 수천 수만대 수준이 아닐까 싶다. 더 많을 수도 있다. 그렇지만 로봇을 분류해 보면 공장에서 운영되는 산업용 로봇과 가정 등에서 운영되는 서비스 로봇 으로 나뉠 수 있다. 그 밖에 너무나 많은 분류와 용도가 있지만 생각나는 것은 별로 없다. 돌아다니는 좋은 자료가 있으면 보완하도록 하겠다.

  • 산업용 로봇 : 주로 공장에서 운영되는 로봇을 말한다. 80, 90년대 공장 자동화 시대에 맞추어 폭발적으로 그 수도 증가하였다.
  • 서비스 로봇 : 주로 가정이나 사무실 등에서 운영되는 로봇을 말하며, 서비스라는 것을 주로 제공하는 로봇이다. 서비스가 광범위하게 사용되고 있는 만큼 서비스 로봇도 광범위하다.

산업용 로봇과 서비스 로봇의 주된 차이점은

  1. 첫번째는 주어진 환경이 다르다. 산업용 로봇이 운영되는 환경은 정적이고 고정되어 있다. 반면 서비스 로봇이 운영되는 환경은 동적이다. 언제 어디서 로봇 앞에 장애물이 나타날 지 어떤 예외 사항이 다가올 지 그 경우는 훨씬 다양하고 예측 불허이다.
  2. 두번째는 사용자이다. 산업용 로봇은 주로 숙력된 기술자가 사용하는 데 반해, 서비스 로봇은 기술에 익숙치 않은 일반 사용자이다. 아동이나 노인분들도 사용자 중 중요한 부류이다. 최근에는 노인을 위한 여러 가지 로봇들이 많다.

로봇의 감각 - 센서

사람에게는 환경을 인식할 수 있는 여러 가지 감각 장치들이 있다. 눈, 코, 입 ,,,등등 서두에서 로봇을 자율적인 행위가 가능한 기계라 나름대로의 정의를 하였는데 로봇이 자율적인 행위를 하기 위해서는 우선 가장 중요한 3가지가 있다.

  1. 환경을 인식할 수 있는 부분
  2. 인식한 결과에 따라 행위를 만들어 내는 부분
  3. 행위를 표현할 장치 부분

위 3 가지 구성 요소 중 환경을 인식할 수 있는 부분이 바로 로봇의 센서에 해당한다. 로봇의 센서는 사람과 감각 기관들과 기능들은 비슷하기도 하고 다른 부분도 있다. 사람의 각각 기관에 해당하는 부분과 연결해보자.

  • 시각 센서 : 로봇의 시각을 처리하기 위한 센서로 대표적으로 카메라를 활용한다.
  • 청각 센서 : 사람을 말하면 귀와 같은 역할을 한다. 대표적으로 마이크를 활용한다.
  • 촉각, 압력, 온도 센서 등 : 사람의 촉각에 대응되는 센서들이다.

이미 시중에 나와 있는 것들과 별반 차이가 없다. 하지만 사람과 로봇의 감각 기관의 성능 차이로 아래와 같은 몇 가지 특출한(로봇용) 센서들이 있다. 사람들에게는 있을 필요도 없지만 로봇에서는 많이 사용된다.

  • 거리 센서 : 보통 로봇의 앞에 있는 장애물 및 장애물과의 거리를 센싱하기 위해서 사용된다. 카메라가 장착된 로봇이 있긴 하지만 실상 카메라 시각 센서로 장애물을 인식하기에는 기술적으로 어려움이 많다. 그래서 보통 거리를 특정하기 위한 전용 센서를 사용한다. 거리 센서에는 초음파 센서를 주로 활용한다.
  • 위치 측정 센서 : 로봇의 자기 위치를 파악하기 위한 센서이다. 로봇이 자기의 위치를 알고 있거나 특정 위치로 이동할 수 있는 기능이 있다면 파생적으로 가능한 서비스들이 도출될 것이다. 예를 들어 특정 시간이 되면 주인방으로 이동하여 깨워주는 알람 서비스이다.

로봇의 동작 - 액츄에이터

위에서 언급한 센서는 환경을 인식하기 위한 것이고 이번에 말씀드릴 내용은 바로 로봇의 동작에 관련된 내용이다. 액츄에이터는 사람으로 말하면 근육에 해당하는 것이고 바로 로봇을 움직이도록 하는 장치를 일컫는다. 환경에 어떤 물리적인 반응을 취하기 위해서 필요한 장치이다. 내부적으로 아무리 복잡한 센서와 지능적인 모듈이 있어도 환경에 반응할 수 없는 장치가 없다면 로봇이 아니다.
로봇의 액츄에이터로써 대표적인 장치는 바로 모터이다. 전기를 가하면 회전하는 어떻게 보면 단순한 기능을 가진 장치이다. 하지만 이족보행 로봇에도 각 관절마다 모터가 적용될만큼 사실상 모터를 대체할 만한 장치가 아직 없다.

로봇의 소프트웨어 - 플랫폼, 개발 환경

로봇의 주요 기능 중 '인식한 결과에 따라 행위를 만들어 내는 부분'이 있다고 앞에서 언급되었다. 로봇이 가지고 있는 센서들을 이용하여 환경을 인식하고 로봇이 가지고 있는 액츄에이터를 가지고 환경에 대해 행동한다. 그렇다면 센서 입력값들과 액츄에이터들간의 연결 로직만이 남아있다. 이 부분은 소프트웨어로 구성된다. 하드웨어들의 연결 구성은 소프트웨어가 담당한다. 간단하게는 펌웨어 수준으로 구성되기도 하고 복잡하게는 플랫폼 형태로 운영되기도 한다. 로봇 S/W 플랫폼 중 몇 가지를 열거해 본다.

  • ERSP : Evolution Robotics 라는 로봇 전문 업체에서 개발된 플랫폼으로 비젼 기반 네비게이션 엔진이 탑재되어 있음
  • MSRS : 마이크로소프트 사에서 제공한 로봇 S/W 플랫폼 및 개발환경임. VPL (Visual Programming Langauge), 시뮬레이션 환경 제공됨
  • RTC (Robot Technology Component): 일본에서 표준 로봇 컴포넌트로 제시 (OMG에 등록됨)
  • OPRoS : 국가 차원에서 개발되고 있는 로봇 S/W 플랫폼임. 컴포넌트 기반이며 클라이언트 및 서버 플랫폼까지 포괄
  • ROCOS : 로봇 콘텐츠 개발 도구

로봇의 지능 - HRI, AI, ...

로봇의 소프트웨어는 주로 로봇의 응용 모듈(서비스, 콘텐츠)과 장치 모듈간의 상호 운영성을 제공하기 위해 필요한 것이지만 그 다음 이슈는 바로 지능이다. 로봇에 있어서 지능이란 사용자와 어떻게 상호 반응을 할 것이냐 또는 내외부 환경 인식이나 이벤트에 대해서 어떻게 행동해야 할 것이냐를 결정짓는 핵심 기능이다. 가장 어려운 부분이기도 하다.

  • HRI(Human Robot Interaction) : 로봇은 모빌리티(Mobility) 특성으로 보통 컴퓨터와 같이 키보드 입력 장치를 사용하지 않는다. 그렇기 때문에 사용자와 로봇이 상호 작용 하는 방식이나 연구가 대단히 중요하다. 특히 서비스 로봇인 경우는 그 중요도가 대단히 높다. 로봇이 아직도 상용화 수준까지 도달하지 못한 이유 중 하나가 바로 사용자와 로봇이 상호 작용할 수 있는 방법 자체가 아직도 상용화 수준까지 숙련되어 있지 않기 때문이다. 사용자와 로봇간 상호 작용을 위한 총체적 기술 내용이 바로 HRI이다. 크게는 음성 관련 기술(음성 인식, 화자 인식, 음성 합성 등)과 영상 관련 기술 (얼굴 인식, 사물 인식 등)들로 구성되어 있다.
  • AI(Artificial Intelligence) : 인공지능은 본 그루게일 커뮤니티의 주요 주제이다. 로봇에서의 인공지능은 어떤 식으로 활용될까? 로봇에서의 인공지능이 사용되는 영역은 크게 아래와 같이 두 가지로 나뉠 수 있다.
    1. 인식 과정 - 음성이든 영상이든 환경과 사용자를 인식하는 인식 과정 그 자체가 정해진 패턴이 없기 때문에 인공지능 기술이 사용될 수 밖에 없음
    2. 행동 결정 과정 - 환경에 대한 인식이든 사용자의 인식이든 어떤 인식 결과에 따라 로봇이 가지고 있는 행동 방식에 따라 움직여야 하는데 과연 어떤 행동을 해야 할까를 결정짓는 과정이다. 행동 결정 부분을 잘 구성하면 로봇이 로봇다워 보이면 역할을 한다. 어쩌면 가장 중요한 부분이기도 한다. 하지만 인식에서의 인공지능처럼 어느 정도의 오류가 있어도 단지 오류일 뿐이지만 행동 결정 과정에서의 오류는 겉으로 드러나는 행동이기에 조절하기도 어렵다. 보통 그래서 FSM이나 규칙 기반으로 구성되기도 한다.

관련 내용

혐오감의 계곡(uncanny valley)

참고 자료