Coding week20 10/14-10/20

Enhancing CARLA vehicle control system with distance-aware metrics

This blog was previously documented in LaTeX, so some formatting discrepancies might occur during the migration. You can view the PDF source file via Overleaf link.

Introduction

This week, the vehicle control system in CARLA was improved by introducing distance-aware metrics. The primary focus of this week was on extending the control system from being purely action-based to a more robust action-distance aware control.

Previously, the vehicle control system was designed to execute driving actions like Left, Right, or Straight based solely on high-level commands. However, this approach lacks flexibility in adjusting the vehicle’s behaviour based on the distance required to perform these actions. To address this, a distance component was integrated into the control system. This means that actions are now tied to specific distances and enable finer control over when and how long actions should be executed.

We also focused on refining data collection practices. Key discussions involved improving distance tracking metrics, such as vehicle distance traveled and distance after action initiation, and managing data inconsistencies. I explored using HDF5 suggested by mentors for sampled data analysis.

Data Collection

To support the new action-distance aware system, we needed to modify the data collection process to gather additional metrics related to distance. These new metrics provide more context and enable the vehicle to make better decisions when controlling its movements. Currently, we are uncertain about the exact metrics that will be used, but to minimize repeated data collection efforts, we aim to propose as many relevant metrics as possible.

The following distance-based metrics were introduced:

Challenges

The data collection environment proved to be unstable. I captured some potential scenarios, as shown in the image (note that red circles indicate collisions). Currently, the data collection process requires manual supervision. A possible solution is to restart the client each time rather than just resetting. This instability required additional time and effort.

Action Switch Test Case

Testing has shown that the current model-based action-switching proof of concept is functioning correctly. Below are two videos demonstrating the results, where high-level actions are switched based on varying distances.

Test Case 1

Test Case 2

Plans for Next Week