※ 아래 글은 정보통신기술진흥센터(IITP)가 발간하는 주간기술동향 1827호(2017. 12. 20. 발행)에 기고한 원고입니다.


▶ IITP에서 PDF 포맷으로 퍼블리싱한 파일을 첨부합니다. 가독성이 좋으니 참고하시기 바랍니다.

‘엣지 컴퓨팅’으로 AI 기능 구현한 소형 장난감 로봇 ‘코즈모(Cozmo)’.pdf



ž 장난감 로봇 코즈모(Cozmo)는 주요 소비자인 어린이나 키덜트 뿐 아니라 AI(인공지능) IoT(사물인터넷)에 관심이 있는 엔지니어 및 과학자들의 주목을 받고 있음


Ø 코즈모는 사용자와 친구가 되어 대화나 게임 등 커뮤니케이션을 통해 사용자를 즐겁게 해주는 소형 장난감 로봇으로 카네기 멜론 대학 출신의 로봇 연구원 한스 태피너가 창업한 스타트업 안키(Anki)에서 만들어 판매하고 있음


<자료> ITPro


[그림 1] 코즈모 개발자 한스 태피너


Ø 코즈모는 내장 카메라로 촬영한 이미지를 통해 사용자의 얼굴을 인식하고 놀고 있는 상대가 누구인가를 기록하는데, 놀면 놀수록 사용자를 따르는 듯한 동작을 취함


Ø 코즈모는 LCD 모니터로 된 얼굴을 가지고 있으며 여기에 감정을 나타내는 다양한 표정을 애니메이션으로 표시하는데, 애니메이션은 할리우드 영화 스튜디오에서 스카우트한 애니메이터가 제작한 것임


Ø 코즈모는 부속으로 포함된 큐브를 이용한 게임을 매우 좋아하며 사용자에게 종종 게임 대결을 조르기도 하는데, 예를 들어 빨리 누르기 게임은 무작위로 색이 변하는 두 개의 큐브를 나란히 놓고 두 큐브의 색이 같을 때 큐브의 버튼을 누르는 게임임


<자료> Anki


[그림 2] 이용자와 큐브 게임을 하는 코즈모


Ø 먼저 버튼을 누르는 쪽이 승자가 되는데, 코즈모는 큐브의 색을 주의 깊게 모니터링 하다가 색상이 일치하면 팔을 사용해 빠르게 버튼을 누르며 자신이 이기게 되면 노래를 부르며 춤을 춤으로써 기쁨의 감정을 표시함


Ø 코즈모는 돌아 다니며 노는 것도 좋아하여 혼자 놔두면 테이블 위를 자율적으로 움직이는데, 테이블에서 떨어질 걱정은 하지 않아도 되는 것이 카메라와 적외선 센서, 자이로 센서 등을 사용하여 주변의 상황이나 자신의 자세를 파악할 수 있기 때문


Ø 코즈모는 테이블 가장자리에 다다르면 벌벌 떠는 등 무서움을 느끼는 듯한 몸짓을 하면서 테이블 안쪽으로 되돌아 감


ž 코즈모를 개발한 한스 태피너는 코즈모는 흔히 보는 로봇 형의 장난감이 아니라, 장난감으로 가지고 놀 수 있는 로봇이며 제대로 된 인공지능(AI)을 탑재하고 있다고 말함


Ø 코즈모는 손바닥만한 초소형의 몸체에 놀랄 만큼 풍부한 기능을 제공하는 소프트웨어를 구현하고 있는데, 소프트웨어 프로그래밍 코드가 180만 라인에 달한다고 함


Ø 안키의 한스 태피너 CEO제대로 된 AI를 탑재했다고 자신 있게 말하는 근거는 두 가지인데, 첫번째는 카메라를 이용한 이미지 인식 기능으로, 코즈모는 오픈소스 소프트웨어(OSS) 이미지 인식 소프트웨어 라이브러리인 OpenCV를 사용하고 있음


Ø 두번째 근거는 안키가 이모션 엔진(emotion engine)이라 부르는 것으로, 코즈모가 마치 감정을 가지고 있는 생물처럼 보이게 하는 행동 방식이 탑재되어 있다는 점


