Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register
This site may earn commission on affiliate links.

lunitiks

Cool James & Black Teacher
Nov 19, 2016
2,698
5,996
Prawn Island, VC
I think this topic deserves a thread of its own.

In September 2017, Mike and @Caleb Elston at the Tesla Show did an excellent podcast on Autopilot simulation (highly recommended listening).

I was struck by the huge potential this simulation stuff seems to have.

Please note that there's currently four job listings at Tesla.com that has to do with Autopilot simulation:
I'll mash up some quotes in case the links die:
Role:
Contributing to the development of Autopilot simulation through managing engineers, artists and subcontractors engaged in the creation of photo realistic 3D scenes that can accurately model the driving experience in a wide range of locales and conditions. Working directly with simulation, computer vision, control and test engineers to ensure that the scenes created are high quality and can enable the faithful reproduction of autopilot behavior in simulation.

(...)

As a Software Engineer, Embedded Framework within the Autopilot group, you will have the opportunity to apply your technical skills on the development of the embedded software stack of Tesla’s Autopilot. You will work on the Framework & Architecture aspects that tie all components of the Autopilot SW stack together, and work on improving the overall performance of the stack.

(...)

Responsibilities:
  • Work with graphics engineers and artists to understand the requirements for asset creation and scene development for simulation.
  • Commission and manage artist subcontractors to fulfill simulator scene creation requirements.
  • Track project progress and work with all parties to ensure work packages are completed on time.
  • Maintain awareness of team-wide art and development issues.
  • Maintain awareness of the high-level goals of the autopilot program.
(...)
  • Work with technical artists and engineers in the development and streamlining of tools and processes.
  • Keep abreast of advanced techniques which could be used to improve the visual quality or development processes of the simulator.
(...)
  • Enhancing and maintaining the graphics of 3D engine for autopilot simulation
  • Responsible for performance of features
  • Responsible for tools that go along with features; ensure they are usable and appropriate for artists, simulations, and the engine
  • Be forward thinking keeping up to date on current techniques, research, graphics data, hardware, etc.
(...)
  • You will develop, debug and maintain the real-time C++ Framework that ties all the software components together;
  • You will apply your Software Architecture skills to design consistent API’s, work on real-time challenges with inter-process communication, and advocate for best coding practices amongst the group;
  • You will work with the Computer Vision and Algorithms teams, understand their requirements and translate them into robust, performant software frameworks;
  • You will improve the overall stack performance, and reduce resources consumption;
Requirements:
  • Has a graphics engineering background.
  • Has experience managing creative, high-performing software teams.
  • Has experience working in complex, rapid-moving projects.
  • Driving/Racing game dev experience is a bonus.
  • Has strong language skills – excellent spoken and written English.
  • Leadership experience working with cross discipline and external teams.
  • Must be autonomous while working on set tasks from the schedule.
  • Must have the ability to problem solve and define best work practices within their assigned area of work.
  • High degree of self-motivation and initiative.
(...)
  • Unreal Engine 4 experience
  • Must exhibit excellent artistic skill and understanding of physically based lighting and material.
  • A keen eye for spatial composition, lighting and building believable scenes.
  • An understanding of effective asset creation and optimization.
  • Excellent ability to create textures and work with complex shaders.
  • Previous experience creating high quality environments.
  • Organic terrain and hard surface modeling experience.
  • Driving/Racing game dev experience is a bonus.
  • Leadership experience working with cross discipline and external teams.
  • Must be autonomous while working on set tasks from the schedule.
  • Must have the ability to problem solve and define best work practices within their assigned area of work.
  • Strong communication skills.
(...)
  • Extensive experience with current graphics / rendering technology
  • Excellent knowledge of a broad range of graphics APIs and shader languages including DirectX and OpenGL/GLSL
  • Experience with code and data optimization
  • Experience with multi-threaded programming
  • Fluent in C / C++
  • Strong mathematics skills, including proficiency with trigonometry, and linear algebra
  • Deep understanding of tradeoffs in engine performance, scalability, and maintainability
  • Familiar with supporting tools, such as exporters, terrain editors, and pipeline tools
  • Comfortable working within, and analyzing / improving, an established code base
  • Experience researching, developing and optimizing cpu and gpu rendering techniques
  • Unreal Engine 4 experience
  • Linux development experience (including git)
(...)
  • Extensive PBR and HDR knowledge
  • Strong working knowledge of multiple 3D Packages (3Ds Max, Maya, Houdini, Photoshop)
  • Strong scripting or programming knowledge (Python, JavaScript, C++, MAX Script, MEL)
  • Shader development experience
  • Understanding of game rendering pipelines
  • Strong understanding of methods for optimizing game art assets for game engines
  • Experience providing support, assistance, training or documentation to artists
  • Driving/Racing game experience is a bonus.
  • Leadership experience working with cross discipline and external teams.
  • Must be autonomous while working on set tasks from the schedule.
  • Must have the ability to problem solve and define best work practices within their assigned area of work.
(...)
  • Minimum 5 years of experience developing C++ Software;
  • Strong experience with modern C++ (C++11) constructs;
  • Strong experience with multi-threading;
  • Strong software architecture skills, experience with Design Patterns in C++, and developing Object Oriented software and/or frameworks and API’s;
  • Used to develop software on a Linux host, for embedded Linux targets (cross-compilation, etc.);
  • At least one product shipped running an embedded Linux stack;
  • Familiarity with, or past exposure to, all layers of a typical embedded software stack in a Linux environment, even if not expert in all of them (Application, Framework, System SW, Drivers);
  • Bonus: experience with one or more of the following: POSIX API for IPC and/or multithreading, computer vision, sensors integration, Cuda, profiling and optimizing algorithms (micro-architecture knowledge, SIMD, GPGPU), and software stacks in general (System programming / multi-process / scheduling), linux kernel, linux drivers development
So what do you guys think?

What are Tesla's advantages and disadvantages, and how important is this stuff?

Watch this video from 23:10
 
Last edited:
"Super real-time simulation" Nvidia @GTC 2018 today (Oct' 10, 2017)
300,000 miles in 5 hours > Every single paved road in U.S. in 2 Days (hence "super real-time")
GPU Technology Conference
Watch from: 1:38:54

super real-time simulation.jpg
 
Very good question. Actually that's exactly what I hope people will help shed light on in here

I always assumed the FSD video was based on Nvidia code to some extent, but of course unknown really...

They did have that close Nvidia collaboration and Nvidia had been working on self-driving for a while now...

Model X mule(s) show signs of nVidia Tegra X1 Drive PX platform - no rear mirror!

...do note the interior camera on this 2015 image I posted on TMC back then... ;)

nvidia_drive_px-jpg.76869
 
I can't even imagine how the dynamics of that relationship work. Tesla hasn't even implemented a solution based on Nvidia's offerings and they're already talking about ditching them for a chip that doesn't even exist yet from AMD.

I don't get it, but then again I don't even have a name yet for my car company :(
 
It's really too bad that Rockstar pulled the plug on this.

DeepDrive
Yeah, there was some discussion in Open AI because the released code was sudden all pulled and people were hoping it can return after working things out with Rockstar. Unfortunately, reading that post it seems like that part is dead.

Here's a whole article on Rockstar taking down various self-driving car projects using its engine:
Grand Theft Auto V: The Rise And Fall Of The DIY Self-Driving Car Lab

This one still seems to be alive though:
GitHub - ai-tor/DeepGTAV: A plugin for GTAV that transforms it into a vision-based self-driving car research environment.
 
  • Informative
Reactions: S4WRXTTCS