Becoming an Autonomous Vehicle Engineer – Part 2: Software Skills

Becoming an Autonomous Vehicle Engineer – Part 2: Software Skills

In part one of this blog series, we covered how to get started on your journey to becoming an autonomous vehicle engineer. Now, you may want to know what coding languages and software to learn in order to solidify your spot on a team creating the future of transportation.  

See – Think – Act 

Imagine driving down a city street and spotting a pedestrian slowly approaching a curb a few hundred feet ahead. While they are not yet in the crosswalk, you put your foot on the brake, predicting that they may begin to cross. As your paths intersect, the person steps forward to cross the road. Already prepared, you come to a stop and allow them to pass. 

Our end-to-end Level 4 autonomous system is created to mimic the decision-making process in a similar way to a human driver: See – Think – Act. 

This means we implement everything from the sensors that “see” the pedestrian to the algorithms that pull that sensor data together and identify it as a person. The decision and action of whether to stop, slow down, or continue driving is based on behaviors programmed into the system itself.  

These simple scenarios become more complex when you consider the environment (rain, snow), other traffic (is someone going to turn?) and route decision-making. We require teams with multiple types of skill sets to make a robust system capable of handling the variety of situations one could encounter on the road.   

Our Teams

Active Sensing and Information Fusion – The active sensing team utilizes sensor data and creates algorithms to detect and identify objects for Torc’s autonomous driving systems, allowing the system to understand and react to the environment around the vehicle in real-time. 

Machine Learning – Our machine learning team trains our system to identify certain objects it sees in more detail than could be provided with raw sensor data. For example, we use machine learning to teach our system how to identify traffic lights or determine the difference between a pedestrian and a light post. 

Mapping and Localization – Autonomous vehicle maps must be much more specific than the typical maps a human would use for navigation. Our mapping team develops the 3D environment and routes our autonomous car drives and works with the localization team to ensure the system knows where it is and how to get to its destination. 

Behaviors and Planning – The behaviors team focuses on how the vehicle should act in any given situation. For example, merging on a busy highway requires the vehicle to determine a good spot to “zipper” into the flow of traffic and adjust acceleration to accomplish that safely.  

Mechanical – The mechanical team creates the vehicle design concept and integrates sensors, mounts, and computes into the vehicle. 

System Integration – Ensuring components work well not only by themselves but as a system is an important role on the team. The system integration team looks at the high-level interactions of the components as a whole. 

Embedded, Controls, and Electrical – This team integrates software into the entire system of components and works on the electrical system that controls the vehicle – think acceleration, braking, and steering.

Dev Ops – The Dev Ops team works to manage software deployment and maintain the technical infrastructure. 

Safety and Testing – Safety is the main goal of our autonomous system, and thus safety and testing engineers are critical to every stage of our development. Safety and testing teams work to ensure that we can test and verify new capabilities, as well as standardizing safety protocol and practices for all teams.

How should you prepare? We asked Torc engineers what software skills and experience helped them become successful in their specialty on our AV team. 

Karan Bhargava, Mapping & Localization Software Engineer

C++ is a performance-oriented language which lets you “pop the hood” and reach deep down into memory management. 

If a candidate has solid C++ and Robotic Operating System (ROS) skills, then they’re already a robotics engineer. In order to be a mapping and localization engineer, they need to go a step further and understand general coordinate transformations & 3D geometry. If a candidate has worked with Simultaneous Localization and Mapping (SLAM) then they’re an excellent fit for this role. 

Matthew Via, DevOps Engineer

The DevOps team requires skills in unification of software development and systems administration. We use these skills at Torc for managing deployments of software to vehicle compute. Properly administering and managing Linux computers is also an important skill to automate and make our systems robust. 

We use fairly complex networks on our vehicles. Being able to architect good network designs and debug complex designs is vital to our work. 

The typical technologies that a DevOps team member would use to make a process automatic/repeatable would be Config Management, and Continuous Integration pipelines. Rather than having a developer write software, manually compile it, and then manually copy it to a computer (and then manually configure it), we use automation to ensure that the software is built, installed, and configured with as little possibility for human error as possible.

David Anderson, Principal Mechanical Engineer

In the hardware design field, the most useful software to know is various Computer Aided Design (CAD) and simulation packages.  These are used daily to create the hardware that makes this technology work. The most useful coding languages would be Python and MATLAB.  The hardware focus is less about Realtime code efficiency, and more about data manipulation and visualization. 

Andrew Cunningham, Active Sensing and Information Fusion Software Engineer

C++ is a compiled programming language that supports both object-oriented programming and low-level memory manipulation. Torc uses C++ to power autonomy because well written C++ code is extremely fast and extendable.  

