Post

현대자동차 H-Mobility 자율주행 과정에서 우수학습자 증서를 수여했다.

들어가며

약 한달 전인 2024년 2월 말. 우리집 우편함에 소포가 하나 도착했다.

책이 들어 있는 것 같은 소포를 살포시 열어보니 2023년 하반기에 참여한 현대자동차 H-Mobility Class에서 보내준 증서였다.

끝나고 현생 살다 보니 잠시 잊고있었는데 다시 봐서 반가웠다. 그리고 우수학습자로 선정되었다는 소식도 접하니 감사함과 뿌듯함이 밀려왔다.

그래서 이 감정과 그간의 경험들을 기록하고 공유하고자 글을 작성한다.

2023년 하반기 현대자동차 H-Mobility Class 지원

작년인 2023년 7월 초에 H-Mobility Class 모집 공고를 접했다.

해당 모집 공고

H-Mobility Class는 현대자동차에서 미래 모빌리티 산업을 이끌어갈 인재들에게 차량 전동화, 자율주행 및 로보틱스를 이해할 수 있는 교육 기회를 제공하는 과정이다.

2023년 하반기 과정은 이공계 전공생들을 대상으로 “차량 전동화, 자율주행, 로보틱스” 세가지 분야 중에 한가지를 선택해서 지원할 수 있었다. (2024년 전반기 부터는 전공에 상관없이 지원 가능한 것으로 바뀐 것 같다.)

나는 3년 전 부터 로봇 소프트웨어 개발에 관심을 가지고 있었다. 공고를 본 당시에는 서울로봇아카데미에서 모바일 서비스로봇 소프트웨어 개발 과정에 참여 중이었다.

그런데 H-Mobility Class에서는 자율주행 과정을 선택해서 지원했다.

로봇 소프트웨어 개발에 관심을 가지고 있던 내가 왜 로보틱스 트랙이 아니라 자율주행 트랙을 선택했을까?

이유는 로봇 소프트웨어 구조와 자율주행 소프트웨어 구조가 거의 같다고 파악했기 때문이다. 그래서 자율주행 소프트웨어의 구조를 파악하면 로봇 소프트웨어의 구조도 이해할 수 있으리라 생각했다.

2021년에 현대자동차는 보스턴 다이내믹스를 인수했다. - Hyundai Motor Group Completes Acquisition of Boston Dynamics from Softbank 또한 다음 년도에 테슬라는 AI 데이에서 테슬라봇을 공개했다. - Tesla CEO Elon Musk unveils prototype humanoid Optimus robot 자율주행자동차 기업들이 자율주행 개발에 사용된 AI를 활용하는 방안으로 로봇 사업을 택하는 것을 볼 수 있다. 외관이 다를 뿐이지 사실상 자율주행자동차와 로봇의 소프트웨어는 거의 같은 구조라고 할 수 있는 것이다.

로봇 소프트웨어는 크게 인지, 판단, 제어라는 구조를 가지고 있다. 각 구조들은 서로 네트워크 통신이 필요하다. 이를 배울 수 있는 기회를 H-Mobility 자율주행 과정에서 제공해주었다.

아쉽게 H-Mobility 로보틱스 과정도 참여하고 싶었다. 해당 과정에서는 로봇 소프트웨어 개발에 많이 활용하는 ROS(Robot Operating System)와 로보틱스 지식을 배울 수 있었다. 하지만 해당 지식들을 당시 서울로봇아카데미에서 어느정도 배우고 있었기 때문에 하나만 선택해야한다면 자율주행 과정이었고 이를 선택해서 지원했다.

자율주행 과정 진행

H-Mobility Class의 과정은 크게 기본과정과 심화과정으로 구분되었다. 기본과정의 진도율과 시험점수에 따라서 수료 여부가 결정되었다. 기본과정 수료자는 추가적인 과제를 통해 심화과정에 참여 기회가 주어졌다.

기본과정

기본과정 9주차 동안 197차시 강의를 수강해야했다. 1차시 강의 분량은 약 10~20분 정도였다. 강의의 구조는 5단계로 “도입, 키워드, 본내용, 퀴즈, 요약”으로 구성되어 있었다.

