Planning & Prediction 유닛의 이야기
For the Safety, Beyond the Safety.
안녕하세요 RideFlux 입니다.
지난 Perception 유닛에 이어서 자율주행 차량의 예측과 계획 개발을 진행하고 있는 Planning&Prediction 유닛 인터뷰를 진행했습니다.
Planning&Prediction 유닛은 구체적으로 어떤 기술을 개발하고 있고, 유닛 안에서 어떤 이야기들이 펼쳐지고 있을까요?
지금 확인하러 가보시죠!
래건님: 회사에서 막내를 담당하고 있는 래건입니다.
본준님: 가슴속에 낭만이 가득한 본준입니다. (갬성보이)
덕화님: 고향으로 돌아온 덕화입니다.
힘찬님: 유니콘 라이더 힘찬입니다. (RideFlux, 유니콘이 되어봅시다!)
지웅님: P.P(Planning&Prediction)를 비롯해 다른 분야도 관심이 많은 개발자 지웅입니다.
소현님: 이것저것 하고 Prediction도 개발하는 소현입니다.
지훈님: 지훈입니다.
본준님: Planning&Prediction 그 자체의 의미대로 주행 차의 주변 환경을 예측하고, 어떻게 움직일 지 계획하는 기술 개발을 진행하고 있습니다.
래건님: 다시 말해 다른 차량이나 보행자들이 어떻게 움직일지 예측하고, 우리 자율주행 차량이 어떤 경로를 어떤 속도로 움직일지 결정하는 프로세스를 개발하고 있습니다.
안전한 운행을 위해 다른 차량과 충돌하지 않도록 감속을 하거나, 편안한 승차감을 제공하기 위해 급가속/급감속을 하지 않도록 가속도를 조절하는 등의 과정을 거치며, 그에 따라 정지선에 정지하거나, 차선을 변경하거나, 정차 차량을 회피하는 등의 움직임을 계획하는 일을 하고 있습니다.
어떻게 보면 법을 지키면서 안전하고도 편안하도록 움직임을 예측하고 계획하는 유닛이라고 볼 수 있습니다.
힘찬님, 지웅님: 목적지가 정해졌을 때, 출발지에서 목적지까지 최적화된 경로를 생성하는 기술을 보유하고 있어요. 그뿐만 아니라 당초 계획한 경로대로 가지 못했을 경우, 내비게이션처럼 새로운 경로를 탐색하고 업데이트하여 주행하도록 하는 기술도 개발하고 있기도 하죠.
또, 자율주행 차가 안전하고 승차감 좋게 주행할 수 있는 물리적 경로를 실시간으로 생성하는 기술도 만들고 있습니다.
본준님: 거시적인 경로 계획을 위한 포맷이 제작되어 있고, 로컬 플래닝(interviewer 각주 - 주변 환경을 인지하고 장애물을 회피하는 등의 임시 경로를 생성)의 단기적인 계획을 위한 지도도 생성되어 있습니다.
그렇기 때문에, 그 위에서 예측하는 것부터 진행하게 되는 것이죠. 다른 차량 혹은 보행자, 사물이 어떻게 움직일지 예측하는 작업은 Prediction 파트에서 진행하고 있습니다.
예측 작업까지 준비가 되면 감가속을 어떻게 해야 할지, 지금 차선을 변경해도 되는지 등에 대한 판단은 Planning 파트에서 진행하고 있습니다. 이러한 총체적인 부분을 연결하여 차량이 따라갈 경로를 생성하게 되는 것이죠.
덕화님: 마지막 단계로, 실제 마주칠 수 있는 여러 상황 그리고 엣지 케이스 상황을 테스트 케이스로 만들고 유지보수하는 작업도 하고 있습니다. 실제 차량에 업데이트하기 전에 여러 상황을 시뮬레이션해서 문제없는지 확인하는 작업까지 진행하고 있죠.
소현님: 처음 개발할 때는 제한된 상황에서만 진행하게 되는데, 예를 들어 차선을 따라가고, 신호를 잘 지키고, 목적지에 멈추는 등 단순하고 국소적인 부분에서 시작하게 돼요. 이로부터 점점 대응할 수 있는 상황이나 수준을 높여가서 모든 상황에 대해 대응할 수 있도록 기술을 고도화하는 것이 가장 큰 목표라고 생각합니다.
지웅님: 같은 상황에 대해서도 사람이 운전할 때와 같이 자연스럽게 그리고 안전하게 운행될 수 있도록 예측하고 계획하는 작업을 계속 발전시켜 나가고도 있습니다.
소현님: 주간 회의를 하면서 초반에는 아이데이션 하는 시간을 많이 가졌어요. 문제가 있다면 먼저 어떻게 풀지 다 같이 모여 생각하고, 그다음 주에 모여 아이디어를 구체화하는 시간이 있었던 것이 가장 큰 매력이라고 생각합니다. 현재 단기적으로 해야 할 일들이 있어서 스케줄 때문에 멈춰져 있지만, 이런 것들이 지속되었으면 좋겠고, 성장하는 데 큰 도움이 될 것 같아요.
지웅님: 저희만의 특성이라고 하면, 딱 떨어지는 정답이 없는 포지션인 게 큰 특징이라고 생각해요. 차량의 현재 위치를 정확하게 알아내고, 신호등, 보호자 등을 인지하는 것에는 객관적인 하나의 답이 있어요. 하지만 플래닝이 풀어야 하는 어떻게 운전하는 것이 옳은가라는 문제는 주관적인 요소도 많아 기본적으로 정답이 하나만 있지는 않아요. 따라서, 우리 차는 어떻게 주행할 것인가를 두고 주간 회의에서 많은 아이데이션과 논의가 이루어지는 것이 P.P(Planning&Prediction)유닛만의 특징이지 않나 싶어요.
본준님: 논외의 얘기지만, 현재는 기술 고도화를 하고 개선하려다 보니, 다른 문제가 발생하는 경우가 있었습니다. 그래서 더 안정적으로 기술 고도화를 진행하기 위해 체계를 잡고 있고, 리팩토링 작업을 진행하고 있습니다.
래건님: 실차에서 직접적으로 드러나는 부분이 제일 많은게 플래닝 쪽이라 생각합니다. 플래닝에서 기능을 추가하거나 개선했을 때, 차에서 두 눈으로 확인할 수 있죠. Perception과 같은 다른 유닛에서는 기능을 개선했다고 해도 운행했을 때 보이지 않는 부분들이 많다고 생각하는데, 플래닝에서는 최근에 편향 주행 기능을 추가했을 때나, 적색 신호등일 때 일시 정지했다가 우회전하는 기능들을 추가했을 때,
차를 타보고 ‘이 기능은 내가 만들었어!’ 할 수 있는 것에 큰 만족감을 느낄 수 있는 유닛인 것 같아요. 가족들에게 자랑할 수 있는 것도 큰 장점이죠. (하하)
본준님: 나중에 도덕적으로 판단을 해야 할 문제가 발생할 텐데, 다 예측할 수 있는 것은 아니지만, 책임의 소재가 될 수 있다는 부담감을 가지게 되는 것 같아요. 그래서 더 완벽을 추구하고, 정확하게 예측하고 계획할 수 있도록 기술 개발을 진행하고 있고, 도로의 안전을 위해 많이 힘쓰고 있습니다.
래건님: 11월 탐라자율차 서비스 시행에 앞두고, 2~3주 전에 주어진 편향 주행 기능 추가를 잘 해냈던 경험이 제일 인상 깊습니다. 코드 구현도 하고 실차 테스트도 해야 하다 보니 기한이 그렇게 길지 않았는데, 그안에 뭔가 해내는 게 퀘스트 깨는 느낌이 들어 재미있었습니다. (기분이 좋아요~)
덕화님: 서귀포 혁신도시 처음 서비스 진행할 때가 기억나네요. 첫 구역형 서비스를 진행한 것이기도 하고, 비보호 교차로가 많이 있어 기술적으로 새로 구현한 것들이 많이 있던 걸로 기억합니다. 얼마 남지 않은 시간에 우여곡절을 많이 겪었지만, 그 기억이 꽤 오래 인상 깊게 남는 것 같아요.
지웅님: 역시 타이트한 시간에 맞춘 프로젝트, 우여곡절 에피소드들이 결국엔 기억에 많이 남는 것 같아요. (하하)
IPS(Interviewer 각주 - RideFlux와 Socar가 함께 진행했던 프로젝트, Initial Public Service) 진행 할 때, 매주 회사 모든 분들이 모여 발생한 이슈에 대해 어떻게 해결할지 아이디어 내고, 반영했던 기억이 새록새록 나네요.
힘찬님: 공간적으로 서울-제주 분리되어 있어서 소통하기 어려운 부분이 아쉬워요. 목적 지향적으로 소통은 잘 되지만, 지나가다가 조언을 듣거나 사담을 하는 것의 한계가 존재해서 아쉽고, 어떻게 이런 부분을 해결할 수 있을지 고민이 됩니다.
래건님: 최근에 지금까지 해 온 것을 문서화하는 작업을 거치고 있습니다. 그 과정에서 내가 생각했을 때 당연하다고 생각하는 부분까지 작성을 해야 하다 보니, 어떻게해야 잘 정리할 수 있을지 고민하고 있습니다.
본준님: 여러 가지 다양하게 해 보고 싶은 마음이 있는데요. 그걸 회사에서 실현해 볼 수 있어서 좋기도 하면서, 때로는 시간적 여유가 없어지는 것에 대해 아쉬움이 있고, 어떻게 하면 더 효율적으로 일할 수 있을까 고민중입니다.
소현님: 예전에는 개발하면 실차 테스트를 내부적으로 진행되므로 프로세스가 빨랐는데, 서비스도 하고, 다양한 일을 많이 하다 보니 피드백이 늦어지는 느낌을 많이 받아요. 이런 것들이 어떻게 하면 효율적으로 빠르게 돌아갈 수 있을지 고민을 하게 되는 것 같아요. 프로세스적으로 긴 호흡으로 하진 않았는데, 회사 규모가 커지면서 체계화해야 하는 부분에서 발생하는 부작용을 줄일 수는 없을까 고민하고 있습니다.
본준님: 저는 커뮤니케이션 역량을 많이 보게 되는 것 같아요. 유닛에서 토론하고 회의에서 의사 결정되는 것이 많기 때문에, 의사소통이 잘 되는 사람이었으면 좋겠어요.
소현님: 알고리즘 코딩이 중요한 유닛인 만큼, 알고리즘 코딩을 면접에서 보게 됩니다. 그렇다 보니 알고리즘 개발을 잘하시는 것을 중요하게 보고, 문제에 접근하는데 힌트를 드렸을 때 스마트하게 캐치를하고, 이해력이 좋은 분들에 눈길이 많이 가죠.
지웅님: 기술도 당연히 중요하지만, 본준님이 말씀하신 것처럼 저희는 논의를 통한 결론들이 많이 나오는 유닛이에요. 그렇다 보니 커뮤니케이션이 잘되고, 이해한 것을 코드로 잘 옮겨 내실수 있는 분이라면 두 손 들고 환영합니다.
힘찬님: 정답이 없는 것들을 개발하는 유닛이다 보니, 비판적인 사고를 하고, 우리가 개발한 것들의 부작용을 예측할 수 있으신 분. 그리고 아이디어를 잘 떠올려 구체화할 수 있는 분들을 높이 평가하게 되는 것 같아요.
본준님: 일 잘되는 날이 가끔 찾아오는데, 그런 날이 자주 올 수 있었으면 좋겠네요. (하하) 운동하고 푹 잤을 때 컨디션이 대부분 좋은데, 그런 날을 많이 만들려고 노력 중입니다.
힘찬님: 사실 당근과 채찍을 스스로 줄 수 있다면 동기부여 하는데 충분할 것 같아요. 하기 싫은 부분이 있어도, RideFlux의 목표인 도로의 안전을 책임지고 있다고 생각하고, 실제로 결과물을 도출해 냈을 때를 상상하면 기분이가 조크든요~
래건님: 일이 잘되는 날도 있지만 하기 싫은 날도 있는데, 그런 때에도 할 수 있는 만큼만 해보자는 마인드로 일하면 어떻게든 되는 것 같아요.
힘찬님: for the safety, beyond the safety에 기여하는 것이 저의 최종적인 목표입니다. 기술개발에 있어서든지 개인적인 목표에서든지, 자율주행 기술이 정말 안전하다는 것을 사람들이 믿고 그 믿음을 설파하는 것을 목표로 두고 있기도 합니다.
어떻게 보면 자율주행 기술에 대한 가능성을 사람들에게 열어주는 것이 회사의 방향이기도 하지만, 저의 꿈이기도 합니다.
지웅님: 힘찬님과 비슷한 맥락이지만, 안전하고 편안한 자율주행이 실제로 가능하다는 것을 보이고, 그 과정에서 최대한 기여하는 것이 저의 목표입니다.
래건님: 플래닝은 점점 더 일반적으로 만날 수 있는 많은 상황에 대응할 수 있도록 발전해야 한다는 목적이 있습니다. 그래서 해결해야 할 크고 작은 문제들이 많은데, 해결책이 명확하게 정해진 것은 없다고 봐도 무방하죠. 그래서 생각할 수 있는 여러 가지 방법들을 회사에서 도전해 볼 수 있다고 생각해요. 원하는 만큼 RideFlux에서 다 해보는 것이 목표이고, 가능한 최선의 방법들을 시도해 보는 것을 개인의 목표로 두고 있습니다.
본준님: 회사로 인한 사고 없이, 탈 없이 우상향하는 회사를 이루어 나가는 데 기여하는 것이 제일 큰 목표이고요. 기술적으로나 규모적으로 성장하는 것에 가장 크게 기여를 하고 싶습니다.
덕화님: 저는 예상치 못한 문제가 차에서 처음 발견되지 않도록 미리 잘 대응하고 운영할 수 있도록 하는 것이 목표입니다.
본준님: 우리 신나게 해 봅시다!
힘찬님: RideFlux 화이팅입니다!
래건님: RideFlux 지금까지 잘 해온대로, 이대로만 갑시다!
RideFlux가 서울 지역 확장하면서 당산 오피스에도 근무 중이신 분들이 많습니다!
Planning&Prediction 유닛에서 힘찬님과 지웅님은 당산 오피스에서 근무중 이시기 때문에, 구글밋으로 인터뷰에 참여해 주셨습니다.
다양한 시각과 고찰이 필요한 유닛인만큼 모두 능력자의 면모를 뿜뿜해 주셨는데요.
인터뷰를 통해 조금 더 심도 있는 이야기들 그리고 자율주행 지식에 대해 많이 알 수 있었던 시간이었습니다.
다음에는 어떤 유닛의 이야기가 기다리고 있을까요?
앞으로도 많은 기대와 관심 부탁드리겠습니다!