A candidate should also be familiar with coding standards. Industrial coding standards forbid certain coding practices that can result in potentially unsafe bugs at run-time. By enforcing these constraints, code is made more safe, portable and reliable. MISRA coding standards are open and while the documentation is dense, key ideas can be learned fairly easily.

Ashwin Sahasrabudhe, Behaviors Software Engineer

Self-Driving Behaviors play an important role in high-level decision making of how the vehicle should behave on the roads considering there are multiple other entities like cars, pedestrians, and bicycles. To deal with these different entities and to develop required safety algorithms, one needs to have a good understanding of how the kinematics and dynamics of a vehicle affect its maneuverability on the road. The fun part about working at Torc is that your work is never restricted to just one component. You get to work on other components like vehicle interface, which controls the actuators of the car. Because of this varied work, it is good to have an understanding of control algorithms, as well as experience in developing and tuning control loops.

With all that said, a question that is commonly asked is ‘Where can I learn about this technology?’ There are a considerable number of simulators available out there which you can play around with. It’s always fun to explore something new and you get a different kind of satisfaction when the car drives in the simulator the way you want it to drive. Hands-on experience and developing a few control algorithms or self-driving behaviors with such simulators is a good start. Also, connect with your peers who are interested in self-driving cars. from personal experience, I would say that working in group projects and learning from others helps a lot when it comes to understanding new technology.

Looking for jobs in the self-driving vehicle field? Torc is one of the most experienced autonomous software companies and we are growing our team to revolutionize transportation. See our careers page for more information and stay tuned for part three!

Torc Announces Strategic Collaboration With Foretellix to Help Enable Safe Deployment of Autonomous Trucks

Torc Announces Strategic Collaboration With Foretellix to Help Enable Safe Deployment of Autonomous Trucks

Torc Robotics has formed a multi-year collaboration with Foretellix, a leading provider of verification and validation (V&V) solutions for Automated Driving Systems (ADS). The collaboration provides Torc with a virtual verification & validation platform to scale its software simulation and testing. Foretellix’s solution will help enable Torc’s ongoing initiative to test the millions of driving scenarios required to ensure the safe commercialization of Level 4 autonomous trucks.

Foretellix’s Foretify™ Safety Driven V&V platform enables development teams to easily collaborate with safety and V&V teams to specify scenarios, generate massive scale testing, and analyze the results. The platform uses the ASAM OpenSCENARIO® 2.0 standard to describe the infinite possible driving scenarios and define safety-driven verification and validation goals. Torc’s development teams are using Foretellix’s L4 highway trucking V-Suites – a V&V package of scenarios, test plans, map data and Key Performance Indicators (KPI’s), for its testing program.

A screenshot of Foretellix's Foretify software. The dashboard depicts functions, planned speed, and other metrics about Foretellix's self-driving scenario package.
Foretify Manager – Coverage analysis of test results

Foretify uses these scenarios to generate, orchestrate, and execute a multitude of test scenarios in virtual simulation, optimized to represent real-world conditions and uncover unknown edge cases. Foretify continuously measures and analyzes test results and validation completeness and helps development teams uncover bugs earlier in the development cycle. Foretify has been utilized to dramatically reduce development costs, boost development team’s productivity, and improve efficiency in the V&V process while upholding safety requirements.

“Our technology is designed with safety as the first priority,” said Axel Gern, Torc SVP of Engineering, and Managing Director of Torc EU. “Our collaboration with Foretellix is in line with Torc’s safety mission. It provides Torc with V&V tools to add to our current toolset, based on industry standards, to conduct the massive scale testing and validation we need to ensure the safety of our systems”.

“We are very proud to collaborate with Torc Robotics,” said Ziv Binyamini, Foretellix CEO and co-founder. “In the past two years, our teams have been working together, sharing knowledge and expertise to create the best-in-class solution to support Torc Robotics’ goals. We look forward to continuing our joint mission to deploy safe Level 4 autonomous trucking at scale.”

It is an image of the Foretellix Foretify Manager Dashboard which is debugging a test result on parameters such as speed, travel distance, and lateral lane position.
Debugging of test results on the Foretify dashboard
The Arizona Difference: Self-Driving Trucks in the Grand Canyon State

The Arizona Difference: Self-Driving Trucks in the Grand Canyon State

As our laser focus on bringing self-driving semi-trucks to market continues to expand, we’re building toward a scalable product and putting our test fleet to work on highways across the United States. We are excited to announce the expansion of our autonomous testing in the great, sunny state of Arizona.

After mapping these desert highways and working closely with the Arizona DOT, our autonomous test fleet embarked on initial routes through this cactus-laden landscape last month.

This marks a milestone in our goal to expand in the southwest freight corridor and adds to our current testing states: Virginia, New Mexico, and Texas.

