Uber Autonomous Vehicle Simulation

Designing how to prescribe the motion of simulated actors for autonomous vehicle testing.

Overview

Uber's Advanced Technology Group (now merged with Aurora) utilized simulation to test autonomous vehicles throughout development. A suite of internally developed tools was used to create and manage these simulations. Time to create a simulated scenario varied wildly from 30 minutes to 16 hours, leading to cross-functional planning issues and frustrations among stakeholders.

Duration: 3 months (partial time)

Role: Product Owner, UX Designer

Product Team: Myself, UX Designer (partial), UX researcher (partial)

Solution

A new creation flow was designed to create trajectory points along the actor path. This aligned with how system engineers documented simulation specifications and provided a visual connection between the actor's position and other parameters. This solution shortened the maximum creation time and improved alignment with user mental models.

How We Got There

Users

An internal team of analysts used the simulation creation tool to build out driving scenario designs created by a parallel team of system engineers. Once built these scenarios would be added to test sets that were reviewed and maintained by both teams.

Generative Research

I maintained continuous communication with the users to capture and prioritize issues. I conducted weekly office hours, surveys, and user observation sessions to identify improvement areas. All identified issues were cataloged and reported to the developer team or consolidated into larger feature requirements.

Problem Definition

Scenarios were taking too long to create, with times varying from 30 minutes to 16 hours. Despite being a known issue, there was no agreement on solution. An analysis on my cataloged issues identified a pattern of pain points with the actor motion tooling. User interviews confirmed it as a significant time sink due to the lack of immediate validation of entered values. Users had to set parameters in table format, export, review visual playback, and then make edits. This was a lengthy flow, especially for scenarios with precise timing, lending to why some took so much longer to create.

Desktop Research

I explored existing solutions to quickly ideate on possible mechanics, referencing tools like Blender for 3D creation, Unreal for video game development, and a number of individual video game mechanics.

Rapid Prototyping

I created low-fidelity mockups with Balsamiq to walk through potential solutions with the engineers who designed the scenarios and the direct users. The first prototype utilized a graph editor similar to animation tools like Blender, allowing users to control all motion parameters in a graph interface. Trajectory points and customizable markers helped relate graph data to trajectory, providing a visual for users prior to playback.

User interviews showed positive reception and excitement but raised concerns about standardization and documentation. To further understand the scenario design process, I conducted deep dives with system engineers. This lead to a shift in focus from the graph interface to trajectory points. This approach aligned better with how system engineers documented designs and allowed users to control variables at precise locations.

Further user interviews validated this new approach, and no feasibility issues were raised in walkthroughs with developers. I then created a final prototype to better communicate the design intent for handoff to developers with accompanying product requirement documentation.

Plot Twist

During this project there was a larger decision to shift to a whole new simulation-creation tool, bringing in an additional team with a UX Designer and a User Researcher. In order to accommodate this pivot in strategy, I focused on sharing my research and prototypes with the new team, ensuring everyone had an accurate understanding of the user workflows and issues. From there I supported the new tool in any way needed.

Final Design

The mechanics I designed collaboratively with users were incorporated into the new creation tool. The design of this new tool was owned by a UX Designer, while I continued to track user issues, communicate with developers, and assist in validation of the new features.

Key Outcomes

  1. Decreased Time-to-Create Scenario: The new tooling reduced the maximum time needed to create scenarios and lessened the need for iterations, unblocking new test capabilities.

  2. Increased User Satisfaction: Aligning the tooling with scenario design language reduced the cognitive load on users, freeing them to be more creative. Fewer interactions causing frustration resulted in widespread acceptance of the new tooling.

Next Case Study:

SkillsVR Content Creation Kit

Thanks for your time :)