캠퍼스 자율주행 셔틀버스, WATonoBus 설계

ADAS 기술 개발을 위한 이상적인 플랫폼인 자율주행 셔틀


캐나다 University of Waterloo는 캠퍼스를 둘러싼 2.7km의 순환도로를 운행하는 자율주행 셔틀버스인 WATonoBus의 윙윙거리는 소리로 매일 떠들썩합니다. 학생, 교직원 및 방문객을 위해 제공되는 이 자율주행 셔틀은 세계 최대 규모의 학술 자동차 연구소 중 한 곳인 MVS(Mechatronic Vehicle Systems Lab)에서 진행하는 여러 혁신적인 프로젝트 중 하나입니다.

15년 넘게 운영 중인 MVS Lab은 업계 거대 기업인 General Motors를 비롯한 수많은 조직 및 OEM(주문자 상표부착 생산업체)과 협력해 왔습니다.

University of Waterloo의 기계공학과 교수이자 MVS Lab의 소장인 Amir Khajepour 박사는 “보통 40~50명 정도의 대학원생, 엔지니어, 박사후 연구원 그리고 기술자가 근무하고 있습니다.”라고 말했습니다.

6년 전, 이 연구소는 Canadian Foundation for Innovation으로부터 초기 자금을 지원받아 자율주행 프로젝트에 착수했습니다. 이후 WATonoBus라고 명명된 이 프로젝트는 수십 명의 학생이 참여했으며 자율주행 모빌리티를 위한 다양한 기술을 개발하는 플랫폼으로 진화를 거듭했습니다.

자율주행 WATonoBus가 횡단보도에 서 있는 남성이 버스 앞으로 건너갈 수 있도록 교차로에 정차한 모습.

WATonoBus. (이미지 출처: University of Waterloo)

문제 분석

WATonoBus 프로젝트는 자율주행 모빌리티 연구 및 교육을 위한 플랫폼 구축을 목표로 시작되었습니다. 매년 학생들이 MVS Lab에 들어왔다가 나가는 학업 환경을 고려할 때, 최소한의 학습 시간만 소요되는 플랫폼이 필요했습니다. 그래야 대학원생들이 플랫폼 자체에 대한 학습보다는 연구개발에 대부분의 시간을 할애할 수 있었기 때문입니다.

“잘 정의된 모듈을 갖춘 플랫폼이 필요해요. 그런 플랫폼이 있어야 팀이 모듈을 이해하는 동시에 개발을 계속할 수 있기 때문이죠.”

“저에게 가장 중요한 것 중 하나는, 학생들이 계속 들어왔다 나갔다 하는 구조이다 보니 우리가 만드는 플랫폼을 학습하는 데 오랜 시간이 걸리지 않아야 한다는 것이었습니다.” Khajepour 박사의 설명입니다. “잘 정의된 모듈을 갖춘 플랫폼이 필요해요. 그런 플랫폼이 있어야 팀이 모듈을 이해하는 동시에 개발을 계속할 수 있기 때문이죠.”

이 문제를 해결하기 위해 팀은 WATonoBus 프로젝트를 각각 단순성과 접근성을 위해 설계된 몇 가지 핵심 모듈로 나누었습니다. 첫 번째 단계는 카메라, 라이다, 레이다 및 GPS를 포함한 다양한 센서를 셔틀에 장착하는 것이었습니다. 그런 다음 셔틀 센서의 입력을 처리하고 이를 융합하여 도로 및 주행 가능 지역 외에 자동차, 물체, 사람의 위치, 속도, 방향과 같은 중요한 정보를 추출하는 인식 모듈을 만들었습니다.

팀은 의사결정, 모션 계획, 제어 및 건전성 모니터링을 담당하는 다른 모듈을 개발했습니다. MATLAB® 및 Simulink®를 사용해 개발된 이러한 모듈은 다른 모듈과 상호 작용하면서 셔틀의 자율주행에 중요한 작업을 수행합니다. 이러한 모듈의 출력은 가속 및 속도 수준, 조향 각도, 제동과 같은 제어 명령으로, 실행을 위해 WATonoBus로 전송됩니다.

비디오 길이: 0:35

어느 겨울날에 대한 인식 결과. (비디오 출처: University of Waterloo)

“일반적인 상위수준 소프트웨어 아키텍처를 구성했습니다.” Khajepour 박사의 말입니다. “인식 부품에는 많은 양의 GPU 출력이 필요했기 때문에 NVIDIA® 프로세서를 사용했어요. 하지만 나머지 시스템은 모두 Simulink 및 MATLAB을 사용해 개발했습니다.”

두 모듈은 ROS(로봇 운영 체제)를 통해 통신합니다. 이 오픈 소스 소프트웨어 프레임워크는 로보틱스 및 자율주행과 같이 실제 세계와 상호 작용하는 애플리케이션을 개발하기 위한 툴, 라이브러리 및 드라이버를 제공합니다. ROS는 publisher-subscriber 시스템에서 작동하므로 시스템의 여러 노드가 정보를 교환할 수 있습니다.

