There will be four project managers, one each for the software, electrical, mechanical, and business teams. A project manager is responsible for overseeing all of their subteams. This includes defining goals of the subteams, with help of the subteam leads, and ensuring goals and deliverables are being met by each individual subteam and their team as a whole, with guidance from the team captains. As a project manager, you are the line of contact from your subteams to other project managers and the team captains. In this role, you will gain the widest breadth of knowledge about autonomous vehicles than any other role by collaborating with subteam leads to form high-level solutions. Excellent communication and leadership skills are required with extensive technical knowledge as an asset for technical teams. The ideal candidate will possess strong technical and interpersonal skills.
There is one subteam lead for each subteam outlined in the sections below. As a subteam lead you will be responsible for managing your subteam members and becoming an expert in the autonomous vehicle topics covered by your subteam. Working with the project manager, you will develop deadlines, goals, and high-level solutions for your subteam. You will also be heavily involved in the technical work done by your subteam members. To run a successful subteam, you must possess strong leadership and communication skills. A technical background in the field or similar is highly desirable, at the very least a strong will to learn. Expect weekly meetings with project managers and your subteam meetings at minimum.
As a member of the team, you will be responsible for making the autonomous vehicle come to life. Without you, the vehicle would not be possible. You are to work closely with your team to produce a final product and assign eachother responsibilities with the help of your subteam lead. Weekly meetings with your team are to be expected as a minimum, at a time and day agreed upon with you and your team. A team player that can demonstrate commitment and willingness to learn is required, and related technical skills are highly preferred.
Software Interface Management
The Interface Management team is required for creating tools to bring together the various components of the vehicle. You will become a master of Robot Operating System (ROS), create a build system that brings our code together, implement Continuous Integration (CI), and anything else required to interface teams together.
The sensor fusion team is responsible for creating a digital representation of the car’s environment using the various sensors retrofitted on the car. Members working on the sensor fusion will:
- Research and implement sensor fusion algorithms to combine raw sensor data to provide a more complete representation of the car’s surroundings, reduce uncertainty within the received data, and sync received data.
- Research and implement sensor calibration algorithms for all sensors including the cameras, lidars, radars, and IMUs.
- Work with other teams to ensure all teams have the required data for them to complete their function.
The perception team is responsible for identifying objects from camera and LIDAR input. Object detection processes LIDAR input data with computer vision algorithms to identify objects based on shapes, and object classification uses neural networks to identify objects based on images. Members working on perception will research and develop object detection/classification algorithms, experiment with different perception techniques, and work with other teams to integrate the perception module into the software system.
The prediction team is responsible for tracking objects and predicting the future locations of the tracked objects. Objects are tracked using computer vision algorithms, LiDAR tracking, and statistical analysis to accurately and efficiently match objects across frames. Prediction models can then be applied to the tracked objects to provide locations of objects in the future. Members working on prediction will analyze where objects have been in the past and use factors in the surrounding environment, including movements, behaviours, and rules/laws, to make predictions of where each active object in the environment will move to next.
The Local Mapping Team is responsible for SLAM (Simultaneous Localization and Mapping). “Localization” refers to the vehicle’s position and orientation within its environment, and “Mapping” refers to the construction of an obstacle map. The idea behind SLAM is that these processes are done together; a map is built from sensor data, and the vehicle moves, which updates the map. Based on the changes in the map, the vehicle is able to determine its new position relative to the environment. This team will be implementing code in C++ using the ROS framework, and may also require research into SLAM methods for autonomous vehicles.
The Global Mapping Team is responsible for building a standalone application that will provide a user-interface for location-searching on a North American map. The application is implemented in Python and requires querying of database information to provide appropriate search tools. We are not currently recruiting for this role.
Path-planning is the process of determining the required motions for a vehicle to get from its current position and orientation to a new, desired position and orientation. The Path-Planning Team is responsible for taking information about the vehicle’s current state, surrounding obstacles, and global map directions, and determine the optimal trajectories and velocities to follow, while obeying traffic rules. This team will be focused on implementing various path-planning techniques in C++ using the ROS framework.
The Simulation Team is responsible for integrating simulation software with the stack, and creating automated procedures for simulation testing. It will be capable of full end-to-end simulation, interfacing with the stack as the real vehicle would, along with options to simulate subsets of data for more focused testing of the stack. This team will be focused on creating interfaces and connecting the simulation and stack in C++ using ROS, along with creating standalone applications using the aforementioned tools to create automated procedures for larger scale simulation testing.
The user interface team is responsible for developing the front-facing graphical interface that the driver uses for safety warnings, status of hardware, and configuration settings for the autonomous vehicle. It should also be able to visually display how the autonomous vehicle sees the world.
Embedded Implementation and Controls
The Embedded Implementation and Controls team is responsible for the design and implementation of the embedded electrical system. This includes interfacing with the CANbus, testing actuation commands,and implementing the hardware required for the embedded design and the appropriate cooling.
Signals Processing and Amplifier Design
The signal processing team is responsible for conditioning the signals received from the sensors before they are fed to the computing unit. Members on this team will be responsible for:
- Determining the specification of the raw signal expected from each of the sensors.
- Determining and modelling the expected noise on each of the signal lines. Based on the model of the noise expected for each of the signals, designing an appropriate filter to reduce/remove the noise.
- Designing appropriate amplifiers based on the signal and input specifications of the computing unit to maximize resolution.
The vehicle dynamics team is responsible for calculating the speed, acceleration, jerk, and turning profiles of the vehicle that are tolerable with regards to safety and the competition rules. This team is also responsible for determining how commands to the actuators, such as wheel angle or brake speed, are translated into physical motion of the vehicle. The dynamic models created by this team will be used by our path-planning software team and embedded controls team.
Sensor Mounting and Cooling
The sensor mounting and cooling team is responsible for designing and implementing the sensor mounts and cooling systems for our autonomous vehicle. This will include developing CAD and SolidWorks models as well as making physical modifications to the vehicle to install the designs.
Internal Affairs is responsible for overseeing the everyday administrative and logistic needs for both the technical and business teams. Additionally, they will be responsible for planning and executing regular meetings/events, as well as promotional and competition related events.
Marketing members will work with the marketing team to engage external parties such as students, faculty members and sponsors in the team’s progress as well as alongside fellow directors to ensure that all lines of communication are being addressed and follow the SAE guidelines. The marketing subteam is also responsible for using various methods including social media and campus events to build WATonomous as a brand.
The finance subteam is responsible for performing due diligence research to ensure money is well-spent on team’s activities while managing and tracking the flow of money throughout the whole team. Finance members also work alongside the technical team to effectively manage sponsorships and finances and are the first point of contact for funding requests from technical subteams.
The sponsorship subteam is responsible for following leads of potential sponsors for both software/hardware donations as well as monetary sponsorships. The process begins with following up with a lead, and ends with closing the deal. Sponsorship works closely with finance and internal affairs to ensure that all goals and deadlines are met.
The website subteam is responsible for the initial development and continued maintenance of the WATonomous.ca website. You’ll be responsible for designing the frontend and backend of our website from scratch using the stack of your choice to help us make a user friendly website for our club members and supporters. Additionally, the website team is responsible for keeping the website up to date as we gain more sponsors and make progress on the car. Previous experience with coding is preferred.
The graphic design subteam is responsible for creating, and updating the designs for WATonomous. This role involves creating attractive and user friendly layouts, promotional materials, sponsorship packages, and infographics. You’ll also have the opportunity to help set our own brand guidelines. We are looking for someone who loves working in PhotoShop. Bonus points for Illustrator, InDesign, and Sketch experience!