[리뷰] 스크래치 3.0과 파이썬, C/C++까지 이해하는 프로그래밍 로봇, DJI 로보마스터 S1 -2부

남시현 sh@itdonga.com

DJI 로보마스터 S1, 무선 조종 로봇이다.
DJI 로보마스터 S1, 무선 조종 로봇이다.

[IT동아 남시현 기자] 2015년 개정 교육과정의 일환으로 초중학교 교육에 코딩 교육이 도입됐다. 올해부터는 초등학교 5~6학년을 대상으로 연 17시간 코딩교육이 의무화된 상황. 하지만 성인에게도 막연한 프로그래밍 언어를 학생들에게 가르치는 것이 쉬울 리 없다. 게다가 일회성 교육으로 끝날 게 아니라 아이들의 지적 호기심을 자극하고, 스스로 해나가도록 해야 하니 그 어려움은 이루 말할 수 없을 것이다.

코딩 교육 자체가 이제 막 시작한 상황이지만, 진행 과정은 대다수가 비슷한 양상을 보인다. 선 따라가기, 숫자, 카드 인식 같은 간단한 교육으로 시작해, 차츰 블록을 쌓아 코딩을 만드는 스크래치, 전자부품 조립하고 프로그래밍을 입력해 만드는 아두이노, 알고리즘을 가르치는 식이다. 연 17시간이면 개요나 개념 정도만 다룰 수 있으니, 흥미 위주의 간단한 내용으로 진행되는 경우가 많다. 한 단계 더 나아가 제대로 된 프로그래밍을 시작할지 말지는 학생 본인의 몫이다.

프로그래밍 연결에 필요한 로직 보드
프로그래밍 연결에 필요한 로직 보드

학교 교육을 넘어 학생이 직접 C/C++언어, 파이썬같은 프로그래밍 언어에 관심을 가지길 바란다면 어떤 도움이 필요할까? 핵심은 학생 스스로가 즐기는 것이겠지만, 적절한 동기 부여, 그리고 결과물을 피부로 와닿게 느낄 수 있도록 해줄 필요가 있다. 만약 아두이노나 직접 프로그래밍 로봇을 제작하는 단계라면, DJI 로보마스터 S1이 큰 도움이 될 수 있다.

DJI 애플리케이션을 통해 게임을 즐기며, 프로그래밍을 학습하다

DJI 로보마스터 S1은 원래 목적은 지상 촬영용 원격조종 드론이지만, 프로그래밍 기능을 접목해 모든 움직임과 동작을 직접 구축할 수 있는 프로그래밍 교육용 로봇이기도 하다. 프로그래밍 언어로는 학교에서 많이 가르치고 있는 블록 코딩 방식의 스크래치(Scratch) 3.0을 한글로 지원하며, 현재 파이썬(Python)을 시범 단계로 도입한 상태다. 11월 중으로 펌웨어 업데이트를 거치면 C/C++ 언어도 지원하게 된다.

