Colin Vasas

Jaguar Land Rover — Driver-in-the-Loop Simulator

Overview

Contributed to Jaguar Land Rover’s simulation engineering efforts by developing immersive driving environments, integrating vehicle and control models, and supporting hardware-to-software validation workflows. Work focused on improving simulator versatility, reliability, and real-time performance for vehicle testing and controls validation in Driver-in-the-Loop and HiL-style environments.

Role and Responsibilities

  • Integrated hardware-to-software interfaces for steering wheels, pedals, and drivetrain components using CAN-based communication.
  • Developed Python tooling to analyze HiL rig CPU load, identify performance bottlenecks, and support optimization efforts with systems engineers.
  • Implemented packet-capture and parsing scripts to isolate and identify specific CAN signals (e.g., steering wheel button states) from live data streams.
  • Mapped wheel and button inputs into Simulink models to support control logic validation and driver interaction testing.
  • Built and iterated on VR-based driving simulators using Unity/Unreal, adapting video templates into interactive simulation environments.
  • Performed full teardown, relocation, and rebuild of simulator hardware and supporting systems, restoring functionality and validating end-to-end operation.

Requirements and Constraints

  • Required to rapidly understand and operate a complex simulator stack with limited on-site engineering support during the initial internship period.
  • Systems needed to be restored, validated, and documented to ensure reliable operation for future testing and development.
  • Hardware and software changes had to maintain real-time responsiveness and deterministic behavior for accurate driver-in-the-loop testing.
  • Tooling and scripts were designed to be reusable, maintainable, and understandable by future engineers.

System Architecture & Integration

The simulator stack was built around a real-time loop where hardware inputs and model outputs were synchronized to support repeatable Driver-in-the-Loop and HiL-style testing. I focused on bridging hardware signals into the software and model layers, and building tooling to observe, validate, and debug the end-to-end data flow.

High-level data flow

  • Hardware Inputs: steering wheel, pedals, and button states generate signals (including CAN).
  • Signal Capture & Parsing: packet capture/parsing scripts isolate target messages and extract usable states.
  • Model Integration: normalized inputs are routed into Simulink models for control logic validation.
  • Simulation Runtime: Unity/Unreal consumes model outputs to drive vehicle behavior and VR interaction.
  • Logging & Telemetry: tooling captures performance and runtime signals for debugging and repeatability.

Testing, Debugging & Performance

A key focus was ensuring the simulator was stable and responsive under real-time constraints. I supported validation by building repeatable checks for hardware inputs and by analyzing system performance to identify bottlenecks that impacted latency and reliability.

  • Built Python tooling to profile CPU load, isolate high-usage processes, and support performance tuning with systems engineers.
  • Debugged signal pipelines by capturing packets, validating message structure, and confirming expected state changes (e.g., button and switch transitions).
  • Verified end-to-end behavior by checking that hardware inputs propagated correctly into models and into the simulator runtime.
  • Emphasized reliability: repeatable steps, clear logging, and documentation to reduce “tribal knowledge” and improve maintainability.
JLR Driver-in-the-Loop Simulator RigCarmaker Powertrain System controlsArduino Script to capture CAN Signals