When it comes to its testing environment, Arizona contains multitudes: mountains, valleys, and a variety of traffic conditions provide additional testing grounds for honing our capabilities. Additionally, hubs of freight activity such the roads connecting to Phoenix are key points for an autonomous truck company looking to expand their horizons. Torc’s future autonomous trucking pursuits focus on long-haul applications, increasing capacity for transport across long stretches of highway.

Aside from its physical advantages for our testing technology, we also look to Arizona because of its wholehearted support of this new technology. Arizona’s cooperation with autonomous driving companies aligns with our approach to work with state governments on the future of transportation.

The Southwest Freight Corridor and Autonomous Vehicles

In over-the-road trucking, Arizona is a key part of the southwest freight corridor. By expanding in Arizona, we can strategically connect key states and routes to maximize the length of our eventual long-haul network.

The initial use case for our self-driving semi-trucks is built for hub-to-hub freight transport. Human drivers will haul loads from first-mile locations to “hubs” or transfer stations. From there, Torc’s autonomous truck will take over the middle-mile journey by transporting the load from the hub, across federal highways, to another hub station near the final destination. Last-mile deliveries to more complex urban roads or off-highway warehouses will still be transported with a human driver at the wheel.

Arizona is a key state for building hub-to-hub routes because of the sheer volume of freight that moves through this state. In 2012 alone, more than 30,000 trucks transported 10,000,000 tons of freight through the southwestern corridor, which often includes Arizona. With the addition of autonomous trucks, we have the opportunity to increase shipping capacity through this sector, adding efficiency and safe practices for consumers, drivers, and highway users alike.

Self-Driving Trucks in Arizona: Highway Grade

The Copper State has a lot to offer a self-driving truck company like Torc, beginning with the landscape. From the flat roads through Phoenix through to the Grand Canyon in the north, Arizona’s highs are high and its lows are especially low. As I-40 weaves through the desert landscape, so does the highway grade.

On certain stretches of 1-40, the highway grade can climb as much as 7%, meaning that the road will rise or fall a certain amount per 100 feet, given a certain stretch of miles. For semi-trucks, including our self-driving 18-wheelers, the ability to handle grade is incredibly important. Grade affects vehicle speed and vehicle control. As a semi-truck descends, it requires adjustment of controls such as the brake and engine brake. Autonomous vehicles must safely adjust for different grades – and account for their weight and size when it comes to the physics of slowing down or stopping.

This is part of the reason why we’re testing in Arizona. We’re no stranger to mapping an area with severe highway grades; we regularly test our autonomous semi-trucks in the mountains around our headquarters in Blacksburg, VA and elevated highways in New Mexico. However, testing in new and varied areas is an integral part of making sure that our self-driving semi-trucks can launch safely and scale easily.

Arizona provides a unique landscape for said purposes. We’re testing in Arizona to enhance our capabilities in true over-the-road environments and evaluating how our autonomous trucks can work logistically with major fleets for middle-mile deliveries.

“From the red rocks of Sedona to the deep valleys of the Grand Canyon, it’s no secret that Arizona’s landscape provides unique opportunities to increase our test cases, both in the climate and weather department.”

Autonomous Semi-Trucks in Arizona: Weather and Climate

From the red rocks of Sedona to the deep valleys of the Grand Canyon, it’s no secret that Arizona’s landscape provides unique opportunities to increase our test cases, both in the climate and weather department.

Arizona’s climate might be pretty unforgiving for humans, but for Torc engineers, this climate is an exciting opportunity to further their software development. Along with our platform, a Freightliner chassis that is proven in these environments, Arizona’s extreme temperature changes and lack of humidity provide a new set of challenges for our self-driving 18-wheelers and thus, a new dataset for our software development teams to learn from.

As for weather, Arizona’s sandstorms provide an example of weather ‘edge cases.’ While the state typically experiences sunny days and clear skies, on occasion dust storms can whirl through the desert landscape. We’re evaluating how these dusty days can impact the lidar, radar, and cameras mounted on our self-driving vehicles – and developing for everything from perception updates to maintenance needs given these weather events.

Our Self-Driving Semi Future

With Torc trucks officially running on Arizona highways, we’re excited to build on this milestone toward our goal of a safe, profitable autonomous truck solution. Our trucks will continue their routes along highways in Virginia, New Mexico, and Texas. As we work with state regulators and key freight industry leaders, our next steps will be to not only develop our technology but also integrate into the existing freight network.

To learn more about self-driving truck companies in Arizona, we recommend checking out ADOT’s resources on all things autonomous vehicles testing. If you’d like to follow our journey to commercialize self-driving semi-trucks, follow Torc on our social media handles featured below.