WATonoBus의 경우 인식 모듈은 해당 결과와 예측을 ROS에 게시합니다. 그러면 의사결정 및 제어 모듈이 이러한 ROS 토픽을 구독하여 생성되는 인식 정보를 수신합니다. 이 모듈이 데이터를 처리하고 나면 출력을 다시 ROS에 게시하고, ROS는 셔틀버스 제어 액추에이터에 하위수준 명령어를 전송합니다.

시뮬레이션을 통한 훈련

자율주행 자동차를 개발할 때 가장 어려운 점은 모델 훈련을 위한 데이터를 확보하는 것입니다. 실제 데이터를 수집하는 일은 여러 안전 및 규제상의 문제를 동반하는 만큼 오랜 시간이 걸리고 비용이 많이 드는 과정입니다. 이러한 문제를 피하기 위해 엔지니어는 자율주행 자동차를 구동하는 인공 지능 시스템을 위한 대부분의 훈련에 대해 일반적으로 시뮬레이션 환경에 의존합니다.

“실제 플랫폼, 그러니까 셔틀버스에서 모든 것을 실행하는 대신 MATLAB 및 Simulink 환경을 사용해서 그러한 시나리오를 생성했습니다.”

시뮬레이션을 통해 팀은 실제 자동차에 모델을 배포하지 않고도 다양한 시나리오에서 모델을 훈련하고 테스트할 수 있습니다. 시뮬레이션은 비용을 절감하고 자율주행 모델의 훈련 속도를 높여줍니다. 모델이 준비되면 차량에 배포되고, 실제 도로에서 추가 테스트를 거쳐 세밀하게 조정할 수 있습니다.

Khajepour 박사는 “실제 플랫폼, 그러니까 셔틀버스에서 모든 것을 실행하는 대신 MATLAB 및 Simulink 환경을 사용해서 그러한 시나리오를 생성했습니다.”라고 말했습니다.

팀은 Automated Driving Toolbox™에 포함된 Driving Scenario Designer를 사용하여 시뮬레이션된 환경을 위한 시나리오 생성기를 만들 수 있었습니다. 엔지니어들은 이 툴을 사용해 자동차에 설치된 모든 센서와 함께 다양한 환경, 도로, 액터 모델을 구성할 수 있었습니다. 시뮬레이션된 환경은 인식 모듈이 실제 세계에서 마주칠 수 있는 자동차와 물체의 위치를 제공합니다.

기본 아키텍처와 마찬가지로 이 정보는 ROS에 게시되고 의사결정 및 모션 계획을 담당하는 모듈에 전달됩니다. 그런 다음 제어 모듈의 출력은 ROS로 반환되고 셔틀을 제어하는 명령으로 가상 환경에 다시 전달됩니다.

비디오 길이: 0:10

팀은 Automated Driving Toolbox를 사용하여 시뮬레이션된 환경을 위한 시나리오 생성기를 만들 수 있었습니다. (비디오 출처: University of Waterloo)

Khajepour 박사는 “우리가 만든 시나리오 생성기는 모든 차량, 보행자 그리고 T자형 교차로나 기타 교통 상황과 같은 모든 경우에 대해 위치, 속도 및 기타 인자에 대한 모든 유형의 분포를 추가할 수 있도록 설계되었습니다.”라고 설명했습니다. 이 접근법을 통해 팀은 자주 일어나지는 않지만 일반적으로 “경계 조건”이라고 하는 자율주행 셔틀의 안전성을 테스트하는 데 중요한 까다로운 시나리오를 포함하여 다양한 시나리오를 빠르게 생성할 수 있었습니다.

시뮬레이션에서 팀이 해결해야 했던 문제 중 하나는 셔틀이 정차, 문 열기, 승객의 탑승 대기 등 다양한 시나리오에서 수행해야 하는 작업의 순서였습니다. 이 문제를 해결하기 위해 Stateflow®를 사용하여 상태 머신을 설계함으로써 복잡한 다단계 연산에 대한 의사 결정 로직을 모델링하고 시뮬레이션할 수 있었습니다.

Simulink를 통해 모델 예측 제어 및 PID 제어기로 차량 동역학 정보를 시뮬레이션할 수 있었습니다.

실제 테스트

WATonoBus의 모델 개발은 반복적인 과정입니다. 각 반복은 시뮬레이션 환경에서 시작되는데, 여기서 연구팀은 Simulink와 Driving Scenario Designer를 사용하여 다양한 상황과 경계 조건에서 시스템을 테스트합니다. 시뮬레이션에서 모델의 강건성이 입증되면 차량에 배포하여 실제 환경에서 테스트할 준비가 된 것입니다.

이러한 전환을 위해 엔지니어들은 Embedded Coder®를 사용하여 차량 내 컴퓨터에서 실행할 수 있는 실행 가능 패키지로 MATLAB 소프트웨어를 변환합니다. 소프트웨어를 차량에 설치한 다음, 교통 상황과 객체를 완전히 제어할 수 있는 특수 환경에서 테스트를 진행합니다. 이를 통해 시뮬레이션 훈련에서 놓쳤을 수 있는 문제를 발견할 수 있습니다.