과정의 전체 구성은 5가지 영역으로 되어 있었다. 먼저 자율주행 자동차의 기술을 전반적으로 이해하고 인지, 판단, 제어 그리고 통신 및 네트워크 기술에 대해서 학습하는 방식이었다.

과정소개
자율주행 자동차 기술 이해자율주행 기술의 단계 및 발전방향과 자율주행 기술 및 인프라 구성에 대해 이해할 수 있는 과정
자율주행 자동차 인지 기술자율주행 인지 기술 구성/ 고정밀 지도 및 측위기술/ 지능형 반도체를 학습하고 자율주행 센서를 관리하며 센서 퓨전 데이터를 처리 및 활용할 수 있는 기초 과정
자율주행 자동차 판단 기술경로 생성 기술/ 경로 추종 기술/ 자율주행 판단 및 경로계획 기술 / 주행 상황 판단 기술에 대해 이해할 수 있는 기초 과정
자율주행 자동차 제어 기술자동차 구조 및 새시 시스템/ 경로 제어/ 현가 제어/ 제동 및 구동 시스템 제어/ 조향 시스템 제어에 대해 이해할 수 있는 기초 과정
자율주행 자동차 통신 및 네트워크 기술자동차 내부와 인프라 통신 기술/ V2X 통신 기술/ 전기차 충전 통신 기술/ 자율주행 자동차 통신 기술/ 통신 종류별 특성에 대해 이해할 수 있는 기초 과정

각 과정 마다 그 분야의 전문가인 교수님들이 해당 지식들을 설명해주셨다. 해당 분야의 최전선에 계신 분들 답게 최신 기술 발전 트렌드도 접할 수 있었다.

얻은 인사이트를 하나 말하자면 기존에 기술적인 한계에 봉착했던 문제들을 급속도로 발전을 하고 있는 AI 기술을 활용해서 해결하도록 시도하고 있었다. 예를 들어, 교차로 상황에서 자율주행 자동차가 판단하는 것을 빠르고 안정적으로 구현하기 위해서는 너무나 많은 변수들을 고려해야한다. 교차로에는 건너편의 신호등과 표지판의 상태를 보고 사방의 자동차들의 상황을 봐야하고 근처 인도에 지나가는 사람들(동물도 있을 수 있다.)과 언제 튀어 나올지 모르는 자전거나 오토바이들을 고려해야한다. 이외에도 더 많은 정보들을 인지하고 고려해야할 것이다. 이 수많은 정보들을 사람 개발자가 직접 Rule-Based Approach 기반 판단 기술로 구현을 해야한다면 엄청난 복잡도를 고려해야한다. 거의 불가능의 영역으로 볼 수 있다. 그래서 최근에는 이를 AI-Based Approach 기반 판단 기술로 해결하는 시도가 많아지고 있고 필요하다는 것을 알 수 있었다. 자율주행 분야 뿐 아니라 다른 많은 분야에서도 AI로 문제를 해결하지 않을까 생각이 든다.

발표자료도 PDF로 받아서 볼 수 있어서 예습하거나 복습하기에도 아주 좋았다. 다만 한 가지 아쉬웠던 점은 강의 영상 플랫폼이었다. 진도율을 측정할 때 해당 강의의 진도를 100% 달성해야 인정이 된다. 그런데 배속으로 모든 진도를 다 진행해도 100%를 달성하지 못하는 것이 아닌가? 이는 강의 전체 시간 만큼 해당 강의를 보지 않았던 것이 원인이었다. 전체 강의 시간이 20분이라면 1.5배속으로 15분 만에 들었을 때 진도율이 75%가 된다는 것이다. 그래서 다 들은 강의라도 진도율을 채우려면 다시 해당 강의를 선택해서 남은 시간을 채워야 한다. 복습차원에서 강의를 다시 보면 좋긴 하겠지만, 평소에 강의를 배속으로 보며 짧은 시간 집중력 있게 지식을 습득하던 나의 입장에서 시간을 쪼개가며 배속으로 진행한 강의들을 또 다시 눌러서 진도율을 채우는 일을 해야하는 것이 살짝 아쉬웠다.

강의 수강 기간 9주차 이후에는 기본 교육 이해도 평가가 있었다.