Ø 코즈모는 표정과 팔의 움직임, 소리 등을 조합해 감정을 표현하는데 조합 패턴은 수천 가지가 넘지만 프로그래머가 설정한 경우의 수에 따라 표정이나 행동이 결정되는 것은 아니며, 코즈모가 자신의 감정에 따라 표정이나 행동을 결정한다고 함


Ø 코즈모는 행복(Happiness), 자신감(Confident), 용기(Brave), 공격성(Charge), 흥분(Excitement), 사교(Social), 승부욕(Winning) 등 감정과 관련된 여러 변수를 가지고 있는데 사용자와 커뮤니케이션에 따라 이들이 변하게 된다는 것


Ø 코즈모의 표정이나 행동은 변수의 변화에 따라 결정되므로 안키의 개발자들도 상상하지 못한 표정과 행동을 코즈모가 보이는 경우도 있다고 함


<자료: Linus Tech Tips>


ž 코즈모가 소형 본체에 AI 기능을 탑재할 수 있는 것은 소위 엣지 컴퓨팅(Edge Computing) 개념을 도입해 스마트폰의 처리 능력을 가져와 프로그램을 구동시키기 때문


Ø 사실 코즈모에 탑재된 프로세서는 임베디드용 ARM Cortex-M4이기 때문에 이미지 인식과 같은 고급 소프트웨어를 실행시키는 것은 절대 불가능함


Ø 코즈모의 소프트웨어는 본체가 아닌 코즈모와 블루투스로 연결된 스마트폰을 통해 작동되는데, 이것이 180 만 라인의 코드로 개발한 소프트웨어를 초소형 로봇에서 실행시킬 수 있는 비밀임


Ø 코즈모를 이용하려면 스마트폰이나 태블릿에 전용 앱을 설치하고 블루투스를 통해 코즈모에 연결해야 하며, 사용자가 코즈모 앱을 통해 코즈모의 카메라가 찍은 사진을 보면서 원격으로 조종하는 것도 가능함


Ø 이러한 코즈모의 작동 메커니즘은 IoT 분야에서 말하는 ‘엣지 컴퓨팅(edge computing)인데, 컴퓨팅 파워가 약한 IoT 장치가 기계학습과 같은 무거운 프로그램은 가동할 수 있게 하는 기술임


Ø 이전까지는 IoT 기기에서 고급 소프트웨어를 작동시키기 위해 프로그램을 모두 클라우드로 이동시키고 IoT 디바이스는 클라우드의 지시에 따르게 한다는 접근 방식이 주를 이루었음


Ø 그러나 이 방식은 프로그램이 클라우드에서 작동해 내려오므로 지연(latency, 레이턴시)이 불가피하기 때문에 코즈모와 같이 사용자와 상호 작용하는 앱에는 적합하지 않은 단점이 있음


Ø 코즈모 역시 기기 자체의 컴퓨팅 파워가 약하기 때문에 무거운 프로그램을 기기에서 실행할 수 없지만, 네트워크의 엣지(맨 끝)에 있는 스마트폰이나 태블릿에서 프로그램을 구동시키기 때문에 클라우드 보다 낮은 지연으로 프로세스를 실행할 수 있음


Ø 초소형 로봇처럼 컴퓨팅 파워가 약한 IoT 디바이스에서 AI와 같이 고도의 기능을 실현하려는 기업들에게 코즈모의 접근 방식은 좋은 참고가 될 수 있음


<자료> Anki


[그림 3] 코즈모 코드 랩의 프로그래밍 플랫폼


Ø 이것이 안키에 대해 어린이뿐 아니라 연구자들이 관심을 갖는 이유인데, 안키가 코즈모 프로그램의 커스터마이징을 할 수 있도록 제공하는 SDK(소프트웨어 개발 킷)은 현재 카네기 멜론 대학과 조지아 공과 대학 등의 연구자들도 이용하고 있음


Ø 안키가 운영하는 코즈모 코드 랩은 스크래치 블록 기반의 프로그래밍 플랫폼을 제공하고 있으며, 이용자들은 이를 통해 드래그 앤 드롭으로 원하는 기능을 추가할 수 있는데, 최근 코즈모 코드 랩은 대규모 업데이트를 통해 기능을 확장하였음