지난 8월 8일 제3회 GIST 창의융합 경진대회(이하 경진대회) 예선이 다산빌딩 창의융합 테스트 스튜디오에서 개최됐다. Q.U.W., BARAM, End Game 등 다섯 팀이 예선에 참여했다. 필자는 예선 하루 전인 8월 7일 저녁부터 밤새 코딩에 몰두하고 탁구채를 변형시키며 최종 점검에 열을 올리는 참가자들을 만날 수 있었다.
탁구로봇을 완성하기까지
참가자들은 7월 1일부터 지능 시스템 개발 교육 프로그램, 3D 프린터 및 레이저 절단기 사용법 등 탁구로봇 제작을 위한 교육을 받았다. 이후 학생들은 파이선과 아두이노 등을 활용해 탁구공을 상대편 코트로 넘기게 하는 프로그램을 설계하고, 제공받은 장비로 로봇을 제작했다. 예선에서는 기본기능 검증이 이뤄졌다.
프로그램을 설계하는 과정은 간단치 않아 보였다. 센서가 탁구공만 감지하도록 해야 하는 것은 물론, 탁구로봇의 모든 관절을 섬세하게 조절해야 했기 때문이다. 사람이 하는 동작을 로봇에 구현하는 일은 쉽지 않았다.
필자가 본 탁구로봇의 모습은 처음엔 어설펐다. 로봇 팔이 탁구채를 허공에 휘두르기도 하고, 탁구공을 칠 수 없는 엉뚱한 곳에 도달하기도 했다. 로봇이 의도한 대로 작동하지 않아 주저앉는 학생들도 있었다.
하지만 참가자들은 수많은 시행착오를 통해 로봇이 탁구공을 가장 효과적으로 쳐낼 수 있는 관절의 움직임을 파악했다. 그리고 공이 날아오는 궤적의 데이터들을 기계학습을 통해 쌓아갔다. 이렇게 수많은 보완을 거듭한 끝에 기본기능 검정을 앞두고는 꽤 정확하게 탁구공을 쳐내는 로봇이 완성됐다.
예선 13시간 전 부서진 로봇
예선 당일 새벽 1시경 Q.U.W. 팀의 로봇이 부서지는 사고가 발생했다. 알고리즘의 오류로 탁구로봇이 탁구대와 계속 부딪혀 로봇 팔의 관절이 부러졌기 때문이다. 예선 시작인 오후 2시까지 13시간 정도가 남은 상황에서 팀원들 모두가 당황한 모습이 역력했다.
로봇이 파손돼 일부분은 부품 교체가 필요했지만, 예선을 하루도 채 남겨두지 않은 시점에서 새 제품을 구하기는 어려웠다. 다행히 팀원들은 3D 프린터를 이용해 미리 제작해 둔 부품으로 파손된 부분을 대체할 수 있었다.
Q.U.W. 팀원 고려대학교 홍성범(전기전자,19) 학생은 “예선까지 수리를 마치지 못하면 결승 진출은 물 건너가는 것이었다. 미리 여분의 부품을 준비한 것이 큰 도움이 됐다”며 안도의 한숨을 내쉬었다.
팀장 조건우(기초,19) 학생은 “로봇이 부서졌을 땐 저절로 헛웃음이 나면서 포기하고 싶은 마음이 들었다. 그럴 때마다 팀원들이 나를 붙잡아줬다. 결국, 밤을 새워가며 천신만고한 끝에 잘 해결할 수 있었다”며 협동의 중요성을 실감했다고 말했다.
우여곡절 끝에 결승에 진출한 Q.U.W.
8월 8일 경진대회 예선, 평가위원들이 들어오고 스튜디오엔 긴장감이 돌았다. 기본기능 검증에 통과해야 23일 결승전 출전 자격이 주어지기 때문이다. 평가위원들은 탁구공 발사 기계(IPONG)를 사용해 날린 공에 대한 각 팀의 탁구로봇 반응을 심사했다.
탁구공을 쏴서 그 탁구공이 탁구채에 맞으면 1점, 상대 진영으로 넘어가면 2점, 상대 탁구대를 정확히 넘기면 3점으로 기록했다. 기본기능 검정을 통과하기 위해서는 총 30개의 탁구공을 쏴서 45점 이상을 득점해야 했다.
필자는 예선 시작 13시간 전에 로봇이 부서졌던 Q.U.W. 팀과 대회 일정을 함께하기로 했다. 앞 네 팀이 기본기능 검증을 마치고 Q.U.W. 팀의 차례가 오자, 홍성범 학생은 긴장된 표정으로 공을 날리기 시작했다. 걱정했던 것과는 달리 로봇은 탁구공을 잘 받아냈다. Q.U.W. 팀은 총 52점을 획득해 여유롭게 결승행 티켓을 거머쥐었다.
팀원들은 “로봇이 중앙으로 날아오는 공은 잘 받아내지만, 옆쪽에서 날아오는 공은 잘 받지 못한다. 결승전에서 이를 보완하는 것이 관건이다”고 말했다. 또한 “각자 설계한 알고리즘에 근본적인 문제가 있는지 차근차근 검토하고 이를 보완해 더 완벽한 탁구로봇을 만들 것이다”라며 자신감을 보였다.
결승전까지의 여정, 그리고 Q.U.W. 팀의 우승
예선 이후 결승까지의 여정도 순탄하지만은 않았다. 예선 때 Q.U.W. 팀을 괴롭혔던 탁구로봇 관절은 예선 이후에도 말썽을 부렸다. 알고리즘을 수정하는 과정에서 필연적으로 발생하는 사고였다. 하지만 Q.U.W. 팀은 예선 당시의 경험을 교훈 삼아 결승 준비 기간 동안의 역경을 잘 이겨낼 수 있었다.
8월 23일, 경진대회 결승전이 열렸다. 스튜디오엔 다시 긴장감이 돌기 시작했다. 결승전에 진출한 네 팀은 토너먼트를 통해 순위를 가렸다. 예선에선 탁구공을 상대 코트로 넘기기만 하면 됐지만, 결승전에선 각 팀의 탁구로봇을 양쪽에 두고 경기를 진행했다.
기본기능 검증에서 2위를 차지했던 Q.U.W. 팀은 3위였던 End Game 팀과 첫 대결을 했다. 두 세트를 연속으로 이긴 Q.U.W. 팀이 결승에 진출했다. 1위를 차지했던 칩스칩스 팀은 4위였던 퐁당퐁당 팀과 대결했고 첫 번째 세트에서 듀스까지 가는 접전이 이어졌다. 결과는 2:1로 퐁당퐁당 팀이 결승에 진출했다.
최종 우승자 결정전은 Q.U.W. 팀과 퐁당퐁당 팀의 대결이었다. 첫 번째 세트에서는 퐁당퐁당 팀이 11:9로 1점을 얻었다. Q.U.W. 팀의 탁구로봇이 오작동했기 때문이다. Q.U.W. 팀은 침착하게 오류를 고치고 이후의 경기에 임했다. 그 결과, 두 번째와 세 번째 세트 모두 Q.U.W. 팀이 11:2로 이기고 최종 우승을 차지했다.
“책임감이 우승의 비결”
경진대회 최종 우승팀 Q.U.W. 팀의 조건우 팀장과 홍성범 팀원, 이재문 팀원을 만나 이야기를 나눴다. 조건우 팀장은 “1학년이 공학과 관련된 경험을 할 기회는 많지 않다. 팀원과 함께 탁구로봇을 만들며 다양한 경험을 쌓을 수 있을 것 같아 고등학교 동기들과 지원하게 됐다”며 이야기를 시작했다.
팀에서 가장 중요하게 생각하는 게 무엇이냐는 질문에 팀원들은 ‘책임감’을 강조했다. 팀원들은 업무시간보다 업무량을 중시했다. 자기가 맡은 일은 반드시 끝내겠다는 책임감이 최종 우승의 원동력이라는 것이다.
조건우 팀장은 “매일 각자 해야 할 일을 정해두고, 그 일을 끝내면 쉬도록 했다. 일이 많은 날엔 밤을 지새우며 코딩하기도 했고, 일이 수월하게 풀리면 기숙사에 돌아가 여가를 즐기기도 했다”며 팀원들과 탁구로봇을 만드는 데에 전념했던 날들을 회상했다.
마지막으로 “참가자들이 머물렀던 기혼자 아파트엔 에어컨이 없었다. 찜통 같은 날씨에 에어컨 없는 기숙사에서 지내면서도 언제나 불평 없이 프로젝트에 최선을 다했던 팀원들에게 고맙다”며 미소를 지었다.