ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TWL : 프로그래머스 데브코스 운영일기 #12 제2회 자율주행 경진대회 (feat.고성능 실습 차량)
    교육 이야기/운영일기 2022. 3. 3. 17:58

    프로그래머스 마케터 썸머가 들려주는, 데브코스 교육생들의 성장기

     

    지난가을에 열린 자율 주행 경진 대회 늦은 이야기를 들고 왔습니다. 시간이 지나긴 했지만 자율주행 대회 영상으로는 부족할 거 같아 영상을 기반으로 콘텐츠를 재구성해 보았습니다. 또, 당시 1등 팀을 통해 프로젝트 기간을 어떻게 보냈는지에 대한 지난 이야기도 준비해 왔으니 자율 주행 데브코스가 마지막까지 어떻게 공부하는지 궁금하다면 읽어 보는 것을 추천합니다. 

     


     

    지금까지의 실력을 전부 쏟아내는 최종 경진대회 

    자율 주행 경진 대회는 5개월을 마무리하는 경진 대회로 수료식과 함께 진행됩니다. 최종 경진대회 이전에 두 번의 모의 경진 대회를 진행합니다만, 모의 경진 대회는 배운 내용을 복습하는 과정의 일환이었다면 최종 경진 대회는 사용하는 기술을 제한 없이 배운 내용을 토대로 얼마나 정확히 빠른 시간 내에 주행을 하는지가 목표입니다.   

    실제 경진 대회 지도

     

    위의 코스를 주행하는 것은 실제 자동차의 1/10 크기의 고성능 실습 차인데요. 우리가 배운 내용을 전부 실습할 수 있도록 다양한 장치가 달려 있답니다. 그러다 보니 한 대당 가격도 꽤 비싸다고 합니다. 

     

     

    700만 원이 넘는 고성능 실습 차량

    실제 배운 내용을 적용해서 주행해야 하기 때문에 최대한 실무에서 사용하는 센서 및 카메라를 활용하다 보니 스펙이 어마어마한데요. 자세한 스펙을 처음으로 공개합니다. 

    소프트웨어 : NVIDIA JetPack 4.x 
    카메라 : 단안 카메라(170도 어안렌즈) 및 Depth 카메라 
    라이다 : 2D, 12cm~12m, 5000 sampling/s 0.5 º degree, 2cm~1% resolution
    센서 : 초음파 센서 및 관성센서(IMU) 

    3기부터는 카메라를 활용한 자율 주행을 집중적으로 공부하기 위해 스테레오 Depth 카메라를 추가하였습니다. 물론, 카메라뿐만 아니라 라이더, 초음파 센서 및 관성센서도 있어서 관련 기술을 활용한 자율 주행 기술도 실습할 수 있습니다. 

     

     

    경진대회 주요 장면 미리 보기 

    최종 경진 대회는 4개의 팀이 참여해 2시간에 걸쳐서 진행되었습니다. 팀마다 두 번의 기회가 있었고 다들 열심히 해주었습니다. 팀 별 주요 장면을 함께 보실까요?

     

    <A#> 팀의 SLAM 주행 장면  (더보기

    <A#> 팀의 SLAM을 이용해 자율 주행을 보여주었어요. 지도의 모든 내용을 정밀하게 매핑하여 주행하였습니다. 우측 하단이 바로 그 화면이에요! 매핑을 하고 내 차량의 위치까지 확인할 수 있게 했어요. 

    01

     

     

    <런치 타임> 팀의 평행 주차 장면 (더보기)

    앞뒤로 자동차가 있는 상황에서 주차를 해야 하는 미션입니다. 이때 주차 공간은 그때그때 달라지기 때문에 다양한 경우를 연습해야만 하는데요. <런치 타임> 팀은 한 번에 평행 주차를 성공했습니다. 

    01

     

     

    <진우의 즐거운 자율주행> 팀의 T 주차 장면 (더보기)

    표지판을 인식한 후에 T 주차를 진행해야 하는 미션입니다. 이때 주차 영역 안에 바퀴 네 개가 전부 들어와야 하는데 빠르게 성공했습니다. 

    01

     

     

    <BOLD> 팀의 YOLO 인식 주행 장면 (더보기)

    YOLO를 활용해 이미지를 인식해서 지정된 지점에서 5초간 정지해야 하는 주행입니다. 첫 번째 남자 사진과 마지막 고양이 사진에서 5초간 정차해야 하는데요. 아주 정확하게 인식하며 주행하였습니다. 

    01

     

    최종 경진 대회의 생생한 모습이 궁금하다면 여기를 통해 전체 영상을 확인해 주세요. 모두가 열심히 했지만 최종 우승은 <런치 타임> 팀이 가져갔습니다. 최종 경진 대회를 준비하던 당시의 이야기를 들어 보고 싶어서 급하게 섭외를 했습니다. 바쁜 시간에도 정성스럽게 답변을 해주셔서 감사했어요. 

     

     

    <런치타임> 팀의 이야기 

     

     

     

    최종 경진 대회를 준비하면서 아쉬웠던 점이 있으신가요?

    김병수 : 최종 경진 대회를 위해 팀 방향성에 대해 처음 논의를 했던 적이 있어요. 그 당시 도전적인 방식으로는 2주라는 준비 기간 내에 해결하지 못할 가능성이 있다고 생각해서 코스를 주행하는 쉬운 방법으로 빠르게 문제 해결한 후에 시간이 남으면 도전적인 방법들을 시도해 보는 것으로 방향을 잡았습니다. 아무래도 다른 팀들과 달리 쉬운 방법으로 접근해 나갔기에 결과적으론 1등을 할 수 있었지만, 좀 더 도전적인 방법으로 해내지 못한 아쉬움이 있습니다.

    최재원 : 저도 비슷한 아쉬움이 있습니다. 정해진 시간 안에서 기존에 배웠던 지식을 이용해 프로젝트를 진행하다 보니 적용하고 싶은 기술들이 한정적이었어요. 다른 기술적인 방법들을 적용해 보았다면 비록 1등은 하지 못하더라도 성장할 수 있는 기회가 되었을 것 같은데 1등을 목표로 하다 보니 아쉬움이 남아요. 

    임경묵 : 저는 기술적인 부분을 짚고 싶어요. 저희 팀이 주로 사용했던 기술이 Object Detection, SLAM, Path planning이었는데요. 최신 논문 기반으로 기술들을 더욱 많이 사용하지 못해 아쉬웠습니다.

     

    프로젝트를 통해 배운 점이 있다면 무엇이 있나요?

    최재원 : 계획과 소통의 중요성을 배우게 되었습니다. 기존에 모의 경진 대회나 실습을 진행할 때는 일단 시작해 보고 문제점이 발생하면 그때그때 해결하는 방식으로 프로젝트를 진행하곤 했었습니다. 최종 프로젝트를 통해 미션을 어떤 방법으로 할지, 누가 적합할지 등의 계획을 세우고 진행하니 수월하게 프로젝트를 할 수 있었습니다. 또한, 모르는 것은 질문해 나가고, 현재 상황 공유 등을 통해 서로 도우며 했기 때문에 1등이라는 결과를 얻을 수 있었던 것 같습니다.

    김병수 : 세 가지로 요약할 수 있을 거 같아요. 먼저 계획입니다. 기간이 정해져 있는 프로젝트였기에 목표를 이루어가는 전체적인 그림을 그리고 각 과정에 필요한 비용을 적절히 예측하고 할당하는 것이 목표를 달성하는데 중요하다는 것을 배웠어요. 그리고 전략의 중요성을 배웠습니다. 문제를 해결하기 위한 여러 가지 방법들을 염두에 두고 합리적인 방법을 적절히 선택하고 상황에 따라 유연하게 수정하며 적용해 나가는 것이 중요했죠. 마지막으로 원활한 협업이라고 생각합니다. 각자 능력을 잘 발휘할 수 있는 위치에서 맡은 일에 충실히 하고 더 나아가 서로의 부족한 점을 보완하며 유기적으로 협업하는 것이 중요하다는 것을 깨달았습니다. 

    임경묵 : 자율주행의 중요한 요소 인지, 판단, 제어 중에서 특히 인지와 제어 쪽에 많은 경험을 했습니다. 카메라를 활용한 영상처리 및 Object detection 활용, AR 태그 인식, 2D LiDAR 센서, 초음파 센서, PID 제어 등을 핵심 기술로 사용했습니다. 기술뿐만 아니라 프로젝트 전체적인 측면에서도 처음 브레인스토밍을 통한 아이디어 공유 및 계획 수립, Git을 통한 협업, 효율적인 코드를 위한 객체화, 문서 작업 등 개발에 필요한 여러 가지 작업을 한 경험이 유익했습니다.

     

    아쉬움도 배운 것도 많으신데요. 가장 기억에 남는 사건이 있나요?

    임경묵 : 최종 경진 대회에서 처음 신호등을 인식해서 출발하는 순간부터 다양한 미션을 수행하고 마지막에 평행 주차를 완료해서 긴장이 풀렸던 그 순간이 가장 기억에 남습니다. 팀원들과 같이 머리를 맞대며 노력해온 순간들이 주마등처럼 스쳐가면서 더욱더 성장한 것 같은 느낌을 받았습니다.

    최재원 : 방학 기간에도 팀원들이 빠지지 않고 매일 나와 노력한 것이 기억에 남습니다. 심지어 집에 갈 시간이 다 되어도 끝까지 열정적으로 프로젝트를 하곤 했었어요. 아무도 강요하는 사람이 없었지만 각자 맡은 부분을 열심히 하는 모습을 보면서 저도 집중해서 할 수 있었습니다.

    김병수 : 각자 역량에 맞게 맡은 바 역할을 충실히 하여 원활한 팀워크를 이뤘던 것이 기억에 남습니다. 초반에 구조를 짜기가 힘들었는데 제가 멘토였지만 팀원에게 도움받기도 하고 각자 서로서로 부족한 부분을 보완해 냈던 것이 인상 깊습니다.

     

     


     

    고성능 실습차량으로 다양한 프로젝트를 진행하는 자율주행 데브코스 과정이 궁금하다면?
    아래 버튼을 클릭해보세요! 

     

    댓글

Programmers