[AUTOWARE] Autoware Basic part.5

Autoware.universe에 적용된 realtime os에 대한 기술적 설명

SpringCloud
SpringCloud.Official
4 min readMay 16, 2023

--

Autoware.universe는 실시간 운영 체제 (RTOS, Real-Time Operating System)를 사용하여 자율주행 소프트웨어의 실시간 처리 요구 사항을 충족합니다. 실시간 운영 체제는 일반적인 운영 체제와는 달리, 정해진 시간 내에 작업을 완료하고 결과를 반환하는 것을 목표로 합니다. 이는 자율주행 차량에서 센서 데이터 처리, 경로 계획, 차량 제어 등과 같은 실시간 작업에 매우 중요합니다.

Autoware.universe의 RTOS에 대한 기술적 설명은 다음과 같습니다.

1. 선점형 스케줄링 (Preemptive scheduling): 실시간 운영 체제는 일반적으로 선점형 스케줄링을 사용하여 고정된 우선 순위에 따라 작업을 실행합니다. 이를 통해, 높은 우선 순위의 작업이 낮은 우선 순위의 작업을 중단시켜 필요한 경우 즉시 실행될 수 있습니다.

2. 정해진 시간 제한 내의 작업 완료: RTOS는 정해진 시간 제한 내에 작업을 완료하는 것을 보장합니다. 이를 통해, 자율주행 소프트웨어의 실시간 처리 요구 사항을 충족하고 시스템의 예측 가능한 성능을 제공할 수 있습니다.

3. 낮은 지연 시간 (Low latency): 실시간 운영 체제는 낮은 지연 시간을 갖도록 최적화되어 있습니다. 이는 자율주행 소프트웨어의 센서 데이터 처리, 차량 제어 등에 중요한 요소로, 빠른 응답 시간을 보장하며 전반적인 시스템 성능을 향상시킵니다.

4. 자원 관리 (Resource management): 실시간 운영 체제는 자원 관리를 효율적으로 수행하며, 메모리, CPU, 주변장치 등의 자원을 할당하고 반환합니다. 이를 통해, 시스템의 안정성과 효율성을 유지하면서 작업을 실행할 수 있습니다.

5. 결정론적 (Deterministic): RTOS는 결정론적인 시스템으로, 동일한 입력에 대해 항상 동일한 출력을 생성하며, 예측 가능한 실행 시간을 갖습니다. 이러한 특성은 자율주행, 차량의 실시간 요구 사항과 안전 관련 작업에서 매우 중요합니다. 예측 가능한 실행 시간을 통해 시스템의 성능을 최적화하고, 실시간 반응이 필요한 작업에 대해 신뢰성을 보장할 수 있습니다.

6. 우선순위 상속 (Priority Inheritance): 실시간 운영 체제에서는 우선순위 역전 문제를 해결하기 위해 우선순위 상속 기법을 사용합니다. 이를 통해, 낮은 우선순위의 작업이 공유 자원을 점유하고 있는 동안 높은 우선순위의 작업이 대기하는 문제를 해결하고, 시스템의 전반적인 응답 시간을 개선할 수 있습니다.

Autoware.universe는 RTOS를 기반으로 자율주행 소프트웨어의 실시간 처리 요구 사항을 충족시킵니다. 이를 통해 센서 데이터 처리, 경로 계획, 차량 제어 등의 작업을 안전하고 효율적으로 수행할 수 있습니다. 또한, RTOS의 특성 덕분에 시스템 전반의 성능과 안정성이 향상되며, 실시간 시스템에 대한 안전 요구 사항을 만족시킬 수 있습니다. 이러한 이유로, Autoware.universe는 자율주행 차량 및 관련 시스템의 성공적인 구현에 중요한 기술적 역할을 하게 됩니다.

다음 기고에서는 Autoware.universe에 적용된 RTOS에 대한 기술적 설명을 소개해드리겠습니다.

--

--