“일반적으로 실제 테스트의 초반부에서는 몇 가지 어려움을 겪곤 해요. 시뮬레이션 환경으로 돌아가서 시스템을 조정하고 셔틀에 다시 배포하죠. 성능에 대한 확신이 들고 나면 캠퍼스의 대학 순환도로에서 테스트를 진행합니다.”

비디오 길이: 0:30

팀은 차량 내 컴퓨터에 MATLAB 소프트웨어를 설치하고 대학 캠퍼스에서 실제 테스트를 진행했습니다. (비디오 출처: University of Waterloo)

“일반적으로 실제 테스트의 초반부에서는 몇 가지 어려움을 겪곤 해요.” Khajepour 박사의 말입니다. “시뮬레이션 환경으로 돌아가서 시스템을 조정하고 셔틀에 다시 배포하죠. 성능에 대한 확신이 들고 나면 캠퍼스의 대학 순환도로에서 테스트를 진행합니다.”

2.7km에 달하면서 모든 학과, 주차장 및 기타 시설이 연결된 분주한 순환도로는 종합적인 시험장 역할을 합니다. 이 도로는 보행자, 자전거, 차량, 도로 상황이 혼재하고 있어 도시 환경의 복잡성을 그대로 반영하고 있습니다.

“순환도로는 도시 환경을 아주 잘 표현하고 있어요.” Khajepour 박사의 말입니다. “캐나다에서 어려운 점 중 하나는 변화무쌍한 기상 조건에서도 셔틀이 잘 작동할 수 있게 해야 한다는 거예요.”

모델이 순환도로의 WATonoBus 셔틀에 배포되면, 세이프티 드라이버가 주의 깊게 지켜보는 가운데 팀은 WATonoBus가 처리하기 어려운 새로운 상황과 시나리오를 파악합니다. 그런 다음 이러한 시나리오를 시뮬레이션에서 재현하고 다시 사이클을 새롭게 시작합니다. 현재 팀은 이러한 반복적인 접근법을 사용하여 두 가지 주요 소프트웨어 버전을 출시하고 모델과 하드웨어를 수정했습니다.

일반에 공개

Khajepour 박사와 그가 이끄는 팀은 규제 당국으로부터 승객을 태우고 순환도로에서 WATonoBus를 운행할 수 있는 승인을 받으면서 의미 있는 이정표에 도달했습니다. 이제 매일 대중이 자율주행 셔틀을 이용할 수 있게 된 것입니다.

Khajepour 박사는 “데이터를 수집하고 각 데이터 조각이 어떻게 결합되는지 확인하기 위해 하루에 한 시간 정도 운행하고 있습니다.”라고 말했습니다.

WATonoBus는 경로 중 5개 위치에 정차하여 캠퍼스 내 주요 위치에서 승객을 태우고 내려줍니다. 셔틀은 운행 시작 이후 캠퍼스를 이동하는 학생들 사이에서 점점 인기를 얻고 있습니다.

“WATonoBus 프로젝트에서 알게 된 것들을 자율 지하 채굴, 의료 시설의 자율주행 모빌리티, 자동화된 물류 작업장, 농업 등 다른 응용 분야에 적용하고 있습니다.”

WATonoBus는 주요 기능을 넘어 혁신을 위한 플랫폼으로 진화하여, 공공 도로에서의 자율주행을 훨씬 뛰어넘는 응용 분야의 기술 개발을 촉진하고 있습니다.

Khajepour 박사는 “WATonoBus 프로젝트에서 알게 된 것들을 자율 지하 채굴, 의료 시설의 자율주행 모빌리티, 자동화된 물류 작업장, 농업 등 다른 응용 분야에 적용하고 있습니다.”라고 설명했습니다.

또한 팀은 순환도로에서 버스의 위치를 표시하고 서비스 일정을 제공하는 WATonoBus 모바일 애플리케이션도 개발했습니다. 이 앱은 학생과 다른 승객의 피드백을 수집하는 데 유용한 툴의 역할을 하면서 팀이 셔틀 및 소프트웨어에 대한 개선 영역을 파악하는 데 도움을 줄 것으로 보입니다.

WATonoBus 프로젝트는 많은 학생의 논문 작업을 위한 실질적인 테스트베드입니다. 프로젝트에 참여하고 있는 한 박사과정 학생은 “저는 의사결정 모듈에서 확실성 처리와 관련된 연구를 하고 있는데요. 언젠가는 제 논문 작업이 WATonoBus 테스트베드에 배포되어 제 연구가 셔틀의 성능을 향상할 수 있는지 확인하고 싶습니다.”라고 밝혔습니다.


다른 사례 읽기

패널 내비게이션
패널 내비게이션

자율주행

미래를 향해 가는 길

완전 자율주행 차량으로 가는 길

패널 내비게이션

로보틱스

인디애나폴리스 모터 스피드웨이를 질주하는 무인 레이싱카

인디 자율주행 챌린지 우승의 비결은 디지털 트윈과 시뮬레이션