기본 교육 이해도 평가는 4개의 선택형(객관식) 문제를 각 분야별로 50문항 씩 풀어야 했다. 수강률 80% 이상에 기본교육이해도 각 영역별 취득 점수를 종합하여 수료 여부가 결정되었다.

수료가 확정된다면 해당 교육생들을 대상으로 심화과정을 참여하기 위한 과제가 추가로 주어졌다. 과제는 각 영역별로 주관식으로 답해야하는 문제들이 주어지고 답변들을 작성하여 제출해야 했다.

심화과정 대상자는 기본과정 평가와 과제 점수를 종합하여 최종 선발 되었다.

심화과정

모든 시험과 과제를 어찌저찌 최선을 다해서 풀었던 나는 다행히 심화과정에 참여할 수 있었다.

심화과정은 자율주행 기술 분야 4가지 “인지, 판단, 제어, 통신 및 네트워크” 중에 하나를 선택해서 신청할 수 있었다.

나는 ‘통신 및 네트워크’ 과정을 선택했다.

왜 선택했는지 이유를 말하자면, 로봇 소프트웨어 개발에 관심이 가서 배우기 시작했던 소프트웨어 개발에서 데이터와 네트워크의 중요성을 체감했고 관심이 생겼다.

IT(Information Technology)의 ‘정보 기술’ 이라는 용어 답게 이 분야는 정보의 교환과 활용으로 엄청난 가치를 만들어내고 있다. 거의 전세계가 하루도 안 되는 시간 안에 정보를 교환할 수 있다. 스마트폰의 발전과 함께 수많은 사람들이 많은 정보들을 교환할 수 있다. 그렇게 쌓은 정보들을 이용해서 새로운 지능을 만들어내고 있다. 이 정보의 교환이 이 분야의 본질이라고 생각이 들었다. 그래서 흥미가 생겼다.

또한 소프트웨어 개발을 학습하는 과정에서 나름 서비스도 만드는 경험을 했는데, 백엔드 개발에서 비즈니스 로직을 다루고 데이터 처리를 최적화하는 과정도 재미가 있었다.

이렇게 나의 관심도와 흥미를 따져봤을 때, 로보틱스 소프트웨어 분야에서 통신과 네트워크에 관련된 일을 해보고 싶었다. 자율주행 자동차도 로봇과는 세부적으로는 다르겠지만 좀 더 추상화를 해보면 전체적인 구조는 같지 않나 생각이 들었다. 로봇, IoT, 자율주행 자동차의 데이터, 네트워크, 백엔드를 다루고자 한다면 통신 및 네트워크 분야의 지식을 깊게 파악할 필요가 있다고 생각했다.

심화과정 분야를 신청하고 몇 일 뒤에 집에 교재가 도착했다.

과정 설명과 시간표는 아래와 같은데, 교재를 바탕으로 한국공학대학교의 서석현 교수님이 3일 동안 실시간 온라인 강의로 오전 9시 부터 오후 5시 까지 풀타임으로 심화적인 지식을 알려주셨다.

  • 자율주행 직무 온라인 심화 교육 (통신 및 네트워크)
    • 소개
      • 자동차의 전자제어장치간 데이터 전송에 필요한 통신 및 네트워크 기술을 소개
      • AD(자율주행)/EV(전기차)와 같은 미래자동차에 필요한 통신 및 네트워크 기술의 특징을 이해
    • 1일차
      • M1 (3시간) - 자동차 내부 통신기술 이해 (CAN)
        • 차량용 내부 통신 기술의 특징
        • CAN 통신의 개발 현황
        • CAN 통신의 주요 특징 (물리계층)
        • CAN 통신의 주요 특징 (데이터링크, 어플리케이션계층)
      • M2 (4시간) - 자동차 내부 통신기술 이해 (CAN-FD)
        • CAN-FD 통신의 개발 현황
        • CAN-FD 통신의 주요 특징 (물리계층)
        • CAN-FD 통신의 주요 특징 (데이터링크 계층)
        • 자동차 내부 네트워크 설계 및 검증
    • 2일차
      • M1 (3시간) - 자동차 내부 통신기술 이해 (Ethernet)
        • Ethernet 통신의 개발 현황
        • Ethernet 통신의 주요 특징 (PHY/MAC 계층)
        • Ethernet 통신의 주요 특징 (TCP/IP 계층)
        • 자동차 고속통신 기반 내부 네트워크 설계 및 검증
      • M2 (4시간) - 진단, 보정용 내부 통신기술 이해
        • 차량용 진단 통신의 개발 현황
        • 차량용 진단 통신의 종류별 특징
        • 전기차 보정통신의 개발 현황
        • 전기차 보정통신 종류별 특징
    • 3일차
      • M1 (3시간) - V2X 통신 기술의 이해
        • ITS/C-ITS와 V2X/C-C2X
        • V2X 통신 기술 개발 현황
        • V2V/V2I 통신의 특징과 활용
        • V2D 통신의 특징과 활용
      • M2 (4시간) - 자율주행자동차의 센서 통신 기술
        • GPS 센서 인터페이스 통신 기술
        • Radar 센서 인터페이스 통신 기술
        • Lidar 센서 인터페이스 통신 기술
        • Camera 센서 인터페이스 통신 기술

