Interested in working on autonomous vehicles?
We are seeking exceptional undergraduate and graduate students with experience in or desire to learn advanced engineering topics for autonomous robotics and automotive engineering. Course credit is available for interested individuals.
For students wishing to work on vehicle development, a commitment of an average of ten hours per week for their project(s) is normally expected.
Students are expected to attend weekly Team meetings (and any other scheduled meetings); typically these consist of one work night during the week and Saturday work days. Leaders are expected to attend weekly project planning meetings, but all members are welcome to attend.
Roles and Descriptions
Note: Recommended Skills and Courses are not requirements, but general guidelines to give a feel for the work and knowledge that will be further developed in a role, as well a guidance in course selection. If you believe you can learn the material, or have other comparable experience, please apply regardless!
Vehicle Development Group
Vehicle Development Group is responsible for development of vehicle systems (software and hardware) required to meet the expectations of the AutoDrive Challenge competition, and general level 4 AV operation (as defined by SAE J3016).
Simulation Safety and Quality Team
The functional safety sub-team is responsible for performing safety analyses and design failure mode effect analyses (DFMEA) on the vehicle when changes are made, documenting all systems that need to be monitored and controlled to reduce the risk priority number (RPN), and providing functional requirements to engineering teams (hardware and software) to ensure systems maintain their targeted safety integrity level (SIL). (ISO 26262, and Automotive Safety Integrity Level (ASIL) validation).
While some students may be full-time members of this team, it is expected all students participate in the DFMEA change processes to ensure they are completed in a timely manner.
Diagnostics, Prognostics, and Availability (DPA)
The DPA sub-team will work to implement self-monitoring diagnostic functionality and develop statistical prognostic models and heuristics to estimate the level of degradation of specific vehicle systems (such as sensors, compute platforms, etc). This will be used to give the operator(s) advanced notice of when a system might enter a reduced state of functionality. This team will also work with the Functional Safety sub-team to determine the appropriate level of remediation required to return the system to an acceptable SIL while maximizing platform availability (or reducing down-time).
Recommended Courses: CSE 231, CSE 232, ECE 331, ECE 302
Skills: Unix system, Microcontrollers, computer networking, understanding of basic semiconductor properties
Simulation, Test, and Validation
This sub-team is foremost responsible for the development of the sophisticated hardware in the loop (HIL) simulation systems employed by the team. This work will also be conducted in close co-ordination with the DevOps team to ensure the infrastructure satisfies the demands of the simulation system. Additionally, these systems will need to coalesce with the testing and continuous integration systems maintained by the DevOps team.
All systems identified by DFMEA must be tested and validated each design iteration to prove functionality.
This team will also be responsible to ensure proper test and validation of all systems required to meet the yearly AutoDrive Challenge competition goals. These tests should be automated and the results should be clearly visible to all stakeholders in the project.
Recommended Courses: PHY 191, CSE 231, CSE 232, CSE 335, CSE 472
Skills: Strong Unix and Windows development skills, computer game engines (Unity, Unreal Engine 4), DevOps practices, software testing, computer networking
Vehicle Software Team
Recommended Courses: PHY 191, CSE 231, CSE 232, CSE 260, CSE 331
Skills: Strong Unix skills, source code management, software testing, computer networking
The sensing systems sub-team will be responsible for the development of the advanced perception and localization required for autonomous vehicles. All signals past the device firmware and device driver / API development stage will be handled by the sensing systems team.
Sub-team tasks generally fall into one of two categories:
- Localization: Motion Sensing and Fusion (GNSS/INS, HD Maps, vehicle odometry)
- Perception: Object Detection, Classification, Tracking, and Prediction (Fusion of Cameras, Lidars, Radars, Sonars, Etc.)
Additional Recommended Courses: STT 331/ECE 280, ECE 366, CSE 491 (Machine Learning)
Additional Skills: Strong computer vision skills, machine learning skills, Deep neural network skills, Inferential statistics, information filtering techniques (Kalman, particle filters, etc.), Strong MATLAB (or similar)
The control systems sub-team is responsible for the movement and physical actuation of the vehicle. This include rider comfort, as well as emergency maneuvering.
Roles within this sub-team fall into one of two categories:
- Motion control (physical actuators)
- Motion planning and object avoidance (utilizes current and predicted trajectories from sensing systems)
Additional Recommended Courses: STT 331/ECE 280, ECE 313, ECE 366, CSE 491 (Machine Learning), CSE 440 – ME361, ME391, ME451, ME461
Additional Skills: Linear control techniques (esp. PID), Inferential statistics, information filtering techniques (Kalman, particle filters, etc.), Strong MATLAB (or similar)
Mapping and User Experience
This sub-team is primarily responsible for the mapping system used in the vehicle, but is also concerned with the overall user experience while riding in the vehicle. An emphasis will be applied to producing a fast, efficient, and robust map rendering and searching system. Other areas of focus will be to ensure the experience of operating the vehicle is comfortable and of a high quality. This may include designing and testing lighting and unique indicators and visualizations throughout the cabin as well as designing and implementing high quality user controls for the vehicle.
Additional Recommended Courses: CSE 480
Additional Skills: Database experience, computer graphics libraries (esp. Qt/PyQt)
Computing Foundations and Performance
The computing sub-team is responsible for developing the low-level software and firmware required to interface with sensors, control systems (CAN), and other hardware hardware, as well as improving the performance of functions through software optimization and hardware acceleration (FPGA/GPU).
Additional Recommended Courses: ECE 331/CSE320, CSE 410, CSE 420, CSE 441, CSE 335, CSE 435, CSE 422/ECE 442
Additional Skills: Strong Unix system experience, hardware acceleration (GPU/FPGA), software architecture design, computer networking
Tools and Infrastructure Team
Recommended Courses: CSE 231, CSE 232, CSE 335, CSE 422
Skills: Strong Unix system skills, understanding of modern DevOps practices, Source code management (esp. git), software testing, computer networking
Development Operations and Tools
DevOps is responsible for building the tools and infrastructure required to maintain an incredibly complex and rapidly changing autonomous vehicle codebase.
- Infrastructure planning and implementation
- Source code management (git)
- Automated unit and functional testing (simulations and benchmarking), static testing, and continuous integration
- Large dataset management, and internal tools development.
Vehicle Hardware Team
The electrical systems sub-team is responsible for creating the custom electrical systems in use and proposed throughout the vehicle. These systems primarily consist of high-power (1kW) distribution and control systems and high bandwidth (multi-gigabit) communication networks. A strong emphasis is placed on system safety and reliability through simulation and design validation.
Roles within this sub-team include:
- System schematic design, modeling, and simulations
- Physical system design, mixed signal PCB layout and simulations
- PCB Assembly (PCBA) and Test
- Custom electrical system design for any of the other teams, both on and off-vehicle.
Recommended Courses: ECE 230, ECE 280, ECE 302, ECE 305, ECE 320, ECE 331, ECE 366, ECE 402, ECE 410
Skills: digital logic fundamentals, microcontrollers, PCB design tools, SPICE simulation software, power system design principals, semiconductors (MOSFET, BJT, Diodes)
The mechanical systems sub-team is responsible for the design, modeling, and analysis/simulation of all custom mechanical systems on the vehicle. This includes the consideration of the effects of stress, vibrations, and thermal requirements on the system.
Students within this sub-team will participate in:
- Structure design (sensor mounting, enclosures, heat transfer and exhaust systems, etc.)
- Structure analysis (noise and vibration harshness (NVH)[ME361/ME461], thermal management [ME332,ME410,ME412,ME416])
- System level design-reviews
Recommended Courses: ME 201, ME 280, ME 222, CE 221/ME 221, ME 370, ME 372, ME 470
The sensing systems sub-team is responsible for determining the optimal placement of sensor arrays (Camera, Lidar, Radar, Sonar, Microphone, etc.) across the vehicle. This team will make heavy use of simulations in MATLAB and SynCity as well as statistical methods, machine learning, and genetic algorithms to optimize the locations of sensor placement on the vehicle.Recommended Courses: PHY 191, CSE 231, CSE 232, CSE 440, CSE 491 (Intro to Machine Learning), STT371, ME 461, ME 465