자세한 제품 성능과 사진은 '[리뷰] 프로그래밍 교육을 위한 지상 드론, DJI 로보마스터S S1 -1부'(http://it.donga.com/29681/)를 통해 확인할 수 있다. 1부에서 하드웨어를 다뤘다면, 2부는 프로그래밍과 DJI 로보마스터 애플리케이션을 위주로 설명한다.

로보마스터 앱 초기 화면
로보마스터 앱 초기 화면

DJI 로보마스터 S1을 구동하기 위해서는 스마트폰이 필수다. 안드로이드 스마트폰은 구글 플레이에 로보마스터를 검색한 다음 설치하자. 다운로드는 https://play.google.com/store/apps/details?id=com.dji.robomaster&hl=ko에서 확인할 수 있다. 애플 아이폰을 사용 중이라면 앱스토어에서 Robomaster를 검색하거나, https://apps.apple.com/kr/app/robomaster/id1449678340에서 다운로드받으면 된다.

애플리케이션을 설치하고 스마트폰과 연동하는 과정은 1부를 통해 확인할 수 있다. 계정 생성과 와이파이를 통한 연결이 끝나면 솔로 모드, 배틀 모드, 연구실과 우측 상단의 연결, 설정(육각형 아이콘)을 활용해 DJI 로보마스터 S1을 설정할 수 있다.

사진과 영상, 게임 기능으로 프로그래밍에 동기를 부여하는 DJI 로보마스터 S1

솔로 모드와 배틀 모드, 프로그래밍을 할 줄 알면 더욱 재밌게 즐길 수
있다.
솔로 모드와 배틀 모드, 프로그래밍을 할 줄 알면 더욱 재밌게 즐길 수 있다.

솔로 모드·배틀 모드는 프로그래밍 교육보다는 레저를 위한 모드다. 말 그대로 DJI 로보마스터 S1을 조종하거나, 여러 대의 로보마스터 기기와 겨룰 때 쓰는 모드다. 솔로 모드의 경우, 기기 한 대를 사용해 여러 명이 즐길 수 있도록 돼 있고, 시간제한이 없는 기본 조종 모드다. 여러 명이 즐긴다면 시간 내에 과녁을 많이 쓰러뜨리는 경기, 과녁을 순서대로 빨리 맞추는 경기를 할 수 있다.

배틀 모드를 켜면 레이싱과 프리 포 올 경기가 있다. 레이싱은 단순히 코스를 빨리 도는 것을 넘어서 특정 코스를 여러 번 돌거나, 반드시 지나야 하는 체크포인트 설정을 적용해 진짜 레이싱 게임처럼 즐길 수 있다. 프리 포 올은 DJI 로보마스터 S1에 탑재된 블라스터와 적외선 빔을 이용해 상대방의 체력을 모두 깎으면 승리하는 토너먼트 경기다.

DJI 로보마스터 S1은 사람을 추적해서 따라오는 기능이
있다.
DJI 로보마스터 S1은 사람을 추적해서 따라오는 기능이 있다.

DJI 로보마스터 S1을 활용한 사진 및 영상 촬영은 솔로 모드, 배틀 모드 모두 지원한다. 마이크로 SD가 없으면 연동된 스마트폰에 영상 데이터를 저장하며 사진은 촬영할 수 없다. 마이크로 SD를 장착했다면 저장 장치에 사진 및 영상을 기록하게 된다.

사람을 인식해 거리를 유지하고 추적하는 기능도 포함돼있다. 솔로 모드에서 우측 하단의 사람 모양 아이콘을 누르면 사람을 식별하고, 식별된 거리를 측정해 자동으로 거리를 유지하며 따라다닌다. 험로가 아닌 지형이라면 DJI 로보마스터 S1이 따라다니면서 동영상을 촬영한다. 물론 블라스터 앞부분이 영상에 나오므로, 카메라의 물리적 위치를 변경해주는 게 좋다

DJI 로보마스터 S1의 진가, 처음부터 숙달 과정까지 한번에 제공하는 프로그래밍 교육 과정

세 가지 프로그래밍 교육 과정이 있다.
세 가지 프로그래밍 교육 과정이 있다.

메인 화면에서 연구실 메뉴를 진입하면 Road to Mastery(이하 로드 투 마스터리), DIY 프로그래밍, RoboAcademy(이하 로보아카데미)를 선택할 수 있다. 로드 투 마스터리를 직역하면 '숙달로 가는 길'로, DJI 로보마스터 S1을 활용한 프로그래밍 교육 및 학습이 체계적으로 갖춰져 있다. 혼자서 할 수 있는 데다가, 단계적으로 과제를 수행하는 재미가 있어 아두이노나 다른 프로그래밍 교육 로봇을 거치지 않고 바로 입문하는 것도 좋다.

로드 투 마스터리는 블록 코딩 방식의 프로그래밍 기법인 스크래치 3.0의 원리와 활용법을 가르쳐준다. 블록은 크게 시스템, LED 효과, 섀시(몸체), 짐벌(블라스터 제어) 기능별로 나뉘며, 다양한 효과로 세분된다. 과제를 잘 따라 하면, 어떤 블록을 어떻게 두어야 하는지 설명이 따르며, 마지막에 해당 프로그래밍을 완료한 상태를 영상으로 보여줘 본인의 프로그래밍과 완성도를 따져볼 수 있다.

프로그램 내부의 설명이 영어로 돼 있다는 점은 개선해야 할 점이다. 프로그래밍 언어를 영어로 교육하는 사례가 있긴 하지만 메뉴는 한글, 설명은 영어라서 헷갈릴 여지가 있으니 한글 및 영어 모두 지원했으면 한다. 지금도 꾸준히 애플리케이션 한글화가 진행 중이므로 추후 업데이트를 통해 해결될 것 같다.

DIY프로그래밍을 통해 스크래치 3.0, 파이썬을 적용할 수
있다.
DIY프로그래밍을 통해 스크래치 3.0, 파이썬을 적용할 수 있다.

DIY 프로그래밍은 기초 과정을 거친 입문자, 혹은 자체 코딩이 가능한 프로그래머를 위한 메뉴다. 완전히 새로운 기능을 만들 수 있고, 사전에 제작된 프로그램을 수정할 수 있다. 특히 파이썬(Python)을 활용한 프로그래밍은 이 메뉴에서 수행할 수 있고, 기기를 커스터마이징 하는 경우 필수적으로 숙달해야 한다. 기기 커스터마이징이란, DJI 로보마스터S1을 본인 입맛에 맞게 수정하는 모든 과정을 뜻한다. 부가적인 장치를 연결하거나, 본인 기기만의 특수한 행동을 적용하기 위해서다.

동영상 및 개발 과정이 자세히 소개된
로보아카데미
동영상 및 개발 과정이 자세히 소개된 로보아카데미

앞서 로드 투 마스터리와 DIY프로그래밍이 실전이라면, 로봇아카데미는 이름 그대로 로봇 프로그래밍을 위한 심화 과정이다. 간단한 프로그래밍 교육이 아니라 DJI 로보마스터 S1에 적용할 수 있는 거의 모든 프로그래밍 교육이 세부적으로 정리돼있고, 알고 싶은 부분을 집중적으로 확인할 수 있다.

프로그래밍 가이드는 애플리케이션이나 홈페이지를 통해 확인할 수 있고, 동영상을 통한 교육도 첨부돼있다. 이 역시 모두 영어로 돼 있어 어느 정도 영어 실력이 필요하다. 프로그래밍 언어 자체가 영어로 작성하니, 로보아카데미를 이해하고 따라 할 정도라면 곧잘 이해할 수 있으리라 본다.

제품 구입에 앞서 로보아카데미에 포함된 내용이 포함되어있는지 궁금하다면, DJI 공식 홈페이지(https://www.dji.com/kr/mobile/robomaster-s1/programming-guide)를 통해 확인할 수 있다.

DJI 로보마스터 S1의 궁극적인 목적은 로보마스터 대회, 국내 기준으로는 프로그래밍 교육이 우선

DJI가 주최하는 로보마스터 로보틱스 컴패티션
(출처=DJI)
DJI가 주최하는 로보마스터 로보틱스 컴패티션 (출처=DJI)

DJI 로보마스터 S1은 단순한 프로그래밍 교육용 로봇이 아니다. 이 제품은 DJI가 중국 선전에서 주최하는 대학 간 로봇 경쟁 대회, 로보마스터 로보틱스 컴패티션(RoboMaster Robotics Competition)의 핵심이자 뼈대가 되는 표준 모델이다. 전문가가 아니더라도 누구나 이 대회에 관심을 갖고, 직접 게이머가 될 수 있도록 돕기 위한 취지다. 그리고 이 대회에 사용되는 로봇을 다루기 위한 프로그래밍 교육을 곁들인 것이 프로그래밍 교육 로봇으로 발전한 것이다.

물론 국내 로봇 경진대회는 아직 스포츠보다는 개발 역량과 창의성을 중시하므로, DJI 로보마스터 S1이 추구하는 목적과는 방향이 다르다. 하지만 평창 동계올림픽 개막식을 드론이 장식했던 것처럼 머잖아 학생들이 직접 프로그래밍하고 조립한 로봇으로 대결을 펼치는 것이 취미 활동이 될 수 있다. 언젠가 다가올 4차 산업혁명 시대에서 누구보다도 먼저 프로그래밍에 관심을 갖고, 지속해나가길 바란다면 DJI 로보마스터 S1으로 시작하는 건 어떨까.

글 / IT동아 남시현 (sh@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.