과거부터 차량 전장에 많이 활용되는 CAN 통신과 차량 내에서 대용량 데이터를 전송하기 위한 Ethernet 통신 그리고 미래에 V2X 통신 기술 구현을 위한 WAVE와 같은 프로토콜 등을 배울 수 있었다. 센서 통신 기술에서 SPI, I2C, UART와 같은 임베디드 분야에서 많이 활용하는 Serial 통신 프로토콜도 배울 수 있었는데 당시 봤었던 로봇 기업 채용 JD(Job Description)에서 해당 기술을 요구하는 것을 봐서 반가웠다.

최종평가는 심화과정 마지막 3일차 수업이 끝나고 바로 진행했다. 모비토라는 프로그래머스에서 개발한 온라인 테스트 플랫폼으로 진행했다.

시험 문제들은 심화과정 내용을 중심으로 출제된 50문제를 60분 내에 풀어서 제출해야했다.

심화 과정 3일 내내 풀타임 온라인 강의와 이후 곧바로 이뤄지는 시험 상황에서 복습하고 체화할 시간을 많이 주지 않는 매정한 시험이라고 느꼈다. 복습할 시간이 많이 없어서 우수학습자로 수여되는 것은 생각도 안 하고 심화과정이니까 이렇게 혹독한 과정도 커리큘럼에 암묵적으로 포함되어 있는게 아닐까 받아들이고 그냥 최선을 다하기로 했다.

이번 기회로 자율주행 분야의 통신이랑 네트워크 기술들을 학습하고 키워드들을 알 수 있어 좋았다. CAN, Ethernet, Serial 통신들을 좀 알아놓으면 나중에 로봇 분야에서 잘 써먹을 수 있지 않을까 생각했다. 그래서 시험은 이번 기회에 교수님과 같은 전문가가 어떤 지식을 중점적으로 생각하시는지 문제를 통해서 파악하고자 했고 이를 위해서 아는대로 최선을 다해 임하고자 했다.

시험 시간 5초 남을 때 까지 풀고 제출했다. 이후 현생 살면서 잊고 있다가 어느날 도착한 과정 수료와 우수학습자 수여 증명서를 보고 놀랐다. 시험 점수는 모르지만 그래도 과정에서 최선을 다했고 심화과정을 수료하고 우수학습자로 수여되어서 뿌듯함을 느낀다.

마치며

과정을 진행하면서 나는 자율주행 분야에서도 ‘통신 및 네트워크’와 ‘판단’ 분야에 좀 더 관심과 흥미가 있구나 깨달았다. 기본과정에서 얻은 인사이트를 바탕으로 이후 문제를 접할 때 마다 AI를 활용해서 어떻게 문제를 해결해볼 수 있을까 고려하는 등 관점을 넓힐 수 있었다. 심화과정에서 배운 Serial 통신을 활용한 아두이노 프로젝트도 현재 하나 진행하고 있다.

나는 현대자동차 H-Mobility Class의 자율주행 과정이 자율주행 뿐 아니라 로봇이나 IoT 분야에 관심있는 사람들에게도 도움이 된다고 믿는다. 이 글을 읽은 사람이 나와 맥락은 다르겠지만, 내 경험을 참고해서 도움이 되었으면 좋겠다.

This post is licensed under CC BY 4.0 by the author.