로보텍스 인터내셔널 2022는 11월 25, 26일 양일간 에스토니아의 수도인 탈린에서 개최된 로봇 대회로, 전 세계의 많은 이들이 주어진 미션을 수행하기 위한 로봇을 손수 제작해 참가하였다.
대한민국의 참가자는 100명 이상으로 키프로스, 튀르키예와 함께 가장 많았다고 한다.
동아리 친구들과 함께 일정한 트랙을 자율주행하여 많이 돌수록 높은 점수를 얻는 "포크레이스" 종목에 참가하였다.
세계 대회에 참가하기에 앞서 9월 25일 인천 송도에 위치한 한국뉴욕주립대에서 열린 한국 예선 대회(로보텍스 코리아 인터내셔널) 중고등부 경기에 참가하였는데, 당시 LEGO Education Spike Prime을 이용해 제작한 로봇으로 2등 상인 Best Award를 받아 세계 대회 진출권을 획득하였다.
반 바퀴마다 5점을 얻을 수 있는데 예선에선 90점으로 최고점을 얻어 다른 팀들과 격차가 컸지만, 결승 경기에서 역주행을 하여 결국 1등을 놓치게 되었다.
기본적인 주행은 안정적으로 했지만 역주행에 대한 대책을 세우지 않았던 점이 큰 문제였다고 본다.
에스토니아에 가기 위해 핀에어의 ICN-HEL, HEL-TLL 노선을 이용하였다. 총 비행시간은 편도 13시간 정도로, 러시아의 우크라이나 침공 여파로 러시아 영공을 통과하지 못해 비행시간이 평시보다 길었다고 들었다. 시간은 한국이 7시간 빨랐지만, 비행 중에 잠을 자니 바로 적응이 되어 큰 어려움은 없었다.
출발하기 하루 전까지도 핀에어 승무원의 파업이 있어 바로 직전 항공편이 취소되었기에 줄줄이 밀리진 않을까 걱정하였지만 다행히 일정대로 출발할 수 있었다. 핀에어 이용 시 파업이 꽤 잦은 걸로 보이니 출발 전 확인이 필요해 보인다.
대회에 출전하기 위해 총 세 대의 로봇을 제작하였다.
첫 번째는 한국 대회에 출전한 후 모델링해 두었던 걸 바탕으로 복원하였고 역주행을 방지하기 위한 알고리즘을 고안해 적용하였다.
이것저것 더 해 보려고 파이썬으로도 해봤는데 멀쩡한 데서 오류가 나고 심지어 오류 내용은 Base64로 인코딩 돼서 나오던데 그냥 아직 프로그램이 뭔가 이상한 듯. Windows로 했을 땐 괜찮았지만 Mac을 맨날 들고 다니기에 어쩔 수 없이 블럭으로 돌아왔다.
두 번째는 중앙 센서를 추가하고 이전에 제작한 로봇에 가속기어를 부착해 속도를 높였지만, 스파이크 프라임 자체가 센서 반응 속도나 정확도가 좋지 않아 제어가 힘들어서 결국 포기하였다.
세 번째는 로보티즈의 OpenRB-150 보드와 X330-M077-T 모터, SHARP 2Y0A21 적외선 센서, GY-85 9축 IMU에 3D 프린터로 차체를 출력해 제작하였다.
특히 세 번째 로봇은 주어진 게 거의 없이 시작하다 보니 어려움이 컸다. 전원도 9V 알카라인 건전지로 해볼 생각이었는데 자꾸 전력이 부족해 모터가 정상적으로 작동하지 않았다. 심지어는 일반 18650 전지 두 개를 직렬 연결하였음에도 안 되었다. 다행히도 학교 앞에 파워뱅크 만드는 곳이 있어서 방전 전류량이 큰 18650 전지(INR18650-35E) 두 개 구해 연결하니 잘 작동이 되었다. 이렇게 삽질을 하고 나니 뭐든 잘 해결할 수 있을 줄 알았다.
사실 첫 번째 로봇에 덧붙인 역주행 방지 알고리즘은 대단한 것이 아니다. 한 바퀴마다 오르막 구간이 한 번씩 있는데, 자이로 센서의 피치값을 통해 오르막 구간임이 확인되면 요 값을 통해 역주행 여부를 판단하고 보정하는 것이다.
배송 온 IMU를 연결하여 세 번째 로봇에 연결하여 같은 기능을 구현해 보려고 했다. 아니, 잘 되었다면 자이로 센서의 요 값 대신 지자기 센서를 이용해 방위각을 측정했을 것이므로 정확성도 높았을 것이다.
알고 보니 구입한 IMU가 짭이어서 I2C Address도 판매처에서 제공하는 것, 구글한 것과 다르게 나오기도 했는데 그 문제는 어찌어찌 잘 해결했다. 하지만 무엇보다 I2C 통신을 몰랐다는 점이 문제였다. 센서가 도착하고 또 삽질을 이어가기 전까진 그 IMU가 보드와 어떻게 통신하는지도 알지 못했고 반이중 통신이라 해봤자 RS-485밖에 몰랐던 나는 풀업 저항을 달지도 않아 놓고 소프트웨어에서의 문제가 있는 줄 알았다. 물론 제대로 연결을 했더라도 가짜 센서에다가 외부 간섭을 많이 받는 I2C 특성상 빵판에 여러 선이 얽혀 있는 로봇 속에서 정확한 값을 얻진 못했겠지만. 그렇게 삽질이란 삽질은 다 하고도 시간 내에 끝내지 못해 결국 포기하게 됐다.
지금 생각하면 세 번째 로봇에 큰 미련이 남지만 이때부턴 사실 마음을 비웠다. 이런 기회가 아니었다면 언제 리튬 전지의 종류가 이렇게나 다양하다는 것을 배웠고 납땜을 밤새워해 보았겠는가. 좋은 결과를 얻기를 기대하기보단 내가 지금껏 보지 못했던 다른 문화를 체험하고 다른 많은 로봇들을 보며 배우려는 마음으로 대회에 참가하였다.
내가 또 실패 요인으로 꼽는 것은 바로 경기 규칙을 잘 숙지하지 않았다는 것이다. 국내와 이곳 경기는 장애물의 형태가 깨나 다른데, 이것을 대략적으로만 파악하고 있어 이곳의 장애물에 취약한 로봇을 들고 오게 되었다. 게다가 16세 이하 경기는 장애물이 적고 수준도 저것보다는 낮아 승산이 있었겠지만, 17세+ 경기는 매년 나오는 아저씨들이 참가했는지 중계해 주시는 분도 아는 사람인 양 친근하게 말씀하셨다. 하는 김에 조금 욕심부려서 높여 나온 거고 그런 분들을 이긴다는 게 당연히 어려웠겠지만 그래도 너무 아쉬움이 남는다. 그래서 기회가 되면 다시 도전해 보고 싶다는 생각이 가득하다.
흰 옷 아저씨의 녹색 로봇은 적외선 센서가 아주 가까운 거리는 감지하지 못하기 때문인지 양쪽 센서를 교차해 다셨던데, 좋은 아이디어인 것 같았다. 별 거 아닌 아이디어지만 스파이크 프라임으로 만들면서 초음파센서 간섭 문제로 고생하느라 센서를 교차해 단다는 건 머릿속에서 지우고 있었는데 생각해 보면 적외선 센서는 초음파 센서보단 간섭이 적을 테니 적외선 센서를 쓸 땐 근거리 감지를 더 잘하는 게 나은 선택인 것 같다.
근데 도저히 이해가 안 되는 건 저 경기에서 제일 작은 로봇은 빠르게 치고 나가는데 저 작은 차체에 어떤 장치가 들어있는지 가늠도 안된다. 어떤 센서가 있더라도 그 앞을 장애물이 가로막고 있을 텐데 어떻게 길을 찾아 가는지 너무 궁금했다. 저 정도면 차라리 누군가 몰래 조종하고 있다고 생각하는 것이 합리적이라고 느껴질 정도로 놀라웠다.
흰 옷 아저씨랑은 우리 경기 전에 가볍게 말을 나눴는데, 한국에서 몇 명이나 온 거냐고 물으셨다. 그리고 어떤 에스토니아 아이와 인스타도 교환했다. 내가 그곳에서 마주친 모든 사람들이 친절했고 분명 다른 문화의 색다른 도시인데 왠지 모를 한국적인 정서도 많이 느낄 수 있었던 것 같다.
내가 그곳에서 왠지 모를 한국적인 정서를 느낀 건 그곳과 이곳이 역사적으로나 경제, 산업 구조의 측면에서나 비슷해서이지 않나 싶다. 에스토니아는 주변국들로부터의 잦은 피지배와 억압의 역사를 가지고 있고 민중이 모여 '노래 혁명'으로 독립을 이뤄내 자원보단 기술로 매우 빠르게 발전하여 이젠 1인당 GDP 3만 달러를 조금 넘는 나라이다.
러시아계 국민들도 많고 길을 가다 보면 러시아 식당이나 소련 상징물들도 흔히 볼 수 있지만, 반대로 의회에 우크라이나 국기가 내걸려 있을 만큼 우크라이나를 국가적 차원에서 지지하는 곳이라고 한다. 게다가 중세 도시의 미려함과 첨단 기술의 편리함이 함께 있는 정말 역설적인 장소라서 더 매력적으로 느껴지는 듯하다. 굳이 이런 기회가 아니더라도 여행지로 또 들르게 되면 정말 좋겠다.
댓글